互联网的路由选择协议
路由器转发表的路由协议如何得出呢?
使用路由算法进行,路由算法可以分为两类:
静态路由选择策略和动态路由选择策略。
静态路由选择策略:
非自适应路由选择,人工配置每一条路由。
动态路由选择策略:自适应路由,但配置比较复杂。
互联网使用的路由协议主要是动态的,分布式的路由选择协议。
将互联网划分为多个自治系统AS(autononmous system),之所以是因为有两方面的原因:(1)互联网过于庞大,如果让所有路由器彼此交换信息,过于复杂。
(2)有些信息比较隐私或秘密,只希望在小范围网络传播。
因此将路由选择协议划分为两大类:
(1)IGP(interior gateway protocol)内部网关协议,使用最多的是RIP和OSPF协议。
(2)EGP(external gateway protocol)外部网关协议
使用最多的是BGP-4;
自治系统内部使用内部网关协议,自治系统之间使用外部网关协议。
(1)内部网关协议RIP(routing information protocol),即路由信息协议,
【工作原理】
每个路由器维护本身到目的网络的距离,每经过一个路由器距离加一(经过相邻的不同网络要一个路由器转发),路由器与直接相连的网络距离也是1.一条路径最多能包含15个网络 ,当距离为16时候表示网络不可达。经过距离数也叫跳数。
工作特点:
只和相邻路由器交换信息:
交换的信息是路由器本身已知的信息,即自己的路由表,路由信息包含目的网络,到本内部自治系统的目的网络距离以及下一跳的路由器。
按固定时间交换信息:
主机也运行RIP协议,但其只能被动接收信息,而不能发出路由信息。(发出是路由表特定功能)
每个路由器刚刚运行时候,路由表为空,那么它设置本身与直接相连的网络的距离为1,然后与相邻路由器交换路由信息, 经过若干次交换,最终每个路由器路由表都得到了更新。
下面介绍具体更新算法,大家不要着急,讲的会比较详细:
(1)对地址为x的路由器发来的信息,先修改,具体做法是将距离字段都加一,然后将下一跳的路由器字段都改为x,这个很好理解,下一跳字段改为相邻路由器x的地址,自身作为中转,加的一就是本路由器与x的距离,
(2)逐个比较自身路由表每条信息与收到的信息,决定是否更新,这里有好几种情况;
(2).1消息的目的网络和路由表中的目的网络不相同,此时表明是一个新的网络,直接添加即可。
(2).2如果相同,再比较消息的下一跳路由器与路由表的下一条路由器,如果相同,那么直接将其替换路由表的消息,因为这是最新消息,网络有时会状态发生变化,因此以最新的为标准。
(2).3 如果消息的下一跳路由器与路由表的下一条路由器不相同,那么此时接着比较距离,如果消息的距离字段比路由表的距离字段小,那么替换路由表信息,因为选择最短距离为方案发送。
(2).4如果相同或者更大,那么不进行处理,否则没有意义。
(3)如果三分钟还没有收到相邻路由器更新信息,则为不可达,距离字段为16;
例题:
路由器F的路由表如下,现在收到了相邻路由器D转发的信息:
先进行(1),将 其修改如下;
选择路由信息的第一条,目的网络在路由表不存在,直接添加即可。对应(2).1;
选择路由信息第二条“N2 5 D”,与路由表“N2 3 D”比对时候,发现目的网络相同,下一跳路由器也相同,距离更大,则更新,以最新消息为主,对应(2).2;
选择路由信息第三条:“N3 2 D”与路由表信息“N3 4 E”比较发现,目的网络相同,下一跳路由器不相同,距离更小,发现了更近路径,那么更新。对应规则(2).3;