window field in TCP header.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 






Hello,

I am running linux kernal 2.4.2 .
My query is concerning the manner in which the TCP code
handles the initial window size value ( RWIN ) in the TCP header.

I observed that RWIN that the client
announces is 5840 bytes in the <SYN> packet irrespective of what value
I set using the setsockopt .

Is there any particular reason for this ?
It seems to me as a too small a value.

Secondly, any way to get around this ?

I checked the /proc/sys/net/core/* where the defaults are set.
rmem_default is set to 65535 . Similarly wmem_default.

Further more, when I checked the complete packet trace using tcpdump for
the FTP data connection ( for a large file transfer ) , it seems that
though TCP starts with a RWIN of 5840 in the <SYN> segement but keeps on
increasing the RWIN as the connection progresses upto 47784 .

Next, I modified FTP code to set the initial window field to 500 K bytes.
The window field in the <SYN> packet should have been 64 K and wscale = 3.
But again the window field was 5840 bytes and wscale = 1.

After some packets were transferred , the window field increased upto
47784 but not beyond that.

Now the RFC 1323 says that the receiver will left-shift window field
of every incoming segemet by wscale bits.

Left shifting 47784 by 1 bit would in no way offer me th desired window
( 500 K bytes ).

Is there some thing that I am doing wrong or is there something wrong in
the TCP implementation ?


Please CC any replies to my email id.

Thanks,

Manish




-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux