为流量工程配置 OSPF 支持
OSPF 对流量工程的支持
流量工程允许您控制数据包所遵循的路径,绕过使用路由表的标准路由模型。流量工程将流量从拥塞链路移动到自动计算的基于目标的最短路径不会选择的备用链路。
为了帮助向信息流工程和 MPLS 提供有关网络拓扑和加载的信息,OSPF 的 Junos OS 实施中添加了扩展。在路由设备上启用信息流工程后,您可以启用 OSPF 信息流工程支持。为 OSPF 启用信息流工程时,最短路径优先 (SPF) 算法会考虑在 MPLS 下配置的各种标签交换路径 (LSP),并将 OSPF 配置为生成携带信息流工程参数的不透明链路状态通告 (LSA)。这些参数用于填充信息流工程数据库。信息流工程数据库专门用于计算在物理拓扑中放置 LSP 的显式路径。受限最短路径优先 (CSPF) 算法使用信息流工程数据库来计算 MPLS LSP 采用的路径。RSVP 使用此路径信息设置 LSP 并为其保留带宽。
默认情况量工程支持处于禁用状态。要启用流量工程,请包含 流量工程 语句。您还可以配置以下 OSPF 信息流工程扩展:
通告未编号接口 -(仅限 OSPFv2)通告链路本地流量工程 LSA 数据包中的链路本地标识符。如果 RSVP 能够按照 RFC 3477“ 资源预留协议 - 流量工程 (RSVP-TE) 中的未编号链路信令”中定义的方式向未编号接口发出信号,则无需包含此语句。
可信度协议首选项 -(仅限 OSPFv2)为信息流工程数据库中的 OSPF 路由分配可信度值。默认情况下,Junos OS 优先选择信息流工程数据库中的 OSPF 路由,而不是其他内部网关协议 (IGP) 路由,即使另一个 IGP 的路由配置了较低(即首选更高的优先级值)。信息流工程数据库为每个 IGP 分配一个可信度值,并优先选择可信度值最高的 IGP 路由。在 Junos OS 9.4 及更高版本中,您可以将 OSPF 配置为考虑协议首选项,以确定信息流工程数据库可信度值。当使用协议首选项来确定可信度值时,信息流工程数据库不会自动首选 OSPF 路由,具体取决于您的配置。
ignore-lsp-metrics — 在 OSPF 流量工程快捷方式计算中或在通过 RSVP LSP 配置 LDP 时忽略 RSVP LSP 指标。此选项可避免 OSPF 和 RSVP 之间的相互依赖,从而消除用于隧道流量的 RSVP 指标不是最新的时间段。此外,如果您使用 RSVP 进行流量工程,则可以同时运行 LDP 以消除核心中外部路由的分布。LDP 建立的 LSP 通过 RSVP 建立的 LSP 建立隧道。LDP 有效地将流量工程 LSP 视为单跳。
组播-rpf-路由 -(仅限 OSPFv2)在组播路由表 (inet.2) 中安装单播 IPv4 路由(不是 LSP),以进行组播反向路径转发 (RPF) 检查。 inet.2 路由表由用于组播 RPF 查找的单播路由组成。RPF 是一种反欺骗机制,用于检查数据包是否进入同时将数据发送回数据包源的接口。
无拓扑 -(仅限 OSPFv2)禁用链路状态拓扑信息的传播。如果禁用,流量工程拓扑信息将不再分布在 OSPF 区域内。
快捷方式 — 配置 IGP 快捷方式,这允许 OSPF 使用 LSP 作为下一跃点,就好像它是从入口路由设备到出口路由设备的逻辑接口一样。在入口路由设备上 [编辑协议 mpls 标签交换路径lsp-path-name] 层次结构级别的 to 语句中指定的地址必须与出口路由设备的路由器 ID 匹配,LSP 才能用作出口路由设备的直接链路并用作 OSPF SPF 计算的输入。以这种方式使用时,LSP 与异步传输模式 (ATM) 和帧中继虚拟电路 (VC) 没有什么不同,只是 LSPS 仅传输 IPv4 流量。
OSPFv2 在 inet.0 路由表中安装 IPv4 路由的前缀,默认情况下,LSP 安装在 inet.3 路由表中。
用于快捷方式的 OSPFv3 LSP 继续使用 IPv4 发出信号。但是,默认情况下,通过 OSPFv3 计算的快捷 IPv6 路由将添加到 inet6.3 路由表中。默认行为是 BGP 仅在其计算中使用 LSP。如果配置 MPLS,以便 BGP 和 IGP 都使用 LSP 转发流量,则通过 OSPFv3 计算的 IPv6 快捷方式路由将添加到 inet6.0 路由表中。
注意:尽可能使用 OSPF IGP 快捷方式,而不是流量工程快捷方式。
lsp-metric-info-summary— 在摘要 LSA 中播发 LSP 指标,以将 LSP 视为链路。此配置允许网络中的其他路由设备使用此 LSP。为此,您需要配置 MPLS 和 OSPF 流量工程,以便在汇总 LSA 中通告 LSP 指标。
在路由设备上启用信息流工程时,您还可以配置专门用于信息流工程的 OSPF 指标。流量工程指标用于注入信息流工程数据库的信息。其值不会影响正常的 OSPF 转发。
示例:启用 OSPF 流量工程支持
此示例说明如何启用 OSPF 流量工程支持,以便在摘要链路状态通告 (LSA) 中通告标签交换路径 (LSP) 指标。
要求
准备工作:
配置设备接口。请参阅 安全设备的接口用户指南。
根据您的网络要求配置 BGP。请参阅 BGP 用户指南
根据您的网络要求配置 MPLS。请参阅 MPLS 应用程序用户指南。
概述
您可以将 OSPF 配置为将 LSP 视为链路,并让网络中的其他路由设备使用此 LSP。为此,您可以配置 MPLS 和 OSPF 流量工程,以便在汇总 LSA 中通告 LSP 指标。
在此示例中,区域 0.0.0.0 中有四个路由设备,您希望 OSPF 将名为 R1 到 R4(从入口设备 R1 到出口设备 R4)的 LSP 视为链路。
对于 OSPF,您可以通过包含 traffic-engineering
语句在该区域的所有四个路由设备上启用流量工程。此配置可确保最短路径优先 (SPF) 算法考虑在 MPLS 下配置的 LSP,并将 OSPF 配置为生成承载信息流工程参数的 LSA。通过在入口设备 R1 上包含可选 shortcuts lsp-metric-into-summary
语句,您可以进一步确保 OSPF 使用 MPLS LSP 作为下一跃点,并在汇总 LSA 中通告 LSP 指标。
对于 MPLS,您可以启用流量工程,以便 MPLS 通过包含语句在 BGP 和 IGP 目标上执行流量工程,并通过在 traffic-engineering bgp-igp
入口设备 R1 上包含 label-switched-path lsp-path-name to address
语句来包括名为 R1 到 R4 的 LSP。入口设备 R1 上的语句中 to
指定的地址必须与出口设备 R4 的路由器 ID 匹配,LSP 才能用作出口路由设备的直接链路,并用作 OSPF SPF 计算的输入。在此示例中,出口设备 R4 的路由器 ID 为 10.0.0.4。
配置
以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅CLI 用户指南中的修改 Junos OS 配置。
程序
CLI 快速配置
要快速启用 OSPF 流量工程支持以在汇总 LSA 中通告 LSP 指标,请复制以下命令并将其粘贴到 CLI 中。
R1 上的配置:
[edit] set routing-options router-id 10.0.0.1 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 traffic-engineering shortcuts lsp-metric-into-summary set protocols mpls traffic-engineering bgp-igp set protocols mpls label-switched-path R1-to-R4 to 10.0.0.4
R2 上的配置:
[edit] set routing-options router-id 10.0.0.2 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 traffic-engineering
R3 上的配置:
[edit] set routing-options router-id 10.0.0.3 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 traffic-engineering
R4 上的配置:
[edit] set routing-options router-id 10.0.0.4 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 traffic-engineering
分步过程
要启用 OSPF 流量工程支持以在汇总 LSA 中通告 LSP 指标,请执行以下操作:
配置路由器 ID。
[edit] user@R1# set routing-options router-id 10.0.0.1
[edit] user@R2# set routing-options router-id 10.0.0.2
[edit] user@R3# set routing-options router-id 10.0.0.3
[edit] user@R4# set routing-options router-id 10.0.0.4
配置 OSPF 区域并添加接口。
注意:要指定 OSPFv3,请在层次结构级别包含
ospf3
该语句[edit protocols]
。[edit] user@R1# set protocols ospf area 0.0.0.0 interface all user@R1# set protocols ospf area 0.0.0.0 interface fxp0.0 disable
[edit] user@R2# set protocols ospf area 0.0.0.0 interface all user@R2# set protocols ospf area 0.0.0.0 interface fxp0.0 disable
[edit] user@R3# set protocols ospf area 0.0.0.0 interface all user@R3# set protocols ospf area 0.0.0.0 interface fxp0.0 disable
[edit] user@R4# set protocols ospf area 0.0.0.0 interface all user@R4# set protocols ospf area 0.0.0.0 interface fxp0.0 disable
启用 OSPF 流量工程。
[edit] user@R1# set protocols ospf traffic-engineering shortcuts lsp-metric-into-summary
[edit] user@R2# set protocols ospf traffic-engineering
[edit] user@R3# set protocols ospf traffic-engineering
[edit] user@R4# set protocols ospf traffic-engineering
在设备 R1 上,配置 MPLS 流量工程。
[edit ] user@R1#
set protocols mpls traffic-engineering bgp-igp
user@R1#set protocols mpls label-switched-path R1-to-R4 to 10.0.0.4
如果完成设备配置,请提交配置。
[edit] user@host# commit
结果
通过输入 show routing-options
、 show protocols ospf
和 show protocols mpls
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
R1 的输出:
user@host# show routing-options router-id 10.0.0.1;
user@host# show protocols ospf traffic-engineering { shortcuts lsp-metric-into-summary; } area 0.0.0.0 { interface all; interface fxp0.0 { disable; } }
user@host# show protocols mpls traffic-engineering bgp-igp; label-switched-path R1-to-R4 { to 10.0.0.4; }
R2 的输出:
user@host# show routing-options router-id 10.0.0.2;
user@host# show protocols ospf traffic-engineering; area 0.0.0.0 { interface all; interface fxp0.0 { disable; } }
R3 的输出:
user@host# show routing-options router-id 10.0.0.3;
user@host# show protocols ospf traffic-engineering; area 0.0.0.0 { interface all; interface fxp0.0 { disable; } }
R4 的输出:
user@host# show routing-options router-id 10.0.0.4;
user@host# show protocols ospf traffic-engineering; area 0.0.0.0 { interface all; interface fxp0.0 { disable; } }
要确认 OSPFv3 配置, show routing-options
请输入 、 show protocols ospf3
和 show protocols mpls
命令。
验证
确认配置工作正常。
验证 OSPF 的流量工程功能
目的
验证是否已为 OSPF 启用流量工程。默认情况量工程处于禁用状态。
行动
在操作模式下,为 OSPFv2 输入 show ospf overview
命令,然后为 OSPFv3 输入 show ospf3 overview
命令。
验证信息流工程数据库中的 OSPF 条目
目的
验证信息流工程数据库中的 OSPF 信息。协议字段显示 OSPF 和获知信息的区域。
行动
在操作模式下,输入 show ted database
命令。
示例:为特定 OSPF 接口配置流量工程指标
此示例说明如何配置用于流量工程的 OSPF 指标值。
要求
准备工作:
配置设备接口。请参阅 安全设备的接口用户指南。
针对流量工程配置 OSPF。请参阅 示例:启用 OSPF 流量工程支持
概述
您可以配置专门用于流量工程的 OSPF 指标。要修改流量工程指标的默认值,请包含 te-metric
该语句。OSPF 流量工程指标不会影响正常的 OSPF 转发。默认情况量工程指标的值与 OSPF 指标的值相同。范围为 1 到 65,535。
此示例在区域 0.0.0.0 中的 OSPF 接口 fe-0/1/1 上配置 OSPF 流量工程指标。
配置
CLI 快速配置
要为特定接口快速配置 OSPF 流量工程指标,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到 [edit] 层次结构级别的 CLI 中,然后从配置模式进入 commit
。
[edit] set protocols ospf area 0.0.0.0 interface fe-0/1/1 te-metric 10
程序
分步过程
要为仅用于流量工程的特定接口配置 OSPF 流量工程指标:
创建 OSPF 区域。
注意:要指定 OSPFv3,请在层次结构级别包含
ospf3
该语句[edit protocols]
。[edit] user@host# edit protocols ospf area 0.0.0.0
配置 OSPF 网段的流量工程指标。
[edit protocols ospf area 0.0.0.0] user@host
set interface fe-0/1/1 te-metric 10
如果完成设备配置,请提交配置。
[edit protocols ospf area 0.0.0.0] user@host# commit
结果
输入命令确认 show protocols ospf
您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
user@host# show protocols ospf area 0.0.0.0 { interface fe-0/1/1.0 { te-metric 10; } }
要确认 OSPFv3 配置,请输入 show protocols ospf3
命令。
OSPF 被动流量工程模式
通常,内部路由协议(如 OSPF)不会在自治系统之间的链路上运行。但是,要使 AS 间流量工程正常运行,必须在自治系统 (AS) 内提供有关 AS 间链路的信息,特别是远程接口上的地址。此信息通常不包含在外部 BGP (EBGP) 可访问性消息或 OSPF 路由通告中。
要在 AS 中泛洪此链路地址信息并使其可用于流量工程计算,您必须在每个 AS 间接口上为流量工程配置 OSPF 被动模式。您还必须提供远程地址,以便 OSPF 进行分发,并将其包含在信息流工程数据库中。OSPF 流量工程模式允许 MPLS 标签交换路径 (LSP) 动态发现 OSPF AS 边界路由器,并允许路由器跨多个自治系统建立流量工程 LSP。
示例:配置 OSPF 被动信息流工程模式
此示例说明如何在 AS 间接口上为流量工程配置 OSPF 被动模式。EBGP 对等方之间的 AS 边界路由器链路必须是直接连接的链路,并且必须配置为被动信息流工程链路。
要求
准备工作:
配置设备接口。请参阅 安全设备的接口用户指南。
根据您的网络要求配置 BGP。请参阅 BGP 用户指南。
根据您的网络要求配置 LSP。请参阅 MPLS 应用程序用户指南。
为 OSPF 网络中的设备配置路由器标识符。请参阅 示例:配置 OSPF 路由器标识符。
控制 OSPF 指定的路由器选择。请参阅 示例:控制 OSPF 指定路由器选择
配置单区域 OSPF 网络。请参阅 示例:配置单区域 OSPF 网络。
配置多区域 OSPF 网络。请参阅 示例:配置多区域 OSPF 网络。
概述
您可以在 AS 间接口上为流量工程配置 OSPF 被动模式。用于 OSPF 被动流量工程链路远程节点的地址必须与用于 EBGP 链路的地址相同。在此示例中,您将区域 0.0.0.1 中的接口 so-1/1/0 配置为 AS 间链路,以使用 AS 内的 OSPF 分发信息流工程信息,并包括以下设置:
被动 — 在接口上通告直接接口地址,而不在该接口上实际运行 OSPF。被动接口是指地址信息在 OSPF 中通告为内部路由,但不在其上运行协议的接口。
信息流工程 — 在 OSPF 被动信息流工程模式下配置接口,以启用 OSPF AS 边界路由器的动态发现。默认情况下,OSPF 被动信息流工程模式处于禁用状态。
远程节点 ID — 指定 AS 间链路远端的 IP 地址。在此示例中,远程 IP 地址为 192.168.207.2。
配置
要为流量工程快速配置 OSPF 被动模式,请复制以下命令,删除所有换行符,然后将其粘贴到 CLI 中。
[edit] set protocols ospf area 0.0.0.1 interface so-1/1/0 passive traffic-engineering remote-node-id 192.168.207.2
程序
分步过程
要配置 OSPF 被动信息流工程模式,请执行以下操作:
创建 OSPF 区域。
注意:要指定 OSPFv3,请在层次结构级别包含
ospf3
该语句[edit protocols]
。[edit] user@host# set protocols ospf area 0.0.0.1
将接口 so-1/1/0 配置为为信息流工程配置的无源接口,并在 AS 间链路的远端指定 IP 地址。
[edit protocols ospf area 0.0.0.1] user@host# set interface so-1/1/0 passive traffic-engineering remote-node-id 192.168.207.2
如果完成设备配置,请提交配置。
[edit protocols ospf] user@host# commit
结果
输入命令确认 show protocols ospf
您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
user@host# show protocols ospf area 0.0.0.1 { interface so-1/1/0.0 { passive { traffic-engineering { remote-node-id 192.168.207.2; } } } }
要确认 OSPFv3 配置,请输入 show protocols ospf3
命令。
将标签交换路径播发到 OSPFv2 中
在网络中配置标签交换路径 (LSP) 的一个主要原因是控制网络上两点之间的最短路径。您可以将 LSP 作为点对点链路播发到 OSPFv2 中,以便所有参与的路由设备在执行 SPF 计算时都能考虑 LSP。播发包含本地地址(LSP 的 起始 地址)、远程地址(LSP 的 收件人 地址)和具有以下优先级的指标:
使用 OSPFv2 下定义的 LSP 指标。
使用为 MPLS 下的标签交换路径配置的 LSP 指标。
如果未配置上述任何一项,请使用默认 OSPFv2 衡量指标 1。
如果要在 SPF 计算中使用在 OSPFv2 中宣布的 LSP,则必须存在反向链路(即,从 LSP 尾端到前端的链路)。为此,可以反向配置 LSP,然后在 OSPFv2 中通告该 LSP。
示例:将标签交换路径播发到 OSPFv2 中
此示例说明如何将 LSP 播发到 OSPFv2。
要求
开始之前,请配置设备接口。请参阅 Junos OS 网络接口库了解路由设备。
概述
要将 LSP 播发到 OSPFv2,请定义 LSP 并将 OSPFv2 配置为使用 LSP 路由流量。通过执行此操作,您可以使用 LSP 控制网络上两点之间的最短路径。如果您希望让 OSPF 流量沿 LSP 路由,而不是让 OSPF 使用默认的尽力而为路由,则可以选择执行此操作。
在此示例中,您将配置以下内容以将 LSP 播发到 OSPFv2:
边界网关协议
对于所有路由设备,配置本地 AS 编号 65000,并定义将指定的 BGP 系统识别为对等方的 IBGP 组。所有成员都是本地 AS 的内部成员,因此您可以使用完整的对等方列表配置内部组。还包括对等 AS 组,该组与您配置的本地 AS 编号相同。
MPLS
对于所有路由设备,在每个传输逻辑接口上配置协议系列,并在除管理接口 (fxp0.0) 之外的所有接口上启用 MPLS。指定 mpls 协议家族类型。
回复
对于所有路由设备,请在除管理接口 (fxp0.0) 之外的所有接口上启用 RSVP。在此网络中的设备上启用 RSVP,以确保接口可以向 LSP 发出信号。
OSPFv2
对于所有路由设备,请使用环路地址分配路由器 ID,以管理方式将所有设备分组到 OSPF 区域 0.0.0.0,将参与 OSPF 的所有接口添加到区域 0.0.0.0,并在管理接口 (fxp0.0) 上禁用 OSPF。
标签交换路径
在入口路由设备 R1(LSP 的起点(或头端)上,配置具有显式路径的 LSP。显式路径指示 LSP 必须转到路径中的下一个指定 IP 地址,而不遍历其他节点。在此示例中,您将创建名为 R1 到-R6 的 LSP,并指定出口路由设备 R6 的 IP 地址。
在 OSPFv2 中播发 LSP
在入口路由设备 R1 上,您可以将 LSP 作为点对点链路播发到 OSPFv2。您可以选择分配指标,使 LSP 成为到目标的或多或少首选路径。
拓扑学
图 1 显示了一个示例网络拓扑,其中包含以下内容:
在所有路由设备上配置 BGP,有一个本地自治系统 (AS) 65000,其中包含三个路由设备:
R1 — 设备 R1 是路由器 ID 为 10.0.0.1 的入口设备。接口 so-0/0/2 连接到设备 R3。
R3 — 设备 R3 是路由器 ID 为 10.0.0.3 的中转设备。接口 so-0/0/2 连接到设备 R1,接口 so-0/0/3 连接到设备 R6。
R6 — 设备 R6 是路由器 ID 为 10.0.0.6 的出口设备。接口 so-0/0/3 连接到设备 R3。
OSPFv2 在所有路由设备上配置。
所有路由设备上都启用了 MPLS 和 RSVP。
设备 R1 上配置了一个 RSVP 信号 LSP。
配置
以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 CLI 用户指南中的修改 Junos OS 配置。
要将设备配置为将 LSP 播发到 OSPFv2,请执行以下操作:
配置 BGP
CLI 快速配置
要在每台路由设备上快速配置 BGP,请复制以下命令并将其粘贴到 CLI 中。
设备 R1 上的配置:
[edit] set routing-options autonomous-system 65000 set protocols bgp group internal-peers type internal set protocols bgp group internal-peers local-address 10.0.0.1 set protocols bgp group internal-peers neighbor 10.0.0.3 set protocols bgp group internal-peers neighbor 10.0.0.6 set protocols bgp group internal-peers peer-as 65000
设备 R3 上的配置:
[edit] set routing-options autonomous-system 65000 set protocols bgp group internal-peers type internal set protocols bgp group internal-peers local-address 10.0.0.3 set protocols bgp group internal-peers neighbor 10.0.0.1 set protocols bgp group internal-peers neighbor 10.0.0.6 set protocols bgp group internal-peers peer-as 65000
设备 R6 上的配置:
[edit] set routing-options autonomous-system 65000 set protocols bgp group internal-peers type internal set protocols bgp group internal-peers local-address 10.0.0.6 set protocols bgp group internal-peers neighbor 10.0.0.1 set protocols bgp group internal-peers neighbor 10.0.0.3 set protocols bgp group internal-peers peer-as 65000
分步过程
要配置 BGP,请执行以下操作:
在每个路由设备上,配置本地 AS 编号。
[edit] user@R1# set routing-options autonomous-system 65000
[edit] user@R3# set routing-options autonomous-system 65000
[edit] user@R6# set routing-options autonomous-system 65000
在每个路由设备上,配置内部 BGP 邻居连接。
[edit] user@R1# set protocols bgp group internal-peers type internal user@R1# set protocols bgp group internal-peers local-address 10.0.0.1 user@R1# set protocols bgp group internal-peers neighbor 10.0.0.3 user@R1# set protocols bgp group internal-peers neighbor 10.0.0.6 user@R1# set protocols bgp group internal-peers peer-as 65000
[edit] user@R3# set protocols bgp group internal-peers type internal user@R3# set protocols bgp group internal-peers local-address 10.0.0.3 user@R3# set protocols bgp group internal-peers neighbor 10.0.0.1 user@R3# set protocols bgp group internal-peers neighbor 10.0.0.6 user@R3# set protocols bgp group internal-peers peer-as 65000
[edit] user@R6# set protocols bgp group internal-peers type internal user@R6# set protocols bgp group internal-peers local-address 10.0.0.6 user@R6# set protocols bgp group internal-peers neighbor 10.0.0.1 user@R6# set protocols bgp group internal-peers neighbor 10.0.0.3 user@R6# set protocols bgp group internal-peers peer-as 65000
如果完成设备配置,请提交配置。
[edit] user@host# commit
结果
输入show routing-options
show protocols bgp
和命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
R1 上的配置:
user@R1# show routing-options autonomous-system 65000;
user@R1# show protocols bgp group internal-peers { type internal; local-address 10.0.0.1; peer-as 65000; neighbor 10.0.0.3; neighbor 10.0.0.6; }
R3 上的配置:
user@R3# show routing-options autonomous-system 65000;
user@R3# show protocols bgp group internal-peers { type internal; local-address 10.0.0.3; peer-as 65000; neighbor 10.0.0.1; neighbor 10.0.0.6; }
R6 上的配置:
user@R6# show routing-options autonomous-system 65000;
user@R6# show protocols bgp group internal-peers { type internal; local-address 10.0.0.6; peer-as 65000; neighbor 10.0.0.1; neighbor 10.0.0.3; }
配置 MPLS
CLI 快速配置
要在 AS 65000 中的所有路由设备上快速配置 MPLS,请复制以下命令并将其粘贴到 CLI 中。
设备 R1 上的配置:
[edit] set interfaces so-0/0/2 unit 0 family mpls set protocols mpls interface all set protocols mpls interface fxp0.0 disable
设备 R3 上的配置:
[edit] set interfaces so-0/0/2 unit 0 family mpls set interfaces so-0/0/3 unit 0 family mpls set protocols mpls interface all set protocols mpls interface fxp0.0 disable
设备 R6 上的配置:
[edit] set interfaces so-0/0/3 unit 0 family mpls set protocols mpls interface all set protocols mpls interface fxp0.0 disable
分步过程
要配置 MPLS,请执行以下操作:
配置 MPLS 的中转接口。
[edit ] user@R1# set interfaces so-0/0/2 unit 0 family mpls
[edit ] user@R3# set interfaces so-0/0/2 unit 0 family mpls user@R3# set interfaces so-0/0/3 unit 0 family mpls
[edit ] user@R6# set interfaces so-0/0/3 unit 0 family mpls
启用 MPLS。
[edit ] user@R1# set protocols mpls interface all
[edit ] user@R3# set protocols mpls interface all
[edit ] user@R6# set protocols mpls interface all
禁用管理接口上的 MPLS (fxp0.0)。
[edit ] user@R1# set protocols mpls interface fxp0.0 disable
[edit ] user@R3# set protocols mpls interface fxp0.0 disable
[edit ] user@R6# set protocols mpls interface fxp0.0 disable
如果完成设备配置,请提交配置。
[edit] user@host# commit
结果
输入show interfaces
show protocols mpls
和命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
设备 R1 上的配置:
user@R1# show interfaces so-0/0/2 { unit 0 { family mpls; } }
user@R1# show protocols mpls interface all; interface fxp0.0 { disable; }
设备 R3 上的配置:
user@R3# show interfaces so-0/0/2 { unit 0 { family mpls; } } so-0/0/3 { unit 0 { family mpls; } }
user@R3# show protocols mpls interface all; interface fxp0.0 { disable; }
设备 R6 上的配置:
user@R6# show interfaces so-0/0/3 { unit 0 { family mpls; } }
user@R6# show protocols mpls interface all; interface fxp0.0 { disable; }
配置 RSVP
CLI 快速配置
要在 AS 65000 中的所有路由设备上快速配置 RSVP,请复制以下命令并将其粘贴到 CLI 中。
设备 R1 上的配置:
[edit] set protocols rsvp interface so-0/0/2 set protocols rsvp interface fxp0.0 disable
设备 R3 上的配置:
[edit] set protocols rsvp interface so-0/0/2 set protocols rsvp interface so-0/0/3 set protocols rsvp interface fxp0.0 disable
设备 R6 上的配置:
[edit] set protocols rsvp interface so-0/0/3 set protocols rsvp interface fxp0.0 disable
分步过程
要配置 RSVP,请执行以下操作:
启用回复。
[edit ] user@R1# set protocols rsvp interface so-0/0/2
[edit ] user@R3# set protocols rsvp interface so-0/0/2 user@R3# set protocols rsvp interface so-0/0/3
[edit ] user@R6# set protocols rsvp interface so-0/0/3
在管理接口 (fxp0.0) 上禁用 RSVP。
[edit ] user@R1# set protocols rsvp interface fxp0.0 disable
[edit ] user@R3# set protocols rsvp interface fxp0.0 disable
[edit ] user@R6# set protocols rsvp interface fxp0.0 disable
如果完成设备配置,请提交配置。
[edit] user@host# commit
结果
输入命令确认 show protocols rsvp
您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
设备 R1 上的配置:
user@R1# show protocols rsvp interface so-0/0/2.0; interface fxp0.0 { disable; }
设备 R3 上的配置:
user@R3# show protocols rsvp interface so-0/0/2.0; interface so-0/0/3.0; interface fxp0.0 { disable; }
设备 R6 上的配置:
user@R3# show protocols rsvp interface so-0/0/3.0; interface fxp0.0 { disable; }
配置 OSPF
CLI 快速配置
要快速配置 OSPF,请复制以下命令并将其粘贴到 CLI 中。
设备 R1 上的配置:
[edit] set routing-options router-id 10.0.0.1 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
设备 R3 上的配置:
[edit] set routing-options router-id 10.0.0.3 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
设备 R6 上的配置:
[edit] set routing-options router-id 10.0.0.6 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
分步过程
要配置 OSPF:
配置路由器 ID。
[edit] user@R1# set routing-options router-id 10.0.0.1
[edit] user@R3# set routing-options router-id 10.0.0.3
[edit] user@R6# set routing-options router-id 10.0.0.6
配置 OSPF 区域和接口。
[edit] user@R1# set protocols ospf area 0.0.0.0 interface all
[edit] user@R3# set protocols ospf area 0.0.0.0 interface all
[edit] user@R6# set protocols ospf area 0.0.0.0 interface all
在管理接口 (fxp0.0) 上禁用 OSPF。
[edit] user@R1# set protocols ospf area 0.0.0.0 interface fxp0.0 disable
[edit] user@R3# set protocols ospf area 0.0.0.0 interface fxp0.0 disable
[edit] user@R6# set protocols ospf area 0.0.0.0 interface fxp0.0 disable
如果完成设备配置,请提交配置。
[edit ] user@host# commit
结果
通过输入 show routing-options
和 show protocols ospf
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
设备 R1 上的配置:
user@R1# show routing-options router-id 10.0.0.1;
user@R1# show protocols ospf area 0.0.0.0 { interface all; interface fxp0.0 { disable; } }
设备 R3 上的配置:
user@R3# show routing-options router-id 10.0.0.3;
user@R3# show protocols ospf area 0.0.0.0 { interface all; interface fxp0.0 { disable; } }
设备 R6 上的配置:
user@R6# show routing-options router-id 10.0.0.6;
user@R6# show protocols ospf area 0.0.0.0 { interface all; interface fxp0.0 { disable; } }
配置 LSP
CLI 快速配置
要在入口路由设备路由器 R1 上快速配置 LSP,请复制以下命令并将其粘贴到 CLI 中。
[edit] set protocols mpls label-switched-path R1-to-R6 to 10.0.0.6
分步过程
要在设备 R1 上配置 LSP,请执行以下操作:
进入 MPLS 配置模式。
[edit] user@R1# edit protocols mpls
创建 LSP。
[edit protocols mpls] user@R1# set label-switched-path R1-to-R6 to 10.0.0.6
如果完成设备配置,请提交配置。
[edit ] user@R1# commit
结果
输入命令确认 show protocols mpls
您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
user@R1# show protocols mpls label-switched-path R1-to-R6 { to 10.0.0.6; }
将 LSP 播发到 OSPFv2
CLI 快速配置
要将 LSP 快速播发到 OSPFv2 中,并选择性地在设备 R1 上包含 LSP 的衡量指标,请复制以下命令并将其粘贴到 CLI 中。
[edit] set protocols ospf area 0.0.0.0 label-switched-path R1-to-R6 set protocols ospf area 0.0.0.0 label-switched-path R1-to-R6 metric 2
分步过程
要将 LSP 播发到路由器 R1 上的 OSPFv2:
进入 OSPF 配置模式。
[edit] user@R1# edit protocols ospf
包括语句
label-switched-path
,并指定您创建的 LSP R1 到 R6。[edit protocols ospf] user@R1# set area 0.0.0.0 label-switched-path R1-to-R6
(可选)指定 LSP 的指标。
[edit protocols ospf] user@R1# set protocols ospf area 0.0.0.0 label-switched-path R1-to-R6 metric 2
如果完成设备配置,请提交配置。
[edit] user@R1# commit
结果
输入命令确认 show protocols ospf
您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
user@R1# show protocols ospf area 0.0.0.0 { label-switched-path R1-to-R6 { metric 2; } }
OSPF 的静态邻接分段标识符
邻接分段是一种严格转发的单跳隧道,它通过两个节点之间的特定链路传输数据包,与链路成本无关。您可以为接口配置静态邻接分段标识符 (SID) 标签。
在接口上配置静态邻接 SID 会导致删除现有的动态分配的邻接 SID 及其传输路由。
对于静态邻接 SID,将从静态保留标签池或 OSPF 分段路由全局块 (SRGB) 中选取标签。
您可以使用以下配置保留用于标签静态分配的标签范围:
user@host# set protocols mpls label-range static-label-range start-value end-value
任何协议都可以使用静态池来分配此范围内的标签。您需要确保没有两个协议使用相同的静态标签。OSPF 邻接 SID 可以通过配置依据关键字 label
从此标签块分配。 label
需要显式配置特定邻接 SID 的值。下面是一个示例配置:
user@host# set protocols mpls label-range static-label-range 700000 799999;
user@host# set protocols ospf source-packet-routing srgb start-label 800000 index-range 4000;
user@host# set protocols ospf area 0.0.0.0 interface ge-0/0/0.1 ipv4-adjacency-segment unprotected label 700001;
使用 ipv4-adjacency-segment
命令时,底层接口必须是点对点的。
SRGB 是根据配置为协议分配的全局标签空间。整个 SRGB 中的标签可供 OSPF 使用,不会分配给其他应用程序/协议。前缀 SID(和节点 SID)从此 SRGB 编制索引。
OSPF Adj-SID 可以在配置中使用关键字“index”从 OSPF SRGB 进行分配。在这种情况下,应确保 Adj-SID 索引不会与域中的任何其他前缀 SID 冲突。与前缀 SID 一样,Adj-SID 也将通过提及与 SRGB 相关的索引来进行配置。但是,Adj-SID subtlv 仍将 SID 作为值,并设置 L 和 V 标志。下面是一个示例配置:
user@host# set protocols ospf source-packet-routing srgb start-label 800000 index-range 4000;
user@host# set protocols ospf area 0.0.0.0 interface ge-0/0/0.1 ipv4-adjacency-segment unprotected index 1;
可以按区域配置静态邻接 SID,也可以根据是否需要保护进行配置。应在 [edit protocols ospf area area interface interface-name
] 层次结构级别上按接口配置邻接 SID。
受保护 — 确保邻接 SID 有资格具有备份路径,并在邻接 SID 播发中设置 B 标志。
不受保护 - 确保不会为特定邻接 SID 计算备份路径,并且未在邻接 SID 播发中设置 B 标志。
下面是一个示例配置:
user@host# set protocols ospf area 0.0.0.0 interface ge-0/0/0.1 ipv4-adjacency-segment unprotected index 1;
user@host# set protocols ospf area 0.0.0.0 interface ge-0/0/1.1 ipv4-adjacency-segment protected index 2;
在 LAN 子网中使用分段路由时,LAN 中的每个路由器都可以通告其每个邻居的邻接 SID。要为特定邻接方的 LAN 接口配置邻接 SID,应在 [edit protocols ospf area 0.0.0.0 interface interface_name lan-neighbor neighbor-routerid
] 层次结构级别的 LAN 邻接方配置下配置邻接 SID。下面是一个示例配置:
user@host# set protocols mpls label-range static-label-range 700000 799999;
user@host# set protocols ospf source-packet-routing srgb start-label 800000 index-range 4000;
user@host# set protocols ospf area 0.0.0.0 interface ge-1/0/0.1 lan-neighbor 11.12.1.2 ipv4-adjacency-segment unprotected label 700001;
使用以下 CLI 层次结构配置邻接 SID:
[edit ] protocols { ospf { area 0.0.0.0 { interface <interface_name> { ipv4-adjacency-segment { protected { dynamic; label <value> index <index> } unprotected { dynamic; label <value> index <index> } } } interface <interface_name> { lan-neighbor <neighbor-routerid>{ ipv4-adjacency-segment { protected { dynamic; label <value> index <index> } unprotected { dynamic; label <value> index <index> } } } } } } }
使用以下操作 CLI 命令验证配置:
显示 OSPF 邻居详细信息
以下示例输出显示已配置和动态邻接 SID 的详细信息。
user@host> show ospf neighbor detail Address Interface State ID Pri Dead 11.12.1.2 ge-1/0/0.0 Full 12.1.1.1 128 34 Area 0.0.0.0, opt 0x52, DR 0.0.0.0, BDR 0.0.0.0 Up 00:06:27, adjacent 00:06:27 SPRING Adjacency Labels: Label Flags Adj-Sid-Type 90010 BVLP Protected 1212 VLP UnProtected regress@10.49.129.231# run show route label 90010 mpls.0: 19 destinations, 19 routes (19 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 90010 *[L-OSPF/10/5] 00:00:21, metric 0 > to 11.12.1.2 via ge-1/0/0.0, Pop to 11.12.2.2 via ge-1/0/2.0, Swap 16021 to 11.12.3.2 via ge-1/0/3.0, Swap 16021
了解网络中的源数据包路由 (SPRING)
源数据包路由或分段路由是一种控制平面架构,它使入口路由器能够通过网络中一组特定的节点和链路引导数据包,而无需依赖网络中的中间节点来确定它应该采用的实际路径。在这种情况下,“来源”一词是指“强加明确路线的点”。从 Junos OS 17.2R1 版开始,QFX5100 和 QFX10000 交换机支持 IS-IS 和 OSPFv2 的分段路由。
从 Junos OS 20.3R1 版开始,分段路由支持 OSPF 和 IS-IS 协议,为网络中的源数据包路由 (SPRING) 提供基本功能。
本质上,分段路由会与 IS-IS 和 OSPF 等 IGP 合作,以通告两种类型的网段或隧道:
-
首先,严格转发的单跳隧道,无论链路成本如何,它通过两个节点之间的特定链路传输数据包,称为 邻接分段。
-
其次,在两个特定节点(称为 节点段)之间使用最短路径链路的多跳隧道。
入口路由器可以通过预先附加适当的隧道组合来引导数据包通过一组所需的节点和链路。
分段路由利用源路由范例。节点通过有序的指令列表(称为分段)引导数据包。段可以表示任何指令,无论是拓扑指令还是基于服务的指令。分段可以具有分段路由节点或分段路由域内的全局节点的本地语义。分段路由通过任何拓扑路径和服务链强制实施流,同时仅在分段路由域的入口节点上保持每个流的状态。分段路由可以直接应用于 MPLS 架构,无需更改转发平面。分段编码为 MPLS 标签。段的有序列表被编码为标签堆栈。要处理的段位于堆栈的顶部。完成段后,相关标签将从堆栈中弹出。分段路由可以通过新型路由扩展标头应用于 IPv6 架构。分段编码为 IPv6 地址。分段的有序列表在路由扩展标头中编码为 IPv6 地址的有序列表。要处理的分段由路由扩展标头中的指针指示。段完成后,指针将递增。
在以下层次结构级别进行配置 shortcuts
时,将为标记的 IS-IS 分段路由启用信息流工程快捷方式:
-
[edit protocols is-is traffic-engineering family inet]
用于 IPv4 流量。 -
[edit protocols is-is traffic-engineering family inet6]
用于 IPv6 流量。
在网络中部署源数据包路由时,数据中心、骨干和对等设备会使用由流量源构建的标签堆栈来交换 MPLS 数据包;例如,数据中心服务器。在 Junos OS 17.4R1 版中,源路由流量与采用 RSVP 信号路径的流量共存,并且源路由通过 mpls.0 表作为常规标签交换实现,使用标签操作 - 弹出、交换(到相同的标签值)和交换-推送(用于接口保护)。在所有情况量都可以在多个第 3 层接口之间或聚合接口内进行负载平衡。从 Junos OS 17.4R1 版开始,分段路由网络中的流量统计信息可以以符合 OpenConfig 的格式记录第 3 层接口。仅针对网络中的源数据包路由 (SPRING) 流量记录统计信息,不包括 RSVP 和 LDP 信号流量,并且每个接口的家族 MPLS 统计信息单独计算在内。SR 统计信息还包括每个链路聚合组 (LAG) 成员和每个分段标识符 (SID) 的 SPRING 流量统计信息。要启用分段路由统计信息的记录,请在层次结构级别包含sensor-based-stats
[edit protocol isis source-packet-routing]
语句。
在 Junos OS 19.1R1 版之前,传感器只能用于收集 MPLS 传输流量(本质上是 MPLS 到 MPLS)的分段路由统计信息。从 Junos OS 19.1R1 版开始,在具有 MPC 和 MIC 接口的 MX 系列路由器以及 PTX 系列路由器上,引入了额外的传感器来收集 MPLS 入口流量的分段路由统计信息,本质上是 IP 到 MPLS。使用此功能,您可以仅为标签 IS-IS 分段路由流量启用传感器,并将统计信息流式传输到 gRPC 客户端。
您可以使用配置语句下per-sid
的选项为 egress
MPLS 入口流量启用分段路由统计信息。每侧出口功能的资源名称为:
/junos/services/segment-routing/sid/egress/usage/
您可以使用命令输出查看 show isis spring sensor info
标签 IS-IS 路由与传感器的关联。此命令不显示实际传感器的计数器值。
分段路由统计信息记录将导出到服务器。您可以从以下 OpenConfig 路径中查看分段路由统计数据:
-
/mpls/signalling-protocols/segment-routing/aggregate-sid-counters/aggregate-sid-counter[ip-addr='L-ISIS-10.1.1.1']/state/counters[name='oc-xxx']/out-pkts
-
/mpls/signalling-protocols/segment-routing/aggregate-sid-counters/aggregate-sid-counter[ip-addr='L-ISIS-10.1.1.1']/state/counters[name='oc-xxx']/out-pkts
-
分段路由统计信息不支持平滑路由引擎切换 (GRES)。
标签 IS-IS 不支持不间断活动路由 (NSR)。在路由引擎切换期间,将在新的主路由引擎中创建一个新传感器,以替换之前主路由引擎创建的传感器。因此,在路由引擎切换时,分段路由统计信息计数器从零开始。
-
标签 IS-IS 不支持平稳重启。
在正常重新启动的情况下,将删除现有传感器,并在 IS-IS 初始化期间创建新传感器。分段路由统计信息计数器从零重新启动。
-
不支持不中断服务的软件升级 (ISSU) 和不间断软件升级 (NSSU)。在这种情况下,分段路由统计信息计数器将重新启动。
-
零统计信息分段路由数据将被抑制,并且不会流式传输到 gRPC 客户端。
参见
更改历史记录表
功能支持由您使用的平台和版本决定。使用 功能资源管理器 确定您的平台是否支持某个功能。