IPv4

ImprimirCitar
Estructura dirección IPv4
Estructura dirección IPv4

El Protocolo de Internet versión 4 o IPv4 es la cuarta versión del Protocolo de Internet (IP). Es uno de los protocolos centrales de los métodos de interconexión de redes basados ​​en estándares en Internet y otras redes de conmutación de paquetes. IPv4 fue la primera versión implementada para producción en SATNET en 1982 y en ARPANET en enero de 1983. Todavía se usa para enrutar la mayor parte del tráfico de Internet en la actualidad, incluso con la implementación en curso del Protocolo de Internet versión 6 (IPv6), su sucesor.

IPv4 utiliza un espacio de direcciones de 32 bits que proporciona 4 294 967 296 (2) direcciones únicas, pero los bloques grandes se reservan para fines especiales de red.

Historia

El Protocolo de Internet versión 4 se describe en la publicación IETF RFC 791 (septiembre de 1981), reemplazando una definición anterior de enero de 1980 (RFC 760). En marzo de 1982, el Departamento de Defensa de EE. UU. decidió que el conjunto de protocolos de Internet (TCP/IP) sería el estándar para todas las redes informáticas militares.

Objetivo

El Protocolo de Internet es el protocolo que define y permite la interconexión de redes en la capa de Internet del conjunto de protocolos de Internet. En esencia, forma Internet. Utiliza un sistema de direccionamiento lógico y realiza el enrutamiento, que es el reenvío de paquetes desde un host de origen al siguiente enrutador que está un paso más cerca del host de destino previsto en otra red.

IPv4 es un protocolo sin conexión y funciona con un modelo de entrega de mejor esfuerzo, en el sentido de que no garantiza la entrega, ni asegura la secuencia adecuada ni evita la entrega duplicada. Estos aspectos, incluida la integridad de los datos, se abordan mediante un protocolo de transporte de capa superior, como el Protocolo de control de transmisión (TCP).

Direccionamiento

IPv4 utiliza direcciones de 32 bits, lo que limita el espacio de direcciones a 4 294 967 296 (2) direcciones.

IPv4 reserva bloques de direcciones especiales para redes privadas (~18 millones de direcciones) y direcciones de multidifusión (~270 millones de direcciones).

Representaciones de dirección

Las direcciones IPv4 pueden representarse en cualquier notación que exprese un valor entero de 32 bits. La mayoría de las veces se escriben en notación decimal de punto, que consta de cuatro octetos de la dirección expresados ​​individualmente en números decimales y separados por puntos.

Por ejemplo, la dirección IP de cuatro puntos 192.0.2.235 representa el número decimal de 32 bits 3221226219, que en formato hexadecimal es 0xC00002EB.

La notación CIDR combina la dirección con su prefijo de enrutamiento en un formato compacto, en el que la dirección va seguida de un carácter de barra inclinada (/) y el recuento de 1 bits consecutivos iniciales en el prefijo de enrutamiento (máscara de subred).

Otras representaciones de direcciones eran de uso común cuando se practicaba la creación de redes con clase. Por ejemplo, la dirección de bucle invertido 127.0.0.1 se suele escribir como 127.1, dado que pertenece a una red de clase A con ocho bits para la máscara de red y 24 bits para el número de host. Cuando se especifican menos de cuatro números en la dirección en notación punteada, el último valor se trata como un número entero de tantos bytes como sean necesarios para completar la dirección hasta los cuatro octetos. Así, la dirección 127.65530 equivale a 127.0.255.250.

Asignación

En el diseño original de IPv4, una dirección IP se dividía en dos partes: el identificador de red era el octeto más significativo de la dirección y el identificador de host era el resto de la dirección. Este último también fue llamado el campo de descanso. Esta estructura permitía un máximo de 256 identificadores de red, lo que rápidamente se consideró inadecuado.

Para superar este límite, el octeto de dirección más importante se redefinió en 1981 para crear clases de red, en un sistema que luego se conoció como redes con clase. El sistema revisado definía cinco clases. Las clases A, B y C tenían diferentes longitudes de bits para la identificación de la red. El resto de la dirección se usó como antes para identificar un host dentro de una red. Debido a los diferentes tamaños de campos en diferentes clases, cada clase de red tenía una capacidad diferente para direccionar hosts. Además de las tres clases para el direccionamiento de hosts, la Clase D se definió para el direccionamiento de multidifusión y la Clase E se reservó para futuras aplicaciones.

