tutoriales.com

Configuración y Optimización de MPLS en Redes Cisco: Fundamentos y LDP

Este tutorial profundiza en la configuración de MPLS (Multiprotocol Label Switching) en entornos Cisco. Cubriremos los conceptos esenciales, la asignación de etiquetas y la implementación del Protocolo de Distribución de Etiquetas (LDP) para un reenvío de tráfico eficiente y de alto rendimiento en tu red.

Intermedio20 min de lectura10 views
Reportar error

🚀 Introducción a MPLS y su Importancia

Multiprotocol Label Switching (MPLS) es una tecnología de reenvío de paquetes de alto rendimiento que ha sido fundamental en el diseño de redes de proveedores de servicios y grandes empresas durante décadas. A diferencia del reenvío tradicional basado en IP, que examina el encabezado de la capa de red en cada salto para tomar decisiones de enrutamiento, MPLS utiliza un mecanismo de etiquetado para reenviar paquetes de manera más rápida y eficiente.

¿Por qué MPLS? 🤔

Originalmente, MPLS se desarrolló para acelerar el reenvío de paquetes en routers que dependían de procesadores lentos para la búsqueda de tablas de enrutamiento. Aunque los routers modernos tienen capacidades de reenvío de hardware muy avanzadas, MPLS sigue siendo crucial por varias razones:

  • Rendimiento mejorado: Reduce la sobrecarga del procesamiento de encabezados de IP en los routers intermedios (P-routers).
  • Flexibilidad: Permite la creación de servicios avanzados como VPNs MPLS (L3VPN, L2VPN), Traffic Engineering (MPLS TE) y QoS.
  • Escalabilidad: Mejora la escalabilidad en redes grandes al simplificar la toma de decisiones de reenvío.
  • Integración: Permite la integración de diferentes tecnologías de capa 2 (Frame Relay, ATM, Ethernet) sobre una infraestructura IP común.

En este tutorial, nos centraremos en los fundamentos de MPLS y cómo configurarlo en routers Cisco IOS, utilizando LDP (Label Distribution Protocol) como el protocolo para la distribución de etiquetas.

📌 Nota: Para seguir este tutorial, se asume un conocimiento básico de enrutamiento IP (OSPF, EIGRP) y la interfaz de línea de comandos de Cisco IOS.

📖 Conceptos Fundamentales de MPLS

Antes de sumergirnos en la configuración, es crucial entender los componentes clave de MPLS.

🏷️ Etiquetas MPLS

Una etiqueta MPLS es un identificador corto y de longitud fija (20 bits) que se añade al principio de un paquete. Estas etiquetas se utilizan para tomar decisiones de reenvío de manera eficiente. Un paquete puede tener una o varias etiquetas apiladas, lo que se conoce como pila de etiquetas.

💡 Consejo: Piensa en las etiquetas como el número de carril en una autopista: en lugar de leer la dirección completa en cada intersección, solo sigues el carril indicado.

Componentes de una Etiqueta MPLS

CampoBitsDescripción
---------
Label20El valor de la etiqueta utilizado para la toma de decisiones de reenvío.
EXP3Campo experimental, a menudo usado para QoS (similar a DSCP).
---------
S (Bottom of Stack)1Indica si esta es la última etiqueta en la pila (1) o si hay más (0).
TTL8Time-to-Live, similar al TTL IP, decrece en cada salto.

Routers en una Red MPLS

Existen dos tipos principales de routers en una red MPLS:

  1. Label Edge Router (LER): También conocidos como routers de borde. Son los routers que se encuentran en la periferia de la red MPLS. Realizan la función de imponer (push) una etiqueta a los paquetes IP que ingresan a la red MPLS y de quitar (pop) la etiqueta a los paquetes que salen de ella. Actúan como puntos de entrada y salida del dominio MPLS.
  2. Label Switch Router (LSR): También conocidos como routers de tránsito o P-routers. Son los routers dentro de la red MPLS que solo procesan etiquetas. Cuando reciben un paquete etiquetado, realizan una operación de swap (intercambio) de la etiqueta por una nueva y reenvían el paquete a su siguiente salto. No miran el encabezado IP.
Funcionamiento de Red MPLS R1 (LER) Ingress Label: 20 R2 (LSR) Label: 35 R3 (LSR) R4 (LER) Ingress Label: 50 R6 (LER) Egress R5 (LER) Egress IP PUSH (Etiquetado) IP SWAP (Conmutación) SWAP POP (Desetiqueta) IP IP Tráfico IP -> Etiquetado (MPLS) -> Conmutación de Etiquetas -> Desetiquetado -> Tráfico IP

