Computer networking - practical exercises using the mininet emulator
Exercises
We currently have four non-trivial Java programming exercises, designed to reinforce the principles presented in the Computer Networking course.
- Reliable transport
This practical requires you to implement a reliable, sliding window transport protocol for transmitting data over a potentially lossy channel.
- Simple router
The objective of this exercise is to build a router that will forward packets between network segments based upon rules in the static routing table that you give it.
- Dynamic routing (PWOSPF)
After you have completed this exercise, you will no longer have to feed your router a static routing table, since it will be able to figure out routes itself.
- Net address translation (NAT)
The final two exercises build upon your simple router code, so you must complete that exercise before moving on.
Additional exercises are currently under development.
Infrastructure and library code
Java library functions (mahameru)
Downloads:
Test topologies (CaMT)
These are useful for
Acknowledgements
These exercises are minimal adaptations of those used in the Stanford CS144 computer networking course; the authors are endebted to the teaching staff at Stanford for making their work available.