1.1 VPN的简单分类
首先说以下VPN的分类,VPN的分类有许多种方式。我们一般常接触的分类方式是按照运营模式进行分类:
1)、CPE-Based VPN: 设备放置在用户侧(Custom Premise Equipment)
由用户管理或委托运营商进行管理;
2)、Network-Based VPN: 设备放置在运营商网络侧
用户设备不需要感知VPN由运营商管理,又称为Provider Provide VPN。本文所讨论的三种L2VPN都是属于Network Base VPN。
图1、 VPN技术的分类
1.2 VLL、PWE3、VPLS三种L2VPN区别
1.2.1 三种L2VPN的简介
VLL( Virtual Leased Line,虚拟租用线,也被称为VPWS)是对传统租用线业务的仿真VLL技术是一种点到点的虚拟专线技术,能够支持几乎所有的链路层协议。VLL简单的理解就好比在客户之间拉了一条网线。分为Kompella和Martini两种实现方式,但Kompella工作组已经解散,Martini也更新为PWE3技术。
PWE3(Pseudo-Wire Emulation Edge to Edge)是端到端仿真业务,PWE3是VLL的一种实现方式,是对Martini协议的扩展。PWE3扩展了新的信令,减少了信令的开销,规定了多跳的协商方式,使得组网方式更加灵活。在IPRAN网络大量使用PWE3来承载TDM等二层业务。
VPLS(Virtual Private LAN Service)是一种基于MPLS和以太网技术的二层VPN技术。具体分为Juniper主导的Kompella方式和Cisco主导的Martini方式,是将公网模拟为二层交换机。适合于点到多点的业务,简单的说VPLS就是一个超级交换机。
1.2.2 VLL、PWE3、VPLS实现方式的对比
下面这张表是总结的VLL、PWE3、VPLS三种L2VPN的实现方式对比。
分类 |
实现方式 |
信令协议 |
备注 |
VLL |
CCC |
手动配置 |
支持本地连接 |
Martini |
LDP |
不支持本地连接,配置ldp remote-peer |
|
SVC |
内层标签手动配置,外层LDP |
看成是Martini方式的静版 |
|
Kompella |
BGP |
使用vpn-target进行vpn路由的收发控制,支持本地和远程连接。 |
|
PWE3 |
VLL的Martini 形式扩展 |
LDP信令的扩展 |
1、 增加了Notification方式 2、 增加了多跳PW扩展 3、 TDM接口扩展 |
VPLS |
Kompella |
BGP |
PE端口绑定VSI(虚交换实例)进行VPLS转发 |
Martini |
LDP |
1.3 举例三种L2VPN实际配置对比
只说这三种L2VPN不能很好的理解,下面就以一个Martini和Kompella两种方式实现VPN跨域Option C为例子,说说VLL和VPLS的区别(PWE3只是是VLL Maritni形式的一种扩展和演进,在这种场景下实现和VLL完全相同,后面会对PWE3进行单独的介绍)。
Martini和Kompella的最主要区别是:
1、使用Martini方式时,采用LDP信令分发标签,PE之间要建立mpls ldp remote-peer;
2、采用Kompella方式时,采用BGP信令分发标签,PE之间建立MP-EBGP关系。
1.3.1 Martini方式的VLL和VPLS
Mrtini形式的Option C实现时,典型组网如下图所示。首先在骨干网上运行IGP协议,使同一个AS域内的各设备能互通。在骨干网上节点使能MPLS,在PE与ASBR之间建立动态LSP隧道。同一AS的PE和ASBR之间建立IBGP,在各ASBR之间配置EBGP。在ASBR上需配置路由策略,使能标签路由功能。在PE1和PE2之间建立MPLS LDP远端对等体关系。
图2、Martini方式实现跨域Option C的典型组网
上图2中,PE1、ASBR1、ASBR2、PE2的loopback0 地址分别为1.1.1.1/32,2.2.2.2/32,3.3.3.3/32,4.4.4.4/32。
1、 VLL形式
在完成前面的基础配置后,检查PE1和PE2之间的remote-ldp peer建立起来,需要在mpls l2vpn试图下面配置动态VC的信令行为是非Notification方式,也就是Martini方式。如果不配置这条命令,默认是PWE3方式。这也是PWE3和VLL Martini的最主要区别。
mpls l2vpn
mpls l2vpn default martini
在PE上面创建动态VLL链接
mpls l2vc ip-address vc-id
其中ip-address为PW对端设备的IP地址
2、 VPLS形式
VPLS形式的首先创建一个VSI,然后在连接CE的端口上绑定该vsi实例,这和L3VPN中绑定VPN-instance有点类似。
Martini方式的两种L2VPN配置实现差异如下表所示。
Msrtini形式 |
配置差异 |
PE上的命令差异 |
VLL |
1、 在mpls l2vpn试图下面配置动态VC的信令行为是Martini方式 2、 在PE上面创建动态VLL链接 |
mpls l2vpn mpls l2vpn default martini # interface Serial0/0/1 link-protocol ppp undo shutdown mpls l2vc 4.4.4.4 100 |
VPLS |
1、 建立一个VSI,PW信令设置为LDP; 2、 在端口下绑定该VSI。 |
mpls l2vpn # vsi a1 static pwsignal ldp vsi-id 2 peer 4.4.4.4 # interface GigabitEthernet0/0/1.1 undo shutdown vlan-type dot1q 10 l2 binding vsi v1 |
1.3.2 Kompella方式VLL和VPLS
Mrtini形式的Option C实现时,典型组网如下图所示。协议部署和Martini方式的基本一致,区别在于PE1和PE2之间建立的是MP-EBGP远端对等体关系。
图3、 Kompella方式实现跨域Option C的典型组网
图3中,PE1、ASBR1、ASBR2、PE2的loopback0 地址分别为1.1.1.1/32,2.2.2.2/32,3.3.3.3/32,4.4.4.4/32。
Kompella方式的VLL和VPLS差异如下表
Kompella方式 |
配置差异 |
PE上的命令差异 |
VLL |
创建l2vpn实例,创建CE连接 |
mpls l2vpn # mpls l2vpn vpn1 encapsulation ppproute-distinguisher 100:1 vpn-target 1:1 import-extcommunity vpn-target 1:1 export-extcommunity ce ce1 id 1 range 10 default-offset 0 connection ce-offset 2 interface Serial0/0/1 |
VPLS |
1、 创建VSI虚交换实例,pw信令协议为bgp 2、 在端口下绑定VSI实例 |
mpls l2vpn # vsi v1 auto pwsignal bgp route-distinguisher 100:1 vpn-target 1:1 import-extcommunity vpn-target 1:1 export-extcommunity site 1 range 5 default-offset 0 # interface GigabitEthernet1/0/0.1 undo shutdown vlan-type dot1q 10 l2 binding vsi v1 |
1.3.3 PWE3形式的L2VPN
PWE3相对VLL的Martini方式在以下几点进行了扩展。
1、 信令扩展,LDP信令增加了Notification方式,只通告状态,不拆除信令,除非配置删除或者信令协议中断。这样能够减少控制报文的交互,降低信令开销,兼容原来的LDP和Martini方式。
2、 多跳扩展,增加PW多跳功能,这点在IPRAN网络中应用十分广泛,对于TDM和ATM业务的承载都可以采用多条PW方式。在IPRAN中典型组网如下图所示:
CSG和RSG之间部署多条PW,CSG、ASG、RSG之间建立MPLS LDP PEER,
在CSG、RSG上配置业务PW,在主备ASG上配置交换PW,在主备RSG之间部署Bypass PW。
图4、多条PW在IPRAN中的应用
3、 TDM接口扩展支持更多的电信低速TDM接口。通过控制字CW(Control Word)及转发平面RTP(Real-time Transport Protocol)协议,引入对TDM的报文排序、时钟提取和同步的功能。
1.4 总结
这三种L2VPN理解起来容易搞混,简单的理解,VLL是点到点的业务,可以将整个网络看成一条网线;VPLS是点到多点业务,可将整个网络看成是一个交换机;PWE3是端到端的仿真,其实就是VLL的Martini形式扩展。理解这几点,再去看这三种L2VPN就容易很多了。