🛣️ Caminos de Conmutación de Etiquetas (LSP)

Un Label Switched Path (LSP) es la ruta que sigue un paquete a través de la red MPLS, definida por una secuencia de etiquetas asignadas en cada LSR. Los LSPs son unidireccionales y se establecen a través de un protocolo de distribución de etiquetas, como LDP.

🔄 Protocolo de Distribución de Etiquetas (LDP)

El Label Distribution Protocol (LDP) es el protocolo estándar de facto para la distribución de etiquetas en MPLS. Su función principal es que los LSRs y LERs se anuncien mutuamente las etiquetas que han asignado a los prefijos de red que conocen. LDP utiliza TCP para la fiabilidad y UDP para la detección de vecinos.

Funcionamiento Básico de LDP

  1. Detección de Vecinos: Los routers habilitados para LDP envían mensajes Hello (UDP port 646) en las interfaces donde MPLS está habilitado para descubrir vecinos LDP.
  2. Establecimiento de Sesión: Una vez que los routers detectan un vecino, establecen una sesión TCP (port 646) para intercambiar mensajes de etiquetas.
  3. Distribución de Etiquetas: Los routers usan esta sesión TCP para anunciar los bindings de etiquetas a prefijos. Cada router asigna una etiqueta local para cada prefijo IP que tiene en su tabla de enrutamiento y la anuncia a sus vecinos.
  4. Construcción de LFIB: Con las etiquetas recibidas de los vecinos y las asignadas localmente, cada LSR construye su Label Forwarding Information Base (LFIB), que es el equivalente MPLS de la tabla de reenvío IP (FIB).
⚠️ Advertencia: LDP por sí solo no crea rutas; depende de un protocolo de enrutamiento IP subyacente (como OSPF o EIGRP) para determinar la mejor ruta hacia un prefijo. LDP simplemente distribuye etiquetas para esas rutas existentes.

🛠️ Configuración Básica de MPLS con LDP en Cisco IOS

Vamos a configurar MPLS con LDP en una topología simple. Consideremos la siguiente estructura:

graph TD
    A[R1] -- Ethernet 0/0 --> B[R2]
    B -- Ethernet 0/1 --> C[R3]

Objetivo: Habilitar MPLS en R1, R2 y R3 para que el tráfico entre ellos se reenvíe usando etiquetas.

1. Requisitos Previos

Antes de habilitar MPLS, asegúrate de que:

  • Hay conectividad IP completa entre los routers (usa un IGP como OSPF o EIGRP).
  • Las interfaces que formarán parte del dominio MPLS están correctamente configuradas con direcciones IP.

Para nuestro ejemplo, configuraremos OSPF.

Configuración IP Básica (R1, R2, R3):

R1(config)#hostname R1
R1(config)#interface Ethernet0/0
R1(config-if)#ip address 10.0.0.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#router ospf 1
R1(config-router)#network 10.0.0.0 0.0.0.255 area 0
R1(config-router)#exit
R2(config)#hostname R2
R2(config)#interface Ethernet0/0
R2(config-if)#ip address 10.0.0.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#interface Ethernet0/1
R2(config-if)#ip address 10.0.1.1 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#router ospf 1
R2(config-router)#network 10.0.0.0 0.0.0.255 area 0
R2(config-router)#network 10.0.1.0 0.0.0.255 area 0
R2(config-router)#exit
R3(config)#hostname R3
R3(config)#interface Ethernet0/1
R3(config-if)#ip address 10.0.1.2 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#router ospf 1
R3(config-router)#network 10.0.1.0 0.0.0.255 area 0
R3(config-router)#exit

Verifica la adyacencia OSPF y la tabla de enrutamiento en todos los routers.

2. Habilitar MPLS Globalmente y por Interfaz

La habilitación de MPLS en Cisco IOS se realiza en dos pasos:

  1. Habilitar MPLS globalmente.
  2. Habilitar MPLS LDP en las interfaces deseadas.

Configuración en R1:

R1(config)#mpls ip
R1(config)#interface Ethernet0/0
R1(config-if)#mpls ip
R1(config-if)#exit

Configuración en R2:

R2(config)#mpls ip
R2(config)#interface Ethernet0/0
R2(config-if)#mpls ip
R2(config-if)#exit
R2(config)#interface Ethernet0/1
R2(config-if)#mpls ip
R2(config-if)#exit

