Protocols de la capa d'aplicació

Com que la suite TCP/IP es va desenvolupar abans que el model OSI, les capes del model TCP/IP no corresponen exactament a les capes del model OSI. La capa d’aplicació de TCP/IP ve a ser l’equivalent de combinar les capes de sessió, presentació i aplicació del model OSI.

Els serveis de la capa d’aplicació faciliten la comunicació entre les aplicacions de programari, que corren por sobre d’aquesta capa, i els serveis que presten les capes inferiors, de manera que la xarxa pugui interpretar les sol·licituds provinents d’una aplicació i, alhora, l’aplicació pugui interpretar les dades que li arriben de la xarxa. Mitjançant els protocols de la capa d’aplicació, les aplicacions de programari negocien amb la xarxa aspectes relacionats amb el format de les dades, polítiques de seguretat i sincronització, etc.

Així, per exemple, quan es fa ús d’un navegador per obrir una pàgina web, el protocol de la capa d’aplicació HTTP dóna format a la sol·licitud i l’envia des del navegador del client (una aplicació de programari) fins al servidor. El mateix protocol s’encarrega també de donar format i enviar la resposta del servidor web al navegador del client.

Model client-servidor

La major part de les aplicacions de programari que funcionen en un entorn de xarxa segueixen un model client-servidor. Aquestes aplicacions -com ara FTP, navegadors web i programes de correu electrònic-, tenen dos components que els permeten comunicar-se entre elles: la part client i la part servidor.

Un programa client és un programa que s’està executant en un host i que sol·licita un servei determinat a un altre host de la xarxa (habitualment un host remot). Un programa client és iniciat per un usuari o per un altre programa, i finalitza quan el programa rep el servei sol·licitat.

Un programa servidor és un programa que s’està executant en un host (habitualment remot) i que proporciona determinats serveis a múltiples programes clients. Quan el programa servidor s’inicia, comença a oferir els seus serveis a aquells clients que li ho sol·licitin, i presta aquests serveis de manera ininterrompuda i continuada.

Assignació automàtica d'adreces IP: BOOTP i DHCP

Cada host connectat a una xarxa TCP/IP ha de conèixer la informació bàsica següent:

  • la seva adreça IP,
  • la seva màscara de subxarxa,
  • l’adreça IP del gateway predeterminat i
  • l’adreça IP d’un servidor DNS.

Tota aquesta informació pot estar enregistrada de manera manual a un fitxer de configuració que és consultat quan el host s’engega o, alternativament, pot ser assignada de manera dinàmica durant el procés d’arrencada mitjançant protocols com ara BOOTP o DHCP.

BOOTP

BOOTP (bootstrap protocol) és un protocol de la capa d’aplicació que utilitza una llista centralitzada d’adreces IP per tal d’assignar, de manera dinàmica, adreces IP als nodes d’una xarxa.

Les adreces que assigna BOOTP són, per tant, adreces IP dinàmiques, en el sentit que són assignades de manera automàtica per un servidor en resposta a una sol·licitud del client o host, i que poden canviar en el futur també de manera automàtica.

En una xarxa on hi ha un servidor BOOTP, el procés d’assignació d’adreces és el següent: quan un dispositiu client o host es connecta a la xarxa, envia un missatge de difusió (broadcast) a la xarxa sol·licitant una adreça IP. En el missatge s’inclou l’adreça física (MAC) del sol·licitant. Llavors, el servidor BOOTP anota l’adreça MAC en la seva llista i li respon un missatge al client amb la informació següent: adreça IP que li assigna, la màscara de subxarxa associada, l’adreça IP i el nom del servidor BOOTP i l’adreça IP d’un encaminador o gateway predeterminat que dóna sortida a l’exterior de la xarxa (a Internet, per exemple).

La principal diferència entre els protocols RARP i BOOTP és que el primer no és encaminat (routable), de manera que caldria tenir un servidor RARP per cada segment de xarxa o LAN. A més, el RARP només proporciona l’adreça IP, però no pot assignar màscares de subxarxa ni altra informació addicional, com ara l’adreça IP del servidor o la de l’encaminador.

DHCP

DHCP (dynamic host configuration protocol) és un altre protocol de la capa d’aplicació que millora algunes de les funcions del protocol BOOTP. La major part de les xarxes actuals fan ús d’un servidor DHCP per assignar les adreces IP als hosts de manera dinàmica.

