Cabeceras de extensión. IPv6.

Las cabeceras de extensión en IPv6 aportan funcionalidad, confidencialidad e integridad al protocolo, pero antes de pasar a ver que tipos de cabeceras hay y que hacen exactamente, vamos a resumir el contenido de una cabecera IPv6 como tal. En la imagen inferior vemos una cabecera IPv4 y una IPv6:

encabezados2
Imagen 1. Cabecera IPv4 e IPv6.

Los campos en la cabecera IPv6 son los siguientes:

  • Versión: campo de 4 bits para la versión del protocolo IP.
  • Clase de tráfico: campo de 1 byte, igual que Tipo de Servicio en IPv4, util para diferenciar paquetes y priorizarlos si fuera necesario. RFC 2474.
  • Etiqueta de flujo: campo de 20 bits, sirve para marcar un flujo de paquetes que necesitan un mismo tratamiento. RFC 3697.
  • Longitud de carga útil: campo de 2 bytes, que como el nombre lo dice, en este campo va definido la longitud de la carga útil. En IPv4 este campo suma la longitud de la cabecera y la de los datos, en IPv6 solo se cuentan los datos. La longitud de este campo limitada la longitud de los datos a 65536 bytes. Si se desean enviar más de 64KB de datos, se debe utilizar la cabecera de extensión ‘Jumbograma’. RFC 2675.
  • Siguiente cabecera: campo de 1 byte, que indica el tipo de protocolo de la siguiente cabecera, en IPv4 se llamaba ‘Tipo de protocolo’, pero se le cambia de nombre ya que como veis en la siguiente imagen, se pueden incluir cabeceras de extensión y en este campo se define el nombre de la misma.
  • Limite de saltos: campo de 1 byte, igual al campo TTL (Time To Live o Tiempo de vida) en IPv4, establece el numero de saltos posibles de un paquete, es decir la cantidad máxima de veces que puede pasar a través de un Router.
  • Source Address: campo de 16 bytes, que indica la dirección de origen.
  • Destination Address: campo de 16 bytes, que indica la dirección de destino.

Las cabeceras de extensión existentes son:

  • Opción Hop-by-Hop: como su nombre, lo dice (salto a salto) la información que contiene esta cabecera debe ser analizada en cada salto a través de los diferentes nodos por los que pase el paquete.
  • Enrutado: en esta cabecera va una lista con los nodos por los cuales el paquete debe pasar, es decir, una ruta predefinida.
  • Fragmento:  esta cabecera  se utiliza en conjunto con el estándar: ‘ Path MTU (Maximum Transmission Unit) Discovery ‘ (PMTUD), el MTU es la unidad máxima de transmisión en una ruta determinada, es decir de que tamaño como máximo debe ser todo la carga útil o payload y la cabecera IPv6. Cuando un equipo en IPv6 se dispone a enviar un mensaje utiliza el PMTUD para determinar el tamaño máximo que puede enviar, y si un paquete que saliese del host fuese más grande que el MTU, se fragmentaria, para que éste pudiese ser enviado correctamente. El PMTUD era gestionado por los Routers en IPv4, en IPv6 este procesamiento recae en los dispositivos finales, agilizando el tráfico de datos.
  • Opciones de destino: lleva información a procesar por el host final.
  • Autenticación (AH): proporciona integridad, es decir que los paquetes estarán íntegros y que no habrán sido tocados, y autenticación, es decir, que el paquete realmente viene de donde dice venir, pero no proporciona confidencialidad, es decir no te asegura que los datos hayan viajado a través de la red sin ser vistos por un tercero no autorizado. Esta cabecera soporta distintos mecanismos de autenticación.
  • Carga útil de seguridad encriptada (Encrypted Security Payload o ESP): en este caso, esta si proporciona confidencialidad, además de integridad y autenticación de datos. Los datos viajan cifrados a través de la red.

Como veis en la siguiente imagen se observan tres ejemplos, un paquete sin cabeceras de extensión, donde el campo ‘Siguiente cabecera’ indica que es TCP, en el siguiente veis que para la cabecera IPv6, la siguiente cabecera es de Routing, y para esta última es TCP. De esta forma se va indicando al host que procese el paquete, que cabecera es la siguiente a analizar y si debe o no hacerlo.

Imagen 2. Ejemplos de cabeceras de extensión

Un paquete IPv6 puede tener 0, 1 o más cabeceras, sin importar, pero deben ser examinadas en el orden exacto en el que aparecen, solo pueden ser procesadas por el host de destino, excepto la de Hop-by-Hop que puede ser analizada por los hosts de la ruta que sigue el paquete.

Para el orden de lectura la RFC 2460, dice lo siguiente:

headerorder
Imagen 3. Orden de las Cabeceras de Extensión

 

En IPv4 existia algo parecido, pero que no aportaban tanta funcionalidad y flexibilidad al protocolo, y esto era el campo ‘Opciones’. La gran ventaja de IPv6 es que incorpora con las cabeceras AH y ESP, integridad, confidencialidad y autenticación dentro del protocolo, y no hay que aplicar un proceso exterior para esto, como en IPv4 con IPsec. Además en un futuro se podrían añadir al protocolo diferentes cabeceras de extensión sin ningún problema.

Puedes echar un vistazo también a Direccionamiento IPv6 básico.

2 comentarios sobre “Cabeceras de extensión. IPv6.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s