MPLS - Circuitos virtuales en redes IP


Siguiendo con en la línea la entrada de ATM, el objeto de esta entrada es dar una introducción a MPLS y sus principales características. MPLS surge por varios motivos, siendo los principales la necesidad de una red unificada, una integración con IP más sencilla que ATM y salvar las limitaciones propias de las redes IP que veremos a medida que describamos las características de MPLS.


Así pues, las principales características de MPLS son las siguientes:
  • Circuitos virtuales IP basados en etiquetas. 
  • Uso de una red unificada
  • Simplificación de la integración con IP
  • Core libre de BGP
  • Flujo de tráfico óptimo
  • Ingeniería de tráfico
  • MPLS VPN
  • QoS

IP y unificación de redes: una red para dominarlas a todas

Estas dos características van de la mano, ya que una habilita la otra. En tecnologías como ATM o Frame Relay se utiliza un modelo de overlay en el que solo el cliente ‘habla’ IP y la red de proveedor simplemente actúa como transporte en nivel 2. Las dos imágenes a continuación (extraídas del libro MPLS Fundamentals de Cisco) ilustran este concepto claramente, teniendo en la primera visibilidad de las dos redes y la segunda solamente del ‘overlay’ de cliente en IP, donde la red de proveedor es transparente a este nivel.





En este tipo de redes vemos que las líneas punteadas representan un circuito virtual entre los routers en full-mesh, ya que de no ser así el tráfico no circularía de forma óptima. Este tipo de topologías por lo tanto requiere de la configuración de PVCs de forma manual en full mesh, lo que supone una carga de trabajo que condiciona la eficiencia y el coste de este tipo de redes.
La solución que propone MPLS es involucrarse directamente en el routing IP del cliente de forma que cualquier red de capa 2 se pueda integrar ‘por debajo’. Esto se ve más claro en la siguiente topología, que aunque no es muy ortodoxa sirve para entender el concepto. En ella vemos lo siguiente:
  • CE Customer Equipment. Router de cliente. 
  • PE Provider Edge. Equipo del proveedor en el borde de la red MPLS. 
  • Una red ATM entre un CE y un PE. Esta red podría ser cualquier tipo de capa 2 como Frame Relay o Metro Ethernet. Esto se consigue porque ambos equipos tienen routing entre ellos (generalmente BGP, pero no necesariamente) 
  • La red MPLS, que permite la comunicación entre PEs y por tanto entre CEs.
  • Una red de capa 2 dentro de la MPLS. En este caso FR, aunque no es muy habitual en el core. 

Funcionamiento básico de MPLS

Ahora que sabemos un poco sobre la arquitectura, vamos a profundizar un poco en cómo funciona la MPLS propiamente dicha.
Primero veremos la cabecera utilizada, que es bastante sencilla. Lo que nos interesa saber es que MPLS encapsula al paquete IP y a su vez es encapsulado por las cabeceras de capa 2 (que como veíamos anteriormente pueden ser de cualquier protocolo). 
Para ello nos apoyaremos en la siguiente topología, que contiene lo siguiente:
  • CEs en los extremos. 
  • LSRs. Si vamos a utilizar etiquetas, lo lógico es que los routers en la red de proveedor sean capaces de utilizarlas. Por ello, a estos equipos se les llama ‘Label Switching Routers’ y comprende tanto a los PEs como a los equipos de core. Sin embargo, los PEs tienen la característica de actuar como ‘Ingress’ o ‘Egress’ según el caso. 
  • LSP. ‘Label Switched Path’, en otras palabras, el circuito virtual extremo a extremo. 


Desde el punto de vista del plano de datos, los equipos realizan una serie de operaciones en MPLS muy similares a las realizadas en ATM.
  • Push. En el Ingress LSR se identifica la ruta de destino y se inserta la etiqueta correspondiente. 
  • SWAP. Cambia la etiqueta del mismo modo que en ATM se cambiaba el VPI. 
  • Pop. Se saca la etiqueta y se envía el paquete IP tal cual en el Egress LSR. 



Estas operaciones se hacen en base a la LIB (Label Information Base), que es una tabla también similar a la de ATM.