En les xarxes on es fa servir el protocol DHCP, el servidor DHCP assigna temporalment adreces IP als nodes que s’hi connectin. El temps d’aquesta assignació temporal o préstec està en funció de la configuració concreta del servidor i del client o host. Quan el termini de préstec finalitza, el client pot sol·licitar una renovació. En configurar un servei DHCP és necessari establir un rang d’adreces IP disponibles per a préstec i, si cal, una llista de les adreces reservades que quedaran excloses de préstec. A més, també caldrà configurar quina és la durada predeterminada del préstec.

El funcionament del procés d’assignació via DHCP és el següent (figura):

Figura Assignació d’adreces IP mitjançant DHCP
  1. Quan un client es connecta a una xarxa, envia un paquet de tipus DHCP discover per difusió (broadcast).
  2. Cada servidor DHCP situat en la mateixa subxarxa que el client respon -també en difusió- oferint al client una adreça IP disponible (i d’altra informació addicional: màscara de subxarxa, adreça IP del servidor DHCP, duració del préstec, etc.); a més, el servidor DHCP retira provisionalment aquesta adreça de la llista d’adreces disponibles.
  3. El client accepta la primera oferta d’adreça IP rebuda i envia un missatge d’acceptació en difusió, de manera que la resta de servidors DHCP sàpiguen que ja té una IP i que, per tant, poden tornar a la llista d’adreces disponibles aquelles adreces IP no utilitzades.
  4. Quan el servidor DHCP seleccionat ha rebut el missatge d’acceptació del client, contesta amb un altre missatge de confirmació, el qual incorpora informació addicional (màscara de subxarxa, adreça dels servidors DNS, adreça del gateway o encaminador predeterminat, etc.).

Un procés semblant al descrit es produeix cada cop que el període de préstec de l’adreça IP finalitza i el client vol demanar la renovació. Des del mateix client -o des del servidor-, es pot forçar també la finalització del préstec d’una adreça IP assignada per DHCP i, fins i tot, forçar l’assignació d’una nova adreça IP.

Alliberament i renovació de l'adreça IP en Linux

Per alliberar la màquina de l’adreça IP actualment assignada es pot fer ús de l’ordre dhclient -r. Per demanar una nova adreça IP es pot fer ús de l’ordre dhclient eth0 o dhclient wlan0, segons la interfície que vulguem renovar.

Alliberament i renovació de l'adreça IP en Windows

En Windows, per alliberar la màquina de l’adreça IP actualment assignada es pot fer ús de l’ordre ipconfig / release. Per demanar una nova adreça IP es pot fer ús de l’ordre ipconfig /renew.

Noms de hosts i DNS

El adreçament en TCP/IP es fa mitjançant l’ús de nombres (adreces IP, màscares de subxarxa, etc.). Com que per als humans és més fàcil recordar i treballar amb noms que no amb números llargs, les autoritats que gestionen Internet han establert un sistema de noms per a tots els nodes connectats a Internet, de manera que qualsevol host pugui ser fàcilment identificat amb un nom.

Noms de domini

Un domini és un grup de nodes que pertanyen a una mateixa organització i que tenen en comú una part de la seva adreça IP. Un domini està identificat per un nom de domini, que habitualment està associat a una organització. El nom complet d’un host (fully qualified host name) està format pel nom del host més el nom del domini al qual pertany.

Un nom de domini es representa mitjançant una sèrie d’etiquetes separades per punts. Cada etiqueta representa un nivell diferent en la jerarquia de noms de domini. Per exemple, en el nom de domini www.ioc.cat, “cat” és el domini de nivell superior (top-level domain), “ioc” és el domini de segon nivell, i “www” és el domini de tercer nivell. Cada domini de segon nivell pot contenir múltiples dominis de tercer nivell, per exemple:ftp.ioc.cat, eines.ioc.cat, etc.

Exclusivitat dels dominis

Un cop que una organització o individu ha enregistrat un nom de domini per a ús propi a Internet, cap altra organització ni individu pot fer ús del mateix nom de domini a Internet.

Els noms de domini han d’estar enregistrats per l’ICANN o, en el seu defecte, per una empresa autoritzada a aquest efecte per aquesta entitat. La taula mostra alguns dels dominis de nivell superior aprovats per l’ICANN.

L’ICANN és l’Internet Corporation for Assigned Names and Numbers o, en català, la Corporació d’Internet per a l’Assignació de Noms i Números.

Domini Tipus d’organització
com Comercial
edu Educativa (universitats, etc.)
gov Governamental
org Organització sense ànim de lucre
net Organització que ofereix serveis per a Internet (ISP, etc.)
museum Museus
es Espanya
cat Catalunya
uk Regne Unit
fr França

Exemples de noms de domini i host

