Adreçament de xarxa

Protocol

És el conjunt de regles normalitzades per a la representació, senyalització, autenticació i detecció d’errors necessari per enviar informació mitjançant un canal de comunicació.

L’adreçament de xarxa permet identificar els equips, que en una xarxa permetrà que es puguin comunicar amb altres equips; aquesta comunicació es durà a terme usant un protocol, que usarà aquestes adreces designades als nostres equips. Estan identificats tots els equipaments que formen part de la comunicació entre l’emissor, el receptor i els encaminadors pels quals passa aquesta comunicació. L’adreçament de xarxa proporciona mecanismes perquè es pugui establir una comunicació entre dues adreces, tant si estan en la mateixa xarxa o separades per una o més xarxes.

Aquest protocol permet comunicar i transmetre a través de diferents xarxes, tot i que siguin xarxes de diferent naturalesa física o topologies.

Protocol IP

Aquest protocol permet la comunicació a través d’una col·lecció àmplia i heterogènia de xarxes basades en tecnologies diferents.

El protocol IP (Internet protocol, protocol d’Internet) correspon a la capa de xarxa del model de referència OSI i proporciona a la capa superior, la de transport, un servei no orientat a connexió i de mínim esforç (less effort), que indica que el protocol farà el possible per reenviar les dades a la destinació però sense garantir que el paquet sigui lliurat. Per tant, si una aplicació necessita que la comunicació sigui segura haurà d’afegir aquesta seguretat en capes superiors (per exemple, en la capa de transport o la capa d’aplicació).

El protocol IP s’encarrega de proporcionar mecanismes perquè dues xarxes puguin establir una comunicació a partir d’unes adreces lògiques que s’anomenen adreces IP.

Una adreça IP és un nombre que identifica una interfície d’un dispositiu dins d’una xarxa que utilitza el conjunt de protocols TCP/IP.

Orígens i versions del protocol IP

Al maig de 1974, l’IEEE (Institute of Electrical and Electronics Engineers, Institut d’Enginyers Elèctrics i Electrònics) va publicar un document titulat “Protocol d’interconnexió de paquets de xarxa”. Els autors de l’article, Vint Cerf i Bob Kahn, descriuen un protocol d’interconnexió de xarxes per compartir recursos a través d’una xarxa transmetent la informació en paquets de dades entre els nodes de la xarxa. Un component central de control d’aquest model va ser el TCP (transmission control program, programa de control de transmissió), que incorpora dos enllaços orientats a connexió i serveis de datagrames, en què cada paquet s’envia de manera independent, entre ordinadors. El TCP es va dividir més tard en una arquitectura modular que consisteix en el protocol de control de transmissió en la capa orientada a la connexió i el protocol d’Internet (IP) en la interconnexió de xarxes (datagrama) de la capa. El model es coneix com a TCP/IP.

El protocol d’Internet és un dels elements determinants que defineixen Internet. El protocol d’interconnexió de xarxes dominants a la capa d’Internet actualment és IPv4. El nombre 4 és assignat com el número de protocol de la versió oficial en tots els datagrames IP. IPv4 està descrit en l’RFC 791 (1981) (request for comments, petició de comentaris).

El successor d’IPv4 és IPv6. La modificació més important de la versió 4 és el sistema d’adreces. IPv4 utilitza adreces de 32 bits, mentre que IPv6 utilitza adreces de 128 bits. L’adopció d’IPv6 està essent lenta, a partir de juny de 2008.

Hi ha versions antigues del protocol IP, les primeres versions (del 0 al 3) foren versions de desenvolupament per acabar esdevenint en el protocol IPv4. Aquestes foren desenvolupades entre 1977 i 1979. I entre la versió 4 i 6, hi ha la versió 5 la qual s’ha usat per realitzar streaming (emissions) per Internet.

Paquet IP

Per entendre el servei d’aquest protocol s’ha d’examinar com codifica les dades per transmetre-les per la xarxa. Al transmetre les dades per la xarxa el protocol fragmenta les dades en paquets, ja que al operar sobre diverses xarxes hi ha una limitació en la mida que es pot transmetre per la xarxa.

Cada xarxa física imposa una limitació en la mida del paquet, les dades a transmetre. Aquesta mida s’anomena MTU (Maximum Transmission Unit, unitat de transferència màxima). Per exemple Ethernet és de 1500 bytes.

Per tant el protocol divideix les dades a transmetre en paquets, i aquests paquets consten de dues parts: la capçalera i les dades a transmetre, com es mostra en la figura.

Figura Estructura d’un paquet IP

Capçalera

La capçalera, usada per poder transmetre dades referent al control del paquet, té una component fixa de 20 bytes més una component longitud variable que consta d’opcions que pot arribar a ser de fins a 40 bytes. Els paquets IP es transmeten segons l’ordre dels bytes de xarxa: els bits 0-7 primers, seguits dels 8-15, etc.

A continuació es detalla el significat de cada camp que forma la capçalera:

  • Versió. El camp de versió indica la versió del protocol IP que s’usa pel paquet. Actualment el més comú és que sigui versió 4, la versió 5 seria en el cas d’un protocol de flux de dades en temps real, streamming, i la versió 6 per les adreces IP de 128 bits. Va del bit 0 al bit 3.
  • Longitud de la capçalera d’Internet. És IHL (Internet Header Length), especifica la longitud de la capçalera en paraules de 32 bits. Si les opcions no estan presents, per tant la longitud serà 20 bytes, aquest camp tindrà el valor 5. Aquest camp també serveix per determinar la longitud que ocupen les opcions. Va del bit 4 al bit 8.
  • TOP (Type Of Service, tipus de servei). Especifica la prioritat del paquet basant-se en el retard, rendiment, seguretat i els requeriments de cost. S’assignen 3 bits pels nivells de prioritat i 4 bits per concretar les necessitats específiques (com ara: retard, rendiment, seguretat i cost). Per exemple, si un paquet necessita que es lliuri al destí el més ràpid possible, el transmissor pot establir a 1 el bit de retard i utilitzar un nivell de prioritat alta. En la pràctica, la majoria de dispositius d’encaminament ignoren aquest camp. Actualment hi ha grups de treball que tracten de redefinir aquest camp. Va dels bits 8 al 15.
  • Longitud total. Especifica el nombre de bytes del paquet IP incloent la capçalera i les dades. Amb 16 bits assignats a aquest camp, la longitud màxim del paquet és de 65.535 bytes. A la pràctica, la longitud màxima possible estranyament s’usa, doncs la majoria de xarxes físiques tenen una pròpia limitació en la longitud. Va dels bits 16 al 31.
  • Identificació, indicadors i desplaçament: aquests camps s’usen per la fragmentació i muntatge. Permeten identificar quina part de totes les dades correspon a les que s’estan enviant amb aquest paquet. van dels bits 32 al 63.
  • TTL (Time to Live, temps de vida). Es defineix per indicar la quantitat de temps en segons que es permet al paquet romandre a la xarxa. Però, la majoria dels dispositius d’encaminament interpreten aquest camp com el nombre de salts que es permet realitzar al paquet al creuar la xarxa. Inicialment, l’origen associa aquest camp algun valor, cada dispositiu d’encaminament que el tracta disminueix aquest valor en 1. Si el valor es fa 0 abans d’assolir el destí aleshores el dispositiu d’encaminament el descarta i envia un missatge d’error al origen. Sigui la interpretació que s’usi el que permet aquest camp és evitar que un paquet doni voltes eternament per la xarxa. Va del bit 64 al 71.
  • Protocol. Ens especifica el protocol que rebrà les dades IP en el destí. Exemples de valors pel protocol TCP val 6, pel protocol UDP val 17 i pel protocol ICMP val 1. Va del bit 72 al 80.
  • Suma de comprovació de la capçalera (Checksum). Aquest camp verifica la integritat de la capçalera del paquet IP. La part de dades no es comprova i es deixa que ho facin les capes superiors. Si el procés de verificació falla, el paquet es descarta. Per calcular la suma de comprovació de la capçalera, l’emissor primer estableix a 0 aquest camp i després aplica l’algoritme de suma de comprovació. S’ha de tenir en compte que quan un dispositiu d’encaminament disminueix en 1 el TTL, el dispositiu d’encaminament té que recalcular el valor d’aquest camp. Va del bit 81 al 95.
  • Adreça IP d’origen i adreça IP de destí. Aquests camps contenen les adreces IP de l’origen i del destí, normalment dels ordinadors d’origen i destí. Aquí l’adreça estarà especificada pels 32 bits per cada una respectivament. L’adreça d’origen va del bit 96 al 128 i en el cas de la de destí va del bit 129 al 160.
  • Opcions IP. Aquest camp, que és de longitud variable, permet que el paquet sol·liciti característiques especials com: nivell de seguretat, camí a seguir pel paquet i marca de temps en cada dispositiu d’encaminament. S’usa en molt poques ocasions.
  • Farciment. Aquest camp s’usa per fer la capçalera múltiple de 32 bits.
  • Dades. Conté la informació a enviar per la xarxa, la informació que es vol enviar més la informació que han anat afegint les diverses capes superiors.

