The University of Western Australia
Department of Computer Science
Information Technology 312 - Computer Networks

The cnet Users' Manual


cnet is a network simulator which enables experimentation with data-link, network (routing), transport and session layer protocols. The simulator requires protocols to be written in the ANSI-C programming language and supports their execution within a single UNIX process.

With reference to the OSI/ISO Networking Reference Model, cnet provides the Application and Physical layers. Your protocols are required to ``fill-in'' any necessary internal layers and, in particular, to overcome the corrupted and lost frames that cnet's Physical Layer randomly introduces.

When running under the X-window system, cnet provides an intuitive graphical representation of the network under execution and permits a number of attributes of the network to be modified while the simulation is running. cnet also runs on standard ASCII terminals (rather less visually) if you find a shortage of workstations or X-terminals. You do not need to write any windowing code in your protocols.

Network protocols must be written in ANSI-C and are executed by cnet itself - not interpreted. Because cnet must dynamically link compiled versions of your protocols at run-time, cnet performs all necessary compilation and linking. You do not compile or link your protocols yourself, nor use make to do it for you. Invoking cnet with a valid topology file (described later) will perform all necessary compilation and linking before commencing the simulation.

1. The cnet Networking Model

2. cnet Network Topology Files

3. The Event Driven Programming Style

4. The cnet Model of Networking - Nodes

5. The cnet Model of Networking - Links

6. Executing cnet under X-windows

7. Getting Output From Each Node

8. Debugging Your Protocols

9. More Information and Some Examples


Written by Chris McDonald at the University of Western Australia
HTMLized by Drew Johnson, October 5, 1995 at Carleton College.