Alguns exemples de nom de domini són: ioc.cat, uoc.edu, ibm.com, mec.es. Com a exemple de nom de host tenim: host1.ioc.cat.

Fitxers hosts

En moltes organitzacions es fa ús d’uns fitxers de text anomenats fitxers hosts per tal de mantenir, només per a ús privat (no visible des d’Internet), una taula que associa noms de domini interns (un per cada host de la xarxa) amb les adreces IP corresponents. Cada nom de domini té un àlies que serveix de nom curt alternatiu per fer referència al host. A continuació un exemple de fitxer hosts:

     GNU nano 2.0.9             Archivo: hosts
     
     127.0.0.1       localhost
     127.0.1.1       laptop
     
     # The following lines are desirable for IPv6 capable hosts
     
     ::1     localhost ip6-localhost ip6-loopback
     fe00::0 ip6-localnet
     ff00::0 ip6-mcastprefix
     ff02::1 ip6-allnodes
     ff02::2 ip6-allrouters
     ff02::3 ip6-allhosts

DNS (domain name system)

DNS és un servei de la capa d’aplicació que s’encarrega d’associar noms de domini públics a adreces IP d’Internet. El servei DNS no està centralitzat en cap fitxer ni servidor concret, sinó que és proporcionat per un conjunt de servidors distribuïts per tot el món que segueixen una ordenació jeràrquica o piramidal, en el cim de la qual hi ha tretze servidors arrel.

Per tal de dirigir el trànsit de manera eficient, el servei DNS es divideix en tres components conceptuals:

DNS és un servei fiable

El fet que DNS sigui un servei distribuït entre servidors de tot el món permet garantir-ne el funcionament fins i tot quan alguns d’aquests servidors no estiguin disponibles per alguna raó.

1. Resolutors. Pertany a aquesta categoria qualsevol host d’Internet que necessiti esbrinar informació sobre noms de domini. El client resolutor o resolver està integrat en aplicacions TCP/IP, com ara HTTP. Quan s’introdueix en un navegador una adreça web, com ara http://www.google.es, el programari client HTTP inicia el servei resolutor per tractar d’esbrinar l’adreça IP associada a www.google.es. Si el host havia visitat aquesta pàgina recentment, és probable que l’adreça IP associada estigui encara enregistrada en la memòria del mateix host , per la qual cosa podrà ser recuperada ràpidament. Si no és així, el servei resolutor passarà la consulta al servidor de noms que el host tingui assignat.

2. Servidors de noms de domini (servidors DNS). Aquests servidors contenen bases de dades amb noms de domini i adreces IP associades, informació que proporcionen als resolutors (resolvers) quan reben una petició d’aquests. Si un servidor DNS no pot resoldre o esbrinar quina és l’adreça IP que correspon a un nom concret, li passa la consulta a un altre servidor DNS de nivell superior. Aquest procés continua fins a trobar un servidor DNS que conegui l’adreça IP associada al nom de domini especificat (figura).

Figura Procés de resolució de noms de domini

3. Espai de noms de domini. Aquest concepte fa referència a la base de dades que conté totes les adreces IP d’Internet (adreces IP públiques) i els noms de domini corresponents. Cal notar que aquesta base de dades no està emmagatzemada en cap servidor concret, sinó que està distribuïda entre molts servidors diferents a Internet.

Qualsevol host que s’hagi de comunicar amb altres hosts via Internet ha de tenir un servidor DNS assignat. De fet, és freqüent trobar que un host té assignats dos servidors DNS, un DNS primari i un DNS secundari, de manera que si el servidor DNS primari falla el host pugui recórrer al secundari. Les adreces IP dels servidors DNS (primari i secundari) es poden configurar manualment o bé de manera automàtica mitjançant el servei DHCP.

DDNS (dynamic DNS)

DNS proporciona una manera ràpida i fiable de trobar l’adreça IP pública associada a un determinat nom de domini sempre que l’adreça IP d’aquest domini sigui estàtica, és a dir, no canviï de manera freqüent amb el temps. Actualment, però, molts usuaris d’Internet disposen d’adreces IP dinàmiques, és a dir, les adreces IP públiques que tenen assignades van canviant amb el temps de manera periòdica. Això no representa cap problema si l’usuari es limita a rebre i enviar missatges de correu electrònic o a navegar per Internet, però sí pot ser un problema si l’usuari vol instal·lar-se un servidor que sigui accessible des d’Internet (per exemple, un servidor HTTP de pàgines web o un servidor FTP).

