1. Segment Routing 技术全景与工程定位
Segment Routing(SR,段路由)是一种把“路径决定权”从网络中间设备上移到网络边缘的源路由技术。传统MPLS或IGP网络中,转发路径由每一台设备逐跳计算并维护状态;而在SR中,入口节点(源节点)把整条转发路径编码成一串有序的“段(Segment)”,随报文一起携带。中间节点不再需要为每条业务流维护路径状态,只需按报文头中的段列表执行转发。这一思想带来的直接工程收益是:网络状态大幅简化、路径可编程、业务与拓扑解耦,并且天然支持流量工程与快速重路由。
理解SR,关键要抓住三个概念:段(Segment)、段列表(Segment List)和源路由(Source Routing)。段是一个指令,代表“去往某处”或“经过某条链路/某个节点”;段列表是这些指令的有序集合,等价于一条显式路径;源路由则意味着这条路径由入口节点一次性指定,而不是由沿途设备协商决定。SR的段主要分为两类:前缀段(Prefix Segment)用于标识一个目的前缀,通常由IGP扩展分发,全局唯一;邻接段(Adjacency Segment)用于标识某条特定邻接链路,只在本地有效,常用于严格显式路径和防环。此外还有绑定段(Binding Segment)用于段列表嵌套,以及SRv6中的End、End.X、End.DT等功能型段。
SR有两条主流技术路线:SR-MPLS和SRv6。SR-MPLS沿用MPLS转发面,把段编码为MPLS标签,段列表就是标签栈。它的优势是兼容现有MPLS网络与硬件,转发效率高,适合运营商骨干网平滑演进。SRv6则把段编码为128位IPv6地址,段列表放在IPv6扩展头(SRH)中,天然具备可编程能力,能与IPv6网络、云网、SDN控制器深度结合。两者在控制面都可以用IGP(IS-IS/OSPF)扩展或BGP分发段信息,区别主要在数据面的封装与转发语义。
从工程定位看,SR-MPLS更适合运营商骨干网和已有MPLS存量网络的平滑升级。它可以直接复用现有转发芯片的标签处理能力,把IGP前缀段作为基础转发路径,再通过邻接段或绑定段叠加流量工程策略。典型部署中,IS-IS或OSPF扩展携带Prefix SID,BGP-LS把拓扑和SID上报给控制器,控制器计算显式路径后下发段列表,入口PE按段列表压栈转发。整个过程不需要在中间设备上建立RSVP-TE隧道,状态数量从O(N²)量级降到O(N)量级。
SRv6则面向云网融合和新型IPv6网络。它的段是IPv6地址,天然可聚合、可编程,并且能与IPv6路由体系无缝衔接。SRv6的一个关键能力是网络编程:通过在SRH中排列不同的功能型段,可以实现服务链、网络切片、确定性转发等能力。例如,End.DT4段表示“解封装并查IPv4表转发”,End.X段表示“沿指定邻接链路转发”,把这些段组合起来,就能在纯IPv6网络中表达复杂的业务路径。SRv6的挑战在于SRH头开销较大、部分硬件对SRH处理能力有限,因此在实际部署中常采用压缩SRH(uSID)或与SR-MPLS混合组网。
在运营商场景中,SR的核心价值是简化协议栈、增强路径可编程性、降低运维复杂度。传统MPLS TE需要RSVP-TE逐跳信令,状态多、故障恢复慢;SR把路径状态集中在入口,中间节点无状态,配合TI-LFA(拓扑无关无环备份)可以实现50ms级快速重路由。在数据中心场景中,SRv6可以与EVPN结合,实现租户隔离、跨DC互联和云网一体化。在云网场景中,SRv6的段可编程能力使网络能够感知业务需求,按需编排路径,支撑切片和SLA保障。