IPv6

From FdIwiki ELP
Jump to: navigation, search

Introducción

El Internet Protocol version 6 (IPv6) es una versión del protocolo Internet Protocol (IP), definida en el RFC 2460 y diseñada para reemplazar a Internet Protocol version 4 (IPv4) RFC, que actualmente está implementado en la gran mayoría de dispositivos que acceden a Internet. Por el crecimiento que ha tenido internet y las mejoras de los dispositivos electrónicos las direcciones que disponía IPv4 (direcciones de 32 bits, es decir un total de 2^32 direcciones) se han ido agotando. Como consecuencia Internet Engineering Task Force o IETF (el organismo que se encarga de la estandarización de los protocolos de Internet) elaboró unas nuevas especificaciones para crear IPv6 que usa direcciones de 128 bits (como 340 sextillones de direcciones) y así poder conectar a Internet todos los dispositivos. El diseño del protocolo da múltiples beneficios en seguridad, manejo de calidad de servicio, una mayor capacidad de transmisión y mejora la facilidad de administración, entre otras cosas.

Características

  • Direcciones de 128 bits
-Espacio de direcciones mucho mayor (3.4 * 10^38 direcciones)
-Formato de cabecera más simple
  • Mayor velocidad de procesamiento en los routers
  • Mejora en el rendimiento de los protocolos de routing
  • Posibilidad de autoconfiguración de direcciones
  • Mejor soporte para opciones adicionales
-Las opciones de IPv6 no se codifican en la cabecera, sino en el cuerpo del paquete IP mediante cabeceras de extensión
-Dispone de mayor espacio para su codificación
-Permite introducir nuevas opciones en el futuro
  • Opciones de seguridad tanto para autenticación como para cifrado
  • Soporte para tráfico en tiempo real (ej. VoIP)
  • Encaminamiento jerárquico basado en prefijos
  • Mecanismos de transición desde la versión 4
Característica IPv4 IPv6
Longitud de direcciones 32 bits 128 bits
Clases de direcciones Clase A, Clase B, Clase C Direcciones sin clase (Classless)
Tipo de direcciones Unicast, Multicast, Broadcast Unicast, Multicast, Anycast
Configuración de dirección Estática (a través de ficheros de configuración) o por DHCP Autoconfiguración (plug and play) o por DHCP
Formato cabecera Complejo. Longitud variable Simple. Longitud fija
Calidad de servicio Sí, aunque no soportado totalmente por routers
Soporte tráfico en tiempo real No
Seguridad No

Tipos

Hay 3 tipos de direcciones IPv6: Unicast, Multicast y Anycast. Unicast

  • Identifican a un único host en la red.
  • Un paquete dirigido a una dirección unicast se entregará únicamente al interfaz identificado con dicha dirección IP.

Multicast

  • Identifican a un grupo de hosts
  • Un paquete dirigido a una dirección multicast se entrega a todos los interfaces identificados con esa dirección.
  • No existe dirección broadcast
  • El soporte para multicast obligatorio en todos los nodos IPv6.

Anycast

  • Identifican a un grupo de hosts.
  • Un paquete dirigido a una dirección anycast se entrega a uno solo de los hosts identificados con esa dirección, normalmente al más cercano, en función de la métrica usada por el protocolo de routing.
  • Atribuidas a partir de dir. unicast (iguales desde el punto de vista sintáctico).

Notación

  • Las direcciones tienen una longitud de 128bits (16 bytes)
  • Notación Hexadecimal
-La dirección se divide en 8 bloques de 16 bits
-Cada bloque se escribe en hexadecimal con 4 dígitos
-Los bloques se separan por “:”
  • Notación abreviada
-En cada bloque los ceros a la izquierda se pueden omitir
-Las cadenas de ceros seguidos se pueden comprimir con el símbolo “::”
-El símbolo “::” sólo puede aparecer una vez
  • Notación CIDR
-Las direcciones IPv6 son sin clase para soportar el direccionamiento jerárquico
-Se dividen en prefijo y sufijo
-La longitud del prefijo se denota en CIDR

Ámbito

Determina la zona de validez de la dirección.

  • Enlace local (link-local): Válida dentro del enlace en el que está conectado la interfaz de red (por ejemplo, una LAN)
  • Sitio local (site-local): Válida dentro de un sitio, que puede estar formado por una o varias redes interconectadas mediante routers (p.e. campus universitario)
  • Global: Válida en todo Internet.

