You are on page 1of 33

Prctica

RedesdeComputadores

ParteI:LosprotocolosIPeICMP
Objetivos
ElobjetivodeestaprcticaesanalizarelcomportamientodelosprotocolosIPeICMPa
travsdelaherramienta Analyzerintroducidaenlaprcticaanterior.Conestetipode
herramientaspodemoscapturarflujosdepaquetesIPparaposteriormenteanalizarlosy
asverificarlafuncionalidaddelprotocoloIP,delamismamaneraquehemoshecho
conelprotocoloARP.ConrespectoalprotocoloICMPestudiaremosdoscomandos
ampliamente utilizados que se basan en el intercambio de mensajes ICMP: Ping y
traceroute.

Descripcin
Hasta ahora hemos visto aspectos relacionados con el hardware de red de nuestras
mquinas:Accesoaladaptadorderedyunmecanismoparalaresolucindedirecciones
hardware. Esto nos suministra un acceso a nuestra red local que permite la
comunicacinaniveldetramacontodaslasmquinasdelamisma.
Sinembargo,lainterconexindedistintasredes,tantolocalescomodereaextensao
metropolitana, introduce un problema de comunicacin al involucrarse distintos
sistemasdedireccionamientoavecesincompatiblesentres(talycomodecamosal
hablardelprotocoloARP).ElprotocoloIP(InternetProtocol)eselqueseencargade
resolverestasdiferenciasdefiniendounespaciodedireccionesuniversalporencimade
lasdireccioneshardwarequecadareddefine.Estopermitequemquinasconectadasa
redesremotas,yprobablementecondireccionamientohardwareincompatible,puedan
comunicarseatravsdeesteprotocolo.
El protocoloIP eselpilar bsico deInternet (redderedes,interconectadas anivel
mundial) que permite la interconexin de redes abstrayndose de las diferentes
tecnologas de red existentes. Es, en su totalidad, un protocolo software que est
desligado de los detalles del hardware de red, caracterstica fundamental para la
interconexinredes.
En la estructura de Internet (Figura 1) se definen unos elementos conocidos como
pasarelas orouters IPqueseencargandeconectar dos oms redes entresyque
trabajananiveldepaqueteIP(nivel3OSI).Estoselementos,definenlasfronterasde
lasredesaestenivel,conocidascomoredesIP.

TokenRing
TokenRing
ProNet10
ProNet10

Ethernet
Ethernet

R1

Internet
Internet

R2

FDDI+
FDDI+
Ethernet
Ethernet

R3

X.25
X.25

Figura1:RedesconectadasatravsderoutersIP:Internet.
Enlafigura,podemosobservarunadeestasredesIPquecontienenredesEthernety
FDDI.EstepodraserelejemplodelaantiguareddelaUPVqueconsistaenunanica
redIPcompuestapordiversossegmentosderedEthernetconectadosporunatroncal
basadaenundobleanilloFDDI.Loselementosqueseparanestossegmentosdered,los
puentesobridges,trabajananiveldetrama(nivel2OSI),porloqueunadifusin
Ethernet(direccindestino:FF:FF:FF:FF:FF:FF),sepropagaratodaslasmquinasde
laredIP.EstadifusinnopasaatravsdelapasarelaR1,yaqueestadefinelafrontera
delaredIPyporotroladotrabajaconlospaquetesdenivel3.
Elprotocolo,portanto,permitelainterconexinderedesdeformaindependienteal
hardwaredelasmismas.Veamosalgunasdesuscaractersticas:

Define una red virtual, Internet, con un espacio de direcciones virtuales,


direccionesIP,quesonasignadasdeformaexclusivaaloshostsquepertenezcan
alamisma.

Se encarga de llevar los mensajes de un host a otro cualquiera de Internet,


independientementededondeestconectado.

ElprotocoloIPrealizalasfuncionesdelniveldered,segnOSI,ofreciendoun
serviciosinconexin.PorloqueNOgarantizalaentregadelosmensajes,el
ordenenquehansidoenviadosnilaausenciadeerrores,entreotrascosas.

Launidaddeinformacinconlaquetrabajaseladenominadatagrama.

Loshostsylaspasarelasimplementanesteprotocolo.Estasltimas,secentran
enlatareadeconducirlosdatagramas desdeelhostorigenhaciaeldestino
remoto a travs de las redes intermedias que sea necesario cruzar
(encaminamientoIP).

DireccionesIP.
LasdireccionesIPsonde32bitsysedividenendoscampos:IdentificacindelaredIP
(NetID)eidentificacindelhost(Hostil)pertenecienteaesared.EnlaFigura2se
muestranlasdistintasclasesdedireccionesIP.
01816

ClaseA
ClaseB
ClaseC
ClaseD
ClaseE

NetId

HostId
NetId

HostId
NetId

HostId

Direccinmulticast
RESERVADO

Figura2:ClasesdedireccionesIP.
Astenemos27redesdeclaseA,cadaunadeellasconcapacidaddedireccionarhasta
224hosts,214redesdeclaseB,cadaunadeellasconuncapacidadde216hostsy221redes
declaseCconcapacidadde28hosts.Tambinseproporcionaunespaciodedirecciones
paradireccionesdegrupo(direccionesmulticast).
LasdireccionesIPsesuelenrepresentarenformatodecimal(4octetosseparadosporun
punto decimal) enlugardeexpresarlas comounnmerode32bits.Deestaforma
podemosidentificarrpidamentelosoctetosquepertenecenalidentificadorderedylos
del host. Ejemplos de direcciones: 158.42.53.127 (clase B: NetID=158.42 y
HostID=53.127), 192.15.32.200 (clase C: NetID=192.15.32 y HostID=200),
11.10.200.1(claseA:NetID=11yHostID=10.200.11).
Sinembargoexistendireccionesespecialesquenodebenserasignadasaunhost,yaque
tienenunsignificadopropio,as:

Direccindered:Lasredestienensudireccin,quenoesmsqueelNetIDcon
elidentificadordelaredyelHostIDacero.Ejemplo:158.42.0.0(direccinde
reddelaUPV).

Direccindebroadcast:DefineladireccindedifusinaniveldeIP.Consiste
enelNetIDconelidentificadordelareddondesevaarealizarladifusin,yen
elHostIDsecolocatodoa1s.Ejemplo:158.42.255.255(direccindedifusin
delaUPV).

Difusinlimitada:Esotrotipodedifusinperoqueseextiendesolosobrela
red IP donde ha sido generada. Los dos campos de la direccin IP a 1s.
Ejemplo:255.255.255.255.

Direccindebucle(loopback):EsunadireccindeclaseA,127.x.x.x,queseha
reservadopara soportar comunicaciones entre aplicaciones delmismo hosty
paracomprobarelfuncionamientodeaplicacionesderedsininterferirenella.Si
utilizamosestadireccinparaenviarundatagrama,elprotocoloIPlareenva
haciaelprotocolosuperior,NUNCAlaenviarhacialared.Habitualmentese
utilizaladireccindebucle:127.0.0.1.

Nuestro propio host: Es una direccin que se usa en circunstancias muy


concretas,indicarladireccindenuestrohost.NoesunadireccinIPvlida.
Ejemplo:0.0.0.0

Hostennuestrared:ElcampocorrespondientealNetIDseponea"0",para
especificarladireccindeunhostennuestrapropiared.Aligualquelaanterior
slodebeusarseendeterminadascircunstancias..Ejemplo:0.0.53.127.

FormatodeundatagramaIP.
LosdatagramasIPseencapsulandentrodeunatrama,ocupandoelespaciodedicadoal
campodedatosdelamisma(Figura3).
Tipodeprot.IP
IP=0x0800

DatagramaIP

DireccionesHw.
Dir.Destino

Dir.Origen

0x800

Campodedatos(MTU=1500)

CabeceradelatramaEthernet(DIX)
Figura3:EncapsuladodeundatagramaIPenunatramaEthernet.
El tamao mximodeundatagrama, 64Kbsegnelestndar delprotocoloIP.Sin
embargo,eltamaodeldatagramaestlimitadoporeltamaomximodelcampode
datosdelatramaquelovaallevar.Estaesunalimitacinquedependedelatecnologa
dered1quetengamos.Cadatecnologadereddefineeltamaomximodelcampode
datosdelatrama,tambinconocidocomoMTU(MaximunTransferUnit),quemaneja.
As,porejemplo,EthernetdefineunMTUde1500octetos.
ElprotocoloIP,lgicamenteusadireccionesIPparaidentificarlafuenteyeldestinode
datagrama. Ahora bien, el datagrama viaja dentro de una trama, y sta utiliza
direccioneshardware.Yporestemotivo,necesitamoslosserviciosdelprotocoloARP,
para determinar la direccin hardware que corresponde a la direccin IP del
destinatario.

