交换机
园区网交换机
数据中心与云计算交换机
行业精选交换系列
工业交换机
意图网络指挥官
无线
放装型无线接入点
墙面型无线接入点
智分无线接入点
室外无线接入点
场景化无线
无线控制器
行业精选无线系列
统一运维
身份管理
服务产品
运营商
政府
金融
互联网
制造业
高教/职教
医疗卫生
交通
公共安全
作者:江十一
前言
早在1997年,MPLS网络的推出,其采用标签交换,一个标签对应一个用户数据流的方式,非常易于用户间数据的隔离,利用区分服务体系轻易地解决困扰传统IP网络的QoS/CoS问题,同时MPLS自身提供流量工程的能力,可以最大限度地优化配置网络资源,自动快速修复网络故障,提供高可用性和高可靠性。然而,为了满足越来越多的应用需求,MPLS技术在过去20多年一直在做加法,功能不断丰富的同时,也带来了实施和使用上的复杂性。
Segment Routing的概念和技术体系在2013年首次提出,短短四年间已经获得了业界的广泛支持,并已经在国内外顶级运营商的网络中开始实际部署。Segment Routing的源路由和无状态特性,使得其成为SDN/NFV在IP网络上下一步发展的关键技术,其超大规模组网能力也是实现IP网络端到端运营调度和网络重构的基础。
Segment Routing是继MPLS之后,IP领域最重要的创新,得到了业界的广泛支持,并逐渐成为SDN的主流网络架构标准。
本文通过讲述Segment Routing的诞生、产生SR的驱动力、SR的工作方式、SR的相关基础概念以及SR的应用场景,带大家初步认识SDN网络新兴技术Segment Routing。
01 什么是SR?
Segment Routing,分段路由是基于源路由理念而设计的在网络上转发数据包的协议,借助MPLS转发平面实现数据转发,Segment Routing将网络路径分成一个个段,并且为这些段和网络中的转发节点(Node)分配段标识ID,通过对段和网络节点进行有序的排列(Segment List),得到一条完整的转发路径。
02 SR的诞生
关于SR命名的来源,传闻来源于SR项目组的一次罗马经历,SR名字由来于“通往罗马之路”,意大利语中SR即“Strade Romane”,也就是我们经常听到的“All roads lead to Rome”,“条条大路通罗马”,通过组合多条道路,罗马人可以去往罗马帝国内的任意地方。
Clarence Filsfils是Segment Routing技术的发明者和推动者;在思科工作的 20 年间,Clarence Filsfils 拥有极其丰富的创新、产业化、市场推广和实际部署经验,受到全球运营商、OTT 和大型企业客户的尊敬和信赖。
03 SR产生的驱动力
优雅的MPLS数据平面很少受到挑战,但是人们越来越明显的感觉到MPLS经典的控制平面(LDP、RSVP-TE)过于复杂,且缺乏可扩展性。
SR的技术优势,进一步驱动了SR应用的大规模部署应用。
04 SR的工作方式
在SR项目的早期,SR项目组用飞机行李转运的行李标签向没有相关技术背景的人员解释,SR是如何工作的。以一个行李,从德国慕尼黑机场(MUC)到日本成田机场(NRT),途径美国亚特兰大机场(ATL)为例。
如上图,当一个包裹在始发机场给行李贴上一个标签“慕尼黑(MUC)à亚特兰大(ATL)à成田(NRT)”,这样的话,传输系统中的每个站点不需要再识别单个行李的完整路径,只需要识别几千个机场的代码,如MUC代表慕尼黑机场等,通过行李的标签代码,就可以按照标签将行李发往指定的目的地机场。
SR的做法其实完全相同,一个prefix segment代表一个机场代码,报文中的segment代表着行李上的标签,源节点知道数据包的特定要求,按照此编码为segment列表,压入报头中,网络中的其他设备不需要知道此数据包的特定要求,只需要知道,怎么处理prefix segment即可。
上图中,当一个数据包从,Site_A需要转发到Site_B时,当Site_A为数据包压入一个(16002à28003à16006)segment-list时,当路径中的网络节点进行转发时,只需要按照标签顺序去转发数据包,并不需要关注数据包的来源等,最终流量会按照图中紫色虚线进行转发。
05 SR相关概念
源路由
源路由器为要转发的数据包选择一个路径,并将其作为segment-list编码到数据包的包头中,网络中其余的路由器,执行编码的指令,并进行转发。
Segment Routing转发平面
MPLS转发平面
Segment-List体现为MPLS的标签栈
Segment Routing可以利用现有的MPLS数据平面
Segment即MPLS标签
可用于IPv4或IPv6地址簇
IPv6转发平面
Segment-List体现为路由扩展报头中的多个IPv6地址
全局Segment、本地Segment
Global Segment(全局Segment)
SR域中任一节点都明白Segment的相关指令
SR域中的每个节点都安装了该Segment的相关指令
在MPLS SR中体现为SRGB中的全局标签值
Local Segment(本地Segment)
只有该Segment的始发节点明白该Segment的相关指令
MPLS SR中体现为本地分发的标签
以R1àR3的两条路径为例,蓝色路径中的{16002,16003},为全局segment,SR域中任一节点都明白Segment的相关指令,流量按照R1àR2àR3转发;红色路径中{16004,27003,16003},其中27003位本地segment,引导流量转发至R4连接R5的互联俩路中的其中一根链路,流量按照R1àR4à(27001对应链路)àR5àR3进行转发。
全局标签索引
Global Segment(全局Segment)始终以“SRGB(标签范围)”+index(索引)构成
SR域中,索引必须唯一
最佳实践:所有局点具有相同的SRGB
运营商目前均要求使用“Global模式”
Global Segment简化了网络运营成本
各厂商SRGB定义不同,如Cisco使用16000-23999
具有相同SRGB的几个好处
标签具有绝对值,即SRGB + Index
SRGB固定后,Index可以由IGB/BGP分配
Segment Routing控制平面
SR的控制平面可以是IGP(ISIS、OSPF)或BGP
1 IGP作为控制平面
IGP分发的Segment分为两种,为构建转发路径的基本构建模块
Prefix Segment – 前缀段,又称Prefix-SID
Adj Segment – 邻接段,又称Adj-SID
IGP Prefix-SID
通常给/32 loopback接口分配标签
含义:引导流量沿着支持ECMP最短路径去往与该Segment相关联的前缀
支持ECMP
Global Segment
Segment = SRGB + Index
索引通过ISIS/OSPF分发
IGP Adj-SID
含义:引导流量向与该Segment相关联的邻接链路转发出去,而不考虑最短路径如何
Local Segment
作为标签值来通告
通过ISIS/OSPF分发
只被Segment的始发节点识别
2 BGP作为控制平面
使用BGP新属性,Type 40
非必选,可传递属性
BGP中使用独立地址簇 address-family Label unicast
BP分发的Segment分为两种,为构建转发路径的基本构建模块
Prefix Segment – 前缀段,又称Prefix-SID
BGP EPE(Egress Peer Engineering)扩展
BGP Prefix-SID
通常以环回口分配标签
Global Segment
含义:引导流量沿着支持BGP ECMP多路径去往该Segment相关联的前缀
BGP EPE(Egress Peer Engineering)扩展
Local Segment
用于为对等体分配Peer-Node SID、Peer-Adj SID和Peer-Set SID
06 SR的应用场景
应用场景1:路径分离服务
路径选择就如同机场VIP通道服务,通过对路径的规划,使得重要的流量得到优先的转发保障。
1)无Segment Routing
R1àR2:只能通过负载均衡或强制单一路径
2)有Segment Routing
R1àR2:不同业务自由定义,动态规划,可以根据不同的业务需求定义不同的路径,保障关键业务的转发
应用场景2:路径质量规划
路径质量规划就如同地图导航,以从锐捷北京公司到福州公司为例,会有三条路径进行选择,我们可以根据自身需求,规划路径,如:时间最短、公里数最短、收费最少等,亦可选择不走高速,躲避拥堵等等;SR也可以根据网络延时、开销、带宽、抖动等为特定的业务需求选择特定的数据转发路径。
1)无Segment Routing
R1àR2:只能通过负载均衡或强制单一路径
2)有Segment Routing
R1àR2:不同业务自由定义,动态规划,可以根据不同的业务需求定义不同的路径,保障关键业务的转发
应用场景3:端到端统一数据平面