资源描述
Quidway系列交换机与Cisco设备
RIP互通测试手册V1.0
华为3Com技术有限公司
版权所有 侵权必究
目 录
1 系统描述 5
1.1 协议概述 5
2 测试环境 6
2.1 硬件配置 6
2.2 测试环境B 8
3 RIP测试项目清单 11
4 测试项目的方法和步骤 12
5 附录 20
图目录
图 1 RIP在协议栈中的位置 5
图 2 测试环境组网图 7
表目录
表 1 rip测试项目 11
Quidway系列交换机与Cisco设备
RIP互通测试手册V1.0
关键词:RIP、TCL、IGP、EGP、CIDR
摘 要:本文档详细地说明了在路由器综合环境中RIP协议的测试方案。 RIP是一种基于D-V算法的内部网关路由协议,相比较其他的内部网关协议:EIGRP和OSPF,它的实现和配置都比较简单,适合应用在中小型的网络中,作为一种重要的路由协议,RIP主要用于创建和动态维护本地路由表,并且同时广播更新的路由信息,以实现整个网络的路由有效。
缩略语
英文全名
中文解释
RIP
Routing Infomation Protocol
路由信息协议
TCL
Tool Command Language
一种脚本化语言
IGP
Interior Gateway Protocol
内部网关协议;
EGP
Exterior Gateway Protocol
外部网关协议
CIDR
Classless Inter-domain Routing
无类域间路由;
1 系统描述
1.1 协议概述
RIP(route information protocol)协议是基于D-V算法(又称为Bellman-Ford算法)的内部动态路由协议。D-V是Distance-Vector的缩写,因此D-V算法又称为距离向量算法。这种算法在ARPARNET早期就用于计算机网络的路由的计算。RIP协议在目前已成为路由器、主机路由信息传递的标准之一,就因为这个原因,RIP协议被大多数IP路由器生产厂商广泛使用。 内部路由器与外部路由器协议EGP不同,外部路由协议只有一个,而内部路由器协议则是一族。各内部路由器协议的区别在于距离尺度(distance metric, 即距离度量标准)不同,和路由刷新算法不同。RIP协议是最广泛使用的IGP之一,著名的路径刷新程序Routed便是根据RIP 实现的。RIP协议被设计用于使用同种技术的中型网络,因此适应于大多数的校园网和使用速率变化不是很大的连续线的地区性网络。对于更复杂的环境,一般不使用RIP协议。
在实现时,RIP作为一个系统长驻进程(daemon)而存在于路由器中,它负责从网络系统的其它路由器接收路由信息,从而对本地IP层路由表作动态的维护,保证IP层发送报文时选择正确的路由,同时周期性地广播本路由器的路由信息,通知相邻路由器作相应的修改。RIP协议处于UDP协议的上层(如图1),RIP所接收的路由信息都封装在UDP的数据报中,RIP 在520号端口上接收来自远程路由器的路由修改信息,并对本地的路由表做相应的修改,同时通知其它路由器。通过这种方式,达到全局路由的有效。
图 1 RIP在协议栈中的位置
RIP协议分为传统RIP协议、需求RIP协议(Demand RIP)和触发RIP,而传统RIP协议又分为RIP-1和RIP-2两个版本。在RIP中,可以简单的认为:路由的距离尺度就是路由所经过的路由器的个数,也即“跳数”。因为RIP协议是基于距离适量算法,所以整个网络中路由的更新过程比较缓慢,为了避免由于网络拓扑结构的变化而引起路由收敛过程的过于漫长,在RIP中特别规定:16为最大的路由跳数,如果一条路由的跳数为16,那么就认为该路由所到达的网段为一个不可达网段。由此也可以看出,RIP只适合应用在中小型的网络中。
RIP-1是最初版本的RIP协议,它以广播地址发布路由更新报文,但是由于RIP-1不支持子网掩码,所以它的使用受到很大的限制。基于RIP-1的诸多缺点,RIP-2在很多方面都有了比较大的改进,例如:RIP-2不仅支持广播而且支持多播地址发布路由更新报文;RIP-2支持子网掩码,使得路由更新可以支持CIDR;RIP-2的路由更新报文中可以明确规定下一跳的地址;RIP-2支持明文和md5两种验证方式,提高了路由更新报文的可靠性和安全性;RIP-2支持外部路由标记,可以引入其他路由协议发布的路由信息。
需求RIP协议和触发RIP协议与传统RIP协议的区别在于需求RIP协议和触发RIP协议支持对拨号网的路由的维护,增添了几种相应的报文命令,增加了报文发送确认方式。在需求RIP协议和触发RIP协议中,路由更新报文不再象传统RIP中一样周期性定时发布,而是当有特殊需要的时候才进行路由更新报文的传递。
为了保证路由的及时有效性,RIP采用触发更新技术和水平分割法。当本地路由表发生修改时,触发广播路由更新报文,以迅速达到最新路由的广播和全局路由的有效。水平分割法是指当路由器从某个网络接口发送RIP 路由刷新报文时,其中不包含从该接口获取的路由信息。这是由于从某网络接口获取的路由信息对于该接口来说是无用信息,同时也解决了两路由器间的慢收敛问题。
2 测试环境
E0/24
E0/24
10.10.4.1
10.10.2.2
10.10.2.1
10.10.1.2
10.10.1.1
10.10.3.1
E0/1
E0/1
HSWA
CSWA
HSWB
E0/2
E0/1
PC1
PC2
图 2 测试环境组网图
表 1 测试环境A硬件配置表
硬件名称
描述
软件版本
数量
测试交换机
Quidway 3900交换机
VRP3.1 release 1508
2
测试交换机
Cisco 3500交换机
IOS 12.2
1
客户机
安装WIN95或WIN98的PC机
/
2
上图即本测试手册为进行RIP测试所搭建的测试环境,其中HSWA、HSWB都是安装有VRP3.1最新版软件的Quidway系列交换机,Cisco设备为Cisco35系列交换机。PC为普通测试终端。我们测试的目的就是验证在这三台 设备运行的RIP实现是否完全遵循了需求规格中的规定。
在测试的过程中,为了使各个测试例之间不因为设置的源因而互相干扰,所以在每个测试例完成之后,都要将整个测试环境恢复到初始化配置。下面就是本测试环境的初始化配置,请注意:下面的配置包括但不限于整个测试过程中对交换机的配置,在某些测试例中,为达到测试目的,需要在初始化配置的基础上增加一些特殊配置。
3 RIP测试项目清单
表 2 rip测试项目
测试项目编号
测试项目
测试子项目
测试结论
Rip-01
RIP的协议一致性测试
RIP的协议一致性测试
qOK qPOK qNG qNT
Rip-02
水平分割缺省有效的情况
水平分割缺省有效的情况
qOK qPOK qNG qNT
Rip-03
检查路由的权值
检查路由的权值
qOK qPOK qNG qNT
Rip-04
RIP-2的明文验证功能
RIP-2的明文验证功能
qOK qPOK qNG qNT
Rip-05
RIP-2的MD5验证功能
RIP-2的MD5验证功能
qOK qPOK qNG qNT
Rip-06
路由聚合
路由聚合
qOK qPOK qNG qNT
Rip-07
引入静态路由
引入静态路由
qOK qPOK qNG qNT
Rip-08
RIP协议之外的扩展以及与Cisco兼容的特性
RIP协议之外的扩展以及与Cisco兼容的特性
qOK qPOK qNG qNT
总项目数
(列出总的项目数)
测试结论表示方式:
OK:测试结果全部正确
POK:测试结果大部分正确
NG:测试结果有较大的错误
NT:由于各种原因本次无法测试
4 测试项目的方法和步骤
测试编号
Rip-01
测试项目
RIP的协议一致性测试
测试子项目
预置条件
按照测试环境连接图搭建测试环境(如图2),保证物理连接正确。
按照初始化配置内容配置各个路由器。
准备就绪。
测试步骤
在本测试例中分为下面三种情况,对于每种情况都依照步骤1)、2)进行测试:
缺省情况,即在初始化配置基础上进行配置。可以看到测试结果1)。
配置RTA和RTB的S0口上运行RIP-2,以广播地址发布路由。 可以看到测试结果1)。
[RTA -Serial0/0] rip version 2 broadcast
[RTB -Serial0/0] rip version 2 broadcast
配置RTA和RTB的S0口上运行RIP-2,其发布路由方式为多播。 可以看到测试结果2)。
[RTA -Serial0/0] rip version 2 multicast
[RTB -Serial0/0] rip version 2 multicast
测试步骤:
打开RTA和RTB上的Debug开关,观察RIP报文发送和接收的Debug信息
<RTA>debugging rip packet
<RTA>terminal debugging
<RTB>debugging rip packet
<RTB>terminal debugging
查看RTA和RTB上的路由表内容
[RTA]display ip route
[RTB] display ip route
预期结果
请注意,下面的Debug信息输出是针对RTA和RTB的S0口观察得到的。
在情况A和B时,观察到下面的Debug输出:
RTA上显示如下调试信息:
#4/2/2000 22:9:14-rm-3-RTTRP:
RIP: send from 202.38.168.1 to 255.255.255.255
Packet:vers 1, cmd Response, length 64
dest 11.0.0.0,Metric 1
dest 202.38.169.0,Metric 2
dest 131.108.0.0,Metric 3
#4/2/2000 22:9:18-rm-3-RTTRP:
RIP: Receive Response from 202.38.168.2
Packet:vers 1, cmd Response, length 24
dest 129.134.0.0,Metric 1
RTB上显示如下调试信息:
#4/2/2000 22:9:16-rm-3-RTTRP:
RIP: send from 202.38.168.2 to 255.255.255.255
Packet:vers 1, cmd Response, length 24
dest 129.134.0.0,Metric 1
#4/2/2000 22:9:20-rm-3-RTTRP:
RIP: Receive Response from 202.38.168.1
Packet:vers 1, cmd Response, length 64
dest 11.0.0.0,Metric 1
dest 202.38.169.0,Metric 2
dest 131.108.0.0,Metric 3
在情况C时,观察到的Debug输出与上面的基本一致,不同的是:
RIP报文的目的地址不是255.255.255.255,而是224.0.0.9
注意事项
//相关说明,例如:本用例测试完成后,必须清除掉本测试项中对所有路由器所做的配置,以防对以后的测试产生影响
测试结果
测试编号
Rip-02
测试项目
测试子项目
水平分割缺省有效的情况
预置条件
1 按照测试环境连接图搭建测试环境(如图2),保证物理连接正确。
2 按照初始化配置内容配置各个路由器。
3 准备就绪
测试步骤
测试过程:
打开RTA的Debug开关,观察RTA的接口S0和E0发送RIP报文的调试信息,,可以看到测试结果1)。
<RTA>debug rip packet
<RTA>terminal debug
在RTA的E0/0口设置取消水平分割
[RTA-Ethernet0/0]un rip split-horizon
3 用show ip route查看Cisco的路由表 ,可以看到测试结果2)。
预期结果
检查点、应达到的要求、指标和预期结果:
1 应该看到,RTA的S0/0口和E0/0口发送的路由信息都不包括从各自接口上接收到的路由。对于S0/0口,它发送的路由信息中不包括到129.134.0.0的路由。对于E0/0口,它发送的路由信息中不包括到202.38.169.0和131.108.0.0的路由。
RIP: Send from 202.38.168.1 to 255.255.255.255
Packet: ver1, cmd Response , Length 64
dest 11.0.0.0,Metric 1
dest 202.38.169.0,Metric 2
dest 131.108.0.0,Metric 3
RIP: Send from 11.110.1.2 to 255.255.255.255
Packet: ver1, cmd Response , Length 44
dest 202.38.168.0,Metric 1
dest 129.131.0.0,Metric 2
RTA的E0/0口取消了水平分割之后,由E0口发送的路由信息包括了到202.38.169.0和131.108.2.1的路由,Cisco的路由表中包含了这两条路由。
注意事项
注意:
1 缺省条件下,Cisco和VRP都默认接口的水平分割有效,但是如果接口封装为X.25和帧中继,则默认接口的水平分割无效。
2 FC中提到实现水平分割有两种方式,一种是“简单水平分割”;另一种是“带毒性逆转的水平分割”;目前,VRP和Cisco都实现的是“简单水平分割”。
3 本测试例之后,必须按照初始化配置对所有路由器进行配置,以防对以后的测试产生影响。
测试结果
测试编号
Rip-03
测试项目
检查路由的权值
测试子项目
标准ACL的配置 //由于项目比较粗略,说明测试子项目
预置条件
1 按照测试环境连接图搭建测试环境(如图3),保证物理连接正确。
2 按照初始化配置内容配置各个路由器。
运行RIP测试程序RIP Tester。
测试步骤
1打开RTA的Debug开关,观察RTA接收RIP报文的调试信息。
2设置RTA的E0/0口接收版本2报文。
[RTA]int e0/0
[RTA -Ethernet0/0]rip version 2
3利用RIP Tester向RTA发送版本2的Response报文。
注意:利用RIP Tester构造并且发送报文。设置路由表项的路由权值为以下几种情况:
a 大于16的任意整数值。如:17
b metric为0。
报文的其他内容都正常。路由表项为:99.0.0.0,metric为1。
4观察RTA的调试信息,可以看到结果1)。
5查看RTA的路由表内容,可以看到结果2)。
预期结果
1 调试信息显示,RTA拒绝接收RIP Tester发送的报文,并且报错误消息。
2 RTA的路由表中没有99.0.0.0这条路由。
注意事项
//相关说明,例如:本用例测试完成后,必须清除掉本测试项中对所有路由器所做的配置,以防对以后的测试产生影响
测试结果
测试编号
Rip-04
测试项目
RIP-2的明文验证功能
测试子项目
标准ACL的配置 //由于项目比较粗略,说明测试子项目
预置条件
1 按照测试环境连接图搭建测试环境(如图3),保证物理连接正确。
2 按照初始化配置内容配置各个路由器。
测试步骤
1 打开RTA和RTB的Debug开关,观察RTA和RTB接收和发送报文的调试信息。
<RTA>debug rip packet
<RTA>terminal debug
<RTB>debug rip packet
<RTB>terminal debug
2 在RTA的S0/0口配置明文验证,而在RTB的S0/0口没有配置明文验证,可以看到结果1)。
[RTA]interface s0/0
[RTA-Serial0/0]rip version 2
[RTA-Serial0/0] rip authentication-mode simple aaa
3 在RTA的S0口配置明文验证,同时RTB的S0口也配置明文验证,可以看到结果2)。
[RTA]interface s0/0
[RTA-Serial0/0]rip version 2
[RTA-Serial0/0] rip authentication-mode simple aaa
[RTB]interface s0/0
[RTB-Serial0/0]rip version 2
[RTB-Serial0/0] rip authentication-mode simple aaa
预期结果
1 在RTA上的Debug信息显示验证失败。
ignoring RIP Response
0 packet from 202.38.168.2+520 - authentication failure
RTA和RTB上的Debug信息都会显示接收时验证通过。并且会显示验证密码。用display ip route查看RTA和RTB上的路由表,可以看到完整的路由内容。
注意事项
//相关说明,例如:本用例测试完成后,必须清除掉本测试项中对所有路由器所做的配置,以防对以后的测试产生影响
测试结果
测试编号
Rip-05
测试项目
RIP-2的MD5验证功能
测试子项目
标准ACL的配置 //由于项目比较粗略,说明测试子项目
预置条件
//进行测试所需的环境、条件及初始配置等;
选择2测试环境,然后...
测试步骤
1 打开RTA和RTB的Debug开关,观察RTA和RTB接收和发送报文的调试信息。
<RTA>debug rip packet
<RTA>terminal debug
<RTB>debug rip packet
<RTB>terminal debug
2 在RTA的S0口配置标准MD5验证,而在RTB的S0/0口没有配置验证,可以看到结果1)。
[RTA]interface s0/0
[RTA-Serial0/0]rip version 2
[RTA-Serial0/0] rip authentication-mode md type usual
[RTA-Serial0/0] rip authentication-mode md5 key-string aaa
3 在RTA的S0/0口配置标准MD5验证,同时RTB的S0/0口也配置标准MD5验证,可以看到结果2)。
[RTA]interface s0/0
[RTA-Serial0/0]rip version 2
[RTA-Serial0/0] rip authentication-mode md type usual
[RTA-Serial0/0] rip authentication-mode md5 key-string aaa
[RTB]interface s0/0
[RTB-Serial0/0]rip version 2
[RTB-Serial0/0] rip authentication-mode md type usual
[RTB-Serial0/0] rip authentication-mode md5 key-string aaa
预期结果
1 在RTA上的Debug信息显示验证失败。
ignoring RIP Response
0 packet from 202.38.168.2+520 - authentication failure
2 RTA和RTB上的Debug信息都会显示接收时验证通过。并且会显示验证密码。用display ip route查看RTA和RTB上的路由表,可以看到完整的路由内容。
注意事项
//相关说明,例如:本用例测试完成后,必须清除掉本测试项中对所有路由器所做的配置,以防对以后的测试产生影响
测试结果
测试编号
Rip-06
测试项目
路由聚合
测试子项目
标准ACL的配置 //由于项目比较粗略,说明测试子项目
预置条件
1 按照测试环境连接图搭建测试环境(如图3),保证物理连接正确。
2 按照初始化配置内容配置各个路由器。
测试步骤
1 在RTB的虚拟接口上配置三条10网段的路由。
[RTB]interface vir0
[RTB -Virtual-Template0] ip address 10.1.1.1 255.255.0.0
[RTB -Virtual-Template0]exit
[RTB]interface vir1
[RTB -Virtual-Template1] ip address 10.2.1.1 255.255.0.0
[RTB -Virtual-Template1] exit
[RTB]interface vir2
[RTB -Virtual-Template2] ip address 10.3.1.1 255.255.0.0
[RTB -Virtual-Template2]exit
[RTB] rip
[RTB –rip]network 10.0.0.0
2 打开RTB和RTA的debug开关。查看RTA和RTB收发报文的调试信息。可看到结果1)。
3 用display ip route查看RTA的路由表,可看到结果2)。
4 在RTB上配置取消自动聚合,并且将接口S0设置为版本2。
[RTB]int s0/0
[RTB-Serial0/0]rip version 2
[RTB] rip
[RTB –rip] undo summary
5 过30秒之后,重复步骤2)和3),可以看到结果3)。
6 在RTB设置恢复自动聚合并且配置一条静态路由,其metric不为1。
[RTB]ip route 10.4.0.0 255.255.0.0 e0
[RTB]rip
[RTB-rip] import-route static cost 2
[RTB-rip]summary
7 过30秒之后,重复步骤2)和3),可以看到结果4)。
预期结果
1 调试信息显示,RTB发送了一条聚合路由10.0.0.0,metric为1,RTA接收这条路由。
2 RTA的路由表中加入10.0.0.0,其下一跳为202.38.168.2,metric为1。
3 调试信息显示,RTB发送了三条子网路由:
10.1.0.0 metric 1
10.2.0.0 metric 1
10.3.0.0 metric 1
RTA接收这三条子网路由,并且将它们都加入到自己的路由表中。
4 调试信息显示,RTB发送了一条主网路由,10.0.0.0,其Metric为1,RTA接收了这条路由并且将它加入到路由表中。
注意事项
//相关说明,例如:本用例测试完成后,必须清除掉本测试项中对所有路由器所做的配置,以防对以后的测试产生影响
测试结果
测试编号
Rip-07
测试项目
引入静态路由
测试子项目
标准ACL的配置 //由于项目比较粗略,说明测试子项目
预置条件
1 按照测试环境连接图搭建测试环境(如图3),保证物理连接正确。
2 按照初始化配置内容配置各个路由器。
测试步骤
1 打开RTB的Debug开关,查看RTB接收RIP报文的调试信息。
<RTB>debug rip packet
2 在RTA上配置一条静态路由,并且将这条静态路由转发出去。
<RTA>system
[RTA]ip route 55.0.0.0 255.0.0.0 Ethernet 0/0
[RTA] rip
[RTA-rip] import-route static cost 3
3 用display ip route查看RTB的路由表,可以看到结果1)
预期结果
在RTB上可以看到,RTA上的静态路由已经被加入到路由表中,其metric值为4
注意事项
//相关说明,例如:本用例测试完成后,必须清除掉本测试项中对所有路由器所做的配置,以防对以后的测试产生影响
测试结果
测试编号
Rip-08
测试项目
RIP协议之外的扩展以及与Cisco兼容的特性
测试子项目
配置主从地址之后的水平分割
预置条件
1 按照测试环境连接图搭建测试环境(如图3),保证物理连接正确。
2 按照初始化配置内容配置各个路由器。
预期结果
1 RTB发布的路由信息的内容如下:
从主地址(202.38.168.2)发布的路由包括:131.108.0.0和202.38.170.0
从从地址(202.38.170.2)发布的路由包括:202.38.168.0和131.108.0.0
2 RTB发布的路由信息的内容如下:
从主地址(202.38.168.2)发布的路由包括:131.108.0.0和202.38.170.0
从从地址(202.38.170.2)没有路由更新发布。
注意事项
//相关说明,例如:本用例测试完成后,必须清除掉本测试项中对所有路由器所做的配置,以防对以后的测试产生影响
测试结果
5 附录
展开阅读全文