0% found this document useful (0 votes)
25 views

Projects DCC10e

Uploaded by

Hossam Reda
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Projects DCC10e

Uploaded by

Hossam Reda
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

PROJECTS MANUAL

DATA AND COMPUTER


COMMUNICATIONS
TENTH EDITION

WILLIAM STALLINGS

Copyright 2014: William Stallings


Copyright 2014 by
William Stallings

All rights reserved. No


part of this document
may be reproduced, in
any form or by any
means, or posted on
the Internet, without
permission in writing
from the author.

-2-
TABLE OF CONTENTS

Part One Animation Assignments ................................................ 4  


Part Two Practical Exercises ....................................................... 6  
Part Three Sockets Programming Projects ................................... 7  
Part Four Wireshark Programming Projects .................................. 8  
Part Five Simulation Projects ..................................................... 9  
Part Six Performance Modeling Projects ....................................... 10  
Part Seven Research Projects..................................................... 11  
Part Eight Reading/Report Assignments ....................................... 14  
Part Nine Writing Assignments ................................................... 15  
Part Ten Discussion Topics ........................................................ 17  

-3-
Unless otherwise noted, all the folders and documents referenced in this
manual are at the password-protected online Instructors Resource Center
(IRC) for this books.

PART ONE ANIMATION ASSIGNMENTS


Animations provide a powerful tool for understanding the complex
mechanisms of network protocols. Over 150 online animations are provided
covering a wide range of topics from the book. An icon at the beginning of
many chapters indicates that supporting animations are available to enhance
the student's understanding. Of these, 17 Web-based animations are used to
illustrate protocol behavior (Table 1). Each animation allows the users to
step through the operation of the protocol by selecting the next step at each
point in the protocol exchange. All of the animations are available via the
Premium Web site for this book.
The animations can be used in two ways. In a passive mode, the
student can click on the animation and watch as the given concept or
principle is illustrated. Because the animations enable the user to set initial
conditions, they can also be used in an active mode. Thus, the animations
can serve as the basis for student assignments. The IRC for this book
includes a set of assignments, one for each of the 17 animations. In each
case, the student is told to enter several sets of initial conditions and
analyze and compare the results. The initial conditions have been chosen so
that the animation will better illustrate the underlying principles.
Note that all of the animations can be run online, or offline as
downloaded Java programs. The offline versions have more capability and
features.
All of the documentation and support material are contained in the
folder Animation-Projects in the IRC, which contains two folders:

-4-
• AnimationAssignments contains 17 documents, each containing the
instructions for the student for one of the animations.
• AnimationAnswers contains expected answers to be provided by the
student.

Table 1 Animations Directory


Chapter 2 Protocol Architecture
Protocol Stack
Trivial File Transfer Protocol Simulator

Chapter 7 Data Link Control


Alternating Bit Protocol Simulator
Abracadabra Protocol Simulator
Sliding Window Protocol (3-Column) Simulator
Sliding Window Protocol (5-Column) Simulator

Chapter 8 Multiplexing
Multiplexing

Chapter 12 Ethernet
CSMA/CD

Chapter 14 Internet Protocol


IP Simulator
Boot Protocol Simulator

Chapter 15 Transport Protocols


TCP Client/Server Simulator
TCP Peer-to-Peer Simulator
UDP Simulator

Chapter 20 Congestion Control


TCP Congestion Control Simulator

Chapter 21 Internetwork Operation


Multicasting

Chapter 24 Electronic Mail, DNS, and HTTP


SMTP Simulator
HTTP Simulator

-5-
PART TWO PRACTICAL EXERCISES
The IRC includes Web pages that provide a set of practical exercises for an
introduction to the use of IP over a LAN. The exercises follow one another
naturally; each exercise builds on the experience of the previous exercises.
They do not however need to be attempted one after another. The four
exercises may more easily be done on four separate occasions. The practical
exercises are designed to help the student understand the operation of an
Ethernet LAN and an IP network. The exercises involve using simple network
commands available on most computers. About an hour is needed to
perform all four exercises. The exercises cover the following topics: your
own network connection, computers on your LAN, computers on remote
networks, and the Internet.
This set of exercises assumes that student has access to a computer
connected to an Ethernet LAN, which in turn is connected to the Internet.
The exercises are contained in the folder Practical-Exercises in the IRC. To
use, simply upload the entire folder to your Web site and provide students to
a link to the index.html page.
The exercises were developed by Gorry Fairhurst - Department of
Engineering, University of Aberdeen, Scotland. You can either load

