Presentation is loading. Please wait.

Presentation is loading. Please wait.

目 标 学习完此课程,您将会: 掌握MPLS L2 VPN的原理.

Similar presentations


Presentation on theme: "目 标 学习完此课程,您将会: 掌握MPLS L2 VPN的原理."— Presentation transcript:

0 MPLS L2 VPN原理

1 目 标 学习完此课程,您将会: 掌握MPLS L2 VPN的原理

2 内容介绍 第一章 MPLS L2 VPN 概述 第二章 MPLS L2 VPN 原理

3 传统的L2VPN 租赁专线(leased line)方式 虚电路方式 主要缺点是:建设时间长,价格昂贵,难于管理。
虚电路方式与租赁专线相比,建设时间短、价格低 在不同类型的网络(如ATM、FR)上提供业务,需要建设并维护独立的网络 其速率较慢 配置较复杂

4 MPLS L2VPN Customer Site Customer Site Tunnel PE PE 虚电路 Customer Site Customer Site L2VPN就是在MPLS网络上透明传递用户的二层数据。从用户的角度来看,这个MPLS网络就是一个二层的交换网络,通过这个网络,可以在不同站点之间建立二层的连接。 MPLS L2VPN就是在MPLS网络上透明传递用户的二层数据。从用户的角度来看,这个MPLS网络就是一个二层的交换网络,通过这个网络,可以在不同站点之间建立二层的连接。

5 MPLS方式的L2VPN 扩展了运营商的网络功能和服务能力 具有更高的可扩展性 管理责任分工明确 路由私有、安全
多协议支持 网络平滑升级 扩展了运营商的网络功能和服务能力 运营商只需要使用一个网络就可以提供MPLS L2VPN、三层BGP/MPLS VPN、IP数据等服务;并且可利用MPLS相关的增强技术,如流量工程、QoS等功能为客户提供不同的服务级别,以满足客户多种多样的需求。 具有更高的可扩展性 在传统的没有MPLS的ATM或FR网络中, 二层VPN由虚电路(VC)提供。对于每一条VC,网络中的边缘设备(PE)和核心设备(P)都需要维护完整的VC信息。这样,当运营商要连接PE上的多个CE设备时,需要建立多条VC,因此,在PE和P设备上需要维护许多VC的信息。而对于MPLS L2VPN,通过使用标签栈技术,可以在一条LSP中复用多条VC,因此PE只要维护一条LSP信息就可以了,因此大大提高了系统的可扩展性。 管理责任分工明确 在BGP/MPLS VPN中,运营商负责提供三层的连接性。客户在CE上的错误配置,将可能导致PE甚至整个运营商网络的不稳定。而在MPLS L2VPN中, 运营商仅提供二层的连接性,客户负责三层的连接性,如路由等。这样,当用户由于配置错误,引起路由振荡时, 不会影响运营商网络的稳定性。 路由私有、安全 由于用户自己维护其路由信息,运营商不必考虑各个用户的地址重叠问题,也不用担心一个用户的路由信息会泄漏到其它用户的私有网络中。这一方面减少了运营商的管理负担, 另一方面,也增加了用户信息的安全性。 易配置 对于传统的二层VPN,当CE之间是全连接时,存在N平方问题。即在每个CE,要配置N-1个到其它CE的PVC。尤其当新增加一个CE时, 不但要在当前新增加的CE上配置N条PVC,还要在原来的N个CE上,各建立一条新的PVC连接到当前新增加的CE上。而对于Kompella方式的MPLS L2VPN,通过初始时的过量配置,当新增加一个CE站点时, 只需要配置这个新增加的CE即可。 多协议支持 由于运营商只提供二层连接,客户可以使用其愿意使用的任何三层协议,如IP、IPv6、IPX、SNA等。 网络平滑升级 由于MPLS L2VPN对于用户是透明的,当运营商从ATM、FR等传统的二层VPN向MPLS L2VPN升级时,不需要用户进行任何重新配置,除了切换时可能造成短时间的数据丢失外,对用户来说几乎没有任何影响。