EslanicadependenciaqueIPtienedelhardwarederedsubyacente.

El datagrama, se divide en dos campos: Cabecera y datos. La cabecera contiene


informacinqueelprotocolonecesitaparaofrecersuservicio,yelcampodedatos
contieneelmensajeensiquetienequeserentregadoenelhostdestino.Enlafigura4
semuestraelformatodeundatagrama,dondepuedenapreciarselossiguientescampos:

Versin:EspecificalaversindelprotocoloIPalaqueperteneceeldatagrama,
actualmenteseestutilizandolaversin4delprotocolo.

Longituddelacabecera:DefineeltamaodelacabeceraIPenpalabrasde32
bits, ya que esta puede ser de tamao variable. A efectos prcticos
consideraremoslacabeceraIPdetamaofijo(sincampodeopciones).

Tipo de servicio: Contiene informacin acerca de cmo debe ser tratado el


datagramaensuviajealdestino.Incluyealgunostemsacercadelacalidadde
servicioquevaarecibirestedatagrama.Actualmente,enestaversindeIP,este
camponoesutilizadoysuvalorsueleser0.
0481631
verslongctiposerviciolongitudtotal
identificacinflagsdesp.Fragmento
tiempovidaprotocolochecksumdelacabecera
direccinIP

C
A
B
E
C
E
R
A

direccinIPdestino
fuente
opcionesIP(opcional)Relleno
DATOS
Figura4:FormatodeundatagramaIP.

Longitudtotal:Comosunombreindica,defineeltamaototaldeldatagrama
(cabecera+datos)enbytes.

Identificacin:Esunenterode16bitsqueidentificaaestedatagramaylo
distinguedeotrosdatagramasquehemosenviado.Esunaespeciedenmerode
secuenciaqueseincrementacadavezqueIPenvaundatagrama.

Flags +Desplazamientodefragmento:Estoscampos incluyen informacin


tilparaelmecanismodefragmentacindedatagramas.Cuandoundatagrama
cruzaunapasarelayalotroladoexisteunaredconunMTUinferioraltamao
del datagrama, la pasarela lo fragmenta en trozos. Estos fragmentos son
datagramas que viajan hacia el destino de forma independiente, donde son
recogidosporelprotocoloIPparareconstruireldatagramaoriginal.

Tiempodevida(TTL):Defineeltiempodequedisponeeldatagramapara
llegarasudestino,conelfindeevitarlaexistenciadedatagramasque,por
erroresenelencaminamiento,estndandovueltasindefinidamenteenlared.
Cadavezqueeldatagramacruzaunapasarela,estecampoesdecrementadoen
unaunidad,deformaquecuandoalcanzaelvalornulo,eseliminadodelared.

Protocolo:Identificaelprotocoloalquepertenecenlainformacinalmacenada
en el campo de datos del datagrama. De forma que cuando se recibe un
datagramadirigidoanuestramquina,ydespusderealizarlascomprobaciones
pertinentes,elprotocoloIPdebesaberaquinentregalosdatosquellevadicho
datagrama.As,para losprotocolos ICMP,UDPyTCPlosvalores deeste
camposern1,17y6respectivamente.

Checksumdelacabecera:Enestecamposealmacenaunchecksumdelos
camposdelacabecera.Esunmecanismosimpleparadetectarposibleserrores
en los campos de la cabecera del datagrama, los cuales podran provocar
situaciones"incmodas"enlared.

DireccionesIPorigenydestino:Direccionesorigenydestinodeldatagrama.
Aunqueeldatagrama viaje atravs devarias pasarelas,estoscampos nunca
cambian.

OpcionesIP:Estecampoesopcionalydelongitudvariable.Porestoltimo,es
necesarioaadiruncampoderellenoconelfindeajustareltamaodeeste
campoamltiplosde32bits.

ElencaminamientoIP.
Comohabamosdicho,elprotocoloIPdebellevarlosdatagramasdesdeelhostorigen
haciaelhostdestino,cruzandolaspasarelasyredesnecesariasparatalfin.Portanto,
sonlaspasarelaslasqueparticipandeformaactivaenelencaminamientodeldatagrama
haciasucorrectodestino
EsteencaminamientosebasaenladireccinIPdestinodeldatagrama(campodela
cabeceradelmismo).Enrealidad,sebasafundamentalmenteenelcampoNetIDdela
direccin destino, ya que el datagrama se encamina hacia la red destino a la que
perteneceeldestinatario.
Setratadeunencaminamientodistribuido,dondecadapasarelasloconocelasiguiente
enlarutahaciaeldestino.Notienenunconocimientoglobaldelarutaquevaseguirel
datagrama.Porestarazn,lastablasdeencaminamientodelaspasarelasdebenestar
actualizadaspararealizarelencaminamientolomejorposible.Dehecho,laspasarelas
disponendeprotocolosespecficosqueintercambianinformacindeencaminamiento,
conelfindecoordinarlasmejoresrutasencadamomento.
Elalgoritmodeencaminamientoqueutilizanlaspasarelasyloshostsestbasadoen
unatabla.Estadisponedeunaseriedeentradasdondeseindicanlasrutasaseguiren

funcindecadareddestino.Antesdeenviarundatagrama,consultamossudireccin
destinoparaconocerlaredalaqueperteneceelhostdestino,deformaque:

SicoincideconelNetIDdeunaredalaqueestamosdirectamenteconectados,
entoncessetratadeunencaminamientodirecto.

Encasocontrario,tendremosqueutilizarunapasarela.Paraelloconsultamos
nuestratabladeencaminamientoenbuscadeunaentradaquemeindiquela
siguiente pasarela que hay que utilizar para acercarnos a la red donde se
encuentraeldestinatario.Estoesunencaminamientoindirecto.

Encualquieradelosdoscasostenemosqueenviareldatagramahaciaelhost
(encaminamiento directo) o pasarela (encaminamiento indirecto)
correspondiente. Elenvodeldatagrama requierelosservicios deARP,para
adivinarladireccinhardwareyaspoderencapsulareldatagramaenunatrama.

Formatodelatabladeencaminamiento.
LastablasdeencaminamientoIPestnformadasporentradasque,ensuversinms
sencilla, tienen slo dos campos: El NetID de la red que queremos alcanzar y la
direccinIPdelapasarelaquedebemosutilizarparallegaraella.
Sin embargo, existenotros tiposdeentradas quefacilitan laimplementacin delas
mismasyquesuinterpretacinesunpocodiferente:

Rutapordefecto:Serefierealencaminamientopordefecto,deformaquesi
ninguna entrada de la tabla satisface el encaminamiento de un datagrama,
entoncesseaplicaelencaminamientopordefectoespecificadoenestaentrada.
EnelprimercampodelaentradadelatablaapareceelsmboloDefaultpara
indicar que se trata de una entrada de este tipo, y en el segundo campo se
encuentraladireccinIPdelapasarelaquepordefectodebemosusar2.

Rutasespecficas:Aunqueelencaminamientoestbasadoenlaidentificacinde
las redesynodeloshosts,estaentradapermite indicar unencaminamiento
especfico para un host destino determinado. Se utiliza para propsitos muy
especficos.Enelprimercamposecolocaladireccindelhostdestino,yenel
segundolapasarelaautilizar.

AlgoritmodeencaminamientoIP.
Veamoselalgoritmodeencaminamientoquetantounhostcomounapasareladeben
implementardentrodelprotocoloIP:
1. PartiendodeladireccinIPdestinodeldatagrama,extraemoselidentificadorde
red,IN,yelidentificadordelhost,IH.
2

Ayudanareducireltamaodelastablas.Sonmuytilesenlastablasdeencaminamientodeloshosts
quepertenecenunaredIPconunanicapasarela.