-6-
PART THREE SOCKETS PROGRAMMING
PROJECTS
The book includes a description of Sockets programming in Chapter 2. The
IRC includes a set of programming projects. Sockets programming is an
"easy" topic and one that can result in very satisfying hands-on projects for
students. The folder SocketsProjects contains a list of programming
projects to be assigned, together with one possible C solution for each
project.

-7-
PART FOUR WIRESHARK PROGRAMMING
PROJECTS
Wireshark, formerly known as Ethereal, is used by network professionals
around the world for troubleshooting, analysis, software and protocol
development, and education. It has all of the standard features you would
expect in a protocol analyzer, and several features not seen in any other
product. Its open source license allows talented experts in the networking
community to add enhancements. It runs on all popular computing
platforms, including UNIX, Linux, Mac, and Windows.
Wireshark is ideal for allowing students to study the behavior of
protocols, not only because of its many features and multiplatform
capability, but also because students may subsequently use Wireshark in
their professional life.
The IRC includes a Student User's Manual and a set of project
assignments for Wireshark created specifically for use with Data and
Computer Communications. All files are in the folder
WiresharkExerciseSet.
There is also a very useful video tutorial that introduces the student to
the use of Wireshark. The tutorial is available in a variety of formats in the
folder WiresharkVideoTutorial.

-8-
PART FIVE SIMULATION PROJECTS
An excellent way to obtain a grasp of the operation of communication
protocols and network configurations, and to study and appreciate some of
the design tradeoffs and performance implications, is by simulating key
elements. A tool that is useful for this purpose is cnet.
Compared to actual hardware/software implementation, simulation
provides two advantages for both research and educational use:

• With simulation, it is easy to modify various elements of a network


configuration or various features of a protocol, to vary the performance
characteristics of various components and then to analyze the effects of
such modifications.
• Simulation provides for detailed performance statistics collection, which
can be used to understand performance tradeoffs.

The cnet network simulator [MCDO91] enables experimentation with


various data link layer, network layer, routing and transport layer protocols,
and with various network configurations. It has been specifically designed for
undergraduate computer networking courses and used worldwide by
thousands of students.
The cnet simulator runs under a variety of UNIX and Linux platforms.
The software can be downloaded from the cnet Web site. It is available at no
cost for noncommercial use.
Professor Chris McDonald at the University of Western Australia
developed the cnet simulator. Professor McDonald has developed a Getting
Started Manual and a set of project assignments specifically for use with
Data and Computer Communications. These documents are contained in the
folder CNET in the instructor's supplement.
-9-
PART SIX PERFORMANCE MODELING
PROJECTS
An alternative to simulation for assessing the performance of a
communications system or networking protocol is analytic modeling. As used
here, analytic modeling refers to tools for doing queuing analysis, as well as
tools for doing simple statistical tests on network traffic data and tools for
generating time series for analysis.
A powerful and easy-to-use set of tools has been developed by
Professor Kenneth Christensen at the University of South Florida. His tools
page contains downloadable tools primarily related to performance
evaluation of computer networks and to TCP/IP sockets programming. Each
tool is written in ANSI C. The format for each tool is the same, with the
program header describing tool purpose, general notes, sample input,
sample output, build instructions, execution instructions, and author/contact
information. The code is documented with extensive inline comments and
header blocks for all functions. The goal for each tool is that it can serve as
a teaching tool for the concept implemented by the tool (and as a model for
good programming practices). Thus, the emphasis is on simplicity and
clarity. It is assumed that the student will have access to a C compiler and
have at least moderate experience in C programming.
Professor Christensen has developed a Student User's Manual and a set
of project assignments specifically for use with Data and Computer
Communications and available in the folder Tools in the instructor's
supplement. The software can be downloaded from the tools Web site. It is
available at no cost for noncommercial use.

-10-
PART SEVEN RESEARCH PROJECTS
A suggested project assignment form is available in the document
ProjectForm in the folder ResearchProjects. The form includes guidelines
for a final report and a set of slides. If the deliverable is slides, class time
should be set aside for each team to present its results.
If projects are assigned to teams rather than individuals, problems can
arise. A paper on this subject, in the document Team.doc included in the
folder ResearchProjects, might be useful to the instructor.
The research project will typically involve a web/library search and
analysis. It could also involve some implementation or measurement. Typical
questions that could be addressed with reference to technology X:

