Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

第 3 层 VPN 中的提供商边缘链路保护

本主题介绍如何配置预计算保护路径,并在 CE 路由器和替代 PE 路由器之间提供链路保护和备份路径。

了解主机快速重新路由

主机快速重新路由 (HFRR) 将预计算的保护路径添加到数据包转发引擎 (PFE) 中,这样,如果提供商边缘设备和服务器群之间的链路无法进行转发,PFE 可以使用另一条路径,而不必等待路由器或协议提供更新的转发信息。这种预先计算的保护路径通常称为修复或备份路径。

HFRR 是一种可保护多点接口(如以太网)上的 IP 端点的技术。对于服务器端点的快速服务恢复至关重要的数据中心,这项技术非常重要。接口或链路中断后,HFRR 使本地修复时间约为 50 毫秒。

考虑 图 3 所示的网络拓扑。

图 3:主机快速重新路由 Host Fast Reroute

路由设备会创建由地址解析协议 (ARP) 和 IPv6 邻接方发现协议 (NDP) 触发的主机路由转发条目。HFRR 通过路由协议提供的备份下一跃点增强主机路由。这些备份的下一跳使到达流量能够在网络重新融合时保持流动。

流量从连接到提供商边缘设备 PE1 和 PE2 的网络流向主机 A 和主机 B。此流量受 HFRR 保护。如果设备 PE2 和主机服务器之间的链路中断,流量将通过设备 PE1 重新路由到主机服务器。在拓扑中,主机 A 和主机 B 表示 LAN PC,统称服务器群。PE 设备是在它们之间配置了第 3 层 VPN 的路由器。设备 PE1 通过 ARP 或 IPv6 NDP 了解直连主机。

设备 PE2 还具有有关服务器群网络的信息,并将此信息播发至设备 PE1。此播发使用内部 BGP (IBGP) 通过第 3 层 VPN 传输。在设备 PE1 和 PE2 上,此路由被视为到服务器群子网的直接路由。

设备 PE1 使用通过 ARP 和 NDP 学习的主机路由将流量发送到服务器群中的主机计算机。如果设备 PE1 和服务器群之间的链路中断,并且未配置 HFRR,则路由设备会查找下一个最佳路由,即 IBGP 路由。这种实施方式会导致一定间隔的流量丢失,直到更新发生和网络重新融合。在设备 PE1 上配置的 HFRR 通过使用备份路径增强 ARP 和 NDP 路由来解决此问题,以便流量可以持续转发而不会中断。

此特定拓扑中的备份路径是 IBGP 第 3 层 VPN 路由。在实际部署中,设备 PE2 还可以为其直连服务器群网络配置链路保护,设备 PE1 可以使用第 3 层 VPN 路由向设备 PE2 通过自身向服务器群通告可访问性。因此,应在设备 PE1 和设备 PE2 上启用 HFRR。此外,设备 PE1 和设备 PE2 都应通过 BGP 向服务器群通告可访问性。

例如,如果设备 PE1 到服务器群之间的链路以及设备 PE2 到服务器群之间的链路同时中断,则可以在 PE 设备之间发展临时路由环路。环路可以持续进行,直到两端的 BGP 得知服务器群子网已关闭并撤回 BGP 路由。

ARP 前缀限制和停电补充超时

配置 HFRR 配置文件时,可选的 ARP 前缀限制会为 ARP 路由数设置最大值,从而为路由表中的每个 HFRR 配置文件创建 FRR 路由。此限制可防止 ARP 攻击耗尽路由设备上的虚拟内存。ARP 前缀限制不会限制转发表表中的 ARP 路由。但是,它限制了 Junos OS 为配置文件读取的 ARP 路由数量,因此限制了路由进程 (rpd) 在路由表和转发表中创建的 HFRR 路由数量。

ARP 前缀限制会应用于每个 HFRR 配置文件。它不会限制路由表中所有 ARP/HFRR 路由的总计数。它仅限制每个 HFRR 配置文件的 ARP/HFRR 路由数量。

有两个配置语句 (global-arp-prefix-limitarp-prefix-limit) 用于设置 ARP 前缀限制,一个分别在全局 [edit routing-options host-fast-reroute] 层次结构级别,另一个在 [edit routing-instances instance-name routing-options interface interface-name] 层次结构级别。全局 global-arp-prefix-limit 语句为路由设备上配置的所有 HFRR 配置文件设置默认 ARP 前缀限制。语句 arp-prefix-limit 将覆盖该 global-arp-prefix-limit 受保护接口的 HFRR 配置文件。

当 HFRR 配置文件中的 ARP 路由数量达到配置的 ARP 前缀限制的 80% 时,将向系统日志发送一条警告消息。如果 ARP 前缀保持在配置值 80% 以上,则对于添加到该 HFRR 配置文件的任何后续 ARP 路由,将显示警告消息。

当 HFRR 配置文件中的 ARP 路由数量达到 HFRR 配置文件配置的 ARP 前缀限制的 100% 时,另一条警告消息将发送到系统日志。当数字超过 100% 阈值时,HFRR 配置文件将停用。发生这种情况时,将从路由表中删除所有 ARP/FRR 路由。FRR 路由也会从转发表中删除。

HFRR 配置文件停用后,将启动一个停电计时器。此计时器的超时值是 ARP 缓存超时(内核超时)+ 补充黑线计时器。

有全局语句和 per-HFRR CLI 语句(global-supplementary-blackout-timersupplementary-blackout-timer)。全局值位于 [edit routing-options host-fast-reroute] 层次结构级别,适用于路由设备上的所有 HFRR 配置文件。为层级的路由实例接口 [edit routing-instances instance-name routing-options interface interface-name] 配置的补充黑线计时器仅覆盖该 HFRR 配置文件的全局值。

