SR分段路由技术,脱胎于MPLS,但是又有创新性,它代表的是一种新的网络理念-----应用驱动网络.于SDN天然的结合的特性,也逐渐成为SDN的主流网络框架标准.
前言
SR分段路由作为SDN的关键技术,同时也是对IP网络协议提倡的极简协议的关键技术.
SDN:软件定义网络,是Emulex网络一种新型网络创新框架,其核心技术OpenFlow通过网络设备控制与数据面分离开来,从而实现网络流量的灵活控制
SR产生背景-LDP面临的问题(一)
LDP协议依赖于IGP协议,使用本地标签交换,支持ECMP.
缺点:LDP本身有11种协议,在应用时会产生链路的带宽消耗和CPU的利用率.
LDP:标签分发协议,根据不同的目的地址来分发标签,使用标签代替IP地址转发,其优点为可以隔离公网私网路由,跟随路由最佳路径选择路径,支持ECMP,配置简单.
语音,数据,视频,VR等不同类型的业务对网络的要求是不尽相同,对带宽的要求也不断增长,网络规模成爆炸式增长.
传统的MPLS技术需要专门的标签分发协议,需要每条LSP分配标签,资源占用大;状态维护协议报文占据大量带宽;需要与IGp协议同步,部署维护复杂,可拓展性差.这种网络的运营模式难以满足服务商按需快速部署网络业务的需要,而且OPEX(Operating EXpense)随着规模线性增长.
SR产生背景-LDP面临的问题(二)
LDP支持IGP最短路径(最小开销)进行路径计算,不支持TE(流量工程)
LDP进行LSP路径计算时依赖与IGP路由表
SR产生背景-RSVP面临的问题(一)
RSVP依据CSPF算路结果逐跳形成端到端的LSP,标签为本地地址.
逐跳,途径节点均会维护该Tunnel的状态信息,即便SDN化,仍需维护.
RSVp TE配置复杂
ECMP实现复杂
8种RSVP协议报文占据网络带宽和CPU处理
RSVP(Resource Reservation Protocol):资源预留,为了解决传统IP网络只能最优路径转发,无法规划路径的问题,引入了RSVP-TE.
RSVP-TE引入带来了很多好处,可以做路径的显示规划,带宽资源预留以及多种的保护.
RSVP-TE需要建立多条隧道来完成ECMP功能.
LSP状态维护需要PATH,RESV不断刷新,业务增多后,带来了中间点的性能问题(承受业务叠加),如图中的C/G.
而且RSVP-TE隧道的配置量,一直被运营商所诟病.平均一个隧道要8条配置.
SR产生背景-RSVP面临的问题(二)
RSVP在负载分担方面实现复杂,配置多条Tunnel来实现,给配置和维护带来巨大的工作量.
SR产生背景-SR技术的诞生
SDN,即软件定义网络,是一种新型网络创新架构.其核心技术是通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供良好的平台.
革命性SDN网络采用集中式控制架构,网络设备的控制功能(如路由计算)集中到一个控制器上去处理,转发表由控制器生成下发到设备上.设备功能大大简化,只负责转发,变成一个傻瓜式的设备,Openflow是Controller和设备之间的控制接口.
增量型SDN网络是将现有网络进行拓展,现有设备向SDN演进思路,设备保留部分控制功能,把部分需要集中控制的功能放到控制器上去处理,强调设备平滑演进能力.
SR产生背景-SR的技术框架
SR是一种只需在源(显示路径加载的节点)节点给报文增加一系列的段标识,便可知道报文转发的技术方案
SR基本概念
SR域:SR节点的集合.
Segment:节点对入口报文执行的指令(如:依据最短路径转发报文到目的或通过指定接口转发报文,或将报文转发至指定的应用/业务实列)
SID:Segment 标识.Segment Routing将网络中的目的地址前缀/节点和邻接定义为一个个段,并且为这些目的地址前缀/节点和邻接分配段ID.段ID相当于传统MPLS技术中的MPLS标签,在转发层面映射为MPLS标签.
SRGB(segment routing global block):为全局segment预留的本地标签集合.在MPLS中,SRGB为全局标签预留的本地标签集合,在IPv6中,SRGB为全局还未被使用IPv6的地址集合.
标签栈:标签栈是目的地址前缀SID/节点SID和邻接SID有序列表的有序集合,用于标识一条完整的标签交换路径LSP.在MPLS架构中为标签栈,封装于报文头中指导转发.
Segment
SR的基本理念是把网络分为不同的段(Segment),然后拼接起来,用于指导报文按指定的路径转发.
SID:即Segment ID,用来标识唯一的段.在转发层面,银蛇为MPLS标签.
SR技术中三中段:邻接段,前缀段和节点段.
Prefix Segment 代表目的地址,Adiacency Segment 代表数据包的外发链路,可以分别类似于传统IP转发中的目的的IP地址和出接口地址.在IGP区域内,网元设备使用拓展IGP消息将自身的Node SID 以及Adjacency SID进行泛洪,这样任意一个网元都可以获得其他网元的信息.
通过按序组合前缀(节点)SID和邻接SID,可以构建出网络中的任意路径.在路径中的每一条,使用栈顶段信息区分下一跳.段信息按照顺序堆叠在数据头的顶部.当栈顶端信息任意包含另外一个节点的标识时,接收节点使用等价多路径(ECMP)将数据报转发到下一跳.当栈顶段信息时本节点的标识时,接收节点弹出顶部段并执行下一段所需的任务.
实际应用中Adjacency Segment Prefix Segment Node Segment可以到单独使用,也可以结合使用.主要有如下三种场景:Prefix Segment,Ajacency Segment ,Adjacency Segment + Node Segment
Segment------Prefix Segment
基于Prefix Segment:有IGp 使用SPF算法计算路径,所以也被称为SR-BE
如下图所示,以节点Z为目的节点,其Prefix SID是100.通过IGP扩散之后,整个IGP域的所有设备学习到节点PE2的Prefix SID,之后都会使用SPF算法得出一条到节点PE2的最短路径.
Segment---Adjacency Segment
基于Adjacency Segment:头节点指定严格显式路径(Strict Explicit).这种方式可以集中进行路径调整和流量调优,因此可以更好的配合实现SDN软件定义网络,Adjacency Segment主要用于SR-TE流量工程.
Segment-Adjacency Segment +Node Segment
基于Adjacency Segment+Node Segment:显式路径与最短路径相结合,称作为松散路径.组要用于SR-TE.
SRGB
SRGB是从本地标签资源隔离出来的一段区间,专门用于SR,以使SR的全局标签和传统MPLS在本地共存.
为节点SID基础,全局唯一的节点标签与本地标签不得冲突.
SRGB范围和起始值需要配置,在起始值基础上对节点SID的索引进行偏移,得出本地标签.
各设备上的SRGB范围为何不配置为一样?
标准中为统一规定SRGB范围,各设备商实现不同
与传统MPLS共存时,各设备上空余的标签空间不能保证一样
SR的原理
SR段路由是对现有IGP协议进行扩展,基于MPLS协议,采用源路由技术而设计的在网络上转发数据包的一种协议.
SR将网络中的目的地址前缀/节点和邻接定义为段,并且这些段分配SID.通过对Adjacency SID和1Prefix/Node SID 进行有序排列,就得到一条转发路径.
Segment Routing将代表转发路径的段序列封装在数据包头部,岁数举报传输.网络节点收到数据包后,对段序列进行解析,如果段序列标识是Node SID,根据SPF计算的最短路径(如果存在等价路径,则可以实现ECMP)转发到该节点,如果是Adjacency SID ,则根据Adjacency SID 则根据Adjacency SID转发到下一个节点,直到数据包到达目的节点.
工做原理-SR如何工作(IS-IS SR-BE)(控制平面)
ISIS:是与OSPF并列的两大IGP 协议之一.也采用链路状态算法.
以图中PE1到PE2的LSP为例:
1,Egress PE2设备上LoopBack1接口的环回地址为x.x.x.x/x,为该地址分配的SID为10,并将该信息泛洪到整个IS-IS域.
工作原理-SR如何工作(IS-IS SR-BE)(控制平面)
2,所有节点收到PE2的Node SID,生成标签转发表:
入标签:本地SRGB起始值+发布的偏移值
出标签:下一跳SRGB起始值+发布的偏移值
出接口下一跳:IGP计算的最短路径的出接口下一跳.
工作原理-SR如何工作(IS-IS SR-BE)(控制平面)
Ingress PE1进行IS-IS SPF 计算,得到ECMP到PE2的两条最短路径
工作原理-SR如何工作(IS-IS SR-BE)(转发平面)
SR的标签操作类型和MPLS相同,包括标签栈压入(Push),标签栈交换(Swap)和标签弹出(Pop).
以图中PE1到PE2的SR-BE Tunnel为例:
1,Ingress 节点PE1: 接收到业务报文,依据目的地址,标签转发表和ECMP分流算法,封装下一跳P节点分配的出标签,依据目的前缀SID和标签转发表从对应的接口转发出去.
例如:
Push 210 to P1
Push 310 to P2
工作原理-SR如何工作(IS-IS SR-BE)(转发平面)
1,Transit 节点:依据外层标签及标签转发表,交换出标签为下以下分配的SR出标签,并从对应的接口转发出去.
举例:
Swap 210 to 410 on P1
Swap 310 to 510 on P2
工作原理-SR如何工作(IS-IS SR-BE)(转发平面)
3,Egress节点PE2:发现外层标签是自己,弹出外层标签,依据外层地址将业务报文转发给CE设备.
举例:
Pop 610 from P3
Pop 610 from P4
工作原理-SR如何工作(SR-TE)(控制平台)
1,标签,标签转发表和拓补信息生成
网络中各节点通过IS-IS SR协议与其邻接分配邻接SID,泛洪到整个网络中,并为其分配的本地邻接SID生成标签转发表项.同时生成带有邻接SID信息的拓补信息.
另外手动配置的SRGB/前缀SID/节点SID,SR能力,SR算法等信息通过IGP协议报文在IGP域内泛洪.每个节点运行IS-IS SPF 来计算每个节点标签的最短转发
路径,并生成标签转发表.
2,标签和拓补信息上报
网络中各节点通过BGP-LS(BGP Link-State)将带有邻接SID信息的拓补信息上报给控制器.
3,路径计算
控制器采用PCEP(Path Computation Element)完成标签转发路径计算.
4,路径下发
控制器同PCEP下法隧道信息,通过Netconf下发隧道属性信息给隧道首节点.隧道首节点通过PCEP上报隧道状态给控制器.
5,隧道创建
隧道首节点根据控制器下发的标签栈建立SR-TE隧道.
工作原理--SR如何工作(SR-TE Strict Explicit Path)(转发平面)
以图中PE1到PE2的严格路径SR-TE Tunnel为例:
1,Ingress节点PE1:接收到业务报文,依据业务配置的路由策略或隧道策略确定的SR-TE Tunnel,封装SR-TE Tunnel 对应的标签栈.判断对应的标签栈顶标签501为邻接SID,封装标签栈其余部分[103,304,406]到业务报文,并依据栈顶标签和标签转发表从对应的PE1->P1转发出去.
工作原理-SR如何工作(SR-TE Strict Explicit Path)
2,Transit节点:判断栈顶标签为邻接SID,则弹出栈顶标签,并根据栈定标签及标签转发表从对应接口转发出去.
以P1节点为例:判断栈定标签103为邻接SID,则弹出栈顶标签103,并根据栈顶标签和标签转发表从对应的接口转发出去.
工作原理-SR如何工作(SR-TE Strict Explicit Path)(转发平台)
2,Egress节点PE2:依据业务报文外层地址将业务包文转发给CE设备.
工作原理-SR如何工作(SR-TE Loose Explicit Path)(转发平台)
SR设备根据报文头中SR-TE隧道对应的标签栈,对报文进行标签处理.根据栈顶标签逐跳选择下一跳接口,指导数据报文转发到隧道目的地址.
以图中PE1到PE2的松散路径SR-TE Tunnel 为例:
1,Ingress节点PE1:接收到业务报文,依据业务配置的路由策略或隧道策略确定的SR-TE Tunnel,封装SR-TE Tunnel对应的标签栈[1004,403,306].依据外层标签和标签转发表封装下一跳P节点分配的SR出标签1004,依据转发表从对应的接口出去.
工作原理-SR如何工作(SR-TE Loose Explicit Path)(转发平台)
2,Transit节点P2:依据外层标签1004和标签转发表,交换外层标签为下一跳分配的出标签1004,并从对应的接口P2->P4转发出去.
工作原理-SR如何工作(SR-TE Loose Explicit Path)(转发平台)
3,Transit节点P4:发现外层标签1004是自己,弹出外层标签1004,判断下一层标签403为邻接SID,将其弹出,并依据标签转发表从对应接口P4->P3转发.
工作原理-SR如何工作(SR-TE Loose Explicit Path)(转发平台)
4,Transit节点P3:判断外层标签306为邻接标签,弹出外层标签306,并依据转发表从接口P3->P2转发出去.
工作原理-SR如何工作(SR-TE Loose Explicit Path)(转发平台)

5,Egress节点PE2:依据业务报文外层地址将业务报文转发给CE设备.
思考题
1,ABD
2,ABC