• What is X?
• What Standard governs X?
• How is X implemented?
• What is the cost of implementation?
• What companies are currently involved in this line of business?

One interesting project idea is contained in the document Group-


Project.doc in the folder ResearchProjects. Here are some other ideas for
research project topics:

-11-
Address Resolution (finding a path to Gigabit Token Ring
an address)
Analyzing the combination of TCP Group Work applied to Information
and ATM flow control. Systems
Asymmetric Digital Subscriber Lines HDTV
Audio transmission on a variable bit- High bit-rate applications - MPEG
rate channel. Echo control etc. encoding of video streams video
conferencing etc.
Automated Error Recovery Integrating Network Management
Information
Automated Network Management LAN Management
Systems
Broadband ISDN Mobile Computer Communication
Services
Call setup protocols Narrowband ISDN
Comparison of Rate-Based and EFCI Network Management - performance
flow control in ATM ABR schemes fault configuration accounting
security what needs to change for
higher bandwidths.
Congestion Control Network Management Protocols
Digital Voice Technologies Network Planning Modeling Computer
Networks
Encryption - fast hashing algorithms Performance Evaluation of High
adapt encryption to high bandwidth Speed Multiaccess Networks
Expert Systems in Network Real-Time Networks Embedded
Management Computer Systems and
Synchronizing real time flows (audio
and video)
Fiber Optics Technologies Traffic models - internal buffer size
requirements fractal modeling of data
traffic M/M/1 or M/D/1 queuing
models may not be sufficient for
data.
Firewalls Voice over IP
Gigabit Ethernet WWW filter/active agent

An alternative to focusing on a technical area and explaining or


analyzing the technical approach is to focus on products and vendors. A
possible wording for the project assignment, provided by Professor Larry
Kerschberg of George Mason University is:

-12-
Group Course Project: There will be a group "research" project to examine the state of the art
and practice of major companies that provide services and products to the data communications,
networking and distributed processing application communities. Groups will be formed during
the first class session. You should attempt to form a "balanced" group consisting of technical as
well as management-oriented students. You will work together to research a company, determine
the company’s market niche, assess their strategic vision, evaluate their products as per the topics
to be discussed in this course, and present a short paper and PowerPoint presentation to the class.
Each group will establish a Home Page that will be linked to our course Web site.
Your group may take a technical focus of a particular technology and survey those companies
providing that technology, or you may focus on a particular company, such as: Nortel-Bay
Networks, CISCO, FORTH, 3COM, HP, Hughes Direct TV,
AT&T, MCI, Worldcom, Sprint, Microsoft, Netscape, Portals on the Web (AOL, Yahoo!, Lycos,
Snap), Internet-based Marketeers, Network and Communication Systems Integration Firms,
Application of Communication Technology in Business, Electronic Commerce, etc.

-13-
PART EIGHT READING/REPORT
ASSIGNMENTS
Many professors like to assign papers for the students to review; this helps
to keep them aware that data and computer communications is a changing
field, and that the now-accepted wisdom was once un-formulated. I've
suggested some papers organized chapter, but there are many more good
ones.
The following is a suggested assignment wording:

Read and report on the following papers from the research literature. Your
report should be one to two pages long; three-quarters of the report should
summarize the paper, and one-quarter of the report should be a critique.
Introduce your report with a formal citation of the paper, using the format
found in the References section of the textbook.

You might also suggest to your students that they follow a format
roughly similar to that found at the Treasure Trove of Paper Summaries.
There is a link from my Computer Science Student Resource Site at
http://www.computersciencestudent.com) under the Other Useful tab. Of
course, then you must check that they don't use one of the online
summaries!
The suggested papers are in the document DCC10eReading.doc included
in the IRC. All of the papers listed in this document are in the folder
DCC10ePapers at box.com/DCC10e.

