[lkml]   [2001]   [Jul]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subjectwindow field in TCP header.

    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.



    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 12:56    [W:9.171 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site