Configuración en R3:

R3(config)#mpls ip
R3(config)#interface Ethernet0/1
R3(config-if)#mpls ip
R3(config-if)#exit

Una vez que LDP se habilita en las interfaces, los routers intentarán establecer adyacencias LDP con sus vecinos y comenzarán a intercambiar etiquetas.

✅ Verificación de la Configuración MPLS

Después de la configuración, es crucial verificar que MPLS esté funcionando correctamente.

1. Verificar Adyacencias LDP

Usa el comando show mpls ldp neighbor para ver si las adyacencias LDP se han establecido.

En R1:

R1#show mpls ldp neighbor
    Peer LDP ID: 10.0.0.2:0       
        Active: Yes (Ethernet0/0, 1) 
        Addresses: 10.0.0.2     
        Holdtime: 147 sec
        State: Operational
        Up time: 00:02:30
        LDP Discovery Sources:
          Ethernet0/0, src 10.0.0.2 (via targeted hello)

Aquí vemos que R1 tiene una adyacencia LDP con R2 (ID 10.0.0.2:0). El ID de LDP se forma con la IP de la interfaz Loopback más alta, o la IP de la interfaz física más alta si no hay Loopbacks, seguido de ':0'.

En R2:

R2#show mpls ldp neighbor
    Peer LDP ID: 10.0.0.1:0       
        Active: Yes (Ethernet0/0, 1) 
        Addresses: 10.0.0.1     
        Holdtime: 140 sec
        State: Operational
        Up time: 00:02:40
        LDP Discovery Sources:
          Ethernet0/0, src 10.0.0.1 (via targeted hello)

    Peer LDP ID: 10.0.1.2:0       
        Active: Yes (Ethernet0/1, 1) 
        Addresses: 10.0.1.2     
        Holdtime: 145 sec
        State: Operational
        Up time: 00:02:35
        LDP Discovery Sources:
          Ethernet0/1, src 10.0.1.2 (via targeted hello)

R2 tiene adyacencias con R1 y R3, lo cual es correcto.

2. Verificar la Tabla de Enlaces de Etiqueta (LIB)

El comando show mpls ldp bindings muestra las etiquetas locales que el router ha asignado a los prefijos IP y las etiquetas remotas que ha recibido de sus vecinos.

En R2:

R2#show mpls ldp bindings
  lib entry: 10.0.0.0/24, rev 1
        local binding: label 19
        remote binding: 10.0.0.1:0: label 18
  lib entry: 10.0.1.0/24, rev 1
        local binding: label 20
        remote binding: 10.0.1.2:0: label 19

Aquí, R2 ha asignado la etiqueta 19 para la red 10.0.0.0/24 localmente y ha aprendido que R1 (10.0.0.1:0) usa la etiqueta 18 para ese mismo prefijo. De manera similar para 10.0.1.0/24.

3. Verificar la Base de Información de Reenvío de Etiquetas (LFIB)

El comando show mpls forwarding-table muestra cómo se reenviarán los paquetes etiquetados.

En R2:

R2#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      Interface
---        ---        ---              ---           ---        ---
19         Pop Label  10.0.0.0/24      0             Et0/0      10.0.0.1
20         19         10.0.1.0/24      0             Et0/1      10.0.1.2

Interpretación:

  • Para 10.0.0.0/24 (hacia R1): Cuando R2 recibe un paquete con la etiqueta local 19, realiza una operación de Pop Label (quita la etiqueta) y lo reenvía sin etiqueta a 10.0.0.1 (R1) a través de Et0/0. Esto sucede porque R1 es el destino final de esa red y la etiqueta ya no es necesaria al salir del dominio MPLS de R2 hacia R1 (o si R1 es el LER de salida).
  • Para 10.0.1.0/24 (hacia R3): Cuando R2 recibe un paquete para esta red (por ejemplo, desde R1) con la etiqueta que R2 le asignó localmente, intercambia esa etiqueta por la etiqueta 19 (la que R3 espera) y lo reenvía a 10.0.1.2 (R3) a través de Et0/1.
🔥 Importante: La operación 'Pop Label' en el último salto (PHP - Penultimate Hop Popping) es una optimización clave de MPLS. El penúltimo router (el LSR justo antes del LER de salida) quita la etiqueta, permitiendo que el LER de salida reciba un paquete IP puro, ahorrando un ciclo de procesamiento.

⚙️ Optimización y Consideraciones Adicionales

1. Ajuste del Rango de Etiquetas

