Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

MPLS 故障排除

验证 MPLS 接口

目的

如果未在网络中的路由器上正确配置 MPLS 协议,则接口将无法执行 MPLS 交换。

注:

对于要通过接口解析的标记路由, family mpls 必须在层次结构级别配置 [edit interfaces] 才能成功解析路由。当接口未配置 时 family mpls,不会解析标记的路由。

操作

要验证 MPLS 接口,请输入以下 Junos OS 命令行界面 (CLI) 操作模式命令:

示例输出 1

命令名称

以下示例输出适用于 MPLS 网络拓扑中显示的网络中的所有路由器。

示例输出 2

命令名称

示例输出 3

命令名称

意义

示例输出 1 显示网络中所有路由器上的所有 MPLS 接口均已启用 (Up) 并且可以执行 MPLS 交换。如果未能在 [edit protocols mpls] 层级配置正确的接口或在 [edit interfaces type-fpc/pic/port unit number ] 层级包含family mpls 语句,则该接口将无法执行 MPLS 交换,并且不会显示在命令的show mpls interface输出中。

未在 MPLS 网络拓扑的示例网络中显示的任何接口上配置管理组。但是,如果是,则输出将指示路由器上启用了哪些关联类位。

示例输出 2 显示接口 so-0/0/2.0 缺失,因此可能配置不正确。例如,接口可能不包含在 [edit protocols mpls] 层次结构级别,或者 family mpls 语句可能不包含在 [edit interfaces type-fpc/pic/port unit number] 层次结构级别。如果接口配置正确,RSVP 可能尚未通过此接口发出信号。有关确定哪个接口配置不正确的详细信息,请参阅 验证协议家族

示例输出 3 显示 MPLS 协议未在 [edit protocols mpls] 层次结构级别进行配置。

验证协议家族

目的

如果逻辑接口未启用 MPLS,则无法执行 MPLS 交换。此步骤允许您快速确定哪些接口配置了 MPLS 和其他协议家族。

操作

要验证网络中路由器上配置的协议家族,请输入以下 Junos OS CLI 操作模式命令:

示例输出 1

命令名称

示例输出 2

命令名称

意义

示例输出 1 显示接口、链路的管理状态 (Admin)、链路的数据链路层状态 (Link)、接口上配置的协议族 (Proto) 以及接口上的本地和远程地址。

MPLS 网络拓扑中显示的网络中所有路由上的所有接口均通过 MPLS 和 IS-IS 在数据链路层进行管理启用和运行,并具有inet 地址。所有协议族都配置了一个 IPv4 协议族 (inet),并在 [edit interfaces type-fpc/pic/port unit number] 层次结构级别配置了 IS-IS (iso) 和 MPLS (mpls) 协议家族。

示例输出 2 显示 上的R6接口so-0/0/2.0没有 mpls在 [edit interfaces type-fpc/pic/port unit number] 层次结构级别包含该语句。

验证 MPLS 配置

目的

检查中转和入口路由器、使用traceroute命令验证 BGP 下一跃点并使用ping命令验证活动路径后,您可以检查 和[edit protocols mpls][edit interfaces]层次结构级别的 MPLS 配置是否存在问题。

注:

对于要通过接口解析的标记路由, family mpls 必须在层次结构级别配置 [edit interfaces] 才能成功解析路由。当接口未配置 时 family mpls,不会解析标记的路由。

操作

要验证 MPLS 配置,请从入口、中转和出口路由器输入以下命令:

示例输出 1

命令名称

示例输出 2

命令名称

意义

入口、中转和出口路由器的示例输出 1 显示出口路由器 R6 上的接口配置不正确。接口 so-0/0/3.0 在 [edit protocols mpls] 层次结构级别作为非活动状态包含在内,此时它应该处于活动状态,因为它是 LSP 传输的接口。

示例输出 2 显示已为出口路由器 R6上的 MPLS 正确配置接口。入口和转发路由器上的接口也已正确配置(未显示)。

检查 MPLS 层

目的

配置标签交换路径 (LSP)、发出 show mpls lsp 命令并确定存在错误后,您可能会发现错误不在物理层、数据链路层、互联网协议 (IP)、内部网关协议 (IGP) 或资源预留协议 (RSVP) 层中。继续调查网络 MPLS 层的问题。

图 1 说明了分层 MPLS 模型的 MPLS 层。

图 1: 检查 MPLS 层检查 MPLS 层

使用 MPLS 层,您可以检查 LSP 是否已启动并正常运行。如果网络在此层无法运行,则 LSP 无法按配置工作。

图 2 说明了本主题中使用的 MPLS 网络。

图 2: MPLS 层的 MPLS 网络中断MPLS 层的 MPLS 网络中断

中显示的 图 2 网络是全网状配置,其中每个直接连接的接口都可以接收数据包并将其发送到其他每个类似接口。此网络中的 LSP 配置为从入口路由器 R1运行,通过中转路由器 R3,到出口路由器 R6。此外,反向 LSP 配置为从 R6R3R1运行,创建双向流量。

但是,在此示例中,反向 LSP 关闭,没有从 R6 到 的 R1路径。

中显示的 图 2 十字指示 LSP 中断的位置。LSP 损坏的一些可能原因可能包括 MPLS 协议配置不正确或为 MPLS 配置的接口不正确。

在 中 图 2所示的网络中,出口路由器 R6 上的配置错误会阻止 LSP 按预期遍历网络。

要检查 MPLS 层,请执行以下步骤:

验证 LSP

目的

通常,您会使用 show mpls lsp extensive 命令来验证 LSP。但是,要快速验证 LSP 状态, show mpls lsp 请使用命令。如果 LSP 已关闭,请使用 extensive 该选项(show mpls lsp extensive) 作为后续操作。如果您的网络具有多个 LSP,则可以考虑使用 name 选项 (show mpls lsp name nameshow mpls lsp name name extensive).

操作

要验证 LSP 是否已启动,请从入口路由器输入以下部分或全部命令:

示例输出 1
命令名称
示例输出 2
命令名称
示例输出 3
命令名称
示例输出 4
命令名称

意义

示例输出 1 显示了入口、中转和出口路由器的 LSP 状态的简要说明。入口路由器 R1 和出口路由器 R6 的输出显示两个 LSP 均已关闭, R1-to-R6 并且 R6-toR1. 如果配置了 LSP 和 ,R1R6我们预计 和 R6上都有R1出口 LSP 会话。此外,中转路由器 R3 没有中转会话。

示例输出 2 显示有关 LSP 的所有信息,包括所有过去的状态历史记录和 LSP 失败的原因。输出自 R1R6 ,指示没有到目标的路由,因为约束最短路径优先 (CSPF) 算法失败。

示例输出 3 和 4 显示了带有选项的extensive命令的show mpls lsp name 输出示例。在此实例中,输出与命令非常相似 show mpls lsp ,因为在 MPLS 层断开的 MPLS 网络的示例网络中仅配置了一个 LSP。但是,在配置了许多 LSP 的大型网络中,两个命令之间的结果会大不相同。

验证转发路由器上的 LSP 路由

目的

如果 LSP 已启动,则 LSP 路由应显示在 mpls.0 路由表中。MPLS 维护一个 MPLS 路径路由表 (mpls.0),其中包含每个 LSP 中下一个标签交换路由器的列表。此路由表在传输路由器上用于将数据包沿 LSP 路由到下一个路由器。如果转发路由器的输出中不存在路由,请检查入口和出口路由器上的 MPLS 协议配置。

操作

要验证中继路由器上的 LSP 路由,请从中继路由器输入以下命令:

示例输出 1
命令名称
示例输出 2
命令名称

意义

来自传输路由器 R3 的示例输出 1 以 MPLS 标签条目的形式显示三个路由条目。这些 MPLS 标签是在 RFC 3032 中定义的保留 MPLS 标签,无论 LSP 的状态如何,它们始终存在于 mpls.0 路由表中。输出中缺少 RSVP 分配给上游邻居的传入标签,表示 LSP 已关闭。有关 MPLS 标签条目的详细信息,请参阅 验证 LSP 使用情况的清单

相比之下,示例输出 2 显示正确配置的 LSP 的 MPLS 标签和路由。存在三个保留的 MPLS 标签,其他四个条目表示 RSVP 分配给上游邻居的传入标签。这四个条目代表两个路由。每个路由有两个条目,因为 MPLS 标头中的堆栈值可能不同。对于每个路由,第二个条目 100864 (S=0) and 100880 (S=0) 指示堆栈深度不为 1,数据包中包含其他标签值。相比之下, 100864 第一个条目具有 100880 推断的 S=1 值,该值指示堆栈深度为 1,并使每个标签成为该特定数据包中的最后一个标签。双条目表示这是倒数第二个路由器。有关 MPLS 标签堆叠的更多信息,请参阅 RFC 3032, MPLS 标签堆栈编码。

验证入口路由器上的 LSP 路由

