18f64133827f8a8ff26fbde27bfecaac.ppt
- Количество слайдов: 45
MPLS L 2 VPN原理 0
学习完此课程,您将会: n 掌握MPLS L 2 VPN的原理 1
第一章 MPLS L 2 VPN 概述 第二章 MPLS L 2 VPN 原理 2
传统的L 2 VPN o 租赁专线(leased line)方式 n o 主要缺点是:建设时间长,价格昂贵,难于管理。 虚电路方式 n n 虚电路方式与租赁专线相比,建设时间短、价格低 在不同类型的网络(如ATM、FR)上提供业务,需要建设并 维护独立的网络 其速率较慢 配置较复杂 3
MPLS L 2 VPN Customer Site Tunnel PE 虚电路 PE Customer Site o Customer Site MPLS L 2 VPN就是在MPLS网络上透明传递用户的 二层数据。从用户的角度来看,这个MPLS网络就 是一个二层的交换网络,通过这个网络,可以在不 同站点之间建立二层的连接。 4
MPLS方式的L 2 VPN o o o o 扩展了运营商的网络功能和服务能力 具有更高的可扩展性 管理责任分 明确 路由私有、安全 易配置(N方解决?主要体现在隧道复用) 多协议支持 网络平滑升级 5
L 2 VPN-VRP实现 o o Martini:遵循草案draft-martini-l 2 circuittrans-mpls,使用LDP作为传递VC信息的信令。 Kompella:遵循草案draft-kompella-ppvpnl 2 vpn-xx,与RFC 2547定义的BGP/MPLS VPN 相似。 CCC:在两条PE-CE连接之间配置透明的连接,独 占隧道,一层标签。 SVC:Martini的一种静态实现 6
第一章 MPLS L 2 VPN 概述 第二章 MPLS L 2 VPN 原理 7
第二章 MPLS L 2 第一节 报文结构 VPN 原理 第二节 CCC 第三节 Martini 第四节 SVC 第五节 Kompella 8
协议结构 连接控制(LDP、BGP、STATIC-LSP) 用于 VC-Label 协商, 撤销, 差错通告 连接控制 ‘Emulated Circuits’ 有三层封装 Transport Component Tunneling Component L 2 PDU (Emulated) o. Tunnel 标签 n从入口PE 到出口PE获取PDU n. MPLS label 或GRE tunnel o. VC 标签 n用于在相同的tunnel上标识不同的虚电路 n. MPLS label. o模拟 VC 的封装(Control n 32 -bit 的控制字 Word) 9
报文结构 o o 有些情况下,在网络上传输l 2 vpn报文的时候没有必要传 送整个的二层帧,而是在入口端把二层头给剥离,然后在 出口端重新添加。但是如果二层头中有些信息需要携带, 这种方式就不可取了,因此提出了控制字的方法来解决这 个问题,控制字里携带的信息都是INGRESS端和 EGRESS端协商好的。 控制字主要有三个功能: ð ð ð 1、报文转发时需要的序列号 2、当最小的mtu大于实际的传输报文时需要进行填充 3、二层帧头中需要携带的控制位 10
报文举例-FR o o Frame Relay帧在转发的时候不携带Frame Relay header和FCS,控制字是必须使用的 BECN、FECN、 DE和C/R位使用控制字来携带。 11
第二章 MPLS L 2 第一节 报文结构 VPN 原理 第二节 CCC 第三节 Martini 第四节 SVC 第五节 Kompella 12
CCC介绍 o CCC是Circuit Cross Connect(电路交叉连接)的缩写, 是通过静态配置来实现L 2 VPN的一种方式。 13
CCC连接类型 o CCC方式分为本地CCC连接和远程CCC连接。 n n 对于本地CCC连接, 这两个CE连接到同一个PE设备上,PE 设备相当于一个二层交换机。 对于远程CCC连接,两个CE连接到不同的PE上,使用PE之间 独享的静态LSP作为隧道,不需要任何信令协议传递二层VPN 信息。 14
CCC的实现 o CCC的实现 n n CCC采用一层标记来传送用户数据,因此它对LSP的使用是独 占性(不能用于其他L 2 VPN连接,也不能用于BGP/MPLS VPN或承载普通的IP报文)的,用户必须单独为每一个CCC连 接手 配置两条L 2 VPN LSP(两个方向各一条),这两条 L 2 VPN LSP将只能用于传递这个CCC连接的数据。 P节点也要进行STATIC LSP的配置 15
CCC组网 Tunnel标签 2层头部 数据 A公司 分支机构2 PE LSP PE MPLS网络 A公司 总部 远程 连接 LS P PE A公司 分支机构1 本地 连接 A公司 分支机构3 16
第二章 MPLS L 2 第一节 报文结构 VPN 原理 第二节 CCC 第三节 Martini 第四节 SVC 第五节 Kompella 17
Martini介绍 o o o 遵循草案draft-martini-l 2 circuit-trans-mpls,使用LDP 作为传递VC信息的信令。 PE之间建立LDP的remote session,PE为CE之间的每条 连接分配一个VC标签。二层VPN信息将携带着VC标签,通 过LDP建立的LSP转发到remote session的对端PE。 这种方式不能提供象CCC方式的本地交换功能,但是不象 CCC远程连接那样,一条LSP只能被一条远程CCC连接独享, 服务运行商网络中的一条隧道可以被多条VC共享使用。 18
Martini结构 连接控制(LDP) 用于 VC-Label 协商, 撤销, 差错通告 ‘Emulated Circuits’ 有三层封装 Transport Component Tunneling Component n. Tunnel o从入口PE 到出口PE获取PDU o. MPLS label 或GRE tunnel n. VC 标签 (Emulated) LDP o用于在相同的tunnel上标识不同的虚电路 o. MPLS L 2 PDU 标签 n模拟 o label. VC 的封装(Control Word) 32 -bit 的控制字 19
LDP扩展 o VC labels通过LDP REMOTE SESSION交换 n o 定义了新的LDP FEC用来携带VC信息 n n o LABEL还是放在Label TLV中,在MAPPING中发送 FEC element type ‘ 128 ——Virtual Circuit FEC Element’: Carried within LDP Label Mapping Message VC信息的交换是通过DU方式进行的, n Described in draft-martini-l 2 circuit-trans-mpls 20
Martini 的协议处理 o Martini的协议包括两部份 n Tunnel建立 o n LDP 用来建立在PE之间建立Tunnel, 其他的tunnels协 议也可以使用如GRE. VC 建立 o o 通过LDP在两个PE 间建立远程邻居 通过VCID来建立绑定关系,LDP为VC分配标签 (1, 1000; PE 1) (1, 2000; PE 2) VC-ID: 1 DLCI: 100 PE 1 CE 1 P PE 2 VC-ID: 1 DLCI: 200 CE 2 21
Martini协议报文 22
Martini协议报文 o o o 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来唯一确定 23 Interface Parameters (不定) –一些接口参数,目前用的有 MTU
Martini优点 o o 在这种Martini方式中,由于在运营商网络中,只有PE设备 需要保存少量的VC label&LSP的映射等少量信息,P设备不 包含任何二层VPN信息,所以扩展性好。 当需要新增加一条VC时, 只在相关的两端PE设备上各配置 一个单方向VC连接即可,不影响网络的运行。 它配置、实现相对简单,没有VPN的概念, 只是提供二层 链路的连接性,易于理解。 Martini方式适合稀疏的二层连接,例如星型连接。 24
Martini组网 外层标签 VC标签 二层头部 A公司 分支机构1 数据 PE A公司 总部 LS MP PE MPLS网络 MP LS隧 道(L S P) B公司 分支机构1 LDP发布VC标签 MPLS隧道(LSP) ) P (LS 隧道 B公司 总部 A公司 分支机构2 PE B公司 分支机构2 25
第二章 MPLS L 2 第一节 报文结构 VPN 原理 第二节 CCC 第三节 Martini 第四节 SVC 第五节 Kompella 第六节 L 2 VPN 的比 较 26
Static VC o o o SVC方式的其实与LDP方式L 2 PVN非常类似,不同之点在于 他不用使用LDP作为传递二层VC和链路信息的信令,手 配置VC Label信息即可; 不用LDP就意味着不需要使用remote peer,不需要使用 LDP相应扩展TLV。便于ISP的网络运营,如果隧道不使用 LDP建立的LSP,那么LDP就完全不必使用了; 其他的和Martini基本一致。 27
第二章 MPLS L 2 第一节 报文结构 VPN 原理 第二节 CCC 第三节 Martini 第四节 SVC 第五节 Kompella 第六节 L 2 VPN 的比 28 较
kompella结构 连接控制(MP-BGP) 用于 VC-Label 协商, 撤销, 差错通告 ‘Emulated Circuits’ 有三层封装 Transport Component n. Tunnel 标签 o从入口PE 到出口PE获取PDU o. MPLS label 或GRE tunnel Tunneling Component n. VC 标签 o用于在相同的tunnel上标识不同的虚电路 o. MPLS L 2 PDU (Emulated) MP-BGP n模拟 o label. VC 的封装(Control Word) 32 -bit 的控制字 29
基本原理:kompella简介 o o o 与MPLS BGP VPN实现机理类似,特别是CE、PE、 ROUTE-TARGET、RD、SITE的定义以及用途 区别是kompella传送的是二层信息,而MPLS BGP VPN传 送的是三层路由信息,为此kompella进行了相应的BGP NLRI扩展 处理的信息不同了,那么发送接受二层信息的流程也发生了 相应的变化。 30
kompella术语 o o o o Label Block Label Base Label Range Label-block Offset CE ID CONNECTION L 2 VPN INSTANCE 31
kompella术语 LABEL BLOCK 1 102400/10/0 LB/LR/LBO o o LABEL BLOCK 2 102410/10/10 LB/LR/LBO LABEL BLOCK 3 102420/10/20 LB/LR/LBO LABEL BLOCK 1、 LABEL BLOCK 2、 LABEL BLOCK 3组成一个LABEL BLOCK; LB:LABEL BASE LR:LABEL RANGE LBO:LABEL BLOCK OFFSET 32
kompella术语 o o L 3 VPN传递FEC和单个LABEL的方式; BGP方式L 2 VPN采取标记块的方式,一次为多个连接分配标 记。用户可以指定一个本地CE的范围(CE range),表明 这个CE能与多少个CE建立连接。系统会一次为这个CE分配 一个标记块,标记块的大小等于CE range。这种方式允许 用户为VPN分配一些额外的标记,留待以后使用。这样会造 成标记资源的浪费,但是同时带来一个很大的好处:减少 VPN部署和扩容时的配置 作量。 33
Kompella信息传递 LSP CEm o o 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发送过来的信息会做如下 作: 34
Kompella信息传递 o o o o 首先检查从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); 35 PEB到PEA的外层隧道的标签为Z; 内外层标签兼备,可以干活了,Any Question?
BGP NLRI扩展 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). . . o 引入了新的sub-TLV n Circuit Status Vector o o Label range Tunnel status 36
BGP Layer 2 -Info Extended Community Type n o Encapsulation Type n n o ATM, Frame Relay Ethernet …… Control Flags n n o TBD Extended community type (2 octets) Encapsulation Type (1 octet) Control Flags (1 octet) Layer-2 MTU (2 octet) Reserved (2 octets) MBZ:MUST Be Zero C: 1表示需要控制字; 0为不需要 S: 1表示需要序列号; 0为不需要 Q&F:保留 Layer-2 MTU MBZ Q F C S 37
封装类型 0 Reserved 7 PPP 1 Frame Relay 8 CEM [8] 2 ATM AAL 5 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 38
PURE IP Tunnel Encap VPN Label IP Packet Tunnel Encap o VPN Label L 2 Frame IP-only Layer 2 Interworking n n 在INGRESS端,二层帧头全部剥离取出IP报文进行转发;此时转 发是用到的二层信息依然基于接收帧的二层信息。 在EGRESS端,报文被重新封装成二层帧然后发送给CE,此时二 层转发信息是依靠VC LABEL来获得的。 INGRESS端和相应CE端的链路类型独立于EGRESS端和相应CE 端的链路类型,因此这种情况下L 2 VPN独立于链路类型 目前这一块只有理论,并没有实现 39
kompella优点 o o o 自动拓扑发现—以MP-BGP为信令传播相应信息 组网灵活,部署方案成熟—route-target 部分解决配置的n方问题—余额配置 同时支持本地、远程虚拟链路 支持不同接入方式—IP Interworking 跨域的解决方式与MPLS L 3 VPN类似 40
第二章 MPLS L 2 第一节 报文结构 VPN 原理 第二节 CCC 第三节 Martini 第四节 SVC 第五节 Kompella 第六节 L 2 VPN 的比 较 41
MPLS L 2 VPN 比较 比较项目 Kompell a Martini CCC SVC 信令协议 BGP LDP 否 否 隧道情况 GRE、LSP, 专门的静态 GRE、 LSP,独占 LSP,共用 共用 共用 应用场景 密集模式 稀疏模式 NA NA 扩展性 支持过量配 置,较好 差 很差 差 本地连接 是 否 42
相互对比:L 3 VPN VS L 2 VPN 项目 BGP/MPLS VPN Kompella L 2 VPN Martinni L 2 VPN PE设备开销 内存开销大,接 口资源消耗小, 信令协议开销小 内存开销小,接 口资源消耗大, 信令协议开销大 VPN拓扑扩散方式 BGP自动发现 手 配置 VPN路由扩散方式 通过PE设备扩散, 在CE之间直接扩 收敛慢 散,收敛快 在CE之间直接扩 散,收敛快 CE的接入方式 任何 2层连接、2 ATM、FR、PPP、 层隧道和3层隧道,HDLC、Ethernet 同一个VPN中不同 (VLAN) 站点接入方式可 不同封装之间不 以不相同 能互通 PURE IP ATM、FR、PPP、 HDLC、Ethernet (VLAN) 不同封装之间不 能互通 43
相互对比:L 3 VPN VS L 2 VPN 项目 BGP/MPLS VPN Kompella L 2 VPN Martinni L 2 VPN嵌套能力 支持 不支持 多播支持能力 协议开销大,转发 开销小 协议开销小,转发 开销大 协议独立性 只能承载IP 承载任何 3层协议 隧道的多样性 支持LSP/GRE/IPSec 支持LSP/GRE 支持LSP 对传统VPN的继承性 对传统 2层VPN的扬 弃 改进继承传统 2层 VPN 标准的成熟度 成熟 较成熟 不成熟 易用性 简单 较复杂 复杂 可管理性 外包路由、分权管 理 外包拓扑、集中管 理 44
18f64133827f8a8ff26fbde27bfecaac.ppt