Está en la página 1de 11

Encapsulado y formato de datagramas IP.

(Selecciones, parte siete) Publicado por Enrique Perez Ruiz en lunes, julio 04, 2011

Aqu est ya la sptima entrega de las Selecciones de la Gua, correspondiente al encapsulado y el formato de los datagramas IP. El encapsulado (y reencapsulado) es un proceso que repiten varias de las capas del modelo OSI, o del modelo TCP/IP para decirlo con propiedad, finalmente OSI no es una implementacin en si, solo una norma, y TCP/IP es la implementacin propiamente dicha. Es el proceso que posibilita que las capas de igual nivel en los dos lados de la transmisin se "hablen" sin problemas. Pero no solo trata esta seccin de esto, as que entremos en materia. El captulo original inicia aqu y concluye aqu. Hoy es lunes (de redes) y es una muy buena manera de iniciar la semana, as pues, provecho!

Contenido: 2.2- Encapsulado y formato de datagramas IP. 2.2.1- Encapsulado de datagramas IP. 2.2.2- Formato general del datagrama IP. 2.2.3- Opciones del datagrama IP y formato de opciones.

El trabajo principal del Protocolo de Internet es la entrega de datos entre dispositivos a travs de una interconexin de redes. En su viaje entre dos hosts en una Internet, estos datos pueden viajar a travs de muchas redes fsicas. Para ayudar a asegurar que los datos sean enviados y recibidos correctamente, se encapsulan en un mensaje llamado datagrama IP. Este datagrama incluye varios campos que ayudan a controlar el funcionamiento del protocolo IP y asegurarse de que los datos lleguen adonde tienen que ir. En esta seccin echaremos un vistazo a cmo el protocolo de Internet toma los datos que le pasan las capas superiores y los empaqueta para su transmisin. Empiezo con una discusin general de los datagramas IP y el encapsulado. Luego describo el formato general de los datagramas IP, incluyendo los campos utilizados en la cabecera IP y la forma en que se interpretan. Tambin incluyo un breve anlisis de las opciones de datagramas IP y su utilizacin.

Antecedentes: Esta seccin supone al menos cierta familiaridad con los conceptos de

direccionamiento IP.Tambin hace referencia a la seccin de fragmentacin y reensamblaje de datagramas.

Nota: Los datagramas IP a veces se llaman paquetes IP. Establecer si "datagrama" o "paquete" es el trmino preferido parece depender de a quin se le pregunte, incluso las normas no utilizan ninguno de los dos trminos exclusivamente. Por otro lado, he visto llamar a los datagramas IP marcos IP (IP frames en el original) lo cual definitivamente no es correcto!El tema de los mensajes y los nombres en el captulo de fundamentos describen estos trminos de manera ms completa.

Regresar al contenido 2.2.1- Encapsulado de datagramas IP.

En el captulo que describe el modelo de referencia OSI, vimos las variadas formas en que los protocolos en las distintas capas de la pila de protocolos de red interactan unos con otros. Uno de los conceptos ms importantes en la operacin entre los protocolos es el encapsulado. La mayora de los datos se originan en las capas superiores del modelo OSI. Los protocolos en estas capas pasan los datos hacia las capas inferiores para su transmisin, por lo general en forma de mensajes discretos. Tras la recepcin, cada protocolo de nivel inferior toma todo el contenido del mensaje recibido y lo encapsula en su propio formato de mensaje, agrega un encabezado (header) y, posiblemente, una terminacin que contienen informacin de control importante. El encapsulado se explica en trminos generales en un tema aparte.

Una buena analoga de cmo funciona la encapsulacin es la comparacin con el envo de una carta en un sobre. Usted puede escribir una carta y la pone en un sobre blanco con un nombre y una direccin, pero si se lo entrega a un mensajero para entrega al da siguiente, tomaran el sobre y lo pondran en un sobre de entrega mayor. (De hecho, he escrito una descripcin completa de este tipo de analoga, por si le interesa.)

