8 de octubre de 2015

Diseño de subredes en IPv6

Cuando abordamos el diseño de redes IPv6 inevitablemente surge el tema del "cálculo de subredes
IPv6". Durante un tiempo me he resistido a hablar de este tema. Esta resistencia de mi parte tiene un motivo claro: Cuando mencionamos el término "subred" automáticamente todos los que hemos trabajado redes IPv4 pensamos en los mecanismos habituales de cálculo de la máscara de subred en función de cantidad de nodos y cantidad de subredes necesarias e intentamos trasladar esos conceptos al marco del nuevo protocolo. Esto no es aplicable a IPv6. En IPv6 no existe la máscara de subred.
IPv6 es un protocolo diferente de IPv4, una evolución ciertamente, pero una evolución importante que incorpora una multitud de conceptos nuevos que apuntan a resolver las dificultades que ha presentado IPv4 en los últimos30 años:
  • IPv6 incorpora un espacio de direccionamiento más amplio.
    Esto a veces hace pensar en un espacio de direccionamiento inagotable, y si bien no estoy de acuerdo con esa afirmación, no podemos negar que la cantidad de direcciones posibles es claramente muy grande.
  • IPv6 incorpora múltiples tipos de direcciones de unicast que no están presentes en IPv4: link local, unique local y globales.
  • En el diseño mismo de las direcciones globales IPv6 se considera una estructura jerárquica tripartita: red global | red local | nodo.
  • La nomenclatura estándar adoptada para las direcciones utiliza 32 dígitos hexadecimales (cada dígito represente 4 bits) separados en 8 campos de 4 dígitos cada uno.
  • IPv6 incorpora nuevos mecanismos de asignación de configuración y de ID de nodo. Asignación stateless de configuración y autoconfiguración de la porción de nodo.
Un tema importante: los diferentes tipos de direcciones de unicast
En IPv6 hay 3 tipos básicos de direcciones unicast: link local, unique local y globales.
De estos 3 tipos, las que se suelen tomar como referencia son las direcciones globales. Estas direcciones tienen una estructura jerárquica de 3 niveles como ya dije, sin que el RFC indique que cada uno de esos niveles tenga asignada una longitud obligatoria. El único límite son los 128 bits.
Sin embargo, en la implementación concreta del direccionamiento global se recomienda observar algunas prácticas:
  • Al llamado identificador de red global se recomienda asignar un total de 48 a 56bits.
    Sobre esta base, los organismos regionales de asignación de direcciones suelen asignar prefijos de hasta /32 bits a los ISPs (en algunos casos incluso prefijos más cortos) con la recomendación de que se utilicen prefijos /48 o /56 para los clientes corporativos. De esta manera se aseguran que toda la red de un ISP pueda ser sintetizada (sumarizada) en un único prefijo /32 o menor.
  • Por otra parte, se sugiere que el identificador de red local sea un /64, de modo tal que en una red corporativa se pueden utilizar 8 o 16 bits para identificar la red local, permitiendo dividir de esta manera la red corporativa en 256 o 65536 redes internas que se publican como una sola red /56 o /48 hacia el ISP.
  • Finalmente se sugiere que los últimos 64 bits se reserven para el identificador de nodo.



De esta forma, sin necesidad de definir una márcara de subred, la estructura misma de la dirección IP y los mecanismos de asignación de direcciones globales dejan entre 8 y 16 bits para la división interna de la red en subredes o redes locales.

¿Por qué dejar 64 bits para el identificador de nodo?
Para quienes estamos acostumbrados a trabajar en la escasez propia de IPv4, utilizar 64 bits para identificar el nodo puede parecer un exceso. Pero debemos recordar que IPv6 no está diseñado a partir de la escasez sino de la funcionalidad y la practicidad.
Entre las funciones nuevas que introduce IPv6 están las direcciones de link local y el proceso de autoconfiguración stateless. En ambos casos se recurre a la generación automática de un identificador de nodo único dentro del segmento sin necesidad de intervención del Administrador al que denominamos autoconfiguración del ID de nodo.
Hay 2 mecanismos definidos con este propósito:
  • EUI-64, que opera a partir de la dirección MAC de la interfaz.
  • ID Privado, que se genera a partir de una variable pseudo random.
En ambos casos el ID de nodo que se genera automáticamente es un ID de 64 bits de longitud. Por este motivo la recomendación es dejar 64 bits para el ID de nodo siempre. Si no lo hiciéramos no se podrían utilizar los procedimientos de autoconfiguración y sería necesario recurrir a la configuración estática de las interfaces o a la implementación obligatoria de DHCPv6.

¿Cómo habría que diseñar las subredes entonces?
Si tenemos en cuenta lo dicho hasta aquí, tomemos un ejemplo para hacer el diseño del direccionamiento de redes locales (subredes).
Supongamos el el ISP ALFA ha recibido del organismo regional correspondiente el prefijo

2001:abcd::/32

La empresa BETA solicita a nuestro ISP un espacio de direccionamiento global, como consecuencia de lo cual se le asigna el prefijo

2001:abcd:a1::/48

Sobre la base de este prefijo, el Administrador de la red necesita definir 8 redes locales o subredes, las que podría hacer de la siguiente manera:

2001:abcd:a1:0::/64   Gestión de la red
2001:abcd:a1:1::/64   Telefonía
2001:abcd:a1:2::/64   Red inalámbrica interna
2001:abcd:a1:3::/64   Red inalámbrica de visitantes
2001:abcd:a1:4::/64   Ventas
2001:abcd:a1:5::/64   Administración
2001:abcd:a1:6::/64   Gerencia
2001:abcd:a1:7::/64   Operaciones

De esta manera:
  • Contamos con una red diferente para cada una de las áreas de la empresa.
  • Tenemos la posibilidad de crecer con nuevas redes en la medida en que se requiera, sin que esto signifique una dificultad o requiera rediseño.
  • La Empresa publica una única ruta global hacia el ISP (2001:abcd:a1::/48).
  • El ISP publica una única ruta global hacia Internet (2001:abcd::/32).
  • Internamente se puede implementar autoconfiguración en aquellos dispositivos que no requieran configuración estática o que no soporten o que por política no sea necesario que reciban configuración por DHCPv6.
  • El cuarto campo de la dirección IP identifica claramente la red local a la que pertenece cada IP.
  • No son necesarios cálculos de máscaras de subred de ningún tipo.
Enlaces relacionados


1 comentario:

  1. Inagotable no va a ser eso seguro, pero tenemos para rato me parece jajaja

    ResponderEliminar

Gracias por tu comentario.
En este blog los comentarios están moderados, por lo que su publicación está pendiente hasta la revisión del mismo.