TCP/IP之六:路由表与IP选路
路由表:为了说明路由表的组成,先看下我的主机路由表:1: 内核 IP 路由表2: DestinationGatewayGenmaskFlagsMSS Windowirtt Iface3: 10.0.2.0*255.255.255.0U0 00 eth04:
·
路由表:
为了说明路由表的组成,先看下我的主机路由表:
1: 内核 IP 路由表
2: Destination Gateway Genmask Flags MSS Window irtt Iface
3: 10.0.2.0 * 255.255.255.0 U 0 0 0 eth0
4: link-local * 255.255.0.0 U 0 0 0 eth0
5: default 10.0.2.2 0.0.0.0 UG 0 0 0 eth0
对路由表的说明
(1)Destination:目的IP地址或网络地址;
(2)Gateway:即下一站路由器,*表示无须经过下一站路由器就可以直接到达目的地址或目的网络;
(3)Genmask:子网掩码;
(4)Flags:标志字段,这里可能出现U,G,H,D,M,R等,U表示可用;G表示Gateway字段是个路由器,否则表示是个直接出口;H表示Destination是个主机IP地址,没有H表示Destination是网络地址;D表示该路由项由ICMP重定向报文创建;M表示该路由项由ICMP报文修改而来;R表示由动态选路协议恢复的路由项。
多数系统内核对路由表的实现都包含上述内容,其它字段视系统而定。
查看路由表的方法:
(1)netstat –r
(2)route
(3)查看相关文件:/proc/net/route
IP选路规则:
每当主机要发送IP数据包,都要先搜索路由表,以确定往哪个接口发送数据,并确定下一站路由器,具体的搜索过程如下
(1)搜索匹配的主机地址;
(2)搜索匹配的网络地址;
(3)搜索默认路由。
如果通过以上三个步骤之后都没有匹配的路由项(没有默认路由),则产生主机不可达或者网络不可达ICMP差错报文。
导致路由表发生改变的方法或原因:
(1)可以通过route add或者route del来增加或者删除路由项;
(2)ICMP重定向报文导致接收主机修改或者增加路由项;
(3)ICMP路由通告报文也往往会导致路由表发生变化;
(4)动态选路协议(RIP,OSPF等)导致路由表不断更新。
ICMP重定向报文格式:
ICMP路由器请求报文格式:
ICMP路由器通告报文格式:
对于ICMP路由器通告报文的第二行的三个字段,这里详细说明一下:地址数是指该报文中接下来包含的IP地址项项数;地址项长度指的是每个地址项的长度(以4字节为单位,一般值为2);生存时间说明这些路由项的生存时间,以秒(s)为单位。
更多推荐
已为社区贡献2条内容
所有评论(0)