24.04.2013 Views

Xarxes de computadors - Redes de Computadores

Xarxes de computadors - Redes de Computadores

Xarxes de computadors - Redes de Computadores

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Pràctica<br />

7<br />

Els protocols IP i ICMP<br />

Objectius<br />

<strong>Xarxes</strong> <strong>de</strong> <strong>computadors</strong><br />

L’objectiu d’aquesta pràctica és analitzar el comportament <strong>de</strong>ls protocols IP i ICMP a<br />

través <strong>de</strong> l’eina Analyzer introduïda en la pràctica anterior. Amb aquest tipus d’eines<br />

po<strong>de</strong>m capturar fluxos <strong>de</strong> paquets IP per a posteriorment analitzar­los i així verificar la<br />

funcionalitat <strong>de</strong>l protocol IP, <strong>de</strong> la mateixa manera que hem fet amb el protocol ARP.<br />

Respecte al protocol ICMP estudiarem dos ordres àmpliament utilitza<strong>de</strong>s que es basen<br />

en l’intercanvi <strong>de</strong> missatges ICMP: Ping i traceroute.<br />

Descripció<br />

Fins ara hem vist aspectes relacionats amb el programari <strong>de</strong> xarxa <strong>de</strong> les nostres<br />

màquines: Accés a l’adaptador <strong>de</strong> xarxa i un mecanisme per a la resolució d’adreces<br />

hardware. Això ens subministra un accés a la nostra xarxa local que permet la<br />

comunicació en la trama amb totes les màquines d’aquesta.<br />

Tanmateix, la interconnexió <strong>de</strong> distintes xarxes, tant locals com d’àrea extensa o<br />

metropolitana, introdueix un problema <strong>de</strong> comunicació en involucrar­se distints<br />

sistemes d’adreçament a vega<strong>de</strong>s incompatibles entre si (tal com dèiem en parlar <strong>de</strong>l<br />

protocol ARP). El protocol IP (Internet Protocol) és el que s’encarrega <strong>de</strong> resoldre<br />

aquestes diferències i <strong>de</strong>fineix un espai d’adreces universal per damunt <strong>de</strong> les adreces<br />

hardware que cada xarxa <strong>de</strong>fineix. Això permet que màquines connecta<strong>de</strong>s a xarxes<br />

remotes, i probablement amb adreçament hardware incompatible, puguen comunicar­se<br />

a través d’aquest protocol.<br />

El protocol IP és el pilar bàsic d’Internet (xarxa <strong>de</strong> xarxes, interconnecta<strong>de</strong>s<br />

mundialment) que permet la interconnexió <strong>de</strong> xarxes abstraient­se <strong>de</strong> les diferents<br />

tecnologies <strong>de</strong> xarxa existents. És, totalment, un protocol software que està <strong>de</strong>slligat<br />

<strong>de</strong>ls <strong>de</strong>talls <strong>de</strong>l maquinari <strong>de</strong> xarxa, característica fonamental per a la interconnexió <strong>de</strong><br />

xarxes.<br />

En l’estructura d’Internet (Figura 1) es <strong>de</strong>fineixen uns elements coneguts com a<br />

passarel∙les o routers IP que s’encarreguen <strong>de</strong> connectar dues o més xarxes entre si i que<br />

treballen en paquet IP (nivell 3 OSI). Aquests elements <strong>de</strong>fineixen les fronteres <strong>de</strong> les<br />

xarxes en aquest nivell, conegu<strong>de</strong>s com a xarxes IP.


Token Token Ring<br />

Ring<br />

ProNet­10<br />

ProNet­10<br />

Internet<br />

Internet<br />

R1 R2<br />

FDDI FDDI +<br />

+<br />

Ethernet<br />

Ethernet<br />

R3<br />

Ethernet<br />

Ethernet<br />

X.25<br />

X.25<br />

Figura 1: <strong>Xarxes</strong> connecta<strong>de</strong>s a través <strong>de</strong> routers IP: Internet.<br />

En la figura po<strong>de</strong>m observar una d’aquestes xarxes IP que contenen xarxes Ethernet i<br />

FDDI. Aquest podria ser l’exemple <strong>de</strong> l’antiga xarxa <strong>de</strong> la UPV que consistia en una<br />

única xarxa IP composta per diversos segments <strong>de</strong> xarxa Ethernet connectats per una<br />

troncal basada en una doble anella FDDI. Els elements que separen aquests segments <strong>de</strong><br />

xarxa, els ponts o bridges, treballen en la trama (nivell 2 OSI), per la qual cosa una<br />

difusió Ethernet (adreça <strong>de</strong>stinació: FF:FF:FF:FF:FF:FF), es propagarà a totes les<br />

màquines <strong>de</strong> la xarxa IP. Aquesta difusió no passa a través <strong>de</strong> la passarel∙la R1, ja que<br />

aquesta <strong>de</strong>fineix la frontera <strong>de</strong> la xarxa IP i per altra banda treballa amb els paquets <strong>de</strong><br />

nivell 3.<br />

El protocol, per tant, permet la interconnexió <strong>de</strong> xarxes <strong>de</strong> manera in<strong>de</strong>pen<strong>de</strong>nt al<br />

maquinari d’aquestes. Veiem­ne algunes característiques:<br />

Defineix una xarxa virtual, Internet, amb un espai d’adreces virtuals, adreces IP,<br />

que són assigna<strong>de</strong>s <strong>de</strong> manera exclusiva als hosts que hi pertanguen.<br />

S’encarrega <strong>de</strong> portar els missatges d’un host a un altre qualsevol d’Internet,<br />

in<strong>de</strong>pen<strong>de</strong>ntment d’on estiga connectat.<br />

El protocol IP realitza les funcions <strong>de</strong>l nivell <strong>de</strong> xarxa, segons OSI, i ofereix un<br />

servei sense connexió. Per la qual cosa NO garanteix l’entrega <strong>de</strong>ls missatges,<br />

l’ordre en què han sigut enviats ni l’absència d’errors, entre altres coses.<br />

La unitat d’informació amb què treballa es <strong>de</strong>nomina datagrama.<br />

2


Els hosts i les passarel∙les implementen aquest protocol. Aquestes últimes se<br />

centren en la tasca <strong>de</strong> conduir els datagrames <strong>de</strong>s <strong>de</strong>l host origen cap al<br />

<strong>de</strong>stinació remot a través <strong>de</strong> les xarxes intermèdies que siga necessari creuar<br />

(encaminament IP).<br />

Adreces IP.<br />

Les adreces IP són <strong>de</strong> 32 bits i es divi<strong>de</strong>ixen en dos camps: I<strong>de</strong>ntificació <strong>de</strong> la xarxa IP<br />

(NetID) i i<strong>de</strong>ntificació <strong>de</strong>l host (Hostil) pertanyent a aquesta xarxa. En la Figura 2 es<br />

mostren les distintes classes d’adreces IP.<br />

ClasseA<br />

ClasseB<br />

ClasseC<br />

ClasseD<br />

ClasseE<br />

0 1 8 16<br />

0 NetId<br />

1 0 NetId<br />

1 1 0<br />

NetId<br />

1 1 1 0<br />

1 1 1 1 0 RESERVAT<br />

Figura 2: Classes d’adreces IP.<br />

Així tenim 2 7 xarxes <strong>de</strong> classe A, cadascuna amb capacitat d’encaminar fins a 2 24 hosts,<br />

2 14 xarxes <strong>de</strong> classe B, cadascuna amb una capacitat <strong>de</strong> 2 16 hosts i 2 21 xarxes <strong>de</strong> classe C<br />

amb capacitat <strong>de</strong> 2 8 hosts. També es proporciona un espai d’adreces per a adreces <strong>de</strong><br />

grup (adreces multicast).<br />

Les adreces IP se solen representar en format <strong>de</strong>cimal (4 octets separats per un punt<br />

<strong>de</strong>cimal) en lloc d’expressar­les com un nombre <strong>de</strong> 32 bits. D’aquesta manera po<strong>de</strong>m<br />

i<strong>de</strong>ntificar ràpidament els octets que pertanyen a l’i<strong>de</strong>ntificador <strong>de</strong> xarxa i els <strong>de</strong>l host.<br />

Exemples d’adreces: 158.42.53.127 (classe B: NetID=158.42 i HostID=53.127),<br />

192.15.32.200 (classe C: NetID=192.15.32 i HostID=200), 11.10.200.1 (classe A:<br />

NetID=11 i HostID=10.200.11).<br />

No obstant això, hi ha adreces especials que no han <strong>de</strong> ser assigna<strong>de</strong>s a un host, ja que<br />

tenen un significat propi, així:<br />

Adreça <strong>de</strong> xarxa: Les xarxes tenen la seua adreça, que no és més que el NetID<br />

amb l’i<strong>de</strong>ntificador <strong>de</strong> la xarxa i el HostID a zero. Exemple: 158.42.0.0 (adreça<br />

<strong>de</strong> xarxa <strong>de</strong> la UPV).<br />

Adreça <strong>de</strong> broadcast: Defineix l’adreça <strong>de</strong> difusió en IP. Consisteix en el NetID<br />

amb l’i<strong>de</strong>ntificador <strong>de</strong> la xarxa en què es realitzarà la difusió, i en el HostID es<br />

col∙loca tot a “1s”. Exemple: 158.42.255.255 (adreça <strong>de</strong> difusió <strong>de</strong> la UPV).<br />

3<br />

HostId<br />

Adreça multicast<br />

HostId<br />

HostId


Difusió limitada: És un altre tipus <strong>de</strong> difusió però que s’estén solament sobre la<br />

xarxa IP en què ha sigut generada. Els dos camps <strong>de</strong> l’adreça IP a “1s”.<br />

Exemple: 255.255.255.255.<br />

Adreça <strong>de</strong> bucle (loopback): És una adreça <strong>de</strong> classe A, 127.x.x.x, que s’ha<br />

reservat per a suportar comunicacions entre aplicacions <strong>de</strong>l mateix host i per a<br />

comprovar el funcionament d’aplicacions <strong>de</strong> xarxa sense interferir­hi. Si<br />

utilitzem aquesta adreça per a enviar un datagrama, el protocol IP la reenvia cap<br />

al protocol superior, MAI NO l’enviarà cap a la xarxa. Habitualment s’utilitza<br />

l’adreça <strong>de</strong> bucle: 127.0.0.1.<br />

El nostre host mateix: És una adreça que s’usa en circumstàncies molt<br />

concretes, indicarà l’adreça <strong>de</strong>l nostre host. No és una adreça IP vàlida.<br />

Exemple: 0.0.0.0<br />

Host en la nostra xarxa: El camp corresponent al NetID es posa a "0", per a<br />

especificar l’adreça d’un host en la nostra mateixa xarxa. Igual que l’anterior<br />

solament ha d’usar­se en <strong>de</strong>termina<strong>de</strong>s circumstàncies. Exemple: 0.0.53.127.<br />

Format d’un datagrama IP.<br />

Els datagrames IP s’encapsulen dins d’una trama, i ocupen l’espai <strong>de</strong>dicat al camp <strong>de</strong><br />

da<strong>de</strong>s d’aquesta (Figura 3).<br />

Adreces Hw.<br />

Tipus <strong>de</strong> prot. IP<br />

IP = 0x0800<br />

Adr. <strong>de</strong>stin. Adr. origen 0x800<br />

Capçalera <strong>de</strong> la trama Ethernet (DIX)<br />

Figura 3: Encapsulament d’un datagrama IP en una trama Ethernet.<br />

La grandària màxima d’un datagrama, 64Kb segons l’estàndard <strong>de</strong>l protocol IP. No<br />

obstant això, la grandària <strong>de</strong>l datagrama està limitat per la grandària màxima <strong>de</strong>l camp<br />

