You are on page 1of 5

2009 First International Workshop on Education Technology and Computer Science

Design and Implement Computer Networking Virtual Laboratory


ZHOU Yu-ming
Institute of Command Automation, PLA University of Science and Technology, Nanjing, Jiangsu, China zym062822@163.com

XING Chang-you
Institute of Command Automation, PLA University of Science and Technology, Nanjing, Jiangsu, China xcy@plaust.edu.cn

CHEN Ming
Institute of Command Automation, PLA University of Science and Technology, Nanjing, Jiangsu, China mingchen@public1.ptt.js.cn

AbstractExperimental teaching is of great importance in computer networking. In this paper, we analyze the problems encountered in real-world laboratory, and propose a web based computer networking virtual laboratory to facilitate learning and teaching in the education of computer networking. The design and implementation of such a system are analyzed in detail. Our experiences of using it in computer network teaching show that this laboratory enables students to share resources of physical and virtual equipments and understand the knowledge more clearly. Finally, the paper concludes with feedbacks in teaching and discusses future developments. Keywords-computer learning networking; virtual laboratory; distance

I.

INTRODUCTION

The subject of computer networking is enormously complex, involving many concepts, protocols, and technologies that are woven together in an intricate manner. It is widely recognized that experiment as a conjunction between theoretic study and specific practice plays an important role in engineering and scientific area. According to contents and structure adopted by teaching, we should design proper experiments and offer corresponding equipments and software in networking laboratory. In real-world laboratory, the process of doing experiment can be described as follows: First of all, teachers explain basic theory and experimental contents. Consequently, students come to laboratory in schedule, connect equipments and start to do experiment. However there are some problems in real-world networking laboratory. The problems we have encountered include: Lack of funds to establish and maintain networking hardware and software in sufficient quantity so that each student can have enough access to the learning environment inside and outside scheduled classes. Network equipments could be damaged easily. It needs a long period to repair them with a high expense. Lack of a secure network environment that can reliably protect the other services provided on the same machines or network. A special person is needed to manage the laboratory. There are some limits at time and space to use the laboratory.

Laboratories are used for many courses, each course requiring a particular configuration. Therefore exercises could not be carried over to the next weeks class, as the configuration does not save each students progress on a task. Students cant observe the working principle of network equipments. To solve these problems above, we adopt virtual laboratory in our network teaching. Virtual laboratory is a new teaching method as development and complement for traditional laboratory to advance teaching. Virtual laboratory technology is currently a hotspot that applies virtual reality technology into network laboratory to make experiments more intuitive and realistic. The experiments in the virtual lab can be carried out by the students as laboratory exercises, by instructors as lecture demonstrations or by outside clients such as high school. In this paper, we design and implement a computer networking virtual laboratory. Its advantages are as follows: Openness. Virtual laboratory breaks the traditional experiment model. Users can access virtual lab at any time and place. Pertinence. Simulations, animations and virtual reality are used to make abstract theory into concrete demonstrates. In order to make students understand more deeply, they can speed or slower the process. Share. In virtual lab, the costly physical equipments can be shared to multi-user. Innovation. Students can make comprehensive and innovative experiments that get rid of limit of physical equipments. Furthermore, they can create new experiments that cant be developed in real-world lab. Economy. Generally speaking, the price of simulation software is about one fifth or one tenth. It needs to invest only once and not to be maintained by special person. The rest of this paper is organized as follows. In Section II, we introduce related researches. Section III describes computer networking teaching and the system design of the computer networking virtual laboratory. In Section IV, modules of the lab are analyzed in detail. We introduce the implementation in Section V. After that, we give some examples in Section VI. At last we conclude the article with the feedbacks from students and discuss the future works to develop.
3

978-0-7695-3557-9/09 $25.00 2009 IEEE DOI 10.1109/ETCS.2009.263

Authorized licensed use limited to: NMAM Institute of Technology. Downloaded on August 12,2010 at 10:51:12 UTC from IEEE Xplore. Restrictions apply.

II.

RELATED WORK

