了解 FEC 129 的多分段伪线
了解多分段伪线
伪线是在 MPLS 数据包交换网络 (PSN) 上模拟电信服务(如 T1 线路)的基本属性的第 2 层电路或服务。伪线旨在提供最少的必要功能,以模拟符合给定服务定义所需弹性要求的线路。
当伪线发起并终止在同一 PSN 的边缘时,始发提供商边缘 (T-PE) 设备之间的伪线标签不变。这称为单分段伪线 (SS-PW)。 图 1 展示了在两个 PE 路由器之间建立的 SS-PW。PE1 和 PE2 路由器之间的伪线位于同一自治系统 (AS) 中。
如果无法从本地到远程 PE 建立单个伪线,或者无法在两个 PE 之间建立一个控制平面,因此使用多分段伪线 (MS-PW)。
MS-PW 是由两个或多个连续 SS-PW 组成,用作单点到点伪线。它也被称为交换伪线。MS-PW 可以跨越不同的地区或网域。区域可视为属于相同或不同管理域的内部网关协议 (IGP) 区域或 BGP 自治系统。MS-PW 跨越相同或不同运营商网络的多个核心或接入点。第 2 层 VPN MS-PW 最多可容纳 254 个伪线分段。
图 2 展示了一组两个或多个伪线分段,它们充当单个伪线。终端路由器称为终止 PE (T-PE) 路由器,而交换路由器称为交换 PE (S-PE) 路由器。S-PE 路由器将终止 MS-PW 中之前和后续伪线分段的隧道。S-PE 路由器可以切换 MS-PW 之前和后续伪线分段的控制平面和数据平面。当所有单分段伪线均启动时,MS-PW 将被声明为 up。
使用 FEC 129 进行多分段伪线
目前,在 FEC 129 下定义了两种类型的附加电路标识符 (AII):
类型 1 AII
2 类 AII
对 FEC 129 的 MS-PW 支持使用 2 类 AII。根据 RFC 5003 的定义,类型 2 AII 具有全局唯一性。
在 MPLS PSN 上使用 FEC 129 的单分段伪线 (SS-PWs) 可以使用 1 类和 2 类 AII。对于使用 FEC 129 的 MS-PW,伪线本身标识为一对端点。这就要求伪线端点得到唯一识别。
对于动态放置的 MS-PW,为了提高伪线的可访问性和易管理性,需要附加电路的标识符具有全局唯一性。因此,单个全局唯一地址被分配给组成 MS-PW 的所有附加电路和 S-PE。
类型 2 AII 由三个字段组成:
Global_ID — 全局标识,通常是 AS 编号。
前缀 — IPv4 地址,通常是路由器 ID。
AC_ID — 本地附加电路,这是一个用户可配置的值。
从 FEC 129 伪线信令的角度来看,类型 2 AII 已包含 T-PE 的 IP 地址且具有全局唯一性,因此组合 (AGI、SAII、 TAII) 可跨所有互连的伪线域唯一识别 MS-PW。
建立多分段伪线概述
通过动态、自动选择预定义的 S-PE 并在两个 T-PE 设备之间放置 MS-PW,可以建立 MS-PW。
动态选择 S-PE 后,将使用 BGP 自动发现功能自动发现和选择每个 S-PE,而无需在所有 S-PE 上配置 FEC 129 伪线相关信息。BGP 用于在整个 PSN 中传播伪线地址信息。
由于 S-PE 上没有手动调配 FEC 129 伪线信息,因此会自动重用附件组标识符 (AGI) 和附件个人标识符 (AII),并通过每个 T-PE 设备的主动和被动角色为伪线在转发和反向方向选择同一组 S-PE。
活动 — T-PE 会启动 LDP 标签映射消息。
被动 — 在收到由活动 T-PE 发起的标签映射消息之前,T-PE 不会发起 LDP 标签映射消息。被动 T-PE 将其标签映射消息发送至接收来自其活动 T-PE 的标签映射消息的同一 S-PE。这可确保在相反的方向使用同一组 S-PE。
对多分段伪线的伪线状态支持
T-PE 上的伪线状态行为
以下伪线状态消息与 T-PE 相关:
0x00000010 — 面向 PSN 的本地伪线(出口)传输故障。
0x00000001 — 通用非转发故障代码。这被设置为本地故障代码。本地故障代码设置在本地 T-PE,LDP 将具有相同故障代码的伪线状态TLV消息发送到远程 T-PE。
故障代码按位 OR 处理并存储为远程伪线状态代码。
S-PE 上的伪线状态行为
S-PE 会发出伪线状态消息,指示伪线故障。伪线通知消息中的 SP-PE 会提示故障的来源。
当 S-PE 检测到本地故障时,将沿着伪线向两个方向发送伪线状态消息。由于 S-PE 上没有附加电路,因此仅关注以下状态消息:
0x00000008 — 面向 PSN 的本地伪线(入口)接收故障。
0x00000010 — 面向 PSN 的本地伪线(出口)传输故障。
为了指示哪个 SS-PW 出现故障,将 LDP SP-PE TLV与 LDP 通知消息中的伪线状态代码一起附加。伪线状态通过控制平面交换功能保持不变从一个伪线传递到另一个伪线。
如果 S-PE 使用一个特定的伪线状态位发起伪线状态通知消息,则对于 S-PE 接收的伪线状态代码,将在本地处理同一位,在清除 S-PE 的原始状态错误之前不会转发。
S-PE 为其涉及的每个 SS-PW 仅保留两个伪线状态代码 — 本地伪线状态代码和远程伪线状态代码。远程伪线状态代码的值是此分段之前 SS-PWs 链中伪线状态代码的逻辑或操作的结果。每个 S-PE 在收到后都会递增更新此状态代码,并通知下一个 S-PE。本地伪线状态会基于其本地伪线状态在本地生成。
仅在 SP-PE 上检测到传输故障。如果没有可到达下一分段的 MPLS LSP,将检测到本地传输故障。传输故障被发送到下一个下一个下行分段,接收故障被发送到上游分段。
S-PE 上收到的远程故障只会沿着 MS-PW 传递不变。本地故障会发送到 S-PE 涉及的伪线的两个分段。
对 MS-PW 的伪线TLV支持
MS-PW 为 LDP SP-PE TLV [RFC 6073]提供以下支持:
用于 MS-PW 的 LDP SP-PE TLV 包括:
本地 IP 地址
远程 IP 地址
SP-PE 会将 LDP SP-PE TLV添加到标签映射消息中。每个 SP-PE 都会将本地 LDP SP-PE TLV追加到从另一个分段收到的 SP-PE 列表。
伪线状态通知消息包括当在 SP-PE 生成通知时的 LDP SP-PE TLV。
支持和不支持的功能
Junos OS 通过 MS-PW 支持以下功能:
用于构建 MS-PW 的每个 SS-PW 的 MPLS PSN。
MS-PW 中的每个 SS-PW 都采用相同的伪线封装 – 以太网或 VLAN-CCC。
采用 T-LDP 作为端到端伪线信令协议的广义 PWid FEC,以设置每个 SS-PW。
MP-BGP 可自动发现与 MS-PW 关联的每个 SS-PW 的两个端点 PE。
标准 MPLS 操作用于拼接两个并排 SS-PW 以形成一个 MS-PW。
自动发现 S-PE,以便动态放置 MS-PW。
S-PE 的最低调配。
操作、管理和维护 (OAM) 机制,包括端到端 MPLS ping 或端到端任意 S-PE MPLS ping、MPLS 路径追踪、端到端 VCCV 和双向转发检测 (BFD)。
MS-PW 的伪线旋转点 (SP) PE TLV。
MS-PW 上的复合下一跃点。
MS-PW 的伪线状态TLV。
Junos OS 不支持以下 MS-PW 功能:
LDP FEC 128 和 LDP FEC 129 的混合。
静态伪线,其中每个标签都是静态调配的。
平滑路由引擎切换。
不间断活动路由。
多宿主。
OAM 中的部分连接验证(源自 S-PE)。