路由选择
当多个 WAN 和 LAN 通过路由器进行互联,此互联网络上的所有主机就可以通过 IP 地址进行通信。此时路由器就起到了“中转站”的作用,也就是要将分组根据目的 IP 从对应的送出接口中送出,这就是路由选择。路由选择是指将分组从一个设备通过互联网络发往位于不同网络上的另一个设备的操作,路由器不关注网络中的主机,而只关注互联起来的网络以及通往各个网络的最佳路径。目标主机的逻辑网络地址用来获取通过可路由网络传送到指定网络中的分组,主机的硬件地址用来将分组从路由器投递到正确的目标主机上。
要实现对分组的路由,路由器至少必须了解以下内容:
- 目的地址;
- 获取远程网络信息的相邻路由器;
- 到达所有远程网络的可能路由;
- 到达每个远程网络的最佳路由;
- 维护并验证路由选择信息的方式。
路由器从相邻的路由器或管理员那里了解有关远程网络的信息,建立路由表来进行路由选择,路由表将会指出到达目的 IP 地址的网络需要从哪个接口送出。如果某个网络与路由器是直接相连的,那么路由器自然就知道如何到达这个网络。如果某个网络没有与路由器直接相连,那么路由器就必须通过这样两种方式了解如何到达这个远程网络:
- 静态路由:由专人手工将所有的网络位置输入路由选择表;
- 动态路由:路由器上运行的协议将与相邻路由器上运行的同一协议进行通信,自动更新各自的路由信息。
静态路由
静态路由的应用
静态路由有以下这些应用场合:
- 连接特点网络;
- 连接末节路由器;
- 汇总路由表条目;
- 创建备份路由。
默认静态路由是匹配所有数据包的路由,在数据包无法被路由表其他条目匹配上时就会被默认路由匹配。如果一台路由器仅和另一条路由器相连,该路由器被称为末节路由器,默认静态路由经常被配置于连接末节路由器。
优点和缺点
静态路由选择的优点如下:
- 不增加路由器 CPU 的开销;
- 不增加路由器间的带宽占用;
- 提高了安全性,因为管理员可以有选择地配置路由,使之只通过某些特定的网络;
静态路由选择的缺点如下:
- 管理员必须真正地了解整个互联网络以及每台路由器间的连接方式,以便实现对这些路由的正确配置;
- 当添加某个网络到互联网络中时,管理员必须在所有路由器上(手工地)添加到此网络的路由;
- 对于大型网络使用静态路由选择基本上是不可行的,因为配置静态路由选择会产生巨大的工作量。
配置命令
将静态路由添加到路由选择表中的语法是:
ip route [destination_network] [mask] [next-hop_address or exitinterface] [administrative_distance] [permanent]
这些参数的功能是:
参数 | 解释 |
---|---|
ip route | 用于创建静态路由的命令 |
destination_network | 目的 IP 地址 |
mask | 此网络上的子网掩码 |
next-hop_address | 下一跳路由器的地址,可以是下一条 IP 地址也可以是送出的接口 |
administrative_distance | 指定管理距离 |
permanent | 在任意情况下都保留这一路由选择表项在路由选择表中 |
配置静态路由
实验拓扑
设备 | 接口 | IP 地址 | 子网掩码 | 默认网关 |
---|---|---|---|---|
R1 | G0/1 | 192.168.0.1 | 255.255.255.0 | N/A |
S0/0/1 | 10.1.1.1 | 255.255.255.252 | N/A | |
R3 | G0/1 | 192.168.1.1 | 255.255.255.0 | N/A |
S0/0/0 (DCE) | 10.1.1.2 | 255.255.255.252 | N/A | |
Lo0 | 209.165.200.225 | 255.255.255.224 | N/A | |
Lo1 | 198.133.219.1 | 255.255.255.0 | N/A | |
PC-A | NIC | 192.168.0.10 | 255.255.255.0 | 192.168.0.1 |
PC-C | NIC | 192.168.1.10 | 255.255.255.0 | 192.168.1.1 |
检验 LAN 连接,从每台 PC 对为该主机配置的默认网关执行 ping 操作来测试连接,PC 是可以 ping 通默认网关的。
直接连接的路由器之间也可以互相 Ping 通。
未直接连接的设备之间不能 Ping 通,PC-A 对 PC-C、 PC-A 对 Lo0、PC-A 对 Lo1 3 个ping操作都失败了,这是因为当PC-A要ping上述3个目的地时,需要先经过R1。但是我们并没有为R1配置到其他网络 (即R3)的路由,因此R1查路由表后发现不知道往哪发,因此上述3个ping就不能够成功。想要成功Ping通,就需要配置路由。
查看 R3 的路由表信息,192.168.0.1、192.168.0.10 在路由表中。因为我们在前面只是对路由器的各个接口进行了配置,但是并没有配置任何的动态路由和静态路由,因此路由器只知道直连网络的IP地址,路由器对其他的网络一无所知。
配置递归静态路由
在递归静态路由中,会指定下一跳 IP 地址。由于只指定了下一跳 IP,因此路由器必须在路由表中执行多次查找才能转发数据包。要配置递归静态路由,请使用以下语法:
Router(config)# ip route network-address subnet-mask ip-address
在 R1 路由器上,配置通往 192.168.1.0 网络的静态路由(使用 R3 Serial 0/0/0 接口的 IP 地址作为下一跳地址)。
R1(config)# ip route 192.168.1.0 255.255.255.0 10.1.1.2
查看路由表,检验新添加的静态路由条目。
在主机 PC-A 上,还不能对主机 PC-C 执行 ping 操作。因为递归静态路由配置正确,ping 可到达 PC-C,PC-C 将对 PC-A 发回 ping 应答。然而 ping 应答在 R3 上将被丢弃,因为 R3 的路由表中没有通往 192.168.0.0 网络的返回路由。
配置直连静态路由
使用直连静态路由时,会指定 exit-interface 参数,允许路由器通过一次查找做出转发决策。直连静态路由通常用于点对点串行接口。要使用指定的送出接口配置直连静态路由,请使用以下语法:
Router(config)# ip route network-address subnet-mask exit-intf
在 R3 路由器上,使用 S0/0/0 作为送出接口配置通往 192.168.0.0 网络的静态路由。
R3(config)#ip route 192.168.0.0 255.255.255.0 s0/0/0
查看路由表,检验新添加的静态路由条目。
在主机 PC-A 上,能对主机 PC-C 执行 ping 操作。
配置静态路由
在 R1 路由器上,使用上述步骤中的静态路由配置选项之一配置通往 198.133.219.0 网络的静态路由。在下面空白处写下您使用的命令。
R1(config)# ip route 198.133.219.0 255.255.255.0 10.1.1.2
在 R1 路由器上,使用上述步骤中的另一个静态路由配置选项配置通往 R3 上的 209.165.200.224 网络的静态路由。在下面空白处写下您使用的命令。
R1(config)# ip route 209.165.200.224 255.255.255.224 s0/0/1
从主机 PC-A,能对 R1 地址 198.133.219.1 执行 ping 操作。
删除环回地址的静态路由
在 R1 上,使用 no 命令删除路由表中两个环回地址的静态路由。
R1(config)# no ip route 198.133.219.0 255.255.255.0
R1(config)# no ip route 209.165.200.224 255.255.255.224
查看路由表以检验路由是否已删除。
配置并检验默认路由
在没有获取的路由或静态路由的情况下,默认路由用于确定发送所有 IP 数据包的网关。默认静态路由是将 0.0.0.0 作为目的 IP 地址和子网掩码的静态路由,通常将其称为“全零”路由。
在默认路由中,可以指定下一跳 IP 地址或送出接口。要配置默认静态路由,请使用以下语法:
Router(config)# ip route 0.0.0.0 0.0.0.0 {ip-address or exit-intf}
使用送出接口 S0/0/1 为 R1 路由器配置默认路由。
R1(config)# ip route 0.0.0.0 0.0.0.0 s0/0/1
查看路由表,检验新添加的静态路由条目。
参考资料
《思科网络技术学院教程(第6版):路由和交换基础》,[加] Bob Vachon,[美] Allan Johnson 著,思科系统公司 译,人民邮电出版社
《CCNA 学习指南(第 7 版)》,[美] Todd Lammle 著,袁国忠 徐宏 译,人民邮电出版社