6 L2VPN-VRP实现 Martini:遵循草案draft-martini-l2circuit-trans-mpls,使用LDP作为传递VC信息的信令。 Kompella:遵循草案draft-kompella-ppvpn-l2vpn-xx,与RFC2547定义的BGP/MPLS VPN相似。 CCC:在两条PE-CE连接之间配置透明的连接,独占隧道,一层标签。 SVC:Martini的一种静态实现

7 内容介绍 第一章 MPLS L2 VPN 概述 第二章 MPLS L2 VPN 原理

8 内容介绍 第二章 MPLS L2 VPN 原理 第一节 报文结构 第二节 CCC 第三节 Martini 第四节 SVC
第一节 报文结构 第二节 CCC 第三节 Martini 第四节 SVC 第五节 Kompella

9 协议结构 Tunnel 标签 VC 标签 模拟 VC 的封装(Control Word) 连接控制(LDP、BGP、STATIC-LSP)
用于 VC-Label 协商, 撤销, 差错通告 连接控制 ‘Emulated Circuits’ 有三层封装 Tunnel 标签 从入口PE 到出口PE获取PDU MPLS label 或GRE tunnel VC 标签 用于在相同的tunnel上标识不同的虚电路 MPLS label. 模拟 VC 的封装(Control Word) 32-bit 的控制字 Transport Component Tunneling Component L2 PDU (Emulated)

10 报文结构 有些情况下,在网络上传输l2vpn报文的时候没有必要传送整个的二层帧,而是在入口端把二层头给剥离,然后在出口端重新添加。但是如果二层头中有些信息需要携带,这种方式就不可取了,因此提出了控制字的方法来解决这个问题,控制字里携带的信息都是INGRESS端和EGRESS端协商好的。 控制字主要有三个功能: 1、报文转发时需要的序列号 2、当最小的mtu大于实际的传输报文时需要进行填充 3、二层帧头中需要携带的控制位

11 报文举例-FR Frame Relay帧在转发的时候不携带Frame Relay header和FCS,控制字是必须使用的
BECN、FECN、 DE和C/R位使用控制字来携带。

12 内容介绍 第二章 MPLS L2 VPN 原理 第一节 报文结构 第二节 CCC 第三节 Martini 第四节 SVC
第一节 报文结构 第二节 CCC 第三节 Martini 第四节 SVC 第五节 Kompella

13 CCC介绍 CCC是Circuit Cross Connect(电路交叉连接)的缩写,是通过静态配置来实现L2VPN的一种方式。

14 CCC连接类型 CCC方式分为本地CCC连接和远程CCC连接。
对于本地CCC连接, 这两个CE连接到同一个PE设备上,PE设备相当于一个二层交换机。 对于远程CCC连接,两个CE连接到不同的PE上,使用PE之间独享的静态LSP作为隧道,不需要任何信令协议传递二层VPN信息。

15 CCC的实现 CCC的实现 CCC采用一层标记来传送用户数据,因此它对LSP的使用是独占性(不能用于其他L2VPN连接,也不能用于BGP/MPLS VPN或承载普通的IP报文)的,用户必须单独为每一个CCC连接手工配置两条L2VPN LSP(两个方向各一条),这两条L2VPN LSP将只能用于传递这个CCC连接的数据。 P节点也要进行STATIC LSP的配置

16 CCC组网 PE PE MPLS网络 PE Tunnel标签 2层头部 数据 A公司 分支机构2 远程 连接 A公司 总部 本地 连接
分支机构1 A公司 分支机构3

17 内容介绍 第二章 MPLS L2 VPN 原理 第一节 报文结构 第二节 CCC 第三节 Martini 第四节 SVC
第一节 报文结构 第二节 CCC 第三节 Martini 第四节 SVC 第五节 Kompella

18 Martini介绍 遵循草案draft-martini-l2circuit-trans-mpls,使用LDP作为传递VC信息的信令。
PE之间建立LDP的remote session,PE为CE之间的每条连接分配一个VC标签。二层VPN信息将携带着VC标签,通过LDP建立的LSP转发到remote session的对端PE。 这种方式不能提供象CCC方式的本地交换功能,但是不象CCC远程连接那样,一条LSP只能被一条远程CCC连接独享,服务运行商网络中的一条隧道可以被多条VC共享使用。

