|
Home | Reviews | Speed Test | Tools | News | Forums | Info | About | Join |
The RWIN is the TCP Receive Window. TCP is a packet based transfer where data packets are moved in chunks rather than one at a time. The RWIN itself is a "buffer" that gathers the incoming data until it is full, then it moves the data to storage before refilling. Between fills, the computer sends acknowledgement packets "acks" that tell the sending computer that the data was correctly received. Increasing the RWIN means that more data is gathered on each transfer, followed by a blitz of acks, followed by more incoming data, and so on. Smaller RWIN sizes gather less data per fill, and thus send fewer acks, and then the cycle begins anew. The trick is in finding the proper RWIN for your line speed and latency. The TCP Receive Window has a default value of only about 8K bytes in Windows 95/98/NT, and about 16K bytes in Windows Me/2000/XP, which is adequate for relatively slow dialup modems and for high-speed networks with relatively low latency (e.g., less than 20 milliseconds). Increasing the TCP Receive Window above the default settings (e.g., to 32-64K) can substantially improve throughput on high-speed Cable Modem or DSL connections where there is higher latency (e.g., 100-200 milliseconds), as is often the case on the Internet, particularly over long network paths. (Increasing the TCP Receive Window will usually not have an adverse effect on other connections.) For example, let's consider the case of downloading a file at 150 kilobytes per second from a remote server over a typical 1.5Mbps broadband connection. A default TCP Receive Window of 8K bytes will be filled in only about 53 milliseconds, which is often shorter than the round-trip latency on the Internet. When the window is full, the sender has to stop sending until an acknowledgment of the data that was received comes back from the recipient. With a TCP Receive Window of 32K bytes, the sender can continue for as long as 217 milliseconds without an acknowledgment, which should permit uninterrupted data flow even when latency is 100-200 milliseconds or more. (With a TCP Receive Window of 64K bytes, the sender can continue for as long as 450 milliseconds.) The moral of the story is this: Slower download speeds on lower latency need a smaller (say, 10K) RWIN. High speed connections on long latency networks may need a much larger RWIN (say, 32000). Here below are some suggested settings to try for broadband connections, based on latency and rated download speed. Low latency (<40ms) 500 Kbps --- RWIN 5000 1000 Kbps -- RWIN 10000 1500 Kbps -- RWIN 15000 2000 Kbps -- RWIN 20000 2500 Kbps -- RWIN 25000 Medium latency (<90ms) 500 Kbps --- RWIN 10000 1000 Kbps -- RWIN 15000 1500 Kbps -- RWIN 20000 2000 Kbps -- RWIN 25000 2500 Kbps -- RWIN 30000 Long latency (<150ms) 500 Kbps --- RWIN 15000 1000 Kbps -- RWIN 20000 1500 Kbps -- RWIN 25000 2000 Kbps -- RWIN 30000 2500 Kbps -- RWIN 35000 Adjusting your RWIN will not affect your rated line speed, it only allows for transfers to be of maximum efficiency. Some users should note that even if they signed up for 1.5Mbps max service they may be capped at lowers speeds such as 768Kbps or 384Kbps, depending on individual line conditions. Your RWIN has no effect (well, a negligible effect, anyway) on your TTL, MTU or latency! A well tuned RWIN can, however, greatly improve transfer speeds by increasing data transfer efficiency. Feedback received on this FAQ entry:
got feedback? by Mortis edited by KeysCapt Also read About DSL for lots more information |