45
1 MPLS L2 VPN 原原

MPLS L2 VPN原理

  • Upload
    biana

  • View
    125

  • Download
    0

Embed Size (px)

DESCRIPTION

MPLS L2 VPN原理. 目 标. 学习完此课程,您将会: 掌握 MPLS L2 VPN 的原理. 内容介绍. 第一章 MPLS L2 VPN 概述 第二章 MPLS L2 VPN 原理. 传统的 L2VPN. 租赁专线( leased line )方式 主要缺点是:建设时间长,价格昂贵,难于管理。 虚电路方式 虚电路方式与租赁专线相比,建设时间短、价格低 在不同类型的网络(如 ATM 、 FR )上提供业务,需要建设并维护独立的网络 其速率较慢 配置较复杂. PE. PE. MPLS L2VPN. Customer Site. - PowerPoint PPT Presentation

Citation preview

Page 1: MPLS L2 VPN原理

1

MPLS L2 VPN 原理

Page 2: MPLS L2 VPN原理

2

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

Page 3: MPLS L2 VPN原理

3

第一章 第一章 MPLS L2 VPN MPLS L2 VPN 概述概述

第二章 MPLS L2 VPN 原理

Page 4: MPLS L2 VPN原理

4

传统的 L2VPN 租赁专线( leased line )方式

主要缺点是:建设时间长,价格昂贵,难于管理。 虚电路方式

虚电路方式与租赁专线相比,建设时间短、价格低 在不同类型的网络(如 ATM 、 FR )上提供业务,需要建设并

维护独立的网络 其速率较慢 配置较复杂

Page 5: MPLS L2 VPN原理

5

MPLS L2VPN

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

Tunnel

虚电路

Customer Site

Customer Site

Customer SiteCustomer

Site

PE PE

Page 6: MPLS L2 VPN原理

6

MPLS 方式的 L2VPN 扩展了运营商的网络功能和服务能力 具有更高的可扩展性 管理责任分工明确 路由私有、安全 易配置( N 方解决?主要体现在隧道复用) 多协议支持 网络平滑升级

Page 7: MPLS L2 VPN原理

7

L2VPN-VRP 实现 Martini :遵循草案 draft-martini-l2circuit-trans-

mpls ,使用 LDP 作为传递 VC 信息的信令。 Kompella :遵循草案 draft-kompella-ppvpn-l2v

pn-xx ,与 RFC2547 定义的 BGP/MPLS VPN 相似。 CCC :在两条 PE-CE 连接之间配置透明的连接,

独占隧道,一层标签。 SVC : Martini 的一种静态实现

Page 8: MPLS L2 VPN原理

8

第一章 MPLS L2 VPN 概述

第二章 第二章 MPLS L2 VPN MPLS L2 VPN 原理原理

Page 9: MPLS L2 VPN原理

9

第二章 第二章 MPLS L2 MPLS L2 VPN VPN 原理原理第一节 报文结构

第二节 CCC

第三节 Martini

第四节 SVC

第五节 Kompella

Page 10: MPLS L2 VPN原理

10

协议结构

Tunnel 标签从入口 PE 到出口 PE 获取 PDU MPLS label 或 GRE tunnel

VC 标签用于在相同的 tunnel 上标识不同的虚电路MPLS label.

模拟 VC 的封装 (Control Word) 32-bit 的控制字

Tunneling Component

L2 PDU

(Emulated)

Transport Component

连接控制

连接控制( LDP 、 BGP 、 STATIC-LSP ) 用于 VC-Label 协商 , 撤销 , 差错通告

‘Emulated Circuits’ 有三层封装

Page 11: MPLS L2 VPN原理

11

报文结构

有些情况下,在网络上传输 l2vpn 报文的时候没有必要传送整个的二层帧,而是在入口端把二层头给剥离,然后在出口端重新添加。但是如果二层头中有些信息需要携带,这种方式就不可取了,因此提出了控制字的方法来解决这个问题,控制字里携带的信息都是 INGRESS 端和 EGRESS 端协商好的。

