[原创]关于路由表及路由选择算法
进行路由选项择要求主机或路由器装有路由表.路由表包括七个段:掩码、目的地址、下一跳地址、标志、引用计数、使用、结口.
(1)掩码:用于计算网络地址,请参考鄙人在论坛上发表的关于ip地址介绍的文章.
(2)目的地址:定义目的主机地址或目的网络地址.
(3)下一跳地址:定义了分组必须交付到下一跳路由器的地址。
(4)标志:有5个标志。U(工作),G(网关),H(特定主机),D(因改变路由而增加的)和M(因改变路由而修改的)。
U:表示路由器在工作,无法转发其它分组,而被丢弃。
G:指出目的端是另一网络。没有这个标志就表示目的端是本网络。
H:表示地址字段项目是特定主机地址。
D和E:这里先不介绍。
(5)引用计数:当前使用本路由器的用户。
(6)使用:经过本路由器发送到相应目的端口的分组数。
(7)结口:定义结口名字 。
例:
路由器R1的路由表如下
掩码 目的地址 下一跳 标志 引用计数 使用 结口
255.0.0.0 111.0.0.0 - u 0 0 m0
255.255.255.224 193.14.5.160 - u 0 0 m2
255.255.255.224 193.14.5.192 - u 0 0 m1
.... .... ... .. .. .. ..
255.255.255.255 194.17.21.16 111.20.18.14 ugh 0 0 m0
255.255.255.0 192.16.7.0 111.15.17.32 ug 0 0 m0
255.255.255.0 194.16.21.0 111.20.18.14 ug 0 0 m0
0.0.0.0 0.0.0.0 111.30.31.18 ug 0 0 m0
算法:路由器接收的目的地址组逐行与掩码进行and 操作,结果与表中的目的地址批匹配为止
例1:R1接收500个分组,其目的地址为192.16.7.14
192.16.7.14 and 255.255.255.0 =192.16.7.0 与表中第6行的目的地址匹配
R1通过m0把分组连同ip(192.16.7.14)一起发给111.15.17.32处理
标志为有ug,那么111.15.17.32代表的是另一网络。把使用字段增加500,引用计数置1.
例2:R1接收100个分组,其目的地址为193.14.5.176
192.16.7.14 and 255.255.255.224=193.14.5.160 与表中第2行的目的地址匹配
标志为没有G,所以目的地址与R1为同一网络。直接通过m2把把分组连同ip(193.14.5.176)发送给193.14.5.160
把使用字段增加100,引用计数置1.