Quan l’adaptador de xarxa, interfície, envia un paquet IP al dispositiu d’encaminament, té lloc la següent seqüència. Primer es calcula la suma de comprovació i es comproven els camps en la capçalera per veure si contenen valors vàlids. A continuació es canvien els camps del paquet que ho necessiten. Per exemple el valor del camp TTL i la suma de comprovació de capçalera sempre que requereixin la seva actualització. Després el dispositiu d’encaminament identifica el següent salt del paquet consultant les seves taules d’encaminament. I la darrera cosa a fer és reenviar el paquet al seu següent salt.

La fragmentació a detall

De quina mida és un paquet? Quina és la capacitat màxima de transferència de dades d’una xarxa física? La mida per a un paquet ha de ser tal que permeti l’encapsulació, és a dir, enviar-lo complet en una trama física. El problema és que el paquet ha de transitar per diferents xarxes físiques, amb diferents tecnologies i diferents capacitats de transferència. A la capacitat màxima de transferència de dades d’una xarxa física se l’anomena MTU (el MTU d’Ethernet és 1500 bytes per trama, la de FDDI és 4497 ​​bytes per trama). Quan un paquet passa d’una xarxa a una altra amb un MTU menor a la seva grandària és necessària la fragmentació. A les diferents parts d’un paquet se’ls anomena fragment, mentre que al procés de reconstrucció del paquet a partir dels seus fragments se l’anomena reacoblament de fragments.

El control de la fragmentació d’un paquet IP es realitza amb els camps de la segona paraula de la seva capçalera:

  • Identificació. Nombre de 16 bits que identifica el Datagrama, que permet implementar números de seqüències i que permet reconèixer els diferents fragments d’un mateix Datagrama, ja que tots ells comparteixen aquest número.
  • Banderes (flags). Un camp de tres bits on el primer està reservat. El segon, anomenat bit de No-Fragmentació significa: 0 = Pot fragmentar el paquet o 1 = No es pot fragmentar el paquet. El tercer bit és anomenat Més-Fragments i significa: 0 = Únic fragment o darrer fragment, 1 = encara hi ha més fragments. Quan hi ha un 0 en més - fragments, s’ha d’avaluar el camp desplaçament de fragment: si aquest és zero, el paquet no està fragmentat, si és diferent de zero, el paquet és un últim fragment.
  • Desplaçament de fragment. A un tros de dades se l’anomena bloc de fragment. Aquest camp indica la mida del desplaçament en blocs de fragment pel que fa al paquet original, començant pel zero.

Per finalitzar, cal esmentar el termini de reacoblament, que és un temps d’espera que té el host destí que estableix com a màxim per esperar per tots els fragments d’un paquet. Si es guanya i encara no arriben tots, llavors es descarten els que ja han arribat i es demana el reenviament de tots el paquet complet.

Adreça IP

L’adreça IP és una adreça lògica que fixa l’administrador de la xarxa per identificar cadascun dels dispositius presents. De fet, l’adreça IP assignada identifica de manera única tant la xarxa com l’ordinador on està connectat.

Tal com mostra la figura, l’adreça IP es compon de 4 octets, això és, agrupaments de 8 bits, expressats en numeració decimal (valors de 0 a 256) i separats per punts.

Figura Estructura d’una adreça web

Cal destacar que els valors 0 i 255 es reserven per al control de la mateixa xarxa. Per exemple, el valor decimal 255 (la conversió al valor binari, tots els bits serien 1) es fa servir per a la difusió, i el valor decimal 0 (això és, tots els bits a 0) per indicar la xarxa local.

Classes

L’adreça IP és un número de 32 bits que identifica cadascuna de les màquines que estan connectades a la xarxa i, paral·lelament, també identifica la xarxa a què estan connectades. El procés es fonamenta en la utilització d’una part de l’adreça IP per identificar la xarxa i la resta per identificar l’ordinador.

  • Adreça de classe A. El primer octet identifica la xarxa i el bit que pesa més sempre té el valor de 0. Els 7 bits següents identifiquen la xarxa, i la resta de bits (és a dir, 24) identifiquen les màquines connectades (figura). Aquesta combinació fa que la primera xarxa sigui la 0.0.0.0 i l’última, la 127.255.255.255. En aquest tipus d’adreces hi ha poques xarxes i molts ordinadors. Les adreces que marquen l’inici i final del rang en binari són:
00000000.00000000.00000000.00000000
01111111.11111111.11111111.11111111
Figura Adreça de classe A

Si s’utilitzen 7 bits per identificar les xarxes, es podrà obtenir xarxes (128 xarxes), a cada una de les quals es poden connectar ordinadors (concretament, una mica menys de 16.777.216).

  • Adreça de classe B. Els dos primers octets codifiquen les xarxes i els dos que pesen més sempre valen 10. Els 14 bits següents s’utilitzen per identificar les xarxes. En aquest tipus d’adreça s’utilitzen 16 bits per identificar les màquines connectades (figura). Aquesta combinació fa que la primera xarxa de classe B tingui el valor 128.0.0.0 i l’última adreça de classe B tingui el valor de 191.255.255.255. Tot i que la utilització d’adreces de classe B permet que hi hagi més xarxes que en una adreça de classe A, cada adreça de classe B accepta menys màquines connectades. Les adreces que marquen l’inici i final del rang en binari són:
 
10000000.00000000.00000000.00000000
10111111.11111111.11111111.11111111
Figura Adreça de classe B

Si s’utilitzen 14 bits per identificar les xarxes, es poden obtenir xarxes, és a dir, unes 16.384 xarxes. A cadascuna d’aquestes xarxes s’hi poden connectar ordinadors, això és, una mica menys de 65.535.

  • Adreça de classe C. Els tres primers octets s’utilitzen per identificar les xarxes i l’últim octet es dedica a la identificació de l’ordinador. Els tres bits que pesen més de l’identificador de xarxa sempre tenen per valor el 110 (figura). Per tant, la primera xarxa de classe C que es podrà implementar tindrà l’adreça IP 192.0.0.0 i l’última serà la 223.255.255.255. Cal destacar que aquest valor indica que es poden implementar moltes xarxes en les adreces de classe C, però també que es poden connectar poques màquines a cada xarxa. Les adreces que marquen l’inici i final del rang en binari són:
 
11000000.00000000.00000000.00000000
11011111.11111111.11111111.11111111
Figura Adreça de classe C

Si s’utilitzen 21 bits per identificar les xarxes, podreu obtenir xarxes, és a dir, aproximadament 2.097.152 xarxes. A cada una d’aquestes xarxes s’hi podran connectar ordinadors, això és, menys de 256.

* Adreça de classe D. Les adreces de classe D es van crear per permetre la difusió selectiva (multicast) en una adreça IP. De fet, aquest tipus d’adreça es pot diferenciar de les altres gràcies als quatre bits de més pes, que en una adreça d’aquesta classe valen sempre 1110 (figura). De fet, són adreces de xarxa que comencen en el nombre 224.0.0.0 i acaben en el nombre 239.255.255.255. Aquesta adreça utilitza els 28 bits restants com a adreça de difusió selectiva.

Adreça de difusió selectiva

L’adreça de difusió selectiva és una adreça exclusiva de xarxa que dirigeix els paquets amb aquesta adreça de destinació cap a grups predefinits d’adreces IP. Això és, una sola estació pot transmetre simultàniament un sol corrent de dades a múltiples receptors.

Figura Adreça de classe D

L’adreça de classe D no té cap octet dedicat a la xarxa ni cap altre dedicat a l’identificador d’ordinador perquè és una adreça de difusió selectiva. S’ha de tenir en compte que es pot diferenciar una adreça de classe D de les altres mitjançant els quatre primers bits, que sempre tindran el valor de 1110.

  • Adreça de classe E. Són adreces IP que s’han reservat per a futures utilitzacions. Normalment l’IETF (Internet Engineering Task Force, Comitè d’Experts en Enginyeria d’Internet) les utilitza per investigar i, per tant, cap adreça de classe E s’utilitza a Internet. A l’hora d’identificar-les, cal destacar que els cinc primers bits que pesen més tenen un valor fix, això és, 11110 (figura). Tenint en compte que aquests bits no poden variar les adreces IP de classe E, van de l’adreça 240.0.0.0 a l’adreça 247.255.255.255, i els 27 bits restants estan reservats.
Figura Adreça de classe E

Màscara

La màscara de xarxa permet determinar quins bits d’una adreça IP estan reservats a la xarxa i quins bits especifiquen la màquina, l’amfitrió. Amb això permet delimitar l’àmbit d’una xarxa de computadors.

Aquesta màscara permet identificar si un paquet, datagrama, pertany a una xarxa o no, observant l’adreça IP de destinació. En el cas concret dels encaminadors els serveix per identificar si ha d’enviar el paquet a fora o dins de la xarxa.

Una màscara s’escriu igual que una adreça IP, formada per 4 bytes, o sigui, 32 bits. Aquests bits tindran el valor 1 per indicar que és un bit de xarxa i 0 si són bits de host.

Per exemple, en una adreça de xarxa de classe C com 192.168.2.25 els tres primers bytes fan referència a la xarxa i el darrer fa referència al host; per tant, en aquest cas la màscara seria els primers 24 bits amb valor 1 i els darrers 8 amb valor 0. Aquesta màscara es pot representar de tres maneres:

  • Representació binària: la màscara és 11111111.11111111.11111111.00000000.
  • Representació decimal: en aquest cas la màscara és 255.255.255.0. Si la màscara és una sèrie d’uns seguits de zeros cada byte en decimal pot ser un valor del conjunt 0, 128, 192, 224, 240, 248, 252, 254 i 255.
  • Representació compacta: aquesta notació és escriure una barra ”/” seguida d’un nombre decimal; aquest nombre indica el nombre de bits que estan a 1 de la màscara. En el nostre cas la màscara és /24.

