RIP(routing information protocol)作为一种距离矢量协议,从开发到现在一直沿用至今,虽然现在使用比较少。但是RIP 还是小型企业使用比较多的,以其配置简单,易于管理等特点。
RIP 特点
距离矢量路由协议;以跳数来计算最佳路径;最大为15 跳,16 跳则不可达;30 秒周期性新;但是为了防止在同一时间内更新包过多,因此,思科路由器的更新时间从25-35S不等。默认四条、最多六条的等价负载均衡;RIPV1:不支持VLSM (更新不包含netmask)、同时路由更新使用UDP端口(520)端口发送广播包进行更新,本版本不支持认证。RIPV2: 更新使用UDP端口(520)端口发送组播地址224.0.0.9进行更新、本版本支持认证。
RIP 协议的运行机制
距离矢量路由选择协议是基于贝尔曼-福特算法的。对于距离矢量路由协议来说,谁是邻居并不重要。距离矢量路由算法将完整的路由表传给相邻路由器,然后这个路由器再把收到的表的选项加上自己的表来完成整个路由表,这个叫做 routing by rumor (道听途说);因为这个路由是从相邻路由器被动地接受更新而非自己主动地去发现网络中的变化。
更新机制
路由器接收到广播更新后就会查看更新,并将该信息与它当前的路由表进行比较;到新网络的路由或者到已知网络并有更好度量值的路由都将被安装到路由表中;然后继续向外广播它已更新过的路由表。距离矢量路由协议关心目的网络的距离和矢量(路由来源的方向)。在发送更新之前,每台路由器都将它自己的距离值添加到路由器的度量值中。当路由器接收到一个更新时,它将学到的网络与接收接口关联起来。然后路由器将用这个接口来到达相应的目的地。
防环机制
Split Horizon(水平分割)
路由器的某个接口接收到的路由信息不能再从这个接口反向再发送出去。这个方法减少了路由信息的不正确性并使设备负载大大降低。
毒抑反转
一旦B 收到毒抑路由之后,就把这条路由标记为possibly down 状态.当B 的路由更新时间到时之后,把这条毒路由反向发给C 告诉C 我已经知道了,从而确保链路上相连的设备都知道毒抑路由的消息,确保正确性.路由毒抑超越水平分割.也就是说水平分割对毒抑路由不起作用。
Holddown Timers(抑制计时)
抑制计时是直接由触发更新设定的。如果一个路由条目无效,相连的路由器就会发出触发更新,而触发更新里包含的就是这条失效路由的抑制时间。
原理:一个路由条目失效后,一段时间内这条路由处于抑制状态,即在一个特定时间段内不再接收关于这条路由的任何路由更新.然而在下列情况下,抑制时间解除:
1.抑制计时器超时。
2.收到一个更好度量值的路由更新(小于原来的度量值)。
3.刷新时间到时。
设置为无穷大
比如RIP 约定16 跳就是无穷大值.一旦距离达到这个值,这条路由将标记为possible down 状态,但不会马上从路由表中清除,因为没有到达刷新时间,这个时候如果有数据流的话,仍旧被进行环回,直到刷
新时间到时.所以,现在已经很难再见到距离矢量路由协议的身影,除非网络比较简单。
Route Poisoning(路由毒抑)
计数到无穷不能从根本上避免路由环路.因为C 并没有明确指明10.4.0.0路由不可用,因此,还需要经过一段时间才能到达16 跳或刷新时间,明显不好.路由毒抑就是在C 通告这条损坏的路由时,明确告诉邻居这条路由已经坏了,不需要计数到无穷,加快了收敛的时间。
Triggered Updates(触发更新)
触发更新和正常的RIP 更新不一样;当路由表发生变化时,更新信息立即广播给邻居路由器,然后进行扩散,而无需等待30 秒的周期.同样,当一个路由器刚启动RIP 时,它广播(请求分组),收到此消息的邻居路由器立即应答一个更新报文,而不必等到下一个更新周期.这样,拓扑的改变会很快传播到全部RIP 网络,大大减少了收敛的时间.