2. SiINcoincideconelNetIDdecualquierredquetengamosdirectamente
conectada,encaminamientodirecto,entoncesenviamoseldatagrama
directamentealhostdestino.Paraelloencapsulamoseldatagramadentrodeuna
trama,cuyadireccinhardwaredestinoaveriguaremosvaARP.Setratadeun
hostpertenecienteanuestraredIP.
3. Sino,siIHapareceenlatabladeencaminamientocomounaentradaderuta
especfica,usaremoslapasarelaasociadacomodestinatariodeldatagrama,
apoyndonosenARP.
4. Sino,siINaparececomounaentradaenlatabladeencaminamiento,
entregaremoseldatagramaalapasarelaespecificadaenella.
5. Sino,sienlatabladeencaminamientoexisteunarutapordefecto,lausaremos
paraencaminarnuestrodatagrama.
6. Sino,entoncesexisteunerrorquedebemosnotificar,descartandoeldatagrama.

ElprotocoloICMP
ComohemosvistoelcometidodelprotocoloIPeseltransportededatagramasdesdeun
hostorigenaotrocualquieraenInternet.ElservicioquerealizaIPesunserviciosin
conexin, por lo que no se garantiza ningn tipo de calidad de servicio, pudiendo
ocurrirlaprdidadedatagramas,suentregadesordenada,erroresenlosmensajesque
transporta,etc.
Cuandoundatagramaviajahaciasudestinotendrqueatravesarunaseriedepasarelas
(routers), las cuales procesan el datagrama para dirigirlo adecuadamente hacia su
destino. Si una pasarela no puede encaminar ese datagrama, o bien detecta alguna
condicinespecialenlaqueseveincapacitadaparahacerlo(congestindered,lneas
fueradeservicio,etc.),entoncesesedatagramasepierde.
Estasyotrascircunstanciaseneltratamientodelosdatagramasensuviajehaciael
destino,hacennecesariolacreacindeunmecanismoque,almenos,informedeestas
situacionesalhostorigen,paraqueseaconscientedelosproblemasquehasufridoel
datagramaquehaenviadoy,siprocede,tomelasaccionesoportunas.Deaqunaceel
protocoloICMP.
ElprotocoloICMP(InternetControlMessageProtocol),esunmecanismoqueinforma
de la aparicin de errores en la manipulacin de los datagramas. Siempre que una
pasareladetecteunerroroexcepcinenundatagrama,utilizaelprotocoloICMPpara
informar al host origen de la circunstancia. ICMP no realiza ninguna accin para
corregirelerrorquesehayaproducido,solamenteseencargadecomunicarloalhost
origenparaquesterealicelasaccionesoportunasparacorregirelerror.

Originalmente,ICMPfuediseadocomounprotocoloparalaspasarelas,sinembargo
los host tambin lo pueden utilizar. Los mensajes ICMP van encapsulados en
datagramasIP.EldestinodelmensajeICMPnoserlaaplicacindelusuarioenelhost
destino,sinoquedeberserinterpretarloporsumduloICMP.SiunmensajeICMP
afectaaunaaplicacindelusuario,ICMPdeberarticularlosmecanismosnecesarios
paracomunicaralaaplicacineleventoocurrido.
Aunqueesteprotocolofuediseadoparadetectarlasincidenciasqueseproducenenel
transportedeundatagramahaciaelhostdestino,notodasellaspuedenserdetectadas.
EntreestascausasseencuentralaprdidadeundatagramaquellevaunmensajeICMP.
Enestepunto,podramospensarqueparasolucionaresteproblema,estaprdidapodra
sernotificadaconotromensajeICMP.Msquesolucionarelproblema,loestaramos
agravandocuandolarazndeesaprdidaseaunacongestinenlared.Poreso,NOSE
PERMITElanotificacindemensajesICMPcausadosporlaprdidadedatagramas
quellevenunmensajeICMP.Otranormageneralqueimponeesteprotocoloesquelas
notificacionesdeerrorsehacenSOLAMENTEalhostorigen.

FormatodelosmensajesICMP.
Comohabamoscomentadoanteriormente,losmensajesdeICMPvanencapsulados
endatagramascomomuestralaFigura5:
CampoProto.ICMP
ICMP=0x01
Tipodeprot.IP
IP=0x0800

CabeceraIP

MensajeICMP

Campodedatos

DireccionesMAC
Dir.Destino

Dir.Origen

0x800

Campodedatos(MTU=1500)

CabeceradelatramaEthernet(DIX)
Figura5:EncapsuladodeunmensajeICMPenundatagrama.
AunqueveamosqueICMPvaencapsuladoenundatagramadeIP,esonoquieredecir
queICMPseaunprotocolodenivelsuperior(niveldetransporte).Sedebeconsiderar
comopartedeIP,comosifueseunaherramientaauxiliarquedisponeIPparapoder
detectarerroreseneltransportedelosdatagramasasusdestinos.
Campotipo
0
3
4
5
8

TipodemensajeICMP
EchoReply
DestinationUnreachable
SourceQuench
Redirect
EchoRequest

11
12
13
14
15
16
17
18

Timeexceeded
ParameterProblem
TimestampRequest
TimestampReply
InformationRequest
InformationReply
AddressMaskRequest
AddressMaskReply
Tabla1:TiposdemensajesICMP.

CadatipodemensajeICMPtienesupropioformato,aunquetodoselloscomienzancon
trescamposcomunes,elrestopuedevariarenfuncindeltipodemensaje:

ElcampoTIPOidentificaeltipodemensajeICMP(ocupa8bits).Enlatabla
1,semuestranlosdistintasopcionesquecontemplaesteprotocolo.
El campo CDIGO se usa para dar ms informacin acerca del tipo de
mensajeICMP(8bits).
Yelltimocampo,contendrelchecksumdetodoelmensajeICMP(16bits).
ElclculodelchecksumeselmismoqueenIP,soloqueenestecasocubre
todoelmensajeICMP.

En la tabla 1 se muestran los distintos tipos de mensajes ICMP que considera el


protocolo.Detodosellos,losmsimportantessonlosseisprimeros,queacontinuacin
pasamosadescribirbrevemente:

EchoRequesty EchoReply:Sondosmensajesqueseusanconjuntamente
paradeterminarlaalcanzabilidaddeunhostounapasarela.Normalmenteson
utilizadosporloshosts,deformaqueestospuedenextraerinformacinacerca
delestadodelhostremoto,elretardoqueintroducelaredenlaentregadelos
mensajesyelporcentajedemensajesperdidos.
Destinoinalcanzable(Destinationunreachable):Setratadeunmensajeque
es generado por una pasarela cuando no puede encaminar un datagrama.
Existendiferentescausasqueprovocanlaemisindeestemensajeyqueestn
codificadasenelcampocdigodelmensajeICMP.Elmensajeesdirigidoal
hostquehaenviadoeldatagrama,yensuinteriorseespecificanlosprimeros
64bitsdeldatagramaquelohacausado.
SourceQuench:Esunmensajequeutilizanlaspasarelasparafrenarelritmo
deinyeccindemensajesenlareddeundeterminadohost.Estasituacinse
produce cuando una pasarela se ve sobrecargada con la recepcin de
datagramas (una posible situacin de congestin) teniendo que descartar
algunosporfaltadebuffers.Cuandoseproduceestasituacin,lapasarela
enva un mensaje de este tipo al host origen del datagrama descartado,
dicindole que baje el ritmo de inyeccin de datagramas ya que en ese
momentohayunasituacintemporaldecongestin.

10

Cambioderuta (redirect):Estemensajeesutilizadoporunapasarelapara
indicaraunhostdesuredIP,uncambioensutabladeencaminamiento,
debidoalaexistenciadeotrapasarelaenlaredqueesmsidneaquelaque
estutilizandoactualmente.
Tiempodevidaagotado (TimeExceeded):Cuandounapasarelaencamina
undatagrama,unadesustareasesdecrementarenunaunidadelcampoTTL
de la cabecera del mismo. Si tras la operacin el campo vale "0", debe
descartareldatagramayenviarunmensajeICMPdeestetipohaciaelhost
origen.

EchoRequestyEchoReply:Alcanzabilidaddeundestino.

