解析华为Datacom认证:从MPLS到SR的演进之路

2020-05-25  本文已影响0人  誉天education

华为Datacom认证已于4月18日正式发布,大家都知道,全新的Datacom认证在传统路由交换技术基础之上,融合了华为数通网络解决方案、网络新技术。下面我们就通过一篇文章,来看Datacom认证中的新知识点,从MPLS到SR的演进。

在“云网一体化”的背景下,骨干网以及数据中心网络等场景要求网络更加灵活、可靠、智能。数据中心组网从“两地三中心”到“分布式多活”的架构,需要对各类业务流量进行实时的调度、优化,而传统IP转发存在诸多缺陷,不能满足上述需求。MPLS技术的出现一定程度上解决了IP转发的缺陷,但是在实现流量工程等方面仍然显得“力不从心”,而SR技术的横空出世可以说是迎合SDN时代的革新。

传统IP路由转发存在什么缺陷?

通过上图,我们可以发现当一个数据包到达路由器的时候,路由器根据目的地址查询IP路由表进行数据转发,这种转发方式需要每台路由器通过最长掩码匹配原则进行逐跳转发。早期路由器硬件性能有限,导致这种查表方式的转发效率相对低下;而现在的路由器因为专用芯片(ASIC、NP)可以实现硬件转发,转发效率得到大幅提升。

但是IP路由转发采用无连接的转发方式却带来了新的问题:

1、配置BGP等协议跨设备传递路由,可能出现路由黑洞;

2、无法提供较好的端到端QoS保证或者灵活的流量工程。

何为路由黑洞?

多数据中心、企业分支互联等大规模组网场景,BGP边界网关协议必不可少,而传统IP转发的方式会导致BGP路由黑洞,如下图场景。

路由传递过程:AS100中的设备R1将Net1的路由借助BGP(路由搬运工)传递给R2,R2继续借助BGP “隔空传物”将路由直接传递给R4,最终R4传递给AS300中的R5。

数据转发过程:AS300中存在业务需要访问Net1,于是R5将数据报文发送给R4,R4需要将数据报文发给R2,但是真实转发路径需要发送给R3,还记得上文提到的IP路由转发方式吗?R3因为没有Net1对应的路由,直接丢弃报文,路由黑洞就产生了。

MPLS多协议标签交换如何解决上述问题?

下图说明了典型的MPLS网络组网架构和数据转发方式:

首先Ingress入口设备RTA上存在去往4.4.4.4的LSP隧道,则在原始数据包中PUSH压入1027标签(标签位于二层和三层头部之间),进入到对应的LSP隧道;

然后RTB、RTC作为Transit传输节点直接执行相应的SWAP交换动作进行标签转发;

最后RTD作为Egress出口设备执行标签POP弹出动作,继而查询IP路由表进行正确的数据转发。

假设上述路由黑洞场景中,R4上存在去往R2的LSP隧道,直接为数据报文封装相应的标签,而沿途设备直接通过MPLS标签转发,不再查询IP路由表,问题是不是就迎刃而解啦?

MPLS真香,Segment Routing又是啥?

如果部署MPLS,我们需要传统的IGP内部网关协议实现路由可达,再通过LDP标签协议进行标签的分配和通告,这无疑增加了控制层面部署的复杂性,而且IGP和LDP这哥俩哪一个发脾气,都很折腾人。

所以Segment Routing简称SR技术直接对现有IGP进行扩展,使得IS-IS、OSPF等协议也具备了标签分发能力,从而简化控制层面,凡事IGP说了算,也就不担心LDP闹情绪了。

下图的数据报文内容,展示了IS-IS协议如何通过特殊TLV来支持标签分发:

SR技术的数据层面仍然可以使用MPLS进行标签交换,只不过这里的标签我们更多的称之为Segment-ID。SR仍然利用IGP计算最短路径,通过IGP分配并通告每台设备的前缀或者节点SID,最后网络设备根据前缀或节点SID将数据报文转发到正确的设备,如下图R1根据节点SID和前缀SID将数据按照最短路径转发给R4,这种转发方式我们也称为SR-BE(Best-Effort)。

也许你有点疑惑,这不是仍然采用了MPLS的转发方式吗?难道全新的SR技术仅仅就为了简化控制层面,不给LDP面子?

如何利用SR技术来实现流量工程?

上面提到无连接的IP转发方式无法灵活的实现TE (Traffic Engineering)流量工程,而通过MPLS技术可以更好的部署流量工程。我们可以通过建立基于一定约束条件(带宽、路径)的LSP隧道,实现流量的引导、带宽预留,从而达到流量工程的目的。

传统的MPLS TE技术采用RSVP资源预留协议,但如果采用RSVP-TE部署,流量工程会带来新的问题:

1、引入控制层面的RSVP-TE协议,增加部署和维护的复杂度;

2、RSVP-TE需要针对不同业务创建多条LSP ,配置量较大;

3、所有网络设备都需要维护隧道状态和转发表项,扩展性较差。

设想如图所示多个数据中心之间的业务需要进行流量转发的显式路径规划,我们得在沿途所有设备配置大量的命令,“我太难了”……

而SR技术作为源路由技术,可以方便我们更好的通过Segment-list(也就是MPLS标签栈)实现流量引导。

刚才我们提到在SR技术中,标签也称之为Segment-ID(SID),这个SID又分为如下几种:

1、前缀SID:标识某个目的地址前缀;

2、节点SID:特殊的前缀SID,通常是环回接口的/32 IP地址,标识某台设备;

3、邻接SID:标识设备的邻接关系,也就是接口或链路。

而通过在源端设备上压入相应的Segment-list(标签栈),我们可实现流量通过特定的路径、特定的设备进行转发。正如上图我们看到的,数据转发的过程解析如下:

1、R1为数据包压入了标签栈;

2、R1通过查询栈顶标签(节点SID:101)将报文发送给相应的节点R3;

3、R3发现栈顶标签为自身节点SID则弹出标签,继续查询并弹出相应标签(邻接SID:1034)将报文发送给R4;

4、R4、R5则根据标签(前缀SID:100)将数据转发至R6。

SR-TE的隧道转发路径,可以通过源端设备的标签栈来引导 ,更加灵活、智能,而且工作量大大降低。

上一篇下一篇

猜你喜欢

热点阅读