Chinaunix首页 | 论坛 | 博客
  • 博客访问: 120358
  • 博文数量: 22
  • 博客积分: 395
  • 博客等级: 下士
  • 技术积分: 228
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-28 13:39
文章分类

全部博文(22)

文章存档

2013年(2)

2012年(4)

2011年(16)

我的朋友

分类: 网络与安全

2011-07-14 16:47:23

简介
  (RIP/RIP2/RIPng:Routing Information Protocol)
  作为一种内部网关协议或 IGP(内部网关协议),路由选择协议应用于 AS 系统。连接 AS 系统有专门的协议,其中最早的这样的协议是“EGP”(外部网关协议),目前仍然应用于因特网,这样的协议通常被视为内部 AS 路由选择协议。RIP 主要设计来利用同类技术与大小适度的网络一起工作。因此通过速度变化不大的接线连接,RIP 比较适用于简单的校园网和区域网,但并不适用于复杂网络的情况。
  RIP 2 由 RIP 而来,属于 RIP 协议的补充协议,主要用于扩大 RIP 2 信息装载的有用信息的数量,同时增加其安全性能。RIP 2 是一种基于 UDP 的协议。在 RIP2 下,每台主机通过路由选择进程发送和接受来自 UDP 端口520的数据包。
  RIP的特点
  (1)仅和相邻的路由器交换信息。如果两个路由器之间的通信不经过另外一个路由器,那么这两个路由器是相邻的。RIP协议规定,不相邻的路由器之间不交换信息。
  (2)路由器交换的信息是当前本路由器所知道的全部信息。即自己的路由表。
  (3)按固定时间交换路由信息,如,每隔30秒,然后路由器根据收到的路由信息更新路由表。
适用
  RIP 和 RIP 2 主要适用于 IPv4 网络,而 RIPng 主要适用于 IPv6 网络。本文主要阐述 RIP 及 RIP 2。
  RIPng:路由选择信息协议下一代(应用于IPv6)
  (RIPng:RIP for IPv6)RIPng与RIP 1和 RIP 2 两个版本不兼容。
  RIP协议的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数就加1。RIP认为好的路由就是它通过的路由器的数目少,即“距离短”。RIP允许一条路径最多只能包含15个路由器。因此“距离”等于16时即相当于不可达。可见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个机制。
1:水平分割(split horizon)。水平分割保证路由器记住每一条路由信息的来源,并且不在收到这条信息的端口上再次发送它。这是保证不产生路由循环的最基本措施。
2:毒性逆转(poison reverse)。当一条路径信息变为无效之后,路由器并不立即将它从路由表中删除,而是用16,即不可达的度量值将它广播出去。这样虽然增加了路由表的大小,但对消除路由循环很有帮助,它可以立即清除相邻路由器之间的任何环路。
3:触发更新(trigger update)。当路由表发生变化时,更新报文立即广播给相邻的所有路由器,而不是等待30秒的更新周期。同样,当一个路由器刚启动RIP时,它广播请求报文。收到此广播的相邻路由器立即应答一个更新报文,而不必等到下一个更新周期。这样,网络拓扑的变化会最快地在网络上传播开,减少了路由循环产生的可能性。
4:抑制计时(holddown timer)。一条路由信息无效之后,一段时间内这条路由都处于抑制状态,即在一定时间内不再接收关于同一目的地址的路由更新。如果,路由器从一个网段上得知一条路径失效,然后,立即在另一个网段上得知这个路由有效。这个有效的信息往往是不正确的,抑制计时避免了这个问题,而且,当一条链路频繁起停时,抑制计时减少了路由的浮动,增加了网络的稳定性。

即便采用了上面的4种方法,路由循环的问题也不能完全解决,只是得到了最大程度的减少。一旦路由循环真的出现,路由项的度量值就会出现计数到无穷大(Count to Infinity)的情况。这是因为路由信息被循环传递,每传过一个路由器,度量值就加1,一直加到16,路径就成为不可达的了。RIP选择16作为不可达的度量值是很巧妙的,它既足够的大,保证了多数网络能够正常运行,又足够小,使得计数到无穷大所花费的时间最短。

RIP的缺陷:RIP虽然简单易行,并且久经考验,但是也存在着一些很重要的缺陷,主要有以下几点:
过于简单,以跳数为依据计算度量值,经常得出非最优路由;
度量值以16为限,不适合大的网络;
安全性差,接受来自任何设备的路由更新;
不支持无类IP地址和VLSM(Variable Length Subnet Mask,变长子网掩码);
收敛缓慢,时间经常大于5分钟;
消耗带宽很大。
阅读(1036) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~