添加数据包通往远程目的地的路由时,使用默认网关地址作为下一跳。通过配置也可以为主机手动添加路由,但这种做法并不常见。

 
与终端设备一样,路由器也将其连接的网络的路由添加到自己的路由表中。当路由器接口配置了 IP 地址和子网掩码时,此接口就成为该网络的一部分。此时,该网络会作为直接连接的网络包含于路由表中。但是,所有其它路由则必须配置或通过路由协议获取。要转发数据包,路由器必须知道它的发送目的。此信息在路由表中作为路由提供。
 
路由表存储了有关连接的网络和远程网络的信息。连接的网络直接连接到路由器接口之一。这些接口是不同本地网络中主机的网关。远程网络是不直接与该路由器连接的网络。通往这些网络的路由可以由网络管理员在路由器上手动配置,也可以使用动态路由协议自动获取。
 
路由表中的路由有三个主要特点:
  • 目的网络
  • 下一跳
  • 度量
路由器将数据包报头中的目的地址与路由表中某个路由的目的网络匹配,然后将数据包转发到该路由指定的下一跳路由器。如果有两个或多个路由均可到达同一个目的网络,则使用度量来决定应在路由表中显示的路由。
 
如图所示,使用 show ip route 命令可以检查 Cisco 路由器中的路由表。
 

 
 
我们已经学过的,路由器如果没有路由就无法转发数据包。如果代表目的网络的路由不在路由表中,该数据包将会被丢弃(即不转发)。匹配的路由可能是连接的路由或通往远程网络的路由。路由器也可使用默认路由来转发数据包。当路由表中的所有其它路由都不代表目的网络时,就会使用默认路由。 
主机路由表
 
主机要创建用于转发其发送的数据包的路由。这些路由源于连接的网络和默认网关的配置。
 
主机会将所有连接的网络自动添加到路由。本地网络的这些路由可以使数据包传送到与这些网络连接的主机。
 
主机还需要本地路由表才能确保网络层数据包转发到正确的目的网络。与路由器中包含本地路由和远程路由的路由表不同,主机的本地路由表一般包含的是其直接连接或与网络之间的连接以及自己到网关的默认路由。在主机上配置默认网关地址就会创建本地默认路由。
 
如图所示,在命令行中发出 netstat -r、route 或 route PRINT 命令可以检查计算机主机的路由表。
 
 

 
在某些情况下,您可能希望主机指示更加具体的路由。使用 route 命令的下列选项可以修改路由表的内容:
 
route ADD
route DELETE
route CHANGE