黑发计时器到期后,将重新激活 HFRR 配置文件,并且 Junos OS 将重新学习 ARP 路由并重新创建 HFRR 路由。如果再次未超过 ARP 前缀限制,HFRR 路由将启动。

如果 HFRR 配置文件被屏蔽并处于已停用状态,则在每个提交操作期间或每次使用 restart routing 命令重新启动路由进程 (rpd) 时,都会对 ARP 状态进行重新评估。

主要路由和备用路由候选项

HFRR 下一跃点的主路由由 ARP 和 IPv6 NDP 路由提供。这些是 /32 或 /128 路由。备份路由是在本地接口上配置的地址的确切前缀匹配。例如,如果配置的本地地址为 10.0.0.5/24,则路由设备会查找前缀 10.0.0.0 的完全匹配,前缀长度为 24,以便选择备份路由。

备份路由选择的约束条件如下所示:

  • 前缀必须与在路由设备的支持 HFRR 的接口上配置的相同子网地址匹配。

  • 远程端不得配置路由聚合(也称为汇总)。例如,如果远程端组合了两个或多个 /24 子网来播发前缀长度小于 /24 的子网,Junos OS 不会选择此汇总路由作为备份路由。

  • 如果路由表中有另一个路由由另一个协议获知,该协议与 /32 或 /128(ARP 或 NDP) 路由的前缀匹配时间最长,则不会选择该路由作为备用候选路由。例如,假设本地接口地址为 10.0.0.5/24。此外,假设路由表包含前缀为 10.0.0.0/24 的 IBGP 路由和前缀为 10.0.0.0/28 的 OSPF 路由。即使 /28 路由是子网中某些前缀的更好路由,但 Junos OS 不会将 10.0.0.0/28 视为备用候选项。IBGP 路由将成为所有主机路由的备份候选路由。但是,在进行全局修复后,将使用 OSPF 路由进行转发。

简而言之,备份候选项必须是具有与使用 HFRR 保护的子网本地接口相同的前缀的路由。

备份路径选择策略

备份选择仅考虑第 3 层 VPN 路由。HFRR 使用通常的 BGP 路径选择算法来选择一个最佳备份路由。仅选择一个备份路径。如果有多个备用路径候选路径,则选择算法会选择最佳备份路径。HFRR 在任何时间点仅提供两条路径,一条主路径,一条备份路径。如果所选的备份路径本身有两个路径,则该备份下一跃点中的第一个路径将用作 HFRR 路由的备份下一跃点。

主路径的安装权重为 1。备份路径的安装重量为 0x4000。显然,备份路径必须是通过与主接口不同的接口的路径。

备份路由仅在接口所属的路由表中进行查找。对于 IPv4,Junos OS 使用 routing-instance-name.inet.0。对于 IPv6,Junos OS 在 .inet6.0 中 routing-instance-name

HFRR 路由的特征

HFRR 路由是仅可转发的路由,不用于路由解析。HFRR 路由有主机地址,这意味着它们以 /32 或 /128 作为前缀长度。如果平台具有双路由引擎,备份路由进程 (rpd) 也会创建 HFRR 路由。但是,在路由引擎切换后,备份路由进程 (rpd) 不会将 HFRR 路由安装到路由表的 HFRR 路由。

另请注意,如果路由表中存在 HFRR 路由,将使用 HFRR 路由进行单播逆向路径转发 (uRPF) 计算。

删除 HFRR 路由

如果在配置中删除或停用受保护的接口,在路由实例上配置 HFRR 且路由实例已停用或删除,或者启用 HFRR (link-protection (Host Fast Reroute)) 的语句被删除或停用时,HFRR 路由将被删除。当路由实例发生灾难性操作(例如路由进程重新启动时)时,HFRR 路由将被删除并读取。如果删除所有备份路由,HFRR 路由也将被删除。例如当 BGP 撤回路由时,或者当 BGP 停用或删除时。

受保护接口关闭且 HFRR 被删除或停用后,计时器将从超时开始 20 秒。HFRR 路由删除将在计时器到期后进行。这是为了确保在接口发生翻动(快速上下翻动)时,Junos OS 不会执行导致流量丢失的不必要路由删除和添加操作。仅当接口关闭或 HFRR 路由被删除或停用时,才会使用此计时器。

在以下情况下,HFRR 路由将立即清除:

  • 备份路由出现故障,没有其他潜在的备用路径。

  • 收到 ARP 删除消息。

  • 路由进程 (rpd) 终止。

支持 HFRR 的接口

仅在以太网接口上允许 HFRR。如果在点对点接口上配置 HFRR,提交操作将失败。

仅接受在 VPN 路由和转发 (VRF) 类型的路由实例下配置的接口。如果在其他类型的路由实例上配置 HFRR,提交操作将失败。

未满足以下要求时,提交操作不会失败。但是,接口不受 HFRR 保护,接口在命令输出中 show hfrr profiles 被标记为非活动:

  • 仅在编号接口上允许 HFRR,这意味着必须向接口分配地址。例如,您不能在接口上配置地址为 IPv4,而没有地址的 IPv6 则不能。

  • 为 HFRR 保护配置的接口必须在层次结构级别上配置 [edit interfaces] ,并且还必须连接到路由实例。

  • 路由实例必须具有虚拟隧道 (VT) 接口或随附的 vrf-table-label 语句。

接口在命令输出中 show hfrr profiles 可能标记为非活动的另一个原因是接口正在从一个实例迁移到另一个实例,而 HFRR 配置处于上一个路由实例中。

如果重叠逻辑单元属于同一路由实例,则 HFRR 在它们上不受支持,如下所示:

如果按此处所示配置重叠子网,并在两个重叠子网上启用 HFRR,则路由协议进程 (rpd) 将生成RPD_ASSERT错误。