Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

了解多点 LDP 递归 FEC

多点 LDP (MLDP) 递归转发等效类 (FEC) 在中间路由器没有到达根节点的路由的部署中非常有用。

我们引入了 RFC 6512 中定义的递归不透明值,当主干网没有直接路由到根节点时,该值有助于在两个自治系统 (AS) 之间形成 MLDP 点对多点 (P2MP) 隧道。这增强了 MLDP 在复杂网络配置中的灵活性和稳健性,尤其是在跨越多个自治系统时。

为了克服在主干网没有直接路由到根节点时建立 MLDP P2MP 隧道的问题,RFC 6512 提供了一种解决方案,将实际根节点地址临时替换为中间节点已知的地址,即使在涉及 BGP 和多点到多点标签交换路径 (MP LSP) 的 AS 间场景中,也可以建立通过网络的路径。对于 P2MP LSP,根节点地址及其关联的不透明值是用于通过 MLDP 控制平面路由 MLDP 消息和创建 P2MP LSP 的关键组件。

工作方式

为了形成 MLDP 隧道,应用程序需要向 LDP 提供根地址和不透明值。它还通知 LDP 是特定 P2MP LSP 的出口。出口标签交换路由器 (LSR) 为 P2MP FEC 播发的标签可以由 LDP 或应用程序决定。然后,LSR 通过执行路由查找来查找根的上游路由器。为 FEC 分配的标签将作为标签映射消息播发到上游路由器。

传输 LSR 在收到来自下游 LSR 的标签播发后,会将标签播发到上游 LSR,朝向 P2MP FEC 中的根。它还安装必要的转发状态,以便在数据包到达时转发带有其播发的标签。在每个路由器上重复此操作,直到标签到达入口路由器。

在入口 LSR 上,将流量映射到 P2MP LSP 由应用程序确定。因此,LDP 不会为 P2MP LSP 安装任何转发状态。但是,它向应用程序提供有关 P2MP LSP 的必要信息,以便应用程序安装转发状态。

图 1 描述了能够发送组播流量的主机系统和能够接收组播流量的主机系统。

提供商边缘 (PE) 和 AS 边界路由器 (ASBR) 路由器具有到根 PE1 的路由。P(P1 和 P2)路由器没有通向根的路由。MLDP P2MP 隧道从出口到入口路由器形成。当出口路由器 PE2 尝试向根 PE1 发送标签映射消息时,会发现到达根 PE1 的上游路由器为 P2。因此,标签映射消息将发送到 P2。但是,P2 没有到根的路由,并且找不到根的上游路由器。因此,P2 无法向其上游路由器发送标签映射消息,因此无法形成隧道。

在此类拓扑中,使用配置语句启用 递归不透明值功能。set protocol ldp p2mp recursive fec

图 1: 用于 MVPN 选项 C 方案中具有递归不透明值的 AS 间 MLDP FEC 用于 MVPN 选项 C 方案中具有递归不透明值的 AS 间 MLDP FEC
注:

如果到根的路由是间接 BGP 路由,则递归 P2MP 将生效。

让我们详细了解这一点:

  • 为了使 LDP 形成从叶 PE2 到根 PE1 的 P2MP 隧道,PE2 会创建一个 MP FEC 元素,并将 PE1 的地址作为根节点地址,如下所示:PE1-FEC = <根=PE1, opaque_value=Q>

  • PE2 将 FEC 元素作为 MLDP 标签映射消息发送到 P2。但是,P2 不能使用 FEC 元素,因为它没有到 PE1 的路由。

  • 配置配置语句后 ,PE2 确定根节点的地址是否与 BGP 路由匹配,并将 ASBR2 作为协议下一跃点。set protocol ldp p2mp recursive fec

  • 因此,PE2 使用递归不透明度值创建新的 MP FEC 元素。在 FEC 元素中,根节点地址是协议下一跃点 ASBR2 的地址,不透明值是包含 PE2-FEC 的递归不透明值。我们将此 FEC 元素称为 ASBR2-FEC。ASBR2-FEC = <root=ASBR2 , opaque_value=PE1-FEC>即 PE1-FEC = <root=PE1, opaque_value=<root=S, opaque_value=Q>>

  • LDP 请求内部路由器(P1 和 P2)构建根节点为 ASBR2 的 MP LSP。但是,路由器不得解释不透明值。

  • 当 ASBR2-FEC 到达 ASBR2 时,ASBR2 会注意到它是标识的根节点,并且不透明值是递归不透明值。因此,ASBR2 读取不透明值以查找实际根。

  • 然后 ASBR2 执行查找以查找到实际根的路由,即 PE1。由于到 PE1 的路由是具有间接下一跃点的 BGP 路由,因此 ASBR2 确定它应形成到根 PE1 的 LDP 递归 FEC,协议下一跃点为 ASBR1,并保持接收的不透明值不变。ASBR1-FEC = <root=ASBR1, opaque_value=PE1-FEC>

  • 当 ASBR1-FEC 到达 ASBR1 时,ASBR1 会注意到它是标识的根节点,并且不透明值是递归不透明值。因此,ASBR1 读取不透明值以查找实际根。ASBR1 查找到根的路由,该路由是 IGP 路由。因此,ASBR1 将 ASBR1-FEC 替换为递归不透明值的内容,即在任何进一步处理之前替换为 PE1-FEC。

  • 这会导致 PE1-FEC 被发送到 P1。PE1-FEC = <root=PE1, opaque_value=<root=S, opaque_value=Q>> P1.

  • PE1 接收 PE1-FEC 并像处理任何普通的 LDP P2MP FEC 一样处理它。

注:

递归 P2MP FEC 不适用于 PIM 带内信令和静态 LDP P2MP 隧道。