Pregunta ¿Cómo funciona la división en subredes de IPv6 y en qué se diferencia de la división en subredes de IPv4?


Esto es un Pregunta canónica sobre la división en subredes de IPv6.

Relacionado:

sé mucho sobre Subnetting IPv4, y mientras me preparo para (desplegar | trabajar en) una red IPv6, necesito saber qué parte de este conocimiento es transferible y qué debo aprender. A primera vista, parece que IPv6 es mucho más complejo que IPv4. Así que me gustaría saber:

  • IPv6 es de 128 bits, ¿por qué es / 64 la subred más pequeña recomendada para los hosts? Relacionado con esto:
    • ¿Por qué se recomienda usar / 127 para los enlaces punto a punto entre enrutadores, y por qué se recomendó en el pasado? ¿Debo cambiar los enlaces de enrutador existentes para usar / 127?
    • ¿Por qué las máquinas virtuales se aprovisionan con menos de 64 direcciones?
    • ¿Hay otras situaciones en las que usaría una subred más pequeña que / 64?
  • ¿Puedo asignar directamente desde subredes IPv4 a subredes IPv6? Por ejemplo, ¿un IPv4 / 24 se corresponde directamente con un IPv6 / 56 o / 120?
  • Mis interfaces tienen varias direcciones IPv6. ¿Debe la subred ser la misma para todos ellos?
  • ¿Por qué a veces veo un% en lugar de una / en una dirección IPv6 y qué significa?
  • ¿Estoy perdiendo demasiadas subredes? ¿No vamos a salir corriendo de nuevo?
  • ¿En qué otras formas principales se diferencian las subredes de IPv6 de las subredes de IPv4?

110
2017-09-11 00:57


origen




Respuestas:


Lo primero que se debe mencionar sobre la división en subredes de IPv6 es que una modo de pensamiento se pide para En IPv4 usualmente piensas en cuántos direcciones tiene disponibles y cómo puede asignar suficientes de ellos a cada usuario final. En IPv6 usualmente piensas en cuántos (/ 64) subredes Tiene disponible y cómo puede asignarlos a los usuarios finales. Casi nunca se preocupa por la cantidad de direcciones IP que se utilizarán en una subred determinada. Excepto en algunos casos especiales como los enlaces punto a punto, cada subred simplemente tiene muchas más direcciones disponibles de las que requerirá, por lo que, en cambio, solo se preocupa por la asignación de subredes, no de hosts dentro de ellas.

Las subredes IPv6 suelen ser / 64 porque se requiere para que SLAAC (autoconfiguración de direcciones sin estado) para trabajar. Incluso cuando SLAAC no está en uso, puede haber otras razones para usar / 64. Por ejemplo, podría haber algunos dispositivos de usuario final que asuman / 64, o bien las subredes de enrutamiento más largas que / 64 podrían ser ineficientes en algunos enrutadores porque el implementador del enrutador ha optimizado el caso de / 64 o rutas más cortas para guardar memoria de la tabla de enrutamiento.

¿Por qué se recomienda usar / 127 para los enlaces punto a punto?

Para el caso específico de los enlaces punto a punto, se recomienda / 127 en lugar de / 64 para evitar una vulnerabilidad en la que los paquetes se dirijan a cualquiera de los cuatrillones de direcciones no utilizadas en la subred causen solicitudes de solicitud de vecinos adyacentes no deseadas y entradas de tabla que Podría ahogar un enrutador. Dichos paquetes mal dirigidos pueden ser maliciosos o accidentales. Pero incluso si realmente configura un enlace punto a punto como / 127, algunas personas abogan por asignar un entero / 64 de todos modos para que sea consistente.

¿Por qué las máquinas virtuales se aprovisionarían con subredes más pequeñas que / 64?

