90年代,IP逐跳最长匹配查表影响转发效率
引入LDP作为控制面的MPLS标签交换,提升转发效率
LDP:Label Distribution Protocol,标签分发协议
LDP的引入,设备要多维护一个协议
设备控制面多维护一个协议状态
运营商多配置、学习一个协议,增加维护成本
LDP带来的问题:依赖IGP,有时会出问题
•LDP与IGP同步问题,根源是两个独立的协议,而LDP又依赖IGP的路由
•需要补救方案,临时调高IGP Cost,延缓IGP回切,等待LDP建立成功。(LDP-IGP Sync Issue, RFC5443 RFC6138 )
IP和LDP的通病——最短路径
引入RSVP-TE来实现路径建立与资源预留
RSVP-TE总结:流量工程的先驱
•源路由机制,头结点决定转发路径
•扩展IGP/引入CSPF模块
•分布式,每个节点都收集信息,基于本地数据库计算路径
•依赖协议,去建立路径,资源预留
MPLS-TE通过扩展IGP/RSVP的协议,实现了路径规划、带宽预留等流量工程能力。
RSVP-TE的问题
基于RSVP-TE的流量工程,为什么没有大规模部署?
RSVP-TE为了资源预留,不支持负载分担
传统的IP/MPLS承载方案问题
Segment Routing的思想
Segment:本质是指令,指引报文去哪?怎么去?
Segment Routing:通过头结点压入“指令序列”
“编程” 网络路径,其余节点执行指令
RFC8402:Segment Routing架构
SR可以直接应用于MPLS架构,不会改变转发平面[SR-MPLS]。一个segment被编码为一个MPLS标签,一个SR策略被实例化为一个标签栈,处理的segment(主段)位于栈顶,一个segment完成后,从堆栈中弹出相应的标签。
----从RFC8402 1.介绍
SR可以应用在IPv6架构中,新类型的路由头称为SR头(SRH) IPv6-SRH。指令与segment关联,编码为IPv6地址,SRv6 segment也称为SRv6,SR策略实例化为路由头中SRv6 SIDs的有序列表。
术语
•SR-MPLS:MPLS数据平面SR的实例化。
•SRv6:IPv6数据面SR实例化。
•SID: Segment ID
首先,我们来看一下SR的标准定义。
在RFC的8402:段路由架构中,有两种类型的SR,
第一种是SR-MPLS,MPLS数据平面的SR实例化,是应用于MPLS架构的SR,该段编码为MPLS标签
第二种是SRv6,即IPv6数据面SR的实例化。分片编码为IPv6地址,在定义SR的第一天,SRv6已经存在。
SR转发平面分类
我们看到SR在标准中有两个数据面定义。
下面是这些两技术的一些分类。
对于SR-MPLS,转发平面为MPLS,分片标识为MPLS标签,封装如下:首先是净荷,然后是MPLS标签1,然后是MPLS标签2等等,基本网络层IPv4和IPv6都属于MPLS架构。
对于SRv6,转发平面为IPv6,分片标识为IPv6地址,封装方式为:先净荷,后IPv6头带IPv6段。
从承载网络演进趋势看SRv6
什么是SRv6?
SRv6技术就是采用现有的IPv6转发技术,通过灵活的IPv6扩展头,实现网络可编程。SRv6将一些IPv6地址定义成实例化的SID(Segment ID),每个SID有着自己显式的作用和功能,通过不同的SID操作,实现简化的VPN,以及灵活的路径规划。
而SRv6正是基于IPv6和SR技术实现的技术创新。
我们知道IPv4的设计是在无经验的情况下进行的,导致IPv4设计完成后存在着诸多的不足,特别是在业务创新上,IPv4的封闭架构严重阻碍了业务的发展,一个新的业务往往需要伴随新协议或新硬件的产生,这往往意味着一个相当长的开发周期。而IPv6的设计汲取了IPv4的经验,在一开始就考虑到了IP网络的未来的发展和演进。
IPv6提供扩展报文头,让用户可以通过灵活的定义扩展报文头,从而实现网络能力的编程。而SRv6就是通过在IPv6的Routing Header扩展头中定义的Segment Routing Header实现的。在SRv6网络中,SID标识就是可寻址的IPv6地址,SRv6网络通过这些SID,就可以实现网络业务路径的灵活编程,此外,SRv6将一些IPv6地址定义成实例化的SID(Segment ID),每个SID有着自己显式的作用和功能,通过不同的SID操作,实现简化的VPN,以及灵活的路径规划。
SRv6对传统网络更友好
让我们一个一个地看一下三的优势,第一个优势是:
对于一个棕色的领域网络,如果我们要部署新的业务,如果我们部署SRv6,我们可以先将一些基本设备升级到SRv6设备,再用Overlay的SRv6隧道部署新的业务,另外一个设备只需要部署ipv6。如果我们部署SR,MPLS,。,,我们应该把所有的设备升级到SR设备,然后再部署新的业务。
SRv6:大网络可扩展性压力
第二个优势:
首先,SRv6采用IPv6地址作为网段ID,因此它具有天然的原生IP属性,与可路由地址相连的标签不同,SRv6的SID是可路由的地址,在IPv6地址可达的情况下,可以基于SRv6发布业务。因此,快速建立新业务是非常方便的,不需要分段配置业务,只需要升级业务创建点,就可以拥有VPN业务体验。
另一个来自自然IP属性的东西。对于MPLS标签,你不能做任何聚合行为,如果你想建立与某人的连接,你必须有他的具体路线。这带来了巨大的复杂性,特别是我们面临着大规模的网络。而SRv6,可以总结路由。在安全策略允许的情况下,您甚至可以使用默认路由达到您想要的任何点。使用SRv6,您可以获得几乎无限的扩展能力。
我们可以看到,对于MPLS/SR MPLS,当网络变大时,路由数量也会越来越大,给设备带来更大的压力,如果任何一个设备宕机,整个网络都会受到冲击,但是对于SRv6来说,当网络变得更大的时候,路由号几乎保持不变,特别是对接入节点的压力较小,当任何一台设备发生故障时,只有同一个IGP域内的设备才会知道,其他IGP设备中的所有设备都不会受到影响。
SRv6:强大的网络编程能力
可路由
可扩展
可以承载业务、用户信息。
第三个优势:
SRv6有三级网络编程能力
第一层:灵活的SID列表来实现路径规划。这也是SR的MPLS。
第二层:每个段都有三字段定位器,函数,args,可以实现不同的业务,这是SR的MPLS没有的能力。
第三层:通过选项TLV,SRv6的SID可以携带appid、userId和meta,实现应用程序的编程,这也是SR的MPLS没有的能力。
SR-MPLS只支持路径规划
通过网络编程能力和组合,实现流量工程、多业务、更好的SLA扩展。
SRv6的SID表示比节点和链路更多的功能,也可以表示VPN和其他高级服务,不同的服务可以使用不同的SID列表来指定路径,网络可以像网络能力开放一样,通过每个应用的自助服务开通来实现IT。