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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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!