Sobre MPLS se ha escrito mucho, incluso demasiado, y por desgracia lo que se ha escrito tiende a glorificar esta tecnología que surgió, precisamente, para simplificar algunos de los problemas que se habían descubierto en las redes IP.
Por decirlo de una forma muy sencilla, MPLS permite crear túneles entre dos o más routers de una red para transferir paquetes entre ellos sin que el resto de la red (que puede ser una red nacional o transnacional compuesta por decenas o centenas de routers) necesite saber el tipo de paquetes que circulan por el router (IPv4, IPv6, IS-IS, nivel 2, etc.) ni tampoco el direccionamiento que usan dichos paquetes.
En este sentido puede ser similar a otros protocolos como GRE, IPSec, PPPoE, etc. pero MPLS plantea ventajas importantes:
- Tiene un overhead muy pequeño (añade 4 bytes al paquete).
- Está diseñado para ser conmutado en hardware y por tanto más rápido y con menos carga de CPU.
- Dispone de mecanismos para crear de forma automática o semiautomática
- Puede utilizar con protocolos adicionales como RSVP (que veremos más adelante) para proporcionar garantias de calidad de servicio.
- Mediante un sistema de superposición de etiquetas permite crear fácilmente VPN para soportár varios usuarios finales sobre la misma red si que el direccionamiento de los usuarios colisione entre si.
Una utilidad de MPLS
Por ejemplo supongamos el caso de cuatro routers, dos grandes conectados a Internet y entre ellos, otros dos más pequeños.
En este esquema PE1 y PE2 son los routers conectados a Internet y P1 y P2 los routers intermedios. PE1 y PE2 tienen que tener la tabla completa de rutas de Internet, 482.000 en este momento, y también tiene que hablar entre si y pasarse información para determinar cual es la ruta más óptima.
De esta forma puede suceder que PE1 reciba de algún router inferior un paquete que tiene que enviar a Internet, por ejemplo a la dirección 192.0.2.1, y que decida que el mejor camino es a través de PE2 y se lo envíe.
El problema es lo que tengan P1 y P2.
- Pueden tener toda la tabla de rutas también (con la consiguiente necesidad de recursos) y en ese caso los cuatro routers decidirían el mejor camino para cada una de las rutas.
- Pueden no tener toda la tabla de rutas y tener como ruta por defecto: P1 > P2 > PE2, y en ese caso el paquete llegará bien a su destino.
- Pueden que P1 y P2 no tengan toda la tabla de rutas y tengan como ruta por defecto P2 > P1 > PE1 y en ese caso el paquete jugará al ping pong entre PE1 y P1.
Hay que tener en cuenta que el segundo caso parece la solución correcta, pero no es así porque podemos imaginar que para otra ruta, por ejemplo para 192.0.2.2, la salida preferida es a través de PE1 y si el paquete le llega a PE2, lo intentará enviar a PE1 y entonces tendremos el efecto ping-pong pero en el otro sentido.
En cambio, imaginemos que al llegar a PE1, este mira su tabla de rutas y todas las que tengan por destino PE2, las meta en una caja, le ponga una etiqueta “RUTA 22” y se las envíe a P1.
Fíjate que hemos “comprimido” todas las rutas (que pueden ser decenas de miles) a una sola Etiqueta.
¿Que hace P1cuando le llega la caja con la etiqueta? pues necesita una sola entrada en una tabla de conmutación, en lugar de las decenas de miles de las rutas, que corresponde a la etiqueta 22 y que le indica “envíaselo a P2 con la etiqueta 5”.
El paquete sale hacia P2 y al llegar a este hace lo mismo, la etiqueta 5 equivale a “Envíalo a PE2 con la etiqueta 3” y así lo hace. Al llegar a PE2, mira la etiqueta y en su tabla de rutas descubre una entrada que viene a decir “quita la etiqueta, saca el paquete IP que hay dentro y enrútalo normalmente”.
Una equivalencia sencilla sería una empresa de mensajería. Cuando enviamos un paquete desde Cáceres para Gijón, el mensajero lo recoge en nuestra casa y lo mete en una caja donde pone “Centro de distribución Madrid - Ruta 22” y de esta forma al llegar a Madrid, un empleado sabe que ruta 22 es “Envialo a Oviedo con ruta 14”, así que le pone una etiqueta “Oviedo - Ruta 14” y lo envía al camión de Oviedo. Fíjate que de momento a nadie le interesa cual es el destino final, la calle, número, piso, etc.
Al llegar a Oviedo otro operario mira en una tabla y comprueba que “Ruta 14” significa que tiene que enviarlo a Gijón con una etiqueta “Gijon - Ruta 3” y lo mete en el camión de Gijón.
Finalmente al llegar a Gijón otro operario mira la etiqueta y sabe que “Ruta 3” es sacar el paquete de dentro de la caja, mirar la dirección de destino final y dársela a un repartidor para que se la lleve.
Pero fíjate que hasta este paso ni en Madrid ni en Oviedo se tienen que conocer todo el callejero de Gijón, ni siquiera que el destino final del paquete es Gijón. Solo se tienen que saber unas cuantas etiquetas correspondientes al siguiente salto.
Pues basicamente MPLS es este proceso. Los equipos de entrada/salida que son los que tienen mirar las direcciones originales, el de entrada para poner la etiqueta correcta de destino y el de salida para sacar el paquete de su “encapsulación” y enviarlo a su destino, se denominan PE, mientras que los intermedios, que se limitan a cambiar una etiqueta por otra, se denominan P.
A partir de esta sencilla introducción vamos a ver como se aplica realmente esto en la práctica y en este caso vamos a usar routers Juniper emulados.
No hay comentarios:
Publicar un comentario