Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las direcciones de vínculo local y de sitio de IPv6 se denominan direcciones con ámbito. La API de Windows Sockets (Winsock) admite el miembro sin6_scope_id en la estructura sockaddr_in6 para su uso con direcciones con ámbito. Para las direcciones locales de vínculo IPv6 (prefijo fe80::/10), el miembro sin6_scope_id de la estructura de sockaddr_in6 es el número de interfaz. Para las direcciones locales de sitio IPv6 (prefijo fec0::/10), el miembro sin6_scope_id de la estructura de sockaddr_in6 es un identificador de sitio.
A continuación se muestra un ejemplo de una dirección IPv6 local de vínculo en la interfaz 5:
fe80::208:74ff:feda:625c%5
El siguiente comando está disponible en Windows XP con Service Pack 1 (SP1) y versiones posteriores para consultar y configurar IPv6 en un equipo local:
Los cambios de configuración realizados mediante los comandos Netsh.exe son permanentes y no se pierden cuando se reinicia el equipo o el protocolo IPv6.
Antes de Windows XP con Service Pack 1 (SP1), la configuración y administración de IPv6 usaban varias herramientas de línea de comandos anteriores (Net.exe, Ipv6.exey Ipsec6.exe) para configurar y administrar IPv6. Con estas herramientas anteriores, los cambios de IPv6 no son permanentes y se pierden cuando se reinicia el equipo o el protocolo IPv6. Estas herramientas de línea de comandos anteriores solo se admiten en Windows XP.
En Windows XP con SP1, el siguiente comando mostrará la lista de interfaces IPv6 en un equipo local, incluido el índice de interfaz, el nombre de la interfaz y otras propiedades de interfaz.
interfaz netsh ipv6 show interface
En Windows XP con SP1, el siguiente comando cambiará el identificador de sitio asociado a un índice de interfaz.
interfaz netsh ipv6 set interface <InterfaceIndex o Name> siteid=value
En Windows XP, el siguiente comando anterior también cambiará el identificador de sitio asociado a una dirección local de sitio a 3.
ipv6 rtu fec0::/10 3
Si va a enviar o conectarse a una dirección con ámbito, el miembro sin6_scope_id de la estructura sockaddr_in6 se puede dejar sin especificar (cero) que representa una dirección ambigua con ámbito. Por ejemplo, la siguiente dirección local de vínculo es ambigua:
fe80::10
Si va a enlazar a una dirección con ámbito, el sin6_scope_id miembro de la estructura sockaddr_in6 debe contener un valor distinto de cero que especifique un número de interfaz válido para una dirección local de vínculo o un identificador de sitio para una dirección local de sitio.
Direcciones con ámbito ambiguas
Si va a enviar o conectarse a una dirección con ámbito y no ha especificado el miembro sin6_scope_id en la estructura de sockaddr_in6, la dirección con ámbito es ambigua. Para resolver esto, el protocolo IPv6 determina primero si ha enlazado el socket a una dirección de origen. Si es así, la dirección de origen enlazada resuelve la ambigüedad proporcionando un número de interfaz o un identificador de sitio.
Si va a enviar o conectarse a una dirección con ámbito y no ha especificado el miembro sin6_scope_id ni ha enlazado una dirección de origen, el protocolo IPv6 comprueba la tabla de enrutamiento. Por ejemplo, el siguiente comando mostrará la tabla de enrutamiento IPv6 en un equipo local:
interfaz netsh ipv6 show route
No Manual 256 fe80::/64 13 Local Area Connection
No Manual 256 fe80::/64 14 Wireless Network Connection
Esto indica que las direcciones locales de vínculo se tratan como en vínculo a la interfaz n.º 13 y #14 de forma predeterminada.
La ambigüedad surge cuando un equipo local tiene varios adaptadores de red. Por ejemplo, el comando netsh anterior indica que hay dos interfaces de red (conexión de área local y conexión de red inalámbrica). Cuando una aplicación especifica una dirección local de vínculo de destino (fe80::10, por ejemplo) sin un identificador de ámbito, no está claro qué adaptador usar para enviar el paquete. Solo una unidifusión local de vínculo (fe80::/64) o una dirección de destino IPv6 de ámbito de vínculo (ff00::/8) puede sufrir que no tenga un identificador de ámbito al enviar un paquete.
Detección de vecinos
Si no ha especificado el miembro sin6_scope_id en la estructura de sockaddr_in6, no ha enlazado una dirección de origen y no ha especificado una ruta para las direcciones locales de vínculo, el protocolo IPv6 intentará la detección de vecinos para resolver la dirección local de vínculo de destino. Para un paquete determinado que se envía, se prueba una interfaz. Esta primera interfaz que se intenta se considera la interfaz más preferida. Si la detección de vecinos no puede resolver la dirección local de vínculo en una interfaz, se quita el paquete que se va a enviar y el sistema recuerda que la dirección local del vínculo de destino no es accesible a través de esa interfaz. En el siguiente paquete que se va a enviar en todas las mismas condiciones, se prueba una interfaz diferente para la detección de vecinos. Este proceso continúa a través de cada una de las interfaces de un equipo local para cada nuevo paquete hasta que la detección de vecinos responda a la dirección local de vínculo de destino o todas las interfaces posibles se han probado y fallado. Cada vez que se produce un error en un intento de resolver el vecino, se elimina una interfaz para ese vecino.
Si se resuelve la dirección local del vínculo de destino, esa interfaz se usa para enviar el paquete actual. Esta interfaz también se usa para los paquetes de ámbito ambiguo posteriores que se envían a la misma dirección de destino local de vínculo.
Si la detección de vecinos no puede resolver la dirección local de vínculo de destino en todas las interfaces, el sistema intenta enviar el paquete en la interfaz más preferida (se intentó la primera interfaz). La pila de red sigue intentando resolver la dirección local de vínculo de destino en la interfaz más preferida. Después de un período de tiempo después de que se haya producido un error en la detección de vecinos en todas las interfaces, la pila de red reiniciará el proceso de nuevo e intentará resolver la dirección local del vínculo de destino en todas las interfaces. Actualmente, este intervalo de tiempo cuando la detección de vecinos se vuelve a intentar en todas las interfaces es de 60 segundos. Sin embargo, este intervalo de tiempo puede cambiar en las versiones de Windows y no debe asumirse por una aplicación.
Nota
Si una aplicación enlaza la misma dirección local de vínculo a otra interfaz después de que la detección de vecinos haya resuelto la dirección local del vínculo, no invalidará la interfaz con la dirección de destino local del vínculo devuelta por la detección de vecinos.
Para obtener más información sobre la detección de vecinos para ip versión 6, consulte RFC4861 publicado por IETF.
Temas relacionados