路由技术(IPv4版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4 RIPv2

路由信息协议版本2(RIPv2)既是距离矢量型路由协议,又是无类路由协议,除了具有RIPv1的全部属性外,其他属性还包括:

●RIPv2是无类路由协议,允许同一主网内的子网有不同的掩码;

●在通告路由信息时携带掩码;

●支持两种认证方式的路由更新——明文验证和密文验证;

●使用组播地址224.0.0.9通告路由信息,使得路由信息的更新更有效;

●既可以自动路由总结也可以手工路由总结。

2.4.1 配置RIPv2

在路由器上启动RIPv2的命令和启动RIPv1的命令基本相同,只不过需要声明版本号,命令如下:

router(config)#router rip
router(config-router)#version 2
router(config-router)#network network

使用version 2命令使路由器启用RIPv2的路由进程。network指令不仅通告跟随它的网络号,还指示了哪些接口参与发送和接收路由信息:在这个地址范围内的所有接口都参与发送和接收路由信息,并且接口地址所在的子网也被通告出去。

图2-6中的路由器运行了RIPv2。

图2-6 运行RIPv2的实例

(1)查看路由器Right上运行的协议

Right#sh ip protocols
Routing Protocol is "rip"
  Sending updates every 30 seconds, next due in 21 second
  Invalid after 180 seconds, hold down 180, flushed after 240
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Redistributing: rip
Default version control: send version 2, receive version 2
  Interface Send Recv Triggered RIP Key-chain
  FastEthernet0/0 2 2
  FastEthernet0/1 2 2
Automatic network summarization is in effect
Maximum path: 4
Routing for Networks:
  10.0.0.0
  172.16.0.0
Routing Information Sources:
  Gateway    Distance     Last Update
  10.11.0.2       120     00:15:26
  172.16.4.3      120     00:00:03
  172.16.4.65     120     00:06:39
Distance: (default is 120)

粗体显示中的第1行报告协议版本是2,而且每个接口都使用版本2收发路由信息。

粗体显示中的第2行报告的是当前自动路由总结正在生效。

(2)在路由器Right上观察路由信息更新过程

Right#debug ip rip
RIP protocol debugging is on
00:59:19: RIP: sending v2 update to 224.0.0.9 via FastEthernet0/0 (10.11.0.1)
00:59:19: RIP: build update entries
00:59:19: 172.16.0.0/16 via 0.0.0.0, metric 1, tag 0
00:59:19: 192.168.1.0/24 via 0.0.0.0, metric 3, tag 0
00:59:19: RIP: sending v2 update to 224.0.0.9 via FastEthernet0/1 (172.16.4.4)
00:59:19: RIP: build update entries
00:59:19: 10.0.0.0/8 via 0.0.0.0, metric 1, tag 0
00:59:28: RIP: received v2 update from 172.16.4.3 on FastEthernet0/1
00:59:28:      172.16.3.0/24 via 0.0.0.0 in 1 hops
00:59:28:      192.168.1.0/24 via 0.0.0.0 in 2 hops
Right# undebug all

输出显示,在接口上使用224.0.0.9的组播地址通告向邻居通告路由,而且通告的路由都携带掩码。Tag 0是路由标志符,类似对路由打个标记,将来容易识别它。如何对路由打标记,在后续章节里有介绍。

(3)路由器Left上的路由表

Left# show ip route
      (代码部分省略)
Gateway of last resort is not set
      172.16.0.0/24 is subnetted, 2 subnets
R         172.16.4.0 [120/1] via 172.16.3.3, 00:00:08, FastEthernet0/0
C         172.16.3.0 is directly connected, FastEthernet0/0
R     10.0.0.0/8 [120/2] via 172.16.3.3, 00:00:08, FastEthernet0/0
C     192.168.1.0/24 is directly connected, FastEthernet0/1
Left#

show ip protocols和debug ip rip命令显示运行结果,路由器在所有参与RIPv2进程的接口上都发送和接收版本2的信息。可以使用version命令控制路由器发送和接收不同版本的路由信息。

①不声明任何版本号,即默认状态下,路由器发送版本1信息,接收版本1和版本2信息。

②使用如下命令后,只接收和发送版本1的路由信息。

Router(config-router)#version 1

③使用如下命令后,只接收和发送版本2的路由信息。

Router(config-router)#version 2

④在路由器配置模式下使用命令version 2后,可以在接口模式下使用下面的命令为特定的接口指定接收或发送哪种版本的路由信息。

rouer(config-if)#ip rip {send |receive}version {1 | 2 | 1 2}

2.4.2 RIPv2的路由归纳

RIPv2支持两种路由归纳的方法:自动归纳和手工归纳。在图2-7示例中,路由器Left的路由表显示,路由器只学习到了10.0.0.0的主网路由,这是因为RIPv2的自动路由归纳功能是默认开启的,并且归纳到主类网络边界。

下面使用图2-7所示的拓扑观察自动归纳关闭后路由器的路由表。

图2-7 解释自动归纳的拓扑

提示

使用show ip protocols命令可以查看自动归纳是否开启。

在路由器配置模式下,使用如下命令关闭自动总结:

router(config-router)# no auto-summary

关闭自动总结后路由器Left的路由表如下:

Left#sh ip rout
(代码部分省略)
Gateway of last resort is not set
    172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C       172.16.3.0/24 is directly connected, FastEthernet0/0
R       172.16.4.64/26 [120/1] via 172.16.3.3, 00:00:12, FastEthernet0/0
    10.0.0.0/16 is subnetted, 1 subnets
R       10.11.0.0 [120/2] via 172.16.3.3, 00:00:12, FastEthernet0/0
C   192.168.1.0/24 is directly connected, FastEthernet0/1
Left#

输出显示,10.11.0.0/16和172.16.4.64/26的子网路由被通告过来了。

使用debug命令观察路由更新细节:

Left#debug ip rip
RIP protocol debugging is on
Left#
00:46:15: RIP: received v2 update from 172.16.3.3 on FastEthernet0/0
00:46:15:       10.11.0.0/16 via 0.0.0.0 in 2 hops
00:46:15:       172.16.4.64/26 via 0.0.0.0 in 1 hops
00:46:24: RIP: sending v2 update to 224.0.0.9 via FastEthernet0/0 (172.16.3.1)
00:46:24: RIP: build update entries
00:46:24:  192.168.1.0/24 via 0.0.0.0, metric 1, tag 0
00:46:24: RIP: sending v2 update to 224.0.0.9 via FastEthernet0/1 (192.168.1.1)
00:46:24: RIP: build update entries
00:46:24: 10.11.0.0/16 via 0.0.0.0, metric 3, tag 0
00:46:24: 172.16.3.0/24 via 0.0.0.0, metric 1, tag 0
00:46:24: 172.16.4.64/26 via 0.0.0.0, metric 2, tag 0
Left#un all
All possible debugging has been turned off
Left#
vvvvv

输出显示,路由器把所有的子网都通告了出去,并没有做路由总结。

2.4.3 RIPv2的验证

安全是当今网络设计者们考虑的主要问题之一。网络安全包括路由器之间路由信息交换的安全性,例如,保证进入路由表的信息是有效的,这些信息不是起源于某些蓄意破坏网络的人。攻击者也许会试图引入无效路由来欺骗路由器把数据发向错误的地址或严重降低网络性能。

RIPv2可以提供两种模式的验证:明文验证和加密验证(MD5)。配置验证的相关命令和步骤如下:

①在路由器模式下配置一个密钥链(key-chain),一个密钥链可以包含多个密钥。

router(config)# key chain key-chain-name

key-chain-name:密钥链名称。

②定义密钥编号。

router(config-keychain)# key key-number

key-number:密钥编号。

③定义密钥。

Router(config-keychain-key)# key-string string

string:密钥字符串。执行验证的双方密钥字符串必须一致。

④在需要执行路由信息验证更新的接口上应用密钥链。

router(config-if)#ip rip authentication key-chain key-chain-name

key-chain-name:使用的密钥链名称。

以上配置是明文验证需要配置的内容,即默认验证方法。如果需要密文验证,则要附加下面的命令:

⑤声明验证模式。

router(config-if)#ip rip authentication mode md5

图 2-8给出了一个配置验证的例子。

图2-8 RIPv2的验证

相关配置如下:

(1)路由器R1上的配置

key chain routing-security
 key 1
 key-string A1B2C3
 !
 interface Serial0/0
  ip address 202.100.212.5 255.255.255.252
  ip rip authentication mode md5
  ip rip authentication key-chain routing-security
 !
 router rip
  version 2
  network 202.100.212.0
  network 192.168.1.0

(2)路由器R2上的配置

key chain routing-security
 key 1
 key-string A1B2C3
 !
 interface Serial0/1
  ip address 202.100.212.6 255.255.255.252
  ip rip authentication mode md5
  ip rip authentication key-chain routing-security
 !
 router rip
  version 2
  network 202.100.212.0
  network 192.168.3.0

使用debug ip rip命令可以观察验证是否成功的信息。如果口令不匹配,路由器会不停地报告口令不匹配的错误信息。