(4)Flags:标志字段,这里可能出现U,G,H,D,M,R等,U表示可用;G表示Gateway字段是个路由器,否则表示是个直接出口;H表示Destination是个主机IP地址,没有H表示Destination是网络地址;D表示该路由项由ICMP重定向报文创建;M表示该路由项由ICMP报文修改而来;R表示由动态选路协议恢复的路由项。
IP选路规则:
每当主机要发送IP数据包,都要先搜索路由表,以确定往哪个接口发送数据,并确定下一站路由器,具体的搜索过程如下
(1)搜索匹配的主机地址;
(2)搜索匹配的网络地址;
(3)搜索默认路由。
如果通过以上三个步骤之后都没有匹配的路由项(没有默认路由),则产生主机不可达或者网络不可达ICMP差错报文。
导致路由表发生改变的方法或原因:
(1)可以通过route add或者route del来增加或者删除路由项;
(2)ICMP重定向报文导致接收主机修改或者增加路由项;
(3)ICMP路由通告报文也往往会导致路由表发生变化;
(4)动态选路协议(RIP,OSPF等)导致路由表不断更新。
一般认为,主机在引导以后要广播或多播传送一份路由器请求报文。一台或更多台路由器响应一份路由器通告报文。另外,路由器定期地广播或多播传送它们的路由器通告报文,允许每个正在监听的主机相应地更新它们的路由表。
路由器操作
当路由器启动时,它定期在所有广播或多播传送接口上发送通告报文。准确地说,这些通告报文不是定期发送的,而是随机传送的,以减小与子网上其他路由器发生冲突的概率。一般每两次通告间隔450秒和600秒。一份给定的通告报文默认生命周期是30分钟。
使用生命周期域的另一个时机是当路由器上的某个接口被关闭时。在这种情况下,路由器可以在该接口上发送最后一份通告报文,并把生命周期值设为0.除了定期发送主动提供的通告报文以外,路由器还要监听来自主机的请求报文,并发送路由器通告报文以响应这些请求报文。如果子网上有多台路由器,由系统管理员为每个路由器设置优先等级。例如,主默认路由器就要比备份路由器具有更高的优先级。
主机操作
主机在引导期间一般发送三份路由器请求报文,每三秒钟发送一次。一旦接收到一个有效的通告报文,就停止发送请求报文。主机也监听来自相邻路由器的请求报文。这些通告报文可以改变主机的默认路由器。另外,如果没有接收到来自当前默认路由器的通告报文,那么默认路由器会超时。只要有一般的默认路由器,该路由器就会每隔10分钟发送通告报文,报文的生命周期是30分钟。这说明主机的默认表项是不会超时的,即使错过一份或两份通告报文。
路由选择协议基础:
使用协议来查找网络并更新路由表的配置就是动态路由。
名词解释:
AS(Autonomous System 自治系统):AS是基于共同管理域下的网络集合,在同一个AS中所有的路由器共享相同的路由表信息。
IGP(Interior Gateway Protocol 内部网关协议):用于同一个AS中的路由器间交换路由选择信息。
EGP(Exterior Gateway Protocol 外部网关协议):用于AS之间通信。
AD(Administrative Distance 管理距离):衡量接收来自相邻路由器上路由选择信息的可信度,0(最可信)到255(不使用该路由)之间。
提示:如有一个路由器接收到多条对同一远程网络的更新内容后,路由器首先检查AD,较低AD的路由条目会被放在路由表中。如果多条被通告到同一网络的路由具有相同的AD值,具有较低度量值的路由将被放在路由表中。如果多条被通告的路由具有相同的AD和相同的度量值,那么路由协议会对这一远程网络使用负载均衡。