Virtual Private Lan Service
论坛 发表于:11年07月11日 14:18 [转载] 51CTO
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间链路状态情况,故障时导致流量黑洞问题。