RIP路由协议及工作原理
Posted 茶乡浪子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RIP路由协议及工作原理相关的知识,希望对你有一定的参考价值。
下面内容摘自笔者编著的《网管员必读——网络基础》(第2版)一书。
9.11.1 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跳。
图9-31 RIP工作原理示例
然而在实际的网络路由选择上并不总是由跳数决定的,还要结合实际的路径连接性能综合考虑。在如9-32所示网络中,从路由器1到网络3,RIP协议将更倾向于跳数为2的路由器1->路由器2->路由器3的1.5Mbps链路,而不是选择跳数为1的56Kbps,直接的路由器1->路由器3路径,因为跳数为1的56Kbps串行链路比跳数为2的1.5Mbps串行链路慢得多。
图9-32 路由选择不仅限于“跳数”考虑的示例
2. 路由器的收敛机制
任何距离向量路由选择协议(如RIP)都有一个问题,路由器不知道网络的全局情况,路由器必须依靠相邻路由器来获取网络的可达信息。由于路由选择更新信息在网络上传播慢,距离向量路由选择算法有一个慢收敛问题,这个问题将导致不一致性产生。RIP协议使用以下机制减少因网络上的不一致带来的路由选择环路的可能性。
l 记数到无穷大机制
RIP协议允许最大跳数为15。大于15的目的地被认为是不可达。这个数字在限制了网络大小的同时也防止了一个叫做“记数到无穷大”的问题。
记数到无穷大机制的工作原理如下(如图9-33所示):
图9-33 路由器收敛机制示例
(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跳的距离到达网络A。
(4)路由器2在收到路由器1的消息后,比较发现与原来到达网络A网络安全面试题及答案