赵婧如
(西安邮电大学 计算机学院,陕西 西安 710121)
路由信息协议RIP是内部网关协议IGP中简单的、最先得到广泛使用的协议[1]。与其他路由协议(如OSPF、EIGRP、BGP等)相比,RIP简单易配,并以跳数(Hop Count)作为衡量路由优劣的指标[2],易于初学者理解,因此,在各大高校的计算机网络课程中,RIP通常作为路由协议知识单元的入门协议。通过学习RIP,学生可以理解路由协议的基本工作原理和设计目标,掌握如何评估路由路径、更新路由信息、处理网络连接变化等知识点。在工程教育专业认证背景下,路由协议实验教学设计的优劣直接影响着学生路由分析与设计能力目标的达成效果。良好的实验教学设计不仅能帮助学生将理论知识转化为实践能力,而且能引导学生在实践过程中不断深入实验背后的机理,真正内化工程知识,为以后解决较为复杂的实际工程问题奠定基础。
传统RIP实验以理解动态路由选择的概念,掌握RIP路由基本配置为教学目标,因此大多数计算机网络实验教程中RIP实验基本止步于协议配置与连通性验证,比如使用2台路由器连接3个网络,首先在路由器上启用RIP协议,然后完成3个网络的连通性测试,最后以此验证RIP配置的有效性。通常,学生能够根据实验指导步骤顺利完成实验,实现基于RIP的全网连通效果,但是由于传统实验设计缺少协议工作过程的分析引导,屏蔽了RIP路由更新细节,导致学生实验停留在配置验证层面,无法通过实验识别RIP 2个版本在路由更新中的差异,无法发现和分析RIP协议中的路由汇总带来的实际问题。综上,传统RIP实验方案限制了学生对路由原理的深入程度,不利于学生继续探究协议深层原理和解决网络部署中的实际问题。
从知识、能力、目标3个方面优化RIP实验教学目标。
(1)知识目标:理解距离矢量路由选择算法;理解RIP协议路径发现和推导路由的过程;认识RIPv1和RIPv2路由更新的主要区别。
(2)能力目标:熟练应用RIP配置及调试技能,能够根据网络需求独立完成RIP配置;能够正确分析RIPv1和RIPv2路由更新过程;能够准确解读RIP路由表项;有能力通过观察和分析网络行为,发现并解决与RIP协议相关的网络问题。
(3)素质目标:培养在实践中探索真知的科学精神,提升自主探究和解决问题的能力。
本实验设计扩大了传统的实验拓扑规模和设备配置,相应地也增加了实验步骤以及可能遇到的问题,使得实验复杂度有所提升,但拓扑设计为“量身定制”,能够恰当地展示RIP重难点问题的同时不会引入无关干扰因素,让初学者能够更好地专注于实验主线。基于改进后的实验拓扑,学生能够观察到RIP自动路由汇总带来的问题,RIP常规配置结束后,学生不会“顺利”得到全网互通的实验结果,却观察到“时断时通”的意外结果,而实验中间的这些“插曲”正是学生深入实验机理的良机,改进的实验设计会逐步引学生“入局”,让学生在实验中发现RIPv1的问题,思考问题产生的原因,在寻求解决方案的过程不断深入RIP协议工作过程,深刻认识RIPv1的局限性以及RIPv2的优势所在。
改进方案通过对实验现象的逐层剖析使得原理知识不再抽象,理论与实践紧密结合,学生以“眼见为实”的方式逐个验证理论知识点,对学生深刻理解相关原理大有裨益。学生不需要通过刻意的理论记忆来掌握知识原理,而是以“实践亲证”的方式通过不断探究实验和解决问题来逐渐内化所学。
实验基于Packet Tracer软件搭建实验拓扑环境,利用3台路由器互联Net1—Net5 5个用户网络,路由器之间采用串行连接,搭建如图1所示的网络拓扑,全网部署了可变长子网掩码(Variable Length Subnet Mask,VLSM)。
图1 实验拓扑
3.2.1 RIPv1协议配置
在3台路由器上分别启用RIPv1,使用network命令指定与当前路由器直连的网络(以路由器R1的配置为例,直连网络是172.16.0.0、172.18.1.0、172.18.2.0),并使用passive-interface命令禁止从连接用户网络的以太网接口发送路由更新(以路由器R1的配置为例,禁更接口为f0/0和f0/1)。
3.2.2 RIPv1路由分析
分别在3台路由器上查看路由表,如图2所示,由左至右分别为R1、R2、R3的路由表。让学生观察并记录路由表目前存在的相关问题:第一,R2的路由表中存在2条到达目标网络172.18.0.0/16的路由,但这2条路由的下一跳不同,分别是10.0.0.5或10.0.0.10;第二,路由器R1和R3的路由表中均未出现汇总路由172.18.0.0/16;第三,路由器R1和R3中没有关于目标网络192.168.0.0/16的路由项。这3个问题是深入理解RIP协议的3个关键问题,接下来,探析这3个问题的过程正是帮助学生发现自动汇总引发问题和RIPv1局限性的过程。
图2 配置RIPv1后3台路由器路由表
为了引导学生分析问题原因,实验要求学生在3台路由器上通过“debug ip rip”命令查看和分析路由器送出和收到的路由更新信息,如图3所示为关键路由更新信息节选。
图3 RIPv2调试信息
第一个问题是本实验的重点问题,如图3所示,由于R1通过其接口s0/0向外发送更新时,RIPv1已经自动将172.18.1.0/24和172.18.2.0/24 2个子网路由汇总为一个主类路由172.18.0.0。同样,由于R3通过其接口s0/0向外发送更新时,也自动将172.18.3.0/24和172.18.4.0/24 2个子网路由汇总为一个主类路由172.18.0.0,因此R1和R3创建的更新均为“network 172.18.0.0 metric 1”,即R1和R3都发布了目标网络为172.18.0.0的路由,邻居路由器R2上便收到了2条到达网络172.18.0.0的路由更新,因此R2的路由表中相应出现了2条目标网络为172.18.0.0的“R”路由项(即RIP路由项),R2将这2条路由(Metic均为120/1)作为到达同一目的网络的等价路由[3],即R2认为通过下一跳10.0.0.5或10.0.0.10到达172.18.0.0/16是等价的。
第二个问题与第一个问题紧密关联,R2从R1和R3学习到了2条等价172.18.0.0路由,但是R2在路由更新中并没有向R1和R3“返还”这条路由。借此问题,学生将对理论课程中讲解的水平分割原理有比较直观且深刻的认识。
针对第三个问题,学生需要利用之前学习的CIDR编址知识,分析得出Net3的网络地址192.168.0.0/16是一个无类地址,然后结合理论课程中对RIP版本区别的介绍(RIPv1是有类路由选择协议,而RIPv2是无类路由选择协议),自行剖析出问题的原因:目前路由器使用RIPv1是无法识别192.168.0.0/16无类地址的,因此R2发送更新时并没有将网络192.168.0.0通告出去。
为了进一步加强学生对RIPv1和RIPv2路由更新区别的认知,实验设计在第三个问题的基础上,插入2个引导性思考问题:图3所示的路由更新中为何没有提供网络掩码信息;RIPv1采用何种方式发送路由更新。学生将结合理论课堂所学进行实验观察,以“眼见为实”的方式直接得到2个结论:第一,由于RIPv1是有类路由选择协议,所以这些更新中没有随网络地址提供网络掩码信息,即RIPv1在路由更新过程中不携带子网信息;第二,图3调试信息显示“sending v1 update to 255.255.255.255……”说明RIPv1是采用广播方式发送路由更新的。
3.2.3 第一次设备连通性测试
学生在R2上分别ping主机PC1、PC2、PC4、PC5,会发现测试结果均为间断性连通,连通成功率(Success rate)为40%或60%。接下来让学生思考造成该测试结果的原因,让学生深入理解通过等价路由实现路由负载分担,通往这个目的地的流量会被平均分配在2条路由上,负载分担的方式:第1个分组走第一条路由,第2个分组走第二条,依次类推。以Ping主机PC1为例,路由器默认发出5个ping请求的情况下,部分请求被转发至R1方向,部分请求被转发至R2方向,因此测试结果显示“Success rate is 60 percent (3/5)”或者“Success rate is 60 percent (2/5)”。通常学生为了解决这个间断性连通问题,会提出关闭RIP路由自动汇总功能的解决方案,这时就让学生通过实操尝试来验证是否可行。由此环节让学生认识到RIPv1的局限性之一:无法关闭路由自动汇总功能,学生由此也能“预感”到RIPv2应该在这方面有所改进。这种方法比教师直接讲授局限性效果更好。
连通性测试应该考虑全面,不仅要对主机通信进行测试,还要针对前面发现的实验问题进行相关测试,以便与后继测试形成对比。由于R1和R3的路由表中没有关于192.168.0.0/16的路由,因此,现在R1和R3无法ping通192.168.0.1(R2的接口f0/0)和192.168.0.2(PC3)。
3.2.4 启用RIPv2并禁止自动汇总
针对前面实验中发现的RIPv1的多个问题,学生尝试配置RIPv2协议来再次观察和分析问题的解决情况。在3台路由器上启用RIPv2并使用“no auto-summary”命令关闭自动汇总。
3.2.5 RIPv2路由分析
查看3台路由器的路由表,如图4所示为收敛状态时的路由表。可以看到R1和R3都已获得关于192.168.0.0/16的路由,说明RIPv2是无类路由选择协议,能够识别无类网络地址。
图4 配置RIPv2后3台路由器路由
学生在3台路由器上通过“debug ip rip”命令查看路由器送出和收到的更新(如图5所示为部分路由更新信息节选),并可以和之前的RIPv1调试信息进行对比分析,记录重要变化:第一,更新中每个网络地址都携带了网络掩码信息,证明RIPv2是无类路由选择协议;第二,调试信息显示“sending v2 update to 224.0.0.9……”,224.0.0.9为组播地址,说明RIPv2是采用组播方式发送路由更新的。
图5 RIPv2调试信息
学生观察R1的“build update entries”部分,可以得知R1在通过其接口s0/0向外发送更新时,不再自动将172.18.1.0和172.18.2.0 2条路由汇总为一条路由172.18.0.0。观察R3与R1的路由表,情况相同。这说明虽然RIPv1和RIPv2都默认激活路由汇总功能,但是RIPv2可以通过命令关闭该功能。
R2的路由表显示路由器R2上收到了4条明确路由:172.18.1.0/24、172.18.2.0/24、172.18.3.0/24、172.18.4.0/24,而非2条到达网络172.18.0.0的等价路由,表明路由的自动汇总已被禁止。而且R2发送的v2更新(sending v2 update)中包含了192.168.0.0/16这条路由,说明RIPv2支持VLSM和CIDR。
3.2.6 第二次设备连通性测试
在R2上ping主机PC1、PC2、PC4、PC5,连通成功率全部为100%。由于R1和R3的路由表中有了关于192.168.0.0/16的路由,因此,现在R1和R3 已经可以ping通192.168.0.1(即R2的接口f0/0)和192.168.0.2(即PC3),PC之间也可以相互通信,即全网连通。
传统RIP实验方案可以让学生掌握RIP基本配置方法并进行简单的连通性测试,但无法引领学生深入思考,进一步分析RIP路由更新过程、路由汇总问题、版本区别等。本文从实验拓扑、实验过程、实验结果分析等方面对传统实验方案进行了改进,实验逻辑主线清晰,由RIPv1的配置与调试,引出中间问题,然后逐步引导学生思考和解决问题,通过RIPv2的配置与调试,分析路由更新过程的变化以及路由更新对路由表的影响,不断深化学生对RIP协议工作原理的理解。本实验教学设计方案已在多个专业的计算机网络课程中得到推广和应用,实践证明改进的实验设计方案使学生有机会在实验中观察和分析理论课堂中讲到的重难点问题,不仅激发了学生深入实验机理的兴趣,而且提高了学生主动开展实验探讨的积极性。学生不再是“简单实操,直取结果”,而是在实验设计的“局”中通过主动思考,逐渐完善认知,不断提升分析和解决实际问题的能力。