No sé específicamente por qué las máquinas virtuales serían aprovisionadas con subredes más pequeñas que / 64. ¿Quizás porque un proveedor de alojamiento asumió que un servidor era como un usuario final y requería una única subred (/ 64), sin anticipar que el servidor sería realmente una colección de máquinas virtuales que requieren una topología de enrutamiento interna? Se podría hacer también simplemente para facilitar la memorización del plan de direccionamiento: el host obtiene PREFIX::/64, entonces cada máquina virtual obtiene PREFIX:0:NNNN::/96 donde NNNN es única para la máquina virtual y la máquina virtual puede asignar PREFIX:0:NNNN:XXXX:YYYY como le plazca.

¿Puedo asignar directamente desde subredes IPv4 a subredes IPv6? Por ejemplo, ¿un IPv4 / 24 se corresponde directamente con un IPv6 / 56 o / 120?

Desde una perspectiva de bajo nivel de cómo funciona el direccionamiento y el enrutamiento, la longitud del prefijo tiene el mismo significado en IPv6 e IPv4. En ese nivel, puede hacer una analogía como "un IPv4 / 16 usa la mitad de los bits para la dirección de red y la mitad de los bits para la dirección del host, que es como un / 64 en IPv6". Pero esta comparación no es realmente adecuada. Han surgido fuertes convenciones en IPv6 que hacen que las divisiones de tamaños de red se parezcan más al viejo mundo de las redes con clase en IPv4. Para estar seguro, IPv6 no reintrodujo el direccionamiento con clase en el que los pocos bits más significativos de la dirección fuerzan una máscara de red en particular, pero qué IPv6 hace Tiene ciertos tamaños de red estándar [defacto / convencional]:

  • / 64: el tamaño básico de una única subred: LAN, WAN, bloque de direcciones para hosts virtuales web, etc. Nunca se espera que las subredes "normales" sean más pequeñas (prefijo más largo) que / 64. Nunca se espera que las subredes sean más grandes (prefijo más corto) que / 64, ya que el valor de un / 64 de direcciones de host es mucho más de lo que podemos imaginar que necesiten.
  • / 56: un bloque de 256 subredes básicas. Aunque las políticas actuales permiten a los ISP entregar bloques tan grandes como / 48 a todos los usuarios finales y aún considerar que la utilización de su dirección está bien justificada, algunos ISP pueden (y ya lo hacen) optar por asignar un / 56 a clientes de categoría de consumidor como un compromiso entre la asignación de lotes de subredes para ellos y la economía de direcciones.
  • / 48: un bloque de 65536 subredes básicas y el tamaño de bloque recomendado que debe recibir cada sitio final de cliente ISP.
  • / 32: el tamaño de bloque predeterminado que la mayoría de los ISP recibirán cada vez que soliciten más direcciones de un registro de direcciones regional.

Dentro del proveedor de servicios y las redes empresariales, se pueden ver muchas más longitudes de prefijo que estas 4. Al mirar las tablas de enrutamiento de los enrutadores dentro de estas redes, IPv4 e IPv6 tienen mucho en común, incluida la mayoría de las formas en que funciona el enrutamiento: las rutas para prefijos más largos anulan las rutas que cubren los prefijos más cortos, por lo que es posible agregar (acortar) y explorar Rutas hacia abajo (hacer más largas). Al igual que en IPv4, las rutas se pueden agregar o resumir en bloques más grandes con prefijos más cortos para minimizar el tamaño de las tablas de enrutamiento.

Una cuestión diferente de la asignación entre IPv4 e IPv6 sería cómo armonizar las asignaciones de IPv4 e IPv6 en máquinas de pila doble para que los planes de direccionamiento puedan entenderse fácilmente. Lejos de eso, ciertamente existen convenciones de uso común para hacer esto: incruste el "número de subred" de IPv4 en una parte del prefijo IPv6, ya sea con BCD (p.ej. 10.0.234.0/24 se convierte en 2001:db8:abcd:234::/64) o binario (10.0.234.0/24 se convierte en 2001:db8:abcd:ea::/64).

Mis interfaces tienen varias direcciones IPv6. ¿Debe la subred ser la misma para todos ellos?