Una possible solució a aquest problema és utilitzar DDNS (dynamic DNS), que consisteix a instal·lar al host de l’usuari un petit programa que detecta els canvis en l’adreça IP del host i els notifica automàticament a un proveïdor de serveis d’Internet prèviament escollit, el qual s’encarrega d’actualitzar la informació a tots els servidors DNS d’Internet en qüestió de minuts.

Servidors d'impressió i zeroconf

Els servidors d’impressió proporcionen la possibilitat de compartir impressores entre múltiples clients d’una xarxa.

Ja siguin servidors dedicats en exclusiva a oferir el servei d’impressió o bé estacions de treball que a més es fan servir per oferir l’accés a una impressora connectada a aquestes estacions, els servidors d’impressió solen tenir instal·lat un programari especial (o, si més no, un sistema operatiu de xarxa) que els permet gestionar les peticions d’ús dels serveis d’impressió per part dels diferents clients. Quan un servidor d’impressió rep una petició d’un client, passa la petició a la impressora si aquesta està lliure; si no ho està, o bé guarda la petició en un buffer o bé la guarda en un disc dur fins que la impressora queda lliure (aquest procés s’anomena gestió de cues o spooling).

Zeroconf (zero configuration) és un conjunt de protocols dissenyats per simplificar la configuració de nodes en una xarxa TCP/IP. Zeroconf assigna a cada node una adreça IP, és capaç de resoldre o esbrinar l’adreça IP associada a un nom de domini sense fer ús de servidors DNS, i permet descobrir serveis disponibles a la xarxa (serveis d’impressió, etc.).

Zeroconf permet la comunicació entre dos hosts directament connectats sense haver de configurar manualment les respectives adreces IP ni haver d’utilitzar servidors DHCP ni servidors DNS. Per fer això, Zeroconf fa ús del protocol IPv4LL (IP version 4 link local), que assigna de manera automàtica adreces IP privades en el rang 169.254.1.0 a 169.254.254.255.

IPv4LL és especialment útil amb impressores de xarxa: moltes impressores no disposen d’interfícies que permetin a l’administrador de la xarxa configurar fàcilment els seus paràmetres TCP/IP; per contra, si aquestes impressores suporten Zeroconf i IPv4LL, es poden connectar directament a la xarxa sense necessitat de fer cap mena de configuració addicional.

Zeroconf davant NetBIOS

Abans de l’aparició de Zeroconf, la comunicació entre hosts directament connectats era possible quan totes dues eren màquines amb el mateix sistema operatiu (per exemple Windows amb protocol NetBIOS o Macintosh amb protocol AppleTalk), però no quan eren màquines amb diferents sistemes operatius.

Altres protocols i serveis: SMTP, POP, Telnet, FTP, HTTP, NTP, etc

Els protocols de les capes superiors controlen el procés de donar format als paquets de dades d’acord amb les demandes dels usuaris. A continuació es presenten alguns d’aquests protocols:

  • FTP ( file transfer protocol). FTP permet als clients pujar i baixar fitxers a un servidor i d’un servidor que estigui executant un servei FTP. Aquest tipus de servei no depèn de cap sistema operatiu concret, motiu pel qual qualsevol client pot fer ús d’aquest protocol amb independència de quin sistema operatiu faci servir. Això converteix FTP en un servei que permet compartir fàcilment la informació entre clients de diferents plataformes. FTP fa ús de TCP per a les comunicacions entre clients i servidors, i utilitza paquets ACK (d’acusament de rebuda) durant la transferència.