Daniel Joyce from Villanova University presented a virtual lab to support CS1 and CS2 courses [1]. This virtual lab was in place of a physical lab without a room reservation and scheduled hours. Joyce described in detail the reasons to implement a virtual lab, its structure and its topics which are merely programming oriented. Poindexter and Heck triggered the subject of integrating Internet into courses [2]. They described virtual labs as sophisticated interactive demos and proposed them as a good substitute of physical labs in case the electronic lab material is accompanied by animation. Reference [3] developed a virtual laboratory environment tools for processing molecular modeling applications on the World Wide Grid by leveraging existing Grid technologies. Reference [4] discussed the design and development of a virtual biology lab, of which most components including all the virtual experiments are implemented as Java Beans. Reference [5] described an Internet-based computer laboratory for DSP courses, in which all the programs are implemented as stand-alone Java Applets. Reference [6] presents a virtual network laboratory for learning IP network, in which one Ethernet Switch and many personal computers running on Linux operation system act as simulation equipment in the server. Users input Linux network commands by using the Web which then receives output from the server. Reference [7] applies WWW technologies including HTML, CGI, Java and LabView platform to provide usage for real equipment with standard interface. A web-based distributed virtual educational laboratory discussed in [8] developed a web-based distributed network simulation framework using CORBA IDL based APIs. Among these virtual labs mentioned above, most of them only focus on specific science field, by which the technology adopted does not adapt to computer networking. Even if in the virtual network laboratory, it fails to satisfy experiments requirements in teaching and demonstration due to the single technology and insufficiency resources. For overcoming the drawbacks, we thus develop a new system for web-based virtual computer networking lab and a wide range of educational resources in order to improve the system development efficiency and content the diversity requirements. III. SYSTEM DESIGN

implementation scenario in industry. Students are given a set of goals and some high-level guidance on how to integrate network equipment and network applications into a working solution. Following completion of each assignment, the students write a completion report describing their design and answer the lab problems. These problems mentioned in section I motivate the development of the virtual lab system. According to computer networking teaching and the real-world lab assignments, we design the virtual lab to reach the same goal in the real-world lab. Considering the motivation and characteristic of designing the lab, some issues of the system should be met. The principles of virtual laboratory are as follows: The virtual laboratory serves for teaching based on the characteristics and law of network teaching. It should make theory understood more easily and do experiments more conveniently. The design of virtual lab should make full use of the equipments in the real-world lab. Students can share costly equipments, such as protocol analyzer. Use software to complement the equipments of absent in the real-world lab. Virtual equipment software offers a general design and interface for real equipments for students. The laboratory combines the advantages of physical equipments and virtual equipments to server for experiments. The Client should be designed as simple as possible. To transport the feeling of a real lab to the remote user, including students and teachers. B. Communication Structure The main design idea of the system is to use the World Wide Web as communication structure and a Web browser as user interface. Consequently, we adopt the distributed B/S structure based web. In this way, users only need to have a web browser to run the entire lab, which enable users access the lab conveniently at any time. Mainly, the system consists of four components: Web Server, Application Server, Database and Equipments. The four components are connected according to the topology in Fig. 1. Each component plays a basic and important role. The three components, Web Server, Application Server and Equipment connected by Ethernet, which enables them access each other through TCP/IP protocol. Database can be installed in Application Server or another independent computer. Web Server offers web pages of graphical user interface to users browser for the virtual lab. The responsibility of Application Server is controlling of access to real physical equipments, use of virtual equipment software, management of users and other application service. Typically, the configuration of these real equipments are basic demand in computer networking course, including Switch, Router, firewall, Protocol Analyzer, Wireless Access Point. To make full use of the real equipment in the lab, we offer equipments as many as possible for students to configure. Clients out of real-world lab can access the virtual lab system through browser.

A. Analysis of Requirements We first provide a brief introduction to the computer networking course which is offered to senior students in the computer networking department. The course provides students with theoretical knowledge of computer network and hands-on experience using network equipment. The students are introduced to basic network concepts, the five-layered network model, the TCP/IP protocol suite, wireless and mobile networks, multimedia networking, security in computer networks, and network management. In the laboratory unites of the course, we present various useful networking tools and equipment such as routers, switches, network management software, network sniffer, firewall, wireless access points and protocol analyzers. Every chapter of the course has several assignments for students to finish. Each lab assignment is structured like an

Authorized licensed use limited to: NMAM Institute of Technology. Downloaded on August 12,2010 at 10:51:12 UTC from IEEE Xplore. Restrictions apply.

Figure 1. structure of virtual lab

real lab. It facilitates the comprehension to basic theories for engineering students. 2) Java Applet: In Java Applet simulation, we implement some complicated algorithms of the course. With the characteristic of Java Applet, the user will control the initial conditions of the program by a friendly graphical user interface. Further, the user can change some control parameters in the processing of the program to cooperate with the entities. In this way, different results will be got. It is convenient for user to compare from different results. These programs can run directly in browser with Java virtual machine which can be download form our lab. We also offer the codes for students who have interest in programming to analyze. Fig. 3 is a typical example.

IV.

MODULES

