Los ámbitos siguientes están
definidos en el documento RFC 2373:
Valor del campo de ámbito
|
Ámbito
|
1
|
Local del nodo
|
2
|
Local del vínculo
|
5
|
Local del sitio
|
8
|
Local de la organización
|
E
|
Global
|
- Id. de grupo
Por ejemplo, el tráfico con la dirección de multidifusión de FF02::2 tiene ámbito local del vínculo. Un enrutador IPv6 nunca reenvía este tráfico fuera del vínculo local.
El campo Id. de grupo identifica el grupo de multidifusión y es único en el ámbito. El tamaño de este campo es de 112 bits. Los Id. de grupo asignados de forma definitiva son independientes del ámbito. Los Id. de grupo transitorios sólo son pertinentes para un ámbito específico. Las direcciones de multidifusión en el intervalo de FF01:: a FF0F:: son direcciones conocidas reservadas.
Para identificar todos los nodos de los ámbitos local del nodo y local del vínculo, se han definido las direcciones de multidifusión siguientes
- FF01::1 (dirección para todos los nodos de ámbito local del nodo)
- FF02::1 (dirección para todos los nodos de ámbito local del vínculo)
Para identificar todos los
enrutadores de los ámbitos local del nodo, local del vínculo y local del sitio,
se han definido las direcciones de multidifusión siguientes:
- FF01::2 (dirección para todos los enrutadores de ámbito local del nodo)
- FF02::2 (dirección para todos los enrutadores de ámbito local del vínculo)
- FF05::2 (dirección para todos los enrutadores de ámbito local del sitio)
Con 112 bits en el Id. de grupo, es
posible tener 2112 identificadores de grupo. Sin embargo, debido a la forma en
que las direcciones IPv6 de multidifusión se asignan a direcciones MAC de
multidifusión de Ethernet, en el documento RFC 2373 se recomienda asignar el
Id. de grupo de los 32 bits de orden inferior de la dirección IPv6 de
multidifusión y establecer los restantes bits del Id. de grupo original en 0.
Al utilizar sólo los 32 bits de orden inferior del Id. de grupo, cada Id. de
grupo se asigna a una única dirección MAC de multidifusión de Ethernet.
Dirección de
nodo solicitado
La dirección de nodo solicitado
facilita la consulta eficaz de los nodos de la red durante la resolución de
direcciones. En IPv4, la trama Solicitud de ARP se envía a la difusión de nivel
MAC, con lo que afecta a todos los nodos del segmento de red, incluidos los que
no ejecutan IPv4. IPv6 utiliza el mensaje de solicitud de vecino para efectuar
la resolución de direcciones. Sin embargo, en lugar de utilizar la dirección
para todos los nodos de ámbito local del vínculo como destino del mensaje de
solicitud de vecino, que afectaría a todos los nodos IPv6 del vínculo local, se
utiliza la dirección de multidifusión de nodo solicitado. La dirección de
multidifusión de nodo solicitado consta del prefijo FF02::1:FF00:0/104 y los
últimos 24 bits de la dirección IPv6 que se esté resolviendo.
Por ejemplo, para el nodo con la dirección
IPv6 local del vínculo de FE80::2AA:FF:FE28:9C5A, la dirección de nodo
solicitado correspondiente es FF02::1:FF28:9C5A. Para resolver la dirección
FE80::2AA:FF:FE28:9C5A en su dirección de nivel de vínculo, un nodo envía un
mensaje de solicitud de vecino a la dirección de nodo solicitado de
FF02::1:FF28:9C5A. El nodo que utiliza la dirección de FE80::2AA:FF:FE28:9C5A
escucha el tráfico de multidifusión en la dirección de nodo solicitado y, para
las interfaces que corresponden a un adaptador de red físico, ha registrado la
dirección de multidifusión correspondiente en el adaptador de red.
El resultado de utilizar la
dirección de multidifusión de nodo solicitado es que la resolución de
direcciones, que suele producirse en un vínculo, no necesita utilizar un
mecanismo que afecte a todos los nodos de la red. De hecho, son muy pocos los
nodos que se ven afectados durante la resolución de direcciones. En la
práctica, debido a la relación entre la dirección MAC de Ethernet, el Id. de
interfaz IPv6 y la dirección de nodo solicitado, ésta actúa como una dirección
de pseudounidifusión para lograr una resolución de direcciones muy eficaz.
Direcciones
IPv6 de difusión por proximidad
En una dirección de difusión por
proximidad se identifican varias interfaces. Con la topología de enrutamiento
adecuada, los paquetes dirigidos a una dirección de difusión por proximidad se
entregan en una sola interfaz (la interfaz más próxima identificada en la
dirección). Dicha interfaz se define como la más próxima en términos de
distancia de enrutamiento. Una dirección de multidifusión se utiliza para la
comunicación de uno a muchos y la entrega en varias interfaces. Una dirección
de difusión por proximidad se utiliza para la comunicación de uno a uno de
muchos y la entrega en una sola interfaz.
Para facilitar la entrega en el
miembro más próximo del grupo de difusión por proximidad, la infraestructura de
enrutamiento debe conocer las interfaces que tienen asignadas direcciones de
difusión por proximidad y su distancia en términos de métrica de enrutamiento.
Por el momento, las direcciones de difusión por proximidad sólo se utilizan
como direcciones de destino y sólo se asignan a enrutadores. Las direcciones de
difusión por proximidad se asignan desde el espacio de direcciones de
unidifusión. El ámbito de una dirección de difusión por proximidad es el ámbito
del tipo de dirección de unidifusión desde el que se asigna la dirección de
difusión por proximidad.
Dirección de difusión por proximidad
de un enrutador de subred
La dirección de difusión por
proximidad de un enrutador de subred está predefinida y es obligatoria. Se crea
a partir del prefijo de subred de una interfaz dada. Para crear la dirección de
difusión por proximidad de un enrutador de subred, se fijan los valores adecuados
para los bits del prefijo de subred y los bits restantes se establecen en 0. A
todas las interfaces de enrutador conectadas a una subred se les asigna la
dirección de difusión por proximidad de un enrutador de dicha subred. La
dirección de difusión por proximidad de enrutador y subred se utiliza para
comunicarse con uno de varios enrutadores conectados a una subred remota.
Direcciones para hosts y enrutadores
Un host IPv4 con un solo adaptador
de red tiene generalmente una única dirección IPv4 asignada al adaptador. Sin
embargo, un host IPv6 suele tener varias direcciones IPv6, aunque sólo tenga
una interfaz.
Un host IPv6 puede tener asignadas
las direcciones de unidifusión siguientes:
- Una dirección local del vínculo para cada interfaz
- Direcciones de unidifusión para cada interfaz (que puede ser una dirección local del sitio y una o varias direcciones globales)
- La dirección de bucle de retroceso (::1) para la interfaz de bucle de retroceso
Los hosts IPv6 típicos son
lógicamente hosts múltiples porque tienen al menos dos direcciones con las que
pueden recibir paquetes. Cada host tiene una dirección local del vínculo para
el tráfico del vínculo local y una dirección global o local del sitio
enrutable.
Además, cada host escucha el tráfico
de las siguientes direcciones de multidifusión:
- La dirección para todos los nodos de ámbito local del nodo (FF01::1)
- La dirección para todos los nodos de ámbito local del vínculo (FF02::1)
- La dirección de nodo solicitado de cada dirección de unidifusión en cada interfaz
- Las direcciones de multidifusión de los grupos unidos a cada interfaz
Un enrutador IPv6 puede tener
asignadas las direcciones de unidifusión siguientes:
- Direcciones de unidifusión para cada interfaz (que puede ser una dirección local del sitio y una o varias direcciones de unidifusión globales agregables)
- La dirección de bucle de retroceso (::1) para la interfaz de bucle de retroceso
Un enrutador IPv6 puede tener
asignadas las direcciones de difusión por proximidad siguientes:
- Una dirección de difusión por proximidad de un enrutador de subred para cada subred
- Direcciones de difusión por proximidad adicionales (opcional)
Además, cada enrutador escucha el
tráfico de las siguientes direcciones de multidifusión:
- La dirección para todos los nodos de ámbito local del nodo (FF01::1)
- La dirección para todos los enrutadores de ámbito local del nodo (FF01::2)
- La dirección para todos los nodos de ámbito local del vínculo (FF02::1)
- La dirección para todos los enrutadores de ámbito local del vínculo (FF02::2)
- La dirección para todos los enrutadores de ámbito local del sitio (FF05::2)
- La dirección de nodo solicitado de cada dirección de unidifusión en cada interfaz
- Las direcciones de los grupos unidos a cada interfaz
Identificadores
de interfaz de IPv6
Los últimos 64 bits de una dirección
IPv6 corresponden al identificador de la interfaz, que es único para el prefijo
de 64 bits de la dirección IPv6. Las formas de determinar un identificador de
interfaz son las siguientes:
- En el documento RFC 2373 se indica que todas las direcciones de unidifusión que utilicen los prefijos del 001 al 111 deben utilizar también un identificador de interfaz de 64 bits derivado de la dirección EUI-64 (<i>Extended Unique Identifier</i> o Identificador único extendido).
- En el documento RFC 3041 se describe un identificador de interfaz generado aleatoriamente que cambia al cabo del tiempo para proporcionar un nivel de anonimato.
- Un identificador de interfaz que se asigna durante la configuración automática de direcciones con estado (por ejemplo, mediante DHCPv6). Los estándares DHCPv6 se están definiendo actualmente. En la familia de Windows Server 2003 y en Windows XP, el protocolo IPv6 no admite la configuración de direcciones con estado ni DHCPv6.
- Un identificador de interfaz configurado manualmente.
- Identificadores de interfaz basados en direcciones EUI-64
El Institute of Electrical and
Electronic Engineers (IEEE) define la dirección EUI-64 de 64 bits. Las
direcciones EUI-64 se asignan a un adaptador de red o se derivan de las
direcciones IEEE 802.
Direcciones IEEE 802
Los identificadores de interfaz
tradicionales para los adaptadores de red utilizan una dirección de 48 bits que
se llama dirección IEEE 802. Esta dirección consta de un Id. de compañía
(también llamado Id. de fabricante) de 24 bits y un Id. de extensión (también
llamado Id. de tarjeta) de 24 bits. La combinación del Id. de compañía, que se
asigna de forma única a cada fabricante de adaptadores de red, y el Id. de
tarjeta, que se asigna de forma única a cada adaptador de red en el momento del
ensamblaje, genera una dirección única global de 48 bits. Esta dirección de 48
bits también se denomina dirección física, de hardware o de control de acceso a
medios (MAC, <i>Media Access Control</i>).
Universal o local (U/L)
El bit U/L es el séptimo bit del primer byte y se utiliza para determinar si la
dirección se administra de forma universal o local. Si el bit U/L está
establecido en 0, la administración de la dirección corresponde a IEEE,
mediante la designación de un Id. de compañía único. Si el bit U/L está
establecido en 1, la dirección se administra de forma local. El administrador
de la red ha suplantado la dirección de fábrica y ha especificado una dirección
distinta.
Individual o grupo (I/G)
El bit I/G es el bit de orden inferior del primer byte y se utiliza para
determinar si la dirección es individual (unidifusión) o de grupo (multidifusión).
Si está establecido en 0, la dirección es de unidifusión. Si está establecido
en 1, la dirección es de multidifusión.
En una
dirección típica de adaptador de red 802.x, los bits U/L e I/G están
establecidos en 0, lo que corresponde a una dirección MAC de unidifusión
administrada de forma universal.
Direcciones IEEE EUI-64
La dirección IEEE EUI-64 representa un nuevo estándar para el direccionamiento
de interfaces de red. El Id. de compañía sigue teniendo 24 bits de longitud,
pero el Id. de extensión tiene 40 bits, por lo que se crea un espacio de
direcciones mucho mayor para los fabricantes de adaptadores de red. La
dirección EUI-64 utiliza los bits U/L e I/G de la misma forma que la dirección
IEEE 802.
Para crear una dirección EUI-64 a partir de una dirección IEEE 802, los 16 bits
de 11111111 11111110 (0xFFFE) se insertan en la dirección IEEE 802 entre el Id.
de compañía y el Id. de extensión. En la siguiente ilustración se muestra la conversión
de una dirección IEEE 802 en una dirección EUI-64.
Asignación
de direcciones EUI-64 a identificadores de interfaz IPv6
Para obtener el identificador de
interfaz de 64 bits para las direcciones IPv6 de unidifusión, se complementa el
bit U/L de la dirección EUI-64 (si es 1, se establece en 0; y si es 0, se
establece en 1). En la ilustración siguiente se muestra la conversión de una
dirección EUI-64 de unidifusión administrada de forma universal.
Para obtener un identificador de interfaz IPv6 a partir de una dirección
IEEE 802, primero se debe asignar la dirección IEEE 802 a una dirección EUI-64
y, después, complementar el bit U/L. En la ilustración siguiente se muestra el
proceso de conversión de una dirección IEEE 802 de unidifusión administrada de
forma universal.
Ejemplo de conversión de una
dirección IEEE 802
El host A tiene la dirección MAC de
Ethernet de 00-AA-00-3F-2A-1C. Primero, se convierte al formato EUI-64
insertando FF-FE entre el tercer y cuarto bytes, con el resultado de 00-AA-00-FF-FE-3F-2A-1C.
Después, se complementa el bit U/L, que es el séptimo bit del primer byte. El
primer byte en formato binario es 00000000. Al complementar el séptimo bit, se
convierte en 00000010 (0x02). El resultado final es 02-AA-00-FF-FE-3F-2A-1C que,
cuando se convierte a notación hexadecimal con dos puntos, da como resultado el
identificador de interfaz 2AA:FF:FE3F:2A1C. En consecuencia, la dirección local
del vínculo correspondiente al adaptador de red que tiene la dirección MAC de
00-AA-00-3F-2A-1C es FE80::2AA:FF:FE3F:2A1C.
Identificadores de interfaz de
direcciones temporales
En la actual red Internet basada en
IPv4, un usuario típico de Internet conecta con un proveedor de servicios
Internet (ISP) y obtiene una dirección IPv4 mediante el Protocolo punto a punto
(PPP, <i>Point-to-Point Protocol</i>) y el Protocolo de control de
protocolo Internet (IPCP, <i>Internet Protocol Control Protocol</i>).
Cada vez que el usuario se conecta, obtiene una dirección IPv4 distinta. Debido
a esto, es difícil hacer un seguimiento del tráfico de un usuario en Internet
sobre la base de la dirección IP.
En las conexiones de acceso
telefónico basadas en IPv6, se asigna al usuario un prefijo de 64 bits después
de realizar la conexión mediante descubrimiento de enrutadores y configuración
automática de direcciones sin estado. Si el identificador de interfaz siempre
se basa en la dirección EUI-64 (derivada de la dirección IEEE 802 estática), es
posible identificar el tráfico de un nodo específico independientemente del
prefijo, por lo que resulta fácil hacer un seguimiento de un usuario específico
y del uso que hace de Internet. Para solucionar este problema y proporcionar un
nivel de anonimato, en el documento RFC 3041 se describe un identificador de
interfaz IPv6 alternativo que se genera aleatoriamente y cambia al cabo del
tiempo.
El identificador de interfaz inicial
se genera mediante números aleatorios. En los sistemas IPv6 que no pueden
almacenar información de historial para la generación de futuros valores de
identificador de interfaz, se genera un nuevo identificador de interfaz
aleatorio cada vez que se inicializa el protocolo IPv6. En los sistemas IPv6
que tienen capacidades de almacenamiento, se almacena un valor de historial y,
al inicializar el protocolo IPv6, se crea un nuevo identificador de interfaz
mediante el proceso siguiente:
- Se recupera el valor de historial almacenado y se anexa el identificador de interfaz basado en la dirección EUI-64 del adaptador.
- Se calcula el algoritmo hash de cifrado unidireccional de Síntesis del mensaje 5 (MD5, <i>Message Digest-5</i>) con la cantidad del paso 1.
- Se guardan los últimos 64 bits del algoritmo hash MD5 calculado en el paso 2 como valor de historial para el siguiente cálculo de identificador de interfaz.
- Se toman los primeros 64 bits del algoritmo hash MD5 calculado en el paso 2 y el séptimo bit se establece en cero. El séptimo bit corresponde al bit U/L que, cuando está establecido en 0, indica un identificador de interfaz administrado de forma local. El resultado es el identificador de interfaz.
- Las duraciones incluidas en la opción Información de prefijo del mensaje de anuncio de enrutador recibido.
- Valores locales predeterminados de 1 semana para la duración válida y 1 día para la duración preferida.
Cuando
caduca la duración válida de la dirección temporal se genera un nuevo
identificador de interfaz y una nueva dirección temporal.
En la familia de Windows Server 2003, el protocolo IPv6 no crea direcciones
temporales para los prefijos de direcciones globales de forma predeterminada.
Puede modificar esta configuración predeterminada mediante el comando netsh
interface ipv6 set privacy state=enabled.
IPv6 y aplicaciones de red
Compatibilidad con Windows Sockets
Los cambios en las
funciones existentes de Windows Sockets para IPv6 están documentados en RFC 2553,
"Basic Socket Interface Extensions for IPv6" (Extensiones básicas de
la interfaz de sockets para IPv6). El protocolo IPv6 para la familia Windows
Server 2003 admite la especificación descrita en el documento RFC 2553 con las
excepciones siguientes:
- Los archivos de encabezado enumerados en el documento RFC no se aplican a la familia Windows Server 2003. Los archivos de encabezado de la familia Windows Server 2003 son Winsock2.h y Ws2tcpip.h.
- La estructura de sockets de la familia Windows Server 2003 no incluye el miembro sa_len. Por lo tanto, la sección 3.3 es aplicable, pero la sección 3.4 no lo es.
- Las direcciones asignadas a IPv4, tal como se describen en la sección 3.7, no se admiten.
- Las funciones de identificación de la interfaz que se describen en la sección 4 no se admiten.
- Las secciones de la 6.1 a la 6.3 y la sección 6.6 no se admiten porque el Grupo de trabajo de ingeniería de Internet (IETF, <i>Internet Engineering Task Force</i>) va a declararlas obsoletas.
En el desarrollo de
aplicaciones IPv6 para Winsock, son necesarios los elementos siguientes:
- SDK de la plataforma de Microsoft (enero de 2000 o posterior)
- Microsoft Visual C++ 6.0 o posterior
- Protocolo IPv6 para la familia Windows Server 2003
No hay comentarios:
Publicar un comentario