19 LDP Martini结构 Tunnel 标签 VC 标签 模拟 VC 的封装(Control Word) 连接控制(LDP)
用于 VC-Label 协商, 撤销, 差错通告 连接控制 ‘Emulated Circuits’ 有三层封装 Tunnel 标签 从入口PE 到出口PE获取PDU MPLS label 或GRE tunnel VC 标签 用于在相同的tunnel上标识不同的虚电路 MPLS label. 模拟 VC 的封装(Control Word) 32-bit 的控制字 Transport Component LDP Tunneling Component L2 PDU (Emulated)

20 LDP扩展 VC labels通过LDP REMOTE SESSION交换 定义了新的LDP FEC用来携带VC信息
LABEL还是放在Label TLV中,在MAPPING中发送 定义了新的LDP FEC用来携带VC信息 FEC element type ‘128 ——Virtual Circuit FEC Element’: Carried within LDP Label Mapping Message VC信息的交换是通过DU方式进行的, Described in draft-martini-l2circuit-trans-mpls

21 Martini 的协议处理 P Martini的协议包括两部份 Tunnel建立 VC 建立
LDP 用来建立在PE之间建立Tunnel, 其他的tunnels协议也可以使用如GRE. VC 建立 通过LDP在两个PE 间建立远程邻居 通过VCID来建立绑定关系,LDP为VC分配标签 (1,1000;PE1) VC-ID:1 (1,2000;PE2) VC-ID:1 DLCI:100 DLCI:200 PE1 PE2 P CE1 CE2

22 Martini协议报文

23 Martini协议报文 C: Control Word (1 bit) – 1表示需要控制字;0为不需要
VC-type (15 bits) – VC类型, e.g FR, ATM, VLAN, Ethernet, PPP, HDLC VC info length (8 bits) –VCID field和interface parameters的长度 Group ID (32 bits) – 一些VC组成一个组,主要用来批量撤消相应的VC信息。 VC ID (32 bits) – 一个VC是由VC ID和VC TYPE来唯一确定 Interface Parameters (不定) –一些接口参数,目前用的有MTU

24 Martini优点 在这种Martini方式中,由于在运营商网络中,只有PE设备需要保存少量的VC label&LSP的映射等少量信息,P设备不包含任何二层VPN信息,所以扩展性好。 当需要新增加一条VC时, 只在相关的两端PE设备上各配置一个单方向VC连接即可,不影响网络的运行。 它配置、实现相对简单,没有VPN的概念, 只是提供二层链路的连接性,易于理解。 Martini方式适合稀疏的二层连接,例如星型连接。

25 Martini组网 PE MPLS隧道(LSP) MPLS隧道(LSP) MPLS网络 PE MPLS隧道(LSP) PE A公司
分支机构1 外层标签 VC标签 二层头部 数据 PE A公司 总部 B公司 总部 MPLS隧道(LSP) MPLS网络 MPLS隧道(LSP) PE A公司 分支机构2 MPLS隧道(LSP) PE B公司 分支机构1 B公司 分支机构2 LDP发布VC标签

26 内容介绍 第二章 MPLS L2 VPN 原理 第一节 报文结构 第二节 CCC 第三节 Martini 第四节 SVC
第一节 报文结构 第二节 CCC 第三节 Martini 第四节 SVC 第五节 Kompella 第六节 L2VPN 的比较

27 Static VC SVC方式的其实与LDP方式L2PVN非常类似,不同之点在于他不用使用LDP作为传递二层VC和链路信息的信令,手工配置VC Label信息即可; 不用LDP就意味着不需要使用remote peer,不需要使用LDP相应扩展TLV。便于ISP的网络运营,如果隧道不使用LDP建立的LSP,那么LDP就完全不必使用了; 其他的和Martini基本一致。

28 内容介绍 第二章 MPLS L2 VPN 原理 第一节 报文结构 第二节 CCC 第三节 Martini 第四节 SVC
第一节 报文结构 第二节 CCC 第三节 Martini 第四节 SVC 第五节 Kompella 第六节 L2VPN 的比较