Debido a la importancia de TCP/IP, el Protocolo de Internet es uno de los sitios ms importantes en los que ocurre el encapsulado de datos en una red moderna. Los datos se pasan al protocolo IP por lo general desde uno de los dos principales protocolos de la capa de transporte: TCP o UDP. Estos datos ya se encuentran en la forma de un mensaje TCP o UDP con las correspondientes cabeceras TCP o UDP. Esto entonces se encapsula en el cuerpo de un mensaje IP, generalmente llamado datagrama IP o paquete IP. El encapsulado y formato de un datagrama IP es tambin llamado a veces reempaquetado, nuevamente, la comparacin implcita con un sobre es obvia. El proceso se muestra en la Figura 85.

Figura 85: Encapsulado de datagramas. Clic para ampliar. Esta es una adaptacin de la Figura 15, el mismo dibujo muy similar al modelo de referencia OSI en su conjunto, mostrando especialmente cmo el encapsulado de datos se lleva a cabo en TCP/IP. Como puede ver, el mensaje de una capa superior, est contenido en un mensaje TCP o UDP. Esto se convierte en la carga (payload) de un datagrama IP, que se muestra aqu simplemente con una cabecera (las cosas pueden complicarse un poco mas que esto.) El datagrama IP se transmite a la capa 2 en la que a su vez se encapsula en una especie de marco (frame) LAN, WAN o WLAN, y luego se convierte en bits y se transmite a la capa fsica.

Si el mensaje a transmitir es demasiado grande para el tamao de la red subyacente, antes puede ser fragmentado. Esto es similar a dividir grandes cantidades de objetos en varios sobres o cajas ms pequeas. En este caso, cada datagrama IP lleva slo una parte del mensaje de las capas superiores. El dispositivo receptor debe reensamblar el mensaje de los datagramas IP. Por lo tanto, un datagrama no siempre transporta un mensaje de las capas superiores completamente, sino que puede llevar slo una parte de este.

El datagrama IP es similar en concepto a un marco (frame) usado en Ethernet u otra capa de enlace de datos. La diferencia importante, por supuesto, es que los datagramas IP estn diseados para facilitar la transmisin a travs de una interconexin de redes, mientras que los marcos (frames) en la capa de enlace de datos slo se utilizan para la entrega directa dentro de una red fsica. Los campos incluidos en la cabecera IP se utilizan para gestionar la entrega de datagramas en una interconexin de redes. Esto incluye informacin clave para la entrega, como la direccin del dispositivo de destino, la identificacin del tipo de marco, y los bits de control.La cabecera sigue un formato especfico descrito en el siguiente tema.

Despus que los datos se encapsulan en un datagrama IP, se transmiten a la capa de enlace de datos para su transmisin a travs del "salto" (hop) correspondiente de la red interna. Hay, por supuesto, un encapsulado adicional, cabecera IP y todo lo dems, en un "marco" (frame, finalmente una trama ndt) de la capa de enlace de datos como una trama Ethernet. Un datagrama IP pueden ser encapsulados en muchas tramas de datos de la capa de enlace, a medida que atraviesa la red interna, en cada salto (hop) el datagrama IP se retira de la trama de la capa de enlace de datos y luego es reempaquetado en una nueva para el siguiente salto. Los datagramas IP, sin embargo, no se cambian (a excepcin de algunos campos de control) hasta que lleguen a su destino final.

Regresar al contenido 2.2.2- Formato general del datagrama IP.

Los datos transmitidos por Internet usando el protocolo IP son transportados en mensajes llamados datagramas IP. Al igual que todos los mensajes del protocolo de red, IP utiliza un formato especfico para sus datagramas. Por supuesto aqu estamos viendo la version 4 del protocolo y as vamos a examinar el formato de datagrama IPv4, que se defini en la RFC 791 junto con el resto del protocolo. El datagrama IPv4 se divide conceptualmente en dos partes: la cabecera y la carga til (payload). La cabecera contiene los campos de direccionamiento y control, mientras que la carga lleva los datos reales que se envan a travs de la red interna. A diferencia de otros formatos de mensaje, los datagramas IP no tiene una terminacin despus de la carga til. A pesar de que IP es un protocolo relativamente simple, no orientado a conexin, y "no fiable", la cabecera IPv4 lleva una buena cantidad de informacin, lo cual hace que sea bastante grande. Como mnimo, es de 20 bytes de longitud, y con opciones pueden ser mucho mayor. El formato del datagrama IP se describe en la Tabla 56 y se ilustra en la Figura 86.

