Manish Punjabi (TE - Elecs - TSEC)
How many times have you sat there waiting for a page to download from the web, and waited for what seemed like an eternity with everything creeping along at ridiculously low transfer speeds? It could just be an overloaded server on the other end or general Internet congestion, but it might also be a symptom of a Windows MTU problem.
What exactly is this mystical MTU anyway?
The Maximum Transmission Unit of a network is the greatest amount of data or "packet" size that can be transferred in one physical frame on that network. This packet also contains the header and trailer information, which are kind of like addresses for each packet that are required by the routers on the network. Fragmentation will occur if a packet is sent across a network that has an MTU smaller than the packet's frame length. This will lead to reduced performance levels, as fragments need to be reassembled.
By default, the Windows 95 MTU is 1,500, which is appropriate for Ethernet-based networks. When you dial in to an ISP (VSNL, Satyam, and MTNL) your data goes through a router that uses the Internet standard MTU setting of 576. The mismatch in settings guarantees that your 1,500-byte packets will be fragmented into smaller packets of 576 bytes or less, resulting in less-than-optimal performance. You can change this setting in Windows 95 manually, and there are dozens of pages on the Internet with step-by-step instructions for making the change.
MTU is normally set in conjunction with MSS, the Maximum Segment Size, and RWIN, the TCP Receive WINdow. MSS is the largest segment of TCP data that the Winsock is prepared to receive on that connection. MSS must be smaller than MTU by at least 40 bytes, the size of the header and trailer information. RWIN determines how much data the receiving computer is prepared to receive. If RWIN is set too large it will result in greater loss of data if a packet is lost or damaged. If it is set too small (e.g. 1x MSS), transmission will be very slow. Normally RWIN is set to 4x, 6x or 8x MSS.
The RWIN setting determines how much data the receiving computer is prepared to receive. If RWIN is set too large, it can result in a greater loss of data if a packet is lost or damaged.
Windows 95, according to Microsoft, uses a default value of 1500 for MTU and 8192 for RWIN which is then rounded up to the nearest MSS increment for the connection.
With a manually set MaxMTU, Windows 95 will automatically limit MSS to MTU-40. So if you set MaxMTU=576, MSS will default to 536 and you should experiment with different multiples of that MSS for your RWIN setting. Most sources seem to agree that RWIN = 4x MSS is a good choice to start with.
Another option to set is the TTL or Time to Live. TTL is a field in the IP header that indicates how long a packet should be allowed to survive before it is discarded. TTL essentially determines the maximum number of hops permitted. Windows default is 32, but with the Internet growing larger all the time, it is worth changing it to the larger setting, like 128. Here again, some people have reported a big difference only after changing this parameter as well!
Windows 98 does a far better job than its predecessor of optimizing TCP/IP transmissions, and it also lets you change the setting without hacking the Registry. By default, all PPP connections at speeds below 128K use an MTU of 576. At higher speeds, Windows 98 uses an MTU of 1,500.
READ CAREFULLY...THIS IS VERY IMPORTANT
Whenever you make any adjustments to your Windows Registry, it is always advisable to back it up first. In the event that something goes wrong you can restore it. But the most foolproof way to back up your registry is to manually backup the two registry files USER.DAT and SYSTEM.DAT in your Windows directory.
Put your hand on a hot stove for a minute, and it seems like an hour. Sit with a pretty girl for an hour, and it seems like a minute. THAT'S relativity.