黄镇建,蔡群英
(1.韩山师范学院 物理与电子工程系,广东 潮州 521000;2.韩山师范学院 计算机应用与技术系,广东 潮州 521000)
“计算机网络”作为一门独立的课程在国内高等院校得到了空前的普及和应用,但由于网络设备价格昂贵的原因,常常难以开展行之有效的网络实验,相关的网络教学仅仅是理论上的有效传递。传统的计算机网络课程通常把重点放在网络理论上,由于不能以实验为手段对网络应用的基本概念进行实践,学生往往会迷失在复杂枯燥的理论中,渐渐失去了学习兴趣[1]。
网络实验不同于一般的程序设计实验,只需要提供一个软件环境就能进行编程、测试[2]。目前,很多高校在计算机网络实验室的建设和管理上主要遇到如下的一些难题:(1)网络实验设备缺乏,造成了很多计算机网络实验不能开出;(2)在开出Window或Linux等服务器的配置实验时,计算机必须安装多操作系统,增加了实验室管理人员的工作难度;(3)没有办法进行网络协议的演示;(4)学生离开了网络实验室就没有了实验的环境,而网络实验室要像普通的计算机实验室那样全天候开放操作起来有一定的困难。针对这些情况,许多高校把建设高效、专用的计算机网络实验室作为一项重要的基础设施,投入大量的经费购买交换机、路由器,但这种依靠硬件设备建成的实验室却存在设备类型单一、不易管理和实验效果差等问题[3]。
基于上述的原因,本文提出利用Vmware虚拟机、Packet Tracer模拟软件、NS2仿真技术以及Apache Friends服务器套件来开发网络实验项目的方法,利用该方法,只要有计算机就可开出网络实验,既可以节省计算机网络实验设备的投资,又大大地减轻了网络实验室管理人员的工作量。更为重要的是,学生通过这些项目的训练提高操作能力,加深了对学习内容的理解。
在计算机网络的教学中,最大的困难在于如何构建一个网络实验环境,利用Vmware虚拟软件可以轻松解决这一问题[4]。在真实操作系统上安装Vmware Workstation软件,然后可以利用该工具在一台计算机上模拟出若干台虚拟计算机,每个虚拟计算机可以运行独立的操作系统而互不干扰[5]。在Vmware环境中,将真实的操作系统称为主机系统,将虚拟的操作系统称为客户机系统或虚拟机系统。主机系统和虚拟机系统可以通过虚拟的网络连接进行通信,从而实现一个虚拟的网络实验环境。安装完Vmware Workstation之后,计算机会默认给主机系统增加2个虚拟网卡:Vmware Network Adapter Vmnet8和Vmware Network Adapter Vmnet0,这2个虚拟网卡分别用于不同的联网方式。使用Vmnet8虚拟网卡(NAT方式)时,虚拟机可以通过主机单向访问网络上的其他工作站(包括Internet网络),而其他工作站不能访问虚拟机;使用Vmnet0虚拟网卡(桥接方式,Vmnet0的作用相当于一台交换机)时,虚拟机相当于网络上的一台独立计算机,与主机一样拥有一个独立的IP地址。一般来说,Bridged Networking(桥接网络)方式最方便,因为这种连接方式可以将虚拟机当作网络中的真实计算机使用,在完成各种网络实验时效果也最接近于真实环境,此时,主机系统与虚拟机系统之间关系如图1所示。我们可以在虚拟机系统上安装Window Server 2003或Linux,将虚拟机系统作为服务器端,主机系统作为客户端,在这种环境下我们可以轻松开出DNS、DHCP、Web、FTP服务器架设等实验,让学生在实践中体验客户/服务器的工作模式。
图1 虚拟机的桥接模式
在计算机网络教学中,学生肯定要接触到交换机、路由器等网络设备,但网络设备的价格非常昂贵,如何让学生动手设计和配置一个中小型的计算机局域网,提高他们实践能力是我们急需解决的问题[6]。在实践中,我们采用思科的Packet Tracer模拟软件来开出真正意义的网络实验,如虚拟局域网的划分,各种路由协议配置(如静态路由、RIP协议),极大地节省了教学成本。Packet Tracer是由Cisco公司发布的一个辅助学习工具,为学习思科网络课程的初学者去设计、配置、排除网络故障提供了网络模拟环境。用户可以在软件的图形用户界面上直接使用拖曳方法建立网络拓扑,并可提供数据包在网络行进中的详细处理过程,观察网络实时运行情况。可以学习IOS的配置、锻炼故障排查能力。
例如,在计算机网络教学中,很多学生总是不明白网桥为什么有“学习”MAC地址的能力,觉得非常抽象[7]。为此在教学中我们利用Packet Tracer模拟软件让学生直观地看到了这一问题:使用Packet Tracer软件构建一个最简单的以太网,如图2所示。图2中交换机(多端口网桥)为Cisco2960,pc0的IP地址设置为192.168.1.10,子网掩码为255.255.255.0,pc1IP地址设置为192.168.1.20,子网掩码设置为255.255.255.0,此时,利用Packet Tracer的放大镜工具,可看到交换机的MAC地址表是空的;在这之后,在pc0上ping通pc1,再观察交换机的MAC的地址表,可看到MAC地址表已记录了pc0和pc1的MAC地址,具体情况如图3所示。
图2 空白的MAC地址表
图3 网桥学习到MAC地址
从上述的案例中我们不难发现:采用Packet Tracer模拟软件开出交换机和路由器的相关实验,可以极大地节省网络实验设备的投资,且计算机网络的设备可根据模拟软件的升组而升级;另外增强了学生的动手能力,把计算机网络课程中一些比较抽象的概念具体化,在实际教学应用中取得不错的效果。
“计算机网络”课程必须介绍大量的网络协议,在教学中一般只能从理论上进行分析,无法使用实验手段让学生获得感性认识,原因是构建一个实验的网络环境是非常困难的,采用模拟技术就可以解决以上问题。NS2[8]作为目前最流行的开源模拟软件之一,已被科研院所和各大高校用于进行网络分析、研究和教学。NS2是在Unix系统上开发的,因此既可以在Unix和类Unix系统上安装,也可以在Windows平台上安装。有两种安装办法:一是用Windows+Cygwin+NS2;二是用 Window+Vmware+Linux虚拟主机+NS2。NS2提供的nam工具能清楚地向学生演示网络协议的运行过程,使学生能直观地看到网络协议的行为,这为实验教学提供了极大的帮助[9]。例如,我们可以利用nam工具来演示动态路由[10]。假设存在如图4(a)的网络拓扑,节点0传送FTP分组到节点4,根据DV算法(最短路径),这时网络选择的路径应该是0→1→3→4,而当1→3之间的链路发生中断时,网络选择的路径是0→1→2→3→4(如图4(b)所示)。
图4 DV算法演示
对于网络技术的初学者来说,常常搞不清FTP、WWW、E-mail等因特网应用[11]。 安装 Apache Friends服务器套件,能让初学者迅速接触常见的因特网应用,从而对网络技术产生兴趣。Apache Friends是一个以Apache web server为主的套件,它整合了MySQL server、FileZilla FTP server和 Mercury mail server和PHP、phpMyAdmin等网络应用软件,利用它用户能快速完成网站的建设,同时也适合初学者构建和实现PHP实验环境。
在教学实践中,我们设计了以下常用服务器的相关实验[12]:①Mercury邮件服务器架设和测试实验;②FTP文件服务器的配置以及文件的上传和测试;③Apache web服务器静态网页和动态网页的实验;④Apache认证实验;⑤Apache基于域名的虚拟主机实验。
例如,Apache认证实验以前需要在Linux环境下进行,学生掌握起来比较难,但利用Apache Friends套件,只需几个简单的步骤即可完成。教学中我们设计实验如下(假设要对D:\xampp\htdocs\web目录进行访问认证):
(1)在D:\xampp\htdocs\web目录生成htaccess文件,文件内容:
AuthName″web″ #指定认证区域名称
AuthType basic #指定认证类型
AuthUserFile/xampp/phpmyadmin #指定一个包含用
户名和密码的文本文件
Require valid-user #指定哪些用户或组才能被授权访问
(2)利用 D:\xampp\apache\bin目录下的htpasswd.exe生成包含用户名和密码的doglookgate文件,注意要将生成的doglookgate文件拷贝到D:\xampp\htdocs\web目录。
(3)重新启动Apache服务器,在浏览器中访问Web目录,即可看到认证界面。
本文根据计算机网络实验教学特点,提出利用NS2模拟器、Packet Tracer模拟软件、Vmware虚拟机和Apache Friends服务器套件来开发网络实验项目的方法。采用本文提出的方案,只要有计算机就可以开出网络实验。实际上,采用本文提出的实验教学方案,不仅能节省设备的投资,也相当于为学生创造了一个开放的实验环境,学生在接触、消化这些项目之后,可以根据自已的兴趣设计一些综合性和创新性的实验项目,这有利于充分发挥学生学习潜能和积极性,有利于创新能力的陪养和人才的个性化发展。
(References)
[1]刘兵.计算机网络实验教程[M].北京:中国水利水电出版社,2005.
[2]王绍卜.“计算机网络”课程实验教学探讨[J].实验室研究与探索,2005,24(1):65-66.
[3]李领治,陆建国,徐建国.基于Netsim的计算机网络实验教学方案[J].实验技术与管理,2009,26(2):150-153.
[4]周翔鹰.基于Vmware构建虚拟计算机网络实验[J].实验室研究与探索,2006,25(7):809-812.
[5]石志国,薛为民,江俐.计算机网络安全教程[M].北京:清华大学出版社,2004.
[6]刘金江,王保平.计算机网络实验教程[M].北京:人民邮电出版社,2009.
[7]谢希仁.计算机网络[M].4版.北京:电了工业出版社,2004.
[8]徐雷鸣,庞博,赵耀.NS与网络模拟[M].北京:人民邮电出版社,2003.
[9]方路平,刘世华.NS-2网络模拟基础与应用[M].北京:国防工业出版社,2008.
[10]蔡群英,黄镇建.搭建网络实验环境的探索与实践[J].计算机与数字工程,2009(6):195-197.
[11]于明.计算机网络与数据通信实验教程[M].北京:中国水利水电出版社,2004.
[12]冯博琴.计算机网络应用基础[M].北京:人民邮电出版社,2010.