La división de las redes con clase existentes en subredes comenzó en 1985 con la publicación de RFC 950. Esta división se hizo más flexible con la introducción de máscaras de subred de longitud variable (VLSM) en RFC 1109 en 1987. En 1993, sobre la base de este trabajo, RFC 1517 introdujo el enrutamiento entre dominios sin clases (CIDR), que expresaba el número de bits (desde el más significativo) como, por ejemplo, /24, y el esquema basado en clases se denominó classful, por el contrario. CIDR fue diseñado para permitir el reparticionamiento de cualquier espacio de direcciones para poder asignar bloques de direcciones más pequeños o más grandes a los usuarios. La estructura jerárquica creada por CIDR es administrada por la Autoridad de Números Asignados de Internet (IANA) y los registros regionales de Internet (RIR). Cada RIR mantiene una base de datos WHOIS de búsqueda pública que proporciona información sobre las asignaciones de direcciones IP.

Direcciones de uso especial

El Grupo de trabajo de ingeniería de Internet (IETF) y la IANA han restringido el uso general de varias direcciones IP reservadas para fines especiales. En particular, estas direcciones se utilizan para el tráfico de multidifusión y para proporcionar espacio de direccionamiento para usos sin restricciones en redes privadas.

Bloque de direccionesRango de direccionesNúmero de direccionesAlcanceDescripción
0.0.0.0/80.0.0.0–0.255.255.25516 777 216SoftwareRed actual
10.0.0.0/810.0.0.0–10.255.255.25516 777 216Red privadaSe utiliza para comunicaciones locales dentro de una red privada.
100.64.0.0/10100.64.0.0–100.127.255.2554 194 304Red privadaEspacio de direcciones compartido para las comunicaciones entre un proveedor de servicios y sus suscriptores cuando se utiliza un NAT de nivel de operador.
127.0.0.0/8127.0.0.0–127.255.255.25516 777 216AnfitriónSe utiliza para direcciones de loopback al host local.
169.254.0.0/16169.254.0.0–169.254.255.25565 536subredSe utiliza para direcciones locales de enlace entre dos hosts en un solo enlace cuando no se especifica ninguna dirección IP, como la que normalmente se habría obtenido de un servidor DHCP.
172.16.0.0/12172.16.0.0–172.31.255.2551 048 576Red privadaSe utiliza para comunicaciones locales dentro de una red privada.
192.0.0.0/24192.0.0.0–192.0.0.255256Red privadaAsignaciones de protocolo IETF.
192.0.2.0/24192.0.2.0–192.0.2.255256DocumentaciónAsignado como TEST-NET-1, documentación y ejemplos.
192.88.99.0/24192.88.99.0–192.88.99.255256InternetReservado. Anteriormente utilizado para la retransmisión de IPv6 a IPv4 (incluido el bloque de direcciones IPv6 2002::/16).
192.168.0.0/16192.168.0.0–192.168.255.25565 536Red privadaSe utiliza para comunicaciones locales dentro de una red privada.
198.18.0.0/15198.18.0.0–198.19.255.255131 072Red privadaSe utiliza para pruebas comparativas de comunicaciones entre redes entre dos subredes separadas.
198.51.100.0/24198.51.100.0–198.51.100.255256DocumentaciónAsignado como TEST-NET-2, documentación y ejemplos.
203.0.113.0/24203.0.113.0–203.0.113.255256DocumentaciónAsignado como TEST-NET-3, documentación y ejemplos.
224.0.0.0/4224.0.0.0–239.255.255.255268 435 456InternetEn uso para multidifusión IP. (Antigua red Clase D).
233.252.0.0/24233.252.0.0-233.252.0.255256DocumentaciónAsignado como MCAST-TEST-NET, documentación y ejemplos.
240.0.0.0/4240.0.0.0–255.255.255.254268 435 455InternetReservado para utilización futura. (Antigua red Clase E).
255.255.255.255/32255.255.255.2551subredReservado para la dirección de destino de "difusión limitada".

Redes privadas

De los aproximadamente cuatro mil millones de direcciones definidas en IPv4, alrededor de 18 millones de direcciones en tres rangos están reservadas para uso en redes privadas. Las direcciones de paquetes en estos rangos no se pueden enrutar en la Internet pública; son ignorados por todos los enrutadores públicos. Por lo tanto, los hosts privados no pueden comunicarse directamente con las redes públicas, pero requieren la traducción de direcciones de red en una puerta de enlace de enrutamiento para este propósito.