目的

检查 LSP 路由是否包含在指定地址的路由表的活动 inet.3 条目中。

操作

要验证 LSP 路由,请从入口路由器输入以下命令:

示例输出 1
命令名称
示例输出 2
命令名称

意义

示例输出 1 仅显示路由表中的 inet.0 条目。输出中缺少路由表, inet.3 因为 LSP 不起作用。inet.0 内部网关协议 (IGP) 和边界网关协议 (BGP) 使用路由表来存储路由信息。在这种情况下,IGP 是中间系统到中间系统 (IS-IS)。有关 inet.0 路由表的详细信息,请参阅 Junos MPLS 应用程序配置指南

如果 LSP 正常工作,我们希望在路由表中看到包含 LSP inet.3 的条目。 inet.3路由表在入口路由器上使用,用于将 BGP 数据包路由到目标出口路由器。BGP 使用 inet.3 入口路由器上的路由表来帮助解析下一跃点地址。BGP 是在 MPLS 层断开的 MPLS 网络中显示的示例网络中配置的。

示例输出 2 显示了 LSP 启动时应收到的输出。输出显示 inet.0 inet.3 路由表,指示 LSP R1-to-R6R6-to-R1 可用。

使用 traceroute 命令验证 MPLS 标签

目的

显示路由数据包带到 BGP 目标,该路由的 BGP 下一跃点是 LSP 出口地址。默认情况下,BGP 使用 和 inet.0 路由 inet.3 表来解析下一跃点地址。当 BGP 路由的下一跃点地址不是出口路由器的路由器 ID 时,流量将映射到 IGP 路由,而不是 LSP。将该 traceroute 命令用作调试工具,以确定是否正在使用 LSP 转发流量。

操作

要验证 MPLS 标签,请从入口路由器输入以下命令:

示例输出 1
命令名称
示例输出 2
命令名称

意义

示例输出 1 显示 BGP 流量未使用 LSP,因此 MPLS 标签不会出现在输出中。BGP 流量不使用 LSP,而是使用 IGP(IS-IS,在 MPLS 层中断的 MPLS 网络的示例网络中)到达 BGP 下一跳 LSP 出口地址。当 BGP 下一跃点等于 LSP 出口地址时,Junos OS 默认行为将 LSP 用于 BGP 流量。

示例输出 2 是正确配置 LSP 的输出示例。输出显示 MPLS 标签,指示 BGP 流量正在使用 LSP 到达 BGP 下一跃点。

使用 ping 命令验证 MPLS 标签

目的

当您对特定 LSP 执行 ping 操作时,请检查回显请求是否作为 MPLS 数据包通过该 LSP 发送。

操作

要验证 MPLS 标签,请从入口路由器输入以下命令以 ping 出口路由器:

例如:

示例输出 1
命令名称
示例输出 2
命令名称

意义

示例输出 1 显示 LSP 没有转发回显请求的活动路径,表示 LSP 已关闭。

示例输出 2 是在 LSP 启动并转发数据包时应接收的输出示例。

采取适当的措施

问题

Description

根据您在调查中遇到的错误,您必须采取适当的措施来更正问题。在此示例中,出口路由器上的 [edit protocols mpls] 层次结构级别配置了不正确的接口 R6.

解决方案

若要更正此示例中的错误,请按照下列步骤操作:

  1. 激活出口路由器 R6上 MPLS 协议配置中的接口:

  2. 验证并提交配置:

示例输出
意义

示例输出显示,出口路由器R6 上配置不正确的接口so-0/0/3.0现已在 [edit protocols mpls] 层次结构级别激活。LSP 现在可以上来了。

再次验证 LSP

目的

采取适当的操作纠正错误后,需要再次检查 LSP 以确认 BGP 层中的问题已解决。

操作

要再次验证 LSP,请从入口、中转和出口路由器输入以下命令:

示例输出
命令名称

意义

来自入口路由器 R1 的示例输出 1 显示 LSP R1-to-R6 具有活动路由 R6 ,并且状态为 up。

来自中转路由器 R3 的示例输出 2 显示有两个中转 LSP 会话,一个从 R1R6 ,另一个从 R6R1。两家 LSP 均已启动。

出口路由器 R6 的示例输出 3 显示 LSP 已启动,活动路由是主路由。LSP 现在正在沿预期路径遍历网络(从 R1R3R6),反向 LSP 从 R6R3R1

验证一对一备份

目的

您可以通过检查入口路由器和网络中的其他路由器来验证是否已建立一对一备份。

操作

要验证一对一备份,请输入以下 Junos OS CLI 操作模式命令:

示例输出

命令名称

以下示例输出来自入口路由器 R1

意义

的示例 R1 输出显示该 FastReroute desired 对象包含在 LSP 的路径消息中,允许 R1 为 LSP 选择活动路径并建立绕行路径以避免 R2

在第 8 行中, Fast-reroute Detour Up 表示绕行正在运行。第 6 行和第 7 行表示中继路由器R2R4并已建立其绕行路径。

R210.0.12.14包含,表示 (flag=9)节点保护可用于下游节点和链路。 R410.0.24.2包括 (flag=1),表示链路保护可用于下一个下游链路。在这种情况下,只能保护下游链路, R4 因为节点是出口路由器 R5,无法保护。有关标志的详细信息,请参阅 Junos 用户指南

命令 show mpls lsp extensive 的输出不显示绕行的实际路径。要查看绕行路径使用的实际链接,必须使用 show rsvp session ingress detail 命令。

示例输出

以下示例输出来自一对一备份绕道中显示的网络中的入口路由器R1

意义

的示例 R1 输出显示了主 LSP 的 RSVP 会话。绕行路径已建立。 Detour is Up 绕行的物理路径显示在 中 Detour Explct route。绕行路径使用 R7R9 作为中转路由器 R5到达 出口路由器。

示例输出

以下示例输出来自一对一 备份绕道所示网络中的第一个传输路由器 R2:

意义

的示例 R2 输出显示绕行已建立 (Detour is Up) 并避免 R4,以及连接 R4R510.0.45.2) 的链接。绕行路径是通过 R7 () 和 R910.0.79.2) 到 R510.0.59.1),这与从 绕行的10.0.17.14R1R1显式路径不同,绕道通过 上的R7链接,而R1正在使用10.0.27.2链接。10.0.27.2 两个弯路R9通过链接到 R510.0.59.1) 合并10.0.79.2

示例输出

以下示例输出来自 一对一备份绕道中显示的网络中的第二个传输路由器 R4:

意义

的示例 R4 输出显示绕行已建立 (Detour is Up) 并避免连接 R4R510.0.45.2) 的链接。绕行路径通过 R9 (10.0.49.2) 到 R510.0.59.1)。某些信息类似于在 和 R2R1输出中找到的信息。但是,绕行的显式路线是不同的,通过连接和R9(或)so-0/0/3 R4链路10.0.49.2.

示例输出

以下示例输出来自 R7,用于 一对一备份绕行中显示的网络中的绕行路径:

意义

的示例 R7 输出显示的信息与 LSP 主路径中使用的常规传输路由器的信息相同:入口地址 (192.168.1.1)、出口地址 (192.168.5.1 ) 和 LSP 的名称 (r1-to-r5)。显示两条绕行路径;第一个要避免 R4 (),第二个要避免 R2192.168.4.1192.168.2.1)。由于 由 和 用作R2R4中转路由器,R7可以将R7绕行路径合并在一起,如两个绕行路径的相同Label out值 (100368) 所示。无论接收标签R4值为 100736 还是来自R2标签值100752为 的流量,都将R7数据包转发到R5标签值100368为 的 R7

示例输出

以下示例输出来自 R9,R9 是 一对一备份绕行中显示的网络中绕行路径中使用的路由器:

意义

的示例 R9 输出显示, R9 这是绕行路径的倒数第二个路由器,显式路由仅包含出口链路地址 (10.0.59.1), Label out 值 (3) 表示 R9 已执行倒数第二跳标签弹出。此外,绕行分支10.0.27.1不包括路径信息,因为R7已合并了绕行路径和R2R4。请注意,Label out绕行分支中的10.0.17.13100368值为 ,与 上的R7值相同Label out

示例输出

以下示例输出来自一对一 备份绕道中所示网络中的出口路由器 R5:

意义

的示例 R5 输出显示了现场的主要 Record route LSP 以及通过网络的绕道。

验证主路径是否正常运行

目的

如果主路径可用,则必须始终在网络中使用,因此 LSP 在发生故障后始终移回主路径,除非调整配置。有关调整配置以防止重新建立故障主路径的详细信息,请参阅 防止使用以前失败的路径

操作

要验证主路径是否正常运行,请输入以下 Junos OS 命令行界面 (CLI) 操作模式命令:

示例输出 1

命令名称

示例输出 2

命令名称

意义