-14-
PART NINE WRITING ASSIGNMENTS
Writing assignments can have a powerful multiplier effect in the learning
process in a technical discipline such as cryptography and network security.
Adherents of the Writing Across the Curriculum (WAC) movement
(http://wac.colostate.edu/) report substantial benefits of writing
assignments in facilitating learning. Writing assignments lead to more
detailed and complete thinking about a particular topic. In addition, writing
assignments help to overcome the tendency of students to pursue a subject
with a minimum of personal engagement, just learning facts and problem-
solving techniques without obtaining a deep understanding of the subject
matter.
The suggested assignments are in the document DCC10eWriting.doc,
organized by chapter. Instructors may ultimately find that this is the most
important part of their approach to teaching the material. I would greatly
appreciate any feedback on this area and any suggestions for additional
writing assignments.
The following suggestions for using a variety of writing assignments are
taken from "Writing Assignments: Pathways to Connections, Clarity,
Creativity", R. Brent and R. Felder, College Teaching, 40(1), 1992.

• Don’t set out to do it all at once. Start by trying one or two of the
suggested assignments that appeal to you; then gradually add new ones
to an extent that seems appropriate and comfortable.
• Clearly relate the assignments to the course content, and be sure
students understand the connections.
• When you decide to use a particular type of assignment (e.g.,
brainstorming, critical question generation, problem formulation), try it

-15-
at least three times. The first time that you ask students to do
something unfamiliar they are likely to ignore you, as though not
believing anyone could want them to do anything that bizarre. The
second time they will take the assignment seriously, but many will miss
the point. By the third time, you will start to see the sought-after
results.
• All of the given writing exercises may be completed in or out of class. In
either case, set aside class time for brief sharing and discussion of the
responses in groups of three to five. Such discussions expose the
students to a wider variety of ideas than most could have thought of
individually and reduce or eliminate the need for the instructor to read
and critique all the papers.
• Many of the suggested assignments require no feedback from the
instructor; the process is more important than the product. But for
those assignments that do result in a product (make up a problem,
develop critical questions), make sure that the students get constructive
feedback on their initial efforts, including suggestions on how they could
have done it better.
• The feedback may come from you (initially it will have to), but the
students may also provide it to one another after they have gained
some experience and understand the object of the exercise.
• Ask students to evaluate particular assignments and the writing
experience as a whole. Make changes in assignments that do not seem
to be accomplishing their objectives.
• Write articles about assignments that work particularly well so that
other teachers can get the benefit of your experience.

Some useful articles that give guidelines in this area are contained in the

folder WritingArticles.

-16-
PART TEN DISCUSSION TOPICS
One way to provide a collaborative experience is discussion topics. Each
topic relates to material in the book. The instructor can set it up so that
students can discuss a topic either in a class setting, an online chat room, or
a message board. Again, I would greatly appreciate any feedback on this
area and any suggestions for additional discussion topics.
The following are suggested discussion topics.

1. The sampling theorem, introduced in Chapter 5, states that if a signal


f(t) is sampled at regular intervals of time and at a rate higher than
twice the highest signal frequency, then the samples contain all the
information of the original signal. The function f(t) may be
reconstructed from these samples by the use of a lowpass filter. In
Chapter 3, we introduced Nyquist's formula, which states that if the
rate of signal transmission is 2B, then a signal with frequencies no
greater than B is sufficient to carry the signal rate. Discuss the
relationship between these two concepts and the proofs of these two
concepts.
2. The Internet checksum, used in TCP, IP, and some other protocols, is
described in Appendix P. An alternative checksum, which is used in
the ISO transport protocol, is the Fletcher checksum. This checksum
is documented in the references listed below. Discuss the details of
the two checksums and their relative advantages and disadvantages.
3. Section 20.5 briefly describes active and passive techniques for IP
performance measurement. Further research these two approaches.
Discuss their relative advantages and disadvantages. Discuss their
applicability in terms of the network conditions for which each is
most appropriate and in terms of the objectives and requirements of
-17-
the measurement function for a particular network management
environment.

References:

COCK87 Cockburn, A. " Efficient Implementation of the OSI Transport-


Protocol Checksum Algorithm Using 8/16-Bit Arithmetic." ACM Computer
Communications Review, July 1987.

FELD95 Feldmeier, D. "Fast Software Implementation of Error Detection


Codes." IEEE/ACM Transactions on Networking, December 1995.

FLET82 Fletcher, J. "An Arithmetic Checksum for Serial Transmission."


IEEE Transactions on Communications, January 1982.

NAKA88 Nakassis, A. "Fletcher's Error Detection Algorithm: How to


Implement It Efficiently and How to Avoid the Most Common Pitfalls."
ACM Computer Communications Review, October 1988.

-18-

You might also like