知识库分类索引
技术分类
厂商分类

MPLS 核心网

MPLS应用在一些大型的行业企业(如政府军工),这些企业在自建内部网络时,会使用MPLS技术搭建各个地方的互联核心网。此时可以将各地的数据中心站点复用MPLS核心网进行跨地域连接,降低企业成本才是关键。在自建的MPLS核心网中,需要在各个站点的PE设备间搭建VPLS隧道用于传输Ethernet报文。如果是租用运营商的VPLS隧道则不需要考虑这么多,那时PE是由运营商提供的,对用户来说组网部署和前面的光纤直连没有区别。

VLL

如果是只有两个站点互联的情况,可以使用VLL(Virtual Leased Line)。VLL是一种点到点的虚拟逻辑链路技术,数据报文从隧道入口入,只能从定义好的另外一端出口出,不存在多个隧道终点一说。数据平面没啥可说的,A点收到的二层报文进隧道直接封装上MPLS报头发给B点就OK了,整个过程框架可参考前面的MPLS转发图。控制平面由于隧道都是点到点连接方式,不需要复杂寻址,只要在数据流量传输时,给VPN分配外层封装的对应Label即可。分配方式有以下四种:

CCC(Circuit Cross Connect):全网静态为VPN分配一个Label,包括所有路径的PE和P设备都需要手工配置。此Draft已经处于Dead状态,目前基本也没人用了。

SVC(Static Virtual Circuit):只在PE上静态配置私网VPN的Label,公网标签不管。有用的但也不多,静态配置这种方式对故障处理总是心有余而力不足的。

Martini:RFC4762,使用LDP协议在PE间建立连接,为VPN动态分配Label,省事好用。

Kompella:RFC4761,使用BGP协议在PE间建立连接,使用BGP VPNv4扩展字段携带VPN对应Label信息进行传递,这个实现起来比Martini复杂一点点,用得也就少了一些些。

后面两种Martini和Kompella方式在MPLS L3 VPN和VPLS里面也都有应用,都是作为控制协议来为VPN分配和传递Label用的。

VPLS

当存在多个站点时,A站点收到的二层报文就有个选B还是选C进行转发的问题。于是有了VPLS(Virtual Private Lan Service)。VPLS是支持点到多点的虚拟链路技术,从隧道入口进入后,可以根据VPLS MAC地址表从多个隧道出口中去选择正确的出口,或者广播给所有出口。控制平面还是通过Martini和Kompella两种方式分配与传递VPN对应的Label。数据平面则要多维护一张VPN的MAC对应VC(Virtual Circuit)转发表,既前面提到的VPLS MAC地址表,本地接口收到的报文,MAC地址学习方式还是和传统Ethernet一样;只有当报文从远端PE过来时,记录的源MAC需对应远端PE的VC ID。

由于VPLS透传的是二层Ethernet报文,就涉及到VLAN标识处理的问题。VPLS可以配合QinQ技术,将用户侧发来的带VLAN标签报文打上外层VLAN标签,以扩展VLAN数量规模。当然现在的交换机一般都是最大支持4k的VLAN,大部分场景都是够用的了,还没有听说谁家的数据中心VLAN部署超过4k。但云计算服务器节点数量规模成倍增加以后就不好说了,留出冗余总是好的。

为了防止广播风暴,VPLS做了水平分割特性,PE设备从远端PE收到的广播/未知单播报文只能发给本地的CE,不能转发给其他PE。还有其他的分层PE和Hub-Spoke等技术在数据中心多站点互联环境中一时还应用不上。

VPLS技术已经很完善了,喜欢细节的同学可以去查下RFC相关文档。这里再说下其在数据中心多站点互联应用中的不足之处。数据中心要求的是全冗余,无单点故障点或单点故障链路,而VPLS在双PE冗余方面没有专门的定义,因此造成技术上的使用不便,一是会形成如下图所示的跨站点二层环路,二是本端CE无法感知对端CE-PE间链路状态情况,故障时导致流量黑洞问题。

解决上述问题有以下两个思路:

和在其他地方使用时一样,浪费带宽与收敛速度慢,另外就是要让STP跨站点组网,会导致一个站点出现问题,其他站点全部受影响。此方案的好处就是公共标准大家都能做,而且不存在互通问题。

其次是使用控制平面多虚一技术,如VSS/IRF和vPC,使多个物理节点变为唯一的逻辑节点将整个拓扑由环状变为链状,以避免环路。同时通过链路检测监控联动路径切换动作以避免流量黑洞问题,如Cisco的EEM。这些小技术组合起来可以解决上述问题,但缺点是都是私有技术,没有统一标准,无法支持不同厂商产品混合组网。

另外可以一提的是Cisco的私有技术A-VPLS(Advanced VPLS),此技术配合其VSS,可以将多条VPLS的PW(Pseudo Wire,可理解等同于VC)虚拟化为一条逻辑的Fat PW,达到多PW路径负载分担的效果,和链路聚合很类似。

此技术由于需要往MPLS报头中添加一个Flow Label的标签字段,用于处理多PW的流量路径Hash,因此别的厂家设备肯定无法识别,只能在全Cisco设备环境下部署。其他厂商也有开发出类似的技术,对多PW进行流量负载分担,但也都是私有的小特性,无法互通组网。

相关新闻
MPLS 核心网相关厂商

分隔