Nombrebloque CIDRRango de direccionesNúmero de direccionesDescripción con clase
bloque de 24 bits10.0.0.0/810.0.0.0 – 10.255.255.25516 777 216Clase única A.
bloque de 20 bits172.16.0.0/12172.16.0.0 – 172.31.255.2551 048 576Gama contigua de 16 bloques Clase B.
bloque de 16 bits192.168.0.0/16192.168.0.0 – 192.168.255.25565 536Rango contiguo de 256 bloques Clase C.

Dado que dos redes privadas, por ejemplo, dos sucursales, no pueden interoperar directamente a través de la Internet pública, las dos redes deben conectarse a través de Internet a través de una red privada virtual (VPN) o un túnel IP, que encapsula los paquetes, incluidos sus encabezados que contienen la direcciones privadas, en una capa de protocolo durante la transmisión a través de la red pública. Además, los paquetes encapsulados pueden cifrarse para su transmisión a través de redes públicas para proteger los datos.

Direccionamiento local de enlace

RFC 3927 define el bloque de dirección especial 169.254.0.0/16 para el direccionamiento local de enlace. Estas direcciones solo son válidas en el enlace (como un segmento de red local o una conexión punto a punto) conectado directamente a un host que las utiliza. Estas direcciones no son enrutables. Al igual que las direcciones privadas, estas direcciones no pueden ser el origen ni el destino de los paquetes que atraviesan Internet. Estas direcciones se utilizan principalmente para la configuración automática de direcciones (Zeroconf) cuando un host no puede obtener una dirección IP de un servidor DHCP u otros métodos de configuración internos.

Cuando se reservó el bloque de direcciones, no existían estándares para la configuración automática de direcciones. Microsoft creó una implementación llamada Automatic Private IP Addressing (APIPA), que se implementó en millones de máquinas y se convirtió en un estándar de facto. Muchos años después, en mayo de 2005, el IETF definió un estándar formal en RFC 3927, titulado Configuración dinámica de direcciones locales de enlace IPv4.

Bucle invertido

La red de clase A 127.0.0.0 (red sin clase 127.0.0.0/8) está reservada para loopback. Los paquetes IP cuyas direcciones de origen pertenecen a esta red nunca deben aparecer fuera de un host. Los paquetes recibidos en una interfaz sin bucle invertido con una dirección de origen o destino de bucle invertido deben descartarse.

Primera y última dirección de subred

La primera dirección de una subred se utiliza para identificar la propia subred. En esta dirección, todos los bits de host son 0. Para evitar ambigüedades en la representación, esta dirección está reservada. La última dirección tiene todos los bits de host establecidos en 1. Se utiliza como dirección de difusión local para enviar mensajes a todos los dispositivos de la subred simultáneamente. Para redes de tamaño /24 o mayores, la dirección de transmisión siempre termina en 255.

Por ejemplo, en la subred 192.168.5.0/24 (máscara de subred 255.255.255.0) se utiliza el identificador 192.168.5.0 para referirse a toda la subred. La dirección de difusión de la red es 192.168.5.255.

forma binariaNotación punto-decimal
espacio de red11000000.10101000.00000101.00000000192.168.5.0
Dirección de Difusión11000000.10101000.00000101.11111111192.168.5.255
En rojo, se muestra la parte del host de la dirección IP; la otra parte es el prefijo de red. El host se invierte (NO lógico), pero el prefijo de red permanece intacto.

Sin embargo, esto no significa que todas las direcciones que terminen en 0 o 255 no puedan usarse como direcciones de host. Por ejemplo, en la subred /16 192.168.0.0/255.255.0.0, que es equivalente al rango de direcciones 192.168.0.0–192.168.255.255, la dirección de transmisión es 192.168.255.255. Se pueden utilizar las siguientes direcciones para hosts, aunque terminen en 255: 192.168.1.255, 192.168.2.255, etc. Además, 192.168.0.0 es el identificador de red y no debe asignarse a una interfaz. Se pueden asignar las direcciones 192.168.1.0, 192.168.2.0, etc., aunque terminen en 0.

En el pasado, surgían conflictos entre las direcciones de red y las direcciones de transmisión porque algunos programas usaban direcciones de transmisión no estándar con ceros en lugar de unos.

En redes menores a /24, las direcciones de transmisión no terminan necesariamente en 255. Por ejemplo, una subred CIDR 203.0.113.16/28 tiene la dirección de transmisión 203.0.113.31.