示例输出 1 显示 LSP 正在运行,并且使用主路径 (via-r2) 以及 R210.0.12.14) 和 R410.0.24.2) 作为中转路由器。设置和保持 6 6的优先级值相同。优先级 0 是最高(最佳)优先级,7 是最低(最差)优先级。Junos OS 设置和保持优先级的默认值为 7:0。除非某些 LSP 比其他 LSP 更重要,否则保留默认值是一种很好的做法。不允许配置优于保留优先级的设置优先级,这会导致提交失败,以避免抢占循环。

验证辅助路径是否已建立

目的

当使用语句配置 standby 辅助路径时,辅助路径应已 启动 但不 处于活动状态;如果主路径发生故障,辅助路径将变为活动状态。除非主路径失败,否则不会启动不使用语句配置 standby 的辅助路径。要测试辅助路径是否已正确配置,并且在主路径出现故障时是否启动,必须停用对主路径至关重要的链路或节点,然后发出 show mpls lsp lsp-path-name extensive 命令。

操作

要验证辅助路径是否已建立,请输入以下 Junos OS CLI 操作模式命令:

示例输出

示例输出

命令名称

以下示例输出显示了启动之前和之后正确配置的辅助路径。在此示例中,上的R2接口fe-0/1/0已停用,这将关闭主路径 via-r2。入口路由器 R1 将流量切换到辅助路径 via-r7

意义

出口路由器 R1 的示例输出显示正确配置的备用辅助路径处于关闭状态,因为主路径仍处于打开状态。停用对主路径至关重要的接口(interface fe-0/1/0 on R2)后,主路径 via-r2 将关闭,备用辅助路径 via-r7 将启动,从而允许 R1 将流量切换到备用辅助路径。

验证物理层

目的

配置 LSP 、发出 show mpls lsp extensive 命令并确定存在错误后,可以在网络的物理层开始调查问题。

图 3 说明了分层 MPLS 模型的物理层。

图 3: 验证物理层验证物理层

使用此层,您必须确保路由器已连接,并且入口、出口和中转路由器上的接口已启动且配置正确。

如果网络在此层运行不正常,则标签交换路径 (LSP) 无法按配置工作。

图 4 阐释了 MPLS 网络和本主题中描述的问题。

图 4: MPLS 网络在物理层中断MPLS 网络在物理层中断

中显示的 图 4 网络是全网状配置,其中每个直接连接的接口都可以接收数据包并将其发送到其他每个类似接口。此网络中的 LSP 配置为从入口路由器 R1运行,通过中转路由器 R3,到出口路由器 R6。此外,反向 LSP 配置为从 R6R3R1运行,创建双向流量。

但是,在此示例中,流量不使用配置的 LSP。相反,流量使用从 R1R6R2 的备用路由,在相反的方向上使用从 R6R5 to R1的备用路由。

当您发现使用备用路由而不是配置的 LSP 的情况时,请验证物理层是否正常运行。您可能会发现路由器未连接,或者入口、出口或中转路由器上的接口未启动和配置不正确。

中显示的 图 4 叉号指示由于入口路由器 R1上的配置错误而导致 LSP 中断的位置。

要检查物理层,请执行以下步骤:

验证 LSP

目的

通常,您会使用 show mpls lsp extensive 命令来验证 LSP。但是,要快速验证 LSP 状态,请使用 show mpls lsp 命令。如果 LSP 已关闭,请使用 extensive 该选项(show mpls lsp extensive) 作为后续操作。如果您的网络具有多个 LSP,则可以考虑使用 name 选项 (show mpls lsp name nameshow mpls lsp name name extensive).

操作

要确定 LSP 是否已启动,请从入口路由器输入以下命令:

示例输出
命令名称

意义

入口路由器 R1 的示例输出显示 LSP 使用的是备用路径,而不是配置的路径。LSP 的配置路径是到 R3R6, ,反向 LSP R1R3R6 的配置路径是R1到 。LSP 使用的备用路径是R1R6, R2反向 LSP, R6 t通过 R5 R1

验证路由器连接

目的

通过检查数据包是否已在 0% 丢包的情况下接收和传输数据包,确认相应的入口、中转和出口路由器是否正常工作。

操作

要确定路由器是否已连接,请从入口路由器和中转路由器输入以下命令:

示例输出
命令名称

意义

示例输出显示入口路由器 R1 正在从中转路由器 R3接收数据包,并且中转路由器正在从出口路由器接收数据包。因此,LSP 中的路由器已连接。

验证接口

目的

使用语句确认 family mpls 接口配置正确。

操作

要确定相关接口是否已启动并配置正确,请从入口、中转和出口路由器输入以下命令:

示例输出
命令名称

意义

示例输出显示,入口路由器上的接口 so-0/0/2.0 没有 family mpls 在 [edit interfaces type-fpc/pic/port] 层次结构级别配置语句,表示接口未正确配置为支持 LSP。LSP 在 [edit protocols mpls] 层次结构级别配置正确。

中转和出口路由器的输出(未显示)显示这些路由器上的接口配置正确。

采取适当的措施

问题

Description

根据您在调查中遇到的错误,您必须采取适当的措施来更正问题。在下面的示例中,缺少的 family mpls 语句包含在入口路由器 R1的配置中。

解决方案

要更正此示例中的错误,请输入以下命令:

示例输出
意义

入口路由器 R1的示例输出显示,已针对接口 so-0/0/2.0正确配置语句family mpls,并且 LSP 现在按最初配置运行。

再次验证 LSP

目的

采取适当的措施纠正错误后,需要再次检查 LSP,以确认物理层中的问题已解决。

操作

要验证 LSP 是否已启动并按预期遍历网络,请输入以下命令:

示例输出 1
命令名称
示例输出 2
命令名称

意义

入口路由器 R1 的示例输出 1 显示,LSP 现在正沿预期路径(从 R1 到 )和反向 LSP R6 从 到 R3R3 R6R1遍历网络。

入口路由器R1 的示例输出 2 显示 LSP 被强制采用预期路径,因为接口so-0/0/0.0so-0/0/1.0上的 MPLS 已停用R1 。如果未停用这些接口,即使现在配置正确,LSP 仍会通过备用路径遍历网络。

验证 IP 和 IGP 层

问题

Description

配置标签交换路径 (LSP)、发出 show mpls lsp extensive 命令并确定存在错误后,您可能会发现错误不在物理或数据链路层中。继续调查网络的 IP 层和 IGP 层的问题。

图 7 说明了分层 MPLS 模型的 IP 层和 IGP 层。

图 7: IP 和 IGP 层IP 和 IGP 层

解决方案

在 IP 层和 IGP 层,必须检查以下内容:

  • 接口具有正确的 IP 寻址,并建立 IGP 邻居或邻接关系。

  • 开放最短路径优先 (OSPF) 或中间系统到中间系统 (IS-IS) 协议已配置并正常运行。

    • 如果配置了 OSPF 协议,请先检查 IP 层,然后再检查 OSPF 配置,确保协议、接口和流量工程配置正确。

    • 如果配置了 IS-IS 协议,则先检查 IS-IS 还是 IP 并不重要,因为这两个协议彼此独立。验证 IS-IS 邻接是否已建立,以及接口和 IS-IS 协议配置是否正确。

      注:

      默认情况下,IS-IS 协议已启用流量工程。

如果网络在 IP 层或 IGP 层无法正常工作,则 LSP 无法按配置工作。

图 8 说明了本主题中使用的 MPLS 网络。

图 8: IP 层和 IGP 层的 MPLS 网络中断IP 层和 IGP 层的 MPLS 网络中断

中显示的 图 8 网络是全网状配置,其中每个直接连接的接口都可以接收数据包并将其发送到其他每个类似接口。此网络中的 LSP 配置为从入口路由器 R1运行,通过中转路由器 R3,到出口路由器 R6。此外,反向 LSP 配置为从 R6R3、 到 R1运行,从而创建双向流量。中的 图 8 叉号表示 LSP 在何处由于 IP 和 IGP 层的以下问题而无法正常工作:

  • 入口路由器上的 IP 地址配置不正确 (R1)。

  • OSPF 协议配置了路由器 ID (RID),但没有环路 (lo0) 接口,并且中转路由器 (R3) 中缺少流量工程。

  • IS-IS 网络中的级别不匹配。

验证 IP 层

目的

您可以在检查内部网关协议 (IGP) 层之前或之后检查 IP 层,具体取决于您是否将 OSPF 或 IS-IS 配置为 IGP。如果您的 MPLS 网络配置了 OSPF 作为 IGP,则必须先验证 IP 层,检查接口是否具有正确的 IP 寻址以及是否已建立 OSPF 邻居,然后再检查 OSPF 层。

如果您在 MPLS 网络中将 IS-IS 配置为 IGP,则可以先验证 IP 层或 IS-IS 协议层。检查 IP 或 IS-IS 层的顺序不会影响结果。

