linux下通过route可以查看本地路由表:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default localhost 0.0.0.0 UG 0 0 0 eth1
link-local * 255.255.0.0 U 1000 0 0 eth1
192.168.1.0 * 255.255.255.0 U 2 0 0 eth1
Destination为目的网络地址,Genmask是子网掩码,Gateway是下一跳地址,Iface是发送接口,Flags中U代表此条目有效(可以禁用某些条目),
G标志表示此条目的下一跳地址是某个路由器地址,没有G标志的条目表示目的网络地址是与本机接口直接相连的网络,不必经过路由器转发,
因此下一跳地址记为*号。
如果要发送一个数据包,首先该数据包的目的地址首先与子网掩码做与运算,得到IP地址后与目的地址比较,相等则从此条路由的接口Iface将数据包发送出去;
不相等,与第二行的子网掩码做与运算,比对目的地址。
若与前面几个路由条目都不匹配,那么就按缺省路由条目的接口把数据包发送出去,让下个路由器按它的路由表决定下一跳地址。
原文:http://www.cnblogs.com/embedded-linux/p/4986950.html