title: iperf Server and Client Differences
body: <p>Forgive me if this is the wrong place - this is my first post.</p>
  
  <p>I've set up a network in Mininet - created two nodes with the same bandwidth and delay (Bandwidth: 10Mbps, Delay: 10ms). When using iperf to test this, I perform the following steps:</p>
  
  <ol>
  <li>Start an iperf server on Node 1 (10.0.0.2)
  iperf -s</li>
  <li>Start the iperf client on Node 2 (10.0.0.3)
  iperf -c 10.0.0.2</li>
  <li>The test completes</li>
  </ol>
  
  <p>Node 2 (the client) shows a bandwidth of 11.2Mbps, and a test time of 10.4 seconds. Node 1 (the server) shows a bandwidth of 9.56Mbps and a test time of 12.2 seconds. Both the client and the server show the same transfer size (13.9Mb). </p>
  
  <p>Is this time difference due to the delay on each individual packet? The TCP window size is 85.6 Kbyte, so adding a 10ms delay to each packet being sent on the network roughly allows for the difference. However, I would have thought the delay would be 20ms as there is a 10ms network delay on both the sending and receiving side - why is this not the case?</p>
  
  <p>I'm hoping this makes sense.</p>
  
  <p>Ben</p>