Generate Real netowrk flows with Mininet

488 views
Skip to first unread message

Osama Abu Hamdan

unread,
Apr 9, 2022, 2:37:38 AM4/9/22
to ONOS Developers
Greetings,
Anyone knows how to generate real network flows with Mininet?
Maybe a adon with Internet topology zoo or something.

Best regards

amir k

unread,
Apr 9, 2022, 2:38:18 AM4/9/22
to Osama Abu Hamdan, ONOS Developers
Unsubscribe 

--
You received this message because you are subscribed to the Google Groups "ONOS Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to onos-dev+u...@onosproject.org.
To view this discussion on the web visit https://groups.google.com/a/onosproject.org/d/msgid/onos-dev/80a09565-1e64-4867-9936-6328f674b189n%40onosproject.org.

Hadi Kahraman

unread,
Apr 9, 2022, 1:12:20 PM4/9/22
to Osama Abu Hamdan, ONOS Developers
You can run iperf on mininet hosts.

Osama Abu Hamdan <oabuh...@nevada.unr.edu>, 9 Nis 2022 Cmt, 09:37 tarihinde şunu yazdı:
--

Osama Abu Hamdan

unread,
Apr 9, 2022, 2:38:19 PM4/9/22
to Hadi Kahraman, ONOS Developers
Yeah I know, I mean a real life network parttern.

Best Regards

Hadi Kahraman

unread,
Apr 9, 2022, 3:05:31 PM4/9/22
to Osama Abu Hamdan, ONOS Developers
If you mean network topology, leaf-spine is a common topology for edge networks.

Osama Abu Hamdan <oabuh...@nevada.unr.edu>, 9 Nis 2022 Cmt, 21:38 tarihinde şunu yazdı:

Osama Abu Hamdan

unread,
Apr 9, 2022, 3:38:48 PM4/9/22
to Hadi Kahraman, ONOS Developers
Network topology and flow pattern. Something like Internet Topology Zoo integrated to Mininet.

Thanks

Hadi Kahraman

unread,
Apr 9, 2022, 4:11:51 PM4/9/22
to Osama Abu Hamdan, ONOS Developers
I don't know "topology zoo", but you can find information about leaf-spine topology and flows, easily. Including mininet script examples.

Osama Abu Hamdan <oabuh...@nevada.unr.edu>, 9 Nis 2022 Cmt, 22:38 tarihinde şunu yazdı:

Eder Ollora

unread,
Apr 9, 2022, 4:25:57 PM4/9/22
to ONOS Developers, oabuh...@nevada.unr.edu, ONOS Developers, hadi.k...@gmail.com
Hi, 

If you want to implement the topologies found in The Internet Topology Zoo (TPZ) then you should create a Mininet script that reads the topology information, in whatever format  the TPZ exports it and then convert hosts, switches/routers and any other entity to what the Mininet API allows you to do. As you probably know, apart from using the mn command to create networks, you can use the API for Python. See here examples

Cheers,

Osama Abu Hamdan

unread,
Apr 9, 2022, 4:29:39 PM4/9/22
to ONOS Developers, Osama Abu Hamdan, Eder Ollora Zaballa
Thanks, Hadi and Eder.
Eder, I create my own topology by writing a python script. I want to simulate the real flows pattern too not just the topology. Any thoughts?

Thx

Ozgur Kara

unread,
Apr 9, 2022, 5:11:28 PM4/9/22
to Osama Abu Hamdan, ONOS Developers, Eder Ollora Zaballa
Hello,
 
10.04.2022, 00:31, "Osama Abu Hamdan" <oabuh...@nevada.unr.edu>:
Thanks, Hadi and Eder.
Eder, I create my own topology by writing a python script. I want to simulate the real flows pattern too not just the topology. Any thoughts?
 
 
if you want realistic network, do this you need a real network flow, not topology. so create a controller and must provide real traffic and you can use a traffic flow. in short, example create Dockers over use Linux net namespace and connect it to mininet switches.
 
what you need to do for this is to run a few external webservers -t≥ ransfer them as traffic to mininet behind openflow switch and control traffic through a controller plane like Opendaylight.
 
iperf is basic simulation tool not real. learn tcp reno, tcp vegas and itg.
 

Ozgur

unread,
Apr 9, 2022, 5:17:57 PM4/9/22
to Osama Abu Hamdan, ONOS Developers, Eder Ollora Zaballa
10.04.2022, 01:11, "Ozgur Kara" <o...@zgur.org>:
Hello,
 
