ITPub博客

首页 > > > MPLS L2 VPN

MPLS L2 VPN

作者:格伯纳 时间:2020-07-02 14:54:14 0 删除 编辑

相关阅读:

MPLS基础

MPLS control plane

MPLS L3 VPN

前面说过MPLS转发层,说过MPLS控制层,说过MPLS unicast,详细介绍了MPLS L3 VPN。之后还说了说与MPLS有点关系的SD-WAN。这次来看一看MPLS L2 VPN。

首先,MPLS VPN的世界是这么构成的:


右边的L3 VPN之前介绍过,左边的MPLS L2 VPN有两种模式,一种是VPWS(Virtual Private Wire Service),向客户提供虚拟的私有L2线路作为服务。另一种是VPLS(Virtual Private LAN Service)向客户提供虚拟的私有LAN作为服务。

VPWS

顾名思义,VPWS提供Virtual Private Wire,也称为pseudowire,VPWS向用户提供私有的虚拟的二层链路。在介绍MPLS L3 VPN时,曾经说过VPN的实现模式,有overlay的,也有peer-to-peer的。MPLS L3 VPN属于peer-to-peer模式的VPN,我们说了这种模式的VPN的优点。而VPWS属于overlay模式的VPN,那为什么MPLS同时也会支持overlay模式的VPN?主要原因有:

  • overlay模式VPN,CE不需要向PE汇报自己的路由。作为SP(Service Provider),不知道用户使用了哪些IP,这在某种程度下对用户更为安全。
  • 一些传统的设备仍然是支持overlay VPN,SP在迁移到MPLS的时候,不可能让用户也更新自己的设备。所以,另一方面是为了兼容以前的网络。

有的时候可能你会看到AToM(Any Transport over MPLS),AToM是思科对VPWS的实现。AToM的名字也比较直观,在MPLS上做任意协议的传输。AToM允许多个L2协议在同一个MPLS骨干网上传输。这使得SP可以使用统一的MPLS backbone来传输多种传统二层协议,这包括了HDLC,PPP,Frame Relay,ATM,Ethernet,和其他的。使用VPWS,用户的CE设备们看起来就像是通过一个P2P(Point to Point)二层线路直接互连。这跟之前SP提供的Frame Relay或者ATM连接类似,SP还是为用户提供L2线路,而VPWS只是模拟了这些连接。虽然是在MPLS之上,但是这里的MPLS对用户来说是透明的。也就是说,用户并不知道SP提供的骨干网到底是一个真的Frame Relay网络,还是一个Frame Relay over MPLS网络。

VPWS是MPLS在SP流行的另一个原因。SP用同一个MPLS骨干网,不仅能够提供peer-to-peer模式的MPLS L3 VPN,同时能继续提供overlay模式的L2 VPN的支持。更赞的是,不同的L2技术,不再需要构建不同的骨干网,一个MPLS网络就搞定了。这个MPLS骨干网还能同时为MPLS L3 VPN提供服务。

VPWS目前主要有Juniper的基于BGP的方案,和Cisco的基于LDP的方案。本文的介绍都将基于Cisco的LDP方案,也就是AToM。

AToM理论上与L2TPv3非常像。 L2TP将L2协议数据和payload直接封装成IP packet(实际是UDP packet),这是L2 over IP,而AToM是L2 over MPLS,两者的区别是:是一个没有用label switching,另一个用了。

接下来看看AToM下,数据是怎么传输的。

以图中的拓扑为例,CE1与CE2具有二层亲和性。也就是说,如果CE1 ping CE2,虽然数据包要走CE1->PE1->P1->P2->PE2->CE2,但是CE1发出的packet里面的源MAC是CE1,目的MAC直接就是CE2。对CE1来说,它就认为CE2与自己在一个L2网络。它并不知道还有PE和P的存在。

PE1上的Attachment Circuit收到packet,会进行MPLS封装。具体是这么封装的:首先会产生一个用于在MPLS网络里面传输的Ethernet头,之后是MPLS Labels,之后是控制字,最后是CE1发出的L2 frame。数据包结构如下图所示:

  • Ethernet Header:使得数据包能够在MPLS 骨干网传输。我们知道MPLS被称为2.5层协议,它还是需要构建在2层之上。这里的Ethernet Header为MPLS提供2层头。
  • MPLS Label Stack:与MPLS L3 VPN类似的,这里也有两个MPLS Label,外层Label是Public Label,用来在MPLS骨干网做标签转发用,这部分与MPLS L3 VPN完全一样。内层Label是VC(Virtual Circuit) Label,用来标识当前数据包数据哪个VC。对端PE根据VC Label将数据包拆解,再发送到相应的Attachment Circuit,最后到达对应的CE。这里的VC Label虽然与MPLS L3 VPN中的VPN Label名字不同,但是作用基本类似。
  • Control Word:包含了协议需要的额外信息,包含了序列号。由于现在传输的是L2数据,数据包的顺序变得重要起来。L2通常是基于物理线路,所以天然认为L2数据应该是顺序的。
  • L2 Frame:原始的L2数据。这里的L2 Frame可以是HDLC,PPP,frame relay,ATM,Ethernet或者其他。

