完全指定静态路由

在完全指定静态路由中,同时指定输出接口和下一跳 IP 地址。 这是在 CEF 之前的早期 IOS 版本中使用的另一种静态路由。 当输出接口是多路访问接口时,则使用这种形式的静态路由,并且需要明确识别下一跳。 下一跳必须直接连接到指定的送出接口。

假设 R1 和 R2 之间的网络链路为以太网链路,并且 R1 的 GigabitEthernet 0/1 接口连接到该网络,如图 1 所示。 没有启用 CEF。 要避免递归查找,可以使用以下命令实施直连静态路由:

R1(config)# ip route 192.168.2.0 255.255.255.0 GigabitEthernet 0/1

但是,这可能导致意外或不一致的结果。 以太网多路访问网络和点对点串行网络之间的区别在于,点对点网络只有一台其他设备位于网络中,即链路另一端的路由器。 而对于以太网络,可能会有许多不同的设备共享相同的多路访问网络,包括主机甚至多台路由器。 如果仅仅在静态路由中指定以太网送出接口,路由器就没有充足的信息来决定哪台设备是下一跳设备。

R1 知道数据包需要封装成以太网帧并从 GigabitEthernet 0/1 接口发送出去。 但是,R1 不知道下一跳的 IPv4 地址,因此它无法决定该以太网帧的目的 MAC 地址。

根据拓扑结构和其它路由器上的配置,该静态路由或许能正常工作,也或许不能。 我们建议,当送出接口是以太网络时,完全指定静态路由同时使用送出接口和下一跳地址。

如图 2 所示,当将数据包转发到 R2 时,送出接口是 GigabitEthernet 0/1,而下一跳 IPv4 地址是 172.16.2.2。

注意:使用 CEF 时不需要完全指定静态路由。 应采用使用下一跳地址的静态路由。

使用图 3 和图 4 中的语法检查器配置并检验 R2 和 R3 的完全指定静态路由。