windows-路由表
路由表介绍
路由表项的种类
网络路由:一个在网络中有特定网络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