Per tant, una màscara es pot representar en binari, decimal o compacta.

Ja sabeu la utilitat de la màscara i com es representa, però un cop s’aconsegueix una adreça IP de destinació en un paquet i la màscara de l’encaminador, com s’ho fa aquest per saber si el paquet pertany a aquesta xarxa o a una xarxa externa? Per conèixer el funcionament de la màscara de xarxa, primer es necessita saber què és la funció AND lògica; vegeu la taula de veritat d’aquesta operació a la taula.

Taula: Taula de veritat de l’operació AND
A B Resultat
0 0 0
0 1 0
1 0 0
1 1 1

És a dir, tenint un 1 en totes dues entrades és l’única manera d’obtenir un 1 com a resultat; de fet, és el mateix resultat que multiplicar els operands. El que fa l’ordinador és fer una AND lògica entre la seva IP i la màscara de xarxa, i entre la IP destinació i la màscara de xarxa. Si el resultat és exactament igual, pertanyen a la mateixa xarxa, la comunicació es fa directament. Si el resultat és diferent, es farà a través d’un encaminador, ja que la destinació es troba en una xarxa distinta.

Per exemple, en el cas següent la IP de l’ordinador d’origen és 142.244.22.101, i per tant, IP de classe B; la màscara de xarxa és 255.255.0.0 i la destinació és 142.244.31.121 amb la màscara de xarxa 255.255.0.0. Per comprovar si la comunicació es pot fer directa o no, se simula el comportament de l’ordinador:

  • L’operació AND lògica entre la IP origen i la màscara de l’origen, primer representant en binari la màscara i la IP:
IP      -> 10001110.11110100.00010110.01100101
Màscara -> 11111111.11111111.00000000.00000000
Resultat-> 10001110.11110100.00000000.00000000 

En decimal 142.244.0.0; per tant, en aplicar la màscara resulta l’adreça de xarxa.

  • L’operació AND lògica entre la IP destinació i la màscara de la destinació, primer representant en binari la màscara i la IP:
IP      -> 10001110.11110100.00011111.01111001
Màscara -> 11111111.11111111.00000000.00000000
Resultat-> 10001110.11110100.00000000.00000000 

En decimal 142.244.0.0; per tant, en aplicar la màscara resulta l’adreça de xarxa.

  • Els resultats són iguals i, per tant, no cal passar per l’encaminador, ja que estan a la mateixa xarxa i la comunicació és directa.

Un altre exemple: la mateixa màquina d’origen però la destinació 142.24.31.121 amb la màscara de xarxa 255.255.0.0. Per comprovar si la comunicació es pot fer directa o no, se simula el comportament de l’ordinador:

  • El resultat d’abans de l’operació AND lògica entre la IP origen i la màscara de l’origen és 10001110.11110100.00000000.00000000, en decimal 142.244.0.0.
  • L’operació AND lògica entre la IP destinació i la màscara de la destinació, primer representant en binari la màscara i la IP
IP:       10001110.00011000.00011111.01111001
Màscara:  11111111.11111111.00000000.00000000
Resultat: 10001110.00011000.00000000.00000000 

En decimal 142.24.0.0.

  • Els resultats no són iguals i, per tant, cal passar per l’encaminador, ja que NO estan a la mateixa xarxa i la comunicació NO és directa.

Les màscares tenen una funció important a l’hora de crear subxarxes, quan ordinadors d’una mateixa xarxa s’han de separar lògicament en xarxes diferents.

Espai d'adreçament reservat

Del conjunt d’adreces IP se’n reserva una quantitat per a usos especials. Aquestes adreces IP amb finalitats especials són:

  • Quan la identitat de l’ordinador és 0, es fa referència a la xarxa a la qual està connectat. Tots els bits de l’adreça que s’usen per identificar l’ordinador tenen valor 0. Per exemple, la notació binària de l’adreça 11000000.10101000.00000000.00000000 equival a la notació decimal 192.168.0.0, això és, l’adreça de la xarxa on està l’ordinador. En el cas d’aquest l’exemple és una adreça IP de classe C, on els tres primers octants fan referència a la xarxa i el darrer a l’ordinador i la seva màscara de xarxa és 255.255.255.0.
  • Quan la identitat de l’ordinador són tot uns (1) es refereix a totes les màquines, és a dir, una adreça de difusió (broadcast). Per exemple, la notació binària de l’adreça 10101100.00010000.11111111.11111111 equivaldria a la notació decimal 172.16.255.255. En el cas d’aquest l’exemple és una adreça IP de classe B, on els dos primers octants fan referència a la xarxa i el darrer a l’ordinador i la seva màscara de xarxa és 255.255.0.0.
  • Quan tota l’adreça són 0 indica aquest, el propi, ordinador. Per exemple, la notació binària de l’adreça 0000000.00000000.00000000.00000000 equivaldria a la notació decimal 0.0.0.0.
  • Quan la identitat de la xarxa és 0 identifica el propi ordinador dins la xarxa on està connectat. Per exemple, la notació binària de l’adreça 00000000.00000000.00110110.11001010 equivaldria a la notació decimal 0.0.54.202.
  • Adreça de loopback és l’adreça del tipus 127.x.x.x (normalment, 127.0.0.1) i indica que el paquet no surt a la xarxa i retorna internament.

El loopback és un bucle que no surt de la màquina. Normalment, s’utilitza per comprovar les connexions de les màquines a les xarxes.

Adreces públiques i privades

Quan es parla d’adreces privades, es refereix a les adreces que, únicament, poden ser utilitzades dins d’una organització privada i tancada, això és, sense necessitat d’estar connectat amb la resta d’Internet, on es troben les adreces públiques.

Dins de l’entorn de les adreces privades, podem destacar tres blocs d’adreces:

  • 10.x.x.x blocs d’adreces de classe A.
  • De 172.16.0.0 a 172.31.255.255 16 blocs d’adreces de classe B.
  • 192.168.x.x 255 blocs d’adreces de classe C.

Ara bé, les adreces IP dels ordinadors presents dins la xarxa d’una empresa treballen en l’àmbit local sense haver de sortir a Internet. És a dir, en les xarxes locals de dues empreses diferents hi poden haver dos ordinadors amb la mateixa adreça IP, per exemple, l’adreça 192.168.0.144. És més, tal com es pot veure en l’exemple de la figura, aquest problema també queda resolt a l’hora de sortir a Internet, atès que cadascuna de les xarxes surt a Internet mitjançant un encaminador. Ja que tots els ordinadors surten a Internet utilitzant l’adreça IP pública assignada a l’encaminador (per exemple, l’adreça IP 86.121.34.5), que és l’única que veu directament Internet.

Figura Xarxes privades

Exemple de connexió de xarxes

A la figura es mostra un exemple d’interconnexió de 3 xarxes diferents, és a dir, aquestes estan connectades mitjançant dispositius encaminadors.

Figura Exemple de connexió de xarxes

Cada ordinador, màquina o dispositiu connectat a la xarxa té una adreça física, que està determinada pel seu adaptador a la xarxa, la targeta de xarxa. Aquesta adreça és la seva adreça MAC media acces control; per tant, aquestes adreces es corresponen amb la capa d’enllaç i s’utilitzen per comunicar dos ordinadors que formen part d’una mateixa xarxa. Per identificar aquesta mateixa màquina dins del conjunt de xarxes interconnectades per mitjà del protocol TCP/IP, aquests ordinadors necessiten l’ús d’adreces IP. Observant una adreça IP i la seva màscara es pot distingir la part de l’adreça que correspon a la xarxa i la part que correspon a l’ordinador, i amb la part de xarxa permetrà saber si dos ordinadors pertanyen a la mateixa xarxa.

A la taula es mostra la següent configuració d’adreces per als ordinadors:

Taula: Configuracions de xarxa dels ordinadors
Host MAC IP Màscara
Xarxa 1
A 00-07-EC-93-C4-23 192.125.0.8 255.255.255.0
B 00-02-17-5D-19-0C 192.125.0.120 255.255.255.0
Encaminador2 00-01-64-C7-6D-E2 192.125.0.1 255.255.255.0
Xarxa 2
C 00-60-47-E0-42-7A 11.7.3.2 255.0.0.0
D 00-01-C9-13-18-99 11.9.8.1 255.0.0.0
Encaminador2 00-02-4A-70-7E-0A 11.0.0.1 255.0.0.0
Encaminador1 00-D0-58-80-3B-01 11.255.255.254 255.0.0.0
Xarxa 3
E 00-0A-F3-D9-80-BE 220.17.3.2 255.255.255.0
F 00-01-63-2A-E2-BE 220.17.3.24 255.255.255.0
Encaminador1 00-D0-58-80-3B-02 200.17.0.1 255.255.255.0

