IPv6: Evolución y Características Clave
IPv6: Evolución y Características Clave
CAPÍTULO 4
INTERNET - IPv6
IPv6 llegó con campos de direcciones fuente y destino de 128 bits, es decir,
[Link].[Link].[Link].456 direcciones (67 mil billones de direcciones
por cada milímetro cuadrado de superficie del planeta), lo que supone un margen suficiente amplio
de maniobra durante bastante tiempo y no ocurriera lo que Vint Cert pensó en la década de los 70 del
siglo pasado; al crear IPv4 con un campo de direcciones de 32 bits y considerar que con 4.300 millones
direcciones serían suficientes.
En la Figura 4.43 se muestra una comparación de la gama de direcciones entre IPv4 e IPv6.
La transición a IPv6 ha sido un proceso lento que ha durado varios años, pero ya el 8 de Junio del
2011 se hizo la prueba de fuego con el primer Día Mundial de IP v6 ( World IPv6 Day), donde los cien
sitios web más visitados del mundo (Yahoo!, Facebook, Bing, Akamai, Google y otros) durante 24
horas ofrecieron sus servicios bajo direcciones IPv6 para comprobar que todo marcha correctamente
y que esta transición con su avance, apenas afecta a los usuarios.
El 6 de junio de 2012 quedó en la historia como el día en que Internet cambió para siempre y se
comenzó a usar en forma masiva IPv6,
El Lanzamiento Mundial de IPv6 consistió en el mayor esfuerzo global para habilitar la nueva
tecnología de la red. Desde ese día miles de sitios ofrecen su contenido y pueden ser accedidos a
través del protocolo IPv6. Las principales organizaciones y compañías de Internet de todo el mundo
(proveedores de acceso, proveedores de servicios, fabricantes de hardware, sistemas operativos y de
equipos de redes domésticas) se involucraron en la iniciativa y comenzaron a utilizar el nuevo protocolo
de Interconexión.
Durante años ha estado ocurriendo la transición de IPv4 a IPv6, pero no queda ninguna duda de que
el siglo XXI es el siglo de IPv6.
Se puede resumir que la aparición del protocolo IPv6 está dado por las insuficiencias de IPv4:
Agotamiento de direcciones
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
73
El diseño de IPv6, como es lógico influenciado por IPv4, dejando lo malo y tomando lo bueno, teniendo
el mismo entre sus aspectos más significativos:
Un formato sencillo
Etiqueta de flujo
El soporte de extensiones y opciones mejoradas
Extensiones de Autenticación y Seguridad
Incremento del campo de dirección a 128 bits.
Autoconfiguración de las direcciones IP.
Enrutamiento de multidifusión mejorado.
Incorporación del direccionamiento tipo Anycast
La nueva estructura de la cabecera del protocolo IP versión 6 se caracteriza principalmente por dos
particularidades:
1. Direcciones de 128 bits. Se ha creado una nueva estructura de direccionamiento que aumenta
su tamaño de 32 bits a 128 bits. Este aumento es consecuencia del gran aumento que ha sufrido
INTERNET en los últimos años, agotando el número de direcciones existentes y colapsando las
tablas de encaminamiento de los Enrutadores (Routers).
2. Encabezado de longitud fija. Con el objetivo de minimizar el tiempo necesario para procesar
y encaminar los paquetes por INTERNET, se adopta un formato fijo. De esta forma se agiliza el
tráfico de paquetes y se suprimen opciones poco utilizadas. No obstante se mantiene la
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
74
posibilidad de especificar opciones, pero ya sin formar parte de la cabecera IP como ocurría
anteriormente.
El protocolo IP versión 6 sigue siendo al igual que las versiones anteriores, un protocolo no fiable y
sin conexión.
El campo de Límite e Saltos (Hop Limit), consta de 8 bits que indican el número máximo de
Enrutadores (Routers) que puede atravesar un paquete hasta llegar a su destino. Este campo es el
equivalente al tiempo de vida (TTL) de la versión 4.
Cuando un paquete llega a un Enrutador y es conducido hacia otro Enrutador, este campo es
disminuido en una unidad. Este campo es necesario para evitar que los paquetes circulen infinitamente
por la red, eliminándose al llegar a 0 (su valor máximo es de 2^8 = 256).
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
75
De este tamaño podemos deducir que para que exista comunicación entre dos estaciones conectadas
a INTERNET deben de estar alejadas como máximo por 255 saltos.
Es sorprendente que aunque se haya ampliado considerablemente (de 32 bits a 128 bits) el número
de estaciones que pueden conectarse a INTERNET, se mantenga la esperanza de que la distancia
entre dos estaciones no pasará ese valor.
Los protocolos de nivel superior (TCP, UDP...) pueden a su vez implementar algún tipo de control
sobre los paquetes duplicados o huérfanos, utilizando por ejemplo un sistema de control del tiempo
usando relojes con marcas de tiempo (timestamps) como se define en [RFC1323].
Fig. 4.46 Paquete IPv6 con cabecera de 40 Bytes y la extensión de Cabecera (NH)
A los paquetes IPv6 con carga (payload) superiores a 65535 octetos (Bytes) se les denomina
Jumbogramas, aspecto que se abordará más adelante.
Las extensiones de cabecera son de longitud variable y dentro de cada una de ella va a estar presente
el campo de “Próxima Cabecera” (Next Header).
Este campo tiene valores compatibles con aquellos especificados por el campo de protocolo de IP
versión 4 pero con algunas diferencias. En IPv6 se definen una serie de cabeceras de extensión que
se colocan justo después de los datos en forma de cadena (daisy chain) y que permiten al usuario
personalizar el tipo de paquete. De tal forma que un paquete puede tener varias extensiones de
cabecera tan solo indicando en el campo de siguiente cabecera de cada una de ellas el tipo de la
cabecera que vendrá a continuación, tal como se muestra en la Fig.4.47.
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
76
A continuación se muestran valores típicos decimales del campo NH para indicar las extensiones de
cabeceras:
Las extensiones de cabecera de un paquete IPv6, pueden ser una o varias cabeceras consecutivas
pero siguiendo un orden que es importante, y pese a no existir un formato rígido para establecer este
orden, en la RFC 2460 se recomienda el orden siguiente:
1. Extensión de Cabecera de Opciones entre saltos (Hop-by-hop Options Header).
2. Extensión de Cabecera de Opciones de destino (Destination Options Header).
3. Extensión de Cabecera de Encaminamiento (Routing Header).
4. Extensión de Cabecera de Fragmentación (Fragment Header).
5. Extensión de Cabecera de Autenticación (Authentication Header).
6. Extensión de Cabecera de Encapsulado Seguro (Encapsulation security payload)
7. Extensión de Cabecera de Opciones (Destination Options Header).
8. Cabecera de Protocolo de nivel superior (TCP, UDP...).
O sea que las extensiones de cabecera tienen que ser procesadas en orden, tal como se muestra en
la Figura 4.48.
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
77
La extensión de cabecera HBH es utilizada para especificar los parámetros de entrega en cada salto
de la trayectoria de destino. La misma es identificada por el valor 0 en el campo NH del encabezado
de IPv6.
En la Figura 4.49 se muestra la estructura de los campos de Extensión de la cabecera HBH, constando
la misma de tres partes: Próxima cabecera, Longitud de extensión de la cabecera y las opciones.
con los requerimientos de alineación. La Opción Pad1 no tiene requerimientos de alineación y el campo
de Tipo (Option Type = 0). La misma consta de un simple octeto y no tiene nada en los campos de
longitud y valor. Con el tipo de opción a 0 la opción es saltada si no es reconocida y esta no permite
cambios en tránsito.
Opción PadN
También está definida en la RFC 2460 y es utilizada para inserta dos o más octetos de relleno tal que
los encabezados de las opciones HBH y de Destino caigan en la frontera de 8 Bytes y puedan
acomodar las exigencias de alineación de las opciones.
Esta opción PadN tiene un “1” en el campo de Tipo, el campo de Longitud es fijado con el numero de
octetos de rellenos presentes, seguidos de 0 o más octetos de relleno. Con el campo de Tipo en “1” la
opción es saltada si no es reconocida y esta no es permitida que cambie en tránsito.
Fig. 4.52 Encabezado de un paquete IPv6 con cabecera HBH para Jumbogramas
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
79
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
80
corresponden a los Enrutadores por los que debe pasar el paquete hasta llegar a su destino, tal como
se muestra en la Figura 4.54.
El tipo de Enrutamiento (Routing Type) es la política que se debe seguir en el encaminamiento, la tipo
0 indica Enrutamiento Fuente (Source Routing). En este tipo de enrutamiento fuente, si el Enrutador
aparece en la lista de direcciones especificadas, se quita de la lista, ejecuta el decremento del campo
de segmentos restantes y busca cual de la lista está mas cerca para enviar el paquete. Si no aparece
en la lista, se limita a encaminarlo ignorando esta opción).
El número de Segmentos Pendientes (Segments Left) es un valor que indica el número de direcciones
de encaminamiento que aún restan. De esta forma, al llegar a 0 significa que el paquete ha alcanzado
su destino.
A continuación en la Figura 4.55 se muestra un ejemplo de Enrutamiento Fuente y cómo se utiliza la
extensión de cabecera de enrutamiento.
El primer campo de Cabecera Siguiente (Next Header) va aparecer al inicio, el mismo indica el
siguiente tipo (si hay) de cabecera que nos encontraremos, tal como se muestra en la Figura 4.56.
Tal como se muestra en la Figura 4.58 el primer campo indica la Cabecera Siguiente (Next Header)
que nos encontraremos tras esta. A continuación nos encontramos la Longitud de los datos (Payload
Length) especificado en palabras de 32 bits y un campo de 16 bits reservado que debe ser inicializado
a 0. Después nos encontramos con el índice de Parámetros de Seguridad (Security Parameters Index)
y el campo de Número de Secuencia (Sequence Number field) que ocupan 32 bits cada uno.
Finalmente vienen los Datos de Autenticación (Authentication Data) que es un campo de longitud
variable, lo que puede observarse en la Figura 4.59.
Tal y como se ha visto, un paquete puede incluir más de una Extensión de cabecera. Esto no debería
suponer ningún problema para los Enrutadores intermedios encargados de encaminarlo hasta su
destino. De esta forma, las cabeceras son procesadas por los Enrutadores a medida que estas llegan,
sin ineficiencias. Este sistema de proceso ha sido comparado con las distintas capas de una cebolla
(onion-peeling), dónde cada cabecera es una capa.
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
83
De todas formas es importante señalar que hay algunas cabeceras con mayor importancia que otras,
como la Cabecera de Autenticación (Authentication Header) que obliga a descartar todo el paquete si
es incorrecta o la Cabecera de Fragmentación (Fragmentation Header) que obliga a la recomposición
de los paquetes.
Deben de consultarse las nuevas RFC 6564 y 5871 que introducen aspectos nuevos en las
extensiones de los encabezados actualizando la RFC 2460.
Hay dos formas convencionales con que se pueden representar las direcciones IP V6 como cadenas
de texto:
- La forma preferida es x:x:x:x:x:x:x:x , donde las x son cuatro dígitos hexadecimales de las 8 partes
de 16 Bits con que cuenta una dirección.
De esta forma se puede utilizar la notación hexadecimal, que permite una representación más
compacta que una ristras de 128 unos y ceros.
[Link]
- Una segunda forma es la abreviada, debido a algunos métodos de situar ciertos estilos de IP V6,
especialmente para casos de direcciones que tienen largas cadenas de Bits “0”. Permitiendo esa forma
compactar estas direcciones tan voluminosas, se aceptaron una serie de simplificaciones:
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
84
En la Figura 4.61 se muestra un ejemplo de representar mediante dos opciones una dirección IPv6
de forma abreviada. En el centro la dirección IPv6 normal y en la parte superior la primera opción y en
la parte inferior una segunda opción.
Se puede hacer de forma abreviada de una forma u otra pero no se pueden repetir más de una vez
los doble puntos para abreviar.
Para una dirección IPv4 tal como se muestra a continuación a modo de ejemplo la dirección: [Link]
se representará como -> [Link][Link] , permitiéndose el uso de la notación decimal y en
forma comprimida sería ::[Link], pero sin embargo esta no es la forma permitida de representación.
En IP V6 va a ser muy común el empleo de prefijos de direcciones IPV6, similar a la forma de prefijos
utilizados en IP V4 cuando se escribían direcciones sin clases bajo la notación de CIDR.
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
85
Donde la dirección IPv6 será escrita en una de las formas especificadas con anterioridad y la longitud
del prefijo un valor decimal que indica cuantos Bits contiguos de izquierda a derecha comprenden el
mismo.
Si tenemos el prefijo de 40 bits que abarca los dígitos hexadecimales [Link] en la dirección
[Link] se especificará como [Link]/40.
Se debe tener mucho cuidado con las simplificaciones siempre que se indican prefijos.
En la RFC 5952 de 2010, se actualiza la RFC 4291 de 2006, dado que la misma era muy flexible en
la representación de una dirección IPv6 y ello ha provocado una serie de problemas: búsqueda de
direcciones en hojas de cálculo, en ficheros de texto, en diagramas de redes, etc.
Por lo que se adoptaron una serie de decisiones en la RFC 5952 que tienen que cumplirse, tales como:
a) Los ceros delanteros tienen que ser suprimidos. Por ejemplo la dirección [Link] no
es aceptada y tiene que ser representada como [Link].
b) Un simple campo de 16 bits 0000 tiene que ser representado por 0.
c) El empleo del símbolo "::" tiene que ser utilizado a su máxima capacidad. Por ejemplo la
dirección [Link] tiene que ser recortada a [Link]. De forma análoga la
dirección [Link] no es aceptada debido a que el símbolo "::" podría haber sido utilizado
para producir una representación más corta [Link].
d) El símbolo "::" no tiene que ser utilizado para acortar un solo campo de 16 Bits a [Link] ejemplo
la representación de la dirección [Link] es correcta , pero la representación de
ella como [Link] no es correcta.
e) Cuando hay un opción alternativa en la colocación del símbolo "::" , la más larga de ellas con
campos de 16 Bits a 0 tiene que ser acortada. Por ejemplo en la dirección [Link],
la más larga tiene que ser acortada y quedar como [Link].
f) Cuando los campos de 16 Bits a 0 consecutivos tienen igual longitud , tal como se muestra a
continuación en la dirección [Link]), la primera secuencia de ceros tiene que ser
acortada , tal como se muestra a continuación a partir del ejemplo dado [Link].
g) Los caracteres "a", "b", "c", "d", "e" y "f" tienen que ser representados en letras
minúsculas en direcciones IPv6.
h) Hay muchas formas de combinar direcciones IPv6 y números de puertos. El estilo utilizando
corchetes [ ] debe ser utilizado, a modo de ejemplo se muestra a continuación una
representación de una dirección [Link] : 80.
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
86
Se pueden observar 4 enlaces (link) y tres subredes, estando los enlaces poblados por estaciones
(Host) y terminados por un Enrutador (Router). El enlace 4 es la red DMZ que termina en uno de sus
extremos con el Enrutador (Router) de Borde. Los enlaces 2 y 3 son administrados por la subred B,
mientras que el enlace 1 es administrado por la subred A y la subred C es adjunta a la DMZ sobre el
enlace 4.
Como se muestra en la figura, una red IPv6 tiene esencialmente los mismos componentes que una
red IPv4. Sin embargo en la terminología que emplea IPv6 hay diferencias con respecto a la
terminología utilizada por IPv4.
Luego vamos a utilizar los términos definidos en las RFC 2460:
- Nodo IPv6, es un dispositivo que implementa IPv6, con una dirección IPv6 y una interfaz que
está configurada para soportar IPv6. Este término genérico se aplica tanto a Estaciones (Host )
como a Enrutadores (Routers).
- Enrutador IPv6 (Router IPv6), es un nodo que conduce paquetes IPv6 que no están
explícitamente dirigidos hacia el mismo.
- Estación (Host) IPv6, es cualquier nodo que no es un Router, puede tener más de una interfaz
que esté configurada para soportar IPv6. Las estaciones no conducen paquetes.
- Enlace (link), es simple medio de red adjunta, limitada sobre sus extremos por un Enrutador
(Router).
- Vecino (Neighbor), es un nodo IPv6 que está sobre el mismo enlace que un nodo local.
- Subred IPv6, es el segmento administrado de una red IPv6. Los componentes de ella pueden
corresponderse con todos los nodos sobre el enlace igual que en IPv4. Es importante destacar
que IPv6 soporta subredes de múltiples enlaces (multilink), donde los nodos sobre más de un
enlace pueden ser componentes de una simple subred. Tal es el caso de la figura donde los
Enlaces 2 y 3 son componentes de la subred B
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
87
Las direcciones IP V6 son de 128 Bits y se utilizan para identificar interfaces y conjuntos de interfaces.
Para ello se establecen tres tipos de direcciones:
Única (Unicast): Identifica a un interfaz sencillo. Por lo que un paquete enviado a una dirección Única
es entregado a la interfaz identificada por la dirección de destino.
No hay direcciones de difusión (broadcast) en IP v6, su función es reemplazada por las direcciones de
Grupo o Multidifusión (multicast).
Es importante destacar que las direcciones IP v6 de cualquier tipo son asignadas a una interfaz y no
a nodos.
Una dirección IPv6 única (Unicast) se refiere a una simple interfaz. Cuando una interfaz pertenece a
un solo nodo, entonces esta dirección única puede ser utilizada también para identificar al nodo.
Toda interfaz requiere tener al menos una dirección Local de Enlace Única (Link Local unicast
address). Mientras que una simple interfaz puede tener múltiples direcciones IP V6 de cualquier tipo
(unicast, anycast and multicast).
Las RFC 5952 y 6052 actualizan la RFC 4291, también se analizarán más adelante otras RFC que
introducen nuevos aspectos en direcciones únicas y de grupos.
Para la identificación del tipo de direcciones IPv6 se utilizan los 8 Bits más significativos de la dirección,
tal como se muestra en la tabla siguiente:
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
88
Las Direcciones Locales de Sitios (Site Local Unicast) fueron desaprobadas, o sea declaradas no
necesarias en la RFC 4291, sin embargo hay otras direcciones únicas locales definidas con otros fines
en la RFC 4193 que se abordarán más adelante.
Cada una de ellas tiene un alcance limitado; para mostrar con más claridad la funcionalidad de las
direcciones se muestra la figura 4.63.
El grupo de direcciones Únicas (Unicast) representa aquellas direcciones que identifican un único
punto final en una comunicación.
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
89
En la Fig.4.64 veremos cómo representar una dirección Global Única, donde se utilizan n bits para
identificar la red (asignadas por una autoridad), m bits para identificar la subred y generalmente los
últimos 64 bits para identificar la interfaz.
Observe que se toma de ejemplo la dirección [Link]/32 acorde a la RFC 3849, que indica utilizar
ese prefijo para cuestiones de documentos. Por ello verán en la mayoría de los libros de texto el uso
de este prefijo.
En el mismo se muestran los 128 bits de la dirección IPv6, donde los primeros 48 bits,
[Link], contienen el prefijo de localización que representa la topología pública. Los
siguientes 16 bits, 0015, contienen la identificación de la subred (ID subnet), representando la topología
privada de la localización. Los 64 bits restantes mas a la derecha, [Link], contiene la
identificación de la interfaz (interface ID).
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
90
En realidad el prefijo de enrutamiento global es un valor que está jerárquicamente estructurado como
se aprecia en la figura y el mismo es un valor asignado a un sitio por una autoridad de registros
regionales (RIR) a un ISP o a una autoridad nacional. Siguiéndole después el identificador de la
Subred (subset ID), el cuál es un identificador del enlace dentro del sitio y posteriormente el
identificador de la interfaz.
Todas las direcciones Únicas Globales (GUA), aparte de aquellas que comiencen con ceros binarios,
tendrán un campo de identificación de la interfaz (ID Interface field) de 64 Bits. Mientras que las que
comiencen con ceros binarios no tendrán limitantes en el tamaño de la estructura de la ID de la interfaz.
Este es el caso de direcciones IP V4 empotradas como direcciones IPV6.
Para ampliar sobre las direcciones Únicas Globales puede referirse a la RFC 3587 que aún está
vigente.
Estas direcciones son designadas para ser utilizadas para direccionamiento sobre un simple enlace
con propósitos tales como configuración automática de direcciones, descubrimiento de vecinos o
cuando no hay Enrutadores presentes.
Por ejemplo las direcciones de enlace local son utilizadas para comunicarse entre estaciones sobre el
enlace, sobre un simple enlace de una red IPv6 sin la intervención o utilización de un Enrutador (por
ejemplo dentro de un segmento de LAN, una VLAN, etc.). Este tipo de direccionamiento puede ser
utilizado para alcanzar a un colega de una misma empresa en un edificio, considerando que están en
la misma LAN, sin necesidad de un Enrutador.
O sea que el alcance de una dirección Local de Enlace es del enlace y un Enrutador IPv6 no conducirá
tráfico de este tipo más allá del enlace. Una dirección Local de Enlace va a ser utilizada para descubrir
vecinos (Neighbor Discovery, RFC 2461) y este proceso es configurado automáticamente aún en la
ausencia de todas las otras direcciones.
Un Enrutador IPv6 no conduce tráfico de enlace local por detrás del enlace, para ello refiérase a la
Figura 4.62 donde se representan los componentes básicos de una red IPv6.
Es importante conocer el campo de acción de una dirección de Enlace-Local, y en la RFC 4007 se
define que la misma es para excepcionalmente identificar interfaces dentro de un simple enlace
solamente.
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
91
Que pasa que un nodo puede tener varias interfaces y es necesario un identificador de zona, también
conocido como identificador de alcance (ID scope).
Por lo que en la RFC 4007 se establece que los identificadores de zona son estrictamente locales al
nodo y se representan por <address% <zone_id>>.
En el sistema operativo Windows el identificador de zona para el enlace local es típicamente el
identificador de interfaz.
Por eso cuando se ejecuta el comando ipconfig /all en Windows se muestran las direcciones IPv6 de
enlace local con un % para identificar las interfaces a las cuales han sido asignadas las direcciones.
A modo de ejemplo observe la dirección: fe80::ffff:ffff:fffd%5
Direcciones Únicas locales - (Unique Local IPv6 Unicast Addresses, RFC 4193)
Estas direcciones tienen alcance global dentro de una organización o empresa, pero que es para
comunicaciones locales dentro de un sitio y las mismas no serán ruteadas en Internet. O sea que no
sirven para navegar en Internet.
Las direcciones únicas locales son creadas utilizando una asignación seudo aleatoria de
identificador global con un prefijo, cuyo formato es el siguiente:
| 7 bits |1| 40 bits | 16 bits | 64 bits |
+--------+-+--------------+--------------+----------------------------+
| Prefix |L| Global ID | Subnet ID | Interface ID |
+--------+-+--------------+--------------+----------------------------+
Donde el Prefijo es fc00::/7 para su identificación como dirección única local
El bit L es fijado a 1 para indicar que es un prefijo asignado localmente.
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
92
Un identificador global de 40 Bits para crear prefijos únicos globales y un identificador de subredes
de 16 Bit, para identificar subredes dentro del sitio.
El identificador de interfaz es el definido ya en la RFC 4291y se abordará adelante.
El formato de este tipo de direcciones es muy sencillo debido a que toda la carga se centra en el
sistema de encaminamiento. De esta forma, para cada Enrutador debe guardar un solo registro que le
indica cual es el miembro más cercano a él del grupo especificado, y al recibir un paquete con una
dirección de destino Anycast comprobar la existencia de este registro especial en su tabla de
encaminamiento o encaminar normalmente el paquete (ver RFC 2526).
Este tipo de direcciones se caracteriza por ser comunes a un grupo de interfaces (típicamente sobre
diferentes nodos) de forma que un paquete enviado a esta dirección será distribuido a todos los
integrantes del grupo. Una interfaz puede pertenecer a un número cualesquiera de grupos de
multidifusión.
Estas direcciones tiene el formato mostrado en la Figura 4.68, donde podemos observar que la
misma tiene una estructura: ffXY:ZZZZ:ZZZZ:ZZZZ:ZZZZ:ZZZZ:ZZZZ:ZZZZ/16.
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
93
El símbolo X que agrupa un conjunto de 4 bits denominado banderas (Flags O/R/P/T) dónde se
especifican una serie de opciones, aunque actualmente los tres primeros están reservados y deben
ser inicializados a 0 y el cuarto denominado transitorio (transient) e especifica si la dirección es local y
una vez finalizada la comunicación debe liberarse (valor 0) o si la dirección es fija y debe conservarse
(valor 1).
La bandera P es definida en la RFC 3306 y la R en la RFC 3956.
El símbolo Y también agrupa 4 bits que definen el alcance (Scope) de la comunicación, evitando que
los paquetes de una videoconferencia local salga a Internet o viceversa. Los valores de Y son: 0
(reservado), 1 (interfaz local), 2 (enlace local), 4 (administración local), 8 (organización local), E
(enfoque global) y F (reservado).
Varias direcciones son reservadas a partir de los identificadores de grupos para indicar “todas las
estaciones” y “todos los enrutadores” dentro de una red.
El campo de Alcance indica la extensión de la difusión (broadcast) y a continuación podremos observar
las diferentes direcciones de difusión más conocidas:
Dirección Significado
FF01::1 Todas las direcciones en un nodo
FF02::1 Todas las direcciones sobre un enlace
FF01::2 Todas las direcciones de Enrutadores sobre el nodo
FF02::2 Todos los Enrutadores sobre el enlace
FF05::2 Todos los Enrutadores en la organización
Las direcciones de grupo (multicast) en IPv6 reemplazan todas las formas de direcciones de difusión
(broadcast) de IPv4.
En la RFC 7371 de 2014 se actualiza la Arquitectura de direcciones IPv6 de Multidifusión
(Updates to the IPv6 Multicast Addressing Architecture), siendo asumido como un estándar y la misma
sirve para actualizar las RFC 3306, 3956 y la 4291.
En ese documento se actualiza la arquitectura de direcciones de multidifusión para IPv6 redefiniendo
los Bits reservados como banderas genéricas. También este documento ofrece una clasificación
relativa al uso de estas banderas.
En la RFC 7371 se le hacen 2 actualizaciones a la RFC 3306 y 4 actualizaciones a la RFC 3956.
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
94
La dirección interna (Loopback Address) se define como 15 bytes nulos y un byte con el último bit a 1
([Link]). Esta dirección es interna y de ninguna forma puede circular por la red o ser dirección
de origen o destino de un paquete. Su utilidad viene dada para las estaciones que no dispongan de
una conexión de red y deseen simular el comportamiento de la conexión a una red mediante una
dirección fantasma que nunca saldrá del propio ordenador.
Las direcciones IP v6 compatibles con IP v4 fueron definidas para la transición a IPv6 y el formato de
ellas es como sigue;
| 80 bits | 16 | 32 bits |
+--------------------------------------+-------+-------------------------+
|0000...............................0000|0000 | Dirección IPv4 |
+--------------------------------------+-------+--------------------------+
Hay que señalar que la dirección IPv4 tiene que ser una dirección global única, para esta situación,
además de que ya esta forma es desaprobada, debido a que los mecanismos de transición no la
utilizan.
Las Direcciones IPv6 acotadas (mapped) con IP v4 es el utilizado actualmente para representar la
dirección de Nodos IP V4 como direcciones IP V6. El formato establecido en la RFC 4038 es el
siguiente:
| 80 bits | 16 | 32 bits |
+--------------------------------------+-----------------.--------------+
|0000..............................0000 | FFFF| IPv4 address |
+--------------------------------------+-------+------------------------+
- Todas las otras direcciones Anycast con las cuáles él ha sido configurado.
- Todas las direcciones de multidifusión de todos los Enrutadores.
Es importante conocer que la RFC 6434 amplia los requisitos que debe tener un nodo IPv6 (IPv6
Node Requirements).
Para obtener un identificador de interfaz de 64 bit para una dirección única IPv6, el Bit U/L en la
dirección EUI-64 es complementado. O sea si está a 1 en la dirección EUI-64 es pasado a 0 y si está
a 0 en la dirección EUI-64 es entonces fijado a 1.
La razón fundamental para complementar el bit U/L es el de ofrecer mayor comprensión sobre las
direcciones EUI-64 administradas localmente. Por ejemplo en un enlace punto a punto.
Sin embargo el caso de mayor interés es el convertir una dirección IEEE 802 para identificar una
interfaz en una dirección IPv6 única.
Luego los pasos a seguir son los siguientes:
- Primero acotar (mapped) la dirección IEEE 802 en una dirección EUI-64, tal como se muestra en
la figura 5.69.
- Insertar 0xFFFE
- Complementar el Bit U/L
.
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
96
De ahí que la componente Interfaz ID de una dirección IPv6 de unidifusión de 64 bits es capaz de
retener las diferentes variantes de direcciones MAC. O sea que la organización es relativamente simple
pues todas las direcciones MAC son convertidas al formato de 64 Bits y copiadas en el campo de
Interfaz ID con el bit U invertido, tal que el valor de “0” representa una dirección localmente asignada.
Estas direcciones únicas locales de enlace se construyen con el prefijo fe80::/10 y 64 bits que
representan la dirección física (MAC Address) de la tarjeta de red,
Es importante recordar que este proceso depende del sistema operativo, en el caso de Windows se
tiene que este es el comportamiento por defecto para IPv6 en Windows XP y Windows Server 2003.
Pero que para los sistemas operativos Windows Server 2012, Windows Server 2008 R2, Windows
Server 2008, Windows 8, Windows 7 y Windows Vista no es este, sino el que genera el identificador
de Interfaz de forma aleatoria y para poder aplicar este mecanismo hay que deshabilitarlo.
Con posterioridad en la RFC 4941 (Privacy extensions for Stateless Address Autoconfiguration)
se define un proceso para generar direcciones privadas o íntimas, con vistas a lograr una mayor
seguridad y protección de los identificadores de interfaz en el proceso SLAAC.
Las Direcciones Íntimas son derivadas de una dirección MAC tal como el proceso SLAAC, pero que
son pasadas a través de un algoritmo encriptado en una vía (1-way hash algorithm). Las mismas son
para cambiar en el tiempo, de ahí que su configuración tiene una duración o basada en políticas. Tales
como horas, días, en el arranque, en diferentes direcciones para diferentes aplicaciones o en los
diferentes criterios de valoración.
Muchos sistemas operativos implementan por defecto esta acción, por lo que habría que cancelar la
misma para poder apreciar el identificador ID de interfaz en formato EUI-64.
Un identificador de interfaz que es aleatoriamente generado para evitar los escaneos de direcciones
únicas en una subred. Este es el comportamiento por defecto para las interfaces IPv6 en los sistemas
operativos Windows Server 2012, Windows Server 2008 R2, Windows Server 2008, Windows 8,
Windows 7, and Windows Vista.
Para deshabilitar este comportamiento hay que utilizar los comandos siguientes:
Set-NetIPv6Protocol –Randomize Identifiers Disabled Windows PowerShell command (in Windows
Server 2012 and Windows 8) o el comando netsh interface ipv6 set global
randomizeidentifiers=disabled command.
Cuando este comportamiento es deshabilitado entonces IPv6 para Windows utilizara el identificador
de interfaz basado en el formato EUI-64.
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
97
Fig.4.70 Mapa del Mundo con las regiones que abarcan los RIR
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV
98
- Agregación, de forma tal que permita una asignación jerárquica del espacio de direcciones de
forma tal que asegure el tráfico de enrutamiento en Internet. Sin agregación las tablas de rutas
estarían fragmentadas y esto podría crear tremendos cuellos de botella.
- Preservación, de forma tal que el espacio de direcciones sea distribuido acorde a las necesidades.
- Equidad, de forma tal que la asignación de direcciones sea imparcial, sobre necesidades
verdaderas y no en planes de largo término.
- Minimizar la carga de forma que el proceso para la solicitud y recepción sea dinámico.
En la Figura 4.70 se muestra la jerarquía de asignación del espacio de direcciones IPv6 y las
políticas sobre los tamaños. La asignación IPv6 mínima actual de la IANA a un RIR es /12,
mientras que la mínima de un RIR a un NIR o un LIR/ISP es de /32. Mientras que el espacio de
direcciones asignado por un LIR/ISP a un usuario final varía entre /48 y /64.
El método basado en la topología de la red asigna un bloque de direcciones para todas las
localizaciones dentro de los límites de la red. Por ejemplo una empresa que le ha sido asignada el
prefijo [Link]/48 por su proveedor y tiene diferentes sitios a través de un país, tal que la
topología es dividida en 8 regiones. Por lo que se podría seleccionar los primeros 4 Bits de los 16
disponibles para subredes para identificar las regiones. Con este esquema la red podrían tener 16
regiones y cada región podría tener a su vez 4096 subredes (2 EXP 12).
El método basado en servicios o funciones permite asignar prefijos en base al tipo de servicio que es
ofrecido. Por ejemplo servicios de Voz sobre IP (VoIP), servicios de redes inalámbricas (WLAN), etc.
En muchas ocasiones se mezclan los métodos de asignación de direcciones IPv6, tal como se muestra
en la Figura 4.71.
En IPv6 también hay que tener en consideración la asignación de direcciones de las subredes IPv6
relacionadas con los números de las VLAN
Esto es principalmente en redes donde hay muchas subredes VLAN y ello facilita la simplificación de
la administración.
Los números de las VLAN emplean 12 Bit (o – 4096), mientras que los números de las subredes
emplean 16 Bits (considerando un prefijo de /48 para la organización).
Por lo que se pudieran utilizar los acercamientos siguientes a modo de ejemplo:
[Link] V V V V V V V V V V V V B B B B ::/ 64
[Link] B B B B V V V V V V V V V V V V ::/ 64
Sin embargo las direcciones IPv6 son escritas en notación hexadecimal, pero los números de las VLAN
son escritas en decimal. Tal que la aproximación anterior requiere de una conversión entre
hexadecimal y decimal, lo que oscurece la relación y niega la ventaja de simplificación.
Por lo que una aproximación preferible es tomar el número decimal de la VLAN y utilizar este en el
lugar del número hexadecimal de la subred.
En la aproximación anterior el tipo de uso (F) y la localización (L) no aparecen en la dirección IPv6, por
lo que no será posible optimizar las políticas de seguridad y las tablas de rutas
Sin embargo es posible combinar la codificación de la localización y el tipo de uso con el número de la
VLAN. Observe a continuación un ejemplo donde primero se codifica la localización y el tipo y después
el número de la VLAN.
V V V V V V V V V V V V
[Link] V V V V ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ::/ 64
L L L L T T T T B B B B
A continuación se muestra otro ejemplo de codificación del tipo de uso y posteriormente la localización
en el número de la VLAN, en los bits de la subred de las direcciones IPv6.
V V V V V V V V V V V V
[Link] V V V V ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ::/ 64
T T T T L L L L B B B B
Por la importancia del tema se resumen varias recomendaciones importantes cuando se construye el
plan de asignación de subredes IPv6:
Utilice solo prefijos /64 para los segmentos que tengan sistemas finales (host attached),
dado que en el direccionamiento IPv6 un /64 es el tamaño estándar de subred para
direccionar interfaces.
La excepción para el estándar /64 son las subredes utilizadas para los enlaces punto a
punto. En la RFC 6164 se establece que estos enlaces deben utilizar un /127, aunque el
uso de un /126 también se admite. Un /127 es posible debido a que IPv6 no tiene
direcciones de difusión (broadcast). Sin embargo la dirección con todos ceros en cada
subred es la dirección anycast de todos los enrutadores (Routers).
Para consistencia con el plan de direcciones todo enlace punto a punto puede serle
asignado un /64 pero configurado con un simple /127 desde esta asignación.
Un /126 permite que las direcciones de todos ceros (all-zeroes) sean saltadas, pero sin
embargo las direcciones 128 en cualquier subred son reservadas para direcciones
anycast (RFC 2526). Pero en la práctica esto no es problema.
Un /120, permite evitar todas las direcciones anycast reservadas.
Sin embargo un /112, permite evitar las direcciones anycast reservadas y tiene la ventaja
de que un valor hexadecimal de cuatro dígitos después de los dos puntos en la dirección
IPv6 identifican sistemas dentro de la subred.
Tome ventaja de la topología de la red y de los puntos de agregación naturales para
resumir la información de los prefijos.
Deje espacios en el plan de asignación de direcciones para futuros crecimientos
Agrupe la asignación de subredes en múltiplos de 4 bits (/48, /52, /56, /60 ), pues aunque
este método reduce la granularidad disponible en el plan de direcciones, pero mejora la
legibilidad de los prefijos de red.
Notas del Profesor Titular, Dr. C. Ing. Félix F. Alvarez Paliza, Dpto. Telecomunicaciones, UCLV