← Documentation

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
SettingSection
BcastNameQueryCountNetBIOS & name resolution
BcastNameQueryTimeoutNetBIOS & name resolution
BSDUrgentTCP window & performance
CacheTimeoutNetBIOS & name resolution
DefaultRcvWindowTCP window & performance
DefaultTOSTCP window & performance
DefaultTTLTCP window & performance
EnableDNSNetBIOS & name resolution
GlobalMaxTcpWindowSizeTCP window & performance
IGMPLevelTCP window & performance
KeepAliveIntervalKeep-alives
KeepAliveTimeKeep-alives
LanabaseNetBIOS & name resolution
LocalCopyMadeNetBIOS & name resolution
MaxConnectionsTCP window & performance
MaxConnectionsPer1_0Server & MaxConnectionsPerServerWeb browsing
MaxConnectRetriesTCP window & performance
MaxDataRetriesTCP window & performance
MaxDupAcksTCP window & performance
NameSrvQueryTimeoutNetBIOS & name resolution
NameTableSizeNetBIOS & name resolution
PMTUBlackHoleDetectTCP window & performance
PMTUDiscoveryTCP window & performance
RoutingBufSizeTCP window & performance
SackOptsTCP window & performance
SessionKeepAliveKeep-alives
SessionTableSizeNetBIOS & name resolution
Size/Small/Medium/LargeNetBIOS & name resolution
Tcp1323OptsTCP window & performance
TcpTimedWaitDelayTCP window & performance

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.

Default 8192

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.

Default This parameter does not exist by default.

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.

Default 0

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.

Default 1

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.

Default 2

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.

Default 1

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.

Default 0

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.

Default 32

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.

Default 240

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.

Default 5

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.

Default 3

MaxConnections

String

Specifies the maximum number of concurrent connections.

Default 100

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.

Default 1

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.

Default 0

IGMPLevel

String

Specifies the level of support allowed for IP multicast, corresponding to the levels in RFC 1112.

Default 2

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.

Default 73,216

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.

Default 4 (HTTP 1.0) · 2 (HTTP 1.1)

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.

Default 2 hours (7,200,000)

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.

Default 1 second (1000)

SessionKeepAlive

String

Specifies how often to send session keepalive packets on active sessions.

Default 3600 seconds

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.

Default 1

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.

Default 3

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.

Default 750 (minimum value 100)

NameSrvQueryTimeout

String

Specifies how long the system waits before timing out a name server query.

Default 750 (minimum 100)

CacheTimeout

String

Specifies how long NetBIOS names are cached.

Default 360,000 ms (minimum 60,000)

NameTableSize

String

Specifies the maximum number of names in the NetBIOS name table. The minimum allowable value is 1 and the maximum is 255.

Default 17

SessionTableSize

String

Specifies the maximum number of sessions in the NetBIOS session table. The minimum allowable value is 1 and the maximum is 255.

Default 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.

Default 1 (the default is 3 if the WINS proxy is enabled)

Lanabase

String

Sets the first LAN adapter (LANA) number that NetBIOS uses. Rarely needs changing.

Default 0

LocalCopyMade

String

An internal Windows networking flag. Leave it at its existing value.

Default 1