Que uns ordinadors estiguin connectats dins d’un mateix cablatge no vol dir que estiguin en la mateixa xarxa, sinó que això últim depèn de les adreces IP que es configuren en cada ordinador. Perquè els ordinadors d’una xarxa es puguin comunicar amb els d’una altra xarxa és necessari que hi hagi encaminadors que interconnectin les xarxes. Un router o encaminador no és més que un dispositiu amb diverses targetes de xarxa, i per tant diverses adreces IP (una per a cada xarxa), que permeti el trànsit de paquets entre les seves xarxes.

La capa de xarxa s’encarrega de fragmentar cada missatge en paquets de dades anomenats datagrames IP i d’enviar-los de manera independent a través de la xarxa de xarxes. Cada datagrama IP inclou un camp amb l’adreça IP de destinació. Aquesta informació s’utilitza per encaminar els datagrames a través de les xarxes necessàries que els facin arribar fins a la seva destinació.

Se suposa que l’ordinador 11.9.8.1 (D) envia un missatge a l’ordinador 11.7.3.2 (C). Les dues adreces pertanyen a la mateixa xarxa; fixeu-vos que s’aplica la màscara a cada adreça IP, respectivament, i en aplicar l’AND lògica es veu que en tots dos casos resulta 11.0.0.0. Per tant, tots dos dispositius pertanyen a la xarxa 11.0.0.0 de classe A, i D sabrà que aquest ordinador es troba dins de la seva pròpia xarxa i el missatge es lliurarà de manera directa. No obstant això, si l’ordinador D s’hagués de comunicar amb 192.125.0.120 (B), advertiria que l’ordinador destinació no pertany a la seva pròpia xarxa; l’origen és la xarxa 11.0.0.0 i en el cas de la destinació 192.125.0.0, i enviaria el missatge per l’encaminador 2 (és el dispositiu que dóna sortida a altres xarxes). L’encaminador lliurarà el missatge de manera directa perquè B es troba dins d’una de les seves xarxes (la xarxa 1). Els ordinadors coneixen l’adreça de l’encaminador, ja que en la seva configuració IP s’especifica la porta d’enllaç, i aquesta correspon a l’adreça de l’encaminador que comunica amb altres xarxes, la porta cap a altres xarxes.

Esgotament de les adreces IPv4

Totes les adreces IP són vàlides per navegar per Internet (xarxa pública), però s’ha de tenir en compte que hi ha un grup d’adreces que tenen un valor especial perquè són adreces dedicades a usos especials o, dit amb altres paraules, són adreces reservades.

Les adreces IP de classe A, B, C, D i E utilitzen el protocol IPv4 (figura). Aquest protocol fa servir 32 bits per codificar cada adreça IP, cosa que significa que només hi pot haver uns quatre mil milions d’ordinadors connectats a Internet a tot el món suposant que s’empressin totes les adreces. Hi ha moltes adreces reservades i, per tant, a la pràctica aquesta quantitat es redueix exponencialment.

La realitat és que les adreces IP es van esgotant a mesura que el nombre de màquines connectades a Internet creix a un ritme exponencial: cada dia hi ha més gent que es vol connectar a Internet que abans no s’hi connectava. Això fa que les adreces IP actuals siguin insuficients per atendre totes les peticions.

Per solucionar aquest problema, apareix el protocol IPv6, que té l’avantatge que utilitza 128 bits per codificar les adreces IP. A diferència del protocol IPv4 -que escriu l’adreça en blocs de 8 bits separats per punts o en format decimal-, el protocol IPv6 l’escriu en blocs de 16 bits separats per dos punt o en format hexadecimal, com es mostra a la figura.

Adreça IPv4

L’adreça IPv4 descompon els 32 bits en blocs de vuit bits separats per punts i en format decimal.

Format decimal: 33.134.193.3

Format binari: 00100001.10000110.11000001.00000011

Figura Adreça IPv4

Adreça IPv6

L’adreça IPv6 descompon els 128 bits en grups de 16 bits separats per dos punts o en format hexadecimal.

Format hexadecimal: 3FFE:1900:6545:0003:0230:F804:7EBF:12C2

Format binari: 0011111111111110:0001100100000000:0110010101000101:0000000000000011:
:0000001000110000:1111100000000100:0111111010111111:0001001011000010

Figura Adreça IPv6

El protocol IPv6

La definició del protocol IPv6 es pot trobar en l’RFC 2460 (1998). La característica més destacada és l’augment de les adreces IP de a . Aquest increment d’adreces permet que qualsevol dispositiu pugui disposar d’una IP fixa pròpia, ja que cada persona del nostre planeta podria disposar de diversos milions d’adreces IPv6. L’espai d’adreces és tan gran que, per cada metre quadrat de la terra, hi pot haver adreces IPv6, aproximadament.

Adreces IPv6

Les adreces IPv6 s’assignen a interfícies, no a nodes. Un mateix node pot tenir interfícies diferents i, per tant, diverses adreces úniques vàlides per identificar el node. Fins i tot, un únic adaptador de xarxa podria tenir interfícies virtuals diferents i, cadascuna, una adreça única. Això, combinat amb la gran quantitat d’adreces possibles per a una adreça de 128 bits, permet simplificar l’encaminament. Com que es poden agrupar les adreces per jerarquies, proveïdors, proximitat, etc., les taules d’encaminament es poden simplificar per fer-les més petites i, per tant, més ràpides.

Adreça IPv6

Format hexadecimal: 3FFE:1900:6545:0003:0230:F804:7EBF:12C2

Format binari: 0011111111111110:0001100100000000:0110010101000101:0000000000000011:
:0000001000110000:1111100000000100:0111111010111111:0001001011000010

Les adreces en aquest protocol són llargues i normalment contenen seqüències llargues de zeros. Això permet realitzar simplificacions a l’hora d’escriure-les, es fa en les següents situacions quan hi ha una seqüència contínua de blocs de 16 bits amb 0 es comprimeix en ::. Per exemple, AA:FE80:0:0:0:BB:GE9A:C42A es comprimeix a AA:FE80::BB:GE9A:C42A.

Hi ha tres tipus principals d’adreces IPv6:

  • unicast: Distribució a una única destinació.
  • anycast: Distribució a un única destinació d’un conjunt de destinacions possibles. Una petició dirigida a una IP anycast s’encamina al node més proper dintre de tots els nodes rèplica que existeixin.
  • multicast: Distribució múltiple. Es lliura a totes les adreces dins d’aquest grup de multidistribució.
    El prefix que tindrà sempre és ff00::.

Les adreces especials són les següents:

  • L’adreça dels rangs privats en adreces IPv6 (enllaç local o link local) té el prefix fe80::.
  • L’adreça de retrobucle (loopback) que en la IPv4 era 127.0.0.1 passa a ser ::1.

Hi ha adreces reservades són les següents:

Teredo

És un sistema que permet la transició entre els protocols IPv4 i IPv6.

  • ::/128: aquesta adreça tot a zeros s’usa per indicar que l’ordinador o l’adaptador de xarxa no té cap adreça IP assignada.
  • ::1/128: és l’adreça de l’equip, l’adreça de l’equip local, l’adreça loopback. És l’equivalent de l’adreça IPv4 127.0.0.1.
  • ::ffff:0:0/96: s’utilitza per encapsular les adreces IPv6 dins les adreces IPv4.
  • ::2001::/32: s’utilitza per a l’algoritme de túnel de Teredo.
  • ::2001:db8::/32: s’usen quan s’escriuen exemples en documentacions o especificacions tècniques.
  • ::2002::/16: s’usen per a l’algoritme de túnel de 6to4.
  • ::fe80::/10: s’usen quan el dispositiu no pot rebre l’assignació dinàmica d’una IP. Equivalent a les adreces 169.254.0.0/16 del protocol IPv4.
  • ::fec0::/10: és el rang d’adreces que s’usa per a xarxes privades. Equivalen en el protocol IPv4 a les 10.0.0.0/8, 172.16.0.0/16 i 192.168.0.0/24.
  • ff00::/8: és el rang d’adreces que s’usen per a difusió (multicast) per enviar dades a diferents ordinadors.

Característiques de la nova versió

A part de l’augment d’adreces IP, també s’han introduït altres millores al protocol, podem destacar les següents:

  • Autoconfiguració amb ICMPv6.
  • Jumboframes.
  • Desaparició de la difusió.

Autoconfiguració amb ICMPv6

Mitjançant el protocol de xarxa ICMPv6 (RFC 2461), es pot enviar un paquet a l’adreça d’enllaç de fusió anomenat sol·licitud d’encaminador (router solicitation) per demanar els paràmetres de configuració. En cas que l’encaminador estigui configurat per respondre aquests paquets, enviarà una resposta anomenada anunci d’encaminador (router advertisement) amb els paràmetres de configuració de la capa de xarxa.

Per obtenir altres paràmetres addicionals es pot fer servir el protocol DHCPv6.

Jumboframes

En la versió 4 del protocol IP, un paquet podia contenir fins a octets de càrrega, mentre que la IPv6, mitjançant una extensió del protocol, permet enviar fins a octets. Els paquets IPv6 que passen de 65.535 octets de càrrega s’anomenen jumbogrames.

Evidentment, per poder enviar aquests paquets tan grans la capa d’enllaç ha de permetre-ho. Per tant, la capacitat d’enviar paquets grans queda relegada a la capacitat de la xarxa.

Desaparició de la difusió

