lunes, 13 de febrero de 2012


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 

  • 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.

  • Id. de grupo 
  • 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:
 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 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>).


 Los bits definidos en la dirección IEEE 802 son los siguientes:


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.



 Asignación de direcciones IEEE 802 a direcciones EUI-64

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:

  1. Se recupera el valor de historial almacenado y se anexa el identificador de interfaz basado en la dirección EUI-64 del adaptador. 
  2. 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. 
  3. 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. 
  4. 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.
 La dirección IPv6 resultante, basada en este identificador de interfaz aleatorio, se conoce como dirección temporal. Las direcciones temporales se generan para prefijos de direcciones públicas que utilizan configuración automática de direcciones sin estado. Las direcciones temporales se utilizan para el menor de los siguientes valores de duración válida y duración preferida:
  • 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.

 Herramientas para el desarrollo de aplicaciones IPv6
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