简介
本文档介绍了基于多协议标签交换 (MPLS) 的 L2 虚拟专用网络 (L2VPN) 伪线。
背景信息
本章介绍了Cisco IOS®、Cisco IOS® XE中伪线信令和数据包分析,以说明其行为。
L2VPN 概述
对等连接电路(例如以太网到以太网、PPP到PPP、高级数据链路控制(HDLC)等)已经存在基于MPLS和IP的第2层(L2)传输
L2VPN使用MPLS上的L2服务,以构建点对点连接的拓扑,连接VPN中的终端站点。如果专用网络通过专用租用线路或通过采用 ATM 或帧中继的 L2 虚拟电路进行调配,L2VPN 可为其提供备用方案。使用 L2VPN 调配的服务称为“虚拟专用线路服务”(VPWS)。
- L2VPN采用伪线(PW)技术构建。
- PW提供通用的中间格式来通过数据包交换网络(PSN)(转发数据包的网络)(IPv4、IPv6、MPLS、以太网)传输多种类型的网络服务。
- PW技术提供同类传输和互通(IW)。
- AC 上的 PE 路由器接收的帧会经过封装,然后通过 PSW 发送至远程 PE 路由器。
- 出口 PE 路由器可接收来自 PSW 的数据包并删除其封装。
- 出口 PE 可提取帧并将其转发给 AC。
为什么需要L2VPN
- SP 只需拥有一套基础设施,即可同时提供 IP 和传统服务.
- 在不中断现有服务的情况下,将传统 ATM 和帧中继服务迁移至 MPLS/IP 核心.
- 在现有MPLS/IP核心中,调配新的L2VPN服务是增量的(不是从头开始)。
- 使用融合 IP/MPLS 网络,节省资金和运营成本.
- SP提供新的点–2点或点–2多点服务。您可以拥有自己的路由、QoS策略、安全机制等。
MPLS L2 VPN 模型
技术选项
1. VPWS 服务
• 点对点•称为“伪线”(PW)
2. VPLS 服务
• 多点
3. EVPN
• xEVPN 系列推出新一代以太网服务解决方案
a.用于以太网网段和MPLS核心上的MAC分配和学习的BGP控制平面
b. IP VPN的相同原理和操作经验
• 不使用伪线
a.将MP2P隧道用于单播
b.通过入口复制(通过MP2P隧道)或LSM的多目标帧传输
• 符合 IETF 标准化的多供应商解决方案
4. PBB-EVPN
• 将 PBB 的扩展工具(又名 MAC-in-MAC)与 EVPN 基于 BGP 的 MAC 学习相结合
EVPN 和提供商主干网桥 EVPN (PBB-EVPN) 是基于 BGP 控制平面在核心上进行 MAC 分发或学习的下一代 L2VPN 解决方案,旨在满足以下要求:
- 实现单流冗余和负载均衡
- 简化调配和操作
- 实现最优转发
- 快速收敛
- 扩展 MAC 地址
VPWS 伪线参考模型
- PW是两个PE设备之间的连接,连接两个传输L2帧的AC。
- MPLS 上的任何传输 (AToM) 是思科针对 IP/MPLS 网络实施的 VPWS。
- 接入电路 (AC) 是连接 CE 与 PE 的物理或虚拟电路,可以是 ATM、帧中继、HDLC、PPP 等。
- Edge(CE)设备将PW视为非共享链路或电路。
第2层VPN启用程序:伪线
L2VPN采用伪线(PW)技术构建。
- PW提供通用的中间格式来通过数据包交换网络(PSN)(转发数据包的网络)(IPv4、IPv6、MPLS、以太网)传输多种类型的网络服务。
- PW技术提供同类传输和互通(IW)。
- AC 上的 PE 路由器接收的帧会经过封装,然后通过 PSW 发送至远程 PE 路由器。
- 出口 PE 路由器可接收来自伪线的数据包并删除其封装。
- 出口 PE 可提取帧并将其转发给 AC。
AToM 架构
- 在 AToM 网络中,SP 的所有路由器均运行 MPLS,且 PE 路由器的 AC 可通往 CE 路由器。
- 就 AToM 而言,PSN 隧道只不过是两台 PE 路由器之间的标签交换路径 (LSP)。
- 因此,与该 LSP 关联的标签在 AToM 上下文中称为“隧道标签”。
- 首先,LDP 用于在 PE 之间逐跳传递信令。
- 其次,LSP 可以是 MPLS TE 隧道,RSVP 会使用 TE 所需的扩展传递信令。
- 使用此隧道标签,您可以确定帧所承载的PSN隧道属于哪个PSN隧道。
- 此隧道标签还可通过 MPLS 主干网将帧从本地或入口 PE 传送至远程或出口 PE。
- 要将多条伪线复用到一条 PSN 隧道中,PE 路由器需使用其他标签来标识伪线。
- 此标签因可标识多路复用帧所到的 VC 或 PW 而被称为 VC 或 PW 标签。
基于 MPLS 的 L2 传输
VPWS 流量封装
- 使用了三级封装。
- 使用隧道标签在 PE 之间交换数据包.
- VC 标签标识 PW.
- 在 PE 之间传递 VC 标签的信令.
- 可选控制字 (CW) 承载第 2 层控制位并启用排序.
伪线 伪线
- PE 路由器之间使用 TLDP 会话传递伪线中的信令。
- PE 路由器之间使用 T-LDP 会话,通告与 PSW 关联的 VC 标签。
- 此标签在使用下游主动标签通告模式的标签映射消息中通告。
- 出口 PE 通过 TLDP 会话向 AC 的入口 PE 通告 VC 标签。 #TLDP 通告的 VC 标签
- LDP向入口PE通告出口PE路由器的隧道标签。 # LDP通告的隧道标签
请注意,出口 PE 通告的是标签 3,这表明使用了 PHP。
TLDP 会话所通告的标签映射消息中包含以下 TLV:
伪线标识符 (PW ID) FEC TLV:标识与标签绑定的伪线
标签 TLV <-LDP:用于通告 MPLS 标签。
PW ID FEC TLV 包含以下 TLV:
1. C位:如果设置为1,则表示存在控制字。
2. PW类型:表示伪线的类型。
3.组ID:标识伪线的组。同一接口上所有 AC 具有相同的组 ID。在一条 LDP 标签撤销消息中,PE 可使用组 ID 撤销与之关联的所有 VC 标签,也即“通配符标签撤销”。
4. PW ID: PW ID是VC ID
5. Interface Parameters:标识指向CE路由器的接口的MTU,请求的VLAN ID。
如果 MTU 参数不匹配,则 PW 不会传递信令。由于 LSP 为单向路径,因此只有在两台 PE 路由器之间存在相反方向的另一条 LSP 时,才能形成 PW。
PW ID FEC TLV 用于标识和匹配两台 PE 路由器之间的两条反向 LSP。
控制字
控制字有以下五个功能:
- 填充小型数据包
- 承载所传输协议第 2 层报头的控制位
- 保留传输帧的排序
- 促进 MPLS 主干网中 AToM 数据包达到合适的负载均衡
- 促进分段和重组
- 填充小数据包:如果AToM数据包不符合此最小长度,则填充帧以满足以太网链路上的最小长度。
由于MPLS报头没有表示帧长度的长度,因此控制字会保留表示帧长度的长度字段。
如果出口 PE 路由器中所接收 AToM 数据包的控制字长度不为 0,则路由器便会知晓已添加填充内容,并在转发帧之前正确删除填充内容。
- 保留传输帧的顺序:使用此序列号时,接收方可以检测数据包:
发送到 PW 的第一个数据包的序列号为 1,后续每个数据包序列号均会递增 1,直至达到 65535
如果接收器检测到失序序列,则会将其丢弃,不会对无序 AToM 数据包重新排序。
默认情况下,排序处于禁用状态。
- 负载均衡:
路由器负责执行 MPLS 负载检查,并在此基础上决定如何实现流量负载均衡。
路由器会查看第一个半字节,如果第一个半字节为 4,则为 IPV4 数据包。通用控制字以值为 0 的半字节开头,而使用 OAM 数据的控制字则以值 1 开头。
- 促进分段和重组:
可用于指示负载分段
00 = 未分段
01 = 第一个分段
10 = 最后一个分片
11 = 中间分段
转发平面处理
入口 PE 收到来自 CE 的帧时,会通过 MPLS 主干网将帧转发到带有如下两个标签的出口 LSR:
1. 隧道标签(顶部标签)– 告知所有 LSR 和出口 PE 转发帧的目标位置。
2. VC 标签(底部标签)– 标识出口 PE 上的出口 AC。
在 AToM 网络中,每对 PE 路由器必须在相互之间进行目标 LDP 会话。
TLDP 会话可传递伪线图表的信令,最重要的是,通告 VC 标签。
操作
步骤1: 入口PE路由器首先将VClabel推送到帧上。然后推送隧道标签。
第二步: 隧道标签是与标识远程PE的IGP前缀关联的标签。而前缀是配置 AToM 的指定位。
第三步: 然后,将根据隧道标签逐跳转发MPLS数据包,直到数据包到达出口PE2。
第四步: 数据包到达出口 PE 时,隧道标签已被删除。这是因为最后一个P路由器和出口PE之间的PHP行为。
第五步: 出口 PE 在转发信息库中查找 VC 标签,将其剥离,然后将帧转发给正确的 AC。
PW 状态信令
在PE路由器设置了伪线后,PE可以向远程PE发出伪线状态信号。 有两种方法:
- 标签撤销(较旧的方法)
- PE 路由器可以发送标签撤销消息或标签映射释放消息,进而撤销标签映射。
- 如果 AC 关闭,PE 路由器会向远程 PE 发送标签撤销消息,以此传递 PW 状态信令.
- 如果物理接口关闭,则包含组 ID 的标签撤销消息可传递此接口的所有 AC 均已关闭的信令.
- PW状态TLV
- 当伪线被单接到时,PW状态TLV使用LDP标签映射TLV。这表明 PE 路由器希望使用第二种方法。
- 如果另一台 PE 路由器不支持 PW 状态 TLV 方法,则两台 PE 路由器均恢复为使用“标签撤销”方法。
- 选中伪线后,LDP 通知消息中含有 PW 状态 TLV。PW 状态 TLV 包含 32 位状态码字段。
AToM 基本配置
步骤1: 选择封装类型。
第 2 步:在面向 CE 的接口上启用 specifying the connect 命令。
xocnnect peer-router-id vcid encapsulation mpls
Peer-router-id:远程PE路由器的LDP路由器id。
VCID:您分配给PW的标识符。
步骤3.一旦在两台PE路由器中配置了xconnect,即会在PE路由器之间建立目标LDP会话。
伪线数据包分析
启动从入口PE到出口PE的伪线ping。
通过点对点伪线发送 MPLS 回应请求和应答数据包。
拓扑
从PE1 ping PE2:
R1#ping mpls pseudowire 10.6.6.6 100
Sending 5, 100-byte MPLS Echos to 10.6.6.6,
timeout is 2 seconds, send interval is 0 msec:
Type escape sequence to abort.
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 48/61/80 ms
观察结果:
1. 回应请求:
带有2个标签 — VPN和传输
作为带有PW LABEL的标记数据包发送。 可以标签交换(使用传输标签)。
标签:2
SRC IP:环回 IP(在目标 LDP 邻域中使用)
DST IP:127.0.0.1
L4类型:UDP
SRC 端口:3503
DST 端口:3505
TOS字节:关闭
MPLS EXP:关闭
DF位:开
IPv4选项字段正在使用中:路由器警报选项字段(从PUNT到CPU)
UDP负载可以是MPLS标签交换回应请求
概述:
第 2 层/标签:
L3/L4:
实际 MPLS 负载:
2. 回应应答:
可携带1标签 — 运输。
作为单播数据包发送。 由于核心中存在LDP,因此可以进行标签交换(使用传输标签)。
标签:1
源IP:送出接口IP地址(本例中为10.1.6.2)
DST IP:回应请求中发现的源 IP - 源路由器的环回
L4类型:UDP
SRC 端口:3503
DST 端口:3505
TOS字节:关闭
MPLS EXP:关闭
DF位:开
UDP负载可以是MPLS标签交换回应应答
MPLS EXP 已开启且设置为 6
“DF 位”已开启
VC 详细信息以供参考:
R1#sh mpls l2transport vc detail
Local interface: Fa2/0 up, line protocol up, Ethernet up
Destination address: 10.6.6.6, VC ID: 100, VC status: up
Output interface: Fa0/1, imposed label stack {24 28}
Preferred path: not configured
Default path: active
Next hop: 10.1.1.2
Create time: 2d17h, last status change time: 2d17h
Last label FSM state change time: 2d17h
Signaling protocol: LDP, peer 10.6.6.6:0 up
Targeted Hello: 10.1.1.1(LDP Id) -> 10.6.6.6, LDP is UP
Status TLV support (local/remote) : enabled/supported
LDP route watch : enabled
Label/status state machine : established, LruRru
Last local dataplane status rcvd: No fault
Last BFD dataplane status rcvd: Not sent
Last BFD peer monitor status rcvd: No fault
Last local AC circuit status rcvd: No fault
Last local AC circuit status sent: No fault
Last local PW i/f circ status rcvd: No fault
Last local LDP TLV status sent: No fault
Last remote LDP TLV status rcvd: No fault
Last remote LDP ADJ status rcvd: No fault
MPLS VC labels: local 28, remote 28
Group ID: local 0, remote 0
MTU: local 1500, remote 1500
Remote interface description:
Sequencing: receive enabled, send enabled
Sequencing resync disabled
Control Word: On (configured: autosense)
Dataplane:
SSM segment/switch IDs: 4097/4096 (used), PWID: 1
VC statistics:
transit packet totals: receive 1027360, send 1027358
transit byte totals: receive 121032028, send 147740215
transit packet drops: receive 0, seq error 0, send 0
L2VPN 交互操作
L2VPN 交互操作基于上述功能,允许连接不同的接入电路。交互操作功能可促进不同第 2 层封装之间的转换。思科系列路由器早期版本仅支持网桥交互操作,也称为“以太网交互操作”。
到目前为止,网络两端的 AC 都属于相同的封装类型,也称为“同类功能”。
L2VPN 交互操作具有 AToM 特性,允许在 AToM 网络两端使用不同的封装类型
- 这需要将两个异质接入电路 (AC) 互连。
- Cisco IOS 软件支持以下两大 L2VPN 交互操作 (IW) 功能:
1. IP/路由:在MPLS云的一端删除(并替换为MPLS标签)MAC报头,并在另一个PE构建新的MAC报头。IP 报头按原样保留。
2.以太网/桥接:MAC报头未删除。MPLS 标签会加在 MAC 报头之上,而 MAC 报头按原样传送到 MPLS 云的另一端。
可能的交互操作
a.帧中继到以太网
b. FR到PPP
c. 帧中继到 ATM
d.以太网到 VLAN
e.以太网到PPP
相关信息