
:: Appendix A - Details of speed
tweaking
Following are the steps to manually
tweak; we are taking the example of Windows 98.
First step is to backup your registry.
From the Start menu, choose Run and enter regedit.
The Registry Editor will appear. Pull down the
Registry menu and select Export Registry File.
Name your file and save it on an
external floppy disk. The Registry Editor also
keeps its own backup, which you can load by typing
scanreg/restore from a command line. This backup
is overwritten after five editing sessions though,
so don't rely on it.
Now you are ready to mess with
your registry. If anything goes wrong, follow
the above steps, but choose Import Registry File
and load the original registry settings from your
floppy.
These tips involve the creation
of new key values in the registry. Use the window
on the left like Windows Explorer until you get
to the folder you want. Each folder is a key and
contains a number of values. Create a value using
the Edit menu if necessary. Click on the value
you want to modify and then go to the Edit menu
or right-click to modify the settings.
There are three values we want
to create or change. They are:
MTU: This stands
for Maximum Transmission Unit. It is the largest
packet size your computer can send without breaking
it up into smaller packets. Bigger is better.
MSS: This stands
for Maximum Segment Size and is the largest packet
your computer can receive from the network. In
a conversation between two computers the smaller
MSS value is used to determine packet size. This
is related to MTU and is usually 40 less than
the MTU (40 is the packet header size).
RWIN: This is
the TCP Receive Window. It's related to MSS and
determines how many packets the transmitting computer
can send before it needs an acknowledgement. Setting
this high lets you send more packets without waiting,
but also requires you to send more packets if
an error occurs. RWIN is a multiple of MMS, usually
three or four times.
Winsock: Not a
variable, but the Window's Socket Library. This
is the technical specification that handles communication
between a TCP/IP application (like a browser)
and your computer's TCP/IP protocol stack that
interfaces with other computers.
Let's start with the MTU.
Go to the Start menu and select
Run. Type regedit. Open the keys (the folders)
as if you were using Windows Explorer. Go to:
HKEY_LOCAL_MACHINE --> System --> Current
Controller Set --> Services --> Class -->
NetTrans.
There should be a number of keys
starting with 000. Click on them looking for a
key containing the value name DriverDesc and the
value data is TCP/IP.
You will be adding a new value
to this key.
- Make sure you have the correct
key selected
- Using the Edit pull-down, select
Edit -> New String Value
- New Value #1 will appear in
the key.
- It should be highlighted for
you to name it. Otherwise, select Edit ->
Rename. Make the name of this value "MaxMTU."
- Double-click MaxMTU and type
1500 in the value data box
If you are a DSL user and your
ISP uses PPPoE (Point-to-Point protocol over Ethernet),
you should set your MaxMTU value to 1492 or less.
The next steps may require you
to experiment with your settings to get the best
values.
Start by opening the following
keys: HKEY_LOCAL_MACHINE --> System -->
CurrentControlSet --> Services --> VxD -->
MSTCP
As in the previous step, you will
provide the value names and values for the MSTCP
key. Please take special care to use the correct
variable type when defining a new value pair.
These are the values you will be defining:
DefaultRcvWindow="64240"
Type: String Value
Try the setting in this order:
64240, 46720, 32120, 17520, 11680. This string
value should be a multiple of MSS and has a
maximum of 1Gigabit in Windows 98.
PMTUDiscovery="1" Type:
String Value
This value is a Boolean or true/false
option. True (1) lets your system establish
connections at an optimal speed with other systems.
False (0) will send fixed sized packets as defined
in MaxMTU. You want to set this to "1"
so your computer will go as fast as possible.
PMTUBlackHoleDetect="0"
Type: String Value
True (1) tells the computer to
locate "black hole routers." This
can slow down your connection. Leave it off
by setting this value to False (0).
TCP1323Opts="3" Type:
DWORD Decimal Variable
This value refers to windowscaling
and timestamp options. It's used when sending
data to a computer with a buffer greater than
64k. A setting of 3 enables both, a value of
1 turns off timestamping, and a value of 0 turns
off both settings. Set it at "3" and
make sure you click on Decimal value and NOT
Hexidecimal.
SACKOpts="1"Type: String
Value
This value is another boolean
and controls how your computer resends the same
information if packets are lost. True (1) turns
Selective Acknowledgements (SACK) on. False
(0) turns off SACK. Turn SACK on by setting
this to "1".
The next key we need to adjust
is: HKEY_LOCAL_MACHINE --> System --> CurrentControlSet
--> Services --> VxD --> MSTCP -->
Parameters
This key requires one more value:
MaxDupAcks="3" Type:
DWORD Decimal Variable
This value controls how quickly
your computer sends new data if packets are
lost. It can be set as "2" or more.
Set it at "3" and make sure you click
on Decimal value and NOT Hexidecimal.
Go back and check your work
for spelling and proper types. Then reboot and
test your speed using any of the available speed
tools.

|