forma binariaNotación punto-decimal
espacio de red11001011.00000000.01110001.00010000203.0.113.16
Dirección de Difusión11001011.00000000.01110001.00011111203.0.113.31
En rojo, se muestra la parte del host de la dirección IP; la otra parte es el prefijo de red. El host se invierte (NO lógico), pero el prefijo de red permanece intacto.

Como caso especial, una red /31 ​​tiene capacidad para solo dos hosts. Estas redes se utilizan normalmente para conexiones punto a punto. No hay identificador de red o dirección de transmisión para estas redes.

Resolución de direcciones

Los hosts en Internet generalmente se conocen por nombres, por ejemplo, www.example.com, no principalmente por su dirección IP, que se utiliza para enrutamiento e identificación de interfaz de red. El uso de nombres de dominio requiere traducirlos, lo que se denomina resolverlos, a direcciones y viceversa. Esto es similar a buscar un número de teléfono en una guía telefónica usando el nombre del destinatario.

La traducción entre direcciones y nombres de dominio se realiza mediante el Sistema de nombres de dominio (DNS), un sistema de nombres jerárquico y distribuido que permite la subdelegación de espacios de nombres a otros servidores DNS.

Interfaz sin numerar

Un enlace punto a punto (PtP) no numerado, también llamado enlace de tránsito, es un enlace que no tiene ninguna red IP o número de subred asociado, pero aún tiene una dirección IP. Introducido por primera vez en 1993. El único propósito de un enlace de tránsito es enrutar datagramas.

El enlace no numerado se utiliza para liberar direcciones IP, cuando se tiene un espacio de direcciones IP escaso, o reducir la gestión de asignación de IP y configuración de interfaces. Antes, cada enlace necesita una subred /30 o /31 dedicada que use de 2 a 4 direcciones IP por enlace punto a punto. Cuando un enlace no está numerado, se usa una identificación de enrutador, la identificación del enrutador es una dirección IP /32 prestada de una interfaz definida (normalmente un bucle invertido). El mismo ID de enrutador se puede usar en varias interfaces.

Una de las desventajas de la interfaz no numerada es que es más difícil realizar pruebas y administración remotas.

Phil Karn de Qualcomm es acreditado como diseñador original.

Agotamiento del espacio de direcciones

Línea de tiempo del agotamiento de las IPv4
Línea de tiempo del agotamiento de las IPv4

Desde la década de 1980, era evidente que el conjunto de direcciones IPv4 disponibles se estaba agotando a un ritmo que inicialmente no se anticipó en el diseño original de la red. Las principales fuerzas del mercado que aceleraron el agotamiento de las direcciones incluyeron el rápido crecimiento del número de usuarios de Internet, que usaban cada vez más dispositivos informáticos móviles, como computadoras portátiles, asistentes digitales personales (PDA) y teléfonos inteligentes con servicios de datos IP. Además, el acceso a Internet de alta velocidad se basó en dispositivos siempre activos. La amenaza del agotamiento motivó la introducción de una serie de tecnologías correctivas, tales como:

  • Enrutamiento entre dominios sin clase (CIDR), para asignaciones de ISP más pequeñas
  • Interfaz no numerada, eliminó la necesidad de enlaces de tránsito.
  • traducción de direcciones de red, eliminó la necesidad del principio de extremo a extremo.

A mediados de la década de 1990, el uso generalizado de la traducción de direcciones de red (NAT) en los sistemas de proveedores de acceso a la red y las estrictas políticas de asignación basadas en el uso en los registros de Internet regionales y locales.

El grupo principal de direcciones de Internet, mantenido por la IANA, se agotó el 3 de febrero de 2011, cuando se asignaron los últimos cinco bloques a los cinco RIR. APNIC fue el primer RIR en agotar su grupo regional el 15 de abril de 2011, excepto por una pequeña cantidad de espacio de direcciones reservado para las tecnologías de transición a IPv6, que se asignará bajo una política restringida.

La solución a largo plazo para abordar el agotamiento fue la especificación de 1998 de una nueva versión del Protocolo de Internet, IPv6. Proporciona un espacio de direcciones mucho mayor, pero también permite una mejor agregación de rutas a través de Internet y ofrece grandes asignaciones de subred de un mínimo de 2 direcciones de host para los usuarios finales. Sin embargo, IPv4 no es interoperable directamente con IPv6, por lo que los hosts solo de IPv4 no pueden comunicarse directamente con hosts solo de IPv6. Con la eliminación gradual de la red experimental 6bone a partir de 2004, la implementación formal permanente de IPv6 comenzó en 2006. Se espera que la finalización de la implementación de IPv6 tome un tiempo considerable, por lo que se necesitan tecnologías de transición intermedias para permitir que los hosts participen en Internet utilizando ambas versiones del protocolo.