La pila de protocols TCP/IP inclou una utilitat FTP que permet, sense necessitat d’instal·lar cap programa addicional, fer ús del servei FTP mitjançant la línia d’ordres. Per defecte, el servidor FTP utilitza el port 20 per a les connexions, mentre que els clients fan ús del port 21.

  • TFTP (trivial file transfer protocol). TFTP s’utilitza quan la transferència d’un fitxer no requereix l’ús de paquets ACK. Aquest protocol es fa servir habitualment durant la configuració d’encaminadors. Pel que fa al seu funcionament, és semblant a FTP, i les diferències més importants entre tots dos són la velocitat (TFTP és més ràpid atès que no requereix paquets ACK) i l’autenticació (TFTP no proporciona autenticació d’usuari). A més, TFTP només suporta transferència de dades unidireccional (a diferència d’FTP, que permet la transferència en les dues direccions alhora). Per defecte, el servei TFTP opera a través del port 69.
  • HTTP (hypertext transfer protocol). El protocol HTTP és el que gestiona la major part del trànsit que actualment circula per Internet. Quan un usuari sol·licita un recurs web, aquesta sol·licitud es fa mitjançant HTTP. Així, per exemple, quan s’escriu en un navegador l’adreça http://www.ioc.cat, es fa una crida al servei DNS perquè resolgui el nom de domini en una adreça IP. Quan aquesta adreça IP és resolta, s’envia una sol·licitud get al servidor web, el qual retorna una resposta send (totes dues són operacions del protocol HTTP). Aquest tipus de comunicació es produeix diversos cops durant una mateixa sessió en un lloc web. HTTP també fa ús del protocol TCP i opera, per defecte, en el port 80.
  • HTTPS (hypertext transfer protocol secure). HTTPS s’utilitza per fer transaccions (de dades) segures via web. HTTPS utilitza una tecnologia basada en certificats digitals amb la finalitat de garantir una autenticació mútua entre el client i el servidor que participen de la transacció. A més, HTTPS encripta tots els paquets de dades enviats durant la sessió, la qual cosa garanteix la confidencialitat de les dades. Per poder utilitzar HTTPS, un lloc web ha d’adquirir un certificat digital d’un proveïdor d’aquest tipus de serveis. HTTPS també utilitza TCP i, per defecte, opera en el port 443.
  • POP3 (post office protocol v3).POP3 és un servei de recepció de correu electrònic que proporciona a l’usuari accés a la seva carpeta Inbox d’entrada de missatges electrònics. POP3 s’encarrega de contactar amb el servidor de correu i de sol·licitar-li els nous missatges destinats al compte de l’usuari. Per tant, POP3 només presta serveis de recepció de missatges electrònics (no gestiona l’enviament de missatges). POP3 utilitza TCP i opera, per defecte, en el port 110.
  • SPOP3 (secure post office protocol v3). SPOP3 permet l’accés dels usuaris a la seva Inbox de correu electrònic mitjançant una connexió segura. SPOP3 es basa en l’ús de certificats digitals i en l’encriptació de les dades durant la sessió. SPOP3 fa ús del protocol TCP i, per defecte, opera en el port 995.
  • IMAP (Internet message access prococol). IMAP permet a un client de correu electrònic accedir a altres carpetes més enllà de la carpeta Inbox de correu entrant. Així, IMAP gestiona l’accés a les carpetes de missatges electrònics esborrats, missatges enviats, contactes, etc. Malgrat tot, tant IMAP com POP3 són serveis de recepció de correu electrònic (no gestionen enviament de correu electrònic). IMAP també utilitza TCP i, per defecte, fa ús del port 143.
  • SIMAP (secure Internet message access protocol). De manera anàloga a allò que passava amb SPOP3, SIMAP proporciona seguretat en la transmissió de missatges electrònics mitjançant l’ús de certificats digitals i de tècniques d’encriptació. SIMAP fa ús del protocol TCP i, per defecte, opera sobre el port 993.
  • SMTP (simple mail transport protocol). Els serveis POP3, SPOP3, IMAP i SIMAP només gestionen la recepció de correu electrònic. Per gestionar l’enviament de missatges es fa ús del protocol SMTP. Els missatges són enviats des d’un servidor SMTP a un altre servidor SMTP. Per poder fer aquesta operació, cada servidor SMTP fa ús del servei DNS. SMTP utilitza TCP i, per defecte, opera sobre el port 25.
  • TELNET (terminal emulation). Una aplicació Telnet fa ús del protocol TELNET per connectar un client a un servidor remot. El protocol TELNET proporciona comunicació bidireccional entre clients i servidors. Aquest protocol s’utilitza especialment en tasques d’administració remota d’un servidor mitjançant una consola d’ordres (aplicació Telnet) que s’està operant des del client. TELNET s’utilitza freqüentment per verificar el funcionament correcte de serveis remots (com ara SMTP, POP3 o IMAP) i per obrir ports en el servidor remot. Aquest protocol fa ús de TCP i, per defecte, opera sobre el port 23.
  • NNTP (network news transfer protocol). NNTP és un protocol que millora l’antic BBS (bulletin board system) per a la transferència d’informació entre clients mitjançant l’accés a grups de notícies o newsgroups, els quals contenen informació classificada per tòpics d’interès. NNTP utilitza el protocol TCP i, per defecte, opera sobre el port 119.
  • NTP (network time protocol). NTP s’utilitza per sincronitzar rellotges entre diferents ordinadors d’una xarxa. Aquest protocol, encara que molt simple, té la seva importància, ja que molts paquets tenen un temps de vida predeterminat que s’ha d’actualitzar constantment, per la qual cosa resulta fonamental que els diferents hosts per on el paquet passa estiguin sincronitzats. NTP fa ús del protocol UDP i, per defecte, opera sobre el port 123.
  • SNMP (simple network management protocol). SNMP és un protocol de gestió de xarxa que consisteix en dos components: l’agent SNMP (part client) i la consola de gestió SNMP (part servidor). La consola de gestió envia ordres get als agents SNMP per sol·licitar-los informació sobre la configuració de la xarxa, l’ús dels recursos, la configuració DHCP, la configuració DNS, la configuració WINS, la configuració de dispositius, els missatges d’error que s’han produït, etc. Per la seva banda, els agents SNMP responen a la petició mitjançant un missatge trap. Per motius de seguretat, els agents SNMP només contesten les peticions d’aquelles consoles de gestió que reconeixen com a membres de la mateixa xarxa. SNMP és un protocol que s’ha implementat en eines propietàries distintes. Així, per exemple, Hewlett Packard proporciona l’eina HP Open View, mentre que Microsoft proporciona l’eina SNMP Server. SNMP utilitza el protocol UDP per demanar la informació i, per defecte, opera sobre els ports 161 i 162.

