2011-02-06 15 views
8

Actualmente estoy tratando de entender cómo funcionan las direcciones IPv6. Hay direcciones de enlace locales y de sitio usadas para redes pequeñas y organizacionales, respectivamente. Pero si uno de esos clientes también tiene acceso a Internet, necesitaría dos direcciones IP, ¿correcto? Un enlace/sitio local y una dirección global. ¿Cómo lo gestionan la interfaz y los enrutadores? Una interfaz necesitaría dos direcciones IP, ya que no hay NAT en IPv6.IPs locales y globales de enlace en las interfaces IPv6

+2

Esto más bien pertenece a http://serverfault.com/; tal vez los moderadores transferirán la pregunta, o pueden volver a preguntarla allí. – 9000

+1

Sin duda hay aspectos relacionados con la programación de la pregunta. Algunas aplicaciones pueden necesitar doblar la lista de direcciones de interfaz en algún algoritmo, y ayuda saber con qué tipo de direcciones estás trabajando cuando las recuperes de 'getifaddrs()'. –

+0

link-local no son para redes pequeñas, son para redes no configuradas. Importante déficit al no poder usar direcciones locales de enlace en DNS. –

Respuesta

14

En general, las interfaces tienen una dirección de unidifusión de alcance local de enlace y cero o más direcciones de unidifusión de alcance global. (También pueden ser miembros de un número finito de grupos de multidifusión). Las direcciones pueden asignarse manualmente o mediante DHCPv6 como en IPv4, pero a veces también (no siempre) se pueden generar automáticamente cuando los anuncios del enrutador lo permiten. Algunas implementaciones de host generarán automáticamente una dirección global persistente para cada prefijo que el enrutador anuncie y una dirección de privacidad auxiliar para acompañarlo, c.f. RFC 4191. Cuando DHCPv6 se usa para asignar direcciones, los hosts pueden solicitar una o más direcciones temporales para usar en lugar de direcciones de privacidad.

No utilice las direcciones locales del sitio. Están obsoletos por RFC 3879, principalmente porque el campo sin6_scope_id no está bien definido para las direcciones locales del sitio. Las aplicaciones que los ven en la lista devuelta desde getifaddrs() probablemente deberían descartarlos con un mensaje de diagnóstico a la secuencia de error estándar. Las aplicaciones deben esperar que los administradores de red usen direcciones locales únicas (ULA) en lugar de direcciones locales del sitio, c.f. RFC 4941.

La accesibilidad de las direcciones ULA generalmente no es decidible por el software de la aplicación. Lo único que sabe con certeza sobre ellos es que no se puede acceder por ninguna ruta que pase a través de la zona pública global libre de incumplimiento. Pueden ser accesibles desde cualquier lugar de Internet donde las rutas al prefijo ULA se intercambien en acuerdos bilaterales entre sistemas autónomos. Por otro lado, a menudo serán anunciados por puertas de enlace IPv6 para el uso local del suscriptor solamente, y no serán accesibles en ningún lugar fuera del hogar, c.f. I-D.ietf-v6ops-ipv6-cpe-router.

9

Cada interfaz tiene una dirección de enlace local y, opcionalmente, una o más direcciones públicas o de sitio local. Se ve así:

$ ip -o -6 addr show dev eth0 
eth0 inet6 2001:abcd:ef::1/64 scope global (..) 
eth0 inet6 fe80::1234:5678:2/64 scope link (...) 

Al enviar algo, todo lo enviado a una dirección de enlace local (es decir fe80::/64) es enviado desde la dirección de enlace local, todo lo demás de la global.

(La elección no siempre es posible:., Por ejemplo, si respondiera a un ping, la IP de origen de la respuesta será la IP de destino de la solicitud, sin importar qué dirección)

+2

Votaron porque las direcciones locales del sitio están en desuso por [RFC 3879] (http://tools.ietf.org/html/rfc3879) y no deberían utilizarse. La mayoría de las implementaciones de host IPv6 no las manejan adecuadamente de todos modos. –

+2

No estoy de acuerdo en que esto deba ser downvoted, @phihag se refiere a las direcciones locales de los enlaces, no al sitio local. En otras palabras, si estoy enviando a otro 'fe80 ::/64', eso es válido. – mateuscb

Cuestiones relacionadas