¡Absolutamente no! Se espera que los hosts de IPv6 sean multihomed al tener varias direcciones IP simultáneamente que provienen de diferentes subredes, al igual que IPv4. Si se configuran automáticamente con SLAAC, las diferentes subredes pueden provenir de anuncios de enrutadores de diferentes enrutadores.

¿Por qué a veces veo un% en lugar de una / en una dirección IPv6 y qué significa?

No verías una en lugar de la otra. Tienen diferentes significados. Una barra diagonal denota un prefijo (subred), lo que significa un bloque de direcciones que comienzan con el mismo n pedacitos Una dirección sin una barra es una dirección de host. Puede pensar que una dirección de este tipo tiene un "/ 128" implícito al final, lo que significa que se especifican los 128 bits.

El signo de porcentaje acompaña una dirección de enlace local. En IPv6, cada interfaz tiene una dirección de enlace local además de cualquier otra dirección IP que pueda tener. Pero la cosa es que las direcciones locales de enlace están siempre, sin excepción, en el fe80::/10 bloquear. Pero si intentamos hablar con un par utilizando una dirección local de enlace y el host local tiene múltiples interfaces, ¿cómo podemos saber qué interfaz usar para hablar con este par? Normalmente, la tabla de enrutamiento nos dice qué interfaz usar para un prefijo particular, pero aquí nos dirá qué fe80::/10 es accesible a través de cada interfaz.

La respuesta es que debemos decirle qué interfaz usar usando la sintaxis address%interface. Por ejemplo, fe80::1234:5678:8765:4321%eth0.

¿Estoy perdiendo demasiadas subredes? ¿No vamos a salir corriendo de nuevo?

Nadie lo sabe. ¿Quién puede decir el futuro?

Pero considera esto. En IPv6 el número de disponibles. subredes es el cuadrado del numero de disponible direcciones individuales en IPv4. Eso es realmente mucho. No, quiero decir realmente mucho!

Pero aún así: estamos entregando automáticamente un / 32 a cualquier ISP que lo solicite, estamos entregando un / 48 a cada cliente de ISP. Quizás estemos exagerando y desperdiciaremos IPv6 después de todo. Pero hay una disposición para esto: solo un octavo del espacio de IPv6 ha estado disponible para su uso hasta el momento: 2000::/3. La idea es que si hacemos un lío horrible en el primer octavo y tenemos que revisar drásticamente las políticas de asignación liberal, podemos intentarlo 7 veces más antes de tener problemas.

Y finalmente: IPv6 no tiene que durar para siempre. Tal vez tendrá una vida útil más larga que IPv4 (una vida impresionante ya y no se ha terminado), pero como todas las tecnologías, algún día dejará de importar. Solo tenemos que hacerlo hasta entonces.


130
2017-09-11 02:55



Muy buena explicación! Especialmente sobre la mentalidad diferente. Si observa los números, verá que hay 536,870,912 / 32 (pequeños ISPs) en 2000 :: / 3. Con una población mundial de 7 mil millones, es un ISP por cada 13 personas, y cada uno de ellos puede tener 65,536 clientes con un / 48 cada uno. No hay que preocuparse por perder direcciones por el momento :-) - Sander Steffann
Ya, esta es una muy buena explicación. - Fergus
Buena explicación sobre los detalles específicos de 2000 :: / 3. - Koos van den Hout
Bonita explicacion +1 en el comentario final. Espero que todos ya hayan visto esto: xkcd.com/865 - Nico
@SanderSteffann Y si llega a ser un problema, sería bastante razonable que los ISP asignen nuevos / 64s a usuarios residenciales en lugar de / 48s. Y que los pequeños ISP soliciten bloques, por ejemplo, 4096 de esos a la vez (/ 52 bloques). ). El esquema actual solo está diseñado para dejar espacio para la expansión en cada capa. - immibis


IPv6 es de 128 bits, ¿por qué es / 64 la subred más pequeña recomendada para los hosts?

En primer lugar, un poco de arte ASCII de los RFC para establecer la terminología:

|         n bits         |   m bits  |       128-n-m bits         |
+------------------------+-----------+----------------------------+
| global routing prefix  | subnet ID |       interface ID         |
+------------------------+-----------+----------------------------+

El prefijo de enrutamiento global generalmente identifica la red general a la que pertenece la dirección. Es típicamente 48 bits. La ID de interfaz identifica una interfaz de red determinada. Es típicamente de 64 bits. Los 16 bits restantes es su ID de subred.

OK, con la explicación:

De acuerdo a RFC 4291 - Arquitectura de direccionamiento IP versión 6:

Todas las direcciones de unidifusión global distintas de las que comienzan con 000 binarios tienen un campo de ID de interfaz de 64 bits.

Y RFC 5375 - Consideraciones de asignación de direcciones de unidifusión IPv6:

Una parte importante de un plan de direccionamiento IPv4 es decidir la longitud      de cada prefijo de subred. A diferencia de en IPv4, el direccionamiento IPv6      arquitectura [RFC4291] especifica que todas las subredes que usan Globalmente      Las direcciones únicas y los ULA siempre tienen la misma longitud de prefijo de 64      pedacitos

Así que ignorando la excepción del prefijo 000, la ID de interfaz es siempre Exactamente 64 bits. Esta es otra forma de decir eso. Todas las redes de transmisión locales son siempre de 64 bits.. Si tiene una dirección IPv6, su máscara de red es siempre 64 bits. Nunca más, nunca menos. Si se le asignó un espacio de direcciones mayor que eso (una máscara de red más corta que de 64 bits), entonces se supone que estará particionando ese espacio de direcciones en redes de 64 bits y manejando el enrutamiento usted mismo. Si le dieron una red más pequeña que eso (máscara de red más larga), entonces alguien la cagó.

Entonces, ¿por qué exactamente 64 bits?

Como regla general, las direcciones IPv6 se configuran automáticamente en lugar de asignarse. El enrutador anunciará qué prefijo de red está disponible (prefijo de enrutamiento + ID de subred: primeros 64 bits), y su computadora completará los últimos 64 bits con su propio identificador único. ¿Cómo su computadora viene con un identificador único? Hay algunas posibilidades, la más común es usar la dirección MAC de su interfaz. Divide el MAC a la mitad (medio de proveedor / medio de serie), invierte el bit local universal en el lado del proveedor y se une a ellos de nuevo con FF:FE en el medio. Asi que 00:30:48:01:23:45 se convierte en 0230:48ff:fe01:2345. Ahora coloque el prefijo de red de 64 bits anunciado en el lado izquierdo de eso, y tendrá su dirección IP.

El punto importante aquí es que si sigue este esquema, las colisiones de direcciones IP no ocurrirán. Dado que todos los dispositivos en una red de difusión determinada NECESITAN una dirección MAC única para funcionar, vincular la ID de la interfaz a la dirección MAC significa que mientras el tráfico de difusión no colisione, tampoco las direcciones IPv6. El uso de 64 bits (en lugar de solo los 48 dedicados a las direcciones MAC) le da un poco de margen de maniobra más allá de las direcciones proporcionadas por este esquema (hay varios otros).

¿Hay otras situaciones en las que usaría una subred más pequeña que / 64?

No No a menos que estés roto. Bueno, es posible que tenga una justificación basada en los requisitos locales para configurar el enrutamiento manual con su red existente. Pero tenga en cuenta que al hacerlo, probablemente esté haciendo un desastre:

Desde RFC 5375 - Consideraciones de asignación de direcciones de unidifusión IPv6:

El uso de una longitud de prefijo de subred diferente a / 64 romperá muchos      características de IPv6, incluido el descubrimiento de vecinos (ND), Vecino seguro      Descubrimiento (SEND) [RFC3971], extensiones de privacidad [RFC4941], partes de      IPv6 móvil [RFC4866], protocolo de multidifusión independiente - Modo disperso      (PIM-SM) con Embedded-RP [RFC3956], y Multihoming del sitio por IPv6      Intermediación (SHIM6) [SHIM6], entre otros. Una serie de otros      Las características actualmente en desarrollo, o que están siendo propuestas, también se basan en      / 64 prefijos de subred.