En la IPv6, l’adreça més alta d’una xarxa no té cap significat especial, desapareix l’adreça de difusió i se substitueix per adreces de multidifusió. Per tant, ja no és possible enviar un paquet a tots els equips connectats a una xarxa.

Es pot obtenir la mateixa funcionalitat que l’adreça de difusió de la IPv4 mitjançant un grup de multidifusió que contingui tots els equips de la xarxa.

Estructura de la IPv6

L’estructura de la IPv6 s’ha pensat per ser més flexible que la definida per la IPv4. Inclou una capçalera obligatòria amb les dades bàsiques de 40 octets i, a continuació, pot tenir diverses capçaleres d’expansió. Aquesta capçalera inicial s’anomena de la IPv6, per simplificar-ho. S’han definit les capçaleres d’extensió següents:

  • Capçalera d’opcions salt-a-salt: conté opcions especials que cada salt ha d’examinar.
  • Capçalera d’encaminament: conté informació per dirigir el paquet per un node intermedi, o més, abans d’arribar a la destinació.
  • Capçalera de fragmentació: conté informació sobre la fragmentació.
  • Capçalera d’autenticació: d’IPSec, s’integra a IPv6 i proporciona integritat i autenticació al paquet.
  • Capçalera d’encapsulament de la càrrega de seguretat: d’IPSec, s’integra a IPv6 i proporciona seguretat a les dades enviades.
  • Capçalera d’opcions per a la destinació: conté informació addicional perquè sigui examinada a la destinació.

L’estàndard IPv6 recomana un cert ordre en cas que es faci servir més d’una capçalera i prescriu que la IPv6 sempre ha d’anar primer:

  1. Capçalera IPv6.
  2. Capçalera d’opcions salt-a-salt.
  3. Capçalera d’opcions per a la destinació: opcions que s’han de processar en la primera destinació que apareix en el camp d’adreces IPv6 i les destinacions següents indicades en la capçalera d’encaminament.
  4. Capçalera d’encaminament.
  5. Capçalera de fragmentació.
  6. Capçalera d’autenticació.
  7. Capçalera de d’encapsulament de la càrrega de seguretat.
  8. Capçalera d’opcions per a la destinació: opcions que només ha de processar la destinació final del paquet.

Capçalera IPv6

La capçalera IPv6 té una longitud fixa de 40 octets, xifra que contrasta amb la capçalera IPv4, que només és de 20 octets. Els camps d’aquesta capçalera són: un total de 40 octets respecte als 20 octets de la capçalera IPv4.

  • Versió (4 bits): el valor d’aquest camp sempre ha de ser 6.
  • Classe de trànsit(8 bits): camp que es fa servir per classificar el trànsit. Els 6 primers bits serveixen per classificar el trànsit i els 2 restants per a la prioritat.
  • Etiqueta de flux (20 bits): camp creat per donar un tracte especial a les aplicacions de temps real.
  • Longitud de la càrrega (16 bits): indica la longitud de la resta del paquet IPv6 en octets, excloent-ne la capçalera.
  • Capçalera següent (8 bits): indica el tipus de la capçalera següent.
  • Límit de salts (8 bits): s’ha canviat el nom al TTL, ja que els encaminadors no solen calcular el temps que tarda un paquet a transmetre’s, sinó el nombre de salts que fa.
  • Adreça d’origen (128 bits): adreça de l’equip que origina el paquet.
  • Adreça de destinació (128 bits): adreça de l’equip al qual va destinat el paquet.

La capçalera IPv6, tot i que és més gran, disposa de menys caps que la capçalera IPv4 i no té una suma de verificació (checksum). Això està fet així perquè, si un encaminador ha de modificar la capçalera (per exemple per canviar el valor del camp de límit de salts, és a dir, l’antic TTL), no hagi de recalcular la suma de verificació i, per tant, s’agilitzi l’encaminament.

Capçalera d’opcions salt-a-salt

La capçalera d’opcions salt-a-salt, si hi és present, porta informació addicional que cal que sigui examinada per tots els dispositius d’encaminament al llarg del camí. Els camps d’aquesta capçalera són:

  • Capçalera següent (8 bits): indica el tipus de la capçalera següent.
  • Longitud de la capçalera sense incloure els primers 64 bits (8 bits): indica la mida d’aquesta capçalera, ja que és de longitud variable, en unitats de 64 bits, sense incloure-hi els primers 64 bits.
  • Opcions: camp de longitud variable amb les definicions de les opcions. Cada definició d’opció consta de tres camps:
    • Tipus d’opció (8 bits) per identificar l’opció.
    • Longitud de l’opció (8 bits) en octets.
    • Dades de l’opció.

Capçalera d’opcions per a la destinació

La capçalera d’opcions per a la destinació és igual que la d’opcions salt-a-salt, però només l’ha d’examinar el node de destinació del paquet. Els camps són els mateixos:

  • Capçalera següent (8 bits): indica el tipus de la capçalera següent.
  • Longitud de la capçalera sense incloure-hi els primers 64 bits (8 bits).
  • Opcions: camp de longitud variable amb les definicions de les opcions.

Capçalera d’encaminament

La capçalera d’encaminament conté una llista d’un o més nodes intermedis per on es vol dirigir el paquet a la destinació. Aquesta capçalera comença amb 4 camps de 8 bits, seguits de les dades específiques del tipus d’encaminament. Els camps són:

  • Capçalera següent (8 bits): indica el tipus de la capçalera que ve a continuació.
  • Longitud de la capçalera d’extensió sense incloure-hi els primers 64 bits (8 bits).
  • Tipus d’encaminament (8 bits): identifica el tipus particular de capçalera. Pot ser 0, 1 i 2:
    • El tipus 0 és susceptible d’atac de denegació de servei; per tant, es considera obsolet.
    • El tipus 1 es fa servir per a un projecte de l’agència americana DARPA.
    • El tipus 2 és una versió restringida del tipus 0.
  • Segments que queden (8 bits) abans d’acabar aquesta capçalera.
  • Dades del tipus d’encaminament: pot tenir una longitud variable.

Capçalera de fragmentació

En el cas de la IPv6, només pot fragmentar el node d’origen, mentre que en el cas de la IPv4 se n’encarreguen els dispositius encaminadors. Per enviar el paquet de la mida adequada, el node que origina el paquet ha de descobrir la MTU de totes les xarxes de la ruta fins a la destinació per fragmentar les dades com calgui. Si no s’executa l’algorisme per descobrir la MTU de la ruta, el node originant haurà de limitar la mida dels paquets a 1.280 octets. Aquesta és la mida mínima de MTU que ha de permetre la xarxa perquè hi puguin circular paquets IPv6.

Els camps d’aquesta capçalera són els següents:

  • Capçalera següent (8 bits): indica el tipus de la capçalera que ve a continuació.
  • Reservat (8 bits): octets reservats que s’han d’inicialitzar a zero.
  • Desplaçament del fragment (13 bits): offset del fragment respecte al paquet original en unitats de 64 bits.
  • Reservat (2 bits): octets reservats que s’han d’inicialitzar a zero.
  • Indicador de més fragments (1 bits): indica que hi ha més fragments (bit a 1), o bé, si és l’últim fragment (bit a 0). És semblant al camp MF de la IPv4.
  • Identificació (32 bits): es fa servir per identificar d’una manera única el paquet original del fragment.

Transició envers IPv6

Ús d'IPv6

El portal Google fa un estudi sobre l’ús del protocol a Internet, i en concret comptabilitza quin percentatge de les peticions que rep són en aquest protocol. Actualment aquest percentatge és del 0,34% (consulta: setembre de 2011).

Aquest protocol existeix des de l’any 1996 però actualment encara es fa ús majoritari del protocol IPv4, tot i que la majoria dels sistemes operatius ja el tenen implementat. Per què succeeix aquesta situació? Bàsicament el motiu ha estat l’ús de protocols com CIDR (classless inter-domain routing, encaminament interdominis sense classes) o NAT (network address translation, traducció d’adreces de xarxa), que han permès aprofitar eficaçment les adreces del protocol IPv4.

Mentrestant, s’han definit una sèrie de mecanismes que permeten fer la transició de l’IPv4 envers l’IPv6; aquest són:

  1. Doble pila: aquest mecanisme estableix que cada equip pot treballar a la vegada amb els dos protocols; aquests treballen independentment però això provoca una doble feina: dues adreces IP, dues taules d’encaminament i dues taules ARP, a part de tenir els dos processos dels protocols executant-se. És efectiu, ja que funciona fiablement amb els dos protocols, però sobrecarrega l’ordinador per aquesta doble feina. El sistema operatiu pot prioritzar un dels dos protocols sobre l’altre, normalment l’IPv6, però no per aquest motiu és més efectiu.
  2. Traducció: consisteix a traduir totes les adreces del protocol IPv4 a adreces del protocol IPv6. Aquesta conversió es fa amb el format ::ffff:xx.xx.xx.xx, en què les xx corresponen a l’adreça IPv4. D’aquesta manera es treballa sempre amb el protocol IPv6.
  3. Túnel: es basa a utilitzar el protocol IPv4 i transportar missatges IPv6 dins de la part de dades del paquet. Això es coneix com a IP over IP (IP sobre IP) i consisteix que el paquet IPv6 va encapsulat dins d’un paquet IPv4. Aquesta tècnica funciona molt bé quan a la xarxa a la qual pertany el dispositiu encaminador només funciona amb IPv4, i aleshores els missatges IPv6 es posen en el camp de dades del missatge IPv4. Aquest procés està suportat pels diferents sistemes operatius, i es pot parlar de túnels automàtics; les implementacions més habituals són el 6to4 i Teredo.

