欢迎user
上篇文章《ADWANSDN+广域网:一场珠联璧合的搭配》从广域网面临的挑战和用户的需求以及SDN带来的技术潮流开始,探讨了未来ADWAN的发展。这节我们讲从Segment Routing的具体细节,深入解析ADWAN控制平面协议。
当下应用比较广泛的骨干网技术为MPLS(MultiprotocolLabel Switching,多协议标签交换),它在无连接的IP网络上引入面向连接的标签交换概念,将第三层路由技术和第二层交换技术相结合,充分发挥了IP路由的灵活性和二层交换的简洁性,因此,很多运营商和企业都采用了MPLS技术来建设自己的网络,来实现跨地域、安全、可靠、可管理的网络服务。
但是,MPLS网络的部署和管理都非常复杂,对运维人员要求很高,限制了它的应用范围,另外,MPLS是基于目的的转发,不能很好地满足源端的需求,不能动态实现源上特定应用对于带宽和延迟的需求,无法基于业务对流量进行精细化调优。因此,出现了一种新的协议Segment Routing,它是对现有MPLS技术的高效简化,同时复用MPLS已有的转发机制,能很好的兼容目前的MPLS网络,并帮助现有MPLS网络向SDN的平滑演进。
Segment Routing的基本概念
Segment Routing由IETF SPRING工作组负责制定的标准协议,同时有多个工作组(如:OSPF、ISIS、PCEP等)也在定义对Segment Routing的扩展。Segment Routing是一种Source Routing协议,由源节点来选择路径,并将路径转换成一个有序的segment列表封装到报文头中,设备只需要根据报文头中的路径信息进行转发。Segment表示任意类型指导报文转发的指令,例如Service–Context、Locator、IGP-based forwarding construct、BGP-based forwarding construct、Local valueor Global Index,在MPLS网络中,Segment其实就是标签,路径就是用一个有序的标签列表来标识,即标签栈。
在Segment Routing协议中,定义了Prefix/NodeSegment和Adjacency Segment两类标签:
Prefix/Node Segment:设备本身分配的标签,全网唯一。设备节点都有自己能够支持的标签范围,预留一段标签段作为SRGlobal Block (SRGB),通过IGP扩展或控制器通告标签时,通告SRGB和段内index,全网为设备节点分配一个全局 Index,每台设备上的标签为SRGB+Index。
Adjacency Segment:为设备链路分配的标签,本节点有效。不使用SRGB 标签,设备节点支持的本地标签范围,通过IGP扩展或控制器通告标签时,通告标签值,一个标签值代表一个设备节点上的一条链路(实质就是为每一跳分标签)。
Segment Routing的控制平面
我们前面说过,Segment Routing是对现有MPLS的简化和优化,尤其是控制平面,只需要支持IGP协议,不再需要部署LDP或RSVP-TE协议,具体表现在以下几个方面:
1) 标签的分配和分发:传统的MPLS网络需要LDP等协议同步和分发各个节点的标签信息,Segment Routing不再需要LDP协议,只需要通过IGP协议(ISIS或OSPF)的SR扩展来同步,或者由控制器统一进行分配和下发,大大简化了设备运行的协议数量。
2) 标签转发表的建立:同样的传统MPLS需要通过LDP协议分发标签后形成标签转发表,而且标签转发表的规模会非常大,而Segment Routing只需要IGP协议就可以完成标签转发表的建立,并且非常容易扩展,规模也很小,条目数为N(节点标签数量,一般为全网节点数量)+A(邻接标签数据,一般为设备接口数量)。
3) 路径的标识和建立:在MPLS网络中,一个报文经过的路径为LSP(Label Switched Path,标签交换路径),通过手工指定或使用LDP、RSVP-TE协议动态建立。在Segment Routing协议中,路径是由一个有序的segment列表(标签栈)来表示,且被封装在报文头中进行转发,因此,SegmentRouting路径不再依赖于逐跳的信令协议(LDP或RSVP-TE)来建立,而是直接由报文源节点或者控制器指定一个标签栈即可,中间的转发设备只需按标签栈的信息进行转发,非常简单。
SegmentRouting的转发平面
如下图所示,由6台路由器组成的一个网络,通过IGP扩展协议或控制器给设备分配Node标签(蓝色标识)和Adjacency标签(橙色标识),设备基于分配的标签形成标签转发表。
假设一个报文要从R1到R4,控制器计算完路径后是R1->R3->R5->R4(组合路径),即R1到R3可以按照最短路径进行转发,R3到R4必须经过R5,那么控制器对R1到R3使用Node标签,R3到R4使用Adjacency标签,将路径转化为SR标签栈就是{3, 305, 504},并下发到路径头节点设备R1,R1将标签栈封装到报文头中,路径上的转发设备R1、R2、R3,R4、R5根据标签转发表进行转发即可,详细过程如下图所示:
BGP-LS — ADWAN的可视化基础
传统广域网很大的问题就是网络不够透明,可视化不够,导致管理人员很难管理整个网络,出现问题难以定位,运维压力很大。ADWAN方案的目标之一就是增强整个网络的可视化,管理人员可以很方便的看到整个网络的拓扑结构、链路状态、链路质量、及流量路径等,这其中用到的最基础的就是拓扑收集协议BGP-LS,BGP-LS已成为控制器的主流南向接口协议之一,它是在BGP协议的基础上进行扩展(如下图所示),用来发布网络中设备节点信息、链路属性(如:带宽、开销等)、链路状态、及拓扑信息等。
如下图所示,BGP-LS以Domain域为单位,将Domain域内由支持TE扩展的IGP(OSPF-TE或ISIS-TE)协议收集的信息收集上来,发送给ADWAN控制器,由ADWAN控制器经过分析、整合后供流量调度、网络可视化等APP应用使用。
PCEP — ADWAN的路径控制通道
在ADWAN流量调度应用中,控制器要基于网络拓扑、流量情况等全局信息,并根据用户定义的应用SLA需求和调度策略,为各类应用计算最优路径,下发给网络设备,从而控制报文转发。控制器除了采用NETCONF接口下发路径信息外,最重要的也是最标准的路径控制协议就是PCEP(Path Computation Element Communication Protocol),在PCEP的定义中,控制器通常作为PCE(PathComputation Element),网络设备作为PCC(PathComputation Client)。PCE:一个基于TEDB(TE topology database)计算带约束路径的软件模块,也可静态手工指定。PCE可以位于网络路由器节点上,也可以部署在网络外的一台服务器上(通常就是SDN控制器)。PCE可以是无状态的(StatelessPCE),也可以是有状态的(Stateful PCE)的。
PCC:网络设备上的一个软件模块,PCC向PCE发送路径计算请求,并从PCE接收路径计算应答。
PCEP:PCC-PCE、PCE-PCE间通过PCEP协议进行通信,传递计算请求和计算结果。
在路径计算时,可以由PCC发起路径申请(被动模式),也可以由PCE主动下发路径(主动模式)。
在PCEP最初的定义中,主要是传递LSP路径信息,随着Segment Routing协议的发展,PCEP,也进行了相应的扩展,这样,控制器计算完路径后,转换成具体SegmentRouting标签栈,就可以通过PCEP协议下发给设备,指导设备按标签栈指定的路径进行转发。
通过本系列两篇文章,目前ADWAN使用的一些关键技术,既有核心的指导思想,也有关键的运行平台,还有重要的南向接口协议都已经介绍完毕。实际上,这些都是为整个ADWAN服务的,最终目标是为了使ADWAN更加开放、灵活、易用、可靠,同时又能够兼容传统网络,使用户的网络能够平滑迁移到SDN架构上,来快速满足用户不断变化的应用需求。因此,采用具体哪些技术,完全是根据ADWAN的需求来确定,我们相信,随着ADWAN的发展,还会有一些关键技术被我们使用,但最终目的只有一个,那就是为用户交付一个真正的应用驱动型的广域网。
新华三依托先进的IT技术助推新经济,推动国家实现强国富民,与有荣焉。