Servidors intermediaris

Un servidor intermediari o proxy proporciona múltiples avantatges a l’hora de connectar una xarxa d’àrea local a Internet. D’una banda, l’intermediari pot fer les tasques d’un tallafocs (firewall), filtrant el trànsit que entra i surt de la xarxa local i augmentant, d’aquesta manera, la seguretat. D’altra banda, el servidor intermediari també pot proporcionar serveis de cau, la qual cosa permet incrementar el rendiment de la xarxa.

Figura El servidor intermediari permet filtrar el trànsit des d’Internet i cap a Internet

En efecte, els servidors intermediaris poden inspeccionar tot el trànsit d’entrada i sortida de la xarxa (des d’Internet i cap a Internet) i determinar si alguna transmissió ha de ser filtrada o s’ha de restringir (figura). Atès que el servidor intermediari filtra les dades en els dos sentits (entrada i sortida), pot evitar l’accés des de la xarxa local a determinades pàgines web i també restringir l’accés no autoritzat d’usuaris externs a recursos o serveis de la xarxa local. Una funció addicional del servidors intermediaris és la d’emmascarar l’adreça IP dels hosts de la xarxa local, de manera que aquesta no sigui visible des d’Internet. Els servidors intermediaris poden ser servidors maquinari dedicats o simplement programari que s’està executant en una estació de treball.

Una altra aplicació habitual dels servidors intermediaris-cau és la seva capacitat per emmagatzemar la informació que és demanada amb més assiduïtat. És freqüent que els diferents usuaris d’una mateixa xarxa local consultin les mateixes pàgines web. Quan una persona requereix una pàgina web concreta, l’intermediari connecta amb el lloc, descarrega la pàgina i la desa en memòria. Quan una segona persona torna a demanar la mateixa pàgina, l’intermediari li envia la que ha emmagatzemat en cau, i elimina així la necessitat de fer la sol·licitud a Internet, la qual cosa estalvia temps i trànsit de paquets a Internet. Algunes etiquetes http poden informar el servidor intermediari que certes pàgines o certs continguts són dinàmics (canvien sovint), informació que fa servir l’intermediari per incrementar la freqüència en què actualitza la versió d’aquests continguts en la seva memòria cau.

Un dels servidors proxy més populars i més utilitzats és Squid.

Utilitats TCP/IP

En les xarxes on es fa servir el protocol TCP/IP, es pot fer ús d’un conjunt d’utilitats (petites aplicacions) que ajuden a identificar possibles problemes de funcionament o rendiment de la xarxa (dispositius de xarxa que no responen a les peticions, formació de colls d’ampolla en la xarxa, etc.). Entre les utilitats més destacades en entorns Windows (moltes d’elles també estan disponibles en entorns Unix/Linux), trobem les següents: Ping, Tracert, Arp, Netstat, Ipconfig/Ifconfig i Nslookup. A continuació es descriu breument cadascuna d’aquestes utilitats:

  • Ping: l’ordre ping es pot fer servir per comprovar la connectivitat entre el nostre host i un determinat host remot. En executar des d’un host A l’ordre ping < adreça IP o nom d’un host B > s’envien un conjunt de paquets de 32 bytes cadascun. Si els paquets arriben a la seva destinació (host B), llavors tots dos hosts es poden comunicar entre ells; en cas contrari (si els paquets enviats es perden pel camí), no hi ha connectivitat entre els hosts. Ping utilitza el protocol ICMP. Per comprovar si la targeta de xarxa del nostre propi host és operativa i té configurada la pila TCP/IP es pot fer un ping 127.0.0.1 o, equivalentment, ping localhost.

