Windows 95 · 98 · 98SE · ME · 30 settings
Windows 95, 98 & ME settings
Every value in the Win 9x Adjuster, what it does and its Windows default. Condensed from Microsoft TechNet. Looking for one value? Open the quick reference or press Ctrl+F (Find in page on mobile).
HKLM\System\CurrentControlSet\Services\VxD\MSTCP · …\VxD\VNETSUP
TCP window & performance 16Web browsing 1Keep-alives 3NetBIOS & name resolution 10
Quick reference: all 30 settings A–Z
TCP window & performance
The settings that made the biggest difference on cable and DSL.
DefaultRcvWindow
String
This parameter determines the maximum TcpReceiveWindow size offered by the system. The receive window specifies the number of bytes a sender may transmit without receiving an acknowledgment. In general, larger receive windows will improve performance over high (delay * bandwidth ) networks. For highest efficiency, the receive window should be an even multiple of the TCP Maximum Segment Size (MSS).
The single most-tuned Win9x value. Pick a multiple of your MSS, e.g. 64240 for a 1500 MTU.
GlobalMaxTcpWindowSize
String
The TcpWindowSize parameter can be used to set the receive window on a per-interface basis. This parameter can be used to set a global limit for the TcpWindowSize on a system-wide basis.
Usually set to the same value as the receive window.
Tcp1323Opts
String
Controls the RFC 1323 extensions: window scaling (for receive windows above 64 KB) and timestamps.
- 0: RFC 1323 options off
- 1: window scaling only
- 2: timestamps only
- 3: window scaling and timestamps
Needed for receive windows above 64 KB, so it mattered most on fast or satellite links.
SackOpts
String
This parameter controls whether or not Selective Acknowledgment (SACK, specified in RFC 2018) support is enabled.
Keep enabled: it speeds recovery after packet loss.
MaxDupAcks
DWORD
This parameter determines the number of duplicate ACKs that must be received for the same sequence number of sent data before fast retransmit is triggered to resend the segment that has been dropped in transit.
PMTUDiscovery
String
Setting this parameter to 1 (True) causes TCP to attempt to discover the Maximum Transmission Unit (MTU or largest packet size) over the path to a remote machine. By discovering the Path MTU and limiting TCP segments to this size, TCP can eliminate fragmentation at routers along the path which connect networks with different MTUs. Fragmentation adversely affects TCP throughput and network congestion.
Leave on unless a broken router is black-holing large packets.
PMTUBlackHoleDetect
String
Specifies whether the stack will attempt to detect Maximum Transmission Unit (MTU) routers that do not send back ICMP fragmentation-needed messages. Setting this parameter when it is not needed can cause performance degradation.
DefaultTTL
String
Specifies the default Time To Live (TTL) value set in the header of outgoing IP packets. The TTL determines the maximum amount of time an IP packet may live in the network without reaching its destination.
64 or 128 is plenty for any route across the Internet.
TcpTimedWaitDelay
String
This parameter determines the length of time that a connection stays in the TIME_WAIT state when being closed. While a connection is in the TIME_WAIT state, the socket pair cannot be reused. This is also known as the 2MSL state because the value should be twice the maximum segment lifetime on the network. See RFC 793 for further details.
MaxDataRetries
String
Specifies the maximum number of times a segment carrying data or an FIN will be retransmitted before the connection is terminated. The retransmission timeout itself is adaptive and will vary according to link conditions.
MaxConnectRetries
String
Specifies the number of times a connection attempt (SYN) will be retransmitted before giving up. The initial retransmission timeout is 3 seconds, and it is doubled each time up to a maximum of 2 minutes.
MaxConnections
String
Specifies the maximum number of concurrent connections.
BSDUrgent
String
If this value is 1, it specifies that Microsoft TCP/IP is to treat urgent data the way some UNIX systems do (with a maximum of 1 byte of urgent data, for example). If this value is 0, it specifies that the stack is to handle urgent data as specified by RFC 1122.
DefaultTOS
String
Specifies the default Type Of Service (TOS) value set in the header of outgoing IP packets. See RFC 791 for a definition of the values.
IGMPLevel
String
Specifies the level of support allowed for IP multicast, corresponding to the levels in RFC 1112.
RoutingBufSize
String
Specifies the total amount of buffer space to allocate for routing packets. This parameter is ignored if EnableRouting=0. EnableRouting is off by default and not in the 4.08 Adjuster, so this rarely matters.
Web browsing
How many connections Internet Explorer opens to each web server.
MaxConnectionsPer1_0Server & MaxConnectionsPerServer
DWORD
HTTP specification requires that no one computer can have more than 2 simultaneous connections to any single HTTP server. This will affect all Windows application that uses the standard API, including Internet Explorer. People who keep multiple files on an online hard drive hate this restriction, because they can only download two or four files at a time. Windows developers choose to limit the maximum connections to a HTTP 1.0 server to four. In the HTTP 1.1 specification the number of connections was mandated to 2.
A favourite tweak: raising these let Internet Explorer fetch more page pieces at once.
Keep-alives
How long idle connections are kept open and checked.
KeepAliveTime
String
Specifies the connection idle time in milliseconds before TCP will begin sending keepalives, if keepalives are enabled on a connection.
KeepAliveInterval
String
Specifies the time in milliseconds between retransmissions of keepalives, once the KeepAliveTime has expired. Once KeepAliveTime has expired, keepalives are sent every KeepAliveInterval milliseconds until a response is received, up to a maximum of MaxDataRetries before the connection is terminated.
SessionKeepAlive
String
Specifies how often to send session keepalive packets on active sessions.
NetBIOS & name resolution
File-sharing names, broadcasts and DNS.
EnableDNS
String
If this value is set to 1 (true), NetBT queries the DNS server for names that cannot be resolved by WINS, broadcast, or the Lmhosts file.
BcastNameQueryCount
String
Determines how many times a NetBIOS name query broadcast will be issued. You can speed things up on a smaller network by setting this value to the minimum of 1.
BcastNameQueryTimeout
String
Specifies timeout value for NetBIOS name query broadcasts. In a bursty or busy network, increasing the delay somewhat can reduce rebroadcasts. Not recommended in general since this increases delays against unreachable hosts.
NameSrvQueryTimeout
String
Specifies how long the system waits before timing out a name server query.
CacheTimeout
String
Specifies how long NetBIOS names are cached.
NameTableSize
String
Specifies the maximum number of names in the NetBIOS name table. The minimum allowable value is 1 and the maximum is 255.
SessionTableSize
String
Specifies the maximum number of sessions in the NetBIOS session table. The minimum allowable value is 1 and the maximum is 255.
Size/Small/Medium/Large
String
Specifies how many buffers of various types to pre-allocate and the maximum that can be allocated, where 1 = small, 2 = medium, and 3 = large.
Lanabase
String
Sets the first LAN adapter (LANA) number that NetBIOS uses. Rarely needs changing.
LocalCopyMade
String
An internal Windows networking flag. Leave it at its existing value.