Por defecto, Cisco IOS utiliza un rango de etiquetas entre 16 y 100,000. Puedes ajustar este rango o reservar etiquetas específicas.

R1(config)#mpls label range 100 20000

2. Filtrado de Prefijos LDP

En redes grandes, no siempre es deseable anunciar etiquetas para todos los prefijos. Puedes usar listas de acceso o route-maps para filtrar qué prefijos anuncian etiquetas.

R1(config)#access-list 10 permit 192.168.1.0 0.0.0.255
R1(config)#mpls ldp advertise-labels for 10

3. Autenticación LDP

Para aumentar la seguridad, puedes configurar la autenticación MD5 para las sesiones LDP, previniendo que routers no autorizados establezcan adyacencias LDP y inyecten información de etiquetas falsa.

R1(config)#mpls ldp password <password> [md5]
R1(config)#interface Ethernet0/0
R1(config-if)#mpls ldp password <password> [md5]

4. Modos de Adquisición de Etiquetas (Label Distribution Mode)

LDP soporta dos modos de distribución de etiquetas:

  • Independent Label Distribution (por defecto en Cisco): Cada LSR anuncia etiquetas para los prefijos que tiene en su tabla de enrutamiento, independientemente de si ya ha recibido una etiqueta para ese prefijo de un vecino.
  • Ordered Label Distribution: Un LSR solo anuncia una etiqueta para un prefijo si ya tiene una etiqueta para el siguiente salto hacia ese prefijo, o si el prefijo es directamente conectado.

Para la mayoría de las implementaciones básicas, el modo por defecto es suficiente.

5. Utilización de Loopbacks para LDP Router ID

Es una buena práctica configurar una interfaz Loopback en cada router y usar su dirección IP como el LDP Router ID. Esto asegura que el ID de LDP sea estable, incluso si una interfaz física falla.

R1(config)#interface Loopback0
R1(config-if)#ip address 1.1.1.1 255.255.255.255
R1(config-if)#exit
R1(config)#mpls ldp router-id Loopback0 force

Después de esto, el LDP ID de R1 sería 1.1.1.1:0.

💡 Consejo: Siempre incluye las interfaces Loopback en tu protocolo de enrutamiento IGP para asegurar su alcanzabilidad.

📈 Beneficios y Casos de Uso Avanzados de MPLS

Mientras que este tutorial se ha centrado en los fundamentos de MPLS con LDP, la verdadera potencia de MPLS reside en sus aplicaciones avanzadas.

  • MPLS VPNs (L3VPNs y L2VPNs): Permiten a los proveedores de servicios ofrecer servicios de red privada virtual a múltiples clientes sobre una infraestructura MPLS compartida, manteniendo el aislamiento del tráfico.
  • MPLS Traffic Engineering (MPLS TE): Permite a los administradores de red dirigir el tráfico a lo largo de rutas específicas, que pueden no ser las rutas de menor costo determinadas por el IGP. Esto es útil para optimizar la utilización del ancho de banda y evitar la congestión.
  • Transporte de Ethernet sobre MPLS (EoMPLS): Extiende los servicios Ethernet a través de una red MPLS, lo que permite a las empresas interconectar segmentos de red Ethernet distantes.

La base para todas estas tecnologías es el entendimiento sólido de cómo MPLS establece LSPs y reenvía paquetes basándose en etiquetas, tal como lo hemos cubierto.

📝 Resumen y Próximos Pasos

Hemos explorado los fundamentos de MPLS, desde la anatomía de las etiquetas hasta el funcionamiento del protocolo LDP. Hemos cubierto la configuración básica en Cisco IOS, la verificación de adyacencias y tablas MPLS, y algunas consideraciones de optimización y seguridad.

Paso 1: Comprender los conceptos de LER, LSR, Etiquetas y LSP.
Paso 2: Asegurar la conectividad IP completa con un IGP.
Paso 3: Habilitar `mpls ip` globalmente y en las interfaces pertinentes.
Paso 4: Verificar adyacencias LDP, LIB y LFIB.
Paso 5: Considerar optimizaciones como LDP Router ID en Loopback y autenticación.

MPLS es una tecnología compleja pero increíblemente poderosa. Dominar sus fundamentos es el primer paso para explorar sus aplicaciones más avanzadas y construir redes robustas y escalables.

¡Sigue practicando en tu laboratorio para consolidar tus conocimientos!

Tutoriales relacionados

Comentarios (0)

Aún no hay comentarios. ¡Sé el primero!