Tabla 56 (primera parte): Formato de datagrama IPv4 (Clic para ampliar)

Tabla 56 (segunda parte): Formato de datagrama IPv4 (Clic para ampliar)

Subtabla "a". Clic para ampliar

Subtabla "B". Clic para ampliar.

Figura 86: Formato del datagrama IPv4. (Clic para ampliar). Este diagrama muestra grficamente el importante formato de datagramas de IPv4. Los primeros 20 bytes son la cabecera (header) IP fija, seguido por una seccin de opcional de opciones, y un rea de datos de longitud variable. Tenga en cuenta que el campos de tipo de servicio (TOS Type Of Service) se muestra como se defini originalmente en el estndar IPv4.

Esta es una tabla muy grande, porque el formato del datagrama IP es muy importante y tiene un montn de campos que necesitan explicacin. Para evitar que se alargara aun mas, me decid a excluir algunas de las descripciones ms complejas.

Campo de TTL (Time To Live). Dado que los datagramas IP son enviados entre routers a medida que viajan a travs de una interconexin de redes, es posible que una situacin pueda resultar en un datagrama que se transmite desde el router A al router B luego al C y de nuevo al A. No se supone que sucedan lazos entre los routers, y raramente suceden, pero son posibles.

Para asegurarse de que los datagramas no viajan en crculos sin cesar, el campo TTL estaba destinado a ser llenado con un valor de tiempo (en segundos) cuando un datagrama fue enviado originalmente. LOs Routers disminuiran el valor de tiempo peridicamente y, si es que alguna vez llegaba a cero, el datagrama sera destruido. Este campo tambin se consider para ser usado con el propsito de asegurar que los datagramas crticos en tiempo no permanecieran mas all del tiempo en el que ya se volvieran obsoletos En la prctica, este campo no se utiliza exactamente de esta manera. Los routers de hoy son rpidos y suelen emplear menos de un segundo en transmitir un datagrama, de modo que medir el tiempo que vida de un datagrama no sera prctico. En cambio, este campo se utiliza como un "nmero mximo de saltos" para el datagrama. Cada vez que un router procesa un datagrama, reduce el valor del campo TTL en uno. Si al hacer esto el campo alcanza un valor de cero, el datagrama se dice que ha expirado. Se descarta, y por lo general un mensaje ICMP de tiempo excedido es enviado para informar al remitente del mensaje de que esto ha sucedido.

El campo TTL es uno de los principales mecanismos por los que las redes estn protegidas de los bucles en los router (ver la descripcin de los mensajes ICMP de tiempo excedido para ms informacin sobre cmo ayuda TTL a IP a manejar los bucles de router.)

Campo de tipo de Servicio (TOS Type Of Service). Este campo de un byte fue pensado originalmente para proporcionar ciertas caractersticas de calidad de servicio en la entrega de datagramas IP. Permita que los datagramas IP fueran etiquetados con informacin que indica no slo su prioridad, sino la forma preferida en la cual deban ser entregados. Se divide en una serie de subcampos, como se muestra en la Tabla 57 (y en la Figura 86). La falta de propiedades de calidad de servicio ha sido considerado como una debilidad de IP durante mucho tiempo. Pero como podemos ver en la Tabla 57, estas caractersticas fueron incluidas en el protocolo desde el principio. Qu ha pasado aqu? La respuesta es que a pesar de que este campo se defini en la norma en la dcada de 1980, no fue ampliamente utilizada por el hardware y software. Durante aos, simplemente fue rellenado con ceros e ignorado la mayor parte del tiempo.

Tabla 57: Definicin original del campo de TOS en IPv4. (Clic para ampliar) El IETF, viendo que el campo estaba en desuso, intent revivir su uso. En 1998, la RFC 2474 redefine los seis primeros bits del campo TOS para soportar una tcnica llamada de Servicios Diferenciados (DS Differentiated Services). En DS, los valores en el campo TOS se llaman puntos de cdigo y estn asociados con diferentes niveles de servicio. Esto empieza a ser bastante complicado, por lo que pueden referirse a la RFC 2474 si desean revisar todos los detalles.