图 9: IP 层 MPLS 网络中断IP 层 MPLS 网络中断

交叉指示 图 9 由于入口路由器 R1上的 IP 地址配置不正确而导致 LSP 中断的位置。

验证 LSP

目的

配置 LSP 后,必须验证 LSP 是否已启动。LSP 可以是入口、传输或出口。使用 show mpls lsp 命令快速验证 LSP 状态,并提供 extensive 选项(show mpls lsp extensive) 在 LSP 关闭时作为后续操作。如果您的网络具有多个 LSP,则可以考虑使用name 选项 ( 或 show mpls lsp name name extensive).show mpls lsp name name

操作

要验证 LSP 是否已启动,请从入口路由器输入以下命令:

示例输出 1
命令名称

意义

入口路由器R1的示例输出显示发生了 MPLS 标签分配失败,并且约束最短路径优先 (CSPF) 算法失败,导致 上R6没有到达目标10.0.0.6的路由。

验证 IP 寻址

目的

调查 IP 层时,需要验证接口是否具有正确的 IP 寻址,以及是否已建立 OSPF 邻居或 IS-IS 邻接关系。在此示例中,入口路由器 (R1) 上的 IP 地址配置不正确。

操作

要验证 IP 地址,请从入口、中转和出口路由器输入以下命令:

示例输出
命令名称

意义

示例输出显示,打开R1的接口和打开R3的接口so-0/0/2.0so-0/0/2.0的 IP 地址相同。网络中的接口 IP 地址必须是唯一的,才能正确识别接口。

验证 IP 层的邻居或邻接关系

目的

如果 IP 地址配置不正确,则需要检查 OSPF 邻居或 IS-IS 邻接关系,以确定是否建立了其中一个或两个。

操作

要验证邻居 (OSPF) 或邻接 (IS-IS),请从入口、中转和出口路由器输入以下命令:

示例输出 1
命令名称
示例输出 2
命令名称

意义

来自入口、中转和出口路由器的示例输出 1 显示 R1R3 未建立的 OSPF 邻接方。考虑到两个接口 so-0/0/2.0R1R3)配置了相同的 IP 地址,您可能会预料到这一点。OSPF 协议仅根据 IP 数据包标头中包含的目标 IP 地址路由 IP 数据包。因此,自治系统 (AS) 中的相同 IP 地址会导致无法建立邻居。

入口、中转和出口路由器的示例输出 2 显示,R1尽管在 和 R3上的R1接口so-0/0/2.0上配置了相同的 IP 地址,但 和 R3 已建立 IS-IS 邻接关系。IS-IS 协议的行为与 OSPF 协议不同,因为它不依赖 IP 来建立邻接关系。但是,如果 LSP 未启动,则检查 IP 子网寻址仍然很有用,以防该层出现错误。更正寻址错误可能会使 LSP 恢复运行。

采取适当的措施

问题

Description

根据您在调查中遇到的错误,您必须采取适当的措施来更正问题。此示例中,传输路由器 R2 上接口的 IP 地址配置不正确。

解决方案

要更正此示例中的错误,请输入以下命令:

示例输出
意义

示例输出显示,入口路由器R1上的接口so-0/0/2现在配置了正确的 IP 地址。此更正会导致 MPLS 网络中所有接口的唯一子网 IP 地址在 IP 层和 IGP 层中断,并且 LSP 可能会出现。

再次验证 LSP

目的

采取适当的措施更正错误后,需要再次检查 LSP,以确认 OSPF 协议中的问题已解决。

操作

要再次验证 LSP,请在入口、中转和出口路由器上输入以下命令:

示例输出 1
命令名称
示例输出 2
命令名称
示例输出 3
命令名称

意义

来自入口路由器 R1 的示例输出 1 显示 LSP R1-to-R6 具有活动路由 R6 ,并且状态为 up。输出显示出口 LSP 会话 R6-to-R1 已收到并发送了恢复标签。

来自中转路由器R3的示例输出 2 显示有两个中转 LSP 会话,一个从 to R6 和另一个从 R1R6 to 两个 R1. LSP 都已启动。

出口路由器 R6 的示例输出 3 显示 LSP 已启动,活动路由是主路由。LSP 现在正在沿预期路径遍历网络(从 R1R3 R6),反向 LSP 从 R6R3R1

再次验证 LSP

目的

采取适当的操作更正错误后,需要再次检查 LSP 以确认 IS-IS 协议中的问题已解决。

操作

要验证 LSP 是否已启动并按预期遍历网络,请从入口、出口和中转路由器输入以下命令:

示例输出

命令名称

意义

入口路由器R1和出口路由器 R6 的示例输出显示,LSP 现在正沿预期路径(从 R1R3 R6)遍历网络,反向 LSP 从 R6R3R1。此外,来自传输路由器 R3 的示例输出显示有两个传输 LSP 会话,一个从 R1R6,另一个从 R6R1

检查 RSVP 层

目的

配置标签交换路径 (LSP)、发出 show mpls lsp extensive 命令并确定存在错误后,您可能会发现错误不在物理层、数据链路层或互联网协议 (IP) 和内部网关协议 (IGP) 层中。继续调查网络 RSVP 层的问题。

图 10 说明了分层 MPLS 模型的 RSVP 层。

图 10: 检查 RSVP 层检查 RSVP 层

使用此层,您可以检查动态 RSVP 信令是否按预期发生、邻居是否已连接以及接口是否已为 RSVP 配置正确。检查入口、出口和中转路由器。

如果网络在此层无法运行,则 LSP 无法按配置工作。

图 11 说明了本主题中使用的 MPLS 网络。

图 11: MPLS 网络在 RSVP 层中断MPLS 网络在 RSVP 层中断

中显示的 图 11 网络是全网状配置,其中每个直接连接的接口都可以接收数据包并将其发送到其他每个类似接口。此网络中的 LSP 配置为从入口路由器 R1运行,通过中转路由器 R3,到出口路由器 R6。此外,反向 LSP 配置为从 R6R3R1运行,创建双向流量。

但是,在此示例中,LSP 关闭时没有从 到 R6 或从 R6R1的任一方向的R1路径。

中显示的 图 11 十字指示 LSP 损坏的位置。LSP 中断的一些可能原因可能包括动态 RSVP 信号未按预期发生、邻居未连接或接口未为 RSVP 配置不正确。

在 中的 图 11网络中,传输路由器 R3 上的配置错误会阻止 LSP 按预期遍历网络。

要检查 RSVP 图层,请执行以下步骤:

验证 LSP

目的

通常,您会使用 show mpls lsp extensive 命令来验证 LSP。但是,要快速验证 LSP 状态, show mpls lsp 请使用命令。如果 LSP 已关闭,请使用 extensive 该选项(show mpls lsp extensive) 作为后续操作。如果您的网络具有多个 LSP,则可以考虑使用 name 选项 (show mpls lsp name nameshow mpls lsp name name extensive).

操作

要确定 LSP 是否已启动,请从入口路由器输入以下命令:

示例输出 1
命令名称

意义

示例输出显示 LSP 在两个方向上都向下,从 R1R6和 从 R6R1。的 R1 输出显示正在使用 R1 无 cspf LSP,因为它尝试发起呼叫但无法到达目标。的 R6 输出显示约束最短路径优先 (CSPF) 算法失败,导致没有到目标 10.0.0.1的路由。

验证 RSVP 会话

目的

成功创建 RSVP 会话后,将沿着 RSVP 会话创建的路径设置 LSP。如果 RSVP 会话不成功,LSP 将无法按配置工作。

操作

要验证当前活动的 RSVP 会话,请从入口、中转和出口路由器输入以下命令:

示例输出 1
命令名称
示例输出 2
命令名称

意义

来自所有路由器的示例输出 1 显示,即使配置了 LSP R6-to-R1 ,也没有成功创建任何 RSVP 会话。

与示例输出 1 相反,为了说明正确的输出,当 RSVP 配置正确且 LSP 按配置遍历网络时,示例输出 2 显示了入口、中转和出口路由器的输出。 R1 并且 R6 两者都显示入口和出口 RSVP 会话,使用 LSP R1-to-R6和反向 LSP R6-to-R1。传输路由器 R3 显示两个传输 RSVP 会话。

验证 RSVP 邻居

目的

显示在交换 RSVP 数据包时动态获知的 RSVP 邻接方列表。获知邻居后,除非从路由器中删除 RSVP 配置,否则永远不会将其从 RSVP 邻居列表中删除。

操作

要验证 RSVP 邻居,请从入口、中转和出口路由器输入以下命令:

示例输出 1
命令名称
示例输出 2
命令名称

意义

示例输出 1 显示,R1并且R6各有一个 RSVP 邻居 。 R3 但是,字段中的值Up/Dn不同。R1的值1/0 R61/1为 和 的值为 ,表示 R1 是 的活动R3邻居,但R6不是。当上升计数比下降计数多 1 时,邻居处于活动状态;如果值相等,则邻居关闭。的值 R6 相等, 1/1表示邻居 R3 已关闭。

