使用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
使用VPLS跨地域多站点建立二层交换网络的更多相关文章
- Windows Azure 存储的冗余存储选项和只读访问跨地域冗余存储
我们很高兴地宣布,现在我们使客户可以获得对数据更高的读取可用性.该预览功能称为"只读访问- 跨地域冗余存储(RA-GRS)",使客户可以在存储帐户主要区域无法读取数据时,通过跨 ...
- Google揭开Mesa的神秘面纱——一个具备跨地域复制和近实时特性的可伸缩数据仓库
http://www.infoq.com/cn/news/2014/08/google-data-warehouse-mesa Google发表了一篇新的论文,该论文描述了他们内部所使用的一个被称为M ...
- 基于 DataLakeAnalytics 做跨地域的数据分析
在阿里云上,很多客户的应用都是多地域部署的, 比如在北京(cn-beijing)的地域部署一个应用让北方的客户访问快一点,同时在杭州(cn-hangzhou)地域部署一份让南方的客户访问快一点.多地域 ...
- 华为如何实现基于Git的跨地域协同开发
跨地域开发的需求其实由来已久,在IT/互联网发展的早期就已存在,只不过限于当时网络环境的因素,无法在线上有效的完成协同工作,所以没法实际开展.而随着近十年网络的快速发展,跨地域协同开发线变得可能而且越 ...
- windows server 2008 站点系列--AD的站点建立与子网的管理(zhuanzai)
本次课程将给大家介绍AD中站点和子网的功能.站点和子网之间的关联,以及相关的设置步骤. 应用背景介绍: contoso公司的总部在西安(Xian),陕南的汉中(Shannan)和陕北的榆林(Shanb ...
- wamp2.5虚拟站点建立
1. D:\wamp\bin\apache\Apache2.2.21\conf 目录下打开httpd.conf修改以下几个地方.(软件安装在D盘) (1)178行DocumentRoot " ...
- 使用VLL技术实现多家合作伙伴复用同一条链路做两端数据全透传
公司A当前租用一条10G跨市运营商光缆,自身业务只用到一半流量,为节省成本,寻求多家合作伙伴共用链路以达到财务需求 合作伙伴需求接入链路全透传,即光缆两端接入点端口逻辑直连 当前有三种方案可以实现上述 ...
- Kubernetes容器云平台建设实践
[51CTO.com原创稿件]Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署.大规模可伸缩.应用容器化管理.伴随着云原生技术的迅速崛起,如今Kubernetes 事实上已经 ...
- 跨云平台与物理专线使用Vxlan实现两地二层互通,并使用ospf与bgp做底层链路主备
Vxlan基础,已掌握可略过 VXLAN网络架构 VXLAN是NVO3中的一种网络虚拟化技术,通过将原主机发出的数据包封装在UDP中,并使用物理网络的IP.MAC作为外层头进行封装,然后在IP网络上传 ...
随机推荐
- MyBatis Plus 2.3 个人笔记-04-配置文件与插件使用
接入 springboot application.yml配置 1.mapper 扫描 mybatis-plus: # 如果是放在src/main/java目录下 classpath:/com/you ...
- 【静态页面架构】CSS之定位
CSS架构 1.浮动: 是以float属性设置容器指定的位置 <style> div { width: 200px; height: 200px; } #qq { background-c ...
- React+dva+webpack+antd-mobile 实战分享(一)
再看本篇文章之前,本人还是建议想入坑react的童鞋可以选有create-react-app来创建react的项目,因为现在dva和roadhog还不成熟,坑相对要多一些,当然如果你已经做好跳坑的准备 ...
- 微信小程序 使用filter过滤器几种方式
由于微信小程序 技术生态比较闭合,导致很多 现代前端框架很多积累出的成果都没有实现(可能未来会逐一实现). 用惯了现代 再耍小程序 总感觉很不顺手. 需要结果的请直接看最后的WXS View Filt ...
- react 移动端 兼容性问题和一些小细节
react 移动端 兼容性问题和一些小细节 使用 ES6 的浏览器兼容性问题 react 对低版本的安卓webview 兼容性 iOS下 fixed与软键盘的问题 onClick 阻止冒泡 meta对 ...
- python爬取梦幻西游召唤兽资质信息(不包含变异)
一.分析 1.爬取网站:https://xyq.163.com/chongwu/ 2.获取网页源码: request.get("https://xyq.163.com/chongwu/&qu ...
- MySQL中 tinyint、bigint、bit、text、decimal、year、date、time、datetime、timestamp等对应Java中什么类型
MySQL中字段名称对应的Java类型 MySQL字段名 Java数据类型 varchar String text String bigint Long(已经有长度了,在mysql建表中的length ...
- 在 WASI 上运行 .NET 7 应用程序
WASI代表 WebAssembly 系统接口,WASI 让沙盒化的 WebAssembly 应用程序通过一系列类似 POSIX 的函数访问底层操作系统,允许独立于浏览器运行 WebAssembly ...
- 6.S081-2021-Lab3 Pgtbl学习笔记
Speed up system calls 根据hints查看kernel/proc.c中的函数proc_pagetable // kernel/proc.c // Create a user pag ...
- SpringMVC-拦截器快速入门
1.创建拦截器类实现HandlerInterceptor //该拦截器类必须实现HandlerInterceptor接口,手动覆盖其中的方法 public class MyInterceptor1 i ...