Student Projects in Computer Networking: Simulation Versus Coding
Student Projects in Computer Networking: Simulation Versus Coding
versus Coding
Leann M. CHRISTIANSON
California State University, East Bay
Department of Mathematics and Computer Science
Hayward, CA 94542-3092, USA
and
Kevin A. BROWN
California State University, East Bay
Department of Mathematics and Computer Science
Hayward, CA 94542-3092, USA
ABSTRACT
In this paper, we discuss the advantages and paper, we consider the pros and cons of using network
disadvantages of using network simulators to teach simulators to teach computer networking concepts versus
networking concepts versus having students write having students write programs. The authors have experience
programs. The authors have experience developing developing laboratory exercises for classroom use in both
laboratory exercises for classroom use in both realms [1-3]. Issues that impact the development of effective
realms. Two case studies, TCP versus UDP protocol networking assignments are presented along with case studies
performace, and routing algorithm convergence are and student feedback.
described. For both studies, students either wrote a
program that implemented the protocols being tested Computer networking is an integral part of computer
or created a simulation using the OPNET Modeler science education today. Creating practical and compelling
package. Issues specific to these projects are student assignments in networking, however, is challenging.
discussed. Student opinion reflected that simulation This is due to the fact that networking concepts and algorithms
software allows more focus on the performance of often involve many entities or are designed to work in
the protocol and visualization of results. environments that are not readily available for classroom use.
Programming, though viewed by students as more Some of the issues to consider when designing computer-
difficult, allows them to practice and gain skills that networking exercises are listed below:
will be useful in their future careers. The authors feel
that a balance of both programming and simulation a. Many protocols differ in how they respond to
activities is the best practice. corruption, errors, and loss, which occur
uncommonly and inconsistently in real networks
Keywords: Simulation, network, teaching, OPNET making replication of results difficult.
b. The performance of data-link layer algorithms may
only be apparent under high load which may
1. Introduction negatively impact other users of the network.
c. The differences in the performance of transport
When teaching computer networking it is algorithms may only be apparent if the transmitter and
important to design activities for students that receiver nodes are separated by large distances or if a
illustrate the concepts covered in lecture. In this large number of machines are linked to the network.
d. Routing algorithms require communication servers with which to interact (e.g., to test a student
with tens to hundreds of other nodes. web client).
e. Security concerns within a university may f. Super-user access may be needed to use commands
make it difficult to provide access to live that report on network performance
g. Much network code is at the kernel-level generators may be used to emulate load, but inducing errors,
requiring recompilation of the kernel in loss and excess delay is a nontrivial enterprise. Since many
order to modify. algorithms require communication with many nodes over a
distance, they would necessarily rely on the traffic, error, and
Computer networking algorithms are complex, loss patterns seen in the Internet. These patterns are by no
therefore, it is beneficial to provide more than a means reproducible.
description and explanation of them in a lecture
setting. Students often learn more by experimenting Simulation software as an alternative to programming
on their own, by poking and prodding an algorithm to offers many benefits. Sophisticated simulation software
see how it reacts to different stimuli. The ability to allows for rapid construction of both wide and local area
experiment may be provided in (at least) two ways. networks, intermediary, and host nodes. Protocols can be
Students can be supplied with a simulation easily interchanged and tested. Large distances and multiple
environment, or they can be asked to implement an nodes can be simulated and errors, losses, and delay rates can
algorithm themselves and run it on real machines. be defined to follow a chosen distribution pattern. This allows
for reproducible results. Simulation software applications do
2. Simulation Versus Programming not require super user access or a dedicated lab. Students can
experiment without administrative fear of a compromised
In the computer networking area, as in much network. Timeliness is also a factor as long time periods
of Computer Science, it is not considered sufficient to (hours and weeks) can be simulated much more quickly than
simply teach the theory of a concept. Computer experimenting in real time.
Science may be considered engineering, and as such,
Computer Scientists should be able to apply what There are negative aspects of using simulation
they learn by building an artifact or program which software as well. Valuable class time will need to be spent
embodies the concept. In much the same way that a learning how to use the software. Some simulation
person who builds an automobile will have a better applications do not allow the user to modify all simulation
understanding of its workings than a person who only entities. This means that it might be impossible to demonstrate
knows how to drive it, our students will understand a particular event such as a pattern of movement of mobile
algorithms more deeply by implementing them. In nodes for example. Additionally, simulation results will
addition, undergraduate students should be given depend on the simulation model which may not accurately
every opportunity to improve their coding and widen reflect real traffic patterns. Cost, support, and license
the application of their skills. management of simulation software will also need to be
considered. Lastly, and most important, the students will not
There are many practical considerations in gain experience writing actual networking code and interacting
computer networking, however, which may preclude with live standards-based servers.
a project’s successful creation and testing in a real
environment. Even with a completely dedicated
network laboratory in which students are given super- 3. Case Study: TCP Versus UDP
user access, many experiments may not be conducted
due to the need for additional nodes at a distance to The effect of packet size on Transmission Control
act as correspondents. Without a dedicated lab, Protocol (TCP) and User Datagram Protocol (UDP) round-trip
students may be unable to modify network algorithms delay is a concept presented in most beginning network
residing in the kernel. Due to security concerns, courses. We have assigned this exercise as both a simulation
students may not be able to run network interfaces in and a programming assignment. Using simulation software
promiscuous mode in order to monitor packet arrivals such as OPNET Modeler [4], students can easily “drag and
on the local LAN. drop” networking components to a workspace to create a
network model. Components can be linked together using a
Testing algorithms presents another issue. variety of link speeds, and nodes can be configured to use the
Even within a dedicated lab, it is nearly impossible to TCP or UDP protocol via drop down menus. Figure 1
exactly duplicate the conditions that would be illustrates a wide area network with a File Transfer Protocol
required in order to evaluate an algorithm such that (FTP) client and FTP server. A base packet size and traffic
all students would see identical results. Traffic pattern can be configured from a list of options. The end
nodes can be configured with a drop-down menu to use TCP or
UDP packets when simulating a file request.
4. Conclusion
We have discussed the advantages and
disadvantages of simulation versus programming for
activities were described: the first, compares the
round-trip packet delay time for both TCP and UDP
protocols, the second looks at routing protocol
convergence time. For both studies, students either
wrote a program that implemented the protocols
being tested or created a simulation using OPNET
Modeler. Student opinion reflects that simulation
software allows more concentration on the
performance of the protocol and allows for an easier
visualization of results. With simulations, students
are more apt to “play” with their simulations and
experiment beyond the bounds of the assignment.
Programming, though viewed by students as more
difficult, allows them to practice and gain skills that
will be useful in their future careers. The authors feel
that a balance of both programming and simulation
activities is the best practice.
5. References
[1] Christianson and Brown, OPNET Lab
Manual to Accompany Business Data
Communications by William Stallings, 5th
Edition, Pearson Prentice Hall 2005.
[2] Brown and Christianson , OPNET Lab
Manual to Accompany Data and
Computer Communications 7th Edition
and Computer Networking with Internet
Protocols and Technology, 4th Edition, by
William Stallings, 5th Edition, Pearson
Prentice Hall 2005.
[3] Brown and Christianson, Networking
Lab Exercise for The Networking and Data
Communications Laboratory Manual,
edited by Frances S. Grodzinsky, published
by Prentice Hall.
http://www.prenhall.com/grodzinsky.
[4] OPNET IT Guru http://www.opnet.com