使用VLL技术实现多家合作伙伴复用同一条链路做两端数据全透传
公司A当前租用一条10G跨市运营商光缆,自身业务只用到一半流量,为节省成本,寻求多家合作伙伴共用链路以达到财务需求
合作伙伴需求接入链路全透传,即光缆两端接入点端口逻辑直连
当前有三种方案可以实现上述需求
Vxlan
VLL
VPLS
该篇仅分析使用VLL来实现,Vxlan和VPLS在之后的文档中分析
首先来介绍下VLL技术
VLL基本架构
AC(Attachment Circuit)接入电路
公司A到合作伙伴之间的电路,一般是同机房光纤直连,或者传输线路
VC(Virtual Circuit)虚电路
公司A两端PE间建立的单向虚拟连接,可以使用LDP做为信令或者手动配置
PW(Pseudo Wire)伪线
双线VC组成一条PW,承载合作伙伴数据
Tunnel隧道
用来承载PW,两端PE间的隧道,可以是lsp,GRE隧道等
VLL分类
CCC
CCC方式一般用于本地连接,绑定PE两个端口为一组CCC端口,用于两个本地站点数据交互
martini
martini方式用于异地站点间数据交互,使用LDP信令来用于VC标签交换
SVC
SVC方式同martini控制层面与数据层面,只是不使用LDP做为VC标签交换,使用手动分配VC标签,类似于mpls手动隧道于LDP隧道的区别
VLL控制平面
PE-PE间使用mpls ldp隧道,mpls ldp不在介绍,可见另一篇文档,PE-PE对每一组合作伙伴用户端口分配相同L2VC-ID 同时手动或者使用LDP分配VC标签,PE1收到PE2分发的关于CE1 的VC标签后对比两端L2VC-ID是否相同,如果相同就建立映射关系,建立单向VC
VLL数据平面
PE收到CE的数据后打上对端PE分配的VC标签,查找映射表后在压入公网标签,数据包在mpls链路上传输时依靠公网标签,到达对端PE后根据VC标签转发至相应端口,下文抓包分析
配置举例,使用martini方式建立VLL举例
#ospf部分略 #mpls部分 PE1#
mpls lsr-id 1.1.1.1
mpls
mpls ldp
interface GigabitEthernet0/0/0
ip address 12.1.1.1 255.255.255.0
mpls
mpls ldp #P
mpls lsr-id 2.2.2.2
mpls
mpls ldp
interface GigabitEthernet0/0/0
ip address 12.1.1.2 255.255.255.0
mpls
mpls ldp interface GigabitEthernet0/0/1
ip address 23.1.1.2 255.255.255.0
mpls
mpls ldp #PE2
mpls lsr-id 3.3.3.3
mpls
mpls ldp
interface GigabitEthernet0/0/1
ip address 23.1.1.3 255.255.255.0
mpls
mpls ldp #VLL部分
#PE1
mpls l2vpn
mpls ldp remote-peer 3.3.3.3
remote-ip 3.3.3.3
interface GigabitEthernet0/0/3
mpls l2vc 3.3.3.3 101 #PE2
mpls l2vpn
mpls ldp remote-peer 1.1.1.1
remote-ip 1.1.1.1
interface GigabitEthernet0/0/3
mpls l2vc 1.1.1.1 101
PE1上查看MPLS LDP状态
查看VLL状态
可以看到分配的VC label 是1026
PE2上查看PE1对应的公网标签为1025
CE2测试pingCE1
抓包分析
抓包可以看到CE2---CE1的数据经过PE2封装后压入MPLS隧道外层标签是1025,内层标签是1026
再转P向PE1转发的数据包
可以看到由于mpls的php(次末跳弹出)机制,数据包到达PE1时只有一层VC标签1026,PE1根据VC标签把数据转发至相应端口
但现网中往往中间的P设备并不支持mpls或者不归我们管理, 此时可以使用GRE隧道来承载PW
#区别使用MPLS承载配置如下
interface Tunnel0/0/0
ip address 192.168.1.1 255.255.255.0
tunnel-protocol gre
source 1.1.1.1
destination 3.3.3.3 tunnel-policy t1
tunnel select-seq gre load-balance-number 1 interface GigabitEthernet0/0/3
mpls l2vc 3.3.3.3 101 tunnel-policy t1
抓包观察
可以看到在VC标签外层包裹一层GRE,实际使用中需要根据业务类型来调整MTU大小,否则会极大的影响传输效率
以上就是VLL的整个转发过程,VLL有个缺陷是只能有两个站点间做数据全透传,不支持多个站点,而VPLS支持多个站点间二层互通,后续继续分享VPLS实现方式
使用VLL技术实现多家合作伙伴复用同一条链路做两端数据全透传的更多相关文章
- 新加坡金融科技节 | 蚂蚁金服CTO程立:面向全球开放,与合作伙伴共赢
小蚂蚁说: 11月13日,在新加坡金融科技节上,蚂蚁金服CTO程立分别从TechFin.BASIC战略.SOFAStack全栈分布式体系以及全面开放等方面讲述蚂蚁金融科技. TechFin是一种“倒立 ...
- 阿里云启动视频云V5计划,全面赋能生态合作伙伴
9月25 - 27日,主题为数·智的2019云栖大会在杭州举行.在第三天的智能视频云专场中,阿里云研究员金戈首次对外发布视频云V5计划,释放视频IT基础设施红利,赋能生态合作伙伴,共促大视频产业发展. ...
- 阿里云亮相2019联通合作伙伴大会,边缘计算等3款云产品助力5G时代产业数字化转型
4月23日,2019中国联通合作伙伴大会在上海正式开幕,本次大会以“合作不设限,共筑新生态”为主题,涉及5G.边缘计算.云计算.物联网.新媒体.人工智能.互联网化等各领域超过600家合作伙伴与3万名各 ...
- IBM新合作伙伴计划助力企业转型升级
IBM作为老牌企业,一直在引领者技术方面的变革.当IBM再一次从自我革新开始,期望能够更快的将认知计算和云推广给自己的合作伙伴和用户们,以帮助他们在新的转型期内,能够快人一步. ...
- To be better —msup荣获平安科技“2018年度优秀合作伙伴”称号
2018年12月4日,平安科技在深圳平安金融中心举办了“2018年平安科技优秀培训合作伙伴交流会”,msup收到了邀请参与此次评选,并从80余家合作伙伴中脱颖而出,在交付量.满意度.师资内容.服务水准 ...
- 灵雀云率先成为 Linux 基金会/CNCF官方认证培训合作伙伴
近日,灵雀云Alauda成为Linux基金会/CNCF授权培训伙伴项目( Linux Foundation Authorized Training Partner Program,以下简称ATP)在国 ...
- 干货来了!2019阿里云合作伙伴峰会SaaS加速器专场回顾合集:嘉宾分享、深度解读
2019年7月26日,在上海举办的阿里云合作伙伴峰会上,阿里云正式发布SaaS生态战略,计划用阿里云的品牌.渠道.资本.方法论.技术加持伙伴,成就亿级营收独角兽. 该生态战略计划招募10家一级SaaS ...
- 阿里云合作伙伴峰会SaaS加速器专场 | 商业加持,迈进亿元俱乐部
导语:本文中,阿里云智能运营专家朱以军从宏观角度分析了SaaS市场的机遇和挑战,重点介绍了阿里云的商业操作系统.同时,阿里云SaaS加速器也在招募更多ISV合作伙伴和我们一起共创专注面向未来的应用,用 ...
- 直击JDD | 京东开启技术服务元年:携手合作伙伴,共创产业未来
11月19日,主题为"突破与裂变"的2019京东全球科技探索者大会(JDDiscovery)在京盛大开幕.京东集团副总裁黎科峰在JDD主论坛做了题为"技术驱动.开放赋能& ...
随机推荐
- django 三件套(render,redirect,HttpResponse)
Django基础必备三件套**: HttpResponse 内部传入一个字符串参数,返回给浏览器. from django.shortcuts import HttpResponse def inde ...
- Markdown语法1
Markdown是一种轻量级标记语言. Markdown 编写的文档可以导出 HTML .Word.图像.PDF.Epub 等多种格式的文档. Markdown 编写的文档后缀为 .md, .mark ...
- Ubuntu 18.04 磁盘根目录在线扩容 & 修改分区 inode 数量
Ubuntu 18.04 磁盘根目录在线扩容 & 修改分区 inode 数量 Ubuntu 作为服务器系统使用的时候,系统盘的空间可能并不是很充裕,apt apt 着,根目录就满了.诚然, ...
- 软件构造实验-JFinal
导入JFinal的demo 可以增删改查 根据demo以及自己的理解,使用JFinal实现学生信息管理系统.
- mybatis 实现分页和过滤模糊查询
基于 mybatis 的分页和过滤查询 学习内容: 分页设计 1.分页需传递的参数 2.分页需展示的数据 3.分页需展示的数据的来源 3.1.结果总数与结果集(分页原理) 3.2.总页数.上一页和下一 ...
- Conda 配置 Python 环境
目录 前言 一.Conda 是什么 二.如何获取 三.使用 Conda 命令配置多环境 1.创建新环境 2.激活新环境 3.配置新环境 4.退出新环境 5.检查所有环境 6.检查所有安装的包 7.删除 ...
- 如何利用MHA+ProxySQL实现读写分离和负载均衡
摘要:本文分享一下"MHA+中间件ProxySQL"如何来实现读写分离+负载均衡的相关知识. 本文分享自华为云社区<MySQL高可用架构MHA+ProxySQL实现读写分离和 ...
- SpringMVC-获得Restful风格的参数
使用@PathVariable注解:接收请求路径中占位符的值 @RequestMapping("/report18/{username}") @ResponseBody publi ...
- Spring-aop注解开发(切点表达式的抽取)
接上一篇aop注解快速开发 @Component @Aspect //标注当前aspect是切面类 public class MyAspect { @Before("Pointcut()&q ...
- linux系统从pci.ids文件获取硬件设备详细厂商信息
机器采样: [root@ht24 hwdata]# cat /etc/redhat-release ; uname -r CentOS Linux release 7.9.2009 (Core) 3. ...