<strong>de</strong> da<strong>de</strong>s <strong>de</strong> la trama que el portarà. Aquesta és una limitació que <strong>de</strong>pèn <strong>de</strong> la tecnologia<br />

<strong>de</strong> xarxa 1 que tinguem. Cada tecnologia <strong>de</strong> xarxa <strong>de</strong>fineix la grandària màxima <strong>de</strong>l<br />

camp <strong>de</strong> da<strong>de</strong>s <strong>de</strong> la trama, també coneguda com a MTU (Maximun Transfer Unit), que<br />

maneja. Així, per exemple, Ethernet <strong>de</strong>fineix un MTU <strong>de</strong> 1500 octets.<br />

1 És l’única <strong>de</strong>pendència que IP té <strong>de</strong>l maquinari <strong>de</strong> xarxa subjacent.<br />

4<br />

Datagrama IP<br />

Camp <strong>de</strong> da<strong>de</strong>s (MTU = 1500)


El protocol IP, lògicament usa adreces IP per a i<strong>de</strong>ntificar la font i la <strong>de</strong>stinació <strong>de</strong><br />

datagrama. Ara bé, el datagrama viatja dins d’una trama, i aquesta utilitza adreces<br />

hardware. I per aquest motiu necessitem els serveis <strong>de</strong>l protocol ARP, per a <strong>de</strong>terminar<br />

l’adreça hardware que correspon a l’adreça IP <strong>de</strong>l <strong>de</strong>stinatari.<br />

El datagrama es divi<strong>de</strong>ix en dos camps: Capçalera i da<strong>de</strong>s. La capçalera conté<br />

informació que el protocol necessita per a oferir el seu servei, i el camp <strong>de</strong> da<strong>de</strong>s conté<br />

el missatge en si que ha <strong>de</strong> ser entregat en el host <strong>de</strong>stinació. En la figura 4 es mostra el<br />

format d’un datagrama, en què po<strong>de</strong>n apreciar­se els camps següents:<br />

Versió: Especifica la versió <strong>de</strong>l protocol IP a què pertany el datagrama,<br />

actualment s’està utilitzant la versió 4 <strong>de</strong>l protocol.<br />

Longitud <strong>de</strong> la capçalera: Defineix la grandària <strong>de</strong> la capçalera IP en paraules<br />

<strong>de</strong> 32 bits, ja que aquesta pot ser <strong>de</strong> grandària variable. A efectes pràctics<br />

consi<strong>de</strong>rarem la capçalera IP <strong>de</strong> grandària fixa (sense camp d’opcions).<br />

Tipus <strong>de</strong> servei: Conté informació sobre com ha <strong>de</strong> ser tractat el datagrama en<br />

el seu viatge a la <strong>de</strong>stinació. Inclou alguns ítems sobre la qualitat <strong>de</strong> servei que<br />

rebrà aquest datagrama. Actualment, en aquesta versió d’IP, aquest camp no és<br />

utilitzat i el seu valor sol ser 0.<br />

C<br />

A<br />

PÇALE<br />

R<br />

A<br />

0 4 8 16 31<br />

vers longc tipus servei longitud total<br />

i<strong>de</strong>ntificació flags <strong>de</strong>sp. fragment<br />

temps vida protocol checksum <strong>de</strong> la capçalera<br />

adreça IP font<br />

adreça IP <strong>de</strong>stinació<br />

opcions IP (opcional) Emplen.<br />

DADES<br />

Figura 4: Format d’un datagrama IP.<br />

Longitud total: Com el seu nom indica, <strong>de</strong>fineix la grandària total <strong>de</strong>l<br />

datagrama (capçalera + da<strong>de</strong>s) en bytes.<br />

I<strong>de</strong>ntificació: És un enter <strong>de</strong> 16 bits que i<strong>de</strong>ntifica aquest datagrama i el<br />

distingeix d’altres datagrames que hem enviat. És una espècie <strong>de</strong> nombre <strong>de</strong><br />

seqüència que s’incrementa cada vegada que IP envia un datagrama.<br />

Flags + Desplaçament <strong>de</strong> fragment: Aquests camps inclouen informació útil<br />

per al mecanisme <strong>de</strong> fragmentació <strong>de</strong> datagrames. Quan un datagrama creua una<br />

passarel∙la i a l’altra banda hi ha una xarxa amb un MTU inferior a la grandària<br />

5


<strong>de</strong>l datagrama, la passarel∙la el fragmenta en trossos. Aquests fragments són<br />

datagrames que viatgen cap a la <strong>de</strong>stinació <strong>de</strong> manera in<strong>de</strong>pen<strong>de</strong>nt, en què són<br />

recollits pel protocol IP per a reconstruir el datagrama original.<br />

Temps <strong>de</strong> vida (TTL): Defineix el temps <strong>de</strong> què disposa el datagrama per a<br />

arribar a la seua <strong>de</strong>stinació, per tal d’evitar l’existència <strong>de</strong> datagrames que, per<br />

errors en l’encaminament, estiguen fent voltes in<strong>de</strong>finidament en la xarxa. Cada<br />

vegada que el datagrama creua una passarel∙la, aquest camp és <strong>de</strong>crementat en<br />

una unitat, <strong>de</strong> manera que quan assoleix el valor nul, és eliminat <strong>de</strong> la xarxa.<br />

Protocol: I<strong>de</strong>ntifica el protocol a què pertanyen la informació emmagatzemada<br />

en el camp <strong>de</strong> da<strong>de</strong>s <strong>de</strong>l datagrama. De manera que quan es rep un datagrama<br />

dirigit a la nostra màquina, i <strong>de</strong>sprés <strong>de</strong> realitzar les comprovacions pertinents, el<br />

protocol IP ha <strong>de</strong> saber a qui entrega les da<strong>de</strong>s que porta el dit datagrama. Així,<br />

per als protocols ICMP, UDP i TCP els valors d’aquest camp seran 1, 17 i 6<br />

respectivament.<br />

Checksum <strong>de</strong> la capçalera: En aquest camp s’emmagatzema un checksum <strong>de</strong>ls<br />

camps <strong>de</strong> la capçalera. És un mecanisme simple per a <strong>de</strong>tectar possibles errors<br />

en els camps <strong>de</strong> la capçalera <strong>de</strong>l datagrama, els quals podrien provocar<br />

situacions incòmo<strong>de</strong>s en la xarxa.<br />

Adreces IP origen i <strong>de</strong>stinació: Adreces origen i <strong>de</strong>stinació <strong>de</strong>l datagrama.<br />

Encara que el datagrama viatge a través <strong>de</strong> diverses passarel∙les, aquests camps<br />

no canvien mai.<br />

Opcions IP: Aquest camp és opcional i <strong>de</strong> longitud variable. Per aquest últim, és<br />

necessari afegir un camp d’emplenament per tal d’ajustar la grandària d’aquest<br />

camp a múltiples <strong>de</strong> 32 bits.<br />

L’encaminament IP.<br />

Com havíem dit, el protocol IP ha <strong>de</strong> portar els datagrames <strong>de</strong>s <strong>de</strong>l host origen cap al<br />

host <strong>de</strong>stinació, i creuar les passarel∙les i xarxes necessàries per a aquest fi. Per tant, són<br />

les passarel∙les les que participen <strong>de</strong> manera activa en l’encaminament <strong>de</strong>l datagrama<br />

cap a la <strong>de</strong>stinació correcta.<br />

Aquest encaminament es basa en l’adreça IP <strong>de</strong>stinació <strong>de</strong>l datagrama (camp <strong>de</strong> la<br />

capçalera d’aquest). En realitat, es basa fonamentalment en el camp NetID <strong>de</strong> l’adreça<br />

<strong>de</strong>stinació, ja que el datagrama s’encamina cap a la xarxa <strong>de</strong>stinació a què pertany el<br />

<strong>de</strong>stinatari.<br />

Es tracta d’un encaminament distribuït, en què cada passarel∙la només coneix la següent<br />

en la ruta cap a la <strong>de</strong>stinació. No tenen un coneixement global <strong>de</strong> la ruta que seguirà el<br />

datagrama. Per aquesta raó, les taules d’encaminament <strong>de</strong> les passarel∙les han d’estar<br />

actualitza<strong>de</strong>s per a realitzar l’encaminament tan bé com es puga. De fet, les passarel∙les<br />

disposen <strong>de</strong> protocols específics que intercanvien informació d’encaminament, per tal<br />

<strong>de</strong> coordinar les millors rutes en cada moment.<br />

6


L’algorisme d’encaminament que utilitzen les passarel∙les i els hosts està basat en una<br />

taula. Aquesta disposa d’una sèrie d’entra<strong>de</strong>s en què s’indiquen les rutes a seguir en<br />

funció <strong>de</strong> cada xarxa <strong>de</strong>stinació. Abans d’enviar un datagrama, en consultem l’adreça<br />

<strong>de</strong>stinació per a conèixer la xarxa a què pertany el host <strong>de</strong>stinació, <strong>de</strong> manera que:<br />

Si coinci<strong>de</strong>ix amb el NetID d’una xarxa a què estem directament connectats,<br />

aleshores es tracta d’un encaminament directe.<br />

En cas contrari, haurem d’utilitzar una passarel∙la. Per a això consultem la nostra<br />

taula d’encaminament en cerca d’una entrada que m’indique la passarel∙la<br />

següent que s’ha d’utilitzar per a acostar­nos a la xarxa en què es troba el<br />

<strong>de</strong>stinatari. Això és un encaminament indirecte.<br />

En qualssevol <strong>de</strong>ls dos casos hem d’enviar el datagrama cap al host<br />

(encaminament directe) o passarel∙la (encaminament indirecte) corresponent.<br />

L’enviament <strong>de</strong>l datagrama requereix els serveis d’ARP, per a en<strong>de</strong>vinar<br />

l’adreça hardware i així po<strong>de</strong>r encapsular el datagrama en una trama.<br />

Format <strong>de</strong> la taula d’encaminament.<br />

Les taules d’encaminament IP estan forma<strong>de</strong>s per entra<strong>de</strong>s que, en la seua versió més<br />

senzilla, tenen només dos camps: El NetID <strong>de</strong> la xarxa que volem assolir i l’adreça IP<br />

<strong>de</strong> la passarel∙la que hem d’utilitzar per a arribar­hi.<br />

No obstant això, hi ha altres tipus d’entra<strong>de</strong>s que en faciliten la implementació i que la<br />

seua interpretació és un poc diferent:<br />

Ruta per <strong>de</strong>fecte: Es refereix a l’encaminament per <strong>de</strong>fecte, <strong>de</strong> manera que si cap<br />

entrada <strong>de</strong> la taula satisfà l’encaminament d’un datagrama, aleshores s’aplica<br />

l’encaminament per <strong>de</strong>fecte especificat en aquesta entrada. En el primer camp <strong>de</strong><br />

l’entrada <strong>de</strong> la taula apareix el símbol “Default” per a indicar que es tracta d’una<br />

entrada d’aquest tipus, i en el segon camp es troba l’adreça IP <strong>de</strong> la passarel∙la<br />

que per <strong>de</strong>fecte hem d’usar 2 .<br />

Rutes específiques: Encara que l’encaminament està basat en la i<strong>de</strong>ntificació <strong>de</strong><br />

les xarxes i no <strong>de</strong>ls hosts, aquesta entrada permet indicar un encaminament<br />

específic per a un host <strong>de</strong>stinació <strong>de</strong>terminat. S’utilitza per a propòsits molt<br />

específics. En el primer camp es col∙loca l’adreça <strong>de</strong>l host <strong>de</strong>stinació, i en el<br />

segon la passarel∙la a utilitzar.<br />

2 Aju<strong>de</strong>n a reduir la grandària <strong>de</strong> les taules. Són molt útils en les taules d’encaminament <strong>de</strong>ls hosts que<br />

