Lal Shimpi theorizes that OS X is properly dynamically resizing the TCP window size when IPERF is running, but not when actual files are crossing the network. TCP (transport control protocol) requires the receiving device to periodically acknowledge the receipt of data, and TCP window size determines how much data can be sent before the sending device must stop and wait for that acknowledgment. If the acknowledgment isn’t received, the sending device will then resend the data. The larger the window, the fewer the acknowledgements and the faster the data transfer.
I use AccessAgility’s WiFiPerf—a graphical front-end to IPERF—to measure TCP throughput. Using the new MacBook Air, I achieved speeds in excess of 450 megabits per second (mbps) at close range (nine feet from the router, with no walls in between) and 65 mbps at my furthest test location (65 feet from the client, with three insulated interior walls in between).
(Full disclosure: I ran the WiFiPerf benchmarks at my home lab, and the file-transfer tests in the Macworld Lab a few days later.)
Apple is aware of this problem, but declined to provide details as to whether dynamic TCP window sizing is indeed the culprit or when Apple might have a solution. This should be a relatively easy fix for Apple.
[[ source ]]
No comments