Respecto al plano de control, las LIB se pueden construir de forma tanto dinámica como estática. Aunque no entraremos en profundidad en esta cuestión, cabe señalar que la creación dinámica se basa en la distribución de etiquetas según los next hops y lo más habitual es utilizar LDP (Label Distribution Protocol), aunque hay otros métodos. Daremos algún detalle más en la parte referente al core libre de BGP. 

Label switching VS IP Forwarding


Uno de los para escoger MPLS frente a redes puramente IP habitualmente estudiados es que el proceso para enviar el paquete IP (IP Forwarding) es complejo y costoso. Sin embargo, la capacidad de los routers desde hace años, incluso utilizando ASIC para enviar los paquetes, hace que este beneficio no sea tan grande como inicialmente cabría pensar [Cisco MPLS Fundamentals]. En cualquier caso, es interesante aprovechar y echarle un vistazo a la imagen inferior (tomada de “The Big Bucket”), donde se puede ver el número de operaciones que entran en juego.


Ingeniería de tráfico

Si retomamos la topología de más atrás, vemos que teníamos dos posibles para unir los dos extremos. Si fuera una red IP podríamos tratar de utilizar ambos caminos de alguna forma como utilizando estáticas o multipath, pero son soluciones no escalables y menos aún en la red de un proveedor, que es el ámbito donde se utiliza MPLS. Por ello podemos decir que las redes IP presentan falta de capacidad para realizar ingeniería de tráfico, lo que genera un uso más ineficiente de la red.

Para entenderlo podemos utilizar la “topología de pez” de más abajo. Cuando el router P1 recibe un paquete de A o B con destino C, mira su tabla de rutas y envía el paquete por el enlace que esta indique. Dicha tabla se construye en base a un protocolo de enrutamiento, generalmente basado en SPF que escogerá la mejor ruta de forma dinámica en base al coste de los enlaces. Esta ruta será siempre la misma, lo que puede llevar a la saturación de determinados enlaces al atraer un exceso de tráfico y al desuso de otros.


Por el contrario, el uso de LSPs en MPLS permite utilizar más eficientemente los recursos de la red mediante ingeniería de tráfico e incluso salvar situaciones ante incidencias en el core llevando el tráfico a enlaces no afectados por ejemplo por pérdidas o distribuyendo el tráfico para evitar saturaciones en rutas alternativas. 

Core libre de BGP

Viendo que el núcleo tan solo debe enviar los paquetes en base a las etiquetas, solo necesitamos las rutas de cliente en los equipos de borde (PEs). Esto simplifica enormemente el núcleo, ya que se evita la necesidad de tener equipos que soporten un elevado número de rutas tanto en plano de datos como de control, reduciendo complejidad y costes.
La arquitectura utilizada es la de establecer iBGP entre los PEs (anteriormente el full-mesh, ahora a través de reflectores de rutas RR) para permitir el intercambio de rutas. De este modo en la topología inferior todos los PEs saben cómo llegar a los CEs.
Sin embargo, para establecer estas vecindades iBGP y para saber cómo llegar al PE next-hop de una ruta, necesitan conocer cómo llegar a este. Para ello, se utiliza un IGP (OSPF o ISIS generalmente) entre todos los equipos de la MPLS, tanto PEs como Core.

En esta información obtenida a través de ambos protocolos se basan los equipos a la hora de construir las LIBs y los LSPs, que a su vez pueden ser modificados manualmente según la necesidad. 


MPLS VPN

Hasta ahora habíamos visto un escenario en el que contemplábamos solo un mismo cliente, pero como es lógico la red debe tener la capacidad de soportar múltiples de estos para poder ser eficiente y rentable. Esto es lo que se consigue con el uso de VPNs. El concepto es bastante sencillo: en los PEs se tiene una tabla de rutas y un plano de control por cada cliente. De este modo virtualmente la red es única para cada cliente aplicando su propia lógica y evitando siempre la posibilidad.

Conclusión

MPLS es una arquitectura de red que aúna características de redes de circuitos virtuales como ATM y de las redes IP, obteniendo un resultado que las la hacen idónea en el entorno de los proveedores para ofrecer múltiples servicios a múltiples clientes de una forma eficiente y escalable.


Bibliografía

Cisco MPLS Fundamentals - Luc De Ghein
Introduction to MPLS – Tripti Batra; Gagan Aggarwal
Introduction to MPLS Based on MPLS tutorial from Tim

Comentarios

Entradas populares