mininet/mininet — pull request #195 by prasoontelang (2013-08-25 07:03:18+00:00)
Title: Multiple Network address Emulation in Mininet

Hi! Using the changes made in the source code of Mininet 2.0, the code I am submitting allows user to emulate multiple network addresses in Mininet. Please check the readme to see the usage.

As of now in Mininet 2.0, all systems that were emulated belonged to one network space (10.0.0.0/8 by default). Using the Mininet in my repository, the user can emulate not only one but many more network space (10.0.0.0/8, 11.0.0.0/8, 12.0.0.0/8, etc.).

User can also pass their own IP address of interest to a network for configuration. Commands in Mininet 2.0 also works in Mininet of this repo with no change in behaviour.

The hosts now are uniquely identified by hA1, hA2, hB1, hB2, etc. to distinguish the networks they belong using the alphabets. hA1 and hA2 belong to network space one, hB1 and hB2 belong to network space to and so on.

It also takes care of ip network collision such as, 10.0.0.0/8 and 10.0.100.0/24 belong to one network space. The program is immediately terminated on discovery of such overlaps.

This isn't a solution to any issue but just a feature I wanted to see in Mininet 2.0. Users can hence emulate routers inside Mininet 2.0 which can be used to study the concepts of packet transfer across 2 networks, Tunnelling, Dual stack support, etc. and also develop controllers for the same. It would allow users to emulate small organizations which has multiple networks differentiated by subnet.

Limitation:
1. There is no connectivity between multiple networks as of now. I didn't know how to implement a router/l3 switch to enable packet transfer and also where in the network should they be connected.

2. When program terminates, I see one-two network devices still active but not in use in Ubuntu when we click on network connections on top right. It keeps adding for every time I run. Right now I use "sudo network-manager service restart" to clear off such inactive devices.

3. All hosts need to set a default gateway to allow packet transfer outside their network. For that we need a router/L3 switch.

In case of any difficulty in understanding feel free to leave a mail to
prasoontelang@gmail.com
Bangalore, India