About the Project
Teaching in data networks here at the computer science department of the University of Applied Sciences Darmstadt (h_da), and potentially also at many other Universities, relies on practical training units, known as lab exercises, in order to transfer the knowledge from a purely theoretical domain into practical application. Typical examples are the design of IP subnetworks, the configuration of the IP addresses, selecting a routing protocol, configuration of the routing protocol, and the observation of the actual operations of the setting.
In the past, these practical exercises were performed on vendor specific hardware and in most occasions relied solely on the configuration and operation of such. The students learned about how to configure a vendor device and its limitation, but any hands-on insights into the devices were not possible. For instance, there is no chance to inspect the source code of the routing protocol or any part of the forwarding of datagrams.
Since a while a number of emulation or simulation approaches to work with routers and complete networks are used in teaching, such as Cisco's PacketTracer or GNS3. However, in all cases you rely on the approach taken by the producers of such tools and the resulting potential overhead.
We are trying to design a small router that is well-documented and useable for our teaching from the beginners Bachelor level up to the last year of the Master courses: the da/net edurouter.
The current approach is exploring a FreeBSD-based solution with jails as containers.