路由表介绍

路由表项的种类

  • 网络路由:一个在网络中有特定网络ID的路由(路径)

  • 主机路由:一个有特定网络地址(网络ID和主机ID)的路由。主机路由允许智能化的路由选择。主机路由通常用于创建用于控制和优化特定网络通信的定制路由。

  • 默认路由:一个当别的路由在路由表中未被找到的时候使用的路由。如果一个路由器或终端系统(如装有Microsoft Windows和Linux的个人电脑),找不到到达目的地的路由时就会使用默认路由。

路由表项的构成

  • 网络ID(主键) 由IP加子网掩码构成

  • 代价 用来路径决策

  • 下一跳 下一跳地址或网关地址

实例路由说明

  • 0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.110 276

    这是一条“默认路径”。表示,当该主机发送数据包时,如果在路由表内找不到其他可以用来发送此数据包的路径时,该数据包会通过这条“默认路径”来发送,也就是说“接口” 192.168.1.110 这个IP发出,然后送给网关 192.168.1.1 。

  • 127.0.0.0 255.0.0.0 在链路上 127.0.0.1 306

    这是“环回网络路径”(loopback network route)。当该主机发送的数据包给 IP 地址的形式如 127.x.y.z 这种地址时,这个数据包会从接口 127.0.0.1 这个 IP 地址送给目标,而无需经过路由器。从 “在链路上” 也提示了这一点。IP 地址 127.x.y.z 是计算机内部使用的 IP 地址,通过该地址计算机将数据包发送给自己,一般情况下我们常使用 127.0.0.1 。

  • 192.168.1.0 255.255.255.0 在链路上 192.168.1.110 276

    这是“直接连接的网络路径”(directly-attached network route)。所谓直接连接的网络就是指该主机所在的网路,这里为 192.168.1.10 ,此路径表示当该主机往此网络里的主机发送数据包时,数据包会从接口 192.168.1.110 这个 IP 发出,由“网关”处的标识“在链路上”知道,该数据包将直接发送给目标,而不需要通过路由器来转发。

  • 192.168.1.110 255.255.255.255 在链路上 192.168.1.110 276

    这条路径是“主机路径”(host route)。当该主机要把数据包发送到 192.168.1.110(发给自己)时,该数据包会从 192.168.1.110 上发出,然后发给自己,也不需要通过路由器来转发.

  • 192.168.1.255 255.255.255.255 在链路上 192.168.1.110 276

    该路径是“子网广播路径”(subnet broadcast route)。它表示的是,当该主机要发送数据包到 192.168.1.255 这个广播地址时(也就是要广播给 192.168.1.0 这个子网内的所有计算机),该数据包会通过 192.168.1.110 这个地址发出。同样,通过在“链路上”的提示知道,该数据包也不需要通过路由器。

  • 224.0.0.0 240.0.0.0 在链路上 192.168.1.110 276

    该条路径是“多播路径”(multicast route)。表示该主机发送多播数据包时,该数据包会通过 192.168.1.110 这个 IP 发出,同样从“在链路上”知道数据包直接发送给目标,而不需要经过路由器。

  • 255.255.255.255 255.255.255.255 在链路上 192.168.1.110 276

    该路径是“有限广播路径”( limited broadcast route )。它表示当该主机要发送广播数据包到 255.255.255.255 (有限广播地址)时,该数据包会通过 192.168.1.110 发出,同样道理该数据包也不需要通过路由器。
    当主机不知道本机所处的网络时(如主机启动时),此时只能采用有限广播方式,比如无盘工作站启动时,希望从 DHCP 服务器那里获得一个 IP 时,就会用该方式。

路由表操作

命令形式

