[笔记]RIPv2案例研究
 
网友:SpookFox 发布于: 2007.10.24 00:58 
 

一、RIP协议的基本配置


  router rip      启用RIP进程
   version {1|2}   指定RIP版本(可选)
  network network-number  for example: network 172.16.0.0  指定与该路由器相连的网络

  show  ip route              查看路由表
  debug ip rip[events]      调试动态RIP过程信息
    debug ip rip database       调试更详细的过程信息
  clear ip route              用于清除IP路由表的信息
    show  ip protocols          显示当前运行的路由协议的详细参数
    show  ip rip database       显示RIP的数据库信息,路由信息
   
  ip rip send/receive version 1   指定只发送/接收RIP1的数据包
  ip rip send/receive version 2   指定只发送/接收RIP2的数据包
    ip rip send/receive version 1 2 指定只发送/接收RIP1和RIP2的数据包



二、案例研究:RIPv2的基本配置

缺省情况下,在Cisco路由器上配置一个RIP进程将只发送RIPv1的消息,但是同时接收RIPv1和RIPv2的消息。这个缺省的配置可以通过命令 version 来更改,如下所示:
router rip
version 2
network 172.25.0.0
network 192.168.50.0


在这种配置下,路由器将只发送和接收RIPv2的消息;同样的,路由器也可以配置成只发送和接收RIPv1的方式,如下配置:
router rip
version 1
network 172.25.0.0
network 192.168.50.0


可以在路由配置模式(config-router mode)下输入命令 no version 恢复到原来的缺省模式;




三、案例研究:与RIPv1的兼容性

RFC 2453中建议的基于接口模式下的“兼容性开关”,在Cisco IOS软件中可以通过命令ip rip send/receive version来实现:

interface Ethernet0
ip address 192.168.50.129 255.255.255.192
ip rip send version 1
ip rip receive version 1
!
interface Ethernet1
ip address 172.25.150.193 255.255.255.240
ip rip send version 1 2
!
interface Ethernet2
ip address 172.25.150.225 255.255.255.240
!
router rip
version 2
network 172.25.0.0
network 192.168.50.0

这用于在RIPv1和RIPv2兼容的网络环境中,根据实际的情况,来配置路由器的某个接口发送和接收哪个版本的信息;当然,如拓扑中的情况,也可以单播更新至主机,但更新出去的是RIPv2的消息,此时,对于主机来讲,它忽略版本大小1的RIP消息的未用部分,处理剩下的数据包!如:

neighbor 172.25.150.206


Taos#debug ip rip
RIP protocol debugging is on
Taos#
RIP: received v2 update from 172.25.150.194 on Ethernet1
     172.25.150.32/28 - 0.0.0.0 in 1 hops
RIP: ignored v1 packet from 172.25.150.206 (illegal version)
RIP: sending v1 update to 255.255.255.255 via Ethernet0 (192.168.50.129)
     network 172.25.0.0, metric 1
RIP: sending v1 update to 255.255.255.255 via Ethernet1 (172.25.150.193)
     subnet 172.25.150.224, metric 1
     network 192.168.50.0, metric 1
RIP: sending v2 update to 224.0.0.9 via Ethernet1 (172.25.150.193)
     172.25.150.224/28 - 0.0.0.0, metric 1, tag 0
     192.168.50.0/24 - 0.0.0.0, metric 1, tag 0
RIP: sending v2 update to 224.0.0.9 via Ethernet2 (172.25.150.225)
     172.25.150.32/28 - 0.0.0.0, metric 2, tag 0
     172.25.150.192/28 - 0.0.0.0, metric 1, tag 0
     192.168.50.0/24 - 0.0.0.0, metric 1, tag 0
RIP: received v1 update from 192.168.50.130 on Ethernet0
     192.168.50.64 in 1 hops
RIP: received v2 update from 172.25.150.194 on Ethernet1
     172.25.150.32/28 - 0.0.0.0 in 1 hops


从以上的debug信息,我们可以看出三点:

RIPv1和RIPv2消息携带的内容不同;RIPv2的更新中可以看到地址掩码、下一跳地址和路由标记字段,在这个实例中其都被设置为0;
E1口正在以广播方式发送RIPv1的更新和以多播方式发送RIPv2的更新;
由于路由器Taos没有配置RIPv1,从而来自主机Pojoaque(此时支持路由进程充当路由器)172.25.150.206的更新将被忽略(路由器Pojoaque被错误配置,并且正在广播它的路由表);

注意:
    在RIPv1和RIPv2以兼容模式运行在同一网络中时要特别注意水平分割对网络造成的影响,比如在路由器连接LAN的E1口,有水平分割,而且在LAN中的两台路由器,一台运行版本1,另一台运行版本2,这样,在LAN中,其中一台运行版本1的路由器将学习不到运行版本2的路由器上的网络,但由于水平分割,其边界的路由器E1口从一台学习到的不会再从E1口发送出去,这样LAN中的一台路由器将不会有完整的网络拓扑!



四、案例研究:使用VLSM

VLSM的使用使子网的划分更加灵活,IP地址的利用率更加高效!



五、案例研究:不连续子网和无类别路由选择

