November 2007 (Vol. 8, No. 11) p. 5
1541-4922/07/$31.00 © 2007 IEEE
Published by the IEEE Computer Society
Published by the IEEE Computer Society
Teaching TCP/IP Hands-On
|Observing a live setup|
|A trace-based approach|
|Pros and cons|
PDFs Require Adobe Acrobat
TCP/IP Essentials: A Lab-Based Approach
Shivendra Panwar, Shiwen Mao, Jeong-Dong Ryoo, and Yihan Li
Cambridge University Press, 2004
Computer Networking: Internet Protocols in Action
John Wiley & Sons, 2005
Instructors often teach computer networking at the abstract level of protocol definitions, possibly combined with programming exercises concerned with using the socket interface to construct distributed applications. But there's an alternative. TCP/IP Essentials: A Lab-Based Approach, by Shivendra Panwar, Shiwen Mao, Jeong-Dong Ryoo, and Yihan Li, and Computer Networking: Internet Protocols in Action, by Jeanna Matthews, show how to create hands-on courses where students experience Internet protocols in action. However, the books take quite different approaches. Panwar and his colleagues emphasize the use of a lab containing an actual network setup, where students can see the effect of various configuration alternatives. Matthews, on the other hand, bases her course on the analysis of packet traces, which she provides on a CD that accompanies the book.
Observing a live setup
Panwar and his colleagues' lab-based approach provides wide coverage of networking technology in addition to the core Internet protocols. Each chapter starts with a description of the topic, followed by detailed instructions on how to perform experiments: the precise configuration of the eight-workstation experimental setup, exactly what commands to run, and what to record. This includes useful examples of things that go wrong: What happens if two machines are configured with the same IP address? How do routing tables change when RIP (routing information protocol) is used and a cable is disconnected and then reconnected?
A drawback is that you can't really read the book without doing the lab, and at times it seems rather fragmented. Although the book covers protocols and technologies well, it focuses on local configuration of the lab equipment and doesn't cover global protocols such as BGP (border gateway protocol). It does, however, include a chapter on multicast. The introductory chapter covers general setup, including Linux commands, the VI editor, and using floppy disks, which I would have delegated to an appendix.
A trace-based approach
Matthews claims that networking experiments have three parts—create the experimental setup, run measurements, and analyze them—and that most of the learning occurs in the third. So, the first two can be done just once to produce traces that other educators can use. This approach has the added benefits of completely avoiding expenditure on equipment and time for management and easily scaling up to large courses that are impossible to handle in a real lab setting.
In the introductory chapter, Matthews teaches the use of the Ethereal network protocol analyzer ( http://www.ethereal.com) to analyze traffic traces. Some details have changed with the software's current version, but these are minor. The following chapters present the Internet protocols, and you can cover them from either the top down or the bottom up. Each presents one or more traces, showing their analysis and encouraging you to follow along with Ethereal on your own, but you can learn a lot from the book itself. Matthews then gives some additional technical and discussion questions, which might require looking things up on the Web. The trace-based approach's main drawback is that the dynamic nature of the actions is lost. For example, you can't show routing tables at different stages of a trace of RIP activity or how disconnecting a cable triggers TCP retransmission attempts.
Pros and cons
Either book could complement a networking course based on classic series, such as W. Richard Stevens's "TCP/IP Illustrated" or Douglas Comer's "Internetworking with TCP/IP." Especially useful are the coverage of interactions between the protocols and the underlying hardware and the demonstration of how all the different protocols interleave and interoperate to produce the traffic that actually flows on the network. You could also use the books alone, but you need to consider carefully whether the coverage of the protocols' architecture and underlying principles is sufficient for you.
Both books focus exclusively on small-scale setups (Panwar and his colleagues specifically warn readers in cases where only one student should work at a time. Practically all of Matthews' traces were collected on what looks like a small home network, with a cable modem, a PC, and a laptop). Although this obviously eases the analysis, I would have liked to see some analysis of real traffic to let students appreciate the sheer magnitude and complexity of today's Internet activity.
I asked myself which book I would prefer as the basis for a course. Computer Networking: Internet Protocols in Action would probably win. Of course, this decision isn't necessarily objective and is due partly to my personal bias: I like looking at data and abhor system administration and configuration management. Another reason is the level of study. Matthews focuses on slightly more high-level behavior of the protocols, including things such as tunneling IPv6 over IPv4 and comparing WEP -enabled and -disabled wireless networks. Her book would provide a good introduction for students who are going to perform experimental networking research. At the same time, Panwar and his colleagues include more technical details, such as how to use NAT (network address translation) and how to configure various device options using Cisco IOS. If you're teaching students who will become network administrators rather than networking researchers, the course outlined in TCP/IP Essentials: A Lab-Based Approach will give them excellent hands-on experience.
Dror Feitelson is an associate professor in the Hebrew University's Department of Computer Science. Contact him at email@example.com.
Marcin Paprzycki, firstname.lastname@example.org, Archives page ( http://dsonline.computer.org/portal/site/dsonline)