28 de noviembre de 2010

Algo más sobre IPv6

Lentamente se aproxima la implementación de IPv6, y con ello es preciso tener muy presentes las diferencias más significativas respecto de IPv4, así como algunos elementos propios que comenzaremos a ver cada vez con mayor frecuencia:
Las direcciones IPv6 tienen 128 bits de longitud y se expresan en numeración hexadecimal
Las direcciones IPv4 tienen 32 bits de longitud y solemos representarlas como cuatro octetos separados por puntos. Cada octeto de estas direcciones lo representamos en numeración decimal, tomando un valor posible entre 0 y 255.
Ejemplo: 192.168.1.1
Las direcciones IPv6 tienen 128 bits de longitud y se expresan en numeración hexadecimal. Cada cuatro caracteres hexadecimales se separan utilizando dos puntos.
Ejemplo: 2001:75b:a12c:6:c0:a8:1:1
Las direcciones de link local son fáciles de identificar
IPv6 utiliza diferentes tipos de direcciones. Uno de esos tiempos son las de link local que se autoconfigura en toda interfaz que tiene habilitado este protocolo.
Las interfaces de link local siempre inician con FE80.
De modo similar, las direcciones de multicast siempre inician FF0x (la x representa un último digito hexadecimal que toma un valor entre 1 y 8).
Los 0s al inicio de cada porción de la dirección pueden ser suprimidos
Las direcciones IPv6 se expresan con 32 dígitos hexadecimales separados en 8 grupos de 4 dígitos utilizando dos puntos. Cuando uno de estos 8 grupos de dígitos inician con cero, pueden ser eliminados.
Por ejemplo:
FE80:CD00:0000:0CDE:1234:0000:5678:09AB
Si suprimimos los ceros al inicio de cada sección, puede escribirse de modo más simple así:
FE80:CD00:0:CDE:1234:0:2567:9AB
Cuando hay 0s en varias porciones, también pueden ser suprimidos
Muchas veces encontramos direcciones que tienen varias secciones en cero. Estas secciones en cero también pueden ser suprimidas en la grafía de las direcciones.
Por ejemplo:
FE80:CD00:0000:0000:0000:0000:0010:0127
En esta dirección podemos eliminar los grupos consecutivos en cero en reemplazarlos por ::, y también suprimir ceros iniciales en algunos grupos. De esta forma queda así:
FE80:CD00::10:127
La expresión :: indica al sistema operativo que todo lo que se encuentra entre ellos son solo ceros.
Para esto hay que tener presente que se puede suprimir una sección completa solamente cuando está íntegramente compuesta por ceros. Además hay que recordar que la expresión :: puede ser utilizada una sola vez en cada dirección.
Hay una única dirección de loopback
En IPv4 se ha reservado toda la red 127.0.0.0/8 (lo habitual es utilizar la dirección 127.0.0.1) como dirección de loopback para apuntar al stack TCP/IP local.
En IPv6 también  hay una dirección de loopback, pero en este caso es una única dirección:
::1
O expresado de la forma convencional o completa:
0000:0000:0000:0000:0000:0000:0000:0001
No hay máscara de subred
En IPv4 cada puerto está identificado por una dirección IP y una máscara de subred.
IPv6 permite implementar subredes, pero ya no se necesita una máscara de subred.
Del total de 128 bits que componen una dirección, los primeros 48 identifican el prefijo de red, los 16 siguientes son el identificador de subredes, y los últimos 64 son el identificador de la interfaz.
Dado que se han reservado 16 bits para la porción local o de subredes, en una red IPv6 es posible generar 65536 subredes.
DNS es un servicio también disponible en IPv6
En IPv4 el servicio de DNS utiliza los registros A para mapear direcciones IP a nombres.
En IPv6 se utilizan registros AAAA también llamados Quad A. El dominio ip6.arpa es utilizado para la resolución reversa de nombres.
Las direcciones IPv6 pueden conectarse a través de redes IPv4
El diseño de IPv6 permite varias formas de transición que permiten la implementación de redes IPv6 aún cuando la ruta deba pasar a través de redes IPv4. Estas formas de transición prevéen el tunelizado a través de las redes IPv4. Las dos tecnologías más conocidas para esto son Teredo y 6to4.
La idea básica es que los paquetes IPv6 son encapsulados dentro de paquetes IPv4 para atravesar esas redes.
Muchos ya están en condiciones de utilizar IPv6
En sistemas operativos Microsoft, desde Windows Vista IPv6 es una opción instalada por defecto (también puede instalarse en Windows XP, pero no es la opción por defecto). En la mayoría de las terminales instaladas con Windows coexisten IPv4 e IPv6.
También los sistemas operativos Unix y Linux soportan desde hace años IPv6.
Esto en lo referente a terminales, respecto de la infraestructura, Cisco IOS hace ya varias versiones que soporta IPv6, si bien no está activo por defecto y requiere ser explícitamente activado con el comando ipv6 unicast routing.
El soporte de Windows para IPv6 tiene algunas particularidades
Cuando  se quiere direccionar un cliente hacia un puerto específico, por ejemplo, direccionar un navegator de Internet a una dirección IP y un puerto específicos, en IPv4 esto se hace utilizando los dos puntos:
http://172.16.100.1:8543
Como en IPv6 los dos puntos son parte de la descripción de la dirección misma, esto se hace utilizando corchetes:
http://[FE80:CD00:0:CDE:1234:0:2567:9AB]:8543
Este formato no está soportado en Windows porque cuando recibe los dos puntos, los interpreta como que se está referenciando una unidad interna del equipo.
Para solucionar este problema, Microsoft ha establecido un dominio especial para la traducción de direcciones IPv6. De esta forma, si se quiere referenciar una dirección IPv6 utilizando Universal Naming Convention, se deben reemplazar los dos puntos por guiones y aregar al final de la dirección .ipv6.literal.net.
Un ejemplo, en lugar de:
http://[FE80:CD00:0:CDE:1234:0:2567:9AB]
Se debe utilizar:
http://FE80-CD00-0-CDE-1234-0-2567-9AB.ipv6.literal.net
Algunos enlaces de referencia:

¿Tenés alguna información o comentario para aportar en este tema....?
Perfecto!!!! agregá un comentario con el detalle.
Muchas gracias.
Oscar Gerometta


1 comentario:

Gracias por tu comentario.
En este blog los comentarios están moderados, por lo que su publicación está pendiente hasta la revisión del mismo.