pertanyen una xarxa IP amb una única passarel∙la.<br />

7


Algorisme d’encaminament IP.<br />

Veiem l’algorisme d’encaminament que tant un host com una passarel∙la han<br />

d’implementar dins <strong>de</strong>l protocol IP:<br />

1. Partint <strong>de</strong> l’adreça IP <strong>de</strong>stinació <strong>de</strong>l datagrama, extraiem l’i<strong>de</strong>ntificador <strong>de</strong><br />

xarxa, IN, i l’i<strong>de</strong>ntificador <strong>de</strong>l host, IH.<br />

2. Si IN coinci<strong>de</strong>ix amb el NetID <strong>de</strong> qualsevol xarxa que tinguem directament<br />

connectada, encaminament directe, aleshores enviem el datagrama directament<br />

al host <strong>de</strong>stinació. Per a això encapsulem el datagrama dins d’una trama,<br />

l’adreça hardware <strong>de</strong>stinació <strong>de</strong> la qual esbrinem via ARP. Es tracta d’un host<br />

pertanyent a la nostra xarxa IP.<br />

3. Si no, si IH apareix en la taula d’encaminament com una entrada <strong>de</strong> ruta<br />

específica, usarem la passarel∙la associada com a <strong>de</strong>stinatari <strong>de</strong>l datagrama,<br />

recolzant­nos en ARP.<br />

4. Si no, si IN apareix com una entrada en la taula d’encaminament, entregarem el<br />

datagrama a la passarel∙la especificada en aquesta.<br />

5. Si no, si en la taula d’encaminament hi ha una ruta per <strong>de</strong>fecte, la usarem per a<br />

encaminar el nostre datagrama.<br />

6. Si no, aleshores hi ha un error que hem <strong>de</strong> notificar, i <strong>de</strong>scartar el datagrama.<br />

El protocol ICMP<br />

Com hem vist, la comesa <strong>de</strong>l protocol IP és el transport <strong>de</strong> datagrames <strong>de</strong>s d’un host<br />

origen fins a un altre qualsevol en Internet. El servei que realitza IP és un servei sense<br />

connexió, per la qual cosa no es garanteix cap tipus <strong>de</strong> qualitat <strong>de</strong> servei, i pot ocórrer la<br />

pèrdua <strong>de</strong> datagrames, l’entrega <strong>de</strong>sor<strong>de</strong>nada, errors en els missatges que transporta, etc.<br />

Quan un datagrama viatja cap a la seua <strong>de</strong>stinació haurà <strong>de</strong> travessar una sèrie <strong>de</strong><br />

passarel∙les (routers), les quals processen el datagrama per a dirigir­lo a<strong>de</strong>quadament<br />

cap a la seua <strong>de</strong>stinació. Si una passarel∙la no pot encaminar aquest datagrama, o bé<br />

<strong>de</strong>tecta alguna condició especial en què es veu incapacitada per a fer­ho (congestió <strong>de</strong><br />

xarxa, línies fora <strong>de</strong> servei, etc.), aleshores aquest datagrama es perd.<br />

Aquestes i altres circumstàncies en el tractament <strong>de</strong>ls datagrames en el seu viatge cap a<br />

la <strong>de</strong>stinació fan necessari la creació d’un mecanisme que, almenys, informe sobre<br />

aquestes situacions al host origen, perquè siga conscient <strong>de</strong>ls problemes que ha patit el<br />

datagrama que ha enviat i, si és proce<strong>de</strong>nt, prenga les accions oportunes. D’ací naix el<br />

protocol ICMP.<br />

El protocol ICMP (Internet Control Message Protocol) és un mecanisme que informa<br />

sobre l’aparició d’errors en la manipulació <strong>de</strong>ls datagrames. Sempre que una passarel∙la<br />

8


<strong>de</strong>tecte un error o excepció en un datagrama, utilitza el protocol ICMP per a informar al<br />

host origen sobre la circumstància. ICMP no realitza cap acció per a corregir l’error que<br />

s’haja produït, solament s’encarrega <strong>de</strong> comunicar­lo al host origen perquè aquest<br />

realitze les accions oportunes per a corregir l’error.<br />

Originalment, ICMP va ser dissenyat com un protocol per a les passarel∙les; no obstant<br />

això, els hosts també el po<strong>de</strong>n utilitzar. Els missatges ICMP van encapsulats en<br />

datagrames IP. La <strong>de</strong>stinació <strong>de</strong>l missatge ICMP no serà l’aplicació <strong>de</strong> l’usuari en el<br />

host <strong>de</strong>stinació, sinó que haurà <strong>de</strong> ser interpretat pel seu mòdul ICMP. Si un missatge<br />

ICMP afecta una aplicació <strong>de</strong> l’usuari, ICMP haurà d’articular els mecanismes<br />

necessaris per a comunicar a l’aplicació l’es<strong>de</strong>veniment ocorregut.<br />

Encara que aquest protocol va ser dissenyat per a <strong>de</strong>tectar les incidències que es<br />

produeixen en el transport d’un datagrama cap al host <strong>de</strong>stinació, no totes aquestes<br />

po<strong>de</strong>n ser <strong>de</strong>tecta<strong>de</strong>s. Entre aquestes causes es troba la pèrdua d’un datagrama que porta<br />

un missatge ICMP. En aquest punt, podríem pensar que per a solucionar aquest<br />

problema, aquesta pèrdua podria ser notificada amb un altre missatge ICMP. Més que<br />

solucionar el problema, l’estaríem agreujant quan la raó d’aquesta pèrdua siga una<br />

congestió en la xarxa. Per això, NO ES PERMET la notificació <strong>de</strong> missatges ICMP<br />

causats per la pèrdua <strong>de</strong> datagrames que porten un missatge ICMP. Una altra norma<br />

general que imposa aquest protocol és que les notificacions d’error es fan SOLAMENT<br />

al host origen.<br />

Format <strong>de</strong>ls missatges ICMP.<br />

Com havíem comentat anteriorment, els missatges <strong>de</strong> ICMP van encapsulats en<br />

datagrames com mostra la Figura 5:<br />

Adreces MAC<br />

Tipus <strong>de</strong> prot. IP<br />

IP = 0x0800<br />

Adr. Destin. Adr. Origen 0x800 Camp <strong>de</strong> da<strong>de</strong>s (MTU = 1500)<br />

Capçalera <strong>de</strong> la trama Ethernet (DIX)<br />

Camp Proto. ICMP<br />

ICMP = 0x01<br />

Missatge ICMP<br />

Capçalera IP Camp <strong>de</strong> da<strong>de</strong>s<br />

Figura 5: Encapsulament d’un missatge ICMP en un datagrama.<br />

Encara que veiem que ICMP va encapsulat en un datagrama d’IP, això no vol dir que<br />

ICMP siga un protocol <strong>de</strong> nivell superior (nivell <strong>de</strong> transport). S’ha <strong>de</strong> consi<strong>de</strong>rar com a<br />

part d’IP, com si fóra una eina auxiliar que disposa IP per a po<strong>de</strong>r <strong>de</strong>tectar errors en el<br />

transport <strong>de</strong>ls datagrames a les seues <strong>de</strong>stinacions.<br />

9


Campo tipus Tipus <strong>de</strong> missatge ICMP<br />

0 Echo Reply<br />

3 Destination Unreachable<br />

4 Source Quench<br />

5 Redirect<br />

8 Echo Request<br />

11 Time excee<strong>de</strong>d<br />

12 Parameter Problem<br />

13 Timestamp Request<br />

14 Timestamp Reply<br />

15 Information Request<br />

16 Information Reply<br />

17 Address Mask Request<br />

18 Address Mask Reply<br />

Taula 1: Tipus <strong>de</strong> missatges ICMP.<br />

Cada tipus <strong>de</strong> missatge ICMP té el seu propi format, encara que tots aquests comencen<br />

amb tres camps comuns, la resta pot variar en funció <strong>de</strong>l tipus <strong>de</strong> missatge:<br />

El camp TIPO i<strong>de</strong>ntifica el tipus <strong>de</strong> missatge ICMP (ocupa 8 bits). En la taula<br />

1, es mostren les distintes opcions que preveu aquest protocol.<br />

El camp CÓDIGO s’usa per a donar més informació sobre el tipus <strong>de</strong> missatge<br />

ICMP (8 bits).<br />

I l’últim camp, contindrà el checksum <strong>de</strong> tot el missatge ICMP (16 bits). El<br />

càlcul <strong>de</strong>l checksum és el mateix que en IP, solament que en aquest cas<br />

cobreix tot el missatge ICMP.<br />

En la taula 1 es mostren els distints tipus <strong>de</strong> missatges ICMP que consi<strong>de</strong>ra el protocol.<br />

De tots aquests, els més importants són els sis primers, que a continuació passem a<br />

<strong>de</strong>scriure breument:<br />

Echo Request i Echo Reply: Són dos missatges que s’usen conjuntament per<br />

a <strong>de</strong>terminar l’assolibilitat d’un host o una passarel∙la. Normalment són<br />

utilitzats pels hosts, <strong>de</strong> manera que aquests po<strong>de</strong>n extraure informació sobre<br />

l’estat <strong>de</strong>l host remot, el retard que introdueix la xarxa en l’entrega <strong>de</strong>ls<br />

missatges i el percentatge <strong>de</strong> missatges perduts.<br />

Destinació inassolible (Destination unreachable): Es tracta d’un missatge que<br />

és generat per una passarel∙la quan no pot encaminar un datagrama. Hi ha<br />

diferents causes que provoquen l’emissió d’aquest missatge i que estan<br />

codifica<strong>de</strong>s en el camp codi <strong>de</strong>l missatge ICMP. El missatge és dirigit al host<br />

que ha enviat el datagrama, i en el seu interior s’especifiquen els primers 64<br />

bits <strong>de</strong>l datagrama que l’ha causat.<br />

10


Source Quench: És un missatge que utilitzen les passarel∙les per a frenar el<br />

ritme d’injecció <strong>de</strong> missatges en la xarxa d’un <strong>de</strong>terminat host. Aquesta<br />

situació es produeix quan una passarel∙la es veu sobrecarregada amb la<br />

recepció <strong>de</strong> datagrames (una possible situació <strong>de</strong> congestió), i s’han <strong>de</strong><br />

<strong>de</strong>scartar alguns per falta <strong>de</strong> buffers. Quan es produeix aquesta situació, la<br />

passarel∙la envia un missatge d’aquest tipus al host origen <strong>de</strong>l datagrama<br />

<strong>de</strong>scartat, que li diu que baixe el ritme d’injecció <strong>de</strong> datagrames ja que en<br />

aquest moment hi ha una situació temporal <strong>de</strong> congestió.<br />

Canvi <strong>de</strong> ruta (redirect): Aquest missatge és utilitzat per una passarel∙la per a<br />

indicar a un host <strong>de</strong> la seua xarxa IP, un canvi en la seua taula<br />

d’encaminament, per l’ existència d’una altra passarel∙la en la xarxa que és<br />

més idònia que la que està utilitzant actualment.<br />

Temps <strong>de</strong> vida esgotat (Time Excee<strong>de</strong>d): Quan una passarel∙la encamina un<br />

datagrama, una <strong>de</strong> les seues tasques és <strong>de</strong>crementar en una unitat el camp TTL<br />

<strong>de</strong> la capçalera d’aquest. Si <strong>de</strong>sprés <strong>de</strong> l’operació el camp val "0", ha <strong>de</strong><br />

<strong>de</strong>scartar el datagrama i enviar un missatge ICMP d’aquest tipus cap al host<br />

origen.<br />

Echo Request i Echo Reply: Assolibilitat d’una <strong>de</strong>stinació.<br />

