BorrowBits
Portada » Blog » Telecomunicaciones » Redes MPLS: entendiendo sus bases (casi desde cero)

Redes MPLS: entendiendo sus bases (casi desde cero)

En este artículo queremos exponer los fundamentos de MPLS, que nos servirán de base para tutoriales más avanzados. MPLS viene de Multiprotocol Label Switching, que en castellano se podría traducir como «conmutación de etiquetas multiprotocolo». Se trata de una técnica de alto rendimiento para transportar datos en redes de telecomunicaciones, donde ha ido reemplazando a Frame Relay y ATM.

Con el paso del tiempo, también se ha convertido en la tecnología de transporte más utilizada del mundo por proveedores de Internet y telefonía celular, ya que además de agilizar el backbone de telecomunicaciones, permite crear redes VPN muy seguras entre diferentes países, implementar Pseudowires (PWE3 o CES), o incluso segregar fácilmente tráfico con necesidades de QoS como VoIP.

MPLS se encarga de dirigir los datos de un nodo de red al siguiente utilizando etiquetas de ruta en lugar de direcciones de red. De esta forma conseguimos agilizar la red, pues los nodos no tienen que desencapsular direcciones de red muy largas y cotejarlas en una tabla de enrutamiento.

A MPLS se le conoce a menudo como un protocolo Layer 2.5, pues se encuentra entre la capa 2 y la capa 3 del modelo OSI.

Image result for MPLS OSI

La M de MPLS, viene de Multiprotocolo porque una ruta MPLS puede transportar cualquier cosa encima de cualquier cosa, independientemente del protoclo subyacente, sea Ethernet, ATM, PPP, SONET… A esta característica también se la conoce como AToM, de «Any Transport over MPLS«. Esa es una de las razones por las que las redes MPLS son tan versátiles.

Por ejemplo, podríamos etiquetar un paquete IP (Capa 3 – Red) con MPLS (Capa 2.5), que iría encapsulado sobre Ethernet (Capa 2 – Enlace), que a su vez estaría transportado sobre un canal óptico (Capa 1 – Física):

Terminología

Image result for mpls backbone

Label

La susodicha «Etiqueta». Los números de etiqueta del 0 al 15 están reservados para propósitos especiales. Por tanto no pueden utilizarse por un LSR (ver más abajo) para transmisiones normales. Cada etiqueta reservada tiene su función específica; por ejemplo, la etiqueta 3 significa NULL y la 14 es una alerta OAM.

MPLS VPN

La creación de redes privadas virtuales (VPN) sobre redes MPLS permite conectar diferentes clientes ubicados en diferentes zonas geográficas a través de un proveedor de servicios. En próximos artículos hablaremos de esta potentísima aplicación (¿te avisamos?).

CE (Customer Edge)

Se trata del dispositivo ubicado en el extremo del cliente. Puede ser cualquier enrutador que se use para comunicarse con el proveedor.

PE (Provider Edge)

Es un dispositivo en el extremo o en la frontera del proveedor, es decir, donde los clientes «terminan» (se conectan). Los encaminadores PE pueden hacer conmutación de etiquetas MPLS, así como examinar cabeceras IP.

P (Provider Router)

Son encaminadores ubicados en el núcleo del proveedor (core) y su interconexión conforman el así llamado «backbone MPLS». El encaminamiento se realiza exclusivamente examinando sólo la etiqueta MPLS de cada paquete.

LSR (Label Switched Router)

También llamado róuter de tránsito. Algunos pueden ser de ingreso (Ingress LSR) o de regreso (Egress LSR). Tanto uno como otro se conocen como LER (Label Edge Router), ya que son responsables tanto de poner como de quitar etiquetas MPLS en las fronteras del dominio MPLS.

LSP (Label Switched Path)

Son los caminos en las redes MPLS a través de los cuáles viajan los flujos de tráfico.

VRF (Virtual Router and Forwarding)

Tablas de encaminamiento virtuales creadas en los PE routers para diferentes VPNs. VRF es un término Cisco, por su parte Huawei lo llama «Instancia VPN» (VPN Instance) y en Juniper se conoce como «Instancia de encaminamiento » (Routing Instance).

FEC (Forwarding Equivalence Class)

Es un grupo de paquetes IP que son tratados de la misma manera sobre un mismo camino. Un FEC puede ser por ejemplo todas las IP de una subred o cualquier tráfico que sea tratado de la misma manera con respecto a unos parámetros QoS/CoS determinados.

CEF (Cisco Express Forwarding)

CEF is una tecnología IP de conmutación avanzada de Cisco que permite realizar una conmutación a nivel hardware para optimizar la performance. Huawei y Juniper también tienen sus tecnologías propietarias de fast-forwarding.

LDP (Label Distribution Protocol)

Es un protocolo utilizado para intercambiar información de enrutamiento de etiquetas entre encaminadores MPLS. LDP es un protocolo abierto, aunque también se utilizan comercialmente protocolos como IGP, BGP y RSVP:

Image result for mpls LDP

MPLS Control Plane

