En nuestro último artículo sobre SRv6, elaborado por nuestros expertos, comentamos las ventajas de SRv6 en comparación con MPLS; si aún no lo ha leído, haga clic en el siguiente enlace: https://made4it.com.br/srv6-um-sucessor-do-mpls/
En este artículo, abordaremos el funcionamiento de SRv6, compararemos los protocolos del plano de control, hablaremos del plano de datos y también analizaremos las principales diferencias entre SRv6 y MPLS. MPLS es una tecnología que sigue utilizándose mucho en la actualidad, sin embargo, sus características de funcionamiento son muy diferentes a las de SRv6, que se concibió no solo como una evolución de MPLS, sino también para simplificar en gran medida el funcionamiento de las redes de transporte y afines, adaptándolas a las necesidades del futuro y reduciendo al mismo tiempo la complejidad de las redes.
Comparación entre SRv6 y MPLS.
Antes de abordar el funcionamiento del SRv6, analicemos las principales diferencias entre este y el consolidado MPLS. En la tabla que figura a continuación podemos observar el «antes» (before) y el «ahora» (now), lo que ilustra la evolución y la simplificación del MPLS hacia el SRv6:

Fuente: Serie de libros electrónicos «IP Network»: SRv6, Huawei, Lanjun Luo
En MPLS (antes) observamos una «pila» de protocolos y tecnologías. Todo ello se simplifica en SRv6, donde conseguimos ofrecer las mismas funcionalidades que MPLS, pero sin depender de los protocolos de señalización de «etiquetas» (ldp/rsvp-te). También se simplifican los tipos de servicios que, en SRv6, utilizan EVPN y su excelente escalabilidad para proporcionar acceso y transporte de servicios en la red. Además de todo ello, SRv6 satisface asimismo las necesidades actuales de programabilidad y escalabilidad que antes no eran posibles en MPLS.
El SRv6 no se limita a las redes «metro» ni a los transportes en entornos «del futuro» (5G/IoT); como se puede observar en el ejemplo siguiente, en la sección «before» necesitamos IP/VXLAN para el transporte de información dentro de DC1 y DC2, mientras que en la red troncal utilizamos MPLS con LDP, TE o SR(MPLS).
A continuación, tenemos el «After» de la implementación de SRv6 con EVPN, que muestra la simplificación del escenario. Con SRv6 y EVPN, hemos logrado ofrecer lo que antes solo era posible con una «pila» de diversos protocolos, lo que suponía una carga para el procesamiento y aumentaba la complejidad del entorno.

Fuente: Serie de libros electrónicos «IP Network»: SRv6, Huawei, Lanjun Luo
Además de estas ventajas, dado que SRv6 utiliza componentes nativos de IPv6, esto resulta de gran ayuda en los procesos de migración. Hoy en día, prácticamente todos los equipos admiten el enrutamiento de encabezados IPv6, por lo que la migración de un entorno heredado (MPLS) a esta nueva tecnología puede llevarse a cabo de forma orgánica y gradual, protegiendo la inversión y garantizando tiempos de inactividad mínimos en el entorno.

Fuente: Implantación del Segment Routing IPv6 (SRv6) en VIVO – Nelson J. dos Santos Junior – Foro Brasileño de IPv6 2023.
El SRv6 y su simplificación constituyen un gran aliado para la integración de grandes dominios de enrutamiento (como, por ejemplo, en los casos de empresas adquiridas por otras, en los que dichas redes deben comunicarse e interoperar). Con SRv6 logramos integrar dichas redes mediante simplificaciones de enrutamiento sencillas, mientras que en MPLS se requería una planificación exhaustiva y el uso de técnicas como InterAS OPTION A, B y C.
Funcionamiento de SRv6:
Sabemos que en MPLS utilizamos etiquetas entre las capas 2 y 3 que determinan cómo debe enrutarse el paquete en una red; sin embargo, es necesario que todos los equipos que formen parte de la ruta tengan habilitados los protocolos necesarios (IGP/LDP/RSVP).
En la imagen siguiente podemos ver las etiquetas MPLS de un paquete capturado:

Fuente: SINGH, Arshdepp. «Fun with Revisiting MPLS basics». LinkedIn, 23 de mayo de 2020. Disponible en https://www.linkedin.com/pulse/fun-revisiting-mpls-basics-capturing-labels-wireshark-arshdeep-singh
Consultado el: 22 de abril de 2024.
Por su parte, el SRv6 utiliza una extensión de la cabecera IPv6 denominada «Segment Routing Header» (SRH) para insertar direcciones IPv6 denominadas SID (identificadores de segmento) con el fin de identificar el segmento de enrutamiento IPv6:

Fuente: DayOne Intro SRv6, Juniper, HEGDE, Shaddha y otros .
El SID representa un segmento específico dentro de un segmento de dominio de enrutamiento; utiliza una dirección IPv6 de 128 bits, también conocida como «SRv6 Segment» o «SRv6 SID». En comparación con el MPLS, podríamos decir que el SID es la «etiqueta» que delimita la ruta de transporte o el servicio; sin embargo, en SRv6 lo transformamos en una dirección IPv6 única que puede enrutarse de forma nativa a través de IPv6 (¿mucho más sencillo, no? 😉)
Fíjese en la estructura de un SID:

Fuente: Serie de libros electrónicos «IP Network»: SRv6, Huawei, Lanjun Luo
Localizador: Es la primera parte del SID, que utiliza más bits. Desempeña la función de localización, representando la dirección de un nodo SRv6 específico. Una vez configurado en un equipo, se propaga por todo el dominio SRv6 mediante un IGP, lo que permite que otros equipos localicen ese nodo concreto.
Función: Es una parte del SID que designa una función SRv6 que se ejecuta localmente en un nodo específico. Normalmente lo denominamos «programa». Se trata de una instrucción destinada a dirigir los paquetes dentro de la red.
En este SID, podemos indicar, por ejemplo, una EVPN-VPWS o una L3VPN específica de este nodo.
Dado que el SID se encuentra dentro del bloque «locator», el cual es propagado por el IGP (ISIS/OSPF) dentro del dominio SRv6, toda comunicación dirigida a este SID termina específicamente en este «nodo».
Una comparación con el MPLS que podemos establecer aquí es la de una «etiqueta» utilizada para delimitar un servicio como L2VPN a través de targeted-ldp. En SRv6, basta con implementar en el head-end y el tail-end las instrucciones SID para el servicio y ya está. Los «nodos» que deben interpretar los SID encapsularán y desencapsularán los datos en función de ellos, mientras que el resto de la red se limita a enrutar los paquetes IPv6 basándose en el IGP.
Argumento (opcional): Se utiliza para definir información relevante, como el «flujo de paquetes» y la «información del servicio», además de emplearse para implementar Split Horizon en escenarios EVPN VPLS CE con multihoming. También se ha venido utilizando en implementaciones de resumen y simplificación de SID (G-SRv6 y uSID), aunque no procede tratar este tema en el presente artículo; no obstante, probablemente se abordará en una próxima publicación.
Como hemos mencionado anteriormente, en el núcleo de la red SRv6 se lleva a cabo el encaminamiento de datos basado en el enrutamiento IPv6.
En el caso de los nodos que comprenden SRv6 y disponen de SID asignados, se lleva a cabo el procesamiento de las cabeceras y las instrucciones que contienen. Por su parte, los nodos que no reconocen el protocolo SRv6 (equipos antiguos y/o obsoletos) se limitan a reenviar los paquetes IPv6 basándose en la cabecera y las direcciones de destino del paquete, junto con el IGP.
¿Y qué hay del equilibrio de carga?
El clásico ECMP a través de paquetes IPv6. En teoría, cualquier equipo puede implementar ECMP simplemente utilizando sus hash tradicionales.
En teoría, es «plug-and-play». ¿Desea comenzar a implementar SRv6? Basta con empezar con dos PE, mientras que en el resto de la red solo se tiene habilitado IPv6.
¿Y el plano de control?
El plano de control de MPLS está realmente sobrecargado. Contamos con el protocolo básico LDP, que establece las sesiones de descubrimiento y las sesiones dirigidas, y que se utiliza ampliamente en las redes MPLS. Para implementar la ingeniería de tráfico, disponemos del complejo protocolo RSVP, que se ha ampliado para admitir la señalización de etiquetas, lo que ha dado lugar al RSVP-TE. Para ganar en escalabilidad, utilizamos el MP-BGP y señalizamos etiquetas a través de él. Por no hablar de los IGP ISIS u OSPF, que están cargados con las extensiones TEDB. A continuación, se muestra una tabla comparativa entre ambos:

En cuanto a SRv6, en el plano de control solo contamos con el IGP y, cuando es necesario, con el BGP para todos los servicios y funcionalidades que ofrece actualmente el MPLS, además de las nuevas necesidades de las redes del futuro.
Para que SRv6 pueda funcionar, tanto el IGP como el BGP han necesitado extensiones que se utilizan para propagar información sobre los «Locators» y los SID. Para cada tipo de servicio de SRv6, existe un TLV específico que debe señalizarse a través de la red.
En cuanto al BGP, esta extensión permitió que las direcciones SID se transmitieran en mensajes de actualización, lo que facilitó el establecimiento de servicios L2VPN y L3VPN sobre la red SRv6.
Asimismo, en el plano de control contamos con las ventajas del enrutamiento por origen, gracias al cual, desde el origen, ya podemos trazar la ruta hasta el destino sin necesidad de mantener diversas señalizaciones y estados en la red. Dado que SRv6 nos permite asignar un SID a un «nodo» o una «adyacencia», desde el head-end podemos indicar toda la ruta de tránsito deseada para un dato, mientras que la red se limita a encaminar los datos. Efectivamente, el paquete sale del «origen» con toda la ruta ya escrita en la cabecera, ya sea de forma manual (SRv6-TE) o con la ayuda de herramientas externas. Esto, junto con la posibilidad de que controladores externos supervisen la red, permite crear redes inteligentes, orientadas al servicio y extremadamente eficaces.
Para terminar, el SRv6 nos ofrece la siguiente definición: simplificación con un alto grado de programabilidad.
¿Desea obtener más información sobre SRv6 o necesita ayuda para integrar esta tecnología en su entorno? ¡Póngase en contacto con nosotros y no se pierda las próximas entradas de nuestro blog!
¡Hasta luego!