EnestaprcticavamosadesarrollarlabasedelprotocoloICMP,queslovaaprocesar
los mensajes del tipo ICMP ECHO, siendo susceptible de ampliar el cdigo aqu
mostradoparaprocesarelrestodemensajesICMP.
Lautilidaddeestetipodemensajesesladecomprobardesdenuestrohostsiotro
host remoto es alcanzable y est operativo. El mecanismo es sencillo, cuando un
host/pasarela enva un ECHO REQUEST hacia un host/pasarela remoto, ste debe
responder con un mensaje ICMP de tipo ECHO REPLY devolviendo la misma
informacinqueportabaelmensajeoriginal(EchoRequest)enelcampodeinformacin
adicional,yelmismoidentificadorynmerodesecuenciadelmismo.
EnlaFigura6semuestraelformatoespecficodeestosmensajesICMP.Elcampo
Identificador yNmerodesecuencia seutilizan paraidentificar latanda oseriede
mensajesICMPEchoRequest,yelnmerodesecuenciaseutilizaparadiferenciarun
mensajedeotrodentrodelamismaserie.Esdecir,sihagounaseriede10EchoRequest
haciaunhostdestinodeterminado,alaserielamarcoconunidentificador(p.ej.:0)ya
cadaEchoRequestdentrodelamismaconsunmerodesecuencia(p.ej.:del0al9).
El campo datos adicionales funciona como relleno para simular datagramas de
cualquiertamao.Aqupodemosintroducircualquiermensaje(untextoASCII,oloque
queramos). En el mensaje EchoReply correspondiente, se devuelve en este campo
exactamentelamismainformacin.
0816
Tipo(0u8)

Cdigo(0)

Checksum

Identificadordetanda

Nmerodesecuencia

Datosopcionales.
Figura6:FormatodelosmensajesECHORequestyECHOReply.
Lamquinadestinopuedeestarenotrareddistante,porloqueelmensajeICMP
puede que tenga que atravesar varias pasarelas. Por esta razn, si no obtenemos
respuestacuandoleenviamoselmensajedeEchoRequestpuedeserdebidoavarias
11

causas: Perdida del mensaje EchoRequest (mal encaminamiento de una pasarela


intermedia,unerrordechecksum,etc.)obienelhostremotoestfueradeservicio.
Puedetambinocurrirquelamquinadestinoestmuycargadaysedemoreenmandar
elmensajederespuestaEchoReply.
Lamquinaorigenestableceuntiempoderespuesta(TimeOut)traselculvuelvea
enviarunnuevomensajeEchoRequest(incrementandoelnmerodesecuencia,para
distinguirlodelanterior).Aunqueesdifcilestimarcualpuedesereltiemporazonable
para recibir el EchoReply (depende de lo distante que est la mquina destino, la
velocidad derespuesta y lo congestionada queeste la red que tiene quecruzar los
mensajes)lasumadelosTimeOutsdelossucesivosreintentosdebedesersuficiente
paraquealmenosllegueunEchoReply.
EnmuchosistemasUNIXytambinenWindows,existeuncomandodeusuarioque
precisamenterealizaestamismaoperacin.EstecomandosellamaPINGyseencarga
deenviarunaseriedemensajesICMPdetipoEchoRequest,esperandolallegadadelas
respuestas correspondientes (mensajes EchoReply). Al final nos indica cuantos
mensajesEchoRequestsehanenviadoycuantashansidolasrespuestasrecibidaspara
indicarelporcentajedemensajesperdidos.Tambinnosindicaeltiempoderoundtrip 3,
de cada par EchoRequestEchoReply recibido, dndonos una idea del retardo que
introducelaredentrelosdoshosts.