对于无类别路由选择协议来说,没有不连续子网的这些问题,因为每一条路由更新都包含一个子网掩码,因而一个主网络的子网能够通告给其他的主网络;但是,RIPv2协议在缺省情况下会在主网络边界上进行路由自动汇总,这一点和RIPv1相同。关闭路由汇总功能以可以允许被通告的子网通过主网络边界,在RIP处理进程中使用no auto-summary命令:

interface Ethernet0
ip address 192.168.50.1 255.255.255.224
!
interface Ethernet1
ip address 172.25.150.1 255.255.255.240
!
interface Serial0
ip address 172.25.150.242 255.255.255.252
!
router rip
version 2
network 172.25.0.0
network 192.168.50.0
no auto-summary


对于有类别路由选择协议(如RIPv1)来说,路由更新消息通告的只能是主类网络号,所以导致不连续子网的问题,对于无类别的路由选择协议来说,它通告的网络不是主类网络,它可以把子网通告出去,所以不存在这种问题!

如果不关掉自动汇总,那么RIPv2同样如同RIPv1一样会在边界自动汇总成主类网络,然后通告出去,这样对于其他路由器来说就无法学到具体的子网信息,从而产生错误,跟RIPv1相同的不连续子网的情况;对于RIPv1来说,不管它关不关自动汇总通告的都是主类网络号,所以关掉自动汇总也解决不了问题!此经过实验证明!



六、案例研究:认证

Cisco实现RIPv2的消息认证使用了两种方法:简单的口令或MD5认证;另外,也包含了在一个“钥匙链“上定义多个钥匙或口令的选项,这样路由器就可以在不同的时候配置不同的钥匙;


配置RIPv2认证的步骤如下:

1、定义一个带名字的钥匙链;
2、定义在钥匙链上的钥匙;
3、定义这个的口令;
4、在接口上启动认证并指定使用的钥匙链;
5、指定这个接口上使用明文认证还是MD5认证;
6、可选地配置钥匙的管理.
key chain Tewa
key 1
key-string Kachina
interface Ethernet 0
ip rip authentication key-chain Tewa
ip rip authentication mode md5
如上,该路由器配置了一个名为"Tewa"的钥匙链,这个钥匙链上惟一的一个钥匙是"key 1",它含有一个口令"Kachina"。E0接口将使用MD5认证的这个钥匙去验证来自其他路由器的更新消息;

Ernest_T#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Ernest_T(config)#key ?
  chain       Key-chain management
  config-key  Set a private configuration key for general use
Ernest_T(config)#key chain Tewa                     定义一个带名字的钥匙链
Ernest_T(config-keychain)#?
Key-chain configuration commands:
  default  Set a command to its defaults
  exit     Exit from key-chain configuration mode
  key      Configure a key
  no       Negate a command or set its defaults
Ernest_T(config-keychain)#key ?
    Key identifier
Ernest_T(config-keychain)#key 1 ?
  
Ernest_T(config-keychain)#key 1                    定义一个钥匙 key 1
Ernest_T(config-keychain-key)#?   
Key-chain key configuration commands:
  accept-lifetime  Set accept lifetime of key
  default          Set a command to its defaults
  exit             Exit from key-chain key configuration mode
  key-string       Set key string
  no               Negate a command or set its defaults
  send-lifetime    Set send lifetime of key
Ernest_T(config-keychain-key)#key-string Kachina 定义这个钥匙的口令
Ernest_T(config-keychain-key)#

以上这些都是在全局配置模式下进行的!

即使只有一个钥匙,也必须配置钥匙链。虽然进行带认证的更新消息交换的所有路由器必须拥有相同的口令,但是钥匙链的名字却只具有本地意义!

如果没有添加命令ip rip authentication mode md5,接口将使用缺省的明文认证;
钥匙管理(key management)用来进行从一个认证钥匙到另一个认证钥匙的迁移!如下所示:它表示,在2004年7月1日下午4:30开始使用第一个钥匙,使用的时长是12h(43200s);第二个钥匙从2004年7月2日凌晨4:00开始生效,并一直使用到2004年12月31日下午1:00;第三个钥匙从2004年12月31日下午开始生效,并在这个时间以后永久有效:

key chain Keres
key 1
  key-string Kachina
  accept-lifetime 16:30:00 Jul 1 2004 duration 43200
  send-lifetime 16:30:00 Jul 1 2004 duration 43200
key 2
  key-string Kiva
  accept-lifetime 04:00:00 Jul 2 2004 13:00:00 Dec 31 2004
  send-lifetime 04:00:00 Jul 2 2004 13:00:00 Dec 31 2004
key 3
  key-string Koshare
  accept-lifetime 12:30:00 Dec 31 2004 infinite
  send-lifetime 12:30:00 Dec 31 2004 infinite
!
interface Ethernet0
ip address 198.168.50.130 255.255.255.192
ip rip authentication key-chain Keres
ip rip authentication mode md5


正如配置所显示的,从其他路由器接受的口令和发送消息所使用的口令在管理上是分离的。因此,使用命令accept-lifetime和send-lifetime都应该含有一个指定的开始时间和一个指定的持续时间或结束时间,或者指定关键字infinite。钥匙的号码按从最低到最高的顺序检查,使用第一个有效的钥匙;
虽然这个配置可以使用30min的时间重叠来在不同的系统之间进行较正,但是,这里强烈建议在对钥匙管理时,使用像网络时钟协议(Network Time Protocol,NTP)这样的时钟同步协议(Time Synchronization Protocol)!