MPLS L3VPN - CASO DE USO, DISEĆO E IMPLEMENTACIĆN (Part-1)
- Thierry
- 20 jun 2024
- 9 Min. de lectura
Actualizado: 23 may
En este laboratorio, revisaremos el proceso de aprovisionamiento de un servicio VPN capa 3 basado en MPLS. Como se ha mencionado en algunos blogs anteriores, una infraestructura de red con MPLS abre un mundo de posibilidades para los proveedores de servicio al tener una infraestructura unificada capaz de entregar diversos tipos de servicio.
Ilustración 1Ā ā Presentación de la Infraestructura de red con MPLS (LLD)
El servicio Ā VPN capa tres (L3VPN) es uno de los servicios mĆ”s solicitado por los clientes para interconectar diversas entidades remotas, desde oficinas, sucursales, cajeros automĆ”ticos, etc. Parte de las caracterĆsticas de este servicio, es que el proveedor de servicio participa activamente en el dominio de ruteo del cliente, de hecho, es el principal responsable de compartir la información de ruteo o sea las rutas entre todas las entidades remotas del cliente.
Por cada entidad remota hay un punto de interconexión a nivel IP entre el cliente y el proveedor, "los famosos PE-CE" que generalmente se refieren al enlace entre el Router del Proveedor de servicio (PE o Provider Edge) y el del cliente (CE o Customer Edge) a nivel capa tres.
 En cada PE el proveedor asegura la disponibilidad de la información de ruteo del cliente en una tabla de enrutamiento dedicada (VRF); misma información pueda ser enviada a la entidad directamente conectada a través de un protocolo de enrutamiento dinÔmico usado entre el PE y CE, o en otros casos el CE simplemente puede usar el PE como default gateway para alcanzar otros sitios o entidades de la red del cliente.