As mentioned above, computer networking virtual lab serves for the teaching of computer networking course to help teachers and students. Consequently, we subdivided it into six modules: Online simulation, Remote experiment, Equipment exercise, Instruction, Communion platform, Manage platform, as Fig. 2 showed. We discuss and explain them separately in the following sections. Online Simulation Flash Java Applet Remote Experiment Equipment Exercise Instruction Communion Platform Manage Platform Student account management Teacher account management Equipment management

Figure 3. Go-Back-N Protocol

Figure 2. modules of virtual lab

A. Online simulation Generally speaking, it is difficult for students to understand protocols that the complex networking protocols are described by text. Consequently, we implement network protocols, algorithms and structures with Flash and Java Applet technology to demonstrate the process of running. That is also a part of experiments. Also, layering provides a structured way to discuss system components. So, we adopt the protocol stack in [9] to classify Flash and Java Applet. Different experiments have to support different concepts taught in networking courses. 1) Flash: The Flash are designed to demonstrate the theories, knowledge structure, architecture, the cooperation process of entities in network protocols, some popular applications and some new researches in computer networking course. In this module, dynamical Flash shows networking technologies with audio and video to enhance the feeling of

In Fig. 3, a Java Applet shows the progress of Go-Back-N protocol. In Go-Back-N protocol, the sender is allowed to transmit multiple packets without waiting for an acknowledgment, but it is constrained to have no more than some maximum allowable number, N, of unacknowledged packets in the pipeline. In Fig. 3, N is 5. User can click the Send New button to send a new packet. Click the Fast or Slower to control animation speed. B. Remote Experiment It is important to offer experiments on real equipments for students to get hands-on experience. In this module, we include real equipments into our laboratory to share equipments by virtual technology. User can configure the remote real experiments to master method of control network equipments with access authorized by Application Server. A rich variety of control experiments can be carried out remotely in this module, including switch, router, firewall, protocol analyzer, wireless access point. And we also offer the proper tutorial materials to download. A lot of equipments are offered to students to make full use of them. Further more, as a result of no wire to be

Authorized licensed use limited to: NMAM Institute of Technology. Downloaded on August 12,2010 at 10:51:12 UTC from IEEE Xplore. Restrictions apply.

connected by hand, the probability of disabled wire and damage to equipments is reduced. The page of Remote Experiment is show in Fig. 4.

information. At last, user should use ping command to test the connectivity. D. Instruction In this module, user can get help about how to use the virtual lab. There are some textual introduce and Flash videos that shows the typical examples. Also, we provide experimental instruction documents and experimental report examples. E. Communion Platform It is an online communication platform for teachers and students. Students can put some questions about experiments and virtual lab in this module. Teachers answer these questions to students. It plays a role of bridge between teachers and students in laboratory teaching. F. Manage Platform It provides management to the entire lab, including student account, teacher account and equipment management. Fig. 6 gives us an overview of virtual laboratory management page. a) Student account management. Its responsibility is maintaining personal information of students and access records and allocating of resources for students to access lab, especially remote equipments. Students can submit experimental report to themselves teachers. b) Teacher account management. Its responsibility is maintaining personal information and access records, setting up experiment programs, reviewing the experimental reports. c) Equipment management. In this module, the lab manager can add or delete remote equipments, modify configuration of them, and view the use of laboratory resources.

Figure 4. Remote Experiment page

C. Equipment Exercise According to our teaching experience, experiments on real equipment are not enough for students to master knowledge. In this module, we offer some virtual equipment software for students to do equipment exercises. As mentioned before, virtual equipment software gives students a whole view of network. It is more intuitive and visual than real equipments. Software offers a whole suit of virtual equipment, including switch, router, firewall, computer and wire. It is convenient to examine the communication state of two entities. There are two main advantages by using virtual software. Firstly, it solves the problem of lack of real equipments. Secondly, students can design large scale network with different equipments and different topology. A typical network is designed in Fig. 5.

Figure 5. design the connected network

In Fig. 5, you should chose seven computers, three routers and one switch, and then connect them with the red lines according to above topology. Computer runs the Linux operating system. Double click the computer, router or switch, then a command window shows the configure interface. Input the correct command in the window, such as address and route

Figure 6. Equipment Configuration of Manage Platform

V.

IMPLEMENTATION

We have implemented Virtual Lab and deployed it in the practical application of teaching. The entire system uses B/S development structure. Web Server adopts Internet Information Server (IIS) and Application Server is developed with Visual Studio 2005 in C#. SQL Server 2000 is used in Database

Authorized licensed use limited to: NMAM Institute of Technology. Downloaded on August 12,2010 at 10:51:12 UTC from IEEE Xplore. Restrictions apply.

