Coexistencia entre protocolos de Internet utilizando túneles - Hay una manera sencilla de entenderlo? - PARTE1

Introducción.


Selección natural manifestada en la capa numero 3 del modelo de referencia OSI. Las nuevas necesidades y demanda global producida en parte por el alto crecimiento en la población asiática y el IoT rompieron las barreras de la escalabilidad.

Los rediseños en el protocolo IPv4 a principios de los años 90 (Como por ejemplo las redes "Class-less" o el NAT ) dieron al protocolo dos décadas mas de vida desde que en 1980 durante los primeros años en los que se incorporo el protocolo TCP a la familia de protocolos de Internet fue evidente que 32 bits no serian suficientes.
Resultado de imagen para ipv6 meme


La solución para las deficiencias en el protocolo IPv4 se basa en una evolución del mismo. Si los cambios en el protocolo utilizado en la capa 3 no son evolutivos se produce un impacto drástico sobre los protocolos de las capas superiores y no podemos olvidar que Internet es una red global, descentralizada y  EN PRODUCCIÓN con mas de 4 mil millones  de usuarios. Cualquier cambio en la manera en que funciona el internet tiene impacto económico, social y filantrópico global.



La evolución de este protocolo se llama IPv6. Podemos decir que IPv6 es una evolución conservadora de IPv4 ya que la mayoría de protocolos de transporte y aplicación necesitan pocas modificaciones para poder operar con IPv6, sin embargo no todo es de color de rosa.

A pesar de tener beneficios en cuanto a la compatibilidad con protocolos de capas superiores, gran capacidad de direccionamiento, multicast, seguridad, optimización de los encabezados para la simplificación de procesamiento, auto-configuración y demás mejoras, IPv6 tiene un gran deficiencia técnica que genero bastante controversia durante su diseño; La falta de interoperatividad con IPv4.


En este articulo me voy enfocar en los protocolos de tunelización utilizados para la coexistencia entre redes nativas IPv4 e IPv6. He escogido este tema ya que fue uno de los temas que mas me me ha llamado la atención durante mi proceso de preparación para el CCNP R&S. Intentaré de la manera mas sencilla posible explicar la manera básica en que funcionan estos protocolos con el objetivo de servir como fuente de información para los estudiantes y Network Engineers que buscan información sencilla y en español escasa en la red.


Túneles.

Imagen relacionada


La tunelización IPv6 en ingles "IPv6 Tunneling" se refiere al proceso en que un router o un host encapsula un paquete IPv6 dentro de un paquete IPv4. Ambos extremos del tunel debeden ser routers dual-stack.

Categorías de túneles.

Existen 2 categorías principales de túneles: Point-to-point y Multi-point.

-Los túneles P-T-P funcionan mejor cuanto el trafico IPv6 existe de forma regular y constante dentro de la red  mientras que los túneles multi-punto funcionan mejor cuando el trafico IPv6 no es tan frecuente.

-Los tuneles IPv6 Multi-point permiten a un router enviar paquetes a múltiples extremos utilizando solo 1 interfaz de tunel. El router decidirá de forma dinámica a cual router al extremo enviar el paquete encapsulado mediante la dirección IPv6 de destino o el next-hop address.


Tipos de túneles IPv6.

Existen 4 tipos de túneles bien conocidos en IPv6 que se dividen en 2 categorías: Estáticos y Dinámicos:

Túneles Estáticos:

- En la categoría de estáticos encontramos los  MCT y los GRE.

Túneles Dinámicos:

- En categoría de dinámicos encontramos el 6to4 y el ISATAP.



A continuación explicaré brevemente los 4 tipos de túneles utilizados en IPv6.

MCT (Manually Configured Tunnel):

Los túneles MCT p-t-p crean links virtuales punto a punto entre routers utilizando un MTU de 1480.

