在本页
LDP 配置
最低 LDP 配置
启用和禁用 LDP
为 Hello 消息配置 LDP 计时器
LDP 你好消息使 LDP 节点能够相互发现并检测邻居的故障或与邻居的链路。在启用了 LDP 的所有接口上定期发送 hello 消息。
LDP 你好消息有两种类型:
链路你好消息 — 通过 LDP 接口作为 UDP 数据包发送到 LDP 发现端口。在接口上收到 LDP 链路你好消息标识与 LDP 对等路由器的邻接关系。
定向你好消息 — 作为 UDP 数据包发送到特定地址的 LDP 发现端口。目标你好消息用于支持未直接连接的路由器之间的 LDP 会话。目标路由器确定是响应还是忽略目标你好消息。选择响应的目标路由器通过定期将目标你好消息发送回发起路由器来实现此目的。
默认情况下,对于链路你好消息,LDP 每 5 秒发送一次你好消息,对于目标你好消息,每 15 秒发送一次消息。您可以配置 LDP 计时器以更改两种类型的你好消息的发送频率。但是,不能为 LDP 计时器配置大于 LDP 保持时间的时间。有关更多信息,请参阅 配置 LDP 邻接方被视为关闭之前的延迟。
为链路呼叫消息配置 LDP 计时器
要修改 LDP 发送链路你好消息的频率,请使用以下 hello-interval
语句为 LDP 计时器指定新的链路你好消息间隔:
hello-interval seconds;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
为目标呼叫消息配置 LDP 计时器
要修改 LDP 发送目标 你好 消息的频率,请将语句配置为 hello-interval
语句的选项 targeted-hello
,为 LDP 计时器指定新的目标你好消息间隔:
targeted-hello { hello-interval seconds; }
有关可包含这些语句的层次结构级别的列表,请参阅这些语句的语句摘要部分。
配置 LDP 邻接方被视为关闭之前的延迟
保留时间确定 LDP 节点在声明邻接方关闭之前应等待 你好 消息的时间。此值作为你好消息的一部分发送,以便每个 LDP 节点告诉其邻居等待多长时间。每个邻居发送的值不必匹配。
保持时间通常应至少为你好间隔的三倍。链接你好消息的默认值为 15 秒,目标你好消息的默认值为 45 秒。但是,可以配置接近你好间隔值的 LDP 保持时间。
通过将 LDP 保持时间配置为接近你好间隔(小于你好间隔的三倍),可以更快地检测到 LDP 邻居故障。但是,这也增加了路由器声明仍在正常运行的 LDP 邻居关闭的可能性。有关更多信息,请参阅 为 Hello 消息配置 LDP 计时器。
LDP 保持时间也会在 LDP 对等方之间自动协商。当两个 LDP 对等方相互播发不同的 LDP 保持时间时,将使用较小的值。如果 LDP 对等路由器播发的保留时间短于您配置的值,则使用对等路由器通告的保留时间。此协商也会影响 LDP 激活间隔。
如果在 LDP 对等协商期间未缩短本地 LDP 保持时间,则用户配置的连接间隔保持不变。但是,如果在对等协商期间减少了本地保持时间,则会重新计算激活间隔。如果在对等协商期间减少了 LDP 保持时间,则激活间隔将减少到新保持时间值的三分之一。例如,如果新的保持时间值为 45 秒,则激活间隔设置为 15 秒。
这种自动激活间隔计算可能会导致在每个对等路由器上配置不同的激活间隔。这使路由器能够灵活地发送激活消息的频率,因为 LDP 对等协商可确保发送消息的频率高于 LDP 保持时间。
重新配置保留时间间隔时,更改在重置会话后才会生效。保留时间在启动 LDP 对等会话时协商,只要会话启动,就无法重新协商(RFC 5036,LDP 规范要求)。要手动强制重置 LDP 会话,请发出 clear ldp session
命令。
配置链路呼叫消息的 LDP 保持时间
要修改 LDP 节点在声明邻接方关闭之前等待链路你好消息的时间,请使用以下 hold-time
语句指定新时间(以秒为单位):
hold-time seconds;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
为目标呼叫消息配置 LDP 保持时间
要修改 LDP 节点在声明邻接方关闭之前等待目标 你好 消息的时间,请使用语句作为语句的选项targeted-hello
指定新时间(以秒hold-time
为单位):
targeted-hello { hold-time seconds; }
有关可包含这些语句的层次结构级别的列表,请参阅这些语句的语句摘要部分。
为 LDP 启用严格的定向问候消息
使用严格的目标 你好 消息可防止与未专门配置的远程邻接方建立 LDP 会话。如果配置该 strict-targeted-hellos
语句,则 LDP 对等方不会响应来自不是其配置的远程邻接方之一的源的目标你好消息。配置的远程邻居可以包括:
为其配置 LDP 隧道的 RSVP 隧道的端点
第 2 层电路邻居
如果未配置的邻接方发送 你好 消息,LDP 对等方将忽略该消息并记录指示源的错误(带有 error
跟踪标志)。例如,如果 LDP 对等方从因特网地址 10.0.0.1 收到目标你好,并且没有专门配置具有此地址的邻居,则会将以下消息打印到 LDP 日志文件中:
LDP: Ignoring targeted hello from 10.0.0.1
要启用严格的目标你好消息,请包含以下 strict-targeted-hellos
语句:
strict-targeted-hellos;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
配置 LDP 激活消息的间隔
激活间隔确定通过会话发送消息的频率,以确保不超过激活超时。如果在这么长时间内没有通过会话发送其他 LDP 流量,则会发送激活消息。默认值为 10 秒。最小值为 1 秒。
如果在对等路由器上为 LDP 保持时间配置的值低于本地配置的值,则可以在 LDP 会话协商期间更改为激活间隔配置的值。有关更多信息,请参阅 配置 LDP 邻接方被视为关闭之前的延迟。
要修改激活间隔,请包含以下 keepalive-interval
语句:
keepalive-interval seconds;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
配置 LDP 激活超时
建立 LDP 会话后,必须定期交换消息以确保会话仍在工作。激活超时定义邻居 LDP 节点在确定会话失败之前等待的时间量。此值通常设置为激活间隔的至少三倍。默认值为 30 秒。
要修改激活间隔,请包含以下 keepalive-timeout
语句:
keepalive-timeout seconds;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
发出show ldp session detail
命令时,为语句配置keepalive-timeout
的值显示为保留时间。
为 LDP 配置最长匹配
为了使 LDP 能够了解跨 OSPF 区域聚合或汇总的路由或域间 ISIS 级别,Junos OS 允许您根据 RFC5283配置 LDP 的最长时间匹配。
在为 LDP 配置最长匹配之前,必须执行以下操作:
配置设备接口。
配置 MPLS 协议。
配置 OSPF 协议。
要为 LDP 配置最长匹配,必须执行以下操作:
示例:为 LDP 配置最长匹配
此示例说明如何基于 RFC5283为 LDP 配置最长匹配。这使得 LDP 能够了解跨 OSPF 区域聚合或汇总的路由或域间 ISIS 级别。最长匹配策略提供按前缀粒度。
要求
此示例使用以下硬件和软件组件:
六个 MX 系列路由器,采用 OSPF 协议,连接的接口上启用了 LDP。
在所有设备上运行的 Junos OS 16.1 或更高版本。
准备工作:
配置设备接口。
配置 OSPF。
概述
LDP 通常用于通过 OSPF 或 IS-IS等 IGP 在整个网域中建立 MPLS 标签交换路径 (LSP)。在此类网络中,域中的所有链路都具有 IGP 邻接以及 LDP 邻接。LDP 在通过 IP 转发确定的到目标的最短路径上建立 LSP。在 Junos OS 中,LDP 实现对 RIB 或 IGP 路由中 FEC 的 IP 地址执行精确匹配查找,以进行标签映射。这种精确的映射要求在所有 LER 中配置 MPLS 端到端 LDP 端点 IP 地址。这有悖于在接入设备中进行 IP 分层设计或默认路由的目的。配置 longest-match
有助于通过抑制精确匹配行为并基于每个前缀的最长匹配路由设置 LSP 来帮助解决此问题。
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到 [edit] 层级的 CLI 中,然后从配置模式进入 commit
。
R0
set interfaces ge-0/0/0 unit 0 family inet address 22.22.22.1/24 set interfaces ge-0/0/1 unit 0 family inet address 15.15.15.1/24 set interfaces ge-0/0/2 unit 0 family inet address 11.11.11.1/24 set interfaces ge-0/0/2 unit 0 family iso set interfaces ge-0/0/2 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.112.1/32 primary set interfaces lo0 unit 0 family inet address 10.255.112.1/32 preferred set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0001.00 set routing-options router-id 10.255.112.1 set protocols mpls interface ge-0/0/2.0 set protocols ospf area 0.0.0.1 interface ge-0/0/2.0 set protocols ospf area 0.0.0.1 interface lo0.0 passive set protocols ldp longest-match set protocols ldp interface ge-0/0/2.0 set protocols ldp interface lo0.0
R1
set interfaces ge-0/0/0 unit 0 family inet address 11.11.11.2/24 set interfaces ge-0/0/0 unit 0 family iso set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 12.12.12.1/24 set interfaces ge-0/0/1 unit 0 family iso set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.112.2/32 primary set interfaces lo0 unit 0 family inet address 10.255.112.2/32 preferred set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0002.00 set routing-options router-id 10.255.112.2 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.1 interface ge-0/0/0.0 set protocols ldp longest-match set protocols ldp interface ge-0/0/0.0 set protocols ldp interface ge-0/0/1.0 set protocols ldp interface lo0.0
R2
set interfaces ge-0/0/0 unit 0 family inet address 24.24.24.1/24 set interfaces ge-0/0/0 unit 0 family iso set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 12.12.12.2/24 set interfaces ge-0/0/1 unit 0 family iso set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/2 unit 0 family inet address 23.23.23.1/24 set interfaces ge-0/0/2 unit 0 family iso set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/3 unit 0 family inet address 22.22.22.2/24 set interfaces ge-0/0/4 unit 0 family inet address 25.25.25.1/24 set interfaces ge-0/0/4 unit 0 family iso set interfaces ge-0/0/4 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.111.4/32 primary set interfaces lo0 unit 0 family inet address 10.255.111.4/32 preferred set interfaces lo0 unit 0 family iso address 49.0003.0192.0168.0003.00 set routing-options router-id 10.255.111.4 set protocols mpls interface ge-0/0/1.0 set protocols mpls interface ge-0/0/2.0 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/4.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.2 area-range 10.255.111.0/24 set protocols ospf area 0.0.0.2 interface ge-0/0/2.0 set protocols ospf area 0.0.0.2 interface ge-0/0/0.0 set protocols ospf area 0.0.0.2 interface ge-0/0/4.0 set protocols ldp interface ge-0/0/0.0 set protocols ldp interface ge-0/0/1.0 set protocols ldp interface ge-0/0/2.0 set protocols ldp interface ge-0/0/4.0 set protocols ldp interface lo0.0
R3
set interfaces ge-0/0/0 unit 0 family inet address 35.35.35.1/24 set interfaces ge-0/0/0 unit 0 family iso set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 23.23.23.2/24 set interfaces ge-0/0/1 unit 0 family iso set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/2 unit 0 family inet address 34.34.34.1/24 set interfaces ge-0/0/2 unit 0 family iso set interfaces ge-0/0/2 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.111.1/32 primary set interfaces lo0 unit 0 family inet address 10.255.111.1/32 preferred set interfaces lo0 unit 0 family iso address 49.0003.0192.0168.0004.00 set routing-options router-id 10.255.111.1 set protocols mpls interface ge-0/0/1.0 set protocols ospf area 0.0.0.2 interface ge-0/0/1.0 set protocols ospf area 0.0.0.2 interface fxp0.0 disable set protocols ospf area 0.0.0.2 interface lo0.0 passive set protocols ldp interface ge-0/0/1.0 set protocols ldp interface lo0.0
R4
set interfaces ge-0/0/0 unit 0 family inet address 45.45.45.1/24 set interfaces ge-0/0/0 unit 0 family iso set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 24.24.24.2/24 set interfaces ge-0/0/1 unit 0 family iso set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/2 unit 0 family inet address 34.34.34.2/24 set interfaces ge-0/0/2 unit 0 family iso set interfaces ge-0/0/2 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.111.2/32 primary set interfaces lo0 unit 0 family inet address 10.255.111.2/32 preferred set interfaces lo0 unit 0 family iso address 49.0003.0192.0168.0005.00 set routing-options router-id 10.255.111.2 set protocols mpls interface ge-0/0/1.0 set protocols ospf area 0.0.0.2 interface ge-0/0/1.0 set protocols ospf area 0.0.0.2 interface fxp0.0 disable set protocols ospf area 0.0.0.2 interface lo0.0 passive set protocols ldp interface ge-0/0/1.0 set protocols ldp interface lo0.0
R5
set interfaces ge-0/0/0 unit 0 family inet address 25.25.25.2/24 set interfaces ge-0/0/0 unit 0 family iso set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 15.15.15.2/24 set interfaces ge-0/0/2 unit 0 family inet address 35.35.35.2/24 set interfaces ge-0/0/3 unit 0 family inet address 45.45.45.2/24 set interfaces ge-0/0/3 unit 0 family iso set interfaces ge-0/0/3 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.111.3/32 primary set interfaces lo0 unit 0 family inet address 10.255.111.3/32 preferred set interfaces lo0 unit 0 family iso address 49.0003.0192.0168.0006.00 set routing-options router-id 10.255.111.3 set protocols mpls interface ge-0/0/0.0 set protocols ospf area 0.0.0.2 interface ge-0/0/0.0 set protocols ospf area 0.0.0.2 interface fxp0.0 disable set protocols ospf area 0.0.0.2 interface lo0.0 passive set protocols ldp interface ge-0/0/0.0 set protocols ldp interface lo0.0
配置设备 R0
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要配置设备 R0:
配置接口。
[edit interfaces] set ge-0/0/0 unit 0 family inet address 22.22.22.1/24 set ge-0/0/1 unit 0 family inet address 15.15.15.1/24 set ge-0/0/2 unit 0 family inet address 11.11.11.1/24 set ge-0/0/2 unit 0 family iso set ge-0/0/2 unit 0 family mpls
将环路地址分配给设备。
[edit interfaces lo0 unit 0 family] set inet address 10.255.112.1/32 primary set inet address 10.255.112.1/32 preferred set iso address 49.0002.0192.0168.0001.00
配置路由器 ID。
[edit routing-options] set router-id 10.255.112.1
在接口上配置 MPLS 协议。
[edit protocols mpls] set interface ge-0/0/2.0
在接口上配置 OSPF 协议。
[edit protocols ospf] set area 0.0.0.1 interface ge-0/0/2.0 set area 0.0.0.1 interface lo0.0 passive
配置 LDP 协议的最长匹配。
[edit protocols ldp] set longest-match
在接口上配置 LDP 协议。
[edit protocols ldp] set interface ge-0/0/2.0 set interface lo0.0
结果
在配置模式下,输入 show interfaces、 show protocols和 show routing-options 命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。
user@R0# show interfaces ge-0/0/0 { unit 0 { family inet { address 22.22.22.1/24; } } } ge-0/0/1 { unit 0 { family inet { address 15.15.15.1/24; } } } ge-0/0/2 { unit 0 { family inet { address 11.11.11.1/24; } family iso; family mpls; } } lo0 { unit 0 { family inet { address 10.255.112.1/32 { primary; preferred; } } family iso { address 49.0002.0192.0168.0001.00; } } }
user@R0# show protocols mpls { interface ge-0/0/2.0; } ospf { area 0.0.0.1 { interface ge-0/0/2.0; interface lo0.0 { passive; } } } ldp { longest-match; interface ge-0/0/2.0; interface lo0.0; }
user@R0# show routing-options router-id 10.255.112.1;
如果完成设备配置,请从配置模式输入 commit
。
验证
确认配置工作正常。
验证路由
目的
验证是否学习了预期的路由。
操作
在设备 R0 上,在操作模式下,运行 show route
命令以显示路由表中的路由。
user@R0> show route
inet.0: 62 destinations, 62 routes (62 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.4.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.5.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.6.128.0/17 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.9.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.10.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.13.4.0/23 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.13.10.0/23 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.82.0.0/15 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.84.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.85.12.0/22 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.92.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.92.16.0/20 *[Direct/0] 10:08:01
> via fxp0.0
10.92.20.175/32 *[Local/0] 10:08:01
Local via fxp0.0
10.94.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.99.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.102.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.150.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.155.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.157.64.0/19 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.160.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.204.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.205.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.206.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.207.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.209.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.212.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.213.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.214.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.215.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.216.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.218.13.0/24 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.218.14.0/24 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.218.16.0/20 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.218.32.0/20 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.227.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
10.255.111.0/24 *[OSPF/10] 09:52:14, metric 3
> to 11.11.11.2 via ge-0/0/2.0
10.255.111.4/32 *[OSPF/10] 09:54:10, metric 2
> to 11.11.11.2 via ge-0/0/2.0
10.255.112.1/32 *[Direct/0] 09:55:05
> via lo0.0
10.255.112.2/32 *[OSPF/10] 09:54:18, metric 1
> to 11.11.11.2 via ge-0/0/2.0
11.11.11.0/24 *[Direct/0] 09:55:05
> via ge-0/0/2.0
11.11.11.1/32 *[Local/0] 09:55:05
Local via ge-0/0/2.0
12.12.12.0/24 *[OSPF/10] 09:54:18, metric 2
> to 11.11.11.2 via ge-0/0/2.0
15.15.15.0/24 *[Direct/0] 09:55:05
> via ge-0/0/1.0
15.15.15.1/32 *[Local/0] 09:55:05
Local via ge-0/0/1.0
22.22.22.0/24 *[Direct/0] 09:55:05
> via ge-0/0/0.0
22.22.22.1/32 *[Local/0] 09:55:05
Local via ge-0/0/0.0
23.23.23.0/24 *[OSPF/10] 09:54:10, metric 3
> to 11.11.11.2 via ge-0/0/2.0
24.24.24.0/24 *[OSPF/10] 09:54:10, metric 3
> to 11.11.11.2 via ge-0/0/2.0
25.25.25.0/24 *[OSPF/10] 09:54:10, metric 3
> to 11.11.11.2 via ge-0/0/2.0
128.92.17.45/32 *[OSPF/10] 09:54:05, metric 3
> to 11.11.11.2 via ge-0/0/2.0
128.92.20.175/32 *[Direct/0] 10:08:01
> via lo0.0
128.92.21.186/32 *[OSPF/10] 09:54:10, metric 3
> to 11.11.11.2 via ge-0/0/2.0
128.92.25.135/32 *[OSPF/10] 09:54:10, metric 3
> to 11.11.11.2 via ge-0/0/2.0
128.92.27.91/32 *[OSPF/10] 09:54:18, metric 1
> to 11.11.11.2 via ge-0/0/2.0
128.92.28.70/32 *[OSPF/10] 09:54:10, metric 2
> to 11.11.11.2 via ge-0/0/2.0
172.16.0.0/12 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
192.168.0.0/16 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
192.168.102.0/23 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
207.17.136.0/24 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
207.17.136.192/32 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
207.17.137.0/24 *[Static/5] 10:08:01
> to 10.92.31.254 via fxp0.0
224.0.0.5/32 *[OSPF/10] 09:55:05, metric 1
MultiRecv
inet.3: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.255.111.1/32 *[LDP/9] 09:41:03, metric 3
> to 11.11.11.2 via ge-0/0/2.0, Push 300128
10.255.111.2/32 *[LDP/9] 09:41:03, metric 3
> to 11.11.11.2 via ge-0/0/2.0, Push 300144
10.255.111.3/32 *[LDP/9] 09:41:03, metric 3
> to 11.11.11.2 via ge-0/0/2.0, Push 300160
10.255.111.4/32 *[LDP/9] 09:54:10, metric 2, tag 0
> to 11.11.11.2 via ge-0/0/2.0, Push 300000
10.255.112.2/32 *[LDP/9] 09:54:48, metric 1, tag 0
> to 11.11.11.2 via ge-0/0/2.0
iso.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
47.0005.80ff.f800.0000.0108.0001.1280.9202.0175/152
*[Direct/0] 10:08:01
> via lo0.0
49.0002.0192.0168.0001/72
*[Direct/0] 09:55:05
> via lo0.0
mpls.0: 10 destinations, 10 routes (10 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
0 *[MPLS/0] 09:55:05, metric 1
Receive
1 *[MPLS/0] 09:55:05, metric 1
Receive
2 *[MPLS/0] 09:55:05, metric 1
Receive
13 *[MPLS/0] 09:55:05, metric 1
Receive
300064 *[LDP/9] 09:54:48, metric 1
> to 11.11.11.2 via ge-0/0/2.0, Pop
300064(S=0) *[LDP/9] 09:54:48, metric 1
> to 11.11.11.2 via ge-0/0/2.0, Pop
300112 *[LDP/9] 09:54:10, metric 2, tag 0
> to 11.11.11.2 via ge-0/0/2.0, Swap 300000
300192 *[LDP/9] 09:41:03, metric 3
> to 11.11.11.2 via ge-0/0/2.0, Swap 300128
300208 *[LDP/9] 09:41:03, metric 3
> to 11.11.11.2 via ge-0/0/2.0, Swap 300144
300224 *[LDP/9] 09:41:03, metric 3
> to 11.11.11.2 via ge-0/0/2.0, Swap 300160
inet6.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
abcd::128:92:20:175/128
*[Direct/0] 10:08:01
> via lo0.0
fe80::5668:a50f:fcc1:1f9c/128
*[Direct/0] 10:08:01
> via lo0.0
意义
输出显示设备 R0 路由表中的所有路由。
验证 LDP 概述信息
目的
显示 LDP 概述信息。
操作
在设备 R0 上,在操作模式下,运行 show ldp overview
命令以显示 LDP 的概览。
user@R0> show ldp overview
Instance: master
Reference count: 2
Router ID: 10.255.112.1
Message id: 8
Configuration sequence: 6
Deaggregate: disabled
Explicit null: disabled
IPv6 tunneling: disabled
Strict targeted hellos: disabled
Loopback if added: yes
Route preference: 9
Unicast transit LSP chaining: disabled
P2MP transit LSP chaining: disabled
Transit LSP statistics based on route statistics: disabled
LDP route acknowledgement: enabled
LDP mtu discovery: disabled
Longest Match: enabled
Capabilities enabled: none
Egress FEC capabilities enabled: entropy-label-capability
Downstream unsolicited Sessions:
Operational: 1
Retention: liberal
Control: ordered
Auto targeted sessions:
Auto targeted: disabled
Timers:
Keepalive interval: 10, Keepalive timeout: 30
Link hello interval: 5, Link hello hold time: 15
Targeted hello interval: 15, Targeted hello hold time: 45
Label withdraw delay: 60, Make before break timeout: 30
Make before break switchover delay: 3
Link protection timeout: 120
Graceful restart:
Restart: disabled, Helper: enabled, Restart in process: false
Reconnect time: 60000, Max neighbor reconnect time: 120000
Recovery time: 160000, Max neighbor recovery time: 240000
Traffic Engineering:
Bgp igp: disabled
Both ribs: disabled
Mpls forwarding: disabled
IGP:
Tracking igp metric: disabled
Sync session up delay: 10
Session protection:
Session protection: disabled
Session protection timeout: 0
Interface addresses advertising:
11.11.11.1
10.255.112.1
128.92.20.175
Label allocation:
Current number of LDP labels allocated: 5
Total number of LDP labels allocated: 11
Total number of LDP labels freed: 6
Total number of LDP label allocation failure: 0
Current number of labels allocated by all protocols: 5
意义
输出显示设备 R0 的 LDP 概览信息
验证内部拓扑表中的 LDP 条目
目的
显示标签分发协议 (LDP) 内部拓扑表中的路由条目。
操作
在设备 R0 上,在操作模式下,运行 show ldp route
命令以显示 LDP 的内部拓扑表。
user@R0> show ldp route
Destination Next-hop intf/lsp/table Next-hop address
10.4.0.0/16 fxp0.0 10.92.31.254
10.5.0.0/16 fxp0.0 10.92.31.254
10.6.128.0/17 fxp0.0 10.92.31.254
10.9.0.0/16 fxp0.0 10.92.31.254
10.10.0.0/16 fxp0.0 10.92.31.254
10.13.4.0/23 fxp0.0 10.92.31.254
10.13.10.0/23 fxp0.0 10.92.31.254
10.82.0.0/15 fxp0.0 10.92.31.254
10.84.0.0/16 fxp0.0 10.92.31.254
10.85.12.0/22 fxp0.0 10.92.31.254
10.92.0.0/16 fxp0.0 10.92.31.254
10.92.16.0/20 fxp0.0
10.92.20.175/32
10.94.0.0/16 fxp0.0 10.92.31.254
10.99.0.0/16 fxp0.0 10.92.31.254
10.102.0.0/16 fxp0.0 10.92.31.254
10.150.0.0/16 fxp0.0 10.92.31.254
10.155.0.0/16 fxp0.0 10.92.31.254
10.157.64.0/19 fxp0.0 10.92.31.254
10.160.0.0/16 fxp0.0 10.92.31.254
10.204.0.0/16 fxp0.0 10.92.31.254
10.205.0.0/16 fxp0.0 10.92.31.254
10.206.0.0/16 fxp0.0 10.92.31.254
10.207.0.0/16 fxp0.0 10.92.31.254
10.209.0.0/16 fxp0.0 10.92.31.254
10.212.0.0/16 fxp0.0 10.92.31.254
10.213.0.0/16 fxp0.0 10.92.31.254
10.214.0.0/16 fxp0.0 10.92.31.254
10.215.0.0/16 fxp0.0 10.92.31.254
10.216.0.0/16 fxp0.0 10.92.31.254
10.218.13.0/24 fxp0.0 10.92.31.254
10.218.14.0/24 fxp0.0 10.92.31.254
10.218.16.0/20 fxp0.0 10.92.31.254
10.218.32.0/20 fxp0.0 10.92.31.254
10.227.0.0/16 fxp0.0 10.92.31.254
10.255.111.0/24 ge-0/0/2.0 11.11.11.2
10.255.111.4/32 ge-0/0/2.0 11.11.11.2
10.255.112.1/32 lo0.0
10.255.112.2/32 ge-0/0/2.0 11.11.11.2
11.11.11.0/24 ge-0/0/2.0
11.11.11.1/32
12.12.12.0/24 ge-0/0/2.0 11.11.11.2
15.15.15.0/24 ge-0/0/1.0
15.15.15.1/32
22.22.22.0/24 ge-0/0/0.0
22.22.22.1/32
23.23.23.0/24 ge-0/0/2.0 11.11.11.2
24.24.24.0/24 ge-0/0/2.0 11.11.11.2
25.25.25.0/24 ge-0/0/2.0 11.11.11.2
128.92.17.45/32 ge-0/0/2.0 11.11.11.2
128.92.20.175/32 lo0.0
128.92.21.186/32 ge-0/0/2.0 11.11.11.2
128.92.25.135/32 ge-0/0/2.0 11.11.11.2
128.92.27.91/32 ge-0/0/2.0 11.11.11.2
128.92.28.70/32 ge-0/0/2.0 11.11.11.2
172.16.0.0/12 fxp0.0 10.92.31.254
192.168.0.0/16 fxp0.0 10.92.31.254
192.168.102.0/23 fxp0.0 10.92.31.254
207.17.136.0/24 fxp0.0 10.92.31.254
207.17.136.192/32 fxp0.0 10.92.31.254
207.17.137.0/24 fxp0.0 10.92.31.254
224.0.0.5/32
意义
输出显示设备 R0 的标签分发协议 (LDP) 内部拓扑表中的路由条目。
仅验证 LDP 路由的 FEC 信息
目的
仅显示LDP路由的FEC信息。
操作
在设备 R0 上,在操作模式下,运行 show ldp route fec-only
命令以显示路由表中的路由。
user@R0> show ldp route fec-only
Destination Next-hop intf/lsp/table Next-hop address
10.255.111.1/32 ge-0/0/2.0 11.11.11.2
10.255.111.2/32 ge-0/0/2.0 11.11.11.2
10.255.111.3/32 ge-0/0/2.0 11.11.11.2
10.255.111.4/32 ge-0/0/2.0 11.11.11.2
10.255.112.1/32 lo0.0
10.255.112.2/32 ge-0/0/2.0 11.11.11.2
意义
输出仅显示可用于设备 R0 的 LDP 协议的 FEC 路由。
验证 LDP 的 FEC 和影子路由
目的
显示路由表中的 FEC 和影子路由。
操作
在设备 R0 上,在操作模式下,运行 show ldp route fec-and-route
命令以在路由表中显示 FEC 和影子路由。
user@R0> show ldp route fec-and-route
Destination Next-hop intf/lsp/table Next-hop address
10.4.0.0/16 fxp0.0 10.92.31.254
10.5.0.0/16 fxp0.0 10.92.31.254
10.6.128.0/17 fxp0.0 10.92.31.254
10.9.0.0/16 fxp0.0 10.92.31.254
10.10.0.0/16 fxp0.0 10.92.31.254
10.13.4.0/23 fxp0.0 10.92.31.254
10.13.10.0/23 fxp0.0 10.92.31.254
10.82.0.0/15 fxp0.0 10.92.31.254
10.84.0.0/16 fxp0.0 10.92.31.254
10.85.12.0/22 fxp0.0 10.92.31.254
10.92.0.0/16 fxp0.0 10.92.31.254
10.92.16.0/20 fxp0.0
10.92.20.175/32
10.94.0.0/16 fxp0.0 10.92.31.254
10.99.0.0/16 fxp0.0 10.92.31.254
10.102.0.0/16 fxp0.0 10.92.31.254
10.150.0.0/16 fxp0.0 10.92.31.254
10.155.0.0/16 fxp0.0 10.92.31.254
10.157.64.0/19 fxp0.0 10.92.31.254
10.160.0.0/16 fxp0.0 10.92.31.254
10.204.0.0/16 fxp0.0 10.92.31.254
10.205.0.0/16 fxp0.0 10.92.31.254
10.206.0.0/16 fxp0.0 10.92.31.254
10.207.0.0/16 fxp0.0 10.92.31.254
10.209.0.0/16 fxp0.0 10.92.31.254
10.212.0.0/16 fxp0.0 10.92.31.254
10.213.0.0/16 fxp0.0 10.92.31.254
10.214.0.0/16 fxp0.0 10.92.31.254
10.215.0.0/16 fxp0.0 10.92.31.254
10.216.0.0/16 fxp0.0 10.92.31.254
10.218.13.0/24 fxp0.0 10.92.31.254
10.218.14.0/24 fxp0.0 10.92.31.254
10.218.16.0/20 fxp0.0 10.92.31.254
10.218.32.0/20 fxp0.0 10.92.31.254
10.227.0.0/16 fxp0.0 10.92.31.254
10.255.111.0/24 ge-0/0/2.0 11.11.11.2
10.255.111.1/32 ge-0/0/2.0 11.11.11.2
10.255.111.2/32 ge-0/0/2.0 11.11.11.2
10.255.111.3/32 ge-0/0/2.0 11.11.11.2
10.255.111.4/32 ge-0/0/2.0 11.11.11.2
10.255.111.4/32 ge-0/0/2.0 11.11.11.2
10.255.112.1/32 lo0.0
10.255.112.1/32 lo0.0
10.255.112.2/32 ge-0/0/2.0 11.11.11.2
10.255.112.2/32 ge-0/0/2.0 11.11.11.2
11.11.11.0/24 ge-0/0/2.0
11.11.11.1/32
12.12.12.0/24 ge-0/0/2.0 11.11.11.2
15.15.15.0/24 ge-0/0/1.0
15.15.15.1/32
22.22.22.0/24 ge-0/0/0.0
22.22.22.1/32
23.23.23.0/24 ge-0/0/2.0 11.11.11.2
24.24.24.0/24 ge-0/0/2.0 11.11.11.2
25.25.25.0/24 ge-0/0/2.0 11.11.11.2
128.92.17.45/32 ge-0/0/2.0 11.11.11.2
128.92.20.175/32 lo0.0
128.92.21.186/32 ge-0/0/2.0 11.11.11.2
128.92.25.135/32 ge-0/0/2.0 11.11.11.2
128.92.27.91/32 ge-0/0/2.0 11.11.11.2
128.92.28.70/32 ge-0/0/2.0 11.11.11.2
172.16.0.0/12 fxp0.0 10.92.31.254
192.168.0.0/16 fxp0.0 10.92.31.254
192.168.102.0/23 fxp0.0 10.92.31.254
207.17.136.0/24 fxp0.0 10.92.31.254
207.17.136.192/32 fxp0.0 10.92.31.254
207.17.137.0/24 fxp0.0 10.92.31.254
224.0.0.5/32
意义
输出显示设备 R0 的 FEC 和影子路由
配置 LDP 路由首选项
当多个协议计算到同一目的地的路由时,路由首选项用于选择在转发表中安装哪个路由。选择具有最低首选项值的路由。首选项值可以是 0 到 255 范围内的数字。默认情况下,LDP 路由的优先级值为 9。
要修改路由首选项,请包含以下 preference
语句:
preference preference;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
LDP 平滑重启
LDP 平稳重启使 LDP 控制平面正在进行重启的路由器能够继续转发流量,同时从相邻路由器恢复其状态。它还使启用了帮助程序模式的路由器能够帮助尝试重新启动 LDP 的相邻路由器。
在会话初始化期间,路由器通告其执行 LDP 平稳重新启动的能力,或通过发送平稳重新启动 TLV 来利用执行 LDP 平稳重新启动的邻接方。此 TLV 包含两个与 LDP 平滑重启相关的字段:重新连接时间和恢复时间。重新连接和恢复时间的值表示路由器支持的平稳重启功能。
当路由器发现相邻路由器正在重新启动时,它会等到恢复时间结束,然后再尝试重新连接。恢复时间是路由器等待 LDP 正常重新启动的时间长度。恢复时间段从发送或接收初始化消息时开始。此时间段通常也是相邻路由器维护有关重新启动路由器的信息的时间长度,允许其继续转发流量。
您可以在主实例中为 LDP 协议和特定路由实例配置 LDP 平稳重启。您可以在全局级别对所有协议禁用平稳重启,在协议级别仅为 LDP 禁用平稳重启,也可以在特定路由实例上禁用平稳重启。默认情况下禁用 LDP 平滑重新启动,因为在全局级别,默认情况下禁用平滑重新启动。但是,默认情况下会启用帮助程序模式(帮助相邻路由器尝试平稳重新启动的功能)。
以下是与 LDP 平稳重新启动关联的一些行为:
在重新启动时不会保留传出标签。将分配新的传出标签。
当路由器重新启动时,在重新启动的路由器稳定之前,不会向支持平稳重新启动的邻居发送标签映射消息(标签映射消息会立即发送到不支持正常重新启动的邻居)。但是,所有其他消息(激活、地址消息、通知和释放)将照常发送。分发这些其他消息可防止路由器分发不完整的信息。
帮助程序模式和平稳重启是独立的。您可以在配置中禁用平稳重新启动,但仍允许路由器与尝试正常重新启动的邻居合作。
配置 LDP 平滑重启
在 或 [edit routing-options graceful-restart]
[edit protocols ldp graceful-restart]
层次结构级别更改平稳重新启动配置时,任何正在运行的 LDP 会话都将自动重新启动以应用平稳重新启动配置。此行为反映了 BGP 在更改其平稳重启配置时的行为。
默认情况下,正常重启帮助程序模式处于启用状态,但平稳重启处于禁用状态。因此,路由器的默认行为是帮助相邻路由器尝试正常重新启动,而不是尝试正常重新启动本身。
要配置 LDP 平滑重启,请参阅以下部分:
启用平滑重启
要启用 LDP 平滑重启,还需要在路由器上启用平滑重启。要启用平稳重新启动,请包含以下 graceful-restart
语句:
graceful-restart;
您可以在以下层次结构级别包含此语句:
[edit routing-options]
[edit logical-systems logical-system-name routing-options]
ACX 系列路由器不支持 [edit logical-systems logical-system-name routing-options
] 层次结构级别。
该 graceful-restart
语句允许路由器上支持此功能的所有协议平稳重新启动。有关平稳重启的详细信息,请参阅 适用于路由设备的 Junos OS 路由协议库。
默认情况下,当您在 LDP 协议级别和所有路由实例上启用平稳重新启动时,将启用 LDP 平稳重新启动。但是,您可以禁用 LDP 平稳重新启动和 LDP 平稳重新启动帮助程序模式。
禁用 LDP 平稳重新启动或帮助程序模式
要禁用 LDP 正常重新启动和恢复,请包含以下 disable
语句:
ldp { graceful-restart { disable; } }
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
只能在 LDP 协议级别禁用帮助程序模式。您无法为特定路由实例禁用帮助程序模式。要禁用 LDP 帮助程序模式,请包含以下 helper-disable
语句:
ldp { graceful-restart { helper-disable; } }
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
可以进行以下 LDP 平稳重新启动配置:
LDP 平稳重启和帮助程序模式均已启用。
LDP 平滑重启已禁用,但帮助程序模式已启用。以这种方式配置的路由器无法正常重新启动,但可以帮助重新启动邻居。
LDP 平稳重启和帮助程序模式均处于禁用状态。路由器不使用 LDP 平稳重启或初始化消息中发送的平稳重启类型、长度和值 (TLV)。路由器表现为不支持 LDP 平稳重新启动的路由器。
如果尝试启用平稳重启并禁用帮助程序模式,则会发出配置错误。
配置重新连接时间
邻居之间的 LDP 连接失败后,邻居会等待一段时间,以便正常重启的路由器恢复发送 LDP 消息。等待期过后,可以重新建立 LDP 会话。您可以配置等待期(以秒为单位)。启用 LDP 平稳重新启动时,此值包含在 LDP 初始化消息中发送的容错会话 TLV 中。
假设路由器 A 和路由器 B 是 LDP 邻居。路由器 A 是正在重新启动的路由器。重新连接时间是路由器 A 在路由器 B 检测到路由器 A 重新启动后告诉路由器 B 等待的时间。
要配置重新连接时间,请包含以下 reconnect-time
语句:
graceful-restart { reconnect-time seconds; }
您可以将重新连接时间设置为 30 到 300 秒范围内的值。默认情况下,它是 60 秒。
有关可在其中配置这些语句的层次结构级别的列表,请参阅这些语句的语句摘要部分。
配置恢复时间和最长恢复时间
恢复时间是路由器等待 LDP 正常重新启动的时间量。恢复时间段从发送或接收初始化消息时开始。此时间段通常也是相邻路由器维护有关重新启动路由器的信息的时间量,允许其继续转发流量。
为了防止相邻路由器在从重新启动的路由器收到错误的恢复时间值时受到负面影响,您可以在相邻路由器上配置最长恢复时间。相邻路由器保持其状态的时间是两次中较短的一次。例如,路由器 A 正在执行 LDP 平稳重新启动。它已向相邻路由器 B 发送了 900 秒的恢复时间。但是,路由器 B 的最大恢复时间配置为 400 秒。路由器 B 只会等待 400 秒,然后从路由器 A 中清除其 LDP 信息。
要配置恢复时间,请包括 recovery-time
语句和 maximum-neighbor-recovery-time
语句:
graceful-restart { maximum-neighbor-recovery-time seconds; recovery-time seconds; }
有关可在其中配置这些语句的层次结构级别的列表,请参阅这些语句的语句摘要部分。
过滤入站 LDP 标签绑定
您可以过滤收到的 LDP 标签绑定,应用策略以接受或拒绝相邻路由器通告的绑定。要配置接收标签筛选,请包含以下 import
语句:
import [ policy-names ];
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
命名策略(在层次结构级别配置 [edit policy-options]
)将应用于从所有 LDP 邻接方接收的所有标签绑定。所有筛选都是通过 from
语句完成的。 表 1 列出了唯一 from
适用于 LDP 接收标签筛选的运算符。
from 算子 |
Description |
---|---|
|
匹配从指定接口上相邻的邻接方收到的绑定 |
|
匹配从指定 LDP 路由器 ID 接收的绑定 |
|
匹配从播发指定接口地址的邻接方收到的绑定 |
|
匹配具有指定前缀的绑定 |
如果筛选了绑定,它仍会显示在 LDP 数据库中,但不考虑作为标签交换路径 (LSP) 的一部分进行安装。
通常,在 LDP 中应用策略只能用于阻止 LSP 的建立,而不能用于控制其路由。这是因为 LSP 遵循的路径由单播路由确定,而不是由 LDP 确定。但是,当有多个通过不同邻接方到达目标的等价路径时,可以使用 LDP 筛选从考虑范围中排除一些可能的下一跃点。(否则,LDP 会随机选择一个可能的下一跃点。
LDP 会话不绑定接口或接口地址。LDP 仅播发每个路由器(而不是每个接口)标签;因此,如果两个路由器之间存在多个并行链路,则只会建立一个LDP会话,并且不会绑定到单个接口。当路由器与同一邻接方有多个邻接关系时,请注意确保过滤器执行预期操作。(通常,在这种情况下使用 next-hop
和 interface
是不合适的。
如果标签已被筛选(意味着它已被策略拒绝并且不用于构造 LSP),则会在数据库中将其标记为已筛选:
user@host> show ldp database Input label database, 10.10.255.1:0-10.10.255.6:0 Label Prefix 3 10.10.255.6/32 (Filtered) Output label database, 10.10.255.1:0-10.10.255.6:0 Label Prefix 3 10.10.255.1/32 (Filtered)
有关如何为 LDP 配置策略的更多信息,请参阅 路由策略、防火墙过滤器和流量监管器用户指南。
示例:过滤入站 LDP 标签绑定
仅接受来自所有邻居的 /32 前缀:
[edit] protocols { ldp { import only-32; ... } } policy-options { policy-statement only-32 { term first { from { route-filter 0.0.0.0/0 upto /31; } then reject; } then accept; } }
接受 131.108/16
路由器 ID 或更长的路由器 ID 10.10.255.2
,并接受来自所有其他邻居的所有前缀:
[edit] protocols { ldp { import nosy-neighbor; ... } } policy-options { policy-statement nosy-neighbor { term first { from { neighbor 10.10.255.2; route-filter 131.108.0.0/16 orlonger accept; route-filter 0.0.0.0/0 orlonger reject; } } then accept; } }
过滤出站 LDP 标签绑定
您可以配置导出策略来过滤 LDP 出站标签。您可以通过应用路由策略来过滤出站标签绑定,阻止绑定播发到相邻路由器。要配置出站标签筛选,请包含以下 export
语句:
export [policy-name];
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
指定的导出策略(在层次结构级别配置 [edit policy-options]
)将应用于传输到所有 LDP 邻接方的所有标签绑定。唯一 from
适用于 LDP 出站标签筛选的运算符是 route-filter
,它匹配具有指定前缀的绑定。唯一 to
适用于出站标签筛选的运算符是 中的 表 2运算符。
到操作员 |
Description |
---|---|
|
匹配发送到通过指定接口相邻的邻接方的绑定 |
|
与发送到指定 LDP 路由器 ID 的绑定匹配 |
|
与发送到通告指定接口地址的邻接方的绑定进行匹配 |
如果过滤了绑定,则绑定不会播发到相邻路由器,但可以作为 LSP 的一部分安装在本地路由器上。您可以在 LDP 中应用策略来阻止 LSP 的建立,但不能控制其路由。LSP 遵循的路径由单播路由确定,而不是由 LDP 确定。
LDP 会话不绑定接口或接口地址。LDP 仅播发每个路由器(而不是每个接口)标签。如果两个路由器之间存在多个并行链路,则仅建立一个 LDP 会话,并且不会绑定到单个接口。
当路由器与同一邻居有多个邻接关系时,请勿使用 next-hop
and interface
运算符。
过滤后的标签在数据库中标记:
user@host> show ldp database Input label database, 10.10.255.1:0-10.10.255.3:0 Label Prefix 100007 10.10.255.2/32 3 10.10.255.3/32 Output label database, 10.10.255.1:0-10.10.255.3:0 Label Prefix 3 10.10.255.1/32 100001 10.10.255.6/32 (Filtered)
有关如何为 LDP 配置策略的更多信息,请参阅 路由策略、防火墙过滤器和流量监管器用户指南。
示例:过滤出站 LDP 标签绑定
阻止将路由 10.10.255.6/32
传输到任何邻居:
[edit protocols] ldp { export block-one; } policy-options { policy-statement block-one { term first { from { route-filter 10.10.255.6/32 exact; } then reject; } then accept; } }
仅 131.108/16
发送或更长时间发送到路由器 ID 10.10.255.2
,并将所有前缀发送到所有其他路由器:
[edit protocols] ldp { export limit-lsps; } policy-options { policy-statement limit-lsps { term allow-one { from { route-filter 131.108.0.0/16 orlonger; } to { neighbor 10.10.255.2; } then accept; } term block-the-rest { to { neighbor 10.10.255.2; } then reject; } then accept; } }
指定 LDP 使用的传输地址
路由器必须先在彼此之间建立 TCP 会话,然后才能建立 LDP 会话。TCP 会话使路由器能够交换 LDP 会话所需的标签通告。要建立 TCP 会话,每个路由器都必须学习另一个路由器的传输地址。传输地址是用于标识运行 LDP 会话的 TCP 会话的 IP 地址。
要配置 LDP 传输地址,请包含传输地址语句:
transport-address (router-id | interface);
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
如果指定该 router-id
选项,则将路由器标识符的地址用作传输地址(除非另有配置,否则路由器标识符通常与环路地址相同)。如果指定该 interface
选项,则该接口地址将用作可通过该接口到达的到邻接方的任何 LDP 会话的传输地址。请注意,默认情况下,路由器标识符用作传输地址。
要正常运行,LDP 传输地址必须可访问。路由器 ID 是一个标识符,而不是可路由的 IP 地址。因此,建议将路由器 ID 设置为与环路地址匹配,并由 IGP 通告环路地址。
当有多个并行链路连接到同一 LDP 邻接方时,您无法指定该 interface
选项,因为 LDP 规范要求在所有接口上向同一邻接方播发相同的传输地址。如果 LDP 检测到到同一邻接方的多个并行链路,则会通过断开接口上的邻接方连接或指定 router-id
选项来逐个禁用与该邻接方的接口,直到清除条件为止。
控制用于目标 LDP 会话的传输地址
要在两台设备之间建立 TCP 会话,每台设备都必须学习另一台设备的传输地址。传输地址是用于标识运行 LDP 会话的 TCP 会话的 IP 地址。以前,此传输地址只能是路由器 ID 或接口地址。借助 LDP 传输地址功能,您可以将任何 IP 地址显式配置为第 2 层电路、MPLS 和 VPLS 邻接的目标 LDP 邻接方的传输地址。这使您能够使用传输地址配置来控制目标 LDP 会话。
控制用于目标 LDP 会话的传输地址的好处
配置传输地址以建立目标 LDP 会话具有以下优点:
Flexible interface configurations— 提供为一个环路接口配置多个 IP 地址的灵活性,而不会中断在目标 LDP 邻接方之间创建 LDP 会话。
Ease of operation— 在接口级别配置的传输地址允许您在 LDP 的 IGP 主干网中使用多个协议。这样可以实现平稳和简单的操作。
目标 LDP 传输地址概述
在 Junos OS 19.1R1 版之前,LDP 仅支持将路由器 ID 或接口地址作为任何 LDP 接口上的传输地址。在该接口上形成的邻接使用分配给该接口的 IP 地址之一或路由器 ID。在目标邻接的情况下,接口是环路接口。在设备上配置了多个环路地址时,无法为接口派生传输地址,因此无法建立 LDP 会话。
从 Junos OS 19.1R1 版开始,除了用于目标 LDP 会话的传输地址的默认 IP 地址外,您还可以在 、 session-group
和interface
配置语句下session
将任何其他 IP 地址配置为传输地址。传输地址配置仅适用于已配置的邻接方,包括第 2 层电路、MPLS 和 VPLS 邻接。此配置不适用于发现的邻接(目标或非目标)。
传输地址首选项
您可以在会话、会话组和接口级别为目标 LDP 会话配置传输地址。
配置传输地址后,将根据 LDP 的传输地址首选项建立目标 LDP 会话。
目标邻接方(通过第 2 层电路、MPLS、VPLS 和 LDP 配置配置)的传输地址优先顺序如下:
在层次结构下
[edit protocols ldp session]
。在层次结构下
[edit protocols ldp session-group]
。在层次结构下
[edit protocols ldp interfcae lo0]
。在层次结构下
[edit protocols ldp]
。默认地址。
发现的邻居的传输地址的优先顺序如下:
在层次结构下
[edit protocols ldp interfcae]
。在层次结构下
[edit protocols ldp]
。默认地址。
对于将 LDP 配置为接受你好数据包的自动目标邻接方,传输地址的优先顺序如下:
在层次结构下
[edit protocols ldp interfcae lo0]
。在层次结构下
[edit protocols ldp]
。默认地址。
传输地址配置疑难解答
您可以使用以下 show 命令输出对目标 LDP 会话进行故障排除:
show ldp session
show ldp neighbor
detail
命令的show ldp neighbor
输出级别显示在你好消息中发送到目标邻居的传输地址。如果无法从邻居访问此地址,则不会启动 LDP 会话。show configuration protocols ldp
您还可以启用 LDP 追踪选项以进行进一步的故障排除。
如果将配置从使用无效(无法访问)的传输地址更改为有效的传输地址,则可以观察到以下跟踪:
May 29 10:47:11.569722 Incoming connect from 10.55.1.4 May 29 10:47:11.570064 Connection 10.55.1.4 state Closed -> Open May 29 10:47:11.570727 Session 10.55.1.4 state Nonexistent -> Initialized May 29 10:47:11.570768 Session 10.55.1.4 state Initialized -> OpenRec May 29 10:47:11.570799 LDP: Session param Max PDU length 4096 from 10.55.1.4, negotiated 4096 May 29 10:47:11.570823 Session 10.55.1.4 GR state Nonexistent -> Operational May 29 10:47:11.669295 Session 10.55.1.4 state OpenRec -> Operational May 29 10:47:11.669387 RPD_LDP_SESSIONUP: LDP session 10.55.1.4 is up
如果将配置从使用有效的传输地址更改为无效(无法访问)的传输地址,则可以观察到以下跟踪:
May 29 10:42:36.317942 Session 10.55.1.4 GR state Operational -> Nonexistent May 29 10:42:36.318171 Session 10.55.1.4 state Operational -> Closing May 29 10:42:36.318208 LDP session 10.55.1.4 is down, reason: received notification from peer May 29 10:42:36.318236 RPD_LDP_SESSIONDOWN: LDP session 10.55.1.4 is down, reason: received notification from peer May 29 10:42:36.320081 Connection 10.55.1.4 state Open -> Closed May 29 10:42:36.322411 Session 10.55.1.4 state Closing -> Nonexistent
如果出现配置错误,请执行以下故障排除任务:
address family
检查 . 在语句下session
配置的传输地址必须与邻居或会话属于同一地址族。在 or
neighbor
session
语句下配置为传输地址的地址必须是路由器的本地地址,目标 你好 消息才能启动。您可以检查地址是否已配置。如果未在任何接口下配置地址,则配置将被拒绝。
配置从路由表播发到 LDP 的前缀
您可以控制播发到 LDP 中的前缀集,并使路由器成为这些前缀的出口路由器。默认情况下,仅将环路地址播发到 LDP。要配置路由表中要播发到 LDP 中的前缀集,请包含以下 egress-policy
语句:
egress-policy policy-name;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
如果为 LDP 配置的出口策略不包含环路地址,则不会再在 LDP 中播发该地址。要继续播发环路地址,您需要将其显式配置为 LDP 出口策略的一部分。
命名策略(在或[edit logical-systems logical-system-name policy-options]
层次结构级别配置[edit policy-options]
)将应用于路由表中的所有路由。与策略匹配的路由将播发到 LDP 中。您可以使用语句 export
控制将这些前缀播发到的邻居集。仅 from 考虑运算符;您可以使用任何有效的 from 运算符。有关详细信息,请参阅 Junos OS 路由设备路由协议库。
ACX 系列路由器不支持 [edit logical-systems
] 层次结构级别。
示例:配置播发到 LDP 中的前缀
将所有连接的路由播发到 LDP 中:
[edit protocols] ldp { egress-policy connected-only; } policy-options { policy-statement connected-only { from { protocol direct; } then accept; } }
配置 FEC 解聚
当 LDP 出口路由器播发多个前缀时,这些前缀将绑定到单个标签,并聚合到单个转发等效类 (FEC) 中。默认情况下,LDP 在播发遍历网络时维护此聚合。
通常,由于 LSP 不会拆分到多个下一跃点,并且前缀绑定到单个 LSP 中,因此不会跨等价路径进行负载平衡。但是,如果配置负载均衡策略并分解 FEC,则可以跨等价路径进行负载均衡。
解聚 FEC 会导致每个前缀绑定到单独的标签并成为单独的 LSP。
要配置分解的 FEC,请包含以下 deaggregate
语句:
deaggregate;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
对于所有 LDP 会话,您只能全局配置分解的 FEC。
解聚 FEC 允许将生成的多个 LSP 分布在多个等价路径上,并将 LSP 分布到出口分段上的多个下一跃点,但每个 LSP 仅安装一个下一跃点。
要聚合 FEC,请包含以下 no-deaggregate
语句:
no-deaggregate;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
对于所有 LDP 会话,您只能全局配置聚合 FEC。
为 LDP FEC 配置监管器
您可以将 Junos OS 配置为跟踪和监管 LDP FEC 的流量。LDP FEC 监管器可用于执行以下任一操作:
跟踪或监管 LDP FEC 的入口流量。
跟踪或监管 LDP FEC 的传输流量。
跟踪或监管源自特定转发类的 LDP FEC 流量。
跟踪或监管源自特定虚拟路由和转发 (VRF) 站点的 LDP FEC 流量。
丢弃绑定到特定 LDP FEC 的错误流量。
要监管 LDP FEC 的流量,必须先配置过滤器。具体而言,您需要在层次结构级别配置interface
[edit firewall family protocol-family filter filter-name term term-name from]
语句或interface-set
语句。该 interface
语句允许您将筛选器与单个接口匹配。该 interface-set
语句允许您将筛选器匹配到多个接口。
有关如何为 LDP FEC 配置 interface
语句、 interface-set
语句和监管器的详细信息,请参阅 路由策略、防火墙过滤器和流量监管器用户指南。
配置过滤器后,需要将它们包含在 LDP 的语句配置中 policing
。要为 LDP FEC 配置监管器,请包含以下 policing
语句:
policing { fec fec-address { ingress-traffic filter-name; transit-traffic filter-name; } }
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
该 policing
语句包括以下选项:
fec
- 指定要监管的 LDP FEC 的 FEC 地址。ingress-filter
- 指定入口流量过滤器的名称。transit-traffic
- 指定传输流量过滤器的名称。
配置 LDP IPv4 FEC 过滤
默认情况下,建立目标 LDP 会话后,Junos OS 始终通过目标 LDP 会话交换 IPv4 转发等效类 (FEC) 和第 2 层电路 FC。对于到间接连接的邻接方的 LDP 会话,如果会话专门配置为支持第 2 层电路或 VPLS,则可能只想将第 2 层电路 FEC 导出到邻接方。
在混合供应商网络中,所有非 BGP 前缀都播发到 LDP 中,LDP 数据库可能会变得很大。对于此类环境,防止通过由于第 2 层电路或 LDP VPLS 配置而形成的 LDP 会话通告 IPv4 FEC 会很有用。同样,过滤在此类环境中接收的任何 IPv4 FEC 也很有用。
如果与 LDP 会话关联的所有 LDP 邻接方仅为第 2 层,则可以通过配置语句将 l2-smart-policy
Junos OS 配置为仅通告第 2 层电路 FEC。此功能还会自动过滤掉此会话上收到的 IPv4 FEC。配置已激活的 l2-smart-policy
显式导出或导入策略会在相应方向上禁用此功能。
如果 LDP 会话的某个邻居是由于发现邻接而形成的,或者邻接是由于一个或多个 RSVP LSP 上的 LDP 隧道配置而形成的,则使用默认行为通告和接收 IPv4 FEC。
要防止 LDP 仅通过与第 2 层邻居的 LDP 会话导出 IPv4 FEC,并过滤掉通过此类会话收到的 IPv4 FEC,请添加以下 l2-smart-policy
语句:
l2-smart-policy;
有关可在其中配置此语句的层次结构级别的列表,请参阅此语句的语句摘要。
为 LDP LSP 配置 BFD
您可以为 LDP LSP 配置双向转发检测 (BFD)。BFD 协议是一种检测网络中故障的简单你好机制。Hello 数据包按指定的定期间隔发送。当路由器在指定间隔后停止接收回复时,将检测到邻居故障。BFD 适用于各种网络环境和拓扑结构。BFD 故障检测定时器的时间限制比静态路由的故障检测机制短,检测速度更快。
每当路径的 BFD 会话失败时,都会记录错误。下面显示了适用于 LDP LSP 的 BFD 日志消息的显示方式:
RPD_LDP_BFD_UP: LDP BFD session for FEC 10.255.16.14/32 is up RPD_LDP_BFD_DOWN: LDP BFD session for FEC 10.255.16.14/32 is down
您还可以为 RSVP LSP 配置 BFD,如 为 RSVP 信号 LSP 配置 BFD 中所述。
BFD 故障检测计时器是自适应的,可以调整为或多或少的主动性。例如,如果邻接失败,计时器可以适应更高的值,或者邻居可以为计时器协商比配置的值更高的值。当 BFD 会话抖动在 15 秒内出现三次以上时,计时器会适应更高的值。如果本地 BFD 实例是会话抖动的原因,则退避算法会将接收 (Rx) 间隔增加 2。如果远程 BFD 实例是会话抖动的原因,则传输 (Tx) 间隔增加 2。您可以使用命令将 clear bfd adaptation
BFD 间隔计时器返回到其配置的值。该 clear bfd adaptation
命令是无中断的,这意味着该命令不会影响路由设备上的流量。
要为 LDP LSP 启用 BFD,请包含和oam
bfd-liveness-detection
语句:
oam { bfd-liveness-detection { detection-time threshold milliseconds; ecmp; failure-action { remove-nexthop; remove-route; } holddown-interval seconds; ingress-policy ingress-policy-name; minimum-interval milliseconds; minimum-receive-interval milliseconds; minimum-transmit-interval milliseconds; multiplier detection-time-multiplier; no-adaptation; transmit-interval { minimum-interval milliseconds; threshold milliseconds; } version (0 | 1 | automatic); } fec fec-address { bfd-liveness-detection { detection-time threshold milliseconds; ecmp; failure-action { remove-nexthop; remove-route; } holddown-interval milliseconds; ingress-policy ingress-policy-name; minimum-interval milliseconds; minimum-receive-interval milliseconds; minimum-transmit-interval milliseconds; multiplier detection-time-multiplier; no-adaptation; transmit-interval { minimum-interval milliseconds; threshold milliseconds; } version (0 | 1 | automatic); } no-bfd-liveness-detection; periodic-traceroute { disable; exp exp-value; fanout fanout-value; frequency minutes; paths number-of-paths; retries retry-attempts; source address; ttl ttl-value; wait seconds; } } lsp-ping-interval seconds; periodic-traceroute { disable; exp exp-value; fanout fanout-value; frequency minutes; paths number-of-paths; retries retry-attempts; source address; ttl ttl-value; wait seconds; } }
通过在层次结构级别使用[edit protocols ldp]
选项配置 fec
FEC 地址,可以为与特定转发等效类 (FEC) 关联的 LDP LSP 启用 BFD。或者,您可以配置操作和管理 (OAM) 入口策略,以在一系列 FEC 地址上启用 BFD。有关更多信息,请参阅 为 LDP 配置 OAM 入口策略。
您无法启用 BFD LDP LSP,除非显式配置了等效的 FEC 地址,或者使用 OAM 入口策略在 FEC 上启用了 OAM。如果未为任何 FEC 地址启用 BFD,则不会启动 BFD 会话。
您可以在以下层次结构级别配置 oam
语句:
[edit protocols ldp]
[edit logical-systems logical-system-name protocols ldp]
ACX 系列路由器不支持 [edit logical-systems
] 层次结构级别。
该 oam
语句包括以下选项:
fec
— 指定 FEC 地址。您必须指定 FEC 地址或配置 OAM 入口策略,以确保启动 BFD 会话。lsp-ping-interval
— 指定 LSP ping 间隔的持续时间(以秒为单位)。要在 LDP 信号的 LSP 上发出 ping,请使用命令ping mpls ldp
。有关更多信息,请参阅 CLI 资源管理器。
该 bfd-liveness-detection
语句包括以下选项:
ecmp
— 使 LDP 为为指定 FEC 配置的所有 ECMP 路径建立 BFD 会话。如果配置该ecmp
选项,还必须为指定的 FEC 配置periodic-traceroute
语句。如果不这样做,提交操作将失败。您可以在全局层次结构级别 ([edit protocols ldp oam]
) 配置语句,periodic-traceroute
同时仅为特定 FEC ([edit protocols ldp oam fec address bfd-liveness-detection]
) 配置ecmp
选项。抑制间隔 — 指定在添加路由或下一跃点之前 BFD 会话应保持开启的持续时间。指定 0 秒的时间会导致在 BFD 会话恢复后立即添加路由或下一跃点。
minimum-interval
— 指定最小传输和接收间隔。如果配置该minimum-interval
选项,则无需配置minimum-receive-interval
该选项或minimum-transmit-interval
选项。minimum-receive-interval
— 指定最小接收间隔。范围为 1 到 255,000 毫秒。minimum-transmit-interval
— 指定最小传输间隔。范围为 1 到 255,000 毫秒。multiplier
- 指定检测时间倍数。范围为 1 到 255。版本 — 指定 BFD 版本。选项为 BFD 版本 0 或 BFD 版本 1。默认情况下,Junos OS 软件会尝试自动确定 BFD 版本。
为 LDP LSP 配置 ECMP 感知 BFD
为 FEC 配置 BFD 时,只会为路由器的一个活动本地下一跃点建立 BFD 会话。但是,您可以配置多个 BFD 会话,每个会话对应一个与特定等价多路径 (ECMP) 路径关联的 FEC。要使其正常运行,还需要配置 LDP LSP 定期跟踪路由。(请参阅 配置 LDP LSP 跟踪路由。)LDP LSP 跟踪路由用于发现 ECMP 路径。对于发现的每个 ECMP 路径,将启动一个 BFD 会话。每当其中一个 ECMP 路径的 BFD 会话失败时,都会记录错误。
LDP LSP 跟踪路由定期运行,以检查 ECMP 路径的完整性。发现问题时,可能会出现以下情况:
如果 FEC 的最新 LDP LSP 跟踪路由与之前的跟踪路由不同,则与该 FEC 关联的 BFD 会话(地址范围的 BFD 会话与先前运行相比已更改)将被关闭,并为更改范围内的目标地址启动新的 BFD 会话。
如果 LDP LSP 跟踪路由返回错误(例如,超时),则与该 FEC 关联的所有 BFD 会话都将被拆除。
要将 LDP 配置为为指定 FEC 配置的所有 ECMP 路径建立 BFD 会话,请包含该 ecmp
语句。
ecmp;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
除语句外ecmp
,还必须将该periodic-traceroute
语句包含在全局 LDP OAM 配置(在 或 [edit logical-systems logical-system-name protocols ldp oam]
层次结构级别)[edit protocols ldp oam]
或指定 FEC 的配置(在 或 [edit logical-systems logical-system-name protocols ldp oam fec address]
层次结构级别)[edit protocols ldp oam fec address]
中。否则,提交操作将失败。
ACX 系列路由器不支持 [edit logical-systems
] 层次结构级别。
为 LDP LSP 上的 BFD 会话配置故障操作
您可以在 LDP LSP 上发生 BFD 会话故障事件时配置路由和下一跃点属性。失败事件可能是已关闭的现有 BFD 会话,也可能是从未启动的 BFD 会话。当相关 BFD 会话重新启动时,LDP 会重新添加路由或下一跃点。
当 LDP LSP 上的 BFD 会话发生故障时,您可以为语句配置 failure-action
以下故障操作选项之一:
remove-nexthop
— 检测到 BFD 会话故障事件时,删除与入口节点上 LSP 路由的下一跃点对应的路由。remove-route
— 检测到 BFD 会话失败事件时,从相应的路由表中移除与 LSP 对应的路由。如果 LSP 配置了 ECMP,并且与任何路径对应的 BFD 会话出现故障,则会移除路由。
要在 LDP LSP 上发生 BFD 会话故障时配置故障操作,请包含remove-nexthop
语句的选项failure-action
或remove-route
选项:
failure-action { remove-nexthop; remove-route; }
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
配置 BFD 会话的抑制间隔
通过在层次结构级别或[edit protocols ldp oam fec address bfd-livenesss-detection]
层次结构级别配置[edit protocols ldp oam bfd-livenesss-detection]
语句,可以holddown-interval
指定在添加路由或下一跃点之前 BFD 会话应保持的持续时间。指定 0 秒的时间会导致在 BFD 会话恢复后立即添加路由或下一跃点。
holddown-interval seconds;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
配置 LDP 链路保护
您可以为单播和组播 LDP 标签交换路径 (LSP) 配置标签分发协议 (LDP) 链路保护,以便在链路或节点发生故障时提供弹性。
准备工作:
配置设备接口。
配置设备的路由器 ID 和自治系统编号。
配置以下协议:
RSVP
具有流量工程功能的 MPLS。
具有流量工程功能的 OSPF。
注:对于带无环路替代方案 (LFA) 的组播 LDP 链路保护,请启用链路保护。
[edit protocols] user@R0# set ospf area 0 interface all link-protection
要配置 LDP 链路保护:
示例:配置 LDP 链路保护
LDP 链路保护概述
- 自民党简介
- Junos OS LDP 协议实现
- 了解 LDP 的多点扩展
- 在目标 LDP 会话上使用 LDP 的多点扩展
- LDP 链路保护的当前限制
- 使用 RSVP LSP 作为解决方案
- 了解组播 LDP 链路保护
- 提供LDP链路保护的不同模式
- 用于 LDP 链路保护的标签操作
- 组播 LDP 链路保护配置示例
- 先成后断
- 注意事项和限制
自民党简介
标签分发协议 (LDP) 是一种用于在非流量工程应用程序中分发标签的协议。LDP 通过将网络层路由信息直接映射到数据链路 LSP,允许路由器通过网络建立标签交换路径 (LSP)。
这些 LSP 的端点可能位于直接连接的邻居(类似于 IP 逐跳转发)或网络出口节点,从而支持通过所有中间节点进行交换。LDP 建立的 LSP 也可以遍历 RSVP 创建的流量工程 LSP。
LDP 将转发等效类 (FEC) 与其创建的每个 LSP 相关联。与 LSP 关联的 FEC 指定将哪些数据包映射到该 LSP。当每个路由器为 FEC 选择下一跃点播发的标签并将其拼接到播发给所有其他路由器的标签时,LSP 通过网络进行扩展。此过程会形成一个汇聚在出口路由器上的 LSP 树。
Junos OS LDP 协议实现
LDP 的 Junos OS 实现支持 LDP 版本 1。Junos OS 支持在内部网关协议 (IGP) 中的路由器之间建立隧道的简单机制,以消除核心内所需的外部路由分布。Junos OS 允许 MPLS 隧道下一跃点通网络中的所有出口路由器,核心中仅运行一个 IGP 以将路由分发到出口路由器。边缘路由器运行 BGP,但不将外部路由分发到核心。相反,边缘的递归路由查找会解析为交换机到出口路由器的 LSP。中转 LDP 路由器上不需要外部路由。
了解 LDP 的多点扩展
LDP 定义了用于在网络中设置点对点、多点到点、点对多点和多点对多点 LSP 的机制。点对多点和多点对多点 LSP 统称为多点 LSP,其中流量分别从单个源流向多个目标,以及从多个源流向多个目标。目标路由器或出口路由器称为叶节点,来自源的流量在到达叶节点之前会遍历一个或多个中转节点。
Junos OS 不提供对多点到多点 LSP 的支持。
通过利用网络的 MPLS 数据包复制功能,多点 LSP 可避免在入口路由器上进行不必要的数据包复制。仅当将数据包转发到需要不同网络路径的两个或多个不同目标时,才会进行数据包复制。
在目标 LDP 会话上使用 LDP 的多点扩展
LDP 多点扩展规范要求 LDP 会话的两个端点通过第 2 层介质直接连接,或者被网络的 IGP 视为邻居。这称为 LDP 链路会话。当 LDP 会话的两个端点未直接连接时,该会话称为目标 LDP 会话。
过去的 Junos OS 实施仅支持链路会话的组播 LDP。通过引入 LDP 链路保护功能,组播 LDP 功能扩展到目标 LDP 会话。 图 2 显示了示例拓扑。
路由器 R7 和 R8 分别是上游 (LSR-U) 和下游 (LSR-D) 标签交换路由器 (LSR),部署组播 LDP。核心路由器路由器 R5 已启用 RSVP-TE。
当 LSR-D 使用根和 LSP ID 属性设置点对多点 LSP 时,它会将上游 LSR-U 确定为到根的最佳路径上的下一跃点(目前,假定此下一跃点为 IGP 下一跃点)。
借助目标 LDP 会话上的组播 LDP 支持,您可以确定是否存在到 LSR-U 的 LSP 下一跃点,该跃点位于 LSR-D 的根路径上,其中 LSR-D 和 LSR-U 不是直接连接的邻居,而是目标 LDP 对等方。除非 LSR-D 和 LSR-U 之间存在 LSP,否则不会使用 LSR-D 和 LSR-U 之间的目标 LDP 会话上通告的点对多点标签。因此,需要从 LSR-U 到 LSR-D 的相反方向的相应 LSP。
使用数据包的单播复制在点对多点 LSP 上传输数据,其中 LSR-U 向点对多点 LSP 的每个下游 LSR 发送一个副本。
数据传输通过以下方式实现:
协商目标 LDP 会话上的点对多点功能。
选择上游 LSR 的算法发生了变化,如果 IGP 下一跃点不可用,或者换句话说,LSR-D 和 LSR-U 之间没有 LDP 链路会话,则 RSVP LSP 将用作到达 LSR-U 的下一跃点。
通过目标 LDP 会话收到的传入标签将作为此点对多点 FEC 路由的分支下一跃点进行安装,其中 LDP 标签作为内部标签,RSVP 标签作为外部标签。
LDP 链路保护的当前限制
当 LDP 网络部署中出现链路或节点故障时,应提供快速流量恢复,以恢复任务关键型服务的受影响流量。对于多点 LSP,当点对多点树的其中一个链路发生故障时,子树可能会分离,直到 IGP 重新收敛并使用从下游路由器到新上游路由器的最佳路径建立多点 LSP。
在使用 LDP 流量的本地修复的快速重新路由中,数据包转发引擎中预装了备份路径(修复路径)。当主路径发生故障时,流量会快速移动到备用路径,而无需等待路由协议收敛。无环路备用 (LFA) 是在核心和服务提供商网络中提供 IP 快速重新路由功能的方法之一。
如果没有 LFA,当链路或路由器发生故障或恢复服务时,分布式路由算法会根据网络中的变化计算新的路由。计算新路由的时间称为路由转换。在路由转换完成之前,网络连接会中断,因为故障相邻的路由器会继续通过故障组件转发数据包,直到确定备用路径。
但是,由于 IGP 指标的原因,LFA 并未在所有网络部署中提供完全覆盖。因此,这是对当前LDP链路保护方案的限制。
图 3 说明了 LFA 覆盖范围不完整的示例网络,其中流量通过路由器 R1 从源路由器 (S) 流向目标路由器 (D)。假设网络中的每个链路都具有相同的指标,如果路由器 S 和路由器 R1 之间的链路出现故障,则路由器 R4 不是保护 S-R1 链路的 LFA,因此流量弹性将丢失。因此,使用普通LFA无法实现完全覆盖。在典型的网络中,LFA与普通LFA总是存在一定比例的覆盖差距。
使用 RSVP LSP 作为解决方案
保护流经 LDP LSP 的流量的关键是具有显式隧道,以便在链路或节点发生故障时重新路由流量。显式路径必须在下一个下游路由器上终止,并且需要在 RPF 检查应通过的显式路径上接受流量。
RSVP LSP 通过以下方法扩展 LFA 覆盖范围,有助于克服点对点和点对多点 LDP LSP 的无环路替代 (LFA) 的当前限制:
手动配置的 RSVP LSP
考虑到 中使用的 图 3示例,当 S-R1 链路出现故障,并且路由器 R4 不是该特定链路的 LFA,则使用手动创建的 RSVP LSP 作为修补程序来提供完整的 LFA 覆盖。RSVP LSP 已预先发出信号并预安装在路由器 S 的数据包转发引擎中,以便在路由器 S 检测到链路出现故障时立即使用。
在这种情况下,将在路由器 S、R4 和 R3 之间创建 RSVP LSP,如 所示。图 4在路由器 S 和路由器 R3 之间创建目标 LDP 会话,因此,当 S-R1 链路发生故障时,流量将到达路由器 R3。路由器 R3 将流量转发到路由器 R2,因为这是到达目标路由器 D 的最短路径。
动态配置的 RSVP LSP
在此方法中,RSVP LSP 会自动创建并预安装在系统中,以便在发生链路故障时可以立即使用。在这里,出口是受保护链路另一端的节点,从而改善了LFA覆盖范围。
Benefits of Enabling Dynamic RSVP LSPs
易于配置。
100% 覆盖链路故障,只要存在到受保护链路远端的备用路径。
RSVP 旁路 LSP 的设置和拆卸是自动的。
RSVP LSP 仅用于链路保护,而不用于在受保护链路启动时转发流量。
减少系统上所需的 RSVP LSP 总数。
考虑到 中使用的 图 3示例,为了保护流量免受 S-R1 链路潜在故障的影响,由于路由器 R4 不是该特定链路的 LFA,因此会自动为路由器 R1 创建一个 RSVP 旁路 LSP,路由器 R1 是受保护链路远端的节点,如中 图 5所示。流量从路由器 R1 转发到其原始目标路由器 D。
RSVP LSP 已预先发出信号并预安装在路由器 S 的数据包转发引擎中,以便在路由器 S 检测到链路出现故障时立即使用。
另一种操作模式是根本不使用 LFA,而是始终创建 RSVP LSP 来覆盖所有链路故障。
要启用动态 RSVP LSP,除了在适当的接口上启用 RSVP 协议外,还应在[edit protocols ldp interface interface-name link-protection]
层次结构级别包含dynamic-rsvp-lsp
该语句。
了解组播 LDP 链路保护
点对多点 LDP 标签交换路径 (LSP) 是点对多点的 LDP 信号 LSP,称为组播 LDP。
组播 LDP LSP 可用于将流量从单个根节点或入口节点发送到遍历一个或多个中转节点的多个叶节点或出口节点。组播 LDP 链路保护可在链路故障时快速重新路由通过点对多点 LDP LSP 传输的流量。当点对多点树的其中一个链路发生故障时,子树可能会分离,直到 IGP 重新收敛并使用从下游路由器到新上游路由器的最佳路径建立多点 LSP。
为了保护流经组播 LDP LSP 的流量,您可以配置显式隧道,以便在链路发生故障时重新路由流量。显式路径必须在下一个下游路由器上终止。流量的反向路径转发应成功。
组播 LDP 链路保护引入了以下特性和功能:
使用动态 RSVP LSP 作为旁路隧道
RSVP LSP 的显式路由对象 (ERO) 是使用约束最短路径优先 (CSPF) 计算的,并将约束作为要避免的链路。每当需要链路保护时,LSP 就会发出信号并动态拆除。
先成后断
先成后断功能可确保在拆除组播 LDP LSP 的旧 LSP 路径之前尝试向新 LSP 路径发出信号时,数据包丢失降至最低。
有针对性的自民党会话
创建下游标签交换路由器 (LSR) 的目标邻接关系有两个原因:
在链路故障后保持会话正常运行。
使用从会话接收的点对多点标签将流量发送到 RSVP LSP 旁路隧道上的下游 LSR。
当下游 LSR 使用根节点和 LSP ID 设置组播 LDP LSP 时,它将使用该上游 LSR,该 LSR 位于通向根的最佳路径上。
当下游 LSR 有多个链路邻接(并行链路)时,不需要组播 LDP 链路保护。
提供LDP链路保护的不同模式
以下是可用于单播和组播 LDP 链路保护的三种不同操作模式:
Case A: LFA only
在这种操作模式下,使用现有的可行无环路备用 (LFA) 提供组播 LDP 链路保护。如果没有可行的 LFA,则不会为组播 LDP LSP 提供链路保护。
Case B: LFA and Dynamic RSVP LSP
在这种操作模式下,使用现有的可行 LFA 提供组播 LDP 链路保护。如果没有可行的 LFA,将自动创建 RSVP 旁路 LSP,为组播 LDP LSP 提供链路保护。
Case C: Dynamic RSVP LSP only
在这种操作模式下,LFA 不用于链路保护。组播 LDP 链路保护通过使用自动创建的 RSVP 旁路 LSP 提供。
图 6 是一个示例拓扑,说明了组播 LDP 链路保护的不同操作模式。路由器 R5 是连接到两个叶节点(路由器 R3 和 R4)的根。路由器 R0 和路由器 R1 分别是上游和下游标签交换路由器 (LSR)。组播 LDP LSP 在根节点和叶节点之间运行。
考虑到路由器 R0 需要在 R0-R1 链路发生故障时保护组播 LDP LSP,不同的链路保护模式的工作方式如下:
Case A: LFA only
路由器 R0 检查是否存在可行的 LFA 路径,以避免 R0-R1 链路到达路由器 R1。根据指标,路由器 R2 是 R0-R1 链路的有效 LFA 路径,用于转发单播 LDP 流量。如果多个组播 LDP LSP 使用 R0-R1 链路,则同一 LFA(路由器 R2)将用于组播 LDP 链路保护。
当 R0-R1 链路发生故障时,路由器 R0 会将组播 LDP LSP 流量移动到 LFA 路径上,到达路由器 R1 (L100) 的单播 LDP 标签被推送到组播 LDP 标签 (L21) 的顶部。
Case B: LFA and Dynamic RSVP LSP
路由器 R0 检查是否存在可行的 LFA 路径,以避免 R0-R1 链路到达路由器 R1。根据指标,路由器 R2 是 R0-R1 链路的有效 LFA 路径,用于转发单播 LDP 流量。如果多个组播 LDP LSP 使用 R0-R1 链路,则同一 LFA(路由器 R2)将用于组播 LDP 链路保护。当 R0-R1 链路发生故障时,路由器 R0 会将组播 LDP LSP 流量移动到 LFA 路径上。
但是,如果 R2-R1 链路上的指标是 50 而不是 10,则路由器 2 不是 R0-R1 链路的有效 LFA。在这种情况下,将自动创建 RSVP LSP,以保护在路由器 R0 和 R1 之间传输的组播 LDP 流量。
Case C: Dynamic RSVP LSP only
RSVP LSP 通过路由器 R2 自动从路由器 R0 向路由器 R1 发送信号,避开接口 ge-1/1/0。如果多个组播 LDP LSP 使用 R0-R1 链路,则同一 RSVP LSP 将用于组播 LDP 链路保护。
当 R0-R1 链路发生故障时,路由器 R0 将组播 LDP LSP 流量移动到 RSVP LSP 上,到达路由器 R1 (L100) 的 RSVP 标签被推送到组播 LDP 标签 (L21) 的顶部。
用于 LDP 链路保护的标签操作
使用与图 5 相同的网络拓扑, 图 7 说明了单播和组播 LDP 链路保护的标签操作。
路由器 R5 是连接到两个叶节点(路由器 R3 和 R4)的根。路由器 R0 和路由器 R1 分别是上游和下游标签交换路由器 (LSR)。组播 LDP LSP 在根节点和叶节点之间运行。单播 LDP 路径将路由器 R1 连接到路由器 R5。
在以下 LDP 链路保护模式下,标签操作的执行方式不同:
案例 A:仅限 LFA
show route detail
使用路由器 R0 上的命令输出,可以派生单播 LDP 流量和组播 LDP 流量。
user@R0> show route detail 299840 (1 entry, 1 announced) *LDP Preference: 9 Next hop type: Router Address: 0x93bc22c Next-hop reference count: 1 Next hop: 11.0.0.6 via ge-0/0/1.0 weight 0x1, selected Label operation: Swap 299824 Session Id: 0x1 Next hop: 11.0.0.10 via ge-0/0/2.0 weight 0xf000 Label operation: Swap 299808 Session Id: 0x3 State: <Active Int> Age: 3:16 Metric: 1 Validation State: unverified Task: LDP Announcement bits (1): 0-KRT AS path: I Prefixes bound to route: 192.168.0.4/32 299856 (1 entry, 1 announced) *LDP Preference: 9 Next hop type: Flood Address: 0x9340e04 Next-hop reference count: 3 Next hop type: Router, Next hop index: 262143 Address: 0x93bc3dc Next-hop reference count: 2 Next hop: 11.0.0.6 via ge-0/0/1.0 weight 0x1 Label operation: Swap 299888 Next hop: 11.0.0.10 via ge-0/0/2.0 weight 0xf000 Label operation: Swap 299888, Push 299776(top) Label TTL action: prop-ttl, prop-ttl(top) State: <Active Int AckRequest> Age: 3:16 Metric: 1 Validation State: unverified Task: LDP Announcement bits (1): 0-KRT AS path: I FECs bound to route: P2MP root-addr 192.168.0.5, lsp-id 99
标签 299840 是到达路由器 R0 的流量,对应于到路由器 R1 的单播 LDP 流量。标签 299856 是到达路由器 0 的流量,对应于从根节点 R5 到叶出口节点 R3 和 R4 的组播 LDP 流量。
单播和组播 LDP LSP 的主路径是通过接口 ge-0/0/1(到路由器 R1 的链路),LFA 路径是通过接口 ge-0/0/2(到路由器 R2 的链路)。除非 ge-0/0/1 接口关闭,否则不会使用 LFA 路径。
在案例 A 的标签操作中,单播和组播 LDP 流量的仅 LFA 操作模式是不同的:
单播标签操作
对于单播 LDP 流量,FEC 和关联的标签将在启用 LDP 的网络中的所有链路上播发。这意味着,为了向路由器 R4 提供单播 LDP 流量的 LFA 操作,路由器 R0 只需将传入标签交换为 FEC R4,而不是将传入标签交换为路由器 R1 通告的标签299808 299824 为 FEC R4。这是单播 LDP 流量的标准 Junos OS LFA 操作。
图 8 说明了 R0-R1 链路出现故障时单播流量的标签操作。灰色框表示正常情况下单播 LDP 流量的标签操作,虚线框表示 R0-R1 链路出现故障时单播 LDP 流量的标签操作。
图 8: 单播 LDP 标签操作组播标签操作
组播 LDP 流量的标签操作不同于单播 LDP 标签操作,因为多点 LSP 标签仅沿从叶节点到入口节点的最佳路径播发。因此,路由器 R2 不知道组播 LDP。为了克服这个问题,组播 LDP LSP 流量只需通过路由器 R2 在路由器 R1 终止的单播 LDP LSP 路径内建立隧道。
为了实现这一点,路由器 R0 首先将传入组播 LDP LSP 标签交换299856以标记路由器 R1 播发的299888。然后将标签299776推送到顶部,这是路由器 R2 为 FEC R1 通告的 LDP 标签。当数据包到达路由器 R2 时,由于倒数第二个跃点弹出,顶部标签会弹出。这意味着数据包到达路由器 R1 时带有路由器 R1 最初向路由器 R0 播发299888组播 LDP 标签。
图 9 说明了 R0-R1 链路出现故障时组播 LDP 流量的标签操作。蓝色框表示正常情况下组播 LDP 流量的标签操作,虚线框表示 R0-R1 链路出现故障时组播 LDP 流量的标签操作。
图 9: 组播 LDP 标签操作
当 R2-R1 链路上的指标设置为 1000 而不是 1 时,路由器 R2 不是路由器 R0 的有效 LFA。在这种情况下,如果路由器 R2 在其 IGP 收敛之前收到发往路由器 R1、R3 或 R4 的数据包,则该数据包将发送回路由器 R0,从而导致数据包循环。
由于路由器 R0 没有可行的 LFA,因此数据包转发引擎中未安装备份路径。如果 R0-R1 链路出现故障,流量将中断,直到 IGP 和 LDP 融合并在受影响的路由器上安装新条目。
该 show route detail
命令显示没有 LFA 可用于链路保护的状态。
user@host> show route detail 299840 (1 entry, 1 announced) *LDP Preference: 9 Next hop type: Router, Next hop index: 578 Address: 0x9340d20 Next-hop reference count: 2 Next hop: 11.0.0.6 via ge-0/0/1.0, selected Label operation: Swap 299824 Session Id: 0x1 State: <Active Int> Age: 5:38 Metric: 1 Validation State: unverified Task: LDP Announcement bits (1): 0-KRT AS path: I Prefixes bound to route: 192.168.0.4/32 299856 (1 entry, 1 announced) *LDP Preference: 9 Next hop type: Flood Address: 0x9340e04 Next-hop reference count: 3 Next hop type: Router, Next hop index: 579 Address: 0x93407c8 Next-hop reference count: 2 Next hop: 11.0.0.6 via ge-0/0/1.0 Label operation: Swap 299888 State: <Active Int AckRequest> Age: 5:38 Metric: 1 Validation State: unverified Task: LDP Announcement bits (1): 0-KRT AS path: I FECs bound to route: P2MP root-addr 192.168.0.5, lsp-id 99
案例 B:LFA 和动态 RSVP LSP
在这种操作模式下,如果存在可行的LFA邻居,则标签操作行为类似于情况A,仅LFA模式。但是,如果没有可行的 LFA 邻居,则会自动创建 RSVP 旁路隧道。
如果链路 R2-R1 上的衡量指标设置为 1000 而不是 1,则路由器 R2 不是路由器 R0 的 LFA。在了解到没有 LFA 路径来保护 R0-R1 链路故障时,将自动创建以路由器 R1 作为出口节点的 RSVP 旁路隧道,并遵循避免 R0-R1 链路的路径(例如 R0-R2-R1)。
如果 R0-R1 链路出现故障,单播 LDP 和组播 LDP 流量将通过 RSVP 旁路隧道建立隧道。RSVP 旁路隧道不用于正常转发,仅用于在 R0-R1 链路发生故障时为 LDP 流量提供链路保护。
使用该 show route detail
命令,可以派生单播和组播 LDP 流量。
user@host> show route detail 299840 (1 entry, 1 announced) *LDP Preference: 9 Next hop type: Router Address: 0x940c3dc Next-hop reference count: 1 Next hop: 11.0.0.6 via ge-0/0/1.0 weight 0x1, selected Label operation: Swap 299824 Session Id: 0x1 Next hop: 11.0.0.10 via ge-0/0/2.0 weight 0x8001 Label-switched-path ge-0/0/1.0:BypassLSP->192.168.0.1 Label operation: Swap 299824, Push 299872(top) Label TTL action: prop-ttl, prop-ttl(top) Session Id: 0x3 State: <Active Int NhAckRequest> Age: 19 Metric: 1 Validation State: unverified Task: LDP Announcement bits (1): 0-KRT AS path: I Prefixes bound to route: 192.168.0.4/32 299856 (1 entry, 1 announced) *LDP Preference: 9 Next hop type: Flood Address: 0x9340e04 Next-hop reference count: 3 Next hop type: Router, Next hop index: 262143 Address: 0x940c154 Next-hop reference count: 2 Next hop: 11.0.0.6 via ge-0/0/1.0 weight 0x1 Label operation: Swap 299888 Next hop: 11.0.0.10 via ge-0/0/2.0 weight 0x8001 Label-switched-path ge-0/0/1.0:BypassLSP->192.168.0.1 Label operation: Swap 299888, Push 299872(top) Label TTL action: prop-ttl, prop-ttl(top) State: < Active Int AckRequest> Age: 20 Metric: 1 Validation State: unverified Task: LDP Announcement bits (1): 0-KRT AS path: I FECs bound to route: P2MP root-addr 192.168.0.5, lsp-id 99
单播和组播 LDP LSP 的主路径是通过接口 ge-0/0/1(到路由器 R1 的链路),LFA 路径是通过接口 ge-0/0/2(到路由器 R2 的链路)。除非 ge-0/0/1 接口关闭,否则不会使用 LFA 路径。
标签 299840 是到达路由器 R0 的流量,对应于到路由器 R4 的单播 LDP 流量。标签 299856 是到达路由器 0 的流量,对应于从根节点 R5 到叶出口节点 R3 和 R4 的组播 LDP 流量。
如命令输出所示 show route detail
,对于单播 LDP 和组播 LDP 流量,保护路径的标签操作是相同的。路由器 R0 上的传入 LDP 标签将交换为路由器 R1 向路由器 R0 播发的 LDP 标签。然后将旁路隧道的 RSVP 标签299872推送到数据包上。在旁路隧道上使用倒数第二个跳跃弹出,导致路由器 R2 弹出该标签。因此,数据包到达路由器 R1,并带有它最初向路由器 R0 播发的 LDP 标签。
图 10 说明了受 RSVP 旁路隧道保护的单播 LDP 和组播 LDP 流量的标签操作。灰色和蓝色框分别表示在正常情况下用于单播和组播 LDP 流量的标签值。虚线框表示 R0-R1 链路出现故障时使用的标签值。
案例 C:仅限动态回复 LSP
在这种操作模式下,根本不使用 LFA。系统会自动创建动态 RSVP 旁路 LSP 以提供链路保护。命令和标签操作的 show route detail
输出类似于案例 B、LFA 和动态 RSVP LSP 模式。
组播 LDP 链路保护配置示例
要启用组播 LDP 链路保护,需要在路由器 R0 上进行以下配置:
在此示例中,在连接到路由器 R1 的路由器 R0 的 ge-1/0/0 接口上启用了组播 LDP 链路保护,但通常需要为所有接口配置链路保护。
路由器 R0
protocols { rsvp { interface all; interface ge-0/0/0.0 { disable; } } mpls { interface all; interface ge-0/0/0.0 { disable; } } ospf { traffic-engineering; area 0.0.0.0 { interface lo0.0; interface ge-0/0/1.0 { link-protection; } interface ge-0/0/2.0; interface ge-0/0/3.0; } } ldp { make-before-break { timeout seconds; switchover-delay seconds; } interface ge-1/1/0.0 { link-protection { disable; dynamic-rsvp-lsp; } } } }
以下配置语句适用于组播 LDP 保护的不同模式,如下所示:
link-protection
声明在[edit protocols ospf interface ge-0/0/1.0]
此配置仅适用于组播 LDP 链路保护的案例 A(仅限 LFA)和案例 B(LFA 和动态 RSVP LSP)模式。案例 C(仅限动态 RSVP LSP)不需要在 IGP 下配置链路保护。
link-protection
声明在[edit protocols ldp interface ge-0/0/1.0]
所有组播 LDP 保护模式都需要此配置。但是,如果存在的唯一 LDP 流量是单播的,并且不需要动态 RSVP 旁路,则不需要此配置,因为
link-protection
层次结构级别的语句[edit protocols ospf interface ge-0/0/1.0]
会导致 LDP 单播流量的 LFA 操作。dynamic-rsvp-lsp
声明在[edit protocols ldp interface ge-0/0/1.0 link-protection]
此配置仅适用于 LDP 链路保护的案例 B(LFA 和动态 RSVP LSP)和案例 C(仅限动态 RSVP LSP)模式。动态 RSVP LSP 配置不适用于案例 A(仅限 LFA)。
先成后断
默认情况下,Junos OS 上启用先成后断功能,为点对多点 LSP 提供了一些优势。
对于点对多点 LSP,标签交换路由器 (LSR) 选择作为其到 LSP 根的下一跃点的 LSR 作为其上游 LSR。当到达根的最佳路径发生变化时,LSR 会选择新的上游 LSR。在此期间,LSP 可能会暂时中断,从而导致数据包丢失,直到 LSP 重新收敛到新的上游 LSR。在这种情况下,“先成后断”的目标是最大程度地减少数据包丢失。如果从 LSR 到根的最佳路径发生了变化,但 LSP 继续将流量转发到到根的上一个下一跃点,则应在撤销旧 LSP 之前建立新的 LSP,以最大程度地减少数据包丢失的持续时间。
例如,在链路故障后,下游 LSR(例如 LSR-D)仍会接收数据包并将其/或转发到其他下游 LSR,因为它继续接收来自单跳 RSVP LSP 的数据包。路由收敛后,LSR-D 会为此点对多点 LSP 的 FEC (FEC-A) 选择新的上游 LSR (LSR-U)。新的 LSR 可能已将 FEC-A 的数据包转发到 LSR-D 以外的下游 LSR。LSR-U 从 LSR-D 收到 FEC-A 的标签后,当它了解到 FEC-A 的 LSP 已从根到自身建立时,它会通知 LSR-D。当 LSR-D 收到此类通知时,它会将其 LSP 根的下一跃点更改为 LSR-U。这是 LSR-D 上的路由删除和添加操作。此时,LSR-D 执行 LSP 切换,并且丢弃通过 RSVP LSP 或 LFA 隧道传输的流量,并接受来自 LSR-U 的流量。添加了 LSR-U 的新运输路线。RPF 检查更改为接受来自 LSR-u 的流量并丢弃来自旧上游 LSR 的流量,或者删除旧路由并添加新路由。
假设 LSR-U 已从其上游路由器收到 FEC-A 点对多点 LSP 的“先成后断”通知,并已安装 LSP 的转发状态。此时,它应该通过先合后断通知的方式向 LSR-D 发出信号,表明它已成为 FEC-A 标识的树的一部分,并且 LSR-D 应启动其到 LSP 的切换。否则,LSR-U 应记住,当它收到来自 FEC-A 的上游 LSR 的“先成后断”通知并为此 LSP 安装转发状态时,它需要向 LSR-D 发送通知。LSR-D 继续使用单跃点 RSVP LSP 或 LFA 路径接收从旧的下一跃点到根节点的流量,直到切换到新的点对多点 LSP 到 LSR-U。
带组播 LDP 链路保护的先合后断功能包括以下功能:
先合后断能力
LSR 播发它能够使用功能播发处理先合后断的 LSP。如果对等方不支持先成后断,则不会将先成后断参数发送到此对等方。如果 LSR 从下游 LSR (LSR-D) 接收到先成后断参数,但上游 LSR (LSR-U) 不支持先成后断,则 LSR 会立即向 LSR-D 发送先成后断通知,并且不会建立支持先成后断的 LSP。相反,将建立正常的 LSP。
先成后断状态代码
“先成后断”状态代码包括:
1 - 先成后断请求
2 - 先成后断确认
当下游 LSR 为点对多点 LSP 发送标签映射消息时,它将“先成后断”状态代码包含为 1(请求)。当上游 LSR 更新点对多点 LSP 的转发状态时,它会通知下游 LSR,其中包含“先成后断”状态代码为 2(确认)的通知消息。此时,下游 LSR 执行 LSP 切换。
注意事项和限制
LDP 链路保护功能的 Junos OS 实现具有以下注意事项和限制:
出口 LSR 上的以下点对多点 LSP 不支持先成后断:
具有虚拟路由和转发 (VRF) 标签的新一代组播虚拟专用网络 (MVPN)
静态 LSP
不支持以下功能:
Junos OS 12.3、13.1 和 13.2 版中点对多点 LSP 的不间断活动路由
平滑重启切换点对多点 LSP
路由实例的链路保护
示例:配置 LDP 链路保护
此示例说明如何为单播和组播 LDP 标签交换路径 (LSP) 配置标签分发协议 (LDP) 链路保护。
要求
此示例使用以下硬件和软件组件:
六个路由器,可以是 M 系列、MX 系列或 T 系列路由器的组合,其中一个根节点和两个叶节点运行点对多点 LDP LSP。
在所有路由器上运行的 Junos OS 12.3 或更高版本。
准备工作:
配置设备接口。
配置以下协议:
RSVP
MPLS
OSPF 或任何其他 IGP
LDP
概述
LDP 链路保护可在链路发生故障时快速重新路由通过 LDP LSP 传输的流量。LDP 点对多点 LSP 可用于将流量从单个根节点或入口节点发送到遍历一个或多个中转节点的多个叶节点或出口节点。当点对多点树的其中一个链路发生故障时,子树可以分离,直到 IGP 重新收敛并且组播 LDP 使用从下游路由器到新上游路由器的最佳路径启动标签映射。要在链路发生故障时保护流量,您可以配置显式隧道,以便可以使用隧道重新路由流量。Junos OS 支持先成后断功能,以确保在拆除旧 LSP 路径之前尝试向新 LSP 路径发出信号时将数据包丢失降至最低。此功能还增加了对组播 LDP 链路保护的目标 LDP 支持。
配置 LDP 链路保护时,请注意以下注意事项:
在 IGP 下配置流量工程(如果默认情况下不支持),并包括为 MPLS 和 RSVP 配置的接口,以便基于约束的链路保护动态 RSVP LSP 由 RSVP 使用约束最短路径优先 (CSPF) 发出信号。如果不满足此条件,RSVP LSP 可能不会启动,并且 LDP 无法将其用作受保护的下一跃点。
配置两个标签交换路由器 (LSR) 之间的路径,以便在发生链路故障时在路由器之间提供 IP 连接。这使 CSPF 能够计算链路保护的备用路径。当路由器之间的连接丢失时,LDP 目标邻接不会启动,并且无法发出动态 RSVP LSP 信号,从而导致对等方是其下游 LSR 的 LDP 转发等效类 (FEC) 得不到保护。
如果链路保护仅在一个 LSR 上处于活动状态,则不应使用该
strict-targeted-hellos
语句配置另一个 LSR。这使没有链路保护的 LSR 能够允许非对称远程邻居发现,并定期向启动远程邻居的 LSR 发送有针对性的问候。当不满足此条件时,不会形成LDP目标邻接。必须在 LSR 的环路接口上启用 LDP,才能基于 LDP 隧道、基于 LDP 的虚拟专用 LAN 服务 (VPLS)、第 2 层电路或 LDP 会话保护创建远程邻居。当不满足此条件时,不会形成LDP目标邻接。
对于单播 LDP LSP,应在 IGP 中配置无环路备用 (LFA)。
到合并点的入口路由应至少有一个下一跃点,以避免合并点与单播 LDP LSP 的本地修复点之间的主链路。
本地修复点应具有单播 LDP 标签,以便备份下一跃点到达合并点。
拓扑学
在此示例中,路由器 R5 是连接到两个叶节点(路由器 R3 和 R4)的根。路由器 R0 是本地修复点。
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到 [edit]
层级的 CLI 中,然后从配置模式进入 commit
。
R5
set interfaces ge-0/0/0 unit 0 family inet address 10.10.10.1/30 set interfaces ge-0/0/0 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.1.5/32 set routing-options router-id 10.255.1.5 set routing-options autonomous-system 100 set protocols rsvp interface all set protocols rsvp interface fxp0.0 disable set protocols mpls traffic-engineering set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all metric 1 set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ldp interface all link-protection dynamic-rsvp-lsp set protocols ldp interface fxp0.0 disable set protocols ldp p2mp
R0
set interfaces ge-0/0/0 unit 0 family inet address 10.10.10.2/30 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 20.10.10.1/30 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/2 unit 0 family inet address 30.10.10.1/30 set interfaces ge-0/0/2 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.1.0/32 set routing-options router-id 10.255.1.0 set routing-options autonomous-system 100 set protocols rsvp interface all set protocols rsvp interface fxp0.0 disable set protocols mpls traffic-engineering set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all metric 1 set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ldp interface all link-protection dynamic-rsvp-lsp set protocols ldp interface fxp0.0 disable set protocols ldp p2mp
R1
set interfaces ge-0/0/0 unit 0 family inet address 60.10.10.2/30 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 40.10.10.1/30 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/2 unit 0 family inet address 30.10.10.2/30 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/3 unit 0 family inet address 50.10.10.1/30 set interfaces ge-0/0/3 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.1.1/32 set routing-options router-id 10.255.1.1 set routing-options autonomous-system 100 set protocols rsvp interface all set protocols rsvp interface fxp0.0 disable set protocols mpls traffic-engineering set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all metric 1 set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ldp interface all link-protection dynamic-rsvp-lsp set protocols ldp interface fxp0.0 disable set protocols ldp p2mp
R2
set interfaces ge-0/0/0 unit 0 family inet address 60.10.10.1/30 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 20.10.10.2/30 set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.1.2/32 set routing-options router-id 10.255.1.2 set routing-options autonomous-system 100 set protocols rsvp interface all set protocols rsvp interface fxp0.0 disable set protocols mpls traffic-engineering set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ldp interface all link-protection dynamic-rsvp-lsp set protocols ldp interface fxp0.0 disable set protocols ldp p2mp
R3
set interfaces ge-0/0/1 unit 0 family inet address 40.10.10.2/30 set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.1.3/32 set routing-options router-id 10.255.1.3 set routing-options autonomous-system 100 set protocols rsvp interface all set protocols rsvp interface fxp0.0 disable set protocols mpls traffic-engineering set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all metric 1 set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ldp interface all link-protection dynamic-rsvp-lsp set protocols ldp interface fxp0.0 disable set protocols ldp p2mp root-address 10.255.1.5 lsp-id 1
R4
set interfaces ge-0/0/3 unit 0 family inet address 50.10.10.2/30 set interfaces ge-0/0/3 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.1.4/32 set protocols rsvp interface all set protocols rsvp interface fxp0.0 disable set protocols mpls traffic-engineering set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all metric 1 set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ldp interface all link-protection dynamic-rsvp-lsp set protocols ldp interface fxp0.0 disable set protocols ldp p2mp root-address 10.255.1.5 lsp-id 1
程序
分步过程
下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅 在配置模式下使用 CLI 编辑器。
要配置路由器 R0:
配置路由器 R0 接口。
[edit interfaces]
user@R0# set ge-0/0/0 unit 0 family inet address 10.10.10.2/30 user@R0# set ge-0/0/0 unit 0 family mpls user@R0# set ge-0/0/1 unit 0 family inet address 20.10.10.1/30 user@R0# set ge-0/0/1 unit 0 family mpls user@R0# set ge-0/0/2 unit 0 family inet address 30.10.10.1/30 user@R0# set ge-0/0/2 unit 0 family mpls user@R0# set lo0 unit 0 family inet address 10.255.1.0/32配置路由器 R0 的路由器 ID 和自治系统。
[edit routing-options]
user@R0# set router-id 10.255.1.0 user@R0# set autonomous-system 100在路由器 R0 的所有接口(不包括管理接口)上启用 RSVP。
[edit protocols]
user@R0# set rsvp interface all user@R0# set rsvp interface fxp0.0 disable在路由器 R0 的所有接口(不包括管理接口)上启用 MPLS 以及流量工程功能。
[edit protocols]
user@R0# set mpls traffic-engineering user@R0# set mpls interface all user@R0# set mpls interface fxp0.0 disable在路由器 R0 的所有接口(不包括管理接口)上启用 OSPF,为链路分配等价指标,并启用流量工程功能。
[edit protocols]
user@R0# set ospf traffic-engineering user@R0# set ospf area 0.0.0.0 interface all metric 1 user@R0# set ospf area 0.0.0.0 interface fxp0.0 disable注:对于带无环路替代方案 (LFA) 的组播 LDP 链路保护,请在层次结构级别下
[edit protocols]
启用以下配置:set ospf area 0 interface all link-protection
在路由器 R0 的所有接口(不包括管理接口)上启用 LDP,并使用动态 RSVP 旁路 LSP 配置链路保护。
[edit protocols]
user@R0# set ldp interface all link-protection dynamic-rsvp-lsp user@R0# set ldp interface fxp0.0 disable user@R0# set ldp p2mp
结果
在配置模式下,输入 show interfaces
、 show routing-options
和 show protocols
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。
user@R0# show interfaces ge-0/0/0 { unit 0 { family inet { address 10.10.10.2/30; } family mpls; } } ge-0/0/1 { unit 0 { family inet { address 20.10.10.1/30; } family mpls; } } ge-0/0/2 { unit 0 { family inet { address 30.10.10.1/30; } family mpls; } } lo0 { unit 0 { family inet { address 10.255.1.0/32; } } }
user@R0# show routing-options router-id 10.255.1.0; autonomous-system 100;
user@R0# show protocols rsvp { interface all; interface fxp0.0 { disable; } } mpls { traffic-engineering; interface all; interface fxp0.0 { disable; } } ospf { traffic-engineering; area 0.0.0.0 { interface all { metric 1; } interface fxp0.0 { disable; } } } ldp { interface all { link-protection { dynamic-rsvp-lsp; } } interface fxp0.0 { disable; } p2mp; }
验证
验证配置是否正常工作。
验证绕过 RSVP LSP 路径
目的
验证是否已在本地修复点 (PLR) 上创建旁路 RSVP LSP 路径。
操作
在操作模式下,运行 show route tale mpls.0
命令。
user@R0> show route tale mpls.0 mpls.0: 17 destinations, 17 routes (17 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 0 *[MPLS/0] 05:28:13, metric 1 Receive 1 *[MPLS/0] 05:28:13, metric 1 Receive 2 *[MPLS/0] 05:28:13, metric 1 Receive 13 *[MPLS/0] 05:28:13, metric 1 Receive 299792 *[LDP/9] 00:41:41, metric 1 > to 30.10.10.2 via ge-0/0/2.0, Pop 299792(S=0) *[LDP/9] 00:41:41, metric 1 > to 30.10.10.2 via ge-0/0/2.0, Pop 299808 *[LDP/9] 00:41:41, metric 1 > to 20.10.10.2 via ge-0/0/1.0, Pop 299808(S=0) *[LDP/9] 00:41:41, metric 1 > to 20.10.10.2 via ge-0/0/1.0, Pop 299920 *[RSVP/7/1] 01:51:43, metric 1 > to 30.10.10.2 via ge-0/0/2.0, label-switched-path ge-0/0/0.0:BypassLSP->10.255.1.1 299920(S=0) *[RSVP/7/1] 01:51:43, metric 1 > to 30.10.10.2 via ge-0/0/2.0, label-switched-path ge-0/0/0.0:BypassLSP->10.255.1.1 299936 *[RSVP/7/1] 01:51:25, metric 1 > to 20.10.10.2 via ge-0/0/1.0, label-switched-path ge-0/0/0.0:BypassLSP->10.255.1.2 299936(S=0) *[RSVP/7/1] 01:51:25, metric 1 > to 20.10.10.2 via ge-0/0/1.0, label-switched-path ge-0/0/0.0:BypassLSP->10.255.1.2 299952 *[LDP/9] 00:06:11, metric 1 > to 10.10.10.1 via ge-0/0/0.0, Pop 299952(S=0) *[LDP/9] 00:06:11, metric 1 > to 10.10.10.1 via ge-0/0/0.0, Pop 299968 *[LDP/9] 00:05:39, metric 1 > to 30.10.10.2 via ge-0/0/2.0, Swap 299984 299984 *[LDP/9] 00:05:38, metric 1 > to 30.10.10.2 via ge-0/0/2.0, Swap 300000 300000 *[LDP/9] 00:05:15, metric 1 > to 30.10.10.2 via ge-0/0/2.0, Swap 300016
意义
当 R0-R1 链路中断时,将使用 RSVP 旁路 LSP 路由流量。
验证标签操作
目的
验证 PLR 上的标签交换。
操作
在操作模式下,运行 show route table mpls.0 label label extensive
命令。
user@R0> show route table mpls.0 label 300000 extensive mpls.0: 17 destinations, 17 routes (17 active, 0 holddown, 0 hidden) 300000 (1 entry, 1 announced) TSI: KRT in-kernel 300000 /52 -> {Swap 300016} *LDP Preference: 9 Next hop type: Router, Next hop index: 589 Address: 0x9981610 Next-hop reference count: 2 Next hop: 30.10.10.2 via ge-0/0/2.0, selected Label operation: Swap 300016 Load balance label: Label 300016: None; Session Id: 0x2 State: <Active Int> Local AS: 100 Age: 12:50 Metric: 1 Validation State: unverified Task: LDP Announcement bits (1): 1-KRT AS path: I Prefixes bound to route: 10.255.1.4/32
意义
标签必将到达路由器 R4,这是一个叶节点。
了解仅组播快速重新路由
仅组播快速重新路由 (MoFRR) 可在发生链路故障时最大限度地减少组播分配树中流量的数据包丢失,从而增强支持这些功能的设备上的组播路由协议,如协议无关组播 (PIM) 和多点标签分发协议 (多点 LDP)。
在交换机上,不支持具有 MPLS 标签交换路径和多点 LDP 的 MoFRR。
对于 MX 系列路由器,MoFRR 仅在具有 MPC 线卡的 MX 系列路由器上受支持。作为先决条件,您必须将路由器配置为 network-services enhanced-ip
模式,并且路由器中的所有线卡都必须是 MPC。
启用 MoFRR 后,设备会通过主路径和备份上游路径向组播源发送加入消息。设备从主路径和备份路径接收数据包,并根据优先级(分配给主路径和备份路径的权重)丢弃冗余数据包。当设备检测到主路径出现故障时,它会立即开始接受来自辅助接口(备份路径)的数据包。快速切换大大缩短了主路径链路故障时的收敛时间。
MoFRR的一个应用程序是流式传输IPTV。IPTV 流作为 UDP 流组播,因此不会重新传输任何丢失的数据包,从而导致用户体验不尽如人意。MoFRR可以改善这种情况。
经济和财务审查报告概述
通过在单播流上进行快速重新路由时,上游路由设备会预先建立 MPLS 标签交换路径 (LSP) 或预先计算 IP 无环路备用 (LFA) 快速重新路由备份路径,以处理下游路径中分段的故障。
在组播路由中,接收端通常发起流量分布图。这与单播路由不同,单播路由通常建立从源到接收方的路径。PIM(用于 IP)、多点 LDP(用于 MPLS)和 RSVP-TE(用于 MPLS)是能够建立组播分布图的协议。其中,PIM 和多点 LDP 接收器启动分布图设置,因此 MoFRR 可以在支持这两种组播协议的情况下使用它们。
在组播树中,如果设备检测到网络组件故障,则需要一些时间才能执行反应性修复,从而导致在设置备用路径时出现显著的流量丢失。MoFRR 可减少网络组件发生故障时组播分配树中的流量损失。借助 MoFRR,其中一个下游路由设备会设置通向源的备用路径,以接收相同组播流量的备份实时流。当主流发生故障时,MoFRR 路由设备可以快速切换到备份流。
启用 MoFRR 后,对于每个 (S,G) 条目,设备使用两个可用的上游接口发送加入消息和接收组播流量。如果有两个这样的路径可用,协议会尝试选择两个不相交的路径。如果不相交路径不可用,协议将选择两条非脱节路径。如果两个不相交的路径不可用,则仅选择一个主路径,而不进行备份。MoFRR 优先考虑脱节备份,以支持对可用路径进行负载平衡。
IPv4 和 IPv6 协议家族都支持 MoFRR。
图 12 显示了从组播接收方路由设备(也称为出口提供商边缘 (PE) 设备)到组播源路由设备(也称为入口 PE 设备)的两条路径。
启用 MoFRR 后,出口(接收方端)路由设备会为每个组播源 (S,G) 设置两个组播树(主路径和备用路径)。换句话说,出口路由设备将相同的 (S,G) 加入消息传播到两个不同的上游邻居,从而创建两个组播树。
其中一个组播树穿过平面 1,另一个穿过平面 2,如 所示 图 12。对于每个 (S,G),出口路由设备转发在主路径上收到的流量,并丢弃在备份路径上收到的流量。
MoFRR 在等价多路径 (ECMP) 路径和非 ECMP 路径上均受支持。设备需要启用单播无环路备用 (LFA) 路由,以支持非 ECMP 路径上的 MoFRR。您可以使用内部网关协议 (IGP) 配置中的语句启用 link-protection
LFA 路由。在 OSPF 或 IS-IS 接口上启用链路保护时,设备会为遍历受保护接口的所有目标路由创建到主下一跃点的备份 LFA 路径。
Junos OS 在 IP 网络中为 IP MoFRR 实施 MoFRR,在 MPLS 标签边缘路由设备 (LER) 中用于多点 LDP MoFRR。
多点 LDP MoFRR 用于 MPLS 网络的出口设备,数据包被转发到 IP 网络。借助多点 LDP MoFRR,设备可建立两条通向上游 PE 路由设备的路径,以在 LER 接收两个 MPLS 数据包流。设备接受其中一个流(主流),另一个流(备份流)在 LER 处丢弃。如果主路径出现故障,设备将改为接受备份流。带内信令支持是具有多点 LDP 的 MoFRR 的先决条件(请参阅 了解点对多点 LSP 的多点 LDP 带内信令)。
PIM 功能
Junos OS 支持 MoFRR 在 PIM 源特定组播 (SSM) 和任意源组播 (ASM) 中的最短路径树 (SPT) 连接。SSM 和 ASM 范围都支持 MoFRR。要为 (*,G) 联接启用 MoFRR,请在层次结构中包含mofrr-asm-starg
[edit routing-options multicast stream-protection]
配置语句。对于每个G组,MoFRR将针对(S,G)或(*,G)运行,但不能同时运行两者。(S,G) 始终优先于 (*,G)。
启用 MoFRR 后,PIM 路由设备会在两个上游反向路径转发 (RPF) 接口上传播加入消息,以便在两个链路上接收同一加入请求的组播流量。MoFRR 优先考虑两条不汇聚到同一直接上游路由设备的路径。PIM 使用上游 RPF 下一跃点安装适当的组播路由,该跃点具有两个接口(用于主路径和备份路径)。
当主路径发生故障时,备份路径将升级到主状态,设备会相应地转发流量。如果有备用路径可用,MoFRR 将计算新的备份路径并更新或安装相应的组播路由。
您可以使用 PIM 联接负载平衡启用 MoFRR(请参阅语句)。join-load-balance automatic
但是,在这种情况下,链接之间的加入消息分布可能不均匀。添加新的 ECMP 链路时,将重新分发主路径上的联接消息并进行负载平衡。备份路径上的加入消息可能仍遵循相同的路径,并且可能不会均匀地重新分布。
您可以使用层次结构中的[edit routing-options multicast]
配置语句启用 stream-protection
MoFRR。MoFRR 由一组过滤策略管理。
当出口 PIM 路由设备收到加入消息或 IGMP 报告时,它会检查 MoFRR 配置并按以下步骤操作:
如果 MoFRR 配置不存在,PIM 将向上游的一个上游邻接方(例如,中的 图 12平面 2)发送加入消息。
如果存在 MoFRR 配置,设备将检查策略配置。
如果策略不存在,设备将检查主路径和备份路径(上游接口),并按以下步骤操作:
如果存在策略,设备将检查策略是否允许 MoFRR 执行此操作 (S,G),并按以下步骤操作:
多点 LDP 功能
为避免 MPLS 流量重复,多点 LDP 通常只选择一条上游路径。(见第2.4.1.1节。在 RFC 6388 中确定一个人的“上游 LSR”, 点对多点和多点对多点标签交换路径的标签分发协议扩展。
对于带 MoFRR 的多点 LDP,多点 LDP 设备选择两个单独的上游对等体,并发送两个单独的标签,每个上游对等体一个。设备使用 RFC 6388 中描述的相同算法来选择上游主路径。该器件使用相同的算法选择备用上游路径,但排除了上游主 LSR 作为候选路径。两个不同的上游对等方将两个 MPLS 流量流发送到出口路由设备。设备仅选择一个上游邻接方路径作为接受 MPLS 流量的主路径。另一条路径成为备份路径,设备丢弃该流量。当上游主路径发生故障时,设备开始接受来自备份路径的流量。多点 LDP 设备根据内部网关协议 (IGP) 根设备下一跃点选择两条上游路径。
转发等效类 (FEC) 是以相同方式、相同路径和相同转发处理方式转发的一组 IP 数据包。通常,放在特定数据包上的标签表示该数据包分配到的 FEC。在 MoFRR 中,每个 FEC 的 mpls.0 表中放置了两个路由 — 一个路由用于主标签,另一个路由用于备份标签。
如果存在指向同一直接上游设备的并行链路,则设备会将两个并行链路视为主链路。在任何时间点,上游设备仅在多个并行链路中的一个上发送流量。
芽节点是出口 LSR,但也具有一个或多个直接连接的下游 LSR。对于 bud 节点,来自上游主路径的流量将转发到下游 LSR。如果主上游路径发生故障,来自备份上游路径的 MPLS 流量将转发到下游 LSR。这意味着下游 LSR 下一跃点将与出口下一跃点一起添加到两个 MPLS 路由中。
与 PIM 一样,您可以使用层次结构中的[edit routing-options multicast]
配置语句为stream-protection
多点 LDP 启用 MoFRR,它由一组筛选器策略管理。
如果为 MoFRR 启用了多点 LDP 点对多点 FEC,则设备在选择上游路径时会考虑以下因素:
如果存在非目标 LDP 会话,则会跳过目标 LDP 会话。如果存在单个目标 LDP 会话,则会选择目标 LDP 会话,但相应的点对多点 FEC 将失去 MoFRR 功能,因为没有与目标 LDP 会话关联的接口。
属于同一上游 LSR 的所有接口都被视为主路径。
对于任何根节点路由更新,上游路径将根据 IGP 的最新下一跃点进行更改。如果有更好的路径可用,多点 LDP 将尝试切换到更好的路径。
数据包转发
对于 PIM 或多点 LDP,设备在入口接口执行组播源流选择。这样可以保留结构带宽并最大限度地提高转发性能,因为它:
避免跨交换矩阵发送重复流
防止多次路由查找(导致丢包)。
对于 PIM,每个 IP 多播流包含相同的目标地址。无论数据包到达哪个接口,数据包都具有相同的路由。设备检查每个数据包到达的接口,并仅转发来自主接口的数据包。如果接口与备份流接口匹配,设备将丢弃数据包。如果接口与主接口或备份流接口不匹配,设备会将数据包作为控制平面中的例外进行处理。
图 13 使用具有 PIM 的路由器的示例主接口和备份接口显示了此过程。 图 14 对于具有 PIM 的交换机,也显示了类似的情况。
对于路由器上具有多点 LDP 的 MoFRR,设备使用多个 MPLS 标签来控制 MoFRR 流选择。每个标签代表一个单独的路由,但每个标签引用相同的接口列表检查。设备仅转发主标签,并删除所有其他标签。多个接口可以接收使用相同标签的数据包。
图 15 显示了具有多点 LDP 的路由器的此过程。
限制和注意事项
交换和路由设备的 MoFRR 限制和注意事项
MoFRR 对路由和交换设备有以下限制和注意事项:
支持 MoFRR 故障检测,以便对启用了 MoFRR 的路由设备进行即时链路保护,而不是对组播流量路径中的所有链路(端到端)进行链路保护。
MoFRR 支持在两个选定的不相交路径上快速重新路由到源。选定的两个上游邻接方不能位于同一接口上,换言之,LAN 分段上的两个上游邻接方。如果上游接口恰好是组播隧道接口,则情况也是如此。
不支持检测最大端到端不相交上游路径。接收方端(出口)路由设备仅确保存在不相交的上游设备(紧接的前一跃点)。PIM 和多点 LDP 不支持等效的显式路由对象 (ERO)。因此,不相交上游路径检测仅限于控制前一跳设备。由于此限制,可能会共享被选为主跃点和备份跃点的上一跃点的上游设备的路径。
在以下情况下,您可能会看到一些流量丢失:
更好的上游路径在出口设备上可用。
当有活动流量流流动时,出口设备上的 MoFRR 处于启用或禁用状态。
不支持备份路径的联接消息的 PIM 联接负载平衡。
对于组播组 G,(S,G) 和 (*,G) 联接消息都不允许使用 MoFRR。(S,G) 联接消息优先于 (*,G)。
使用两个不同组播组的组播流量流不支持 MoFRR。每个 (S,G) 组合都被视为一个唯一的组播流量流。
MoFRR 不支持双向 PIM 范围。
MoFRR 不支持 PIM 密集模式。
备份流量流的组播统计信息不由 PIM 维护,因此在命令的操作
show
输出中不可用。不支持速率监控。
使用 PIM 切换设备的 MoFRR 限制
带 PIM 的 MoFRR 对交换设备有以下限制:
当上游接口是集成路由和桥接 (IRB) 接口时,不支持 MoFRR,这会影响其他组播功能,例如互联网组管理协议版本 3 (IGMPv3) 侦听。
转发组播流量时的数据包复制和组播查找可能会导致数据包多次通过 PFE 再循环。因此,命令中显示的
show pfe statistics traffic
组播数据包计数值可能会在输出字段(如Input packets
和Output packets
)中显示高于预期数字。在 MoFRR 方案中,您可能会更频繁地注意到此行为,因为重复的主流和备份流通常会增加流量。
具有多点 LDP 的路由设备的 MoFRR 限制和注意事项
与多点 LDP 一起使用时,MoFRR 对路由器具有以下限制和警告:
MoFRR 不适用于在 RSVP 隧道上接收的多点 LDP 流量,因为 RSVP 隧道未与任何接口关联。
不支持混合上游 MoFRR。这是指 PIM 多点 LDP 带内信令,其中一条上行路径通过多点 LDP,第二条上行路径通过 PIM。
不支持将多点 LDP 标签作为内部标签。
如果可通过多个入口(源端)提供商边缘 (PE) 路由设备访问源,则不支持多点 LDP MoFRR。
不会选择目标 LDP 上游会话作为 MoFRR 的上游设备。
不支持备份路径上的多点 LDP 链路保护,因为不支持 MoFRR 内部标签。
配置仅组播快速重新路由
您可以配置仅组播快速重新路由 (MoFRR),以便在发生链路故障时最大程度地减少网络中的数据包丢失。
当快速重新路由应用于单播流时,上游路由器会预先建立 MPLS 标签交换路径 (LSP) 或预先计算 IP 无环路备用 (LFA) 快速重新路由备份路径,以处理下游路径中分段的故障。
在组播路由中,流量分布图通常由接收方发出。这与单播路由不同,单播路由通常建立从源到接收方的路径。能够建立组播分布图的协议是 PIM(用于 IP)、多点 LDP(用于 MPLS)和 RSVP-TE(用于 MPLS)。其中,PIM 和多点 LDP 接收器启动分布图设置,因此:
在 QFX 系列上,PIM 域支持 MoFRR。
在 MX 系列和 SRX 系列上,PIM 和多点 LDP 域支持 MoFRR。
除非另有说明,否则在支持此功能的所有设备上为 PIM 启用 MoFRR 的配置步骤相同。还指示了不适用于多点 LDP MoFRR 的配置步骤。
(仅适用于 MX 系列路由器)具有 MPC 线卡的 MX 系列路由器支持 MoFRR。作为先决条件,路由器中的所有线卡都必须是 MPC。
要在路由器或交换机上配置 MoFRR:
示例:在多点 LDP 域中配置仅组播快速重新路由
此示例说明如何配置仅组播快速重新路由 (MoFRR),以便在链路故障时最大程度地减少网络中的数据包丢失。
多点 LDP MoFRR 用于 MPLS 网络的出口节点,数据包将转发至 IP 网络。对于多点 LDP MoFRR,将建立通向上游提供商边缘 (PE) 路由器的两条路径,以便在标签边缘路由器 (LER) 上接收两个 MPLS 数据包流。其中一个流(主流)被接受,另一个流(备份)在 LER 上被丢弃。如果主路径出现故障,则接受备份流。
要求
配置此示例之前,不需要除设备初始化之外的特殊配置。
在多点 LDP 域中,要使 MoFRR 正常工作,只有出口 PE 路由器需要启用 MoFRR。其他路由器不需要支持 MoFRR。
具有 MPC 线卡的 MX 系列平台支持 MoFRR。作为先决条件,路由器必须设置为 network-services enhanced-ip
模式,并且平台中的所有线卡都必须是 MPC。
此示例要求出口 PE 路由器上安装 Junos OS 14.1 或更高版本。
概述
在此示例中,设备 R3 是出口边缘路由器。MoFRR 仅在此设备上启用。
OSPF 用于连接,但也可以使用任何内部网关协议 (IGP) 或静态路由。
出于测试目的,路由器用于模拟源和接收器。设备 R4 和设备 R8 配置为使用命令静态 set protocols igmp interface interface-name static group group
加入所需组。如果真正的组播接收器主机不可用(如本例所示),此静态 IGMP 配置非常有用。在接收方上,为了使其侦听组播组地址,此示例使用 set protocols sap listen group
.
MoFRR 配置包括一个策略选项,此示例中未显示,但将单独说明。该选项配置如下:
stream-protection { policy policy-name; }
CLI 快速配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit]
中。
设备 src1
set interfaces ge-1/2/10 unit 0 description src1-to-R1 set interfaces ge-1/2/10 unit 0 family inet address 10.5.0.1/30 set interfaces ge-1/2/11 unit 0 description src1-to-R1 set interfaces ge-1/2/11 unit 0 family inet address 192.168.219.11/24 set interfaces lo0 unit 0 family inet address 10.0.1.17/32 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive
设备 src2
set interfaces ge-1/2/24 unit 0 description src2-to-R5 set interfaces ge-1/2/24 unit 0 family inet address 10.5.0.2/30 set interfaces lo0 unit 0 family inet address 10.0.1.18/32 set protocols rsvp interface all set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive
设备 R1
set interfaces ge-1/2/12 unit 0 description R1-to-R2 set interfaces ge-1/2/12 unit 0 family inet address 10.1.2.1/30 set interfaces ge-1/2/12 unit 0 family mpls set interfaces ge-1/2/13 unit 0 description R1-to-R6 set interfaces ge-1/2/13 unit 0 family inet address 10.1.6.1/30 set interfaces ge-1/2/13 unit 0 family mpls set interfaces ge-1/2/10 unit 0 description R1-to-src1 set interfaces ge-1/2/10 unit 0 family inet address 10.1.0.2/30 set interfaces ge-1/2/11 unit 0 description R1-to-src1 set interfaces ge-1/2/11 unit 0 family inet address 192.168.219.9/30 set interfaces lo0 unit 0 family inet address 10.1.1.1/32 set protocols rsvp interface all set protocols mpls interface all set protocols bgp group ibgp local-address 10.1.1.1 set protocols bgp group ibgp export static-route-tobgp set protocols bgp group ibgp peer-as 65010 set protocols bgp group ibgp neighbor 10.1.1.3 set protocols bgp group ibgp neighbor 10.1.1.7 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface ge-1/2/12.0 set protocols ldp interface ge-1/2/13.0 set protocols ldp interface lo0.0 set protocols ldp p2mp set protocols pim mldp-inband-signalling policy mldppim-ex set protocols pim rp static address 10.1.1.5 set protocols pim interface lo0.0 set protocols pim interface ge-1/2/10.0 set protocols pim interface ge-1/2/11.0 set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.0.0/24 orlonger set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.219.11/32 orlonger set policy-options policy-statement mldppim-ex term B then p2mp-lsp-root address 10.1.1.2 set policy-options policy-statement mldppim-ex term B then accept set policy-options policy-statement mldppim-ex term A from source-address-filter 10.1.1.7/32 orlonger set policy-options policy-statement mldppim-ex term A from source-address-filter 10.1.0.0/30 orlonger set policy-options policy-statement mldppim-ex term A then accept set policy-options policy-statement static-route-tobgp term static from protocol static set policy-options policy-statement static-route-tobgp term static from protocol direct set policy-options policy-statement static-route-tobgp term static then accept set routing-options autonomous-system 65010
设备 R2
set interfaces ge-1/2/12 unit 0 description R2-to-R1 set interfaces ge-1/2/12 unit 0 family inet address 10.1.2.2/30 set interfaces ge-1/2/12 unit 0 family mpls set interfaces ge-1/2/14 unit 0 description R2-to-R3 set interfaces ge-1/2/14 unit 0 family inet address 10.2.3.1/30 set interfaces ge-1/2/14 unit 0 family mpls set interfaces ge-1/2/16 unit 0 description R2-to-R5 set interfaces ge-1/2/16 unit 0 family inet address 10.2.5.1/30 set interfaces ge-1/2/16 unit 0 family mpls set interfaces ge-1/2/17 unit 0 description R2-to-R7 set interfaces ge-1/2/17 unit 0 family inet address 10.2.7.1/30 set interfaces ge-1/2/17 unit 0 family mpls set interfaces ge-1/2/15 unit 0 description R2-to-R3 set interfaces ge-1/2/15 unit 0 family inet address 10.2.94.1/30 set interfaces ge-1/2/15 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.2/32 set interfaces lo0 unit 0 family mpls set protocols rsvp interface all set protocols mpls interface all set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface all set protocols ldp p2mp set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.0.0/24 orlonger set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.219.11/32 orlonger set policy-options policy-statement mldppim-ex term B then p2mp-lsp-root address 10.1.1.2 set policy-options policy-statement mldppim-ex term B then accept set routing-options autonomous-system 65010
设备 R3
set chassis network-services enhanced-ip set interfaces ge-1/2/14 unit 0 description R3-to-R2 set interfaces ge-1/2/14 unit 0 family inet address 10.2.3.2/30 set interfaces ge-1/2/14 unit 0 family mpls set interfaces ge-1/2/18 unit 0 description R3-to-R4 set interfaces ge-1/2/18 unit 0 family inet address 10.3.4.1/30 set interfaces ge-1/2/18 unit 0 family mpls set interfaces ge-1/2/19 unit 0 description R3-to-R6 set interfaces ge-1/2/19 unit 0 family inet address 10.3.6.2/30 set interfaces ge-1/2/19 unit 0 family mpls set interfaces ge-1/2/21 unit 0 description R3-to-R7 set interfaces ge-1/2/21 unit 0 family inet address 10.3.7.1/30 set interfaces ge-1/2/21 unit 0 family mpls set interfaces ge-1/2/22 unit 0 description R3-to-R8 set interfaces ge-1/2/22 unit 0 family inet address 10.3.8.1/30 set interfaces ge-1/2/22 unit 0 family mpls set interfaces ge-1/2/15 unit 0 description R3-to-R2 set interfaces ge-1/2/15 unit 0 family inet address 10.2.94.2/30 set interfaces ge-1/2/15 unit 0 family mpls set interfaces ge-1/2/20 unit 0 description R3-to-R6 set interfaces ge-1/2/20 unit 0 family inet address 10.2.96.2/30 set interfaces ge-1/2/20 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.3/32 primary set routing-options autonomous-system 65010 set routing-options multicast stream-protection set protocols rsvp interface all set protocols mpls interface all set protocols bgp group ibgp local-address 10.1.1.3 set protocols bgp group ibgp peer-as 10 set protocols bgp group ibgp neighbor 10.1.1.1 set protocols bgp group ibgp neighbor 10.1.1.5 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface all set protocols ldp p2mp set protocols pim mldp-inband-signalling policy mldppim-ex set protocols pim interface lo0.0 set protocols pim interface ge-1/2/18.0 set protocols pim interface ge-1/2/22.0 set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.0.0/24 orlonger set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.219.11/32 orlonger set policy-options policy-statement mldppim-ex term B then accept set policy-options policy-statement mldppim-ex term A from source-address-filter 10.1.0.1/30 orlonger set policy-options policy-statement mldppim-ex term A then accept set policy-options policy-statement static-route-tobgp term static from protocol static set policy-options policy-statement static-route-tobgp term static from protocol direct set policy-options policy-statement static-route-tobgp term static then accept
设备 R4
set interfaces ge-1/2/18 unit 0 description R4-to-R3 set interfaces ge-1/2/18 unit 0 family inet address 10.3.4.2/30 set interfaces ge-1/2/18 unit 0 family mpls set interfaces ge-1/2/23 unit 0 description R4-to-R7 set interfaces ge-1/2/23 unit 0 family inet address 10.4.7.1/30 set interfaces lo0 unit 0 family inet address 10.1.1.4/32 set protocols igmp interface ge-1/2/18.0 version 3 set protocols igmp interface ge-1/2/18.0 static group 232.1.1.1 group-count 2 set protocols igmp interface ge-1/2/18.0 static group 232.1.1.1 source 192.168.219.11 set protocols igmp interface ge-1/2/18.0 static group 232.2.2.2 source 10.2.7.7 set protocols sap listen 232.1.1.1 set protocols sap listen 232.2.2.2 set protocols rsvp interface all set protocols mpls interface all set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols pim mldp-inband-signalling policy mldppim-ex set protocols pim interface ge-1/2/23.0 set protocols pim interface ge-1/2/18.0 set protocols pim interface lo0.0 set policy-options policy-statement static-route-tobgp term static from protocol static set policy-options policy-statement static-route-tobgp term static from protocol direct set policy-options policy-statement static-route-tobgp term static then accept set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.0.0/24 orlonger set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.219.11/32 orlonger set policy-options policy-statement mldppim-ex term B then p2mp-lsp-root address 10.1.1.2 set policy-options policy-statement mldppim-ex term B then accept set routing-options autonomous-system 65010
设备 R5
set interfaces ge-1/2/24 unit 0 description R5-to-src2 set interfaces ge-1/2/24 unit 0 family inet address 10.5.0.1/30 set interfaces ge-1/2/16 unit 0 description R5-to-R2 set interfaces ge-1/2/16 unit 0 family inet address 10.2.5.2/30 set interfaces ge-1/2/16 unit 0 family mpls set interfaces ge-1/2/25 unit 0 description R5-to-R6 set interfaces ge-1/2/25 unit 0 family inet address 10.5.6.1/30 set interfaces ge-1/2/25 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.5/32 set protocols rsvp interface all set protocols mpls interface all set protocols bgp group ibgp local-address 10.1.1.5 set protocols bgp group ibgp export static-route-tobgp set protocols bgp group ibgp peer-as 65010 set protocols bgp group ibgp neighbor 10.1.1.7 set protocols bgp group ibgp neighbor 10.1.1.3 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface ge-1/2/16.0 set protocols ldp interface ge-1/2/25.0 set protocols ldp p2mp set protocols pim interface lo0.0 set protocols pim interface ge-1/2/24.0 set policy-options policy-statement static-route-tobgp term static from protocol static set policy-options policy-statement static-route-tobgp term static from protocol direct set policy-options policy-statement static-route-tobgp term static then accept set routing-options autonomous-system 65010
设备 R6
set interfaces ge-1/2/13 unit 0 description R6-to-R1 set interfaces ge-1/2/13 unit 0 family inet address 10.1.6.2/30 set interfaces ge-1/2/13 unit 0 family mpls set interfaces ge-1/2/19 unit 0 description R6-to-R3 set interfaces ge-1/2/19 unit 0 family inet address 10.3.6.1/30 set interfaces ge-1/2/19 unit 0 family mpls set interfaces ge-1/2/25 unit 0 description R6-to-R5 set interfaces ge-1/2/25 unit 0 family inet address 10.5.6.2/30 set interfaces ge-1/2/25 unit 0 family mpls set interfaces ge-1/2/26 unit 0 description R6-to-R7 set interfaces ge-1/2/26 unit 0 family inet address 10.6.7.1/30 set interfaces ge-1/2/26 unit 0 family mpls set interfaces ge-1/2/20 unit 0 description R6-to-R3 set interfaces ge-1/2/20 unit 0 family inet address 10.2.96.1/30 set interfaces ge-1/2/20 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.6/30 set protocols rsvp interface all set protocols mpls interface all set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface all set protocols ldp p2mp
设备 R7
set interfaces ge-1/2/17 unit 0 description R7-to-R2 set interfaces ge-1/2/17 unit 0 family inet address 10.2.7.2/30 set interfaces ge-1/2/17 unit 0 family mpls set interfaces ge-1/2/21 unit 0 description R7-to-R3 set interfaces ge-1/2/21 unit 0 family inet address 10.3.7.2/30 set interfaces ge-1/2/21 unit 0 family mpls set interfaces ge-1/2/23 unit 0 description R7-to-R4 set interfaces ge-1/2/23 unit 0 family inet address 10.4.7.2/30 set interfaces ge-1/2/23 unit 0 family mpls set interfaces ge-1/2/26 unit 0 description R7-to-R6 set interfaces ge-1/2/26 unit 0 family inet address 10.6.7.2/30 set interfaces ge-1/2/26 unit 0 family mpls set interfaces ge-1/2/27 unit 0 description R7-to-R8 set interfaces ge-1/2/27 unit 0 family inet address 10.7.8.1/30 set interfaces ge-1/2/27 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.7/32 set protocols rsvp interface all set protocols mpls interface all set protocols bgp group ibgp local-address 10.1.1.7 set protocols bgp group ibgp export static-route-tobgp set protocols bgp group ibgp peer-as 65010 set protocols bgp group ibgp neighbor 10.1.1.5 set protocols bgp group ibgp neighbor 10.1.1.1 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface ge-1/2/17.0 set protocols ldp interface ge-1/2/21.0 set protocols ldp interface ge-1/2/26.0 set protocols ldp p2mp set protocols pim mldp-inband-signalling policy mldppim-ex set protocols pim interface lo0.0 set protocols pim interface ge-1/2/27.0 set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.0.0/24 orlonger set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.219.11/32 orlonger set policy-options policy-statement mldppim-ex term B then accept set policy-options policy-statement mldppim-ex term A from source-address-filter 10.1.0.1/30 orlonger set policy-options policy-statement mldppim-ex term A then accept set policy-options policy-statement static-route-tobgp term static from protocol static set policy-options policy-statement static-route-tobgp term static from protocol direct set policy-options policy-statement static-route-tobgp term static then accept set routing-options autonomous-system 65010 set routing-options multicast stream-protection policy mldppim-ex
设备 R8
set interfaces ge-1/2/22 unit 0 description R8-to-R3 set interfaces ge-1/2/22 unit 0 family inet address 10.3.8.2/30 set interfaces ge-1/2/22 unit 0 family mpls set interfaces ge-1/2/27 unit 0 description R8-to-R7 set interfaces ge-1/2/27 unit 0 family inet address 10.7.8.2/30 set interfaces ge-1/2/27 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.8/32 set protocols igmp interface ge-1/2/22.0 version 3 set protocols igmp interface ge-1/2/22.0 static group 232.1.1.1 group-count 2 set protocols igmp interface ge-1/2/22.0 static group 232.1.1.1 source 192.168.219.11 set protocols igmp interface ge-1/2/22.0 static group 232.2.2.2 source 10.2.7.7 set protocols sap listen 232.1.1.1 set protocols sap listen 232.2.2.2 set protocols rsvp interface all set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols pim mldp-inband-signalling policy mldppim-ex set protocols pim interface ge-1/2/27.0 set protocols pim interface ge-1/2/22.0 set protocols pim interface lo0.0 set policy-options policy-statement static-route-tobgp term static from protocol static set policy-options policy-statement static-route-tobgp term static from protocol direct set policy-options policy-statement static-route-tobgp term static then accept set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.0.0/24 orlonger set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.219.11/32 orlonger set policy-options policy-statement mldppim-ex term B then p2mp-lsp-root address 10.1.1.2 set policy-options policy-statement mldppim-ex term B then accept set routing-options autonomous-system 65010
配置
程序
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要配置设备 R3:
启用增强型 IP 模式。
[edit chassis] user@R3# set network-services enhanced-ip
配置设备接口。
[edit interfaces] user@R3# set ge-1/2/14 unit 0 description R3-to-R2 user@R3# set ge-1/2/14 unit 0 family inet address 10.2.3.2/30 user@R3# set ge-1/2/14 unit 0 family mpls user@R3# set ge-1/2/18 unit 0 description R3-to-R4 user@R3# set ge-1/2/18 unit 0 family inet address 10.3.4.1/30 user@R3# set ge-1/2/18 unit 0 family mpls user@R3# set ge-1/2/19 unit 0 description R3-to-R6 user@R3# set ge-1/2/19 unit 0 family inet address 10.3.6.2/30 user@R3# set ge-1/2/19 unit 0 family mpls user@R3# set ge-1/2/21 unit 0 description R3-to-R7 user@R3# set ge-1/2/21 unit 0 family inet address 10.3.7.1/30 user@R3# set ge-1/2/21 unit 0 family mpls user@R3# set ge-1/2/22 unit 0 description R3-to-R8 user@R3# set ge-1/2/22 unit 0 family inet address 10.3.8.1/30 user@R3# set ge-1/2/22 unit 0 family mpls user@R3# set ge-1/2/15 unit 0 description R3-to-R2 user@R3# set ge-1/2/15 unit 0 family inet address 10.2.94.2/30 user@R3# set ge-1/2/15 unit 0 family mpls user@R3# set ge-1/2/20 unit 0 description R3-to-R6 user@R3# set ge-1/2/20 unit 0 family inet address 10.2.96.2/30 user@R3# set ge-1/2/20 unit 0 family mpls user@R3# set lo0 unit 0 family inet address 10.1.1.3/32 primary
配置自治系统 (AS) 编号。
user@R3# set routing-options autonomous-system 6510
配置路由策略。
[edit policy-options policy-statement mldppim-ex] user@R3# set term B from source-address-filter 192.168.0.0/24 orlonger user@R3# set term B from source-address-filter 192.168.219.11/32 orlonger user@R3# set term B then accept user@R3# set term A from source-address-filter 10.1.0.1/30 orlonger user@R3# set term A then accept [edit policy-options policy-statement static-route-tobgp] user@R3# set term static from protocol static user@R3# set term static from protocol direct user@R3# set term static then accept
配置 PIM。
[edit protocols pim] user@R3# set mldp-inband-signalling policy mldppim-ex user@R3# set interface lo0.0 user@R3# set interface ge-1/2/18.0 user@R3# set interface ge-1/2/22.0
配置 LDP。
[edit protocols ldp] user@R3# set interface all user@R3# set p2mp
配置 IGP 或静态路由。
[edit protocols ospf] user@R3# set traffic-engineering user@R3# set area 0.0.0.0 interface all user@R3# set area 0.0.0.0 interface fxp0.0 disable user@R3# set area 0.0.0.0 interface lo0.0 passive
配置内部 BGP。
[edit protocols bgp group ibgp] user@R3# set local-address 10.1.1.3 user@R3# set peer-as 65010 user@R3# set neighbor 10.1.1.1 user@R3# set neighbor 10.1.1.5
配置 MPLS 和 RSVP(可选)。
[edit protocols mpls] user@R3# set interface all [edit protocols rsvp] user@R3# set interface all
启用 MoFRR。
[edit routing-options multicast] user@R3# set stream-protection
结果
在配置模式下,输入 show chassis
、 show interfaces
、 show policy-options
show protocols
和show routing-options
命令来确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。
user@R3# show chassis network-services enhanced-ip;
user@R3# show interfaces ge-1/2/14 { unit 0 { description R3-to-R2; family inet { address 10.2.3.2/30; } family mpls; } } ge-1/2/18 { unit 0 { description R3-to-R4; family inet { address 10.3.4.1/30; } family mpls; } } ge-1/2/19 { unit 0 { description R3-to-R6; family inet { address 10.3.6.2/30; } family mpls; } } ge-1/2/21 { unit 0 { description R3-to-R7; family inet { address 10.3.7.1/30; } family mpls; } } ge-1/2/22 { unit 0 { description R3-to-R8; family inet { address 10.3.8.1/30; } family mpls; } } ge-1/2/15 { unit 0 { description R3-to-R2; family inet { address 10.2.94.2/30; } family mpls; } } ge-1/2/20 { unit 0 { description R3-to-R6; family inet { address 10.2.96.2/30; } family mpls; } } lo0 { unit 0 { family inet { address 192.168.15.1/32; address 10.1.1.3/32 { primary; } } } }
user@R3# show protocols rsvp { interface all; } mpls { interface all; } bgp { group ibgp { local-address 10.1.1.3; peer-as 65010; neighbor 10.1.1.1; neighbor 10.1.1.5; } } ospf { traffic-engineering; area 0.0.0.0 { interface all; interface fxp0.0 { disable; } interface lo0.0 { passive; } } } ldp { interface all; p2mp; } pim { mldp-inband-signalling { policy mldppim-ex; } interface lo0.0; interface ge-1/2/18.0; interface ge-1/2/22.0; }
user@R3# show policy-options policy-statement mldppim-ex { term B { from { source-address-filter 192.168.0.0/24 orlonger; source-address-filter 192.168.219.11/32 orlonger; } then accept; } term A { from { source-address-filter 10.1.0.1/30 orlonger; } then accept; } } policy-statement static-route-tobgp { term static { from protocol [ static direct ]; then accept; } }
user@R3# show routing-options autonomous-system 65010; multicast { stream-protection; }
如果完成设备配置,请从配置模式输入 commit
。
验证
确认配置工作正常。
检查 LDP 点对多点转发等效类
目的
确保启用了 MoFRR,并确定正在使用哪些标签。
操作
user@R3> show ldp p2mp fec LDP P2MP FECs: P2MP root-addr 10.1.1.1, grp: 232.1.1.1, src: 192.168.219.11 MoFRR enabled Fec type: Egress (Active) Label: 301568 P2MP root-addr 10.1.1.1, grp: 232.1.1.2, src: 192.168.219.11 MoFRR enabled Fec type: Egress (Active) Label: 301600
意义
输出显示 MoFRR 已启用,并且标签 301568 和 301600 正用于两个多点 LDP 点对多点 LSP。
检查标签信息
目的
确保出口设备有两个用于组播组加入的上游接口。
操作
user@R3> show route label 301568 detail mpls.0: 18 destinations, 18 routes (18 active, 0 holddown, 0 hidden) 301568 (1 entry, 1 announced) *LDP Preference: 9 Next hop type: Flood Address: 0x2735208 Next-hop reference count: 3 Next hop type: Router, Next hop index: 1397 Address: 0x2735d2c Next-hop reference count: 3 Next hop: 10.3.8.2 via ge-1/2/22.0 Label operation: Pop Load balance label: None; Next hop type: Router, Next hop index: 1395 Address: 0x2736290 Next-hop reference count: 3 Next hop: 10.3.4.2 via ge-1/2/18.0 Label operation: Pop Load balance label: None; State: <Active Int AckRequest MulticastRPF> Local AS: 65010 Age: 54:05 Metric: 1 Validation State: unverified Task: LDP Announcement bits (1): 0-KRT AS path: I FECs bound to route: P2MP root-addr 10.1.1.1, grp: 232.1.1.1, src: 192.168.219.11 Primary Upstream : 10.1.1.3:0--10.1.1.2:0 RPF Nexthops : ge-1/2/15.0, 10.2.94.1, Label: 301568, weight: 0x1 ge-1/2/14.0, 10.2.3.1, Label: 301568, weight: 0x1 Backup Upstream : 10.1.1.3:0--10.1.1.6:0 RPF Nexthops : ge-1/2/20.0, 10.2.96.1, Label: 301584, weight: 0xfffe ge-1/2/19.0, 10.3.6.1, Label: 301584, weight: 0xfffe
user@R3> show route label 301600 detail mpls.0: 18 destinations, 18 routes (18 active, 0 holddown, 0 hidden) 301600 (1 entry, 1 announced) *LDP Preference: 9 Next hop type: Flood Address: 0x27356b4 Next-hop reference count: 3 Next hop type: Router, Next hop index: 1520 Address: 0x27350f4 Next-hop reference count: 3 Next hop: 10.3.8.2 via ge-1/2/22.0 Label operation: Pop Load balance label: None; Next hop type: Router, Next hop index: 1481 Address: 0x273645c Next-hop reference count: 3 Next hop: 10.3.4.2 via ge-1/2/18.0 Label operation: Pop Load balance label: None; State: <Active Int AckRequest MulticastRPF> Local AS: 65010 Age: 54:25 Metric: 1 Validation State: unverified Task: LDP Announcement bits (1): 0-KRT AS path: I FECs bound to route: P2MP root-addr 10.1.1.1, grp: 232.1.1.2, src: 192.168.219.11 Primary Upstream : 10.1.1.3:0--10.1.1.6:0 RPF Nexthops : ge-1/2/20.0, 10.2.96.1, Label: 301600, weight: 0x1 ge-1/2/19.0, 10.3.6.1, Label: 301600, weight: 0x1 Backup Upstream : 10.1.1.3:0--1.1.1.2:0 RPF Nexthops : ge-1/2/15.0, 10.2.94.1, Label: 301616, weight: 0xfffe ge-1/2/14.0, 10.2.3.1, Label: 301616, weight: 0xfffe
意义
输出显示主上游路径和备份上游路径。它还显示 RPF 下一跃点。
检查组播路由
目的
检查 IP 组播转发表,确保有一个上游 RPF 接口列表,其中包含主接口和备份接口。
操作
user@R3> show ldp p2mp path P2MP path type: Transit/Egress Output Session (label): 10.1.1.2:0 (301568) (Primary) Egress Nexthops: Interface ge-1/2/18.0 Interface ge-1/2/22.0 RPF Nexthops: Interface ge-1/2/15.0, 10.2.94.1, 301568, 1 Interface ge-1/2/20.0, 10.2.96.1, 301584, 65534 Interface ge-1/2/14.0, 10.2.3.1, 301568, 1 Interface ge-1/2/19.0, 10.3.6.1, 301584, 65534 Attached FECs: P2MP root-addr 10.1.1.1, grp: 232.1.1.1, src: 192.168.219.11 (Active) P2MP path type: Transit/Egress Output Session (label): 10.1.1.6:0 (301584) (Backup) Egress Nexthops: Interface ge-1/2/18.0 Interface ge-1/2/22.0 RPF Nexthops: Interface ge-1/2/15.0, 10.2.94.1, 301568, 1 Interface ge-1/2/20.0, 10.2.96.1, 301584, 65534 Interface ge-1/2/14.0, 10.2.3.1, 301568, 1 Interface ge-1/2/19.0, 10.3.6.1, 301584, 65534 Attached FECs: P2MP root-addr 10.1.1.1, grp: 232.1.1.1, src: 192.168.219.11 (Active) P2MP path type: Transit/Egress Output Session (label): 10.1.1.6:0 (301600) (Primary) Egress Nexthops: Interface ge-1/2/18.0 Interface ge-1/2/22.0 RPF Nexthops: Interface ge-1/2/15.0, 10.2.94.1, 301616, 65534 Interface ge-1/2/20.0, 10.2.96.1, 301600, 1 Interface ge-1/2/14.0, 10.2.3.1, 301616, 65534 Interface ge-1/2/19.0, 10.3.6.1, 301600, 1 Attached FECs: P2MP root-addr 10.1.1.1, grp: 232.1.1.2, src: 192.168.219.11 (Active) P2MP path type: Transit/Egress Output Session (label): 10.1.1.2:0 (301616) (Backup) Egress Nexthops: Interface ge-1/2/18.0 Interface ge-1/2/22.0 RPF Nexthops: Interface ge-1/2/15.0, 10.2.94.1, 301616, 65534 Interface ge-1/2/20.0, 10.2.96.1, 301600, 1 Interface ge-1/2/14.0, 10.2.3.1, 301616, 65534 Interface ge-1/2/19.0, 10.3.6.1, 301600, 1 Attached FECs: P2MP root-addr 10.1.1.1, grp: 232.1.1.2, src: 192.168.219.11 (Active)
意义
输出显示主会话和备份会话,以及 RPF 下一跃点。
检查 LDP 点对多点流量统计信息
目的
确保同时列出了主统计信息和备份统计信息。
操作
user@R3> show ldp traffic-statistics p2mp P2MP FEC Statistics: FEC(root_addr:lsp_id/grp,src) Nexthop Packets Bytes Shared 10.1.1.1:232.1.1.1,192.168.219.11, Label: 301568 10.3.8.2 0 0 No 10.3.4.2 0 0 No 10.1.1.1:232.1.1.1,192.168.219.11, Label: 301584, Backup route 10.3.4.2 0 0 No 10.3.8.2 0 0 No 10.1.1.1:232.1.1.2,192.168.219.11, Label: 301600 10.3.8.2 0 0 No 10.3.4.2 0 0 No 10.1.1.1:232.1.1.2,192.168.219.11, Label: 301616, Backup route 10.3.4.2 0 0 No 10.3.8.2 0 0 No
意义
输出显示带有标签的主路由和备份路由。
示例:按需在下游配置 LDP
此示例说明如何按需在下游配置 LDP 。LDP 通常使用下游未经请求的通告模式进行配置,这意味着从所有 LDP 对等方接收所有路由的标签通告。由于服务提供商将接入和聚合网络集成到单个 MPLS 域中,因此需要按需下游 LDP 在接入和聚合网络之间分配绑定,并降低控制平面的处理要求。
下游节点可能会从上游聚合节点接收数万个标签绑定。无需学习和存储整个 MPLS 网络中所有可能环路地址的所有标签绑定,还可以按需使用 LDP 下游聚合节点进行配置,以便仅请求与其配置了服务的出口节点的环路地址对应的 FEC 的标签绑定。
要求
此示例使用以下硬件和软件组件:
-
M 系列路由器
-
Junos OS 12.2
概述
通过在层次结构级别包含[edit protocols ldp session]
下游按需语句,可以为 LDP 会话启用 LDP 下游按需标签播发。如果您已按需配置下游,瞻博网络路由器会将下游按需请求播发至其对等路由器。要在两个路由器之间建立下游按需会话,必须在建立 LDP 会话期间播发下游按需模式。如果一台路由器播发下游未经请求模式,而另一台路由器按需向下播发,则使用下游未经请求模式。
配置
按需在下游配置 LDP
分步过程
要配置 LDP 下游按需策略,然后配置该策略并在 LDP 会话上按需启用下游 LDP,请执行以下操作:
-
配置下游按需策略(DOD-Request-Loopbacks 在此示例中)。
此策略导致路由器仅将标签请求消息转发到与 DOD-Request-Loopbacks 策略匹配的 FEC。
[edit policy-options] user@host# set prefix-list Request-Loopbacks 10.1.1.1/32 user@host# set prefix-list Request-Loopbacks 10.1.1.2/32 user@host# set prefix-list Request-Loopbacks 10.1.1.3/32 user@host# set prefix-list Request-Loopbacks 10.1.1.4/32 user@host# set policy-statement DOD-Request-Loopbacks term 1 from prefix-list Request-Loopbacks user@host# set policy-statement DOD-Request-Loopbacks term 1 then accept
-
在层次结构级别使用
[edit protocols ldp]
语句指定dod-request-policy
DOD-请求-环回策略。使用语句指定的
dod-request-policy
策略用于标识用于发送标签请求消息的前缀。此策略类似于出口策略或导入策略。处理来自 inet.0 路由表的路由时,Junos OS 软件会检查与策略匹配DOD-Request-Loopbacks
的路由(在本例中)。如果路由与策略匹配,并且 LDP 会话与 DOD 通告模式协商,则标签请求消息将发送到相应的下游 LDP 会话。[edit protocols ldp] user@host# set dod-request-policy DOD-Request-Loopbacks
-
在 LDP 会话的配置中包含语句
downstream-on-demand
,以启用下游按需分配模式。[edit protocols ldp] user@host# set session 172.16.1.1 downstream-on-demand
将 LDP 下游按需路由分配到标记的 BGP 中
分步过程
要将 LDP 下游按需路由分发到标记的 BGP 中,请使用 BGP 导出策略。
-
配置 LDP 路由策略(
redistribute_ldp
在本例中)。[edit policy-options] user@host# set policy-statement redistribute_ldp term 1 from protocol ldp user@host# set policy-statement redistribute_ldp term 1 from tag 1000 user@host# set policy-statement redistribute_ldp term 1 then accept
-
在 BGP 配置中包含 LDP 路由策略
redistribute_ldp
(在本例中作为 BGP 组配置ebgp-to-abr
的一部分)。BGP 根据策略将 LDP 路由
redistribute_ldp
转发到远程 PE 路由器[edit protocols bgp] user@host# set group ebgp-to-abr type external user@host# set group ebgp-to-abr local-address 192.168.0.1 user@host# set group ebgp-to-abr peer-as 65319 user@host# set group ebgp-to-abr local-as 65320 user@host# set group ebgp-to-abr neighbor 192.168.6.1 family inet unicast user@host# set group ebgp-to-abr neighbor 192.168.6.1 family inet labeled-unicast rib inet.3 user@host# set group ebgp-to-abr neighbor 192.168.6.1 export redistribute_ldp
分步过程
要将标签传播限制到在下游未经请求模式下配置的其他路由器(而不是下游按需配置),请配置以下策略:
-
将
dod-routes
策略配置为接受来自 LDP 的路由。user@host# set policy-options policy-statement dod-routes term 1 from protocol ldp user@host# set policy-options policy-statement dod-routes term 1 from tag 1145307136 user@host# set policy-options policy-statement dod-routes term 1 then accept
-
将
do-not-propagate-du-sessions
策略配置为不将路由转发到邻居10.1.1.1
、10.2.2.2
和10.3.3.3
。user@host# set policy-options policy-statement do-not-propagate-du-sessions term 1 to neighbor 10.1.1.1 user@host# set policy-options policy-statement do-not-propagate-du-sessions term 1 to neighbor 10.2.2.2 user@host# set policy-options policy-statement do-not-propagate-du-sessions term 1 to neighbor 10.3.3.3 user@host# set policy-options policy-statement do-not-propagate-du-sessions term 1 then reject
-
配置
filter-dod-on-du-sessions
策略以防止策略检查dod-routes
的路由转发到策略中do-not-propagate-du-sessions
定义的相邻路由器。user@host# set policy-options policy-statement filter-dod-routes-on-du-sessions term 1 from policy dod-routes user@host# set policy-options policy-statement filter-dod-routes-on-du-sessions term 1 to policy do-not-propagate-du-sessions
-
将该
filter-dod-routes-on-du-sesssion
策略指定为 BGP groupebgp-to-abr
的导出策略。[edit protocols bgp] user@host# set group ebgp-to-abr neighbor 192.168.6.2 export filter-dod-routes-on-du-sessions
结果
在配置模式下,输入 show policy-options
和 show protocols ldp
命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。
user@host# show policy-options prefix-list Request-Loopbacks { 10.1.1.1/32; 10.1.1.2/32; 10.1.1.3/32; 10.1.1.4/32; } policy-statement DOD-Request-Loopbacks { term 1 { from { prefix-list Request-Loopbacks; } then accept; } } policy-statement redistribute_ldp { term 1 { from { protocol ldp; tag 1000; } then accept; } }
user@host# show protocols ldp dod-request-policy DOD-Request-Loopbacks; session 172.16.1.1 { downstream-on-demand; }
user@host# show protocols bgp group ebgp-to-abr { type external; local-address 192.168.0.1; peer-as 65319; local-as 65320; neighbor 192.168.6.1 { family inet { unicast; labeled-unicast { rib { inet.3; } } } export redistribute_ldp; } }
验证
验证标签通告模式
目的
确认配置工作正常。
使用 show ldp session
命令验证 LDP 会话的标签通告模式的状态。
操作
show ldp session
发出和show ldp session detail
命令:
-
命令
show ldp session
的以下命令输出指示Adv. Mode
(标签播发模式)为DOD
(表示 LDP 下游按需会话正在运行):user@host>
show ldp session
Address State Connection Hold time Adv. Mode 172.16.1.2 Operational Open 22 DOD -
命令
show ldp session detail
的以下命令输出指示Local Label Advertisement mode
是Downstream unsolicited
,默认值(表示未在本地会话上配置下游按需)。相反,Remote Label Advertisement mode
和Negotiated Label Advertisement mode
两者都表示Downstream on demand
在远程会话上配置user@host>
show ldp session detail
Address: 172.16.1.2, State: Operational, Connection: Open, Hold time: 24 Session ID: 10.1.1.1:0--10.1.1.2:0 Next keepalive in 4 seconds Passive, Maximum PDU: 4096, Hold time: 30, Neighbor count: 1 Neighbor types: configured-tunneled Keepalive interval: 10, Connect retry interval: 1 Local address: 10.1.1.1, Remote address: 10.1.1.2 Up for 17:54:52 Capabilities advertised: none Capabilities received: none Protection: disabled Local - Restart: disabled, Helper mode: enabled, Remote - Restart: disabled, Helper mode: enabled Local maximum neighbor reconnect time: 120000 msec Local maximum neighbor recovery time: 240000 msec Local Label Advertisement mode: Downstream unsolicited Remote Label Advertisement mode: Downstream on demand Negotiated Label Advertisement mode: Downstream on demand Nonstop routing state: Not in sync Next-hop addresses received: 10.1.1.2
配置 LDP 本机 IPv6 支持
LDP 在仅支持 IPv6 的网络以及 RFC 7552 中所述的 IPv6 或 IPv4 双堆栈网络中受支持。将地址族 inet
配置为 IPv4 和 inet6
/或 IPv6,并将传输首选项配置为 IPv4
或 IPv6
。该 dual-transport
语句允许 Junos OS LDP 通过 IPv4 与 IPv4 邻居建立 TCP 连接,并通过 IPv6 与 IPv6 邻居建立单堆栈 LSR 的 TCP 连接。inet-lsr-id
和 inet6-lsr-id
ID 是两个 LSR ID,必须对其进行配置才能通过 IPv4 和 IPv6 TCP 传输建立 LDP 会话。这两个 ID 应为非零,并且必须配置不同的值。
在将 IPv6 配置为双堆栈之前,请确保配置路由和信令协议。
要配置 LDP 本机 IPv6 支持,必须执行以下操作:
示例:配置 LDP 本机 IPv6 支持
此示例说明如何允许 Junos OS 标签分发协议 (LDP) 通过 IPv4 与 IPv4 邻居建立 TCP 连接,并通过 IPv6 与 IPv6 邻居建立单堆栈 LSR 的 TCP 连接。这有助于避免使用 IPv4 信号 MPLS 标签交换路径 (LSP) 通过 IPv4 MPLS 核心建立 IPv6 隧道。
要求
此示例使用以下硬件和软件组件:
-
两台 MX 系列路由器
-
在所有设备上运行的 Junos OS 16.1 或更高版本
在将 IPv6 配置为双堆栈之前,请确保配置路由和信令协议。
概述
LDP 在仅支持 IPv6 的网络以及 RFC 7552 中所述的 IPv6 或 IPv4 双堆栈网络中受支持。将地址族 inet
配置为 IPv4 或 inet6
IPv6。默认情况下,当同时启用 IPv4 和 IPv6 时,IPv6 用作与其对等方的 LDP 会话的 TCP 传输。双传输语句允许 Junos LDP 通过 IPv4 与 IPv4 邻居建立 TCP 连接,并通过 IPv6 与 IPv6 邻居建立单堆栈 LSR 的 TCP 连接。inet-lsr-id
和inet6-lsr-id
是两个 LSR ID,必须配置它们才能通过 IPv4 和 IPv6 TCP 传输建立 LDP 会话。这两个 ID 应为非零,并且必须配置不同的值。
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到 [edit] 层级的 CLI 中,然后从配置模式进入 commit
。
R1
set interfaces ge-1/0/0 unit 0 family inet address 192.168.12.1/24 set interfaces ge-1/0/0 unit 0 family iso set interfaces ge-1/0/0 unit 0 family inet6 address 2001:db8:0:12::/64 eui-64 set interfaces ge-1/0/0 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.0.1/32 set interfaces lo0 unit 0 family iso address 49.0001.1720.1600.1010.00 set interfaces lo0 unit 0 family inet6 address 2001:db8::1/128 set protocols isis interface ge-1/0/0.0 set protocols isis interface lo0.0 set protocols mpls interface ge-1/0/0.0 set protocols ldp deaggregate set protocols ldp interface ge-1/0/0.0 set protocols ldp interface lo0.0 set protocols ldp family inet6 set protocols ldp family inet
R2
set interfaces ge-1/0/1 unit 0 family inet address 192.168.12.2/24 set interfaces ge-1/0/1 unit 0 family iso set interfaces ge-1/0/1 unit 0 family inet6 address 2001:db8:0:12::/64 eui-64 set interfaces ge-1/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.0.2/32 set interfaces lo0 unit 0 family iso address 49.0001.1720.1600.2020.00 set interfaces lo0 unit 0 family inet6 address 2001:db8::2/128 set protocols isis interface ge-1/0/1.0 set protocols isis interface lo0.0 set protocols mpls interface ge-1/0/1.0 set protocols ldp deaggregate set protocols ldp interface ge-1/0/1.0 set protocols ldp interface lo0.0 set protocols ldp family inet6 set protocols ldp family inet
配置 R1
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 Junos OS CLI 用户指南中的“ Using the CLI Editor in Configuration Mode ”。
要配置设备 R1:
-
配置接口。
[edit interfaces] set ge-1/0/0 unit 0 family inet address 192.168.12.1/24 set ge-1/0/0 unit 0 family iso set ge-1/0/0 unit 0 family inet6 address 2001:db8:0:12::/64 eui-64 set ge-1/0/0 unit 0 family mpls
-
为设备分配环路地址。
[edit interfaces lo0 unit 0] set family inet address 10.255.0.1/32 set family iso address 49.0001.1720.1600.1010.00 set family inet6 address 2001:db8::1/128
-
配置 IS-IS 接口。
[edit protocols isis] set interface ge-1/0/0.0 set interface lo0.0
-
配置 MPLS 以使用设备上的 LDP 接口。
[edit protocols mpls] set protocols mpls interface ge-1/0/0.0 set interface ge-1/0/0.0 set interface lo0.0
-
启用转发等效类 (FEC) 分解,以便对不同的地址族使用不同的标签。
[edit protocols ldp] set deaggregate
-
配置 LDP 地址族。
[edit protocols ldp] set family inet6 set family inet
结果
在配置模式下,输入 show interfaces 和 show protocols 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。
user@R1# show interfaces ge-1/0/0 { unit 0 { family inet { address 192.168.12.1/24; } family iso; family inet6 { address 2001:db8:0:12::/64 { eui-64; } } family mpls; } } lo0 { unit 0 { family inet { address 10.255.0.1/32; } family iso { address 49.0001.1720.1600.1010.00 } family inet6 { address 2001:db8::1/128; } } }
user@R1# show protocols mpls { interface ge-1/0/0.0; } isis { interface ge-1/0/0.0; interface lo0.0; } ldp { deaggregate; interface ge-1/0/0.0; interface lo0.0; family { inet6; inet; } }
配置传输首选项以选择首选传输
CLI 快速配置
分步过程
您可以将语句 transport-preference
配置为在同时启用 IPv4 和 IPv6 时选择 TCP 连接的首选传输。默认情况下,IPv6 用作用于建立 LDP 连接的 TCP 传输。
-
(可选)配置 LDP 连接的传输首选项。
[edit protocols ldp] set transport-preference ipv4
分步过程
结果
在配置模式下,输入 show protocols 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。
user@R1# show protocols mpls { interface ge-1/0/0.0; } isis { interface ge-1/0/0.0; interface lo0.0; } ldp { deaggregate; interface ge-1/0/0.0; interface lo0.0; family { inet6; inet; } transport-preference ipv4; }
配置双传输,以便为具有 IPv4 邻居的 IPv4 和与 IPv6 邻居的 IPv6 建立单独的会话
分步过程
您可以将语句 dual-transport
配置为允许 LDP 与 IPv4 邻居建立单独的 IPv4 会话,并与 IPv6 邻居建立 IPv6 会话。这需要配置为 inet-lsr-id
IPv4 的 LSR ID 和 inet6-lsr-id
IPv6 的 LSR ID。
-
(可选)配置双传输,以允许 LDP 通过 IPv4 与 IPv4 邻居建立 TCP 连接,并通过 IPv6 与 IPv6 邻居建立 TCP 连接作为单堆栈 LSR。
[edit protocols ldp dual-transport] set inet-lsr-id 10.255.0.1 set inet6-lsr-id 10.1.1.1
结果
在配置模式下,输入 show protocols 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。
user@R1# show protocols mpls { interface ge-1/0/0.0; } isis { interface ge-1/0/0.0; interface lo0.0; } ldp { deaggregate; interface ge-1/0/0.0; interface lo0.0; family { inet6; inet; } dual-transport { inet-lsr-id 10.255.0.1; inet6-lsr-id 10.1.1.1; } }
验证
确认配置工作正常。
验证 mpls.0 表中的路由条目
目的
显示 mpls.0 路由表信息。
操作
在设备 R1 上,在操作模式下,运行 show route table mpls.0
命令以显示 mpls.0 路由表信息。
user@R1> show route table mpls.0
mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
0 *[MPLS/0] 05:19:58, metric 1
Receive
1 *[MPLS/0] 05:19:58, metric 1
Receive
2 *[MPLS/0] 05:19:58, metric 1
Receive
13 *[MPLS/0] 05:19:58, metric 1
Receive
299824 *[LDP/9] 04:28:45, metric 1
> to fe80::21f:1200:cb6:4c8d via ge-1/0/0.0, Pop
299824(S=0) *[LDP/9] 04:28:45, metric 1
> to fe80::21f:1200:cb6:4c8d via ge-1/0/0.0, Pop
299888 *[LDP/9] 00:56:12, metric 1
> to 192.168.12.2 via ge-1/0/0.0, Pop
299888(S=0) *[LDP/9] 00:56:12, metric 1
> to 192.168.12.2 via ge-1/0/0.0, Pop
意义
输出显示 mpls.0 路由表信息。
验证 inet.3 表中的路由条目
目的
显示 inet.3 路由表信息。
操作
在设备 R1 上,在操作模式下,运行 show route table inet.3
命令以显示 inet.3 路由表信息。
user@R1> show route table inet.3
inet.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.255.0.2/32 *[LDP/9] 00:58:38, metric 1
> to 192.168.12.2 via ge-1/0/0.0
意义
输出显示 inet.3 路由表信息。
验证 inet6.3 表中的路由条目
目的
显示 inet6.3 路由表信息。
操作
在设备 R1 上,在操作模式下,运行 show route table inet6.3
命令以显示 inet6.3 路由表信息。
user@R1> show route table inet6.3
inet6.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
2001:db8::2/128 *[LDP/9] 04:31:17, metric 1
> to fe80::21f:1200:cb6:4c8d via ge-1/0/0.0
意义
输出显示 inet6.3 路由表信息。
验证 LDP 数据库
目的
显示 LDP 数据库信息。
操作
在设备 R1 上,在操作模式下,运行 show ldp database
命令以显示 LDP 数据库信息。
user@R1> show ldp database
Input label database, 10.255.0.1:0--10.255.0.2:0
Labels received: 3
Label Prefix
299840 10.255.0.1/32
3 10.255.0.2/32
299808 2001:db8::1/128
3 2001:db8::2/128
Output label database, 10.255.0.1:0--10.255.0.2:0
Labels advertised: 3
Label Prefix
3 10.255.0.1/32
299888 10.255.0.2/32
3 2001:db8::1/128
299824 2001:db8::2/128
意义
输出显示 LDP 数据库中的条目。
验证 LDP 邻居信息
目的
显示 LDP 邻居信息。
操作
在设备 R1 上,在操作模式下,运行 show ldp neighbor
和 show ldp neighbor extensive
命令以显示 LDP 邻居信息。
user@R1>show ldp neighbor
Address Interface Label space ID Hold time fe80::21f:1200:cb6:4c8d ge-1/0/0.0 10.255.0.2:0 12 192.168.12.2 ge-1/0/0.0 10.255.0.2:0 11 user@R1>show ldp neighbor extensive
Address Interface Label space ID Hold time 192.168.12.2 ge-1/0/0.0 10.255.0.2:0 11 Transport address: 10.255.0.2, Transport preference: IPv6, Configuration sequence: 10 Up for 00:04:35 Reference count: 1 Hold time: 15, Proposed local/peer: 15/15 Hello flags: none Neighbor types: discovered Address Interface Label space ID Hold time fe80::21f:1200:cb6:4c8d ge-1/0/0.0 10.255.0.2:0 14 Transport address: 2001:db8::2, Transport preference: IPv6, Configuration sequence: 10 Up for 00:04:35 Reference count: 1 Hold time: 15, Proposed local/peer: 15/15 Hello flags: none Neighbor types: discovered
意义
输出显示 IPv4 和 IPv6 地址的 LDP 邻居信息。
验证 LDP 会话信息
目的
显示 LDP 会话信息。
操作
在设备 R1 上,在操作模式下,运行 show ldp session
和 show ldp session extensive
命令以显示 LDP 会话信息。
user@R1>show ldp session
session Address State Connection Hold time Adv. Mode 2001:db8::2 Operational Open 20 DU user@R1>show ldp session extensive
Address: 2001:db8::2, State: Operational, Connection: Open, Hold time: 29 Session ID: 10.255.0.1:0--10.255.0.2:0 Next keepalive in 9 seconds Passive, Maximum PDU: 4096, Hold time: 30, Neighbor count: 1 Neighbor types: discovered Keepalive interval: 10, Connect retry interval: 1 Local address: 2001:db8::1, Remote address: 2001:db8::2 Up for 00:05:31 Capabilities advertised: none Capabilities received: none Protection: disabled Session flags: none Local - Restart: disabled, Helper mode: enabled Remote - Restart: disabled, Helper mode: enabled Local maximum neighbor reconnect time: 120000 msec Local maximum neighbor recovery time: 240000 msec Local Label Advertisement mode: Downstream unsolicited Remote Label Advertisement mode: Downstream unsolicited Negotiated Label Advertisement mode: Downstream unsolicited MTU discovery: disabled Nonstop routing state: Not in sync Next-hop addresses received: 10.255.0.2 192.168.12.2 2001:db8::2 fe80::21f:1200:cb6:4c8d Queue depth: 0 Message type Total Last 5 seconds Sent Received Sent Received Initialization 1 1 0 0 Keepalive 34 34 0 0 Notification 0 0 0 0 Address 1 1 0 0 Address withdraw 0 0 0 0 Label mapping 3 3 0 0 Label request 0 0 0 0 Label withdraw 0 0 0 0 Label release 0 0 0 0 Label abort 0 0 0 0
意义
输出显示使用 IPv6 作为 TCP 传输的 LDP 会话的信息。
验证
确认配置工作正常。
验证 LDP 邻居信息
目的
显示 LDP 邻居信息。
操作
在设备 R1 上,在操作模式下,运行 show ldp neighbor extensive
命令以显示 LDP 邻居信息。
user@R1> show ldp neighbor extensive
Address Interface Label space ID Hold time
192.168.12.2 ge-1/0/0.0 10.255.0.2:0 14
Transport address: 10.255.0.2, Transport preference: IPv4, Configuration sequence: 9
Up for 00:00:14
Reference count: 1
Hold time: 15, Proposed local/peer: 15/15
Hello flags: none
Neighbor types: discovered
Address Interface Label space ID Hold time
fe80::21f:1200:cb6:4c8d ge-1/0/0.0 10.255.0.2:0 14
Transport address: 2001:db8::2, Transport preference: IPv4, Configuration sequence: 9
Up for 00:00:14
Reference count: 1
Hold time: 15, Proposed local/peer: 15/15
Hello flags: none
Neighbor types: discovered
意义
输出显示 IPv4 和 IPv6 地址的 LDP 邻居信息。
验证 LDP 会话信息
目的
显示 LDP 会话信息。
操作
在设备 R1 上,在操作模式下,运行 show ldp session extensive
命令以显示 LDP 会话信息。
user@R1> show ldp session extensive
Address: 10.255.0.2, State: Operational, Connection: Open, Hold time: 24
Session ID: 10.255.0.1:0--10.255.0.2:0
Next keepalive in 4 seconds
Passive, Maximum PDU: 4096, Hold time: 30, Neighbor count: 2
Neighbor types: discovered
Keepalive interval: 10, Connect retry interval: 1
Local address: 10.255.0.1, Remote address: 10.255.0.2
Up for 00:05:26
Capabilities advertised: none
Capabilities received: none
Protection: disabled
Session flags: none
Local - Restart: disabled, Helper mode: enabled
Remote - Restart: disabled, Helper mode: enabled
Local maximum neighbor reconnect time: 120000 msec
Local maximum neighbor recovery time: 240000 msec
Local Label Advertisement mode: Downstream unsolicited
Remote Label Advertisement mode: Downstream unsolicited
Negotiated Label Advertisement mode: Downstream unsolicited
MTU discovery: disabled
Nonstop routing state: Not in sync
Next-hop addresses received:
10.255.0.2
192.168.12.2
2001:db8::2
fe80::21f:1200:cb6:4c8d
Queue depth: 0
Message type Total Last 5 seconds
Sent Received Sent Received
Initialization 1 1 0 0
Keepalive 33 33 1 1
Notification 0 0 0 0
Address 2 2 0 0
Address withdraw 0 0 0 0
Label mapping 6 6 0 0
Label request 0 0 0 0
Label withdraw 0 0 0 0
Label release 0 0 0 0
Label abort 0 0 0 0
意义
输出显示使用 IPv6 作为 TCP 传输的 LDP 会话的信息。
验证
确认配置工作正常。
验证 LDP 邻居信息
目的
显示 LDP 邻居信息。
操作
在设备 R1 上,在操作模式下,运行 show ldp neighbor extensive
命令以显示 LDP 邻居信息。
user@R1> show ldp neighbor extensive
Address Interface Label space ID Hold time
192.168.12.2 ge-1/0/0.0 10.255.0.2:0 11
Transport address: 10.255.0.2, Configuration sequence: 10
Up for 00:04:35
Reference count: 1
Hold time: 15, Proposed local/peer: 15/15
Hello flags: none
Neighbor types: discovered
Address Interface Label space ID Hold time
fe80::21f:1200:cb6:4c8d ge-1/0/0.0 10.255.0.2:0 14
Transport address: 2001:db8::2, Configuration sequence: 10
Up for 00:04:35
Reference count: 1
Hold time: 15, Proposed local/peer: 15/15
Hello flags: none
Neighbor types: discovered
意义
输出显示 IPv4 和 IPv6 地址的 LDP 邻居信息。
验证 LDP 会话信息
目的
显示 LDP 会话信息。
操作
在设备 R1 上,在操作模式下,运行 show ldp session extensive
命令以显示 LDP 邻居信息。
user@R1> show ldp session extensive
Address: 2001:db8::2, State: Operational, Connection: Open, Hold time: 29
Session ID: 10.1.1.1:0--10.255.0.2:0
Next keepalive in 9 seconds
Passive, Maximum PDU: 4096, Hold time: 30, Neighbor count: 1
Neighbor types: discovered
Keepalive interval: 10, Connect retry interval: 1
Local address: 2001:db8::1, Remote address: 2001:db8::2
Up for 00:05:31
Capabilities advertised: none
Capabilities received: none
Protection: disabled
Session flags: none
Local - Restart: disabled, Helper mode: enabled
Remote - Restart: disabled, Helper mode: enabled
Local maximum neighbor reconnect time: 120000 msec
Local maximum neighbor recovery time: 240000 msec
Local Label Advertisement mode: Downstream unsolicited
Remote Label Advertisement mode: Downstream unsolicited
Negotiated Label Advertisement mode: Downstream unsolicited
MTU discovery: disabled
Nonstop routing state: Not in sync
Next-hop addresses received:
2001:db8::2
fe80::21f:1200:cb6:4c8d
Queue depth: 0
Message type Total Last 5 seconds
Sent Received Sent Received
Initialization 1 1 0 0
Keepalive 34 34 0 0
Notification 0 0 0 0
Address 1 1 0 0
Address withdraw 0 0 0 0
Label mapping 3 3 0 0
Label request 0 0 0 0
Label withdraw 0 0 0 0
Label release 0 0 0 0
Label abort 0 0 0 0
Address: 10.255.0.2, State: Operational, Connection: Open, Hold time: 29
Session ID: 10.255.0.1:0--10.255.0.2:0
Next keepalive in 9 seconds
Passive, Maximum PDU: 4096, Hold time: 30, Neighbor count: 1
Neighbor types: discovered
Keepalive interval: 10, Connect retry interval: 1
Local address: 10.255.0.1, Remote address: 10.255.0.2
Up for 00:05:31
Capabilities advertised: none
Capabilities received: none
Protection: disabled
Session flags: none
Local - Restart: disabled, Helper mode: enabled
Remote - Restart: disabled, Helper mode: enabled
Local maximum neighbor reconnect time: 120000 msec
Local maximum neighbor recovery time: 240000 msec
Local Label Advertisement mode: Downstream unsolicited
Remote Label Advertisement mode: Downstream unsolicited
Negotiated Label Advertisement mode: Downstream unsolicited
MTU discovery: disabled
Nonstop routing state: Not in sync
Next-hop addresses received:
10.255.0.2
192.168.12.2
Queue depth: 0
Message type Total Last 5 seconds
Sent Received Sent Received
Initialization 1 1 0 0
Keepalive 34 34 0 0
Notification 0 0 0 0
Address 1 1 0 0
Address withdraw 0 0 0 0
Label mapping 3 3 0 0
Label request 0 0 0 0
Label withdraw 0 0 0 0
Label release 0 0 0 0
Label abort 0 0 0 0
示例:为点对多点 LSP 配置多点 LDP 带内信令
了解点对多点 LSP 的多点 LDP 带内信令
对于具有带内信令的点对多点标签交换路径 (LSP),多点标签分发协议 (M-LDP) 在具有现有 IP/MPLS 主干网的部署中非常有用,您需要在其中传输组播流量,例如用于 IPTV。
多年来,传输组播流量的最广泛使用的解决方案是在服务提供商核心中使用本机 IP 组播和多点 IP 隧道来隔离客户流量。部署组播路由协议(通常是协议无关组播 (PIM))以设置转发路径。IP 组播路由用于转发,在核心中使用 PIM 信令。要使此模型正常工作,核心网络必须启用组播。这样,即使在自治系统 (AS) 间场景中,也能实现有效且稳定的部署。
但是,在现有 IP/MPLS 网络中,部署 PIM 可能不是首选。某些服务提供商有兴趣用 MPLS 标签封装取代 IP 隧道。迁移到 MPLS 标签交换的动机是利用 MPLS 流量工程和保护功能,并减少提供商核心中的控制流量开销。
为此,服务提供商希望利用现有部署的扩展来允许组播流量通过。IP/MPLS 的现有组播扩展是用于 RSVP-TE 的点对多点扩展以及用于 LDP 的点对多点和多点到多点扩展。RFC 6826, 点对多点和多点对多点标签交换路径的多点 LDP 带内信令讨论了这些部署方案。此功能概述仅限于 LDP 的点对多点扩展。
- M-LDP的工作原理
- 术语
- 入口加入转换和伪接口处理
- 入口拼接
- 反向路径转发
- LSP 根检测
- 出口联接转换和伪接口处理
- 出口拼接
- 支持的功能
- 不支持的功能
- LDP 功能
- 出口 LER 功能
- 传输 LSR 功能
- 入口 LER 功能
M-LDP的工作原理
M-LDP 信令中的标签结合
LDP 的多点扩展使用点对多点和多点对多点转发等效类 (FEC) 元素(在 RFC 5036,LDP 规范中定义)以及功能通告、标签映射和信令过程。FEC 元素包括 LSP 根的概念(IP 地址)和“不透明”值(用于将共享相同不透明值的叶节点组合在一起的选择器)。不透明值对中间节点是透明的,但对 LSP 根有意义。每个 LDP 节点都会在到 FEC 中找到的根 IP 地址的最短路径上将其本地传入标签绑定播发到上游 LDP 节点。接收标签绑定的上游节点创建自己的本地标签和传出接口。如果有多个传出分支,则此标签分配过程可能会导致数据包复制。如 中 图 18所示,如果 LDP 节点发现共享同一上游节点的下游节点,则会合并同一不透明值的标签绑定。这允许有效地构建点对多点LSP和标签保护。
无 PIM MPLS 核心中的 M-LDP
图 19 显示了按比例缩小的部署方案。两个独立的 PIM 域通过一个无 PIM 的核心站点互连。此核心站点中的边界路由器支持边界接口上的 PIM。此外,这些边界路由器收集路由信息并将其从相邻站点分发到核心网络。站点 C 中的边缘路由器运行 BGP 进行根节点发现。内部网关协议 (IGP) 路由不能用于入口发现,因为在大多数情况下,IGP 提供的转发下一跃点不会提供有关源入口设备的信息。M-LDP 带内信令在点对多点 LSP 和 (S,G) 流之间具有一对一映射。通过带内信令,PIM 消息可直接转换为 M-LDP FEC 绑定。相比之下,带外信令基于手动配置。M-LDP 带内信令的一个应用是在 MPLS 主干网中传输 IPTV 组播流量。
配置
标签边缘路由器 (LER) 上的 配置语句 mldp-inband-signalling
使 PIM 能够在 LER 未检测到 PIM 上游邻居时对上游邻居使用 M-LDP 带内信令。MPLS LSP 根的静态配置包含在使用策略的 PIM 配置中。当 IBGP 在核心站点中不可用或覆盖基于 IBGP 的 LSP 根检测时,需要执行此操作。
例如:
protocols { pim { mldp-inband-signalling { policy lsp-mapping-policy-example; } } }
policy-options { policy-statement lsp-mapping-policy-example { term channel1 { from { source-address-filter ip-prefix</prefix-length>; #policy filter for channel1 } then { p2mp-lsp-root { # Statically configured ingress address of edge # used by channel1 address ip-address; } accept; } } } }
支持 PIM 的 MPLS 核心中的 M-LDP
从 Junos OS 14.1 版开始,为了将现有 IPTV 服务从本机 IP 组播迁移到 MPLS 组播,您需要从 PIM 平稳过渡到 M-LDP 点对多点 LSP,同时尽量减少中断。 图 20 显示了与 类似的 图 19M-LDP 拓扑,但方案不同。该核心通过 PIM 启用,一个源流式传输所有 IPTV 频道。电视频道作为 ASM 流发送,每个频道由其组地址标识。以前,这些通道作为 IP 流在内核上流式传输,并使用 PIM 发出信号。
通过在此方案中配置 , mldp-inband-signaling
仅当源没有 PIM 邻居时,才会启动 M-LDP 信令。但是,由于除非在出口 PE 的上游接口上停用 PIM,否则始终存在朝向源的 PIM 邻居,因此 PIM 优先于 M-LDP,并且 M-LDP 不会生效。
配置
要逐通道逐步迁移到 M-LDP MPLS 核心(很少流使用 M-LDP 上游),而其他流则使用现有 PIM 上游, selected-mldp-egress
请在 M-LDP 带内信令的策略过滤器中包含配置语句和基于组的过滤器。
M-LDP 带内信令策略过滤器可以包含 source-address-filter
语句或 route-filter
语句,或两者的组合。
例如:
protocols { pim { mldp-inband-signalling { policy lsp-mapping-policy-example; } } }
policy-options { policy-statement lsp-mapping-policy-example { term channel1 { from { source-address-filter ip-prefix</prefix-length>; #policy filter for channel1 } then { selected-mldp-egress; accept; } } term channel2 { from { source-address-filter ip-prefix</prefix-length>; #policy filter for channel2 route-filter ip-prefix</prefix-length>; #policy filter on multicast group address } then { selected-mldp-egress; p2mp-lsp-root { # Statically configured ingress address of edge # used by channel2 address ip-address; } accept; } } term channel3 { from { route-filter ip-prefix</prefix-length>; #policy filter on multicast group address } then { selected-mldp-egress; accept; } } } }
上述配置的一些限制如下:
selected-mldp-egress
该语句应仅在 LER 上配置。在非出口 PIM 路由器上配置selected-mldp-egress
语句可能会导致路径设置失败。当更改策略以将流量从 PIM 上游切换到 M-LDP 上游时,反之亦然,由于在控制平面上执行中断和制造机制,因此可能会丢失数据包。
术语
以下术语对于理解组播流量的 M-LDP 带内信令非常重要。
Point-to-point LSP | 具有一个入口标签交换路由器 (LSR) 和一个出口 LSR 的 LSP。 |
Multipoint LSP | 点对多点或多点对多点 LSP。 |
Point-to-multipoint LSP | 具有一个入口 LSR 和一个或多个出口 LSR 的 LSP。 |
Multipoint-to-point LSP | 具有一个或多个入口 LSR 和一个唯一出口 LSR 的 LSP。 |
Multipoint-to-multipoint LSP | 连接一组节点的 LSP,以便将 LSP 中的任何节点发送的流量传送到所有其他节点。 |
Ingress LSR | 特定 LSP 的入口 LSR 是可以沿 LSP 发送数据包的 LSR。多点到多点 LSP 可以有多个入口 LSR。点对多点 LSP 只有一个节点,该节点通常称为根节点。 |
Egress LSR | 特定 LSP 的出口 LSR 是一种 LSR,可以从该 LSP 中删除数据包以进行进一步处理。点对点和多点对点 LSP 只有一个出口节点。点对多点和多点对多点 LSP 可以有多个出口节点。 |
Transit LSR | 一种 LSR,可通过直接连接的上游 LSR 和一个或多个直接连接的下游 LSR 访问多点 LSP 的根目录。 |
Bud LSR | 作为出口但也具有一个或多个直接连接的下游 LSR 的 LSR。 |
Leaf node | 点对多点 LSP 上下文中的出口或芽 LSR。在多点到多点 LSP 的环境中,LSR 是同一多点到多点 LSP 的入口和出口,也可以是芽 LSR。 |
入口加入转换和伪接口处理
在入口 LER 上,LDP 通知 PIM 有关通过带内信令接收的 (S,G) 消息。PIM 将每条 (S,G) 消息与伪接口相关联。随后,将向源启动最短路径树 (SPT) 联接消息。PIM 将其视为一种新型的本地接收器。拆除 LSP 时,PIM 会根据来自 LDP 的通知移除此本地接收器。
入口拼接
LDP 为 PIM 提供与每个 (S,G) 条目关联的下一跃点。PIM 使用 LDP 下一跃点和其他 PIM 接收器安装 PIM (S,G) 组播路由。下一跃点是本地接收方的复合下一跃点 + PIM 下游邻居列表 + LDP 隧道的子级下一跃点。
反向路径转发
PIM 的反向路径转发 (RPF) 计算在出口节点上执行。
当满足以下所有条件时,PIM 将执行 M-LDP 带内信令:
源没有 PIM 邻居。
配置 M-LDP 带内信令语句。
下一跳通过 BGP 获知,或者存在于静态映射中(在 M-LDP 带内信令策略中指定)。
否则,如果 LSP 根检测失败,PIM 将保留 (S,G) 条目,RPF 状态为未解析。
每次单播路由信息更改时,PIM RPF 都会注册此源地址。因此,如果指向源的路由发生更改,RPF 将重复计算。BGP 协议朝向源的下一跃点也会受到监控,以了解 LSP 根中的更改。此类更改可能会导致流量在短时间内中断。
LSP 根检测
如果 RPF 操作检测到上行需要 M-LDP 带内信令,则会检测到 LSP 根(入口)。此根是 LDP LSP 信号的参数。
按如下方式检测根节点:
如果现有静态配置指定了源地址,则采用配置中给定的根地址。
在单播路由表中执行查找。如果找到源地址,则朝向源的协议下一跃点将用作 LSP 根。
在 Junos OS 16.1 版之前,M-LDP 点对多点 LSP 使用入口 LSR 的根地址从出口到入口发出信号。此根地址只能通过 IGP 访问,从而将 M-LDP 点对多点 LSP 限制为单个自治系统。如果根地址无法通过 IGP 访问,但可通过 BGP 访问,并且该 BGP 路由是通过 MPLS LSP 递归解析的,则点对多点 LSP 不会从该点进一步向入口 LSR 根地址发出信号。
需要通过多个自治系统发出这些非分段点对多点 LSP 的信号,这些系统可用于以下应用:
具有非分段点到多点 LSP 的 AS 间 MVPN。
通过 MPLS 核心网络连接的客户端网络之间的 AS 间 M-LDP 带内信令。
具有非分段点对多点 LSP(无缝 MPLS 组播)的区域间 MVPN 或 M-LDP 带内信令。
从 Junos OS 16.1 版开始,当根地址是通过 MPLS LSP 进一步递归解析的 BGP 路由时,M-LDP 可以在 ASBR 或传输或出口处发出点对多点 LSP 信号。
出口联接转换和伪接口处理
在出口 LER 上,PIM 通知 LDP 要与 LSP 根一起发出信号的 (S,G) 消息。PIM 创建一个伪接口作为此 (S,G) 消息的上游接口。收到 (S,G) 修剪消息时,将删除此关联。
出口拼接
在接收来自下游站点的 (S,G) 加入消息的核心网络出口节点,该加入消息将转换为 M-LDP 带内信令参数并通知 LDP。此外,当 (S,G) 条目丢失、LSP 根更改或可通过 PIM 邻接方访问 (S,G) 条目时,会发生 LSP 拆卸。
支持的功能
对于 M-LDP 带内信令,Junos OS 支持以下功能:
使用 LDP 路由的 PIM 下一跃点的出口拼接
PIM 路由与 LDP 下一跃点的入口拼接
将 PIM 联接消息转换为 LDP 点对多点 LSP 设置参数
转换 M-LDP 带内 LSP 参数以设置 PIM 加入消息
静态配置和 BGP 协议下一跳基于 LSP 根检测
PIM 源特定组播 (SSM) 和所有源组播 (ASM) 范围内的 PIM (S,G) 状态
关于入口和出口 LER 的配置语句,以使它们能够充当边缘路由器
LER 上的 IGMP 加入消息
将 IPv6 源地址和组地址作为不透明信息传送到 IPv4 根节点
将 IPv6 (S,G) 映射到 IPv4 根地址的静态配置
不支持的功能
对于 M-LDP 带内信令,Junos OS 不支持 以下功能:
完全支持 PIM ASM
mpls lsp point-to-multipoint ping
带有 (S,G) 选项的命令不间断活动路由 (NSR)
PIM 的先成后断 (MBB)
IPv6 LSP 根地址(LDP 不支持 IPv6 LSP。
未直接连接的 PIM 扬声器之间的邻居关系
平滑重启
PIM 密集模式
PIM 双向模式
LDP 功能
PIM (S,G) 信息以 M-LDP 不透明类型-长度-值 (TLV) 编码的形式传输。点对多点 FEC 元素由根节点地址组成。对于下一代组播 VPN (NGEN MVPN),点对多点 LSP 由根节点地址和 LSP ID 标识。
出口 LER 功能
在出口 LER 上,PIM 使用以下信息触发 LDP,以创建点对多点 LSP:
根节点
(S,G)
下一跃点
PIM 根据组播树的源查找根节点。如果为此 (S,G) 条目配置了根地址,则配置的地址将用作点对多点 LSP 根。否则,路由表用于查找到源的路由。如果到组播树源的路由是 BGP 获知的路由,PIM 将检索 BGP 下一跃点地址,并将其用作点对多点 LSP 的根节点。
LDP根据根节点查找上游节点,分配标签,并将标签映射发送到上游节点。LDP 不使用倒数第二跳弹出 (PHP) 进行带内 M-LDP 信令。
如果组播树源的根地址发生更改,PIM 将删除点对多点 LSP,并触发 LDP 创建新的点对多点 LSP。发生这种情况时,传出接口列表变为 NULL,PIM 触发 LDP 删除点对多点 LSP,LDP 向上游节点发送标签撤回消息。
传输 LSR 功能
中转 LSR 将标签播发到上游 LSR,朝向点对多点 FEC 的源,并安装必要的转发状态来转发数据包。传输 LSR 可以是任何支持 M-LDP 的路由器。
入口 LER 功能
在入口 LER 上,LDP 在收到标签映射时向 PIM 提供以下信息:
(S,G)
泛洪下一跃点
然后 PIM 安装转发状态。如果添加或删除新分支,则会相应地更新泛洪下一跃点。如果由于标签被撤销而删除了所有分支,LDP 会将更新的信息发送给 PIM。如果上游和下游邻接方之间存在多个链路,则不会对点对多点 LSP 进行负载均衡。
另请参阅
示例:为点对多点 LSP 配置多点 LDP 带内信令
此示例说明如何为组播流量配置多点 LDP (M-LDP) 带内信令,作为协议无关组播 (PIM) 协议的扩展或替代 PIM。
要求
可以使用以下硬件和软件组件配置此示例:
Junos OS 13.2 或更高版本
MX 系列 5G 通用路由平台或用于提供商边缘 (PE) 路由器的 M 系列多服务边缘路由器
PTX 系列数据包传输路由器,用作传输标签交换路由器
适用于核心路由器的 T 系列核心路由器
PE 路由器也可以是 T 系列核心路由器,但这不是典型的。根据您的扩展要求,核心路由器还可以是 MX 系列 5G 通用路由平台或 M 系列多服务边缘路由器。客户边缘 (CE) 设备可以是瞻博网络或其他供应商提供的其他路由器或交换机。
配置此示例之前,不需要除设备初始化之外的特殊配置。
概述
CLI 快速配置 显示了 中 图 21所有设备的配置。#d358e63__d358e831本节介绍有关设备出口PE的步骤。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit]
中。
设备 src1
set logical-systems src1 interfaces fe-1/2/0 unit 0 family inet address 10.2.7.7/24 set logical-systems src1 interfaces lo0 unit 0 family inet address 10.1.1.7/32 set logical-systems src1 protocols ospf area 0.0.0.0 interface all
设备入口PE
set interfaces so-0/1/2 unit 0 family inet address 192.168.93.9/28 set interfaces fe-1/2/0 unit 0 family inet address 10.2.3.2/24 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet address 10.2.5.2/24 set interfaces fe-1/2/2 unit 0 family inet address 10.2.6.2/24 set interfaces fe-1/2/2 unit 0 family mpls set interfaces fe-1/2/3 unit 0 family inet address 10.2.7.2/24 set interfaces fe-1/3/1 unit 0 family inet address 192.168.219.9/28 set interfaces lo0 unit 0 family inet address 10.1.1.2/32 set protocols igmp interface fe-1/2/1.0 version 3 set protocols igmp interface fe-1/2/1.0 static group 232.1.1.1 source 192.168.219.11 set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 10.1.1.2 set protocols bgp group ibgp family inet any set protocols bgp group ibgp family inet-vpn any set protocols bgp group ibgp neighbor 10.1.1.3 set protocols bgp group ibgp neighbor 10.1.1.4 set protocols bgp group ibgp neighbor 10.1.1.1 set protocols ospf area 0.0.0.0 interface all set protocols ldp interface fe-1/2/0.0 set protocols ldp interface fe-1/2/2.0 set protocols ldp interface lo0.0 set protocols ldp p2mp set protocols pim mldp-inband-signalling policy mldppim-ex set protocols pim rp static address 10.1.1.5 set protocols pim interface fe-1/3/1.0 set protocols pim interface lo0.0 set protocols pim interface fe-1/2/0.21 set protocols pim interface fe-1/2/3.0 set protocols pim interface fe-1/2/1.0 set protocols pim interface so-0/1/2.0 set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.0.0/24 orlonger set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.219.11/32 orlonger set policy-options policy-statement mldppim-ex term B then accept set policy-options policy-statement mldppim-ex term A from source-address-filter 10.1.1.7/32 orlonger set policy-options policy-statement mldppim-ex term A from source-address-filter 10.2.7.0/24 orlonger set policy-options policy-statement mldppim-ex term A then accept set routing-options autonomous-system 64510
设备出口PE
set interfaces so-0/1/3 unit 0 point-to-point set interfaces so-0/1/3 unit 0 family inet address 192.168.92.9/28 set interfaces fe-1/2/0 unit 0 family inet address 10.1.3.1/24 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet address 10.1.4.1/24 set interfaces fe-1/2/2 unit 0 family inet address 10.1.6.1/24 set interfaces fe-1/2/2 unit 0 family mpls set interfaces fe-1/3/0 unit 0 family inet address 192.168.209.9/28 set interfaces lo0 unit 0 family inet address 10.1.1.1/32 set routing-options autonomous-system 64510 set protocols igmp interface fe-1/3/0.0 version 3 set protocols igmp interface fe-1/3/0.0 static group 232.1.1.1 group-count 3 set protocols igmp interface fe-1/3/0.0 static group 232.1.1.1 source 192.168.219.11 set protocols igmp interface fe-1/3/0.0 static group 227.1.1.1 set protocols igmp interface so-0/1/3.0 version 3 set protocols igmp interface so-0/1/3.0 static group 232.1.1.1 group-count 2 set protocols igmp interface so-0/1/3.0 static group 232.1.1.1 source 192.168.219.11 set protocols igmp interface so-0/1/3.0 static group 232.2.2.2 source 10.2.7.7 set protocols mpls interface fe-1/2/0.0 set protocols mpls interface fe-1/2/2.0 set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 10.1.1.1 set protocols bgp group ibgp family inet any set protocols bgp group ibgp neighbor 10.1.1.2 set protocols msdp local-address 10.1.1.1 set protocols msdp peer 10.1.1.5 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ldp interface fe-1/2/0.0 set protocols ldp interface fe-1/2/2.0 set protocols ldp interface lo0.0 set protocols ldp p2mp set protocols pim mldp-inband-signalling policy mldppim-ex set protocols pim rp local address 10.1.1.1 set protocols pim rp local group-ranges 227.0.0.0/8 set protocols pim rp static address 10.1.1.4 set protocols pim rp static address 10.2.7.7 group-ranges 226.0.0.0/8 set protocols pim interface lo0.0 set protocols pim interface fe-1/3/0.0 set protocols pim interface fe-1/2/0.0 set protocols pim interface fe-1/2/1.0 set protocols pim interface so-0/1/3.0 set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.0.0/24 orlonger set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.219.11/32 orlonger set policy-options policy-statement mldppim-ex term B then p2mp-lsp-root address 10.1.1.2 set policy-options policy-statement mldppim-ex term B then accept set policy-options policy-statement mldppim-ex term A from source-address-filter 10.2.7.0/24 orlonger set policy-options policy-statement mldppim-ex term A then accept
设备 p6
set interfaces fe-1/2/0 unit 0 family inet address 10.1.6.6/24 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet address 10.2.6.6/24 set interfaces fe-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.6/32 set interfaces lo0 unit 0 family mpls set protocols ospf area 0.0.0.0 interface all set protocols ldp interface fe-1/2/0.0 set protocols ldp interface fe-1/2/1.0 set protocols ldp interface lo0.0 set protocols ldp p2mp
设备 pr3
set interfaces ge-0/3/1 unit 0 family inet address 192.168.215.9/28 set interfaces fe-1/2/0 unit 0 family inet address 10.1.3.3/24 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet address 10.2.3.3/24 set interfaces fe-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.3/32 set protocols igmp interface ge-0/3/1.0 version 3 set protocols igmp interface ge-0/3/1.0 static group 232.1.1.2 source 192.168.219.11 set protocols igmp interface ge-0/3/1.0 static group 232.2.2.2 source 10.2.7.7 set protocols bgp group ibgp local-address 10.1.1.3 set protocols bgp group ibgp type internal set protocols bgp group ibgp neighbor 10.1.1.2 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fe-1/2/1.0 metric 2 set protocols ldp interface fe-1/2/0.0 set protocols ldp interface fe-1/2/1.0 set protocols ldp interface lo0.0 set protocols ldp p2mp set protocols pim mldp-inband-signalling policy mldppim-ex set protocols pim interface fe-0/3/1.0 set protocols pim interface lo0.0 set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.0.0/24 orlonger set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.219.11/32 orlonger set policy-options policy-statement mldppim-ex term B then p2mp-lsp-root address 10.1.1.2 set policy-options policy-statement mldppim-ex term B then accept set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.0.0/24 orlonger set policy-options policy-statement mldppim-ex term B from source-address-filter 192.168.219.11/32 orlonger set policy-options policy-statement mldppim-ex term B from source-address-filter 10.2.7.7/32 orlonger set policy-options policy-statement mldppim-ex term B then p2mp-lsp-root address 10.1.1.2 set policy-options policy-statement mldppim-ex term B then accept set routing-options autonomous-system 64510
设备 pr4
set interfaces ge-0/3/0 unit 0 family inet address 192.168.207.9/28 set interfaces fe-1/2/0 unit 0 family inet address 10.1.4.4/24 set interfaces fe-1/2/0 unit 0 family iso set interfaces lo0 unit 0 family inet address 10.1.1.4/32 set protocols igmp interface ge-0/3/0.0 version 3 set protocols igmp interface ge-0/3/0.0 static group 232.1.1.2 source 192.168.219.11 set protocols igmp interface ge-0/3/0.0 static group 225.1.1.1 set protocols bgp group ibgp local-address 10.1.1.4 set protocols bgp group ibgp type internal set protocols bgp group ibgp neighbor 10.1.1.2 set protocols msdp local-address 10.1.1.4 set protocols msdp peer 10.1.1.5 set protocols ospf area 0.0.0.0 interface all set protocols pim rp local address 10.1.1.4 set protocols pim interface ge-0/3/0.0 set protocols pim interface lo0.0 set protocols pim interface fe-1/2/0.0 set routing-options autonomous-system 64510
设备 pr5
set interfaces fe-1/2/0 unit 0 family inet address 10.2.5.5/24 set interfaces lo0 unit 0 family inet address 10.1.1.5/24 set protocols igmp interface lo0.0 version 3 set protocols igmp interface lo0.0 static group 232.1.1.1 source 192.168.219.11 set protocols msdp local-address 10.1.1.5 set protocols msdp peer 10.1.1.4 set protocols msdp peer 10.1.1.1 set protocols ospf area 0.0.0.0 interface all set protocols pim rp local address 10.1.1.5 set protocols pim interface all
分步过程
下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要配置设备出口PE,请执行以下操作:
配置接口。
在面向核心的接口上启用 MPLS。在出口下一跃点上,您无需启用 MPLS。
[edit interfaces] user@EgressPE# set fe-1/2/0 unit 0 family inet address 10.1.3.1/24 user@EgressPE# set fe-1/2/0 unit 0 family mpls user@EgressPE# set fe-1/2/2 unit 0 family inet address 10.1.6.1/24 user@EgressPE# set fe-1/2/2 unit 0 family mpls user@EgressPE# set so-0/1/3 unit 0 point-to-point user@EgressPE# set so-0/1/3 unit 0 family inet address 192.168.92.9/28 user@EgressPE# set fe-1/2/1 unit 0 family inet address 10.1.4.1/24 user@EgressPE# set fe-1/3/0 unit 0 family inet address 192.168.209.9/28 user@EgressPE# set lo0 unit 0 family inet address 10.1.1.1/32
在出口接口上配置 IGMP。
出于测试目的,此示例包括静态组地址和源地址。
[edit protocols igmp] user@EgressPE# set interface fe-1/3/0.0 version 3 user@EgressPE# set interface fe-1/3/0.0 static group 232.1.1.1 group-count 3 user@EgressPE# set interface fe-1/3/0.0 static group 232.1.1.1 source 192.168.219.11 user@EgressPE# set interface fe-1/3/0.0 static group 227.1.1.1 user@EgressPE# set interface so-0/1/3.0 version 3 user@EgressPE# set interface so-0/1/3.0 static group 232.1.1.1 group-count 2 user@EgressPE# set interface so-0/1/3.0 static group 232.1.1.1 source 192.168.219.11 user@EgressPE# set interface so-0/1/3.0 static group 232.2.2.2 source 10.2.7.7
在面向核心的接口上配置 MPLS。
[edit protocols mpls] user@EgressPE# set interface fe-1/2/0.0 user@EgressPE# set interface fe-1/2/2.0
配置 BGP。
BGP 是一种策略驱动的协议,因此还要配置和应用任何所需的路由策略。
例如,您可能希望将静态路由导出到 BGP 中。
[edit protocols bgp group ibgp] user@EgressPE# set type internal user@EgressPE# set local-address 10.1.1.1 user@EgressPE# set family inet any user@EgressPE# set neighbor 10.1.1.2
(可选)配置与设备 pr5 的 MSDP 对等连接,以便互连不同的 PIM 域,从而启用冗余 RP。
[edit protocols msdp] user@EgressPE# set local-address 10.1.1.1 user@EgressPE# set peer 10.1.1.5
配置 OSPF。
[edit protocols ospf area 0.0.0.0] user@EgressPE# set interface all user@EgressPE# set interface fxp0.0 disable
在面向核心的接口和环路接口上配置 LDP。
[edit protocols ldp] user@EgressPE# set interface fe-1/2/0.0 user@EgressPE# set interface fe-1/2/2.0 user@EgressPE# set interface lo0.0
启用点对多点 MPLS LSP。
[edit protocols ldp] user@EgressPE# set p2mp
在下游接口上配置 PIM。
[edit protocols pim] user@EgressPE# set interface lo0.0 user@EgressPE# set interface fe-1/3/0.0 user@EgressPE# set interface fe-1/2/1.0 user@EgressPE# set interface so-0/1/3.0
配置 RP 设置,因为此设备用作 PIM 集合点 (RP)。
[edit protocols pim] user@EgressPE# set rp local address 10.1.1.1 user@EgressPE# set rp local group-ranges 227.0.0.0/8 user@EgressPE# set rp static address 10.1.1.4 user@EgressPE# set rp static address 10.2.7.7 group-ranges 226.0.0.0/8
启用 M-LDP 带内信令并设置关联的策略。
[edit protocols pim] user@EgressPE# set mldp-inband-signalling policy mldppim-ex
配置路由策略,用于指定点对多点 LSP 的根地址和关联的源地址。
[edit policy-options policy-statement mldppim-ex] user@EgressPE# set term B from source-address-filter 192.168.0.0/24 orlonger user@EgressPE# set term B from source-address-filter 192.168.219.11/32 orlonger user@EgressPE# set term B then p2mp-lsp-root address 10.1.1.2 user@EgressPE# set term B then accept user@EgressPE# set term A from source-address-filter 10.2.7.0/24 orlonger user@EgressPE# set term A then accept
配置自治系统 (AS) ID。
[edit routing-options] user@EgressPE# set autonomous-system 64510
结果
在配置模式下,输入 show interfaces
、show protocols
、show policy-options
和 show routing-options
命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。
设备出口PE
user@EgressPE# show interfaces
so-0/1/3 {
unit 0 {
point-to-point;
family inet {
address 192.168.92.9/28;
}
}
}
fe-1/2/0 {
unit 0 {
family inet {
address 10.1.3.1/24;
}
family mpls;
}
}
fe-1/2/1 {
unit 0 {
family inet {
address 10.1.4.1/24;
}
}
}
fe-1/2/2 {
unit 0 {
family inet {
address 10.1.6.1/24;
}
family mpls;
}
}
fe-1/3/0 {
unit 0 {
family inet {
address 192.168.209.9/28;
}
}
}
lo0 {
unit 0 {
family inet {
address 10.1.1.1/32;
}
}
}
user@EgressPE# show protocols
igmp {
interface fe-1/3/0.0 {
version 3;
static {
group 232.1.1.1 {
group-count 3;
source 192.168.219.11;
}
group 227.1.1.1;
}
}
interface so-0/1/3.0 {
version 3;
static {
group 232.1.1.1 {
group-count 2;
source 192.168.219.11;
}
group 232.2.2.2 {
source 10.2.7.7;
}
}
}
}
mpls {
interface fe-1/2/0.0;
interface fe-1/2/2.0;
}
bgp {
group ibgp {
type internal;
local-address 10.1.1.1;
family inet {
any;
}
neighbor 10.1.1.2;
}
}
msdp {
local-address 10.1.1.1;
peer 10.1.1.5;
}
ospf {
area 0.0.0.0 {
interface all;
interface fxp0.0 {
disable;
}
}
}
ldp {
interface fe-1/2/0.0;
interface fe-1/2/2.0;
interface lo0.0;
p2mp;
}
pim {
mldp-inband-signalling {
policy mldppim-ex;
}
rp {
local {
address 10.1.1.1;
group-ranges {
227.0.0.0/8;
}
}
static {
address 10.1.1.4;
address 10.2.7.7 {
group-ranges {
226.0.0.0/8;
}
}
}
}
interface lo0.0;
interface fe-1/3/0.0;
interface fe-1/2/0.0;
interface fe-1/2/1.0;
interface so-0/1/3.0;
}
user@EgressPE# show policy-options
policy-statement mldppim-ex {
term B {
from {
source-address-filter 192.168.0.0/24 orlonger;
source-address-filter 192.168.219.11/32 orlonger;
}
then {
p2mp-lsp-root {
address 10.1.1.2;
}
accept;
}
}
term A {
from {
source-address-filter 10.2.7.0/24 orlonger;
}
then accept;
}
}
user@EgressPE# show routing-options
autonomous-system 64510;
同样,配置其他出口设备。
如果完成设备配置,请从配置模式输入 commit
。
验证
确认配置工作正常。
检查 PIM 联接状态
目的
显示有关 PIM 联接状态的信息,以验证 M-LDP 带内上游和下游详细信息。在入口设备上, show pim join extensive
将显示 Pseudo-MLDP
下游接口的命令。在出口上, show pim join extensive
将显示 Pseudo-MLDP
上游接口的命令。
操作
在操作模式下,输入 show pim join extensive
命令。
user@IngressPE> show pim join extensive Instance: PIM.master Family: INET R = Rendezvous Point Tree, S = Sparse, W = Wildcard Group: 232.1.1.1 Source: 192.168.219.11 Flags: sparse,spt Upstream interface: fe-1/3/1.0 Upstream neighbor: Direct Upstream state: Local Source Keepalive timeout: Uptime: 1d 23:00:12 Downstream neighbors: Interface: Pseudo-MLDP Interface: fe-1/2/1.0 10.2.5.2 State: Join Flags: S Timeout: Infinity Uptime: 1d 23:00:12 Time since last Join: 1d 23:00:12 Group: 232.1.1.2 Source: 192.168.219.11 Flags: sparse,spt Upstream interface: fe-1/3/1.0 Upstream neighbor: Direct Upstream state: Local Source Keepalive timeout: Uptime: 1d 22:59:59 Downstream neighbors: Interface: Pseudo-MLDP Group: 232.1.1.3 Source: 192.168.219.11 Flags: sparse,spt Upstream interface: fe-1/3/1.0 Upstream neighbor: Direct Upstream state: Local Source Keepalive timeout: Uptime: 1d 22:07:31 Downstream neighbors: Interface: Pseudo-MLDP Group: 232.2.2.2 Source: 10.2.7.7 Flags: sparse,spt Upstream interface: fe-1/2/3.0 Upstream neighbor: Direct Upstream state: Local Source Keepalive timeout: Uptime: 1d 22:59:59 Downstream neighbors: Interface: Pseudo-MLDP user@EgressPE> show pim join extensive Instance: PIM.master Family: INET R = Rendezvous Point Tree, S = Sparse, W = Wildcard Group: 227.1.1.1 Source: * RP: 10.1.1.1 Flags: sparse,rptree,wildcard Upstream interface: Local Upstream neighbor: Local Upstream state: Local RP Uptime: 1d 23:14:21 Downstream neighbors: Interface: fe-1/3/0.0 192.168.209.9 State: Join Flags: SRW Timeout: Infinity Uptime: 1d 23:14:21 Time since last Join: 1d 20:12:35 Group: 232.1.1.1 Source: 192.168.219.11 Flags: sparse,spt Upstream protocol: MLDP Upstream interface: Pseudo MLDP Upstream neighbor: MLDP LSP root <10.1.1.2> Upstream state: Join to Source Keepalive timeout: Uptime: 1d 23:14:22 Downstream neighbors: Interface: so-0/1/3.0 192.168.92.9 State: Join Flags: S Timeout: Infinity Uptime: 1d 20:12:35 Time since last Join: 1d 20:12:35 Downstream neighbors: Interface: fe-1/3/0.0 192.168.209.9 State: Join Flags: S Timeout: Infinity Uptime: 1d 20:12:35 Time since last Join: 1d 20:12:35 Group: 232.1.1.2 Source: 192.168.219.11 Flags: sparse,spt Upstream protocol: MLDP Upstream interface: Pseudo MLDP Upstream neighbor: MLDP LSP root <10.1.1.2> Upstream state: Join to Source Keepalive timeout: Uptime: 1d 23:14:22 Downstream neighbors: Interface: so-0/1/3.0 192.168.92.9 State: Join Flags: S Timeout: Infinity Uptime: 1d 20:12:35 Time since last Join: 1d 20:12:35 Downstream neighbors: Interface: fe-1/2/1.0 10.1.4.4 State: Join Flags: S Timeout: 198 Uptime: 1d 22:59:59 Time since last Join: 00:00:12 Downstream neighbors: Interface: fe-1/3/0.0 192.168.209.9 State: Join Flags: S Timeout: Infinity Uptime: 1d 20:12:35 Time since last Join: 1d 20:12:35 Group: 232.1.1.3 Source: 192.168.219.11 Flags: sparse,spt Upstream protocol: MLDP Upstream interface: Pseudo MLDP Upstream neighbor: MLDP LSP root <10.1.1.2> Upstream state: Join to Source Keepalive timeout: Uptime: 1d 20:12:35 Downstream neighbors: Interface: fe-1/3/0.0 192.168.209.9 State: Join Flags: S Timeout: Infinity Uptime: 1d 20:12:35 Time since last Join: 1d 20:12:35 Group: 232.2.2.2 Source: 10.2.7.7 Flags: sparse,spt Upstream protocol: MLDP Upstream interface: Pseudo MLDP Upstream neighbor: MLDP LSP root <10.1.1.2> Upstream state: Join to Source Keepalive timeout: Uptime: 1d 20:12:35 Downstream neighbors: Interface: so-0/1/3.0 192.168.92.9 State: Join Flags: S Timeout: Infinity Uptime: 1d 20:12:35 Time since last Join: 1d 20:12:35 user@pr3> show pim join extensive Instance: PIM.master Family: INET R = Rendezvous Point Tree, S = Sparse, W = Wildcard Group: 232.1.1.2 Source: 192.168.219.11 Flags: sparse,spt Upstream protocol: MLDP Upstream interface: Pseudo MLDP Upstream neighbor: MLDP LSP root <10.1.1.2> Upstream state: Join to Source Keepalive timeout: Uptime: 1d 20:14:40 Downstream neighbors: Interface: Pseudo-GMP ge-0/3/1.0 Group: 232.2.2.2 Source: 10.2.7.7 Flags: sparse,spt Upstream protocol: MLDP Upstream interface: Pseudo MLDP Upstream neighbor: MLDP LSP root <10.1.1.2> Upstream state: Join to Source Keepalive timeout: Uptime: 1d 20:14:40 Downstream neighbors: Interface: Pseudo-GMP ge-0/3/1.0 user@pr4> show pim join extensive Instance: PIM.master Family: INET R = Rendezvous Point Tree, S = Sparse, W = Wildcard Group: 225.1.1.1 Source: * RP: 10.1.1.4 Flags: sparse,rptree,wildcard Upstream interface: Local Upstream neighbor: Local Upstream state: Local RP Uptime: 1d 23:13:43 Downstream neighbors: Interface: ge-0/3/0.0 192.168.207.9 State: Join Flags: SRW Timeout: Infinity Uptime: 1d 23:13:43 Time since last Join: 1d 23:13:43 Group: 232.1.1.2 Source: 192.168.219.11 Flags: sparse,spt Upstream interface: fe-1/2/0.0 Upstream neighbor: 10.1.4.1 Upstream state: Local RP, Join to Source Keepalive timeout: 0 Uptime: 1d 23:13:43 Downstream neighbors: Interface: ge-0/3/0.0 192.168.207.9 State: Join Flags: S Timeout: Infinity Uptime: 1d 23:13:43 Time since last Join: 1d 23:13:43 user@pr5> show pim join extensive ge-0/3/1.0 Instance: PIM.master Family: INET R = Rendezvous Point Tree, S = Sparse, W = Wildcard Instance: PIM.master Family: INET6 R = Rendezvous Point Tree, S = Sparse, W = Wildcard
检查 PIM 源
目的
验证 PIM 源是否具有预期的 M-LDP 带内上游和下游详细信息。
操作
在操作模式下,输入 show pim source
命令。
user@IngressPE> show pim source Instance: PIM.master Family: INET Source 10.1.1.1 Prefix 10.1.1.1/32 Upstream interface Local Upstream neighbor Local Source 10.2.7.7 Prefix 10.2.7.0/24 Upstream protocol MLDP Upstream interface Pseudo MLDP Upstream neighbor MLDP LSP root <10.1.1.2> Source 192.168.219.11 Prefix 192.168.219.0/28 Upstream protocol MLDP Upstream interface Pseudo MLDP Upstream neighbor MLDP LSP root <10.1.1.2>
user@EgressPE> show pim source Instance: PIM.master Family: INET Source 10.2.7.7 Prefix 1.2.7.0/24 Upstream interface fe-1/2/3.0 Upstream neighbor 10.2.7.2 Source 10.2.7.7 Prefix 10.2.7.0/24 Upstream interface fe-1/2/3.0 Upstream neighbor Direct Source 192.168.219.11 Prefix 192.168.219.0/28 Upstream interface fe-1/3/1.0 Upstream neighbor 192.168.219.9 Source 192.168.219.11 Prefix 192.168.219.0/28 Upstream interface fe-1/3/1.0 Upstream neighbor Direct
user@pr3> show pim source Instance: PIM.master Family: INET Source 10.2.7.7 Prefix 1.2.7.0/24 Upstream protocol MLDP Upstream interface Pseudo MLDP Upstream neighbor MLDP LSP root <10.1.1.2> Source 192.168.219.11 Prefix 192.168.219.0/28 Upstream protocol MLDP Upstream interface Pseudo MLDP Upstream neighbor MLDP LSP root <10.1.1.2>
user@pr4> show pim source Instance: PIM.master Family: INET Source 10.1.1.4 Prefix 10.1.1.4/32 Upstream interface Local Upstream neighbor Local Source 192.168.219.11 Prefix 192.168.219.0/28 Upstream interface fe-1/2/0.0 Upstream neighbor 10.1.4.1
检查 LDP 数据库
目的
确保命令 show ldp database
显示预期的根到 (S,G) 绑定。
操作
user@IngressPE> show ldp database Input label database, 10.255.2.227:0--10.1.1.3:0 Label Prefix 300096 10.1.1.2/32 3 10.1.1.3/32 299856 10.1.1.6/32 299776 10.255.2.227/32 Output label database, 10.255.2.227:0--10.1.1.3:0 Label Prefix 300144 10.1.1.2/32 299776 10.1.1.3/32 299856 10.1.1.6/32 3 10.255.2.227/32 Input label database, 10.255.2.227:0--10.1.1.6:0 Label Prefix 299936 10.1.1.2/32 299792 10.1.1.3/32 3 10.1.1.6/32 299776 10.255.2.227/32 Output label database, 10.255.2.227:0--10.1.1.6:0 Label Prefix 300144 10.1.1.2/32 299776 10.1.1.3/32 299856 10.1.1.6/32 3 10.255.2.227/32 300432 P2MP root-addr 10.1.1.2, grp: 232.2.2.2, src: 10.2.7.7 300288 P2MP root-addr 10.1.1.2, grp: 232.1.1.1, src: 192.168.219.11 300160 P2MP root-addr 10.1.1.2, grp: 232.1.1.2, src: 192.168.219.11 300480 P2MP root-addr 10.1.1.2, grp: 232.1.1.3, src: 192.168.219.11
user@EgressPE> show ldp database Input label database, 10.1.1.2:0--10.1.1.3:0 Label Prefix 300096 10.1.1.2/32 3 10.1.1.3/32 299856 10.1.1.6/32 299776 10.255.2.227/32 300144 P2MP root-addr 10.1.1.2, grp: 232.2.2.2, src: 10.2.7.7 300128 P2MP root-addr 10.1.1.2, grp: 232.1.1.2, src: 192.168.219.11 Output label database, 10.1.1.2:0--10.1.1.3:0 Label Prefix 3 10.1.1.2/32 299776 10.1.1.3/32 299808 10.1.1.6/32 299792 10.255.2.227/32 Input label database, 10.1.1.2:0--10.1.1.6:0 Label Prefix 299936 10.1.1.2/32 299792 10.1.1.3/32 3 10.1.1.6/32 299776 10.255.2.227/32 300128 P2MP root-addr 10.1.1.2, grp: 232.2.2.2, src: 10.2.7.7 299984 P2MP root-addr 10.1.1.2, grp: 232.1.1.1, src: 192.168.219.11 299952 P2MP root-addr 10.1.1.2, grp: 232.1.1.2, src: 192.168.219.11 300176 P2MP root-addr 10.1.1.2, grp: 232.1.1.3, src: 192.168.219.11 300192 P2MP root-addr 10.1.1.2, grp: ff3e::1:2, src: 2001:db8:abcd::10:2:7:7 Output label database, 10.1.1.2:0--10.1.1.6:0 Label Prefix 3 10.1.1.2/32 299776 10.1.1.3/32 299808 10.1.1.6/32 299792 10.255.2.227/32 ----- logical-system: default Input label database, 10.255.2.227:0--10.1.1.3:0 Label Prefix 300096 10.1.1.2/32 3 10.1.1.3/32 299856 10.1.1.6/32 299776 10.255.2.227/32 Output label database, 10.255.2.227:0--10.1.1.3:0 Label Prefix 300144 10.1.1.2/32 299776 10.1.1.3/32 299856 10.1.1.6/32 3 10.255.2.227/32 Input label database, 10.255.2.227:0--10.1.1.6:0 Label Prefix 299936 10.1.1.2/32 299792 10.1.1.3/32 3 10.1.1.6/32 299776 10.255.2.227/32 Output label database, 10.255.2.227:0--10.1.1.6:0 Label Prefix 300144 10.1.1.2/32 299776 10.1.1.3/32 299856 10.1.1.6/32 3 10.255.2.227/32 300432 P2MP root-addr 10.1.1.2, grp: 232.2.2.2, src: 10.2.7.7 300288 P2MP root-addr 10.1.1.2, grp: 232.1.1.1, src: 192.168.219.11 300160 P2MP root-addr 10.1.1.2, grp: 232.1.1.2, src: 192.168.219.11 300480 P2MP root-addr 10.1.1.2, grp: 232.1.1.3, src: 192.168.219.11 300496 P2MP root-addr 10.1.1.2, grp: ff3e::1:2, src: 2001:db8:abcd::10:2:7:7
user@p6> show ldp database Input label database, 10.1.1.6:0--10.1.1.2:0 Label Prefix 3 10.1.1.2/32 299776 10.1.1.3/32 299808 10.1.1.6/32 Output label database, 10.1.1.6:0--10.1.1.2:0 Label Prefix 299776 10.1.1.2/32 299792 10.1.1.3/32 3 10.1.1.6/32
user@pr3> show ldp database Input label database, 10.1.1.3:0--10.1.1.2:0 Label Prefix 3 10.1.1.2/32 299776 10.1.1.3/32 299808 10.1.1.6/32 299792 10.255.2.227/32 Output label database, 10.1.1.3:0--10.1.1.2:0 Label Prefix 300096 10.1.1.2/32 3 10.1.1.3/32 299856 10.1.1.6/32 299776 10.255.2.227/32 300144 P2MP root-addr 10.1.1.2, grp: 232.2.2.2, src: 10.2.7.7 300128 P2MP root-addr 10.1.1.2, grp: 232.1.1.2, src: 192.168.219.11 Input label database, 10.1.1.3:0--10.255.2.227:0 Label Prefix 300144 10.1.1.2/32 299776 10.1.1.3/32 299856 10.1.1.6/32 3 10.255.2.227/32 Output label database, 10.1.1.3:0--10.255.2.227:0 Label Prefix 300096 10.1.1.2/32 3 10.1.1.3/32 299856 10.1.1.6/32 299776 10.255.2.227/32
查找 MPLS 标签的路由信息
目的
显示点对多点 FEC 信息。
操作
user@EgressPE> show route label 299808 detail mpls.0: 14 destinations, 14 routes (14 active, 0 holddown, 0 hidden) 299808 (1 entry, 1 announced) *LDP Preference: 9 Next hop type: Flood Address: 0x931922c Next-hop reference count: 3 Next hop type: Router, Next hop index: 1109 Address: 0x9318b0c Next-hop reference count: 2 Next hop: via so-0/1/3.0 Label operation: Pop Next hop type: Router, Next hop index: 1110 Address: 0x93191e0 Next-hop reference count: 2 Next hop: 192.168.209.11 via fe-1/3/0.0 Label operation: Pop State: **Active Int AckRequest> Local AS: 10 Age: 13:08:15 Metric: 1 Validation State: unverified Task: LDP Announcement bits (1): 0-KRT AS path: I FECs bound to route: P2MP root-addr 10.1.1.2, grp: 232.1.1.1, src: 192.168.219.11
检查 LDP 流量统计信息
目的
监控点对多点 LSP 的数据流量统计信息。
操作
user@EgressPE> show ldp traffic-statistics p2mp P2MP FEC Statistics: FEC(root_addr:lsp_id/grp,src) Nexthop Packets Bytes Shared 10.1.1.2:232.2.2.2,10.2.7.7 so-0/1/3.0 0 0 No 10.1.1.2:232.1.1.1,192.168.219.11 so-0/1/3.0 0 0 No fe-1/3/0.0 0 0 No 10.1.1.2:232.1.1.2,192.168.219.11 so-0/1/3.0 0 0 No fe-1/3/0.0 0 0 No lt-1/2/0.14 0 0 No 10.1.1.2:232.1.1.3,192.168.219.11 fe-1/3/0.0 0 0 No 10.1.1.2:ff3e::1:2,2001:db8:abcd::1:2:7:7 fe-1/3/0.0 0 0 No
映射 客户端和 服务器以实现 分段路由 到 LDP 互操作性
分段路由映射服务器和客户端支持可实现运行 LDP 和分段路由(SR 或 SPRING)的网络孤岛之间的互操作性。在从 LDP 迁移到 SR 的过程中,这种互操作性非常有用。在过渡 期间,可能存在孤岛 (或域),其设备仅 支持 LDP 或仅支持分段路由。要使这些设备协同工作,需要 LDP 分段路由映射服务器 (SRMS) 和分段路由映射客户端 (SRMC) 功能。您可以在分段路由网络中的设备上启用这些服务器和客户端功能。
OSPF 或 ISIS 支持 SR 映射服务器和客户端功能。
分段路由到 LDP 互操作性概述
图 22 显示了一个简单的 LDP 网络拓扑,说明了分段路由设备与 LDP 设备的互操作性是如何工作的。请记住,OSPF 和 ISIS 都受支持,因此现在我们将保持与 IGP 无关。示例拓扑在正在从 LDP 迁移到分段路由的网络中有六个设备(R1 到 R6)。
在拓扑中,设备 R1、R2 和 R3 仅配置为分段路由。设备 R5 和 R6 是旧版 LDP 域的一部分,当前不支持 SR。设备 R4 支持 LDP 和分段路由。将显示所有设备的环路地址。这些环路在 LDP 域中播发为出口 FEC,在 SR 域中播发为 SR 节点 ID。互操作性基于将 LDP FEC 映射到 SR 节点 ID,反之亦然。
要使 R1 与 R6 互通,需要 LDP 分段路由映射服务器 (SRMS) 和分段路由映射客户端 (SRMC)。通过以单向方式查看流量,可以更轻松地理解 SRMS 和 SRMC 的作用。基于 图 22,我们假设从左向右流动的流量源自 SR 域,终止于 LDP 域。同样,从右向左流动的流量源自 LDP 域,终止于 SR 域。
SRMS 提供从左到右拼接流量所需的信息。SRMC 为从右向左流动的流量提供映射。
- 从左到右的流量:分段路由映射服务器
SRMS 有助于 SR 域和 LDP 域之间的 LSP 拼接。服务器将 LDP FEC 映射到 SR 节点 ID。您将 LDP FEC 配置为在层次结构级别下
[edit routing-options source-packet-routing]
映射。通常,您需要映射所有 LDP 节点环路地址以实现完全连接。如下所示,您可以在单个范围语句中映射连续前缀。如果 LDP 节点环回不是连续的,则需要定义多个映射语句。您可以在或
[edit protocols isis]
层次结构级别下[edit protocols ospf]
应用 SRMS 映射配置。此选择取决于正在使用的 IGP。请注意,SR 和 LDP 节点共享一个通用的单区域/级别 IGP 路由域。SRMS 会生成扩展前缀列表 LSA(如果是 ISIS,则为 LSP)。此 LSA 中的信息允许 SR 节点将 LDP 前缀 (FEC) 映射到 SR 节点 ID。LDP 前缀的映射路由安装在
inet.3
SR 节点的 和mpls.0
路由表中,以方便从左向右流量的 LSP 入口和拼接操作。扩展的 LSA(或 LSP)在整个(单个)IGP 区域泛滥。这意味着您可以自由地将 SRMS 配置放置在 SR 域中的任何路由器上。SRMS 节点不必运行 LDP。
- 从右到左的流量:分段路由映射客户端
要从右到左方向(即从 LDP 岛到 SR 岛)进行互操作,只需在同时使用 SR 和 LDP 的节点上启用分段路由映射客户端功能即可。在我们的示例中,这是 R4。您可以使用层次结构中的
[edit protocols ldp]
语句激活mapping-client
SRMC 功能。SRMC 配置会自动激活 LDP 出口策略,以将 SR 域的节点和前缀 SID 播发为 LDP 出口 FEC。这为 LDP 节点提供了对 SR 域中节点的 LSP 可访问性。
- 必须在同时连接到 SR 和 LSP 域的路由器上配置 SRMC 功能。如果需要,同一节点也可以用作 SRMS。
使用 OSPF 的分段路由到 LDP 的互操作性
请参考 图 22, 假设 d次 R2(在分段路由网络中)是 SRMS。
-
定义 SRMS 函数:
[edit routing-options source-packet-routing ] user@R2# set mapping-server-entry ospf-mapping-server prefix-segment-range ldp-lo0s start-prefix 192.168.0.5 user@R2# set mapping-server-entry ospf-mapping-server prefix-segment-range ldp-lo0s start-index 1000 user@R2# set mapping-server-entry ospf-mapping-server prefix-segment-range ldp-lo0s size 2
此配置为示例拓扑中的两个 LDP 设备环路地址创建一个映射块。映射到 R5 环回的初始分段 ID (SID) 索引为
1000
。指定大小2
会导致 SID 索引 10001 映射到 R6 的环路地址。注:用作 的
start-prefix
IP 地址是 LDP 网络中设备的环路地址(本例中为 R5)。要实现完全连接,您必须将 LDP 路由器的所有环路地址映射到 SR 域中。如果环路地址是连续的,则可以使用单个prefix-segment-range
语句执行此操作。非连续环路需要定义多个前缀映射语句。我们的示例使用连续环回,因此上面显示了单个
prefix-segment-range
环回。下面是支持两个具有非连续环回寻址的 LDP 节点的情况的多个映射示例:[edit routing-options source-packet-routing] show mapping-server-entry map-server-name { prefix-segment-range lo1 { start-prefix 192.168.0.5/32; start-index 1000; size 1; } prefix-segment-range lo2 { start-prefix 192.168.0.10/32; start-index 2000; size 1; } } }
-
接下来,为用于泛洪映射前缀的扩展 LSA 配置 OSPF 支持。
[edit protocols] user@R2# set ospf source-packet-routing mapping-server ospf-mapping-server
在设备 R2 上提交映射服务器配置后,扩展前缀范围 TLV 将在整个 OSPF 区域中泛洪。能够进行分段路由的设备(R1、R2 和 R3)使用分段 ID (SID) 索引为指定的环路地址(本例中为 R5 和 R6)安装 OSPF 分段路由路由。分段路由设备也会在路由表中更新
mpls.0
SID 索引。 -
启用 SRMC 功能。对于示例拓扑,您必须在 R4 上启用 SRMC 功能。
[edit protocols] user@R4# set ldp sr-mapping-client
在设备 R4 上提交映射客户端配置后,SR 节点 ID 和标签块将作为出口 FEC 播发至路由器 R5,然后路由器 R5 将其重新播发至 R6。
从 Junos OS 19.1R1 开始支持使用 OSPF 的拼接分段路由和 LDP 下一跃点。
Unsupported Features and Functionality for Segment Routing interoperability with LDP using OSPF
-
仅在 SRMS 上检测到前缀冲突。 当存在前缀范围冲突时,以较低路由器 ID 中的前缀 SID 为准。在这种情况下,将生成系统日志错误消息 —
RPD_OSPF_PFX_SID_RANGE_CONFLICT
。 -
不支持 IPv6 前缀。
-
不支持跨 AS 边界(AS 间)泛洪 OSPF 扩展前缀不透明 LSA。
-
不支持区域间 LDP 映射服务器 功能 。
-
不支持扩展前缀不透明 LSA 的 ABR 功能。
-
不支持扩展前缀不透明 LSA 的 ASBR 功能。
-
不支持路由映射服务器首选项 TLV。
使用 ISIS 的分段路由与 LDP 的互操作性
请参阅 图 22,假定设备 R2(在分段路由网络中)是 SRMS。映射功能增加如下配置:
-
定义 SRMS 函数:
[edit routing-options source-packet-routing ] user@R2# set mapping-server-entry isis-mapping-server prefix-segment-range ldp-lo0s start-prefix 192.168.0.5 user@R2# set mapping-server-entry isis-mapping-server prefix-segment-range ldp-lo0s start-index 1000 user@R2# set mapping-server-entry isis-mapping-server prefix-segment-range ldp-lo0s size 2
此配置为示例拓扑中的两个 LDP 设备环路地址创建一个映射块。映射到 R5 环回的初始段 ID (SID) 索引为
1000
。指定大小2
会导致 SID 索引 10001 映射到 R6 的环路地址。注:用作 的
start-prefix
IP 地址是 LDP 网络中设备的环路地址(本例中为 R5)。要实现完全连接,您必须映射 SR 域中 LDP 路由器的所有环路地址。如果环路地址是连续的,则可以使用语句执行此操作prefix-segment-range
。非连续环回需要定义多个映射语句。我们的示例使用连续环回,因此上面显示了单个
prefix-segment-range
环回。下面是一个前缀映射示例,用于处理两个具有非连续环路寻址的 LDP 路由器的情况:[edit routing-options source-packet-routing] show mapping-server-entry map-server-name { prefix-segment-range lo1 { start-prefix 192.168.0.5/32; start-index 1000; size 1; } prefix-segment-range lo2 { start-prefix 192.168.0.10/32; start-index 2000; size 1; } } }
-
接下来,为用于泛洪映射前缀的扩展 LSP 配置 ISIS 支持。
[edit protocols] user@R2# set isis source-packet-routing mapping-server isis-mapping-server
在设备 R2 上提交映射服务器配置后,扩展前缀范围 TLV 将在整个 OSPF 区域中泛洪。能够进行分段路由的设备(R1、R2 和 R3)使用分段 ID (SID) 索引为指定的环路地址(本例中为 R5 和 R6)安装 ISIS 分段路由路由。分段路由设备也会在路由表中更新
mpls.0
SID 索引。 -
启用 SRMC 功能。对于示例拓扑,您必须在 R4 上启用 SRMC 功能。
[edit protocols] user@R4# set ldp sr-mapping-client
在设备 R4 上提交映射客户端配置后,SR 节点 ID 和标签块将作为出口 FEC 播发至路由器 R5,然后从那里播发到 R6。
Junos OS 17.4R1 开始支持使用 ISIS 拼接分段路由和 LDP 下一跃点。
Unsupported Features and Functionality for Interoperability of Segment Routing with LDP using ISIS
-
不支持标签绑定 TLV 的倒数第二个跃点弹出 行为 。
-
不支持在标签绑定 TLV 中播发前缀范围。
-
不支持分段路由冲突解决。
-
LDP 流量统计信息不起作用。
-
不支持不间断活动路由 (NSR) 和平稳路由引擎切换 (GRES)。
-
不支持 ISIS 跨级别。
-
不支持 RFC 7794, 扩展 IPv4 的 IS-IS 前缀属性 。
-
不支持在拼接节点将 LDP 路由重新分发为前缀 sid。
其他 LDP 属性
以下各节介绍如何配置多个杂项 LDP 属性。
- 将 LDP 配置为使用 IGP 路由指标
- 防止将入口路由添加到 inet.0 路由表
- 多实例 LDP 和载波至载波 VPN
- 配置 MPLS 和 LDP 以弹出终极跃点路由器上的标签
- 通过已建立的 LSP 启用 LDP
- 在异构网络中通过 RSVP 建立的 LSP 启用 LDP
- 为 LDP 会话配置 TCP MD5 签名
- 配置 LDP 会话保护
- 禁用 LDP 的 SNMP 陷阱
- 在 LDP 链路上配置 LDP 与 IGP 同步
- 配置与路由器上的 IGP 的 LDP 同步
- 配置标签提取计时器
- 忽略 LDP 子网检查
将 LDP 配置为使用 IGP 路由指标
如果您希望将内部网关协议 (IGP) 路由指标用于 LDP 路由,而不是默认 LDP 路由指标(默认 LDP 路由指标为 1),请使用该 track-igp-metric
语句。
要使用 IGP 路由指标,请包含以下 track-igp-metric
语句:
track-igp-metric;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
防止将入口路由添加到 inet.0 路由表
通过配置no-forwarding
该语句,可以防止将入口路由添加到 inet.0 路由表而不是 inet.3 路由表中,即使您在 或 [edit protocols mpls]
[edit logical-systems logical-system-name protocols mpls]
层次结构级别启用了traffic-engineering bgp-igp
该语句也是如此。默认情况下,该 no-forwarding
语句处于禁用状态。
ACX 系列路由器不支持 [edit logical-systems
] 层次结构级别。
要从 inet.0 路由表中省略入口路由,请包含以下 no-forwarding
语句:
no-forwarding;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
多实例 LDP 和载波至载波 VPN
通过配置多个 LDP 路由实例,您可以使用 LDP 将载波至载波 VPN 中的标签从服务提供商边缘 (PE) 路由器通告到客户运营商客户边缘 (CE) 路由器。当运营商客户是基本互联网服务提供商 (ISP) 并希望将完整互联网路由限制为其 PE 路由器时,此功能特别有用。通过使用 LDP 而不是 BGP,运营商客户可以将其其他内部路由器与互联网隔离开来。当运营商客户希望向其客户提供第 2 层或第 3 层 VPN 服务时,多实例 LDP 也很有用。
有关如何为载波至载波 VPN 配置多个 LDP 路由实例的示例,请参阅 标签分发协议的多个实例用户指南。
配置 MPLS 和 LDP 以弹出终极跃点路由器上的标签
默认播发的标签是标签 3(隐式空标签)。如果播发了标签 3,倒数第二个跃点路由器将移除标签并将数据包发送到出口路由器。如果启用了终极跃点弹出,则会播发标签 0(IPv4 显式空标签)。终极跃点弹出可确保通过 MPLS 网络的所有数据包都包含标签。
要配置终极跃点弹出,请包含以下 explicit-null
语句:
explicit-null;
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
瞻博网络路由器根据传入标签对数据包进行排队。其他供应商的路由器可能会以不同的方式对数据包进行排队。在使用包含来自多个供应商的路由器的网络时,请记住这一点。
通过已建立的 LSP 启用 LDP
您可以在 RSVP 建立的 LSP 上运行 LDP,从而通过 RSVP 建立的 LSP 有效地将 LDP 建立的 LSP 建立隧道。为此,请在 lo0.0 接口上启用 LDP(请参阅 启用和禁用 LDP)。您还必须通过在层次结构级别包含 ldp-tunneling
语句 [edit protocols mpls label-switched-path lsp-name]
来配置希望 LDP 在其上运行的 LSP:
[edit] protocols { mpls { label-switched-path lsp-name { from source; to destination; ldp-tunneling; } } }
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
LDP 可以通过启用了链路保护的 RSVP 会话建立隧道。从 Junos OS Release 21.1R1 开始,显示有关 LDP 隧道路由的详细信息会显示主跃点和旁路 LSP 下一跃点。在之前的 Junos OS 版本中, 旁路 LSP 下一 跃点显示主 LSP 的下一 跃点。
在异构网络中通过 RSVP 建立的 LSP 启用 LDP
其他一些供应商对环路地址使用 OSPF 指标 1。瞻博网络路由器使用 OSPF 指标 0 作为环路地址。这可能需要您在异构网络中通过 RSVP LSP 部署 LDP 隧道时手动配置 RSVP 指标。
当瞻博网络路由器通过 RSVP 隧道链接到其他供应商的路由器,并且还启用了 LDP 隧道时,默认情况下,如果 RSVP 路径的指标比物理 OSPF 路径大 1,则瞻博网络路由器可能不会使用 RSVP 隧道将流量路由到其他供应商出口路由器下游的 LDP 目标。
要确保 LDP 隧道在异构网络中正常运行,您可以通过包含以下 ignore-lsp-metrics
语句将 OSPF 配置为忽略 RSVP LSP 指标:
ignore-lsp-metrics;
您可以在以下层次结构级别配置此语句:
-
[edit protocols ospf traffic-engineering shortcuts]
-
[edit logical-systems logical-system-name protocols ospf traffic-engineering shortcuts]
ACX 系列路由器不支持 [edit logical-systems
] 层次结构级别。
要通过 RSVP LSP 启用 LDP,您还需要完成第 通过已建立的 LSP 启用 LDP一节 中的过程。
为 LDP 会话配置 TCP MD5 签名
您可以为 LDP TCP 连接配置 MD5 签名,以防止将欺骗性 TCP 分段引入 LDP 会话连接流。有关 TCP 身份验证的详细信息,请参阅 TCP。有关如何使用 TCP 身份验证选项 (TCP-AO) 而不是 TCP MD5 的信息,请参阅 No link title。
使用 MD5 签名选项的路由器为每个需要身份验证的对等体配置密码。密码以加密方式存储。
即使对等接口配置了不同的安全签名,仍可创建 LDP 你好邻接关系。但是,TCP 会话无法进行身份验证,并且永远不会建立。
您可以将 LDP 会话的散列消息认证代码 (HMAC) 和 MD5 认证配置为每会话配置或子网匹配(即最长前缀匹配)配置。对子网匹配身份验证的支持为自动定向 LDP (TLDP) 会话配置身份验证提供了灵活性。这使得部署远程无环路备用 (LFA) 和 FEC 129 伪线变得容易。
要为 LDP TCP 连接配置 MD5 签名,请将语句 authentication-key
作为会话组的一部分包含在内:
[edit protocols ldp] session-group prefix-length { authentication-key md5-authentication-key; }
使用该 session-group
语句配置 LDP 会话的远程端地址。
配置中的 md5-authentication-key
或密码最多可包含 69 个字符。字符可以包含任意 ASCII 字符串。如果包含空格,请用引号将所有字符括起来。
您还可以为 LDP 路由协议配置认证密钥更新机制。此机制允许您在不中断关联的路由和信令协议(如开放最短路径优先 (OSPF) 和资源预留设置协议 (RSVP))的情况下更新身份验证密钥。
要配置认证密钥更新机制,请在层次结构级别包含 key-chain
语句 [edit security authentication-key-chains]
,并指定 key
用于创建由多个认证密钥组成的钥匙串的选项。
[edit security authentication-key-chains] key-chain key-chain-name { key key { secret secret-data; start-time yyyy-mm-dd.hh:mm:ss; } }
要为 LDP 路由协议配置认证密钥更新机制,请在层次结构级别包含 authentication-key-chain
语句 [edit protocols ldp]
以将协议与 [edit security suthentication-key-chains]
认证密钥相关联。您还必须通过将语句包含在 authentication-algorithm algorithm
层次结构级别来 [edit protocols ldp]
配置身份验证算法。
[edit protocols ldp] group group-name { neighbor address { authentication-algorithm algorithm; authentication-key-chain key-chain-name; } }
有关身份验证密钥更新功能的详细信息,请参阅 为 BGP 和 LDP 路由协议配置身份验证密钥更新机制。
配置 LDP 会话保护
LDP 会话通常在通过一个或多个链路连接的一对路由器之间创建。路由器为连接路由器的每个链路形成一个你好邻接关系,并将所有邻接与相应的 LDP 会话相关联。当 LDP 会话的最后一个 你好 邻接关系消失时,LDP 会话将终止。您可能希望修改此行为,以防止不必要地终止和重新建立 LDP 会话。
您可以通过配置语句将 session-protection
Junos OS 配置为保持两个路由器之间的 LDP 会话打开,即使连接两个路由器的链路上没有你好邻接关系也是如此。您可以选择使用该选项指定 timeout
以秒为单位的时间。只要路由器保持 IP 网络连接,会话就会在指定的持续时间内保持打开状态。
session-protection { timeout seconds; }
有关可包含此语句的层次结构级别的列表,请参阅语句摘要部分。
禁用 LDP 的 SNMP 陷阱
每当 LDP LSP 从上到下或从下到上转换时,路由器都会发送 SNMP 陷阱。但是,可以在路由器、逻辑系统或路由实例上禁用 LDP SNMP 陷阱。
有关 LDP SNMP 陷阱和专有 LDP MIB 的信息,请参阅 SNMP MIB 资源管理器。
要为 LDP 禁用 SNMP 陷阱,请为语句指定trap disable
log-updown
选项:
log-updown { trap disable; }
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
在 LDP 链路上配置 LDP 与 IGP 同步
LDP 是一种协议,用于在非流量工程应用程序中分发标签。标签沿 IGP 确定的最佳路径分布。如果未在 LDP 和 IGP 之间保持同步,LSP 就会关闭。当 LDP 在给定链路上未完全正常运行(未建立会话且未交换标签)时,IGP 将使用最大成本指标通告链路。该链路不是首选链路,但仍保留在网络拓扑中。
LDP 同步仅在活动点对点接口和在 IGP 下配置为点对点的 LAN 接口上受支持。平稳重启期间不支持 LDP 同步。
要在 LDP 运行同步之前公布最大成本指标,请包含以下 ldp-synchronization
语句:
ldp-synchronization { disable; hold-time seconds; }
要禁用同步,请包含该 disable
语句。要配置时间段以通告未完全运行的链接的最大成本指标,请包含 hold-time
语句。
有关可在其中配置此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
配置与路由器上的 IGP 的 LDP 同步
您可以配置 LDP 在通知 IGP 某个接口的 LDP 邻接方和会话正常运行之前等待的时间。对于具有大量 FEC 的大型网络,您可能需要配置更长的值,以便有足够的时间来交换 LDP 标签数据库。
要配置 LDP 在通知 IGP LDP 邻居和会话正常运行之前等待的时间,请包含该 igp-synchronization
语句并为选项 holddown-interval
指定以秒为单位的时间:
igp-synchronization holddown-interval seconds;
有关可在其中配置此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
配置标签提取计时器
标签撤回计时器延迟向邻居发送 FEC 的标签撤回消息。当到邻接方的 IGP 链路出现故障时,如果邻接方是 FEC 的下一跃点,则必须从所有上游路由器中撤销与 FEC 关联的标签。在 IGP 收敛并从新的下一跃点收到标签后,该标签将重新播发至所有上游路由器。这是典型的网络行为。通过将标签撤回延迟一小段时间(例如,直到 IGP 收敛并且路由器从下游下一跃点收到 FEC 的新标签),可以避免标签撤回和很快发送标签映射。该 label-withdrawal-delay
语句允许您配置此延迟时间。默认情况下,延迟为 60 秒。
如果路由器在计时器用完之前收到新标签,则会取消标签撤回计时器。但是,如果计时器用完,FEC 的标签将从所有上游路由器中撤销。
默认情况下,LDP 在撤回标签之前会等待 60 秒,以避免在 IGP 重新收敛时多次向 LSP 发出信号。要配置标签撤回延迟时间(以秒为单位),请包含以下 label-withdrawal-delay
语句:
label-withdrawal-delay seconds;
有关可在其中配置此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
忽略 LDP 子网检查
在 Junos OS 8.4 版及更高版本中,将在邻居建立过程中执行 LDP 源地址子网检查。LDP 链路你好数据包中的源地址与接口地址匹配。这会导致与其他某些供应商设备的互操作性问题。
要禁用子网检查,请包含 allow-subnet-mismatch
以下语句:
allow-subnet-mismatch;
此语句可以包含在以下层次结构级别:
-
[edit protocols ldp interface interface-name]
-
[edit logical-systems logical-system-name protocols ldp interface interface-name]
ACX 系列路由器不支持 [edit logical-systems
] 层次结构级别。
另请参阅
配置 LDP LSP 跟踪路由
您可以跟踪 LDP 信号 LSP 后跟的路由。LDP LSP 跟踪路由基于 RFC 4379《 检测多协议标签交换 (MPLS) 数据平面故障》。此功能允许您定期跟踪 FEC 中的所有路径。FEC 拓扑信息存储在可从 CLI 访问的数据库中。
拓扑更改不会自动触发 LDP LSP 的跟踪。但是,您可以手动启动路由跟踪。如果跟踪路由请求针对当前在数据库中的 FEC,则数据库的内容将随结果一起更新。
定期跟踪路由功能适用于在层次结构级别配置[edit protocols ldp]
的oam
语句指定的所有 FEC。要配置定期 LDP LSP 跟踪路由,请包含以下 periodic-traceroute
语句:
periodic-traceroute { disable; exp exp-value; fanout fanout-value; frequency minutes; paths number-of-paths; retries retry-attempts; source address; ttl ttl-value; wait seconds; }
您可以在以下层次结构级别配置此语句:
您可以单独配置 periodic-traceroute
语句,也可以使用以下任一选项配置语句:
exp
- 指定发送探测器时要使用的服务等级。fanout
— 指定每个节点要搜索的最大下一跃点数。frequency
— 指定跟踪路由尝试之间的间隔。paths
- 指定要搜索的最大路径数。retries
- 指定在放弃之前尝试将探测发送到特定节点的次数。source
— 指定发送探测时要使用的 IPv4 源地址。ttl
- 指定最大生存时间值。不会跟踪超出此值的节点。wait
— 指定重新发送探测数据包之前的等待间隔。
收集 LDP 统计信息
LDP 流量统计信息显示通过路由器上特定 FEC 的流量。
在[edit protocols ldp]
层次结构级别配置traffic-statistics
语句时,将定期收集 LDP 流量统计信息并将其写入文件。您可以使用该 interval
选项配置收集统计信息的频率(以秒为单位)。默认收集间隔为 5 分钟。您必须配置 LDP 统计信息文件;否则,不会收集 LDP 流量统计信息。如果 LSP 出现故障,则会重置 LDP 统计信息。
要收集 LDP 流量统计信息,请包含以下 traffic-statistics
语句:
traffic-statistics { file filename <files number> <size size> <world-readable | no-world-readable>; interval interval; no-penultimate-hop; }
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
本节包括以下主题:
LDP 统计信息输出
以下示例输出来自 LDP 统计信息文件:
FEC Type Packets Bytes Shared 10.255.350.448/32 Transit 0 0 No Ingress 0 0 No 10.255.350.450/32 Transit 0 0 Yes Ingress 0 0 No 10.255.350.451/32 Transit 0 0 No Ingress 0 0 No 220.220.220.1/32 Transit 0 0 Yes Ingress 0 0 No 220.220.220.2/32 Transit 0 0 Yes Ingress 0 0 No 220.220.220.3/32 Transit 0 0 Yes Ingress 0 0 No May 28 15:02:05, read 12 statistics in 00:00:00 seconds
LDP 统计信息文件包括以下列的数据:
FEC
- 收集 LDP 流量统计信息的 FEC。Type
— 源自路由器的流量类型,可以是Ingress
(源自此路由器)也可以Transit
是(通过此路由器转发)。Packets
— 自其 LSP 启动以来 FEC 传递的数据包数。Bytes
— 自 LSP 启动以来,FEC 传递的数据字节数。Shared
—值指示Yes
多个前缀绑定到同一标签(例如,当使用出口策略通告多个前缀时)。这种情况的 LDP 流量统计信息适用于所有前缀,应按此处理。read
- 此数字(显示在日期和时间旁边)可能与显示的统计数据的实际数字不同。某些统计信息在显示之前会进行汇总。
禁用倒数第二个跃点路由器上的 LDP 统计信息
在倒数第二跳路由器上收集 LDP 流量统计信息可能会消耗过多的系统资源,尤其是在下一跃点路由上。如果除了语句之外traffic-statistics
还配置了deaggregate
语句,则会加剧此问题。对于达到下一跳路由使用限制的路由器,我们建议配置 no-penultimate-hop
语句的选项 traffic-statistics
:
traffic-statistics { no-penultimate-hop; }
有关可在其中配置 traffic-statistics
语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
配置该 no-penultimate-hop
选项时,没有此路由器倒数第二个跃点的 FEC 的统计信息可用。
每当在配置中包含或删除此选项时,LDP 会话都会关闭,然后重新启动。
以下示例输出来自 LDP 统计信息文件,其中显示了配置了选项的 no-penultimate-hop
路由器:
FEC Type Packets Bytes Shared 10.255.245.218/32 Transit 0 0 No Ingress 4 246 No 10.255.245.221/32 Transit statistics disabled Ingress statistics disabled 13.1.1.0/24 Transit statistics disabled Ingress statistics disabled 13.1.3.0/24 Transit statistics disabled Ingress statistics disabled
LDP 统计限制
以下是与通过配置 traffic-statistics
语句收集 LDP 统计信息相关的问题:
您无法清除 LDP 统计信息。
如果缩短指定的间隔,则仅当统计信息计时器的过期时间晚于新间隔时,才会发出新的 LDP 统计信息请求。
在上一个 LDP 统计信息收集操作完成之前,无法启动新的 LDP 统计信息收集操作。如果间隔较短或 LDP 统计信息的数量较大,则两个统计信息集合之间的时间间隔可能长于间隔。
当 LSP 出现故障时,将重置 LDP 统计信息。
跟踪 LDP 协议流量
以下部分介绍如何配置跟踪选项以检查 LDP 协议流量:
在协议和路由实例级别跟踪 LDP 协议流量
要跟踪 LDP 协议流量,可以在层次结构级别的全局 traceoptions
语句 [edit routing-options]
中指定选项,也可以通过包含 traceoptions
语句来指定特定于 LDP 的选项:
traceoptions { file filename <files number> <size size> <world-readable | no-world-readable>; flag flag <flag-modifier> <disable>; }
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
使用该 file
语句指定接收跟踪操作输出的文件的名称。所有文件都放在目录 /var/log 中。建议将 LDP 跟踪输出放在 文件中 ldp-log。
以下跟踪标志显示与发送和接收各种 LDP 消息关联的操作。每个都可以携带以下一个或多个修饰符:
address
—跟踪地址和地址撤回消息的操作。binding
- 跟踪标签绑定操作。error
- 跟踪错误条件。event
— 跟踪协议事件。initialization
- 跟踪初始化消息的操作。label
- 跟踪标注请求、标注映射、标注撤回、标注发布消息的操作。notification
- 跟踪通知消息的操作。packets
—跟踪地址、地址撤回、初始化、标注请求、标注映射、标注撤回、标注发布、通知、定期消息等操作。此修饰符等效于设置address
、notification
initialization
label
、 和periodic
修饰符。您还可以使用标志的
packets
子选项配置filter
match-on address
标志修饰符。这允许您根据数据包的源地址和目标地址进行跟踪。path
— 跟踪标签交换路径操作。path
— 跟踪标签交换路径操作。periodic
— 跟踪你好和激活消息的操作。route
- 跟踪路由消息的操作。state
— 跟踪协议状态转换。
跟踪 FEC 内的 LDP 协议流量
LDP 将转发等效类 (FEC) 与其创建的每个 LSP 相关联。与 LSP 关联的 FEC 指定将哪些数据包映射到该 LSP。当每个路由器为 FEC 选择下一跃点播发的标签并将其拼接到播发给所有其他路由器的标签时,LSP 通过网络进行扩展。
您可以跟踪特定 FEC 中的 LDP 协议流量,并根据 FEC 过滤 LDP 跟踪语句。当您想要跟踪或排查与 FEC 关联的 LDP 协议流量时,这非常有用。以下跟踪标志可用于此目的:route
、 path
和 binding
。
以下示例说明了如何配置 LDP traceoptions
语句以基于 FEC 筛选 LDP 跟踪语句:
[edit protocols ldp traceoptions] set flag route filter match-on fec policy "filter-policy-for-ldp-fec";
此功能具有以下限制:
过滤功能仅适用于由 IP 版本 4 (IPv4) 前缀组成的 FC。
无法过滤第 2 层电路 FEC。
配置路由跟踪和过滤时,MPLS 路由不会显示(它们会被过滤器阻止)。
筛选由策略和选项的
match-on
配置值确定。配置策略时,请确保默认行为始终reject
为 。唯一的
match-on
选择是fec
. 因此,应包含的唯一策略类型是路由筛选器策略。
示例:跟踪 LDP 协议流量
详细跟踪 LDP 路径消息:
[edit] protocols { ldp { traceoptions { file ldp size 10m files 5; flag path; } } }
跟踪所有 LDP 传出消息:
[edit] protocols { ldp { traceoptions { file ldp size 10m files 5; flag packets; } } }
跟踪所有 LDP 错误条件:
[edit] protocols { ldp { traceoptions { file ldp size 10m files 5; flag error; } } }
跟踪所有 LDP 传入消息和所有标签绑定操作:
[edit] protocols { ldp { traceoptions { file ldp size 10m files 5 world-readable; flag packets receive; flag binding; } interface all { } } }
跟踪与 LSP 关联的 FEC 的 LDP 协议流量:
[edit] protocols { ldp { traceoptions { flag route filter match-on fec policy filter-policy-for-ldp-fec; } } }
变更历史表
是否支持某项功能取决于您使用的平台和版本。 使用 Feature Explorer 查看您使用的平台是否支持某项功能。