计算机网络实验教学的设计与思考*——以DHCP协议实验为
2014-11-27张兰芳
年 梅,张兰芳
(1.新疆大学 计算机科学与技术博士后流动站,新疆 乌鲁木齐830054;2.新疆师范大学计算机科学与技术学院,新疆,乌鲁木齐830054)
一、引言
《计算机网络》是信息技术相关专业本专科的必修课,是计算机科学与技术专业考研必考科目之一,要求学生掌握一定的理论深度。同时,网络技术应用范围越来越广,社会对掌握网络工程实践技能的人才需求越来越大。针对这种状况,我们将网络课程的目标设置为:使学生熟练掌握计算机网络的体系结构、局域网、广域网、网络互连和Internet协议等网络基本原理和配置技术,让学生能够“学网”、“建网”、“用网”和“管网”,为后续学习和未来工作打下扎实的理论基础和实践技能。如何加深学生对网络理论的理解以及让学生掌握较强的实践能力,网络实验起到了至关重要的作用。
目前,高校开设的《计算机网络》实验主要包括了三类:一是计算机网络协议实验,通过让学生对网络协议包的抓取和分析,加深对网络体系结构,网络协议的语法、语义以及协议执行顺序的理解。二是网络工程实验,帮助学生学会交换机、路由器以及服务器的配置,掌握管理局域网和广域网基本技能。三是计算机网络编程实验,培养学生网络编程的思想和方法。通过这几类实验的培养,基本能够满足本课程培养目标要求。
目前的网络实验模式存在以下问题:有些学校没有条件建立专门的网络协议实验室和网络工程实验室,无法开设网络协议实验,影响了学生对协议的理解;其次,很多高校的网络协议和网络工程类是专门的软硬结合的实验室,两个实验室中开设的实验内容相互隔离,无法根据教学需要自主设计和调整实验内容;网络工程实验只关注网络设备和服务器的配置与管理,并未考虑服务实现中协议的作用。这种实验方案无法将两类实验相结合,培养工程能力同时加深理论理解。如何解决以上问题,打破协议实验和工程实验之间的壁垒,满足无协议实验室高校能够开设网络协议类实验,是本文要解决的主要问题。
二、问题的解决方法
《计算机网络》中最重要的概念就是网络协议。单纯依靠教师讲解网络协议,学生缺乏对网络协议的感性认识,无法深入地理解网络协议。由于技术的不断发展,网络工具越来越多,出现了各种网络嗅探器,如Sniffer、Wireshark等,这些工具能够进行协议数据包的获取和分析,因此能有效地弥补无网络协议实验室的问题。此外,网络虚拟机软件的出现,能够在一台计算机上搭建客户/服务器等复杂网络拓扑,为学生独立完成从网络服务拓扑搭建到服务功能测试的实验提供了技术支持。
由此可知,在普通机房中开设网络服务器配置管理与协议分析实验是可能的。但如何达到培养目标,最重要的问题是提供精心设计的实验内容,在实验中融合服务功能和服务协议分析,在潜移默化中让学生深入理解网络协议的功能和作用。
1.Wireshark抓包软件简介
Wireshark(前称Ethereal)是一个网络抓包分析软件,其功能是抓取网络中各层次的协议数据包,并尽可能显示出最为详细的网络协议包的信息。网络管理员可以使用Wireshark来检测网络问题,网络安全工程师可以使用Wireshark来检查资讯安全相关问题,我们可以使用Wireshark来学习网络协定的相关知识。[1]本文主要利用Wireshark来获取并分析网络协议的语法、语义和顺序,为学生深刻理解网络协议和体系结构提供帮助。
2.VMwareWorkstation软件介绍
VMwareWorkstation是一款功能强大的桌面虚拟计算机软件,它可在一部实际机器上模拟完整的网络环境,以及可便于携带的虚拟机器,利用VMwareWorkstation,可以在一个窗口中加载一台虚拟机,它可以运行自己的操作系统和应用程序。用户可以在运行于桌面上的多台虚拟机之间切换,通过一个网络共享虚拟机。该软件为我们在普通的PC机上实现客户/服务器网络拓扑结构提供了支持。
3.实验设计的思路
本类实验设计主要包括了以下步骤:
(1)确定实验拓扑结构。该阶段是整个实验成功的关键,其主要任务是确定配置的服务器、客户数量,考虑是否需要转发设备等。
(2)根据服务器的功能,确定服务器和客户机配置的参数以及如何通过客户机测试服务器的功能。
(3)如有转发设备或者中间设备,确定中转设备的数量、硬件结构和配置参数。
(4)实验拓扑中的每台设备(包括服务器和客户机)都安装Wireshark软件,设计在哪些设备上抓取协议包以及抓取该协议的哪些种类报文等。
(5)通过课程纲要中对协议的知识点要求,确定需要对哪些类型的协议报文进行分析以及如何分析协议的顺序。确定重点分析协议报文中哪些字段及这些字段在协议中作用。
三、实验设计实例——DHCP实验设计
按照实验设计的步骤,我们以DHCP实验为例,介绍了如何应用该设计方法,进行DHCP实验内容的设计与实施。
1.DHCP协议的分析
动态主机配置协议 (DynamicHostConfiguration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员提供作为对所有计算机进行中央管理的手段。
DHCP是一种典型的客户/服务器的服务模式,主要任务是IP地址的分配。DHCP对服务器的主要配置和管理就是对其预分配的地址范围数据库的管理。该地址范围可以是一个网络的也可以是多个网络的。客户机的配置就是使其能够实现自动地址获取配置。
DHCP服务器除了能够为本局域网内的计算机分配IP地址外,还能给外网的机器分配IP地址,为此需要设计一台DHCP中继代理服务器,该中继设备需要连接两个网络,可以对不在同一网络中其它客户机的请求和应答信息进行转发。
DHCP协议实现过程中共有7种报文。Dhcpdiscover是client开始DHCP过程中的第一个请求报文;dhcpoffer是server对dhcpdiscover报文的响应;dhcprequst是client对dhcpoffer报文的响应;Dhcpdeclient是client发现server分配给它的IP地址无法使用(如IP地址发生冲突),将发出此报文让server禁止使用这次分配的IP地址的报文;dhcpack是server对dhcprequst报文的响应,client收到此报文后才真正获得了IP地址和相关配置信息;dhcpnack是server对client的dhcprequst报文的拒绝响应,client收到此报文后,一般会重新开始DHCP过程;dhcprelease是client主动释放IP地址,当server收到此报文后就可以收回IP地址分配给其他的client。
2.DHCP实验的拓扑设计
图1DHCP实验的拓扑结构
按照对DHCP的分析,我们设置了2台服务器,一台用作DHCP服务器,一台用作DHCP中继代理服务器,该DHCP中继代理服务器上需要配置两块网卡,一块连接内网,一块连接外网。为了验证IP地址的分配结果以及转发的结果,至少需要两台客户机,是分别进行内外网地址获取的验证设备。按照上述要求,设计了如图1所示的拓扑结构。
3.DHCP实验内容的设计
(1)按照设计的DHCP实验拓扑结构,安装两台Windows2003server虚拟机和两台WindowsXP虚拟机。其中一台server虚拟机设置为DHCP服务器,另一台server虚拟机设置为DHCP中继代理服务器(也称转发器),并在该机器中配置了两块网卡。设置两个网段,即LANsegment1、LANsegment2。把DHCP服务器、客户机A、DHCP中继代理服务器的网卡1(本地连接)设置为LANsegment1,把客户机B、DHCP中继代理服务器的网卡2(本地连接2)设置为LANsegment2。
(2)设置DHCP服务器的IP地址、网关、DHCP作用域(LAN1和LAN2的地址范围)。实验时将DHCP服务器的 IP地址设置为 192.168.10.1, 网关为192.168.10.30(指向DHCP中继代理服务器的IP地址),DNS为192.168.10.1;设置第一个DHCP作用域area1,范围为192.168.10.2~192.168.10.50,要排除的IP地址为192.168.10.30,租约期限使用默认,路由器(默认网关)为192.168.10.1;设置第二个DHCP作用域area2,其范围为192.168.20.2~192.168.20.50,地址租约期限设置默认,路由器(默认网关)为192.168.20.1;建立超级作用域hr,包括area1和area2两个作用域,并授权。
(3)DHCP中继代理服务器的配置。DHCP中继代理服务器的网卡1连接DHCP服务器,IP地址为192.168.10.30(DHCP服务器的网关地址),网卡2连接LAN2,IP地址为192.168.20.1;在该机器上配置路由转发和DHCP中继代理功能使子网192.168.20.0的客户机可以使用子网192.168.10.0的DHCP服务器。
(4)用主机A和B进行内外网获取地址的测试。将机器的TCP/IP属性设置为“自动获取IP地址”以及“自动获取DNS服务器的地址”。
(5)DHCP协议实现过程中共有7种报文,为了尽可能测试各种协议报文的作用和执行顺序,设计了以下实验内容,每个实验前都需要:打开所有设备上的Wireshark软件,设置为俘获DHCP协议数据包,并启动数据俘获功能。每个实验结束后都停止俘获报文并进行实验分析。
①分别在每个客户机上使用命令IPCONFIG/all查看获取IP地址的结果,并整理获取的所有DHCP报文,分析报文的地址和类型字段。列出俘获的各类DHCP报文的顺序。
②分别在每个客户机上使用命令。IPCONFIG/release释放IP地址,整理获取的DHCP报文,分析这些报文的地址和类型字段。列出俘获的各类DHCP报文的顺序。
③将DHCP中继代理服务器上。Wireshark软件打开,在其两块网卡上设置DHCP协议报文的俘获,然后分别在两个客户机上使用命令IPCONFIG/renew重新获取IP地址。停止DHCP中继代理服务器上的DHCP俘获,整理两个网络接口上获取的各类DHCP报文,分析报文类型和顺序。对两个接口上俘获的DHCP请求、应答报文的地址信息进行记录然后比较。
4.DHCP实验结果分析
按照实验设计得到以下的实验结果:
(1)在两台客户机上执行了IPCONFIG/all命令后,两个主机上均获得了正确的IP地址,证明DHCP服务设置正确。同时,我们在实验的DHCP服务器上获取了地址分配时的DHCP报文,如图2所示。在图2中用方框标识的是为主机A分配IP所用DHCP报文,可以看出DHCP地址分配使用了四类报文,分别是dhcpdiscover、dhcpoffer、dhcprequest和dhcpack,以上列出的顺序就是该协议报文的执行顺序。图2下半部分是dhcpoffer报文的解析结果,通过解析清楚地看到拟分配的地址是192.168.10.2以及该地址的各种租约期限等。
图2客户机B执行ipconfig/all的结果
图3执行ipconfig/release和ipconfig/renew的结果
(2)使用IPCONFIG/release后,在DHCP服务器上获取了如图3上半部分所示的数据包,表示192.168.20.2(客户机B)、192.168.10.2(客户机A)释放IP地址时仅使用了一种报文,即dhcprelease报文。使用IPCONFIG/renew后,在DHCP服务器上俘获的DHCP报文如图3下半部分所示。从图3中可以看出,renew过程相当于执行了一次地址释放和一次地址分配过程。在图3中,用方框标识的是主机A地址获取时的DHCP报文,剩下的报文则是主机B地址获取时的DHCP。
图4DHCP转发器网卡1、2获取的DHCP报文
(3)在DHCP中继代理服务器上,网卡1上俘获的DHCP报文如图4上半部分所示,网卡2上俘获的DHCP报文如图4下半部分所示。从图4上下两部分的对比发现,主机B发出的dhcpdiscover和dhcprequest,在LANsegment2上传递时,报文的源地址为0.0.0.0,目标地址为255.255.255.255,由此证明是广播传递。经DHCP转发器转发后,报文的源地址为192.168.20.1(DHCP中继代理地址),目标地址为192.168.10.1,转变为单播传递。为了更为清晰地表达,我们在图4上下两部分的对应位置上用方框进行了标识。从以上对比证实了DHCP在跨网地址分配时,DHCP的请求应答报文在不同的网段上以不同的传播方式进行传递。
四、结束语
计算机网络是一门理论与实践结合非常紧密的课程,通过实验能够加深对理论的理解,掌握计算机网络工程的实践技能。精心设计的实验,能够让学生在工程中深入理解网络原理,激发他们的求知欲望,同时充分利用现有信息技术,解决一些学校在设备不足的情况下,提升学生的综合设计性能力的实验思路。本文以网络中常用的DHCP协议为例,介绍了该类实验设计的思路。限于篇幅,文中未将所有的实验结果罗列出来,如仅将dhcpoffer的解析展示给大家,教师还可以根据需要设计分析更多的协议报文以及协议字段的信息,引导学生进行深入思考。希望通过本文,给教师们一点参考,能够促进教师将多年的教学经验进行总结,为学生精心设计更多的综合性实验,帮助学生达到课程培养的目标。
[1]百度百科.Wireshark[DB/OL]http://baike.baidu.com/link?url=W1Su2atwHdLqM0wSTk2QsXPkHdF0VZrPF7lDXUWsE_fZtFmMs54YEcOwmp1GlRR,2013-10-22/2013-10-31.
[2]谢希仁.计算机网络[M].北京:电子工业出版社,2008:224-232.
[3]蒋一川,王陈章,曹岩,高菲等.计算机网络实验教学系统V1.1实验教程(IPv4网络协议篇)[M].吉林中软吉大信息技术有限公司.2011.8:162-175.
[4]朱小明.中等职业学校“计算机网络”实践教学的研究与思考[J]中国电化教育,2013(2):102-105.
[5]吴海涛,郭丽红.DNS协议分析与安全检测[J].计算机安全,2009(4):24-27.