....

Sin embargo, algunos administradores de red han usado prefijos más largos que      / 64 para enlaces que conectan enrutadores, generalmente solo dos enrutadores en un      Enlace punto a punto. En enlaces donde se asignan todas las direcciones.      por configuración manual, y todos los nodos en el enlace son enrutadores (no      hosts finales) que son conocidos por la red, los administradores no necesitan      cualquiera de las características de IPv6 que dependen de los prefijos de subred / 64, esto puede      trabajo. El uso de prefijos de subred más largos que / 64 no se recomienda para      uso general, y su uso para enlaces que contienen hosts finales sería      Una idea especialmente mala, ya que es difícil predecir qué IPv6      características que los hosts utilizarán en el futuro.

¿Por qué se recomienda usar / 127 para los enlaces punto a punto entre enrutadores, y por qué se recomendó en el pasado?

Es posible que desee pasar por alto RFC 3627 - El uso de la longitud del prefijo / 127 entre enrutadores se considera dañino. Entonces echa un vistazo a la siguiente RFC 6164 - Uso de prefijos IPv6 de 127 bits en enlaces entre enrutadores.

La objeción al uso de prefijos más largos que / 64 en los enrutadores tiene que ver con la configuración automática del enrutador que puede fallar en circunstancias excepcionales. La objeción al uso de prefijos más cortos que / 127 (solo 2 hosts) tiene que ver con una serie de posibles problemas de denegación de servicio relacionados con los paquetes que se envían a las direcciones sin enrutar. Dado que los problemas de denegación de servicio en el mundo real son peores que los fallos de configuración automática teóricos, / 127 es el nuevo favorito.

¿Debo cambiar los enlaces de enrutador existentes para usar / 127?

Si controla un enrutador IPv6, recomendaría leer los dos RFC (¡son cortos!) Y decidir por sí mismo.

¿Puedo asignar directamente desde subredes IPv4 a subredes IPv6?

Por ejemplo, ¿un IPv4 / 24 se corresponde directamente con un IPv6 / 56 o / 120?

Actualmente, si. ¿Recuerdas ese prefijo 000 que ignoramos intencionalmente antes? Bueno, aquí hay un uso para ello:

En los sistemas de doble pila (aquellos con las pilas IPv4 e IPv6 activas), puede representar IPv4 utilizando la mecánica de IPv6. Ellos lo llaman "Direcciones IPv6 mapeadas en IPv4". El patrón es todos ceros, seguido de FFFF, seguido de la dirección IPv4 de 32 bits.

Asi que, 192.168.100.21 se convierte en ::FFFF:C0A8:6415 - o más simplemente: ::FFFF:192.168.100.21. Dado que el bit de la derecha representa una dirección IPv4, tradicionalmente se escribe en forma de punto decimal.

Como esta es una dirección IPv4 real, todavía usa encabezados IPv4, etc., lo que significa que debe haber una pila de IPv4, las rutas de IPv4 deben estar establecidas y todo eso. La ventaja es que puede representar direcciones IPv4 e IPv6 utilizando una única estructura de direcciones, lo que puede simplificar el desarrollo de la aplicación. No hace una gran diferencia en lo que respecta a la red.


