El enrutamiento por segmentos (SR) es una tecnología de redes informáticas que permite reenviar paquetes a través de una red según una lista ordenada de instrucciones, denominadas segmentos. Fue desarrollado en el marco del grupo de trabajo SPRING sobre IPv6 del Grupo de Trabajo de Ingeniería de Internet (IETF) como una extensión de los conceptos de enrutamiento de origen para IP y MPLS.
En un dominio de enrutamiento por segmentos , el enrutador de entrada inserta una lista de segmentos en cada paquete. Cada segmento identifica una instrucción de reenvío o una función de red que ejecutan los enrutadores subsiguientes. Por lo tanto, la ruta de reenvío se determina mediante la lista de segmentos que contiene el paquete, en lugar de depender únicamente de las decisiones de enrutamiento salto a salto .
Historia
Los conceptos subyacentes al enrutamiento por segmentos se originaron a partir de investigaciones para simplificar la ingeniería de tráfico en redes IP y MPLS . La ingeniería de tráfico MPLS tradicional se basaba en protocolos de señalización como el Protocolo de Reserva de Recursos para Ingeniería de Tráfico (RSVP-TE) para establecer rutas de reenvío explícitas, lo que requería que los enrutadores mantuvieran el estado de cada túnel en toda la red. A medida que las redes de los proveedores de servicios aumentaron en tamaño y complejidad, se investigaron enfoques alternativos que redujeran los requisitos de señalización y simplificaran la operación de la red. [ 1 ]
En 2013, la IETF creó el Grupo de Trabajo SPRING (Source Packet Routing in Networking) para desarrollar una arquitectura estandarizada basada en principios de enrutamiento de origen para redes de conmutación de paquetes. Los primeros trabajos se centraron en integrar el enrutamiento de segmentos con etiquetas MPLS sin necesidad de protocolos de señalización adicionales [ 2 ] . Este enfoque se conoció posteriormente como SR-MPLS [ 3 ] .
Trabajos posteriores extendieron la arquitectura a IPv6 mediante la introducción del encabezado de enrutamiento de segmentos (SRH), un encabezado de extensión de IPv6 que contiene una lista de identificadores de segmento (SID). [ 4 ] Esta extensión, comúnmente conocida como enrutamiento de segmentos sobre IPv6 (SRv6) [ 5 ] , introdujo la capacidad de representar comportamientos de reenvío y funciones de red utilizando direcciones IPv6.
La arquitectura se estandarizó mediante una serie de publicaciones de la IETF, entre las que se incluyen la RFC 8402 , que define la arquitectura de enrutamiento por segmentos; la RFC 8754 , que especifica el encabezado de enrutamiento por segmentos para IPv6; y la RFC 8986 , que define las extensiones del protocolo de programación de red SRv6 para MPLS, OSPF, IS-IS, BGP y tecnologías relacionadas, mientras que el desarrollo continúa dentro del Grupo de Trabajo SPRING de la IETF.
Descripción general
El enrutamiento por segmentos está diseñado para funcionar utilizando la información de topología distribuida por los protocolos de enrutamiento de estado de enlace existentes, incluidos OSPF e IS-IS . Los identificadores de segmento (SID) se anuncian mediante extensiones de protocolo, lo que permite a los enrutadores dentro del dominio de enrutamiento mantener una visión coherente de los segmentos disponibles.
A diferencia de las implementaciones tradicionales de ingeniería de tráfico MPLS basadas en protocolos de señalización como RSVP-TE , el enrutamiento por segmentos se basa en la información ya intercambiada por el protocolo de enrutamiento para construir rutas de reenvío. La lista de segmentos puede ser generada por el propio enrutador de entrada o calculada por un controlador externo, como un elemento de cálculo de rutas (PCE).
Segmentos
Un segmento representa una instrucción ejecutada por un enrutador al reenviar un paquete. Los diferentes tipos de segmentos pueden identificar:
- Un enrutador dentro del dominio de enrutamiento (SID del nodo)
- Un prefijo de red (SID de prefijo)
- Una interfaz de salida o adyacencia (Adjacency SID)
- Una política de reenvío (SID vinculante)
- Un comportamiento de reenvío definido localmente
Un paquete puede contener uno o más segmentos. Los enrutadores procesan el segmento actual antes de reenviar el paquete al siguiente destino. El procesamiento continúa hasta que se hayan consumido todos los segmentos.
Enrutamiento de segmentos sobre MPLS
El enrutamiento por segmentos se puede implementar sobre una red MPLS, donde comúnmente se le conoce como SR-MPLS.
En SR-MPLS, los identificadores de segmento se codifican como etiquetas MPLS. El enrutador de entrada agrega una pila de etiquetas al paquete, y cada enrutador reenvía el paquete según la etiqueta que se encuentra en la parte superior de la pila antes de eliminarla. Las etiquetas restantes determinan la ruta de reenvío posterior.
Los SID se distribuyen mediante extensiones de los protocolos de puerta de enlace interior (IGP), incluidos OSPF e IS-IS.
Enrutamiento de segmentos sobre IPv6
El enrutamiento por segmentos también puede funcionar sobre IPv6 utilizando SRv6 (enrutamiento por segmentos sobre IPv6).
En SRv6, los segmentos están representados por direcciones IPv6 contenidas en una extensión IPv6 conocida como Encabezado de Enrutamiento de Segmentos (SRH), definida por la IETF. Cada segmento identifica un destino de reenvío o un comportamiento de reenvío específico asociado a una dirección IPv6.
A medida que un paquete atraviesa la red, los enrutadores procesan el encabezado de enrutamiento de segmento de forma secuencial hasta que se haya ejecutado cada segmento.
Encabezado de enrutamiento de segmento
El encabezado de enrutamiento de segmentos (SRH) es un encabezado de extensión de enrutamiento IPv6 que contiene la información necesaria para el enrutamiento de segmentos.
El encabezado incluye una lista de segmentos IPv6, el índice del segmento activo y objetos opcionales de tipo-longitud-valor (TLV). Los enrutadores actualizan el segmento activo durante el reenvío hasta que el paquete llega a su destino final. El encabezado de enrutamiento de segmento se define en la RFC 8754 .
Distribución del identificador de segmento
Los identificadores de segmento suelen distribuirse mediante protocolos de enrutamiento de estado de bucle a través de extensiones de protocolo estandarizadas por la IETF.
En las implementaciones SR-MPLS, los SID se asignan habitualmente desde el espacio de etiquetas MPLS. En las implementaciones SRv6, corresponden a direcciones o prefijos IPv6 asignados por el operador de red.
Dependiendo de su función, los identificadores de segmento pueden tener importancia global en todo un dominio de enrutamiento o importancia local para un enrutador individual.
Ingeniería de Tráfico
El enrutamiento por segmentos puede utilizarse para implementar políticas de ingeniería de tráfico mediante la definición de rutas de reenvío explícitas a través de una red.
En lugar de depender exclusivamente de la ruta más corta calculada por el protocolo de enrutamiento, los paquetes pueden dirigirse a través de nodos o enlaces seleccionados para satisfacer objetivos operativos como el equilibrio de carga , las restricciones de latencia o las políticas de enrutamiento administrativo.
La lista de segmentos que define la ruta de reenvío puede ser calculada localmente por el enrutador de entrada o por un controlador centralizado.
Redireccionamiento rápido
El enrutamiento por segmentos admite mecanismos de protección destinados a reducir la interrupción del tráfico tras fallos en la red.
Uno de estos mecanismos es el de Ruta Alternativa Libre de Bucles Independiente de la Topología (TI-LFA), que permite a los enrutadores redirigir el tráfico a una ruta de respaldo precalculada inmediatamente después de detectar una falla en un enlace o nodo, sin esperar a la convergencia completa del protocolo de enrutamiento.
Encadenamiento de funciones de servicio
El enrutamiento por segmentos se puede utilizar para implementar el encadenamiento de funciones de servicio (SFC), en el que los paquetes se reenvían a través de una secuencia ordenada de funciones de red.
Según la implementación, estas funciones pueden incluir cortafuegos, traducción de direcciones de red (NAT), balanceadores de carga, sistemas de detección de intrusiones u otros servicios de procesamiento de paquetes. En SRv6, estas funciones pueden representarse directamente mediante segmentos IPv6 asociados a comportamientos de reenvío específicos.
Aplicaciones
El enrutamiento por segmentos se implementa en una variedad de entornos de red, incluidos:
- Redes troncales de proveedores de servicios de Internet (ISP)
- Redes de área amplia empresariales
- interconexiones de centros de datos
- Arquitecturas de redes definidas por software (SDN)
- redes de transporte móvil
- Infraestructuras en la nube
Puede utilizarse para ingeniería de tráfico, redireccionamiento rápido, encadenamiento de funciones de servicio y segmentación de red.
Ventajas y limitaciones
El enrutamiento por segmentos reduce la cantidad de señalización necesaria para establecer rutas de reenvío explícitas, al aprovechar la información ya distribuida por los protocolos de enrutamiento. Además, puede simplificar la gestión de redes con tráfico optimizado, al reducir la cantidad de información de reenvío que se mantiene en el núcleo de la red.
En las implementaciones SRv6, cada segmento ocupa una dirección IPv6 dentro del encabezado de enrutamiento de segmento, lo que aumenta el tamaño del encabezado del paquete a medida que se agregan segmentos adicionales. El procesamiento del reenvío SRv6 también puede depender del soporte de hardware que ofrece el equipo de red.
Normalización
El enrutamiento por segmentos está estandarizado por la IETF. Las especificaciones principales incluyen:
- RFC 8402 : Arquitectura de enrutamiento por segmentos
- RFC 8754 : Encabezado de enrutamiento de segmento IPv6 (SRH)
- RFC 8986 : Programación de redes de enrutamiento por segmentos sobre IPv6 (SRv6)
Los RFC adicionales definen extensiones a los protocolos de enrutamiento, MPLS y BGP para implementaciones de enrutamiento por segmentos.
El desarrollo de la arquitectura continúa en el seno del Grupo de Trabajo SPRING de la IETF.
Véase también
- Ruta de Bang
- Enrutamiento de origen dinámico
- El enrutamiento basado en políticas también puede utilizarse para enrutar paquetes utilizando sus direcciones de origen.
- Enrutamiento de origen escalable
Referencias
- ↑ Previdi, Stefano; Filsfils, Clarence; Decraene, Bruno; Litkowski, Stephane; Horneffer, Martin; Shakir, Rob (mayo de 2016). Declaración del problema y requisitos del enrutamiento de paquetes de origen en redes (SPRING) (Informe). Grupo de trabajo de ingeniería de Internet.
- ↑ Bashandy, Ahmed; Filsfils, Clarence; Previdi, Stefano; Decraene, Bruno; Litkowski, Stephane; Shakir, Rob (diciembre de 2019). Enrutamiento de segmentos con el plano de datos MPLS (Informe). Grupo de trabajo de ingeniería de Internet.
- ↑ "IETF" . Enrutamiento de segmentos . Consultado el 3 de julio de 2026 .
- ↑ Filsfils, Clarence; Dukes, Darren; Previdi, Stefano; Leddy, John; Matsushima, Satoru; Voyer, Daniel (marzo de 2020). Encabezado de enrutamiento de segmento IPv6 (SRH) (Informe). Grupo de trabajo de ingeniería de Internet.
- ↑ Filsfils, Clarence; Camarillo, Pablo; Leddy, John; Voyer, Daniel; Matsushima, Satoru; Li, Zhenbin (febrero de 2021). Enrutamiento de segmentos sobre programación de redes IPv6 (SRv6) (Informe). Grupo de trabajo de ingeniería de Internet.
Enlaces externos
- Página principal de Segment Routing
- La implementación de enrutamiento de segmentos IPv6 en Linux
- "Acerca del enrutamiento por segmentos" (PDF) . Cisco .
- "¿Qué es el enrutamiento por segmentos?" . Juniper .
- "Ventajas del enrutamiento por segmentos y el cálculo de rutas" . Nokia . 15 de septiembre de 2015.
- "Enrutamiento de segmentos MPLS: Impulsando un enfoque moderno para el transporte MPLS" (PDF) . Arista .
- Jilani, Said (4 de junio de 2019). "Enrutamiento de segmentos 101 y el futuro de MPLS" . Aviat Networks .
- Ventre, Pier Luigi; Salsano, Stefano; Polverini, Marco; Cianfrani, Antonio; Abdelsalam, Ahmed; Filsfils, Clarence; Camarillo, Pablo; Clad, Francois (2021). "Enrutamiento de segmentos: una revisión exhaustiva de las actividades de investigación, los esfuerzos de estandarización y los resultados de la implementación". IEEE Communications Surveys & Tutorials . 23 : 182–221 . arXiv : 1904.03471 . doi : 10.1109/COMST.2020.3036826 . S2CID 102352575 .
- Enrutamiento por segmentos: un estudio exhaustivo de las actividades de investigación, los esfuerzos de estandarización y los resultados de la implementación.
- Algoritmos de enrutamiento