A continuación, veremos a detalle un caso muy prÔctico, donde revisaremos cada pieza que hace posible la interconexión de las oficinas remotas de un mismo cliente a través de la infraestructura de un proveedor de servicio.
Caso de uso
La empresa TEC Consulting Services S.A* contrató un servicio VPN capa tres (L3VPN) para interconectar sus tres oficinas remotas (1HQ y 2 sucursales), ubicadas en tres diferentes regiones del paĆs.
REQUERIMIENTOS BĆSICOS
El proyecto se implementarĆ” de acuerdo con los siguientes requerimientos:
Comunicación tipo Full-mesh entre todos los sitios del cliente.
Protocolo de enrutamiento PE-CE: eBGP
ASN del cliente: 65300
PE-CE subred: 10.92.30.0/24
Ā
Sitio 1: 10.92.30.0/31
Sitio 2: 10.92.30.2/31
Sitio 3: 10.92.30.4/31
Ā
*Aviso legal: Datos ficticios, no representan escenarios reales de clientes con los que estoy trabajando actualmente. Cualquier parecido y/o similitudes con empresas reales son meramente coincidencias, y deben ser considerados como tal.
DiseƱo de alto nivel (HLD)
De acuerdo con los requerimientos especificados, y después de realizar algunos estudios estratégicos para determinar los PEs donde se configurarÔn los servicios, se genera un HLD del servicio completo que contrató el cliente.
HLD con mas detalles.
INFRASTRUCTURA
La interacción de diversas tecnologĆas importantes (MP-BGP, VRF, IGP, Redistribución de rutas, BGP Route-Reflector, etc.) con la infraestructura MPLS, hace posible la implementación y buen funcionamiento de un servicio VPN de capa tres.
Antes de pasar a la resolución del caso de uso presentado, revisamos algunos puntos esenciales.
Ā
1- Comunicación entre PEs (Provider Edge o Router de borde del Proveedor de servicio)
Ā
a) Arquitectura
En primer lugar, revisaremos el mecanismo de reenvĆo de información de ruteo del
cliente entre los PEs en distintos puntos de la red.
El único protocolo de enrutamiento capaz de realizar esa tarea es BGP, con su extensión MP-BGP, tiene la capacidad de enviar las rutas aprendidas del cliente de un punto a otro y de forma bidireccional, pero hay un tema, la regla del horizonte divido (Split horizon) de iBGP para evitar bucle de enrutamiento, estipula que una ruta aprendida en una sesión iBGP no podrÔ ser reenviado a otro vecino del mismo sistema autónomo.
Para lograr que todos los PEs reciben las rutas, se requiere una conexión tipo full-mesh entre todos los PEs donde este configurado el servicio del cliente, asà se asegura que la información aprendida en un punto esté disponible en todos los demÔs sitios del cliente.
Si analizamos la arquitectura full-mesh un poco mĆ”s a fundo seguramente veremos que al tener una sesión BGP entre todos los PEs eso no ofrece mucha escalabilidad ya que cada vez que se requiera habilitar un sitio nuevo para el mismo cliente a travĆ©s de un PE nuevo (o simplemente agregar un PE nuevo en la red) se aumentara drĆ”sticamente la cantidad de sesiones BGPs entre los PEs, pues asĆ serĆa muy difĆcil mantener el full-mesh, por eso nadie lo utiliza realmente, todos optan por utilizar una arquitectura centralizada usando un Route reflector (RR), que bĆ”sicamente sirve como un tipo de servidor o controlador centralizado donde todos los PEs enviaran sus Updates y el RR a su vez enviara una copia idĆ©ntica a todos los demĆ”s PEs (configurados como Route Reflector client).
b)Ā Ā Address-family VPNv4
Gracias a su extensión MP-BGP se puede implementar una sesión iBGP totalmente dedicada para la repartición de la información de ruteo de los servicios VPN de los clientes, se llama address famillyĀ VPNv4. Ā
Su nombre se debe a que la información de ruteo de los clientes viaja como rutas VPNv4, eso debido a un identificador Ćŗnicos de 64 bits conocido como Route Distinguisher (RD) agregado a las rutas de cada cliente. BĆ”sicamente el RD permite un PE identificar a que cliente pertenece una ruta; bueno al final del dĆa ofrece la posibilidad de tener 2 o mĆ”s clientes con prefijos idĆ©nticos y sin riesgos de causar algĆŗn tipo de conflictos, es decir si 2 clientes diferentes utilizan una misma subred, gracias al RD los prefijos se verĆ”n totalmente diferentes, y eso permitirĆ” a los PE remotos identificar a que cliente pertenece cada ruta.
En resumen, una ruta VPNv4 es un prefijo de 96 bits, resultado directo de la combinación entre un RD (64 bits) mĆ”s el prefijo original de un cliente (32 bits), sirve para asegurar que los prefijos enviados por los clientes serĆ”n siempre Ćŗnicos al momento de cruzar la red MPLS y llegar a otro PE, eso habilita la infraestructura MPLS enviar/recibir prefijos idĆ©nticos que provienen de clientes distintos. Ā
2-Ā Aislamiento de los prefijos de los clientes
El proveedor de servicio al momento de involucrarse en el ruteo de los clientes se enfrenta al reto de no mezclar los prefijos de diferentes clientes entre sĆ, y tambiĆ©n con sus prefijos internos.
Para superar este reto y lograr un aislamiento completo entre todas las redes que pasan por la infraestructura compartida, se hace uso de VRFsĀ (Virtual Routing Forwarding), cada VRF representa una Ā Ā tabla de enrutamiento virtual dedicada para un cliente, y completamente aislada de la tabla de Ruteo global.
A nivel VRF es donde generalmente se configura el RD (que vimos en la sección anterior) y también Los RTs (Route-Target) que son atributos de BGP, generalmente conocidos como comunidades extendidas (Extended community), en general sirven como etiquetas para marcar las rutas de una VPN (durante la exportación) y filtrar rutas en función de ellas (durante la importación) en el PE local o remoto.
3-Ā EnvĆo y recepción de rutas entre PE-CE
TĆ©cnicamente se puede hacer uso de rutas estĆ”ticas o de cualquier protocolo de enrutamiento dinĆ”mico (RIPv2, OSPF, IS-IS, EIGRP, BGP) para llevar a cabo esa tarea, al final son los requerimientos especĆficos del diseƱo de la red del cliente que harĆ”n la diferencia al momento de decidir el mĆ©todo o protocolo de enrutamiento que hay que utilizar.
De lado del proveedor de servicio (precisamente desde el PE), independiente del protocolo elegido para el intercambio de rutas con el cliente, uno de los pasos seria agregar una instancia de BGP para la VRF del cliente. Esa instancia podrĆa ser usada como puente para inyectar a dentro de BGP, mediante redistribución, rutas del cliente aprendidas vĆa IGP o rutas estĆ”ticas; o en caso de usar BGP como protocolo de ruteo entre PE - CE, servirĆ” para establecer adyacencias e intercambiar rutas directamente con el CE cliente.
Este paso es muy importante para el reenvĆo de rutas VPNv4 entre PEs, ya que los prefijos instalados ahĆ (en la instancia de BGP para la VRF cliente), son los principales predecesores de las rutas VPNv4.
Siempre dicen que "una imagen/ilustración vale mÔs que mil palabras" bueno aquà en la siguiente ilustración se muestra, una vista general del proceso de intercambio de rutas extremo a extremo entre dos entidades remotas (cliente) a través de la infraestructura MPLS de un proveedor de servicio usando un servicio de L3VPN.

Aprovisionamiento del servicio.
Paso 1 ā Conectividad iBGP VPNv4
Para empezar con el aprovisionamiento del servicio, lo primero seria configurar las sesiones BGP VPNv4 entre los PEs, en caso de una infraestructura que ya estĆ© en marcha, el primer paso serĆa validar que la sesión IBGP VPNv4 estĆ© presente en cada PE donde se configurarĆ” el servicio del cliente.
A continuación, se muestra la configuración/validación de iBGP VPNv4 en PE201, PE203, PE204; todos configurados para establecer una sesión con el Route Reflector (P7 - 192.168.254.7), ya que la arquitectura esta centralizada.
(La configuración de PE204 es un poco diferente porque es un ASR9K con IOS-XR)
PE201
PE203
PE204
P7-RR (Route-Reflector - IOS XR)
Verificación de la sesión iBGP VPNv4 con el Route Reflector
Una vez confirmada que los PEs tienen conectividad iBGP VPNv4 establecida, pasamos al siguiente paso.
Paso 2 ā Configuración de la VRF
Se configura una VRF para aislar la información de ruteo de los clientes en cada PE, y como lo mencionĆ”bamos en previa sección, la VRF contara con un RT Y RD ambos con funciones bien especĆficos.
Asignación de la VRF a la interfaz del cliente ( enlace PE-CE ).
Paso 3 - Configuración de ruteo entre PE y CE (Router de borde del proveedor de servicio y el Router de borde del cliente)