El sistema 6to4 permet que els paquets IPv6 es transmetin a través d’una xarxa IPv4 sense la necessitat de configurar túnels explícits. És un mecanisme de transició, d’ús individual (per un sol ordinador) o per una xarxa local. Quan és usat de manera individual, l’ordinador és responsable de l’encapsulació dels paquets al sortir cap a IPv6 i desencapsular els paquets entrant a IPv4. També es pot trobar implementat en un encaminador, en el cas de ser utilitzat per una xarxa.

Teredo és també un altre sistema de túnel que permet la transició entre els protocols però, en comparació d’altres protocols similars, la seva característica distintiva és que és capaç de fer la seva funció fins i tot des de darrere de la traducció d’adreces de xarxa (NAT) en dispositius com encaminadors domèstics.

El Teredo funciona encapsulant els paquets IPv6 en datagrames IPv4, aleshores aquests datagrames es poden adreçar per les xarxes mitjançant el protocol IPv4 i els dispositius NAT. També és un sistema, es tracta per tant d’una mesura temporal.

ICMP

Si un encaminador no pot enviar un paquet per alguna raó, per exemple perquè no coneix l’adreça de destí o el paquet té una mida superior al que pot acollir la xarxa, aleshores ha d’enviar un missatge d’error a l’origen informant del problema.

L’ICMP (Internet Control Message Protocol protocol de missatges de control d’Internet) és el protocol que gestiona els missatges d’error i de control que s’han produït en la comunicació de paquets IP.

És molt important aquest protocol doncs el protocol IP no és cent per cent segur. Encara que els missatges ICMP s’encapsulen en paquets IP, es considera que aquest protocol està a la mateixa capa que l’IP.

Missatge ICMP

ICMP (Internet Control Message Protocol, Protocol de Missatges de Control d’Interxarxa) és un protocol que usa el protocol IP per encapsular els seus missatges de control o error. A la figura es mostra el format que tindran aquests missatges, que estan ubicats en el camp dades del paquet IP.

Figura Format missatge ICMP

Per tant el missatge ICMP està format pels següents camps:

  • Tipus. És el primer byte que indica quin tipus de missatge es tracta. Per exemple en el cas que el missatge sigui degut a host inabastable aquest camp val 3.
  • Codi. És el segon byte del missatge. Aquest camp codi permet precisar el tipus de missatge. Per exemple en el cas de tipus 3 precisa per quina situació el host és inabastable, per exemple el codi val 1 indica que aquest host concret no existeix.
  • Checksum. És el tercer i quart byte del missatge. Es tracta d’un camp de comprovació calculat per la capçalera del missatge ICMP excloent la capçalera IP.
  • No usat. No es fa servir, per a futures aplicacions per futurs dissenys del protocol. Actualment són 4 bytes amb valor 0.
  • Capçalera Internet + 64 bits de dades originals de paquet. Aquest camp permet identificar de manera única a quin paquet IP fa referència el missatge ICMP. Un paquet ICMP pot ser una resposta a un paquet IP que ha generat algun tipus d’error. Si arribessin paquets ICMP sense més no es podria saber quin paquet IP ha generat aquest error.

Tipus de missatges

El format d’un missatge ICMP comença amb un camp tipus per identificar el missatge. Alguns dels tipus de missatges són:

  1. Echo request (sol·licitud d’eco). És un tipus de missatge de control, s’usa perquè la màquina destinació torni el mateix missatge que se li ha enviat.
  2. Echo reply (respostes d’eco). Tipus de missatge de control, que és la resposta a una petició d’eco.
  3. Destination unreachable (destinació inabastable). Quan no es pot lliurar un paquet a la destinació per motius diversos; per exemple: un encaminador es troba amb un paquet que té el bit DF (Don’Fragment, no fragmentació) a 1 i no es pot allotjar a la xarxa física per on l’ha d’enviar, ja que és més gran que la seva MTU, i s’envia un missatge d’aquest tipus.
  4. Source quench (alentiment de l’origen). Missatge que demana que l’origen disminueixi la velocitat dels missatges enviats a un encaminador o ordinador. Aquest missatge es pot generar si un encaminador o ordinador no té prou espai de memòria per processar la sol·licitud, o pot passar si la memòria intermèdia de l’encaminador o ordinador s’està acostant al seu límit.
  5. Redirect message (redirecció). L’usen els encaminadors, indiquen a l’ordinador d’origen que hi ha rutes millors que les que usa. Per exemple, si un ordinador intenta enviar dades a través d’un encaminador (R1) i aquest envia les dades a un altre encaminador (R2) i hi ha una ruta directa des de l’ordinador fins a R2 disponible (és a dir, l’amfitrió i R2 estan en el mateix segment de xarxa), R1 enviarà un missatge de redirecció per informar a la seu que la millor ruta cap a la destinació és a través d’R2. Llavors l’amfitrió ha d’enviar els paquets per a la destinació directament a R2.
  6. Time exceeded (temps de vida excedit). Quan un encaminador es troba un paquet IP amb el camp TTL=0, temps de vida 0 o que ja no es poden fer més salts, aquest dispositiu genera un missatge ICMP de temps excedit, en què indica que aquest paquet IP ha arribat al seu màxim de temps de vida sense aconseguir arribar a la destinació.

Aplicacions sobre ICMP

Normalment aquest protocol no l’usen directament les aplicacions, exceptuant l’aplicació ping i traceroute.

L’aplicació ping utilitza els missatges de petició d’eco i resposta d’eco, i aquest permet saber si l’adreça destinació està activa. També s’utilitza a vegades per determinar el temps d’anada i tornada entre dos ordinadors, o els dispositius, que s’estan comunicant.

L’aplicació traceroute usa el missatge de temps excedit; quan un paquet arriba a un dispositiu d’encaminament amb un valor TTL=0 o 1 abans que assoleixi la destinació, el dispositiu d’encaminament corresponent enviarà un missatge ICMP del tipus temps excedit de tornada a l’origen. El missatge de temps excedit també conté l’adreça IP del dispositiu d’encaminament que emet el missatge. D’aquesta manera enviant missatges a la destinació amb el camp TTL incrementat en 1 per missatge, una computadora origen sabrà esbrinar la seqüència de dispositius d’encaminament a la destinació. Així anirà fent el camí fins a la destinació de manera incremental, i cada petició arriba a un encaminador més a prop de la destinació. Per tant, aquesta aplicació permet conèixer tots els dispositius d’encaminament que hi ha en la comunicació entre origen i destinació; això és el que mostra l’aplicació traceroute. Per tant, s’usa per conèixer tot el camí que segueix un paquet IP des de l’origen fins a la destinació.

ARP

Amb la finalitat que dos dispositius es comuniquin, el dispositiu emissor necessita conèixer les adreces IP i MAC del dispositiu de destinació. De fet, quan un dispositiu prova de comunicar-se amb un altre dispositiu del qual ja coneix les adreces IP, ha d’esbrinar quines són les seves adreces MAC.

El protocol TCP/IP proporciona una eina anomenada Protocol de Resolució d’Adreces (ARP, address resolution protocol) que permet obtenir automàticament l’adreça MAC.

És a dir, l’ARP permet que un ordinador d’origen pugui aconseguir l’adreça MAC d’un altre ordinador mitjançant l’adreça IP que l’identifica.

En el cas d’usar línies de punt a punt en una xarxa, la interfície física fixa el node següent al qual es dirigeix el paquet, ja que per a cada enllaç hi ha una única destinació possible.

Però en el cas d’usar xarxes multiaccés (per exemple, una LAN qualsevol) la tecnologia usada per enviar paquets permet arribar a la mateixa interfície física a més d’un destinatari. Aleshores hi ha d’haver algun mecanisme que permeti conèixer a quina de totes les destinacions possibles es dirigeixen els paquets. Aquestes xarxes multiaccés disposen d’un sistema d’adreçament propi, que en el cas d’una LAN són les adreces MAC dels dispositius connectats. Per tant, d’això ve la importància de conèixer les adreces MAC. El nivell de xarxa és l’encarregat de fer la correspondència entre l’adreça en la tecnologia multiaccés corresponent, i l’adreça de xarxa. Aquesta correspondència es coneix com a resolució d’adreces.

El protocol utilitza un missatge de difusió per llançar a la xarxa una pregunta demanant resposta del node a la xarxa multiaccés que té l’adreça de xarxa buscada. Aquesta tècnica dóna màxima flexibilitat, ja que els equips no necessiten registrar-se i no hi ha un servidor centralitzat del qual depengui el funcionament de la xarxa. No obstant això, només és factible en xarxes de naturalesa de difusió, com les xarxes locals. El principal inconvenient d’aquesta solució és l’ús de paquets de difusió, que produeix una degradació del rendiment de tota la xarxa. Aquesta tècnica és la utilitzada en IP sobre xarxes locals de tot tipus.

Cada ordinador de la xarxa local manté en memòria una taula anomenada ARP cache amb les parelles d’adreces MAC-IP utilitzades recentment. Per tant, si tornéssiu a intentar comunicar-vos amb una mateixa adreça no tindríeu la necessitat d’enviar un altre paquet ARP de difusió.