控制字主要有三个功能: 1 、报文转发时需要的序列号 2 、当最小的 mtu 大于实际的传输报文时需要进行填充 3 、二层帧头中需要携带的控制位

Page 12: MPLS L2 VPN原理

12

报文举例 -FR

Frame Relay 帧在转发的时候不携带 Frame Relay header 和 FCS ,控制字是必须使用的

BECN 、 FECN 、 DE 和 C/R 位使用控制字来携带。

Page 13: MPLS L2 VPN原理

13

第二章 第二章 MPLS L2 MPLS L2 VPN VPN 原理原理第一节 报文结构

第二节 CCC

第三节 Martini

第四节 SVC

第五节 Kompella

Page 14: MPLS L2 VPN原理

14

CCC 介绍 CCC 是 Circuit Cross Connect (电路交叉连接)的缩写,

是通过静态配置来实现 L2VPN 的一种方式。

Page 15: MPLS L2 VPN原理

15

CCC 连接类型 CCC 方式分为本地 CCC 连接和远程 CCC 连接。

对于本地 CCC 连接, 这两个 CE 连接到同一个 PE 设备上, PE 设备相当于一个二层交换机。

对于远程 CCC 连接,两个 CE 连接到不同的 PE 上,使用 PE之间独享的静态 LSP 作为隧道,不需要任何信令协议传递二层 VPN 信息。

Page 16: MPLS L2 VPN原理

16

CCC 的实现 CCC 的实现

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

P 节点也要进行 STATIC LSP 的配置

Page 17: MPLS L2 VPN原理

17

CCC 组网

MPLS 网络

A公司分支机构 2

PE

LSP

LSP

PE

PE

A公司分支机构 1

A公司分支机构 3

A公司总部

Tunnel标签 2层头部 数据

本地连接

远程连接

Page 18: MPLS L2 VPN原理

18

第二章 第二章 MPLS L2 MPLS L2 VPN VPN 原理原理第一节 报文结构

第二节 CCC

第三节 Martini

第四节 SVC

第五节 Kompella

Page 19: MPLS L2 VPN原理

19

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 共享使用。

Page 20: MPLS L2 VPN原理

20

Martini 结构

Tunnel 标签从入口 PE 到出口 PE 获取 PDU MPLS label 或 GRE tunnel

VC 标签用于在相同的 tunnel 上标识不同的虚电路MPLS label.

模拟 VC 的封装 (Control Word) 32-bit 的控制字

Tunneling Component

L2 PDU

(Emulated)

Transport Component

连接控制 连接控制( LDP ) 用于 VC-Label 协商 , 撤销 , 差错通告

‘Emulated Circuits’ 有三层封装

LDP

Page 21: MPLS L2 VPN原理

21

LDP 扩展 VC labels 通过 LDP REMOTE SESSION 交换

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

Page 22: MPLS L2 VPN原理

22

Martini 的协议处理 Martini 的协议包括两部份

Tunnel 建立 LDP 用来建立在 PE 之间建立 Tunnel, 其他的 tunnels

协议也可以使用如 GRE. VC 建立

通过 LDP 在两个 PE 间建立远程邻居 通过 VCID 来建立绑定关系, LDP 为 VC 分配标签

PE1

CE2

PE2

CE1 P

VC-ID:1

DLCI:100 DLCI:200

VC-ID:1

(1,1000;PE1)

(1,2000;PE2)

Page 23: MPLS L2 VPN原理

23

Martini 协议报文

Page 24: MPLS L2 VPN原理

24

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

Page 25: MPLS L2 VPN原理

25

Martini 优点 在这种 Martini 方式中,由于在运营商网络中,只有 PE 设

备需要保存少量的 VC label&LSP 的映射等少量信息, P 设备不包含任何二层 VPN 信息,所以扩展性好。