Las direcciones multicast definen su ámbito en un campo de 4 bits:

  • link-local (2) y site-local (5): Los ámbitos de enlace-local y site-local abarcan las mismas regiones que los ámbitos unicast *correspondientes.
  • organization-local (8): abarca múltiples ubicaciones que pertenecen a la misma organización.
  • global (E)

La unicidad de las direcciones sólo se garantiza dentro de su zona, además los datagramas no se redirigen a una zona distinta.

Estructura

IPv6 permite una jerarquía flexible, que acomoda diferentes tipos de direcciones. Cada tipo de dirección comienza con un prefijo (prefijo de formato) de longitud variable.

Tipo de dirección FP (binario) FP (hexadecimal)
Reserved Addres 0000 0000 0000::/8
Aggregatable Global Unicast Address 001 2000::/3)
Link-Local Unicast Address 1111 1110 10 FE80::/10
Site-Local Unicast Address (en desuso) 1111 1110 11 FEC0::/10
Universal Local Address (ULA) 1111 110 FC00::/7
Multicast Address 1111 1111 FF00::/10

Enlace-Local

Debido a que todas las direcciones de enlace-local en un host tienen un prefijo común, no se pueden utilizar los procedimientos normales de encaminamiento para elegir el interface de salida en el envío de paquetes a un destino de enlace-local. Se necesita de un identificador especial, conocido como zone index (índice de zona). Permite la autoconfiguración y el descubrimiento de vecinos. Formato:

  • El prefijo de formato ocupa 10 bits: 1111 1110 10 (FE80::/10).
  • El resto de los primeros 64bits son 0
  • Identificador de host (64bits)

Estructura del Protocolo IPv6

Como se especifica en el RFC 2460 Especificación del Protocolo de Internet Versión 6, el encabezado básico de IPv6 consta de 8 campos, 4 menos que el de IPv4, lo que da un total de 40 octetos.

  • Versión (4 bits). Se refiere a la versión de IP y contiene el valor de 6 en lugar de 4, el cual es contenido en un paquete IPv4.
  • Clase de Tráfico (8 bits). Este campo y sus funciones son similares al de Tipo de Servicio en IPv4. Este campo etiqueta el paquete IPv6 con un Punto de Código de Servicios Diferenciados (DSCP) que especifica cómo debe ser manejado.
  • Etiqueta de Flujo (20 bits). La etiqueta sirve para marcar un flujo o secuencia de paquetes IPv6 que requieran un tratamiento especial a lo largo de la trayectoria de comunicación.
  • Longitud de Carga Útil (16 bits). La carga útil es la parte que sigue al encabezado de IPv6.
  • Siguiente Encabezado (8 bits). Define el tipo de información que va a seguir al encabezado de IPv6 básico, la cual puede ser un protocolo de capa superior como TCP o UDP o puede ser alguna de las Extensiones de Encabezado. Este campo es similar al campo Número de Protocolo en IPv4.
  • Límite de Saltos (8 bits). Define el número máximo de saltos (ruteadores intermedios) que un paquete IP puede atravesar. Cada salto disminuye el valor por 1, al igual que en IPv4 cuando el campo contiene el valor 0 el paquete es destruido y se envía de regreso al nodo fuente un mensaje ICMP versión 6 de Tipo 3 que significa Tiempo Excedido.
  • Dirección Fuente (128 bits). Identifica la dirección fuente IPv6 del transmisor.
  • Dirección Destino (128 bits). Muestra la dirección destino IPv6 del paquete.

Cabecera de extensión

Cabecera de Extensión Tipo Tamaño Descripción
Hop-By-Hop Options 0 variable Contiene datos que deben ser examinados por cada nodo a través de la ruta de envío de un paquete.
Source routing 43 variable Métodos para especificar la forma de rutear un datagrama. (Usado con IPv6 móvil)
Fragment 44 64 bits Contiene parámetros para la fragmentación de los datagramas.
Contiene información para verificar la autenticación de la mayor parte de los datos del paquete (Ver IPsec) 51 variable Contiene información para verificar la autenticación de la mayor parte de los datos del paquete (Ver IPsec)
Encapsulating Security Payload (ESP) 50 variable Lleva la información cifrada para comunicación segura (Ver IPsec).
Destination 60 variable Información que necesita ser examinada solamente por los nodos de destino del paquete.
Null (No Next Header) 59 vacío Indica que no hay más cabeceras