
RIP的工作原理详解.docx
10页RIP 的工作原理RIP(Routing information Protocol ,路由信息协议)是应用较早、使用较普遍的内部网关协议(Interior Gateway Protocol, IGP),适用于小型同类网络的一个自治系统(AS)内的路由信息的传递RIP协议是基于距离矢量算法(Distance Vector Algorithms,DVA)的它使用“跳数",即 metric 来衡量到达目标地址的路由距离文档见RFC1058、RFC1723它是一个用于路由器和主机间交换路由信息的距离向量协议,目前最新的版本为v4,也就是RIPv4至于上面所说到的“内部网关协议”,我们可以这样理解由于历史的原因, 当前的 INTERNET 网被组成一系列的自治系统,各自治系统通过一个核心路由 器连到主干网上而一个自治系统往往对应一个组织实体(比如一个公司或大 学)内部的网络与路由器集合每个自治系统都有自己的路由技术,对不同的 自治系统路由技术是不相同的用于自治系统间接口上的路由协议称为“外部 网关协议",简称EGP (Exterior Gateway Protocol);而用于自治系统内部 的路由协议称为“内部网关协议”,简称IGP。
内部网关与外部网关协议不同, 外部路由协议只有一个,而内部路由器协议则是一族各内部路由器协议的区 别在于距离制式(distance metric,即距离度量标准)不同,和路由刷新算法 不同RIP协议是最广泛使用的IGP类协议之一,著名的路径刷新程序Routed 便是根据RIP实现的RIP协议被设计用于使用同种技术的中型网络,因此适应 于大多数的校园网和使用速率变化不是很大的连续线的地区性网络对于更复杂的环境,一般不使用RIP协议1. RIP工作原理RIP协议是基于Bellham-Ford (距离向量)算法,此算法1969年被用于计算机 路由选择,正式协议首先是由Xerox于1970年开发的,当时是作为Xerox的 “Networking Services (NXS)"协议族的一部分由于RIP实现简单,迅速 成为使用范围最广泛的路由协议路由器的关键作用是用于网络的互连,每个路由器与两个以上的实际网络相连, 负责在这些网络之间转发数据报在讨论 IP 进行选路和对报文进行转发时, 我们总是假设路由器包含了正确的路由,而且路由器可以利用 ICMP 重定向机 制来要求与之相连的主机更改路由但在实际情况下, IP 进行选路之前必须先 通过某种方法获取正确的路由表。
在小型的、变化缓慢的互连网络中,管理者 可以用手工方式来建立和更改路由表而在大型的、迅速变化的环境下,人工 更新的办法慢得不能接受这就需要自动更新路由表的方法,即所谓的动态路 由协议,RIP协议是其中最简单的一种在路由实现时,RIP作为一个系统长驻进程(daemon)而存在于路由器中,负责 从网络系统的其它路由器接收路由信息,从而对本地IP层路由表作动态的维护, 保证IP层发送报文时选择正确的路由同时负责广播本路由器的路由信息,通 知相邻路由器作相应的修改RIP协议处于UDP协议的上层,RIP所接收的路由 信息都封装在UDP协议的数据报中,RIP在520号UDP端口上接收来自远程路由 器的路由修改信息,并对本地的路由表做相应的修改,同时通知其它路由器 通过这种方式,达到全局路由的有效RIP路由协议用“更新(UNPDATES) ”和“请求(REQUESTS)”这两种分组来传 输信息的每个具有 RIP 协议功能的路由器每隔 30 秒用 UDP520 端口给与之直 接相连的机器广播更新信息更新信息反映了该路由器所有的路由选择信息数 据库路由选择信息数据库的每个条目由“局域网上能达到的 IP 地址”和“与 该网络的距离”两部分组成。
请求信息用于寻找网络上能发出 RIP 报文的其他 设备RIP 用“路程段数”(即“跳数”)作为网络距离的尺度每个路由器在给相邻 路由器发出路由信息时,都会给每个路径加上内部距离在如图 9-31 中,路由 器 3 直接和网络 C 相连当它向路由器 2 通告网络 142.10.0.0 的路径时,它把 跳数增加 1与之相似,路由器 2 把跳数增加到“2”,且通告路径给路由器 1, 则路由器 2 和路由器 1 与路由器 3 所在网络 142.10.0.0 的距离分别是 1 跳、2 跳网络A140.12.0.0网络C1^2.10+ 0,0踣由器L略由器3网络B152.142.0.0图9-31 RIP工作原理示例然而在实际的网络路由选择上并不总是由跳数决定的,还要结合实际的路径连 接性能综合考虑在如9-32所示网络中,从路由器1到网络3, RIP协议将更 倾向于跳数为2的路由器1->路由器2->路由器3的1・5Mbps链路,而不是选择跳数为1的56Kbps,直接的路由器1->路由器3路径,因为跳数为1的56Kbps串行链路比跳数为2的1・5Mbps串行链路慢得多2・ 路由器的收敛机制任何距离向量路由选择协议(如RIP)都有一个问题,路由器不知道网络的全局情况,路由器必须依靠相邻路由器来获取网络的可达信息。
由于路由选择更新 信息在网络上传播慢,距离向量路由选择算法有一个慢收敛问题,这个问题将 导致不一致性产生RIP协议使用以下机制减少因网络上的不一致带来的路由选 择环路的可能性记数到无穷大机制RIP协议允许最大跳数为15大于15的目的地被认为是不可达这个数字在限制了网络大小的同时也防止了一个叫做“记数到无穷大”的问题记数到无穷大机制的工作原理如下(如图 9-33所示) :路由器2&6Kbps鉛由器I图9-33 路由器收敛机制示例142.10.0.0Z 路由器空I. 5Mbps(1)现假设路由器1断开了与网络A相连,则路由器1丢失了与网络A相连的 以太网接口后产生一个触发更新送往路由器2和路由器3这个更新信息同时告 诉路由器2和路由器3,路由器1不再有到达网络A的路径假设这个更新信息 传输到路由器2被推迟了(CPU忙、链路拥塞等),但到达了路由器3,所以路 由器3会立即从路由表中去掉到网络A的路径 2 )路由器2由于未收到路由器1的触发更新信息,并发出它的常规路由选择 更新信息,通告网络A以2跳的距离可达路由器3收到这个更新信息,认为 出现了一条通过路由器2的到达网络A的新路径于是路由器3告诉路由器1, 它能以3跳的距离到达网络A。
3) 在收到路由器3的更新新后,就把这个信息加上一跳后向路由器2和路由 器3同时发出更新信息,告诉他们路由器1可以以3跳的距离到达网络A4) 路由器2在收到路由器1的消息后,比较发现与原来到达网络A的路径不 符,更新成可以以4,跳的距离到达网络A这个消息再次会发往路由器3,以 此循环,直到跳数达到超过RIP协议允许的最大值(在RIP中定义为16)一 旦一个路由器达到这个值,它将声明这条路径不可用,并从路由表中删除此路 径由于记数到无穷大问题,路由选择信息将从一个路由器传到另一个路由器,每 次段数加1路由选择环路问题将无限制地进行下去,除非达到某个限制这个 限制就是RIP的最大跳数当路径的跳数超过15,这条路径才从路由表中删除水平分割法水平分割规则如下:路由器不向路径到来的方向回传此路径当打开路由器接口后,路由器记录路径是从哪个接口来的,并且不向此接口回传此路径Cisco可以对每个接口关闭水平分割功能这个特点在"non broadcast mutilple access”(NBMA,非广播多路访问)环境下十分有用在如图9-34所示网络中, 路由器2通过帧中继连接路由器1和路由器3,两个PVC都在路由器2的同一个 物理接口(SO)中止。
如果在路由器2的水平分割功能未被关闭,那么路由器3 将收不到路由器1的路由选择信息(反之亦然)用"no ip spli t-horizon ”接口子命令可关闭水平分割功能谿由罟1胡0山刈山图9-34 水平分割法原理示例网络B173. LS2.0.0冏络A152. H2. 0. Q⑷ 3 Q、Q破坏逆转的水平分割法水平分割是路由器用来防止把一个接口得来的路径又从此接口传回导致的问题 的方案水平分割方案忽略在更新过程中从一个路由器获取的路径又传回该路 由器有破坏逆转的水平分割方法是在更新信息中包括这些回传路径,但这种处理方法会把这些回传路径的跳数设为 16(无穷)通过把跳数设为无穷,并 把这条路径告诉源路由器,有可能立刻解决路由选择环路否则,不正确的路 径将在路由表中驻留到超时为止破坏逆转的缺点是它增加了路由更新的的数 据大小保持定时器法保持定时器法可防止路由器在路径从路由表中删除后一定的时间内(通常为 180 秒)接受新的路由信息它的思想是保证每个路由器都收到了路径不可达信息, 而且没有路由器发出无效路径信息例如在图 6-32所示网络中,由于路由更新 信息被延迟,路由器 2向路由器3发出错误信息。
但使用保持计数器法后,这 种情况将不会发生,因为路由器3将在180秒内不接受通向网络A的新的路径 信息,到那时路由器2将存储正确的路由信息触发更新法有破坏逆转的水平分割将任何两个路由器构成的环路打破,但三个或更多个路 由器构成的环路仍会发生,直到无穷(16)时为止触发式更新法可加速收敛 时间,它的工作原理是当某个路径的跳数改变了,路由器立即发出更新信息, 不管路由器是否到达常规信息更新时间都发出更新信息3. RIP 报文格式如图9-35 所示为 RIP 信息格式各字段解释如下:Command:命令字段,8位,用来指定数据报用途命令有五种:Request (请求)、Response (响应)、Traceon (启用跟踪标记,自v2版本后已经淘汰)、Traceoff(关闭跟踪标记,自v2版本后已经淘汰)和Reserved (保留)Version: RIP 版本号字段, 16位Address Fam订y Identifier:地址族标识符字段,24位它指出该入口的协议地址类型由于 RIP2 版本可能使用几种不同协议传送路由选择信息,所以要使用到该字段IP协议地址的Address Fam订y Identifier为2。
Route Tag:路由标记字段,32位,仅在v2版本以上需要,第一版本不用,为0用于路由器指定属性,必须通过路由器保存和重新广告路由标志是分离内 部和外部 RIP 路由线路的一种常用方法(路由选择域内的网络传送线路),该 方法在EGP或IGP都有应用IP Address:目标IP地址字段,IPv4地址为32位Subnet Mask :子网掩码字段,IPv4子网掩码地址为32位它应用于IP地址, 生成非主机地址部分如果为0说明该入口不包括子网掩码也仅在v2版本 以上需要,在RIPvl中不需要,为0Next Hop:下一跳字段指出下一跳IP地址,由路由入口指定的通向目的地的 数据包需要转发到该地址Metric:跳数字段表示从主机到目的地获得数据报过程中的整个成本。





![河南新冠肺炎文件-豫建科[2020]63号+豫建科〔2019〕282号](http://img.jinchutou.com/static_www/Images/s.gif)






