You are on page 1of 27
Nivel de red: Protocolo de Internet Enel modelo de Intemet, el principal protocolo de red es el Protocole de Internet (IP). En este capitulo, se describe en primer gar nterconexién entre redosy se tatan en general los problemas relacionados cot 6 protocolo de nivel de red ‘A continuacin se describe la versin actual del protocolo de Inte, la versin 4.0 IP. A continacién se deseribe la siguiente generacién de este protocolo 0 IP¥6, que ses el protocolo dominante en un futuro Finalmente, se muestra ls estrategias de transicién de Pv a TPv6, Algunos lectores pueden observar la !ausencia de IPv5. IPv5 es un protocolo experimental, basado en gran parte en el modelo OSI que nunca se ha materalizado, 20.1 INTERCONEXION ENTRE REDES Los nveles isco y de enlace de datos de una red funcionan loalmente. Estos dos niveles se responsabilizan dle a enitega de datos en J re de un nodo al siguiente, como se muesta en a Figura 20. Esa interconexién ene recs se hace a partir de cinco redes: cuatro LAN y una WAN, Si el host A ne- cesta enviar un paquete de datos al host , el pequete necesita ir primero de A aR] (un conmutador oenca- ‘minador),Iuego de RI a R3, y inalmente de R3 al host D. Se dice que el paguete de datos pasa a través de ites enlaces. En cada enlace, se invatucran dos nivels fisicos y dos niveles de enlace de dats, Sin embargo, hay un gran problema. Cuando Hogan datos ala interfaz Fl de R1, zeémo sabe RI quel inter- {uz de salda es £5? No hay nada en el nivel de enlace de datos (ofisico) para ayuda a RI tomar la decsigm adecuads. La rama no transport ninguna informacién de encaminamiento. Latrams conten la direcién MAC de A como fuente y la dieecién MAC de RI como destino, Para ua LAN o una WAN, la enzegs significa ‘tansportar la trama a través de un enlace y no ms all ‘Necesidad del nivel de red Para solucionar el problema de Ia enttega através de varios enlaces, se ha disefiado el nivel dered (o el nivel de imerconexién entre redes) El nivel de ed es responsable de la enttg host a host y del encaminariento de los paquetess través de los encaminadores © conmutadores. La Figura 20.2 muesira la misma red anteriot con un nivel dered aad. 503 ‘S44 TRANSMISION DE DATOS ¥ REDES DE COMUNICACIONES Figura 20.1 Enlaces entre dos hosts Figura 202 Nivel dered en una red. Le Figura 20.3 muestra idea general del fncionaidad de nivel deed en el origen x el encaminador 4yenel destino. EL nivel dered ene rigen es responsable de crear un paguete a parti de los datos que veven {e otra protocolo (como el protocol de transporte oun protocole de encaminamints). Lacabecera del por ‘uete contiene, entre ora informacion, las dicocionesIigcas del erigeny del destino. El nivel dered es "esponsable de comprobar su tabla de encuminamiento para encontrar la informacién de eneaminamieno CAPITULO 20, NIVEL DE RED: PROTOCOLO DE INTERNET 548 Figura 20.3 Nivel de red en el origen, en el encaminador y en el destino. Rite rene Nae rede laeen (tales como la interfaz de salida 0 fa direecién fisica del siguiente nodo). Si el paquete es demasiado grande, se fragmenta (la fragmentacion se trata més adelante en este capitulo. Elnivel dered en el conmutador o encaminador es responsable de encaminar el paquete, Cuando Tega un paquete, el encaminador o conmutador consulta su tabla de encaminamiento y encuentra la interfaz por la que el paquete debe ser enviado. El paquete, después de algunos cambios en la cabecera, se pasa de nuevo al nivel de enlace de datos con la informacién de encaminamiento, Elnivel de red en el destino es responsable de la verficacién de la direcci6n; se aseyura que la direccién de destino del paquete es la misma que la direccién de red del host. Si el paquete es un fragmento, el nivel de zed espera hasta que todos los fragmento han Ilegado y los reensambla y entrepa los paquetes reensamblados al nivel de transport. Internet como una red de datagramas En Inter, el nivel de enlace de red es una red de conmutacién de paquetes. Cuando se describié la conmu- tacién en el Capitulo &, se dijo que, en general, la conmutacién se puede dividir en tres amplias categories: ‘conmutacién de cireuites, conmutacién de paquetes y conmutacién de mensajes. La conmutacién de paquetes utiliza circuitos virwales o datagramas. En Internet se a elegido el enfoque basado en datagramas para la conmutacign en el nivel de red. Utliza, ‘uma direccién tniversal definida en el nivel de red para encaminar los paquetes del origen al destino. 546 TRANSWISIOW DE DATOS ¥ REDES DE COMUNICACIONES ‘La conmutacton en el nivel de red en Internet uli datagramas para la conmutacion de paguetes Internet como red no orientada a conexi6n ‘La entrega de un paquete se puede realizar uilizando un servicio dered orientado a conexidn 0 uno no orien ‘ado a conexién, En un servicio orientado a conexion, el origen establece en primer lugar una conexion con destino antes de enviar el paquete. Cuando la conexién se establece, se puede enviar una secuencia de ‘Paquetes del mismo origen al mismo destino. En este caso, hay una relacién entre los paquetes. Se envian por 1 mismo camino en orden secuencial, Un paquete se encuentra conectado lgieamente con el paquete que Vij delante de ely con el que vigja dettis del. Cuando se han entregado todos los paquetes de un mensaje, se finaliza la conexién, En un protocolo orientado a conexién, la decisién sobre el camino de uma secuencia de paguetes con la ‘misma direccién origen y destino se puede hacer una sola vez, cuando se establece la conexin. Los cont {adores no recalculan el camino para cada paquete individual. Este tipo de servicio utiliza el enfoque de eit- cuitos virtues para la conmutacién de paquetes, como Frame Relay y ATM. En un servicio no orientado a conexidn, el protocolo de nivel de red trata cada paquete de forma inde- ppendiente y ls paquetes no tienen relacin entre ellos. Los paquetes de un mensaje pueden viajar o no por el ‘mismo camino hasta el destino, En este tipo de servicio se utiliza el enfoque basado en datagramas para la ‘connmutacién de paquetes. En Internet se ha elegido este tipo de servicio en el nivel de red, La razén de esta devisin es que Intemet esti compuesto de tantas reds heterogeneas que cas sempre es ‘imposible crear una conexién desde un origen a wn destino sin conocer por adelantado la naturaleza de las redes. ‘La comunicacion en ef nivel de ved en Internet es no orientada a conexion. 20.2 IPv4 La version 4 del protocolo de Internet (IPy4) es un mecanismo de entregautlizado en los protocolos TCP/ IP. La Figura 20.4 muestra la posicién de IPv4 en esta familia de protocolos. Figura 20.4 Posiciém de IP. en la familia de protocolos TCPAP. eso | [0 JLo Jer [Los ] ‘eae LY “gh ANH (CAP/TULO 20. NIVEL DE RED: PROTOCOLO DE INTERNET S47 IPv4 es un protocolo de datagramas no orientado a conexién y no fiable —utiliza un servicio de mejor ‘entrega posible. El término mejor posible significa que IPv4 no ofrece control de errores ni control de flujo (s6lo para la deteccién de errors en la cabecera). IPv4 asume la no fiabilidad de los nivelesinferioes y hace To mejor que puede para conseguir la transmisidn al destino, pero sin garantis, Sila fiablidad es importante, IPv4 debe emparejarse con un protocolo fiable como TCP, Un ejemplo de tun servicio de mejor entrega posible es el servicio postal. El servicio postal hace los mejor que puede para entregar las carias pero no siempre tiene éxito. Si una carta no registtada se pierde, es responstbilidad del temisoro del receptor descubrr la pérdida y rectficar el problema. El servicio postal no sigue la pista de cada carta y no puede notificar al emisor de la pérdida de una cara [Py es también un protocolo no orientado a conexién para una red de conmutacién de paquotes que utiliza datagramas (véase el Capitulo 8). Fsto significa que cada datagrama se trata de forma independiente, y cada da- ‘agrama puede seguirun eamino diferente hasta el destino. Eso implica qe los datagrams enviados por el mismo ‘origen al mismo destino pueden llegar desordenados. También, algunos pueden perderse o dafarse durante la ‘ransmisién. De nuevo, IPy4 depende de un protocolo de nivel superior que se preoeupa de estos problemas. Datagrama ‘Los paquetes en IPv4 se denominan datagramas. La Figura 20.5 muestra el formato de un datagrama en Pv. ‘Un datagrama es un paquete de longitud variable que consta de dos partes: cabecera y datos. La eabecera ‘iene de 20 a 60 bytes de longitud y contiene informacion esencial para el encaminamiento y Ia entrega. En TCPAP se muestra la cabevera en seceiones de 4 bytes. A continuacin se hace una descripeién de cada cam- po en orden: G Versién (VER). Fste campo de 4 bits define la version del protocolo IPv4. Actualmente la versién es Ja 4, Sin embargo, la versiéa 6 (0 TPng) puede reemplazar totalmente ala version 4 en un futuro. Este ‘campo dice al software IPv4 que ejecuta en la méiquina que procesa el datagrama que el formato es de igura 20.5 Formato de un datagrama en IPv4. su a ee oa Forge paar ae | ‘S48 TRAVSMISION DE DATOS Y REDES DE COMUNICACIONES 1a version 4. Todos los campos deben interpretarse de acuerdo a esta versin, Sila méquina esti tili= zando otra versién, el paquete se descarta en lugar de interpretarse incorrectamente, Oi Longitud de ia eabecera (HLEN), Este campo de 4 bits define la longitud total de la cabecera del datagrama en palabras de 4 bytes. Este campo es necesario debido a que la longitud de la cabecera es variable (entre 20 y 60 bytes). Cuando no hay opciones, la cabecera tiene 20 bytes y el valor de este campo es 5 (5 x 4™ 20), Cuando el campo de opcién esta presente su tamatio es 15 (15 x-4= 60), Gi Servicios. EI EFT cambié la interpretacin y el nombre de este campo de 8 bits. Este campo, anterior ‘mente denominado tipo de servicio, se conoce ahora como servicios diferenciados, En la Figura 20.6 se muestran ambas intepretaciones, 1. Tipo de servicio En esta interpretacin, lo 3 primeros bits se denominan bits de precedencia. Los siguientes 4 bits se denominan tipo de servicio (TOS) y el dltimo no se utiliza, a. Precedencia es un subeampo de 3 bits con valores entre 0 (000 en binario) y 7(I11 en binatio). {La precedencia define Ia prioridad del datagrama en situaciones tales como congestién. Si un sneaminador se encuentra congestionado y necesita descartar algunos datagramas, se descarta- ‘rn primero aquéllos con menor precedencia. Algunos datagramas en Internet son més impor- ‘antes que otros. Por ejemplo, un datagrama utilizado para la gestién de la red es mucho mis ‘urgente que un datagrama que contiene informacién opeional para un grupo. El subcampo de precedencia fue parte dela versin 4 pero munca se utliz6, i b. Bits TOS. En este campo de 4 bits, cada bit tiene un significado especial. Aunque un bit puede ser 00 L, uno y s6lo uno de estos bits puede tener el valor 1 en cada datagrama. Los patrones de bits y su interpretacién se muestran en la Tabla 20.1. Con s6lo | bit | al mismo tiempo, se pueden tener cinco tipos diferentes de servicios. ‘Tabla 20.1 _Tipas de servicios Bits TOS Descripcién 0000 | Normal (valor por defecto) 0001 | Minimizar coste 010 | Maximizarfabitidad 0100 _| Maximizar produetividad 1000 | Minimizar el retardo Figura 20.6 Tipo de servicio para servicios diferenciados, bir rd Mae (CAPITULO 20. NIVEL DB RED: PROTOCOLO DE INTERNET 10 Los programas de aplicacién pueden solicitar un tipo espectlica de servicio. Los valores por defec~ to pata algunas aplicaciones se muestran en la Tabla 20.2 Tabla 20.2 _Tipos por defecto de servicios Bits TOS _| Descripeién ICMP 0000 | Normal BOOTP (0000 | Normal ‘NNTP 0001 | Minimizar coste IGP 0010 | Maximizarfabilidad SNMP 0010 __| Maximizar abitidad TELNET 1000 | Minimizar retardo FIP (datos) 0100 | Maximizar productividad FIP (control) 1000 | Minimizar retardo TFIP 1000 | Minimizar retardo SMTP (orden) 1000 | Minimizar retardo SMTP (datos) 0100 | Maximizar productividad DNS (consulta UDP) 1000__| Minimizar ret ‘DNS (consulta TCP) (0000 | Normal DNS (zona) 0100 | Maximizar productividad Esti claro de la Tabla 20.2 que las actividades interactivas, actividades que requieren atencién in- ‘mediata, y actividades que requieren una respuesta inmediata necesitan un minimo reardo. Aquellas actividades que envian bloques de datos requieren maximizar la productividad. Las actividades de sgestién necesitan maximizar la fabilidad. Las actividades de fondo necesitan minimizar el cose. Servicios diferenciados En esta interpretacién, los primetos 6 bits constituyen un subeampo denominado codepoint y los ‘ltimos 12 bits no se utilizan. El subeampo codepoins se puede utilizar de dos formas. a. Cuando fos 3 bits de la derecha son 0, los 3 bits de laizquierda se interpretan de igual forma que ls bits de precedencia en Ia interpretacién de tipo de servicio. En otras palabras, es compatible con la vieja interpretacén. 'b. Cuando los 3 bits de Ia derecha no son todos 0, los 6 bits definen 64 servicios basados en la asignacién de prioridad de Internet o de los administradores locales de acuerdo a la Tabla 20.3, La primera categoria contiene 32 tipos de servicios; la segunda y la tercera contienen 16 servicios cada una. La primers categoria (ndmeros 0, 2, 4,... 62) son asignados por Inter- net (IEFT), La segunda categoria (3, 7, 11, 15,.. 63) puede ser utiizada por los administra- dores locales (organizaciones). La tercera categoria (I. 5, 9... 61) es temporal y puede set utilizada para experimentacion, Observe que los nimeros no son consecutives. $i lo fueran, la primera categoria iria de 0 a 31, la segunda de 32 a 47 y Ia tercera de 48 a 63, Esto seria incompatible con la interpretacién TOS debido a que XXX000 (que incluye 0, 8, 16, 32, 40, 580, TRANSMISION DE DATOS Y REDS DE COMUNICACIONS 48 y 56) caeria dentro de la tres categorias. En su lugar, en este método de asignacién todos estos servicios pertenecen a la categoria 1. Observe que estas asignaciones todavia no han sido finalizadas. Tabla 20.3._Valores para codepoint Categoria Codepoint ‘Autoridad que asigna 1 XXXXX0__| Intemet 2 XXXXIL | Local 3 XXxXxX01 | Temporal o experimental 1 Longitud total. Este es un campo de 16 bits que define la Tongitud total (cabecera mis datos) dl da- tagrama en bytes. Para encontrar la longitud de los datos que vienen del nivel superior, se resta a Tongitud de Ia cabecera de la Iongitud total. La longitud de la cabecera se puede obtener multiplicando ‘el valor del campo HLEN por 4. “Longitud de datos =fongitud total — longitu de la ebecera Puesto que fa longitud del campo es de 16 bits, la longitud total de un datagrama en IPvd se encuentra, Timitada a 65535 (2"* 1) bytes, de los cuales 20 0 60 son bytes que perteneven a la cabecera y el res- 10 son datos del nivel superir. El campo de longtud total define la longitad total del datagrama incluyendo la eabecera. Aunque un tama de 65.536 oda parecer grande amato de un datgrama IP pode incemen- ture enn fro eereano cundo ls tecnologiassubyacentes permitan un mayor ancho de banda ‘Cuando se trate la fragmentacién en la siguiente seccién, se veri que algunas redes fisicas no son capaces de encapslar un datagram de 65.536 bytes en una trama. El datagrama debe fragmentarse para que pueda atravesar esas reds. ‘Uno se pede pregutar por qué se necesita este campo. Cuando una méqina (encaminadoro host) recibe una trama, descarta la cabecera y la cola, dejando el datagrama, {Por qué se incluye un campo texea que no se necesita? La respuesta es que en muchos casos no Se necesita realmente el valor de xe campo, Sin emo, hiy desiones en ls que el datagrams noes la nica cose que se encapne i en una tramat se pede afadit empaquetamient. Por ejemplo, cl protocolo Ethernet Gene una restricidn minima y mixima al tamafo de los datos que se pueden encapslar en ura tama (46 & 1500 bytes). Si el tamafio de un datagrama IPv4 es menor de 46 bytes, se necesitan afiadir datos extra, para cunplir este requisito. nese caso, cuando una miquina extra el datagrama, necesita compro- bar I longid ttl para determinar qué parte es realmente datos y qué part es empaquctamiento (ase la Figura 20: Q Identificacién, Este campo se utiliza en Ia fragmentacién (que se trata en la siguiente seccién). 1D Indicadores. Este campo se uiliza en lafagmentacin (que se tata en Ia siguiente secciSn). Q Desplazamiento del fragmento, Este campo sc utiliza en la fragmentacién (que se trata en la siguien- te secon), CAPiTULO 20. NIVEL DE RED: PROTOCOLO DE INTERNET S81 Figura 20.7 Encapsulado de wn datagrama pequefio en una trama Ethernet. ces DF Tiempo de vida. Un datagrama tiene un tiempo de vida limitado en su viaje a través de Internet. Este ‘campo se diseiiéoriginalmente para almacenar una marca de tiempo, que se reducia en uno cada vez que Visitaba un encaminador. El datagrama se descartaba cuando el valor se hacia 0. Sin embargo, para este esquema, todas las miquinas deben tener sincronizados los relojes y deben conocer euanto tarda tun datagrama en ir de una maquina a otra. Hoy en dia, este campo se utiliza fundamentalmente para controlar el nimero miximo de saltos (encaminadores) visitados por el datagrama, Cuando ua host origen envia el datagrama, almacena un nimero en este campo. Este valor es aproximadamente 2 veces el mero mximo de encaminadores entre cualquier par de hosts. Cada encamminador que procesa el datagrama restaa este nimero un I. Si este valor, después de restarse, se hace 0, e] encaminador des- carta el datagrama Este campo es necesario debido a que las tablas de encaminamiento en Intemet se pueden eorromper, ‘Un datagrama puede viajar entre dos o més encaminadores durante mucho tiempe sin ser entregado al destino, Este campo limita el tiempo de vida de un datagram (Otro uso de este campo es limitar intencionndamente el viaje de un paquete. Por ejemplo, si el origen quiere confinar el paquete ala red local, puede almacenar I en este campo. Cuando el paquete llega al primer encaminador, este valor se hace Oy se descarta el datagrama, 1 Protocolo. Este campo de 8 bits define cl protocolo de nivel superior que utiliza los servicios del nivel IPv4, Un datagrama IPv4 puede encapsular datos do varios protocolos superiores como TCP, UDP, ICMP ¢ IGMP. Este campo especifica al protocolo de destino final al que se tiene que entregat el da tagrama IPv4, En otras palabras, puesto que el protocolo TPv4 puede transportar datos de diferentes protocolos, el valor de este campo ayuda al nivel de red en el receptor a saber a qué protocolo perte- neven los datos (véase la Figura 20.8). Bl valor de este campo para cada protocolo de nivel superior se muestra en la Tabla 20.4 Figura 20.8 Campo del protocolo y datos encapsulados. ie de te (Ger eer =e S82 TRINSMISION De D4TOS ¥ REDES DE COMUNICACIONES Tabla 20.4 Valores de los protocolas Valor Protocolo 1 ICMP 2 IGMP 6 TOP, 7 upp 9 osPr Suma de comprobaci6n. El concepto de suma de comprobacién y su eileulo se trata mas adelante en este capitulo. i Direccién origen. Este campo de 32 bits define la direccién IPv4 de un origen. El campo debe perma rnecer sin cambio durante todo el tiempo en el que el datagrama IPv4 viaja desde el origen hasta el destino, O Direceién de destino. Este campo de 32 bits define la dieceién IPv4 del destino, El campo debe per- ‘manever sin cambio durante todo el viaje del datagrama desde el origen hasta el destino, Ejemplo 20.1 ‘Un paqueteIPvt ha legado con los siguientes 8 primeros bits: 000010 El receptor descarta el paquete, or qué? Soluetén Fay un error en el paguete. Los 4 bits dela izquenta (0100) muestran ls versién, que es correcta. Los siguientes 4 bits (0010) mavestrn uns longtud de cabecera invalid (2 x 4= 8). El aierominimo de bytes en la cabecera debe ser 20 Et paquetese ha corrompido durante Ia transmis, Ejemplo 20.2 Emin paqueteIPv4, el valor de HLEN es 1000 en binrio.;Cudntos bvies de opciones se tansmiten en el paguete? Solucion El valor del campo HLEN es 8 lo que significa que el nimero total de bytes en la eabecera es 8 x4 = 32 bytes, Los ‘rimeros 20 bytes Son la cabocera base, los siguientes 12 bytes son las opciones, Ejemplo 20.3 En un paquete IPv4 el valor del campo HLEN es 5 y el valor del campo longitu total es Ox0028. ,Culitos bytes de datos transport este paquete? (CAPITULO 20. NIVEL DE RED: PROTOCOLO DE INTERNET $53 Solucion El valor del campo HLEN es 5, lo que significa que el nimero de bytes en a cabeceraes 5x4 ~20 bytes (no hay opcio 'e3) La longitu tora es de 40 bytes, lo que significa que ol paguetetansporta 20 bytes de datos (40) 20), Ejemplo 20.4 ‘Un paguet Pv ha tlegado con ls primeros digits hexadecimal siguientes: ‘9x4.50000280001 00000102 Cuintossaltos puede realizar este paquete antes de ser descartado? 2A qué protcolo de nivel superior pecenecen los Solucién Para encontrar el campo tiempo de via, se saltan 8 byes (16 digitos hexadecimales). El campo tiempo de vida es el roveno byt, que es 01. Est significa qu el paguete solo puede realizar un salto. El campo del protocol exe sien fe bye (02), lo que significa que el protecole de nivel superior es IGMP (véase la Tabla 20), ‘Fragmentacién Un datagrama puede viajar a través de diferentes redes. Cada encaminador extrat el datagrama IPv4 de la {tama que recibe, la procesay la encapsula en otra trama. El formato y el tamafo de la trama recibida depen. iden del protocolo utilzado por el nivel fisico por el cual llega la trama. El formato y el tamafo de la tama enviads dependen del protocolo utilizado en el nivel fisico de Ia rad por la que se Va a enviar la trama, Por jemplo, si un encaminador conecta una LAN con una WAN, reeibe la rama en el formato de la LAN y la envia en el formato de Ia WAN, Unidad de transferencia maxima (MTU) Cada protocolo de nivel de enlace de datos tiene su propio formato de trama en la mayoria de les protocolos. Uno de Ios campos definidos en el formato es el tamafio maximo del campo de datos. En otras palabras, feuando un datagrama se encapsula en una trama, el tamatio total del datagrama debe ser menor qu este ta. ‘maiho méximo, que esti definido por resticciones impuestas por el hardware y el software utilizados en la red (véase la Figura 20.9). El valor de la MTU depende del protocolo de re fisico, La Tabla 20.5 muestra los valores para algunos rotocolos, 584 TRAVSMISION DE DATOS Y REDES DE COMUNICACIONES: ‘Tabla 20.5 MTU para algunas redes Protocolo MTU Hyperchannel 65.536 Token Ring (16 Mbps) 17914 ‘Token Ring (4 Mbps) 464 FDDI 4352 Ethemet 1500 X25 576 PPP, 296 Para que el protocolo IPv4 sea independiente dela red fisica, lo diseadores decidieron hacer Ia longitad ‘mubxima de un datagrama IPv4 igual a 65535 bytes. Esto hace la transmisién mis eficiente cuando se utiliza un protocolo con una MTU de este tamao. Sin embargo, para otras redes fisias, se debe dividir el datagrama ‘para que pueda pasar através de estas redes. A este proceso se le denomina fragmentacién, El origen normalmente no fragmenta cl paquete [Pv4, El nivel de transporte en su lugar segmentaré los datos en un tamatio que se puedan acomodar en IPv4 y en el nivel de enlace de datos que usa, (Cuando se fragmenta un datagrama, cada fragmento tiene su propia cabecera con la mayoria de los campos repetidos, pero con algunos eambiados. Un datagrama fragmentado puede fagmentarse si encuentra una ted con una MTU mas pequefa, En otras palabras, un datagrama puede fragmentarse varias veces antes de alean- zar el destino final, [En IPv4, un datagrama puede ser fragmentado por el host origen o por cualquier encarinador encontrado ‘enel camino, aunque la tendencia es limitar la fragmentacin slo al origen, El reensamblado del datagrama, sin embargo, s6lo se hace en el host destino debido a que cada fragmento es un datagrama independiente ‘Mientras que el datagrama fragmentado puede viajar a través de caminos diferentes nunca se puede contro. Jaro garantizar qué camino va a seguir un datagrama fragmentado, todos los fragmentos que pertenecen all ‘mismo datagrama deberianfinalmente legar al host destino, Por tanto, es ico hacer el proveso de reensam= lado en el destino final. Una objecidn ain més fuerte al proceso de reensamblado de paquetes durante la ‘ransmisién es la pérdida de eficiencia que producitia (Cuando se fragmenta un datagrama, las partes necesarias de la cabecera deben ser copiadas en todos los fragmentos. El campo de opeién puede 0 no ser copiado, como se verde la siguiente seccidn, El host o en- caminador que fragmenta un datagrama debe cambiar el valor de tes campos: indicadores, desplazamiento del fragmento y longitud total. El resto de los campos deben ser copindos tal cual. Por supuesto, el valor de Ja suma de comprobacién debe recalcularse. Campos relacionados con la fragmentacién ‘Los campos que se relacionan con Ia fragmentacién y el reensamblado de un datagrama IPv4 son los campos de identificacion, indicadores y de desplazamiento del fragmento, G1 Identificacién. Este campo de 16 bits identifica un datagrama que procede de un host origen. La com- binacién de la identificacién y de la diteccién origen IPv4 deben definir de forma nica un datagrama ‘cuando deja el host origen, Para garantizar esta unicidad, el protocolo IPv4 utiliza un contador para ctiquetar los datagramas. El contador se iniializa a un nimero positivo. Cuando el protocolo [Pwd (CAPITULO 20. NIVBL DE RED: PROTOCOLO DE INTERNET $85 cenvia un datagrama, copia el valor actual del contador en el campo de identificacién e incrementa el contador en 1. Cuando se fragmenta un datagram, el valor en cl campo de identificacién se copia a ‘todos fragmentos, En otras palabras todos ls fragmentos tienen el mismo niimero de identificacion, ‘el mismo que el datagrama. El nimero de identificacién ayuda al destino a reensamblar el datagrama, Sabe que todos los fragmentos que tienen la misma identficacién deben ser ensamblados en un da- tagrame, I Indicadores. Este es un campo de 3 bits. El primer bit est reservado. El segundo bit se denomina bit de no fragmentacién. Si su valor es 1, la maquina no debe fragmentar el datagrama, Sino puede pasar ‘el datagrama a través de la red fisica disponible, lo descarta y envia un mensaje de error ICMP al host ‘origen (véase el Capitulo 21). Si su valor es 0, el datagrama se puede fragmentar si es nevesario. El tercer bit se denomina bit de mas fragmentos. Si su valor es 1, significa que el datagrama no es el i timo fragmento, hay més fragmentos después del él, Si su valores 0, significa que éste es el iltimo fragmento o que solo hay un fragmento (véase I Figura 20.10), 1 Desplazamiento del fragmento. Este campo de 13 bits muestra la posicinrelativa de este fragmento ‘especto al datagrama completo. Es el desplazamiento de los datos en el datagrama original medio en ‘unidades de 8 bytes. La Figura 20.11 muestra un datagrama eon un tamaflo de datos de 4000 bytes fragmentado en tes fragmentos. Los bytes en el datagrama original son niimeros de 03999. El primer fragmento transporta los bytes (0a 1398. El desplazamiento para este datagrama es 0/8 = 0. El segunda fragmento transporta los bytes centre 1400 y 2799; el valor del desplazamiento para este fragmento es 1400/8 = 175. Finalmente, el tercer fragmento transporta los bytes entre 2800 y 3999, El valor del desplazamiento para este frag- _mento es 2800/8 = 350, ‘Recuerde que el valor del desplazamiento se mide en unidades de & bytes. Este se hace debido a que In Tongitud del eampo de desplazamiento es slo de 13 bits y no puede representar una secuencia de bytes mayor de BI9T. Esto fuerza a los hosts y encaminadores que fragmentan un datagrama a elegir lun tamafo de fragmento de forma que el primer niimero de byte sea divisible por 8. Figura 20.10 Indicadores uilizados en la fragmentacton Figura 20.11 Ejemplo de fragmentacién. Detain =0 Deane = (0008-0 x00 axe 556 TRANSMISION DE DATOS ¥ REDES DE COMUNICACIONES La Figura 20,12 muestra una visién expandida de los fragmentos de la Figura 20.11. Observe que el valor del campo de icentifieacin es el mismo en todos los fragmentos. Observe que el valor de los indicadores con el bit que indica ms fragmentos esti puesto a I en todos los fragmentos excepto en el iltimo. Tambin se muestra el valor del campo de desplazamiento para cada fragmento, La figura también muestra qué ocurre si se fragmenta un fragmento, En este caso el valor del campo de desplazamiento siempre es relativo al datagrama original. Por ejemplo, en la figura, el segundo fragmento se fragmenta més tarde en dos fragmentos de 800 y 600 bytes respectivamente, peto el desplazamiento muestra la posiciéa relativa de los fragmentos en los datos originales. Es obvio que aunque cada fragmento siga un camino diferente y lleguen fuera de orden, el destino final puede reensamblar el datagrama original a partir de los fragmentos recibidos (si ninguno de ellos se pierde)utlizando la siguiente estrategia: | ; 2, Se divide la longitud del primer fragmento por 8. El segundo fragmento tiene un desplazamiento igual aese resultado, Se divide a longa total det primer y segundo fragmento por 8, El tercer fragmento tiene un valor de desplazamiento igual a ese resultado, 4. Se continia el proceso. FI limo fragmento tiene el bit que indica més fragmentos a 0, Ejemplo 20.5 ‘Un pagueteIlegn con cl bit M0, Es ést el primer fragmento, e iio un fragmento intermedi? ¢Sabe si el pague- te fue fragmentado? Figura 20.12 Ejemplo de fragmentacin detallado. TZ i Sper x oon . T ro Tt Te I = co etd is = es {as se 090-999 ve i Daag tnd Te azn 2 [ae apne 22 (CAP/TULO 20, NIVEL DE RED: PROTOCOLO DE INTERNET 557 Solucion Sict Bitten valor, sigiica que a hay mis gments. El datagrams esl timo Sin enbargo, no se puede aber siel paqut origins egment 0 no. Un pagete que no seh fragmenta se consider. come timo fragmenta Ejemplo 206 ‘Unpagut legs cone bits 1 Zs steel primer agmento, el imo oun fagmenta intermedi? ;Sabe sl paqu- te fe fragmentado? Soluetén Sie bit fests puesto a I entones hry al menos un fragmento mis. Este Fagmeno puede srl primero © uno inte medio, pero oe iim. Noe sabe esl primeoo uo interme; se necesita mis inforacin (valor dl campo de desplaamiono) Vee Fjeplo 201 Ejemplo 20.7 ‘Un paquete ha legado con un bit M1 y un valor para campo de Fagmentacin 0. Es és el primer fragment, clikimo oun fragmento itemetio? Solucién Debidos que es 1 oben es prime fragmento oben es ue interned. Debid aque valor del desplazaiento 0, entonces se ata dl primer datagram, Ejemplo 208 ‘Un pauete a leg con un valor de desplazamicnto de 10, ;Cul eo mero del primer byte? :Se sabe elnino delim byte? Solucién Para encontrar

You might also like