module. Flash animation demo in online simulation module uses Macromedia Flash 8.0 to achieve development. We use JBuilder 2005 integrated development environment to make Java Applet interactive programs. Visual Studio 2005 embeds Flash and Java Applet into Web pages using dynamic Web page technology, and then returns pages to client browser. In Equipment exercise module, pemu_win32_02 is used to simulate Cisco PIX525 firewall. In Online simulation module, we use HW-RouteSim3.0 to simulate Huawei routers and switches. VI. EXAMPLES In order to make it clear about how to finish a completely experiment with virtual lab, we give three examples about experimental operations. As follows: A student user opens Computer Networking Virtual Laboratory homepage with a browser. After inputting his/her student ID and password correctly, he/she begins to do experiment in the lab. If he/she is not familiar with operations, he/she has to look over the instructions through Flash demo or textual help. In addition, experimental instruction documents can be downloaded. He/She can view Flash demo abort computer networking theories and control procedures for the implementation of Java Applet to understand the knowledge better. Then, he/she can do exercises in Equipment Exercise module with a number of virtual equipment software. After that, he/she can configure the remote real equipments to get hands-on experience. Any time, he/she can ask questions in Communion Platform to teachers. At last, he/she has to submit experimental report to corresponding course. A teacher user accesses the lab in the same way with student user. He/She can add, delete or update experimental documents in corresponding course, comment the experimental reports, and answer the questions in Communion Platform. Manager of the virtual lab takes charge of managing all in the lab, including Web service, real equipments, virtual simulation software, Flash, Java Applet, Communion Platform, courses and user management. Furthermore, manager has to deal with the problems about physical connection and failures. VII. CONCLUSION This paper in detail designs and implements a computer networking virtual laboratory to aid students learning of the essential principles of computer networking. Our results show that this lab can enable more students to be exposed to a comprehensive laboratory experience and increases the involvement of teaching staff into laboratory instruction. As mentioned earlier, this lab provides a technological basis for Interactive Distance Laboratory Education. It releases some of

the time, space, work force, safety and economic constrains that a traditional physical laboratory imposes on educational institutions. Based on the proposed virtual lab, our developments results can be extended to support other remote laboratories, either in engineering or science fields. We are currently using virtual lab in a computer networking course. There are many positive feedbacks from students and teachers. This equivalence is also demonstrated by analyses of scores on exam questions involving specific lab content. That is a great encourage to our work. VIII. FUTURE WORK More research is planned to complete the lab. We will develop networking management, networking security and multimedia networking into our lab to content the need of graduated students. ACKNOWLEDGMENT The authors would like to thank LIANG Wen and XU Bo for their help in lab development, and thank students and teachers for their help in using the lab and testing the experiments. REFERENCES
[1] [2] D. T. Joyce, A virtual lab to accompany CS1 and CS2, ACM SIGCSE Bulletin, vol. 22, no. 1, pp. 4043, Feb. 1990. S. E. Poindexter and B. S. Heck, Using the web in your courses: What can you do? what should you do? IEEE Control Systems Magazine, Feb. 1999. Rajkumar Buyya, Kim Branson, Jon Giddy and David Abramson, The Virtual Laboratory: Enabling Molecular Modeling for Drug Design on the World Wide Grid, Concurrency and Computation: Practice and Experience, USA, Vol 15, pp. 1-25, January 2003 R. Subramanian and I. Marsic, ViBE: Virtual Biology Experiments, in Proceedings of the Tenth International World Wide Web Conference (WWW10), 2001. A. Clausen and A. Spanias, An Internet-based Computer Laboratory for DSP Courses, in Proceedings of the ASEE/IEEE Frontiers in Education Conference, 1998. L. Fabrega, J. Massaguer, T. Jove and D. Merida, A Virtual network laboratory for learning IP network, in Proceedings of the 7th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE02), 2002. A. Ferrero and V. Piuri, A Simulation Tool For Virtual Labortary Experiments in a WWW Environment, IEEE Transactions on Instrumentation and Measuerment, 48(3), 1999, 741746. Arjun Cholkar, A Web-based Distributed Network Simulation Framework using CORBA IDL-based APIs, Winter Simulation Conference 2000, Phoenix, December 1999. James F. Kurose, Keith W. Ross, Computer Networking, A Top-Down Approach Fearturing the Internet, 3rd ed, 2005.

[3]

[4]

[5]

[6]

[7]

[8]

[9]

Authorized licensed use limited to: NMAM Institute of Technology. Downloaded on August 12,2010 at 10:51:12 UTC from IEEE Xplore. Restrictions apply.