29 MP-BGP kompella结构 Tunnel 标签 VC 标签 模拟 VC 的封装(Control Word) 连接控制(MP-BGP)
用于 VC-Label 协商, 撤销, 差错通告 连接控制 ‘Emulated Circuits’ 有三层封装 Tunnel 标签 从入口PE 到出口PE获取PDU MPLS label 或GRE tunnel VC 标签 用于在相同的tunnel上标识不同的虚电路 MPLS label. 模拟 VC 的封装(Control Word) 32-bit 的控制字 Transport Component MP-BGP Tunneling Component L2 PDU (Emulated)

30 基本原理:kompella简介 与MPLS BGP VPN实现机理类似,特别是CE、PE、ROUTE-TARGET、RD、SITE的定义以及用途 区别是kompella传送的是二层信息,而MPLS BGP VPN传送的是三层路由信息,为此kompella进行了相应的BGP NLRI扩展 处理的信息不同了,那么发送接受二层信息的流程也发生了相应的变化。

31 kompella术语 Label Block Label Base Label Range Label-block Offset CE ID
CONNECTION L2VPN INSTANCE

32 kompella术语 LABEL BLOCK1、 LABEL BLOCK2、 LABEL BLOCK3组成一个LABEL BLOCK;
102400/10/0 LB/LR/LBO LABEL BLOCK 2 102410/10/10 LB/LR/LBO LABEL BLOCK 3 102420/10/20 LB/LR/LBO LABEL BLOCK1、 LABEL BLOCK2、 LABEL BLOCK3组成一个LABEL BLOCK; LB:LABEL BASE LR:LABEL RANGE LBO:LABEL BLOCK OFFSET

33 kompella术语 L3VPN传递FEC和单个LABEL的方式;
BGP方式L2VPN采取标记块的方式,一次为多个连接分配标记。用户可以指定一个本地CE的范围(CE range),表明这个CE能与多少个CE建立连接。系统会一次为这个CE分配一个标记块,标记块的大小等于CE range。这种方式允许用户为VPN分配一些额外的标记,留待以后使用。这样会造成标记资源的浪费,但是同时带来一个很大的好处:减少VPN部署和扩容时的配置工作量。

34 Kompella信息传递 假设PE A、PE B为同属于VPN X的CEm和CEk建立一条VC。
LSP CEm PEA PEB CEk 假设PE A、PE B为同属于VPN X的CEm和CEk建立一条VC。 我们称PEA为CEm分配的LABEL BLOCK为Lm;称Lm的Block Offset为LOm;称Lm的Label-Base为LBm;称Lm的Label-Range为LRm 我们称PEB为CE k分配的LABEL BLOCK为Lk;称Lk的Block Offset为LOk;称Lk的Label-Base为LBk;称Lk的Label-Range为LRk 那么PEB收到PEA发送过来的信息会做如下工作:

35 Kompella信息传递 首先检查从PEA收到CE的封装类型,如果不一致,弃之且停止处理;
检查是否 k=m,如果是,报错“CE ID k has been allocated to two CEs in VPN X (check CE at PE A)”,然后停止处理; 检查和CE m相关的所有的label-blocks是否满足LOm <= k < LOm + LRm,如果任何一个都不满足,报错 “Cannot communicate with CE m (PE A) of VPN X:outside range”然后停止处理; 检查和CE k相关的所有的label-blocks是否满足LOk <= m < LOk + LRk,如果任何一个都不满足,报错 “Cannot communicate with CE m (PE A) of VPN X:outside range”然后停止处理; 检查PEA和PEB之间的通道是否正常建立,如果没有就停止处理,这里假设为LSP隧道,标签为Z; PEB为CE-m分配内层标签为(LBm + k - LOm) ,PEA为CE-k分配内层标签为(LBk + m - LOk); PEB到PEA的外层隧道的标签为Z; 内外层标签兼备,可以干活了,Any Question?

36 BGP NLRI扩展 引入了新的sub-TLV Circuit Status Vector Label range
Length (2 octets) Route Distinguisher (8 octets) CE ID (2 octets) Label-block Offset (2 octets) Label Base (3 octets) Variable TLVs (0 to N octets)... 引入了新的sub-TLV Circuit Status Vector Label range Tunnel status

