公司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. java读取xml文件并转换成对象,并进行修改

    1.首先要写工具类,处理读取和写入xml文件使用的工具.XMLUtil.javaimport java.io.FileInputStream; import java.io.FileWriter; i ...

  2. sring框架的jdbc应用

      xml配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http: ...

  3. hql常用查询语句

    // HQL: Hibernate Query Language.// 特点:// >> 1,与SQL相似,SQL中的语法基本上都可以直接使用.// >> 2,SQL查询的是表 ...

  4. ThinkCMF[仿骑呗共享单车官网]

    学习Thinkcmf内容管理系统(Thinkphp3.2.3框架)时候,用来练手的,简单的模仿骑呗官网首页,并对后台管理做了点小修改. 安装: 下载地址:https://pan.baidu.com/s ...

  5. Virtual Function(虚函数)in c++

    Virtual Function(虚函数)in c++ 用法: virtual void log() { std::cout << "hello world!" < ...

  6. c++对c的拓展_内联函数

    目的:保持处理宏的高效及安全性 解决的问题:1.c中预处理宏有些难以发现的问题 2.c++ 中预处理不能访问类成员,不能作用类的成员函数 作用:无函数调用时开销,又可像普通函数般进行参数.返回值类型安 ...

  7. k8s节点执行master命令报错 localhost:8080 was refused

    首先是按照二进制方式安装的k8s. [root@ht22 calico]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [ ...

  8. yum install mysql-community-server yum方式安装mysql(社区版实操)

    前言:rpm方式或者这种yum安装时比较简单的方式,但是不推荐,但是确实很着急的话,可以采用这种安装这种方式不利于后续对mysql的管理,如果是多实例或者是复杂的一些架构的话,还是推荐利用源码包编译方 ...

  9. MVC:开发模式&&三层架构:软件设计架构

    MVC:开发模式 jsp演变历史 早期只有servlet,只能使用response输出标签数据,非常麻烦 后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码 ...

  10. Linux内核--链表结构(一)

    一.前言 Linux内核链表结构是一种双向循环链表结构,与传统的链表结构不同,Linux内核链表结构仅包含前驱和后继指针,不包含数据域.使用链表结构,仅需在结构体成员中包含list_head*成员就行 ...