Opcions de Ping

Ping ofereix tota una sèrie d’opcions addicionals que permeten introduir algunes variants interessants. En la consola d’ordres de Linux, aquestes opcions es poden consultar fent un man ping. A Ms Windows es consulten amb ping /?.

     ioc@ioc-laptop:/# ping -c 5 localhost
     
     PING localhost (127.0.0.1) 56(84) bytes of data.
     64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.068 ms
     64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.057 ms
     64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.062 ms
     64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.060 ms
     64 bytes from localhost (127.0.0.1): icmp_seq=5 ttl=64 time=0.066 ms
     
     --- localhost ping statistics ---
     5 packets transmitted, 5 received, 0% packet loss, time 4009ms
     rtt min/avg/max/mdev = 0.057/0.062/0.068/0.009 ms
  • Traceroute (GNU/Linux) /Tracert (Windows): aquesta utilitat permet veure la ruta que segueix un paquet fins a arribar a la seva destinació, és a dir: mostra l’adreça de cadascuna de les interfícies dels encaminadors pels quals passa el paquet TCP/IP. L’ordre que cal fer servir és traceroute < adreça IP o nom DNS del host destinació > (tracert en Windows). Aquesta ordre permet detectar l’existència de colls d’ampolla en una xarxa i identifica l’origen d’aquest problema. La primera columna de la sortida (output) resultant indica el nombre de salt, la segona mostra el nom o l’adreça IP del host corresponent i les tres columnes següents indiquen els temps associats a tres intents d’arribar fins al proper encaminador.

Opcions de Tracert/Traceroute

Tracert ofereix tota una sèrie d’opcions addicionals. En la consola d’ordres aquestes opcions es poden consultar fent un man traceroute a Linux o un tracert /? a Windows.

  ioc@ioc-laptop:/# traceroute www.google.com
  
  traceroute to www.google.com (74.125.230.82), 30 hops max, 60 byte packets
   1  192.168.1.1 (192.168.1.1)  1.420 ms  5.337 ms  6.288 ms
   2  192.168.153.1 (192.168.153.1)  45.247 ms  47.201 ms  49.165 ms
   3  145.Red-80-58-117.staticIP.rima-tde.net (80.58.117.145)  51.126 ms  
  53.087 ms  55.045 ms
   4  So2-0-0-0-grtbcntb1.red.telefonica-wholesale.net (84.16.6.65)  56.985 ms  
  58.918 ms  60.879 ms
   5  Xe1-0-0-0-grtpartv2.red.telefonica-wholesale.net (84.16.13.134)  96.820 ms 
  So7-1-0-0-grtbcnes1.red.telefonica-wholesale.net (84.16.12.57)  64.800 ms 
  So4-0-0-0-grtbcnes1.red.telefonica wholesale.net.12.16.84.in-addr.arpa 
  (84.16.12.201)  67.757 ms
   6  Xe9-3-0-0-grtpartv1.red.telefonica-wholesale.net (213.140.49.153)  
  86.708 ms  58.744 ms Xe0-3-0-0-grtpartv1.red.telefonica-wholesale.net 
  (84.16.12.213)  66.798 ms
   7  GOOGLE-xe-9-0-0-0-grtpartv1.red.telefonica-wholesale.net (84.16.6.106)  
  84.733 ms GOOGLE-xe-3-1-0-0-grtpartv1.red.telefonica-wholesale.net (84.16.6.98)  
  86.714 ms GOOGLE-xe-9-0-0-0-grtpartv1.red.telefonica-wholesale.net (84.16.6.106)
  84.633 ms
   8  209.85.250.142 (209.85.250.142)  92.616 ms  98.570 ms  94.532 ms
   9  64.233.175.115 (64.233.175.115)  86.546 ms  86.460 ms  86.456 ms
  10  74.125.230.82 (74.125.230.82)  101.377 ms  98.354 ms  100.301 ms
  ioc@ioc-laptop:/#
  • Arp: cada host que utilitza TCP/IP manté una taula ARP en la qual enregistra adreces IP i les corresponents adreces MAC associades. L’ordre arp permet visualitzar aquesta taula (adreces estàtiques i dinàmiques) i també afegir-hi entrades noves (adreces estàtiques). Els registres de la taula ARP tenen un temps de vida màxim (time to live o TTL) i, quan aquest expira, l’entrada corresponent és esborrada de la taula.