当需要新增加一条 VC 时, 只在相关的两端 PE 设备上各配置一个单方向 VC 连接即可,不影响网络的运行。

它配置、实现相对简单,没有 VPN 的概念, 只是提供二层链路的连接性,易于理解。

Martini 方式适合稀疏的二层连接,例如星型连接。

Page 26: MPLS L2 VPN原理

26

Martini 组网

MPLS 网络

B公司总部

PE

MPLS隧道 (LSP)

MPLS隧道(LSP)

PE

MP

LS隧道

(LSP

)

A公司分支机构 1

A公司分支机构 2

A公司总部

B公司分支机构 1

B公司分支机构 2

外层标签 VC标签 二层头部 数据

PE

LDP发布 VC标签

Page 27: MPLS L2 VPN原理

27

第二章 第二章 MPLS L2 MPLS L2 VPN VPN 原理原理第一节 报文结构

第二节 CCC

第三节 Martini

第四节 SVC

第五节 Kompella

第六节 L2VPN 的比

Page 28: MPLS L2 VPN原理

28

Static VC SVC 方式的其实与 LDP 方式 L2PVN 非常类似,不同之点在

于他不用使用 LDP 作为传递二层 VC 和链路信息的信令,手工配置 VC Label 信息即可;

不用 LDP 就意味着不需要使用 remote peer ,不需要使用 LDP 相应扩展 TLV 。便于 ISP 的网络运营,如果隧道不使用LDP 建立的 LSP ,那么 LDP 就完全不必使用了;

其他的和 Martini 基本一致。

Page 29: MPLS L2 VPN原理

29

第二章 第二章 MPLS L2 MPLS L2 VPN VPN 原理原理第一节 报文结构

第二节 CCC

第三节 Martini

第四节 SVC

第五节 Kompella

第六节 L2VPN 的比

Page 30: MPLS L2 VPN原理

30

kompella 结构

Tunnel 标签从入口 PE 到出口 PE 获取 PDU MPLS label 或 GRE tunnel

VC 标签用于在相同的 tunnel 上标识不同的虚电路MPLS label.

模拟 VC 的封装 (Control Word) 32-bit 的控制字

Tunneling Component

L2 PDU

(Emulated)

Transport Component

连接控制 连接控制( MP-BGP ) 用于 VC-Label 协商 , 撤销 , 差错通告

‘Emulated Circuits’ 有三层封装

MP-BGP

Page 31: MPLS L2 VPN原理

31

基本原理: kompella 简介 与 MPLS BGP VPN 实现机理类似,特别是 CE 、 PE 、 ROU

TE-TARGET 、 RD 、 SITE 的定义以及用途 区别是 kompella 传送的是二层信息,而 MPLS BGP VPN 传

送的是三层路由信息,为此 kompella 进行了相应的 BGP NLRI 扩展

处理的信息不同了,那么发送接受二层信息的流程也发生了相应的变化。

Page 32: MPLS L2 VPN原理

32

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

Page 33: MPLS L2 VPN原理

33

kompella 术语

LABEL BLOCK1 、 LABEL BLOCK2 、 LABEL BLOCK3 组成一个 LABEL BLOCK ;

LB : LABEL BASE LR : LABEL RANGE LBO : LABEL BLOCK OFFSET

LABEL BLOCK 1102400/10/0LB/LR/LBO

LABEL BLOCK 2102410/10/10LB/LR/LBO

LABEL BLOCK 3102420/10/20LB/LR/LBO

Page 34: MPLS L2 VPN原理

34

kompella 术语 L3VPN 传递 FEC 和单个 LABEL 的方式; BGP 方式 L2VPN 采取标记块的方式,一次为多个连接分配

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

Page 35: MPLS L2 VPN原理

35

Kompella 信息传递

假设 PE A 、 PE B 为同属于 VPN X 的 CEm 和 CEk 建立一条 VC 。 我们称 PEA 为 CEm 分配的 LABEL BLOCK 为 Lm ;称 Lm 的 Block Offs

