Segment Routing (SR) utilise le principe de routage par la source. Un nœud source dirige un paquet à travers une liste ordonnée d’instructions, appelées « segments ». Un segment peut représenter une instruction quelconque, telle qu’une instruction de type topologique (suivre un chemin) ou une instruction de type service (appliquer un service sur ce paquet). Segment Routing permet ainsi à un flux de suivre un chemin spécifique, sans avoir à créer et maintenir des états sur les équipements situés le long de ce chemin. Seul le routeur source maintient un état spécifique, sous la forme d’une liste de segments à ajouter sur le paquet. Cette liste de segments est appelée politique Segment Routing (SR policy). Un segment est identifié par un identifiant de segment (SID : Segment ID).

Segment Routing s’applique au plan de transfert MPLS (SR-MPLS) sans modification de l’architecture MPLS, ni du plan de transfert MPLS. Un segment est identifié par un label. Une liste de segments est encodée sous forme d’une pile de labels. Le segment en cours de traitement correspond au label au sommet de la pile. Une fois le segment terminé, son label est retiré du haut de la pile.

Segment Routing s’applique au plan de transfert IPv6 (SRv6) par la définition d’un nouveau type d’en-tête de routage. Un segment est identifié par une adresse IPv6. Une liste ordonnée de segments est encodée par une liste ordonnée d’adresse IPv6 dans l’en-tête de routage IPv6. Le segment en cours de traitement est indiqué dans le champ adresse destination de l’en-tête IPv6. Le prochain segment est indiqué par un pointeur présent dans l’en-tête de routage.

Segment Routing supporte un plan de contrôle distribué ou centralisé.

Les segments génériques sont typiquement annoncés par les protocoles de routage IP distribués tels que les protocoles de routage interne à états de liens (OSPF et IS-IS) ou protocoles de routage inter-domaine (BGP).

Dans le mode distribué, la politique Segment Routing est calculée par le nœud souhaitant l’utiliser. Ce calcul utilise les informations topologiques et de segments distribuées par le protocole de routage.

Dans le mode centralisé, un contrôleur de réseau calcule la politique Segment Routing et décide quel nœud doit l’utiliser. Un serveur PCE (Path Computation Element) peut remplir ce rôle et dans ce cas utilise le protocole PCEP pour échanger ces informations avec les nœuds sources. Mais d’autres protocoles sont possibles tels que BGP ou NETCONF.

Segment Routing a de nombreuses applications que l’on peut regrouper en trois catégories : une meilleure réaction du réseau aux pannes (Fast ReRoute, convergence IGP sans micro-boucles) ; l’ingénierie de trafic (chemins disjoints, routage spécifique tel qu’une minimisation du délai, optimisation du routage des flux en fonction des capacités du réseau) ; des améliorations dans l’opération du réseau en termes de monitoring et de simplifications.


Source link