Why 64240 (or 65535) RWIN ?Tags: RWIN
The most common TCP/IP packet size ( MTU ) is 1500 bytes. That includes 40 bytes of headers (20-byte TCP header, 20-byte IP header) and 1460 bytes of data ( MSS ).
Assuming 1500 packet size, 64240 is the largest multiple of MSS (44 x 1460) under 2^16 (65535, if you count from 0). All TCP/IP packets have 16 bits reserved in the TCP header for the RWIN value - a maximum number of 2^16, or 65535. To have larger RWIN values, RFC 1323 introduced "TCP Options," that adds some more info to the TCP header. One of the "options" is a multiplier for the original 16-bit unscaled RWIN value. So, in essence, to get RWIN values over 65535, the "unscaled RWIN" is multiplied by that number in the options field of the header... When you enable TCP Options ( Tcp1323Opts ), you add 12 bytes to the header of every packet. With a value of under 65535 and Tcp1323Opts turned off, you might be able to get better results than with a RWIN value a bit over 65535 and TCP1323Opts turned on. The largest unscaled RWIN that's multiple of 1460 is: 1460 x 44 = 64240. Using similar logic, if you do not want to concern yourself with MSS, the largest unscaled RWIN value is 65535.
|
Popular
Recent
|