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
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
Publicar un comentario