42
2018-01-10 06:51





  1. IPv6 es de 128 bits, ¿por qué es / 64 la subred más pequeña recomendada para los hosts?

    Este tamaño de prefijo se recomendó originalmente en un RFC anterior. Desde entonces, se ha revisado esta política en la que se considera el problema de los Ataques de descubrimiento de vecinos y usar un / 126 es una mitigación válida. No obstante, si está configurando enlaces PtP con el con el único propósito de enrutar el tráfico, una opción alternativa es simplemente quedarse con una / 64 y cortafuegos en esa subred. Mejor aún, asigne un grupo desde el cual dibujará / 64 subredes y tenga ese grupo completo como un destino en la lista negra en su borde (y en cualquier otro lugar del que pueda provenir la hostilidad)

  2. ¿Por qué se recomienda usar / 127 para los enlaces punto a punto entre enrutadores, y por qué se recomendó en el pasado? ¿Debo cambiar los enlaces de enrutador existentes para usar / 127?

    / 127 no se recomienda entre enrutadores y nunca lo fue: la dirección de difusión de todos los enrutadores es la dirección de todos los ceros de la subred; esto significa que / 127 solo es técnicamente válido entre dos máquinas donde una de ellas es NO Actuando como un enrutador. / 126 por supuesto está bien.

    Sin embargo, en cualquier caso, no recomendaría cambiar los enlaces / 64 existentes a menos que su equipo sea vulnerable a un ataque de inundación de caché de Discovery de Vecinos, e incluso en este caso, primero determine si realmente va a usar ese / 64 para la conectividad a Internet , si la respuesta es no, solo cortafuegos.

  3. ¿Por qué las máquinas virtuales se aprovisionarían con subredes más pequeñas que / 64?

    Esto rompe SLAAC y RAs, a menos que realmente, De Verdad Saber lo que estás haciendo, es poco probable que tengas una buena razón para hacer esto, quizás tu upstream solo te haya dado un single / 64, pero si ese es el caso, debes volver a ellos y pedir más, si quieren. para cobrarle por ello, comience a buscar un nuevo proveedor y, quizás, envíeles algunos correos electrónicos maliciosos con enlaces a los RFC relevantes.

  4. ¿Hay otras situaciones en las que usaría una subred más pequeña que / 64?

    ¿Honestamente? probablemente no. Si pienso en una razón legítima en la que una subred más pequeña es preferible para propósitos diferentes a prevenir ataques NDP, editaré esta sección.

    A la inversa, hay son situaciones donde tu NO desea utilizar subredes más pequeñas que / 64, especialmente en cualquier lugar donde se ejecute un entorno con equipos de reenvío de hardware (piense en enrutadores de marca y conmutadores L3), algunos no podrán hacer enrutamiento de prefijos de hardware más largos que / 64, otros tienen que dividirse de la operación en múltiples comparaciones, por lo tanto, al menos debe hacer lo mejor para asegurarse de que / 64 sea el prefijo más largo en su red troncal (OSPF / ISIS / EIGRP / etc.).

  5. ¿Puedo asignar directamente desde subredes IPv4 a subredes IPv6? Por ejemplo, ¿un IPv4 / 24 se corresponde directamente con un IPv6 / 56 o / 120?

    Oficialmente, :: ffff: xxxx es el formato para una dirección IPv4 asignada a IPv6. Por supuesto, también existen varios mecanismos de transición, a saber, 6to4 y su relativo, 6rd, que asignan una dirección IPv4 a una IPv6 global para los fines de proporcionar acceso IPv6 a través de IPv4 mediante la creación de un prefijo IPv6 que se deriva de la dirección IPv4 que se transfiere.

  6. Mis interfaces tienen varias direcciones IPv6. ¿Debe la subred ser la misma para todos ellos?

    No, el uso de diferentes direcciones y tamaños de subred en la misma interfaz no debería ser un problema. Si lo es, la implementación está defectuosa. Por supuesto, una pregunta mejor es por qué estarías haciendo esto?

  7. ¿Por qué a veces veo un% en lugar de una / en una dirección IPv6 y qué significa?

    Este es un delimitador, generalmente aplicado a las direcciones locales de enlace (fe80 :: / 12); dado que la misma dirección local de enlace puede existir legítimamente en múltiples interfaces, el% delimitador se usa para permitir especificar qué interfaz se entiende. Linux generalmente hace que la especificación de la interfaz sea obligatoria cuando se realizan operaciones que involucran un enlace local. Windows Vista / 2008 y más allá son un poco más inteligentes y no se quejarán a menos que un enlace local no sea único.

  8. ¿Estoy perdiendo demasiadas subredes? ¿No vamos a salir corriendo de nuevo?

    No. Este es un caballo muerto que ha sido azotado. WAAAAAAAAAAY demasiadas veces, el Internet global IPv6 actual es 2000 :: / 3, hay varios prefijos más que la IANA podría comenzar a usar si, de alguna manera, cada RIR del planeta logra agotar sus reservas de direcciones. Así que no, no nos quedaremos sin espacio, e incluso si lo hacemos, se requiere un golpe de lápiz para activar un nuevo prefijo, no un cambio técnico. Lo único que realmente destaca esta pregunta es la incapacidad de la mente humana para comprender completamente cuán ridículamente vasto es el espacio de direcciones.

  9. ¿En qué otras formas principales se diferencian las subredes de IPv6 de las subredes de IPv4?

    Además de no preocuparse por la cantidad de espacio que está utilizando, recuerde que no hay una dirección de transmisión y que la dirección de "subred-cero" es ahora la dirección de difusión de todos los enrutadores (que es básicamente una dirección que existe implícitamente en todos los nodos configurados). para reenviar paquetes IPv6): esto tiene un efecto secundario útil que le permite usar esa dirección de todos los ceros como su ruta predeterminada en una red (no, no causará la duplicación de paquetes, es ANYcast, no MULTIcast) - tenga en cuenta aunque el host puede alternar entre enrutadores cada pocos segundos, por lo que esto no es apropiado para una configuración de firewall con estado si el seguimiento de la conexión no está sincronizado entre ellos.

    Aparte de esto, la otra gran diferencia es que IPv6 se preocupa por las direcciones duplicadas y los vecinos muertos (NUD), por lo que, a diferencia de IPv4, un host se negará a usar una dirección si puede determinar que otro nodo en el enlace ya la está utilizando. . Por otro lado, NUD es útil si está configurando rutas estáticas: en realidad puede definir múltiples rutas separadas a un prefijo con métricas variables y funcionarán, a diferencia de IPv4, donde se usará la ruta métrica más baja independientemente de si la próxima -hop está muerto o vivo (aunque esto puede no ser cierto para algunas implementaciones de IPv4 que usan ARP para validar rutas como Cisco y otros proveedores importantes de enrutadores)

    TLDR; IPv6 detecta direcciones duplicadas y vecinos inalcanzables. La dirección de todos los cero es un broadcast de todos los enrutadores y no existe tal cosa como la transmisión, los únicos son una dirección regular.