En aquesta pràctica <strong>de</strong>senvoluparem la base <strong>de</strong>l protocol ICMP, que solament<br />

processarà els missatges <strong>de</strong>l tipus ICMP ECHO, sent susceptible d’ampliar el codi ací<br />

mostrat per a processar la resta <strong>de</strong> missatges ICMP.<br />

La utilitat d’aquest tipus <strong>de</strong> missatges és comprovar <strong>de</strong>s <strong>de</strong>l nostre host si un altre<br />

host remot és assolible i està operatiu. El mecanisme és senzill, quan un host/passarel∙la<br />

envia un ECHO REQUEST cap a un host/passarel∙la remot, aquest ha <strong>de</strong> respondre amb<br />

un missatge ICMP <strong>de</strong> tipus ECHO REPLY retornant la mateixa informació que portava<br />

el missatge original (EchoRequest) en el camp d’informació addicional, i el mateix<br />

i<strong>de</strong>ntificador i nombre <strong>de</strong> seqüència d’aquest.<br />

En la Figura 6 es mostra el format específic d’aquests missatges ICMP. El camp<br />

I<strong>de</strong>ntificador i Número <strong>de</strong> seqüència s’utilitzen per a i<strong>de</strong>ntificar la tanda o sèrie <strong>de</strong><br />

missatges ICMP EchoRequest, i el número <strong>de</strong> seqüència s’utilitza per a diferenciar un<br />

missatge d’un altre dins <strong>de</strong> la mateixa sèrie. És a dir, si faig una sèrie <strong>de</strong> 10<br />

EchoRequest cap a un host <strong>de</strong>stinació <strong>de</strong>terminat, a la sèrie, la marque amb un<br />

i<strong>de</strong>ntificador (p. e.: 0) i a cada EchoRequest dins d’aquesta amb el seu número <strong>de</strong><br />

seqüència (p. e.: <strong>de</strong>l 0 al 9).<br />

El camp da<strong>de</strong>s addicionals funciona com a emplenament per a simular datagrames <strong>de</strong><br />

qualsevol grandària. Ací po<strong>de</strong>m introduir qualsevol missatge (un text ASCII, o el que<br />

vulguem). En el missatge EchoReply corresponent, es retorna en aquest camp<br />

exactament la mateixa informació.<br />

11


0 8 16<br />

Tipus (0 o 8)<br />

Figura 6: Format <strong>de</strong>ls missatges ECHO Request i ECHO Reply.<br />

La màquina <strong>de</strong>stinació pot estar en una altra xarxa distant, per la qual cosa el<br />

missatge ICMP pot ser que haja <strong>de</strong> travessar diverses passarel∙les. Per aquesta raó, si no<br />

obtenim resposta quan li enviem el missatge d’EchoRequest pot ser per diverses causes:<br />

Pèrdua <strong>de</strong>l missatge EchoRequest (mal encaminament d’una passarel∙la intermèdia, un<br />

error <strong>de</strong> checksum, etc.) o bé el host remot està fora <strong>de</strong> servei. Pot també ocórrer que la<br />

màquina <strong>de</strong>stinació estiga molt carregada i es <strong>de</strong>more a enviar el missatge <strong>de</strong> resposta<br />

EchoReply.<br />

La màquina origen estableix un temps <strong>de</strong> resposta (TimeOut) <strong>de</strong>sprés <strong>de</strong>l qual torna a<br />

enviar un nou missatge EchoRequest (que incrementa el número <strong>de</strong> seqüència, per a<br />

distingir­lo <strong>de</strong> l’anterior). Encara que és difícil estimar quin pot ser el temps raonable<br />

per a rebre l’EchoReply (<strong>de</strong>pèn <strong>de</strong> la distància <strong>de</strong> la màquina <strong>de</strong>stinació, la velocitat <strong>de</strong><br />

resposta i la congestió que té la xarxa que ha <strong>de</strong> creuar els missatges) la suma <strong>de</strong>ls<br />

TimeOuts <strong>de</strong>ls successius reintents ha <strong>de</strong> ser suficient perquè almenys arribe un<br />

EchoReply.<br />

En molts sistemes UNIX i també en Windows hi ha una ordre d’usuari que<br />

precisament realitza aquesta mateixa operació. Aquesta ordre s’anomena PING i<br />

s’encarrega d’enviar una sèrie <strong>de</strong> missatges ICMP <strong>de</strong> tipus EchoRequest, esperant<br />

l’arribada <strong>de</strong> les respostes corresponents (missatges EchoReply). Al final ens indica<br />

quants missatges EchoRequest s’han enviat i quantes han sigut les respostes rebu<strong>de</strong>s per<br />

a indicar el percentatge <strong>de</strong> missatges perduts. També ens indica el temps <strong>de</strong> round­trip 3 ,<br />

<strong>de</strong> cada parell EchoRequest­EchoReply rebut, i ens dóna una i<strong>de</strong>a <strong>de</strong>l retard que<br />

introdueix la xarxa entre els dos hosts.<br />

Passos i qüestions<br />

Configuració TCP/IP<br />

L’ordre ipconfig (ordre <strong>de</strong> consola), per a Windows, proporciona informació sobre la<br />

configuració <strong>de</strong> la xarxa en la nostra màquina (per a cadascun <strong>de</strong>ls adaptadors <strong>de</strong> xarxa<br />

instal∙lats). A continuació es mostra l’ajuda corresponent a l’ús d’aquesta ordre:<br />

3 És el temps transcorregut <strong>de</strong>s que s’envia un missatge fins que se’n rep la resposta. També conegut com<br />

a temps d’anada i tornada.<br />

I<strong>de</strong>ntificador <strong>de</strong> tanda<br />

Codi (0) Checksum<br />

Da<strong>de</strong>s opcionals<br />

12<br />

Número <strong>de</strong> seqüència


D:\Documents and Settings\mperez>ipconfig /?<br />

USO:<br />

ipconfig [/?|/all|/renew [adapter]|/release [adapter]|/flushdns| /<br />

displaydns|/registerdns|/showclassid adapter | /setclassid adapter<br />

[classid] ]<br />

don<strong>de</strong><br />

