Is this possible in an Emulab setup?

Skip to first unread message

Sachin Ashok

Oct 14, 2021, 2:52:19 PM10/14/21
to emulab-users

I'm trying to run an experiment of the following kind: 

Run a network flow between two endpoints and use this reference flow's per-packet information to estimate the cross traffic (volume of all other traffic combined) that it competed with at some bottleneck in the network path. The technique I use to estimate is not important.

Here's a concrete example of an experiment in simulation:
  1. Imagine an arbitrary network topology with a bottleneck set between n3 and n4 (to 1 gbps) as in figure.
  2. I would run my reference flow (flow 1) from n1 to n5 and the cross traffic flows (flows 2, 3 and 4) from n2 to n6.
  3. I would then use the reference flow's traffic traces to try and estimate the cross traffic that it competed with at the bottleneck between n3 and n4. 
  4. Then I would compare the estimate to the ground truth of the cross traffic (flow 2 + flow 3 + flow 4).

Screen Shot 2021-10-14 at 1.36.44 PM.png

Now this is obviously a toy setup and can be done in an emulation setup like Emulab. But this isn't very realistic as the cross traffic patterns, the topology and the network/queuing policies are all arbitrarily selected by me.

To be more realistic, I could run this experiment in the real internet. I could run a reference flow between a client and a server and I can then estimate the cross traffic. But since I do not have access to the ground truth of cross traffic that the reference flow competed with,  I can't compare my estimate to it and see how accurate it is.

My question is whether Emulab can offer an environment closer to the real internet scenario? Could I run an experiment in a non-isolated "internet-like" environment here? And then, could I have access to the overall volume of traffic my reference flow competed with at a bottleneck? Another possibility is to have access to per-flow statistics collected at some bottlenecked switch (where multiple flows were contending for bandwidth) and then using one flow to estimate the volume of the rest.

It's probably not feasible but I wanted to reach out and check if anything close to what I described is possible in Emulab. Any additional suggestions you have would be useful too.

Reply all
Reply to author
0 new messages