IGP+组网下的SR:Segment Routing简介
SR:SegmentRouting,源路由技术,在路径的源头插入一组列表(Segmentlist),引导数据依照特定的路径通过网络,除源节点外,其他节点只需要履行承载数据报文里的Segment(乃至是不支持SR),无需保护和计算状态信息。
SRTE对现有的TE提升巨大,现有的RSVPTE虽然被提出多年,但部署的复杂性一直较为诟病:所有的流量都要承载在隧道;隧道的数量过于庞大,如果需要支持ECMP更是数量倍的增长;在出现故障后收敛速度太慢;
相对而言SR采取集中散布的部署模式:
控制端(可以是SDN控制器):获得整网的拓扑信息,组合Segment并保护源节点的状态;
散布式端:由各个网路节点提供支持ECMP的最短PrefixSegment,保证segmentIGP的收敛和FRR;
特别在ODL和SDN的支持,各大厂商和ISP的认同,相信在未来特别IPv6普及的时候会大放异彩。
我们先了解一下SR术语概念:
Segment:节点收到数据需要履行的指令,他可以是常规的让数据包基于IGP/BGP以最短的路径转发数据包,也能够是基于特定的端口转发,设置可以将数据包发送至特定的利用;
SegmentIdentifier:SID用于标识Segment比如在组网用标签,IPv6的地址等;
SegmentList:多个Segment的有序列表,引导数据通过特定的网络,类似组网的标签,有三个基本操作:PUSH、CONTINUE、NEXT。
全局Segment:所有启用SR的几点均支持的Segment指令,比如:16010,表示沿着去往节点16010的最短路径转发;
本地Segment:节点本地支持的Segment指令,虽然其他节点也可能支持该指令,但一般的操作是先通过全局Segment引导至相应的节点,再履行本地Segment,比如:从接口1转发(16010),再此Segment之前一般会有{16010,port1};
不同于LDP为组网分发标签,SR可以支持IGP/BGP设置静态配置Segment,通过IGP和BGP分发的Segment分别称为:IGPSegment
和BGPSegment;
IGPSegment分为2种类型,用过一下2种Segment类型,可以勾画出全部网络拓扑信息:
IGPPrefixSegment(PrefixSegment/PrefixSID):数据依照最短的ECMP的路径前往该Segment关联的Prefix;PrefixSID支持多跳和ECMP的全局Segment;
NodeSID:特殊的PrefixSegment,通常为路由器ID,不同的是NodeSID被通告时对应一Nflag的置位;
IGPAdjacencySegment:数据依照特定的邻接链路转发出去,无关ECMP和shortestpath,会以倒数第二跳pop的方式存在;AdjSID会从SRGB以外自动分配,为了避免链路动荡带来的AdjSID的变化,一般会设置30分钟的保护机制,超过30分钟再回收。
ISIS使用扩大TLV其中SR开启使用TLV2、PrefixSID3、AdjSID31、SID/Lable149
routerisis1
addressfamilyipv4unicast
metricstylewide
segmentforwardingmpls//启用mpls转发
segmentroutingmpls//启用SR的控制层面和Mpls的数据层面
TLV定义了路由器ID、泛洪范围和可选TLV等