Direcci€n IPv6
1
Direcci€n IPv6 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 [1]
multicast.
† Una dire direcci cci€n €n unic unicast ast identi identific ficaa un ‚nico interface de red. El protocolo de Internet entrega los paquetes enviados a una direcci€n unicast al interface espec…fico. † Una dire direcci cci€n €n anyc anycast ast es es asign asignada ada a
Descomposici€n de una direcci€n IPv6 en hexadecimal y binario.
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 direcci€n multicast multicast tambi•n tambi•n es usada por m‚ltiples m‚ltiples hosts, que consiguen consiguen la direcci€n direcci€n multicast multicast participand participando o 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.
Direcci€n IPv6
2
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)
campo routing prefix
16 (o menos)
64
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
campo
prefix
flags
4
112
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.
Direcci€n IPv6
3
Flags de la direcci€n Multicast Flag
0
1
[2] Rendezvous point not embedded (traducci€n necesaria) Rendezvous point embedded (traducci€n necesaria) R (Rendezvous) [3] P (Prefijo) T (Transitoria)
Sin informaci€n de prefijo [4]
Direcci€n basada en prefijo de red
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)[5][6] 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.
[7]
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 [8]
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.
[1]
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. Con esta regla, reducir…amos a‚n m„s la direcci€n ejemplo:
2001:db8:85a3::8a2e:370:7334
Direcci€n IPv6
4
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
2001:db8:1234::/48
red
comienza
2001:0db8:1234:0000:0000:0000:0000:0000
y
en
la
direcci€n
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 ---- Red ----- ---------
€
Direcci€n de red sin comprimir
Host ---------
2001:0db8:1234 :0000:0000:0000:0000:0000
€
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 pr efijo de encaminamiento de una direcci€n de interface mediante notaci€n CIDR. Por ejemplo, un interface con direcci€n 2001:db8:a::123
perteneciente 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 2
128
•
48
80
=2
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 [9]
red.
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/
Direcci€n IPv6
5
Direcciones IPv6 literales en rutas UNC En sistemas operativos Microsoft Windows, las direcciones IPv4 son identificadores v„lidos en rutas UNC (Uniform Naming Convention). Un ejemplo de ruta UNC utilizando direcci€n IPv4 ser…a:
\\192.168.0.1\CarpetaCompartida\Recurso Sin embargo, el car„cter dos puntos es ilegal en una ruta UNC. Por tanto, el uso de direcciones IPv6 es tambi•n ilegal en rutas UNC. Por este motivo, Microsoft ha implementado un algoritmo de sustituci€n para representar direcciones IPv6 como nombres de dominio, que s… pueden usarse en rutas UNC. Microsoft registr€ y reserv€ el dominio ipv6-literal.net en Internet. Las direcciones IPv6 se transcriben como subdominio dentro de ese espacio de nombres, del siguiente modo:
2001:db8:85a3:8d3:1319:8a2e:370:7348 es traducido a:
2001-db8-85a3-8d3-1319-8a2e-370-7348.ipv6-literal.net lo que dar…a lugar a una ruta UNC del tipo:
\\2001-db8-85a3-8d3-1319-8a2e-370-7348.ipv6-literal.net\CarpetaCompartida\Recurso Esta notaci€n es resuelta autom„tica por el software de Microsoft sin hacer peticiones a servidores DNS. Si la direcci€n IPv6 contiene un …ndice de zona, es aƒadida a la direcci€n despu•s del car„cter 's':
fe80--1s4.ipv6-literal.net
‚mbito de direcciones IPv6 Toda direcci€n IPv6, excepto la direcci€n indefinida (::), tiene un "„mbito" (scope en ingl•s),
[10]
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 „mbitos definidos actualmente son:
‚mbito direcci€n IPv6 Multicast Valor
‚mbito ( scope)
0x0
reserved
0x1
interf ace- lo cal
Descripci€n
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
0x4
admin-local
Los „mbitos de enlace-local y site-local abarcan las mismas regiones que los „mbitos unicast correspondientes. 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
0x8
organization-local El „mbito de organization-local abarca multiples ubicaciones que pertenecen a la misma organizaci€n.
0xe
global
0xf
reserved
Los „mbitos de enlace-local y site-local abarcan las mismas regiones que los „mbitos unicast correspondientes.
Direcci€n IPv6
6
Espacio de direccionamiento IPv6 Asignaci€n general El Internet Architecture Board (Comit• de Arquitectura de Internet) y el Internet Engineering Steering Group (Direcci€n de Ingenier‚a de Internet) delegaron la asignaci€n del direccionamiento IPv6 en la Internet Assigned [11]
Numbers Authority (IANA).
Su funci€n principal es la asignaci€n de grandes bloques de direcciones a los
Registros Regionales de Internet (RIRs por sus siglas en ingl•s), que tienen la tarea de asignar trozos menores a Proveedores de Internet u otros registros locales. IANA ha mantenido la lista oficial de las asignaciones del espacio de direcciones IPv6 desde diciembre de 1995.
[12]
Actualmente, s€lo la octava parte del espacio total de dir ecciones est„n disponibles para su uso en Internet. La mayor parte de las direcciones IPv6 est„n reservadas para uso futuro. Para conseguir agregaci€n de rutas, reduciendo as… el tamaƒo de las tablas de rutas de Internet, el rango 2000::/3 se asigna a los RIRs en grandes bloques desde /23 hasta /12.
[13]
Los RIRs asignan rangos menores a ISPs, que luego distribuyen en bloques de /48 a sus clientes. Los registros de asignaciones globales pueden encontrarse en los RIRs u otros webs.
[14]
Las direcciones IPv6 se asignan a las organizaciones en bloques mucho mayores a las asignaciones IPv4; la asignaci€n recomendada es un rango /48, que es 2
48
14
€ 2.8‡10
veces mayor que el direccionamiento IPv4
completo. A pesar de ello, el conjunto total es suficiente para el futuro previsible, pues hay 2
128
€ sobre 3.4‡10
38
direcciones IPv6. Cada RIR puede dividir cada uno de sus bloques /23 en 512 bloques /32, normalmente uno para cada ISP. Un ISP puede dividir cada uno de sus rangos /32 en 65.536 bloques /48, normalmente uno para cada cliente. Los clientes pueden crear 65.536 redes /64 con su asignaci€n /48, teniendo cada red un n‚mero de direcciones que es el cuadrado de todo el espacio de direcciones IPv4, que s€lo ten…a 2
32
9
€ 4.3‡10 direcciones.
Tal y como se ha diseƒado, s€lo una pequeƒa fracci€n del espacio de direcciones se utilizar„n realmente. El amplio espacio de direcciones asegura que pr„cticamente siempre habr„ disponibilidad, lo que convertir„ a la traducci€n de direcciones (NAT) en innecesaria desde un punto de vista de direccionamiento. NAT se utiliza actualmente sobre todo para aliviar el agotamiento de las direcciones IPv4, pero tambi•n tiene aspecto econ€mico ya que el alquiler de direcciones IP tiene un coste. Desde un punto de vista de la seguridad evita exponer informaci€n de estructura y gesti€n interna de red hacia internet.
Direcciones anycast reservadas La direcci€n m„s baja de cada subred (identificador de interface todo a ceros) est„ reservada como direcci€n anycast subnet-router (subred de router). Las aplicaciones pueden utilizar esta direcci€n destino para hablar con alg‚n router
de la subred, garantizando IPv6 que estos paquetes son entregados ‚nicamente a un router de la subred. Las 128 direcciones m„s altas de cada subred /64 est„n reservadas como direcciones anycast.
[15]
Estas direcciones
suelen tener los 57 primeros bits del identificador de interface a 1, seguidos de 7 bits de identificador anycast. Los prefijos de red, incluidos subredes, requieren tener 64 bits de longitud, en cuyo caso el bit universal/local debe ser puesto a 0 para indicar que la direcci€n no es globalmente ‚nica. Si la direcci€n tiene el valor 0x7e en los 7 bits menos significativos, se define como una direcci€n anycast de home agent (agente inicial) en IP M€vil. La direcci€n con los 7 bits menos significativos a 1 (valor 0x7f) est„ reservada y no puede ser usada. No hay m„s asignaciones, por lo que los valores desde 0x00 hasta 0x7d est„n reservados tambi•n.
Direcci€n IPv6
7
Direcciones especiales Existe direcciones con un significado especial en IPv6:
[16]
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, [17]
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).
Direcci€n IPv6
8
† 64:ff9b::/96 ‚ El prefijo "Well-Known" (ya conocido). Este prefijo se utiliza para traducciones autom„ticas [18]
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
[19]
IANA ha reservado un bloque de direcciones llamado 'Sub-TLA ID'
[20]
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). [21]
† 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). [22]
† 2001:10::/28 ‚ ORCHID (Overlay Routable Cryptographic Hash Identifiers ).
Son direcciones IPv6
no-enrutables usadas para identificadores criptogr„ficos Hash. Documentaci€n [23]
† 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 [24]
192.0.2.0/24 , 198.51.100.0/24 , y 203.0.113.0/24 en IPv4.) Direcciones obsoletas Vea al final las notas hist€ricas.
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 [25]
Authority (IANA).
A continuaci€n se muestran algunas de las m„s usuales: Direcci€n ff0X::1
Descripci€n
‚mbitos disponibles
Direcci€n all-nodes (todos los nodos). Identifica al
Disponible en el „mbito (scope) 1 (interface-local)
grupo de todos los nodos IPv6
y 2 (link-local): † ff01::1
€
Todos los nodos en el interface
€
Todos los nodos en el enlace local
local † ff02::1
ff0X::2
Direcci€n all-routers (todos los routers). Identifica al
Disponible en el „mbito (scope) 1 (interface-local),
grupo de todos los routers IPv6
2 (link-local) y 5 (site-local): † ff01::2
€
Todos los routers en el interface
€
Todos los routers en el enlace
€
Todos los routers en el site-local
local † ff02::2 local † ff05::2
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
Direcci€n IPv6
9
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
2 (enlace-local)
abajo
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 [26]
(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 subred
[27]
Los 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 bit Universal/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/64
en 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.
Direcci€n IPv6
10
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 los routers 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.
[28]
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 [29]
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.
Direcci€n IPv6
11
Selecci€n automƒtica de direcci€n Los interfaces de red habilitados para IPv6 tienen normalmente m„s de una direcci€n IPv6, por ejemplo una direcci€n de enlace-local y una direcci€n global, o direcciones permanentes versus temporales. IPv6 introduce los conceptos de alcance y preferencia, dando m‚ltiples opciones para seleccionar la direcci€n origen y destino en comunicaciones con otros hosts. El algoritmo de selecci€n de preferencia,
[30]
que elige la direcci€n m„s apropiada para usar en la comunicaci€n con
un destino concreto (incluyendo el uso de direcciones IPv4-mapeadas en implementaciones de doble pila) est„ basado en una tabla de preferencias configuradas por el usuario, que asocia cada prefijo de red con un nivel de prioridad. La tabla por defecto ser…a como la siguiente:
Tabla de Pol„ticas de Prefijos Prefijo
Prioridad Etiqueta
::1/128
50
0
::/0
40
1
2002::/16
30
2
::/96
20
3
::ffff:0:0/96
10
4
En una configuraci€n por defecto, IPv6 tendr„ mayor prioridad que IPv4, y tambi•n utilizar„ direcciones destino con el „mbito m„s pequeƒo posible, de modo que las comunicaciones de enlace-local son preferidas a caminos globales cuando ambos sean igualmente adecuados. La tabla de pol…ticas de prefijos es similar a una tabla de rutas, con el valor de prioridad haciendo de coste de enlace y donde mayor preferencia es expresada como un valor mayor. Las direcciones origen candidatas se obtienen del Sistema Operativo, y las direcciones destino candidatas pueden ser consultadas v…a Domain Name System (DNS). Despu•s se cruzan con la tabla de pol…ticas de prefijos, seleccionando el prefijo de mayor n‚mero de bits de entre las entradas donde la direcci€n IPv6 hace match.
Direcciones de Enlace-Local e …ndice de Zonas Debido a que todas las direcciones de enlace-local en un host tienen un prefijo com‚n, no se pueden utilizar los procedimientos normales de encaminamiento para elegir el interface de salida en el env…o de paquetes a un destino de enlace-local. Se necesita de un identificador especial, conocido como zone index (…ndice de zona), para proveer informaci€n de encaminamiento adicional; en el caso de direcciones de enlace-local, los …ndices de zona corresponden a identificadores de interface. Al escribir textualmente una direcci€n, aƒadimos el …ndice de zona a la direcci€n separado por un signo de porcentaje (%). La sintaxis actual de los …ndices de zona depende del sistema operativo: † La pila IPv6 en Microsoft Windows utiliza …ndices de zona num•ricos, p.ej. fe80::3%1 . El …ndice se establece por el n‚mero de interface. † La mayor…a de sistemas Unix (p.ej. BSD, Linux, Mac OS X) usa el nombre de interface como …ndice de zona:
fe80::3%eth0 . La notaci€n de …ndice de zona causa conflictos de sintaxis al usar la direcci€n para URIs o URLs, debido a que el car„cter '%' se utiliza para el paso de par„metros.
[31]
Direcci€n IPv6
12
Direcciones IPv6 en el DNS Mediante el Domain Name System, los hostnames se mapean a direcciones IPv6 por registros AAAA, tambi•n llamados registros cuƒdruple-A. IETF ha reservado el dominio ip6.arpa para la resoluci€n inversa de DNS, dividiendo el espacio de nombres jer„rquicamente por cada d…gito hexadecimal de la direcci€n IPv6. Esta traducci€n se define en el RFC 3596. De igual modo que en IPv4, cada host est„ representado en el DNS por dos registros, un registro directo ( address record ) y un registro de resoluci€n inversa. Por ejemplo, un equipo llamado servidor en la zona ejemplo.es' tiene la direcci€n local „nica fdda:5cc1:23:4::1f . Su registro cu„druple-A es
servidor.ejemplo.es.
IN
AAAA
fdda:5cc1:23:4::1f
y su resoluci€n inversa es f.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.0.0.0.3.2.0.0.1.c.c. 5.a.d.d.f.ip6.arpa.
IN
PTR
servidor.ejemplo.es.
Este registro inverso puede definirse en varias zonas, dependiendo de la cadena de delegaci€n en la zona d.f.ip6.arpa. El DNS es independiente del protocolo de transporte. Las peticiones y respuestas pueden ser transmitidas sobre IPv6 o Ipv4, independientemente del tipo de informaci€n transportada.
Campos registro AAAA NAME
Nombre de Dominio
TYPE
AAAA (28)
CLASS
Internet (1)
TTL
Tiempo de vida en segundos
RDLENGTH Longitud del campo RDATA RDATA
Direcci€n IPv6 en formato texto
Transici€n Desde 2009, muchos dispositivos NAT y routers en los hogares todav…a gestionan incorrectamente los registros [32]
AAAA.
Algunos de ellos simplemente desechan las peticiones DNS a estos registros, en lugar de devolver una
respuesta negativa apropiada. Debido a que la petici€n es desechada, el host debe esperar el timeout de esa petici€n. Esto, a menudo, causa una percepci€n de lentitud en la conexi€n de hosts IPv6.
Notas hist€ricas † El prefijo site-local fec0::/10 especifica que la direcci€n es v„lida ‚nicamente dentro de la red de una organizaci€n. Formaba parte de la arquitectura de direccionamiento original fue desaconsejado en septiembre de 2004,
[34]
[33]
en diciembre de 1995, pero su uso
pues la definici€n del t•rmino ingl•s site era ambigua provocando
reglas de routing confusas. Las nuevas redes no deb…an soportar este tipo especial de direcciones. En octubre de 2005, una nueva especificaci€n
[35]
sustituy€ este tipo de direcciones por las direcciones locales „nicas .
† El bloque de direcciones 0200::/7 fue definido como un prefijo OSI NSAP-mapped en agosto de 1996, pero fue eliminado en diciembre de 2004.
[36][37]
[38]
† El prefijo de 96-bits a cero ::/96, conocido originalmente como direcciones IPv4-compatibles , fue mencionado en 1995 pero descrito por primera vez en 1998. Esta clase de direcciones se usaba para representar direcciones IPv4 dentro de tecnolog…a IPv6, facilitando la transici€n. Era una direcci€n IPv6 con sus primeros (m„s significativos) 96 bits a cero, mientras que los ‚ltimos 32 bits eran la direcci€n IPv4 que representaban. En
Direcci€n IPv6
13
febrero de 2006 la Internet Engineering Task Force (IETF) ha desaconsejado la utilizaci€n de direcciones IPv4-compatibles. El ‚nico uso que se mantiene de este formato de direcci€n es al representar una direcci€n IPv4 en una tabla o base de datos con campos de tamaƒo fijos, que tambi•n deben ser capaces de almacenar direcciones IPv6. † La resoluci€n inversa de direcciones IPv6 se configuraba originalmente en el Domain name system (DNS) en la zona ip6 , bajo el dominio principal .int. La intenci€n inicial era que el dominio .arpa fuese movido dentro de .int , pero se desech€ en el aƒo 2000 por la Internet Architecture Board (IAB). Por ello, el registro inicial bajo ip6.int deb…a moverse a ip6.arpa . La IAB lo formaliz€ en agosto de 2001.
[39]
La zona ip6.int
fue oficialmente eliminada el 6 de junio de 2006. []
† Se reserv€ el bloque de direcciones 3ffe::/16 para pruebas de la red 6bone en diciembre de 1998. Antes de eso se utilizaba el rango de direcciones 5F00::/8 . Ambos rangos fueron liberados en junio de 2006, con la defunci€n del proyecto 6bone.
[40]
Referencias [1] RFC 4291, IP Version 6 Addressing Architecture, R. Hinden, S. Deering (February 2006) [2] RFC 3956 [3] RFC 3306 [4] RFC 4291 [5] RFC 3306, Unicast-Prefix-based IPv6 Multicast Addresses, B. Haberman, D. Thaler (August 2002) [6] RFC 3956, Embedding the Rendezvous Point (RP) Address in an IPv6 Multicast Address P. Savola, B. Haberman (November 2004) [7] RFC 4489, A Method for Generating Link-Scoped IPv6 Multicast Addresses, J-S. Park, M-K. Shin; H-J. Kim (April 2006) [8] RFC 5952, "A Recommendation for IPv6 Address Text Representation", S. Kawamura, M. Kawashima, (August 2010) [9] RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, T. Berners-Lee, R. Fielding, L. Masinter (January 2005) [10] RFC 4007, IPv6 Scoped Address Architecture, S.Deering, B. Haberman, T. Jinmei, E. Nordmark, B. Zill (March 2005) [11] RFC 1881, IPv6 Address Allocation Management , Internet Architecture Board (December 1995) [12] IPv6 address space at IANA (http:/ / www.iana.org/ assignments/ ipv6-address-space) [13] IPv6 unicast address assignments (http:/ / www.iana.org/ assignments/ ipv6-unicast-address-assignments/ ipv6-unicast-address-assignments.xhtml), IANA [14] por ejemplo, SIXXS Ghost Route Hunter (http:/ / www.sixxs.net/ tools/ grh/ dfp/ all/ ) [15] RFC 2526, Reserved IPv6 Subnet Anycast Addresses, D. Johnson, S. Deering (March 1999) [16] RFC 5156, Special-Use IPv6 Addresses, M. Blanchett (April 2008) [17] RFC 1978, Address Allocation for Private Internets, Y. Rekhter, B. Moskowitz, D. Karrenberg, G.J. De Groot, E. Lear (February 1996) [18] RFC 6052, "IPv6 Addressing of IPv4/IPv6 Translators", C. Bao, C. Huitema, M. Bagnulo, M. Boucadair, X. Li, (October 2010) [19] RFC 4773, Administration of the IANA Special Purpose IPv6 Address Block , G. Huston (December 2006) [20] RFC 2928, Initial IPv6 Sub-TLA ID Assignments, R. Hinden, S. Deering, R. Fink, T. Hain (September 2000) The Internet Society [21] RFC 5180, IPv6 Benchmarking Methodology for Network Interconnect Devices, C. Popoviciu, A. Hamza, G. Van de Velde, D. Dugatkin (May 2008) [22] RFC 4843 (experimental), An IPv6 Prefix for Overlay Routable Cryptographic Hash Identifiers (ORCHID), P. Nikander, J. Laganier, F. Dupont (April 2007) [23] RFC 3849, IPv6 Address Prefix Reserved for Documentation, G. Huston, A. Lord, P. Smith (July 2004) [24] RFC 5737, IPv4 Address Blocks Reserved for Documentation, J. Arkko, M. Cotton, L. Vegoda (January 2010), ISSN: 2070-1721 [25] IANA Internet Protocol Version 6 Multicast Addresses (http:/ / www.iana.org/ assignments/ ipv6-multicast-addresses). Internet Assigned Numbers Authority. [26] RFC 4862, IPv6 Stateless Address Autoconfiguration, S. Thomson, T. Narten, T. Jinmei (September 2007) [27] RFC 4861, Neighbor Discovery for IP version 6 (IPv6), T. Narten, E. Nordmark, W. Simpson, H. Holiman (September 2007) [28] The privacy implications of stateless IPv6 addressing (http:/ / portal.acm.org/ citation.cfm?id=1852723&dl=GUIDE&coll=GUIDE& CFID=103687796&CFTOKEN=17254293) [29] RFC 4941, Privacy Extensions for Stateless Address Autoconfiguration in IPv6 , T. Narten, R. Draves, S. Krishnan (September 2007) [30] RFC 3484, Default Address Selection for Internet Protocol version 6 (IPv6), R. Draves, The Internet Society (February 2003) [31] Formats for IPv6 Scope Zone Identifiers in Literal Address Formats (http:/ / tools.ietf.org/ html/ draft-fenner-literal-zone-02) [32] RFC 4074 Common Misbehavior Against DNS Queries for IPv6 Addresses, Y. Morishita, T. Jinmei. May 2005. [33] RFC 1884, IP Version 6 Addressing Architecture, R. Hinden, S. Deering () [34] RFC 3879, Deprecating Site Local Addresses, C. Huitema, B. Carpenter () [35] RFC 4193, Unique Local IPv6 Unicast Addresses, R. Hinden, B. Haberman () [36] RFC 4147, Proposed Changes to the Format of the IANA IPv6 Registry, G. Houston ()
Direcci€n IPv6
[37] RFC 1888, OSI NSAPs and IPv6 , J. Bound, B. Carpenter, D. Harrington, J. Houldsworth, A. Lloyd () [38] RFC 4048, UNIQ-nowiki-0-3d4a8b4b4bd4c6a0-QINU Is Obsolete, B. Carpenter () [39] RFC 3152, Delegation of IP6.ARPA, R. Bush () [40] RFC 3701, 6bone (IPv6 Testing Address Allocation) Phaseout , R. Fink, R. Hinden ()
14
Fuentes y contribuyentes del art…culo
Fuentes y contribuyentes del art„culo Direcci€n IPv6 Fuente: http://es.wikipedia.org/w/index.php?oldid=69316878 Contribuyentes: -jem-, Grillitus, Jerowiki, Jkbw, Kizar, Mtorrecilla, 18 ediciones an€nimas
Fuentes de imagen, Licencias y contribuyentes Archivo:Ipv6_address-es.svg Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Ipv6_address-es.svg Licencia: Public Domain Contribuyentes: Ipv6_address.svg: Indeterminate derivative work: ‚ LordTLordT, Disc. LordT
Licencia Creative Commons Attribution-Share Alike 3.0 //creativecommons.org/licenses/by-sa/3.0/
15