版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
兰州交通大学课程设计1-兰州交通大学课程设计实用文档PAGE2PAGERIP协议分析摘要RIP(RoutinginformationProtocol,路由信息协议)是应用较早、使用较普遍的内部网关协议(InteriorGatewayProtocol,IGP),适用于小型同类网络的一个自治系统(AS)内的路由信息的传递。RIP协议是基于距离矢量算法(DistanceVectorAlgorithms,DVA)的。它使用“跳数”,即metric来衡量到达目标地址的路由距离。文档见RFC1058、RFC1723。它是一个用于路由器和主机间交换路由信息的距离向量协议。一个自治系统往往对应一个组织实体(比如一个公司或大学)内部的网络与路由器集合。每个自治系统都有自己的路由技术,对不同的自治系统路由技术是不相同的。用于自治系统间接口上的路由协议称为“外部网关协议”,简称EGP(ExteriorGatewayProtocol);而用于自治系统内部的路由协议称为“内部网关协议”,简称IGP。关键词:路由信息协议,报文,路由AbstractRIP(RoutinginformationProtocol)isappliedmoreearly,useacommoninternalGatewayProtocol(InteriorGatewayProtocol,IGP),applicabletosmallsimilarnetworkanautonomoussystem(AS)inthetransmissionofroutinginformation.RIPagreementisbasedontheDistanceVectoralgorithm(DistanceVectorAlgorithms,DVA).ItUSES"jumpnumber",namelymetrictomeasuretoreachatargetaddressroutingdistance.SeeRFC1058,RFC1723document.Itisausedforrouterandbetweenhostsdistancevectorroutinginformationexchangeagreement.Anautonomoussystemoftencorrespondingtoaorganizationentity(suchasacompanyoruniversity)internalnetworkandrouterset.Eachautonomysystemhasitsownroutingtechnology,toadifferentautonomoussystemisnotthesameroutingtechnology.UsedforautonomoussystemonthemouthofindirectroutingProtocolcalled"externalGatewayProtocol",hereinafterreferredtoastheEGP(ExteriorGatewayProtocol);Andforautonomoussystemofinternalroutingprotocolcalled"internalgatewayprotocol",hereinafterreferredtoasIGP.Keyword:RIP,Gateway,routing,Messageformat兰州交通大学课程设计目录TOC\o"1-2"\h\z\u一.概述 -1-二.RIP协议消息类型 -1-三.RIP协议详细分析 -2-1.RIP的报文格式 -2-2.RIP报文结构 -4-四.RIP的工作原理 -5-五.RIP协议路由表 -7-1.路由表项的组成 -7-2.路由表更新 -8-3.初始化表更新 -8-4.标识无效路由 -9-5.无效路由 -9-六.RIP协议的运行 -10-1.RIP的运行过程 -11-2.RIP发送请求和响应报文: -11-3.RIP报文认证 -12-4.路由环路的解决 -12-七.RIP的特点 -13-1.RIP的优点 -13-2.RIP的缺点 -13-八.总结 -14-兰州交通大学课程设计9-一.概述在Internet网上,运行着很多网关协议,网关协议有内部网关协议(IGP)和外部网关协议(EGP)之分,Internet网上划分了很多自治系统(AS),每个自治系统里面运行着路由协议,在自治系统内部的路由协议,我们称之为内部网关协议。RIP(RoutingInformationProtocols,路由信息协议)是一种内部网关协议,是使用最广泛的距离向量协议,它采用的是距离矢量算法。它是由施乐(Xerox)在70年代开发的。当时,RIP是XNS(XeroxNetworkService,施乐网络服务)协议簇的一部分。RIP协议是V-D算法在局域网上直接实现,RIP将协议的参加者分为主动机和被动机两种,主动机主动地向外广播路径刷新报文,被动机被动地接受路径刷新报文,一般情况下,网关作为主动机,PC机作为被动机。RIP通过广播UDP报文来交换路由信息,每30秒发送一次路由更新,RIP提供跳跃计算作为尺度来衡量路由距离,跳跃计数和是一个包到达目标所必须经过的路由器的数目,如果到相同目标有二个不等速或不同带宽路由器,但路跃计数相同,则RIP认为两个路由是等距离的,RIP最多支持的跳数为15,即在源和目的网间所要经过的最多路由器的数目为15,跳数16表示不可达,UDP端口采用520,通常情况下RIPv1报文为广播报文,而RIPv2报文为组播报文,组播地址为224.0.0.9。Xerox公司和加州大学伯克利分校在80年代初都开发了RIP的早期版1988年的RFC1058对RIP协议做了说明,后来被称为RIPv1。1998年,IETF推出了RIP改进版本的正式标准RFC2453,即RIPv2:支持子网掩码信息;支持路由对象标志;支持路由更新鉴别。1997年IETF推出了下一代RIP协议——RIPng的建议标准RFC2080。二.RIP协议消息类型RIP路由协议用“更新(UNPDATES)”和“请求(REQUESTS)”这两种分组来传输信息的。每个具有RIP协议功能的路由器每隔30秒用UDP520端口给与之直接相连的机器广播更新信息。更新信息反映了该路由器所有的路由选择信息数据库。路由选择信息数据库的每个条目由“局域网上能达到的IP地址”和“与该网络的距离”两部分组成。请求信息用于寻找网络上能发出RIP报文的其他设备。RIP是最常使用的内部网关协议之一,是一种典型的基于距离矢量算法的动态路由协议。在不同的网络系统如Internet、AppleTalk、NOVELL等协议都实现了RIP。他们都采用相同的算法,只是在一些细节上做了小改动,适应不同网络系统的需要。RIP有RIP-1和RIP-2两个版本,需要注意的是,RIP-2不是RIP-1的替代,而是RIP-1功能的扩展。比如RIP-2更好地利用原来RIP-1分组种必须为零的域来增加功能,不仅支持可变长子网掩码,也支持路由对象标志。此外,RIP-2还支持明文认证和MD5密文认证,确保路由信息的正确。RIP用“路程段数”(即“跳数”)作为网络距离的尺度。每个路由器在给相邻路由器发出路由信息时,都会给每个路径加上内部距离。在如图,路由器3直接和网络C相连。当它向路由器2通告网络142.10.0.0的路径时,它把跳数增加1。与之相似,路由器2把跳数增加到“2”,且通告路径给路由器1,则路由器2和路由器1与路由器3所在网络142.10.0.0的距离分别是1跳、2跳。然而在实际的网络路由选择上并不总是由跳数决定的,还要结合实际的路径连接性能综合考虑。RIP通过用户数据报协议(UDP)报文交换路由信息,使用跳数来衡量到达目的地的距离。由于在RIP中大于15的跳数被定义为无穷大,所以RIP一般用于采用同类技术的中等规模网络,如校园网及一个地区范围内的网络,RIP并非为复杂、大型的网络而设计。但由于RIP使用简单,配置灵活,使得他在今天的网络设备和互联网中被广泛使用。三.RIP协议详细分析1.RIP的报文格式对于RIP报文有两种版本的格式,Version1和Version2。两种报文稍有不同,如图表1所示:命令版本全零地址族全零IP地址全零全零度量值前20个字节的重复命令版本路由选择地址族路径标签IP地址子网掩码下一个站点的IP地址度量值前20个字节的重复(Version1)图表SEQ图表\*ARABIC1(Version2)路由选择域:与该报文相关的路由选择守护进程的标识符。在UNIX系统中,该字段是一个进程的标识符。一台机器通过使用路由选择域,就可以同时运行多个RIP。路径标签:若干RIP支持外部网关协议(EGP),该字段包含一个自治系统号子网掩码:该字段与报文中的IP地址相关。下一站的IP地址:如果该字段为0,则表明数据报应当发送到正在发送该RIP报文的机器,否则,该字段包含一个IP地址,指明应将数据报发往何处。从报文中我们可以看出,RIP-1不能运行于包含有子网的自治系统中,因为它没有包含运行所必须的子网信息-子网掩码。RIP-2有子网掩码,因而它可以运行于包含有子网的自治系统中,这也是RIP-2对RIP-1有意义的改进。IP使用特殊的报文来收集和共享至有关目的地的距离信息。图表2显示了路由信息域中只带一个目的地的RIP报文。图表2RIP报文结构1字节命令1字节版本2字节0域2字节AFI2字节0域4字节网络地址4字节0域4字节0域4字节度量图表SEQ图表\*ARABIC2RIP报文中至多可以出现25个AFI、互联网络地址和度量域。这样允许使用一个RIP报文来更新一个路由器中的多个路由表项。包含多个路由表项的RIP报文只是简单地重复从AFI到度量域的结构,其中包括所有的零域。具有两个表项的RIP报文如图所示。图表3具有两个表项的RIP报文1字节命令1字节版本2字节0域两字节AFI2字节0域4字节网络地址4字节0域4字节0域4字节度量4字节网络地址4字节0域4字节0域4字节度量图表SEQ图表\*ARABIC3地址域可以既包括发送者的地址也包括发送者路由表中的一系列IP地址。请求报文含有一个表项并包括请求者的地址。应答报文可以包括至多25个RIP路由表项。整个的RIP报文大小限制是512B。因此,在更大的RIP网络中,对整个路由表的更新请求需要传送多个RIP报文。报文到达目的地时不提供顺序化;一个路由表项不会分开在两个RIP报文中。因此,任何RIP报文的内容都是完整的,即使它们可能仅仅是整个路由表的一个子集。当报文收到时接收节点可以任意处理更新,而不需对其进行顺序化。比如,一个RIP路由器的路由表中可以包括100项。与其他RIP路由器共享这些信息需要4个RIP报文,每个报文包括25项。如果一个接收节点(结点)首先收到了4号报文(包括从76至100的表项),它会首先简单地更新路由表中的对应部分,这些报文之间没有顺序相关性。这样使得RIP报文的转发可以省去传输协议如TCP所特有的开销。2.RIP报文结构1)命令域命令域指出RIP报文是一个请求报文还是对请求的应答报文。两种情形均使用相同的帧结构:请求报文请求路由器发送整个或部分路由表。应答报文包括和网络中其他RIP节点共享的路由表项。应答报文可以是对请求的应答,也可以是主动的更新。2)版本号域版本号域包括生成RIP报文时所使用的版本。RIP是一个开放标准的路由协议,它会随时间而进行更新,这些更新反映在版本号中。虽然有许多像RIP一样的路由协议出现,但RIP只有两个版本:版本1和版本2。这一章对通常使用的版本1进行描述。3)0域嵌入在RIP报文中的多个0域证明了在RFC1058出现之前存在许多如RIP一样的协议。大多数0域为的是为了向后兼容旧的如RIP一样的协议,0域说明不支持它们所有的私有特性。比如,两个旧的机制traceon和traceoff。这些机制被RFC1058抛弃了,然而开放式标准RIP需要和支持这些机制的协议向后兼容。因此,RFC1058在报文中为其保留了空间,但却要求这些空间恒置为0。当收到的报文中这些域不是0时就会被简单地丢弃。不是所有的0域都是为了向后兼容。至少有一个0域是为将来的使用而保留的。4)AFI域地址家族标识(AddressFamilyIdentifier,AFI)域指出了互联网络地址域中所出现的地址家族。虽然RFC1058是由IETF创建的,因此适用于网际协议(IP),但它的设计提供了和以前版本的兼容性。这意味着它必须提供大量互联网络地址构成或家族的路由信息的传输。因此,开放式标准RIP需要一种机制来决定其报文中所携带地址的类型。5)互联网络地址域4字节的互联网络地址域包含一个互联网络地址。这个地址可以是主机、网络,甚至是一个缺省网关的地址码。这个域内容如何变化的两个例子如下:在一个单表项请求报文中,这个域包括报文发送者的地址。在一个多表项应答报文中,这些域将包括报文发送者路由表中存储IP地址。6)度量标准域RIP报文中的最后一个域是度量标准域,这个域包含报文的度量计数。这个值在经过路由器时被递增。数量标准有效的范围是在1~15之间。度量标准实际上可以递增至16,但是这个值和无效路由对应。因此,16是度量标准域中的错误值,不在有效范围内。四.RIP的工作原理RIP协议是矢量距离算法在局域网上的直接实现,RIP将协议的参加者分为主动机和被动机两种。主动机主动地向外广播路径刷新报文,被动机被动地接受路径刷新报文。一般情况下,网关作主动机,主机作被动机。RIP规定,网关每30秒向外广播一个报文,报文信息来自本地路由表。RIP的度量是基于跳数(hopscount)的,每经过一台路由器,路径的跳数加一。如此一来,跳数越多,路径就越长,RIP算法会优先选择跳数少的路径。RIP支持的最大跳数是15,跳数为16的网络被认为不可达。对于相同开销路径的处理是采用先入为主的原则。在具体的应用中,可能会出现这种情况,去往相同网络有若干条相同距离的路径。在这种情况下,无论哪个网关的路径广播报文先到,就采用谁的路径。直到该路径失败或被新的更短的路径来代替。RIP中路由的更新是通过定时广播实现的。缺省情况下,路由器每隔30秒向与它相连的网络广播自己的路由表,接到广播的路由器将收到的信息添加至自身的路由表中。每个路由器都如此广播,最终网络上所有的路由器都会得知全部的路由信息。正常情况下,每30秒路由器就可以收到一次路由信息确认,如果经过180秒,即6个更新周期,一个路由项都没有得到确认,路由器就认为它已失效了。如果经过240秒,即8个更新周期,路由项仍没有得到确认,它就被从路由表中删除。上面的30秒,180秒和240秒的延时都是由计时器控制的,它们分别是更新计时器(UpdateTimer)、无效计时器(InvalidTimer)和刷新计时器(FlushTimer)。距离向量类的算法容易产生路由循环,RIP是距离向量算法的一种,所以它也不例外。如果网络上有路由循环,信息就会循环传递,永远不能到达目的地。如果出现环路,直到路径长度达到16,也就是说要经过210秒(30X7秒)来回,路径回路才能被解除,这就是所谓的慢收敛问题。是RIP的一个很大的缺陷,为了避免这个问题,RIP等距离矢量算法实现了4个机制:水平分割(splithorizon)水平分割保证路由器记住每一条路由信息的来源,并且不在收到这条信息的端口上再次发送它。这是保证不产生路由循环的最基本措施。毒性逆转(poisonreverse)当一条路径信息变为无效之后,路由器并不立即将它从路由表中删除,而是用16,即不可达的度量值将它广播出去。这样虽然增加了路由表的大小,但对消除路由循环很有帮助,它可以立即清除相邻路由器之间的任何环路。触发更新(triggerupdate)当路由表发生变化时,更新报文立即广播给相邻的所有路由器,而不是等待30秒的更新周期。同样,当一个路由器刚启动RIP时,它广播请求报文。收到此广播的相邻路由器立即应答一个更新报文,而不必等到下一个更新周期。这样,网络拓扑的变化会最快地在网络上传播开,减少了路由循环产生的可能性。抑制计时(holddowntimer)一条路由信息无效之后,一段时间内这条路由都处于抑制状态,即在一定时间内不再接收关于同一目的地址的路由更新。如果,路由器从一个网段上得知一条路径失效,然后,立即在另一个网段上得知这个路由有效。这个有效的信息往往是不正确的,抑制计时避免了这个问题,而且,当一条链路频繁起停时,抑制计时减少了路由的浮动,增加了网络的稳定性。即便采用了上面的4种方法,路由循环的问题也不能完全解决,只是得到了最大程度的减少。一旦路由循环真的出现,路由项的度量值就会出现计数到无穷大(CounttoInfinity)的情况。这是因为路由信息被循环传递,每传过一个路由器,度量值就加1,一直加到16,路径就成为不可达的了。RIP选择16作为不可达的度量值是很巧妙的,它既足够的大,保证了多数网络能够正常运行,又足够小,使得计数到无穷大所花费的时间最短。有些网络是NBMA(Non-BroadcastMultiAccess,非广播多路访问)的,即网络上不允许广播传送数据。对于这种网络,RIP就不能依赖广播传递路由表了。解决方法有很多,最简单的是指定邻居(neighbor),即指定将路由表发送给某一台特定的路由器。五.RIP协议路由表使用RIP报文中列出的项,RIP主机可以彼此之间交流路由信息。这些信息存储在路由表中,路由表为每一个知道的、可达的目的地保留一项。每个目的地表项是到达那个目的地的最低开销路由。注意每个目的地的表项数可以随路由生产商的不同而变化。生产商可能选择遵守规范,也可以对标准进行他们认为合适的“强化”。所以,用户很可能会发现某个特殊商标的路由器为每一个网络中的目的地存储至多4条相同费用的路由。1.路由表项的组成:注意虽然RFC1058是一个开放式标准,能支持大量互连网络地址结构,然而它是由IETE设计用于Internet中自治系统内的协议。如此,使用这种形式RIP的自然是网络互联协议。1)目的IP地址域任何路由表中所包含的最重要信息是到所知目的地的IP地址。一旦一台RIP路由器收到一个数据报文,就会查找路由表中的目的IP地址以决定从哪里转发那个报文。2)度量标准域路由表中的度量域指出报文从起始点到特定目的地的总耗费。路由表中的度量是从路由器到特定目的地之间网络链路的耗费总和。3)下一跳IP地址域下一跳IP地址域包括至目的地的网络路径上下一个路由器接口的IP地址。如果目的IP地址所在的网络与路由器不直接相连时,路由器表中才出现此项。4)路由变化标志域路由变化标志域用于指出至目的IP地址的路由是否在最近发生了变化。这个域是重要的,因为RIP为每一个目的IP地址只记录一条路由。5)路由计时器域有两个计时器与每条路由相联系,一个是超时计时器,一个是路由刷新计时器。这些计时器一同工作来维护路由表中存储的每条路由的有效性。2.路由表更新RIP为每个目的地只记录一条路由的事实要求RIP积极地维护路由表的完整性。通过要求所有活跃的RIP路由器在固定时间间隔广播其路由表内容至相邻的RIP路由器来做到这一点,所有收到的更新自动代替已经存储在路由表中的信息。RIP依赖3个计时器来维护路由表:RIP为每个目的地只记录一条路由的事实要求RIP积极地维护路由表的完整性。通过要求所有活跃的RIP路由器在固定时间间隔广播其路由表内容至相邻的RIP路由器来做到这一点,所有收到的更新自动代替已经存储在路由表中的信息。RIP依赖3个计时器来维护路由表:更新计时器路由超时计时器路由刷新计时器更新计时器用于在节点一级初始化路由表更新。每个RIP节点只使用一个更新计时器。相反的,路由超时计时器和路由刷新计时器为每一个路由维护一个。如此看来,不同的超时和路由刷新计时器可以在每个路由表项中结合在一起。这些计时器一起能使RIP节点维护路由的完整性并且通过基于时间的触发行为使网络从故障中得到恢复。3.初始化表更新RIP路由器每隔30秒触发一次表更新。更新计时器用于记录时间量。一旦时间到,RIP节点就会产生一系列包含自身全部路由表的报文。这些报文广播到每一个相邻节点。因此,每一个RIP路由器大约每隔30秒钟应收到从每个相邻RIP节点发来的更新。注意在更大的基于RIP的自治系统中,这些周期性的更新会产生不能接受的流量。因此,一个节点一个节点地交错进行更新更理想一些。RIP自动完成更新,每一次更新计时器会被复位,一个小的、任意的时间值加到时钟上。如果更新并没有如所希望的一样出现,说明互联网络中的某个地方发生了故障或错误。故障可能是简单的如把包含更新内容的报文丢掉了。故障也可能是严重的如路由器故障,或者是介于这两个极端之间的情况。显然,采取合适的措施会因不同的故障而有很大区别。由于更新报文丢失而作废一系列路由是不明智的(记住,RIP更新报文使用不可靠的传输协议以最小化开销)。因此,当一个更新丢失时,不采取更正行为是合理的。为了帮助区别故障和错误的重要程度,RIP使用多个计时器来标识无效路由。4.标识无效路由有两种方式使路由变为无效:路由终止。路由器从其他路由器处学习到路由不可用。在任何一种情形下,RIP路由器需要改变路由表以反映给定路由已不可达。一个路由如果在一个给定时间之内没有收到更新就中止。比如,路由超时计时器通常设为180秒。当路由变为活跃或被更新时,这个时钟被初始化。180秒是大致估计的时间,这个时间足以令一台路由器从它的相邻路由器处收到6个路由表更新报文(假设它们每隔30秒发送一次路由更新),如果180秒消逝之后,RIP路由器没收到关于那条路由的更新,RIP路由器就认为那个目的IP地址不再是可达的。因此,路由器就会把那条路由表项标记为无效。通过设置它的路由度量值为16来实现,并且要设置路由变化标志。这个信息可以通过周期性的路由表更新来与其相邻路由器交流。注意:对于RIP节点而言,16等于无穷。因此,简单的设置耗费度量值为16能作废一条路由。接到路由新的无效状态通知的相邻节点使用此信息来更新它们自己的路由表。这是路由变为无效的第二种方式。无效项在路由表中存在很短时间,路由器决定是否应该删除它。即使表项保持在路由表中,报文也不能发送到那个表项的目的地址:RIP不能把报文转发至无效的目的地。5.无效路由一旦路由器认识到路由已无效,它会初始化一个秒计时器:路由刷新计时器。因此,在最后一次超时计时器初始化后180秒,路由刷新计时器被初始化。这个计时器通常设为90秒。如果路由更新在270秒之后仍未收到(180秒超时加上90秒路由刷新时间),就从路由表中移去此路由(也就是刷新)。而为了路由刷新递减计数的计时器称为路由刷新计时器。这个计时器对于RIP从网络故障中恢复的能力绝对必要。注意到为了使RIP互联网络正常工作,网络中的每一个网关必须参与进去这一点很重要。参与可以是主动参与也可以是被动参与,但所有的网关必须参与。主动节点是那些主动地进行共享路由信息的节点。它们从相邻者处接收更新,并且转发它们的路由表项拷贝至那些相邻节点。被动站点从相邻者处接收更新,并且使用那些更新来维护它们的路由表。然而被动节点不主动地发布它们自己路由表项的拷贝。被动维护路由表的能力在硬件路由器出现之前的日子里是特别有用的特性,那时路由是一个运行在UNIX处理器下的后台程序,这样会使UNIX主机上的路由开销达到最小。六.RIP协议的运行网关刚启动时,运行V-D算法,对V-D路由表进行初始化,为每一个和它直接相连的实体建一个表目,并设置目的IP地址,距离为1(这里RIP和V-D略有不同),下一站的IP为0,还要为这个表目设置两个定时器(超时计时器和垃圾收集计时器)。每隔30秒就向它相邻的实体广播路由表的内容。相邻的实体收到广播时,在对广播的内容进行细节上的处理之前,对广播的数据报进行检查。因为广播的内容可能引起路由表的更新,所以这种检查是细致的。首先检查报文是否来自端口520的UDP数据报,如果不是,则丢弃。否则看RIP报文的版本号:如果为0,这个报文就被忽略;如果为1,检查必须为0的字段,如果不为0,忽略该报文;如果大于1,RIP-1对必须为0的字段就不检查。然后对源IP地址进行检查,看它是否来自直接相连的邻居,如果不是来自直接邻居,则报文被忽略。如果上面的检查都是有效的,则对广播的内容进行逐项的处理。看它的度量值是否大于15,如果是则忽略该报文(实际上,如果来自相邻网关的广播,这是不可能的)。然后检查地址族的内容,如果不为2,则忽略该报文。然后更新自己的路由表,并为每个表目设置两个计时器,初始化其为0。就这样所有的网关都每隔30秒向外广播自己的路由表,相邻的网关和主机收到广播后来更新自己的路由表。直到每个实体的路由表都包含到所有实体的寻径信息。如果某条路由突然断了,或者是其度量大于15,与其直接相邻的网关采用分割范围或触发更新的方法向外广播该信息,其他的实体在两个计时器溢出的情况下将该路由从路由表中删除。如果某个网关发现了一条更好的路径,它也向外广播,与该路由相关的每个实体都要更新自己的路由表的内容。在一开始,所有路由器中的路由表只有路由器所接入的网络(共有两个网络)的情况。现在的路由表增加了一列,这就是从该路由表到目的网络上的路由器的“距离”。在图中“下一站路由器”项目中有符号“-”,表示直接交付。这是因为路由器和同一网络上的主机可直接通信而不需要再经过别的路由器进行转发。同理,到目的网络的距离也都是零,因为需要经过的路由器数为零。图中粗的空心箭头表示路由表的更新,细的箭头表示更新路由表要用到相邻路由表传送过来的信息。接着,各路由器都向其相邻路由器广播RIP报文,这实际上就是广播路由表中的信息。假定路由器R2先收到了路由器R1和R3的路由信息,然后就更新自己的路由表。更新后的路由表再发送给路由器R1和R3。路由器R1和R3分别再进行更新。RIP协议存在的一个问题是:当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。以图2为例,设三个路由器都已经建立了各自的路由表,现在路由器R1和网1的连接线路与染短开。路由器R1发现后,将到网1的距离改为16,并将此信息发给路由器R2。由于路由器R3发给R2的信息是:“到网1经过R2距离为2”,于是R2将此项目更新为“到网1经过R3距离为3”,发给R3。R3再发给R2信息:“到网1经过肉距离为4”。这样一直到距离增大到16时,R2和R3才知道网1是不可达的。RIP协议的这一特点叫做:好消息传播得快,而坏消息传播得慢。像这种网络出故障的传播时间往往需要较长的时间,这是RIP的一个主要缺点。1.RIP的运行过程RIPoverview:1)RIP是tcp/ip协议开发的第一个路由选择标准;是一个distancevector协议,管理距离为120;利用UDP来封装数据,用UDP520端口发送接受更新。2)RIP适用于小型网络,路由器数目不大于15台(默认16台不可达),广播更新。3)发送和接收的更新为路由表条目,并且每个更新包最多携带25条路由条目(认证后为24条)4)基本原理:每个启动RIP协议的端口以255.255.255.255(ripv1为广播,ripv2为组播224.0.0.9)为目标发送请求报文(RIPRequestmessage),其邻居路由器收到后发送他所知道的路由表信息作为响应(Responsemessage),同时在发出后出端口的时候将hopcount加1(如果路由表中显示的跳数为“1”则表示通告路由器是与自己直连的)2.RIP发送请求和响应报文:1)如果配置为RIP-1,则只广播发送RIP-1报文,接受广播的RIP-1和RIP-2报文。2)如果配置为组播的RIP-2,则组播发送和接受组播RIP-2报文。3)如果配置为广播的RIP-2,发送广播的RIP-2报文,接受RIP-1和RIP-2的报文。3.RIP报文认证1)如果路由器没有配置RIP-2报文认证则RIP-1和没有配置认证的RIP-2报文可以被接受;配置认证饿RIP-2报文被丢弃。2)如果路由器配置了RIP-2报文认证则通过认证的RIP-2报文可以被接受,没有配置认证和认证失败的报文将被丢弃。当接收方收到更新后就作如下处理:更新信息的目标是自己没有的,则加入路由表。更新信息的目标是自己有的,则比较跳数,如果比自己原有的小则更新路由表;如果跳数比较大或为不可达(跳数大于15),则看更新信息的源地址(即为自己去往目标的下一跳),是否与自己原来的下一跳一样,如果不一样则丢弃此更新;如果一样,这时为了防止有不断变化的产生会启动抑制计时器(Holddowntimer)默认180秒,同时将该路由设为不可达,如果在180秒后还收到同样的更新消息则接受。对于接受的更新在加入路由表的同时会附加一个无效计时器(Invalidationtimer)默认180秒,即在180秒后还没收到相关更新信息则认为不可达设跳数为16,如果在过60秒(一共240秒)还没收到则从路由表中删除该条路由(刷新计时器(flushtimer))。这样做的好处是防止了路由黑洞路由器启动后每30秒启动rip的接口不断发出更新包(response)为了防止同时发更新造成广播风暴,随机设置一个25.5~30秒的hello时间以实现不同时发送更新,这就是debug时看到的更新间隔不为30秒的原因。4.路由环路的解决当10.4.0.0网络断开则C可以知道,其将10.4.0.0设为不可达(hop=16)然后等待下一次更新时间去向B发送更新,但是如果B先更新,C会收到这样一条消息说:“B可以去10.4.0.0跳数为2跳,那么C比较后(比16小)更新路由表;问题产生了当有数据发向10.4.0.0时,B将数据转给C,C再将数据给B,不断循环直到TTl=0。直到10.4.0.0这一条目在所有路由表中位16时,最终删除1)解决1:splithorizon:水平分割只进不出(从某一端口收到的更新不在从此端口发出),路由器向外发布某网段路由信息后不再接受从反方向发布回来的同一网段的路由更新信息2)解决2:毒性反转poisonreverse当一条路径信息变为无效之后,路由器并不立即将它从路
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院医保合规知识考核试卷(医护人员版)及答案
- 钳工刮削技能考核试题及答案
- 生物饵料培养员班组安全知识考核试卷含答案
- 闪速炉熔炼工岗前规章制度考核试卷含答案
- 砖瓦成型工常识评优考核试卷含答案
- 广播电视机线员岗前创新实践考核试卷含答案
- 平版制版员岗中基础安全考核试卷含答案
- 电子元器件表面贴装工岗中设备维护考核试卷含答案
- 液体二氧化碳生产工安全生产规范竞赛考核试卷含答案
- 钒铁熔化还原工操作能力强化考核试卷含答案
- 安全法制与心理健康
- 职校新生入学安全教育指南
- 2025年统计学期末考试题库-统计软件STATA广义线性模型试题
- 欧泰科-吊挂软件使用教程
- 西方文化概论(第二版)课件 第六章 西方社会生活与习俗
- 2024年新北师大版一年级上册数学全册课件(2024年新教材)
- 基于PLC的点胶机的控制系统设计
- 法律顾问服务投标方案(完整技术标)
- 多维阅读第13级-A-Big-Mistake-大错特错
- 湖南高速铁路职业技术学院单招职业技能测试参考试题库(含答案)
- 大运河-我们身边的世界文化遗产课件
评论
0/150
提交评论