adapter nombre <strong>de</strong> conexión(se permiten comodines * y ?<br />

Opciones:<br />

/? muestra la ayuda<br />

/all muestra toda la información <strong>de</strong> configuración.<br />

/release libera la dirección IP para el adaptador dado.<br />

/renew renueva la dirección IP para el adaptador dado.<br />

/flushdns purga la caché <strong>de</strong> resolución <strong>de</strong> DNS.<br />

/registerdns actualiza todas las concesiones y registra DNS.<br />

/displaydns muestra la caché <strong>de</strong> resolución DNS.<br />

/showclassid muestra todas las id. <strong>de</strong> clase dhcp permitidas.<br />

/setclassid modifica la id. <strong>de</strong> clase dhcp.<br />

De manera pre<strong>de</strong>terminada es mostra solament l’adreça IP, la màscara <strong>de</strong> subxarxa i la<br />

porta d’enllaç per a cada adaptador enllaçat amb TCP/IP.<br />

Per a Release i Renew, si no hi ha cap nom d’adaptador especificat, s’alliberen o<br />

renoven les concessions d’adreça IP enllaça<strong>de</strong>s amb TCP/IP.<br />

Per a Setclassid, si no hi ha ClassId especificada, es lleva ClassId.<br />

Exemples:<br />

> ipconfig ... mostra informació<br />

> ipconfig /all ... mostra informació <strong>de</strong>tallada<br />

> ipconfig /renew ... renova tots els adaptadors<br />

> ipconfig /renew EL* ... renova connexions el nom <strong>de</strong> les quals comence amb EL<br />

> ipconfig /release *Con* ...allibera totes les connexions que coincidisquen per<br />

exemple:<br />

"Connexió d’àrea local 1" o<br />

"Connexió d’àrea local 2"<br />

L’ordre ipconfig, que es crida <strong>de</strong>s d’una finestra MS­DOS (Inicio Programas<br />

AccesoriosSimbolo <strong>de</strong>l Sistema), ofereix entre altres coses la informació següent:<br />

Adreça d’adaptador <strong>de</strong> xarxa: És l’adreça física que correspon a la targeta <strong>de</strong><br />

xarxa (Ethernet en el nostre cas) que està instal∙lada en el nostre ordinador i ens<br />

facilita l’accés a la xarxa.<br />

Adreça IP: Adreça IP assignada a la nostra màquina, bé <strong>de</strong> manera permanent, o<br />

bé <strong>de</strong> manera dinàmica mitjançant el protocol DHCP.<br />

Màscara <strong>de</strong> subxarxa: Indica quina part <strong>de</strong> l’adreça IP i<strong>de</strong>ntifica la xarxa, i<br />

quina part i<strong>de</strong>ntifica l’ordinador (a un adaptador <strong>de</strong> xarxa).<br />

Porta d’enllaç pre<strong>de</strong>terminada: Adreça IP <strong>de</strong>l router que connecta la nostra<br />

LAN amb l’exterior (Internet).<br />

13


(1) L’ordre ipconfig<br />

Executa l’ordre ipconfig i completa la informació <strong>de</strong> la taula següent:<br />

Taula 1.1<br />

Adreça física <strong>de</strong> l’adaptador Ethernet<br />

Adreça IP<br />

Màscara <strong>de</strong> subxarxa<br />

Adreça IP <strong>de</strong>l router (porta d’enllaç)<br />

Qüestió 1.1.<br />

Amb la informació obtinguda, podries comentar a quina classe d’adreces IP pertany la<br />

xarxa a què està connectat el teu computador. Comenta breument la resposta i calcula<br />

l’adreça <strong>de</strong> la teua xarxa (NetID)<br />

(2) Els paquets IP<br />

Amb l’analitzador <strong>de</strong> protocols, captura una sessió <strong>de</strong> paquets IP generats en sol∙licitar<br />

al navegador web l’accés a la pàgina www.re<strong>de</strong>s.upv.es. Per a això s’haurà <strong>de</strong> filtrar la<br />

resta <strong>de</strong> trànsit, i ens quedarem únicament amb els paquets generats per aquesta acció.<br />

Analitza la seqüència <strong>de</strong> paquets IP capturats i respon a les qüestions següents:<br />

Taula 2.1<br />

Paquet núm. 1<br />

Paquet núm. 2<br />

Paquet núm. 3<br />

Paquet núm. 4<br />

Paquet núm. 5<br />

I<strong>de</strong>ntificador TTL Source IP Destination IP<br />

14


Qüestió 2.2<br />

Si el camp i<strong>de</strong>ntificador <strong>de</strong>termina la seqüència <strong>de</strong> paquet enviats per un host. Els<br />

i<strong>de</strong>ntificadors <strong>de</strong>ls paquets IP enviats per la nostra màquina són consecutius?, i els<br />

enviats pel servidor web? Explica breument les respostes.<br />

Qüestió 2.3<br />

Respecte al camp TTL (Time To Live) <strong>de</strong> la capçalera IP <strong>de</strong>ls paquets capturats, són<br />

sempre iguals? Tots els paquets IP que envia una màquina tenen el mateix TTL?<br />

Explica breument les respostes.<br />

Qüestió 2.4<br />

Després d’analitzar els camps <strong>de</strong> la capçalera IP Opciones i Tipo <strong>de</strong> servicio (Type of<br />

Service) <strong>de</strong>ls paquets capturats, a quina conclusió arribes?<br />

(3) Fragmentació IP<br />

No po<strong>de</strong>m observar la fragmentació que es produeix en els routers però po<strong>de</strong>m utilitzar<br />

un petit truc per a generar fragmentació en la mateixa interfície <strong>de</strong>l computador. Des<br />

d’una finestra <strong>de</strong> DOS executem l’ordre següent (prèviament haurem iniciat una captura<br />

<strong>de</strong> trames amb el filtre “icmp” per a recollir tot el trànsit generat):<br />

C:\> ping –n 1 –l 2000 www.re<strong>de</strong>s.upv.es 4<br />

Amb això estem forçant el nostre ordinador a l’enviament d’un missatge <strong>de</strong> més <strong>de</strong><br />

2000 bytes a la <strong>de</strong>stinació especificada. Com estem connectats a una xarxa Ethernet<br />

amb una MTU que és <strong>de</strong> 1500 bytes, l’enviament sol∙licitat exigirà la fragmentació <strong>de</strong>l<br />

missatge en dos paquets IP. Compara les capçaleres d’ambdós fragments, i fixa’t<br />

especialment en els camps long. total, flags i <strong>de</strong>splaz. Fragmento.<br />

4 En executar l’ordre ping, l’estudiarem més endavant en aquesta pràctica, es força l’enviament d’un<br />

paquet IP que transporta un missatge ICMP en el seu interior.<br />

15


Primer fragment:<br />

Versió longc tipus servei long total<br />

I<strong>de</strong>ntificació flags <strong>de</strong>splaç. fragment<br />

Temps<br />

vida<br />

Protocol checksum <strong>de</strong> la capçalera<br />

Adreça IP font<br />

Adreça IP <strong>de</strong>stinació<br />

Opcions (variable)<br />

Segon fragment:<br />

Versió longc tipus servei long total<br />

I<strong>de</strong>ntificació flags <strong>de</strong>splaç. fragment<br />

Temps<br />

vida<br />

Protocol checksum <strong>de</strong> la capçalera<br />

Adreça IP font<br />

Adreça IP <strong>de</strong>stinació<br />

Opcions (variable)<br />

Qüestió 3.1<br />

Quin és el valor <strong>de</strong>l camp protocolo <strong>de</strong> la capçalera d’ambdós segments? Ha <strong>de</strong> ser el<br />

mateix per a ambdós fragments? Quin és el valor <strong>de</strong>l camp offset <strong>de</strong>l segon fragment 5 ?<br />

Calcula la grandària <strong>de</strong>l missatge que hauríem d’enviar, utilitzant l’ordre ping, perquè<br />

es generen 3 fragments <strong>de</strong> grandària màxima.<br />

Camp protocol El mateix? Camp Offset Gran. <strong>de</strong> missatge<br />

5 Recorda que la unitat que s’expressa en aquest camp és una paraula <strong>de</strong> 8 octets.<br />

16


(4) L’ordre ROUTE<br />

L’ordre ROUTE permet la manipulació <strong>de</strong> la taula d’encaminament <strong>de</strong>l nostre sistema.<br />

Quan es crida l’ordre sense cap argument es mostra l’ajuda <strong>de</strong> l’ordre:<br />

E:\>route<br />

Manipula tablas <strong>de</strong> enrutamiento <strong>de</strong> red.<br />

ROUTE [-f] [-p] [comando [<strong>de</strong>stino] [MASK máscara_red] [puerta_enlace]<br />

[METRIC métrica] [IF interfaz]<br />

-f Borra las tablas <strong>de</strong> enrutamiento <strong>de</strong> todas las entradas <strong>de</strong><br />

puerta <strong>de</strong> enlace. Si se usa junto con uno <strong>de</strong> los comandos,<br />

se borrarán las tablas antes <strong>de</strong> ejecutarse el comando.<br />

-p Cuando se usa con el comando ADD, hace una ruta persistente<br />

en los inicios <strong>de</strong>l sistema. De manera pre<strong>de</strong>terminada, las<br />

rutas no se conservan cuando se reinicia el sistema. Se<br />

pasa por alto para todos los <strong>de</strong>más comandos, que siempre<br />

afectan a las rutas persistentes apropiadas. Esta opción no<br />

pue<strong>de</strong> utilizarse en Windows 95.<br />

comando Uno <strong>de</strong> los siguientes:<br />

PRINT Imprime una ruta<br />

ADD Agrega una ruta<br />

DELETE Elimina una ruta<br />

CHANGE Modifica una ruta existente<br />

<strong>de</strong>stino Especifica el host.<br />

MASK Especifica que el siguiente parámetro es la máscara <strong>de</strong> red<br />

máscara_red Especifica un valor <strong>de</strong> máscara <strong>de</strong> subred para esta<br />

entrada <strong>de</strong> ruta. Si no se especifica, se usa <strong>de</strong> forma pre<strong>de</strong>terminada<br />

el valor 255.255.255.255.<br />

puerta_enlace Especifica la puerta <strong>de</strong> enlace.<br />

interfaz El número <strong>de</strong> interfaz para la ruta especificada.<br />

METRIC Especifica la métrica; por ejemplo, costo para el <strong>de</strong>stino.<br />

Ejemplos:<br />

> route PRINT<br />

> route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2<br />

Si no se indica IF, intentará buscar la mejor interfaz para<br />

una puerta <strong>de</strong> enlace <strong>de</strong>terminada.<br />

> route PRINT<br />

> route PRINT 157* .... Sólo imprime las que coincidan con 157*<br />

> route DELETE 157.0.0.0<br />

> route PRINT<br />

Imprimeix la taula d’encaminament <strong>de</strong>l teu ordinador i emplena la taula següent:<br />

Taula 4.1<br />

1.<br />

2.<br />

3.<br />

4.<br />

Destinació <strong>de</strong><br />

xarxa<br />

Màscara <strong>de</strong><br />

xarxa<br />

17<br />

Porta d’accés Interfície Mètrica


5.<br />

6.<br />

7.<br />

8.<br />

Qüestió 4.1<br />

Explica la utilitat <strong>de</strong> cadascuna <strong>de</strong> les entra<strong>de</strong>s <strong>de</strong> la taula d’encaminament.<br />

1.<br />

2.<br />

3.<br />

4.<br />

5.<br />

6.<br />

7.<br />

8.<br />

Significat <strong>de</strong> l’entrada d’encaminament<br />

Qüestió 4.2<br />

I<strong>de</strong>ntifica l’entrada <strong>de</strong> la taula que correspon amb l’entrega directa (direct <strong>de</strong>livery) i<br />

elimina­la. A continuació crida l’ordre ping:<br />

C:\> ping zoltar.re<strong>de</strong>s.upv.es<br />

Explica què ha ocorregut i torna a afegir l’entrada que has eliminat per a tornar a la<br />

situació ante<br />

18


Qüestió 4.3<br />

Repeteix el mateix que en la qüestió anterior, però en aquest cas es tracta d’eliminar<br />

l’entrada per <strong>de</strong>fecte.<br />

Modifica la taula d’encaminament perquè l’entrada per <strong>de</strong>fecte apunte a una màquina<br />

<strong>de</strong>l laboratori i no al router. Crida l’ordre ping per a accedir a una màquina pertanyent a<br />

una xarxa IP remota (ex.: www.upc.es). Usant l’Analyzer, comprova que tot el trànsit<br />

que es genera cap a l’exterior es dirigeix a una màquina que no és el router i per tant no<br />

és possible la comunicació.<br />

(5) Adreça física i adreça IP<br />

Crida l’ordre ping i especifica com a host <strong>de</strong>stinació una màquina <strong>de</strong>l mateix laboratori<br />

(pertany a la mateixa subxarxa)<br />

C:\> ping –n 1 zoltar.re<strong>de</strong>s.upv.es<br />

i captura el trànsit generat. Emplena els camps següents amb la informació obtinguda <strong>de</strong><br />

la capçalera IP <strong>de</strong>ls paquets ICMP:<br />

Taula 5.1<br />

Pregunta<br />

Resposta<br />

Adreça Física Destinació Adreça IP Destinació<br />

Qüestió 5.1<br />

En el paquet <strong>de</strong> pregunta: L’adreça física <strong>de</strong>stinació i l’adreça IP <strong>de</strong>stinació corresponen<br />

a la mateixa màquina? Per què?<br />

19


Ara repeteix el procés per a una màquina externa (en una altra xarxa o subxarxa)<br />

C:\> ping –n 1 www.upc.es<br />

i captura el trànsit generat. Emplena els camps següents amb la informació obtinguda <strong>de</strong><br />

la capçalera IP <strong>de</strong>ls paquets ICMP:<br />

Taula 5.2<br />

Pregunta<br />

Resposta<br />

Adreça Física Destinació Adreça IP Destinació<br />

Qüestió 5.2<br />

En el paquet <strong>de</strong> pregunta: L’adreça física <strong>de</strong>stinació i l’adreça IP <strong>de</strong>stinació corresponen<br />

a la mateixa màquina? Per què?<br />

(6) L’ordre ping<br />

Mitjançant l’ordre ping (s’executa <strong>de</strong>s d’una finestra MS­DOS) s’obté una estimació<br />

<strong>de</strong>l temps d’anada i tornada d’un paquet, <strong>de</strong>s <strong>de</strong> l’estació origen fins a una estació<br />

<strong>de</strong>stinació que s’especifica. Per a això s’emmagatzema l’instant <strong>de</strong> temps en què s’envia<br />

el paquet i quan arriba la resposta al valor emmagatzemat se li resta <strong>de</strong>l temps actual. El<br />

funcionament <strong>de</strong>tallat <strong>de</strong> l’ordre ping serà estudiat més endavant en el curs quan<br />

s’introduïsquen els protocols IP (Internet Protocol) i ICMP (Internet Control Message<br />

Protocol). Unes altres utilitats <strong>de</strong> l’ordre ping són:<br />

Exemple:<br />

Esbrinar si una <strong>de</strong>stinació està operativa, connectada a la xarxa i els seus<br />

protocols TCP/IP en funcionament.<br />

Conèixer la fiabilitat <strong>de</strong> la ruta entre origen i <strong>de</strong>stinació (calculant el<br />

percentatge <strong>de</strong> paquets que obtenen resposta).<br />

C:\>ping www.upc.es<br />

Haciendo ping a www.upc.es [147.83.20.2] con 32 bytes <strong>de</strong> datos:<br />

Respuesta <strong>de</strong>s<strong>de</strong> 147.83.20.2: bytes=32 tiempo=23ms TTL=248<br />

Respuesta <strong>de</strong>s<strong>de</strong> 147.83.20.2: bytes=32 tiempo=20ms TTL=248<br />

Respuesta <strong>de</strong>s<strong>de</strong> 147.83.20.2: bytes=32 tiempo=31ms TTL=248<br />

20


Respuesta <strong>de</strong>s<strong>de</strong> 147.83.20.2: bytes=32 tiempo=24ms TTL=248<br />

Estadísticas <strong>de</strong> ping para 147.83.20.85:<br />

Paquetes: enviados = 4, Recibidos = 4, perdidos = 0 (0% loss),<br />

Tiempos aproximados <strong>de</strong> recorrido redondo en milisegundos:<br />

mínimo = 20ms, máximo = 31ms, promedio = 24ms<br />

L’ordre ping admet una sèrie d’opcions, algunes <strong>de</strong> les més útils es mostren a<br />

continuació:<br />

ping [-t] [-a] [-n cantidad] [-l tamaño] [-f] [-i TTL] [-v TOS]<br />

[-r cantidad] [-w Tiempo <strong>de</strong> espera agotado] lista <strong>de</strong> <strong>de</strong>stino<br />

Opciones:<br />

-t Solicita eco al host hasta ser interrumpido.<br />

Para ver estadísticas y continuar: presione<br />

Ctrl-Pausa/Inter.<br />

Para interrumpir: presione Ctrl-C.<br />

-a Resuelve direcciones a nombres <strong>de</strong> host.<br />

-n cantidad Cantidad <strong>de</strong> solicitu<strong>de</strong>s <strong>de</strong> eco a enviar.<br />

-l tamaño Tamaño <strong>de</strong>l búfer <strong>de</strong> envíos.<br />

-f No fragmentar el paquete.<br />

-i TTL Tiempo <strong>de</strong> vida.<br />

-v TOS Tipo <strong>de</strong> servicio.<br />

-r cantidad Registrar la ruta para esta cantidad <strong>de</strong> saltos.<br />

-w tiempo Tiempo <strong>de</strong> espera <strong>de</strong> respuesta en milisegundos.<br />

Fes un ping a les adreces següents: zoltar.re<strong>de</strong>s.upv.es (servidor dins <strong>de</strong>l Laboratori <strong>de</strong><br />

<strong>Xarxes</strong>), www.upv.es (servidor web <strong>de</strong> la UPV), www.upc.es (servidor web <strong>de</strong> la<br />

Universitat d’Alacant), www.ono.es (servidor web comercial), www.berkeley.edu<br />

(servidor web <strong>de</strong> la Universitat <strong>de</strong> Califòrnia a Berkeley). Anota els resultats en la taula<br />

següent<br />

Taula 6.1<br />

zoltar.re<strong>de</strong>s.upv.es<br />

www.upv.es<br />

www.upc.es<br />

www.ono.es<br />

www.berkeley.edu<br />

Paquets<br />

Temps d’anada i tornada<br />

(ms)<br />

Enviats Rebuts Perduts Mínim Màxim Mitjà<br />

Els resultats que s’obtenen mitjançant l’ordre ping són, <strong>de</strong> vega<strong>de</strong>s, difícils<br />

d’interpretar. L’usuari obté poca informació <strong>de</strong> per què el temps d’anada i tornada és<br />

major en unes <strong>de</strong>stinacions que en unes altres. Fins i tot quan no hi ha resposta al ping,<br />

no és possible conèixer quin és el problema: la màquina referenciada està fora <strong>de</strong> servei,<br />

21


no hi ha una ruta <strong>de</strong>s <strong>de</strong> l’origen fins a la <strong>de</strong>stinació o la saturació <strong>de</strong> la xarxa és tan alta<br />

que no s’obté resposta <strong>de</strong> la <strong>de</strong>stinació en un temps raonable. A pesar <strong>de</strong>l que hem dit,<br />

és una <strong>de</strong> les eines que més utilitzen els administradors i usuaris d’equips connectats en<br />

xarxa.<br />

A través <strong>de</strong> les opcions <strong>de</strong> l’ordre ping po<strong>de</strong>m modificar les característiques <strong>de</strong>l paquet<br />

(datagrama IP) que s’enviarà a través <strong>de</strong> la xarxa per a son<strong>de</strong>jar la <strong>de</strong>stinació. En aquest<br />

punt modificarem un d’aquests paràmetres. Com <strong>de</strong>us recordar, la quantitat màxima<br />

d’informació que pot transportar una trama Ethernet és <strong>de</strong> 1500 bytes. Si volem enviar<br />

un bloc d’informació superior, haurà <strong>de</strong> dividir­se en diverses trames. Quan en l’ordre<br />

ping especifiquem l’opció –f estem sol∙licitant que el bloc <strong>de</strong> da<strong>de</strong>s associat al paquet<br />

<strong>de</strong> “ping” no es fragmente en el seu recorregut <strong>de</strong>s <strong>de</strong> l’estació origen fins a l’estació<br />

<strong>de</strong>stinació.<br />

Qüestió 6.1<br />

Captura les trames ICMP resultants <strong>de</strong> l’execució <strong>de</strong> l’ordre: “ping<br />

zoltar.re<strong>de</strong>s.upv.es”, i reflecteix en la taula següent els valors corresponents<br />

a les trames captura<strong>de</strong>s:<br />

Núm. Echo Request<br />

Echo Reply<br />

Tipus: Codi:<br />

Tipus: Codi:<br />

I<strong>de</strong>ntificador Seqüència I<strong>de</strong>ntificador Seqüència<br />

1<br />

2<br />

3<br />

4<br />

Repeteix l’exercici, i comparant els resultats obtinguts amb els <strong>de</strong> la taula anterior,<br />

indica quina és la política d’assignació d’i<strong>de</strong>ntificadors i seqüències.<br />

Qüestió 6.2<br />

Executa la seqüència d’ordres següent:<br />

ping -l 1000 -f –n 1 zoltar.re<strong>de</strong>s.upv.es<br />

ping -l 1500 -f –n 1 zoltar.re<strong>de</strong>s.upv.es<br />

ping -l 2000 -f –n 1 zoltar.re<strong>de</strong>s.upv.es<br />

22


Es pot enviar un bloc <strong>de</strong> da<strong>de</strong>s <strong>de</strong> 1500 bytes sense fragmentació? Intenta explicar per<br />

què no es pot enviar sense fragmentació un bloc d’informació <strong>de</strong> 1500 bytes.<br />

Qüestió 6.3<br />

Esbrina per tempteig la grandària màxima (en bytes) <strong>de</strong>l bloc <strong>de</strong> da<strong>de</strong>s que pot ser<br />

enviat dins d’un sol paquet. Intenta explicar el perquè d’aquesta xifra.<br />

(7) L’ordre tracert<br />

L’ordre tracert (s’executa <strong>de</strong>s d’una finestra MS­DOS) permet conèixer el camí (la<br />

seqüència <strong>de</strong> routers) que ha <strong>de</strong> travessar un paquet per a arribar <strong>de</strong>s <strong>de</strong> l’estació origen<br />

fins a l’estació <strong>de</strong>stinació. El funcionament es basa a gestionar a<strong>de</strong>quadament un<br />

paràmetre <strong>de</strong> la capçalera <strong>de</strong>ls datagrames IP (el camp TTL: temps <strong>de</strong> vida) i en la<br />

informació que aporten els missatges ICMP que generen els routers quan els arriba un<br />

datagrama el temps <strong>de</strong> vida <strong>de</strong>l qual s’ha esgotat (tot això s’estudiarà amb <strong>de</strong>tall al llarg<br />

<strong>de</strong>l curs). Per cada nou router travessat pel datagrama es diu que hi ha un salt en la ruta.<br />

Po<strong>de</strong>m dir, que el programa tracert calcula i <strong>de</strong>scriu el nombre <strong>de</strong> salts d’una ruta.<br />

El programa <strong>de</strong> MS­DOS tracert realitza la funció següent: per a esbrinar cada nou salt<br />

envia tres datagrames i per a cadascun d’aquests calcula el valor <strong>de</strong>l temps d’anada i<br />

tornada. Si en un temps màxim (configurable) no hi ha resposta s’indica en l’eixida<br />

mitjançant un asterisc.<br />

Algunes puntualitzacions:<br />

No hi ha cap garantia que la ruta que s’ha utilitzat una vegada siga utilitzada la<br />

següent (quan estudiem el protocol IP veurem per què).<br />

No hi ha cap garantia que el camí seguit pel paquet <strong>de</strong> tornada siga el mateix<br />

que ha seguit el paquet d’anada. Això implica que a partir <strong>de</strong>l temps d’anada i<br />

tornada que ofereix tracert pot no ser directe estimar el temps d’anada o <strong>de</strong><br />

tornada per separat (si el temps que tarda el paquet a anar <strong>de</strong>s <strong>de</strong> l’origen fins<br />

al router és d’un segon i el temps que tarda el paquet <strong>de</strong> tornada és <strong>de</strong> tres<br />

segons el valor que ens proporcionarà tracert és <strong>de</strong> quatre segons)<br />

23


Monitora els missatges ICMP corresponents a l’ordre<br />

I emplena la taula següent:<br />

Taula 7.1<br />

Núm Petició<br />

Tipus: Codi:<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

Tracert www.upv.es<br />

Resposta<br />

Tipus: Codi:<br />

I<strong>de</strong>ntificador Seqüència TTL Host origen Da<strong>de</strong>s<br />

Qüestió 7.1<br />

Quin tipus <strong>de</strong> missatges ICMP s’observen? Basant­te en els missatges anteriors, escriu<br />

l’algorisme que empra tracert<br />

24


Executa l’ordre tracert per a les mateixes <strong>de</strong>stinacions <strong>de</strong> l’exercici 6 i anota en la taula<br />

següent el nombre <strong>de</strong> salts i el nom i l’adreça IP <strong>de</strong>ls routers que es travessen. Inclou<br />

també l’adreça IP <strong>de</strong> la màquina <strong>de</strong>stinació.<br />

Taula 7.2<br />

zoltar.re<strong>de</strong>s.upv.es<br />

www.upc.es<br />

www.berkeley.edu<br />

Salts Routers en el camí (nom i adreça IP)<br />

25


Part II: Els protocols IPv6 i ICMPv6<br />

Objetius<br />

L'objectiu d'aquesta pràctica és que l'alumne sàpiga configurar el sistema operatiu per a<br />

fer ús d'una xarxa IPv6 mitjançant la línia d'ordres. A més a més haurà d'estudiar el<br />

comportament <strong>de</strong>l protocol ICMPv6 a través <strong>de</strong> la ferramenta Analyzer.<br />

Descripció<br />

El protocol IPv6<br />

El protocol IPv6 va ser especificat l’any 1998 (RFC 2460) per a cobrir les mancances<br />

<strong>de</strong>tecta<strong>de</strong>s en la versió 4. Un <strong>de</strong>ls principals problemes d’IPv4 té a veure amb l’espai<br />

d’adreces <strong>de</strong> què disposa. L’IPv6 incrementa la grandària d’adreça IP <strong>de</strong> 32 bits a 128<br />

bits, per a donar suport a més nivells d’adreçament jeràrquic, un nombre molt major <strong>de</strong><br />

no<strong>de</strong>s adreçables, i una autoconfiguració més simple d’adreces. L’escalabilitat <strong>de</strong><br />

l’encaminament <strong>de</strong> multi<strong>de</strong>stinació (multicast) es millora agregant un camp àmbit<br />

(scope) a aquestes adreces. A més, es <strong>de</strong>fineix un nou tipus d’adreça anomenada adreça<br />

<strong>de</strong> servei (anycast address), usada per a enviar un paquet a un grup <strong>de</strong> no<strong>de</strong>s qualsevol.<br />

3 bits 45 bits 16 bits 64 bits<br />

Global Routing Prefix SLA<br />

Figura ?. Partició lògica d’una adreça IPv6.<br />

En la figura ?? es mostra la partició lògica d’una adreça IPv6. L’espai d’adreces IPv6 és<br />

bastant ampli, i això permet fer­ne una partició més jeràrquica i més fina. En particular,<br />

cal <strong>de</strong>stacar 4 grans grups d’adreces:<br />

2000::/3 Global Unicast [RFC4291]<br />

FC00::/7 Unique Local Unicast [RFC4193]<br />

FE80::/10 Link Local Unicast [RFC4291]<br />

FF00::/8 Multicast [RFC4291]<br />

Uns <strong>de</strong>ls principals avantatges d’IPv6 respecte a IPv4 és la possibilitat d’assignar<br />

automàticament adreces a les interfícies <strong>de</strong> xarxa. En implementar el format 64­bit<br />

Exten<strong>de</strong>d Unique I<strong>de</strong>ntifier (EUI­64) <strong>de</strong> l’IEEE, un terminal es pot assignar a si mateix<br />

una adreça IPv6 <strong>de</strong> manera automàtica, i així evita una assignació manual o un servidor<br />

DHCP. En el cas d’interfícies Ethernet, això s’aconsegueix basant­se en l’adreça MAC<br />

única <strong>de</strong> 48 bits, reformatant aquest valor perquè s’a<strong>de</strong>qüe a l’especificació EUI­64.<br />

El RFC 2373 <strong>de</strong>fineix el procés <strong>de</strong> conversió, que es pot <strong>de</strong>scriure en dos passos:<br />

26<br />

Interface ID


1. El primer pas és convertir l’adreça MAC <strong>de</strong> 48 bits en un valor <strong>de</strong> 64 bits. Per a<br />

aconseguir­ho, partim l’adreça MAC en dues meitats <strong>de</strong> 24 bits: l’i<strong>de</strong>ntificador<br />

organitzacional únic (OUI) i la part específica <strong>de</strong>l NIC. El valor hexa<strong>de</strong>cimal <strong>de</strong> 16 bits<br />

0xFFFE es col∙loca entre les dues mitats per a formar l’adreça <strong>de</strong> 64 bits. Com a<br />

exemple, partint <strong>de</strong> l’adreça MAC 00:12:7F:EB:6B:40, tindríem:<br />

Per què el valor 0xFFFE? Tal com s’explica en les Gui<strong>de</strong>lines for EUI­64 Registration<br />

Authority <strong>de</strong> l’IEEE, aquest és un valor reservat que els fabricants no po<strong>de</strong>n utilitzar en<br />

assignacions reals d’adreces EUI­64. En altres paraules, qualsevol adreça EUI­64 que<br />

inclou 0xFFFE immediatament <strong>de</strong>sprés <strong>de</strong>l seu OUI, pot ser reconeguda com generada a<br />

partir d’una adreça EUI­48 (MAC).<br />

2. El segon pas consisteix a invertir l’indicador (flag) universal/local (bit 7) <strong>de</strong> la porció<br />

OUI <strong>de</strong> l’adreça. Les adreces globals úniques assigna<strong>de</strong>s per l’IEEE tenen aquest bit<br />

originàriament a zero, la qual cosa indica unicitat a escala global. De la mateixa manera,<br />

les adreces crea<strong>de</strong>s localment, com ara les usa<strong>de</strong>s per a interfícies virtuals o adreces<br />

MAC assigna<strong>de</strong>s manualment, tenen aquest bit a u. El bit U/L s’inverteix quan usem<br />

una adreça EUI­64 com a i<strong>de</strong>ntificador d’interfície IPv6.<br />

Per a entendre la motivació d’aquesta alteració, cal analitzar la secció 2.5.1 <strong>de</strong>l RFC<br />

2373:<br />

“La motivació per a invertir el bit 'u' en l’instant <strong>de</strong> creació <strong>de</strong> l’i<strong>de</strong>ntificador<br />

d’interfície és simplificar la tasca <strong>de</strong>ls administradors <strong>de</strong>l sistema quan hagen <strong>de</strong> crear<br />

i<strong>de</strong>ntificadors local­scope manualment en situacions on no hi haja adreces <strong>de</strong> maquinari<br />

ja disponibles. Aquest és el cas d’enllaços sèries, extrems <strong>de</strong> túnels, etc. L’alternativa<br />

seria que aquestes adreces foren <strong>de</strong>l tipus 0200:0:0:1, 0200:0:0:2, etc., en compte <strong>de</strong> la<br />

notació ::1, ::2, etc., que és molt més senzilla.”<br />

En aquest punt cal <strong>de</strong>stacar que l’àmbit (scope) d’una adreça no canvia mai: les adreces<br />

globals continuen sent globals, i les adreces locals continuen sent locals. Simplement es<br />

canvia el significat d’aquest bit per comoditat, per això el valor <strong>de</strong>l bit també ha <strong>de</strong> ser<br />

invertit.<br />

27


Adreces <strong>de</strong> multi<strong>de</strong>stinació ( multicast)<br />

en IPv6<br />

Una adreça <strong>de</strong> multi<strong>de</strong>stinació i<strong>de</strong>ntifica múltiples interfícies. Amb una topologia<br />

d’encaminament <strong>de</strong> multi<strong>de</strong>stinació (multicast routing) apropiada, els paquets enviats a<br />

una adreça <strong>de</strong> multi<strong>de</strong>stinació són lliurats a totes les interfícies i<strong>de</strong>ntifica<strong>de</strong>s per aquesta<br />

adreça.<br />

Les adreces <strong>de</strong> multi<strong>de</strong>stinació IPv6 tenen el prefix 1111 1111. Així, una adreça IPv6 <strong>de</strong><br />

multi<strong>de</strong>stinació es pot i<strong>de</strong>ntificar ràpidament, ja que sempre comença per FF. Les<br />

adreces <strong>de</strong> multi<strong>de</strong>stinació no es po<strong>de</strong>n utilitzar com a adreces font.<br />

Després <strong>de</strong>l prefix FF, les adreces <strong>de</strong> multi<strong>de</strong>stinació inclouen una estructura addicional<br />

per a i<strong>de</strong>ntificar­ne els indicadors (flags), l’àmbit (scope) i el grup <strong>de</strong> multi<strong>de</strong>stinació,<br />

tal com s’il∙lustra a continuació:<br />

Figura ?. Estructura d’una adreça <strong>de</strong> multi<strong>de</strong>stinació IPv6.<br />

Els camps <strong>de</strong> l’adreça <strong>de</strong> multi<strong>de</strong>stinació són els següents:<br />

● Flags<br />

El camp Flags indica quines opcions estan actives en l’adreça <strong>de</strong><br />

multi<strong>de</strong>stinació. La grandària d’aquest camp és <strong>de</strong> 4 bits. L’únic indicador (flag) <strong>de</strong>finit<br />

en l’RFC 2373 és l’indicador Transient (T), que utilitza el bit <strong>de</strong> pes més baix d’aquest<br />

camp. Quan el seu valor és zero, l’indicador T indica que l’adreça <strong>de</strong> multi<strong>de</strong>stinació ha<br />

sigut assignada <strong>de</strong> manera permanent (well­known) per part <strong>de</strong> la IANA (Internet<br />

Assigned Numbers Authority). Quan el valor és u, indica que l’adreça <strong>de</strong><br />

multi<strong>de</strong>stinació és temporal (no assignada <strong>de</strong> forma permanent).<br />

● Scope<br />

El camp Scope indica l’àmbit d’IPv6 per al qual es <strong>de</strong>stina aquest trànsit. La<br />

grandària d’aquest camp és <strong>de</strong> 4 bits. A més <strong>de</strong> la informació oferida pels protocols<br />

d’encaminament <strong>de</strong> multi<strong>de</strong>stinació, els encaminadors (routers) utilitzen aquest camp<br />

per a <strong>de</strong>terminar si el trànsit <strong>de</strong> multi<strong>de</strong>stinació ha <strong>de</strong> ser reencaminat o no.<br />

L’RFC 2373 <strong>de</strong>fineix els àmbits d’aplicació següents:<br />

Valor <strong>de</strong>l camp<br />

Scope<br />

Àmbit d’aplicació<br />

1 No<strong>de</strong>­local<br />

2 Link­local<br />

5 Site­local<br />

8 Organization­local<br />

E Global<br />

28


Per exemple, el trànsit amb adreça <strong>de</strong> multi<strong>de</strong>stinació FF02::2 té un àmbit link­local, per<br />

la qual cosa un encaminador IPv6 mai l’encaminaria.<br />

● Group ID<br />

El camp Group ID i<strong>de</strong>ntifica el grup <strong>de</strong> multi<strong>de</strong>stinació i és únic per a un àmbit<br />

d’aplicació. La grandària d’aquest camp és <strong>de</strong> 112 bits. Els i<strong>de</strong>ntificadors <strong>de</strong> grup<br />

(groups ID) assignats <strong>de</strong> forma permanent són in<strong>de</strong>pen<strong>de</strong>nts <strong>de</strong> l’àmbit. Els<br />

i<strong>de</strong>ntificadors <strong>de</strong> grup transitoris només són rellevants per a un <strong>de</strong>terminant àmbit. Les<br />

adreces <strong>de</strong> multi<strong>de</strong>stinació <strong>de</strong>s <strong>de</strong> FF01:: fins a FF0F:: són adreces reserva<strong>de</strong>s<br />

preassigna<strong>de</strong>s.<br />

Per a i<strong>de</strong>ntificar tots els no<strong>de</strong>s en els àmbits no<strong>de</strong>­local i link­local, s’han <strong>de</strong>finit<br />

les adreces <strong>de</strong> multi<strong>de</strong>stinació següents:<br />

• FF01::1 (no<strong>de</strong>­local scope all­no<strong>de</strong>s address)<br />

• FF02::1 (link­local scope all­no<strong>de</strong>s address)<br />

D’una manera semblant, per a i<strong>de</strong>ntificar tots els encaminadors en l’àmbit no<strong>de</strong>local,<br />

link­local i site­local, s’han <strong>de</strong>finit les adreces <strong>de</strong> multi<strong>de</strong>stinació següents:<br />

• FF01::2 (no<strong>de</strong>­local scope all­routers address)<br />

• FF02::2 (link­local scope all­routers address)<br />

• FF05::2 (site­local scope all­routers address)<br />

Els 112 bits que formen l’i<strong>de</strong>ntificadors <strong>de</strong> grup permeten <strong>de</strong>finir un univers <strong>de</strong> 2 112<br />

possibles valors. A pesar d’això, a causa <strong>de</strong> la manera amb què les adreces <strong>de</strong><br />

multi<strong>de</strong>stinació IPv6 són mapa<strong>de</strong>s en adreces Ethernet <strong>de</strong> multi<strong>de</strong>stinació, l’RFC 2373<br />

recomana crear i<strong>de</strong>ntificadors <strong>de</strong> grup utilitzant només els 32 bits d’ordre més baix en<br />

les adreces <strong>de</strong> multi<strong>de</strong>stinació IPv6, i posar els altres bits a zero. En usar només els 32<br />

bits d’ordre més baix, ens assegurem que cada i<strong>de</strong>ntificador <strong>de</strong> grup estiga vinculat<br />

únicament a una adreça MAC <strong>de</strong> multi<strong>de</strong>stinació.<br />

Adreça <strong>de</strong> no<strong>de</strong> sol∙licitat (solicited­no<strong>de</strong> adress)<br />

La possibilitat <strong>de</strong> sol∙licitar l’adreça d’un no<strong>de</strong> facilita el procés <strong>de</strong> recerca d’estacions<br />

<strong>de</strong> la xarxa en el procés <strong>de</strong> resolució d’adreces. En IPv4, una trama ARP Request<br />

s’envia a l’adreça MAC <strong>de</strong> difusió, i és rebuda per totes les estacions en el mateix<br />

segment <strong>de</strong> xarxa, inclosos els que no permeten IPv4. L’IPv6 utilitza missatges <strong>de</strong>l tipus<br />

sol∙licitud <strong>de</strong> veí (Neighbor Solicitation) per a la resolució d’adreces, però, en compte<br />

d’utilitzar l’adreça d’àmbit local que i<strong>de</strong>ntifica tots els no<strong>de</strong>s en la mateixa subxarxa,<br />

s’utilitza l’adreça <strong>de</strong> multi<strong>de</strong>stinació que correspon al no<strong>de</strong> sol∙licitat. Aquesta adreça<br />

s’obté mitjançant el prefix FF02::1:FF00:0/104 i els últims 24 bits <strong>de</strong> l’adreça IPv6 que<br />

es pretén resoldre.<br />

Per exemple, per al no<strong>de</strong> amb una adreça IPv6 <strong>de</strong>l tipus link­local igual a<br />

FE80::2AA:FF:FE28:9C5A, l’adreça <strong>de</strong>l no<strong>de</strong> sol∙licitat corresponent és<br />

FF02::1:FF28:9C5A. Així, per a obtenir l’adreça MAC que correspon a la IP<br />

FE80::2AA:FF:FE28:9C5A, l’estació envia un missatge <strong>de</strong> sol∙licitud <strong>de</strong> veí a l’adreça<br />

29


FF02::1:FF28:9C5A. El no<strong>de</strong> que està utilitzant la IP FE80::2AA:FF:FE28:9C5A estarà<br />

escoltant el trànsit <strong>de</strong> multi<strong>de</strong>stinació en l’adreça <strong>de</strong> no<strong>de</strong> sol∙licitat que li corresponga i,<br />

per a interfícies que corresponguen a un adaptador <strong>de</strong> xarxa real, prèviament ha d’haver<br />

registrat l’adreça <strong>de</strong> multi<strong>de</strong>stinació corresponent amb l’adaptador <strong>de</strong> xarxa.<br />

El resultat <strong>de</strong> la utilització <strong>de</strong> l’adreça <strong>de</strong> no<strong>de</strong> sol∙licitat és que el procés <strong>de</strong> resolució<br />

d’adreces, que típicament s’aplica a un enllaç o subxarxa, no pertorbarà totes les<br />

estacions <strong>de</strong> la xarxa. De fet, a penes un nombre mínim d’estacions serà pertorbat. En la<br />

pràctica, a causa <strong>de</strong> l’estreta relació entre l’adreça MAC, l’i<strong>de</strong>ntificador IPv6 i l’adreça<br />

no<strong>de</strong> sol∙licitat, aquesta última actua com una pseudoadreça d’uni<strong>de</strong>stinació per a<br />

aconseguir un procés <strong>de</strong> resolució molt eficient.<br />

Funcionament amb IPv6<br />

Respecte a si el sistema operatiu permet la utilització d’IPv6, pràcticament la totalitat <strong>de</strong><br />

sistemes operatius actuals el permeten parcialment o totalment. En particular, el sistema<br />

operatiu Windows XP inclou les eines següents:<br />

• ipv6.exe: utilitzat per a la configuració <strong>de</strong>l protocol IPv6. El mèto<strong>de</strong> recomanat<br />

per a configurar IPv6 en Windows XP SP1 o SP2 és utilitzar ordres en el context<br />

netsh interface ipv6.<br />

• ping6.exe: l’eina recomanada per a ús en Windows XP SP1 o SP2 és la versió<br />

IPv6 <strong>de</strong> l’eina ping.exe.<br />

• tracert6.exe: <strong>de</strong> la mateixa manera, en Windows XP SP1 o SP2 es recomana<br />

l’ús <strong>de</strong> la versió IPv6 <strong>de</strong> l’eina tracert.exe.<br />

(1) Comencem per verificar la disponibilitat <strong>de</strong> la pila IPv6 en Windows XP<br />

(<strong>de</strong>shabilitada per <strong>de</strong>fecte):<br />

a) Per a saber si el funcionament amb IPv6 està actiu en la vostra màquina, executeu<br />

l’ordre: ipv6 if<br />

b) En el cas que no estiga actiu, executeu (com a administrador): ipv6 install<br />

