Hello All,

I'm new to this mailing list, rather new to using Iperf, and I must warn
you that my background is neither in programming or networking. I
currently have Iperf installed on Windows XP machines and I'm curious
about the behavior of the tool, but more specifically, the -w switch.
Because of some of the issues I experienced using this Windows port of
Iperf, I plan on using the native version on a Unix based OS, but I
think my questions will apply then as well. I'm testing over a
high-latency satellite link. I know this is long, please bare with me.
Any help would be greatly appreciated. 

I've read through the archives and online but still can't get a direct
answer to m questions. Here's the most helpful info I've found in the
archives:
http://sourceforge.net/mailarchive/message.php?msg_name=469577EC.2040304
%40room52.net  
http://sourceforge.net/mailarchive/message.php?msg_name=4695C66E.5020205
%40room52.net  

This is my understanding so far, please correct me if (read: when) I'm
wrong:

(1) The -w switch really isn't the TCP Receive Window as the
documentation says but rather the send/receive socket buffer size, and
is not directly related to TCP Window Size. This goes against what I had
originally assumed from the documentation and pretty much everything
I've read online. 

(2)  When the -w switch is used on the receiving server (ex: iperf -s -w
<XX>), this should set the receive buffer size to <XX> (SO_RCVBUF). This
is limited by some maximum value in the operating system.

(3)  When the -w switch is used on the sending client (ex: iperf -c -w
<XX>), this should set the send buffer size to <XX> (SO_SNDBUF). This is
limited by some maximum value in the operating system.


Here are my questions/confusion:

(1)  Should the values set using the -w switch be shown in a packet
capture such as Wireshark? When I use the -w switch on the server, the
TCP Receive Window seems to remain unchanged and is usually 65535 bytes.
I see the TCP Window change when I use -w values ranging from 32KB to
64KB. Values less than 32KB are not reflected in the packet capture, but
still seem to have an effect on throughput. Not using the -w switch
shows that the buffer size is 8KB, but it too is not reflected in a
packet capture. Using this default value results in low throughput.  As
you can see, I am VERY confused!

(2)  How does the -w switch behave for multidirectional tests (-r and
-d)? If "iperf -c <IP> -w <XX> -r" is used, does the <XX> become the
Receive Buffer Size (SO_RCVBUF) when it switches to receive mode? Does
the server's value then become the Send Buffer Size (SO_SNDBUF)? 

(3) So how does the socket buffer size actually relate to the TCP
Receive Window?

(4) Should the -w switch be used for UDP tests? 

(5) How should I use the -b (--bandwidth) switch for UDP tests? If I
have a link bandwidth that is 128kbps and I know that I'm going to get a
lower "goodput" due to overhead (IP, TCP, IPSec, tunneling), do I set
the bandwidth to -b 128000, a lesser value, or am I completely
misunderstanding the concept?


Many Many Thanks,

Jimmy El Zorkani



------------------------------------------------------------------------------
This SF.net Dev2Dev email is sponsored by:

Show off your parallel programming skills.
Enter the Intel(R) Threading Challenge 2010.
http://p.sf.net/sfu/intel-thread-sfd
_______________________________________________
Iperf-users mailing list
Iperf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iperf-users

Reply via email to