03-RIP配置
本章节下载: 03-RIP配置 (269.95 KB)
目 录
RIP(Routing Information Protocol,路由信息协议)是一种较为简单的内部网关协议(Interior Gateway Protocol,IGP),主要用于规模较小的网络中,比如校园网以及结构较简单的地区性网络。对于更为复杂的环境和大型网络,一般不使用RIP。
RIP是一种基于距离矢量(Distance-Vector,D-V)算法的协议,它通过UDP报文进行路由信息的交换,使用的端口号为520。RIP使用跳数来衡量到达目的地址的距离,跳数称为度量值。在RIP中,路由器到与它直接相连网络的跳数为0,通过一个路由器可达的网络的跳数为1,其余依此类推。为限制收敛时间,RIP规定度量值取0~15之间的整数,大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。由于这个限制,使得RIP不适合应用于大型网络。
由于RIP的实现较为简单,在配置和维护管理方面也远比OSPF容易,因此在实际组网中仍有广泛的应用。
每个运行RIP的路由器管理一个数据库,该数据库包含了到所有可达目的地的路由项,这些路由项包含下列信息:
· 目的地址:主机或网络的地址。
· 下一跳地址:为到达目的地,需要经过的相邻路由器的接口IP地址。
· 出接口:本路由器转发报文的出接口。
· 度量值:本路由器到达目的地的开销。
· 路由时间:从路由项最后一次被更新到现在所经过的时间,路由项每次被更新时,路由时间重置为0。
· 路由标记(Route Tag):用于标识外部路由。
RIP启动和运行的整个过程可描述如下:
· 路由器启动RIP后,便会向相邻的路由器发送请求报文(Request message),相邻的RIP路由器收到请求报文后,响应该请求,回送包含本地路由表信息的响应报文(Response message)。
· 路由器收到响应报文后,更新本地路由表,同时向相邻路由器发送触发更新报文,通告路由更新信息。相邻路由器收到触发更新报文后,又向其各自的相邻路由器发送触发更新报文。在一连串的触发更新广播后,各路由器都能得到并保持最新的路由信息。
· 路由器周期性向相邻路由器发送本地路由表,运行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相比,它有以下优势:
· 支持路由标记,在路由策略中可根据路由标记对路由进行灵活的控制。
· 报文中携带掩码信息,支持路由聚合和CIDR(Classless Inter-Domain Routing,无类域间路由)。
· 支持指定下一跳,在广播网上可以选择到最优下一跳地址。
· 支持组播路由发送更新报文,只有RIP-2路由器才能收到更新报文,减少资源消耗。
· 支持对协议报文进行验证,并提供明文验证和MD5验证两种方式,增强安全性。
RIP-2有两种报文传送方式:广播方式和组播方式,缺省将采用组播方式发送报文,使用的组播地址为224.0.0.9。当接口运行RIP-2广播方式时,也可接收RIP-1的报文。
RIP协议向邻居通告的是自己的路由表,有可能会发生路由环路,可以通过以下机制来避免:
· 计数到无穷(Counting to infinity):将度量值等于16的路由定义为不可达(infinity)。在路由环路发生时,某条路由的度量值将会增加到16,该路由被认为不可达。
· 触发更新(Triggered Updates):RIP通过触发更新来避免在多个路由器之间形成路由环路的可能,而且可以加速网络的收敛速度。一旦某条路由的度量值发生了变化,就立刻向邻居路由器发布更新报文,而不是等到更新周期的到来。
· 水平分割(Split Horizon):RIP从某个接口学到的路由,不会从该接口再发回给邻居路由器。这样不但减少了带宽消耗,还可以防止路由环路。
· 毒性逆转(Poison Reverse):RIP从某个接口学到路由后,将该路由的度量值设置为16(不可达),并从原接口发回邻居路由器。利用这种方式,可以清除对方路由表中的无用信息。
RIP报文由头部(Header)和多个路由表项(Route Entries)部分组成。在一个RIP报文中,最多可以有25个路由表项(如果是RIP-2的验证报文,由于第一个路由表项作为验证项,所以最多可以有24个路由表项)。
RIP-1的报文格式如图1-1所示。
图1-1 RIP-1的报文格式
各字段的解释如下:
· Command:标识报文的类型。值为1时表示Request报文,向邻居请求全部或部分路由信息;值为2表示Response报文,发送全部或部分路由信息,1个Response报文中最多包含25个路由表项。
· Version:RIP的版本号。对于RIP-1来说其值为0x01。
· Must be zero:必须为0字段。
· AFI(Address Family Identifier):地址族标识,其值为2时表示IP协议。
· IP address:该路由的目的IP地址,可以是自然网段地址、子网地址或主机地址。
· Metric:路由的度量值。
RIP-2的报文格式与RIP-1类似,如图1-2所示。
图1-2 RIP-2的报文格式
其中,与RIP-1不同的字段有:
· Version:RIP的版本号。对于RIP-2来说其值为0x02。
· Route Tag:路由标记。
· IP address:该路由的目的IP地址,可以是自然网段地址、子网地址或主机地址。
· Subnet Mask:目的地址的掩码。
· Next Hop:如果为0.0.0.0,则表示发布此条路由信息的路由器地址就是最优下一跳地址,否则表示提供了一个比发布此条路由信息的路由器地址更优的下一条地址。
RIP-2为了支持报文验证,使用第一个路由表项(Route Entry)作为验证项,并将AFI字段的值设为0xFFFF标识报文携带认证信息,如图1-3所示。
图1-3 RIP-2的验证报文格式
各字段的解释如下:
· Authentication Type:验证类型。值为2时表示明文验证,值为3时表示MD5验证。
· Authentication:验证字。当使用明文验证时包含了密码信息;当使用MD5验证时包含了Key ID、MD5验证数据长度和序列号的信息。
· RFC 1723中只定义了明文验证方式,关于MD5验证的详细信息,请参见RFC 2453。
· 当RIP的版本为RIP-1时,虽然在接口视图下仍然可以配置验证方式,但由于RIP-1不支持认证,因此该配置不会生效。
与RIP相关的协议规范有:
· RFC 1058:Routing Information Protocol
· RFC 1723:RIP Version 2 - Carrying Additional Information
· RFC 1721:RIP Version 2 Protocol Analysis
· RFC 1722:RIP Version 2 Protocol Applicability Statement
· RFC 1724:RIP Version 2 MIB Extension
· RFC 2082:RIP-2 MD5 Authentication
· RFC 2091:Triggered Extensions to RIP to Support Demand Circuits
· RFC 2453:RIP Version 2
表1-1 RIP配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置RIP的基本功能 |
必选 |
||
配置RIP的路由信息控制 |
配置RIP-2路由聚合 |
可选 |
|
调整和优化RIP网络 |
配置RIP定时器 |
可选 |
|
配置水平分割和毒性逆转 |
可选 |
||
配置RIP报文的发送速率 |
可选 |
在配置RIP的基本功能之前,需完成以下任务:
· 配置链路层协议
· 配置接口的网络层地址,使相邻节点的网络层可达
目前,系统支持RIP多进程。当在一台路由器上启动多个RIP进程时,需要指定不同的进程号。RIP进程号是本地概念,不影响与其它路由器之间的报文交换。因此,不同的路由器之间,即使进程号不同也可以进行报文交换。
RIP只在指定网段的接口上运行;对于不在指定网段上的接口,RIP既不在它上面接收和发送路由,也不将它的接口路由转发出去。因此,RIP启动后必须指定其工作网段。
表1-2 启动RIP,在指定网段上使能RIP
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
创建RIP进程并进入RIP视图 |
rip [ process-id ] |
缺省情况下,RIP进程处于关闭状态 |
在指定网段上使能RIP |
network network-address |
缺省情况下,没有网段使能RIP |
· 如果在启动RIP前在接口视图下配置了RIP相关命令,这些配置只有在RIP启动后才会生效。
· network 0.0.0.0命令用来在所有接口上使能RIP。
· RIP不支持将同一物理接口下的不同网段使能到不同的RIP进程中。
用户可以在RIP视图下配置RIP版本,也可在接口上配置RIP版本:
· 当全局和接口都没有进行RIP版本配置时,接口发送RIP-1广播报文,可以接收RIP-1广播/单播报文、RIP-2广播/组播/单播报文。
· 如果接口上配置了RIP版本,以接口配置的为准;如果接口没有进行RIP版本配置,接口运行的RIP版本将以全局配置的版本为准。
表1-3 配置RIP版本号
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
配置全局RIP版本 |
version { 1 | 2 } |
缺省情况下,没有配置全局RIP版本。接口只能发送RIP-1广播报文,可以接收RIP-1广播/单播报文、RIP-2广播/组播/单播报文 |
退回系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口运行的RIP版本 |
rip version { 1 | 2 [ broadcast | multicast ] } |
缺省情况下,没有配置接口运行的RIP版本。接口只能发送RIP-1广播报文,可以接收RIP-1广播/单播报文、RIP-2广播/组播/单播报文 |
在实际应用中,有时候需要对RIP路由信息进行更为精确的控制以满足复杂网络环境的需要。
在配置之前,需完成以下任务:
· 配置接口的网络层地址,使相邻节点网络层可达
· 配置RIP的基本功能
路由聚合是指路由器把同一自然网段内的连续子网的路由聚合成一条路由向外发送,如路由表里有10.1.1.0/24、10.1.2.0/24、10.1.3.0/24三条路由,可以通过配置把它们聚合成一条路由10.1.0.0/16向外发送,这样邻居路由器只接收到一条路由10.1.0.0/16,从而减少了路由表的规模,以及网络上的传输流量。
在大型网络中,通过配置路由聚合,可以提高网络的可扩展性以及路由器的处理速度。
RIP-2将多条路由聚合成一条路由时,聚合路由的Metric值将取所有路由Metric的最小值。
在RIP-2中,有两种路由聚合方式:自动路由聚合和手工配置聚合路由。
自动路由聚合是指RIP-2将同一自然网段内的不同子网的路由聚合成一条自然掩码的路由向外发送,例如,假设路由表里有10.1.1.0/24、10.1.2.0/24、10.1.3.0/24三条路由,使能RIP-2自动路由聚合功能后,这三条路由聚合成一条自然掩码的路由10.0.0.0/8向外发送。
表1-4 配置自动路由聚合
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
使能RIP-2自动路由聚合功能 |
summary |
缺省情况下,RIP-2自动路由聚合功能处于使能状态 如果路由表里的路由子网不连续,则需要取消自动路由聚合功能,使得RIP-2能够向外发布子网路由和主机路由 |
用户可在指定接口配置RIP-2发布一条聚合路由。
聚合路由的目的地址和掩码进行与运算到一个网络地址,RIP-2将对落入该网段内的路由进行聚合,接口只发布聚合后的路由。
例如,假设路由表里有10.1.1.0/24、10.1.2.0/24、10.1.3.0/24三条子网连续的路由,在接口Vlan-interface1配置发布一条聚合路由10.1.0.0/16后,这三条路由聚合成一条路由10.1.0.0/16向外发送。
缺省情况下,RIP-2的路由将按照自然掩码自动聚合,如果用户在指定接口配置发布一条聚合路由,则必须先关闭自动聚合功能。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
关闭RIP-2自动路由聚合功能 |
undo summary |
缺省情况下,RIP-2自动路由聚合功能处于使能状态 |
退至系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置发布一条聚合路由 |
rip summary-address ip-address { mask | mask-length } |
缺省情况下,没有配置发布一条聚合路由 |
在某些特殊的网络环境中,需要对RIP网络的性能进行调整和优化,在调整和优化RIP网络之前,需完成以下任务:
· 配置接口的网络层地址,使相邻节点网络层可达
· 配置RIP的基本功能
通过调整RIP定时器可以改变RIP网络的收敛速度。
RIP受四个定时器的控制,分别是Update、Timeout、Suppress和Garbage-Collect。
· Update定时器,定义了发送路由更新的时间间隔。
· Timeout定时器,定义了路由老化时间。如果在老化时间内没有收到关于某条路由的更新报文,则该条路由在路由表中的度量值将会被设置为16。
· Suppress定时器,定义了RIP路由处于抑制状态的时长。当一条路由的度量值变为16时,该路由将进入抑制状态。在被抑制状态,只有来自同一邻居且度量值小于16的路由更新才会被路由器接收,取代不可达路由。
· Garbage-Collect定时器,定义了一条路由从度量值变为16开始,直到它从路由表里被删除所经过的时间。在Garbage-Collect时间内,RIP以16作为度量值向外发送这条路由的更新,如果Garbage-Collect超时,该路由仍没有得到更新,则该路由将从路由表中被彻底删除。
表1-6 配置RIP定时器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIP视图 |
rip [ process-id ] |
- |
配置RIP定时器的值 |
timers { garbage-collect garbage-collect-value | suppress suppress-value | timeout timeout-value | update update-value } * |
缺省情况下,Garbage-collect定时器的值为120秒,Suppress定时器的值为120秒,Timeout定时器的值为180秒,Update定时器的值为30秒 |
定时器值的调整应考虑网络的性能,并在所有运行RIP的路由器上进行统一配置,以免增加不必要的网络流量或引起网络路由震荡。
如果同时配置了水平分割和毒性逆转,则只有毒性逆转功能生效。
通过配置水平分割或毒性逆转功能可以防止路由环路。
配置水平分割可以使得从一个接口学到的路由不能通过此接口向外发布,用于避免相邻路由器间的路由环路。
表1-7 配置水平分割
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
使能水平分割功能 |
rip split-horizon |
缺省情况下,水平分割功能处于使能状态 |
在点到点链路上关闭水平分割功能是无效的。
配置毒性逆转后,从一个接口学到的路由还可以从这个接口向外发布,但这些路由的度量值会设置为16(即不可达),可以用于避免相邻路由器间的路由环路。
表1-8 配置毒性逆转
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
使能毒性逆转功能 |
rip poison-reverse |
缺省情况下,毒性逆转功能处于关闭状态 |
RIP周期性地将路由信息放在RIP报文中向邻居发送。
如果路由表里的路由条目数量很多,同时发送大量RIP协议报文有可能会对当前设备和网络带宽带来冲击;因此,路由器将RIP协议报文分为多个批次进行发送,并且对RIP接口每次允许发送的RIP协议报文最大个数做出限制。
用户可根据需要配置接口发送RIP报文的时间间隔以及接口一次发送RIP报文的最大个数。
表1-9 配置RIP报文的发送速率
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动RIP并进入RIP视图 |
rip [ process-id ] |
- |
配置RIP报文的发送速率 |
output-delay time count count |
缺省情况下,接口发送RIP报文的时间间隔为20毫秒,一次最多发送3个RIP报文 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后RIP的运行情况,通过查看显示信息验证配置的效果。
表1-10 RIP显示和维护
命令 |
|
显示RIP的当前运行状态及配置信息 |
display rip [ process-id ] |
显示RIP数据库的所有激活路由 |
display rip process-id database |
显示RIP的接口信息 |
display rip process-id interface [ interface-type interface-number ] |
显示RIP的路由信息 |
display rip process-id route [ ip-address { mask | mask-length } | peer ip-address | statistics ] |
如图1-4所示,要求在Switch A和Switch B的所有接口上使能RIP,并使用RIP-2进行网络互连。
图1-4 配置RIP的版本
(1) 配置各接口的IP地址(略)
(2) 配置RIP基本功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] rip
[SwitchA-rip-1] network 192.168.1.0
[SwitchA-rip-1] network 172.16.0.0
[SwitchA-rip-1] network 172.17.0.0
[SwitchA-rip-1] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] rip
[SwitchB-rip-1] network 192.168.1.0
[SwitchB-rip-1] network 10.0.0.0
[SwitchB-rip-1] quit
# 查看Switch A的RIP路由表。
[SwitchA] display rip 1 route
Route Flags: R - RIP
A - Aging, S - Suppressed, G - Garbage-collect
----------------------------------------------------------------------------
Peer 192.168.1.2 on Vlan-interface100
Destination/Mask Nexthop Cost Tag Flags Sec
10.0.0.0/8 192.168.1.2 1 0 RA 11
从路由表中可以看出,RIP-1发布的路由信息使用的是自然掩码。
(3) 配置RIP的版本
# 在Switch A上配置RIP-2。
[SwitchA] rip
[SwitchA-rip-1] version 2
[SwitchA-rip-1] undo summary
[SwitchA-rip-1] quit
# 在Switch B上配置RIP-2。
[SwitchB] rip
[SwitchB-rip-1] version 2
[SwitchB-rip-1] undo summary
# 查看Switch A的RIP路由表。
[SwitchA] display rip 1 route
Route Flags: R - RIP
A - Aging, S - Suppressed, G - Garbage-collect
----------------------------------------------------------------------------
Peer 192.168.1.2 on Vlan-interface100
Destination/Mask Nexthop Cost Tag Flags Sec
10.0.0.0/8 192.168.1.2 1 0 RA 50
10.2.1.0/24 192.168.1.2 1 0 RA 16
10.1.1.0/24 192.168.1.2 1 0 RA 16
从路由表中可以看出,RIP-2发布的路由中带有更为精确的子网掩码信息。
由于RIP路由信息的老化时间较长,所以在配置RIP-2版本后的一段时间里,路由表中可能还会存在RIP-1的路由信息。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!