Estructura del paquete

Un paquete IP consta de una sección de encabezado y una sección de datos. Un paquete IP no tiene suma de verificación de datos ni ningún otro pie de página después de la sección de datos. Por lo general, la capa de enlace encapsula los paquetes IP en tramas con un pie de página CRC que detecta la mayoría de los errores; muchos protocolos de la capa de transporte transportados por IP también tienen su propia verificación de errores.

Encabezamiento

El encabezado del paquete IPv4 consta de 14 campos, de los cuales 13 son obligatorios. El campo 14 es opcional y se llama acertadamente: opciones. Los campos en el encabezado se empaquetan con el byte más significativo primero (big endian), y para el diagrama y la discusión, los bits más significativos se consideran primero (numeración de bits MSB 0). El bit más significativo tiene el número 0, por lo que el campo de versión se encuentra en los cuatro bits más significativos del primer byte, por ejemplo.

CompensacionesOcteto0123
OctetoUn poco0123456789101112131415dieciséis171819202122232425262728293031
00VersiónDIHDSCPECNLargo total
432IdentificaciónBanderasDesplazamiento de fragmentos
864Tiempo para vivirProtocoloSuma de comprobación del encabezado
1296Dirección IP origen
dieciséis128Dirección IP de destino
20160Opciones (si DIH > 5)
56448

VersiónEl primer campo de encabezado en un paquete IP es el campo de versión de cuatro bits. Para IPv4, siempre es igual a 4.Longitud del encabezado de Internet (IHL)El encabezado de IPv4 tiene un tamaño variable debido al campo 14 opcional (opciones). El campo IHL contiene el tamaño del encabezado IPv4; tiene 4 bits que especifican el número de palabras de 32 bits en el encabezado. El valor mínimo de este campo es 5, lo que indica una longitud de 5 × 32 bits = 160 bits = 20 bytes. Como campo de 4 bits, el valor máximo es 15; esto significa que el tamaño máximo del encabezado IPv4 es de 15 × 32 bits = 480 bits = 60 bytes.Punto de código de servicios diferenciados (DSCP)Definido originalmente como el tipo de servicio (ToS), este campo especifica servicios diferenciados (DiffServ) según RFC 2474. La transmisión de datos en tiempo real utiliza el campo DSCP. Un ejemplo es Voice over IP (VoIP), que se utiliza para servicios de voz interactivos.Notificación de congestión explícita (ECN)Este campo se define en RFC 3168 y permite la notificación de congestión de red de extremo a extremo sin descartar paquetes. ECN es una función opcional disponible cuando ambos extremos la admiten y es efectiva cuando también la admite la red subyacente.Largo totalEste campo de 16 bits define el tamaño completo del paquete en bytes, incluidos el encabezado y los datos. El tamaño mínimo es de 20 bytes (cabecera sin datos) y el máximo de 65.535 bytes. Se requiere que todos los hosts puedan volver a ensamblar datagramas de un tamaño de hasta 576 bytes, pero la mayoría de los hosts modernos manejan paquetes mucho más grandes. Los enlaces pueden imponer más restricciones en el tamaño del paquete, en cuyo caso los datagramas deben fragmentarse. La fragmentación en IPv4 se realiza en el host de envío o en los enrutadores. El reensamblado se realiza en el host receptor.IdentificaciónEste campo es un campo de identificación y se utiliza principalmente para identificar de forma única el grupo de fragmentos de un solo datagrama IP. Algunos trabajos experimentales sugirieron usar el campo ID para otros fines, como agregar información de seguimiento de paquetes para ayudar a rastrear datagramas con direcciones de origen falsificadas, pero RFC 6864 ahora prohíbe tal uso.BanderasSigue un campo de tres bits y se utiliza para controlar o identificar fragmentos. Son (en orden, de más significativo a menos significativo):

  • bit 0: Reservado; debe ser cero.
  • bit 1: No fragmentar (DF)
  • bit 2: Más Fragmentos (MF)