37 BGP Layer2-Info Extended Community
Extended Community Type TBD Encapsulation Type ATM, Frame Relay Ethernet …… Control Flags MBZ:MUST Be Zero C:1表示需要控制字;0为不需要 S:1表示需要序列号;0为不需要 Q&F:保留 Layer-2 MTU Extended community type (2 octets) Encapsulation Type (1 octet) Control Flags (1 octet) Layer-2 MTU (2 octet) Reserved (2 octets) MBZ Q F C S

38 封装类型 Reserved 7 PPP 1 Frame Relay 8 CEM [8] 2 ATM AAL5 VCC transport 9
Reserved 7 PPP 1 Frame Relay 8 CEM [8] 2 ATM AAL5 VCC transport 9 ATM VCC cell transport 3 ATM transparent cell transport 10 ATM VPC cell transport 4 Ethernet VLAN 11 MPLS 5 Ethernet 12 VPLS 6 Cisco-HDLC 64 IP-interworking

39 PURE IP IP-only Layer 2 Interworking
Tunnel Encap VPN Label IP Packet Tunnel Encap VPN Label L2 Frame IP-only Layer 2 Interworking 在INGRESS端,二层帧头全部剥离取出IP报文进行转发;此时转发是用到的二层信息依然基于接收帧的二层信息。 在EGRESS端,报文被重新封装成二层帧然后发送给CE,此时二层转发信息是依靠VC LABEL来获得的。 INGRESS端和相应CE端的链路类型独立于EGRESS端和相应CE端的链路类型,因此这种情况下L2VPN独立于链路类型 目前这一块只有理论,并没有实现

40 kompella优点 自动拓扑发现—以MP-BGP为信令传播相应信息 组网灵活,部署方案成熟—route-target
部分解决配置的n方问题—余额配置 同时支持本地、远程虚拟链路 支持不同接入方式—IP Interworking 跨域的解决方式与MPLS L3 VPN类似

41 内容介绍 第二章 MPLS L2 VPN 原理 第一节 报文结构 第二节 CCC 第三节 Martini 第四节 SVC
第一节 报文结构 第二节 CCC 第三节 Martini 第四节 SVC 第五节 Kompella 第六节 L2VPN 的比较

42 MPLS L2 VPN 比较 比较项目 Kompella Martini CCC SVC 信令协议 隧道情况 应用场景 扩展性 本地连接
BGP LDP 隧道情况 GRE、LSP,共用 专门的静态LSP,独占 应用场景 密集模式 稀疏模式 NA 扩展性 支持过量配置,较好 很差 本地连接

43 相互对比:L3VPN VS L2VPN 项目 BGP/MPLS VPN Kompella L2 VPN Martinni L2 VPN
内存开销大,接口资源消耗小,信令协议开销小 内存开销小,接口资源消耗大,信令协议开销小 内存开销小,接口资源消耗大,信令协议开销大 VPN拓扑扩散方式 BGP自动发现 手工配置 VPN路由扩散方式 通过PE设备扩散,收敛慢 在CE之间直接扩散,收敛快 CE的接入方式 任何2层连接、2层隧道和3层隧道,同一个VPN中不同站点接入方式可以不相同 ATM、FR、PPP、HDLC、Ethernet(VLAN) 不同封装之间不能互通 PURE IP

44 相互对比:L3VPN VS L2VPN 项目 BGP/MPLS VPN Kompella L2 VPN Martinni L2 VPN
支持 不支持 多播支持能力 协议开销大,转发开销小 协议开销小,转发开销大 协议独立性 只能承载IP 承载任何3层协议 隧道的多样性 支持LSP/GRE/IPSec 支持LSP/GRE 支持LSP 对传统VPN的继承性 对传统2层VPN的扬弃 改进继承传统2层VPN 标准的成熟度 成熟 较成熟 不成熟 易用性 简单 较复杂 复杂 可管理性 外包路由、分权管理 外包拓扑、集中管理


Download ppt "目 标 学习完此课程,您将会: 掌握MPLS L2 VPN的原理."

Similar presentations


Ads by Google