18
2018-03-10 17:27



En respuesta a la respuesta 2) ... herramientas.ietf.org/html/rfc6164  herramientas.ietf.org/html/rfc6547 - cpt_fink


Para aquellos que se preguntan de dónde vienen las especificaciones / 64 para SLAAC, aquí hay algunas referencias adicionales:

Desde Configuración automática de direcciones sin estado IPv6 (RFC 4862):

Si la suma de la longitud del prefijo y la longitud del identificador de interfaz   no es igual a 128 bits, la opción de información de prefijo DEBE ser   ignorado [...]

Es responsabilidad del administrador del sistema garantizar   que las longitudes de los prefijos contenidos en los anuncios de enrutador   son consistentes con la longitud de los identificadores de interfaz para ese   Tipo de enlace.

Y de Arquitectura de direccionamiento IP versión 6 (RFC 4291):

Para todas las direcciones unicast, excepto aquellas que comienzan con el binario   valor 000, las ID de interfaz deben tener una longitud de 64 bits y ser   Construido en formato EUI-64 modificado.

Por lo tanto, debido a que la ID de la interfaz debe tener una longitud de 64 bits y la suma de la longitud del prefijo y la longitud de la ID de la interfaz deben ser 128, la única longitud posible del prefijo cuando se usa SLAAC es de 64 bits.


2
2018-01-06 00:45





IPv6 es de 128 bits, ¿por qué es / 64 la subred más pequeña recomendada para los hosts?

