4. ¿Por qué la
versión 6 del protocolo TCP/IP?
4.1.
Direcciones IPv6
La función de la dirección IPv6 es exactamente la misma a su predecesor
IPv4, pero dentro del protocolo IPv6. Está compuesta por 128 bits y se
expresa en una notación hexadecimal de 32 dígitos. IPv6 permite actualmente que
cada persona en la tierra tenga asignada varios millones de IPs, ya que puede
implementarse con 2128 (3.4×1038 hosts
direccionables). La ventaja con respecto a la dirección IPv4 es obvia en cuanto
a su capacidad de direccionamiento.
Su representación suele ser hexadecimal y para la separación de
cada par de octetos se emplea el símbolo ":". Un bloque abarca desde
0000 hasta FFFF. Algunas reglas de notación acerca de la representación de
direcciones IPv6 son:
§
Los ceros
iniciales, como en IPv4, se pueden obviar.
Ejemplo: 2001:0123:0004:00ab:0cde:3403:0001:0063
-> 2001:123:4:ab:cde:3403:1:63
§
Los bloques
contiguos de ceros se pueden comprimir empleando "::". Esta operación
sólo se puede hacer una vez.
Ejemplo: 2001:0:0:0:0:0:0:4
-> 2001::4.
Ejemplo no válido: 2001:0:0:0:2:0:0:1
-> 2001::2::1 (debería ser 2001::2:0:0:1 ó 2001:0:0:0:2::1).
4.1.1. Cambios y nuevas
características
En muchos aspectos, IPv6 es una extensión conservadora de IPv4. La mayoría
de los protocolos de transporte -y aplicación- necesitan pocos o ningún cambio
para operar sobre IPv6; las excepciones son los protocolos de aplicación que
integran direcciones de capa de red, como FTP o NTPv3, NTPv4.
IPv6 especifica un nuevo formato de paquete, diseñado para minimizar el
procesamiento del encabezado de paquetes. Debido a que las cabeceras de los
paquetes IPv4 e IPv6 son significativamente distintas, los dos protocolos no
son interoperables.
4.2.
Algunos de los cambios de IPv4 a IPv6 más relevantes son:
4.2.1.
Capacidad
extendida de direccionamiento
Una ilustración de una dirección IP (versión 6), en hexadecimal y binario.
El interés de los diseñadores era que direcciones más largas permiten una
entrega jerárquica, sistemática y en definitiva mejor de las direcciones y una
eficiente agregación de rutas. Con IPv4, se desplegaron complejas técnicas de
Classless Interdomain Routing (CIDR) para utilizar de mejor manera el pequeño
espacio de direcciones. El esfuerzo requerido para reasignar la numeración de
una red existente con prefijos de rutas distintos es muy grande, como se
discute en RFC 2071 y RFC 2072. Sin embargo, con IPv6, cambiando
el prefijo anunciado por unos pocos routers es posible en principio reasignar
la numeración de toda la red, ya que los identificadores de nodos (los 64 bits
menos significativos de la dirección) pueden ser auto-configurados
independientemente por un nodo.
El tamaño de una subred en IPv6 es de 264 (máscara de
subred de 64-bit), el cuadrado del tamaño de la Internet IPv4 entera. Así, las
tasas de utilización del espacio de direcciones será probablemente menor en
IPv6, pero la administración de las redes y el ruteo serán más eficientes
debido a las decisiones de diseño inherentes al mayor tamaño de las subredes y
la agregación jerárquica de rutas.
4.2.2.
Multicast
Multicast, la habilidad de enviar un paquete único a destinos múltiples es
parte de la especificación base de IPv6. Esto es diferente a IPv4, donde es
opcional (aunque usualmente implementado).
IPv6 no implementa broadcast,
que es la habilidad de enviar un paquete a todos los nodos del enlace
conectado. El mismo efecto puede lograrse enviando un paquete al grupo de
multicast de enlace-local todos los nodos (all hosts). Por lo tanto, no existe el concepto de una dirección
de broadcast y así la dirección más alta de la red (la dirección de broadcast
en una red IPv4) es considerada una dirección normal en IPv6.
Muchos ambientes no tienen, sin embargo, configuradas sus redes para rutear
paquetes multicast, por lo que en éstas será posible hacer
"multicasting" en la red local, pero no necesariamente en forma
global.
El multicast IPv6 comparte protocolos y características comunes con IPv4,
pero también incorpora cambios y mejoras. Incluso cuando se le asigne a una
organización el más pequeño de los prefijos de ruteo global IPv6, ésta también
recibe la posibilidad de usar uno de los 4.2 billones de grupos multicast IPv6
ruteables de fuente específica para asignarlos para aplicaciones multicast
intra-dominio o entre-dominios (RFC 3306). En IPv4 era muy difícil para una
organización conseguir incluso un único grupo multicast ruteable entre-dominios
y la implementación de las soluciones entre-dominios eran anticuadas (RFC
2908). IPv6 también soporta nuevas soluciones multicast, incluyendo Embedded Rendezvous Point (RFC
3956), el que simplifica el despliegue de soluciones entre dominios.
4.2.3.
Seguridad de Nivel
de Red obligatoria
Internet Protocol Security (IPsec), el protocolo para cifrado y
autenticación IP forma parte integral del protocolo base en IPv6. El soporte
IPsec es obligatorio en IPv6; a diferencia de IPv4, donde es opcional (pero
usualmente implementado). Sin embargo, actualmente no se está usando
normalmente IPsec excepto para asegurar el tráfico entre routers de BGP IPv6.
4.2.4.
Soporte mejorado
para las extensiones y opciones
Los cambios en la manera en que se codifican las opciones de la cabecera IP
permiten límites menos rigurosos en la longitud de opciones, y mayor
flexibilidad para introducir nuevas opciones en el futuro.
4.2.5.
Jumbogramas
IPv4 limita los paquetes a 64 KiB de carga útil. IPv6 tiene
soporte opcional para que los paquetes puedan superar este límite, los
llamados jumbogramas, que pueden ser de hasta 4 GiB. El uso de jumbogramas
puede mejorar mucho la eficiencia en redes de altos MTU. El uso de jumbogramas
está indicado en el encabezado opcional Jumbo Payload Option.
4.3.
Direccionamiento IPv6
El cambio más grande de IPv4 a IPv6 es la longitud de las direcciones de
red. Las direcciones IPv6, definidas en el RFC 2373 y RFC
2374 pero fue redefinida en abril de 2003 en la RFC 3513, son de 128
bits; esto corresponde a 32 dígitos hexadecimales, que se utilizan
normalmente para escribir las direcciones IPv6, como se describe en la
siguiente sección.
El número de direcciones IPv6 posibles es de 2128 ≈ 3.4 x
1038. Este número puede también representarse como 1632,
con 32 dígitos hexadecimales, cada uno de los cuales puede tomar 16 valores.
En muchas ocasiones las direcciones IPv6 están compuestas por dos partes
lógicas: un prefijo de 64 bits y otra parte de 64 bits que corresponde al
identificador de interfaz, que casi siempre se genera automáticamente a partir
de la dirección MAC de la interfaz a la que está asignada la
dirección.
4.3.1.
Identificación de
los tipos de direcciones
Los tipos de direcciones IPv6 pueden identificarse tomando en cuenta los
rangos definidos por los primeros bits de cada dirección.
::/128 La
dirección con todo ceros se utiliza para indicar la ausencia de dirección, y no
se asigna ningún nodo.
::1/127 La
dirección de loopback es una dirección que puede usar un nodo para
enviarse paquetes a sí mismo (corresponde con 127.0.0.1 de IPv4). No
puede asignarse a ninguna interfaz física.
::1.2.3.4/96La dirección IPv4 compatible se usa como un mecanismo de
transición en las redes duales IPv4/IPv6. Es un mecanismo que no se usa.
::ffff:0:0/96 La dirección IPv4 mapeada se usa como mecanismo de transición en
terminales duales.
fe80::/10 El prefijo
de enlace local (en inglés link local) específica que la
dirección sólo es válida en el enlace físico local.
fec0:: El prefijo de emplazamiento local (en inglés site-local prefix) específica que la
dirección sólo es válida dentro de una organización local. La RFC
3879 lo declaró obsoleto, estableciendo que los sistemas futuros no deben
implementar ningún soporte para este tipo de dirección especial. Se deben
sustituir por direcciones Local IPv6 Unicast.
ff00::/8 El prefijo
de multicast. Se usa para las direcciones multicast.
Hay que resaltar que no existen las direcciones de difusión
(en inglés broadcast)
en IPv6, aunque la funcionalidad que prestan puede emularse utilizando la
dirección multicast FF01::1/128, denominada todos los nodos (en inglés all nodes)
4.4.
Paquete IPv6
Un paquete en IPv6 está compuesto principalmente de dos partes:
la cabecera (que tiene una parte fija y otra con las opciones) y la carga útil
(los datos).
Los primeros 40 bytes (320 bits) son la cabecera del paquete y contiene los
siguientes campos:
§
direcciones de
origen (128 bits)
§
direcciones de
destino (128 bits)
§
versión del
protocolo IP (4 bits)
§
clase de tráfico
(8 bits, Prioridad del Paquete)
§
Etiqueta de flujo
(20 bits, manejo de la Calidad de Servicio),
§
Longitud del campo
de datos (16 bits)
§
Cabecera siguiente
(8 bits)
§
Límite de saltos
(8 bits, Tiempo de Vida).
Hay dos versiones de IPv6 levemente diferentes. La ahora obsoleta versión
inicial, descrita en el RFC 1883, difiere de la actual versión propuesta
de estándar, descrita en el RFC 2460, en dos campos: hay 4 bits que han
sido reasignados desde "etiqueta de flujo" (flow label) a "clase de tráfico" (traffic class). El resto de
diferencias son menores.
Cabecera de Extensión
|
Tipo
|
Tamaño
|
Descripción
|
RFC
|
Opciones
salto a salto (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.
|
RFC
2460
|
Ruteo
(Routing)
|
43
|
variable
|
Métodos para especificar la forma de rutear un
datagrama. (Usado
con IPv6 móvil)
|
RFC
2460, RFC 6275,RFC 5095
|
Cabecera
de fragmentación (Fragment)
|
44
|
64 bits
|
Contiene parámetros para la fragmentación de los
datagramas.
|
RFC
2460
|
Cabecera de autenticación (Authentication Header (AH))
|
51
|
variable
|
Contiene información para verificar la autenticación
de la mayor parte de los datos del paquete (Ver IPsec)
|
RFC
4302
|
Encapsulado de seguridad de la carga útil (Encapsulating Security Payload (ESP))
|
50
|
variable
|
Lleva la información cifrada para comunicación
segura (Ver IPsec).
|
RFC
4303
|
Opciones para el destino (Destination Options)
|
60
|
variable
|
Información que necesita ser examinada solamente por
los nodos de destino del paquete.
|
RFC
2460
|
No Next Header
|
59
|
vacío
|
Indica que no hay más cabeceras
|
RFC
2460
|
En IPv6 la fragmentación se realiza sólo en el nodo origen del paquete, al
contrario que en IPv4 en donde los routers pueden fragmentar un paquete. En
IPv6, las opciones también desaparecen de la cabecera estándar y son
especificadas por el campo "Cabecera
Siguiente" (Next Header),
similar en funcionalidad en IPv4 al campo Protocolo. Un ejemplo: en IPv4 uno
añadiría la opción "ruta fijada desde origen" (Strict Source and Record Routing) a
la cabecera IPv4 si quiere forzar una cierta ruta para el paquete, pero en IPv6
uno modificaría el campo "Cabecera Siguiente" indicando que viene una
cabecera de encaminamiento. La cabecera de encaminamiento podrá entonces
especificar la información adicional de encaminamiento para el paquete, e
indicar que, por ejemplo, la cabecera TCP será la siguiente. Este procedimiento
es análogo al de AH y ESP en IPsec para IPv4 (que aplica a IPv6 de
igual modo, por supuesto).
4.5.
IPv6 y el Sistema de Nombres de Dominio
Las direcciones IPv6 se representan en el Sistema de Nombres de
Dominio (DNS) mediante registros AAAA (también llamados registros de quad-A, por tener una longitud cuatro
veces la de los registros A para IPv4).
El concepto de AAAA fue una de las dos propuestas al tiempo que se estaba
diseñando la arquitectura IPv6. La otra propuesta utilizaba registros A6 y otras innovaciones como las
etiquetas de cadena de bits (bit-string
labels) y los registros DNAME.
Mientras que la idea de AAAA es una simple generalización del DNS IPv4, la
idea de A6 fue una revisión y puesta a punto del DNS para ser más genérico, y
de ahí su complejidad.
La RFC 3363 recomienda utilizar registros AAAA hasta tanto se
pruebe y estudie exhaustivamente el uso de registros A6. La RFC
3364 realiza una comparación de las ventajas y desventajas de cada tipo de
registro.
4.6.
Mecanismos de
transición a IPv6
Ante el agotamiento de las direcciones IPv4, y los problemas que este
está ocasionando ya, sobretodo en los países emergentes de Asia como India o
China, el cambio a IPv6 ya ha comenzado. Se espera que convivan
ambos protocolos durante un año, aunque se piensa que la implantación
mundial y total en internet de IPv6 se hará realidad hacia finales de 2012,
dada la celeridad con la que se están agotando las direcciones IPv4. La red no
podrá aguantar mucho más sin el cambio, y de no realizarse pronto este las
consecuencias podrían ser muy graves. Existe una serie de mecanismos que
permitirán la convivencia y la migración progresiva tanto de las redes como de
los equipos de usuario.
En general, los mecanismos de transición pueden clasificarse en tres
grupos:
§
Doble pila
§
Túneles
§
Traducción
La doble pila hace
referencia a una solución de
nivel IP con doble pila (RFC 4213), que implementa las pilas de
ambos protocolos, IPv4 e IPv6, en cada nodo de la red. Cada nodo con doble pila
en la red tendrá dos direcciones de red, una IPv4 y otra IPv6.
§
A favor: Fácil de desplegar y extensamente soportado.
§
En contra: La topología de red requiere dos tablas de
encaminamiento y dos procesos de encaminamiento. Cada nodo en la red necesita
tener actualizadas las dos pilas.
Los túneles permiten
conectarse a redes IPv6 "saltando" sobre redes IPv4. Estos túneles
trabajan encapsulando los paquetes IPv6 en paquetes IPv4 teniendo como
siguiente capa IP el protocolo número 41, y de ahí el nombre proto-41. De esta manera, se pueden
enviar paquetes IPv6 sobre una infraestructura IPv4. Hay muchas tecnologías de
túneles disponibles. La principal diferencia está en el método que usan los
nodos encapsuladores para determinar la dirección a la salida del túnel.
La traducción es
necesaria cuando un nodo que sólo soporta IPv4 intenta comunicar con un nodo
que sólo soporta IPv6. Los mecanismos de traducción se pueden dividir en dos
grupos basados en si la información de estado está guardada o no:
§ Con estado: NAT-PT (RFC
2766), TCP-UDP Relay (RFC 3142), Socks-based Gateway (RFC
3089)
§ Sin estado: Bump-in-the-Stack, Bump-in-the-API (RFC
276)
No hay comentarios:
Publicar un comentario