linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* window field in TCP header.
@ 2001-07-06  2:54 Manish Jain
  0 siblings, 0 replies; only message in thread
From: Manish Jain @ 2001-07-06  2:54 UTC (permalink / raw)
  To: linux-kernel

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




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2001-07-06  2:58 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-06  2:54 window field in TCP header Manish Jain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).