Opcions d'Arp

Arp ofereix tota una sèrie d’opcions addicionals. A la consola d’ordres aquestes opcions es poden consultar fent un man arp a Linux o arp /? a Windows.

  • Ipconfig/Ifconfig: aquesta utilitat permet veure la configuració TCP/IP (adreça IP del host, màscara de subxarxa, adreça IP del gateway, servidor DHCP, servidor DNS, etc.) associada a cadascuna de les targetes del xarxa del host. L’ordre en sistemes Windows és ipconfig. En el cas de sistemes Unix/Linux, l’ordre és ifconfig (figura).
Figura Ús de l’ordre ipconfig
  • Netstat: aquesta utilitat permet veure les connexions TCP/IP establertes i algunes estadístiques associades. L’ordre que s’ha de fer servir és netstat. La primera columna de la sortida (protocol) resultant indica el protocol utilitzat, la segona i tercera indiquen paquets enviat i rebuts, la quart columna indica el nom i port local, la cinquena columna indica el nom i port de destinació; finalment, la sisena columna indica l’estat de la connexió.

Les diferents opcions d’Ipconfig es poden consultar fent un man ifconfig o ipconfig -? en la consola de windows.

Opcions de Netstat

Netstat ofereix tota una sèrie d’opcions addicionals. En la consola d’ordres aquestes opcions es poden consultar fent un man netstat a Linux o un netstat /? a Windows.

  ioc@ioc-laptop:/# netstat                                                     
  Conexiones activas de Internet (servidores w/o)
    
  Protocolo Recv-Q Send-Q Dirección Local    Dirección Externa       Estado               
  tcp       38      0    ioc-laptop.lo:50551 www.dropbox.com:https   CLOSE_WAIT
  tcp       38      0    ioc-laptop.lo:51841 174.36.30.90-stat:https CLOSE_WAIT
  tcp        0      0    ioc-laptop.lo:57128 wy-in-f17.1e100.n:https ESTABLECIDO
  tcp       38      0    ioc-laptop.lo:45816 75.126.115.38-sta:https CLOSE_WAIT
  tcp        0      0    ioc-laptop.lo:60411 208.43.202.47-stati:www ESTABLECIDO
  udp      320      0    ioc-laptop.lo:39074 72.21.194.1:33486       ESTABLECIDO
  udp      320      0    ioc-laptop.lo:49831 72.21.194.1:33488       ESTABLECIDO
  udp        0      0    ioc-laptop.lo:52658 72.21.214.128:33491     ESTABLECIDO
  udp        0      0    ioc-laptop.lo:56506 72.21.194.1:33491       ESTABLECIDO
  udp        0      0    ioc-laptop.lo:33483 72.21.214.128:33492     ESTABLECIDO
  udp      320      0    ioc-laptop.lo:46812 72.21.194.1:33487       ESTABLECIDO
  udp      320      0    ioc-laptop.lo:57573 72.21.194.1:33490       ESTABLECIDO
  udp      320      0    ioc-laptop.lo:45189 72.21.194.1:33489       ESTABLECIDO
  udp      416      0    ioc-laptop.lo:52998 72.21.194.1:33484       ESTABLECIDO
  udp      384      0    ioc-laptop.lo:35086 250.Red-80-58-61:domain ESTABLECIDO
  udp      320      0    ioc-laptop.lo:43278 72.21.194.1:33485       ESTABLECIDO
  • Nslookup: aquesta utilitat permet demanar a un servidor DNS per l’adreça IP d’un host del qual es coneix el nom de domini, o bé a l’inrevés, demanar a un servidor DNS el nom de domini associat a una adreça IP coneguda.
  ioc@ioc-laptop:/# nslookup www.google.com
  Server:         80.58.61.250
  Address:        80.58.61.250#53
  
  Non-authoritative answer:
  www.google.com  canonical name = www.l.google.com.
  Name:   www.l.google.com
  Address: 74.125.230.83
  Name:   www.l.google.com
  Address: 74.125.230.82
  Name:   www.l.google.com
  Address: 74.125.230.81
  Name:   www.l.google.com
  Address: 74.125.230.80
  Name:   www.l.google.com
  Address: 74.125.230.84
  
  ioc@ioc-laptop:/# nslookup www.muchomasdeporte.com
  Server:         80.58.61.250
  Address:        80.58.61.250#53
  
  Non-authoritative answer:
  Name:   www.muchomasdeporte.com
  Address: 65.61.167.242
Anar a la pàgina anterior:
Exercicis d'autoavaluació
Anar a la pàgina següent:
Activitats