Pasosycuestiones
ConfiguracinTCP/IP
Laordenipconfig(ordendeconsola),paraWindows98y2000,proporciona
informacinsobrelaconfiguracindelaredennuestramquina(paracadaunodelos
adaptadoresderedinstalados).Acontinuacinsemuestralaayudacorrespondienteal
usodeestecomando:
D:\Documents and Settings\mperez>ipconfig /?
USO:
ipconfig [/?|/all|/renew [adapter]|/release [adapter]|/flushdns| /
displaydns|/registerdns|/showclassid adapter | /setclassid adapter
[classid] ]
donde
adapter nombredeconexin(sepermitencomodines*y?
Opciones:
/?
muestra la ayuda
/all
muestra toda la informacin de configuracin.
/release
libera la direccin IP para el adaptador dado.
/renew
renueva la direccin IP para el adaptador dado.
/flushdns
purga la cach de resolucin de DNS.
/registerdns actualiza todas las concesiones y registra DNS.
/displaydns muestra la cach de resolucin DNS.
/showclassid muestra todas las id. de clase dhcp permitidas.
/setclassid modifica la id. de clase dhcp.

Eseltiempotranscurridodesdequeseenvaunmensajehastaqueserecibesurespuesta.Tambin
conocidocomotiempodeidayvuelta.

12

DemanerapredeterminadasemuestrasolamenteladireccinIP,lamscaradesubredy
lapuertadeenlaceparacadaadaptadorenlazadoconTCP/IP.
ParaReleaseyRenew,sinohayningnnombredeadaptadorespecificado,seliberano
renuevanlasconcesionesdedireccinIPenlazadasconTCP/IP.
ParaSetclassid,sinohayClassIdespecificada,sequitaClassId.
Ejemplos:
>ipconfig...muestrainformacin
>ipconfig/all...muestrainformacindetallada
>ipconfig/renew...renuevatodoslosadaptadores
>ipconfig/renewEL*...renuevaconexionescuyonombrecomienceconEL
>ipconfig/release*Con*...liberatodaslasconexionesquecoincidanporejemplo:
"Conexinderealocal1"o
"Conexinderealocal2"
Laordenipconfig,queseinvocadesdeunaventanaMSDOS(InicioProgramas
AccesoriosSimbolodelSistema),ofreceentreotrascosaslasiguienteinformacin:

Direccindeadaptadordered:Esladireccinfsica quecorrespondeala
tarjeta de red (Ethernet en nuestro caso) que est instalada en nuestro
computadorynosfacilitaelaccesoalared.

Direccin IP: Direccin IP asignada a nuestra mquina, bien de forma


permanente,obiendeformadinmicamedianteelprotocoloDHCP.

Mscaradesubred:IndicaqupartedeladireccinIPidentificalared,yqu
parteidentificaalcomputador(aunadaptadordered).

Puertadeenlacepredeterminada:DireccinIPdelrouterqueconectanuestra
LANconelexterior(Internet).

(1)Laordenipconfig
Ejecutalaordenipconfigycompletalainformacindelatablasiguiente:
Tabla1.1
DireccinfsicadeladaptadorEthernet
DireccinIP
Mscaradesubred
DireccinIPdelrouter(puertadeenlace)

13

Cuestin1.1.
Conlainformacinobtenida,podrascomentaraqueclasededireccionesIPpertenece
laredalaqueestconectadotucomputador.Comentabrevementelarespuestay
calculaladireccindetured(NetID)

(2)LospaquetesIP
Con el analizador de protocolos, captura una sesin de paquetes IP generados al
solicitaralnavegadorWebelaccesoalapginawww.redes.upv.es.Paraellosedeber
filtrarelrestodetrfico,quedndonosnicamenteconlospaquetesgeneradosporesta
accin. Analiza la secuencia de paquetes IP capturados y responde a las siguientes
cuestiones:
Tabla2.1
Identificador TTL

SourceIP

DestinationIP

Paqueten.1
Paqueten.2
Paqueten.3
Paqueten.4
Paqueten.5

Cuestin2.2
Sielcampoidentificadordeterminalasecuenciadepaqueteenviadosporunhost.Los
identificadoresdelospaquetesIPenviadospornuestramquinasonconsecutivos?ylos
enviadosporelservidorWeb?.Explicabrevementelasrespuestas.

14

Cuestin2.3
Con respecto al campo TTL (Time To Live) de la cabecera IP de los paquetes
capturadossonsiempreiguales?,TodoslospaquetesIPqueenvaunamquinatienen
elmismoTTL?Explicabrevementelasrespuestas.

Cuestin2.4
Tras analizar los campos de la cabecera IP Opciones y Tipo de servicio (Type of
Service)delospaquetescapturados,aquconclusinllegas?

(3)FragmentacinIP
Nopodemosobservarlafragmentacinqueseproduceenlosroutersperopodemos
utilizar un pequeo truco para generar fragmentacin en la propia interfaz del
computador.DesdeunaventanadeDOSejecutamoslaordensiguiente(previamente
habremos iniciado una captura de tramas con el filtro icmp para recoger todo el
trficogenerado):
C:\> ping n 1 l 2000 www.redes.upv.es4
Conelloestamosforzandoanuestrocomputadoralenvodeunmensajedemsde
2000bytesaldestinoespecificado.ComoestamosconectadosaunaredEthernetcuya
MTUesde1500bytes,elenvosolicitadoexigirlafragmentacindelmensajeendos
paquetesIP.Comparalascabecerasdeambosfragmentos,fijndoteespecialmenteen
loscamposlong.total,flags,ydesplaz.Fragmento.

Alejecutarlaorden ping,laestudiaremos ms adelanteenestaprctica, sefuerza el envodeun


paqueteIPquetransportaunmensajeICMPensuinterior.

15

Primerfragmento:
Versin

longc

tiposervicio

longtotal

Identificacin

flags

desplaz.Fragmento

Tiempo
protocolo
vida
DireccinIPfuente

checksumdelacabecera

DireccinIPdestino
Opciones(variable)
Segundofragmento:
Versin

longc

tiposervicio

longtotal

Identificacin

flags

desplaz.Fragmento

Tiempo
protocolo
vida
DireccinIPfuente

checksumdelacabecera

DireccinIPdestino
Opciones(variable)

Cuestin3.1
Culeselvalordelcampoprotocolodelacabeceradeambossegmentos?.Tieneque
serelmismoparaambosfragmentos?.Culeselvalordelcampooffsetdelsegundo
fragmento5?.Calculaeltamaodelmensajequedeberamosenviar,utilizandolaorden
ping,paraquesegeneren3fragmentosdetamaomximo.
Campoprotocolo

Elmismo?

CampoOffset

Tam.demensaje

Recuerdaquelaunidadqueseexpresaenestecampoesunapalabrade8octetos.

16

(4)ElcomandoROUTE
ElcomandoROUTEpermitelamanipulacindelatabladeencaminamientodenuestro
sistema.Cuandoseinvocaelcomandosinningnargumentosemuestralaayudadel
comando:
E:\>route
Manipula tablas de enrutamiento de red.
ROUTE [-f] [-p] [comando [destino] [MASK mscara_red] [puerta_enlace]
[METRIC mtrica] [IF interfaz]
-f Borra las tablas de enrutamiento de todas las entradas de
puerta de enlace. Si se usa junto con uno de los comandos,
se borrarn las tablas antes de ejecutarse el comando.
-p Cuando se usa con el comando ADD, hace una ruta persistente
en los inicios del sistema. De manera predeterminada, las
rutas no se conservan cuando se reinicia el sistema. Se
pasa por alto para todos los dems comandos, que siempre
afectan a las rutas persistentes apropiadas. Esta opcin no
puede utilizarse en Windows 95.
comando
Uno de los siguientes:
PRINT
Imprime una ruta
ADD
Agrega una ruta
DELETE
Elimina una ruta
CHANGE
Modifica una ruta existente
destino
Especifica el host.
MASK
Especifica que el siguiente parmetro es la mscara de red
mscara_red Especifica un valor de mscara de subred para esta
entrada de ruta. Si no se especifica, se usa de forma predeterminada
el valor 255.255.255.255.
puerta_enlace Especifica la puerta de enlace.
interfaz El nmero de interfaz para la ruta especificada.
METRIC
Especifica la mtrica; por ejemplo, costo para el destino.
Ejemplos:
> route PRINT
> route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2
Si no se indica IF, intentar buscar la mejor interfaz para
una puerta de enlace determinada.
> route PRINT
> route PRINT 157*
.... Slo imprime las que coincidan con 157*
> route DELETE 157.0.0.0
> route PRINT

Imprimelatabladeencaminamientodetucomputadoryrellenalasiguientetabla:
Tabla4.1
Destinode
Red

Mscarade
red

Puertade
acceso

1.
2.
3.
4.

17

Interfaz

Mtrica

5.
6.
7.
8.

Cuestin4.1
Explicalautilidaddecadaunadelasentradasdelatabladeencaminamiento.
Significadodelaentradadeencaminamiento
1.
2.
3.
4.
5.
6.
7.
8.

Cuestin4.2
Identificalaentradadelatablaquecorrespondeconlaentregadirecta(directdelivery)
yelimnala.Acontinuacininvocaelcomandoping:
C:\> ping zoltar.redes.upv.es
Explicaloquehaocurridoyvuelveaadirlaentradaquehaseliminadoparavolverala
situacinanterior.

18

Cuestin4.3
Repitelomismoqueenlacuestinanterior,peroenestecasosetratadeeliminarla
entradapordefecto.

Modifica latabla de encaminamiento paraquela entrada pordefecto apunte auna


mquinadellaboratorioynoalrouter.Invocarelcomandopingparaaccederauna
mquina perteneciente a una red IP remota (ej.: www.upc.es).Usandoel Analyzer,
compruebaquetodoeltrficoquesegenerahaciaelexteriorsedirigeaunamquina
quenoeselrouteryportantonoesposiblelacomunicacin.
(5)DireccinfsicaydireccinIP
Invoca el comando ping especificando como host destino una mquina del propio
laboratorio(pertenecealamismasubred)
C:\> ping n 1 zoltar.redes.upv.es
y captura el trfico generado. Rellena los siguientes campos con la informacin
obtenidadelacabeceraIPdelospaquetesICMP:
Tabla5.1
DireccinFsicaDestino

DireccinIPDestino

Pregunta
Respuesta

Cuestin5.1
En el paquete de pregunta: La direccin fsica destino y la direccin IP destino
correspondenalamismamquina?Porqu?

Ahorarepiteelprocesoparaunamquinaexterna(enotraredosubred)
C:\> ping n 1 www.upc.es

19

y captura el trfico generado. Rellena los siguientes campos con la informacin


obtenidadelacabeceraIPdelospaquetesICMP:
Tabla5.2
DireccinFsicaDestino

DireccinIPDestino

Pregunta
Respuesta
Cuestin5.2
En el paquete de pregunta: La direccin fsica destino y la direccin IP destino
correspondenalamismamquina?Porqu?

(6)Laordenping
Mediante la orden ping (se ejecuta desde una ventana MSDOS) se obtiene una
estimacindeltiempodeidayvueltadeunpaquete,desdelaestacinorigenauna
estacindestinoqueseespecifica.Paraellosealmacenaelinstantedetiempoenelque
seenvaelpaqueteycuandollegalarespuestaalvaloralmacenadoselerestadel
tiempoactual.Elfuncionamientodetalladodelaordenpingserestudiadomsadelante
en el curso cuando se introduzcan los protocolos IP (Internet Protocol) e ICMP
(InternetControlMessageProtocol).Otrasutilidadesdelaordenpingson:

Averiguarsiundestinoestoperativo,conectadoalaredysusprotocolos
TCP/IPenfuncionamiento.
Conocer la fiabilidad de la ruta entre origen y destino (calculando el
porcentajedepaquetesqueobtienenrespuesta).

Ejemplo:
C:\>ping www.upc.es
Haciendo ping a www.upc.es [147.83.20.2] con 32 bytes de datos:
Respuesta
Respuesta
Respuesta
Respuesta

desde
desde
desde
desde

147.83.20.2:
147.83.20.2:
147.83.20.2:
147.83.20.2:

bytes=32
bytes=32
bytes=32
bytes=32

20

tiempo=23ms
tiempo=20ms
tiempo=31ms
tiempo=24ms

TTL=248
TTL=248
TTL=248
TTL=248

Estadsticas de ping para 147.83.20.85:


Paquetes: enviados = 4, Recibidos = 4, perdidos = 0 (0% loss),
Tiempos aproximados de recorrido redondo en milisegundos:
mnimo = 20ms, mximo = 31ms, promedio = 24ms

Laorden ping admiteunseriedeopciones,algunasdelasmstilessemuestrana


continuacin:
ping [-t] [-a] [-n cantidad] [-l tamao] [-f] [-i TTL] [-v TOS]
[-r cantidad] [-w Tiempo de espera agotado] lista de destino
Opciones:
-t
Ctrl-Pausa/Inter.
-a
-n
-l
-f
-i
-v
-r
-w

cantidad
tamao
TTL
TOS
cantidad
tiempo

Solicita eco al host hasta ser interrumpido.


Para ver estadsticas y continuar: presione
Para interrumpir: presione Ctrl-C.
Resuelve direcciones a nombres de host.
Cantidad de solicitudes de eco a enviar.
Tamao del bfer de envos.
No fragmentar el paquete.
Tiempo de vida.
Tipo de servicio.
Registrar la ruta para esta cantidad de saltos.
Tiempo de espera de respuesta en milisegundos.

Hazunpingalasdireccionessiguientes:zoltar.redes.upv.es(servidordentrodel
LaboratoriodeRedes),www.upv.es(servidorwebdelaUPV),www.upc.es(servidor
webdelaUniversidadPolitcnicadeCatalua),www.ono.es(servidorwebcomercial),
www.berkeley.edu(servidorwebdelaUniversidaddeCaliforniaenBerkeley).Anota
losresultadosenlatablasiguiente
Tabla6.1
Paquetes

Tiempodeidayvuelta(ms)

Enviados Recibidos Perdidos Mnimo

Mximo

Medio

zoltar.redes.upv.es
www.upv.es
www.upc.es
www.ono.es
www.berkeley.edu
Los resultados que se obtienen mediante la orden ping son, a veces, difciles de
interpretar.Elusuarioobtienepocainformacindeporqueltiempodeidayvueltaes
mayorenunosdestinosqueenotros.Inclusocuandonohayrespuestaal ping,noes
posibleconocerculeselproblema:lamquinareferenciadaestfueradeservicio,no
existeunarutadesdeelorigenaldestinoolasaturacindelaredestanaltaquenose

21

obtienerespuestadeldestinoenuntiemporazonable.Apesardelodicho,esunadelas
herramientasquemsutilizanlosadministradoresyusuariosdeequiposconectadosen
red.
Atravsdelasopcionesdelaorden ping podemosmodificarlascaractersticasdel
paquete(datagramaIP)queseenviaratravsdelaredparasondearaldestino.Eneste
puntovamosamodificarunodeesosparmetros.Comorecordars,lacantidadmxima
deinformacinquepuedetransportarunatramaEthernetesde1500bytes.Siqueremos
enviarunbloquedeinformacinmayor,deberdividirseenvariastramas.Cuandoenla
orden ping especificamos la opcin f estamos solicitando que el bloque de datos
asociadoalpaquetedepingnosefragmenteensurecorridodesdelaestacinorigena
laestacindestino.

Cuestin6.1
Captura las tramas ICMP resultantes de la ejecucin de la orden: ping
zoltar.redes.upv.es, y refleja en la siguiente tabla los valores
correspondientesalastramascapturadas:
N

EchoRequest
Tipo:Cdigo:
identificador
Secuencia

EchoReply
Tipo:Cdigo:
identificador
Secuencia

1
2
3
4
Repiteelejercicio,ycomparandolosresultadosobtenidosconlosdelatablaanterior,
indicaculeslapolticadeasignacindeidentificadoresysecuencias.

Cuestin6.2
Ejecutalasecuenciaderdenessiguiente:
ping -l 1000 -f n 1
ping -l 1500 -f n 1
ping -l 2000 -f n 1

22

zoltar.redes.upv.es
zoltar.redes.upv.es
zoltar.redes.upv.es

Sepuedeenviarunbloquededatosde1500bytessinfragmentacin?.Intentaexplicar
porqunosepuedeenviarsinfragmentacinunbloquedeinformacinde1500bytes.

Cuestin6.3
Averiguaportanteoeltamaomximo(enbytes)delbloquededatosquepuedeser
enviadodentrodeunsolopaquete.Intentaexplicarelporqudeestacifra.

(7)Laordentracert
Laorden tracert(seejecutadesdeunaventana MSDOS)permiteconocerelcamino
(lasecuenciaderouters)quedebeatravesarunpaqueteparallegardesdelaestacin
origenalaestacindestino.Elfuncionamientosebasaengestionaradecuadamenteun
parmetrodelacabeceradelosdatagramasIP(elcampoTTL:tiempodevida)yenla
informacinqueaportanlosmensajes ICMPquegeneranlosrouterscuandolesllega
undatagramacuyotiempodevidasehaagotado(todoelloseestudiarcondetallealo
largodelcurso).Porcadanuevorouteratravesadoporeldatagramasedicequehayun
saltoenlaruta.Podemosdecir,queelprogramatracertcalculaydescribeelnmerode
saltosdeunaruta.
El programa de MSDOS tracert realiza la siguiente funcin: para averiguar cada
nuevosaltoenvatresdatagramasyparacadaunodeelloscalculaelvalordeltiempode
idayvuelta.Sienuntiempomximo(configurable)nohayrespuestaseindicaenla
salidamedianteunasterisco.
Algunaspuntualizaciones:

Nohayningunagarantadequelarutaquesehautilizadounavezvayaaser
utilizadolasiguiente(cuandoestudiemoselprotocoloIPveremosporqu).
Nohayningunagarantadequeelcaminoseguidoporelpaquetedevuelta
seaelmismoquehaseguidoelpaquetedeida.Estoimplicaqueapartirdel
tiempo deidayvuelta queofrece tracert puedenoserdirecto estimar el
tiempodeidaodevueltaporseparado(sieltiempoquetardaelpaqueteenir
desdeelorigenhastaelrouteresde1segundoyletiempoquetardapaquete
23

devueltaesde3segundoselvalorquenosproporcionar tracert esde4


segundos)
MonitorizalosmensajesICMPcorrespondientesalaorden
Tracert www.upv.es
Yrellenalasiguientetabla:
N

Peticin
Tipo:Cdigo:
identificador
Secuencia

TTL

Respuesta
Tipo:Cdigo:
Hostorigen
Datos

1
2
3
4
5
6

Cuestin7.1
Qu tipo de mensajes ICMP se observan? Basndote en los mensajes anteriores,
escribeelalgoritmoqueempleatracert

Ejecutalaorden tracert paralosmismosdestinosdelejercicio6yanotaenlatabla


siguiente el nmero de saltos y el nombre y direccin IP de los routers que se
atraviesan.IncluyetambinladireccinIPdelamquinadestino.

24

Tabla7.1
Saltos

Routersenelcamino(nombreydireccinIP)

zoltar.redes.upv.es
www.upc.es

www.berkeley.edu

25

ParteII:LosprotocolosIPv6eICMPv6
Objetivos
Elobjetivodeestaprcticaesqueelalumnosepaconfigurarelsistemaoperativopara
hacerusodeunaredIPv6mediantelalneadecomandos.Ademsdeberestudiarel
comportamientodelprotocoloICMPv6atravsdelaherramientaAnalyzer.

Descripcin
ElprotocoloIPv6
ElprotocoloIPv6fueespecificadoenelao1998(RFC2460)paracubrirlascarencias
detectadasenlaversin4.UnodelosprincipalesproblemasdeIPv4tienequevercon
suespaciodedirecciones.ElIPv6incrementaeltamaodedireccinIPde32bitsa128
bits,paradarsoporteamsnivelesdedireccionamientojerrquico,unnmeromucho
mayordenodosdireccionables,yunaautoconfiguracinmssimplededirecciones.La
escalabilidad del enrutamiento multicast semejora agregando un campo "mbito" a
estasdirecciones.Adems,sedefineunnuevotipodedireccinllamadaanycast,usado
paraenviarunpaqueteacualquieradeungrupodenodos.

3bits

45bits

16bits

GlobalRoutingPrefix

64bits

SLA

InterfaceID

Figura1.ParticinlgicadeunadireccinIPv6.

En la figura 1 se muestra la particin lgica de una direccin IPv6. El espacio de


direccionesIPv6esbastanteamplio,loquepermitehacerunaparticinmsjerrquicay
msfinadelasmismas.Enparticular,cabedestacar4grandesgruposdedirecciones:
2000::/3
FC00::/7
FE80::/10
FF00::/8

GlobalUnicast [RFC4291]
UniqueLocalUnicast[RFC4193]
LinkLocalUnicast[RFC4291]
Multicast[RFC4291]

UnadelasprincipalesventajasdeIPv6respectoaIPv4eslaposibilidaddeasignar
automticamentedireccionesalasinterfacesdered.Alimplementarelformato64bit
ExtendedUniqueIdentifier(EUI64)delIEEE,unterminalpuedeasignarseasmismo
una direccinIPv6 deformaautomtica,evitandoasunaasignacinmanualoun
servidorDHCP.EnelcasodeinterfacesEthernetestoseconsigueenbasealadireccin
MACnicade48bits,reformateandodichovalorparaqueseadecealaespecificacin
EUI64.

26

ElRFC2373defineelprocesodeconversin,quesepuededescribirendospasos:
1.ElprimerpasoesconvertirladireccinMACde48bitsenunvalorde64bits.Para
lograrlo, partimos la direccin MAC en dos mitades de 24 bits: el Identificador
Organizacionalnico(OUI)ylaparteespecficadelNIC.Elvalorhexadecimalde16
bits0xFFFEsecolocaentrelasdosmitadesparaformarladireccinde64bits.Como
ejemplo,partiendodeladireccinMAC00:12:7F:EB:6B:40,tendramos:

Por qu el valor 0xFFFE? Tal y como se explica en las Guidelines for EUI64
Registration Authority del IEEE, este es un valor reservado que los fabricantes no
pueden utilizar en asignaciones reales de direcciones EUI64. En otras palabras,
cualquier direccin EUI64incluyendo 0xFFFE inmediatamente despus de su OUI
puedeserreconocidacomogeneradaapartirdeunadireccinEUI48(MAC).
2.Elsegundopasoconsisteeninvertirelflaguniversal/local(bit7)delaporcinOUI
deladireccin.LasdireccionesglobalesnicasasignadasporelIEEEtienenestebit
originalmenteacero,loqueindicaunicidadanivelglobal.Delamismamanera,las
direccionescreadaslocalmente,talescomolasusadasparainterfacesvirtualeso
direccionesMACasignadasmanualmente,tienenestebitauno.ElbitU/Lseinvierte
cuandousamosunadireccinEUI64comoidentificadordeinterfazIPv6.

Paraentenderlamotivacindeestaalteracinhayqueanalizarlaseccin2.5.1delRFC
2373:
Lamotivacinparainvertirelbit'u'enelinstantedecreacindelidentificadorde
interfazessimplificarlalabordelosadministradoresdelsistemacuandotenganque
crearidentificadoreslocalscopemanualmenteensituacionesdondenoexistan
direccioneshardwareyadisponibles.Esteeselcasodeenlacesseries,extremosde
tneles,etc.Laalternativaseraqueestasdireccionesfuerandeltipo0200:0:0:1,
0200:0:0:2,etc.,envezdelanotacin::1,::2,etc.queesmuchomssencilla."
Enestepuntocabedestacarqueelmbito(scope)deunadireccinnuncacambia:las
direcciones globales siguen siendo globales, y las direcciones locales siguen siendo

27

locales.Simplementesecambiaelsignificadodeestebitporcomodidad,porloqueel
valordelbittambintienequeserinvertido.
DireccionesMulticastenIPv6
Unadireccinmulticastidentificamltiplesinterfaces.Conunatopologaderouting
multicastapropiada,lospaquetesenviadosaunadireccinmulticastsonentregadosa
todaslasinterfacesidentificadasporesadireccin.
LasdireccionesmulticastIPv6tienenelprefijo 11111111.Siendoas,unadireccin
IPv6multicastsepuedeidentificarrpidamenteyaquesiempreempiezaporFF.Las
direccionesmulticastnosepuedenutilizarcomodireccionesfuente.
DespusdelprefijoFF,lasdireccionesmulticastincluyenunaestructuraadicionalpara
identificar sus flags, mbito (scope) y el grupo multicast, tal y como se ilustra a
continuacin:

Figura2.EstructuradeunadireccinmulticastIPv6.
Loscamposdeladireccinmulticastsonlossiguientes:

Flags El campo Flags indica qu opciones estn activas en la direccin


multicast.Eltamaodeestecampoesde4bits.ElnicoflagdefinidoenelRFC
2373eselflagTransient(T),queutilizaelbitdemsbajopesodeestecampo.
Cuando su valor es cero, el flag T indica que la direccin multicast ha sido
asignada de forma permanente (wellknown) por parte de la IANA (Internet
AssignedNumbersAuthority).Cuandosuvaloresuno,indicaqueladireccin
multicastestemporal(noasignadadeformapermanente).
ScopeElcampoScopeindicaelmbitodeIPv6paraelcualsedestinaese
trfico. El tamao de este campo es de 4 bits. Adems de la informacin
ofrecidaporlosprotocolosderoutingmulticast,losroutersutilizanestecampo
paradeterminarsieltrficomulticastdebeserreencaminadoono.
ElRFC2373definelossiguientesmbitosdeaplicacin:
Valordelcampo
Scope

mbitode
aplicacin

Nodelocal

Linklocal

Sitelocal

Organizationlocal

Global

28

Porejemplo,eltrficocondireccinmulticastFF02::2tieneunmbitolinklocal,
porloqueunrouterIPv6nuncaloenrutara.

GroupID
ElcampoGroupIDidentificaelgrupomulticastyesnicoparaunmbitode
aplicacin.Eltamaodeestecampoesde112bits.LosgroupIDsasignadosdeforma
permanente son independientes del mbito. Los group IDs transitorios solo son
relevantesparaundeterminandombito.LasdireccionesmulticastdesdeFF01::hasta
FF0F::sondireccionesreservadaspreasignadas.
Paraidentificartodoslosnodosenlosmbitosnodelocalylinklocal,sehan
definidolassiguientesdireccionesmulticast:

FF01::1(nodelocalscopeallnodesaddress)
FF02::1(linklocalscopeallnodesaddress)

Deformasimilar,paraidentificartodoslosroutersenelmbitonodelocal,link
localysitelocal,sehandefinidolassiguientesdireccionesmulticast:

FF01::2(nodelocalscopeallroutersaddress)
FF02::2(linklocalscopeallroutersaddress)
FF05::2(sitelocalscopeallroutersaddress)

Los112bitsqueformanelGroupIDpermitendefinirununiversode2112 posibles
valores.Apesardeello,debidoalamaneraconquelasdireccionesmulticastIPv6son
mapeadasendireccionesEthernetmulticast,elRFC2373recomiendacrearGroupIDs
utilizandosolamentelos32bitsdeordenmsbajoenlasdireccionesmulticastIPv6,
poniendo los dems bits a cero. Al usar solo los 32 bits de orden ms bajo nos
aseguramos que cada group ID est vinculado nicamente a una direccin MAC
multicast.
Solicitednodeaddress
Laposibilidaddesolicitarladireccindeunnodofacilitaelprocesodebsquedade
estacionesdelaredenelprocesoderesolucindedirecciones.EnIPv4,unatramaARP
Request se enva a la direccin MAC de difusin, siendo recibida por todas las
estacionesenelmismosegmentodered,incluyendoaquellosquenosoportanIPv4.El
IPv6utilizamensajesdeltipoNeighborSolicitationparalaresolucindedirecciones
pero,envezdeutilizarladireccindembitolocalqueidentificaatodoslosnodosen
lamismasubred,seutilizaladireccinmulticastquecorrespondealnodosolicitado.
EstadireccinseobtienemedianteelprefijoFF02::1:FF00:0/104ylosltimos24bits
deladireccinIPv6quesepretenderesolver.
Por ejemplo, para el nodo con una direccin IPv6 del tipo linklocal igual a
FE80::2AA:FF:FE28:9C5A, la direccin del nodo solicitado correspondiente es
FF02::1:FF28:9C5A.Siendoas,paraobtenerladireccinMACquelecorrespondeala
IPFE80::2AA:FF:FE28:9C5Alaestacinenvaunmensajedesolicituddevecinoala
direccin FF02::1:FF28:9C5A. El nodo que est utilizando la IP
29

FE80::2AA:FF:FE28:9C5Aestarescuchandoeltrficomulticast enladireccinde
solicitednodequelecorresponday,parainterfacesquecorrespondanaunadaptadorde
redreal,tendrquehaberregistradopreviamenteladireccinmulticastcorrespondiente
coneladaptadordered.
Elresultadodelautilizacindeladireccinmulticastsolicitednodeesqueelproceso
deresolucindedirecciones,quetpicamenteseaplicaaunenlaceosubred,novaa
perturbaratodaslasestaciones delared.Dehecho,apenasunnmeromnimo de
estaciones ser perturbado. En la prctica, debido a la estrecha relacin entre la
direccinMAC,elidentificadorIPv6yladireccin solicitednode,estaltimaacta
comounadireccinpseudounicastparalograrunprocesoderesolucinmuyeficiente.
SoporteaIPv6
RespectoalsoportedeIPv6porpartedelsistemaoperativo,prcticamentelatotalidad
de sistemas operativos actuales lo soportan parcial o totalmente. En particular, el
sistemaoperativoWindowsXPincluyelassiguientesherramientas:
ipv6.exe: Utilizado para la configuracin del protocolo IPv6. El mtodo
recomendado para configurar IPv6 en Windows XP SP1 o SP2 es utilizar
comandosenelcontextonetshinterfaceipv6.
ping6.exe:LaherramientarecomendadaparausoenWindowsXPSP1oSP2
eslaversinIPv6delaherramientaping.exe.
tracert6.exe:Deigualmanera,enWindowsXPSP1oSP2serecomiendael
usodelaversinIPv6delaherramientaTracert.exe.

(1) Empecemos por verificar la disponibilidad de la pila IPv6 en Windows XP


(deshabilitadapordefecto):
a)ParasabersielsoporteaIPv6estactivoensumquinaejecuteelcomando:ipv6if
b)Encasodequenoestactivo,ejecute(comoAdministrador):ipv6install
SeguidamentecompruebequeefectivamentesehaactivadoelsoporteaIPv6:ipv6if
c)Ejecutandoelcomando ipconfig/all tenemosinformacinsobrenuestradireccin
IPv6 en un formato ms simplificado. En particular nos centraremos en estos dos
campos(losvaloresconcretosdependendelamquina):
Direccinfsica.........:005056220001
DireccinIP...........:fe80::250:56ff:fe22:1%5
Como puede comprobar, la direccin fsica (o MAC) y la direccin IPv6 estn
estrictamenterelacionadas.Dehecho,talycomosecomentantes,enIPv6elInterface
IDseobtieneapartirdeladireccinMACsiguiendolanormativaEUI64.