中转路由器 R3 知道两个邻居和 R1R6。该 Up/Dn 字段指示 是 R1 活动邻居且 R6 已关闭。此时无法确定问题是否与 或 有关 R3 R6因为两个邻居都不处于活动状态。

与示例输出 1 相反,为了说明正确的输出,示例输出 2 显示了传输路由器 R3 和出口路由器 R6之间的正确邻居关系。该 Up/Dn 字段显示向上计数比向下计数多 1, 1/0表示相邻方处于活动状态。

验证 RSVP 接口

目的

显示启用了 RSVP 的每个接口的状态,以确定发生配置错误的位置。

操作

要验证 RSVP 接口的状态,请从入口、中转和出口路由器输入以下命令:

示例输出 1
命令名称
示例输出 2
命令名称

意义

示例输出 1 显示,即使每个路由器的接口都已启动且 RSVP 处于活动状态,也没有预留(Active resv) 在任何路由器上。在此示例中,我们期望入口和出口路由器上至少有一个预留,中转路由器上至少有两个预留。

此外,配置中不包含传输路由器R3 上的接口so-0/0/3。包含此接口对于 LSP 的成功至关重要。

与示例输出 1 相比,为了说明正确的输出,示例输出 2 显示了具有活动预留的相关接口。

验证 RSVP 协议配置

目的

检查 RSVP 会话、接口、邻居并确定可能存在配置错误后,请验证 RSVP 协议配置。

操作

要验证 RSVP 配置,请从入口、中转和出口路由器输入以下命令:

示例输出
命令名称

意义

示例输出显示 RSVP 协议配置中缺少接口R3so-0/0/3.0。此接口对于 LSP 的正确运行至关重要。

采取适当的措施

问题

Description

根据您在调查中遇到的错误,您必须采取适当的措施来更正问题。在此示例中,路由器 R3 的配置中缺少接口。

解决方案

若要更正此示例中的错误,请按照下列步骤操作:

  1. 在传输路由器 R3 的配置中包含缺少的接口:

  2. 验证并提交配置:

示例输出
意义

示例输出显示,传输路由器R3 上缺少的接口so-0/0/3.0现在已正确包含在 [edit protocols rsvp] 层次结构级别。这导致 LSP 可能会出现。

再次验证 LSP

目的

采取适当的措施更正错误后,需要再次检查 LSP 以确认 MPLS 层中的问题已解决。

操作

要再次验证 LSP,请在入口、中转和出口路由器上输入以下命令:

示例输出 1
命令名称
示例输出 2
命令名称
示例输出 3
命令名称

意义

来自入口路由器 R1 的示例输出 1 显示 LSP R1-to-R6 具有活动路由 R6 ,并且状态为 up。

来自中转路由器 R3 的示例输出 2 显示有两个中转 LSP 会话,一个从 R1R6 ,另一个从 R6R1。两家 LSP 均已启动。

出口路由器 R6 的示例输出 3 显示 LSP 已启动,活动路由是主路由。LSP 现在正在沿预期路径遍历网络(从 R1R3R6),反向 LSP 从 R6R3R1

确定 LSP 统计信息

目的

显示有关 RSVP 对象的详细信息,以帮助诊断 LSP 问题。

操作

要验证 RSVP 对象,请输入以下 Junos OS CLI 操作模式命令:

示例输出

命令名称

意义

示例输出显示有一个入口和一个出口 RSVP 会话。入口会话的源地址为 10.0.0.1R1),会话已启动,只有一个活动路由。LSP 名称是 R1-to-R6 LSP 的主路径。

恢复标签 (100064) 由平稳重启路由器发送到其邻居以恢复转发状态。这可能是路由器在停机之前宣传的旧标签。

此会话使用固定筛选器 (FF) 预留样式 (Resv style)。由于这是入口路由器,因此没有入站标签。出站标签(由下一个下游路由器提供)为 100064

Time Left 字段提供 RSVP 会话中剩余的秒数,对象 Tspec 提供有关受控加载速率 (rate) 和最大突发大小 (peak)、保证传递选项的无限值 (Infbps) 以及小于 20 字节的数据包被视为 20 字节,而大于 1500 字节的数据包被视为 1500 字节的指示。

端口号是 IPv4 隧道 ID,而发送方/接收方端口号是 LSP ID。IPv4 隧道 ID 在 LSP 的生命周期内是唯一的,而发送方/接收方 LSP ID 可以更改,例如,使用 SE 样式保留。

PATH rcvfrom 字段包括路径消息的源。由于这是入口路由器,因此本地客户端发起了路径消息。

PATH sentto 字段包括路径消息目标 (10.1.13.2) 和传出接口 (so-0/0/2.0)。该 RESV rcvfrom 字段包括收到的 Resv 消息的来源 (10.1.13.2) 和传入接口 (so-0/0/2.0)。

RSVP 显式路由和路由记录值相同:10.1.13.210.1.36.2。在大多数情况下,显式路由和记录路由值是相同的。差异表示发生了某些路径重新路由,通常在快速重新路由期间。

这些 Total 字段表示入口、出口和中转 RSVP 会话的总数,总数等于上行和下行会话的总和。在此示例中,有一个入口会话、一个出口会话,没有中转 RSVP 会话。

验证网络中的 LSP 使用情况

目的

验证网络中入口和中转路由器上 LSP 的使用是否有效时,可以确定网络中的多协议标签交换 (MPLS) 是否存在问题。 图 12 介绍了本主题中使用的示例网络。

图 12: 用于验证 LSP 使用情况的 MPLS 拓扑用于验证 LSP 使用情况的 MPLS 拓扑

中的 图 12 MPLS 网络说明了具有由以下组件组成的 SONET 接口的纯路由器网络:

  • 全网状内部边界网关协议 (IBGP) 拓扑,使用 AS 65432

  • 在所有路由器上启用 MPLS 和资源预留协议 (RSVP)

  • 路由器 R1 和 R6 上的一种 send-statics 策略,允许在网络中播发新路由

  • 路由器 R1 和 R6 之间的 LSP

中显示的 图 12 网络是边界网关协议 (BGP) 全网状网络。由于路由反射器和联合不用于传播 BGP 获知的路由,因此每个路由器都必须与运行 BGP 的其他路由器进行 BGP 会话。

若要验证网络中的 LSP 使用情况,请执行以下步骤:

验证入口路由器上的 LSP

目的

您可以通过检查 inet.3 入口路由器上的路由表来验证 LSP 启动时的可用性。inet.3路由表包含每个 LSP 出口路由器的主机地址。此路由表在入口路由器上用于将 BGP 数据包路由到目标出口路由器。BGP 使用 inet.3 入口路由器上的路由表来帮助解析下一跃点地址。

操作

要验证入口路由器上的 LSP,请输入以下 Junos OS 命令行界面 (CLI) 操作模式命令:

示例输出
命令名称

意义

示例输出显示了 inet.3 路由表。默认情况下,只有 BGP 和 MPLS 虚拟专用网络 (VPN) 可以使用 inet.3 路由表解析下一跃点信息。路由表中 10.0.0.6列出了一个目标。此目标 (10.0.0.6) 由 RSVP 发出信号,并且是当前活动路径,如星号 ()* 所示。此路由的协议首选项为 7 ,与之关联的指标为 20。标签交换路径为 R1-to-R6, 通过接口 so-0/0/2.0,这是物理下一跃点中转接口。

通常,LSP 中的倒数第二个路由器要么弹出数据包的标签,要么将标签更改为值 0。如果倒数第二个路由器弹出顶部标签,并且 IPv4 数据包位于下方,则出口路由器将路由 IPv4 数据包,并查阅 IP 路由表 inet.0 以确定如何转发数据包。如果其他类型的标签(例如,由标签分发协议 (LDP) 隧道或 VPN 创建的标签,但不是 IPv4)位于顶部标签下方,则出口路由器不会检查 inet.0 路由表。相反,它会检查路由表以进行 mpls.0 转发决策。

如果倒数第二个路由器将数据包的标签更改为值 0,则出口路由器将去除 0 标签,表示随后出现 IPv4 数据包。数据包由 inet.0 路由表检查以进行转发决策。

当中转或出口路由器收到 MPLS 数据包时,MPLS 转发表中的信息用于确定 LSP 中的下一个中转路由器或此路由器是否为出口路由器。

当 BGP 解析下一跃点前缀时,它会检查 inet.0inet.3 路由表,寻找具有最低优先级的下一跃点;例如,RSVP 首选项 7 优先于 OSPF 首选项 10。RSVP 信号 LSP 用于到达 BGP 下一跳。当 BGP 下一跃点等于 LSP 出口地址时,这是默认值。通过 LSP 解析 BGP 下一跃点后,BGP 流量将使用 LSP 转发 BGP 传输流量。

