Link virtualization: MPLS

De Departamento de Informatica
Saltar a: navegación, buscar

El MPLS (Multiprotocol Label Switching) es un mecanismo de transporte de datos. Representa un tipo de red virtual y packet-switched, mejor definida como label-switched[1]. Puede ser considerada como un link que conecta dispositivos IP (para los efectos de la conexión de internet, la red MPLS es simplemente un cable más de la capa link.

Fue creado para mejorar la velocidad de fowarding de los routers IP mediante la utilización de un concepto clave de las redes de circuito virtuales: una etiqueta de tamaño fijo, las cuales identifican links virtuales entre nodos, en vez de puntos terminales (endpoints).

El principal atractivo de este tipo de red es que permite el forwarding de los frames sin necesidad de entrar a analizar una larga dirección de red de destino: sólo se ve la pequeña etiqueta de salida,así evitando tener que hacer complejas búsquedas en tablas de ruteo. Además, al existir distintos caminos para llegar hacia un mismo destino (al contrario de lo que sucede en IP que se tiene sólo un camino), se puede hacer ingeniería de tráfico (buscar el mejor camino para la situación actual).

Cabe notar que un frame MPLS sólo puede ser enviado entre routers que implementen (ambos) MPLS (otro router se confundiría debido a que la cabecera es distinta que un frame IP normal), pero MPLS no es un reemplazo de IP, sino que funciona mano-a-mano con este, logrando añadir técnicas de redes de circuito virtuales a redes de datagramas.

Contenido

Funcionamiento

Cada router perteneciente a una red MPLS tiene una tabla de forwarding. En ésta, cada fila contiene la información que describe a todos los caminos posibles que pueden ser alcanzados desde dicho router. Los datos que contiene la tabla son:

  • Etiqueta de ingreso: Al recibir un frame, el router mirará la etiqueta que contiene y buscará ese valor con la etiqueta de ingreso de su tabla, de esta forma sabrá qué fila debe ocupar para proceder con el forwarding.
  • Etiqueta de salida: Al enviar un frame, el router agrega a éste la etiqueta de salida correspondiente a la fila pertinente (elegida gracias a la etiqueta de ingreso) que servirá para continuar el forwarding en el siguiente router.
  • Host de destino: es hacia donde se quiere llegar.
  • Interfaz de salida: es la interfaz (física) del router por la cual se enviará el frame.

Al comenzar la conexión, todos los routers dentro de la red MPLS se comunican con sus vecinos para dar a conocer a qué hosts pueden llegar. De esta forma, cada router completa su tabla que le indica qué destino se puede alcanzar avanzando por cada una de sus interfaces de salida, además de qué etiquetas de salida debe agregar al frame.

Al momento de recibir un paquete, el primer router busca en su tabla la fila que sirva para llegar al destino deseado. Luego de elegir la fila, le agrega al frame la etiqueta de salida correspondiente, y envía el frame al siguiente router mediante la interfaz de salida que consiguió de dicha fila. El siguiente router recibe el frame y revisa la etiqueta de éste (que es la etiqueta de salida del router anterior), y con esta información busca en su tabla en la columna de etiqueta de entrada la fila correcta, y repite el proceso realizado por el primer router. Esto se repite hasta finalmente llegar al host de destino.

Ejemplo

Reenvío mejorado mediante MPLS

Figura 1 : Red con routers MPLS
Figura 2 : Rutas que puede tomar el router 4 (R4) para llegar al destino 1

Consideremos una red en donde contamos con 6 routers, cada uno identificado como R1, R2, R3, R4, R5 y R6, respectivamente. Solamente los routers R1,R2, R3 y R4 son compatibles con MPLS (routers en rojo en la figura 1), R5 y R6 son routers IP estándar. Además, podemos observar que el router 1 (R1) puede llegar al destino 1, y el router 3 (R3) puede llegar al destino 2, como también que el router 4 (R4) se encuentra en la intersección entre los routers IP y los MPLS. Todo esto se observa en la Figura 1.

Para efectos prácticos del ejemplo, los routers anuncian a sus vecinos el enrutamiento que pueden realizar, es decir:

  • El router R1 le anuncia a sus routers vecinos, R2 y R3, que puede ir hacia el destino 1, utilizando la etiqueta 6.
  • El router R2, como sabe ahora que el router R1 puede ir al destino 1, le anuncia al router R4 que él (R2) puede llegar al destino 1 (pasando por R1) con una etiqueta MPLS igual a 8.
  • El router R3 anuncia al router R4 que puede ir hacia el destino 2 con una etiqueta MPLS igual a 10, y además, como el router 1 (R1) le proporcionó la información, también puede ir al destino 1 con una etiqueta MPLS igual a 12.

Podemos resumir el detalle en las siguientes tablas:

Enrutamiento R4
Etiqueta de entrada Etiqueta de salida Destino Interfaz de salida
- 10 1 verde
- 12 2 verde
- 8 1 azul

Lo que nos indica la tabla, es que para ir al destino 1 tenemos dos caminos, uno a través del camino verde (figura 2) pasando por el router 3 (R3), el cual le indicó que su etiqueta MPLS para llegar al destino 1 era 10. A su vez puede llegar al destino 1 a través del camino azul (figura 2) pasando por el router 2 (R2) el cual indicó que su etiqueta MPLS para llegar a destino 1 era 12 y finalmente puede llegar al destino 2 sólo pasando por el router 3 (R3) el cual indicó que su etiqueta era 12. Las etiquetas de ingreso no aplican debido a que este es el primer router, por lo que los frames que reciba no tendrán etiquetas (serán frames IP, no MPLS).

Enrutamiento R3
Etiqueta de entrada Etiqueta de salida Destino Interfaz de salida
10 6 1 verde
12 9 2 negro

Podemos observar que desde R3, para llegar al destino 1, debemos ir a R2 mediante la ruta verde. Por lo tanto, R3 recibe desde R4 la etiqueta de entrada 10 y su etiqueta de salida es la que el R2 indicó, es decir, 6. Para ir al destino 2, se va directo ya que se encuentra conectado a él directamente.

Enrutamiento R2
Etiqueta de entrada Etiqueta de salida Destino Interfaz de salida
8 6 1 azul

El router 2 (R2) recibe la etiqueta de entrada 8, y para ir al destino 1 se va por la ruta azul con una etiqueta de salida de 6.


Enrutamiento R1
Etiqueta de entrada Etiqueta de salida Destino Interfaz de salida
6 - 1 negro

El router 1 R1 recibe la etiqueta 6 desde R2 y puede ir al destino 1 directamente ya que se encuentra conectado hacia él.

Hasta ahora sabemos que los routers conocen las rutas, en este caso analizaremos R4, el cual sabe que puede ir al destino 1 mediante dos caminos distintos, el camino azul y el verde, como se observa en la Figura 2.

Por lo tanto, podemos observar que se realizó una conmutación basándose en etiquetas MPLS, sin necesidad de considerar la dirección IP de un paquete, es decir, MPLS proporciona la capacidad de reenviar paquetes a través de rutas que no serían posibles utilizando protocolos de enrutamiento IP, ya que éstos indican solo una única ruta de coste mínimo hacia un destino. A partir de MPLS podemos realizar una ingeniería de tráfico, por ejemplo, forzar que parte del tráfico dirigido hacia un cierto destino tome una determinada ruta, mientras que el resto del tráfico dirigido a ese mismo destino sigue una ruta distinta, para así mejorar rendimiento o bien otros tipos de necesidades.

Sub Ejemplo

Para observar qué sucede a nivel de paquetes, pensemos ahora en base al ejemplo anterior que un paquete desea ir desde el R4 hacia el destino 1 por la ruta verde que se observa en la Figura 2. Para ello, R4 le agrega la etiqueta 10 en la cabecera, y lo envía camino a R3. R3 lee la etiqueta y le pone ahora 6, enviándolo a R1. R1 recibe la etiqueta 6, y envía finalmente el frame al destino 1.

Beneficios

  • Mejora en la velocidad de forwarding al no tener que analizar el destino.
  • Funciona en conjunto con IP (se ve como "un cable" para los routers no pertenecientes a la red MPLS).
  • Permite múltiples caminos de ruteo para llegar hasta el mismo host (usando IP sólo existe el camino de menor costo), así se puede lograr encontrar un mejor camino que el normal, dependiendo de las circunstancias.

Cabecera

Los frames que utiliza MPLS tienen una pequeña cabecera (header) que se coloca entre las cabeceras de la capa-2 y la capa-3 (como se ve en la parte superior de la figura).

Figura 3 : Cabecera de frame con MPLS (arriba) y el interior de la cabecera MPLS (abajo)

Los campos más importantes de esta cabecera son (tal como se ven en la parte inferior de la figura):

  • Etiqueta (Label) de 20 bits, que sirve como identificador para la red virtual de circuito
  • 3 bits (Exp) reservados para uso experimental
  • Un bit (S) utilizado para indicar el fin de una serie de headers MPLS apilados (un tema avanzado más allá del alcance del curso)
  • Un campo de 8 bits de tiempo de vida (TTL)

Usos

  • Implementación de VPNs (virtual private networks)
Gracias a MPLS, una ISP puede conectar las distintas redes de un usuario, y así aislar los recursos y el direccionamiento utilizado por el usuario, separándolo del resto de los usuarios que estén usando la red de la ISP.
  • MPLS puede ser usado para realizar una restauración rápida de los caminos de forwarding, por ejemplo en el caso de que se necesite un camino alternativo para transmitir los datos luego de una falla en un link.

Notas

Referencias

  • James F. Kurose, Keith W. Ross, Computer Networking: A Top-Down Approach 5th Edition (Pearson, 2010)
  • Bruce S. Davie, Yakov Rekhter, MPLS: technology and applications

Links Externos

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas