RIP路由协议慢收敛分析及解决方案论文 自动保存的.docx
《RIP路由协议慢收敛分析及解决方案论文 自动保存的.docx》由会员分享,可在线阅读,更多相关《RIP路由协议慢收敛分析及解决方案论文 自动保存的.docx(14页珍藏版)》请在冰豆网上搜索。
![RIP路由协议慢收敛分析及解决方案论文 自动保存的.docx](https://file1.bdocx.com/fileroot1/2023-1/31/9d4c6cff-1336-491f-a9bf-8c5a584efa0c/9d4c6cff-1336-491f-a9bf-8c5a584efa0c1.gif)
RIP路由协议慢收敛分析及解决方案论文自动保存的
JIUJIANGUNIVERSITY
通信网络课程设计
题目:
RIP路由协议慢收敛分析及
解决方案
英文题目:
TheanalysisandsolutionofRIProutingprotocol’sslowlyconvergenceproblem
院系:
电子工程学院
专业:
通信工程
姓名:
李飞杰(06)孙宁辉(10)刘勇(10)
年级:
电A0812
指导教师:
谢水珍
实训地点:
电子信息实验楼205
2011年6月13—2011年6月17
摘要
随着计算机技术和网络技术的发展,Internet普遍进入到人们的工作、生活中。
Internet的迅速发展,离不开一系列的协议。
网络上的每个主机都有唯一的IP地址来标识,要找到每个主机就是路由寻址问题。
RIP协议是一种基于向量算法的路由信息协议,是目前使用最为广泛的一种内部网关协议,其最大的优点是简单。
但RIP只适用于小型网络且存在的慢收敛的问题。
慢收敛的解决方式有多种,例如:
水平分割更新、路由中毒、Holddown计时、毒性反转以及触发更新。
在这些解决方式中,单独使用一种只能解决部分问题,如何设计出一种完整的解决方案来解决慢收敛问题是RIP协议使用和发展的关键。
本文中的完整方案利用水平更新法解决慢收敛中的循环问题,用Holddown计时解决故障信息传得慢问题,并结合其它方法提高工作效率。
理论上,该方案能使得RIP的慢收敛问题得以解决,且性能要优于各种方法单独使用。
关键字:
RIP;慢收敛;水平分割更新;路由中毒;Holddown计时;毒性反转;触发更新
TheanalysisandsolutionofRIProutingprotocol’sslowly
convergenceproblem
Abstract
Alongwiththecomputertechnologyandnetworktechnologydevelopment,theInternetcommonpeople'swork,tothelife.TherapiddevelopmentofInternet,cannotleaveaseriesofagreement.EachhostonthenetworkhaveuniqueIPaddresstomark,tofindeveryhostisroutingaddressingproblems.RIPagreementisakindofalgorithmbasedonvectorroutinginformationagreement,isthemostwidelyusedaninternalgatewayagreement,itsbiggestadvantageissimple.ButRIPonlyappliestothesmallnetworkandthereisaslowconvergenceproblem.Slowlyconvergentsolutionarevaries,forexample:
leveldivisionupdate,routingpoisoning,Holddowntime,toxicreversalandtriggerupdates.Inthesolution,theuseofasinglecanonlysolvesomeoftheproblems,howtodesignacompletesolutiontosolveslowlyconvergenceisRIPagreementusingandthedevelopmentofthekey.Thispaperproposessolutioncombineduseofcompleteplan,useleveltosolveslowconvergenceofupdatehaircirculationproblems,withHolddowntimetosolvethefaultinformationslowly,andconnectingwiththeproblemstheothermethodstoimproveworkefficiency.Intheory,theschemecanmakeRIPslowlyconvergencetheproblemsweresolved,andtheperformanceissuperiortoallkindsofmethodsusedalone.
Keyword:
RIP;Slowlyconvergence;Leveldivisionupdate;Routingpoisoning;Holddowntime;Toxicreverse;Triggerupdates
1绪论
RIP(RoutinginformationProtocol,路由信息协议)是应用较早、使用较普遍的内部网关协议(InteriorGatewayProtocol,IGP),适用于小型同类网络的一个自治系统(AS)内的路由信息的传递。
RIP协议是基于距离矢量算法(DistanceVectorAlgorithms,DVA)的。
它使用“跳数”,即metric来衡量到达目标地址的路由距离。
它是一个用于路由器和主机间交换路由信息的距离向量协议,目前最新的版本为v4,也就是RIPv4。
RIP协议是基于Bellham-Ford(距离向量)算法,此算法1969年被用于计算机路由选择,正式协议首先是由Xerox于1970年开发的,当时是作为Xerox的“NetworkingServices(NXS)”协议族的一部分。
由于RIP实现简单,迅速成为使用范围最广泛的路由协议。
路由器的关键作用是用于网络的互连,每个路由器与两个以上的实际网络相连,负责在这些网络之间转发数据报。
在讨论IP进行选路和对报文进行转发时,我们总是假设路由器包含了正确的路由,而且路由器可以利用ICMP重定向机制来要求与之相连的主机更改路由。
但在实际情况下,IP进行选路之前必须先通过某种方法获取正确的路由表。
在小型的、变化缓慢的互连网络中,管理者可以用手工方式来建立和更改路由表。
而在大型的、迅速变化的环境下,人工更新的办法慢得不能接受。
这就需要自动更新路由表的方法,即所谓的动态路由协议,RIP协议是其中最简单的一种。
在路由实现时,RIP作为一个系统长驻进程(daemon)而存在于路由器中,负责从网络系统的其它路由器接收路由信息,从而对本地IP层路由表作动态的维护,保证IP层发送报文时选择正确的路由。
同时负责广播本路由器的路由信息,通知相邻路由器作相应的修改。
RIP协议处于UDP协议的上层,RIP所接收的路由信息都封装在UDP协议的数据报中,RIP在520号UDP端口上接收来自远程路由器的路由修改信息,并对本地的路由表做相应的修改,同时通知其它路由器。
通过这种方式,达到全局路由的有效。
2RIP路由协议
2.1RIP简介
RIP是路由信息协议(RoutingInformationProtocol)的缩写,采用距离失量算法,是当今应用最为广泛的内部网关协议。
在默认情况下,RIP使用一种非常简单的度量制度:
距离就是通往目的站点所需经过的链路数,取值为1~15,数值16表示无穷大。
RIP进程使用UDP的520端口来发送和接收RIP分组。
RIP分组每隔30s以广播的形式发送一次,为了防止出现“广播风暴”,其后续的的分组将做随机延时后发送。
在RIP中,如果一个路由在180s内未被刷,则相应的距离就被设定成无穷大,并从路由表中删除该表项。
RIP分组分为两种:
请求分组和响应分组。
2.2RIP的工作原理
路由信息协议RIP(RoutingInformationProtocol)是内部网关协议IGP中最先得到广泛使用的协议[RFC1058]。
RIP是一种分布式的基于距离向量的路由选择协议,是因特网的标准协议,其最大的优点就是简单。
RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录(因此,这是一组距离,即“距离向量”)。
RIP协议将“距离”定义如下:
从一路由器到直接连接的网络的距离定义为1.从一路由器到非直接连接的网络的距离定义为所经过的路由器数加1.“加1”是因为到达目的网络后就进行直接交付,而到直接连接的网络的距离已经定义为1.
RIP协议的“距离”也称为“跳数”(hopcount),因为每经过一个路由器,跳数就加1.RIP任务好的路由就是它通过的路由器的数目少,即“距离短”。
RIP允许一条路径最大只能包含15个路由器。
因此“距离”等于16时即相当于不可达。
可见RIP只适用于小型互联网。
需要注意的是,到直接连接的网络的距离也可定义为0(采用这种定义的理由是:
路由器在和直接连接在该网络上的主机通信时,不需要经过另外的路由器。
既然每经过一个路由器要将距离加1,那么不再经过路由器的距离就应为0)。
作者编写的其他版本的教材过去也曾使用过这种定义。
但这两种不同的定义对实现RIP协议并无影响,因为重要的是要找出最短距离,将所有的距离都加1或都减1,对选择最佳路由其实是一样的。
RIP不能在两个网络之间同时使用多条路由。
RIP选择一条具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路由。
2.3距离向量算法
路由器对每一个相邻路由器发送过来的IP报文,进行一下步骤:
(1)先修改此RIP报文中的所有项目:
把“下一跳”字段中的地址都改为X,并把所有的“距离”字段的值加1。
(2)对修改后的RIP报文中的每一个项目,重复以下步骤:
若项目中的目的网络不在路由表中,则把该项目加到路由表中。
否则
若下一跳字段给出的路由器地址是同样的,则把收到的项目替换原路由表中的项目。
否则
若收到项目中的距离小于路由表中的距离,则进行更新,
否则,什么也不做。
(3)若3分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为16(距离为16表示不可达)。
(4)返回。
算法解释:
解释1:
这样做是为了便于进行本路由表的更新。
假设从位于地址X的相邻路由器发来的RIP报文的某一个项目是:
“Net2,3,Y”,意思是“我经过路由器Y到网络net2的距离是3”,那么本路由器就可推断出:
“我经过X到网络Net2的距离应为3+1=4”。
于是,本路由器就把收到的RIP报文的这一个项目改为“Net2,4,X”,作为下一步和路由表中原有项目进行比较时使用(只有比较后才能知道是否需要更新)。
读者可注意到,收到的项目中的Y对本路由器是没有用的,因为Y不是本路由器的下一跳路由器地址。
解释2:
表明这是新的目的网络,应当加入到路由表中。
例如,本路由表中没有到目的网络Net2的路由,那么在路由表中就要加入新的项目“Net2,4,X”。
解释3:
为什么要替换呢?
因为这是最新的消息,要以最新的消息为准。
到目的网络的距离有可能增大或减小,但也可能没有改变。
例如,不管原来路由表中的项目是“Net2,3,X”还是“Net2,5,X”,都要更新为现在的“Net2,4,X”。
解释4:
例如,若路由表中已有项目“Net2,5,P”,就要更新为“Net2,4,X”。
因为到网络Net2的距离原来是5,现在减到4,更短了。
解释5:
若距离更大了,显然不应更新。
若距离不变,更新后得不到好处,因此也不更新。
2.4RIP的特点
仅和相邻的路由器交换信息。
如果两个路由器之间的通信不需要经过另外一个路由器,那么这两个路由器是相邻的。
RIP协议规定,不相邻的路由器之间不交换信息
由器交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
也就是说,交换的信息是:
“我到本自治系统中所有网络的(最短)距离,以及到每个网络应该过的下一跳路由器”。
按固定时间交换路由信息,如,每隔30秒,然后路由器根据收到的路由信息更新路由表。
当网络拓扑发生变化时,路由器也及时向相邻路由器通知拓扑变化后的路由信息。
3RIP的局限性以及慢收敛问题
3.1RIP的局限性
作为一种距离向量算法(DAV)协议,RIP表现出的一些局限性在大型网络中可能会引发下列问题。
基于RIP的更新机制,每个路由器的整个路由表都会被频繁广播。
在大型的自治系统中,这些路由表会变得非常巨大,而对这些路由表的频繁广播会消耗相当可观的网络带宽。
基于这种更新机制,RIP在目的结点之间支持的最大跳步数为15.需要多于15个连续跳步才能到达目的结点在RIP中被认为是不可达的。
这一点将自治系统的最大规模限制在16个连续连接的网络内。
RIP在确定最佳网径时仅考虑跳步数,而无法考虑网络的线路速度、可靠性或延迟等。
这意味着RIP有时不可能选到最有效、最经济的路径,它可能会舍弃跳步数较多的快速线路,而选择跳步数较少却很慢的线路。
RIP支持的最大路由通告数据包尺寸为512字节。
在这种数据包尺寸限制下,单一数据包中仅能交换25对目的跳步信息。
也就是说,对于包含300个条目的路由表,至少需要广播12个RIP数据包。
慢速“收敛”是DVA协议产生的另一种严重的问题。
大型自治系统中的路由链路发生改变时,在该自治系统中传播新的路由信息可能要耗费数分时间。
在这段时间内,可能会产生路由矛盾,从而引发路由循环。
路由循环会导致更新数据包在自制系统中持续地循环,直到生存时间(TTL)字段值为0或路由循环更正为止。
3.2慢收敛问题
所谓的慢收敛问题,可以从两个部分去看它,一个是其所造成的循环问题;另一个是它会造成故障信息比正确信息传送得慢。
3.2.1循环问题
一开始,G1和Net1有路由相连,而G2通过G1,G3通过G2皆可以和Net1相连,如图3.1
但是,当G1和Net1中断时,它们的路由数据便有了变化,如图3.2
当G1和Net1中断时,其到Net1的向量距离,由原本的1变成16,加入,此时G2刚好向G1广播,于是G1和Net1的向量距离变成3(因为改变通过G2)。
另外,G2的路由数据也因原本的G1改变而改变,由2变成4(3+1=4),这样一直循环下去,当G1的路由向量距离变成16时,依据RIP的规定,便成为无限长的路由。
图3.1
图3.2
3.2.2消息传播快慢问题
RIP存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。
我们可以用图3.3的简单例子来说明。
设三个网络通过两个路由器互连起来,并且都已建立了各自的路由表。
图中路由器交换的信息只给了我们感兴趣的一行内容。
路由器R1中的“1,1,直接”表示“网1的距离是1,直接交付”。
路由器R2中的“1,2,R1”表示“到网1的距离是2,下一跳经过R1”。
现在假定路由器R1到网1的链路出了故障,R1无法到达网1.于是路由器R1把到网1的距离改为16(表示到网1不可达),因而在R1的路由表中的相应项目变为“1,16,直接”。
但是,很可能要经过30秒钟后R1才把更新信息发送给R2。
然而R2可能已经先把自己的路由表发给了R1,其中有“1,2,R1”这一项。
R1收到R2的更新报文后,误认为可经过R2到达网1,于是把收到的路由信息“1,2,R1”修改为:
“1,3,R2”,表明“我到网1的距离是3,下一跳经过R2”,并把更新后的信息发送给R2。
同理,R2接着又更新自己的路由表为“1,4,R1”,以为“我到网1距离是4,下一跳经过R1”。
这样的更新一直继续下去,直到R1和R2到网1的距离都增大到16时,R1和R2才知道原来网1是不可达的。
RIP协议的这一特点叫做:
好消息传播得快,而坏消息传播得慢。
网络出现故障的传播时间往往需要较长的时间(例如数分钟)这是RIP的一个主要特点。
图3.3
4慢收敛问题解决方案
4.1方案一水平分割更新
水平分割更新可使路由器不会接收到由自身传达出去的路由信息,如图4.1:
C向B通告10.4.0.0网络,B向A通告10.4.0.0网络,因此,A就不能向B,B也不能向C发送关于10.4.0.0网络的路由信息,如图4.1。
水平分割可以避免出现环路,可解决慢收敛产生的循环问题。
但是,故障出现后A、B的路由表里关于故障网段10.4.0.0的路由依然存在。
所以水平分割可以解决一部分问题,但不能解绝所有问题。
图4.1
4.2方案二Holddown计时
Holddown技术主要用了解决故障信息比正确信息传送得慢的问题。
其原理是想办法让故障信息有较充足的时间传送,它的做法是:
当网关收到某网络是无法到达的信息时,在一定的时间内,该网关将不再接受关于那个网络的路由信息,这个时间,一般设置为60秒。
利用这种技术,可以让网络上的网关有更充分的时间来接收网络故障的信息,以免误收到过时的信息,如图4.2。
使用Holddown技术也有其缺点,那就是可能造成路由循环,一旦循环发生时,其故障的路由信息在60秒内会被保留,这样会使得网络效率大减。
图4.2
4.3方案三毒性逆转
毒性逆向法(Poisonreverse)规定原本最先广播该路由的网关,当路由中断时,必须将其路由距离修改成无限长(即=16),同时将该信息保留若干周期。
如图4.3。
在使用Poisonreverse时,若同时结合触发技术,可以提高其效率。
为了保证所有的邻居都被“下毒”,它们会向“毒源”的方向反向“下毒”。
图4.3
4.4方案四触发更新
当路由表发生变化时路由器立即发送更新信息常规路由更新按照既定的时间间隔周期性发送,即使路由器检测到网络变化,也不会立即发送更新,需等到发送周期才发更新,如图4.4。
触发更新一般与抑制定时器配合使用,才能有更好的效果。
图4.4
4.5完整的解决方案
慢收敛的解决方式有很多,但若单独使用往往只能解决一部分问题而不能解决全部问题。
例如,使用水平分割更新法时,只能解决循环问题;使用Holddown计时法时有可能造成循环问题;使用毒性逆转时要结合触发更新才能提高效率。
所以一个完整的解决方案仅用一种方法是不能完成的,要多种方法结合才能实现。
结合各种方法的优点,设计出一套完整的方案,那就是水平分割更新、路由中毒、Holddown计时、毒性反转和触发更新组合使用。
利用水平分割解决循环问题,利用Holddown计时解决故障信息比正确信息传得慢的问题,并结合其它方法提高工作效率。
当网络出现故障时,用触发更新使路由器按照既定的时间间隔周期性发送,即使路由器检测到网络变化,也不立即发送更新。
如图4.5
图4.5
用Holddown计时隔离故障网络,让网络上的网关有更充分的时间来接收网络故障的信息,以免误收到过时的信息,如图4.6
图4.6
结合毒性逆转,提高工作效率,如图4.7
图4.7
在Hold-down有效期内,路由器A,D,E仍然企图向网络10.4.0.0转发数据包。
B会丢弃。
如图4.8
图4.8
如果该网段在Hold-down时间里恢复,B会向A和D再向C发送触发更新数据包,通知他们10.4.0.0已经恢复。
如图4.9
图4.9
5总结
RIP之所以能够成为目前应用最广泛的路由协议,原因在于RIP的实现简单的优点,尤其是在小型网络中有其独到的优势。
但是RIP得缺陷同样明显,其中慢收敛问题就是阻碍其发展的重要因素。
基于RIP的特点,本文设计出一些解决RIP慢收敛问题的方案。
通过对解决方案的论证比较,最终提出一套比较完整的解决方案,那就是综合各种解决方式的优点,将各种解决方案组合使用,设计出一套能比较好的解决慢收敛问题中的循环问题和故障信息传得慢的问题的完整的方案。
通过对RIP的研究,在论文中我们总结出一些RIP的特点、缺陷以及RIP在网络运行中可能出现的一些问题。
在对这些特点的分析过程中,我们对RIP的工作原理有了更深的了解,对RIP的算法——距离向量算法有了透彻的理解;通过对慢收敛问题的分析,对一些慢收敛解决方案进行权衡,分析他们能解决的问题以及局限性,并比较各方案的优劣,最终设计出一套完整的方案。
在论文的编写过程和方案论证设计过程中,我们三个人始终分工合作,李飞杰主要完成第三章RIP局限性和慢收敛问题的分析,绘制论文中的图形以及最终的论文格式的修改完善。
刘勇主要完成第二章RIP协议的工作原理、算法以及RIP特点的分析,论文资料收集和编写。
孙宁辉主要完成第四章慢收敛问题解决方案的论证分析以及完整解决方案的确定,论文总体框架的编写和各部分的衔接。
在论文编写过程中,我们保持互相交流,使我们能够了解各自的进展,对论文的尽快完成有莫大的帮助。
总之,我们的合作是成功的,效率也是挺高的。
参考文献
[1]樊昌信,曹丽娜通信原理(第6版)[M].国防工业出版社,2007.
[2]周霖,DSP通信工程技术应用[M].北京,国防工业出版社,2004
[3]赵红怡,DSP与应用技术实例[M].北京,电子工业出版社,2003
[4]李利.DSP原理及应用[M].北京:
中国水利水电出版社,2005
[5]王金龙,任国春,沈良DSP设计于实验教程[M].北京:
机械工业出版社,2007
[6]陈运,信息论与编码(第二版)[M].北京,电子工业出版社,2008
致谢
感谢指导老师谢老师在我们的课题的设计工作中对我们的教诲和指导,各个环节您都倾注了大量的精力,使我最后完成了设计论文的撰写。
在课题的研究过程中,指导老师谢老师渊博的学识、严谨的治学态度、高度的工作热情使我们受益非浅。
在此谨向尊敬的导师致以衷心的感谢!