2010, Edgard Jamhour IPv6 (Parte 2: Mecanismos de Transição) Edgard Jamhour.
Tema 2. IPv6
-
Upload
julian-sanchez-cruz -
Category
Documents
-
view
139 -
download
2
Transcript of Tema 2. IPv6
MP 09 – Redes Telemáticas
MP 09 – Tema 2. Protocolo IPv6. Página 1
PROTOCOLO IPv6 ‐CISCO.
MP 09 – Tema 2. Protocolo IPv6. Página 2
1. INTRODUCCIÓN.
El Protocolo de Internet (IP) define cómo los ordenadores y/o computadoras se comunican a través de una red. A medida que se pueda, las organizaciones deben adoptar IPv6 para apoyar la continuidad de negocio futuro, el crecimiento y la expansión global.
¿QuéesunadirecciónIP?
Podemos decir que una dirección IP (Internet Protocol) se utiliza para comunicar un ordenador a una línea telefónica y a su vez a Internet. Cada dirección IP es única y todos los datos que se envían a esa dirección serán enviados a través de Internet para llegar a su destino.
La mayoría de la gente es capaz de recordar más fácilmente nombres en vez de números. Por ejemplo, cuando escribimos la dirección www.google.com, nuestro ordenador realiza una consulta a unos servidores DNS (Domain Name System) que traducen dicho nombre de dominio (www.google.com) a su dirección IP correspondiente. También podemos utilizar la dirección IP en lugar del nombre de dominio (por ejemplo, escribir http://200.20.120.1/ en la barra de direcciones en un navegador y éste nos llevará al sitio web indicado).
¿CuántasdireccionesIPhaydisponibles?
El espacio de direcciones IPv4 es de 4,3mil millones de direcciones, que fueron totalmente asignadas a regiones geográficas específicas en febrero de 2011. Se estimaba que el protocolo IPv4 se quedaría sin direcciones IP disponibles para el año 2012, pero se han recogido todas las que estaban "sueltas" y disponibles para seguir otorgando este protocolo (IPv4).
El nuevo protocolo (IPv6) ha sido desarrollado para evitar este problema (introduciendo también una serie de nuevas características para mejorar el funcionamiento de Internet) e IPv6 ofrece 340.282.366.920.938.000.000.000.000.000 millones de direcciones (2 a la potencia de 128) lo que significa que el tamaño de la Internet podría duplicarse cada año, y todavía tendríamos suficientes direcciones para los próximos 96 años.
¿QuéesIPv6?
IPv6 es el protocolo de Internet sucesor del protocolo IPv4, el protocolo de direcciones de Internet que se ha utilizado durante muchos años desde los primeros días de la Internet.
Cuando Internet se fundó, ésta se estableció como una red de investigación (ARPANET), y su acceso estaba limitado a la comunidad científica y militar. Nunca se pensó que se utilizaría esta red para conectar a todo el mundo, desde un teléfono móvil a un equipo de música o una nevera.
¿CómopodemosutilizarIPv6?
La mayoría de los SO hoy en día soportan IPv6 de manera nativa, incorporando el protocolo IPv6 de manera estructural dentro del sistema, por lo tanto, no se necesita ningún software adicional para soportar las funcionalidades de IPv6.
Obviamente, necesitará también enrutadores (routers) que soporten IPv6 para poder conectar toda su red utilizando dicho protocolo. Para los equipos y sistemas que todavía no soportan IPv6 existe la solución de tunelizar (construir un túnel lógico) en el cual se encapsulan los paquetes IPv6 dentro de paquetes IPv4.
La mayoría de los sistemas operativos actuales son compatibles con IPv6.
MP 09 – Tema 2. Protocolo IPv6. Página 3
¿Quénecesitamoshacer?
No debemos hacer nada, ya que son los operadores de red los que deben asegurarse de llevar a cabo una transición suave para que los usuarios no tengan que preocuparse.
En caso de tener un sitio web o servidores en Internet conectados a través de IP públicas es posible que deba consultar con su proveedor de hosting o su proveedor de servicio de Internet para verificar si ofrecen direcciones IPv6, además consultarles de que forma estos los pueden ayudar con su implementación.
1.1. LASVENTAJAS.
¿Por qué razón debemos conocer en profundidad el protocolo IPv6? Bueno, básicamente existe una poderosa razón que impulsará a todos los profesionales de redes a conocer al dedillo el protocolo IPv6: la adopción de IPv6 a nivel de redes LAN.
Conociendo la importancia que tiene este protocolo, iremos desarrollando el tema desde los aspectos más básicos hasta los más complejos, explicándolos de la manera más didáctica y simple posible.
IPv6 (Internet Protocol Version 6) son las siglas del nuevo protocolo IP (Internet Protocol) que sustituirá gradualmente al archiconocido protocolo IPv4. La versión 6 del protocolo IP se diseñó como una actualización evolutiva de IPv4, de hecho, pueden coexistir de manera transparente ambas versiones.
IPv6 está diseñado con el objetivo de permitir que Internet continúe expandiéndose de manera constante, tanto en términos del número de nodos conectados, así como también, de la cantidad total de tráfico de datos transmitidos.
IPv6 ha estado en desarrollo desde mediados de la década de 1990. La iniciativa principal que impulsó el desarrollo de este proyecto nació de la preocupación causada por el eminente agotamiento de las direcciones IP disponibles. En pocas palabras, la demanda de direcciones IP superaría la oferta disponible.
Debemos recordar que el Protocolo Internet versión 4 (IPv4) fue desarrollado en la década del 1970, donde sus desarrolladores no tenían ni la más remota idea de que Internet tendría el tamaño y el alcance global que presenta hoy día. En esa época no era posible prever la cantidad tan diversa de dispositivos que se conectarían utilizando este protocolo.
En términos matemáticos, una dirección IPv4 tiene una longitud de 32bits, permitiendo así, una asignación máxima de 232, que es lo mismo decir, 4.294.967.296 billones direcciones IP únicas (4,3×1021). Dentro de toda esta cantidad de direcciones IP existen algunos rangos reservados para las direcciones IP privadas (18 millones) y las direcciones IP multicast (270 millones).
El protocolo IP versión 6 (IPv6) provee una cantidad de direcciones mucho mayor que su predecesor IPv4. En esta nueva versión, el tamaño de las direcciones IP ha crecido de una longitud de 32bits a 128bits. Matemáticamente, la cantidad de direcciones IP únicas que pueden ser asignadas en IPv6 son aproximadamente 2128 ó 3,4 × 1038, un número extremadamente grande de direcciones IP posibles.
Con este incremento en la longitud de las direcciones IP no habrá problemas de escasez de direcciones IP por un largo periodo de tiempo además de que garantizará una expansión exponencial de la cantidad de nodos (tabletas, smartphones, vehículos, electrodomésticos, etc.) que se podrán interconectar a través de Internet.
MP 09 – Tema 2. Protocolo IPv6. Página 4
El aumento de la cantidad de direcciones IP para ser asignadas representa prácticamente la característica diferenciadora más conocida entre IPv4 e IPv6. La realidad es que hay otros beneficios tecnológicos que aporta IPv6 que mejoran significativamente al protocolo IP:
No habrá que utilizar NAT (Network Address Translation);
Auto configuración de las direcciones IP;
Mejora el enrutamiento del tráfico multicast;
Un encabezado (header) más simple;
Mejora el proceso de enrutamiento de paquetes;
Mejora la calidad de servicio (QoS), ahora llamado "Flow Labeling";
Mejora la seguridad, incluye autenticación y cifrado de la información;
Provee mayor número de extensiones y opciones más flexibles;
Administración más simplificada (adiós al protocolo DHCP).
MP 09 – Tema 2. Protocolo IPv6. Página 5
2. ESPACIODEDIRECCIONAMIENTO.
Si queremos aumentar el tamaño de la cantidad de direcciones posibles sólo debemos aumentar la longitud de las direcciones.
Cada bit adicional que se agregue a la longitud de las direcciones incrementa el doble el número de direcciones IP posibles. Por lo tanto si las direcciones IPv4 tienen una longitud de 32bits (232), las direcciones IPv6 tienen una longitud de 128bits (2128). Esto produce como resultado el siguiente número: 340.282.366.920.938.463.463.374.607.431.768.211.456.
Este número es tan grande que se expresa en notación científica como 3,4×1038. Esto es más o menos cerca de 340 trillones de trillones de direcciones IP posibles, lo que representa realmente un número enorme de direcciones IP posibles. La idea es que IPv6 provea un espacio tan grande de direcciones IP que no sea posible el agotamiento en muchas décadas.
El incremento de la longitud de las direcciones IP desde un tamaño de 32bits (IPv4) a 128bits (IPv6) brinda una gran ventaja, pero también nos brinda algunos desafíos. Una dirección IPv4 de 32bits se representa de la siguiente forma:
11001000010110000011110101100100 (Binario de 32 bits)
También de la siguiente manera:
11001000 01011000 00111101 01100100 (Binario de octetos)
Como es muy complicado trabajar con número binarios, es preferible trabajar con números decimales. En notación decimal la dirección IP anterior se representaría de la siguiente manera:
200.88.61.100 (Notación decimal)
En IPv6 las direcciones IP son tan largas que no es conveniente representarlas ni siquiera en formato decimal. Para simplificar la representación de las direcciones IPv6 se optó por utilizar el sistema de notación hexadecimal.
El sistema hexadecimal está basado en 16 valores. Estos 16 valores se representan utilizando los símbolos de los números de 0 al 9 (10 valores), y los símbolos de las letras A, B, C, D, E, F (6 valores). Las direcciones IPv6 se dividen en 8 octetos, cada octeto de un tamaño de 16bits.
A continuación vamos a ver primero un ejemplo de una dirección IPv6 representada en
formato decimal: 128.91.45.157.220.40.0.0.0.0.252.87.212.200.31.255.
Ésta dirección IPv6 representada en notación decimal es muy larga, y es bastante complicado trabajar con semejante formato de direcciones IP. Esta dirección está compuesta por 16 octetos de 8bits separados por un punto. Si multiplicamos 16 × 8bits el resultado sería 128bits.
Si representamos la dirección anterior en formato hexadecimal (IPv6) se mostraría de la siguiente manera: 805B:2D9D:DC28:0000:0000:FC57:D4C8:1FFF
La dirección anterior está compuesta por 8 octetos de 16bits separados por dos puntos (:). Si multiplicamos 8 × 16bits el resultado sería 128bits.
La notación hexadecimal es la forma para expresar las direcciones IPv6. Con ésta notación se logra que las direcciones IP sean más cortas y fáciles de manejar. Aún así, es complicado manejar direcciones IP bajo esta notación, ya que la notación de 16 valores no nos es familiar.
Algo importante a tener en cuenta es que las direcciones IPv6 están separadas por dos puntos (:) a diferencia de las direcciones IPv4 que están separados por puntos (.).
Algo similar a las direcciones IPv6 en cuanto a su representación son las direcciones MAC. Las direcciones MAC son aquellas que vienen incrustadas en una interfaz Ethernet de cualquier equipo en la red. Estas direcciones tienen una longitud de 48bits (6 octetos de 8bits) y también se representan en notación hexadecimal.
MP 09 – Tema 2. Protocolo IPv6. Página 6
3. PREFIJOSYNOTACIÓN.
Los desarrolladores del protocolo IPv6 eligieron la notación hexadecimal sobre las notaciones decimales buscando la manera que las direcciones IP no fueran tan largas. Aún así, siguen siendo largas y difíciles de manejar.
Por suerte, podemos implementar una serie de trucos que nos permitirán reducir aún más el tamaño de las direcciones IPv6. Para comenzar, vamos a estudiar la siguiente dirección IPv6: 805B:2D9D:DC28:0000:0000:FC57:D4C8:1FFF
Podemos observar que esta dirección IPv6 tiene 8 octetos, siendo 805B el primero y 1FFF el último contando de izquierda a derecha. Podemos también apreciar que dos octetos consecutivos (4 y 5) tienen valores en cero (0000).
Esta dirección IPv6 la podemos hacer aún más corta utilizando una regla llamada supresión de ceros continuos. Aplicando esta regla podemos representar esta dirección IP de la siguiente manera: 805B:2D9D:DC28:0:0:FC57:D4C8:1FFF
Reducimos dos octetos representados como 0000:0000 en algo como esto 0:0. Ahora es un poco más corta, pero aún así se puede acortar un poco más eliminando completamente los ceros de los octetos 4 y 5. El resultado sería el siguiente: 805B:2D9D:DC28:::FC57:D4C8:1FFF
En este caso, se han sustituido los dos ceros (0:0) por (::). Esta sustitución de ceros sólo se puede realizar una sola vez dentro de una dirección IPv6.
Tenemos la siguiente dirección: 805B:2D9D:DC28:0:0:FC57:0:0; y podemos
observar que es un poco diferente a la anterior debido a que tenemos cuatro octetos con valores en ceros pero no todos son consecutivos. Sólo podemos suprimir uno de los dos pares de octetos con valores en cero dentro de la dirección IP. Esto significa que podríamos tener estos dos escenarios si intentamos reducir la dirección: 805B:2D9D:DC28:::FC57:0:0 ó 805B:2D9D:DC28:0:0:FC57::
Veamos otro ejemplo: FF00:4501:0:0:0:0:0:32. Esta dirección tiene múltiples
octetos con valores en cero (desde el 3 hasta el 7). Lo que significa que podemos reducir bastante el tamaño de esta dirección IP en algo parecido a esto: FF00:4501::32
Tenemos una dirección como esta: 0:0:0:0:0:0:0:1, que es la dirección de Loopback IPv6, el equivalente a 127.0.0.1 en IPv4. Esta dirección la podemos así: ::1
Si tenemos la dirección cualquier destino: 0:0:0:0:0:0:0:0, y esta dirección la podemos representar como: :: (no hay números, sólo dos puntos).
Existe otra forma de representar las direcciones IPv6 que nos resulta un poco más familiar. Podemos representar parte de una dirección IPv6 en notación decimal al estilo IPv4.
Sabemos que las direcciones IPv6 son de 128bits y las de IPv4 de 32bits. Para poder incrustar una dirección IPv4 dentro de una dirección IPv6 debemos de representar los primeros 96bits en notación hexadecimal y los últimos 32bits en notación decimal.
Veamos el siguiente ejemplo: 805B:2D9D:DC28::FC57:212.200.31.255. Donde los últimos 32bits están representados en notación decimal como si fuera una dirección IPv4.
También tenemos la opción de diseñar un direccionamiento IPv6 al estilo IPv4 sólo colocando los primeros 96bits de la dirección IPv6 con valores en cero.
Veamos el siguiente ejemplo: 0:0:0:0:0:0:212.200.31.255. Aplicando la regla de la supresión de ceros podemos representar esta dirección de la siguiente forma: ::212.200.31.255. A primera vista parecería una dirección IPv4, la diferencia está en los dos
puntos (::) al principio de la dirección que simboliza claramente el protocolo IPv6.
MP 09 – Tema 2. Protocolo IPv6. Página 7
4. TIPOSDEDIRECCIONES.
En este punto se explicará cuáles son las diferentes categorías y tipos de direcciones que existen en el Protocolo Internet Versión 6 (IPv6). A nivel general, podemos clasificar las direcciones IPv6 en tres grandes categorías:
4.1. DIRECCIONESUNICAST.
Las direcciones Unicast, al igual que en IPv4, son las más comunes y utilizadas. Estas son asignadas a una interfaz o nodo permitiendo la comunicación directa entre dos nodos de la red. Esta técnica de comunicación es conocida como uno a uno (one‐to‐one).
A continuación podemos ver un ejemplo de una dirección IPv6 Unicast:
2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b/64.
Existen unos tipos de direcciones IPv6 dentro de la categoría Unicast:
4.1.1. Link‐Local.
Las direcciones Link‐Local son el equivalente a las direcciones IP privadas en IPv4. Estas son asignadas a una interfaz de manera automática a partir del momento que activamos el protocolo IPv6 en un nodo.
El prefijo de estas direcciones es FE80::/10. Estas direcciones no pueden ser encaminadas a través de los routers fuera del segmento local, de ahí deriva su nombre. El propósito principal es proporcionar direccionamiento IP automático a los nodos en caso que no exista un servidor DHCP.
Una dirección IPv6 Link‐Local comienza con el prefijo FE80::/10 (los primeros 10
bits), luego, los bits del 11 hasta 64 (los siguientes 54bits) se configuran con valores de ceros (0000). De esta manera se forma la porción de red representada por los primeros 64bits: FE80:0000:0000:0000:0000:0000:0000:0000/10
La porción de nodo, que son los últimos 64bits, se forma con el formato EUI‐64. El formato EUI‐64 toma los 48bits de la dirección MAC de la tarjeta Ethernet y le coloca 16bits adicionales predefinidos por el protocolo IPv6 (FFFE). A continuación tenemos un ejemplo de una dirección Link‐Local: FE80::211:21FF:FE6C:C86B
4.1.2. Site‐Local.
Las direcciones IPv6 Site‐Local son también el equivalente a las direcciones IP privadas en IPv4. A diferencia de las direcciones Link‐Local, estas pueden ser encaminadas fuera del segmento local, es decir, podemos enviar paquetes entre diferentes segmentos de la red pero no hacia Internet.
En las direcciones Site‐Local, los primeros 10bits se establecen con los valores 1111111011, por lo tanto, el prefijo de estás direcciones tendrá un valor en hexadecimal de FEC0 :: /10. Los siguientes 54bits están compuestos por el ID de red. Los últimos 64
bits son el identificador de la interfaz o nodo, y estos se configuran de la misma forma que las direcciones Link‐Local, tomando 48bits de la dirección MAC y luego agregando 16bits con los valores FFFE.
A continuación tenemos un ejemplo de una dirección Site‐Local: FEC0::CE00:3BFF:FE85:0
MP 09 – Tema 2. Protocolo IPv6. Página 8
4.1.3. GlobalUnicast.
Las direcciones Global Unicast son el tipo de dirección IPv6 más utilizado y son el equivalente de las direcciones IP públicas en IPv4. Pueden ser encaminadas a través de la Internet. Los primeros 3bits de estas direcciones IP están compuestos por los valores 001 (en notación binaria), por lo tanto, el prefijo de estás direcciones IP siempre tendrá un valor hexadecimal de 2000 con una máscara /3
Lo anterior significa que los primeros 3bits dentro de una dirección Global Unicast deben de ser siempre 0010 (en binario), y la máscara de /3 significa que sólo podemos hacer variaciones después de los primeros tres bits dentro del primer octeto para establecer el Prefijo Global de Enrutamiento (Global Routing Prefix).
Este prefijo consiste en un número de bits que se pueden subdividir de acuerdo a las necesidades de los Registros de Internet y proveedores de Internet, a fin de reflejar la topología de la Internet en su conjunto. En pocas palabras, a partir de estos primeros 3bits es donde comienza la jerarquización de la asignación de las direcciones IP a nivel global.
Bajo el esquema anteriormente descrito, los posibles prefijos que podrían ser utilizados para representar direcciones IP del tipo Global Unicast serían:
2000 (0010) – dirección válida Global Unicast.
3000 (0011) – dirección válida Global Unicast.
4000 (0100) – dirección inválida Global Unicast (a partir de aquí cambia la
estructura de 001 en los primeros 3 bits).
5000 (0101) – dirección inválida Global Unicast.
En el futuro este prefijo puede cambiar debido a las normativas del IANA (Internet Assigned Numbers Authority), el cual es el organismo encargado de la asignación y administración de las direcciones IPv6 Global Unicast a nivel mundial.
Tenemos entonces que de los primeros 64bits de un total de 128 bits, los 3bits primeros representan el Prefijo Global. Los siguientes 45bits identifican la red asignada a las organizaciones. Los siguientes 16bits representan la subred (Subnet ID) en caso de realizarse una subdivisión de la red (Subnetting).
En resumen, los primeros 64bits de una dirección IPv6 los podemos dividir en tres componentes:
Prefijo Global (3bits);
Red (45bits);
Subred (16bits).
Una dirección IPv6 Global Unicast soporta 216 (65.535) subredes posibles. Cada subred soporta a su vez 264 (18.446.744.073.709.551.616) nodos posibles.
Vamos a tomar como ejemplo la siguiente dirección IPv6 Global Unicast:
2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b
Los primeros 48bits representan la porción de red de la empresa (Site Prefix):
2001:0db8:3c4d
Los siguientes 16bits representan la porción de subred: 0015
Los siguientes 64bits representan la porción del nodo: 0000:0000:1a2f:1a2b
SI no hay subdivisión de red (Subnetting), entonces los primeros 64bits representan la red y los demás 64bits los nodos.
MP 09 – Tema 2. Protocolo IPv6. Página 9
4.2. DIRECCIONESMULTICAST.
Las direcciones Multicast permiten identificar múltiples interfaces o nodos en una red. Con este tipo de direcciones podemos comunicarnos con múltiples nodos de manera simultánea. Esta técnica es conocida como uno a mucho (one‐to‐many). A continuación podemos ver un
ejemplo de una dirección IPv6 Multicast: FF02:0:0:0:0:0:0:9.
4.3. DIRECCIONESANYCAST.
Las direcciones Anycast son un nuevo tipo de dirección en IPv6. Al igual que una dirección Multicast, una dirección Anycast identifica múltiples interfaces, sin embargo, mientras que los paquetes de Multicast son aceptados por varios equipos, los paquetes Anycast sólo se entregan a una interfaz o nodo. A continuación podemos ver un ejemplo de una dirección IPv6 Anycast:
2002:0db8:6301::/128.
4.4. ¿YQUÉPASACONLASDIRECCIONESBROADCAST?
A diferencia de IPv4, el protocolo IPv6 no soporta direcciones Broadcast. Para los que no conocen las direcciones broadcast, estás son las direcciones utilizadas para la comunicación de un nodo con todos los nodos dentro de un segmento de red. Este tipo de dirección fue eliminado en IPv6.
MP 09 – Tema 2. Protocolo IPv6. Página 10
5. IPv6.
5.1. NOTACIÓNDELASDIRECCIONESIPv6.
Las direcciones IPv6, de 128bits de longitud, se escriben como ocho grupos de cuatro dígitos hexadecimales, separados entre ellos por dobles puntos (:), que pueden ir desde el 0000 al FFFF. Por ejemplo, la siguiente es una dirección IPv6 válida:
2001:0DB8:AAAA:1111:0000:0000:0000:0100
Cada uno de estos grupos está formado por 16bits, ya que cada dígito hexadecimal está formado por 4bits, por lo tanto: 4bits × 4dígitos = 16bits.
Como ya hemos dicho en otro punto, el protocolo IP versión 6 (IPv6) provee una cantidad de direcciones mucho mayor que su predecesor IPv4. En esta nueva versión, el tamaño de las direcciones IP ha crecido de una longitud de 32bits a 128bits. Matemáticamente, la cantidad de direcciones IP únicas que pueden ser asignadas en IPv6 son aproximadamente 2128 ó 3,4 × 1038, un número extremadamente grande de direcciones IP posibles.
Los dígitos hexadecimales entre mayúsculas y minúsculas, pero las recomendaciones IETF sugieren el uso de letras minúsculas. La representación completa de los ocho grupos de 4 dígitos puede simplificarse mediante varias técnicas, eliminando partes de la representación.
5.1.1. ReglasparalacompactacióndedireccionesIPv6.
Existen dos reglas para la compactación de direcciones en IPv6:
La reglas de los 0s iniciales;
La regla de los dobles dos puntos (::).
5.1.1.1. Regladeloscerosiniciales.
Esta regla nos dice que los ceros iniciales en cualquier segmento de 16‐bits se pueden omitir y no los tenemos que escribir:
3ffe:0404:0001:1000:0000:0000:00ef:bc003ffe:404:1:1000:0:0:ef:bc00
3ffe:0000:010d:000a:00dd:c000:e000:00013ffe:0:10d:a:dd:c000:e000:1
ff02:0000:0000:0000:0000:0000:0000:0500ff02:0:0:0:0:0:0:500
5.1.1.2. Regladelosdoblesdospuntos(::).
Con esta segunda regla aún podemos reducir más IPv6, ya que podemos reducir, una única vez, una secuencia de ceros contiguos en uno o más segmentos de 16bits por doble dos puntos (::):
Se puede comprimir un grupo de cuatro dígitos si éste es nulo (es decir, toma el valor 0000) sustituyéndolo por "::".
Por ejemplo: 2001:0db8:85a3:0000:1319:8a2e:0370:7344 2001:0db8:85a3::1319:8a2e:0370:7344
MP 09 – Tema 2. Protocolo IPv6. Página 11
Siguiendo esta regla, si más de dos grupos consecutivos son nulos, también 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.
Las siguientes son representaciones posibles de una misma dirección, son todas
válidas y significan lo mismo: 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
Las direcciones mencionadas son todas válidas y significan lo mismo.
Sólo se puede aplicar esta regla una única vez, ya que no queda claro cuántos grupos nulos hay en cada lado, produciéndose una ambigüedad irresoluble, no sabríamos dónde colocar los grupos de ceros que nos faltan: 2001::25de::cade
De la siguiente dirección las dos opciones son válidas:
2001:0d02:0000:0000:0014:0000:0000:0095 2001:d02::14:0:0:95 ó 2001:d02:0:0:14::95
5.1.2. Prefijosdered.
En IPv4, el prefijo ‐parte de red de la dirección‐ se puede identificar por la máscara
decimal o por la cuenta de bits: 255.255.255.0 ó /24
En IPv6 el prefijo siempre se obtiene de la cuenta de bits (longitud del prefijo):
3ffe:1944:100:a::/64
16 32 48 64 bits
5.1.2.1. Identificarlosbitsderedylosdehostointerfaz.
El tamaño del prefijo se expresa en notación CIDR (enrutamiento entre dominios sin clase). La notación CIDR consiste en una barra inclinada al final de la dirección, seguida por el tamaño del prefijo en bits.
Dentro de estas identificaciones, nos podemos encontrar con dos tipos: aquellas en las que los bits de red coinciden con uno o más grupos completos de dígitos hexadecimales (16, 32, 48, …) o aquellos que no coinciden (15, 28, 42, …).
Para explicar con más detenimiento el primer caso, pongamos por ejemplo la
siguiente dirección IPv6: 2001::1/16. Podemos extraer la siguiente información:
Bits de red = 16; bits de host = 112. Suman un total de 128bits.
Porción de red = 2001 (un segmento = 16bits).
Porción de host = 0:0:0:0:0:0:1 (7 segmentos = 112bits).
Para explicar con más detenimiento el segundo caso, pongamos por ejemplo la
siguiente dirección IPv6: 2001::1/80. Podemos extraer la siguiente información:
Bits de red = 80; bits de host = 48. Suman un total de 128bits.
Porción de red = 2001:0:0:0:0 (cinco segmentos = 80bits).
Porción de host = 0:0:1 (tres segmentos = 48bits).
Pero este segundo caso, se puede complicar un poco más. Supongamos la siguiente
IPv6: 2001:1/3; donde tenemos 3bits de la parte de red y 125 para la parte de host.
MP 09 – Tema 2. Protocolo IPv6. Página 12
Escribamos el primer segmento (2001) en binario: 0010 0000 0000 0001. Los tres primeros bits son la parte de red y el resto son de host: 001 0 0000 0000 0001
Donde 001 en hexadecimal es 1. 2 es la parte de red y el resto de bits son de host.
Para que quede más claro, realizaremos la división como en los casos anteriores:
Bits de red = 3; bits de host = 125. Suman un total de 128bits.
Porción de red = 0010 (3bits).
Porción de host = 0010 0000 0000 0001::0001 (125bits).
2 0 0 1
5.2. TIPOSDEDIRECCIONESIPv6.
En este esquema podemos ver los diferentes tipos de direcciones en IPv6. Es preciso recordar que en IPv6 no existe la dirección de broadcast.
5.2.1. DireccionesUnicastglobales.
Identifican a una sola interfaz de red, entrega los paquetes enviados a una dirección unicast al interface especifico. Un paquete enviado a una dirección unicast es entregado sólo a la interfaz identificada con dicha dirección.
Las direcciones Unicast globales poseen una estructura característica muy sencilla y son similares a IPv4: enrutables y únicas.
MP 09 – Tema 2. Protocolo IPv6. Página 13
La IANA (Internet Assigned Numbers Authority es la entidad que supervisa la
asignación global de direcciones IP, sistemas autónomos, servidores raíz de nombres de dominio DNS y otros recursos relativos a los protocolos de Internet), ha asignado es espacio de direcciones IPv6 en octavos (1/8):
5.2.2. DireccionesUnicastglobalesylaregla3‐1‐4.
En IPv4 la distribución de los 32bits es la siguiente:
En IPv6 la distribución de los 128bits, donde los primeros 64bits nos permiten algo más de 18 trillones de dispositivos es la siguiente:
Dentro de estos 64bits, podemos destinar 48bits para Prefijo global y los últimos 16bits para ID de subred, que nos permite 65.536 subredes (ceros y unos están permitidos):
Para que se vea algo más claro, el siguiente gráfico desgrana por segmentos la dirección IPv6 (donde se aprecia claramente la Regla 3‐1‐4), que quedan asignados 3 segmentos para el Prefijo global, 1 segmento para ID Subred y 4 segmentos para ID de interfaz:
MP 09 – Tema 2. Protocolo IPv6. Página 14
2001:0D8:AAAA:1111:0000:0000:0000:0100
5.2.3. PrefijoGlobaldeEnrutamiento.
Es un prefijo asignado a un sitio, generalmente está estructurado jerárquicamente por los RIRs (Regional Internet Registry o Registro Regional de Internet) e ISPs (Internet Service Provider o Proveedor de Servicios de Internet) y formado por 48bits (3 segmentos), que puede dividirse de la siguiente forma:
5.2.4. SubredesIPv6.
Es el identificador de una subred dentro de un sitio. Está diseñado para que los administradores de los sitios lo estructuren jerárquicamente.
Segmento administrativo de una red IPv6. Los componentes de una subred IPv6 se pueden corresponder directamente con todos los nodos de un vínculo, igual que en IPv4. Si es preciso, los nodos de un vínculo se pueden administrar en subredes independientes. Además, IPv6 no permite subredes multivínculo, en las cuales los nodos de vínculos distintos pueden ser componentes de una sola subred.
En IPv6, la ID de subred define una subred administrativa de la red y tiene un tamaño máximo de 16bits. Un ID de subred se asigna como parte de la configuración de redes IPv6. El prefijo de subred define la topología de sitio respecto a un enrutador especificando el vínculo al que se ha asignado la subred.
Desde un punto de vista conceptual, las subredes IPv6 y las IPv4 son iguales en el sentido de que cada subred suele asociarse con solo vínculo de hardware. Sin embargo, las ID de subredes IPv6 se expresan en notación hexadecimal, en lugar de decimal con puntos.
Prefijo RIR (23bits) ‐ Registro Regional Internet.
Prefijo ISP (9bits) ‐ Proveedor servicios Internet.
Prefijo de Sitio (16bits) ‐ Lugar (Ciudad).
Posible Prefijo de Inicio del Sitio (8bits) ‐ Zona (Barrio).
Prefijo Subred (8bits)‐ Edificio.
MP 09 – Tema 2. Protocolo IPv6. Página 15
Las Subredes están ubicadas el cuarto segmento (contando desde la izquierda) de una dirección IPv6, es decir, están formadas por 16bits (1 segmento):
Tenemos la dirección IPv6 siguiente: 2340:1111:AAAA::/48.
Pues a partir de esta, podemos determinar cuatro subredes a modo de ejemplo y para ello sólo bastará con incrementar un hexadecimal (16bits):
2340:1111:AAAA:0000::/64 2340:1111:AAAA::/64 2340:1111:AAAA:0001::/64 2340:1111:AAAA:1::/64 2340:1111:AAAA:0002::/64 2340:1111:AAAA:2::/64 2340:1111:AAAA:000A::/64 2340:1111:AAAA:A::/64
5.2.5. Subredesenlapartedelhost.
Un host en IPv6 es un nodo con una dirección IPv6. Un host IPv6 puede tener configurada más de una interfaz para que sea compatible con IPv6. Al igual que en IPv4, los hosts de IPv6 no reenvían paquetes.
5.2.6. Subredesenlafronteradelosnibble.
Nibble es el conjunto de cuatro dígitos binarios (bits) o medio octeto.
Su interés se debe a que cada cifra en hexadecimal (0, 1, 2,..., 9, A, B, C, D, E, F) se puede representar con un cuarteto, puesto que 24=16. También el cuarteto es la base del sistema de codificación BCD.
MP 09 – Tema 2. Protocolo IPv6. Página 16
Hacer subredes en la frontera de los nibble (4bits) es sencillo /64, /68, /72, etc., sólo hay que ir incrementando 1 hexadecimal: 2001:0DB8:AAAA:0000:0000::/68
2001:0DB8:AAAA:0000:1000::/68 2001:0DB8:AAAA:0000:2000::/68 . . . . . . . . . . . . . . . 2001:0DB8:AAAA:FFFF:F000::/68
5.2.7. Subredesdentrodeunnibble.
De los 4 bits que componen el hexadecimal: los 2 de mayor peso son de la parte de subred, y los dos últimos son de host.
2001:0DB8:AAAA:0000:0000::/70 0000 0000 2001:0DB8:AAAA:0000:0400::/70 0000 0100 2001:0DB8:AAAA:0000:0800::/70 0000 1000 2001:0DB8:AAAA:0000:0C00::/70 0000 1100
5.3. ASIGNACIÓNDEDIRECCIONESGLOBALUNICAST.
5.3.1. FormatoEUI‐64.
MP 09 – Tema 2. Protocolo IPv6. Página 17
La IP global del router la podemos configurar de forma Estática o mediante el Formato EUI‐64 (crea una ID de 64bits a partir de la MAC de 48bits).
El Formato EUI‐64 no es más que una modificación del Formato EUI‐48 con la inclusión de dos segmentos hexadecimales (8bits cada uno) en el centro. La cosa quedaría genéricamente como muestra el siguiente diagrama:
5.3.1.1. ElformatoEUI‐64modificadoIPv6.
El mapeo real de las direcciones de capa de enlace a los ID de interfaces IP depende de la tecnología en particular. Por supuesto es esencial que todos los dispositivos en la misma red utilicen la misma técnica de asignación.
Con mucho, el tipo más común de direcciones de capa 2 en redes son las direcciones MAC IEEE 802, utilizadas por Ethernet y otras tecnologías de redes del proyecto IEEE 802. Estas direcciones tienen 48bits, organizados en dos bloques de 24bits, de los cuales, los 24bits "superiores" se organizan en un bloque llamado Identificador Único Organizacional (OUI u Organizational Unique Identifier), con diferentes valores asignados a las distintas organizaciones, los 24bits "inferiores" se utilizan entonces para el Identificador Dispositivo Específico o NIC (Network Interface Card, o Tarjeta de Interfaz de Red).
El IEEE ha definido un nuevo formato llamado Identificador Único Extendido de 64bit, abreviado EUI‐64. Es similar al formato MAC de 48bit, excepto que mientras que el OUI se mantiene en 24bits, el identificador del dispositivo tiene 40bits en lugar de 24bits. Esto da a cada fabricante 65.536 veces más direcciones de dispositivos dentro de su OUI.
Una forma de este formato, llamado EUI‐64 modificado, ha sido adoptado para los identificadores de interfaz IPv6. Para obtener la identificación de la interfaz EUI‐64 modificado de un dispositivo, basta con tomar la dirección EUI‐64 y cambiar el bit séptimo desde la izquierda (el bit "universal/local" o "U/L") de cero a uno.
MP 09 – Tema 2. Protocolo IPv6. Página 18
5.3.1.2. ConversióndedireccionesMACde48bitsaidentificadoresIPv6modificadosEUI‐64.
Por supuesto, la mayoría de los dispositivos siguen utilizando el viejo formato de 48 bits de direcciones MAC. Estos se pueden convertir en EUI‐64 y luego a EUI‐64 modificado para crear un identificador de interfaz IPv6. El proceso es el siguiente, que concuerda con los pasos de la figura de la página anterior:
1. Tomamos la porción de 24bit OUI, los 24bits más a la izquierda de la ID, y los ponemos en los correspondientes 24bits mas a la izquierda de la ID de la interface. Tomamos la parte local de 24bits (los 24 bits mas a la derecha de la dirección Ethernet) y lo ponemos en los 24bits mas a la derecha de la ID de la interfaz.
2. En los restantes 16bits en el medio del ID de interfaz ponemos el valor "11111111 11111110" ("FF FE" en hexadecimal).
3. La dirección está ahora en la forma EUI‐64. Cambiamos el bit "universal/local" (bit 7 desde la izquierda) de un cero a uno. Esto nos da el ID de interfaz EUI‐64 modificado.
5.3.1.3. Aclaracionesydesarrollo.
Uno de los beneficios clave de IPv6 sobre IPv4 es su capacidad para hacer frente a la interfaz automática. Al implementar el formato de 64bits extendido (EUI‐64), un host puede asignarse de forma automática un identificador de interfaz IPv6 de 64bits único, sin necesidad de configuración manual o DHCP.
Esto se logra en las interfaces de Ethernet haciendo referencia a la dirección de 48bits MAC única, y reformatear ese valor para que coincida con la especificación EUI‐64. RFC 2373 dicta este proceso de conversión en tres pasos (que ya hemos explicado).
¿Pero por qué se utiliza FF FE? Como explican las directrices de la IEEE para EUI‐64, este es un valor reservado que los fabricantes de equipos no pueden incluir en EUI‐64 estas asignaciones de direcciones "reales". En otras palabras, cualquier dirección EUI‐64 que tiene FF FE inmediatamente después de su porción OUI puede ser reconocida como si hubiese sido generada a partir de una dirección EUI‐48 (o MAC).
El siguiente paso es invertir el bit (U/L) en la parte de OUI de la dirección. Las direcciones globales únicas asignadas por el IEEE tienen originalmente este bit puesto a cero (U), lo que indica la singularidad global. Del mismo modo, las direcciones creadas a nivel local, tales como los que se utilizan para las interfaces virtuales o una dirección MAC configurada manualmente por un administrador, tendrán este bit puesto a uno (L). El bit U / L se invierte cuando se utiliza una dirección EUI‐64 como interfaz ID IPv6.
MP 09 – Tema 2. Protocolo IPv6. Página 19
¿Pero por qué este cambio de bit? La respuesta se encuentra en la sección 2.5.1 del RFC 2373:
<<La motivación para invertir el bit cuando se forma el identificador de interfaz es que sea fácil para los administradores de sistemas repartir y configurar identificadores de ámbito locales cuando los tokens (identificadores) de hardware no están disponibles. Este el caso de los enlaces seriales, túnel puntos finales, etc La alternativa hubiera sido darles la forma 0200:0:0:1, 0200:0:0:2, etc., en lugar de la más simple :: 1, :: 2, etc.>>
Lo importante es que el ámbito de la dirección no cambia nunca: las direcciones globales siguen siendo globales y las direcciones locales siguen siendo locales, por lo que el bit se invierte por conveniencia, por lo que el valor del bit debe ser invertido también.
Podemos ver esta conversión en acción cuando asignamos una dirección IPv6 a una interfaz de router:
Después de asignar una dirección IPv6 EUI‐64 a la interfaz, podemos verificar que el ID de interfaz se ha elaborado a partir de la dirección MAC en el proceso descrito, tanto para el asignado y la dirección local de enlace:
5.4. SLAAC (STATELESS ADRESS AUTOCONFIGURATION ‐ AUTOCONFIGURACIÓN DE DIRECCIONES SIN ESTADO).
Autoconfiguración sin estado de direcciones (SLAAC) es un mecanismo de descubrimiento de hosts, pero es importante y lo suficientemente complejo como para tener que explicarlo con algo más de detalle.
SLAAC es uno de los aspectos más importantes de IPv6. Será clave para los despliegues de gran número de teléfonos IP, sensores, televisores inteligentes, reproductores de MP3, ordenadores conectados en una red doméstica, etc., lo que se conoce como Internet de las cosas.
MP 09 – Tema 2. Protocolo IPv6. Página 20
Podemos destacar tres grandes puntos sobre esto:
SLAAC es un método automático de obtener la dirección global unicast.
No es necesario disponer de servidor DHCP.
Sólo informa del prefijo de red y del router por defecto.
SLAAC no está tan bien adaptado a los nodos como un PC en una red corporativa, donde son necesarias las cosas, como la agrupación de direcciones IP dentro de un "/ 64" por grupos de organización, y las direcciones IP administradas centralmente. SLAAC es inherentemente un mecanismo descentralizado (a diferencia de DHCPv4 en IPv4).
Los routers de subred envían Router Advertisement mensajes, y los nodos internos generan de forma autónoma direcciones globales sobre la base de esa información. EL nodo central no está implicado en esa generación aparte de suministrar los prefijos válidos en la subred. El router no sabe lo que cada nodo ha generado. Es por ello que se trata de "apátrida" (sin Estado), donde la información centralizada es mantenida por los routers.
Los nodos IPv6 pueden configurarse a sí mismos automáticamente cuando son conectados a una red ruteada en IPv6 usando los mensajes de descubrimiento de routers de ICMPv6. La primera vez que son conectados a una red, el nodo envía una solicitud de router de link‐local usando multicast pidiendo los parámetros de configuración; y si los routers están configurados para esto, responderán este requerimiento con un anuncio de router (router advertisement) que contiene los parámetros de configuración de capa de red.
Si la autoconfiguración de direcciones libres de estado no es adecuada para una aplicación, es posible utilizar Dynamic Host Configuration Protocol para IPv6 (DHCPv6) o bien los nodos pueden ser configurados en forma estática.
Los routers presentan un caso especial de requerimientos para la configuración de direcciones, ya que muchas veces son la fuente para información de autoconfiguración, como anuncios de prefijos de red y anuncios de router. La configuración sin estado para routers se logra con un protocolo especial de renumeración de routers.
SLAAC permite a cualquier nodo compatible con IPv6 generar de forma autónoma una o más direcciones globales únicas IPv6 Unicast (o incluso direcciones locales únicas). SLAAC depende de un nodo en cada subred (una puerta de enlace) que actúa como una fuente de mensajes ND Router Advertisement (el componente de software que hace esto se le suele llamar un Router Advertisement Daemon).
Cualquier IPv6 router o firewall compatibles deben tener esta capacidad, pero tiene que ser configurado, y puede que sea necesario solicitarlas. No se requiere un servidor DHCPv6 para que actúe SLAAC, pero SLAAC puede informar a los nodos que un servidor DHCPv6 está disponible.
SLAAC hace uso de direcciones de enlace local en transmisiones de enlace local unicast y multicast. Ninguna de estas direcciones de enlace local (unicast y multicast) está bien desarrollada en IPv4, por lo que no es posible hacer una versión IPv4 de SLAAC.
Antes de que un nodo incluso comience haciendo SLAAC, generará de forma autónoma una dirección local de enlace IPv6. Esto no es parte de SLAAC, y ocurrirá aunque SLAAC está desactivado en un nodo. Esta dirección de enlace local se utiliza como dirección de origen para las diversas etapas de SLAAC.
MP 09 – Tema 2. Protocolo IPv6. Página 21
5.5. LINK‐LOCALUNICAST.
Ahora trataremos otra de las posibles formas de dirección IPv6 Unicast: la Link‐Local.
Una dirección Link‐Local o dirección de Enlace‐Local es una dirección IP creada únicamente para comunicaciones dentro de una subred local. Los routers no enrutan paquetes con direcciones de enlace local.
Las direcciones de enlace local se asignan usando los procedimientos de SLAAC. En IPv6, las direcciones de enlace local son necesarias para el funcionamiento interno de varios componentes del protocolo. Las direcciones de enlace local IPv6, están reservadas con el prefijo FE80::/10.
Los hosts IPv6 tienen habitualmente más de una dirección IPv6 asignada a cada interfaz de red. La dirección de enlace‐local es necesaria para operaciones de subcapa IPv6 dentro del Neighbor Discovery Protocol. Las direcciones de enlace local pueden asignarse automáticamente (stateless, sin estado) o por DHCPv6.
La dirección se crea a partir del Prefijo de Red y la Dirección MAC del interfaz. La asignación de direcciones de enlace local IPv6 implica automáticamente la presencia en este prefijo de red, a diferencia de las direcciones de otros ámbitos.
IPv6 introduce significados adicionales a la asignación de direcciones a interfaces de red. Mediante los avisos NDP de rangos de red un router o servidor dedicado puede anunciar información de configuración a todos las interfaces conectados a la red, provocando asignaciones adicionales en dichos interfaces con propósitos de routing local o global.
Este proceso es también considerado a veces stateless (sin estado), dado que el servidor de rangos de red no recibe ni hace log de las asignaciones individuales. La unicidad (no duplicidad) se garantiza automáticamente por la metodología basada en direcciones MAC y por los algoritmos de detección de direcciones duplicadas.
IPv6 requiere que el sistema operativo asigne direcciones de enlace‐local a las interfaces de red aunque tenga direcciones operativas ya configuradas.
Una dirección única de enlace‐local tiene el prefijo FE80::/10 en notación CIDR estándar de IPv6.
MP 09 – Tema 2. Protocolo IPv6. Página 22
Podemos resumir los conceptos más importantes:
La dirección Link‐local se crea automáticamente, bien cuando se asigna una IPv6 global a la interfaz, o cuando introducimos el comando ipv6 enable.
Utilizada para comunicarse con los otros dispositivos en el enlace.
No es enrutable fuera del enlace.
Cada interfaz IPv6 tiene que tener como mínimo una dirección Link‐local.
Utilizada para:
Un host la utiliza para comunicarse en la red antes de tener una red IPv6 global de unicast.
Un host puede utilizar la IPv6 Link‐local del router como router por defecto.
Para compartir actualizaciones de enrutamiento entre routers.
5.6. DIRECCIONESMULTICAST.
Las direcciones multicast permiten identificar múltiples interfaces o nodos en una red; es decir, identifican un grupo de interfaces para múltiples hosts. Cuando un paquete es enviado a una dirección multicast es entregado a todas las interfaces del grupo identificadas con esa dirección; o sea, se entrega a todas las interfaces que se hayan unido al grupo multicast correspondiente.
Con este tipo de direcciones podemos comunicarnos con múltiples nodos de manera simultánea. Esta técnica es conocida como uno a mucho (one‐to‐many). A continuación podemos
ver un ejemplo de una dirección IPv6 Multicast: FF02:0:0:0:0:0:0:9.
Multicast tiene la habilidad de enviar un paquete único a destinos múltiples es parte de la especificación base de IPv6. Esto es diferente a IPv4, donde es opcional (aunque usualmente implementado).
Los primeros dos dígitos hexadecimales son FF, esto es lo que caracteriza a las direcciones multicast en IPV6.
MP 09 – Tema 2. Protocolo IPv6. Página 23
5.6.1. DelimitacióndelámbitomulticastenIPv6.
El formato de las direcciones IPV6 multicast es el siguiente:
En la figura se muestra el formato de una dirección multicast de IPv6. Los ocho primeros bits a 1 identifican que se trata de una dirección multicast.
Los cuatro bits siguientes (Flag) se utilizan como indicadores; de momento sólo se ha asignado significado al cuarto bit, que indica si se trata de una dirección permanente asignada por la IANA. O si se trata de una dirección temporal asignada localmente.
Los siguientes cuatro bits (Scope) se utilizan para indicar el ámbito de difusión, siendo equivalente a la delimitación de ámbito según la RFC 2365 en IPv4.
El resto de la dirección (112bits) se utiliza para especificar el grupo multicast.
Scope(0-F): valor que indica el ámbito o alcance de la emisión.
Puede haber 16 ámbitos diferentes.
El grupo multicast puede ser cualquiera.
Flag: 000T, donde: T = 0; dirección asignada de forma global y permanente.