使用VPLS跨地域多站点建立二层交换网络
个人博客地址
VLL解决方案
https://www.cnblogs.com/darkchen/p/14652540.html
接上篇文档引出VPLS
VLL可以跨地域建立二层交换网络,但有个缺陷是只支持两个site互通,对于多个site间互联无能为力
VPLS解决方案对于CE设备来说运营商网络就类似于一台交换机,各个地域的site节点均接入同一台交换机
应用场景
公司A在深圳,佛山,广州三个pop点拥有自建网络,租用运营商线路三点做互联,并取得了经营许可,可以给其他用户提供广州深圳佛山三点互联,综合考虑决定组建VPLS网络,针对不同企业分配不同VSI, VC lable,PE设备不感知用户侧路由,用户多个site间路由信息由自己维护,用户可以灵活组网,自行选择路由协议
如下图,PE1,PE2,PE3所组成的VPLS网络可以在逻辑上视为一台二层交换机
VPLS组件
AC(Attachment Circuit)
接入电路,PE-CE间电路
PW(Pseudo Wire)伪线
同VLL
VSI(Virtual Switch Instance)虚拟交换实例
VSI是设备上为每一个VPLS单独划分的一个虚拟交换处理单元,在每一个VSI中都有独立的一张MAC地址表和转发器,并负责终结PW。
数据从CE设备进入绑定了VSI的PE接口后会在该VSI查找目的imac对应的PW,并转发出去,对于接收的数据根据VC lable查找相应的VSI,根据mac转发至对应端口
以VPN1中,以CE1到CE3的单播报文流向为例,说明基本数据流走向:
PE1、PE2、PE3同属同一个VPLS域,通过VSI将接入VPLS的AC链路映射到各条PW上,生成该VSI的转发器。
CE1接收Site1用户的二层报文,通过AC链路送入PE1。
PE1收到报文后,发现是VPLS接入,则根据目的MAC地址在转发器(Forwarder)中选定转发报文的PW。
PE1根据PW的转发表项及隧道信息生成两层标签,内层私网标签用于标识PW,外层公网标签用于穿越隧道到达PE2。同时根据目的MAC表索引查找目的MAC地址,将报文进行封装。
二层报文经公网隧道到达PE2,此时外层标签为私网标签(公网标签已于倒数第二跳弹出)。
PE2接收该报文,根据私网标签选定转发报文的VSI,剥离私网标签,再根据VSI选择对应的转发器(Forwarder),由转发器(Forwarder)根据报文目的MAC地址将CE1上送的二层报文转发给CE3。
MAC地址管理(转发,学习,泛洪),过程类似传统交换机处理过程,只是把交换机端口更改为PW伪线
- PE1从连接CE1的接口Port1(Port1属于VLAN10)收到来自PC1的ARP广播报文,PE1把PC1的MAC地址添加到在自己的MAC表项中(PE1的MAC表项中蓝色字体内容)。
- PE1向其它接口(PW1和PW2此时可以看成接口)泛洪,广播该ARP报文(PE1上的蓝色虚线)。
- PE2从PW1上收到PE1转发来的PC1的ARP报文,把PC1的MAC地址添加到自己的MAC表项中(PE2的MAC表中蓝色字体内容)。
- PE2只向连接CE2的接口转发该ARP报文(PE2上的蓝色虚线),而不向PW上转发,所以该ARP只发送给PC2。这是就是VPLS的水平分割特点,即从公网侧PW收到的报文不再转发到其他PW上,而只能转发到私网侧。
- PC2收到PE2转发来的PC1的ARP报文,发现目的地址是自己,就发送ARP Reply报文给PC1(PC2上的橘黄色虚线)。
- PE2从Port2接口收到PC2给PC1的ARP回应报文。PE2添加PC2的MAC地址到自己的MAC表项中(PE2的MAC表中橘黄色字体内容)。ARP Reply报文的目的MAC是PC1(MAC A),PE2查询自己的MAC表后,往PW1发送ARP Reply报文。
- PE1收到PE2转发来的PC2的ARP Reply报文,也一样添加PC2的MAC地址到自己的表项中(PE2的MAC表中橘黄色字体内容),并查找MAC表,转发该ARP Reply报文到PC1。
- PC1收到PC2的ARP Reply报文,完成MAC地址的学习。
- PE1向PW1广播该ARP报文的同时,PE1也通过PW2向PE3发送ARP报文。PE3收到来自PE1的ARP广播报文,添加PC1的MAC地址到自己的MAC表项中(PE3的MAC表中蓝色字体内容),根据水平分割的特性,PE3也只向PC3发送该ARP报文,因为PC3不是该ARP的目的地址,所以PC3不回应ARP Reply报文。
环路解决方案
VPLS内部具有水平分割原则,“水平分割转发”的意思就是从公网侧PW收到的数据包不再转发到这个VSI关联的其它PW上,只能转发到私网侧,从PE收到的报文不转发到其他PE。也就是说要求任意两个PE之间通过直接相连的PW通信,而不能通过第三个PE设备中转报文,这也是PE之间需要建立全连接(PW全连接)的原因。
水平分割原则只能解决VPLS内部环路,不能解决同一PE设备上接入的多个CE间环路问题,此种场景下环路解决方案还依赖于STP,VPLS网络可以透传CE设备的BPDU
配置举例
基础配置略,PE1-P-PE2间使用ospf,mpls ldp组网
#基础配置略 #PE1 mpls l2vpn # vsi dark static pwsignal ldp vsi-id 2 peer 3.3.3.3 peer 4.4.4.4 # mpls ldp # # mpls ldp remote-peer 3.3.3.3 remote-ip 3.3.3.3 # mpls ldp remote-peer 4.4.4.4 remote-ip 4.4.4.4 # interface GigabitEthernet0/0/3 l2 binding vsi dark #PE2 mpls l2vpn # vsi dark static pwsignal ldp vsi-id 2 peer 1.1.1.1 peer 4.4.4.4 # mpls ldp # # mpls ldp remote-peer 1.1.1.1 remote-ip 1.1.1.1 # mpls ldp remote-peer 4.4.4.4 remote-ip 4.4.4.4 # interface GigabitEthernet0/0/3 l2 binding vsi dark #PE4 mpls l2vpn # vsi dark static pwsignal ldp vsi-id 2 peer 1.1.1.1 peer 3.3.3.3 # mpls ldp # # mpls ldp remote-peer 1.1.1.1 remote-ip 1.1.1.1 # mpls ldp remote-peer 3.3.3.3 remote-ip 3.3.3.3 # interface GigabitEthernet0/0/3 l2 binding vsi dark
测试与抓包
可以看到三个silt站点通过ospf建立起来peer,测试可以互通,抓包分析公网使用mpls隧道,内层标签为VC lable