Entender el formato de datagrama IP es una parte importante de la solucin de problemas de redes IP. Asegrese de ver el siguiente tema sobre las opciones para obtener ms informacin sobre cmo se utilizan las opciones IP en los datagramas, y el tema de la fragmentacin para contextualizar mas en el uso de los campos relacionados a la fragmentacin con el de Identificacin, el desplazamiento (offset) del fragmento, y el de Fragmentos adicionales.

Regresar al contenido 2.2.3- Opciones del datagrama IP y formato de opciones. Cada datagrama IP debe incluir la cabecera (header) estndar de 20 bytes, que contiene informacin clave, tales como la direccin de origen y destino de los datagramas, los parmetros de control de fragmentacin, la informacin de longitud y ms. Adems de estos campos invariables, los creadores de IPv4 incluyeron la posibilidad de aadir opciones que proporcionan una mayor flexibilidad en la forma en que IP maneja los datagramas. El uso de estas opciones es, por supuesto, opcional. Sin embargo, todos los dispositivos que procesan datagramas IP debe ser capaces de leerlos y manejarlos correctamente.

El datagrama IP puede contener cero, una o ms opciones, lo que hace que la longitud total del campo de opciones en la cabecera IP sea variable. Cada una de las opciones puede tener uno o varios bytes de longitud, dependiendo de la cantidad de informacin que la opcin tiene que transmitir. Cuando se incluye ms de una opcin simplemente son concatenadas y se ponen en el campo de opciones como un todo. Dado que la cabecera IP debe ser un mltiplo de 32 bits, se incluye un campo de relleno si el nmero de bits de todas las opciones en conjunto no es un mltiplo de 32 bits.

Formato de opciones IP Cada opcin tiene su propio subcampo de formato, generalmente estructurado como se muestra en la Tabla 58 y la Figura 87. Para la mayora de las opciones, se utilizan los tres subcampos: Opcin Tipo, Opcin de longitud y Opcin de datos. Para algunas opciones simples, sin embargo, esta infraestructura compleja, no es necesaria. En estos casos, la Opcin de Tipo en si comunica toda la informacin requerida, por lo que el campo de Opcin de Tipo se presenta solo, mientras que los subcampos de Opcin de Longitud y Opcin de datos se omiten.

Tabla 58:Formato de opciones IPv4. (Clic para ampliar)

Figura 87: Formato de opciones IPv4 (Clic para ampliar) Este diagrama muestra el formato de campo completo para una opcin IPv4. Tenga en cuenta que algunas opciones simples puede consistir slo del subcampo de Opcin de Tipo, omitiendo los subcampos de Opcin de Longitud y Opcin de Datos.

Opciones IP La tabla 59 enumera las opciones ms comunes de IPv4, mostrando la clase de Opcin, el nmero de Opcin y la duracin de cada una (una longitud de 1 indica una opcin que slo consta de un campo de Opcin de tipo), y una breve descripcin de cmo se utiliza cada una.

Tabla 59: Opciones de IPv4. Clic para ampliar

Concepto clave: Cada datagrama IPv4 tiene una cabecera obligatoria de 20 bytes, y puede tambin incluir una o ms opciones. Cada opcin tiene su propio campo de formato, y la mayora son de tamao variable.

Opciones IP y enrutamiento de origen. Normalmente, los datagramas IP son enrutados sin instrucciones especficas de los dispositivos con respecto a la ruta que un datagrama debe tomar desde el origen hacia su destino. Es trabajo de los routers, utilizando protocolos de enrutamiento, averiguar estos detalles. En algunos casos, sin embargo, puede ser ventajoso que el origen de un datagrama especifique la ruta de un datagrama lleva a travs de la red. Esto se conoce como enrutamiento de origen.

Hay dos opciones de IP que soportan el enrutamiento de origen. En cada una, la opcin incluye una lista de direcciones IP que especifica los routers que deben ser utilizados, para llegar al destino. Cuando se utiliza el enrutamiento de origen estricto, esto significa que la ruta especificada en la opcin se debe utilizar exactamente, en secuencia, sin permitir que otros routers manejen de ningn modo el datagrama. En contraste, el enrutamiento de origen libre especifica una lista de direcciones IP que se deben seguir en secuencia, pero permite que intervengan saltos (hops) entre los dispositivos de la lista.

Para ms detalles sobre la estructura exacta que utiliza cada tipo de opcin, por favor consulte el RFC 791.