I had to determine UDP performance over multi-hop network , I used MAC Air over gigabit ethernet ( Thunderbolt). As is customary, TCP was tested and the gig over link was saturated ~900mbps, but surprise when I test UDP it got capped off at 650mbps.
Now I connected two nodes (PC's ) directly without switch. Both the nodes indicated they were working at PHY rate 1000mbps
Node A < -------- > Node B
Node A ( MAC Book) Node B ( MAC Air) --- UDP throughput was 650 mbps TCP 944
Node A ( MAC Book) Node B ( Win 7) --- UDP throughput was 600 mbps TCP 900
Please note I only consider UDP throughput with (0-1% PL), I adjusted the bandwidth from -b {1000,900,650}, I achieve the sweetness of 1% PL at 650. It did not make any sense, how can TCP usurp UDP.
Then from 2nd choice I use UDP with 4 streams the UDP throughput improved to 944mbps.
My question(s) are :-
I understand in TCP the streams will improve tolerance to 2% PL and it will saturate the links with individual stream contributing to saturation. What does iperf UDP streams do? I read the --help but it is not clear.
In case of individual nodes what can I do on my Apple, such that it allocates more UDP buffer (if at all it is a buffer issue). The link is 1Gig , and forget the multihop, even when it has a direct link with the client ( where there is no link sharing , supposedly no reason for dropped packets, or huge latencies, should have been able to over subscribe the link)