1
route [-f] [-p] [command [destination] [mask netmask] [gateway] [metric metric] [if interface]

参数说明

  • -f

    • 清除所有不是主路由(子网掩码为255.255.255.255的路由)、环回网络路由(目标为127.0.0.0,子网掩码为255.255.255.0的路由)
      或多播路由(目标为224.0.0.0,子网掩码为240.0.0.0的路由)的条目的路由表。

    • 如果它与命令之一(例如Add、Change或Delete)结合使用,表会在运行命令之前清除。

  • -p

    • 与Add命令共同使用时,指定路由被添加到注册表并在启动TCP/IP协议的时候初始化IP路由表

    • 默认情况下,启动TCP/IP协议时不会保存添加的路由

    • 与Print命令一起使用时,则显示永久路由列表

    • 所有其他的命令都忽略此参数

    • 永久路由存储在注册表中的位置是HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\PersistentRoutes

  • command

    • print

    • add

    • delete

    • change

  • destination

    指定路由的网络目标地址。

    • 可以是网络号(主机位为0的IP)

    • 对于具体主机是其IP地址

    • 对于默认路由是0.0.0.0

  • mask netmask

    指定与网络目标地址相关联的网掩码(又称子网掩码)。

    子网掩码对于IP网络地址可以是一适当的子网掩码

    -   对于主机路由是255.255.255.255
    
    -   对于默认路由是0.0.0.0
    
    -   如果忽略,则使用子网掩码255.255.255.255
    

    注意:

    • 定义路由时由于目标地址和子网掩码之间的关系,目标地址不能比它对应的子网掩码更为详细。换句话说,如果子网掩码的一位是0,则目标地址中的对应位就不能设置为1。
  • gateway

    网关,又叫做下一跳路由器

    • 网关与主机位于同一个局域网内,可以直达的!

    • 当目标网络与主机不在同一局域网,则需要网关转发

    • 目标网络与主机所属同一个局域网,则显示为在链路上,说明无需路由器转发,可直达

  • interface

    当多网卡时,指示哪个接口(可以是环回接口,LAN,VPN拨号接口等)可以到达gateway

    如:

    网络目标        网络掩码          网关       接口   跃点数
      0.0.0.0          0.0.0.0    100.100.103.1    100.100.103.3    200
    

    网关100.100.103.1通过100.100.103.3可以到达

    1
    2
    3
    4
    5
    6
    7
    8
    9
    ===========================================================================
    接口列表
    11...74 d4 35 46 3c 8e ......Realtek PCIe GBE Family Controller
    15...00 ff e7 a5 e8 50 ......TAP-Windows Adapter V9
    16...08 00 27 00 94 09 ......VirtualBox Host-Only Ethernet Adapter
    22...00 50 56 c0 00 01 ......VMware Virtual Ethernet Adapter for VMnet1
    23...00 50 56 c0 00 08 ......VMware Virtual Ethernet Adapter for VMnet8
    1...........................Software Loopback Interface 1
    ===========================================================================
  • metric

    跃点数,用来描述路由质量,当存在多条路由时,择优依据

command

  • route print

    E:\Test>route print
    ===========================================================================
    接口列表
    接口号  MAC                   描述
     34...........................NYDUS_VPN
     15...00 ff e7 a5 e8 50 ......TAP-Windows Adapter V9
     12...00 0f 13 76 05 b2 ......Realtek RTL8188CU Wireless LAN 802.11n USB 2.0 Net
    work Adapter
     16...08 00 27 00 94 09 ......VirtualBox Host-Only Ethernet Adapter
     23...00 50 56 c0 00 01 ......VMware Virtual Ethernet Adapter for VMnet1
     24...00 50 56 c0 00 08 ......VMware Virtual Ethernet Adapter for VMnet8
      1...........................Software Loopback Interface 1
    ===========================================================================
    
  • 清空路由表项

    route -f
    
  • 添加路由表项

    route -p add 192.192.0.0 mask 255.255.0.0 100.100.102.1 if 11
    
  • 删除路由表项

    route delete 192.192.0.0
    
  • 查找路由表项

    route print|findstr 192.192
    

疑问

  • 为什么存在100.100.103.3 255.255.255.255 在链路上 100.100.103.3 356?

    为什么不是通过127.0.0.1而是100.100.103.3

参考

  1. http://zh.wikipedia.org/wiki/%E8%B7%AF%E7%94%B1%E8%A1%A8
  2. http://en.wikipedia.org/wiki/Routing_table
  3. https://msdn.microsoft.com/zh-cn/library/cc787509(v=ws.10).aspx
  4. http://www.groad.net/bbs/thread-8080-1-1.html

留言