30

(2)Paraempezarhagamosunpinganuestrapropiamquina.EnWindowsXPestose
consiguedetresmanerasdistintas:
a)Haciendopingaladireccin::1,queenIPv6esequivalentea127.0.0.1paraIPv4:
ping6::1
b)UtilizandoladireccinespecialdentrodelasdireccionesreservadasparaLinklocal
unicast:
ping6fe80::1
c)UtilizandoladireccinpropiadentrodelasdireccionesreservadasparaLinklocal
unicast:
ping6<addr>
Nota:paraconocerelvalordenuestrapropiadireccinejecutar
ipconfig/all
(3)AhoraintentecalcularladireccinIPv6deunamquinadellaboratoriocercana
(encendidayconWindowsarrancado)apartirdeladireccinMACdelainterfazRed
LaboratorioRedes(5):
DireccinMAC:__________________________
DireccinIPv6(Linkscope):_______________________________
a)HagaunpingaladireccinIPv6queterminadecalcular,y capturelospaquetes
intercambiadosatravsdelatarjetadeRed3ComEthernetutilizandoAnalyzer.
Parahacerpingtendrqueseguirlasintaxis:
ping6<dir_ipv6>%i
donde%iindicaqueesunadireccinasociadaalainterfazderednmeroi(tpicamente
4o5),segnelcomando:netshinterfaceipv6showaddress.
Las tresprimeras interfaces deberan serlas mismas enlamayorparte desistemas
utilizados.Lasinterfacescuatroysuperioresvaransegnelsistema,ydependendel
hardwareutilizado.
Tabla1.InterfacesIPv6enWindowsXP.
Nde
Nombre
Interfaz