Cuando creamos un túnel por defecto estaremos creando un GRE. De acuerdo al RFC 4213 para definir un túnel como MCT debemos utilizar el "tunnel mode ipv6ip" y luego asignar la dirección IPv6 del túnel. Los tuneles MCT tienen un overhead mas ligero, soportan protocolos IPv6 iGPS y son preferidos a la hora de crear túneles permanentes.

La encapsulación de estos paquetes IPv6 en paquetes IPv4 utiliza el protocolo 41 conocido como ipv6ip.

Veamos un Ejemplo:




Como bien lo dice su nombre los routers dual-stack tienen conectividad IPv6 con Redes IPv6 en este caso nativas ( Native-IPv6-1 y Native-IPv6-2) y conectividad IPv4 con la nube IPv4 nativa. Los 2 dual-stack son los end-point's del tunel MCT.

Si por alguna razón necesitamos conectividad entre Native-IPV6-1 y Native-IPV6-2 esto seria imposible solo con enrutamiento ya que entre ambas redes existe una red en IPv4 la cual no es capaz de enrutar paquetes con direcciones IPv6. Es por este motivo que los routers Dual-stack necesitan establecer un tunel punto a punto entre ellos y utilizando el protocolo 41 IPv6ip van a encapsular los paquetes IPv6 dentro de paquetes IPv4 los cuales si son posibles de erutar entre si, siempre cuando la nube IPv4 oferzca conecitividad iGP claro....

Prueba de conectividad IPv4 entre routers Dual-Stack:


En este ejemplo tenemos conectividad IPv4 entre las interfaces loopback de los routers Dual-Stack por medio de enrutamiento estático.


Configuración MCT en cada extremo:


Existe conectividad IPv6 entre extremos utilizando la red IPv4 como red de transporte?

Que pasa si decidimos enviar un ping desde Dualstack1 a 2000:580:100::1 (Dirección IPv6 configurada en el túnel de Dualstack2)?

1. Dualstack1 revisara su tabla de enrutamiento en busca de una ruta hacia 2000:580:100::1.

2. Dualstack1 encontrará una ruta directamente conectada hacia el destino ya que ambos extremos pertenecen a la red 2000:580:100::/127 via tunel0, luego procederá a crear un paquete IPv6 al cual aplicará layer3 switching a través del tunnel0 de acuerdo a la tabla de enrutamiento.




3.El tunel encapsula el paquete en ipv6ip de acuerdo al modo en que fue configurado. Esta encapsulación consiste en agregar un header de IPv4 en el cual utilizara el IPv4 source y destination IP configurados en la interfaz tunel 0.




4. Dualstack1 busca su nuevo destino IPv4 en la tabla de enrutamiento y enruta el paquete.




5. En casa de existir conectividad IP entre extremos a través de la red nativa IPv4 el paquete llegará a la interfaz de dualstack2. Dual stack examinara el header IPv4 y notará que utiliza protocolo 41 por lo tanto utiliza tunnel0 para des-encapsular el paquete. A nivel del protocolo ICMP  este responde con un ICMP echo Replay y se lleva de nuevo el proceso de encapsulación y enrutamiento.




La interfaces del túnel ahora son capaces de servidor como next-hop para el enrutamiento  de subredes IPv6 locales y no locales utilizando enrutamiento estático o protocolos de enrutamiento dinámicos  a través del túnel MCT.


GRE (Generic Routing Encapsulation):


Los tueneles GRE protocolo 47, tambien son tuneles point-to-point, estaticos y manuales que poseen las mismas ventajas que los MCT.

GRE viene por defecto en las interfaces túnel para routers Cisco y utiliza un MTU de 1476. GRE agrega un extra header el cual permite encapsular y transportar hasta 20 protocolos de red diferentes.

El modo de configuración es bastante similar al que vimos con MTC utilizando la misma topologia.





En la segunda parte de este articulo me enfocaré en los túneles dinámicos 6to4 e ISATAP así como un vistazo general sobre el funcionamiento del NAT-PT (NAT protocol Translation).


Saludos!

Comentarios

Entradas más populares de este blog

CCNP - BGP COMPLETED

CCNP ROUTE - COMPLETED