1.SR MPLS
1.1.广域网VPN技术的演进
特殊的EVPN:从L2VPN发展的EVPN
- 以VPLS为例的L2VPN存在多种问题,例如业务部署复杂、网络规模受限、不支持双归等,IETF提出EVPN来解决这些问题
- EVPN最初被设计为一个基于BGP扩展的L2VPN技术,但是随着协议的扩展EVPN同时还支持L3VPN
- EVPN凭借其诸多优势被广泛应用于WAN、DCN(VXLAN的控制层面,使用type4消息)、园区网和SD-WAN等多个场景。
- 在这里,将使用
type5
的消息来传递L3VPN的路由
广域网VPN分类-IP承载技术
- MPLS VPN:底层承载网络使用MPLS/IP作为转发平面。MPLS可以承载L2或L3VPN,如BGP MPLS VPN,VPLS,VPWS,SR-MPLS
- SRv6 VPN,SRv6 VPN底层承载网络使用IPv6作为转发平面。SRv6是以IPv6抵制作为segment的Segment Routing技术,被广泛认为是广域网下一代演进方向
将BGP/MPLS L3 VPN的各种关键技术抽象,可以得到广域网VPN的技术架构,分为了四个功能模块
- 业务接入
- VPN业务隔离
- MP-BGP传递路由信息
- PE之间建立转发隧道
广域网数据平面发展-Segment Routing
- 在广域网VPN中数据平面呈现为数据转发隧道
- 从MPLS发展Segment Routing,常见的转发隧道有MPLS(LDP)、MPLS TE、SR-MPLS和SRv6等
- 广域网支持同时承载多种隧道技术,由用户VPN根据隧道策略选择迭代的隧道
1.2.Segment基本概念
SR(Segment Routing)是基于源路由理念而设计的在网络上转发数据包的一种技术架构。SR MPLS是指基于MPLS转发平面的SR。SR将网络路径分成一个个段,并且为这些段和网络中的转发节点分配段标识ID。通过对段和网络节点进行有序排列(Segment List),就可以得到一条转发路径。
SR将代表转发路径的段序列编码在数据包头部,随数据包传输。接收端收到数据包后,对段序列进行解析,如果段序列的顶部段标识是本节点时,则弹出该标识,然后进行下一步处理;如果不是本节点,则使用ECMP(Equal Cost MultiplePath)方式将数据包转发到下一节点。
使用SR技术,将带来明显的受益:
-
简化MPLS网络的控制平面。
使用控制器或者IGP集中算路和分发标签,不再需要RSVP-TE,LDP等隧道协议。可以直接应用于MPLS架构,转发平面没有变化。 -
提供高效TI-LFA(Topology-Independent Loop-free Alternate) FRR保护,实现路径故障的快速恢复。
在SR技术的基础上结合RLFA(Remote Loop-free Alternate) FRR算法,形成高效的TI-LFA FRR算法。TI-LFA FRR支持任意拓扑的节点和链路保护,能够弥补传统隧道保护技术的不足。 -
更具有网络容量扩展能力。
传统MPLS TE是一种面向连接的技术,为了维护连接状态,节点间需要发送和处理大量Keepalive报文,设备控制层面压力大。SR仅在头节点对报文进行标签操作即可任意控制业务路径,中间节点不需要维护路径信息,设备控制层面压力小。
此外,SR技术的标签数量是:全网节点数+本地邻接数,只和网络规模相关,与隧道数量和业务规模无关。 -
更好的向SDN网络平滑演进。
基于源路由理念而设计,通过源节点即可控制数据包在网络中的转发路径。配合集中算路模块,即可灵活简便的实现路径控制与调整。
同时支持传统网络和SDN网络,兼容现有设备,保障现有网络平滑演进到SDN网络,而不是颠覆现有网络。
Segment是节点针对所收到的数据包要执行的指令,该指令包含在数据包头部中。
指令的例子包括:
- 按照到达目的地的最短路径来转发数据包
- 通过特定的出接口来转发数据包
- 将数据包转发到特定的应用/服务实例等
Segment ID
用于标示segment,它的格式取决于具体的技术实现,例如可以使用MPLS标签、MPLS标签空间中的索引、IPv6地址。
Segment List是一个或多个SID构成的有序列表
源路由
源节点选择一条路径并在报文中压入一个有序的Segment List,网络中的其他节点按照报文封装的Segment List进行转发
Segment分类
Prefix Segment(前缀段)
用于标识网络中某个目的地址前缀。通过IGP协议扩散到其他网元,全局可见,全局有效
通过Prefix SID来进行标识。Prefix SID是发布端通告的SRGB范围内的偏移值,接收端会根据自己的SRGB计算实际标签用于生成MPLS转发表项。
生成方式:手工配置
Node Segment是特殊的Prefix Segment,用于标识特定的节点
在节点的loopback接口下配置IP地址作为前缀,这个节点的prefix SID实际就是node SID
node SID类似IP路由中的目的网络地址,Prefix SID类似IP路由中的目的网络地址
Adjacency Segment(邻接段)
用于标识网络中的某个邻接。通过IGP协议(需要启用SR扩展)扩散到其他网元,全局可见,本地有效
生成方式:源节点通过协议动态分配
Adjacency Segment通过Adjacency Segment ID标识。
Adjacency SID为SRGB范围之外的本地SID
Adjacency SID类似IP网络中的出接口信息(下一跳)
SR Policy
RFC 8402中定义SR Policy是一段有序的段列表(an ordered list of segments)。更完整的说法是SR Policy最终呈现为一段有序的段列表,还包含了计算、生成和维护这个段列表及引入流量等SR技术的一种框架。SR Policy是当前最主流的实现SR的方式。
一个SR Policy由头端节点引导流量进入这个段策略中。它的段列表被精确的分配为标签栈指导流量转发。这个段列表由一系列的优化目标(optimization objective)和限制(constraints,例如时延、亲和性和SRLG等)综合计算得到。这个计算可由本地或者PCE服务器完成,然后可以被通过NETCONF或者PCPE配置。
SR Policy可被用于流量工程(TE)、运行、管理、维护(OAM)和FRR等。
可以由CLI、NETCONF、PCEP、BGP SR-Policy等多种方式生成。华为设备上通过BGP接收的SR Policy优于静态配置。
包含Segment List,完整的指导流量引入和转发
SR-MPLS和SPv6
SR-MPLS
需要利旧现有设备的用户适用
数据转发平面:基于MPLS
使用MPLS标签值作为SID
段序列被编码成标签栈。要处理的段位于栈顶,一个段处理完