ip&icmp+v6

Upload: delia-karina-sanchez-l

Post on 10-Jan-2016

257 views

Category:

Documents


0 download

DESCRIPTION

tutorial

TRANSCRIPT

  • 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