rip协议理解.doc_第1页
rip协议理解.doc_第2页
rip协议理解.doc_第3页
rip协议理解.doc_第4页
rip协议理解.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

rip协议理解一、概述baiduRIP协议的全称是路由信息协议(Routing Information Protocol),它是一种内部网关协议(IGP),用于一个自治系统(AS)内的路由信息的传递。RIP协议是基于距离矢量算法(Distance Vector Algorithms)的,它使用“跳数”,即metric来衡量到达目标地址的路由距离。二、该协议的局限性1、协议中规定,一条有效的路由信息的度量(metric)不能超过15,这就使得该协议不能应用于很大型的网络,应该说正是由于设计者考虑到该协议只适合于小型网络所以才进行了这一限制。对于metric为16的目标网络来说,即认为其不可到达。2、该路由协议应用到实际中时,很容易出现“计数到无穷大”的现象,这使得路由收敛很慢,在网络拓扑结构变化以后需要很长时间路由信息才能稳定下来。3、该协议以跳数,即报文经过的路由器个数为衡量标准,并以此来选择路由,这一措施欠合理性,因为没有考虑网络延时、可靠性、线路负荷等因素对传输质量和速度的影响。三、RIP(版本1)报文的格式和特性3.1、RIP(版本1)报文的格式0 7 15 31命令字(1字节) 版本(1字节) 必须为0(2字节)地址类型标识符(2字节) 必须为0(2字节)IP地址必须为0必须为0Metric值(116)(最多可以有24个另外的路由,与前20字节具有相同的格式)“命令字”字段为1时表示RIP请求,为2时表示RIP应答。地址类型标志符在实际应用中总是为2,即地址类型为IP地址。“IP地址”字段表明目的网络地址,“Metric”字段表明了到达目的网络所需要的“跳数”。3.2. RIP的特性(1)路由信息更新特性:路 由器最初启动时只包含了其直连网络的路由信息,并且其直连网络的metric值为1,然后它向周围的其他路由器发出完整路由表的RIP请求(该请求报文的 “IP地址”字段为0.0.0.0)。路由器根据接收到的RIP应答来更新其路由表,具体方法是添加新的路由表项,并将其metric值加1。如果接收到 与已有表项的目的地址相同的路由信息,则分下面三种情况分别对待:第一种情况,已有表项的来源端口与新表项的来源端口相同,那么无条件根据最新的路由信息 更新其路由表;第二种情况,已有表项与新表项来源于不同的端口,那么比较它们的metric值,将metric值较小的一个最为自己的路由表项;第三种情 况,新旧表项的metric值相等,普遍的处理方法是保留旧的表项。路由器每30秒发送一次自己的路由表(以RIP应答的方式广播出去)。针对某一条路由信息,如果180秒以后都没有接收到新的关于它的路由信息,那么将其标记为失效,即metric值标记为16。在另外的120秒以后,如果仍然没有更新信息,该条失效信息被删除。2)RIP版本1对RIP报文中“版本”字段的处理:0:忽略该报文。1:版本1报文,检查报文中“必须为0”的字段,若不符合规定,忽略该报文。1:不检查报文中“必须为0”的字段,仅处理RFC 1058中规定的有意义的字段。因此,运行RIP版本1的机器能够接收处理RIP版本2的报文,但会丢失其中的RIP版本2新规定的那些信息。(3)RIP版本1对地址的处理RIP版本1不能识别子网网络地址,因为在其传送的路由更新报文中不包含子网掩码,因此RIP路由信息要么是主机地址,用于点对点链路的路由;要么是A、B、C类网络地址,用于以太网等的路由;另外,还可以是0.0.0.0,即缺省路由信息。(4)计数到无穷大(Counting to Infinity)前面在RIP的局限性一部分提到了可能出现的计数到无穷大的现象,下面就来分析一下该现象的产生原因与过程。考察下面的简单网络:c(目的网络)router Arouter B在正常情况下,对于目标网络,A路由器的metric值为1,B路由器的metric值为2。当目标网络与A路由器之间的链路发生故障而断掉以后:c(目的网络)|router Arouter BA 路由器会将针对目标网络C的路由表项的metric值置为16,即标记为目标网络不可达,并准备在每30秒进行一次的路由表更新中发送出去,如果在这条信 息还未发出的时候,A路由器收到了来自B的路由更新报文,而B中包含着关于C的metric为2的路由信息,根据前面提到的路由更新方法,路由器A会错误的 认为有一条通过B路由器的路径可以到达目标网络C,从而更新其路由表,将对于目标网络C的路由表项的metric值由16改为3,而对于的端口变为与B路 由器相连接的端口。很明显,A会将该条信息发给B,B将无条件更新其路由表,将metric改为4;该条信息又从B发向A,A将metric改为5最 后双发的路由表关于目标网络C的metric值都变为16,此时,才真正得到了正确的路由信息。这种现象称为“计数到无穷大”现象,虽然最终完成了收敛, 但是收敛速度很慢,而且浪费了网络资源来发送这些循环的分组。另外,从这里我们也可以看出,metric值的最大值的选择实际上存在着矛盾,如果选得太小,那么适用的网络规模太小;如果选得过大,那么在出现计数到无穷大现象的时候收敛时间会变得很长。3.3. 为了提高RIP性能的两项措施3.3.1. 水平分割在上面的“计数到无穷大”现象中,产生的原因是A、B之间互相传送了“欺骗信息”,那么针对这种情况,我们自然会想到如果能将这些“欺骗信息”去掉,那么不就可以在一定程度上避免“计数到无穷大”了吗。水平分割正是这样一种解决手段。“普通的水平分割”是:如果一条路由信息是从X端口学习到的,那么从该端口发出的路由更新报文中将不再包含该条路由信息。“带毒化逆转的水平分割”是:如果一条路由信息是从X端口学习到的,那么从该端口发出的路由更新报文中将继续包含该条路由信息,而且将这条信息的metric置为16。“普通的水平分割”能避免欺骗信息的发送,而且减小了路由更新报文的大小,节约了网络带宽;“带毒化逆转的水平分割”能够更快的消除路由信息的环路,但是增加了路由更新的负担。这两种措施的选择可根据实际情况进行选择。3.3.2. 触发更新上面的“水平分割”能够消除两台路由器间的欺骗信息的相互循环,但是当牵涉到三台或者以上的路由器时,效果就有限了。考察下面的网络: A-C- D - E | BE是目标网络针对目标网络,各路由器的路由信息分别如下: Next hopmetricAC3BD2CD2D直连1A-C- D - E | B当D 与目标网络之间发生故障中断以后,B和C都能正确的从D得到网络不可达的信息,但是,从上面的路由信息中可以看出,A虽然不会给C发送错误信息,但是A可 能在未收到网络不可达信息之前就给B发送了路由信息,让B错误的认为可以通过A到达目标网络,继而又会出现“计数到无穷大”的现象。触发更新就是为了针对上述情况进行的一种改善,它的具体实现措施是:路由器一旦察觉到网络变化,就尽快甚至是立即发送更新报文,而不等待更新周期结束。只要触发更新的速度足够快,就可以大大的防止“计数到无穷大”的发生,但是这一现象还是有可能发生的。使用了触发更新以后,当网络拓扑发生变化的时候,网络中会出现类似于“多米诺骨牌”的更新报文潮流,并最后中止于从未发生变化的路径到达目标网络的路由器。3.4. RIP中的4个定时器RIP中一共使用了4个定时器:update timer, timeout timer, garbage timer, holddown timer。Update timer用于每30秒发送路由更新报文,每次收到同一条路由信息的更新信息就将该计数器复位。Timeout timer用于路由信息失效前的180秒的计时。Garbage timer和holddown timer同时用于将失效的路由信息删除前的计时:在holddown timer的时间内,失效的路由信息不能被接收到的新信息所更新;在garbage timer计时器超时后,失效的路由信息被删除。另外,在触发更新中,更新信息会需要1到5秒的随机延时以后才被发出,这里也需要一个计时器。四、RIP版本2简介RIP版本2的报文格式如下:0 7 15 31命令字(1字节) 版本(1字节) 路由域(2字节)0xFFFF(2字节) 验证类型(2字节)验证(16字节)地址类型标识符(2字节) 路由标签(2字节)IP地址子网掩码下一跳IP地址Metric值(116)(最多可以有24个另外的路由,与前20字节具有相同的格式)版本2的RIP使用了版本1中“必须为0”的字段,增加了一些对于路由的有用信息,其主要新添的特性如下:(1)报文中包含子网掩码,可以进行子网路由(2)支持明文/MD5验证(3)报文中包含了下一跳IP,为路由的选优提供了更多的信息。RIP协议如何更新路由表RIP为每个目的地只记录一条路由的事实要求RIP积极地维护路由表的完整性。通过要求所有活跃的RIP路由器在固定时间间隔广播其路由表内容至相邻的RIP路由器来做到这一点,所有收到的更新自动代替已经存储在路由表中的信息。 RIP依赖3个计时器来维护路由表:更新计时器路由超时计时器路由刷新计时器更新计时器用于在节点一级初始化路由表更新。每个RIP节点只使用一个更新计时器。相反的,路由超时计时器和路由刷新计时器为每一个路由维护一个。如此看来,不同的超时和路由刷新计时器可以在每个路由表项中结合在一起。这些计时器一起能使RIP节点维护路由的完整性并且通过基于时间的触发行为使网络从故障中得到恢复。1. 初始化表更新RIP路由器每隔3 0秒触发一次表更新。更新计时器用于记录时间量。一旦时间到, RIP节点就会产生一系列包含自身全部路由表的报文。这些报文广播到每一个相邻节点。因此,每一个RIP路由器大约每隔3 0秒钟应收到从每个相邻RIP节点发来的更新。注意在更大的基于RIP的自治系统中,这些周期性的更新会产生不能接受的流量。因此,一个节点一个节点地交错进行更新更理想一些。RIP自动完成更新,每一次更新计时器会被复位,一个小的、任意的时间值加到时钟上。如果更新并没有如所希望的一样出现,说明互联网络中的某个地方发生了故障或错误。故障可能是简单的如把包含更新内容的报文丢掉了。故障也可能是严重的如路由器故障,或者是介于这两个极端之间的情况。显然,采取合适的措施会因不同的故障而有很大区别。由于更新报文丢失而作废一系列路由是不明智的(记住, RIP更新报文使用不可靠的传输协议以最小化开销)。因此,当一个更新丢失时,不采取更正行为是合理的。为了帮助区别故障和错误的重要程度,RIP使用多个计时器来标识无效路由。2. 标识无效路由有两种方式使路由变为无效:路由终止。路由器从其他路由器处学习到路由不可用。在任何一种情形下, RIP路由器需要改变路由表以反映给定路由已不可达。一个路由如果在一个给定时间之内没有收到更新就中止。比如,路由超时计时器通常设为180秒。当路由变为活跃或被更新时,这个时钟被初始化。180秒是大致估计的时间,这个时间足以令一台路由器从它的相邻路由器处收到6个路由表更新报文(假设它们每隔30秒发送一次路由更新),如果 180秒消逝之后, RIP路由器没收到关于那条路由的更新, RIP路由器就认为那个目的I P地址不再是可达的。因此,路由器就会把那条路由表项标记为无效。通过设置它的路由度量值为1 6来实现,并且要设置路由变化标志。这个信息可以通过周期性的路由表更新来与其相邻路由器交流。注意 对于RIP节点而言,16等于无穷。因此,简单的设置耗费度量值为16能作废一条路由。接到路由新的无效状态通知的相邻节点使用此信息来更新它们自己的路由表。这是路由变为无效的第二种方式。 无效项在路由表中存在很短时间,路由器决定是否应该删除它。即使表项保持在路由表中,报文也不能发送到那个表项的目的地址: RIP不能把报文转发至无效的目的地。3. 删除无效路由一旦路由器认识到路由已无效,它会初始化一个秒计时器:路由刷新计时器。因此,在最后一次超时计时器初始化后180秒,路由刷新计时器被初始化。这个计时器通常设为90秒。如果路由更新在270秒之后仍未收到( 180秒超时加上90秒路由刷新时间),就从路由表中移去此路由(也就是刷新)。而为了路由刷新递减计数的计时器称为路由刷新计时器。这个计时器对于RIP从网络故障中恢复

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论