在下一跳静态路由中,仅指定下一跳 IP 地址。 输出接口从下一跳派生。 例如,在图 1 中,R1 使用下一跳 (R2) 的 IP 地址配置了三条静态路由。

在路由器转发任何数据包之前,路由表过程必须确定用于转发数据包的送出接口。 我们将此过程称为路由解析。 路由解析过程取决于路由器使用的转发机制类型。 CEF(思科快速转发)是运行 IOS 12.0 或更高版本的大多数平台的默认行为。

图 2 详细显示了在不使用 CEF 的情况下,R1 路由表中的基本数据包转发流程。 当数据包指向 192.168.2.0/24 网络时,R1 将:

1. 在路由表中搜索匹配项,发现它必须将数据包转发到下一跳 IPv4 地址 172.16.2.2,如图中的标签 1 所示。 对于只具有下一跳 IPv4 地址而且没有指定送出接口的每一条路由,都必须使用路由表中有送出接口的另一条路由来解析下一跳 IPv4 地址。

2. R1 现在必须确定如何到达 172.16.2.2;因此,它第二次搜索 172.16.2.2 的匹配项。 在这种情况下,IPv4 地址匹配送出接口为 Serial 0/0/0 的直连网络 172.16.2.0/24 的路由,如图中的标签 2 所示。 该查找过程告知路由表过程,此数据包是从该接口转发的。

因此,将任何数据包转发到 192.168.2.0/24 网络实际上经过了两次路由表查找过程。 如果路由器在转发数据包前需要执行多次路由表查找,那么它的查找过程就是一种递归查找。 由于递归查找占用路由器资源,应尽可能避免发生这种情况。

只有指定的下一跳地址直接或间接地解析为有效送出接口,递归静态路由才有效(即它是要插入到路由表中的候选路由)。

注意:CEF 提供优化的查找功能来实现高效的数据包转发,使用数据平面中存储的两种主要数据结构:FIB(转发信息库),即路由表和邻接表的副本,其中包含第 2 层寻址信息。 这两个表中组合的信息相互配合,因此查找下一跳 IP 地址时无需进行递归查找。 换句话说,当路由器上启用 CEF 时,使用下一跳 IP 的静态路由只需要一次查找。

使用图 3 和图 4 中的语法检查器配置并检验 R2 和 R3 的下一跳静态路由。