路由信息协议(RIP)

  一、背景

  路由信息协议(RIP)是以跳数作为metric的距离向量协议。RIP广泛用于全球因特网的路由,是一种内部网关协议(interior gateway protocol),即在自治系统内部执行路由功能。外部网关路由协议(exterior gateway protocol),如边缘网关协议(BGP),在不同的自治系统间进行路由。RIP的前身是Xerox协议GWINFO,后来的版本routed(发音为/rutdi/)封装在1982年伯克利标准发布Unix(即BSD中)。RIP本身发展成因特网路由协议,有些协议族使用了RIP的变种,例如:AppleTalk路由表维护协议(RTMP)和Banyan VINES路由表协议(RIP)就是基于IP版的RIP的。RIP最新的增强版是RIP2规范,它允许在RIP分组中包含更多的信息并提供了简单的认证机制。

  IP RIP在两个文档中正式定义:RFC 1058和1723。RFC 1058(1988)描述了RIP的第一版实现,RFC 1723(1994)是它的更新,允许RIP分组携带更多的信息和安全特性。

  本文简单介绍RIP的基本能力和特性,包括路由更新过程,RIP路由metric,路由稳定性和计时器。

  二、路由更新

  RIP以规则的时间间隔及在网络拓扑改变时发送路由更新信息。当路由器收到包含某表项的更新的路由更新信息时,就更新其路由表:该路径的metric值加上1,发送者记为下一跳。RIP路由器只维护到目的的最佳路径(具有最小metric值的路径)。更新了自己的路由表后,路由器立刻发送路由更新把变化通知给其它路由器,这种更新是与周期性发送的更新信息无关的。

  三、RIP路由metric

  RIP使用单一路由metric(跳数)来衡量源网络到目的网络的距离。从源到目的的路径中每一跳被赋以一个跳数值,此值通常为1。当路由器收到包含新的或改变的目的网络表项的路由更新信息,就把其metric值加1然后存入路由表,发送者的IP地址就作为下一跳地址。

  RIP通过对从源到目的的最大跳数加以限制来防止路由环,最大值为15。如果路由器收到了含有新的或改变的表项的路由更新信息,且把metric值加1后成为无穷大(即16),就认为该目的网络不可到达。

  四、RIP的稳定性

  为了适应快速的网络拓扑变化,RIP规定了一些与其它路由协议相同的稳定特性。例如,RIP实现了split-horizon和hold-down机制来防止路由信息的错误传播。此外,RIP的跳数限制也防止了无限增长而产生路由环。

  五、RIP计时器

  RIP使用了一些计时器以控制其性能,包括路由更新计时器、路由超时和路由清空的计时器。路由更新计时器记录周期性更新的时间间隔,通常为30秒,每当该计时器重置时增加小的随机秒数以防止冲突。每个路由表项都有相关的路由超时计时器,当路由超时计时器过期时,该路径就标记为失效的,但仍保存在路由表中,直到路由清空计时器过期才被清掉。

  六、RIP分组格式

  下面描述IP RIP和IP RIP2的分组格式。

  1、RIP分组格式

  命令--表示该分组是请求还是响应。请求分组要求路由器发送其路由表的全部或部分。响应分组可以是主动提供的周期性路由更新或对请求的响应。大的路由表可以使用多个RIP分组来传递信息。

  版本号--指明使用的RIP版本,此域可以通知不同版本的不兼容。

  零--未使用。

  地址族标志(AFI)--指明使用的地址族。RIP设计用于携带多种不同协议的路由信息。每个项都有地址族标志来表明使用的地址类型,IP的AFI是2。

  地址--指明该项的IP地址。

  metric--表示到目的的过程中经过了多少跳数(路由器数)。有效路径的值在1和15之间,16表示不可达路径。

  注:在一个IP RIP分组中最多可有25个AFI、地址和metric域,即一个RIP分组中最多可含有25个地址项。

  2、RIP2分组格式

  RIP2规范(RFC1723)允许RIP分组包含更多的信息,并提供了简单的认证机制,如下图。

  命令--表示该分组是请求还是响应。请求分组要求路由器发送其路由表的全部或部分。响应分组可以是主动提供的周期性路由更新或对请求的响应。大的路由表可以使用多个RIP分组来传递信息。

  版本--指明使用的RIP版本,在实现RIP2或进行认证的RIP分组中,此值为2。

  未使用--值为0。

  地址族标志(AFI)--指明使用的地址族。RIP设计用于携带多种不同协议的路由信息。每个项都有地址族标志来表明使用的地址类型,IP的AFI是2。如果第一项的AFI为0xFFFF,该项剩下的部分就是认证信息。目前,唯一的认证类型就是简单的口令。

  路由标记--提供区分内部路由(由RIP学得)和外部路由(由其它协议学得)的方法。

  IP地址--指明该项的IP地址。

  子网掩码--包含该项的子网掩码。如果此域为0,则该项不指定子网掩码。

  下一跳--指明下一跳的IP地址。

  metric--表示到目的的过程中经过了多少跳数(路由器数)。有效路径的值在1和15之间,16表示不可达路径。

  注:在一个IP RIP分组中最多可有25个AFI、地址和metric域,即一个RIP分组中最多可含有25个地址项。如果AFI指明为认证信息,则只能有24个路由表项