验证中转路由器上的 LSP

目的

您可以通过检查 mpls.0 中转路由器上的路由表来验证 LSP 启动时的可用性。MPLS 维护 mpls.0 路由表,其中包含每个 LSP 中下一个标签交换路由器的列表。此路由表在传输路由器上用于将数据包沿 LSP 路由到下一个路由器。

操作

要验证转发路由器上的 LSP,请输入以下 Junos OS CLI 操作模式命令:

示例输出
命令名称

意义

来自中转路由器 R3 的示例输出以 MPLS 标签条目的形式显示路由条目,指示只有一个活动路由,即使有五个活动条目也是如此。

前三个 MPLS 标签是在 RFC 3032 中定义的保留 MPLS 标签。使用这些标签值接收的数据包将发送到路由引擎进行处理。标签 0 是 IPv4 显式空标签。标签 1 是 IP 路由器警报标签的 MPLS 等效项,标签 2 是 IPv6 显式空标签。

带有标签的两个 100064 条目用于相同的 LSP,有两个条目, R1-to-R6. 因为 MPLS 标头中的堆栈值可能不同。第二个条目 100064 (S=0)表示堆栈深度不是 1,数据包中包含其他标签值。相比之下,的第一个 100064 条目有一个推断的 S=1,它指示堆栈深度为 1,并使其成为数据包中的最后一个标签。双条目表示这是倒数第二个路由器。有关 MPLS 标签堆叠的更多信息,请参阅 RFC 3032, MPLS 标签堆栈编码。

传入标签是 MPLS 数据包的 MPLS 标头,由 RSVP 分配给上游邻居。瞻博网络路由器为 RSVP 流量工程 LSP 动态分配标签,范围从 100,000 到 1,048,575。

路由器分配从标签 100,000 开始的标签,增量为 16。标签分配的顺序为 100,000、100,016、100,032、100,048,依此类推。在分配的标签的末尾,标签编号从 100001 开始,以 16 为单位递增。瞻博网络保留标签用于各种用途。 表 1 列出了传入标签的各种标签范围分配。

表 1: MPLS 标签范围分配

传入标签

状态

0 通过 15

由 IETF 保留

16 通过 1023

保留用于静态 LSP 分配

1024 通过 9999

保留供内部使用(例如,CCC 标签)

10,000 通过 99,999

保留用于静态 LSP 分配

100,000 通过 1,048,575

保留用于动态标签分配

验证负载平衡是否正常工作

目的

配置负载均衡后,请检查流量是否在路径之间均衡负载。在本节中,命令输出反映了 负载平衡网络拓扑中显示的示例网络的负载平衡配置。这些 clear 命令用于将 LSP 和接口计数器重置为零,以便这些值反映负载平衡配置的操作。

操作

要验证接口和 LSP 之间的负载平衡,请在入口路由器上使用以下命令:

要验证接口和 LSP 之间的负载平衡,请在传输路由器上使用以下命令:

示例输出

命令名称

以下示例输出用于入口路由器 R1上的配置:

意义

入口路由器R1上命令的示例show configuration输出显示,使用策略语句正确lbpp配置了负载平衡。此外, lbpp 策略将导出到层次结构级别的转发表 [edit routing-options] 中。

示例输出

以下示例输出来自中转路由器 R2:

意义

在传输路由器上发出的命令的示例show route输出显示了两条等价路径(so-0/0/1并通过so-0/0/2) 网络到环路地址到 R0192.168.0.1)。R2 尽管右尖括号 (>) 通常表示活动路由,但在本例中则不然,如以下四个示例输出所示。

示例输出

以下示例输出来自中转路由器 R2:

意义

在传输路由器R2上发出的命令的示例monitor interface traffic输出显示,输出流量均匀分布在两个接口so-0/0/1so-0/0/2上。

示例输出

以下示例输出来自中转路由器 R2:

意义

在传输路由器R2上发出的命令的示例show mpls lsp statistics输出显示,输出流量在入口路由器R6上配置的四个 LSP 之间均匀分布。

示例输出

以下示例输出来自中转路由器 R2:

意义

在传输路由器R2ulstType上发出的命令的示例show route forwarding-table destination输出显示在字段中,指示负载平衡正在工作。字段中的两个单播 (ucst) 条目 Type 是 LSP 的两个下一跃点。

示例输出

以下示例输出来自中转路由器 R2:

意义

在中转路由器 R2 上发出的命令的示例 show route forwarding-table | find mpls 输出显示了 MPLS 路由表,其中包含此路由器接收并用于将数据包转发到下一跃点路由器的标签。此路由表主要用于中转路由器,以将数据包沿 LSP 路由到下一个路由器。启用协议后,MPLS 会自动输入列中的 Destination 前三个标签(标签 0、标签 1 和标签 2)。这些标签是在 RFC 3032 中定义的保留 MPLS 标签。标签 0 是 IPv4 显式空标签。标签 1 是 IP 路由器警报标签的 MPLS 等效项,标签 2 是 IPv6 显式空标签。

Destination 中的其余五个标签是路由器用于转发流量的非保留标签,最后一列 Netif显示用于发送标记流量的接口。对于非保留标签,第二 Type 列显示对匹配数据包执行的操作。在此示例中,所有非保留数据包都交换为传出数据包标签。例如,带有标签100112的数据包在被推出接口so-0/0/1.0之前会交换其标签100032

验证不均匀带宽负载平衡的操作

目的

当路由器在 LSP 路径之间执行不等价负载平衡时,命令将显示 show route detail 与正在使用的每个下一跃点关联的平衡字段。

操作

要验证 RSVP LSP 的负载是否不平衡,请使用以下 Junos OS CLI 操作模式命令:

示例输出

命令名称

意义

入口路由器 R1 的示例输出显示,流量是根据 LSP 带宽配置分配的,如字段 Balance: xx% 所示。例如, lsp1 配置了 10 Mbps 的带宽,如现场所示 Balance: 10%

使用 traceroute 命令验证 MPLS 标签

目的

您可以使用命令 traceroute 验证数据包是否通过 LSP 发送。

操作

要验证 MPLS 标签,请输入以下 Junos OS CLI 操作模式命令,其中 host-name 是远程主机的 IP 地址或名称:

示例输出 1

命令名称

示例输出 2

命令名称

意义

示例输出 1 显示 MPLS 标签用于通过网络转发数据包。输出中包含标签值 (MPLS Label=100048)、生存时间值 (TTL=1) 和堆栈位值 (S=1)。

MPLS Label 字段用于标识特定 LSP 的数据包。它是一个 20 位字段,最大值为 (2^^20-1),或大约 1,000,000。

TTL 值包含此 MPLS 数据包可以通过网络传输的跃点数限制 (1)。它在每个跃点递减,如果 TTL 值降至 1 以下,则丢弃数据包。

堆栈位值 (S=1) 的底部表示这是堆栈中的最后一个标签,并且此 MPLS 数据包有一个与之关联的标签。Junos OS 中的 MPLS 实现在 M 系列路由器上支持 3 的堆叠深度,在 T 系列平台上最多支持 5 的堆叠深度。有关 MPLS 标签堆叠的更多信息,请参阅 RFC 3032, MPLS 标签堆栈编码。

MPLS 标签显示在示例输出 1 中,因为 traceroute 命令被发出到 BGP 目标,该路由的 BGP 下一跃点是 LSP 出口地址。当 BGP 下一跃点等于 LSP 出口地址时,Junos OS 默认行为将 LSP 用于 BGP 流量。

示例输出 2 显示 MPLS 标签未显示在命令的 traceroute 输出中。如果 BGP 下一跃点不等于 LSP 出口地址,或者目标是 IGP 路由,则 BGP 流量不会使用 LSP。BGP 流量不使用 LSP,而是使用 IGP(在本例中为 IS-IS)到达出口地址 (R6)。

GMPLS 和 GRE 隧道故障排除

问题

Description

GMPLS 的逻辑控制通道必须是点对点链路,并且必须具有某种形式的 IP 可访问性。在广播接口上或当控制通道对等方之间存在多个跃点时,请对控制通道使用 GRE 隧道。有关 GMPLS 和 GRE 隧道的更多详细信息,请参阅 Junos MPLS 应用程序配置指南Junos 用户指南

为 GMPLS 控制通道配置 GRE 隧道不需要隧道 PIC。相反,请使用基于 gre 软件的接口,而不是基于 gr-fpc/pic/port 硬件的界面。

警告:

由于基于 gre 软件的接口的限制,GMPLS 控制通道是唯一受支持的基于软件 gre 的界面使用通道。明确不支持任何其他用途,并可能导致应用程序失败。

以下示例显示了基本 gre 接口配置。在这种情况下,隧道源是本地路由器的环路地址,目标地址是远程路由器的环路目标。具有隧道目标下一跃点的流量将使用隧道。通过接口的所有流量不会自动使用该隧道。只有将隧道目标作为下一跃点的流量才会使用隧道。