Si se establece el indicador DF y se requiere fragmentación para enrutar el paquete, entonces el paquete se descarta. Esto se puede usar cuando se envían paquetes a un host que no tiene recursos para realizar el reensamblado de fragmentos. También se puede utilizar para el descubrimiento de MTU de ruta, ya sea automáticamente mediante el software IP del host o manualmente mediante herramientas de diagnóstico como ping o traceroute.Para paquetes no fragmentados, se borra el indicador MF. Para paquetes fragmentados, todos los fragmentos excepto el último tienen el indicador MF establecido. El último fragmento tiene un campo Fragment Offset distinto de cero, lo que lo diferencia de un paquete no fragmentado.Desplazamiento de fragmentosEste campo especifica el desplazamiento de un fragmento particular en relación con el comienzo del datagrama IP original no fragmentado en unidades de bloques de ocho bytes. El primer fragmento tiene un desplazamiento de cero. El campo de 13 bits permite un desplazamiento máximo de (2 – 1) × 8 = 65 528 bytes que, con la longitud del encabezado incluida (65 528 + 20 = 65 548 bytes), admite la fragmentación de paquetes que superan la longitud máxima de IP de 65 535 bytes.Tiempo de vida (TTL)Un campo de tiempo de vida de ocho bits limita la vida útil de un datagrama para evitar fallas en la red en caso de un bucle de enrutamiento. Se especifica en segundos, pero los intervalos de tiempo inferiores a 1 segundo se redondean a 1. En la práctica, el campo se utiliza como conteo de saltos: cuando el datagrama llega a un enrutador, el enrutador reduce el campo TTL en uno. Cuando el campo TTL llega a cero, el enrutador descarta el paquete y normalmente envía un mensaje ICMP de tiempo excedido al remitente.El programa traceroute envía mensajes con valores TTL ajustados y utiliza estos mensajes ICMP de tiempo excedido para identificar los enrutadores atravesados ​​por paquetes desde el origen hasta el destino.ProtocoloEste campo define el protocolo utilizado en la porción de datos del datagrama IP. IANA mantiene una lista de números de protocolo IP según lo indica RFC 790.Suma de comprobación del encabezadoEl campo de suma de comprobación del encabezado IPv4 de 16 bits se utiliza para la comprobación de errores del encabezado. Cuando un paquete llega a un enrutador, el enrutador calcula la suma de verificación del encabezado y la compara con el campo de suma de verificación. Si los valores no coinciden, el enrutador descarta el paquete. Los errores en el campo de datos deben ser manejados por el protocolo encapsulado. Tanto UDP como TCP tienen sumas de verificación separadas que se aplican a sus datos.Cuando un paquete llega a un enrutador, el enrutador reduce el campo TTL en el encabezado. En consecuencia, el enrutador debe calcular una nueva suma de verificación de encabezado.Dirección de la fuenteEste campo es la dirección IPv4 del remitente del paquete. Tenga en cuenta que esta dirección puede cambiarse en tránsito por un dispositivo de traducción de direcciones de red.Dirección de destinoEste campo es la dirección IPv4 del receptor del paquete. Al igual que con la dirección de origen, esto puede cambiarse en tránsito por un dispositivo de traducción de direcciones de red.OpcionesEl campo de opciones no se usa con frecuencia. Los paquetes que contienen algunas opciones pueden ser considerados peligrosos por algunos enrutadores y ser bloqueados. Tenga en cuenta que el valor en el campo IHL debe incluir suficientes palabras adicionales de 32 bits para contener todas las opciones más cualquier relleno necesario para garantizar que el encabezado contenga un número entero de palabras de 32 bits. Si IHL es mayor a 5 (es decir, es de 6 a 15) significa que el campo de opciones está presente y debe ser considerado. La lista de opciones puede terminar con una opción EOOL (Fin de la lista de opciones, 0x00); esto solo es necesario si el final de las opciones no coincidiría con el final del encabezado. Las posibles opciones que se pueden poner en la cabecera son las siguientes:

CampoTamaño (bits)Descripción
copiado1Establézcalo en 1 si es necesario copiar las opciones en todos los fragmentos de un paquete fragmentado.
Clase de opción2Una categoría de opciones generales. 0 es para opciones de control y 2 es para depuración y medición. 1 y 3 están reservados.
Número de opción5Especifica una opción.
Longitud de la opción8Indica el tamaño de toda la opción (incluido este campo). Este campo puede no existir para opciones simples.
Datos de opciónVariableDatos específicos de la opción. Este campo puede no existir para opciones simples.

La siguiente tabla muestra las opciones definidas para IPv4. La columna Tipo de opción se deriva de los bits Copiado, Clase de opción y Número de opción como se definió anteriormente.

