Una Dirección de Internet Protocol Versión 6 (Dirección IPv6) es una etiqueta numérica usada para identificar un interfaz de red (elemento de comunicación/conexión) de un ordenador o nodo de red participando en una red IPv6.
Las direcciones IP se usan para identificar de manera única una interfaz de red de un Host, localizarlo en la red y de ese modo encaminar paquetes IP entre hosts. Con este objetivo, las direcciones IP aparecen en campos de la cabecera IP indicando el origen y destino del paquete.
IPv6 es el sucesor del primer protocolo de direccionamiento de Internet, Internet Protocol versión 4 (IPv4). A diferencia de IPv4, que utiliza una dirección IP de 32 bits, las direcciones IPv6 tienen un tamaño de 128 bits. Por lo tanto, IPv6 tiene un espacio de direcciones mucho más amplio que IPv4.
Tipos de direcciones IPv6
Las direcciones IPv6 se clasifican según las políticas de direccionamiento y encaminamiento más comunes en redes: direcciones unicast, anycast y multicast.
- Una dirección unicast identifica un único interface de red. El protocolo de Internet entrega los paquetes enviados a una dirección unicast al interface específico.
- Una dirección anycast es asignada a un grupo de interfaces, normalmente de nodos diferentes. Un paquete enviado a una dirección anycast se entrega únicamente a uno de los miembros, típicamente el host con menos coste, según la definición de métrica del protocolo de encaminamiento. Las direcciones anycast no se identifican fácilmente pues tienen el mismo formato que las unicast, diferenciándose únicamente por estar presente en varios puntos de la red. Casi cualquier dirección unicast puede utilizarse como dirección anycast.
- Una dirección multicast también es usada por múltiples hosts, que consiguen la dirección multicast participando en el protocolo de multidifusión (multicast) entre los routers de red. Un paquete enviado a una dirección multicast es entregado a todos los interfaces que se hayan unido al grupo multicast correspondiente.
IPv6 no implementa direcciones broadcast. El mismo efecto puede lograrse enviando un paquete al grupo de multicast de enlace-local todos los nodos (all-nodes) ff02::1. Sin embargo, no se recomienda el uso del grupo all-nodes, y la mayoría de protocolos IPv6 usan un grupo multicast de enlace-local exclusivo en lugar de molestar a todos los interfaces de la red.
Formatos de dirección
Una dirección IPv6 está formada por 128 bits. Las direcciones se clasifican en diferentes tipos: unicast, multicast y anycast. Cada uno de los tipos define valores específicos para subgrupos de los 128 bits, asociando dicho valor con las características especiales del tipo.
Formato de dirección Unicast y Anycast
Las direcciones Unicast y anycast generalmente se dividen en dos grupos lógicos: los primeros 64bits identifican el prefijo de red, y son usados para encaminamiento; los últimos 64bits identifican el interface de red del host.
Ejemplo de formato de dirección unicast (el tamaño del routing-prefix es variable) bits 48 (o más) 16 (o menos) 64 campo routing prefix subnet id interface identifier
El prefijo de red (network prefix) (prefijo de encaminamiento o (routing prefix) junto con el identificador de subred o (subnet id)) está situado en los 64 bits más significativos de la dirección ipv6. El tamaño del routing prefix puede variar; un prefijo de mayor tamaño significa un tamaño menor para subnet id. El subnet id permite a los administradores de red definir subredes dentro de la red disponible.
Los 64 bits de identificador del interface (interface identifier) son generados automáticamente con la dirección MAC del interface y el algoritmo EUI-64 modificado, obtenidos de un servidor DHCPv6, establecidos aleatoriamente o asignados manualmente.
Una dirección de enlace-local es una dirección unicast, pero usando un valor específico para el network prefix.
Formato de dirección de enlace-local bits 10 54 64 campo prefijo ceros interface identifier
El campo prefijo contiene el valor binario 1111111010 (fe80::/10). Los 54 ceros siguientes consiguen que el prefijo de red sea el mismo para todas las direcciones locales, y por tanto no enrutable.
Formato de dirección Multicast
Las direcciones Multicast se construyen en función de determinadas reglas, dependiendo de la aplicación.
Formato general de dirección multicast bits 8 4 4 112 campo prefix flags scope group ID valor 11111111 0RPT XXXX
El campo prefix mantiene el valor binario 11111111 para cualquier dirección multicast.
Actualmente se utilizan 3 de los 4 bits del campo flags (flags); el bit de flag más significativo está reservado para uso futuro.
Flag | 0 | 1 |
---|---|---|
R (Rendezvous)3 | Rendezvous point not embedded (traducción necesaria) | Rendezvous point embedded (traducción necesaria) |
P (Prefijo)4 | Sin información de prefijo | Dirección basada en prefijo de red |
T (Transitoria)5 | Dirección multicast mundialmente válida (permanente) | Dirección multicast asignada dinámicamente (temporal) |
Los 4-bits del campo scope (ámbito) se utilizan para indicar dónde la dirección es válida y única.
Hay direcciones multicast especiales, como la Solicited-node:
Formato de dirección multicast Solicited-node bits 8 4 4 79 9 24 campo prefix flags scope ceros unos dirección unicast valor 11111111 0000 0010 00000000...00000000 111111111
Los campos prefix y scope tienen los valores binarios 11111111 y 0010. Las direcciones multicast Solicited-node son construidas a partir de la dirección unicast o anycast, copiando los últimos 24 bits de la dirección unicast o anycast en los últimos 24 bits de la dirección multicast.
Formato de dirección multicast Prefijo-Unicast (unicast-prefix-based) bits 8 4 4 4 4 8 64 32 campo prefix flgs sc res riid plen prefijo de red group ID
Las direcciones multicast de multidifusión (link-scoped) usan un formato parecido.
Representación
Una dirección IPv6 (128 bits) se representa mediante ocho grupos de cuatro dígitos hexadecimales, cada grupo representando 16 bits (dos octetos). Los grupos se separan mediante dos puntos (:). Un ejemplo de dirección IPv6 podría ser:
- 2001:0db8:85a3:0000:0000:8a2e:0370:7334
Los dígitos hexadecimales no son sensibles a mayúsculas/minúsculas, pero se aconseja la utilización de minúsculas.
Esta representación completa puede ser simplificada de varias maneras, eliminando partes de la representación.
- Ceros iniciales
Los ceros iniciales de cada grupo pueden omitirse, aunque cada grupo debe contener al menos un dígito hexadecimal. De ese modo, la dirección IPv6 ejemplo podría escribirse:
- 2001:db8:85a3:0:0:8a2e:370:7334
- Grupos de ceros
Uno o más grupos de ceros pueden ser sustituidos por dos puntos. Esta sustitución puede realizarse únicamente una vez en la dirección. En caso contrario, obtendríamos una representación ambigua. Si pueden hacerse varias sustituciones, debemos hacer la de mayor número de grupos; si el número de grupos es igual, debemos hacer la situada más a la izquierda.9 Con esta regla, reduciríamos aún más la dirección ejemplo:
- 2001:db8:85a3::8a2e:370:7334
La dirección de loopback, 0:0:0:0:0:0:0:1, y la dirección IPv6 indefinida, 0:0:0:0:0:0:0:0, se reducen a ::1 y :: respectivamente.
- Notación decimal con puntos
Durante la transición de Internet de IPv4 a IPv6 será típico operar en entornos de doble direccionamiento (IPv4 e IPv6). Por este motivo se ha introducido una notación especial para expresar direcciones IPv6 que sean IPv4-mapeada o IPv4-compatible, representando los últimos 32 bits de la dirección IPv6 en el formato decimal con puntos usado en IPv4.
Por ejemplo, la dirección IPv6 del tipo IPv4-mapeada ::ffff:c000:280 se puede representar como ::ffff:192.0.2.128, mostrando claramente la dirección IPv4 mapeada dentro de la IPv6.
Redes
Una red IPv6 utiliza un grupo de direcciones IPv6 contiguas, de un tamaño potencia de dos. La parte inicial de las direcciones son idénticas para todos los hosts de una red, y se llama dirección de red o prefijo de encaminamiento (routing prefix). Las direcciones de red se escriben en notación CIDR una red se representa por la primera dirección del grupo (que debe terminar en ceros), una barra invertida (/), y el número de bits del prefijo en decimal. Por ejemplo, la red 2001:db8:1234::/48 comienza en la dirección2001:0db8:1234:0000:0000:0000:0000:0000 y finaliza en 2001:0db8:1234:ffff:ffff:ffff:ffff:ffff.
Veámoslo con mayor detalle:
2001:db8:1234::/48 → Dirección de Red 2001:0db8:1234:0000:0000:0000:0000:0000/48 → Dirección de red sin comprimir ---- Red ----- --------- Host ---------
2001:0db8:1234:0000:0000:0000:0000:0001 → Primera dirección IPv6 de la red 2001:0db8:1234:ffff:ffff:ffff:ffff:ffff → Última dirección IPv6 de la red
Es posible indicar directamente el prefijo de encaminamiento de una dirección de interface mediante notación CIDR. Por ejemplo, un interface con dirección 2001:db8:a::123perteneciente a la subred 2001:db8:a::/64 puede escribirse 2001:db8:a::123/64.
Tamaño del grupo de direcciones
El tamaño del grupo de direcciones se representa únicamente con una barra invertida (/) y el tamaño del prefijo de red en decimal, sin indicar qué direcciones específicas están en el grupo. Por ejemplo, un grupo de direcciones con prefijo de 48 bits se indica /48; este grupo contiene 2128 − 48 = 280 direcciones. Cuanto menor sea el tamaño del prefijo de red, mayor el grupo de direcciones para hosts: un grupo /21 es 8 veces mayor que uno /24.
Direcciones IPv6 literales en recursos de red
Los dos puntos (:) en las direcciones IPv6 pueden entrar en conflicto con otras sintaxis ya establecidas, como URIs y URLs. Los dos puntos se han utilizado tradicionalmente como separación entre una dirección ip y el puerto de red.10 Para solucionar este problema, las direcciones IPv6 literales se encierran entre corchetes cuando es necesario, por ejemplo:
- http://[2001:db8:85a3:8d3:1319:8a2e:370:7348]/
Cuando la URL contiene un número de puerto, la notación es:
- https://[2001:db8:85a3:8d3:1319:8a2e:370:7348]:443/
Ámbito de direcciones IPv6
Toda dirección IPv6, excepto la dirección indefinida (::), tiene un "ámbito" (scope en inglés), que determina en qué partes de la red es válida.En direccionamiento unicast, las direcciones de enlace-local y la dirección de loopback tienen ámbito de enlace local, es decir, deben ser usadas en la red directamente conectada. El resto de direcciones, excepto aquellas privadas, tienen ámbito global (o universal), que significa que son mundialmente enrutables y pueden ser usadas para conectarse a direcciones de ámbito global en cualquier lugar, o a direcciones de ámbito enlace-local en la red directamente conectada.El ámbito de una dirección anycast se define del mismo modo que en las direcciones unicast.Para multicast, los cuatros bits menos significativos del segundo octeto de una dirección multicast (ff0X::) identifican el ámbito, es decir, hasta dónde se propaga el tráfico multicast. Los ámbitos1 definidos actualmente son:Ámbito dirección IPv6 Multicast Valor Ámbito (scope) Descripción 0x0 reserved 0x1 interface-local El ámbito interface-local abarca sólo un único interfaz de un nodo, y es útil sólo para la transmisión loopback del tráfico multicast. 0x2 link-local Los ámbitos de enlace-local y site-local abarcan las mismas regiones que los ámbitos unicast correspondientes. 0x4 admin-local El ámbito admin-local es el más pequeño que debe ser configurado manualmente, es decir, no deriva automáticamente de la conexión física sin relación alguna con multicast. 0x5 site-local Los ámbitos de enlace-local y site-local abarcan las mismas regiones que los ámbitos unicast correspondientes. 0x8 organization-local El ámbito de organization-local abarca multiples ubicaciones que pertenecen a la misma organización. 0xe global 0xf reserved
Direcciones especiales
Direcciones Unicast
- Dirección indefinida
- ::/128 — La dirección con todos sus bits a 0 se llama dirección indefinida (similar a la dirección 0.0.0.0 en IPv4).
Esta dirección no puede nunca ser asignada a ningún interface, pues se utiliza únicamente por el software de una aplicación antes de conocer la dirección origen de una conexión. Los routers no deben encaminar paquetes con la dirección indefinida.
Las aplicaciones pueden escuchar (listen) en uno o más interfaces por nuevas conexiones. Esto puede verse en un listado de conexiones activas con una dupla dirección IP y número de puerto separados por dos puntos. Cuando la aplicación está escuchando (listening) en todos los interfaces disponibles, aparece la dirección indefinida en dicho listado.
- Ruta por defecto
- ::/0 — La ruta por defecto para tráfico unicast (correspondiente a la ruta a 0.0.0.0 con máscara 0.0.0.0 en IPv4).
- Direcciones locales
- ::1/128 — La dirección de loopback es una dirección unicast del localhost. Si una aplicación en un host envía paquetes a esta dirección, la pila IPv6 enviará de vuelta los paquetes al mismo interface virtual (correspondiente a 127.0.0.1 en IPv4).
- fe80::/10 — Las direcciones de prefijo enlace-local (link-local) son válidas (utilizables) y únicas (no repetidas) sólo en la red local. Dentro de este rango de enlace local, sólo se utiliza una subred (54 bits a cero), generando un formato eficaz de fe80::/64. Los 64 bits menos significativos suelen construirse a partir de la dirección hardware del interface en formato EUI-64 modificado. Las direcciones de enlace local son requeridas en todos los interfaces con IPv6 habilitado; por ello, las aplicaciones pueden aprovechar la existencia de direcciones de enlace local aún cuando no haya encaminamiento IPv6. Estas direcciones son comparables a las direcciones de auto-configuración 169.254.0.0/16 en IPv4.
- Dirección local única
- fc00::/7 — Las direcciones locales únicas (ULA's por sus siglas en inglés) se utilizan para comunicaciones locales. Son enrutables sólo dentro de un ámbito cooperativo (similar a los rangos de direcciones privadas 10/8, 172.16/12, y 192.168/16 en IPv4). Las direcciones incluyen una secuencia pseudoaleatoria en el prefijo de encaminamiento (routing prefix) para minimizar el riesgo de conflictos en la interconexión de plataformas diferentes o si los paquetes se desvían a Internet. A pesar del uso restringido y local de estas direcciones, su ámbito es global, es decir, se esperan sean únicas (no repetidas) en todo el mundo.
- Transición de IPv4
- ::ffff:0:0/96 — Este prefijo designa una dirección IPv6 IPv4-mapeada. Salvo pocas excepciones, este tipo de dirección permite el funcionamiento de protocolos de capa de transporte IPv4 en software (APIs) IPv6. Las aplicaciones servidoras sólo tienen que abrir un socket en listening para aceptar conexiones de clientes usando protocolos IPv6 o IPv4. Los clientes IPv6 serán gestionados de modo nativo, mientras que los clientes IPv4 aparecerán como clientes IPv6 cuya dirección es una dirección IPv6 IPv4-mapeada. La transmisión se gestiona de modo similar; los sockets pueden transmitir datagramas IPv4 o IPv6, mediante la conexión a una dirección IPv6 nativa o a una dirección IPv4-mapeada. (Vea también Mecanismos de transición a IPv6.)
- ::ffff:0:0:0/96 — Un prefijo reservado para direcciones IPv4-traducidas, utilizadas por el protocolo Stateless IP/ICMP Translation (SIIT).
- 64:ff9b::/96 — El prefijo "Well-Known" (ya conocido). Este prefijo se utiliza para traducciones automáticas IPv4/IPv6.
- 2002::/16 — Esta red se utiliza para el direccionamiento 6to4. Se utiliza también una dirección de la red IPv4 192.88.99.0/24.
- Direcciones de uso especial
IANA ha reservado un bloque de direcciones llamado 'Sub-TLA ID que consisten en 64 prefijos de red desde 2001:0000::/29 hasta 2001:01f8::/29. Se han realizado tres asignaciones en este bloque:- 2001::/32 — Usado por el protocolo de túneles Teredo (que también cae dentro de la categoría mecanismo de transición IPv6).
- 2001:2::/48 — Asignado a Benchmarking Methodology Working Group (BMWG) para comparativas (benchmarking) en IPv6 (similar a la red 198.18.0.0/15 para comparativas en IPv4).
- 2001:10::/28 — ORCHID (Overlay Routable Cryptographic Hash Identifiers). Son direcciones IPv6 no-enrutables usadas para identificadores criptográficos Hash.
- Documentación
- 2001:db8::/32 — Este prefijo está reservado para documentación. Estas direcciones deben usarse siempre que alguien quiera escribir un ejemplo de dirección IPv6, o se plasmen modelos de red (similar a las redes 192.0.2.0/24, 198.51.100.0/24, y 203.0.113.0/24 en IPv4.)
Direcciones Multicast
Las direcciones multicast ff00::0/12 están reservadas y no deberían utilizarse para ningún grupo multicast. Para ver una lista completa de direcciones IPv6 multicast reservadas se debe visitar a Internet Assigned Numbers Authority (IANA).A continuación se muestran algunas de las más usuales:Dirección Descripción Ámbitos disponibles ff0X::1 Dirección all-nodes (todos los nodos). Identifica al grupo de todos los nodos IPv6Disponible en el ámbito (scope) 1 (interface-local) y 2 (link-local): - ff01::1 → Todos los nodos en el interface local
- ff02::1 → Todos los nodos en el enlace local
ff0X::2 Dirección all-routers (todos los routers). Identifica al grupo de todos los routers IPv6Disponible en el ámbito (scope) 1 (interface-local), 2 (link-local) y 5 (site-local):- ff01::2 → Todos los routers en el interface local
- ff02::2 → Todos los routers en el enlace local
- ff05::2 → Todos los routers en el site-local
ff02::5 OSPFIGP 2 (enlace-local) ff02::6 OSPFIGP Designated Routers 2 (enlace-local) ff02::9 Routers RIP 2 (enlace-local) ff02::a Routers EIGRP 2 (enlace-local) ff02::d Todos los routers PIM 2 (enlace-local) ff0X::fb mDNSv6 Disponible en todos los ámbitos ff0X::101 Todos los servidores de NTP (Network Time Protocol) Disponible en todos los ámbitos ff02::1:1 Link Name 2 (enlace-local) ff02::1:2 All-dhcp-agents 2 (enlace-local) ff02::1:3 Link-local Multicast Name Resolution 2 (enlace-local) ff05::1:3 All-dhcp-servers 5 (site-local) FF02::1:FF00:0000/104 Dirección Solicited-Node. Véase explicación más abajo 2 (enlace-local) FF02:0:0:0:0:2:FF00::/104 Node Information Queries 2 (enlace-local) Dirección multicast Solicited-node
Los 24 bits menos significativos del group ID de una dirección Solicited-Node se rellenan con los 24 bits menos significativos de la dirección unicast o anycast. Estas direcciones permiten la resolución de la dirección de red vía Neighbor Discovery (NDP) en la red sin molestar a todos los hosts conectados (como ocurría con ARP en IPv4). Un host debe unirse (join) a un grupo multicast Solicited-Node para cada una de sus direcciones unicast o anycast.Configuración automática sin estado
Tras el arranque del sistema, un nodo crea automática una dirección de enlace-local en cada interface con IPv6 habilitado, aunque se hayan configurado manualmente u obtenido por DHCPv6 direcciones globales. Esto se realiza de modo automático, y sin ningún tipo de configuración previa gracias a la configuración automática sin estado (SLAAC, stateless address autoconfiguration), usando un componente del Neighbor Discovery Protocol. Esta dirección tendrá el prefijo fe80::/64.Además, el host puede crear una dirección unicast encaminable cuando un router responde a su solicitud de router con una asignación de subredLos 64 bits menos significativos de estas direcciones se rellenan con un identificador de interface de 64 bits en formato EUI-64 modificado. Este identificador se utiliza para todas las direcciones automáticas de ese interface, de modo que sólo se necesita un grupo multicast para unirse al neighbor discovery. Para ello utilizamos una dirección multicast formada a partir del prefijo de red ff02::1:ff00:0/104 y los 24 bits menos significativos de la dirección.EUI-64 Modificado
El identificador de interfaz de 64 bits se deriva comúnmente de los 48 bits de la dirección MAC. Una dirección MAC 00:1D:BA:06:37:64 se convierte en una dirección EUI-64 de 64 bits insertando FF:FE en el medio: 00:1D:BA:FF:FE:06:37:64. Pero modificamos este EUI-64 cuando lo usamos para formar una dirección IPv6: invertimos el bitUniversal/Local (el séptimo bit más significativo del EUI-64), de manera que un 0 en dicho bit del EUI-64 resultará un 1 en el EUI-64 Modificado. Para identificar la interfaz anterior en la red IPv6 2001:db8:1:2::/64 usaríamos la dirección 2001:db8:1:2:021d:baff:fe06:3764 (con el bit subrayado U/L invertido de 0 a 1).La razón de modificar el bit U/L es debido a que cuando asignamos direcciones de modo manual a un interface, es probable que asignemos una del tipo 2001:db8:1:2::1/64en lugar de la menos atractiva e intuitiva 2001:db8:1:2:0200::1/64. Cuando asignamos manualmente direcciones de enlace-local, la necesidad de esta modificación es más evidente: configuraremos manualmente una dirección corta fc80::1 en lugar de una larga fc80:0:0:0:0200::1. En resumen, modificamos EUI-64 para reducir las probabilidades de duplicidad entre direcciones manuales y automáticas.Detección de direcciones duplicadas]
La asignación de una dirección IPv6 unicast a un interface necesita de una prueba interna de su disponibilidad, utilizando los mensajes ICMPv6 tipo 135 (Neighbor Solicitation) y 136 (Neighbor Advertisement). Durante el proceso de verificación de disponibilidad, la dirección tiene un estado de dirección tentativa.El nodo se une a la dirección multicast solicited-node para la dirección tentativa (si no lo ha hecho ya), y envía neighbor solicitations utilizando como dirección origen la dirección indefinida (::/128) y como dirección destino la dirección tentativa. El nodo también se une a la dirección de multicast all-nodes (todos los equipos) ff02::1, por lo que recibirá los anuncios del resto de equipos (Neighbor Advertisements).Si un nodo recibe un solicitud (neighbor solicitation) con su dirección tentantiva como dirección destino, la dirección no es única. Tampoco podrá ser única si el nodo recibe un anuncio (neighbor advertisement) con la dirección tentativa como origen. Tan sólo después de haber verificado que la dirección es única, puede ser usada y asignada a un interface.Tiempo de vida de la dirección
Cada dirección IPv6 vinculada a un interface tiene un tiempo de vida preestablecido. El tiempo de vida es infinito, salvo que se haya configurado un tiempo menor. Hay dos valores que rigen el tiempo de vida de una dirección: preferred lifetime (tiempo preferido) y valid lifetime (tiempo de validez). Estos tiempos de vida pueden configurarse en losrouters que proveen los valores para autoconfiguración, o especificar durante la configuración manual de las direcciones en los interfaces.Cuando se asigna una dirección a un interface tiene el estado preferred (preferido), que mantiene durante su preferred-lifetime. Tras expirar dicho tiempo de vida, el estado pasa a deprecated (obsoleto) y la dirección no podrá usarse para nuevas conexiones. La dirección pasa a invalid (inválida) cuando expira también su valid-lifetime; la dirección se elimina del interface y podrá ser asignada a cualquier host en Internet (está completamente libre).Direcciones temporales
Las estáticas y mundialmente únicas direcciones MAC, usadas por la configuración automática sin estado para crear identificadores de interface, ofrecen una oportunidad para hacer un seguimiento de los equipos y usuarios a través del tiempo y de las distintas redes IPv6. Para reducir la atadura de la identidad del usuario a una porción de dirección IPv6, un host puede crear direcciones temporales con identificadores de interfaces basados en números aleatorios y tiempos de vida relativamente cortos (de horas o días), tras los cuales se reemplazan con nuevas direcciones.Un host puede utilizar direcciones temporales como direcciones origen para conexiones salientes; mientras, el resto de hosts utilizará la dirección pública para acceder a él tras preguntar a DNS.Los sistemas configurados en IPv6 en Windows Vista, Windows Server 2008 o versiones posteriores utilizan direcciones temporales por defecto.
http://es.wikipedia.org/wiki/Direcci%C3%B3n_IPv6
No hay comentarios.:
Publicar un comentario
Nota: sólo los miembros de este blog pueden publicar comentarios.