在以下路由协议的介绍中所指的路由器及路由器图标,代表了一般意义下的路由设备
RIP(Routing Information Protocol,路由信息协议)是一种较为简单的内部网关协议(Interior Gateway Protocol,IGP),主要用于规模较小的网络中,比如校园网以及结构较简单的地区性网络。对于更为复杂的环境和大型网络,一般不使用RIP。
由于RIP的实现较为简单,在配置和维护管理方面也远比OSPF和IS-IS容易,因此在实际组网中仍有广泛的应用。
RIP是一种基于距离矢量(Distance-Vector,D-V)算法的协议,它通过UDP报文进行路由信息的交换,使用的端口号为520。
RIP使用跳数来衡量到达目的地址的距离,跳数称为度量值。在RIP中,路由器到与它直接相连网络的跳数为0,通过一个路由器可达的网络的跳数为1,其余依此类推。为限制收敛时间,RIP规定度量值取0~15之间的整数,大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。由于这个限制,使得RIP不适合应用于大型网络。
每个运行RIP的路由器管理一个路由数据库,该路由数据库包含了到所有可达目的地的路由项,这些路由项包含下列信息:
l 目的地址:主机或网络的地址。
l 下一跳地址:为到达目的地,需要经过的相邻路由器的接口IP地址。
l 出接口:本路由器转发报文的出接口。
l 度量值:本路由器到达目的地的开销。
l 路由时间:从路由项最后一次被更新到现在所经过的时间,路由项每次被更新时,路由时间重置为0。
l 路由标记(Route Tag):用于标识外部路由,在路由策略中可根据路由标记对路由信息进行灵活的控制。
RIP受四个定时器的控制,分别是Update、Timeout、Suppress和Garbage-Collect。
l Update定时器,定义了发送路由更新的时间间隔。
l Timeout定时器,定义了路由老化时间。如果在老化时间内没有收到关于某条路由的更新报文,则该条路由在路由表中的度量值将会被设置为16。
l Suppress定时器,定义了RIP路由处于抑制状态的时长。当一条路由的度量值变为16时,该路由将进入抑制状态。在被抑制状态,只有来自同一邻居且度量值小于16的路由更新才会被路由器接收,取代不可达路由。
l Garbage-Collect定时器,定义了一条路由从度量值变为16开始,直到它从路由表里被删除所经过的时间。在Garbage-Collect时间内,RIP以16作为度量值向外发送这条路由的更新,如果Garbage-Collect超时,该路由仍没有得到更新,则该路由将从路由表中被彻底删除。
RIP是一种基于D-V算法的路由协议,由于它向邻居通告的是自己的路由表,存在发生路由环路的可能性。
RIP通过以下机制来避免路由环路的产生:
l 计数到无穷(Counting to infinity):将度量值等于16的路由定义为不可达(infinity)。在路由环路发生时,某条路由的度量值将会增加到16,该路由被认为不可达。
l 触发更新(Triggered Updates):RIP通过触发更新来避免在多个路由器之间形成路由环路的可能,而且可以加速网络的收敛速度。一旦某条路由的度量值发生了变化,就立刻向邻居路由器发布更新报文,而不是等到更新周期的到来。
RIP启动和运行的整个过程可描述如下:
l 路由器启动RIP后,便会向相邻的路由器发送请求报文(Request message),相邻的RIP路由器收到请求报文后,响应该请求,回送包含本地路由表信息的响应报文(Response message)。
l 路由器收到响应报文后,更新本地路由表,同时向相邻路由器发送触发更新报文,通告路由更新信息。相邻路由器收到触发更新报文后,又向其各自的相邻路由器发送触发更新报文。在一连串的触发更新广播后,各路由器都能得到并保持最新的路由信息。
在缺省情况下每隔30秒向相邻路由器发送本地路由表,运行RIP协议的相邻路由器在收到报文后,对本地路由进行维护,选择一条最佳路由,再向其各自相邻网络发送更新信息,使更新的路由最终能达到全局有效。同时,RIP采用老化机制对超时的路由进行老化处理,以保证路由的实时性和有效性。
RIP有两个版本:RIP-1和RIP-2。
RIP-1是有类别路由协议(Classful Routing Protocol),它只支持以广播方式发布协议报文。RIP-1的协议报文无法携带掩码信息,它只能识别A、B、C类这样的自然网段的路由,因此RIP-1不支持不连续子网(Discontiguous Subnet)。
RIP-2是一种无类别路由协议(Classless Routing Protocol),与RIP-1相比,它有以下优势:
l 支持路由标记,在路由策略中可根据路由标记对路由进行灵活的控制。
l 报文中携带掩码信息和CIDR(Classless Inter-Domain Routing,无类域间路由)。
l 支持指定下一跳,在广播网上可以选择到最优下一跳地址。
l 支持组播路由发送更新报文,减少资源消耗。
l 支持对协议报文进行验证,并提供明文验证和MD5验证两种方式,增强安全性。
RIP-2有两种报文传送方式:广播方式和组播方式,缺省将采用组播方式发送报文,使用的组播地址为224.0.0.9。当接口运行RIP-2广播方式时,也可接收RIP-1的报文。
RIP报文由头部(Header)和多个路由表项(Route Entries)部分组成。在一个RIP报文中,最多可以有25个路由表项。
RIP-1的报文格式如所示。
的报文格式
各字段的解释如下:
l Command:标识报文的类型。值为1时表示Request报文,值为2表示Response报文。
l Version:RIP的版本号。对于RIP-1来说其值为0x01。
l AFI(Address Family Identifier):地址族标识,其值为2时表示IP协议。
l IP Address:该路由的目的IP地址,可以是自然网段地址、子网地址或主机地址。
l Metric:路由的度量值。
RIP-2的报文格式与RIP-1类似,如所示。
的报文格式
其中,与RIP-1不同的字段有:
l Version:RIP的版本号。对于RIP-2来说其值为0x02。
l Route Tag:路由标记。
l IP Address:该路由的目的IP地址,可以是自然网段地址、子网地址或主机地址。
l Subnet Mask:目的地址的掩码。
l Next Hop:如果为0.0.0.0,则表示发布此条路由信息的路由器地址就是最优下一跳地址,否则表示提供了一个比发布此条路由信息的路由器更优的下一条地址。
RIP-2为了支持报文验证,使用第一个路由表项(Route Entry)作为验证项,并将AFI字段的值设为0xFFFF标识报文携带认证信息,如所示。
的验证报文格式
各字段的解释如下:
l Authentication Type:验证类型。值为2时表示明文验证,值为3时表示MD5验证。
l Authentication:验证字,当使用明文验证时包含了密码信息;当使用MD5验证时包含了Key ID、MD5验证数据长度和序列号的信息。
在配置RIP的基本功能之前,需完成以下任务:
l 配置链路层协议,保证链路层通信正常。
l 配置接口的网络层地址,使各相邻节点网络层可达。
RIP配置的推荐步骤如所示。
表1-1 RIP的配置步骤
步骤 |
配置任务 |
说明 |
|
1 |
启用RIP协议 |
|
必选 在所有接口上启用RIP协议 |
2 |
引入静态路由 |
|
可选 配置RIP协议引入外部静态路由 |
3 |
|
可选 配置RIP接口的工作状态、版本和验证信息 |
在导航栏中选择“网络管理 > RIP”,进入RIP配置页面,如所示。
RIP全局的详细配置如所示。
全局的详细配置
配置项 |
说明 |
启用RIP协议(自动使能所有接口) |
设置在所有接口上启用RIP协议 |
引入静态路由 |
设置RIP协议引入外部静态路由 |
可单击返回“ ”。
在导航栏中选择“网络管理 > RIP”,进入RIP配置页面。当RIP协议已被启用时,页面上会显示<更多选项>按钮。单击<更多选项>按钮,可以打开隐藏的RIP接口列表,如所示。单击要配置的RIP接口对应的图标,进入RIP接口的配置页面,如所示。
接口配置
RIP接口的详细配置如所示。
接口的详细配置
配置项 |
说明 |
接口名称 |
显示RIP接口的名称 |
工作状态 |
设置是否接口允许接收和发送RIP报文 l 开:表示允许接口接收和发送RIP报文 l 关:表示禁止接口接收和发送RIP报文 |
版本 |
设置接口的RIP版本 l 默认:表示接口可以发送RIP-1广播报文,接收RIP-1广播报文、RIP-1单播报文、RIP-2广播报文、RIP-2组播报文、RIP-2单播报文 l RIPv1:表示接口可以发送RIP-1广播报文,接收RIP-1广播报文、RIP-1单播报文 l RIPv2:表示接口可以发送RIP-2组播报文,接收RIP-2单播报文、RIP-2广播报文、RIP-2组播报文 l RIPv2广播:表示接口可以发送RIP-2广播报文,接收RIP-1广播报文、RIP-1单播报文、RIP-2广播报文、RIP-2组播报文、RIP-2单播报文 |
验证模式 |
设置RIP-2接口对RIP报文进行验证的验证模式和验证参数 l 验证模式选择空时,接口不对RIP报文进行验证,不需要配置验证字和标识符 l 验证模式“明文”时,接口对RIP报文进行明文验证,只需要配置明文的验证字 l 验证模式选择“密文RFC2453”时,接口使用密文MD5验证方式,验证报文使用RFC2453规定的报文格式,只需要配置MD5密文验证字 l 验证模式选择“密文RFC2082”时,接口使用密文MD5验证方式,验证报文使用RFC2082规定的报文格式,需要配置MD5密文验证字和验证标识符
当版本选择“默认”或“RIPv1”时,配置的验证信息不生效 |
验证字 |
|
标识符 |
可单击返回“ ”。
如所示,要求在SecBlade LB A和SecBlade LB B的所有接口上使能RIP,并使用RIP进行网络互连。
配置组网图
(1) 配置各接口的IP地址(略)
(2) 启用RIP协议
# 配置SecBlade LB A。
l 在SecBlade LB A的导航栏中选择“网络管理 > RIP”。
l 选中“启用RIP协议(自动使能所有接口)”前的复选框。
l 单击<确定>按钮完成操作。
# 配置SecBlade LB B。
l 在SecBlade LB B的导航栏中选择“网络管理 > RIP”。
l 选中“启用RIP协议(自动使能所有接口)”前的复选框。
l 单击<确定>按钮完成操作。
# 查看SecBlade LB A的激活路由列表。
在SecBlade LB A的导航栏中选择“网络管理 > 路由信息”。查看到激活路由列表中有启用RIP协议后学习到的10.0.0.0/8的RIP路由,如所示。
配置结果(一)
# 查看SecBlade LB B的激活路由列表。
在SecBlade LB B的导航栏中选择“网络管理 > 路由信息”。查看到激活路由列表中有启用RIP协议后学习到的2.0.0.0/8和3.0.0.0/8的RIP路由,如所示。
配置结果(二)
配置RIP时需要注意如下事项:
(1) 通过Web配置RIP协议,不支持多进程,启用RIP协议时创建进程1,禁止RIP协议时删除进程1。
(2) 启用RIP协议时自动使能所有接口,不提供配置网段功能,可以通过配置接口工作状态来控制RIP接口是否可以收发RIP报文。
(3) 接口版本使用配置为“RIPv2”时,RIP-2自动路由聚合功能是关闭的。