探析IP路由技术与RIP协议

时间:2022-10-30 03:17:57

探析IP路由技术与RIP协议

摘要:随着计算机网络规模的不断扩大和大型互联网络的迅猛发展,路由技术在网络技术中已逐渐成为关键部分,路由器也随之成为最重要的网络设备。本文介绍了IP路由算法,分析了RIP路由协议的基本原理与处理过程。

关键词:路由技术 算法 RIP

1、IP路由算法

IP路由算法可分为以下几种:静态和动态、单路和多路、平等和分级、源路由和透明路由、域内和域间、链路状态和距离向量。

链路状态算法发送路由信息到互联网上所有的结点,然而对于每个路由器,仅发送它的路由表中描述了其自身链路状态的那一部分。距离向量算法则要求每个路由器发送其路由表全部或部分信息,但仅发送到邻近结点上。从本质上来说,链路状态算法将少量更新信息发送至网络各处,而距离向量算法发送大量更新信息至邻接路由器。

由于链路状态算法收敛更快,因此它在一定程度上比距离向量算法更不易产生路由循环。但另一方面,链路状态算法要求比距离向量算法有更强的CPU能力和更多的内存空间,因此链路状态算法将会在实现时显得更昂贵一些。除了这些区别,两种算法在大多数环境下都能很好地运行。路由算法使用了许多种不同的度量标准去决定最佳路径。复杂的路由算法可能采用多种度量来选择路由,通过一定的加权运算,将它们合并为单个的复合度量、再填入路由表中,作为寻径的标准。

2、RIP路由协议的原理分析

RIP是基于距离矢量的路由协议。运行RIP的路由器维持一个到网络中可能目的地的路由表,路由表包含目的地址和开销等信息。具体的说,RIP协议主要包括以下几个方面的内容。

2.1计算距离矢量

距离矢量路由协议利用度量来跟踪它和所有已知目的地间的距离。这种距离信息使路由器可以找出到位于非近邻独立系统中的目的地最有效的下一跳。在RFC-1058中,有一个唯一的距离矢量单位,即跳数。在RIP中默认的跳数度量被置为1,这些距离度量用来构造路由表。路由表识别出数据包,以最小开销到达目的地所要采取的下一跳。

2.2更新路由表

RIP只记录每个目的地址的一条路由,这一事实要求RIP经常保持其路由表的完整性。它通过要求所有活跃的RIP路由器周期性的向相邻RIP路由器广播它们路由表的内容。通常,RIP依赖3个计时器来维护路由表:即更新计时器、路由暂休计时器、路由清楚计时器。更新计时器用来激发节点路由表的更新。每个RIP节点只有一个更新计时器。然而,路由暂休和路由清除计时器则是每条路由都有一个。因此,每个路由表条目中都有一个不同的暂休和路由清除计时器。总之,这些计时器使RIP节点能维护它们路由的完善性,并根据所用的时间进行激活,从而恢复网络故障。

2.3激活路由更新

大约每30s激活一次路由更新。更新路由器用来跟踪这个时间量。当这个时间量结束时,RIP发送一系列帧来维护整个路由表。这些帧广播到每个邻节点。因此,每个RIP路由器大约每30s就要接收来自邻RIP节点的更新。

2.4识别无效路由

路由变得无效的两种情况:其一,路由到期;其二,路由器可能通知某个路由器某条路由是不可用的。在这两种情况下,RIP路由器都需要改变它的路由表,来反映给定路由的不可用性。假如路由器在给定的时间内没有接收到更新某路由的信息,该路由可能到期。路由暂休定时器常设成180s,当路由激活或更新时,该定时器初始化。假如180s过去了,路由器还没有接到更新那条路由的信息,RIP路由器就认为目的IP地址不再可达。因此路由器把表中那条路由项标成无效。收到路由新近无效通知的邻节点利用该信息来更新它们的路由表。这是路由表中路由变得无效的第2种方法。无效路由表项不会自动的从路由表中清除;相反,那条无效项继续在路由表中保留很短一段时间。

2.5清除无效路由

当路由器认识到某条路由无效时,就初始化一个秒计时器,负责路由清除倒计时,这一计时称为路由清除计时器。当路由清除计时器结束时,路由仍未被收到,这一路由就从路由表中清除。这些计时器是RIP恢复网络故障能力中绝对重要的。

2.6编址方案

IETF保证RIP能够完全向后兼容所有已知的RIP和ROUTED异体。即使这些异体专用程度很高,开放标准RIP仍有必要支持多种地址类型。

2.7路由到网关

很多实际网络中,并不要计算到每个单个主机的路由。特别是在大型网络中,这会使路由表膨胀,从而使整个网络的路由工作繁重。因此在实际网络中,几乎总是概括路由,而不是指出每个可能目的地。假如一个给定的网络(或子网)上,每个主机都能通过网关到达的话,这时路由表只需定义那个网关为下一条IP地址就可以了。所有发往那个网络或子网上的数据包将发送给那个网关,这时网关就承担了把它发送到最终目的地的任务。

3、RIP协议处理过程

RIP协议的运行过程就是路由器软件对消息输入和输出处理过程,其输入和输出处理大致如下所描述。

输入处理:主要是指路由器协议软件对在520号UDP端口收到的数据报进行的处理。对于输入处理,首先必须先作一定格式检查,检查通过后,再分别对几种输入消息做相应的处理。

请求报文:路由器在开始运行时,为了从邻机处获取路由表的初始值,通常会发一个请求。报文的Command字段为。对所有或部分路由表的请求,一般以广播形式从520号UDP端口发送。实际中,这种请求有两种格式:请求获取路由表的全部和请求获取路由表的某些特定路由项。路由软件先逐个路由项地处理请求,如果没有任何路由项,也就没有响应;如果请求中恰好只有一个路由项,并且addressfamilyidentifier为0,metric为16,则表示需要接收方发送所有路由表的请求;除此之外,则是要求部分路由,处理很简单,沿着请求路由项表一个一个看,对于每个路由项,在主机路由数据库中查找,如果找到,则将该路由的metric值填入数据报的metric字段,如果没有,则向其中填16。一旦所有路由项均已处理,将command字段设为响应,并将该数据报发回其来自的端口。根据请求是否关于指定的一批目的地,还是关于整个路由表,处理有所不同。如果关于整个路由表,输出作普通的处理即可,包括水平分割和子网隐藏,因此来自路由表的某些路由项将被隐藏;如果是指定路由项,则将查找结果返回,不作水平分割,如果需要还要返回子网信息。

响应报文:因为指定查询、路由修改等原因而收到响应。不论收到什么样的响应,RIP处理程序就开始更新它的路由表。

输出处理:用于产生包含全部或部分路由表的响应信息的处理,可能由于输入进程发现请求或路由修改而触发。响应请求产生的输出可以直接按需工作,而触发的修改因为两个方面需要处理。

首先,触发的修改在容量有限或有许多路由器的网络上可能导致格外大的负载,因此协议要求实现方在限制触发式修改出现的频率上采取一定的措施,触发式修改发送后,需要随机地将一个定时器设置成1到5秒,如果在定时器超时前发生其它修改,需要到定时器超时才触发其中之一,然后定时器再随机地设置成1到5秒,触发式修改可能被一般修改所禁止;另外,触发式修改可能不必包括整个路由表,原则上说,只有改变过的路由才需要包括,作为触发式修改一部分的信息至少包括设置了路由修改标志的路由,也可以包括附加路由和全部路由。如果完整的修改需要多个数据报,则发送全部路由极有可能被打断;而触发式修改处理时,需要产生每个直连网络的信息。产生触发式修改或一般修改时,都需要进行水平分割操作。

参考文献

[1]苏传蓉.几种常见路由协议的应用.湖北邮电技术,2002

[2]张宏科、张思东、刘文红.路由器原理与技术.北京:国防工业出版社,2003

上一篇:单片机数据采集系统设计 下一篇:如何对计算机进行全面的硬件维护