et 为 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 发送过来的信息会做如下工作:

PEA PEBCEm CEk

LSP

Page 36: MPLS L2 VPN原理

36

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?

Page 37: MPLS L2 VPN原理

37

BGP NLRI 扩展

引入了新的 sub-TLV Circuit Status Vector

Label range Tunnel status

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)...

Page 38: MPLS L2 VPN原理

38

BGP Layer2-Info Extended Community

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

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

Page 39: MPLS L2 VPN原理

39

封装类型

0 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

Page 40: MPLS L2 VPN原理

40

PURE IP

Tunnel Encap VPN Label L2 Frame

Tunnel Encap VPN Label IP Packet

IP-only Layer 2 Interworking 在 INGRESS 端,二层帧头全部剥离取出 IP 报文进行转发;此时转

发是用到的二层信息依然基于接收帧的二层信息。 在 EGRESS 端,报文被重新封装成二层帧然后发送给 CE ,此时二

层转发信息是依靠 VC LABEL 来获得的。 INGRESS 端和相应 CE 端的链路类型独立于 EGRESS 端和相应 CE

端的链路类型,因此这种情况下 L2VPN 独立于链路类型 目前这一块只有理论,并没有实现

Page 41: MPLS L2 VPN原理

41

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

Page 42: MPLS L2 VPN原理

42

第二章 第二章 MPLS L2 MPLS L2 VPN VPN 原理原理第一节 报文结构

第二节 CCC

第三节 Martini

第四节 SVC

第五节 Kompella

第六节 L2VPN 的比

Page 43: MPLS L2 VPN原理

43

MPLS L2 VPN 比较比较项目 Kompella Martini CCC SVC

信令协议 BGP LDP 否 否

隧道情况 GRE 、 LSP ,共用

GRE 、 LSP ,共用

专门的静态LSP ,独占

GRE 、 LSP ,共用

应用场景 密集模式 稀疏模式 NA NA

扩展性 支持过量配置,较好

差 很差 差

本地连接 是 否 是 否

Page 44: MPLS L2 VPN原理

44

相互对比: L3VPN VS L2VPN项目 BGP/MPLS

VPNKompella L2 VPN

Martinni L2 VPN

PE 设备开销 内存开销大,接口资源消耗小,信令协议开销小

内存开销小,接口资源消耗大,信令协议开销小

内存开销小,接口资源消耗大,信令协议开销大

VPN 拓扑扩散方式

BGP 自动发现 BGP 自动发现 手工配置

VPN 路由扩散方式

通过 PE 设备扩散,收敛慢

在 CE 之间直接扩散,收敛快

在 CE 之间直接扩散,收敛快

CE 的接入方式 任何 2 层连接、2 层隧道和 3 层隧道,同一个 VPN 中不同站点接入方式可以不相同

ATM 、 FR 、 PPP 、 HDLC 、 Ethernet ( VLAN)不同封装之间不能互通PURE IP

ATM 、 FR 、 PPP 、 HDLC 、 Ethernet ( VLAN)不同封装之间不能互通

Page 45: MPLS L2 VPN原理

45

相互对比: L3VPN VS L2VPN项目 BGP/MPLS

VPNKompella L2 VPN

Martinni L2 VPN

VPN 嵌套能力 支持 不支持 不支持

多播支持能力 协议开销大,转发开销小

协议开销小,转发开销大

协议开销小,转发开销大

协议独立性 只能承载 IP 承载任何 3 层协议 承载任何 3 层协议

隧道的多样性 支持 LSP/GRE/IPSec

支持 LSP/GRE 支持 LSP

对传统 VPN 的继承性

对传统 2 层 VPN 的扬弃

改进继承传统 2 层VPN

改进继承传统 2 层VPN

标准的成熟度 成熟 较成熟 不成熟

易用性 简单 较复杂 复杂

可管理性 外包路由、分权管理

外包拓扑、集中管理

外包拓扑、集中管理