10.04.2022, 00:31, "Osama Abu Hamdan" <oabuh...@nevada.unr.edu>:
Thanks, Hadi and Eder.
Eder, I create my own topology by writing a python script. I want to simulate the real flows pattern too not just the topology. Any thoughts?
 
 

Eder Ollora

unread,
Apr 10, 2022, 4:27:23 AM4/10/22
to ONOS Developers, Ozgur, Eder Ollora Zaballa, oabuh...@nevada.unr.edu
Hi,

It all depends on what you call "real". As Hadi said, you can create flows by running iperf. If you want to keep it "real", you could try to find papers that have analyzed the traffic patterns found in University networks, or Data Center networks (or any other network). Those papers usually talk about the number of different flows (which would be, in rough terms, the same as running n number times the iperf command). You would also have data about how many hosts there are (and create them in Mininet), the TCP/UDP proportion, the types of traffic... It all depends on how "realistic" you want your traffic to look like. 

You can also try to replay pcap files, but I am not sure if that would work for you (I do not know if you can keep timings par to the pcap). I do not know if you can make all your hosts run "the same exact packets" as you find in a pcap. I guess pcap files are more common to analyze traffic, but still,  the possibility exists. I know tcpreplay and scapy allow that but again, if you replay a pcap file I guess that is traffic running from one host (only), so no other host in Mininet will interact with that "pcap-replayer", unless you modify pcap packet data like MAC/IP addresses and, maybe, trim certain packets from it. 

In summary, if you just need a host to send packets found in real datasets, then you have plenty of pcaps on the internet [1, 23]. Many of those datasets are related to security and attacks, but you get my point. If you want a Mininet network to behave and send the same packets found in a pcap file or a dataset, then this is more complicated. IMO, it is much easier to consider a few variables (TCP/UDP % packets, number of floes, size of packets, etc.) and re-create this patten with iperf and a few scripts in Mininet hosts (if this method makes sense to you).

Cheers,

Ozgur Kara

unread,
Apr 10, 2022, 7:55:53 AM4/10/22
to Eder Ollora, ONOS Developers, Eder Ollora Zaballa, oabuh...@nevada.unr.edu
 
 
10.04.2022, 12:27, "Eder Ollora" <gan...@gmail.com>:
Hi,
 
 
Hello,
 
It all depends on what you call "real". As Hadi said, you can create flows by running iperf. If you want to keep it "real", you could try to find papers that have analyzed the traffic patterns found in University networks, or Data Center networks (or any other network). Those papers usually talk about the number of different flows (which would be, in rough terms, the same as running n number times the iperf command). You would also have data about how many hosts there are (and create them in Mininet), the TCP/UDP proportion, the types of traffic... It all depends on how "realistic" you want your traffic to look like. 
 
 
In the network jargon, "real" is traffic created by real user, that you dont produce virtually.
This is actually a short answer, so to forward real traffic to mininet or your SDN network, need to proceed at operating system level operation.
 
 
You can also try to replay pcap files, but I am not sure if that would work for you (I do not know if you can keep timings par to the pcap). I do not know if you can make all your hosts run "the same exact packets" as you find in a pcap. I guess pcap files are more common to analyze traffic, but still,  the possibility exists. I know tcpreplay and scapy allow that but again, if you replay a pcap file I guess that is traffic running from one host (only), so no other host in Mininet will interact with that "pcap-replayer", unless you modify pcap packet data like MAC/IP addresses and, maybe, trim certain packets from it. 
 
In summary, if you just need a host to send packets found in real datasets, then you have plenty of pcaps on the internet [1, 23]. Many of those datasets are related to security and attacks, but you get my point. If you want a Mininet network to behave and send the same packets found in a pcap file or a dataset, then this is more complicated. IMO, it is much easier to consider a few variables (TCP/UDP % packets, number of floes, size of packets, etc.) and re-create this patten with iperf and a few scripts in Mininet hosts (if this method makes sense to you).
 
I disagree, for example by creating a virtual device (use Linux net namespace) on Linux operating system you can transfer traffic live in bridge mode to switches over mininet.
 
We use mininet for many Docker containers and to do this mirror real traffic with fifo devices. at some point, an example of live traffic also occurs in a giant network environment but we test-network dont reply back to real users or servers.
 
 
Cheers,
 
 
Salut
Reply all
Reply to author
Forward
0 new messages