A continuació, comproveu que efectivament s’ha activat els funcionament amb IPv6:<br />

ipv6 if<br />

c) Executant l’ordre ipconfig /all tenim informació sobre la nostra adreça IPv6 en un<br />

format més simplificat. En particular, ens centrarem en aquests dos camps (els valors<br />

concrets <strong>de</strong>penen <strong>de</strong> la màquina):<br />

Adreça física. . . . . . . . . : 00­50­56­22­00­01<br />

Adreça IP. . . . . . . . . . . : fe80::250:56ff:fe22:1%5<br />

Com es pot comprovar, l’adreça física (o MAC) i l’adreça IPv6 estan estrictament<br />

relaciona<strong>de</strong>s. De fet, tal com s’ha comentat abans, en IPv6 la interfície ID s’obté a partir<br />

<strong>de</strong> l’adreça MAC seguint la normativa EUI­64.<br />

30


(2) Per a començar fem un ping a la nostra pròpia màquina. En Windows XP això<br />

s’aconsegueix <strong>de</strong> tres maneres diferents:<br />

a) Fent ping a l’adreça ::1, que en IPv6 és equivalent a 127.0.0.1 per a IPv4:<br />

ping6 ::1<br />

b) Utilitzant l’adreça especial dins <strong>de</strong> les adreces reserva<strong>de</strong>s per a link­local unicast:<br />

