1.静态IP选路
1.1 简单的路由表
对于一个给定的路由器,可以有5中不同的标签,如下:
U表明该路由可用。
G表明该路由是到一个网关。如果没有这个标志,说明和Destination(目标)是直连的,而相应的Gateway(网关)应该直接给出Destination的地址。
H表明该路由是到一个主机,如果没有该标志,说明Destination是一个网络,换句话说Destination就应该写成一个网络号和子网号的组合,而不包括主机号(主机号码处为0),例如 192.168.11.0
D表明该路由是为重定向报文创建的
M该路由已经被重定向报文修改
具体分析如下:
G说明这是一个网关,如果你要发数据给Destination,IP头应该写Destination的IP地址,而数据链路层的MAC地址就应该是GateWay的Mac地址了;反之,如果没有G标志,那么数据链路层和IP层的地址应该是对应的。
H说明了Destination的性质,如果是H的,则说明该地址是一个完整的地址,既有网络号又有主机号,那么再匹配的时候就既要匹配网络号,又要匹配主机号;反之,Destination就代表一个网络,在匹配的时候只要匹配一下网络号就可以啦。
IP选路的方式总结:
首先用IP地址来匹配那些带H标志的DestinationIP地址。
如果失败就匹配那些网络地址。
如果再失败就发送到Default网关,顺便提一下GenMask(子网掩码),它指定了目的地址的子网号,如第一个的子网为11。
补充:当一个IP包在某一个路由器的时候发现没有路由可走,那么该路由器就会给源主机发送“主机不可达”或者“网络不可达”的ICMP包来报错。
1.2 ICMP的IP重定向报文
当IP包在某一个地方转向的时候,都回给发送IP报的源主机一个ICMP重定向报文,而源主机就可以利用这个信息来更新自己的路由表,这样,随着网络通信的逐渐增多,路由表也就越来越完备,数据转发的速度也会越来越快。我们需要注意的是:
重定向报文只能由路由器发出。
重定向报文为主机所用,而不是为路由器所用。