Generalment quan un ordinador envia un missatge ARP buscant-ne un altre, tots els ordinadors de la xarxa, no solament el destinatari del missatge, aprofiten per desar l’adreça de l’emissor, i l’anoten en la seva memòria cau ARP. D’aquesta manera, si més tard necessiten contactar amb aquest ordinador ho podran fer directament, sense necessitat d’enviar un missatge ARP de difusió.

Gratuitous ARP

En la fase d’inicialització d’un ordinador, o quan es canvia l’adreça IP d’una interfície, s’ha de comprovar si aquesta adreça ja està ocupada. Els sistemes operatius, per fer aquesta comprovació, utilitzen el que s’anomena gratuitous ARP, que consisteix a enviar una petició ARP a la IP que s’intenta ocupar. Si no es rep resposta vol dir que la IP no s’utilitza i es pot assignar a la interfície.

Exemple ARP

Vegeu un exemple de com funciona el protocol ARP, mitjançant el seguiment de l’execució de l’aplicació ping des d’un ordinador a un altre dins la mateixa xarxa.

Es dóna el cas que el vostre ordinador està connectat a una xarxa local, amb l’adreça IP 192.168.0.12 i la màscara de xarxa 255.255.0.0. Des d’aquest ordinador es fa un ping a l’ordinador 192.168.0.23 i aquesta execució provoca la comprovació que les dues adreces estan a la mateixa xarxa.

Aleshores genera un missatge ARP amb la pregunta de qui té l’adreça 192.168.0.23. I l’envia en un paquet que té com a adreça MAC de destinació l’adreça de difusió (tots els bits a 1); la trama és rebuda i processada per totes les màquines de la xarxa que en aquest moment estiguin actives, i és retransmesa a través dels commutadors o ponts transparents locals o remots que hi hagi.

Finalment un ordinador (i només un) es reconeix propietari de l’adreça IP sol·licitada i respon al missatge. La resposta pot ser, i normalment serà, una trama unidestinació. Llavors l’ordinador de destinació ja coneix l’adreça MAC de l’ordinador que va llançar la pregunta. La resposta inclou l’adreça MAC sol·licitada, per la qual cosa a partir d’aquest moment tots dos ordinadors es poden comunicar mitjançant trames unidestinació, de manera que la generació de trànsit de difusió queda estrictament limitada al primer missatge enviat.

Com que cada ordinador desa una taula ARP, si tornéssiu a intentar comunicar-vos amb l’ordinador 192.168.0.23 no tindríeu la necessitat d’enviar un altre paquet ARP de difusió, perquè ja coneixeu l’adreça MAC.

L'ordre arp

El sistema operatiu té una ordre anomenada arp que permet treballar amb la taula ARP. Vegem els usos d’aquesta ordre:

1. arp -a

Ens permet consultar la taula cau.

usuari@laptop:~$ arp -a
? (192.168.0.1) at 00:23:be:fc:f3:ca [ether] on wlan0
Macintosh.local (192.168.0.12) at 00:11:24:a4:03:bf [ether] on wlan0

2. arp -s

Ens permet afegir una entrada a la taula arp.

usuari@laptop:~$ arp -s 192.168.0.12 00:11:24:a4:03:bf

3. arp -d

Ens permet eliminar una entrada a la taula ARP.

usuari@laptop:~$ arp -d 192.168.0.12 

RARP

Hi ha situacions en les que existeix el problema invers al ARP, és a dir, trobar una adreça IP per a una adreça MAC. Aquests casos succeeixen quan un ordinador a l’iniciar-se necessita comunicar-se per xarxa amb algun servidor (per exemple per carregar el sistema operatiu, per instal·lar una imatge de sistema operatiu en el propi ordinador). Per dur a terme aquesta comunicació l’ordinador haurà de disposar d’una adreça IP però inicialment ell no la té configurada, ja que només coneix la seva adreça MAC. I és per això que sorgeix la necessitat d’un protocol que faci la inversa de l’ARP.

El protocol RARP serveix perquè les màquines que no tenen una adreça IP la puguin obtenir.

Aquest protocol funciona de la següent manera. Inicialment totes les màquines ignoraran el paquet excepte la màquina que s’ha connectat, que entendrà que el missatge és per a ella i se’l quedarà. En el moment en què la nova màquina accepti el paquet enviat pel servidor RARP, l’examinarà i n’extraurà l’adreça IP. En aquest moment, la nova màquina ja tindrà la seva pròpia adreça IP i, per tant, ja podrà començar a transmetre dades (figura).

Figura Servidor i missatges RARP

Cal destacar que el missatge RARP que envia l’ordinador que s’acaba de connectar el rebran totes les màquines, atès que no sap quin és el servidor RARP. Per tant, totes les màquines examinaran el missatge rebut, i en veure que es tracta d’una petició d’adreça IP, per tant, un paquet que no és per a ells, l’ignoraran. Solament el servidor RARP entendrà que el paquet està adreçat a ell.

Un cop rebut el missatge RARP, el servidor enviarà un paquet en modalitat de multidifusió (broadcast) amb la informació necessària perquè la nova màquina pugui fer la transmissió corresponent. En aquest cas, el paquet arribarà novament a totes les màquines. Les màquines examinaran el paquet rebut, comprovaran que no és per a elles i l’ignoraran.

Totes les màquines ignoraran el paquet enviat excepte la màquina que s’ha connectat, que entendrà que el missatge és per a ella i se’l quedarà. En el moment en què la nova màquina accepti el paquet enviat pel servidor RARP, l’examinarà i n’extraurà l’adreça IP. En aquest moment, la nova màquina ja tindrà la seva pròpia adreça IP i, per tant, ja podrà començar a transmetre dades (figura).

Figura Obtenció d’adreça IP

De vegades es planteja el problema invers a ARP, és a dir trobar l’adreça IP a partir d’una determinada direcció LAN. Per exemple quan s’arrenca una estació de treball diskless, és a dir sense disc, aquesta ha de carregar el seu sistema operatiu des d’un altre ordinador normalment situat a la mateixa xarxa local, però desconeix tot el relatiu a la seva configuració de xarxa, inclosa l’adreça IP; l’únic que l’estació coneix en principi és la seva adreça MAC, que es troba escrita a la targeta de xarxa local.

Per aquestes situacions es va inventar RARP (Reverse Address Resolution Protocol, Protocol invers de resolució d’adreces), que funciona de la següent manera: l’estació diskless envia un missatge broadcast en el qual indica la seva adreça MAC i demana que algú l’informi de quina és l’adreça IP que li correspon. A la xarxa hi haurà un servidor RARP encarregat d’atendre aquest tipus de peticions que consultarà les seves taules i retornarà l’adreça IP corresponent.

RARP utilitza el mateix format de missatge que ARP. L’única diferència és que fa servir els codis d’operació 3 i 4 per a la pregunta i resposta RARP, respectivament.

Assignació dinàmica

Dins d’una xarxa hi ha un ventall d’adreces que ja estan assignades. La resta s’han d’assignar, per exemple, als ordinadors nous que s’hi connectin. Amb tot, depenent de la grandària de la xarxa, el nombre d’adreces disponibles pot ser limitat. És per això que es va trobar el mètode d’assignació dinàmica d’adreces IP, perquè es connectin intermitentment a la xarxa, no usin permanentment les adreces ja que si no s’esgotarien.

Aquest servei d’atorgament d’aquelles adreces IP que, en el moment de la connexió, estiguin lliures permet evitar la feina de configuració per part de l’administrador de la xarxa.

