分段路由支持哪些功能和设计?
分段路由支持许多有用的功能,包括无 BGP 核心、流量工程 (流量工程)、本地维修备份路径、任播路由和多拓扑网络。所有这些功能都不需要额外的信令,并且由现有路由协议提供支持。此外,集中式控制器可以跨 IGP 区域和级别以及 BGP 自治系统创建带宽预留和流量工程路径。
必备知识
我们假设您已阅读什么是 网络中的分段路由和源数据包路由?以及必修主题。
分段路由 (SR) 提供了许多强大的功能,可以为各种网络(包括服务提供商网络、数据中心网络、移动网络和大型企业网络)增加巨大的价值。
其中一些功能是分段路由独有的。RSVP 和 LDP 等现有路径协议和隧道协议也提供一些其他功能。即使在这种情况下,与现有选项相比,分段路由仍提供了新的优势和增强功能。
本文档简要概述了这些功能,并广泛了解部署分段路由的优势。我们还提供各种文档,以更详细的技术方式解释这些功能中的每一个,包括它们的配置和验证。
本指南中描述的所有功能都可用于 SR-MPLS。大多数功能也可用于 SRv6。
自动全网状最短路径隧道到其他支持 SR 的设备
当运营商在 Junos OS 路由器上运行 MPLS 和 LDP 时,结果是每台设备都会自动为网络中的所有其他 LDP 设备创建全标签交换路径 (LSP) 网格。这些 LSP 只需遵循 IGP 最短路径即可到达目标。这足以支持无 BGP 核心或以太网 VPN (EVPN) 和第 3 层 VPN (L3VPN) 等 VPN 服务。
分段路由会自动为 SR-MPLS 和 SRv6 创建到所有其他支持 SR 设备的最短路径隧道。
在 SR-MPLS 网络中,inet.3 路由表可自动填充 IPv4 LSP 到所有其他启用 SR-MPLS 的设备。即使在最基本的 SR-MPLS 部署中也是如此。如果您还在网络中运行 IPv6,也可以轻松地使用 IPv6 LSP 填充 inet6.3 表。
图 1 演示了这个概念。它显示了一个由十台路由器组成的网络,编号为 R1 到 R10。
启用带有 IS-IS 的 SR-MPLS 后,以下输出显示路由器 R1 的 inet.3 表包含指向其他 9 台路由器的 LSP 全网状网络。SR-MPLS 会自动创建此全网状网络,无需额外信令。
user@R1> show route table inet.3
inet.3: 9 destinations, 9 routes (9 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
192.168.1.2/32 *[L-ISIS/14] 00:06:45, metric 100
> to 10.1.2.2 via ge-0/0/0.0
192.168.1.3/32 *[L-ISIS/14] 00:02:18, metric 200
> to 10.1.2.2 via ge-0/0/0.0, Push 300403
192.168.1.4/32 *[L-ISIS/14] 00:02:18, metric 300
> to 10.1.2.2 via ge-0/0/0.0, Push 300404
192.168.1.5/32 *[L-ISIS/14] 00:02:18, metric 400
> to 10.1.2.2 via ge-0/0/0.0, Push 300405
192.168.1.6/32 *[L-ISIS/14] 00:06:45, metric 100
> to 10.1.6.6 via ge-0/0/2.0
192.168.1.7/32 *[L-ISIS/14] 00:02:18, metric 200
to 10.1.2.2 via ge-0/0/0.0, Push 300407
> to 10.1.6.6 via ge-0/0/2.0, Push 300407
192.168.1.8/32 *[L-ISIS/14] 00:02:18, metric 300
> to 10.1.2.2 via ge-0/0/0.0, Push 300408
to 10.1.6.6 via ge-0/0/2.0, Push 300408
192.168.1.9/32 *[L-ISIS/14] 00:02:18, metric 400
> to 10.1.2.2 via ge-0/0/0.0, Push 300409
to 10.1.6.6 via ge-0/0/2.0, Push 300409
192.168.1.10/32 *[L-ISIS/14] 00:02:18, metric 500
> to 10.1.2.2 via ge-0/0/0.0, Push 300410
to 10.1.6.6 via ge-0/0/2.0, Push 300410
请注意,对于每个远程节点,传出 MPLS 标签似乎都是可预测的。这不是 SR-MPLS 的默认行为,但只需几行配置即可轻松启用。请注意,到 R7、R8、R9 和 R10 的 LSP 会自动利用等价多路径 (ECMP) 选项。
在 SRv6 网络中,如果所有设备都运行 SRv6,则您可以创建通往所有其他支持 SRv6 的设备的自动全隧道网状结构。但是,没有严格要求在所有传输设备上运行 SRv6。例如,如果较旧的传输设备无法运行 SRv6,则仍可将这些设备启用常规 IPv6。这足以让这些路由器为网络中的 SRv6 隧道提供传输功能。在这种情况下,您将至少拥有一个指向其他支持 SRv6 的设备的部分隧道网格。
灵活的算法
灵活算法或 Flex Algo 是一种创建多拓扑网络的可扩展方法。使用管理员组,您可以将某些链接标记为属于特定 Flex Algo 拓扑。然后创建对该拓扑结构唯一的新段指令。这可以保证流量仅包含在您的拓扑中。流量永远不会泄露到不属于拓扑的路由器,因为拓扑内部的设备会在拓扑内路由流量。
图 2 演示了这个概念。每个路由器都参与主拓扑。然后,某些链路还可以参与一个或多个较小的拓扑。
传统的多拓扑方法需要大量的配置和维护工作。相反,使用管理组可以选择在拓扑之间重复使用管理组,或者选择是否排除或包含一个或多个管理组。
每个拓扑都与数字颜色相关联。这使得 Flex Algo 能够利用 BGP 颜色社区自动将前缀绑定到特定拓扑。这比以往将前缀绑定到特定多拓扑网络的方法更具可扩展性。
与拓扑无关的无环路备用 (TI-LFA)
TI-LFA 可创建本地修复备份路径,以便在链路或节点发生故障时立即使用。还有其他协议也提供本地修复路径。但是,由于需要避免可能产生环路的备用路径,其中一些协议只能提供有限的拓扑覆盖范围。其他协议可以覆盖整个网络,但每个备份路径都需要单独设置和维护。
相比之下,TI-LFA 提供 100% 的拓扑覆盖率,无需额外信令。通过将一系列段推送到数据包上,完全避免了拓扑环路。此外,TI-LFA 备份路径与网络从链路或节点故障中完成融合后将使用的路径相同。这称为后融合路径。这意味着流量在移动到备用路径后,无需再次转移到新的融合后路径。这减少了网络抖动。
当我们将这些备份路径预安装到转发平面时,我们通常会发现,在切换期间,我们可以将停机时间缩短至 50 毫秒。
您还可以使用 TI-LFA 备份路径来保护普通 IP 流量。此外,Flex Algo 拓扑会自动确保 TI-LFA 备份路径仅包含在您设计的拓扑中。TI-LFA 是一项强大的功能,也是网络运营商在选择是否部署分段路由时考虑的主要驱动因素之一。
避免微回路
在链路状态网络中,不同的路由器在不同的时间学习和处理拓扑更改更新。这可能会在网络融合事件期间产生临时环路。例如,如果一台路由器先于相邻路由器收敛,并确定其邻接方是下一个最佳跃点,则如果邻接方尚未完成收敛,相邻路由器可能会再次发回数据包。这些环路称为微环路。
微循环是短暂的毫秒级事件。然而,在现代时代,大量流量可以在这段时间内通过链路进行传输。微循环能够暂时用流量使链路泛洪,这可能会导致在此期间该链路完全中断。
避免微环路 (MLA) 是分段路由中的一项功能,可识别拓扑中可能发生微环路的区域。然后,当链路或节点出现故障时,Junos OS 可以临时推送分段指令,以确保远程路由器能够正确转发流量,即使它们尚未完成向新拓扑的收敛。这些分段的使用时间通常不超过几秒钟,但这足以防止融合过程中发生灾难性中断。
任播
如果在两台或多台路由器上配置前缀,则两台设备都可以通告一个分段,该分段表示沿着最短路径向该前缀发送流量的指令。这可能是共享点对点或广播链路上的前缀,也可能是在两个或多个设备上配置的 /32 IPv4 或 /128 IPv6 地址。
因此,您可以沿着最短路径向公制上最近的路由器发送流量。或者,如果所有设备成本相同,则可以在它们之间均衡流量负载。。
此功能称为任播路由。这在网络核心中很常见。通过配置两个或多个核心路由器来通告同一分段,您可以创建一个流量工程路径,该路径还能够在等价路径可用时加以利用。这在 RSVP 等协议中是不可能实现的,在 RSVP 等协议中,如果要跨这些路径实现负载均衡,就需要创建两个或多个单独的显式路径。
一个不太常见但功能强大的示例是配置两个或多个路由器边界以通告同一前缀和分段。如果将此共享分段用作 BGP 协议下一跃点,则可以创建一种设计,仅将流量传输到最近的出口点。
按需下一跳跃
过去,流量工程要求网络运营商在每条入口 PE 路由器上配置到每出口路由器的单独流量工程路径。其中许多流量工程路径具有相似的流量工程特征。例如,可以将每个流量工程路径配置为使用 流量工程指标而不是 IGP 指标,或者避免使用指示链路是否即将进行维护的管理组。
作为在每个 PE 路由器上单独定义路径的所有端点的替代方法,分段路由提供了自动检测何时应创建流量工程路径的功能。此功能称为按需下一跳 (ODN)。
在 SR 网络中运行 ODN 时,系统会自动计算路径并将其构建到任何有效 BGP 前缀上的任何有效 BGP 协议下一跃点。然后,根据您选择的约束,使用 D-CSPF 计算到远程 PE 的路径。这提供的解决方案比单独手动定义所有端点要高得多,更具可扩展性。
此功能在 RSVP 中也可用。同样,在分段路由网络中,您不需要发出信号或维护这些路径。
基于控制器的流量工程
使用外部控制器(如 Juniper Paragon Pathfinder),您可以运行一种称为路径计算元素协议 (PCEP) 的协议,该协议可以直接与网络中支持 SR 的每台设备进行通信。控制器可以代表网络中的所有设备计算流量工程路径,然后使用 PCEP 将这些路径直接写入该路径的入口路由器。
一个或多个启用 SR 的路由器可以使用 BGP 链路状态 (BGP-LS) 向控制器播发拓扑信息。这使控制器能够学习您的拓扑,同时也不会成为同一链路状态拓扑的一部分。然后,控制器可以自动生成拓扑结构以及在该拓扑中行驶的隧道的图形视图。
如果您有多个路由域(例如,不同的 OSPF 区域、IS-IS 级别或自治系统),则可以在每个域中配置设备,以将拓扑播发至控制器。因此,控制器可以计算跨域边界的路径,然后无论隧道经过多少个路由域,都应将应写入数据包的确切分段通知入口路由器。
控制器还可以提供分段路由本身不提供的附加服务,例如基于每个路径的带宽预留。控制器还可以根据网络事件充分优化路径,例如将一台设备上重要性较低的隧道移动到另一条路径,以便为另一台设备上优先级更高的隧道腾出空间。
颜色感知流量工程
网络运营商通常会在两个端点之间创建多个隧道,以便每个隧道可以根据流量的重要性遵循不同的路径。例如,延迟敏感型流量的路径可能比尽力而为流量短。同样,尽力而为流量可能会被故意路由到网络中物理上最短的链路之外,这样对延迟敏感的流量就可以走最快的路径,而不会与尽力而为的流量竞争。
过去,此功能需要使用复杂的路由策略来将单个 BGP 前缀映射到特定路径。这些路由策略通常需要手动维护,而且很容易配置错误。
相比之下,分段路由使您能够使用颜色标记隧道,该颜色只是代表隧道意图的数字标识符。例如,您可以选择将颜色值 10 分配给任何路由器上承载尽力而为流量的任何隧道。再举例,您可以使用颜色值 20 来表示承载对延迟敏感的流量的隧道。
然后,您可以利用 BGP 颜色社区将学习到的前缀自动绑定到具有匹配颜色的流量工程隧道。这消除了手动创建路由策略来实现相同目标的传统复杂性。它还为您提供了一种将多条路径部署到目标的更具可扩展性的方法。
图 3 演示了这个概念。
标记
R1 有两条到远程路由器 R5 的路径。一条路径用于对延迟敏感的流量,另一条路径用于发往公共互联网的流量。当 R5 播发对延迟敏感的 BGP 前缀时,R5 可以将 BGP 颜色社区值 1111 附加到这些前缀。然后,R1 会自动将这些前缀与具有匹配颜色值的路径相关联。