ping6 fe80::1<br />

c) Utilitzant l’adreça pròpia dins <strong>de</strong> les adreces reserva<strong>de</strong>s per a link­local unicast:<br />

ping6 <br />

Nota: per a conèixer el valor <strong>de</strong> la nostra pròpia adreça, executem<br />

ipconfig /all<br />

(3) Ara intenteu calcular l’adreça IPv6 d’una màquina <strong>de</strong>l laboratori pròxima (encesa i<br />

amb Windows arrancat) a partir <strong>de</strong> l’adreça MAC <strong>de</strong> la interfície Xarxa Laboratori<br />

<strong>Xarxes</strong> (5):<br />

Adreça MAC: __________________________<br />

Adreça IPv6 (link­scope): _______________________________<br />

a) Feu un ping a l’adreça IPv6 que acabeu <strong>de</strong> calcular, i captureu els paquets<br />

intercanviats a través <strong>de</strong> la targeta <strong>de</strong> Red 3Com Ethernet utilitzant Analyzer.<br />

Per a fer ping heu <strong>de</strong> seguir la sintaxi:<br />

ping6 %i<br />

on %i indica que és una adreça associada a la interfície <strong>de</strong> xarxa número i (típicament 4<br />

o 5), segons l’ordre: netsh interface ipv6 show address.<br />