Per a l’assignació dinàmica de les adreces IP es van crear serveis com el DHCP (Dynamic Host Configuration Protocol,`protocol de configuració dinàmica de l’ordinador) o el BOOTP(Bootstrap Protocol, protocol d’arrancada).

BOOTP

Hi ha ocasions en què hi ha ordinadors que no tenen sistema operatiu, normalment es tracta d’estacions de treball sense disc dur, i per poder treballar-hi es necessita carregar el sistema operatiu de manera remota, és a dir per xarxa. Per poder treballar en la xarxa exitosament l’ordinador necessitarà una configuració del protocol IP. El BOOTP permet a l’ordinador aconseguir aquesta configuració de manera dinàmica i per xarxa, pas previ a poder carregar el sistema operatiu a l’ordinador.

BOOTP (bootstrap protocol, protocol d’arrancada) é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: l’adreça IP que li assigna al host, la màscara de xarxa, l’adreça IP i 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).

En detall la seqüència de missatges intercanviats és:

  1. El client fa una petició BOOTP: el client envia un missatge BOOTREQUEST a tota la xarxa, i per tant l’adreça destinació és 255.255.255.255.
  2. El servidor respon: el servidor respon amb un missatge BOOTREPLY en el qual afegeix l’adreça IP que correspon al client. El servidor troba l’adreça consultant la taula de correspondències IP amb MAC; la MAC del client l’ha rebuda amb el missatge de BOOTREQUEST.
  3. El client rep la IP: en la trama rebuda des del servidor el client aconsegueix la seva adreça IP, la grava i comença el procediment de carregar o instal·lar un sistema operatiu mitjançant la xarxa.

Hi ha diverses aplicacions de BOOTP en el món real, com per exemple:

  1. Estacions de treball, que treballen en entorn UNIX, sense disc dur, que en iniciar-se carreguen el sistema operatiu mitjançant la xarxa.
  2. Tendes d’informàtica que venen ordinadors amb el sistema operatiu preinstal·lat, i per fer l’operació d’instal·lació en els nous ordinadors més ràpida i eficient ho fan per xarxa, i per tant usen BOOTP.

Aquest protocol, però, té alguns punts febles, i el més important és el poc suport per a l’assignació dinàmica d’una adreça IP, ja que per a cada ordinador al qual es vol assignar una IP s’ha de crear una entrada, un perfil, a la taula de correspondència d’adreces IP i MAC. Aquesta taula és de gestió manual: cada cop que s’afegeix un ordinador a la xarxa se n’ha d’afegir la informació en el servidor de BOOTP. Aquesta debilitat la resol el protocol DHCP, limitant la mobilitat dels ordinadors; per exemple, l’aparició de les xarxes Wi-Fi provoca que un ordinador pugui formar part de diferents xarxes, i per obtenir l’adreça IP hauria de ser donat d’alta al servidor BOOTP de cada xarxa.

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 a 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 informació addicional, com ara l’adreça IP del servidor o la de l’encaminador.

DHCP

Davant la limitació del nombre d’adreces presents dins una xarxa, i el creixement exponencial que aquesta presenta, es va optar per estalviar adreces en ordinadors que es connecten intermitentment. Per fer-ho, es va crear un servei que proporcionés adreces IP que, en el moment de la connexió, estiguessin lliures.

Per tant, el servei DHCP es fonamenta en el servidor DHCP que dóna adreces (a partir d’un interval d’adreces que té) als ordinadors que es connecten a la xarxa.

Tant el protocol RARP com BOOTP requereixen una assignació estàtica entre adreces MAC i adreces IP; calen tantes adreces IP com ordinadors hagin d’utilitzar el protocol TCP/IP. Hi ha situacions en les quals això no és convenient, com per exemple:

  • Un institut amb 400 ordinadors que es volen connectar a Internet, de manera que qualsevol pugui sortir a l’exterior; per a això disposa d’una xarxa de classe C, i es calcula que mai no hi haurà més de 100 ordinadors simultàniament connectats a Internet, i en principi una xarxa classe C seria suficient, però la necessitat d’assignar una adreça IP a cada ordinador requereix disposar de 500 adreces IP si es vol oferir connectivitat a tots.
  • En un aeroport es disposa de connexió a Internet per als ordinadors portàtils dels viatgers. No es coneixen les adreces MAC dels ordinadors que s’utilitzaran ni quants seran.

Evidentment, en aquestes situacions és necessari un mecanisme més flexible d’assignació d’adreces IP que l’ofert per BOOTP.

Per resoldre aquests problemes es va dissenyar el 1993 el protocol DHCP (dynamic host configuration protocol, protocol de configuració dinàmica del dispositiu), similar a BOOTP però més versàtil en els mecanismes d’assignació d’adreces IP. En DHCP els clients poden rebre les seves adreces per un dels tres mecanismes següents:

  1. Assignació indefinida i estàtica. En aquest cas l’adreça és fixada per l’administrador. Aquest equival a BOOTP.
  2. Assignació automàtica. L’assignació és també estàtica però l’elecció de l’adreça IP corresponent és presa pel servidor DHCP la primera vegada que l’equip li demana l’adreça.
  3. Assignació dinàmica. En aquest cas el client rep l’adreça IP del servidor durant un temps limitat. Passat aquest temps el client ha de renovar la sol·licitud o en cas contrari la concessió expirarà. D’aquesta manera una mateixa adreça pot ser reutilitzada per diferents màquines en moments diferents. Aquesta modalitat és també coneguda com a lloguer d’adreces.

Els dos primers modes de funcionament se solen utilitzar quan es vol tenir un control més fi de la xarxa (per exemple, quan es treballa amb tallafocs).

La gran flexibilitat de DHCP l’ha convertit en el protocol preferit per a la configuració remota d’ordinadors en xarxes locals. Amb DHCP es millora notablement la seguretat i fiabilitat d’una xarxa, i també se simplifiquen les tasques d’administració.

Un inconvenient de l’assignació dinàmica d’adreces és que si es vol rastrejar un problema i, com és el normal, només es disposa de l’adreça IP, resulta més difícil (a vegades impossible) esbrinar quin ordinador o usuari ha estat el causant del problema. Un altre problema és l’associació d’adreces i noms en el DNS, ja que amb l’assignació dinàmica diferents màquines poden rebre el mateix nom en diferents moments. Es podria dir que el DHCP és una autoconfiguració del protocol IP.

Etapes de DHCP

El funcionament del protocol DHCP es pot dividir en diferents etapes (les podeu observar en la figura) que tenen objectius diferents, on s’intercanvien missatges que tenen diferents orígens i destins, depenent si l’envia el client o el servidor. Vegeu el detall d’aquestes diferents etapes:

  1. Etapa de descobriment: quan un ordinador no té una adreça IP determinada envia un missatge anomenat DHCPDISCOVER. Aquest missatge és enviat per la capa física de la xarxa a tota la xarxa amb un missatge de difusió (adreça de destinació 255.255.255.255). Aquest missatge pot incloure alguns paràmetres, com adreces IP suggerides i temps de duració de la darrera adreça IP obtinguda.
  2. Etapa d’oferiment: el missatge arriba a un servidor DHCP (les altres màquines, que no disposen del servei DHCP, ignoren aquest missatge). El servidor respon de la mateixa manera, enviant un missatge per la capa física, però amb un missatge anomenat DHCPOFFER. Aquest missatge pot ser enviat a tota la xarxa (difusió a 255.255.255.255) o únicament al client. El client detecta qui és el servidor, i sabrà respondre a aquest, ja que un dels paràmetres del missatge DHCPDISCOVER és l’adreça MAC del servidor. El client pot rebre una o més peticions DHCPOFFER d’un o més servidors. El client llavors tria (per temps de resposta, per IP, etc ). En triar, el client envia un missatge DHCPREQUEST al servidor que ha seleccionat anteriorment. Si el client no rep missatges DHCPOFFER, expira la petició i reenvia un nou missatge DHCPDISCOVER.
  3. Etapa de trobada: el servidor rep el missatge DHCPREQUEST del client. El servidor respon amb un missatge DHCPACK que conté els paràmetres per al client (la seva adreça IP). Si el servidor no pot satisfer el missatge DHCPREQUEST, el servidor igualment ha de respondre amb un DHCPACK. El servidor marca les adreces IP no disponibles.
  4. Etapa de préstec: el client rep el missatge DHCPACK i revisa si la configuració està bé. Si el client detecta un error, llança un missatge DHCPDECLINE i reinicia el procés. Si en comptes de rebre un DHCPACK el client rep un missatge DHCPNAK, el servidor no accepta la seva petició d’IP, no en pot assignar cap i el client reinicia el procés. Quan això passa (DHCPDECLINE i DHCPNAK), el client expira la petició i la reinicia.
  5. Etapa de devolució: el client envia un missatge DHCPRELEASE al servidor quan allibera la seva IP.
Figura Assignació d’adreces IP mitjançant DHCP

Si el procés falla a les 10 vegades, no hi ha IP. Aleshores a l’ordinador se li assigna una IP de la xarxa 169.254.0.0. Aquesta adreça IP d’aquesta xarxa indica que ha hagut algun error en el procés d’assignació dinàmica d’IP mitjançant el DHCP.

Per tant, els missatges enviats entre si són:

  • DHCPDISCOVER: el client envia a tota la xarxa física per trobar servidors disponibles.
  • DHCPOFFER: missatge del servidor com a resposta del DHCPDISCOVER.
  • DHCPREQUEST: el client rep el DHCPOFFER d’un servidor i comunica al servidor que accepta la seva oferta de configuració IP.
  • DHCPACK: el servidor respon amb una IP i altres paràmetres de configuració addicionals (poden ser la porta d’enllaç, el servidor de DNS, etc,).
  • DHCPNAK: missatge del servidor en què rebutja la petició d’adreça IP.
  • DHCPDECLINE: missatge del client que indica que els paràmetres són invàlids.
  • DHCPRELEASE: missatge del client que indica que allibera IP que li havien assignat; per tant, el servidor la pot tornar a oferir.

Avantatges i desavantatges del DHCP

Els principals avantatges de l’ús del DHCP són:

  • Només es configura un servidor per entregar adreces IP per a clients de xarxa.
  • En el client no cal que es configuri res, ja que rep tots els paràmetres bàsics de TCP/IP (adreça IP, porta d’enllaç i servidor de DNS).
  • Facilitat perquè el client estigui connectat ràpidament a una xarxa.

Els principals desavantatges són:

  • Seguretat, es desconeix quina màquina és la que ha obtingut una adreça IP, qualsevol màquina pot obtenir una adreça IP. Recordeu el cas de la biblioteca.
  • Més difusió de paquets en la xarxa, tots els paquets que s’intercanvien fins que el client aconsegueix l’adreça, encara que actualment amb la velocitat de les xarxes no sembla gaire problemàtic.
Anar a la pàgina anterior:
Exercicis
Anar a la pàgina següent:
Activitats