Examples of using MiniNAM to Visualize Mininet Networks
We provide three distinct network protocol examples to illustrate the usage of MiniNAM. These three examples are:
LOAD BALANCER: This example uses Ryu SDN controller to implement Server Load Balancing. This example is a part of Open-State SDN Project.
NAT: This example uses the simple linuxrouter example provided in Mininet to create a network with one NAT-enabled router connected to three switches.
ROUTING: Taken from Spanning Tree in Ryu conrtoller, this example creates a network with multiple paths between hosts. If a path is broken, the controller tries and updates the path, if possible.
For each example, two cases are provided. One with good and correctly working code and the other with some faulty logic. The good case demonstrates how MiniNAM can help in understanding or analyzing network concepts. The bad case shows how MiniNAM can be useful in debugging faulty network protocols.
Setting Up Examples
The easiest way to set up these examples is to download and use the pre-configured VM which includes all the tools and dependencies required to run these examples. (A link will be provided soon.)
To manually set up the examples, follow the instructions below:
Make sure you have Mininet installed on your machine.
Open terminal for h1 by right-clicking on it. Enter the following command:
h1# ./paping 10.0.0.2 -p 80 -c 20
This will send 20 pings to servers. The load balancing of servers can be monitored in MiniNAM with pings divided among three servers.
To check how many packets a certain server/node has sent or received, just hover the mouse over that node. Full statistics of all interfaces can also be seen by using 'Show interface Summary' in the Run menu.
Make sure that goodNAT.py and badNAT.py are in the same directory as MiniNAM binary.
Start MiniNAM with custom topology using goodNAT.py or badNAT.py: