RIP协议V-D算法的介绍(1)

1/23/2008来源:网络协议人气:5612


  Rip协议V-D算法的介绍
• 路由表的建立

IP 路由表需要一个建立过程,它的建立过程指的是它的初始化过程。任何路由器启动时,都必须首先获取一个初始路由表。不同的网络操作系统,获取初始路由表的方式不同,总的来说,有三种方式。第一种,路由器系统启动时,从外存读入一个完整的寻径表,长驻内存使用;系统关闭时再将当前路由表(可能经过刷新),写回外存,供下次使用。第二种,系统启动时,只提供一个空表,通过执行显式命令(比如批处理文件中的命令)来填充。第三种,系统启动时,从与本路由器直接相连的各网络地址中,推导出一组初始路由,当然通过初始路由只能访问相连网上的主机。显见,无论哪种情况,初始路由表总是不完善的,需要不断地运行过程中加以补充,这就是路由表的刷新。 RIP 正是用于路由表的维护和刷新, RIP 协议中的路由刷新算法是距离向量算法,它采取的路由表的初始化方式是上述三种中的最后一种。

• 距离向量算法

距离向量算法的思想很简单:所有参加 RIP 协议的路由器周期性地向外广播路由刷新报文,主要内容是由很多路由项( entry )组成的路由刷新报文。对路由来说,最主要的内容是目的地址和下一跳地址( next hop )。对动态路由协议来说,为了找到本协议概念中的最佳路由,还必须注重路由的开销( metric )。所以路由项主要包括了目的地址、下一跳地址和路由开销。其他的如路由标记( tag )等内容在讲报文格式时,将具体讲到。

在设计时,每个路由器的另外 RIP 治理了一个路由数据库,该路由数据库为系统中所有可能的信宿包含一个路由项,并为每个信宿保留如下信息:

•  目的地址:在算法的 IP 实现中,这指的是主机或网络的 IP 地址。

•  下一跳地址:到信宿的路由中的第一个路由器。

•  接口:用于到下一跳物理网络。

•  metric 值:一个数,指明本路由器到信宿的开销。

•  定时器:路由项最后一次被修改的时间。

•  路由标记:区分路由为内部路由协议的路由还是外部路由协议的路由的标记。

数据库由与系统直接相连的实体的描述初始化,通过从相邻路由器受到的报文修改维护。

路由器间交换的最重要的信息是修改报文,参加路由维护计划的路由器发送当前存在于实体的描述路由数据库的路由修改报文。仅通过相邻路由器间交换路由信息是可以维护整个系统的最佳路由的,这在接下来的讨论中会逐步得到证实。

距离向量算法总是基于一个这样的事实:路由数据库中的路由已是目前通过报文交换而得到的最佳路由。同时,报文交换仅限于相邻的实体间,也就是说,实体共享同一个网络。当然,要定义路由是最佳的,就必须有衡量的办法,这就用到前面所说的“ metric” 。 RIP 简单的网络中,通常用可行路由所经的路由器数简单地计算 metric 值。在复杂的网络中, metric 一般代表该路由传输数据报的延迟或其它发送开销。

令 D(i,j) 代表从实体 i 到实体 j 的最佳路由的 metric 值, d ( i , j )代表从 i 直接到 j 的开销,因为开销是可加的,算法中最佳路由如此获取表示:

D ( i , i ) =0 , 对所有的 i

D ( i , j ) =MIN[d ( i , j ) +D ( k , j ), 当 i 不等于 k 时

实体 i 从相邻路由器 k 收到 k 到 j 的开销的估计 D(i , j) , i 将 D ( i , j )加上 i 到 k 的开销估计 d ( i , j ), i 比较从所有相邻路由器得到的数值,取得最小数,就得到了它到 j 的最佳路由。