下⾯我们主要讲解⼀下RIP路由协议的内容,包括它的度量⽅法,路由更新,RIP路由协议的缺陷等有关内容。
路由器是我们组⽹当中必不可少的硬件,随着硬件的不断创新,我们所使⽤的协议也越来越复杂。那么最基础的路由协议则是RIP路由协议。RIP路由协议是什么?我们将从下⾯⼏点来了解它的具体功能。RIP(Routing Information Protocols,路由信息协议)是使⽤最⼴泛的距离向量协议,它是由施乐(Xerox)在70年代开发的。当时,RIP是XNS(Xerox Network Service,施乐⽹络服务)协议簇的⼀部分。TCP/IP版本的RIP是施乐协议的改进版。RIP最⼤的特点是,⽆论实现原理还是配置⽅法,都⾮常简单。度量⽅法
RIP的度量是基于跳数(hops count)的,每经过⼀台路由器,路径的跳数加⼀。如此⼀来,跳数越多,路径就越长,RIP算法会优先选择跳数少的路径。RIP⽀持的最⼤跳数是15,跳数为16的⽹络被认为不可达。 路由更新
RIP路由协议中路由的更新是通过定时⼴播实现的。缺省情况下,路由器每隔30秒向与它相连的⽹络⼴播⾃⼰的路由表,接到⼴播的路由器将收到的信息添加⾄⾃⾝的路由表中。每个路由器都如此⼴播,最终⽹络上所有的路由器都会得知全部的路由信息。正常情况下,每30秒路由器就可以收到⼀次路由信息确认,如果经过180秒,即6个更新周期,⼀个路由项都没有得到确认,路由器就认为它已失效了。如果经过240秒,即8个更新周期,路由项仍没有得到确认,它就被从路由表中删除。上⾯的30秒,180秒和240秒的延时都是由计时器控制的,它们分别是更新计时器(Update Timer)、⽆效计时器(Invalid Timer)和刷新计时器(Flush Timer)。 路由循环
距离向量类的算法容易产⽣路由循环,RIP路由协议是距离向量算法的⼀种,所以它也不例外。如果⽹络上有路由循环,信息就会循环传递,永远不能到达⽬的地。为了避免这个问题,RIP等距离向量算法实现了下⾯4个机制。
⽔平分割(split horizon)。⽔平分割保证路由器记住每⼀条路由信息的来源,并且不在收到这条信息的端⼝上再次发送它。这是保证不产⽣路由循环的最基本措施。
毒性逆转(poison reverse)。当⼀条路径信息变为⽆效之后,路由器并不⽴即将它从路由表中删除,⽽是⽤16,即不可达的度量值将它⼴播出去。这样虽然增加了路由表的⼤⼩,但对消除路由循环很有帮助,它可以⽴即清除相邻路由器之间的任何环路。
触发更新(trigger update)。当路由表发⽣变化时,更新报⽂⽴即⼴播给相邻的所有路由器,⽽不是等待30秒的更新周期。同样,当⼀个路由器刚启动RIP路由协议时,它⼴播请求报⽂。收到此⼴播的相邻路由器⽴即应答⼀个更新报⽂,⽽不必等到下⼀个更新周期。这样,⽹络拓扑的变化会最快地在⽹络上传播开,减少了路由循环产⽣的可能性。
抑制计时(holddown timer)。⼀条路由信息⽆效之后,⼀段时间内这条路由都处于抑制状态,即在⼀定时间内不再接收关于同⼀⽬的地址的路由更新。如果,路由器从⼀个⽹段上得知⼀条路径失效,然后,⽴即在另⼀个⽹段上得知这个路由有效。这个有效的信息往往是不正确的,抑制计时避免了这个问题,⽽且,当⼀条链路频繁起停时,抑制计时减少了路由的浮动,增加了⽹络的稳定性。
即便采⽤了上⾯的4种⽅法,路由循环的问题也不能完全解决,只是得到了最⼤程度的减少。⼀旦路由循环真的出现,路由项的度量值就会出现计数到⽆穷⼤(Count to Infinity)的情况。这是因为路由信息被循环传递,每传过⼀个路由器,度量值就加1,⼀直加到16,路径就成为不可达的了。RIP路由协议选择16作为不可达的度量值是很巧妙的,它既⾜够的⼤,保证了多数⽹络能够正常运⾏,⼜⾜够⼩,使得计数到⽆穷⼤所花费的时间最短。 邻居
有些⽹络是NBMA(Non-Broadcast MultiAccess,⾮⼴播多路访问)的,即⽹络上不允许⼴播传送数据。对于这种⽹络,RIP就不能依赖⼴播传递路由表了。解决⽅法有很多,最简单的是指定邻居(neighbor),即指定将路由表发送给某⼀台特定的路由器。 RIP路由协议的缺陷
RIP虽然简单易⾏,并且久经考验,但是也存在着⼀些很重要的缺陷,主要有以下⼏点: 过于简单,以跳数为依据计算度量值,经常得出⾮最优路由; 度量值以16为限,不适合⼤的⽹络; 安全性差,接受来⾃任何设备的路由更新;
不⽀持⽆类IP地址和VLSM(Variable Length Subnet Mask,变长⼦⽹掩码); 收敛缓慢,时间经常⼤于5分钟; 消耗带宽很⼤。
因篇幅问题不能全部显示,请点此查看更多更全内容