An End to End Protocol for Ubiquitous Communication over Internet of Everything

To evaluate Viscouse, we have perform various experiments on it and compare Viscous with existing protocol like MPTCP, TCP and QUIC. The experimental setups for these experiments are as follows:
  • System Configuration: We have used Oracle VitualBox to create virtual machines which have been configured with Mininet kernel to support network interface virtualization. The guest machine configuration is as follows – single core Intel i7-5500U 64bit CPU with a clock speed of 2.40 GHz, RAM: 8GB. The host machine configuration is as follows – Intel Genuine i7-5500U 64bit CPU with a clock speed of 2.40GHz, RAM: 8GB with 250GB Solid State Drive.
  • Mininet: Version 2.2.2 of Mininet kernel have been used to develop our test setup.
  • Kernel: We have used the Linux kernel version 4.1.38.mptcp, which is patched with the MPTCP implementation.
  • MPTCP: MPCTP version we have used in our experiment is 0.91.
  • Operating System: In our virtual machine configurations for test setup, the guest operating system is Ubuntu 14.04.4 LTS, whereas the host operating system is Ubuntu 16.04.1 LTS.
  • Topologies: We have used following topologies for our experiments.
experimentalTopology1
Topology 1
experimentalTopology2
Topology 2

Experiments

We have explored the performance of QUIC, TCP, MPTCP and Viscous for large numbers of short-lived flows With various network condition. We have varied the network condition by the number of flows, RTT between the participating hosts and with s without network background flows. Here we summarize results of those experiments. We have done four experiments on the two topologies mentioned above.

Experiment 1 (Performance over Topology-1 without any Background Traffic)

This experiment has been performed over Topology-1. In Topology-1, there are two paths between H1 and H2, however H2 has a single interface. Here, we vary the RTT of the two paths from 16ms to 320ms, and observe the performance of the four protocols for end-to-end data transport. For every RTT setup, we have sent flows using multiple parallel threads to generate multiple simultaneous flows. For each thread, we have generated 100 back-to-back flows; and have varied the flow duration based on an exponential distribution with mean flow duration of 25 seconds. The number of parallel threads those generate the simultaneous flows have been varied from 1 to 20. Following plot present our results.

Goodput Time required to transmit data
Goodput: RTT=16

RTT = 16ms

Goodput: RTT=16

RTT = 16ms

Goodput: RTT=16

RTT = 80ms

Goodput: RTT=16

RTT = 80ms

Goodput: RTT=16

RTT = 160ms

Goodput: RTT=16

RTT = 160ms

Goodput: RTT=16

RTT = 320ms

Goodput: RTT=16

RTT = 320ms

Experiment 2 (Performance over Topology-1 in the Presence of Background Flows)

We have performed the similar experiment as given in Experiment 1, however, in this scenario we have considered the performance of the protocols in the presence of background traffic. To generate background traffic, we have sent continuous HTTP traffic from H3 to H4 and H5 over Topology-1. This traffic is also in the form of the exponential in nature with mean number of packets as 25 per second.

Goodput Time required to transmit data
Goodput: RTT=16

RTT = 16ms

Goodput: RTT=16

RTT = 16ms

Goodput: RTT=16

RTT = 80ms

Goodput: RTT=16

RTT = 80ms

Goodput: RTT=16

RTT = 160ms

Goodput: RTT=16

RTT = 160ms

Goodput: RTT=16

RTT = 320ms

Goodput: RTT=16

RTT = 320ms

Experiment 3 (Performance over Topology-2 without any Background Traffic)

This is similar to experiment 1, but this experiment have been performed on Topology 2

Goodput Time required to transmit data
Goodput: RTT=16

RTT = 16ms

Goodput: RTT=16

RTT = 16ms

Goodput: RTT=16

RTT = 80ms

Goodput: RTT=16

RTT = 80ms

Goodput: RTT=16

RTT = 160ms

Goodput: RTT=16

RTT = 160ms

Goodput: RTT=16

RTT = 320ms

Goodput: RTT=16

RTT = 320ms

Experiment 4 (Performance over Topology-2 in the Presence of Background Flows)

This is similar to experiment 2, however this experiment have been performed on Topology 2 and background traffic went through different paths. Nature of background traffic is same as experiment 2.

Goodput Time required to transmit data
Goodput: RTT=16

RTT = 16ms

Goodput: RTT=16

RTT = 16ms

Goodput: RTT=16

RTT = 80ms

Goodput: RTT=16

RTT = 80ms

Goodput: RTT=16

RTT = 160ms

Goodput: RTT=16

RTT = 160ms

Goodput: RTT=16

RTT = 320ms

Goodput: RTT=16

RTT = 320ms