mptcptrace demo, experiment four

This is the fourth post of a series of five. Context is presented in the first post. The second post is here. The third post is here.

Fourth experiment

Green at 0s:
  • delay : 10ms
  • bandwidth : 4mbit/s
  • loss : 0%
Green at 5s:
  • delay : 100ms
  • bandwidth : 4mbit/s
  • loss : 10%
Green at 15s:
  • delay : 10ms
  • bandwidth : 4mbit/s
  • loss : 0%
Red at 0:
  • delay : 40ms
  • bandwidth : 4mbit/s
Red at 15:
  • delay : 40ms
  • bandwidth : 4mbit/s
  • loss : 1%
Client:
  • Scheduler : default

In this fourth experiment, we change the loss rate of the red path to 1% after 15 seconds.

Again we take a look at the evolution of the sequence number.

../../../_images/sequence3.png

In this case however we can see the shift after 15 seconds. Because the red link become lossy after 15 seconds, the congestion window of the red subflow shrinks and MPTCP needs to send data again on the green subflow if the congestion window of the red subflow becomes too small to sustain the application rate. Because MPTCP now sends a little bit of traffic on the green subflow, it realises that the green subflow has changed and has now a lower delay and a lower loss rate. As a consequence the green subflow will open the congestion window again and will have a large enough congestion window to sustain the application rate.

../../../_images/sequence_zoom3.png
../../../_images/sequence_zoom_2.png

If we take a look at the evolution of the goodput, we see the two shifts at 5s and at 15s

../../../_images/gput3.png
../../../_images/gput_zoom2.png
../../../_images/gput_zoom_2.png

The evolution of the MTPCP unacked data is shown below :

../../../_images/flight1.png

We can see the change after 15s and that we use less of the receiver window after 15 seconds… In this case, because the red link is lossy, we consume less of the receive window. In our case the receive window is big enough anyway, but we would have different results if the window were smaller. We could reduce the window size by reducing the rmem but this for an other experiment.

Again we can look at the evolution of the unacked data at the TCP level

../../../_images/flightpf1.png

again we observe the shift after 15 seconds.