VLL:支持点到点的
虚拟租用线路VLL(Virtual Leased Line),又称虚拟专用线路业务VPWS(Virtual Private Wire Service),是对传统租用线业务的仿真,使用IP网络模拟租用线,提供非对称、低成本的数字数据网DDN(Digital Data Network)业务。VLL是建立在MPLS技术上的点对点的二层隧道技术,解决了异种介质不能相互通信的问题。如图1所示。
部署VLL目的:
1.在网络发展的初期,以太网、ATM、FR、HDLC等不同二层网络在不同地域都有分布,由于使用了不同的二层协议,因此不同二层网络是隔离的,而不同网络间直接相互通信的需求逐渐增多。
2.随着以太网的蓬勃发展,大城市之间或更远地域之间以太网连接的需求逐渐增多。传统的解决方案使用专有租用线路,在两地域间直接铺设专线或建立传统的二层隧道(通过对应的二层交换设备进行接续,在用户节点间建立),这种方案成本高,维护及可扩展性差,且受地域限制。
以上需求,推动服务提供商寻找一种能够解决此问题的方案。VLL技术的产生,建立了统一兼容的二层交换网络,并解决了传统的专有租用线成本高,维护及可扩展性差的问题。VLL技术基于MPLS,允许多个客户共享线路,为不同客户提供逻辑上的专用通道。在以太网中,不同的城市的站点可以点对点的通过VLL技术穿越MPLS网络,像在同一个以太网虚拟局域网(VLAN)一样实现二层通信。
随着以太网的普及,VLL技术解决异种介质互通的作用已较少用到,但其二层透传的作用被广泛应用。
VLL基于MPLS技术,直接传输用户的二层数据,因此属于MPLS L2VPN。VLL建立了点对点的VPN,解决了点对点的通信问题。
VLL技术的好处在于:
1.扩展运营商的网络功能和服务能力
运营商在现有网络上就可以提供VLL服务,并且可利用MPLS相关的增强技术,如流量工程、QoS等功能为客户提供不同的服务级别,以满足客户多种多样的需求。
2.为不同的二层交换网络互连提供了可能性
同一个网络服务提供者ISP(Internet Service Provider)的网络可以提供多种二层协议的接续和交换。
3.具有更高的可扩展性
借助于MPLS的标签栈技术,VLL可以实现在一条LSP中复用多条VC,因此核心设备P只需要维护一条LSP信息,提高了系统的可扩展性
4.维护负担较小
ISP网络的P设备不需要维护任何二层信息,只根据MPLS标签信息在公网隧道上进行MPLS转发,为站点较大、路由数目多的大型企业内部组建VPN提供了解决方案。
5.网络平滑升级
由于VLL对于用户是透明的,当用户从ATM、FR等传统的二层VPN向MPLS L2VPN升级时,不需要用户重新配置,除了切换时可能造成短时间的数据丢失外,对用户来说几乎没有影响。
VLL基本架构:
VLL技术通过隧道承载CE(Customer Edge)端的各种二层业务,透明传递CE端的二层数据,为用户提供点对点的二层VPN服务。
VLL的基本架构可以分为AC、VC和Tunnel三个部分,而PW这个概念也会经常用到。如图1所示。
VLL实现过程:
VLL的实现过程包括VLL的建立和VLL的报文转发两个部分。
VLL的建立
VLL的建立需要完成AC绑定和PW的建立。
1.PW的建立:两端PE通过静态配置或使用信令协议交换VC信息建立PW,用于提供一个VLL在公网传输的专用通道。
2.AC绑定:将PE上的AC接口绑定到PW(也就是PE和CE相连的接口,表示PE从CE上收到一个VPN100的数据,PE设备就知道我本身是要通过PW这条伪线传递给对端PE的),建立AC与PW之间的VLL对应转发关系。
VLL的报文转发
VLL建立后,报文在VLL网络中的传输分为封装、透传、解封装三个过程。
1.封装
报文从AC接口进入PE上的PW时,PE设备根据报文中外层Tag类型及PW的封装方式进行不同的封装处理。
设备判别的报文中的外层Tag分为U-Tag和P-Tag两种。其中:
(1)U-Tag是被用户的设备(CE设备)插入的Tag,对业务提供商SP(Sercice Provider)(PE设备)无意义。当使用GE接口、XGE接口、Ethernet接口、Eth-Trunk接口作为AC接口时,默认AC接口上送PW的报文中的携带的外层Tag为U-Tag。
(2)P-Tag是被SP的设备(PE设备)插入的Tag,通常用于区分用户流量。当使用子接口或者VLANIF接口作为AC接口时,默认AC接口上送PW的报文中携带的外层Tag为P-Tag。(流量从CE设备发出来,到达本端PE后,由于PE设备在AC这条链路上的接口配置了vlanif10,所以这条流量到达PE要从AC传到PW链路,这时PE设备会为其打上一个P-Tag,如果本端PE还连接了其他的,也需要通过这个tag来区分不同的连接)
PW的封装方式有Ethernet封装(Raw模式)和VLAN封装(Tagged模式)两种方式。
PE设备对从AC进入PW的报文的具体处理方式如下图所示。
2.透传
由于VLL使用MPLS网络的Tunnel承载,报文经过封装传送到MPLS网络后,Tunnel直接将报文及其内层VC标签透传至对端PE。
3.解封装
对端PE收到本端PE发送的报文后,对其进行MPLS解封装,根据解封装后得到的VC信息,将报文转发到对应的AC接口。
解封装后,报文从PW进入AC,PE设备会根据AC接口类型及报文中的Tag类型对报文进行不同的Tag处理方式,具体处理方式如下图所示。
报文中存在P-Tag表示在PW中是通过vlan来传递信息的
VLL的分类:
1.CCC方式VLL
2.Martini方式VLL
3.SVC方式VLL
CCC方式VLL:CCC方式只有一层标签
电路交叉连接CCC(Circuit Cross Connect),是通过手工配置来实现VLL的一种方式。
CCC方式VLL因为不进行信令协商,不需要交互控制报文,因此消耗资源比较少,易于配置。适用于小型、拓扑简单的MPLS网络。
CCC方式VLL拓扑结构:
CCC的连接方式可以分为本地连接和远程连接两种方式。CCC方式的两种拓扑结构如图1所示。
本地连接:VPN2的Site1和Site2通过CCC本地连接(黑色虚线)进行互连,它们接入的PE3相当于一个二层交换机,CE之间不需要LSP隧道。
远程连接:VPN1的Site1和Site2通过CCC远程连接(蓝色虚线)进行互连。Site1与Site2间需要两条静态LSP,一条从PE1到PE2,表示从Site1到Site2的LSP,另一条从PE2到PE1,表示从Site2到Site1的LSP。两条蓝色虚线组成一条双向的PW,即CCC远程连接,为客户提供类似传统二层VPN的二层连接。
CCC远程连接方式是一种静态配置VC连接的方式,将VC一端收到的二层协议报文映射到一个静态的LSP隧道上去,这样二层报文在途经的每一跳设备就根据该静态LSP进行MPLS转发,最后将报文转发到VC的另一端。与其它方式的VLL不同,CCC方式VLL采用一层标签传送数据,这一层标签在每个LSR上进行标签交换。因此CCC对LSP的使用是独占性的,而且在两个方向都需要配置静态的LSP。CCC的LSP只用于传递这个CCC连接的数据,不能用于其他MPLS L2VPN连接,也不能用于BGP/MPLS IP VPN或承载普通的IP报文。
配置接口,创建vlan,配置接口vlanif
配置MPLS lsr-id和开启MPLS功能,开启mpls l2
在PE上配置一条从CE1到CE2的本地CCC连接(双向连接,不需要再建一条CE2到CE1的)
查看配置结果:
测试CE1 ping CE2
CCC远程连接实验:
组网需求:
如图:位于不同物理位置的用户网络站点分别通过CE1和CE2设备接入运营商MPLS网络。为简化配置,用户希望两个CE间达到在同一局域网中相互通信的效果。该用户的站点数量不会进行扩充,希望在运营商网络中能够得到独立的VPN资源,以保证数据的安全。
CE1和CE2之间可以建立CCC远程连接,直接完成二层数据的交换。
配置思路:
考虑用户希望两个CE间达到在同一局域网中相互通信的效果,可采用VLL方式进行VPN的组网。而用户站点数量不会扩充,为在运营商网络中得到独立的VPN资源,保证数据的安全,可采用CCC远程连接方式,来满足客户需求。
采用如下的思路配置CCC远程连接的基本功能:
1.在PE设备上使能MPLS L2VPN,而P设备上不需要使能MPLS L2VPN。使能MPLS L2VPN是配置VLL的前提。
2.在PE上创建CCC远程连接。创建CCC远程连接需设定入接口、入标签、出标签及下一跳,是建立CCC远程连接的核心步骤。
3.配置双向的转发静态LSP,用于PE之间CCC连接独享数据隧道。
配置:
划分vlan,IP,链路类型
在MPLS网络中开启MPLS功能,并且将接口也开启MPLS功能
在PE上创建远程CCC连接
在P设备上配置转发静态LSP
配置完成后,在PE上查看CCC连接信息,可以看到PE1和PE2上各自建立了一条CCC远程连接,状态为Up
在PE上执行命令display l2 ccc-interface vc-type ccc,可以看到VC Type为CCC,状态为Up
在P上执行display mpls lsp命令,可以看到建立的两条静态LSP的标签信息和接口信息:
CE1和CE2可以ping通
SVC方式VLL:SVC有两层标签
概述:
在Martini中用LDP进行VC标签的交互,如果不使用LDP,而是在PE上直接手工指定内层标签,这就是静态虚拟电路SVC(Static Virtual Circuit)模式,可以认为SVC是Martini的简化。
SVC方式VLL的VC标签是静态配置的,不需要VC标签映射,所以不需要LDP信令传输VC label。
拓扑结构:
SVC的外层公网隧道标签建立的方法与Martini相同。内层标签在配置VC的时候进行手工指定,PE之间不需要信令来传递标签信息。SVC不支持本地连接,其网络拓扑模型和报文交互过程与Martini完全相同。
配置思路:
1.在MPLS骨干网上配置IGP,实现IP互通。
2.在MPLS骨干网上配置MPLS基本能力和LDP,使用LDP LSP隧道。这条LDP LSP隧道即为SVC方式的VLL在公网传输的专用隧道。
3.在PE上使能MPLS L2VPN,并创建静态VC连接,手工配置VC标签信息。使能MPLS L2VPN是配置VLL的前提,创建静态VC连接为配置SVC方式VLL的核心步骤。
实验拓扑:
在MPLS骨干网上配置MPLS基本能力和LDP,使用LDP LSP隧道。这条LDP LSP隧道即为SVC方式的VLL在公网传输的专用隧道
在PE上使能MPLS L2VPN,并创建静态VC连接(配置内层vc标签)
查看L2VPN的连接信息,可以看到建立了一条静态的L2VC链接
查看简要信息
在AR3上的G0/0/0(两层标签)和AR4的G0/0/1(一层标签)抓包
AR1 ping AR6
AR1和AR6之间通信过程:AR1将数据交给AR3,AR3收到以后打上内层标签100,此时需要将数据再交由AR5,这时需要一层外层标签1025,将载荷数据交给AR4,AR4收到带有1025的标签,和自己的入标签对比,发现对比正确,这时AR4作为倒数第二跳设备将1025的外层标签剥离,换上外层标签3,由于外层标签3是隐式空标签,所以这里不显示,只有一层内层标签100
Martini方式VLL(VC标签也是由LDP分发)
概述:
Martini方式VLL使用LDP作为传递VC信息的信令,此种方式遵循RFC4906,对标准的LDP进行了扩展,增加了FEC类型(VC FEC)用于VC标签的交换。PE为CE之间的每条连接分配一个VC标签,二层VPN信息将携带着VC标签,通过LDP建立的公网LSP,转发到对端的PE。由于用不同的VC标签来区分不同的VLL连接,这样实际上在公网的LSP上建立了一条VC LSP,使得公网的LSP可以被多条VC LSP共用,只有PE设备需要保存VC Label和LSP的映射等少量信息。P设备不包含任何二层VPN信息,所以扩展性较好,解决了CCC方式VLL公网隧道不能被共用的问题。
Martini方式中,用VC Type和VC ID来唯一识别一个VC。
VC Type:表明VC的封装类型,例如VLAN或Ethernet。
VC ID:标识VC。相同VC Type的所有VC,其VC ID必须在整个PE唯一。
拓扑结构
Martini方式的VLL只支持远程连接,而不支持本地连接。Martini方式支持的拓扑结构如图所示
实现过程:
Martini方式VLL的实现过程包括VLL的建立和VLL的报文转发两个部分。VLL的建立关键部分是PW的建立,PW建立好后即可进行报文的转发。
1.PW的建立和拆除
2.报文的转发
Martini方式使用扩展的LDP信令交互VC信息
PW的建立和拆除:
PW的建立
建立PW时的标签分配顺序采用下游自主方式,标签保持方式采用自由标签保持方式
利用LDP信令协议建立PW的过程
1.PE1发送Request报文到PE2,同时采用DU方式主动向PE2发送标签映射消息(Label Mapping Message),该消息中包含VC标签,VC Type,VC ID,接口的参数等VC信息。
2.PE2收到Request报文后,发送Mapping报文给PE1。PE2收到Mapping消息后,比对本地VC信息,若VC信息一致,则说明PE1和PE2在同一个VLL内。此时PE2将接受标签映射消息,单向VC1建立成功,同时PE2也知道了到对端PE1需要打的内层VC标签。
3.PE1收到PE2的标签映射消息后作同样的检查和处理,最终也成功建立VC2。此时,两条反向的VC,也就是PW建立成功了。
1.如果检测到AC、Tunnel变为Down或者VC被删除,则PE1将发送Withdraw消息(用于通知对端撤销标签)给PE2。为了更快的删除PW,PE1采用Withdraw和Release消息(对Withdraw的回应报文,通知发送Withdraw消息的设备本端已撤销标签)连续发送的方式。
2.PE2收到PE1发送来的Withdraw与Release消息后,根据PE1的Withdraw消息撤销VC1的标签,拆除VC1。拆除VC1后向PE1发送Release消息,通知PE1撤销VC2的标签。
3.PE1收到PE2的Release消息后,撤销VC2的标签,拆除VC2。PE1与PE2完成对PW的删除
报文的转发:
经过VC信息的交互,PW成功建立后,VLL就建立起来了。下面讲述Martini方式VLL报文的转发过程(图中VPN1和VPN2为两个VLL网络)。
Martini的报文交互过程
从Site1到Site2:
VPN1的Site1中发送到PE1的VLAN10的报文,在到达PE1后,PE1先打上VC标签3000,然后再打上LSP1的出标签1000,即进入LSP1隧道(黑色虚线);对于VPN2的Site1发送到PE1的VLAN100报文,PE1在其上打上VC标签4000,然后再打上LSP1的出标签1000,同样进入LSP1隧道(黑色虚线)。
这些报文在到达PE2后,PE2去掉LSP1的入标签1002,根据内层VC标签3000,选择到VPN1的Site2的出接口;根据VC标签4000,选择到VPN2的Site2的出接口。因为VC Label(3000、4000)是PE2在建立各自VC时,通过LDP信令传给PE1的。
从Site2到Site1:
VPN1的Site2中发送到PE2的VLAN10的报文,在到达PE2后,PE2先打上VC标签3500,然后再打上LSP2的出标签2000,即进入LSP2隧道(蓝色虚线);对于VPN2的Site2发送到PE2的VLAN100的报文,PE2在其上打上VC标签4500,然后再打上LSP2的出标签2000,同样进入LSP2隧道(蓝虚线)。
这些报文在到达PE1后,PE1去掉LSP2的入标签2002,根据内层VC标签3500,选择到VPN1的Site1的出接口;根据VC标签4500,选择到VPN2的Site1的出接口。因为VC Label(3500、4500)是PE1在建立各自VC时,通过LDP信令传给PE2的。
从上面的交互过程中可以看到,在Martini方式下,外层标签用于将各个VC的数据在ISP网络中进行传递,外层的LSP隧道是被共享的,通过内层的VC标签可以对数据进行区分。
部署Martini方式需要ISP网络能够自动建立LSP隧道,所以需要ISP网络支持MPLS转发及MPLS LDP,如果ISP网络不支持LDP,那么可以使用GRE隧道封装。
在MPLS骨干网上配置MPLS基本能力和LDP,使用LDP LSP隧道。这条LDP LSP隧道即为SVC方式的VLL在公网传输的专用隧道
查看mpls ldp会话
在PE上使能MPLS L2VPN,并创建VC连接
此时首先在AR3的G0/0/0上抓包,并没有mapping消息
这时再看抓包3.3.3.3给5.5.5.5分发的mapping消息
配置VLL采用GRE隧道:
运营商网络为用户提供L2VPN服务,其中PE1和PE2作为用户接入设备,接入的用户数量较多且经常变化。现要求一种适当的VPN方案,为用户提供安全的VPN服务,在接入新用户时配置简单。
CE1和CE2之间建议采用建立Martini方式的VLL方式进行连接。在缺省情况下,系统为Martini方式的VLL选择的隧道类型为LSP,且不进行隧道的负载分担。在P节点设备不支持MPLS功能时,无法实现VLL功能。
为了解决上述问题,可以对Martini方式的VLL应用隧道策略,保证VLL业务承载在GRE隧道上。
配置思路:
采用如下的思路配置VLL采用GRE隧道:
1.在骨干网相关设备(PE、P)上配置路由协议实现互通。
2.在PE设备使能MPLS和MPLS LDP功能。在PE之间建立远端LDP会话,用于将本端VC标签传递给对端。
3.PE上使能MPLS L2VPN,使能MPLS L2VPN是配置VLL的前提。
4.在PE上创建GRE隧道接口,建立PE间的GRE隧道。
5.PE上创建VC连接。由于P设备不支持MPLS功能,故需要配置隧道策略并在创建VC连接时应用,使用GRE隧道承载VLL。
拓扑图:
配置MPLS域内IGP协议:
查看ospf建立成功
在PE设备上配置MPLS基本能力和LDP,并在PE之间建立远端LDP会话
在PE上使能MPLS L2VPN
在PE上创建GRE隧道接口,建立PE间GRE隧道
tunnel接口变为up,并且可以ping通
配置隧道策略并在创建VC连接时应用,使用GRE隧道承载VLL(39表示VC ID,两端一致)
验证:在PE上查看L2VPN连接信息,可以看到建立了一条L2 VC,状态为Up
根据上面显示信息的Tunnle ID,在PE上执行命令display tunnel-info tunnel-id命令,可以查看到指定Tunnel ID的详细信息
CE1和CE2可以ping通