Tipo de opción (decimal/hexadecimal)Nombre de la opciónDescripción
0 / 0x00EOOLFin de la lista de opciones
1 / 0x01NOPNo operacion
2 / 0x02SEGUNDOSeguridad (desaparecido)
7 / 0x07RRGrabar ruta
10 / 0x0AZSUMedición Experimental
11 / 0x0BMTUPSonda MTU
12 / 0x0CMTURRespuesta de MTU
15 / 0x0FCODIFICARCODIFICAR
25 / 0x19QSInicio rápido
30 / 0x1EExpExperimento de estilo RFC3692
68 / 0x44TSMarca de tiempo
82 / 0x52TRtrazarruta
94 / 0x5EExpExperimento de estilo RFC3692
130 / 0x82SEGUNDOSeguridad (RIPSO)
131 / 0x83LSRRuta de fuente suelta
133 / 0x85ESECSeguridad extendida (RIPSO)
134 / 0x86CIPSOOpción de seguridad IP comercial
136 / 0x88S.I.D.Id. de transmisión
137 / 0x89RSSRuta de origen estricta
142 / 0x8EVISAControl de acceso experimental
144 / 0x90IMITADODescriptor de tráfico IMI
145 / 0x91EIPProtocolo de Internet extendido
147 / 0x93AÑADIRExtensión de dirección
148 / 0x94ALT.RTAlerta de enrutador
149 / 0x95SDBDifusión dirigida selectiva
151 / 0x97DPDEstado de paquete dinámico
152 / 0x98UMPPaquete de multidifusión ascendente.
158 / 0x9EExpExperimento de estilo RFC3692
205 / 0x CDFINLANDÉSControl de flujo experimental
222 / 0xDEExpExperimento de estilo RFC3692

Datos

La carga útil del paquete no se incluye en la suma de comprobación. Su contenido se interpreta en función del valor del campo de encabezado del protocolo.

La lista de números de protocolo IP contiene una lista completa de los tipos de protocolo de carga útil. Algunos de los protocolos de carga útil comunes incluyen:

Número de protocoloNombre del protocoloAbreviatura
1Protocolo de mensajes de control de InternetICMP
2Protocolo de gestión de grupos de InternetIGMP
6Protocolo de Control de TransmisiónTCP
17Protocolo de datagramas de usuarioUDP
41Encapsulación IPv6ENCAP
89Abrir primero la ruta más cortaOSPF
132Protocolo de transmisión de control de flujoSCTP

Fragmentación y reensamblaje

Paquete de datos de IPv4
Paquete de datos de IPv4

El Protocolo de Internet permite el tráfico entre redes. El diseño da cabida a redes de diversa naturaleza física; es independiente de la tecnología de transmisión subyacente utilizada en la capa de enlace. Las redes con diferente hardware suelen variar no solo en la velocidad de transmisión, sino también en la unidad máxima de transmisión (MTU). Cuando una red quiere transmitir datagramas a una red con una MTU más pequeña, puede fragmentar sus datagramas. En IPv4, esta función se colocó en la capa de Internet y se realiza en enrutadores IPv4, lo que limita la exposición a estos problemas por parte de los hosts.

Por el contrario, IPv6, la próxima generación del Protocolo de Internet, no permite que los enrutadores realicen fragmentación; los hosts deben realizar Path MTU Discovery antes de enviar datagramas.

Fragmentación

Cuando un enrutador recibe un paquete, examina la dirección de destino y determina la interfaz de salida a utilizar y la MTU de esa interfaz. Si el tamaño del paquete es mayor que la MTU y el bit No fragmentar (DF) en el encabezado del paquete está establecido en 0, entonces el enrutador puede fragmentar el paquete.

El enrutador divide el paquete en fragmentos. El tamaño máximo de cada fragmento es la MTU saliente menos el tamaño del encabezado IP (mínimo de 20 bytes; máximo de 60 bytes). El enrutador coloca cada fragmento en su propio paquete, cada paquete de fragmento tiene los siguientes cambios:

  • El campo de longitud total es el tamaño del fragmento.
  • El indicador de más fragmentos (MF) se establece para todos los fragmentos excepto el último, que se establece en 0.
  • El campo de desplazamiento del fragmento se establece en función del desplazamiento del fragmento en la carga útil de datos original. Esto se mide en unidades de bloques de 8 bytes.
  • Se vuelve a calcular el campo de suma de comprobación del encabezado.

Por ejemplo, para una MTU de 1500 bytes y un tamaño de encabezado de 20 bytes, los desplazamientos de fragmentos serían múltiplos de { estilo de visualización { fracción {1 {,} 500-20} {8}} = 185}(0, 185, 370, 555, 740, etc.).

