-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span>RIP协议
RIP协议简介
RIP 是Routing Information Protocol(
路由信息协议)的简称,是一种基于D-V算法的简单动态路由协议,主要用于小型网络。它通过UDP交换路由信息,每隔30秒向外发送一 次更新报文(将自己所有的路由表都发送给邻居)。如果路由器经过180秒没有收到来自对方端的路由更新报文,则将所有来自此路由器的路由信息标志为不可 达,如果在其后120 秒内仍未收到更新报文,就将该条路由从路由表中删除。
RIP使用跳数来衡量到达目的网络的距离,路由器到与它直接相连网络的跳数为0,通过一个路由器可达网络的跳数为1,其余依此类推。为限制收敛
时间,RIP规定metric最大跳数为15,高于此的都不可达,这是限制RIP不能用于大型网络的主要因素。
RIP协议处于UDP协议的上层,RIP所接收的路由信息都封装在UDP的
数据报中,RIP在520号端口上接收来自远程路由器的路由修改信息,并对本地的路由表做相应地修改,同时通知其他路由器。通过这种方式,达到全局路由的同步。
RIP协议的实现
系统初始化
1.RIP启动时的初始路由表仅包含本路由器的一些直连
接口路由。
2.RIP协议启动后向各接口广播一个Request报文。
3.邻居路由器的RIP协议从某接口收到Request报文后,根据自己的路由表,形成Response报文向该接口对应的网络广播。
4.RIP接收邻居路由器回复的包含邻居路由器路由表的Response报文,形成自己的路由表。
路由更新
RIP协议以30秒为周期用Response报文广播自己的路由表。
收到邻居发送而来的Response报文后,RIP协议计算报文中路由项的度量值,比较其与本地路由表路由项度量值的差别,更新自己的路由表。
报文中路由项度量值的计算公式为:metric=MIN(metric + cost, 16)。其中metric为报文中携带的度量值信息,cost为接收报文的网络的度量值开销,缺省为 1(1 跳),16代表不可达。
RIP配置(以Cisco的路由器为例)
Router(config)#router rip—启动RIP路由协议
AH_CZ_TC_2500(config-router)# network [network range | all]—指定工作网段,RIP只在指定网段上的接口工作;对于不在指定网段上的接口,RIP既不在它上面接收和发送路由,也不将它的接口路由转发出去。
AH_CZ_TC_2500(config-router)# version  [1|2—指定RIP的版本
AH_CZ_TC_2500(config-router)# maximum-paths [1-6]—指定等价路由的最多使用条数
AH_CZ_TC_2500(config-router)# passive-interface e0—可以使eth0口只接收RIP分组,但不发送rip分组,这个命令只有在需要的时候才配置。
AH_CZ_TC_2500(config-router)#int s0—进入单独的接口进行配置
AH_CZ_TC_2500(config-if)#ip rip [send|receive] version [1|2]—可以指定某个接口做发送或接口
功能,并且执行哪一个版本的RIP
AH_CZ_TC_2500(config-if)#ip split-horizon—可以设置是否启用水平分割
由于此处命令太多,不一一例举,具体命令格式可以参考Cisco网站或其他命令参考手册。

