How easy it is to connect the simulator to a Web front end?
Mininet provides a python API so if we are running a python server we can easily connect the mininet simulator to the front end. Each change on the front end will trigger a call to the python API of the mininet and the result will be sent back to the front end. If we are running other scripting languages we will need to spawn a child process and interact with the child process as we cannot directly use mininet using other scripting languages, thus adding overheads.
The second option is to have a mininet virtual server running, and making ssh calls from the server to interact with it. In this approach we have a proxy server between mininet and the web interface. We can have any scripting language running on the proxy server. This proxy server will have an ssh connection established with the mininet server. Thus changes to the front end are handled by the proxy server and the actual network simulation will exists on the mininet virtual machine.
|Will work well when we have python as a server side script||If not a python server will add overheads|
|Using a proxy server and using ssh to access a separate mininet vm server will work well with other scripts|
Making granular network configuration
Mininet allows a lot of flexibility as all the network elements except the hosts have to be implemented by the user using the controller. Mininet does not support actual routers. It is build for SDN and we can make switches act as routers by adding the required functionalities using the controller. Code has to be written to simulate each and every feature of the router. Protocols like ARP, ICMP and RIP will have to be implemented. One advantage of mininet is that it allows configuring low level configuration such as link parameters. All the hosts will be running the same linux system so if a system parameter is changed in one it get reflected in all, i.e., we cannot have hosts with different OS parameters. For example different hosts cannot have different default dns as the linux subsystem is shared.
Mininet is an open source software that allows us without limitation the rights to use, copy, modify, merge, publish, distribute, sub-license, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so.