Live data from Hacker News

Mininet: Emulating a network on your laptop

mininet.github.com

11–20 of 33 posts

Re: Mininet: Emulating a network on your laptop

#12
I read some documentation and I don't think I entirely get the whole "emulate a network" thing. What can be done with that? What exactly is a network? What this project makes me think of is as if one would replace the internet with another substitute internet or intranet, but I don't think thats the case. Something that it makes me think of is the idea of downloading a website with something like sitesucker and then changing your host file so that you can browse the internet via saved pages on your computer. But I don't think that this Mininet project has anything to do with that. I'm interested in trying to "get-it" if anyone has a clearer more non-obscure definition of what this project entails.

Re: Mininet: Emulating a network on your laptop

#14
post #13

Is this based on FreeBSD's dummynet? I use to use that a long time ago and it was really cool. I was kind of sad when Linux didn't really have anything close to it.

No, but Mininet uses dummynet like features in Linux: netem [1], htb [2], etc.

[1] http://www.linuxfoundation.org/collaborate/workgroups/networ...

[2] http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm

Re: Mininet: Emulating a network on your laptop

#15

I read some documentation and I don't think I entirely get the whole "emulate a network" thing. What can be done with that? What exactly is a network? What this project makes me think of is as if one would replace the internet with another substitute internet or intranet, but I don't think thats the case. Something that it makes me think of is the idea of downloading a website with something like sitesucker and then…

It emulates a network. You would use it to, for instance, test if your OpenFlow controller is reacting to appropriate traffic in the correct way, or (using netem and gang) to see what happens when you introduce delay or packet loss over some interface.

An existing use for this sort of thing is as a prototype environment for a software defined network. See 'Live Migration of an Entire Software Defined Network' for an example of use.

Re: Mininet: Emulating a network on your laptop

#16

I read some documentation and I don't think I entirely get the whole "emulate a network" thing. What can be done with that? What exactly is a network? What this project makes me think of is as if one would replace the internet with another substitute internet or intranet, but I don't think thats the case. Something that it makes me think of is the idea of downloading a website with something like sitesucker and then…

It can mean different things to different people.

If you're a distributed systems developer, you can use Mininet to create a topology and emulate the interaction of 100s of, say, bittorrent clients.

If you're a graduate student in networking, you can use Mininet to experiment with your new routing protocol and compare it against existing ones such as OSPF, BGP, etc.

You can also use it to put existing research papers to the test: http://reproducingnetworkresearch.wordpress.com

Re: Mininet: Emulating a network on your laptop

#17
post #16

I read some documentation and I don't think I entirely get the whole "emulate a network" thing. What can be done with that? What exactly is a network? What this project makes me think of is as if one would replace the internet with another substitute internet or intranet, but I don't think thats the case. Something that it makes me think of is the idea of downloading a website with something like sitesucker and then…

It can mean different things to different people. If you're a distributed systems developer, you can use Mininet to create a topology and emulate the interaction of 100s of, say, bittorrent clients. If you're a graduate student in networking, you can use Mininet to experiment with your new routing protocol and compare it against existing ones such as OSPF, BGP, etc. You can also use it to put existing research papers…

Could you also use it to load test a web app?

Re: Mininet: Emulating a network on your laptop

#18
post #17
post #16

Earlier quoted context omitted.

It can mean different things to different people. If you're a distributed systems developer, you can use Mininet to create a topology and emulate the interaction of 100s of, say, bittorrent clients. If you're a graduate student in networking, you can use Mininet to experiment with your new routing protocol and compare it against existing ones such as OSPF, BGP, etc. You can also use it to put existing research papers…

Could you also use it to load test a web app?

You wouldn't need a fake network to load test a web app, and you'd end up being CPU bound for a good load test (as in, the load tester would be CPU bound, obviously you want the app to become maxed in CPU usage). AWS is actually great for doing something like this.

The Chicago Tribune actually released a tool to do load testing with AWS instances: http://blog.apps.chicagotribune.com/2010/07/08/bees-with-mac...

Re: Mininet: Emulating a network on your laptop

#19
When I was studying networking we used a network simulation tool called cnet[0], which has the nice property that it can do network simulation at different protocol layers as well as having different topologies. It can also simulate things like wide-area networks, noisy connections and so on.

Most of the assignments built around cnet were of the form of "Here is a network protocol that is half-completed. Write the transport layer", or "here is a fully completed network protocol that works with this topology. Now we introduce wireless nodes, modify the protocol to support wireless mobility".

[0] http://www.csse.uwa.edu.au/cnet/

Re: Mininet: Emulating a network on your laptop

#20
post #16

I read some documentation and I don't think I entirely get the whole "emulate a network" thing. What can be done with that? What exactly is a network? What this project makes me think of is as if one would replace the internet with another substitute internet or intranet, but I don't think thats the case. Something that it makes me think of is the idea of downloading a website with something like sitesucker and then…

It can mean different things to different people. If you're a distributed systems developer, you can use Mininet to create a topology and emulate the interaction of 100s of, say, bittorrent clients. If you're a graduate student in networking, you can use Mininet to experiment with your new routing protocol and compare it against existing ones such as OSPF, BGP, etc. You can also use it to put existing research papers…

I really like the example you give and am starting to ge the academic usage. Thanks for this reply!
Post reply on HN