El paquete de IP
también llamado Datagrama
El paquete IP (Capa 3 en el modelo OSI) se crea tomando el datagrama de capa 4 TCP o UDP y agregándole encabezados IP. El paquete IP se envía a la capa 2, donde se le agregan más encabezados, creando una trama o celda (Ethernet, Frame Relay, ATM, etc.), que luego se transmite a lo largo de la capa física 1.
Longitud del paquete IP (tamaño del paquete, en bytes)
Longitud mínima del paquete = 20 bytes
Longitud máxima del paquete = 65,535 bytes
La longitud del paquete es una consideración muy importante, ya que todos los administradores de red deben minimizar la SAR (segmentación y reensamblaje), o la fragmentación. Por lo tanto, necesitan conocer la MTU (Unidad de transmisión máxima), que es el paquete IP más grande que puede viajar de remitente a receptor, autónomo, sin fragmentación. La MTU se aplica a toda la ruta e incluye todos los dispositivos por los que pasa un paquete. Puede descubrir este valor utilizando pings (consulte http://www.infocellar.com/softwa …). Sin embargo, el valor de MTU puede cambiar, dependiendo de la ruta tomada, por lo que es mejor ejecutar la prueba de ping repetidamente, varias veces a la semana, durante aproximadamente un mes.
Aquí detallamos solo los paquetes v4. La longitud del paquete difiere para IPv4 e IPv6 (IPnG – IP next Generation). IPv4 sigue siendo, con mucho, el protocolo predominante, con IPv6 muy lejos:
- IPv4: el campo de longitud del paquete IPv4 es de 16 bits, para un tamaño máximo de 65535 bytes.
- IPv6: la opción de longitud extendida proporciona un campo de longitud de 32 bits, que admite una longitud de paquete de hasta 4294967295 bytes.
Paquetes IP encapsulados en tramas Ethernet
Tenga en cuenta que las tramas Ethernet II de longitud máxima (1518 bytes, con una carga útil de 1500 bytes) son mucho más pequeñas que los paquetes IP de longitud máxima (65,535 bytes). ¡Por lo tanto, para paquetes grandes, deben fragmentarse en muchos marcos!
Por ejemplo, la cantidad de tramas de Ethernet necesarias para entregar un paquete maximizado de 65535 bytes a través de una LAN Ethernet, entre dos estaciones de trabajo, se puede calcular de la siguiente manera:
65535 dividir por 1500 = 43.69
Por lo tanto, se necesitarán 44 tramas Ethernet para transportar un paquete IP de tamaño máximo a través de un enlace de datos. Ahora, ¿esto significa que los paquetes IP se fragmentan constantemente? De ningún modo !! La mayoría de las aplicaciones envían pequeños fragmentos de datos, que están por debajo del tamaño máximo de trama.
Transmisión del paquete IP (orden de bytes y orden de bits)
Por lo general, los paquetes IP se encapsulan primero en una PDU de capa 2, que el 99% del tiempo es Ethernet. Como los paquetes están dentro de las tramas, el orden de bits / bytes se determina al observar la transmisión de la trama de Ethernet. En realidad, no hay necesidad de pensar siquiera en la transmisión de paquetes IP, ya que no se transmiten directamente. Pero lo cubriremos aquí repasando la metodología de transmisión de tramas Ethernet.
La transmisión es un poco extraña, ya que el orden de bytes es big-endian (el byte más a la izquierda se envía primero), pero el orden de bits little-endian (rigthmost, o LSB (bit menos significativo) del byte se envía primero). Por ejemplo, si está enviando un marco:
<-
¡Bueno, la mayoría de las tramas Ethernet contienen paquetes IP! Y los paquetes IP se transmiten de la misma manera, como una parte interna de la trama Ethernet.
Por ejemplo, mostraremos los primeros 4 bytes:
11100001 00001111 10101010 10010011
Byte1 Byte2 Byte3 Byte4
Los datos normalmente se mueven hacia la izquierda, y esto es cierto para cada uno de los 4 bytes: se transmitirán en big-endian, que significa “byte izquierdo primero”. Pero debemos invertir los bits en cada byte, para mostrar el flujo en serie real de bits que se mueven hacia la izquierda . Entonces, los bits reales que se transmiten a la izquierda son los siguientes con los bits en cada byte invertido:
<10000111 11110000 01010101 11001001
Byte1 Byte2 Byte3 Byte4
(invertido) (invertido) (invertido) (invertido)
NOTA: La transmisión de trama de Ethernet es “tonta”, y no agrupa bytes. No tiene idea de que está enviando una dirección de 6 bytes, o un tipo de 2 bytes, etc. Simplemente envía la trama completa, un byte a la vez, de izquierda a derecha, y cada byte se envía primero a LSB y MSB último.
Campos de paquete IP (el contenido del paquete)
Al igual que con los marcos de capa 2, las unidades de datos de capa 3 (paquetes) se dividen en varias subunidades llamadas “campos”. El siguiente diagrama muestra todos los campos de un solo paquete IP. Existen numerosos campos y, por lo tanto, se representan con 32 bits por fila. En realidad, están alineados uno al lado del otro en una larga fila de datos, que se transmiten en serie. Con el fin de colocarlos a todos en un diagrama simple, hemos seguido la misma representación que utiliza el RFC (RFC791). Se lee como un libro, comienza el campo de versión y termina con el campo de carga útil.
Para obtener información detallada sobre cualquier campo en particular, simplemente haga clic en él:
Versión – 4 bits – especifica la versión de IP en uso (actualmente 4)
Longitud del encabezado (HLEN) o Longitud del encabezado de Internet (IHL) : la longitud del encabezado en palabras de 32 bits (5 palabras + palabras de opciones: las opciones máximas son 10 palabras, por lo tanto, el IHL máximo es 15 palabras, generalmente 5 sin opciones)
TOS – Tipo de servicio. Este campo tiene los siguientes componentes:
- Precedencia. El rango va de 0 (normal) a 7 (control de red). (generalmente ignorado)
- DTR bits. Los campos de un bit que, cuando se configuran, solicitan niveles más altos de (no) retardo, rendimiento y confiabilidad. (generalmente ignorado)
Largo total. Longitud del datagrama en bytes (octetos): máximo 65.535 bytes: incluye el encabezado … (solo se aplica a este fragmento, ya que a menudo hay varios fragmentos debido al tamaño máximo del paquete)
Identificación: se utiliza para fragmentación y reensamblaje. Cada identificador único de datagrama para cada datagrama de origen. Debe copiarse en cada fragmento. (generalmente incrementado en 1 para cada datagrama)
Banderas – 3 bits – el primer bit siempre es cero, por lo que algunos no lo consideran una “bandera”. El siguiente bit es DF (No fragmentar, 1 = No fragmentar) y el último bit es MF (Más fragmentos, 0 = último fragmento, 1 = más fragmentos por venir)
Fragmento de compensación. Ubicación inicial de este fragmento con datagrama original. En múltiplos de 8 octetos.
Tiempo para vivir. Manejado de la siguiente manera:
- establecido en el host de origen
- decrementado por X en cada enrutador. Normalmente X = 1, pero puede ser más si el paquete pasa> 1 segundo en un enrutador.
- Si el campo llega a 0, el paquete se descarta y se devuelve un mensaje de error.
Protocolo. Especifica el protocolo de la carga útil de datos y, por lo tanto, la estructura de la carga útil.
Encabezado de suma de verificación. Formado a partir de los complementos del encabezado, tratándolo como una secuencia de enteros de 16 bits (big-endian). Direcciones Direcciones de red de 32 bits de los hosts de origen y destino. (la estructura de direcciones se cubrirá más adelante)
Opciones: ¡el 99% de los paquetes IP no tienen opciones! Estos se utilizan principalmente para control y depuración. La presencia de campos opcionales está determinada por la longitud del encabezado. Algunos se copian en cada fragmento; otros solo continúan en el primero. Las opciones incluyen:
- Registre la ruta tomada por el paquete.
- Forzar el paquete a tomar una ruta particular (enrutamiento de origen)
- agregue una marca de tiempo cuando el paquete pase un enrutador
- opciones de seguridad.