IPv6

Anuncio
UNIVERSIDAD TECNOLOGICA NACIONAL
UNIVERSIDAD TECNOLOGICA NACIONAL
Facultad Regional Buenos Aires
Direccionamiento en IP versión 6
Tabla de contenidos
1. Introducción y objetivos del tema tratar 3
2. Desarrollo del tema 3
2.1 Tipos de direcciones IPv6 3
2.2 Principios de asignación de direcciones 3
2.3 Asignación de dirección inicial 4
2.4 Direcciones unicast 5
2.4.1 Direcciones unicast basadas en proveedor 5
2.4.2 Direcciones unicast de uso local 6
2.5 Direcciones anycast 6
2.6 Direcciones multicast 7
2.6.1 Direcciones multicast predeterminadas 7
2.7 La transición IPv4 a IPv6 8
2.7.1 Dual IP layer 8
2.7.2 IPv6−over−IPv4 tunneling 9
1
3. Importancia operativa en el área de redes 10
4. Estado y situación actual en el mercado 10
5. Bibliografía 11
1. Introducción y objetivos del tema a tratar
IPv6 es la abreviatura de Internet Protocol
Versión 6. Se trata del protocolo de la nueva
generación, diseñado por la IETF (Internet
Engineering Task Force) para reemplazar la
versión actual del protocolo de internet:
IPv4.
Hoy en día, la mayor parte de las interredes
utilizan el protocolo IPv4, el cual
tiene mas de veinte años de antigüedad. Aunque IPv4 demostró ser elástico y resistente a pesar de los años,
esta comenzando a traer problemas. Principalmente problemas relacionados con la asignación de nuevas
direcciones IP, las cuales resultan necesarias para conectar nuevos host a internet. IPv4 asigna a sus
direcciones 4 bytes (32 bits), y dado el crecimiento exponencial que experimenta internet, el espacio de
direccionamiento que estas direcciones permiten resulta escaso. IPV6 soluciona muchos de los problemas de
IPv4.
El objetivo de este trabajo es explicar el esquema de direccionamiento que implementa IPv6 y que soluciona
ampliamente la limitada disposición de direcciones de la versión actual del protocolo de internet.
2. Desarrollo de tema
2.1 Tipos de direcciones
Las direcciones de IPv6 son identificadores de 128 bits (16 bytes) para interfaces y conjuntos de estas. Existen
tres tipos de direcciones: unicast, anycast y multicast. En IPv6 no hay direcciones de broadcast; su función
es reemplazada por las direcciones multicast.
Las direcciones unicast identifican una única interface. Un paquete enviado a una dirección unicast será
entregado a la interface identificada por dicha dirección.
Las direcciones anycast identifican un conjunto de interfaces, generalmente pertenecientes a diferentes nodos.
Un paquete enviado a una dirección anycast será entregado a una de las interfaces identificadas por la
dirección. En particular a la mas cercana, midiendo la distancia según la métrica que utilice el protocolo de
enrutamiento en uso.
Las direcciones multicast identifican un conjunto de interfaces, generalmente pertenecientes a diferentes
nodos. Un paquete enviado a una dirección multicast será entregado a todas las interfaces identificadas con la
dirección.
2.2 Principios de asignación de direcciones
2
Dado que cada interface pertenece a un solo nodo, su dirección unicast puede ser utilizada como identificador
del nodo al cual la interface esta conectada.
Una dirección unicast IPv6 identifica una única interface. A su vez, esta interface puede tener múltiples
direcciones IPv6 de cualquiera de los tipos de direcciones antes mencionados. Existen dos excepciones:
• Una dirección puede ser asignada a múltiples interfaces físicas si la implementación las trata como una sola
interface cuando las presenta en la capa de internet.
• Los routers pueden tener interfaces no numeradas (que no tengan asignada dirección IPv6) en los enlaces
punto a punto, para eliminar la necesidad de configurar y publicar manualmente sus direcciones.
2.3 Asignación de dirección inicial
IPv6 soporta direcciones cuatro veces mas grandes que las utilizadas por IPv4 (128 bits contra 32 bits de
IPv4). Esto proporciona un espacio de direccionamiento 296 veces el mayor que el que brinda IPv4. Si bien el
espacio de direcciones es extremadamente grande, la asignación y el enrutamiento de las mismas requiere la
utilización de esquemas jerárquicos que reducen la eficiencia del espacio de direccionamiento utilizado. Así y
todo, se estima que en el peor de los casos, las direcciones de 128 bits de IPv6 pueden acomodar 1018 host;
esto es mas de 1500 direcciones por metro cuadrado de la superficie de la tierra.
El tipo especifico de una dirección IPv6 queda determinado por los primeros bits. La asignación actual de los
prefijos se muestra en la siguiente tabla.
Asignación
Prefijo
(binario)
Reservado
No asignado
Reservado para asignación NSAP
Reservado para asignación IPX
No asignado
No asignado
No asignado
No asignado
Dirección unicast basada en proveedor
No asignado
Reservado para direcciones unicast basadas en regiones geográficas
No asignado
No asignado
No asignado
No asignado
No asignado
No asignado
No asignado
Direcciones para el uso del enlace local
Direcciones para el uso del sitio local
Direcciones multicast
0000 0000
0000 0001
0000 001
0000010
0000011
0000 0
00001
001
010
011
100
101
110
1110
1111 0
1111 10
1111 110
1111 1110 0
1111 1110 10
1111 1110 11
1111 1111
Fracción del
espacio de
direcciones
1/256
1/256
1/128
1/128
1/128
1/32
1/16
1/8
1/8
1/8
1/8
1/8
1/8
1/16
1/32
1/64
1/128
1/512
1/1024
1/1024
1/256
3
Hay tres convenciones para representar las direcciones IPv6: la forma preferida (la dirección completa
expresada en valores hexadecimales), la forma comprimida (con omisión de las cadenas de ceros) y la
forma mixta (conveniente para entornos en los que se mezcla IPv4 con IPv6).
La forma preferida tiene el siguiente formato: X:X:X:X:X:X:X:X, donde X es el valor hexadecimal de cada
uno de los ocho conjuntos de 16 bits (en total 128 bits). Algunos ejemplos son:
• FEDC:2A5F:709C:216:AEBC:97:3154:3D12
• 1030:2A9C:0:0:0:500:200C:3A4
Es común que aparezcan direcciones con largas cadenas de ceros. La forma comprimida proporciona una
manera mas sencilla de escribir estas direcciones. Por ejemplo:
• FF08:0:0:0:0:0:209A:61 puede representarse como FF08::209A:61
• 1030:2A9C:0:0:0:500:200C:3A4 puede representarse como 1030:2A9C::500:200C:3A4
• 0:0:0:0:0:0:0:1 puede representarse como ::1
En ambientes donde se mezclan nodos IPv4 con IPv6, la forma de representación de direcciones mas
conveniente resulta ser la forma mixta. Tiene el siguiente formato: X:X:X:X:X:X:D.D.D.D donde las X
representan el valor hexadecimal de los primeros conjuntos de 16 bits y las D son el valor decimal de los 4
conjuntos de 8 bits restantes. Por ejemplo:
• 0:0:0:0:0:0:193.136.239.163 y, en formato comprimido será: ::193.136.239.163
• 0:0:0:0:0:FFFF:129.145.34.10 y, en formato comprimido será: ::FFFF:129.145.34.10
2.4 Direcciones unicast
Hay varias formas de asignación de direcciones unicast en IPv6.
• direcciones unicast basadas en el proveedor global ;
• direcciones unicast basadas en la región geográfica;
• direcciones NSAP
• direcciones jerárquicas IPX;
• direcciones para el uso del sitio local;
• direcciones para el uso del enlace local;
• direcciones de host habilitadas para IPv4.
Los nodos IPv6, dependiendo del rol que cumplan (hosts, routers), deben tener conocimiento de la estructura
interna de la dirección IPv6.
En el caso mas simple, el nodo puede considerar que la dirección unicast no tiene estructura interna (sin
estructura jerárquica).
128 bits (16 bytes)
Dirección del nodo
Hosts mas sofisticados (por ejemplo routers) deben tener conciencia de la jerarquía en las direcciones unicast.
El conocimiento de estos limites diferirá de un nodo a otro, dependiendo del rol del nodo y de su posición en
la jerarquía de la infraestructura. El siguiente es un ejemplo en el que un sitio u organización requiere de
varias capas de jerarquía interna.
s bits
n bits
m bits
128−s−n−m bits
4
Prefijo
ID área
ID subred
ID interface
La dirección 0:0:0:0:0:0:0:0 se llama dirección no especificada y no debe ser asignada a ningún nodo, ya que
indica la ausencia de dirección. Un ejemplo de su uso es enviarla en el campo de dirección fuente en un
datagrama IPv6 para inicializar un host antes de que este tome conocimiento de su propia dirección.
La dirección 0:0:0:0:0:0:0:1 se llama dirección de loopback y puede ser usada para que un nodo se envíe
datagramas IPv6 a si mismo. Esta dirección no debe ser asignada a ninguna interface ni debe ser contenida
como dirección fuente en ningún datagrama IPv6 enviado por la red.
2.4.1 Direcciones unicast basadas en proveedor
Las direcciones unicast basadas en proveedor son usadas para la comunicación global. Tienen el siguiente
formato:
3 bits
010
n bits
ID registro
m bits
ID proveedor
p bits
ID subscriptor
125−n−m−p bits
Intra−subscriptor
Los primeros tres bits identifican la dirección como dirección basada en proveedor. Los siguientes campos
son asignados respectivamente para el registro de autoridades, las que entonces asignan porciones del espacio
de direcciones al proveedor de servicio, quien a su vez asigna porciones del espacio de direcciones a los
subscriptores. La porción de intra−subscriptor se organiza según la topología local de internet del subscriptor.
2.4.2 Direcciones unicast de uso local
Una dirección de uso local es una dirección unicast que solo tiene alcance de enrutamiento local. Hay dos
tipos de direcciones de uso local: enlace local y sitio local.
Las direcciones de tipo enlace local están diseñadas para ser usadas en direccionamiento por un enlace
simple, para propósitos tales como configuración de autodirección, detección de vecinos, o cuando no hay
routers presentes.
Las direcciones de tipo sitio local pueden ser usadas por sitios u organizaciones que no están conectadas a la
red global Internet.
La parte mas baja de ambos tipos de direcciones de uso local contiene un identificador de campo, el cual debe
ser único en el dominio en el cual esta siendo usado. En la mayoría de los casos, este campo contendrá
direcciones de los nodos (de 48 bits IEEE−802).
2.5 Direcciones anycast
Una dirección anycast es una dirección asignada a mas de una interface, generalmente pertenecientes a
diferentes nodos. Un paquete enviado a una dirección anycast será dirigido a la interface mas cercana,
teniendo como medida de distancia la que implemente el protocolo de enrutamiento.
Un uso posible para estas direcciones es identificar un conjunto de routers pertenecientes a un proveedor de
servicios de internet. Otro uso podría ser identificar un conjunto de routers conectados a una subred en
particular.
Las direcciones anycast son asignadas desde el espacio de direcciones unicast utilizando cualquiera de los
formatos definidos para este tipo de direcciones. Así, las direcciones anycast son sintácticamente
indistinguibles de las direcciones unicast. Cuando una dirección unicast es asignada a mas de una interface, se
5
torna una dirección anycast. Los nodos a los cuales la dirección les fue asignada deben ser explícitamente
configurados para que sepan que la dirección es una dirección anycast.
Hasta que se acumule una mayor experiencia en el tema, se imponen las siguientes restricciones a las
direcciones anycast de IPv6:
• no puede usarse una dirección anycast como dirección fuente en un paquete IPv6;
• no puede asignarse una dirección anycast a un host IPv6. O sea, podrán ser asignadas solamente a
routers IPv6.
2.6 Direcciones multicast
Una dirección multicast es un identificador para un grupo de nodos, y su formato es el siguiente:
8 bits
11111111
4 bits
bandera
4 bits
alcance
112 bits
ID de grupo
La descripción de los campos es la siguiente:
• 11111111 al comienzo identifica a la dirección como una dirección multicast.
• bandera es un conjunto de 4 bits. Los 3 primeros están reservado y deben inicializarse en 0. Si el
cuarto bit tiene un valor 0, indica que la dirección es una dirección multicast permanente (well−know)
asignada por una autoridad de internet. Si este bit tiene un valor 1, indica que no se trata de una
dirección permanente. Se trata de una dirección transitoria.
• alcance son cuatro bits utilizados para limitar el alcance del grupo multicast. Los valores son:
0
1
2
3, 4
5
6, 7
8
9−D
E
F
Reservado
Alcance de nodo local
Alcance de enlace local
No asignado
Alcance de sitio local
no asignado
Alcance de organización local
No asignado
Alcance global
Reservado
• ID de grupo identifica el grupo multicast.
Las direcciones multicast no deben ser usadas como dirección fuente en los datagramas IPv6 ni aparecer en
cualquier cabecera de enrutamiento.
2.6.1 Direcciones multicast predeterminadas
La siguiente tabla presenta las direcciones multicast que son reservadas o predeterminadas.
FF00:0:0:0:0:0:0:0
FF01:0:0:0:0:0:0:0
FF02:0:0:0:0:0:0:0
Reservado
Reservado
Reservado
6
FF03:0:0:0:0:0:0:0
FF04:0:0:0:0:0:0:0
FF05:0:0:0:0:0:0:0
FF06:0:0:0:0:0:0:0
FF07:0:0:0:0:0:0:0
FF08:0:0:0:0:0:0:0
FF09:0:0:0:0:0:0:0
FF0A:0:0:0:0:0:0:0
FF0B:0:0:0:0:0:0:0
FF0C:0:0:0:0:0:0:0
FF0D:0:0:0:0:0:0:0
FF0E:0:0:0:0:0:0:0
FF0F:0:0:0:0:0:0:0
FF01:0:0:0:0:0:0:1
FF02:0:0:0:0:0:0:1
FF01:0:0:0:0:0:0:2
FF02:0:0:0:0:0:0:2
Reservado
Reservado
Reservado
Reservado
Reservado
Reservado
Reservado
Reservado
Reservado
Reservado
Reservado
Reservado
Reservado
Todos los nodos (alcance de nodo local)
Todos los nodos (alcance de enlace local)
Todos los routers (alcance de nodo local)
Todos los routers (alcance de enlace local)
2.7 La transición de IPv4 a IPv6
Hoy en día existen mecanismos que pueden ser implementados por hosts y routers IPv6 para mantener la
compatibilidad con IPv4 los cuales agilizan la expansión de IPv6 en Internet y facilitan la transición. La clave
para una transición exitosa a IPv6 es la compatibilidad con IPv4.
Los mecanismos están diseñados para ser empleados por hosts y routers IPv6 que necesitan interactuar con
hosts IPv4 y que utilizan la infraestructura de enrutamiento de IPv4.
Los mecanismos son los siguientes:
• Dual IP layer (doble capa IP): Consiste en proveer en hosts y routers un soporte completo tanto para
IPv6 como para IPv4.
• IPv6−over−IPv4 tunneling (IPv6 sobre IPv4): Consiste en encapsular los paquetes de IPv6 dentro de
los headers de IPv4 para transportarlos sobre las estructuras de enrutamiento actuales. Los dos tipos
de túneles que se emplean son: configurados y automáticos.
En un futuro probablemente se desarrollen mecanismos alternativos.
2.7.1 Dual IP layer
El camino mas simple para que los nodos IPv6 tengan compatibilidad con los nodos IPv4 es proveerlos de una
implementación completa de IPv4. Los nodos con estas características (que pueden enviar y recibir tanto
paquetes IPv4 como IPv6) son llamados IPv6/IPv4. Estos nodos pueden interactuar directamente con nodos
IPv4 y nodos IPv6.
Esta técnica puede o no ser usada conjuntamente con IPv6−over−IPv4. Así, se pueden dar las siguientes
configuraciones:
• nodos IPv6/IPv4 que no realizan tunneling;
• nodos IPv6/IPv4 que solo realizan tunneling configurado;
7
• nodos IPv6/IPv4 que realizan tunneling configurado y automático.
Como los nodos IPv6/IPv4 soportan los dos protocolos, pueden ser configurados con direcciones IPv4 e IPv6.
Aunque estas direcciones pueden estar relacionadas, no es obligatorio que lo estén.
Los nodos que ejecutan tunneling automático son configurados con direcciones IPv6 compatibles con IPv4
(descriptas en la sección 2.3). Tales direcciones pueden verse como direcciones simples capaces de ser usadas
por cualquiera de los dos protocolos.
Los nodos IPv6/IPv4 pueden utilizar los mecanismos de configuración de direcciones de IPv6 o DHCP para
IPv6 para adquirir sus direcciones IPv6. A su vez, pueden utilizar los mecanismos de IPv4 para adquirir sus
direcciones IPv4. También pueden adquirir su dirección IPv6 compatible con IPv4 desde otra fuente: utilizar
cualquier mecanismo de configuración de direcciones de IPv4 y entonces mapear esa dirección en una
dirección IPv6 compatible con IPv4. Este modo de configuración permite a los nodos IPv6/IPv4 aprovechar la
base existente de servidores de configuración de direcciones IPv4. Esto es particularmente útil en entornos
donde los routers y servidores de configuración de direcciones IPv6 no estén aun expandidos.
El algoritmo para adquirir direcciones compatibles utilizando protocolos de configuración de direcciones
basados en IPv4 sigue los siguientes pasos:
• Los nodos IPv6/IPv4 usan mecanismos o protocolos estándar para adquirir su propia dirección IPv4. Por
ejemplo: DHCP (dynamic host configuration protocol), BOOTP (bootstrap protocol), RARP (reverse
address resolution protocol), configuraciones manuales, etc.
• Los nodos utilizan esta dirección como dirección IPv4.
• El nodo prepara un prefijo 0:0:0:0:0:0 para añadirle a la dirección IPv4 de 32 bits obtenida en el paso 1 y
como resultado se tiene una dirección IPv6 compatible con IPv4 con la propia dirección IPv4 del nodo
embebida en los últimos 32 bits. Así, el nodo usa esta dirección como su propia dirección IPv6.
2.7.2 IPv6−over−IPv4 tunneling
La infraestructura IPv6 esta en una constante evolución. Mientras esta infraestructura se desarrolla y se
expande, la infraestructura de enrutamiento existente (IPv4) puede seguir funcionando y ser utilizada para
transportar trafico IPv6. Tunneling provee un camino para lograr esto.
Los hosts y routers IPv6/IPv4 pueden pasar datagramas IPv6 sobre regiones de topología de enrutamiento
IPv4 encapsulandolos dentro de paquetes IPv4.
Tunneling puede ser usado en una variedad de formas:
• Router−to−Router: Los routers IPv6/IPv4 interconectados con una infraestructura IPv4 pueden
pasarse entre sí paquetes IPv6. En este caso el túnel abarca un segmento del trayecto que toma el
paquete IPv6.
• Host−to−Router: Los host IPv6/IPv4 pueden pasar paquetes IPv6 por un router IPv6/IPv4
intermediario que sea alcanzable por la infraestructura IPv4. Este tipo de túnel abarca el primer
segmento del trayecto del paquete.
• Host−to−Host: Los hosts IPv6/IPv4 interconectados con una infraestructura IPv4 pueden pasarse
paquetes IPv6 entre sí. En este caso el túnel abarca el recorrido completo que toman los paquetes.
• Router−to−Host: Los routers IPv6/IPv4 pueden pasar paquetes IPv6 hasta su host IPv6/IPv4
destinatario (final). Este túnel abarca el ultimo segmento del recorrido.
Las técnicas de tunneling se clasifican según el mecanismo por el cual el nodo de encapsulamiento determina
la dirección del nodo al final del túnel. En los primeros dos casos (Router−to−Router y Host−to−Router) el
8
paquete IPv6 es pasado (tunneled) a un router. El endpoint de este tipo de túneles es un router intermediario el
cual debe desencapsular el paquete IPv6 y reenviarlo a su destino final. Cuando se envían paquetes a un
router, el endpoint del túnel es distinto del destino final del paquete que se esta enviando. Así, la dirección del
paquete IPv6 que se envía no provee la dirección IPv4 del endpoint del túnel. Por esto, dicha dirección deberá
obtenerse de la información de configuración en el nodo que ejecuta el tunneling. Por lo tanto se usa el
termino tuneling configurado (configurate tunneling) para describir el tipo de túneles donde el endpoint esta
explícitamente configurado.
En los últimos dos casos (Host−to−Host y Router−to−Host) el endpoint del túnel es el nodo al cual el
paquete IPv6 esta direccionado. Por lo tanto el endpoint puede ser determinado por la dirección IPv6 de
destino del paquete. Si dicha dirección es una dirección IPv6 compatible con IPv4 entonces los últimos 32 bits
especifican la dirección del nodo de destino y se puede usar como dirección del endpoint del túnel. De esta
forma se evita configurar explícitamente de la dirección del endpoint. Esta técnica es llamada tuneling
automático.
Las dos técnicas de tunneling se diferencian principalmente en como se valen para determinar la dirección del
endpoint del tunel. La mayor parte de estos mecanismos son lo mismo:
• El nodo de entrada del túnel (nodo de encapsulamiento) crea un paquete IPv4 en el que encapsula el
paquete IPv6, y lo transmite encapsulado. El header IPv4 contiene las direcciones fuente y destino y
el cuerpo del paquete contiene el header IPv6 seguido inmediatamente por los datos.
• El nodo de salida del túnel (nodo de desencapsulamiento) recibe el paquete encapsulado, elimina el
header IPv4, actualiza el header IPv6 y procesa el paquete IPv6 recibido.
Cabecera
Cabecera
IPv4
Cabecera
IPv6
Cabecera de
IPv6
Cabecera de
capa de transporte
capa de transporte
Datos
Datos
3. Importancia operativa en el área de redes
• Escalabilidad: IPv6 utiliza un espacio de direcciones de 128 bits. La cantidad de direcciones que se
logran extremadamente superior a la que se consigue con las direcciones de 32 bits de IPv4.
• Seguridad: La especificación básica de IPv6 incluye seguridad. Esto es paquetes de encriptación
(ESP: encapsulated security payload) y fuentes de autenticación (AH: autentication header).
• Tiempo Real: Para soportar este tipo de trafico (como video conferencia), IPv6 tiene una marca de
flujo. Utilizando esta marca los routers pueden identificar los paquetes que pertenecen al trafico de
tiempo real.
• Autoconfiguración: La especificación básica de IPv6 incluye una dirección de autoconfiguración.
Esto permite que hasta los usuarios mas inexpertos puedan conectar sus maquinas a la red.
• Optimización: IPv6 rescata las mejores partes de su antecesor IPv4 y descarta las características no
utilizadas del mismo.
9
4. Estado actual y situación en el mercado
IPv6 todavía tiene un largo camino para convertirse en el protocolo de internet. Deben finalizarse los
estándares y los vendedores deben comenzar a ofrecer IPv6 en sus productos. Todavía no se dan las
condiciones para la implementación y se estima que serán necesarios entre 2 y 10 años mas.
6bone (abreviatura de IPv6 Backbone) es uno de los resultados del proyecto
IPng (IP next generación) de la IETF. Actualmente es una red basada en IPv6
con el propósito de testear la
interoperabilidad del protocolo así como encontrar problemas que puedan surgir durante las operaciones de
IPv6. Colaboran en este proyecto Estados Unidos, Europa y Japón. 6bone es hoy lo que ARPANET fue en los
años 60': un entorno en el que usuarios y proveedores pueden probar nuevas ideas y tecnologías para adquirir
experiencia y conocimientos sobre IPv6.
5 Bibliografía
Para el desarrollo de la presente monografía se recopilo información de las siguientes fuentes.
• Comunicación de datos, redes de computadores y sistemas abiertos, Fred Halsall.
Addison Wesley Longman, cuarta edición.
Direcciones de Internet consultadas
• http://www.ipv6.org/
• http://www.ipv6.com
• http://faq.v6.wide.ad.jp/
• http://www.sun.com
• http://linux.com/howto/IR−HOWTO.html
• http://www.ewos.be/coexist/etg071/gintrod.htm#INICIO
• http://www.reuna.ci/consorxio/INternet/Ripv6.htm
• http://www.europe.decus.org/symposium/97/intranet/sessions/html/s223.htm
• http://intraware.netscape.com/ms/mktg/indaa/ew/implement_ipv6.html
• http://playground.sun.com/pub/ipng/html/ipng−main.html
• http://www.6bone.net/
• http://www.6bone.net/about_6bone.html
• http://dsi.cem.itesm.mx/~ltrejo/REDES/Lan/node154.html
• http://ietf.org/rfc/1933.txt
• http://ietf.org/rfc/2529.txt
Direccionamiento en IPv6
1
11
10
Ingeniero en Sistemas de Información
•
11
Descargar