Les tres primeres interfícies haurien <strong>de</strong> ser les mateixes en la major part <strong>de</strong> sistemes<br />

utilitzats. Les interfícies quatre i superiors varien segons el sistema, i <strong>de</strong>penen <strong>de</strong>l<br />

maquinari utilitzat.<br />

Núm.<br />

d’interfíc<br />

ie<br />

1<br />

2<br />

3<br />

Taula 1. Interfícies IPv6 en Windows XP.<br />

Nom Descripció<br />

Loopback Pseudo­<br />

Interface<br />

Automatic<br />

Tunneling Pseudo­<br />

Interface<br />

6to4 Tunneling<br />

Pseudo­Interface<br />

4 Network adapters<br />

Aquesta interfície ofereix l’equivalent a<br />

l’adreça 127.0.0.1 en IPv4. Ofereix un<br />

loopback IPv6 mitjançant l’adreça ::1 o<br />

FE80::1<br />

Com el seu nom indica, és una interfície<br />

utilitzada per a creació automàtica <strong>de</strong><br />

túnels.<br />

Aquesta interfície ofereix un túnel IPv6<br />

a IPv4.<br />

Les interfícies 4 i superiors es creen<br />

dinàmicament i <strong>de</strong>penen <strong>de</strong>l maquinari<br />

present en l’equip.<br />

31


) Analitzeu els paquets capturats amb Analyzer. Veureu que no s’han generat paquets<br />

ARP. Per què? ______________________________________________<br />

c) Veureu que hi apareixen dos paquets <strong>de</strong>l tipus Neighbor Solicitation i Neighbor<br />

Advertisement en la seqüència. Quina informació transporten?<br />

_______________________________________________<br />

(4) Quan no tenim suport nadiu per a IPv6 en la UPV, cap encaminador ens ofereix<br />

adreces IPv6 globalment vàli<strong>de</strong>s (2000::/3), o Unique Local Unicast (FC00::/7). En<br />

aquest exercici configurarem manualment una adreça IPv6 <strong>de</strong> la família Unique Local<br />

Unicast (FC00::/7).<br />

a) En primer lloc, verifiquem quines interfícies <strong>de</strong> xarxa tenim i les adreces IPv6<br />

associa<strong>de</strong>s:<br />

netsh interface ipv6 show address<br />

b) En segon lloc, cal afegir una adreça IPv6 en la xarxa FC01::/64 a un dispositiu:<br />

netsh interface ipv6 add address "Xarxa Laboratori <strong>de</strong> <strong>Xarxes</strong>" <br />

opcionalment po<strong>de</strong>m i<strong>de</strong>ntificar la interfície <strong>de</strong> xarxa pel número que té:<br />

netsh interface ipv6 add address 5 <br />

c) En tercer lloc, verifiquem que efectivament s’hi ha afegit la nova adreça IP. Això es<br />

pot fer per mitjà <strong>de</strong> l’ordre:<br />

netsh interface ipv6 show address<br />

d) En quart lloc, afegim la ruta que correspon a la xarxa FC01::/64 a la taula<br />

d’encaminament:<br />

netsh interface ipv6 add route FC01::/64 5 (o “Xarxa Laboratori <strong>de</strong> <strong>Xarxes</strong>”)<br />

i consultem la taula d’encaminament per a comprovar que efectivament s’ha actualitzat:<br />

netsh interface ipv6 show routes<br />

e) Capturem els paquets IPv6 circulant per la xarxa i llancem un ping cap a una estació<br />

veïna. Ara ja no ens cal i<strong>de</strong>ntificar la interfície utilitzada mitjançant %n. Per què?<br />

___________________________<br />

f) Analitzant la seqüència veureu que inicialment s’hi usen les adreces <strong>de</strong><br />

multi<strong>de</strong>stinació <strong>de</strong>l tipus adreça <strong>de</strong> no<strong>de</strong> sol∙licitat. Apunteu els valors obtinguts:<br />

Destination MAC address Destination IPv6 adress<br />

Nota: A partir <strong>de</strong>l primer intercanvi, podreu observar que els paquets Neighbor<br />

Solicitation i Neighbor Advertisement capturats no utilitzen adreces <strong>de</strong> multi<strong>de</strong>stinació<br />

<strong>de</strong>l tipus FF02::1:FF00:0/104 <strong>de</strong>finit per a aquest propòsit, perquè es tracta d’adreces ja<br />

conegu<strong>de</strong>s. Si no heu pogut capturar aquest intercanvi inicial, proveu a fer un ping a una<br />

adreça inexistent i confirmeu, analitzant la seqüència, l’ús <strong>de</strong> les adreces <strong>de</strong><br />

multi<strong>de</strong>stinació <strong>de</strong>l tipus solicited­no<strong>de</strong> address.<br />

32


g) Al final, esborreu l’adreça i la xarxa FC01::/64 fent:<br />

netsh interface ipv6 <strong>de</strong>lete address 5 fc01::<br />

netsh interface ipv6 <strong>de</strong>lete route FC01::/64 5 (o “Xarxa Laboratori <strong>de</strong> <strong>Xarxes</strong>”)<br />

Per a comprovar que han sigut eliminats correctament, executeu:<br />

netsh interface ipv6 show address<br />

netsh interface ipv6 show routes<br />

(5) Finalment, provarem l’ús d’adreces <strong>de</strong> multi<strong>de</strong>stinació en la interfície 7 (xarxa<br />

UPV). Algunes tenen un significat especial, com s’ha vist abans.<br />

a) Proveu a fer un ping a l’adreça FF01::1%7 i observeu­ne els resultats en la consola i<br />

la seqüència capturada. Obteniu resposta però no captureu cap paquet. Per què?<br />

________________________________________________<br />

b) A continuació, feu un ping a FF02::1%7. Quina és la diferència respecte a l’anterior?<br />

________________________________________________<br />

c) Proveu ara a fer un ping a l’adreça FF02::2. Heu obtingut resposta? Per què?<br />

________________________________________________<br />

Enllaços útils:<br />

http://www.iana.org/<br />

http://www.microsoft.com/technet/network/ipv6/ipv6faq.mspx<br />

http://technet.microsoft.com/es­es/library/bb878115(en­us).aspx<br />

http://technet.microsoft.com/es­es/library/bb878102(en­us).aspx<br />

http://technet.microsoft.com/en­us/network/bb530961.aspx<br />

33

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!