All applets open in a new window. It is recommended that you maximize the window for best viewing.
Transmission versus Propagation Delay Applet (Chapter 1)
This simple applet illustrates one of the most fundamental concepts in computer networking: transmission delay versus propagation delay. Although this concept is discussed in detail in Chapter 1, an "interactive animation speaks a thousand words". You set the length of the link, the packet size, and the transmission speed; the applet shows the packet being sent from sender to receiver.
Queuing and Loss Applet (Chapter 1)
As we learned in Chapter 1, the most complicated and interesting component of end-to-end delay is queuing delay. In this applet, you specify the packet arrival rate and the link transmission speed. You'll then see packets arrive and queue for service. When the queue becomes full, you'll see the queue overflow--that is, packet loss. Enjoy!
Message Segmentation (Chapter 1)
With this interactive applet, you will see the effect of pipelining when a large message is chopped up into many small packets. There are four nodes: a source, a destination and two intermediate store-and-forward switches. Each packet sent from the source must be transmitted over three links before it reaches the destination.
HTTP Delay Estimation (Chapter 2)
This applet provides "back-of-the-envelope" visualizations and calculations for Web response times. You define the number of objects in the Web page, the round-trip time (RTT), whether persistent connections are used or not, and the number of parallel connections. The applet then does all the work!
Recursive/Iterative Queries in DNS (Chapter 2)
In Section 2.5 of the text the authors gave examples of recursive and iterative DNS queries. This DNS applet animates additional combinations of iterative and recursive queries among four name servers: a local name server, a root name server, an intermediate name server, and an authoritative name server.
Go-Back-N Protocol (Chapter 3)
This applet animates Go Back N, covered in Section 3.4 of the text. Go Back N provides reliable data transfer using 'cumulative' acknowledgments, a sending window size > 1, and a receiving window size = 1.
Selective Repeat Protocol (Chapter 3)
This applet animates Selective Repeat, also covered in Section 3.4 of the text. Selective Repeat provides reliable data transfer using 'selective' acknowledgments, and both sending and receiving windows sizes > 1. Compare and contrast this applet with the previous Go Back N applet.
Flow Control (Chapter 3)
This applet animates the interaction between the sending application, the TCP send buffer, the TCP receive buffer, and the receiving application. The receiving application reads chunks of bytes at random times. When the receive buffer becomes full, the TCP receiver advertises a receive window of 0. As described in the text, the sender then continues to send segments with one byte of data.
TCP Congestion Control (Chapter 3)
TCP congestion control is described in Section 3.7 of the text. In this applet you can view how TCP behaves when multiple clients are sending data over the same link.
IP Fragmentation (Chapter 4)
In this simple "calculator applet," you provide the datagram size and the MTU, and the applet returns information about the fragments that are derived from the datagram.
CSMA/CD (Chapter 5)
It provides important insights into random access protocols, animating the interaction between propagation delay and transmission time. Notice that at 10 Mbps, a single packet can monopolize the entire link for almost an eternity. Also notice that after a collision, the link can idle for an exceedingly long time before a node retransmits. You can learn a lot about CSMA by playing with the different parameters. Enjoy!
802.11 CSMA/CA WITHOUT Hidden Terminals (Chapter 6)
In this applet there is one access point and three mobile stations. By clicking on a station button, you instruct the station to emit a frame. Each station uses the CSMA/CA protocol. You'll be able to visualize the RTS/CTS sequence, the NAV, collisions, and the countdowns. In this version, all of the stations can hear each other's transmissions. The applet provides great insights into a complex protocol.
802.11 CSMA/CA WITH Hidden Terminals (Chapter 6)
This applet is similar to the previous applet, but now none of the mobile stations can hear the transmission of any other mobile station.
We want more applets!
Are you a good Java programmer? We encourage students from around the world to create and submit applets that animate networking concepts from the text. Your applet may animate a concept from the body of the text or from the homework problems. If your applet is bug-free, attractive, uses the terminology and notation in the text, and most importantly provides insight into a concept from the text, please submit it to the authors for possible publication in this companion web site. When submitting the applet, install it in a web page and send us the URL. In particular, it would be of interest to develop a simple, clean applet that illustrates CSMA collisions. Also, an applet illustrating the BitTorrent protocol would be welcome.
email@example.com and firstname.lastname@example.org