Al completar este Ćŗltimo paso, damos por terminado el aprovisionamiento del servicio VPN Capa tres (L3VPN) del cliente TCCS. Del otro lado, el cliente debe tener configurado igual sus interfaces, BGP y publicar a dentro de BGP las rutas que quiere compartir en todos los sitios.
Configuración de BGP en los CEs del cliente en cada sitio
Paso 4 ā Validación del servicio.
A) De lado Proveedor.
Desde el PE con el comando show bgp vpnv4 unicast vrf TCCS summary o su versión legacy show ip bgp vpnv4 vrf TCCS summary se puede verificar la sesión BGP entre el PE y el CE cliente.
Se puede confirmar que hay una sesión BGP establecida entre PE ā CE, y el PE201 ha aprendido 3 rutas del CE cliente en sitio #1.
Ahora vamos a buscar mas detalles acerca de las rutas aprendidas y ver si coinciden con lo que tenemos en la topologĆa. El comando show bgp vpnv4 unicast vrf TCCS neighbors 10.92.30.0 routesĀ nos permitira ver las rutas aprendidas del vecino, tambiĆ©n haremos una prueba de conectividad, con un PING, para ver si los prefijos son alcanzables.
La información coincide con lo que tenemos en el diseño, los prefijos son alcanzables, asà que en sitio #1 todo estÔ funcionando de acuerdo con las expectativas.
Ćltimo paso, verificamos que el PE201 estĆ” recibiendo rutas de los demĆ”s sitios a travĆ©s de los demĆ”s PEs (PE203 Y PE204), y de igual manera confirmamos que se esta enviando estas rutas al CE directamente conectado (CE sitio #1 en este caso).
Con el comando show bgp vpnv4 unicast vrf TCCSĀ se puede ver todas las rutas recibidas en el PE201 para la instancia del cliente, en este caso VRF TCCS; y el comando show bgp vpnv4 unicast vrf TCCS neighbors 10.92.30.0 advertised-routesĀ permite ver las rutas que el PE esta enviando a sitio cliente (CE sitio #1 en este caso).
Se puede apreciar que el PE201 recibió 6 prefijos provenientes de los demÔs sitios (sitio cliente #2 y #3), y envió las 6 rutas  al CE directamente conectado (CE sitio #1), asà de igual forma se confirma que el intercambio de información de ruteo entre los sitios del cliente, a través de los PEs, sà estÔ ocurriendo.
Ā
Haremos lo mismo en los demƔs sitios.
Sitio #2
Validación
Ā
Sesión BGP establecida desde PE203
Rutas aprendidas
Prueba de conectividad
Rutas aprendidas por MP-BGP VPNv4 y rutas enviadas a sitio cliente directamente conectado.
Sitio #3
Validación
Ā
Sesión BGP establecida desde PE204
Rutas aprendidas
Prueba de conectividad.
Rutas aprendidas por MP-BGP VPNv4 y rutas enviadas a sitio cliente directamente conectado.
DespuƩs de llevar a cabo estas series de pruebas en el PE de cada sitio, podemos confirmar que el servicio estƔ funcionando de acuerdo con el diseƱo y los requerimientos del cliente. Estas mismas pruebas se pueden repetir en caso de troubleshooting, para detectar posible falla en el servicio entregado.
b) De lado Cliente.
Ahora el cliente deberĆ” poder realizar una prueba de conectividad extremo a extremo para validar la interconectividad entre las oficinas remotas.
El cliente, en este caso TCCS, tiene una vista un poco distinta de la red, hay una abstracción casi total de la infraestructura del proveedor de servicio, una vista similar a la siguiente imagen.
Prueba de conectividad extremo a extremo desde oficina del sitio #1 hacia Ā oficinas de los sitios #2 y #3.
Conclusión
”Se logró! cliente satisfecho. Se comprobó una conectividad full-mesh entre todas las oficinas remotas de TCCS y vimos la magia del servicio VPN capa 3.
De ahora en adelante, agregar un sitio nuevo a esa red serƔ una tarea bastante sencilla y mƔs fƔcil aun si se va a configurar en un PE donde ya esta operando el servicio del cliente, basta con configurar la VRF, la interfaz y eBGP; el sitio nuevo tendrƔ automƔticamente todas las rutas necesarias para unirse a la red privada del cliente y ser operacional. Por eso y mƔs, este servicio sigue siendo el preferido de muchos clientes para interconectar sus sitios remotos.