示例输出

示例输出

show interfaces 命令的以下示例输出显示了封装类型和标头、最大速度、通过逻辑接口的数据包、目标和逻辑地址。

以下是使用 GRE 隧道配置 GMPLS LSP 时的各种要求:

  • 数据通道必须在同一类型的接口上开始和结束。

  • 控制通道可以是在同一或不同接口类型上开始和结束的 GRE 隧道。

  • 必须在层次结构级别使用 [edit protocol ospf] 语句间接peer-interface peer-name配置 GRE 隧道。

  • 必须在和[edit protocols rsvp]层次结构级别禁用 [edit protocols ospf] GRE 接口。

  • 必须在 LMP 配置中正确定义数据和控制通道。

  • 可以选择使用语句禁用 no-cspf 受限最短路径优先 (CSPF)。

此案例重点说明 GRE 隧道端点配置不正确。但是,您可以使用类似的过程和命令来诊断其他 GRE 隧道问题。 图 13 说明了通过 GRE 接口建立隧道的 MPLS 的网络拓扑。

图 13: GMPLS 网络拓扑结构GMPLS 网络拓扑结构

中的 图 13 MPLS 网络拓扑显示了配置了由以下组件组成的 GRE 隧道的瞻博网络路由器:

  • 从入口路由器到出口路由器的严格 GMPLS LSP 路径。

  • 在入口路由器上,CSPF 使用 [edit protocol mpls label-switched-path lsp-name] 层次结构级别的语句禁用no-cspf

  • 所有路由器上 [edit protocols link-management] 层次结构级别的语句中的peer 流量工程链路和控制通道。

  • 在所有路由器上配置的 OSPF 和 OSPF 流量工程。

  • 对所有路由器上的 OSPF 和 RSVP 中的引用 peer-interface

  • R3之间的R2切换类型问题。

症状

如 和 图 13show rsvp session 命令的show mpls lsp输出所示,中显示的网络中的 LSP 已关闭,这些命令显示的信息非常相似。该 show mpls lsp 命令显示在路由器上配置的所有 LSP,以及所有传输和出口 LSP。该 show rsvp session 命令显示有关 RSVP 会话的摘要信息。您可以使用任一命令验证 LSP 的状态。在本例中,LSP gmpls-r1-to-r3 已关闭 (Dn)。

示例输出

原因

GMPLS LSP 出现问题的原因是在 GMPLS 数据通道的两端配置了不同的接口类型。

命令疑难解答

Junos OS 包含对问题进行故障排除时有用的命令。本主题简要介绍每个命令,后跟示例输出,并讨论与问题相关的输出。

在对 GMPLS 问题进行故障排除时,可以使用以下命令:

示例输出

使用转发路由器 R1 上的 show mpls lsp diverse 命令可显示有关在路由器上传输、终止和配置的所有 LSP 的详细信息。

意义

命令 show mpls lsp extensive 的示例输出显示一条错误消息(MPLS label allocation failure) 在输出的日志部分中。此 LSP 事件表示 MPLS 协议或 family mpls 语句配置不正确。当 LSP 事件前面有 IP 地址时,该地址通常是出现 MPLS 配置错误的路由器。在这种情况下,地址为 lo0R3) 的192.168.4.1路由器似乎出现了 MPLS 配置错误。

示例输出

使用“显示 rsvp 会话详细信息”命令可显示有关 RSVP 会话的详细信息。

意义

命令 show rsvp session detail 的示例输出显示 LSP gmpls-r1-to-r3 已关闭 (LSPstate: Dn)。路由记录不完整,表示显式路由 100.100.100.100 93.93.93.93存在问题。地址100.100.100.100 是 上的数据通道,93.93.93.93 地址是 上R2 so-0/0/0R3的数据通道。

示例输出

使用显示链路管理对等命令显示 MPLS 对等链路信息。

意义

命令 图 13 的示例 show link-management peer 网络中所有路由器的示例输出显示,所有控制通道都已启动并处于活动状态。对输出的详细分析显示了以下信息:

  • 对等方的名称, tester2 tester3,在相邻路由器上是相同的,以便于进行故障排除。

  • 对等方、 48428 for tester248429 for tester3的内部标识符。内部标识符是一个介于 0 到 64,000 之间的值范围。

  • 对等方的状态,可以是启动或关闭。在这种情况下,所有对等方都已启动。

  • 控制通道建立到的地址,例如 10.35.1.5.

  • 控制通道的状态,可以是打开、关闭或活动。

  • 由其对等方管理的流量工程链路,表示控制通道 gre.0 tester3管理。

示例输出

使用 show link-management te-link 命令可显示用于设置多协议标签交换 (MPLS) 流量工程转发路径的资源。

意义

在 网络中图 13的三个路由器上发出的命令的示例show link-management te-link 输出显示了分配给流量工程链路te-tester2te-tester3的资源。资源是 SONET 接口和 On 和 SONET 接口用于 LSP gmpls-r1-to-r3,如字段中Used所示Yes R2, tR1 so-0/0/1.so-0/0/0 但是,上的 SONET 接口so-0/0/1 已关闭 (Dn),不用于 LSP (Used No)。R3 需要进一步调查才能发现 SONET R3 接口关闭的原因。

样本奥图特

使用 show log filename 命令显示指定日志文件的内容。在这种情况下,日志文件rsvp.log是在 [编辑协议 rsvp traceoptions] 层次结构级别配置的。配置日志文件后,必须发出监视器启动 filename 命令以开始将消息记录到文件中。

注:

在管道 ( | ) 之后输入的选项在find Error 输出中搜索术语“错误”的实例。

示例输出

意义

命令show log rsvp.log 的出口路由器R3 的示例输出是从日志文件中获取的代码段。该代码段显示了 LSP gmpls-r1-to-r3. 的链路管理协议 (LMP) 资源请求 该请求的编码类型 (SDH/SONET) 有问题,表明 SONET 接口连接 R2R3时可能存在错误。需要进一步调查 和 R3 上的 R2 LMP 配置。

示例输出

使用 show configuration statement-path 命令可以显示特定的配置层次结构;在本例中为链路管理。

意义

show configuration protocols link-management 命令的中转路由器R2 和入口路由器R3的示例输出显示,两个路由器上的接口类型不同。分配给 te-tester3 中转路由器 R2 上的资源是 SONET 接口,而分配给 te-tester3 出口路由器 R3 上的资源是 ATM 接口。数据或控制通道两端的接口类型必须相同。在这种情况下,两端都应该是 SONET 或 ATM。

解决方案

解决方案

GMPLS LSP 两端不同接口或封装类型问题的解决方案是确保两端的接口类型相同。在这种情况下,ATM 接口已从 上的 R3链路管理配置中删除,而是配置了一个 SONET 接口。

以下命令说明了用于验证 GMPLS LSP 是否已启动并使用数据通道的正确配置和命令:

示例输出

意义

来自入口路由器R3show protocols link-managementshow mpls lsp show link-management te-link 命令的示例输出表明问题已解决。LMP 配置正确,并且 LSP gmpls-r1-to-r3 已启动并使用数据通道 so-0/0/1

总结

总之,GMPLS 数据通道的两端必须是相同的封装或接口类型。此案例说明了数据通道的正确配置。控制通道的原理相同。

路由器配置

显示网络中入口路由器配置的输出。在管道 ( | ) 之后输入的选项可no-more防止输出在输出长度超过终端屏幕长度时对输出进行分页。

示例输出

以下示例输出适用于入口路由器 R1:

示例输出

以下示例输出适用于中转路由器 R2:

示例输出

以下示例输出适用于出口路由器 R3:

确定 LSP 状态

显示有关资源预留协议 (RSVP) 对象和标签交换路径 (LSP) 历史记录的详细信息,以查明 LSP 的问题。

图 14 阐释了本主题中使用的网络拓扑。

图 14: MPLS 网络拓扑MPLS 网络拓扑

若要确定 LSP 状态,请按照下列步骤操作:

检查 LSP 的状态

目的

显示标签切换通道 (LSP) 的状态。

操作

要确定 LSP 状态,请在入口路由器上输入以下 Junos OS 命令行界面 (CLI) 操作模式命令:

示例输出
命令名称

意义

示例输出来自入口路由器 (R1),显示入口、出口和传输 LSP 信息。入口信息适用于源自此路由器的会话,出口信息适用于在此路由器上终止的会话,中转信息适用于通过此路由器传输的会话。

有一个从 (10.0.0.1) 到 (10.0.0.6) 的R1R6 入口路由。此路由当前已启动,并且是安装在路由表 (Rt) 中的活动路由。LSP R1-to-R6 是主路径 (P),而不是辅助路径,由星号 (*) 表示。到 的 R6 路由不包含命名路径 (ActivePath)。