Porque a los partidarios de IPv6 les gustó la idea de la configuración automática sin estado.

Si elige cualquier otro tamaño de subred, la configuración automática sin estado se interrumpirá. Algunas otras cosas menores pueden romperse también, lea la lectura de rfc7421 para obtener más detalles.

Personalmente creo que la autoconfiguración sin estado es una idea estúpida de todos modos. Conduce a direcciones ilegibles y básicamente no le otorga ningún control sobre el direccionamiento más allá de asignar el bloque a la subred.

Por supuesto, lo que sucede con las convenciones es que si las sigues y las cosas van mal, puedes apuntar a la convención, si te niegas a seguirlas y las cosas salen mal, será tu culpa.

¿Por qué se recomienda usar / 127 para enlaces punto a punto entre enrutadores,

El uso de subredes con un pequeño número de direcciones disponibles evita los ataques de agotamiento por descubrimiento de vecinos.

Por supuesto, este razonamiento no solo se aplica a los enlaces punto a punto. Supongo que fue políticamente posible hacer esta recomendación para los enlaces de enrutador punto a punto, pero no es políticamente posible hacerlo para otros enlaces.

¿Por qué las máquinas virtuales se aprovisionan con menos de 64 direcciones?

Necesitamos hacer una distinción aquí. Hay dos formas en que un proveedor de alojamiento puede asignar direcciones a una máquina (ya sea física o virtual).

Pueden asignarles direcciones "en enlace" donde se espera que la máquina responda a las solicitudes de descubrimiento de vecinos. Algunos proveedores de hosting decidieron otorgar a cada máquina un / 64 que tiene ventajas en la movilidad de direcciones, otros le dan a cada VLAN a / 64 y luego le dan a los equipos individuales sub-bloques de los que usan menos direcciones y pueden significar que el tráfico local permanece local en lugar de pasando a un enrutador.

O pueden tratar la máquina como un enrutador y asignarle un bloque enrutado. En este caso, necesitaría direcciones suficientes para abordar todas las subredes internas. Si sigue la convención de que "todas las subredes deben ser / 64", eso significaría asignarla al menos a / 64 y posiblemente más. Esto tiene sentido para las máquinas que tienen "redes dentro de la máquina", por ejemplo, un host contenedor.

¿Puedo asignar directamente desde subredes IPv4 a subredes IPv6? Por ejemplo, ¿un IPv4 / 24 se corresponde directamente con un IPv6 / 56 o / 120?

Cualquier mapeo de este tipo es un asunto de política local.

Mis interfaces tienen varias direcciones IPv6. ¿Debe la subred ser la misma para todos ellos?

No

¿Por qué a veces veo un% en lugar de una / en una dirección IPv6 y qué significa?

% es un identificador de interfaz. Se utiliza junto con las direcciones locales de enlace. Es necesario, ya que una máquina puede tener múltiples interfaces y las redes conectadas a esas interfaces pueden tener direcciones de enlace local superpuestas.

¿Estoy perdiendo demasiadas subredes? ¿No vamos a salir corriendo de nuevo?

No me preocuparía demasiado por eso.

Incluso con la extraña decisión de los diseñadores de IPv6 de usar un espacio de direcciones de 128 bits y luego desechar casi la mitad de esta en la configuración automática sin estado, IPv6 aún tiene mucho más espacio que IPv4.

Y si se produjera una crisis, se necesitaría poco más que un golpe de pluma para revertir esa extraña decisión.

Una preocupación mucho mayor con la escalabilidad de IPv6 es el tamaño de la tabla de enrutamiento. IPv6 NAT está muy desaconsejado. La ejecución de una gran red en direcciones asignadas por el proveedor conlleva un riesgo significativo de bloqueo del proveedor.

Así que creo que a medida que se incremente la penetración de IPv6 en las redes corporativas, veremos una explosión en las solicitudes de espacio IPv6 independiente del proveedor.


2
2018-01-06 03:25