ip&icmp+v6
DESCRIPTION
tutorialTRANSCRIPT
-
Prctica
7 RedesdeComputadores
ParteI:LosprotocolosIPeICMP
Objetivos
ElobjetivodeestaprcticaesanalizarelcomportamientodelosprotocolosIPeICMPatravsdelaherramienta Analyzer introducidaenlaprcticaanterior.ConestetipodeherramientaspodemoscapturarflujosdepaquetesIPparaposteriormenteanalizarlosyasverificarlafuncionalidaddelprotocoloIP,delamismamaneraquehemoshechoconelprotocoloARP.ConrespectoalprotocoloICMPestudiaremosdoscomandosampliamente utilizados que se basan en el intercambio de mensajes ICMP:Ping ytraceroute.
Descripcin
Hasta ahora hemos visto aspectos relacionados conel hardware de red de nuestrasmquinas:Accesoaladaptadorderedyunmecanismoparalaresolucindedireccioneshardware. Esto nos suministra un acceso a nuestra red local que permite lacomunicacinaniveldetramacontodaslasmquinasdelamisma.
Sinembargo,lainterconexindedistintasredes,tantolocalescomodereaextensaometropolitana, introduce un problema de comunicacin al involucrarse distintossistemasdedireccionamientoavecesincompatiblesentres(talycomodecamosalhablardelprotocoloARP).ElprotocoloIP(InternetProtocol)eselqueseencargaderesolverestasdiferenciasdefiniendounespaciodedireccionesuniversalporencimadelasdireccioneshardwarequecadareddefine.Estopermitequemquinasconectadasaredesremotas,yprobablementecondireccionamientohardwareincompatible,puedancomunicarseatravsdeesteprotocolo.
El protocoloIPesel pilar bsico deInternet (redderedes, interconectadas a nivelmundial) que permite la interconexin de redes abstrayndose de las diferentestecnologas de red existentes. Es, en su totalidad, un protocolo software que estdesligado de los detalles del hardware de red, caracterstica fundamental para lainterconexinredes.
En la estructura de Internet (Figura 1) se definen unos elementos conocidos comopasarelas o routers IPqueseencargandeconectar dos oms redes entre s yquetrabajananiveldepaqueteIP(nivel3OSI).Estoselementos,definenlasfronterasdelasredesaestenivel,conocidascomoredesIP.
-
InternetInternet
TokenRingProNet10TokenRingProNet10
R1 R2
R3
EthernetEthernet
FDDI+EthernetFDDI+Ethernet X.25X.25
InternetInternet
TokenRingProNet10TokenRingProNet10
R1 R2
R3
EthernetEthernet
FDDI+EthernetFDDI+Ethernet X.25X.25
Figura1:RedesconectadasatravsderoutersIP:Internet.
Enlafigura,podemosobservarunadeestasredesIPquecontienenredesEthernetyFDDI.EstepodraserelejemplodelaantiguareddelaUPVqueconsistaenunanicaredIPcompuestapordiversossegmentosderedEthernetconectadosporunatroncalbasadaenundobleanilloFDDI.Loselementosqueseparanestossegmentosdered,lospuentesobridges, trabajananiveldetrama(nivel2OSI),por loqueunadifusinEthernet(direccindestino:FF:FF:FF:FF:FF:FF),sepropagaratodaslasmquinasdelaredIP.EstadifusinnopasaatravsdelapasarelaR1,yaqueestadefinelafronteradelaredIPyporotroladotrabajaconlospaquetesdenivel3.
Elprotocolo,portanto,permitelainterconexinderedesdeformaindependientealhardwaredelasmismas.Veamosalgunasdesuscaractersticas:
Define una red virtual, Internet, con un espacio de direcciones virtuales,direccionesIP,quesonasignadasdeformaexclusivaaloshostsquepertenezcanalamisma.
Seencarga de llevar los mensajes de un host a otro cualquiera de Internet,independientementededondeestconectado.
ElprotocoloIPrealizalasfuncionesdelniveldered,segnOSI,ofreciendounserviciosinconexin.PorloqueNOgarantizalaentregadelosmensajes,elordenenquehansidoenviadosnilaausenciadeerrores,entreotrascosas.
Launidaddeinformacinconlaquetrabajaseladenominadatagrama.
Loshostsylaspasarelasimplementanesteprotocolo.Estasltimas,secentranen la tareadeconducir losdatagramasdesdeel hostorigenhacia el destinoremoto a travs de las redes intermedias que sea necesario cruzar(encaminamientoIP).
2
-
DireccionesIP.
LasdireccionesIPsonde32bitsysedividenendoscampos:IdentificacindelaredIP(NetID)e identificacindelhost(Hostil) pertenecienteaesared. EnlaFigura2semuestranlasdistintasclasesdedireccionesIP.
Figura2:ClasesdedireccionesIP.
Astenemos27redesdeclaseA,cadaunadeellasconcapacidaddedireccionarhasta224hosts,214redesdeclaseB,cadaunadeellasconuncapacidadde216hostsy221redesdeclaseCconcapacidadde28hosts.Tambinseproporcionaunespaciodedireccionesparadireccionesdegrupo(direccionesmulticast).
LasdireccionesIPsesuelenrepresentarenformatodecimal(4octetosseparadosporunpuntodecimal) enlugar deexpresarlas comounnmerode32bits. Deesta formapodemosidentificarrpidamentelosoctetosquepertenecenalidentificadorderedylosdel host. Ejemplos de direcciones: 158.42.53.127 (clase B: NetID=158.42 yHostID=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,yaquetienenunsignificadopropio,as:
Direccindered:Lasredestienensudireccin,quenoesmsqueelNetIDconelidentificadordelaredyelHostIDacero.Ejemplo:158.42.0.0(direccindereddelaUPV).
Direccindebroadcast:DefineladireccindedifusinaniveldeIP.ConsisteenelNetIDconelidentificadordelareddondesevaarealizarladifusin,yenelHostIDsecolocatodoa1s.Ejemplo:158.42.255.255(direccindedifusindelaUPV).
Difusinlimitada:Esotrotipodedifusinperoqueseextiendesolosobrelared IP donde ha sido generada. Los dos campos de la direccin IP a 1s.Ejemplo:255.255.255.255.
3
ClaseA
ClaseB
ClaseE
ClaseD
ClaseC
0 NetId
1 0 NetId
011 NetId
111 0
111 1 0 RESERVADO
Direccinmulticast
HostId
HostId
HostId
01816
-
Direccindebucle(loopback):EsunadireccindeclaseA,127.x.x.x,quesehareservadopara soportar comunicaciones entre aplicaciones del mismohost yparacomprobarelfuncionamientodeaplicacionesderedsininterferirenella.Siutilizamosestadireccinparaenviarundatagrama,elprotocoloIPlareenvahaciaelprotocolosuperior,NUNCAlaenviarhacialared.Habitualmenteseutilizaladireccindebucle:127.0.0.1.
Nuestro propio host: Es una direccin que se usa en circunstancias muyconcretas,indicarladireccindenuestrohost.NoesunadireccinIPvlida.Ejemplo:0.0.0.0
Hostennuestrared:ElcampocorrespondientealNetIDseponea"0",paraespecificarladireccindeunhostennuestrapropiared.Aligualquelaanteriorslodebeusarseendeterminadascircunstancias..Ejemplo:0.0.53.127.
FormatodeundatagramaIP.LosdatagramasIPseencapsulandentrodeunatrama,ocupandoelespaciodedicadoalcampodedatosdelamisma(Figura3).
Figura3:EncapsuladodeundatagramaIPenunatramaEthernet.
El tamaomximodeundatagrama, 64Kbsegnel estndar del protocoloIP. Sinembargo,eltamaodeldatagramaestlimitadoporeltamaomximodelcampodedatosdelatramaquelovaallevar.Estaesunalimitacinquedependedelatecnologadered1quetengamos.Cadatecnologadereddefineeltamaomximodelcampodedatosdelatrama,tambinconocidocomoMTU(MaximunTransferUnit),quemaneja.As,porejemplo,EthernetdefineunMTUde1500octetos.
ElprotocoloIP,lgicamenteusadireccionesIPparaidentificarlafuenteyeldestinodedatagrama. Ahora bien, el datagrama viaja dentro de una trama, y sta utilizadireccioneshardware.Yporestemotivo,necesitamoslosserviciosdelprotocoloARP,para determinar la direccin hardware que corresponde a la direccin IP deldestinatario.
1EslanicadependenciaqueIPtienedelhardwarederedsubyacente.
Dir.Destino Dir.Origen 0x800
DatagramaIP
Campodedatos(MTU=1500)
Tipodeprot.IPIP=0x0800
DireccionesHw.
CabeceradelatramaEthernet(DIX)
4
-
El datagrama, se divide en dos campos: Cabecera y datos. La cabecera contieneinformacinqueel protocolonecesita paraofrecersuservicio, yel campodedatoscontieneelmensajeensiquetienequeserentregadoenelhostdestino.Enlafigura4semuestraelformatodeundatagrama,dondepuedenapreciarselossiguientescampos:
Versin:EspecificalaversindelprotocoloIPalaqueperteneceeldatagrama,actualmenteseestutilizandolaversin4delprotocolo.
Longituddelacabecera:DefineeltamaodelacabeceraIPenpalabrasde32bits, ya que esta puede ser de tamao variable. A efectos prcticosconsideraremoslacabeceraIPdetamaofijo(sincampodeopciones).
Tipode servicio: Contiene informacin acerca decmodebeser tratadoeldatagramaensuviajealdestino.Incluyealgunostemsacercadelacalidaddeservicioquevaarecibirestedatagrama.Actualmente,enestaversindeIP,estecamponoesutilizadoysuvalorsueleser0.
Figura4:FormatodeundatagramaIP.
Longitudtotal:Comosunombreindica,defineeltamaototaldeldatagrama(cabecera+datos)enbytes.
Identificacin: Esunenterode16bits queidentificaaestedatagramaylodistinguedeotrosdatagramasquehemosenviado.EsunaespeciedenmerodesecuenciaqueseincrementacadavezqueIPenvaundatagrama.
Flags+Desplazamientodefragmento: Estoscamposincluyeninformacintilparaelmecanismodefragmentacindedatagramas.CuandoundatagramacruzaunapasarelayalotroladoexisteunaredconunMTUinferioraltamaodel datagrama, la pasarela lo fragmenta en trozos. Estos fragmentos sondatagramas que viajan hacia el destino de forma independiente, donde sonrecogidosporelprotocoloIPparareconstruireldatagramaoriginal.
verslongctiposerviciolongitudtotal
identificacinflagsdesp.Fragmento
tiempovidaprotocolochecksumdelacabecera
direccinIPdestino
direccinIP
fuente
DATOS
opcionesIP(opcional)RellenoC A B E C E R A
0481631
5
-
Tiempodevida(TTL): Defineel tiempodequedisponeeldatagramaparallegarasudestino, conel findeevitar laexistenciadedatagramasque, porerroresenelencaminamiento, estndandovueltasindefinidamenteenlared.Cadavezqueeldatagramacruzaunapasarela,estecampoesdecrementadoenunaunidad,deformaquecuandoalcanzaelvalornulo,eseliminadodelared.
Protocolo:Identificaelprotocoloalquepertenecenlainformacinalmacenadaen el campo de datos del datagrama. De forma que cuando se recibe undatagramadirigidoanuestramquina,ydespusderealizarlascomprobacionespertinentes,elprotocoloIPdebesaberaquinentregalosdatosquellevadichodatagrama. As, para losprotocolos ICMP,UDPyTCPlosvalores deestecamposern1,17y6respectivamente.
Checksumdelacabecera: Enestecamposealmacenaunchecksumdeloscamposdelacabecera.Esunmecanismosimpleparadetectarposibleserroresen los campos de la cabecera del datagrama, los cuales podran provocarsituaciones"incmodas"enlared.
DireccionesIPorigenydestino:Direccionesorigenydestinodeldatagrama.Aunqueel datagramaviaje a travs devarias pasarelas, estoscamposnuncacambian.
OpcionesIP:Estecampoesopcionalydelongitudvariable.Porestoltimo,esnecesarioaadiruncampoderellenoconelfindeajustar eltamaodeestecampoamltiplosde32bits.
ElencaminamientoIP.Comohabamosdicho,elprotocoloIPdebellevarlosdatagramasdesdeelhostorigenhaciaelhostdestino,cruzandolaspasarelasyredesnecesariasparatalfin.Portanto,sonlaspasarelaslasqueparticipandeformaactivaenelencaminamientodeldatagramahaciasucorrectodestino
EsteencaminamientosebasaenladireccinIPdestinodeldatagrama(campodelacabeceradelmismo).Enrealidad,sebasafundamentalmenteenelcampoNetIDdeladireccin destino, ya que el datagrama se encamina hacia la red destino a la queperteneceeldestinatario.
Setratadeunencaminamientodistribuido,dondecadapasarelasloconocelasiguienteenlarutahaciaeldestino.Notienenunconocimientoglobaldelarutaquevaseguireldatagrama.Porestarazn,lastablasdeencaminamientodelaspasarelasdebenestaractualizadaspararealizarelencaminamientolomejorposible.Dehecho,laspasarelasdisponendeprotocolosespecficosqueintercambianinformacindeencaminamiento,conelfindecoordinarlasmejoresrutasencadamomento.
Elalgoritmodeencaminamientoqueutilizanlaspasarelasyloshostsestbasadoenunatabla.Estadisponedeunaseriedeentradasdondeseindicanlasrutasaseguiren
6
-
funcindecadareddestino.Antesdeenviarundatagrama,consultamossudireccindestinoparaconocerlaredalaqueperteneceelhostdestino,deformaque:
SicoincideconelNetIDdeunaredalaqueestamosdirectamenteconectados,entoncessetratadeunencaminamientodirecto.
Encasocontrario,tendremosqueutilizarunapasarela.Paraelloconsultamosnuestratabla deencaminamientoenbuscadeunaentradaquemeindiquelasiguiente pasarela que hay que utilizar para acercarnos a la red donde seencuentraeldestinatario.Estoesunencaminamientoindirecto.
Encualquieradelosdoscasostenemosqueenviareldatagramahaciaelhost(encaminamiento directo) o pasarela (encaminamiento indirecto)correspondiente. El envodel datagramarequiere losservicios deARP,paraadivinarladireccinhardwareyaspoderencapsulareldatagramaenunatrama.
Formatodelatabladeencaminamiento.LastablasdeencaminamientoIPestnformadasporentradasque,ensuversinmssencilla, tienen slo dos campos: El NetID de la red que queremos alcanzar y ladireccinIPdelapasarelaquedebemosutilizarparallegaraella.
Sinembargo, existenotros tiposdeentradas quefacilitan la implementacinde lasmismasyquesuinterpretacinesunpocodiferente:
Rutapordefecto: Serefiereal encaminamientopordefecto, deformaquesininguna entrada de la tabla satisface el encaminamiento de un datagrama,entoncesseaplicaelencaminamientopordefectoespecificadoenestaentrada.EnelprimercampodelaentradadelatablaapareceelsmboloDefaultparaindicar que se trata de una entrada de este tipo, y en el segundocamposeencuentraladireccinIPdelapasarelaquepordefectodebemosusar2.
Rutasespecficas:Aunqueelencaminamientoestbasadoenlaidentificacindelas redesy node loshosts, esta entradapermite indicar unencaminamientoespecfico para un host destino determinado. Se utiliza para propsitos muyespecficos.Enelprimercamposecolocaladireccindelhostdestino,yenelsegundolapasarelaautilizar.
AlgoritmodeencaminamientoIP.VeamoselalgoritmodeencaminamientoquetantounhostcomounapasareladebenimplementardentrodelprotocoloIP:
1. PartiendodeladireccinIPdestinodeldatagrama,extraemoselidentificadordered,IN,yelidentificadordelhost,IH.
2Ayudanareducireltamaodelastablas.SonmuytilesenlastablasdeencaminamientodeloshostsquepertenecenunaredIPconunanicapasarela.
7
-
2. SiINcoincideconelNetIDdecualquierredquetengamosdirectamenteconectada,encaminamientodirecto,entoncesenviamoseldatagramadirectamentealhostdestino.Paraelloencapsulamoseldatagramadentrodeunatrama,cuyadireccinhardwaredestinoaveriguaremosvaARP.SetratadeunhostpertenecienteanuestraredIP.
3. Sino,siIHapareceenlatabladeencaminamientocomounaentradaderutaespecfica,usaremoslapasarelaasociadacomodestinatariodeldatagrama,apoyndonosenARP.
4. Sino,siINaparececomounaentradaenlatabladeencaminamiento,entregaremoseldatagramaalapasarelaespecificadaenella.
5. Sino,sienlatabladeencaminamientoexisteunarutapordefecto,lausaremosparaencaminarnuestrodatagrama.
6. Sino,entoncesexisteunerrorquedebemosnotificar,descartandoeldatagrama.
ElprotocoloICMPComohemosvistoelcometidodelprotocoloIPeseltransportededatagramasdesdeunhostorigenaotrocualquieraenInternet.ElservicioquerealizaIPesunserviciosinconexin, por lo que no se garantiza ningn tipo de calidad de servicio, pudiendoocurrirlaprdidadedatagramas,suentregadesordenada,erroresenlosmensajesquetransporta,etc.
Cuandoundatagramaviajahaciasudestinotendrqueatravesarunaseriedepasarelas(routers), las cuales procesan el datagrama para dirigirlo adecuadamente hacia sudestino. Si una pasarela no puede encaminar ese datagrama, o bien detecta algunacondicinespecialenlaqueseveincapacitadaparahacerlo(congestindered,lneasfueradeservicio,etc.),entoncesesedatagramasepierde.
Estasyotrascircunstanciaseneltratamientodelosdatagramasensuviajehaciaeldestino,hacennecesariolacreacindeunmecanismoque,almenos,informedeestassituacionesalhostorigen,paraqueseaconscientedelosproblemasquehasufridoeldatagramaquehaenviadoy,siprocede,tomelasaccionesoportunas.DeaqunaceelprotocoloICMP.
ElprotocoloICMP(InternetControlMessageProtocol),esunmecanismoqueinformade la aparicin de errores en la manipulacin de los datagramas. Siempre que unapasareladetecteunerroroexcepcinenundatagrama,utilizaelprotocoloICMPparainformar al host origen de la circunstancia. ICMP no realiza ninguna accin paracorregirelerrorquesehayaproducido,solamenteseencargadecomunicarloalhostorigenparaquesterealicelasaccionesoportunasparacorregirelerror.
8
-
Originalmente,ICMPfuediseadocomounprotocoloparalaspasarelas,sinembargolos host tambin lo pueden utilizar. Los mensajes ICMP van encapsulados endatagramasIP.EldestinodelmensajeICMPnoserlaaplicacindelusuarioenelhostdestino,sinoquedeberserinterpretarloporsumduloICMP.SiunmensajeICMPafectaaunaaplicacindelusuario,ICMPdeberarticularlosmecanismosnecesariosparacomunicaralaaplicacineleventoocurrido.
Aunqueesteprotocolofuediseadoparadetectarlasincidenciasqueseproduceneneltransportedeundatagramahaciaelhostdestino,notodasellaspuedenserdetectadas.EntreestascausasseencuentralaprdidadeundatagramaquellevaunmensajeICMP.Enestepunto,podramospensarqueparasolucionaresteproblema,estaprdidapodrasernotificadaconotromensajeICMP.Msquesolucionarelproblema,loestaramosagravandocuandolarazndeesaprdidaseaunacongestinenlared.Poreso,NOSEPERMITElanotificacindemensajesICMPcausadosporlaprdidadedatagramasquellevenunmensajeICMP.OtranormageneralqueimponeesteprotocoloesquelasnotificacionesdeerrorsehacenSOLAMENTEalhostorigen.
FormatodelosmensajesICMP.Comohabamoscomentadoanteriormente,losmensajesdeICMPvanencapsulados
endatagramascomomuestralaFigura5:
Figura5:EncapsuladodeunmensajeICMPenundatagrama.
AunqueveamosqueICMPvaencapsuladoenundatagramadeIP,esonoquieredecirqueICMPseaunprotocolodenivelsuperior(niveldetransporte).SedebeconsiderarcomopartedeIP,comosifueseunaherramientaauxiliarquedisponeIPparapoderdetectarerroreseneltransportedelosdatagramasasusdestinos.
Campotipo TipodemensajeICMP0 EchoReply3 DestinationUnreachable4 SourceQuench5 Redirect8 EchoRequest
Dir.Destino Dir.Origen 0x800 Campodedatos(MTU=1500)
Tipodeprot.IPIP=0x0800
DireccionesMAC
CabeceradelatramaEthernet(DIX)
CabeceraIP Campodedatos
MensajeICMPCampoProto.ICMP
ICMP=0x01
9
-
11 Timeexceeded12 ParameterProblem13 TimestampRequest14 TimestampReply15 InformationRequest16 InformationReply17 AddressMaskRequest18 AddressMaskReply
Tabla1:TiposdemensajesICMP.
CadatipodemensajeICMPtienesupropioformato,aunquetodoselloscomienzancontrescamposcomunes,elrestopuedevariarenfuncindeltipodemensaje:
ElcampoTIPOidentificaeltipodemensajeICMP(ocupa8bits).Enlatabla1,semuestranlosdistintasopcionesquecontemplaesteprotocolo.
El campo CDIGO se usa para dar ms informacin acerca del tipo demensajeICMP(8bits).
Yelltimocampo,contendrelchecksumdetodoelmensajeICMP(16bits).ElclculodelchecksumeselmismoqueenIP,soloqueenestecasocubretodoelmensajeICMP.
En la tabla 1 se muestran los distintos tipos de mensajes ICMPque considera elprotocolo.Detodosellos,losmsimportantessonlosseisprimeros,queacontinuacinpasamosadescribirbrevemente:
EchoRequesty EchoReply:Sondosmensajesqueseusanconjuntamenteparadeterminarlaalcanzabilidaddeunhostounapasarela.Normalmentesonutilizadosporloshosts,deformaqueestospuedenextraerinformacinacercadelestadodelhostremoto,elretardoqueintroducelaredenlaentregadelosmensajesyelporcentajedemensajesperdidos.
Destinoinalcanzable(Destinationunreachable):Setratadeunmensajequees generado por una pasarela cuando no puede encaminar un datagrama.ExistendiferentescausasqueprovocanlaemisindeestemensajeyqueestncodificadasenelcampocdigodelmensajeICMP.Elmensajeesdirigidoalhostquehaenviadoeldatagrama,yensuinteriorseespecificanlosprimeros64bitsdeldatagramaquelohacausado.
SourceQuench:Esunmensajequeutilizanlaspasarelasparafrenarelritmodeinyeccindemensajesenlareddeundeterminadohost.Estasituacinseproduce cuando una pasarela se ve sobrecargada con la recepcin dedatagramas (una posible situacin de congestin) teniendo que descartaralgunosporfalta debuffers. Cuandoseproduceestasituacin, lapasarelaenva un mensaje de este tipo al host origen del datagrama descartado,dicindole que baje el ritmo de inyeccin de datagramas ya que en esemomentohayunasituacintemporaldecongestin.
10
-
Cambioderuta (redirect):EstemensajeesutilizadoporunapasarelaparaindicaraunhostdesuredIP,uncambioensutabladeencaminamiento,debidoalaexistenciadeotrapasarelaenlaredqueesmsidneaquelaqueestutilizandoactualmente.
Tiempodevidaagotado (TimeExceeded):Cuandounapasarelaencaminaundatagrama,unadesustareasesdecrementarenunaunidadelcampoTTLde la cabecera del mismo. Si tras la operacin el campo vale "0", debedescartareldatagramayenviarunmensajeICMPdeestetipohaciaelhostorigen.
EchoRequestyEchoReply:Alcanzabilidaddeundestino.EnestaprcticavamosadesarrollarlabasedelprotocoloICMP,queslovaaprocesarlos mensajes del tipo ICMP ECHO, siendo susceptible de ampliar el cdigo aqumostradoparaprocesarelrestodemensajesICMP.
Lautilidaddeestetipodemensajesesladecomprobardesdenuestrohostsiotrohost remoto es alcanzable y est operativo. El mecanismo es sencillo, cuando unhost/pasarela enva un ECHOREQUESThacia un host/pasarela remoto, ste deberesponder con un mensaje ICMP de tipo ECHO REPLY devolviendo la mismainformacinqueportabaelmensajeoriginal(EchoRequest)enelcampodeinformacinadicional,yelmismoidentificadorynmerodesecuenciadelmismo.
EnlaFigura6semuestraelformatoespecficodeestosmensajesICMP.ElcampoIdentificador yNmerodesecuencia se utilizan para identificar la tanda oserie demensajesICMPEchoRequest,yelnmerodesecuenciaseutilizaparadiferenciarunmensajedeotrodentrodelamismaserie.Esdecir,sihagounaseriede10EchoRequesthaciaunhostdestinodeterminado,alaserielamarcoconunidentificador(p.ej.:0)yacadaEchoRequestdentrodelamismaconsunmerodesecuencia(p.ej.:del0al9).
El campo datos adicionales funciona como relleno para simular datagramas decualquiertamao.Aqupodemosintroducircualquiermensaje(untextoASCII,oloquequeramos). En el mensaje EchoReply correspondiente, se devuelve en este campoexactamentelamismainformacin.
Figura6:FormatodelosmensajesECHORequestyECHOReply.
Lamquinadestinopuedeestarenotrareddistante,porloqueelmensajeICMPpuede que tenga que atravesar varias pasarelas. Por esta razn, si no obtenemosrespuestacuandoleenviamoselmensajedeEchoRequestpuedeserdebidoavarias
11
Datosopcionales.
Tipo(0u8)
Nmerodesecuencia
Cdigo(0) Checksum
Identificadordetanda
0816
-
causas: Perdida del mensaje EchoRequest (mal encaminamiento de una pasarelaintermedia, unerrordechecksum,etc.)obienelhostremotoest fueradeservicio.PuedetambinocurrirquelamquinadestinoestmuycargadaysedemoreenmandarelmensajederespuestaEchoReply.
Lamquinaorigenestableceuntiempoderespuesta(TimeOut)traselculvuelveaenviarunnuevomensajeEchoRequest(incrementandoelnmerodesecuencia, paradistinguirlodelanterior).Aunqueesdifcilestimarcualpuedesereltiemporazonablepara recibir el EchoReply (dependede lo distante queest la mquina destino, lavelocidad derespuesta y lo congestionadaqueeste la red que tiene quecruzar losmensajes)lasumadelosTimeOutsdelossucesivosreintentosdebedesersuficienteparaquealmenosllegueunEchoReply.
EnmuchosistemasUNIXytambinenWindows,existeuncomandodeusuarioqueprecisamenterealizaestamismaoperacin.EstecomandosellamaPINGyseencargadeenviarunaseriedemensajesICMPdetipoEchoRequest,esperandolallegadadelasrespuestas correspondientes (mensajes EchoReply). Al final nos indica cuantosmensajesEchoRequestsehanenviadoycuantashansidolasrespuestasrecibidasparaindicarelporcentajedemensajesperdidos.Tambinnosindicaeltiempoderoundtrip3,de cada par EchoRequestEchoReply recibido, dndonos una idea del retardo queintroducelaredentrelosdoshosts.
Pasosycuestiones
ConfiguracinTCP/IPLaordenipconfig(ordendeconsola),paraWindows98y2000,proporcionainformacinsobrelaconfiguracindelaredennuestramquina(paracadaunodelosadaptadoresderedinstalados).Acontinuacinsemuestralaayudacorrespondientealusodeestecomando:
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.
3 Eseltiempotranscurridodesdequeseenvaunmensajehastaqueserecibesurespuesta.Tambinconocidocomotiempodeidayvuelta.
12
-
DemanerapredeterminadasemuestrasolamenteladireccinIP,lamscaradesubredylapuertadeenlaceparacadaadaptadorenlazadoconTCP/IP.
ParaReleaseyRenew,sinohayningnnombredeadaptadorespecificado,seliberanorenuevanlasconcesionesdedireccinIPenlazadasconTCP/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 quecorrespondealatarjeta de red (Ethernet en nuestro caso) que est instalada en nuestrocomputadorynosfacilitaelaccesoalared.
Direccin IP: Direccin IP asignada a nuestra mquina, bien de formapermanente,obiendeformadinmicamedianteelprotocoloDHCP.
Mscaradesubred:IndicaqupartedeladireccinIPidentificalared,yquparteidentificaalcomputador(aunadaptadordered).
Puertadeenlacepredeterminada:DireccinIPdelrouterqueconectanuestraLANconelexterior(Internet).
(1)Laordenipconfig
Ejecutalaordenipconfigycompletalainformacindelatablasiguiente:
Tabla1.1
DireccinfsicadeladaptadorEthernet
DireccinIP
Mscaradesubred
DireccinIPdelrouter(puertadeenlace)
13
-
Cuestin1.1.Conlainformacinobtenida,podrascomentaraqueclasededireccionesIPpertenecelaredalaqueestconectadotucomputador.Comentabrevementelarespuestaycalculaladireccindetured(NetID)
(2)LospaquetesIPCon el analizador de protocolos, captura una sesin de paquetes IP generados alsolicitaralnavegadorWebelaccesoalapginawww.redes.upv.es.Paraellosedeberfiltrarelrestodetrfico,quedndonosnicamenteconlospaquetesgeneradosporestaaccin. Analiza la secuencia de paquetes IPcapturados y respondea las siguientescuestiones:
Tabla2.1Identificador TTL SourceIP DestinationIP
Paqueten.1
Paqueten.2
Paqueten.3
Paqueten.4
Paqueten.5
Cuestin2.2Sielcampoidentificadordeterminalasecuenciadepaqueteenviadosporunhost.LosidentificadoresdelospaquetesIPenviadospornuestramquinasonconsecutivos?ylosenviadosporelservidorWeb?.Explicabrevementelasrespuestas.
14
-
Cuestin2.3Con respecto al campo TTL (Time To Live) de la cabecera IP de los paquetescapturadossonsiempreiguales?,TodoslospaquetesIPqueenvaunamquinatienenelmismoTTL?Explicabrevementelasrespuestas.
Cuestin2.4Tras analizar los campos de la cabecera IP Opciones y Tipo de servicio (Type ofService)delospaquetescapturados,aquconclusinllegas?
(3)FragmentacinIPNopodemosobservarlafragmentacinqueseproduceenlosroutersperopodemosutilizar un pequeo truco para generar fragmentacin en la propia interfaz delcomputador.DesdeunaventanadeDOSejecutamoslaordensiguiente(previamentehabremos iniciado una captura de tramas conel filtro icmppara recoger todoeltrficogenerado):
C:\> ping n 1 l 2000 www.redes.upv.es4
Conelloestamosforzandoanuestrocomputadoralenvodeunmensajedemsde2000bytesaldestinoespecificado.ComoestamosconectadosaunaredEthernetcuyaMTUesde1500bytes,elenvosolicitadoexigirlafragmentacindelmensajeendospaquetesIP.Comparalascabecerasdeambosfragmentos,fijndoteespecialmenteenloscamposlong.total,flags,ydesplaz.Fragmento.
4 Alejecutar laorden ping, la estudiaremosms adelanteenestaprctica, se fuerza el envodeunpaqueteIPquetransportaunmensajeICMPensuinterior.
15
-
Primerfragmento:
Versin longc tiposervicio longtotal
Identificacin flags desplaz.Fragmento
Tiempovida
protocolo checksumdelacabecera
DireccinIPfuente
DireccinIPdestino
Opciones(variable)
Segundofragmento:
Versin longc tiposervicio longtotal
Identificacin flags desplaz.Fragmento
Tiempovida
protocolo checksumdelacabecera
DireccinIPfuente
DireccinIPdestino
Opciones(variable)
Cuestin3.1Culeselvalordelcampoprotocolodelacabeceradeambossegmentos?.Tienequeserelmismoparaambosfragmentos?.Culeselvalordelcampooffsetdelsegundofragmento5?.Calculaeltamaodelmensajequedeberamosenviar,utilizandolaordenping,paraquesegeneren3fragmentosdetamaomximo.
Campoprotocolo Elmismo? CampoOffset Tam.demensaje
5Recuerdaquelaunidadqueseexpresaenestecampoesunapalabrade8octetos.
16
-
(4)ElcomandoROUTEElcomandoROUTEpermitelamanipulacindelatabladeencaminamientodenuestrosistema.Cuandoseinvocaelcomandosinningnargumentosemuestralaayudadelcomando:
E:\>routeManipula 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 depuerta 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 2Si 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.1DestinodeRed
Mscaradered
Puertadeacceso
Interfaz Mtrica
1.
2.
3.
4.
17
-
5.
6.
7.
8.
Cuestin4.1Explicalautilidaddecadaunadelasentradasdelatabladeencaminamiento.
Significadodelaentradadeencaminamiento
1.
2.
3.
4.
5.
6.
7.
8.
Cuestin4.2Identificalaentradadelatablaquecorrespondeconlaentregadirecta(directdelivery)yelimnala.Acontinuacininvocaelcomandoping:
C:\> ping zoltar.redes.upv.es
Explicaloquehaocurridoyvuelveaadirlaentradaquehaseliminadoparavolveralasituacinanterior.
18
-
Cuestin4.3Repitelomismoqueenlacuestinanterior,peroenestecasosetratadeeliminarlaentradapordefecto.
Modifica la tabla de encaminamiento paraque la entrada por defecto apunte a unamquinadellaboratorioynoalrouter.Invocarelcomandopingparaaccederaunamquina perteneciente a una red IP remota (ej.: www.upc.es). Usandoel Analyzer,compruebaquetodoeltrficoquesegenerahaciaelexteriorsedirigeaunamquinaquenoeselrouteryportantonoesposiblelacomunicacin.
(5)DireccinfsicaydireccinIP
Invoca el comando ping especificando como host destino una mquina del propiolaboratorio(pertenecealamismasubred)
C:\> ping n 1 zoltar.redes.upv.es
y captura el trfico generado. Rellena los siguientes campos con la informacinobtenidadelacabeceraIPdelospaquetesICMP:
Tabla5.1DireccinFsicaDestino DireccinIPDestino
Pregunta
Respuesta
Cuestin5.1En el paquete de pregunta: La direccin fsica destino y la direccin IP destinocorrespondenalamismamquina?Porqu?
Ahorarepiteelprocesoparaunamquinaexterna(enotraredosubred)
C:\> ping n 1 www.upc.es
19
-
y captura el trfico generado. Rellena los siguientes campos con la informacinobtenidadelacabeceraIPdelospaquetesICMP:
Tabla5.2DireccinFsicaDestino DireccinIPDestino
Pregunta
Respuesta
Cuestin5.2En el paquete de pregunta: La direccin fsica destino y la direccin IP destinocorrespondenalamismamquina?Porqu?
(6)Laordenping
Mediante la orden ping (se ejecuta desde una ventana MSDOS) se obtiene unaestimacindeltiempodeidayvueltadeunpaquete,desdelaestacinorigenaunaestacindestinoqueseespecifica.Paraellosealmacenaelinstantedetiempoenelqueseenvael paqueteycuando llegala respuesta al valor almacenadose le resta deltiempoactual.Elfuncionamientodetalladodelaordenpingserestudiadomsadelanteen el curso cuando se introduzcan los protocolos IP (Internet Protocol) e ICMP(InternetControlMessageProtocol).Otrasutilidadesdelaordenpingson:
Averiguarsiundestinoestoperativo,conectadoalaredysusprotocolosTCP/IPenfuncionamiento.
Conocer la fiabilidad de la ruta entre origen y destino (calculando elporcentajedepaquetesqueobtienenrespuesta).
Ejemplo:
C:\>ping www.upc.es
Haciendo ping a www.upc.es [147.83.20.2] con 32 bytes de datos:
Respuesta desde 147.83.20.2: bytes=32 tiempo=23ms TTL=248Respuesta desde 147.83.20.2: bytes=32 tiempo=20ms TTL=248Respuesta desde 147.83.20.2: bytes=32 tiempo=31ms TTL=248Respuesta desde 147.83.20.2: bytes=32 tiempo=24ms TTL=248
20
-
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,algunasdelasmstilessemuestranacontinuacin:
ping [-t] [-a] [-n cantidad] [-l tamao] [-f] [-i TTL] [-v TOS] [-r cantidad] [-w Tiempo de espera agotado] lista de destino
Opciones: -t Solicita eco al host hasta ser interrumpido. Para ver estadsticas y continuar: presione Ctrl-Pausa/Inter. Para interrumpir: presione Ctrl-C. -a Resuelve direcciones a nombres de host. -n cantidad Cantidad de solicitudes de eco a enviar. -l tamao Tamao del bfer de envos. -f No fragmentar el paquete. -i TTL Tiempo de vida. -v TOS Tipo de servicio. -r cantidad Registrar la ruta para esta cantidad de saltos. -w tiempo Tiempo de espera de respuesta en milisegundos.
Hazunpingalasdireccionessiguientes:zoltar.redes.upv.es(servidordentrodelLaboratoriodeRedes),www.upv.es(servidorwebdelaUPV),www.upc.es(servidorwebdelaUniversidadPolitcnicadeCatalua),www.ono.es(servidorwebcomercial),www.berkeley.edu(servidorwebdelaUniversidaddeCaliforniaenBerkeley).Anotalosresultadosenlatablasiguiente
Tabla6.1
Los resultados que se obtienen mediante la orden ping son, a veces, difciles deinterpretar.Elusuarioobtienepocainformacindeporqueltiempodeidayvueltaesmayorenunosdestinosqueenotros.Inclusocuandonohayrespuestaal ping,noesposibleconocerculeselproblema:lamquinareferenciadaestfueradeservicio,noexisteunarutadesdeelorigenaldestinoolasaturacindelaredestanaltaquenose
Paquetes Tiempodeidayvuelta(ms)
Enviados Recibidos Perdidos Mnimo Mximo Medio
zoltar.redes.upv.eswww.upv.eswww.upc.eswww.ono.eswww.berkeley.edu
21
-
obtienerespuestadeldestinoenuntiemporazonable.Apesardelodicho,esunadelasherramientasquemsutilizanlosadministradoresyusuariosdeequiposconectadosenred.
Atravsdelasopcionesdelaorden ping podemosmodificarlascaractersticasdelpaquete(datagramaIP)queseenviaratravsdelaredparasondearaldestino.Enestepuntovamosamodificarunodeesosparmetros.Comorecordars,lacantidadmximadeinformacinquepuedetransportarunatramaEthernetesde1500bytes.Siqueremosenviarunbloquedeinformacinmayor,deberdividirseenvariastramas.Cuandoenlaorden ping especificamos la opcin f estamos solicitando que el bloque de datosasociadoalpaquetedepingnosefragmenteensurecorridodesdelaestacinorigenalaestacindestino.
Cuestin6.1Captura las tramas ICMP resultantes de la ejecucin de la orden: ping zoltar.redes.upv.es, y refleja en la siguiente tabla los valorescorrespondientesalastramascapturadas:
N EchoRequestTipo:Cdigo:
EchoReplyTipo:Cdigo:
identificador Secuencia identificador Secuencia1
2
3
4
Repiteelejercicio,ycomparandolosresultadosobtenidosconlosdelatablaanterior,indicaculeslapolticadeasignacindeidentificadoresysecuencias.
Cuestin6.2Ejecutalasecuenciaderdenessiguiente:
ping -l 1000 -f n 1 zoltar.redes.upv.esping -l 1500 -f n 1 zoltar.redes.upv.esping -l 2000 -f n 1 zoltar.redes.upv.es
22
-
Sepuedeenviarunbloquededatosde1500bytessinfragmentacin?.Intentaexplicarporqunosepuedeenviarsinfragmentacinunbloquedeinformacinde1500bytes.
Cuestin6.3Averiguaportanteoeltamaomximo(enbytes)delbloquededatosquepuedeserenviadodentrodeunsolopaquete.Intentaexplicarelporqudeestacifra.
(7)Laordentracert
Laordentracert (seejecutadesdeunaventana MSDOS)permiteconocerelcamino(lasecuenciaderouters)quedebeatravesarunpaqueteparallegardesdelaestacinorigenalaestacindestino.ElfuncionamientosebasaengestionaradecuadamenteunparmetrodelacabeceradelosdatagramasIP(elcampoTTL:tiempodevida)yenlainformacinqueaportanlosmensajes ICMPquegeneranlosrouterscuandolesllegaundatagramacuyotiempodevidasehaagotado(todoelloseestudiarcondetallealolargodelcurso).Porcadanuevorouteratravesadoporeldatagramasedicequehayunsaltoenlaruta.Podemosdecir,queelprogramatracertcalculaydescribeelnmerodesaltosdeunaruta.
El programade MSDOS tracert realiza la siguiente funcin: para averiguar cadanuevosaltoenvatresdatagramasyparacadaunodeelloscalculaelvalordeltiempodeidayvuelta.Sienuntiempomximo(configurable)nohayrespuestaseindicaenlasalidamedianteunasterisco.
Algunaspuntualizaciones:
Nohayningunagarantadequelarutaquesehautilizadounavezvayaaserutilizadolasiguiente(cuandoestudiemoselprotocoloIPveremosporqu).
Nohayningunagarantadequeelcaminoseguidoporelpaquetedevueltaseaelmismoquehaseguidoelpaquetedeida.Estoimplicaqueapartirdeltiempode idayvuelta queofrece tracert puedenoserdirecto estimar eltiempodeidaodevueltaporseparado(sieltiempoquetardaelpaqueteenirdesdeelorigenhastaelrouteresde1segundoyletiempoquetardapaquete
23
-
devueltaesde3segundoselvalorquenosproporcionar tracert esde4segundos)
MonitorizalosmensajesICMPcorrespondientesalaorden
Tracert www.upv.es
Yrellenalasiguientetabla:
N PeticinTipo:Cdigo:
RespuestaTipo:Cdigo:
identificador Secuencia TTL Hostorigen Datos1
2
3
4
5
6
Cuestin7.1Qu tipo de mensajes ICMP se observan? Basndote en los mensajes anteriores,escribeelalgoritmoqueempleatracert
Ejecutalaorden tracert paralosmismosdestinosdelejercicio6yanotaenlatablasiguiente el nmero de saltos y el nombre y direccin IP de los routers que seatraviesan.IncluyetambinladireccinIPdelamquinadestino.
24
-
Tabla7.1Saltos Routersenelcamino(nombreydireccinIP)
zoltar.redes.upv.eswww.upc.es
www.berkeley.edu
25
-
ParteII:LosprotocolosIPv6eICMPv6
Objetivos
ElobjetivodeestaprcticaesqueelalumnosepaconfigurarelsistemaoperativoparahacerusodeunaredIPv6mediantelalneadecomandos.AdemsdeberestudiarelcomportamientodelprotocoloICMPv6atravsdelaherramientaAnalyzer.
Descripcin
ElprotocoloIPv6
ElprotocoloIPv6fueespecificadoenelao1998(RFC2460)paracubrirlascarenciasdetectadasenlaversin4.UnodelosprincipalesproblemasdeIPv4tienequeverconsuespaciodedirecciones.ElIPv6incrementaeltamaodedireccinIPde32bitsa128bits,paradarsoporteamsnivelesdedireccionamientojerrquico,unnmeromuchomayordenodosdireccionables,yunaautoconfiguracinmssimplededirecciones.Laescalabilidad del enrutamiento multicast se mejora agregandouncampo"mbito" aestasdirecciones.Adems,sedefineunnuevotipodedireccinllamadaanycast,usadoparaenviarunpaqueteacualquieradeungrupodenodos.
Figura1.ParticinlgicadeunadireccinIPv6.
Enla figura 1 se muestra la particin lgica de unadireccin IPv6. El espacio dedireccionesIPv6esbastanteamplio,loquepermitehacerunaparticinmsjerrquicaymsfinadelasmismas.Enparticular,cabedestacar4grandesgruposdedirecciones:
2000::/3 GlobalUnicast [RFC4291]FC00::/7 UniqueLocalUnicast[RFC4193]FE80::/10 LinkLocalUnicast[RFC4291]FF00::/8 Multicast[RFC4291]
UnadelasprincipalesventajasdeIPv6respectoaIPv4eslaposibilidaddeasignarautomticamentedireccionesalasinterfacesdered.Alimplementarelformato64bitExtendedUniqueIdentifier(EUI64)delIEEE,unterminalpuedeasignarseasmismounadireccinIPv6 deformaautomtica, evitandoas unaasignacinmanual ounservidorDHCP.EnelcasodeinterfacesEthernetestoseconsigueenbasealadireccinMACnicade48bits,reformateandodichovalorparaqueseadecealaespecificacinEUI64.
26
InterfaceIDGlobalRoutingPrefix SLA
3bits 45bits 16bits 64bits
-
ElRFC2373defineelprocesodeconversin,quesepuededescribirendospasos:
1.ElprimerpasoesconvertirladireccinMACde48bitsenunvalorde64bits.Paralograrlo, partimos la direccin MAC en dos mitades de 24 bits: el IdentificadorOrganizacionalnico(OUI)ylaparteespecficadelNIC.Elvalorhexadecimalde16bits0xFFFEsecolocaentrelasdosmitadesparaformarladireccinde64bits.Comoejemplo,partiendodeladireccinMAC00:12:7F:EB:6B:40,tendramos:
Por qu el valor 0xFFFE? Tal y como se explica en las Guidelines for EUI64Registration Authority del IEEE, este es un valor reservado que los fabricantes nopueden utilizar en asignaciones reales de direcciones EUI64. En otras palabras,cualquier direccinEUI64 incluyendo0xFFFE inmediatamente despus desuOUIpuedeserreconocidacomogeneradaapartirdeunadireccinEUI48(MAC).
2.Elsegundopasoconsisteeninvertirelflaguniversal/local(bit7)delaporcinOUIdeladireccin.LasdireccionesglobalesnicasasignadasporelIEEEtienenestebitoriginalmenteacero,loqueindicaunicidadanivelglobal.Delamismamanera,lasdireccionescreadaslocalmente,talescomolasusadasparainterfacesvirtualesodireccionesMACasignadasmanualmente,tienenestebitauno.ElbitU/LseinviertecuandousamosunadireccinEUI64comoidentificadordeinterfazIPv6.
Paraentenderlamotivacindeestaalteracinhayqueanalizarlaseccin2.5.1delRFC2373:Lamotivacinparainvertirelbit'u'enelinstantedecreacindelidentificadordeinterfazessimplificarlalabordelosadministradoresdelsistemacuandotenganquecrearidentificadoreslocalscopemanualmenteensituacionesdondenoexistandireccioneshardwareyadisponibles.Esteeselcasodeenlacesseries,extremosdetneles,etc.Laalternativaseraqueestasdireccionesfuerandeltipo0200:0:0:1,0200:0:0:2,etc.,envezdelanotacin::1,::2,etc.queesmuchomssencilla."Enestepuntocabedestacarqueelmbito(scope)deunadireccinnuncacambia:lasdirecciones globales siguensiendoglobales, y las direcciones locales siguensiendo
27
-
locales.Simplementesecambiaelsignificadodeestebitporcomodidad,porloqueelvalordelbittambintienequeserinvertido.
DireccionesMulticastenIPv6
Unadireccinmulticast identificamltiplesinterfaces.Conunatopologaderoutingmulticastapropiada,lospaquetesenviadosaunadireccinmulticastsonentregadosatodaslasinterfacesidentificadasporesadireccin.LasdireccionesmulticastIPv6tienenelprefijo 11111111.Siendoas,unadireccinIPv6multicastsepuedeidentificarrpidamenteyaquesiempreempiezaporFF.Lasdireccionesmulticastnosepuedenutilizarcomodireccionesfuente.DespusdelprefijoFF,lasdireccionesmulticastincluyenunaestructuraadicionalparaidentificar sus flags, mbito (scope) y el grupo multicast, tal y como se ilustra acontinuacin:
Figura2.EstructuradeunadireccinmulticastIPv6.
Loscamposdeladireccinmulticastsonlossiguientes:
Flags El campo Flags indica qu opciones estn activas en la direccinmulticast.Eltamaodeestecampoesde4bits.ElnicoflagdefinidoenelRFC2373eselflagTransient(T),queutilizaelbitdemsbajopesodeestecampo.Cuando su valor es cero, el flag T indica que la direccin multicast ha sidoasignada de forma permanente (wellknown) por parte de la IANA (InternetAssignedNumbersAuthority).Cuandosuvaloresuno,indicaqueladireccinmulticastestemporal(noasignadadeformapermanente).
ScopeElcampoScopeindicaelmbitodeIPv6paraelcualsedestinaese
trfico. El tamao de este campo es de 4 bits. Adems de la informacinofrecidaporlosprotocolosderoutingmulticast,losroutersutilizanestecampoparadeterminarsieltrficomulticastdebeserreencaminadoono.ElRFC2373definelossiguientesmbitosdeaplicacin:
Valordelcampo
Scopembitodeaplicacin
1 Nodelocal
2 Linklocal
5 Sitelocal
8 Organizationlocal
E Global
28
-
Porejemplo,eltrficocondireccinmulticastFF02::2tieneunmbitolinklocal,porloqueunrouterIPv6nuncaloenrutara.
GroupIDElcampoGroupIDidentificaelgrupomulticastyesnicoparaunmbitode
aplicacin.Eltamaodeestecampoesde112bits.LosgroupIDsasignadosdeformapermanente son independientes del mbito. Los group IDs transitorios solo sonrelevantesparaundeterminandombito.LasdireccionesmulticastdesdeFF01::hastaFF0F::sondireccionesreservadaspreasignadas.
Paraidentificartodoslosnodosenlosmbitosnodelocalylinklocal,sehandefinidolassiguientesdireccionesmulticast:
FF01::1(nodelocalscopeallnodesaddress) FF02::1(linklocalscopeallnodesaddress)
Deformasimilar,paraidentificartodoslosroutersenelmbitonodelocal,linklocalysitelocal,sehandefinidolassiguientesdireccionesmulticast:
FF01::2(nodelocalscopeallroutersaddress) FF02::2(linklocalscopeallroutersaddress) FF05::2(sitelocalscopeallroutersaddress)
Los112bits queformanel GroupIDpermitendefinir ununiversode2112 posiblesvalores.Apesardeello,debidoalamaneraconquelasdireccionesmulticastIPv6sonmapeadasendireccionesEthernetmulticast,elRFC2373recomiendacrearGroupIDsutilizandosolamentelos32bitsdeordenmsbajoenlasdireccionesmulticastIPv6,poniendo los dems bits a cero. Al usar solo los 32 bits de orden ms bajo nosaseguramos que cada group ID est vinculado nicamente a una direccin MACmulticast.
Solicitednodeaddress
Laposibilidaddesolicitarladireccindeunnodofacilitaelprocesodebsquedadeestacionesdelaredenelprocesoderesolucindedirecciones.EnIPv4,unatramaARPRequest se enva a la direccin MAC de difusin, siendo recibida por todas lasestacionesenelmismosegmentodered,incluyendoaquellosquenosoportanIPv4.ElIPv6utilizamensajesdeltipoNeighborSolicitationparalaresolucindedireccionespero,envezdeutilizarladireccindembitolocalqueidentificaatodoslosnodosenlamismasubred,seutilizaladireccinmulticastquecorrespondealnodosolicitado.EstadireccinseobtienemedianteelprefijoFF02::1:FF00:0/104ylosltimos24bitsdeladireccinIPv6quesepretenderesolver.
Por ejemplo, para el nodo con una direccin IPv6 del tipo linklocal igual aFE80::2AA:FF:FE28:9C5A, la direccin del nodo solicitado correspondiente esFF02::1:FF28:9C5A.Siendoas,paraobtenerladireccinMACquelecorrespondealaIPFE80::2AA:FF:FE28:9C5Alaestacinenvaunmensajedesolicituddevecinoaladireccin FF02::1:FF28:9C5A. El nodo que est utilizando la IP
29
-
FE80::2AA:FF:FE28:9C5Aestar escuchandoel trficomulticast en ladireccindesolicitednodequelecorresponday,parainterfacesquecorrespondanaunadaptadorderedreal,tendrquehaberregistradopreviamenteladireccinmulticastcorrespondienteconeladaptadordered.
Elresultadodelautilizacindeladireccinmulticastsolicitednodeesqueelprocesoderesolucindedirecciones,quetpicamenteseaplicaaunenlaceosubred,novaaperturbar a todas lasestaciones de la red. Dehecho,apenasunnmeromnimodeestaciones ser perturbado. En la prctica, debido a la estrecha relacin entre ladireccinMAC,elidentificadorIPv6yladireccin solicitednode,estaltimaactacomounadireccinpseudounicastparalograrunprocesoderesolucinmuyeficiente.
SoporteaIPv6
RespectoalsoportedeIPv6porpartedelsistemaoperativo,prcticamentelatotalidadde sistemas operativos actuales lo soportan parcial o totalmente. En particular, elsistemaoperativoWindowsXPincluyelassiguientesherramientas:
ipv6.exe: Utilizado para la configuracin del protocolo IPv6. El mtodorecomendado para configurar IPv6 en Windows XP SP1 o SP2 es utilizarcomandosenelcontextonetshinterfaceipv6.
ping6.exe:LaherramientarecomendadaparausoenWindowsXPSP1oSP2eslaversinIPv6delaherramientaping.exe.
tracert6.exe:Deigualmanera,enWindowsXPSP1oSP2serecomiendaelusodelaversinIPv6delaherramientaTracert.exe.
(1) Empecemos por verificar la disponibilidad de la pila IPv6 en Windows XP(deshabilitadapordefecto):
a)ParasabersielsoporteaIPv6estactivoensumquinaejecuteelcomando:ipv6ifb)Encasodequenoestactivo,ejecute(comoAdministrador):ipv6installSeguidamentecompruebequeefectivamentesehaactivadoelsoporteaIPv6:ipv6if
c)Ejecutandoelcomando ipconfig/all tenemosinformacinsobrenuestradireccinIPv6 en un formato ms simplificado. En particular nos centraremos en estos doscampos(losvaloresconcretosdependendelamquina):Direccinfsica.........:005056220001DireccinIP...........:fe80::250:56ff:fe22:1%5
Como puede comprobar, la direccin fsica (o MAC) y la direccin IPv6 estnestrictamenterelacionadas.Dehecho,talycomosecomentantes,enIPv6elInterfaceIDseobtieneapartirdeladireccinMACsiguiendolanormativaEUI64.
30
-
(2)Paraempezarhagamosunpinganuestrapropiamquina.EnWindowsXPestoseconsiguedetresmanerasdistintas:a)Haciendopingaladireccin::1,queenIPv6esequivalentea127.0.0.1paraIPv4:
ping6::1b)UtilizandoladireccinespecialdentrodelasdireccionesreservadasparaLinklocalunicast:
ping6fe80::1c)UtilizandoladireccinpropiadentrodelasdireccionesreservadasparaLinklocalunicast:
ping6Nota:paraconocerelvalordenuestrapropiadireccinejecutar
ipconfig/all
(3)Ahoraintentecalcular ladireccinIPv6deunamquinadellaboratorio cercana(encendidayconWindowsarrancado)apartirdeladireccinMACdelainterfazRedLaboratorioRedes(5):
DireccinMAC:__________________________DireccinIPv6(Linkscope):_______________________________
a)HagaunpingaladireccinIPv6queterminadecalcular,y capturelospaquetesintercambiadosatravsdelatarjetadeRed3ComEthernetutilizandoAnalyzer.Parahacerpingtendrqueseguirlasintaxis:
ping6%idonde%iindicaqueesunadireccinasociadaalainterfazderednmeroi(tpicamente4o5),segnelcomando:netshinterfaceipv6showaddress.Las tresprimeras interfaces deberanser las mismasen la mayor parte desistemasutilizados.Lasinterfacescuatroysuperioresvaransegnelsistema,ydependendelhardwareutilizado.
Tabla1.InterfacesIPv6enWindowsXP.
NdeInterfaz Nombre Descripcin
1LoopbackPseudoInterface
Estainterfazofreceloequivalentealadireccin127.0.0.1enIPv4.OfreceunloopbackIPv6medianteladireccin::1oFE80::1
2AutomaticTunnelingPseudoInterface
Comosupropionombreindica,esunainterfazutilizadaparacreacinautomticadetneles.
36to4TunnelingPseudoInterface
EstainterfazofreceuntnelIPv6aIPv4.
4 NetworkadaptersLasinterfaces4ysuperioressecreandinmicamenteydependendelhardwarepresenteenelequipo.
31
-
b)AnalicelospaquetescapturadosconAnalyzer.VerquenosehangeneradopaquetesARP.Porqu?______________________________________________
c) Ver que aparecen 2 paquetes del tipo Neighbor Solicitation y NeighborAdvertisement en la traza. Qu informacin transportan?__________________________________________________
(4)UnavezquenotenemossoportenativoparaIPv6enlaUPV,ningnrouternosofrece direcciones IPv6 globalmente vlidas (2000::/3), o Unique Local Unicast(FC00::/7).EnesteejerciciovamosaconfigurarmanualmenteunadireccinIPv6delafamiliaUniqueLocalUnicast(FC00::/7).a)Enprimerlugar,verifiquemosquinterfacesderedtenemosylasdireccionesIPv6asociadas:
netshinterfaceipv6showaddressb) En segundo lugar hay que aadir una direccin IPv6en la red FC01::/64 a undispositivo:
netsh interface ipv6 add address "Red Laboratorio de Redes" opcionalmentepodemosidentificarlainterfazderedporsunmero: netshinterfaceipv6addaddress5c)Entercerlugar,verificamosqueefectivamentesehaaadidolanuevadireccinIP.Estosepuedehacermedianteelcomando:
netshinterfaceipv6showaddressd)EncuartolugaraadimoslarutaquecorrespondealaredFC01::/64alatabladeencaminamiento:
netshinterfaceipv6addrouteFC01::/645(o"RedLaboratoriodeRedes")yconsultamos la tabla deencaminamientoparacomprobarqueefectivamentesehaactualizado:
netshinterfaceipv6showroutes
e)CapturarlospaquetesIPv6circulandoporlaredylanzarunpinghaciaunaestacinvecina. Ahorayanonecesitamosidentificar la interfazutilizadomediante%n.Porqu?
___________________________
f) Analizandolatraza,verqueinicialmentesehaceusodelasdireccionesmulticastdeltiposolicitednodeaddress.Apuntelosvaloresobtenidos:
DestinationMACaddress DestinationIPv6adress
Nota: A partir del primer intercambio, podr observar que los paquetes NeighborSolicitationyNeighborAdvertisementcapturadosnoutilizandireccionesmulticastdeltipo FF02::1:FF00:0/104 definido para este propsito al tratarse de direcciones yaconocidas.Sinohapodidocapturaresteintercambioinicial,pruebehacerunpingauna
32
-
direccininexistenteyconfirme,analizandolatraza,elusodelasdireccionesmulticastdeltiposolicitednodeaddress.
g)AlfinalborrarladireccinylaredFC01::/64haciendo:netshinterfaceipv6deleteaddress5fc01::netshinterfaceipv6deleterouteFC01::/645(o"RedLaboratoriodeRedes")
Paracomprobarquehansidoeliminadoscorrectamenteejecute:netshinterfaceipv6showaddressnetshinterfaceipv6showroutes
(5)Porltimovamosaprobarelusodedireccionesmulticastenelinterfaz7(RedUPV).Algunasdeellastienenunsignificadoespecial,comosehavistoantes.
a) Pruebea hacer unpinga la direccinFF01::1%7yobservelos resultadosenlaconsolaylatraza.Obtienerespuestaperonocapturaningnpaquete.Porqu?
________________________________________________
b)SeguidamentehagaunpingaFF02::1%7.Culesladiferenciarespectoalanterior?________________________________________________
c)PruebeahoraahacerunpingaladireccinFF02::2.Haobtenidorespuesta?Porqu?
________________________________________________
Posiblesextensionesalaprctica:
1. Elaboreunaguamuysimilaralautilizadaenestaprctica,peroadaptadaalsistemaoperativoLinux.
2. CreacindeunapequeaaplicacindeconsolaenCquehagausodesocketsIPv6.
Enlacestiles:
http://www.iana.org/http://www.microsoft.com/technet/network/ipv6/ipv6faq.mspxhttp://technet.microsoft.com/eses/library/bb878115(enus).aspxhttp://technet.microsoft.com/eses/library/bb878102(enus).aspxhttp://technet.microsoft.com/enus/network/bb530961.aspx
33