Diferencia entre revisiones de «IPv6»
Línea 16: | Línea 16: | ||
===Capacidad extendida de direccionamiento=== |
===Capacidad extendida de direccionamiento=== |
||
IPv6 incrementa el tamaño de dirección IP de 32 bits a 128 bits, para dar soporte a más niveles de direccionamiento jerárquico, un número mucho mayor de nodos direccionables, y una autoconfiguración más simple de direcciones. La escalabilidad del enrutamiento multicast se mejora agregando un campo "ámbito" a estas direcciones. Y se define un nuevo tipo de dirección llamada "dirección envío a uno de", usado para enviar un paquete a cualquiera de un grupo de nodos. |
IPv6 incrementa el tamaño de dirección IP de 32 bits a 128 bits, para dar soporte a más niveles de direccionamiento jerárquico, un número mucho mayor de nodos direccionables, y una autoconfiguración más simple de direcciones. La escalabilidad del enrutamiento multicast se mejora agregando un campo "ámbito" a estas direcciones. Y se define un nuevo tipo de dirección llamada "dirección envío a uno de", usado para enviar un paquete a cualquiera de un grupo de nodos.PENE |
||
===Simplificación del formato de cabecera=== |
===Simplificación del formato de cabecera=== |
Revisión del 15:10 3 jun 2009
El protocolo IPv6 es una nueva versión de IP (Internet Protocol), diseñada para reemplazar a la versión 4 (IPv4) RFC 791, actualmente en uso.
Diseñado por Steve Deering de Xerox PARC y Craig Mudge, IPv6 está destinado a sustituir a IPv4, cuyo límite en el número de direcciones de red admisibles está empezando a restringir el crecimiento de Internet y su uso, especialmente en China, India, y otros países asiáticos densamente poblados. Pero el nuevo estándar mejorará el servicio globalmente; por ejemplo, proporcionará a futuras celdas telefónicas y dispositivos móviles con sus direcciones propias y permanentes. Al día de hoy se calcula que las dos terceras partes de las direcciones que ofrece IPv4 ya están asignadas.
IPv4 posibilita 4.294.967.296 (232) direcciones de red diferentes, un número inadecuado para dar una dirección a cada persona del planeta, y mucho menos a cada vehículo, teléfono, PDA, etcétera. En cambio, IPv6 admite 340.282.366.920.938.463.463.374.607.431.768.211.456 (2128 o 340 sextillones) direcciones —cerca de 3,4 × 1020 (340 trillones) direcciones por cada pulgada cuadrada (6,7 × 1017 o 670 mil billones direcciones/mm2) de la superficie de La Tierra.
Propuesto por el Internet Engineering Task Force en 1994 (cuando era llamado "IP Next Generation" o IPng), la adopción de IPv6 por parte de Internet es menor, la red todavía está dominada por IPv4. La necesidad de adoptar el nuevo protocolo debido a la falta de direcciones ha sido parcialmente aliviada por el uso de la técnica NAT. Pero NAT rompe con la idea originaria de Internet donde todos pueden conectarse con todos y hace difícil o imposible el uso de algunas aplicaciones P2P, de voz sobre IP y de juegos multiusuario. Un posible factor que influya a favor de la adopción del nuevo protocolo podría ser la capacidad de ofrecer nuevos servicios, tales como la movilidad, Calidad de Servicio (QoS), privacidad, etc.
Otra vía para la popularización del protocolo es la adopción de este por parte de instituciones. El gobierno de los Estados Unidos ha ordenado el despliegue de IPv6 por todas sus agencias federales para el año 2008.
IPv6 es la segunda versión del Protocolo de Internet que se ha adoptado para uso general. También hubo un IPv5, pero no fue un sucesor de IPv4; mejor dicho, fue un protocolo experimental orientado al flujo de streaming que intentaba soportar voz, video y audio.
Los cambios
Los cambios de IPv4 a IPv6 se clasifican en las siguientes categorías:
Capacidad extendida de direccionamiento
IPv6 incrementa el tamaño de dirección IP de 32 bits a 128 bits, para dar soporte a más niveles de direccionamiento jerárquico, un número mucho mayor de nodos direccionables, y una autoconfiguración más simple de direcciones. La escalabilidad del enrutamiento multicast se mejora agregando un campo "ámbito" a estas direcciones. Y se define un nuevo tipo de dirección llamada "dirección envío a uno de", usado para enviar un paquete a cualquiera de un grupo de nodos.PENE
Simplificación del formato de cabecera
Algunos campos de la cabecera IPv4 se han sacado o se han hecho opcionales, para reducir el costo del procesamiento de los paquetes y para ahorrar ancho de banda.
Soporte mejorado para las extensiones y opciones
Los cambios en la manera en que se codifican las opciones de la cabecera IP permiten un reenvío más eficiente, límites menos rigurosos en la longitud de opciones, y mayor flexibilidad para introducir nuevas opciones en el futuro.
Capacidad de etiquetado de flujos
Una nueva capacidad se agrega para permitir el etiquetado de paquetes que pertenecen a "flujos" de tráfico particulares para lo cuál el remitente solicita tratamiento especial, como la calidad de servicio no estándar o el servicio en "tiempo real".
Capacidades de Autenticación y Privacidad
IPv6 incluye la especificación de extensiones que proveen autenticación, integridad, y (opcionalmente) confidencialidad de los datos.
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, 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 (véase combinatoria).
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.
Notación para las direcciones IPv6
Las direcciones IPv6, de 128 bits de longitud, se escriben como ocho grupos de cuatro dígitos hexadecimales. Por ejemplo,
2001:0db8:85a3:08d3:1319:8a2e:0370:7334
es una dirección IPv6 válida.
Si un grupo de cuatro dígitos es nulo (es decir, toma el valor "0000"), puede ser comprimido. Por ejemplo,
2001:0db8:85a3:0000:1319:8a2e:0370:7344 ---- 2001:0db8:85a3::1319:8a2e:0370:7344
Siguiendo esta regla, si más de dos grupos consecutivos son nulos, pueden comprimirse como "::". Si la dirección tiene más de una serie de grupos nulos consecutivos la compresión sólo se permite en uno de ellos. Así, las siguientes son representaciones posibles de una misma dirección:
2001:0DB8:0000:0000:0000:0000:1428:57ab 2001:0DB8:0000:0000:0000::1428:57ab 2001:0DB8:0:0:0:0:1428:57ab 2001:0DB8:0::0:1428:57ab 2001:0DB8::1428:57ab
son todas válidas y significan lo mismo, pero
2001::25de::cade -- --
no es válida porque no queda claro cuántos grupos nulos hay en cada lado.
Los ceros iniciales en un grupo pueden ser omitidos:
2001:0DB8:02de::0e13 2001:DB8:2de::e13
Si la dirección es una dirección IPv4 camuflada, los últimos 32 bits pueden escribirse en base decimal; así,
::ffff:192.168.89.9 ::ffff:c0a8:5909
No se debe confundir con:
::192.168.89.9 ::c0a8:5909
El formato ::ffff:1.2.3.4 se denomina dirección IPv4 mapeada, y el formato ::1.2.3.4 dirección IPv4 compatible.
Las direcciones IPv4 pueden ser transformadas fácilmente al formato IPv6. Por ejemplo, si la dirección decimal IPv4 es 135.75.43.52 (en hexadecimal, 0x874B2B34), puede ser convertida a 0000:0000:0000:0000:0000:0000:874B:2B34 o ::874B:2B34. Entonces, uno puede usar la notación mixta dirección IPv4 compatible, en cuyo caso la dirección debería ser ::135.75.43.52. Este tipo de dirección IPv4 compatible casi no está siendo utilizada en la práctica, aunque los estándares no la han declarado obsoleta.
Identificación de los tipos de direcciones
Los tipos de direcciones IPv6 pueden identificarse tomando en cuenta los primeros bits de cada dirección.
- ::
- la dirección con todo ceros se utiliza para indicar la ausencia de dirección, y no se asigna ningún nodo.
- ::1
- 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
- La dirección IPv4 compatible se usa como un mecanismo de transición en las redes duales IPv4/IPv6. Es un mecanismo obsoleto.
- ::ffff:0:0
- La dirección IPv4 mapeada es usada como un mecanismo de transición en terminales duales.
- fe80::
- El prefijo de enlace local (< 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 (< 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::
- El prefijo de multicast es usado para las direcciones multicast.
Hay que resaltar que las direcciones de difusión (< inglés broadcast) no existen en IPv6, aunque la funcionalidad que prestan puede emularse utilizando la dirección multicast FF01::1, denominada todos los nodos (< inglés all nodes)
Paquetes IPv6
![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/IPv6_header_rv1.png/300px-IPv6_header_rv1.png)
Un paquete en IPv6 está compuesto principalmente de dos partes: la cabecera y los datos.
La cabecera está en los primeros 40 bytes (320 bits) del paquete y contiene las direcciones de origen y destino (128 bits cada una), la versión de IP (4 bits), la 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), y límite de saltos (8 bits, Tiempo de Vida). Después viene el campo de datos, con los datos que transporta el paquete, que puede llegar a 64k de tamaño en el modo normal, o más con la opción "jumbo payload".
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: 4 bits han sido reasignados desde "etiqueta de flujo" (flow label) a "clase de tráfico" (traffic class). El resto de diferencias son menores.
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 se salen 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 una cabecera de encaminamiento es la siguiente en venir. 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).
Cabeceras de extensión de IPv6
El uso de un formato flexible de cabeceras de extensión opcionales es una idea innovadora que permite ir añadiendo funcionalidades de forma paulatina. Este diseño aporta gran eficacia y flexibilidad ya que se pueden definir en cualquier momento a medida que se vayan necesitando entre la cabecera fija y la carga útil.
Hasta el momento, existen 8 tipos de cabeceras de extensión, donde la cabecera fija y las de extensión opcionales incluyen el campo de cabecera siguiente que identifica el tipo de cabeceras de extensión que viene a continuación o el identificador del protocolo de nivel superior. Luego las cabeceras de extensión se van encadenando utilizando el campo de cabecera siguiente que aparece tanto en la cabecera fija como en cada una de las citadas cabeceras de extensión. Como resultado de la secuencia anterior, dichas cabeceras de extensión se tienen que procesar en el mismo orden en el que aparecen en el datagrama. La Cabecera principal, tiene al contrario que la cabecera de la versión IPv4 un tamaño fijo de 40 octetos.
Todas o parte de estas cabeceras de extensión tienen que ubicarse en el datagrama en el orden especificado:
- Cabecera de opciones de salto a salto (Hop-by-Hop), transporta información opcional, contiene los datos que deben ser examinado por cada nodo (cualquier sistema con IPv6) a través de la ruta de envío de un paquete. Su código es 0.
- Cabecera de encaminamiento (Routing), se utiliza para que un origen IPv6 indique uno o más nodos intermedios que se han de visitar en el camino del paquete hacia el destino. El código que utiliza es 43.
- Encaminamiento desde la fuente.
- Cabecera de fragmentación (Fragment), hace posible que el origen envíe un paquete más grande de lo que cabría en la MTU de la ruta (unidad máxima de transferencia). Hay que tener en cuenta que al contrario que en IPv4, en IPv6 la fragmentación de un paquete solo se puede realizar en los nodos de origen. El código empleado en esta cabecera es 44.
- Cabecera de autenticación (Authentication Header), nos sirve para proveer servicios de integridad de datos, autenticación del origen de los datos, antireplay para IP. El código de esta cabecera es 51.
- Cabecera de encapsulado de seguridad de la carga útil (Encapsulating Security Payload), permiten proveer servicios de integridad de datos. El código al que hace referencia esta cabecera es el 50.
- Cabecera de opciones para el destino (Destination Options), se usa para llevar información opcional que necesita ser examinada solamente por los nodos destino del paquete. Esta cabecera utiliza el código 60.
- No Next Header, Utiliza el código 59
Cada cabecera de extensión debe aparecer como mucho una sola vez, salvo la cabecera de opción destino, que puede aparecer como mucho dos veces, una antes de la cabecera encaminamiento y otra antes de la cabecera de la capa superior.
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 la arquitectura IPv6 estaba siendo diseñada. 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.
Despliegue de IPv6
El 20 de julio de 2004 la ICANN anunció que los servidores raíz de DNS de Internet habían sido modificados para soportar ambos protocolos, IPv4 e IPv6.
Desventajas
- La necesidad de extender un soporte permanente para IPv6 a través de todo Internet y de los dispositivos conectados a ella.
- Para estar enlazada al universo IPv6 durante la fase de transición, todavía se necesita una dirección IPv4 o algún tipo de NAT (compartición de direcciones IP) en los routers pasarela (IPv6<-->IPv4) que añaden complejidad y que significa que el gran espacio de direcciones prometido por la especificación no podrá ser inmediatamente usado.
- Problemas restantes de arquitectura, como la falta de acuerdo para un soporte adecuado de IPv6 multihoming.
Ventajas
- Convivencia con IPv4, que hará posible una migración suave.
- Gran cantidad de direcciones, que hará virtualmente imposible que queden agotadas. Se estima que si se repartiesen en toda la superficie de la Tierra habría 6,67x1023 IPs por m².
- Direcciones unicast, multicast y anycast.
- Formato de cabecera más flexible que en IPv4 para agilizar el encaminamiento.
- Nueva etiqueta de flujo para identificar paquetes de un mismo flujo.
- No se usa checksum.
- La fragmentación se realiza en el nodo origen y el reensamblado se realiza en los nodos finales, y no en los routers como en IPv4.
- Nuevas características de seguridad. IPSEC formará parte del estándar.
- Nueva versión de ICMP, que incluye a MLD, el equivalente del IGMP de IPv4.
- Auto-configuración de los nodos finales, que permite a un equipo aprender automáticamente una dirección IPv6 al conectarse a la red.
- Movilidad incluida en el estándar, que permitirá cambiar de red sin perder la conectividad.
Mecanismos de transición a IPv6
Ante el agotamiento de las direcciones IPv4, el cambio a IPv6 ya ha comenzado. Durante 20 años se espera que convivan ambos protocolos y que la implantación de IPv6 sea paulatina. 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:
- Pila dual
- Túneles
- Traducción
La pila dual hace referencia a una solución de nivel IP con pila dual (RFC 2893), que implementa las pilas de ambos protocolos, IPv4 e IPv6, en cada nodo de la red. Cada nodo de pila dual en la red tendrá dos direcciones de red, una IPv4 y otra IPv6.
- Pros: Fácil de desplegar y extensamente soportado.
- Contras: 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, los paquetes IPv6 pueden ser enviados 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 solo IPv4 intenta comunicar con un nodo solo IPv6. Los mecanismos de traducción pueden ser divididos en dos grupos basándonos en si la información de estado está guardada:
- Con estado: NAT-PT[1], TCP-UDP Relay[2], Socks-based Gateway[3]
- Sin estado: Bump-in-the-Stack, Bump-in-the-API[4]
Actualmente el protocolo IPv6 está soportado en la mayoría de los sistemas operativos modernos, en algunos casos como una opción de instalación. Linux, Solaris, Mac OS, NetBSD, OpenBSD, FreeBSD, Windows (2000, XP y VISTA de forma nativa) y Symbian (dispositivos móviles) son sólo algunos de los sistemas operativos que pueden funcionar con IPv6.
Anuncios importantes sobre IPv6
- En 2003, Nihon Keizai Shimbun informa que Japón, China y Corea del Sur han tomado la determinación de convertirse en las naciones líderes en la tecnología de Internet, que conjuntamente han dado forma parcialmente al desarrollo de IPv6, y que lo adoptarán completamente a partir de 2005.
- ICANN anunció el 20 de julio de 2004 que los registros AAAA de IPv6 para Japón (.jp) y Corea (.kr) de código de país ya son visibles en los servidores raíz de DNS. El registro IPv6 para Francia fue añadido poco después.
- El 4 de febrero del 2008 se añade a los servidores raíz de la red (Master Address books) un pequeño número de registros que están escritos en IP versión 6 (IPv6).Esto significa que, por primera vez, las computadoras utilizando IPv6, por lo general, una PC y un servidor, cada una puede encontrar a la otra sin la participación de toda la tecnología IPv4.
- Desde el 2006 muchos sistemas operativos han estado trabajando IPv6 paralelamente con IPv4, sistemas como GNU/Linux, MAC, Unix y Windows. En 2008 Las redes empresariales que cuenten con Servidores Windows Server 2008 y a Windows Vista como "Cliente" ya utilizaran el protocolo IPv6 para comunicarse entre sí prescindiendo de la tecnologia IPv4, que solo es utilizada para comunicaciones a Internet.