The cnet network simulator (v1.6)
Keywords: network simulator simulation protocol undergraduate teaching

The cnet network simulator (v1.6) enables experimentation with various data-link layer, network layer, routing and transport layer networking protocols. It has been specifically developed for, and used in, undergraduate computer networking courses taken by thousands of students since 1991. At The University of Western Australia, cnet is used primarily in Chris McDonald's Computer Networks (IT312) undergraduate unit.

cnet runs on a variety of UNIX and Linux platforms. It does not run on either Windows or the Apple Macintosh. The original and most up-to-date version of this documentation remains at www.cs.uwa.edu.au/cnet/.

### Further information available from here:

- An introduction to cnet (with some screenshots).
- Topology files, node attributes and link attributes.
- The event driven programming style.
- cnet's layers and functions.
- cnet's many command line options.
- cnet's node types, event types, and error types.

- cnet Frequently Asked Questions.

- Obtaining and installing cnet.

### Acknowledgments

The following people have generously offered suggestions, pieces of code, and acted as testers, as cnet has developed over the years. A big thanks to them all: Dr Greg Baur (University of Western Kentucky), Prof. Bruce Elenbogen (University Michigan-Dearborn), Prof. John Hine (University of Wellington, New Zealand), Dr Chris Johnson (The Australian National University), Dr David Laverell (Calvin College, Michigan), A/Prof. Phil MacKenzie (Boise State University, Idaho), Prof. Jeff Ondich (Carleton College, Minnesota), Dr Chris Pudney (The University of Western Australia), Dr Mike Robins (SMR Electronics Pty Ltd), Prof. James Wilkinson (College of Charleston, South Carolina), and my 1300 undergraduate students at The University of Western Australia and Dartmouth College who have always been able to find the last bug. |
Links2Go #5 Simulation Models

| cnet has been selected by William Stallings to complement the material in his text Data and Computer Communications, 6th ed., published November 1999 by Prentice-Hall (Copyright 2000, 810 pp., ISBN 0-13-084370-9). If you can demonstrate that you are a member of academic staff somewhere (business card, FAX on University letterhead, or official Web page), I'll email some more detailed examples to you - ones that may typically be set for student projects.

If you decide to use cnet in the teaching of an undergraduate course, or need some more info on how to, please let me know. I'd like to keep a record of sites using cnet and the types of examples and projects being attempted. I'll also be able to keep you informed of updates. Examples of some large projects, such as those written by Aric Stewart and Leema Kuhn and Robert Anderson (all supervised by Prof. Jeff Ondich), are sought.

### References

[McD91]
  A Network Specification Language and Execution Environment for Undergraduate Teaching, C.S. McDonald, Proc. of the ACM Computer Science Education Technical Symposium '91, San Antonio, Texas, Mar 1991, pp25-34.
[McD93]
  Network Simulation Using User-level Context Switching, C.S. McDonald, Proc. of the Australian UNIX Users' Group Conference '93, Sydney, Sept 1993, pp1-10.
[McD96]
  Teaching Computer Networking Principles Using Simulation
  Handouts from Chris McDonald's ACM-SIGCSE'96 workshop (compressed to 320K).

cnet was written and is maintained by Chris McDonald (chris@cs.uwa.edu.au)