公司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技术实现多家合作伙伴复用同一条链路做两端数据全透传的更多相关文章

  1. 新加坡金融科技节 | 蚂蚁金服CTO程立:面向全球开放,与合作伙伴共赢

    小蚂蚁说: 11月13日,在新加坡金融科技节上,蚂蚁金服CTO程立分别从TechFin.BASIC战略.SOFAStack全栈分布式体系以及全面开放等方面讲述蚂蚁金融科技. TechFin是一种“倒立 ...

  2. 阿里云启动视频云V5计划,全面赋能生态合作伙伴

    9月25 - 27日,主题为数·智的2019云栖大会在杭州举行.在第三天的智能视频云专场中,阿里云研究员金戈首次对外发布视频云V5计划,释放视频IT基础设施红利,赋能生态合作伙伴,共促大视频产业发展. ...

  3. 阿里云亮相2019联通合作伙伴大会,边缘计算等3款云产品助力5G时代产业数字化转型

    4月23日,2019中国联通合作伙伴大会在上海正式开幕,本次大会以“合作不设限,共筑新生态”为主题,涉及5G.边缘计算.云计算.物联网.新媒体.人工智能.互联网化等各领域超过600家合作伙伴与3万名各 ...

  4. IBM新合作伙伴计划助力企业转型升级

        IBM作为老牌企业,一直在引领者技术方面的变革.当IBM再一次从自我革新开始,期望能够更快的将认知计算和云推广给自己的合作伙伴和用户们,以帮助他们在新的转型期内,能够快人一步.         ...

  5. To be better —msup荣获平安科技“2018年度优秀合作伙伴”称号

    2018年12月4日,平安科技在深圳平安金融中心举办了“2018年平安科技优秀培训合作伙伴交流会”,msup收到了邀请参与此次评选,并从80余家合作伙伴中脱颖而出,在交付量.满意度.师资内容.服务水准 ...

  6. 灵雀云率先成为 Linux 基金会/CNCF官方认证培训合作伙伴

    近日,灵雀云Alauda成为Linux基金会/CNCF授权培训伙伴项目( Linux Foundation Authorized Training Partner Program,以下简称ATP)在国 ...

  7. 干货来了!2019阿里云合作伙伴峰会SaaS加速器专场回顾合集:嘉宾分享、深度解读

    2019年7月26日,在上海举办的阿里云合作伙伴峰会上,阿里云正式发布SaaS生态战略,计划用阿里云的品牌.渠道.资本.方法论.技术加持伙伴,成就亿级营收独角兽. 该生态战略计划招募10家一级SaaS ...

  8. 阿里云合作伙伴峰会SaaS加速器专场 | 商业加持,迈进亿元俱乐部

    导语:本文中,阿里云智能运营专家朱以军从宏观角度分析了SaaS市场的机遇和挑战,重点介绍了阿里云的商业操作系统.同时,阿里云SaaS加速器也在招募更多ISV合作伙伴和我们一起共创专注面向未来的应用,用 ...

  9. 直击JDD | 京东开启技术服务元年:携手合作伙伴,共创产业未来

    11月19日,主题为"突破与裂变"的2019京东全球科技探索者大会(JDDiscovery)在京盛大开幕.京东集团副总裁黎科峰在JDD主论坛做了题为"技术驱动.开放赋能& ...

随机推荐

  1. read,readline,readlines的特点与区别

    1.read 读取全部文件 with open("test.text", "r",encoding='utf8') as f: print(f.read()) ...

  2. 【Python自动化Excel】Python与pandas字符串操作

    Python之所以能够成为流行的数据分析语言,有一部分原因在于其简洁易用的字符串处理能力. Python的字符串对象封装了很多开箱即用的内置方法,处理单个字符串时十分方便:对于Excel.csv等表格 ...

  3. (stm32f103学习总结)—待机唤醒实验

    一.STM32待机模式介绍 1.1 STM32低功耗模式介绍 很多单片机具有低功耗模式,比如MSP430.STM8L等,我们的STM32 也不例外.默认情况下,系统复位或上电复位后,微控制器进入运行模 ...

  4. task0002(四)- 练习:数据处理、轮播及交互

    转载自我的个人博客 欢迎大家批评指正 包括5部分: 小练习1-处理用户输入 小练习2-日期对象的使用 小练习3:轮播图 小练习4:输入提示框 小练习5:界面拖拽交互 源码地址task0002 在线De ...

  5. canvas动画—圆形扩散、运动轨迹

    介绍 在ECharts中看到过这种圆形扩散效果,类似css3,刚好项目中想把它用上,but我又不想引入整个echart.js文件,更重要的是想弄明白它的原理,所以自己动手.在这篇文章中我们就来分析实现 ...

  6. 使用element UI el-upload组件实现视频文件上传及上传进度显示方法总结

    实现效果: 上传中: 上传完成: 代码: <el-form-item label="视频上传" prop="Video"> <!-- acti ...

  7. JavaScript中数组的方法和字符串方法总结

    数组是首先的一个对象, 可以通过Array构造器创建一个数组,数组方法总结如下 cacat()  链接两个数组 join()  将数组链接成字符串 pop() 删除最后一个元素  shift()  删 ...

  8. Kubernetes构建云原生架构-图解

  9. 面试官:说一说Zookeeper中Leader选举机制

    哈喽!大家好,我是小奇,一位不靠谱的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新 一.前言 今天又是一个阳光明媚的一天,我又 ...

  10. 四、初识Java

    一.Java三大版本 JavaSE:标准版(桌面程序,控制台开发......) JavaME:嵌入式开发(手机,小家电......)[了解就行] JavaEE:E企业级开发(Web端,服务器开发... ...