有一个从 R6 到 的 R1出口 LSP 。已 State 启动,路由表中未安装路由。RSVP 预订样式 (Style) 由两部分组成。第一个是活动预留的数量 (1)。第二种是保留样式,即 FF (固定过滤器)。保留样式可以是 FFSE (共享显式)或 WF (通配符筛选器)。此 LSP 有三个传入标签 (Labelin),没有标签流出 (Labelout)。

没有中转 LSP。

有关检查 LSP 状态的详细信息,请参阅 使用分层 MPLS 故障排除模型的清单

显示有关 LSP 的广泛状态

目的

显示有关 LSP 的广泛信息,包括所有过去的状态历史记录以及 LSP 可能失败的原因。

操作

要显示有关 LSP 的广泛信息,请在入口路由器上输入以下 Junos OS CLI 操作模式命令:

示例输出
命令名称

意义

示例输出来自入口路由器 (R1),详细显示入口、出口和传输 LSP 信息,包括所有过去的状态历史记录和 LSP 失败的原因。入口信息适用于源自此路由器的会话,出口信息适用于在此路由器上终止的会话,中转信息适用于通过此路由器传输的会话。

有一个从 (10.0.0.1) 到 (10.0.0.6) 的R1R6 入口路由。此路由当前已启动 (State),其中一条路由正在使用 LSP, R1-to-R6。LSP 活动路径是主路径。即使 LSP 不包含 primarysecondary 关键字,路由器仍会将 LSP 视为主 LSP,表示如果 LSP 发生故障,默认情况下,路由器将尝试以 30 秒的间隔向非活动 LSP 发出信号。

负载平衡为 Random,这是默认值,表示在为 LSP 选择物理路径时,路由器会在跃点数相等的等价路径中随机选择。可以配置的其他选项包括 Least-fillMost-fillLeast-fill 将 LSP 放在跃点数相等的等价路径中利用率最低的链路上。将 LSP 放在共享相等跃点数的等价路径中利用率最高的链路上。 Most-fill 利用率基于可用带宽的百分比。

Encoding type 字段显示通用 MPLS (GMPLS) 信令参数 (Packet),指示 IPv4. 是 Switching typePacket,通用有效负载标识符 (GPID) 为 IPv4。

主路径是活动路径,由星号 (*) 表示。LSP 的状态为 Up

显式路由对象 (ERO) 包括 LSP 遵循的物理路径的受限最短路径优先 (CSPF) 成本 (20)。存在 CSPF 指标表示这是 CSPF LSP。缺少 CSPF 指标表示不存在 CSPF LSP。

该字段 10.1.13.2 S 指示实际的 ERO。RSVP 信令消息进入严格( 10.1.13.2 作为下一跃点)并在严格完成 10.1.36.2 。当 LSP 是 CSPF LSP 时,所有 ERO 地址都是严格跃点。松散跃点只能显示在无 CSPF LSP 中。

收到的记录路由对象 (RRO) 具有以下保护标志:

  • 0x01- 提供本地保护。此节点下游的链路受本地修复机制保护。仅当在相应路径消息的 SESSION_ATTRIBUTE 对象中设置了本地保护标志时,才能设置此标志。

  • 0x02- 使用中的本地保护。正在使用本地修复机制来维护此隧道(通常是因为之前路由的链路中断)。

  • 0x04— 带宽保护。下游路由器具有备份路径,为受保护区域提供与受保护 LSP 相同的带宽保证。

  • 0x08—节点保护。下游路由器具有备份路径,可针对相应路径部分上的链路和节点故障提供保护。如果下游路由器只能设置链路保护备份路径,则会设置“可用本地保护”位,但会清除“节点保护”位。

  • 0x10- 抢占挂起。如果流量工程 LSP 正在进行挂起的抢占,抢占节点将设置此标志。这向此 LSP 的入口标签边缘路由器 (LER) 指示应重新路由。

有关保护标志的详细信息,请参阅 Junos 路由协议和策略命令参考。

该字段 10.1.13.2.10.1.36.2 是实际接收的记录路由 (RRO)。请注意,字段中的地址与字段中的ERO地址RRO匹配。这是 CSPF LSP 的正常情况。如果 RRO 和 ERO 地址与 CSPF LSP 不匹配,则 LSP 必须重新路由或绕行。

编号为 91 到 42 的行包含历史记录日志中的 49 个最新条目。每一行都有时间戳。最近的条目具有最大的日志历史记录编号,并且位于日志的顶部,指示第 91 行是最新的历史记录日志条目。读取日志时,请从最早的条目 () 开始到最近的条目 (4291)。

历史记录日志于 7 月 10 日启动,并显示以下活动顺序:LSP 被选为活动,发现已关闭,MPLS 标签分配多次失败,多次被删除,由于 ResvTear 而被抢占,被取消选择为活动,并被清除。最后,路由器计算了一个 CSPF ERO,发出呼叫信号,LSP 提出了列出的 RRO(第 90 行),并被列为活动状态。

有关错误消息的详细信息,请参阅 Junos MPLS 网络操作指南日志参考。

显示的入口 LSP 总数为 11 上行和 0 下行。字段中的数字 Up 加上字段中的数字 Down 应等于总数。

有一个从 R6 到 的 R1出口 LSP 会话。已 State 启动,路由表中未安装路由。RSVP 预订样式 (Style) 由两部分组成。第一个是活动预留的数量 (1)。第二种是保留样式,即 FF (固定过滤器)。保留样式可以是 FFSE (共享显式)或 WF (通配符筛选器)。此 LSP 有三个传入标签 (Labelin),没有标签流出 (Labelout)。

没有中转 LSP。

有关检查 LSP 状态的详细信息,请参阅 使用分层 MPLS 故障排除模型的清单

检查是否发送和接收 RSVP 路径消息

目的

是否存在各种 RSVP 消息有助于确定网络中的多协议标签交换 (MPLS) 是否存在问题。例如,如果输出中出现没有 Resv 消息的路径消息,则可能表示未创建标签交换路径 (LSP)。

操作

要检查是否发送和接收了 RSVP 路径消息,请输入以下 Junos OS 命令行界面 (CLI) 操作模式命令:

示例输出

命令名称

意义

示例输出显示发送和接收的 RSVP 消息。RSVP 路径消息的总数为 11,4532 条已发送,80,185 条已接收。在过去 5 秒内,未发送或接收任何消息。

共发送了 5 PathErr 条消息,收到了 10 条消息。发生路径错误(通常是由于路径消息中的参数问题)时,路由器会向发出路径消息的发送方发送单播 PathErr 消息。在这种情况下, R1 发送了至少 10 条带有错误的路径消息,如已收到的 10 条 PathErr 消息 R1 所示。下游路由器发送了 R1 5 条路径消息,但出现错误,如已发送的 5 条 PathErr 消息 R1 所示。PathErr 消息的传输方向与路径消息相反。

总共发送了 12 PathTear 条消息,收到了 6 条消息,最后 5 秒内没有一条消息。与 PathErr 消息相反,PathTear 消息的传输方向与路径消息相同。由于同时发送和接收路径消息,因此也会发送和接收 PathTear 消息。但是,如果仅发送路径消息,则输出中仅显示发送的 PathTear 消息。

总共发送了 80,515 条具有固定过滤器 (FF) 保留样式的预订 (Resv) 消息,并收到了 111,476 条消息,过去 5 秒内没有收到任何消息。预留样式表示 FF 在每个会话中,每个接收方与每个上游发送方建立自己的预留,并列出所有选定的发送方。不会发送或接收通配符筛选器 (WF) 或共享显式 (SE) 保留样式的消息。有关 RSVP 预留样式的详细信息,请参阅 Junos MPLS 应用程序配置指南

不发送或接收其他 RSVP 消息类型。有关 ResvErr、ResvTear 和 Resvconf 消息类型的信息,请参阅 Junos MPLS 应用程序配置指南

确认和摘要刷新 (SRefresh) 消息不会显示在输出中。确认和摘要刷新消息在 RFC 2961 中定义,是 RSVP 扩展的一部分。确认消息用于减少网络中的 RSVP 控制流量。

总共发送了 915,851 条你好消息,接收了 915,881 条消息,在过去 5 秒内没有发送或接收任何消息。RSVP 你好间隔为 9 秒。如果在过去 5 秒内发送或接收了多条你好消息,则表示有多个接口支持 RSVP。

EndtoEnd RSVP 消息是不用于 RSVP 流量工程的旧版 RSVP 消息。仅当 RSVP 转发由虚拟专用网络 (VPN) 客户发出的旧版 RSVP 消息以通过主干网传输到 VPN 中的其他站点时,这些计数器才会递增。它们被称为端到端消息,因为它们用于网络的另一端,并且仅在提供商网络的两端有意义。

Errors输出部分显示有关有错误的 RSVP 数据包的统计信息。总共有 15 PathErr to client 个数据包发送到路由引擎。总数合并了发送和接收 PathErr 的数据包。