IP en IP es un protocolo de tunelización IP que encapsula un paquete IP dentro de otro. Para encapsular un paquete IP dentro de otro, se agrega una cabecera externa con ,Source IP el punto de entrada del túnel, y Destination IP, el punto de salida del túnel. Durante este proceso, el paquete interno permanece sin cambios (excepto el TTLcampo, que se decrementa). Los campos Don't Fragmenty Type Of Servicedeben copiarse al paquete externo. Si el tamaño del paquete, incluyendo la cabecera externa, es mayor que , el encapsulador fragmenta el paquete. El desencapsulador lo reensambla.Path MTU
Paquete IP encapsulado en paquete IP

El encabezado IP externo tiene los siguientes campos:
- Versión : 4 bits
- Este campo corresponde al número de versión del Protocolo de Internet. Establézcalo en 4 para indicar IPv4.
- Longitud de la cabecera de Internet (IHL) : 4 bits
- Este campo indica la longitud del encabezado IP externo.
- Punto de código de servicios diferenciados (DSCP) : 6 bits
- Este campo se copia del encabezado IP interno.
- Notificación explícita de congestión (ECN) : 2 bits
- Este campo se copia del encabezado IP interno.
- Longitud total : 16 bits
- Este campo indica la longitud del paquete IP encapsulado (incluyendo la cabecera IP externa, la cabecera IP interna y la carga útil IP).
- Identificación : 16 bits
- Este campo se utiliza para identificar los fragmentos de un datagrama, lo cual resulta útil al reconstruirlo, ya que el encapsulador podría fragmentarlo. Para el encabezado IP externo, se genera un nuevo número.
- Banderas : 3 bits
- En este campo se definen tres indicadores.
- Reservado (R) : 1 bit
- Reservado. Debe establecerse en 0.
- No fragmentar (DF) : 1 bit
- Este campo especifica si el datagrama puede fragmentarse o no. Si este bit está configurado en 1 en la cabecera interna, la cabecera externa también lo tendrá configurado en 1, indicando que este datagrama no puede fragmentarse. Si este bit está configurado en 0 en la cabecera interna, la cabecera externa puede configurarse en 0 o 1.
- Más fragmentos (MF) : 1 bit
- Este campo es obligatorio cuando el datagrama está fragmentado e indica si contiene más fragmentos. Este campo no se copia del encabezado interno.
- Fragment offset: 13 bits
- This field is used while reassembling the fragments.
- Time To Live (TTL): 8 bits
- This field is used to track the lifetime of the datagram. The inner header TTL is decremented before encapsulation and is not changed in decapsulator. The outer header TTL is set to value such that the datagram is delivered to tunnel end point.
- Protocol: 8 bits
- This field indicates the transport layer protocol of the datagram following this header. The value is set to 4 for IP in IP. Not to be mistaken with value 4 in the Version field, which indicates IPv4.
- Header Checksum: 16 bits
- This field is the IP checksum of outer header.
- Source IP Address: 32 bits
- This field is the IP address of the encapsulator.
- Destination IP Address: 32 bits
- This field is the IP address of the decapsulator.
- Options: 0 - 320 bits, padded to multiples of 32 bits
- This field in general is NOT copied from the inner IP header. New options can be added.
See also
- Internet Control Message Protocol (ICMP)
- Generic Routing Encapsulation (GRE)
- 6in4
- 4in6
- RFC 1853 - IP in IP Tunneling
References
- Internet Protocol
- Tunneling protocols