Es el plano de control, responsable de intercambiar información de rutas y etiquetas. El plano de control consiste en una LIB y una RIB, así como el ya mencionado LDP (o el protocolo de encaminamiento correspondiente). La LIB (Label Information Base) contiene todas las conexiones LDP, mientras que RIB (Routing Information Base) contiene las tablas de encaminamiento que veríamos utilizando el comando «show ip route».

MPLS Data Plane

Es el plano de datos, responsable de reenviar paquetes basados en etiquetas y cabeceras IP. Los motores del plano de datos se llaman LFIB (Label Forwarding Information Base) y FIB (Forwarding Information Base). La LFIB es la tabla MPLS que contiene las etiquetas relacionadas con los prefijos IP y sus interfaces salientes; se usa para reenviar paquetes ya etiquetados. La FIB por su parte es la base de datos de reenvíos, una versión optimizada de la RIB.

Image result for mpls control plane

Cabecera MPLS

El encabezado contiene los siguientes campos:

+ Label Value = valor de la etiqueta (20 bits)

+ EXP = indicador de CoS, Class of Service (3 bits)

+ S = BoS (Bottom of Stack, 1 bit), se utiliza para identificar la ¡ultima etiqueta. Si S=1, la etiqueta es la última de la pila.

+ TTL = Time To Live, indica por cuántos nodos puede pasar un paquete antes de ser descartado (8 bits)

Ver las imágenes de origen

Operaciones MPLS

Las operaciones MPLS se refieren a las operaciones que un router LSR puede hacer con una etiqueta:

  • Push: agregar una nueva etiqueta
  • Pop: quitar la etiqueta superior
  • Swap: reemplazar la etiqueta más alta
  • Multiple push: agregar varias etiquetas encima de los paquetes existentes
  • Swap and Push: reemplazar la etiqueta superior y luego agregar otra etiqueta nueva en la parte superior
  • Untagged (o «NO label»): la pila de etiquetas se elimina y el paquete se reenvía sin etiquetar

Cuando una entidad recibe un paquete etiquetado, hay 2 cosas que se determinan en la parte superior de la pila de etiquetas:

1) El siguiente salto así como interfaz de salida.

2) Qué operación de las anteriores realizará el LSR antes de reenviar.

La inserción de una etiqueta (push) la realiza normalmente el LSR de ingreso, mientras que las operaciones de intercambio como swap se realizan en los LSR intermedios. Sin embargo, la operación pop puede hacerse en el LSR de regreso, o también en el penúltimo salto (para implementar PHP o Penultimate Hop Popping, un proceso que pretende reducir la sobrecarga de búsqueda doble en el último nodo MPLS).

Transmisión básica de un paquete

Ahora ya estamos en condiciones de describir el paso de un paquete en redes MPLS:

El paquete enviado desde un router CE llega al router del proveedor PE y de ahí se reenvía al primer LSR de ingreso. Aquí el LSR determinará la clase equivalente de envío (FEC) y entonces insertará una o varias etiquetas MPLS. A continuación el paquete se envía al siguiente router del backbone MPLS según la información de ese túnel. Cuando un paquete ya etiquetado se recibe en un LSR intermedio, se examina primero la última etiqueta de la pila, realizando con ella alguna de las operaciones mencionadas (Push, Pop, PHP, Swap…).

Los encaminadores LSR de tránsito no examinan lo que haya debajo de la etiqueta MPLS; he aquí la razón de que MPLS sea independiente del protocolo.

Por último, en el LSR de regreso se retira la última etiqueta, consultándo el bit BoS. Ya sólo resta la carga útil o «payload», sea un paquete IP o lo que haya por encima. Por tanto este último router debe contener la información de encaminamiento necesaria para que dicho paquete «desMPLSizado» pueda ser reenviado a su destino, que por ejemplo podría ser el router frontera PE del siguiente proveedor hacia el router CE de la red del destinatario.

Referencias y fuentes

+ Libros interesantes sobre redes MPLS.

+ Understanding MPLS Basics: https://ourtechplanet.com/understanding-mpls-basics%e2%80%8b/

+ Presentación:

Angel H.

Tecnófilo irreparable y lector insaciable. Emigrante e inmigrante. Además de eso, Ingeniero de Telecomunicaciones y Product Manager. +10 años de experiencia en proyectos de Software, Cloud e Ingeniería de Redes. Me apasiona el DIY, la tecnología Blockchain y las Finanzas.

Escribir un comentario

Angel H.

Tecnófilo irreparable y lector insaciable. Emigrante e inmigrante. Además de eso, Ingeniero de Telecomunicaciones y Product Manager. +10 años de experiencia en proyectos de Software, Cloud e Ingeniería de Redes. Me apasiona el DIY, la tecnología Blockchain y las Finanzas.

Suscríbete

¡Sácale el máximo partido a BorrowBits!

Apúntate para seguir recibir por email las nuevas publicaciones, noticias sobre Blockchain pre-filtradas y material exclusivo para suscriptores. De momento es gratis:

{subscription_form_1}

Categorías

Bits del pasado

Sitio patrocinado por:

JitKey rentabilización apartamentos turísticos

JITKey.- Startup enfocada en la gestión de alojamientos turísticos.