一个数据传输的过程如下图所示:


控制层采用的是Targeted LDP,这与L3 VPN中的MP-BGP作用类似,MP-BGP传输的是VPNv4路由,RT,RD等。这里的Targeted LDP,传输的是VC Label,Control Word等。

从实现架构上看,与MPLS L3 VPN非常非常像,区别是L3 VPN传输的是L3 packet,而L2 VPN传输的是各种L2 Frame。

由于提供的是Virtual Wire,AToM提供的实际上是一个P2P的连接。如果想要将多个CE加在多点接入域,例如连接在一个Ethernet交换机上,那么需要VPLS。

VPLS

VPLS提供虚拟局域网服务。从本质上来说,VPLS是Ethernet over MPLS的多点接入版本。 而Ethernet over MPLS本质上又是AToM的一种,只是对应的L2协议就是Ethernet。

在VPLS中,MPLS骨干网将模拟一个Ethernet交换机。这样看起来,尽管各个CE可能相隔了几百甚至几千公里,但是都像是接入了一个巨大的交换机。而每个PE面向用户的接口,就像是一个交换机的端口。由于模拟了一个交换机,那自然也会完成一些交换机的工作,例如MAC learning, Aging,Flood等等。

VPLS需要一个full mesh的结构。具体的说就是所有PE router之间需要full mesh的pseudowire连接。虽然对用户来说,不用关心这个,并且使用简单,但是对于SP来说,运维困难,负担较重。由RFC4762定义的基于LDP的VPLS,要求手工配置full mesh,SP的管理员估计要不开心了,RFC4761定义的基于BGP的VPLS,带有自动发现,能够节省full mesh的配置。

刚刚说了VPLS模拟交换机工作,在VPLS下,BUM(Broadcast, Unknown unicast, Multicast)会广播出来。对于某一个具体的PE router,会这么处理BUM frame,首先会广播到与当前VPLS instance相关的所有CE接口(Attachment Circuit)上,同时也会广播到与当前VPLS instance关联的所有pseudowire上,通过pseudowire发送到远端的PE,远端PE再发送到对应的CE接口。

控制层面和转发层面与之前介绍AToM是一样。所以,VPLS,就是一个full mesh版的Ethernet over MPLS。VPLS的架构图如下所示,下图同时也是一个VPLS Flood Unknown Frame的示意图:


最后

MPLS已经说了很多很多了。还记得在MPLS基础曾经提过,MPLS的提出是为了实现快速路由交换,但是MPLS的流行却是别的原因吗?在说了这么多MPLS之后,回过头来看看MPLS流行的原因,来看看为什么SP这么钟爱MPLS?

  • 统一的MPLS骨干网提供多种L2,L3服务。SP只需要一个MPLS骨干网,即可以提供L3 VPN,又可以提供兼容ATM,Frame Relay,Ethernet的L2 VPN。
  • 向前兼容。用户支持Frame Relay或者ATM的旧设备,仍然能在MPLS网络上使用。这得益于本文介绍的VPWS/AToM。
  • 支持peer-to-peer模式的L3 VPN。提供稳定,安全,易扩展的VPN连接。
  • 核心设备负载轻。从MPLS L2/L3 VPN的实现来看,不论是Targeted LDP,还是MP-BGP,都是运行在PE之间,P路由器不需要运行这些路由信息交换进程。核心设备,也就是P路由器,只需要运行一些IGP和LDP即可,而这些IGP和LDP本身带来的负载也较小。
  • MPLS Traffic engineering。这比基于IP 的Traffic engineering效率更高。
  • 较好的QoS支持。

MPLS L2 VPN的标准实现方案在2006年左右提出,但是在2015年的时候,新一代的L2 VPN方案EVPN又被提出。接下来将再用几篇介绍一下EVPN以及其演进的版本。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31509949/viewspace-3145616/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
管理员

注册时间:2018-03-30

  • 博文量
    2383
  • 访问量
    984352