This is a series of laboratory exercises designed for use in data communication, computer networking and telecommunication courses. These labs enable students to experiment with various communication protocols and concepts using a workstation, a PC or a network of workstations. The students are able to design protocols, implement them in a simulation environment and graphically and quantitatively analyze their performance. The software is available for free download and runs on HP workstations, Sun Workstations, and PCs with UNIX, Linux, or windows operating systems. This project was funded by NSF CISE Educational Infrastructure.
Each lab has a student handout. It allows students to understand the lab and know what is required to design; a demo, which is executable and demonstrates the lab; some source codes for students to finish; some configuration files for different network configurations; a Makefile and components of the lab which does not need to be modified.
There are nine labs in this series:
Lab1: Interlayer Communication
In this lab, the students are introduced with the basic concepts of the network layered architecture. They learn how to use primitives in interlayer communications. This lab also serves as an introduction to the programming environment and graphical interface used in the other labs.
Handout: Adobe Acrobat format ( 133,333 Bytes) | Compressed Latex file & figures (44,312 Bytes)
Lab 2: Sliding Window Protocol and Go-back-N ARQ
In this lab, students develop a simple data link layer that performs flow control using the sliding window protocol, and loss recovery using the Go-back-N mechanism. After experimenting with the demo version, they write the code to implent Go-back-N mechanism.
Handout: Adobe Acrobat format ( 156,075 Bytes) | Compressed Latex file & figures (46,901 Bytes)
Lab 3: CSMA/CD Media Access Control, Ethernet(IEEE 802.3)
In this lab, the students experiment with CSMA/CD Media Access Control(MAC) protocol (IEEE 802.3). They experiment with the MAC layer, and focus on the following concepts : collision detection, jam pattern transmission, waiting time. In particular they implement a collision and back-off/retransmission algorithm. The graphical interface helps to better visualize the collision event, as the central concepts in the MAC protocols.
Handout: Adobe Acrobat format ( 126,492 Bytes) | Compressed Latex file & figures ( 19,785 Bytes)
Lab 4: Token Ring Network
This lab permits to experiment with Token Ring (IEEE 802.5) protocol. Among lots of features of Token Ring protocol this lab is mainly focused on three of them: One Bit Delay, Priority Stack, and Simple Token management. The goal of this lab is to understand the Token Ring mechanism and to implement one bit delay, priority stack and simple token management of Token Ring.
Handout: Adobe Acrobat format ( 145,651 Bytes)| Compressed Latex file & figures ( 40,329 Bytes)
Lab 5: Transparent Bridge
This lab helps to understand the features of Transparent Bridges. More precisly it deals with :
Students experiment with different network configurations that help to understand the transparent Bridge features. In a second phase they have to write the needed code that implement those features.
Handout: Adobe Acrobat format ( 138,275 Bytes) | Compressed Latex file & figures (9,968 Bytes)
Lab 6: Internet Protocol (IP)
In this lab, the main concepts are IP fragmentation and reassembly. Students are given the skeleton of the module and several functions to be used with. They experiment their module with six configurations, varying maximum transmission unit, link delays and link errors respectively. This lab helps the student to better understand the behavior of the networking layer in complex networks composed of different link layers. The best example is the Internet itself.
Handout: Adobe Acrobat format (196,187 Bytes) | Compressed Latex file & figures (50,334 Bytes)
Lab 7: Transport Control Protocol (TCP)
This lab focuses on congestion control and reliable transmission mechanisms in TCP. The students design, implement and experiment with the following mechanisms: slow start, time out and retransmission, congestion avoidance, and fast retransmit and recovery mechanisms.In order to understand better these concepts, the students experiment with several configuration that simulate different errors and congestion conditions.
Handout: Adobe Acrobat format (166,908 Bytes) | Compressed Latex file & figures (21,349 Bytes)
Lab 8: Leaky Bucket Algorithm (Traffic Management)
The goal in this lab is to understand the Generic Cell Rate Algorithm (GCRA) for ATM networks and the token bucket algorithm. The students design and implement the token bucket algorithm and experiment it with the token rates for a variety of traffic sources. The lab helps the students to understand one aspect of traffic management, which is an important function in high speed networks.
Handout: Adobe Acrobat format (141,879 Bytes) | Compressed Latex file & figures (55,742 Bytes)
Lab 9: ATM PNNI Routing
The students design, implement and experiment with a simplified version of the PNNI Routing protocol. They implement the Hello protocol, the flooding of PNNI Topological State messages, and topology summarizing by peer group leaders nodes. The lab helps the students to understand the hierarchical organization of an ATM network, and how each node learns and represents this network topology.
Handout: Adobe Acrobat format (164,002 Bytes) | Compressed Latex file & figures (43,020 Bytes)