Es posible que un paquete se fragmente en un enrutador y que los fragmentos se fragmenten aún más en otro enrutador. Por ejemplo, un paquete de 4520 bytes, incluido un encabezado IP de 20 bytes, se fragmenta en dos paquetes en un enlace con una MTU de 2500 bytes:

FragmentoTamaño(bytes)Tamaño del encabezado(bytes)Tamaño de datos(bytes)MarcarMás fragmentosDesplazamiento de fragmentos(bloques de 8 bytes)
12,500202,48010
22,040202,0200310

Se conserva el tamaño total de los datos: 2480 bytes + 2020 bytes = 4500 bytes. Las compensaciones son { estilo de visualización 0}y { estilo de visualización { frac {0 + 2 {,} 480} {8}} = 310}.

Cuando se reenvía a un enlace con una MTU de 1500 bytes, cada fragmento se fragmenta en dos fragmentos:

FragmentoTamaño(bytes)Tamaño del encabezado(bytes)Tamaño de datos(bytes)MarcarMás fragmentosDesplazamiento de fragmentos(bloques de 8 bytes)
11,500201,48010
21,020201,0001185
31,500201,4801310
4560205400495

Una vez más, se conserva el tamaño de los datos: 1480 + 1000 = 2480 y 1480 + 540 = 2020.

También en este caso, el bit More Fragments permanece en 1 para todos los fragmentos que vinieron con 1 en ellos y para el último fragmento que llega, funciona como de costumbre, es decir, el bit MF se establece en 0 solo en el último. Y por supuesto, el campo Identificación sigue teniendo el mismo valor en todos los fragmentos refragmentados. De esta manera, incluso si los fragmentos se vuelven a fragmentar, el receptor sabe que inicialmente todos comenzaron desde el mismo paquete.

El último desplazamiento y el último tamaño de datos se utilizan para calcular el tamaño total de los datos: {displaystyle 495times 8+540=3{,}960+540=4{,}500}.

Reensamblaje

Un receptor sabe que un paquete es un fragmento, si al menos una de las siguientes condiciones es verdadera:

  • Se establece el indicador más fragmentos, que es cierto para todos los fragmentos excepto el último.
  • El desplazamiento del fragmento de campo es distinto de cero, lo cual es cierto para todos los fragmentos excepto el primero.

El receptor identifica los fragmentos coincidentes utilizando las direcciones de origen y destino, la ID del protocolo y el campo de identificación. El receptor vuelve a ensamblar los datos de los fragmentos con el mismo ID utilizando tanto el desplazamiento de fragmentos como el indicador de más fragmentos. Cuando el receptor recibe el último fragmento, que tiene el indicador de más fragmentos establecido en 0, puede calcular el tamaño de la carga útil de datos original, multiplicando el desplazamiento del último fragmento por ocho y sumando el tamaño de datos del último fragmento. En el ejemplo dado, este cálculo fue {displaystyle 495times 8+540=4{,}500}bytes. Cuando el receptor tiene todos los fragmentos, se pueden volver a ensamblar en la secuencia correcta de acuerdo con las compensaciones para formar el datagrama original.

Protocolos de asistencia

Las direcciones IP no están vinculadas de forma permanente al hardware de red y, de hecho, en los sistemas operativos modernos, una interfaz de red puede tener varias direcciones IP. Para entregar correctamente un paquete IP al host de destino en un enlace, los hosts y los enrutadores necesitan mecanismos adicionales para hacer una asociación entre la dirección de hardwarede interfaces de red y direcciones IP. El Protocolo de resolución de direcciones (ARP) realiza esta traducción de dirección IP a dirección de hardware para IPv4. Además, a menudo es necesaria la correlación inversa. Por ejemplo, a menos que un administrador configure previamente una dirección, cuando un host IP se inicia o se conecta a una red, necesita determinar su dirección IP. Los protocolos para dichas correlaciones inversas incluyen el Protocolo de configuración dinámica de host (DHCP), el Protocolo de arranque (BOOTP) y, con poca frecuencia, el ARP inverso.

Contenido relacionado

La ley de Godwin

Telnet

Telnet es un protocolo de aplicación que se utiliza en Internet o en una red de área local para proporcionar un servicio de comunicación orientado a texto...

TCP

El Protocolo de control de transmisión o TCP por sus siglas en inglés es uno de los principales protocolos del conjunto de protocolos de Internet. Se...
Más resultados...
Tamaño del texto:
Copiar