Descripcin
Estainterfazofreceloequivalenteala
direccin127.0.0.1enIPv4.Ofreceun
loopbackIPv6medianteladireccin::1
oFE80::1

LoopbackPseudo
Interface

Automatic
Comosupropionombreindica,esuna
TunnelingPseudo interfazutilizadaparacreacin
Interface
automticadetneles.

6to4Tunneling
PseudoInterface

EstainterfazofreceuntnelIPv6a
IPv4.

Networkadapters

Lasinterfaces4ysuperioressecrean
dinmicamenteydependendel
hardwarepresenteenelequipo.

31

b)AnalicelospaquetescapturadosconAnalyzer.Verquenosehangeneradopaquetes
ARP.Porqu?______________________________________________
c) Ver que aparecen 2 paquetes del tipo Neighbor Solicitation y Neighbor
Advertisement en la traza. Qu informacin transportan?
__________________________________________________
(4)UnavezquenotenemossoportenativoparaIPv6enlaUPV,ningnrouternos
ofrece direcciones IPv6 globalmente vlidas (2000::/3), o Unique Local Unicast
(FC00::/7).EnesteejerciciovamosaconfigurarmanualmenteunadireccinIPv6dela
familiaUniqueLocalUnicast(FC00::/7).
a)Enprimerlugar,verifiquemosquinterfacesderedtenemosylasdireccionesIPv6
asociadas:
netshinterfaceipv6showaddress
b) En segundo lugar hay que aadir una direccin IPv6 en la red FC01::/64 a un
dispositivo:
netsh interface ipv6 add address "Red Laboratorio de Redes" <direccin
FC01::/64anuestrogusto>

