¿Qué es el IPv6?
IPv6 (Internet Protocol Version 6) o IPng (Next Generation
Internet Protocol) es la nueva versión del protocolo IP (Internet
Protocol). Ha sido diseñado por el IETF (Internet Engineering Task
Force) para reemplazar en forma gradual a la versión actual, el IPv4.
En esta versión se mantuvieron
las funciones del IPv4 que son utilizadas, las que no son utilizadas o
se usan con poca frecuencia, se quitaron o se hicieron opcionales,
agregándose nuevas características.
¿Porqué surge?
El motivo básico para crear un nuevo protocolo fue la falta de
direcciones. IPv4 tiene un espacio de direcciones de 32 bits, en
cambio IPv6 ofrece un espacio de 128 bits. El reducido espacio de
direcciones de IPv4, junto al hecho de falta de coordinación para su
asignación durante la década de los 80, sin ningún tipo de
optimización, dejando incluso espacios de direcciones discontinuos,
generan en la actualidad, dificultades no previstas en aquel momento.
Otros de los problemas de IPv4 es la gran dimensión de las tablas de
ruteo en el backbone de Internet, que lo hace ineficaz y perjudica los
tiempos de respuesta.
Debido a la multitud de nuevas aplicaciones en las que IPv4 es
utilizado, ha sido necesario agregar nuevas funcionalidades al
protocolo básico, aspectos que no fueron contemplados en el análisis
inicial de IPv4, lo que genera complicaciones en su escalabilidad para
nuevos requerimientos y en el uso simultáneo de dos o más de dichas
funcionalidades. Entre las mas conocidas se pueden mencionar medidas
para permitir la Calidad de Servicio (QoS), Seguridad (IPsec) y
movilidad.
Características principales
- Mayor espacio de
direcciones. El tamaño de las direcciones IP cambia de 32 bits a
128 bits, para soportar: mas niveles de jerarquías de direccionamiento
y mas nodos direccionables.
-
Simplificación del formato del Header. Algunos campos del header IPv4 se quitan o se hacen opcionales
- Paquetes IP eficientes y
extensibles, sin que haya fragmentación en los routers, alineados a 64
bits y con una cabecera de longitud fija, mas simple, que agiliza su
procesado por parte del router.
- Posibilidad de paquetes con carga útil (datos) de mas de 65.355 bytes.
- Seguridad en el núcleo del protocolo (IPsec). El soporte de IPsec es un requerimiento del protocolo IPv6.
- Capacidad de etiquetas de
flujo. Puede ser usada por un nodo origen para etiquetar paquetes
pertenecientes a un flujo (flow) de tráfico particular, que requieren
manejo especial por los routers IPv6, tal como calidad de servicio no
por defecto o servicios de tiempo real. Por ejemplo video conferencia.
- Autoconfiguración: la
autoconfiguración de direcciones es mas simple. Especialmente en
direcciones Aggregatable Global Unicast, los 64 bits superiores son
seteados por un mensaje desde el router (Router Advertisement) y los 64
bits mas bajos son seteados con la dirección MAC (en formato EUI-64). En este caso, el
largo del prefijo de la subred es 64, por lo que no hay que preocuparse
mas por la máscara de red. Además el largo del prefijo no depende en el
número de los hosts por lo tanto la asignación es mas simple.
- Renumeración y "multihoming": facilitando el cambio de proveedor de servicios.
- Características de movilidad, la posibilidad de que un nodo mantenga la misma dirección IP, a pesar de su movilidad.
- Ruteo más eficiente en el backbone de la red, debido a la jerarquía de direccionamiento basada en aggregation.
- Calidad de servicio (QoS) y clase de servicio (CoS).
- Capacidades de autenticación y privacidad
¿Qué tan grande es el espacio de direcciones
Habrían 2 ^ 128 direcciones IP
diferentes, significa que si la población mundial fuera de 10 billones
habría 3.4 * 10 ^ 27 direcciones por persona. O visto de otra forma habría un promedio de 2.2 * 10 ^ 20
direcciones por centímetro cuadrado. Siendo así muy pequeña la
posibilidad de que se agoten las nuevas direcciones.
Direccionamiento
Las direcciones son de 128 bits e identifican interfaces individuales o conjuntos de interfaces.
Al igual que en IPv4 en los nodos se asignan a interfaces.
Se clasifican en tres tipos:
- Unicast identifican a
una sola interfaz. Un paquete enviado a una dirección unicast es
entregado sólo a la interfaz identificada con dicha dirección.
[RFC 2373] [RFC 2374]
- Anycast identifican a
un conjunto de interfaces. Un paquete enviado a una dirección anycast,
será entregado a alguna de las interfaces identificadas con la
dirección del conjunto al cual pertenece esa dirección
anycast. [RFC 2526]
- Multicast identifican
un grupo de interfaces. Cuando un paquete es enviado a una dirección
multicast es entregado a todos las interfaces del grupo identificadas
con esa dirección.
En el IPv6 no existen direcciones broadcast, su funcionalidad ha sido mejorada por las direcciones multicast. [RFC
2375]
Representación de las direcciones
Existen tres formas de representar las direcciones IPv6 como strings de texto.
- x:x:x:x:x:x:x:x donde cada x
es el valor hexadecimal de 16 bits, de cada uno de los 8 campos que
definen la dirección. No es necesario escribir
los ceros a la izquierda de cada campo, pero al menos debe existir un
número en cada campo.
Ejemplos:
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
1080:0:0:0:8:800:200C:417A
- Como será común utilizar
esquemas de direccionamiento con largas cadenas de bits en cero, existe
la posibilidad de usar sintacticamente :: para
representarlos.El uso de :: indica uno o mas grupos de 16 bits de
ceros. Dicho simbolo podrá aparecer una sola vez en cada dirección.
Por ejemplo:
1080:0:0:0:8:800:200C:417A
unicast address
FF01:0:0:0:0:0:0:101
multicast address
0:0:0:0:0:0:0:1
loopback address
0:0:0:0:0:0:0:0
unspecified addresses
podrán ser representadas como:
1080::8:800:200C:417A
unicast address
FF01::101
multicast address
::1
loopback address
::
unspecified addresses
- Para escenarios con nodos IPv4 e IPv6 es posible utilizar la siguiente sintaxis:
x:x:x:x:x:x:d.d.d.d, donde x
representan valores hexadecimales de las seis partes más significativas
(de 16 bits cada una) que componen la dirección y las d, son valores
decimales de los 4 partes menos significativas (de 8 bits cada una), de
la representación estándar del formato de direcciones IPv4.
Ejemplos:
0:0:0:0:0:0:13.1.68.3
0:0:0:0:0:FFFF:129.144.52.38
o en la forma comprimida
::13.1.68.3
::FFFF:129.144.52.38
Representación de los prefijos de las direcciones
Los prefijos de identificadores
de subredes, routers y rangos de direcciones IPv6 son expresados de la
misma forma que en la notación CIDR utilizada en IPv4. Un prefijo de dirección IPv6 se representa con la siguiente notación:
direccion-ipv6/longitud-prefijo, donde
direccion-ipv6: es una dirección IPv6 en cualquiera de las notaciones mencionadas anteriormente.
longitud-prefijo: es un valor decimal que especifica cuantos de los bits más significativos, representan el prefijo de la dirección.
Direcciones Global Unicast
Formato de las direcciones global unicast
Prefijo de ruteo global: es un prefijo asignado a un sitio, generalmente está estructurado jerárquicamente por los RIRs e ISPs.
Identificador de Subred: es el identificador de una subred dentro de un sitio. Está diseñado para que los administradores de los sitios lo estructuren jerárquicamente
Identificador de Interfaz: es el identificador de una interfaz. En todas las direcciones unicast, excepto las que comienzan con el valor binario 000, el identificador de interfaz
debe ser de 64 bits y estar construído en el formato Modified EUI-64.
El formato para este caso es el siguiente:
El siguiente es un ejemplo del formato de direcciones global unicast bajo el prefijo 2000::/3 administrado por el IANA
La asignación del espacio de direcciones IPv6 global unicast está accesible en IPV6 GLOBAL UNICAST ADDRESS ASSIGNMENTS
DNS
El
almacenamiento actual de direcciones de Internet en el Domain Name
System (DNS) de IPv4 no se puede extender fácilmente para que soporte
direcciones IPv6 de 128 bits, ya que las aplicaciones asumen que a las
consultas de direcciones se retornan solamente direcciones IPv4 de 32
bits.
Para poder almacenar las direcciones IPv6 se definieron las siguientes extensiones (ver RFC 3596)
- un nuevo tipo de registro,
el registro AAAA. Se usa para almacenar direcciones IPv6, porque las
extensiones están diseñadas para ser compatibles con implementaciones
de DNS existentes;
- un nuevo dominio para soportar búsquedas basadas en direcciones IPv6. Este dominio es IP6.ARPA;
- Redefinición de las consultas existentes, que localizan direcciones IPv4, para que puedan también procesar direcciones IPv6.
Los cambios son diseñados para ser compatibles con el software existente. Se mantiene el soporte de direcciones IPv4.
Mecanismos de transición básicos
Los mecanismos de transición son un conjunto de mecanismos y de
protocolos implementados en hosts y routers, junto con algunas guías operativas de
direccionamiento designadas para hacer la transición de Internet al
IPv6 con la menor interrupción posible.
Existen dos mecanismos básicos :
- Dual Stack: provee soporte completo para IPv4 e IPv6 en host y routers.
- Tunneling: encapsula paquetes IPv6 dentro de headers IPv4 siendo transportados a través de infraestructura de ruteo IPv4.
Dichos mecanismos están
diseñados para ser usados por hosts y routers IPv6 que necesitan
interoperar con hosts IPv4 y utilizar infraestructuras de ruteo IPv4.
Se espera que muchos nodos necesitarán compatibilidad por mucho tiempo
y quizás indefinidamente.
No obstante, IPv6 también puede ser usado en ambientes donde no se
requiere interoperabilidad con IPv4. Nodos diseñados para esos
ambientes no necesitan usar ni implementar estos mecanismos.
Dual Stack
La forma mas directa para los
nodos IPv6 de ser compatibles con nodos IPv4-only es proveyendo una
implementación completa de IPv4. Los nodos IPv6 que proveen una
implementación completa de IPv4 (además de su implementación de IPv6)
son llamados nodos “IPv6/IPv4”. Estos nodos tienen la habilidad de
enviar y recibir paquetes IPv6 e IPv4, pudiendo así interoperar
directamente con nodos IPv4 usando paquetes IPv4, y también operar con
nodos IPv6 usando paquetes IPv6.
Tunneling
Los nodos o redes IPv6 que se
encuentran separadas por infraestructuras IPv4 pueden construir un
enlace virtual, configurando un túnel. Paquetes IPv6 que van hacia un
dominio IPv6 serán encapsulados dentro de paquetes IPv4. Los extremos
del túnel son dos direcciones IPv4 y dos IPv6. Se pueden utilizar dos
tipos de túneles: configurados y automáticos. Los túneles configurados
son creados mediante configuración manual. Un ejemplo de redes
conteniendo túneles configurados es el 6bone.
Los túneles automáticos no necesitan configuración manual. Los extremos
se determinan automáticamente determinados usando direcciones IPv6
IPv4-compatible.
|