注意:RIP-1采用广播形式发送报文;RIP-2有两种传送方式,广播方式和多播方式,缺省将采用多播发送报文。多播发送报文的好处是在同一网 络中那些未运行RIP的主机可以避免接收RIP的广播报文。当接口运行RIP-1时,只接收和发送RIP-1与RIP-2广播报文,不接收RIP-2多播 报文;当接口运行在RIP-2多播方式时,只接收和发送RIP-2多播报文,不接收RIP-1与RIP-2广播报文。在缺省情况下,一个接口既可接收 RIP更新报文,也可发送RIP更新报文。
IGRP协议
由 于RIP协议Metric最大只能是15,严重制约了RIP协议不能在中、大型的
网络上使用,于是Cisco推出了IGRP(Interior Gateway Routing Protocol)协议。这是一种Cisco的私有协议,目前只能在Cisco的路由器上使用。该协议的路由算法也是D-V算法,但是该协议影响路由选择 的不再是单纯RIP中的跳数,带宽、网络时延、负载、可靠性都被用于路由选择,可以为每一种Metric设置权值。IGRP不仅支持等值路由的带宽均衡或 主备用,而且支持不等值带宽的负载均衡(负载百分比均衡),例如如果一条线路是另外一条线路是四倍,则它所承载的通信数据量也是另外一条线路的四倍。该协 议允许跳数最大可达255,这样就能在中等或者大型网络上使用。
IGRP的Metrics计算方法
在IGRP中Metrics是由时延(Delay)、带宽(BandWidth,简称BW)、负载(Load)和可靠性(Reliability)四个要素组成。
在 IGRP中,前两个要素都是单独用一个24bit的字段来存储,后两个要素是用8bit的字段来存储。带宽单位是Kbps(IGRP中的 BW=10000000/实际带宽),如果实际带宽为10M,则IGRP中的BW=10000000/10240;时延的单位是微秒,IGRP中的时延 DLY=实际时延/10,0xFFFFFF为不可达,这个值大约为167.8秒,因此IGRP支持的最大时延约为167秒;负载和可靠性因为用8bit字 段来存储,所以最大值都是0xFF,实际值=该值/255这点也不难理解了。
IGRP的Metric完整公式为:
Metric=[k1*BW( IGRP)+k2*BW(IGRP)/(256-load)+k3*DLY(IGRP)]*[k5/(RELY+k4)]
其 中BW是取到目标地址所经出口的最小,DLY(IGRP)是沿途的DLY(IGRP)的总和。k1,k2,k3,k4和k5 是可配置的加权(weight)值,默认这些值是k1=k3=1,k2=k4=k5=0,这就是为什么默认也只有带宽(BW)和延时(DLY)两个要素起 作用的原因,可以通过下面的命令进行修改:
metric weights {tos k1 k2 k3 k4 k5}
tos 参数目前没有使用,设置为0。
如果k1到k5使用默认值,那么公式简化为:
metric=k1*BW(IGRP)+k3*DLY(IGRP)
IGRP也支持水平分割、路由中毒、触发更新等预防路由环路的机制。

路由更新机制
由于RIP更新太快(默认30秒),而且是将路由表所有内容都全部广播或组播发出去,严 重影响网络性能,IGRP增大了更新周期,在缺省情况下,IGRP每90秒发送一次路由信息广播,如果在3个周期内没有收到该路由的路由更新,则设置该路 由为不可达,在7个周期内没收到,则从路由表中删除该路由。
负载均衡
和RIP一样,IGRP也支持最多六条用于负载均衡的等价路由,而且IGRP还扩展了负载均衡的概念。比RIP等价路由更先进的是,它还支持多条不等价路由,能够对那些在多条路径上流动、而对各自目的地又有不同度量的
数据流做负载均衡,这样给负载均衡提供了更多的灵活性。
IGRP 设置方法稍微有点复杂。首先根据上面的公式计算各自路由的Metric,再将求出的各Metric比较倍数,然后通过variance命令来配置。例如如 果A网络到B网络最优路由的Metric值为1000,系统中分别还有2000、3000、4000、5000的四条路由,这时想使得Metric为 2000和3000的也能同时被负载均衡所使用,则用命令variance 3来设置,表示在最优路由Metric的3倍之内的其他路由都能同时被使用,通过设置这个参数来避免质量极差的路由参与负载均衡,不仅不能达到效果,而且 还会占用CPU资源。
简单配置
router igrp [Autonomous system number]—Autonomous system number为自治号,只有在相同Autonomous system number内的
路由器才相互交换路由信息。
Variance 5—在最优路由Metric值5倍之内的其他路由都能被同时使用,以做负载均衡。
Network—[network range]指定工作网段,IGRP只在指定网段的
接口工作;对于不在指定网段上的接口,RIP既不在它上面接收和发送路由,也不将它的接口路由转发出去。
AH_CZ_TC_2500(config-router)# passive-interface eth0—将接口eth 0设置为被动接口。在IGRP协议中,如果将接口设置为被动的,则该接口会接收更新分组,但是不会发布任何更新分组。这个命令只有在需要的时候才这样设 置。
AH_CZ_TC_2500(config-router)# default-metric 100 2000 255 1 1500—设置IGRP默认的Metric值
AH_CZ_TC_2500(config-router)# metric weights 0 1 1 1 1 1—设置k1到k2的权值。
简单配置这样就可以了,更复杂的参考
Cisco网站内容。
以 上两个协议是距离矢量路由协议的典范,也是路由协议中最简单的两个。RIP协议出现最早,最大跳数只支持15跳,只适合小型网络;IGRP是Cisco公 司为了弥补RIP的缺陷而开发设计,适合更大的网络,最大支持255跳,为了减轻网络的负担,将默认的更新周期从RIP的30秒改为90秒,但是这也造成 了网络拓扑变化时收敛速度变迟缓了。RIP和IGRP都支持最多达6条等价路由,IGRP还支持非等价路由,增加了负载均衡的灵活性。IGRP为 Cisco公司所私有,目前只能在Cisco的路由器上使用。