opcionalmentepodemosidentificarlainterfazderedporsunmero:

netshinterfaceipv6addaddress5<direccinFC01::/64anuestrogusto>
c)Entercerlugar,verificamosqueefectivamentesehaaadidolanuevadireccinIP.
Estosepuedehacermedianteelcomando:
netshinterfaceipv6showaddress
d)EncuartolugaraadimoslarutaquecorrespondealaredFC01::/64alatablade
encaminamiento:
netshinterfaceipv6addrouteFC01::/645(o"RedLaboratoriodeRedes")
yconsultamos latabladeencaminamientoparacomprobarqueefectivamenteseha
actualizado:
netshinterfaceipv6showroutes
e)CapturarlospaquetesIPv6circulandoporlaredylanzarunpinghaciaunaestacin
vecina. Ahorayanonecesitamos identificarlainterfazutilizadomediante%n.Por
qu?
___________________________
f)Analizandolatraza,verqueinicialmentesehaceusodelasdireccionesmulticast
deltiposolicitednodeaddress.Apuntelosvaloresobtenidos:
DestinationMACaddress

DestinationIPv6adress

Nota: A partir del primer intercambio, podr observar que los paquetes Neighbor
SolicitationyNeighborAdvertisementcapturadosnoutilizandireccionesmulticastdel
tipo FF02::1:FF00:0/104 definido para este propsito al tratarse de direcciones ya
conocidas.Sinohapodidocapturaresteintercambioinicial,pruebehacerunpingauna

32

direccininexistenteyconfirme,analizandolatraza,elusodelasdireccionesmulticast
deltiposolicitednodeaddress.
g)AlfinalborrarladireccinylaredFC01::/64haciendo:
netshinterfaceipv6deleteaddress5fc01::<64bitsseleccionados>
netshinterfaceipv6deleterouteFC01::/645(o"RedLaboratoriodeRedes")
Paracomprobarquehansidoeliminadoscorrectamenteejecute:
netshinterfaceipv6showaddress
netshinterfaceipv6showroutes
(5)Porltimovamosaprobarelusodedireccionesmulticastenelinterfaz7(Red
UPV).Algunasdeellastienenunsignificadoespecial,comosehavistoantes.
a) Pruebeahacerunpingaladireccin FF01::1%7yobservelosresultadosenla
consolaylatraza.Obtienerespuestaperonocapturaningnpaquete.Porqu?
________________________________________________
b)SeguidamentehagaunpingaFF02::1%7.Culesladiferenciarespectoalanterior?
________________________________________________
c)PruebeahoraahacerunpingaladireccinFF02::2.Haobtenidorespuesta?Por
qu?
________________________________________________

Posiblesextensionesalaprctica:
1. Elaboreunaguamuysimilaralautilizadaenestaprctica,peroadaptadaal
sistemaoperativoLinux.
2. CreacindeunapequeaaplicacindeconsolaenCquehagausodesockets
IPv6.
Enlacestiles:
http://www.iana.org/
http://www.microsoft.com/technet/network/ipv6/ipv6faq.mspx
http://technet.microsoft.com/eses/library/bb878115(enus).aspx
http://technet.microsoft.com/eses/library/bb878102(enus).aspx
http://technet.microsoft.com/enus/network/bb530961.aspx

33

You might also like