TCP/IP Transport Entries

The various TCP/IP keys do not appear in the Registry unless TCP/IP is installed using the Network icon in Control Panel.

With Registry Editor, you can modify the following parameters for the TCP/IP transport. This section does not include all the TCP/IP parameters that can be set using the Networks application in Control Panel. You must restart your machine for a change in any of these parameters to take effect.

The startup parameters defined in this section are found in these subkeys of HKEY_LOCAL_MACHINE\SYSTEM\System\CurrentControlSet\Services:

Parameters for network bindings for this service are described in "NetRules Subkey Entries," earlier in this chapter. See also IsDomainMasterBrowser in "Browser Service Entries," earlier in this chapter.

TCP/IP Parameters Subkey Entries

The entries for TCP/IP parameters appear under the following Registry path:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

ArpCacheLife REG_DWORD Number of Seconds

Determines the default lifetime for entries in the ARP cache table. Once an entry is placed in the ARP cache, it is allowed to remain there until its lifetime expires or until its table entry is reused because it is the oldest entry.

Default: 600 (10 minutes)

ArpCacheSize REG_DWORD Number

Determines the maximum number of entries that the ARP cache table can hold. The ARP cache is allowed to grow dynamically until this size is reached. After the table reaches this size, new entries can only be added by replacing the oldest entries that exist.

Default: 62

ArpUseEtherSNAP REG_DWORD Boolean

If set to 1 (true), TCP/IP is forced to transmit ethernet packets using 802.3 SNAP encoding. By default, the stack transmits packets in DIX ethernet format. It will always receive both formats.

Default: 0 (false)

DatabasePath REG_EXPAND_SZ Valid Windows NT path

Specifies the path to the standard Internet database files (hosts, lmhosts, networks, protocols). It is used by the Windows Sockets interface.

Default: %SystemRoot%\system32\drivers\etc

DefaultTOS REG_DWORD 0 to 255

Specifies the default Type of Service (TOS) value set in the header of outgoing IP packets. See RFC 791 for a definition of values.

Default: 0

DefaultTTL REG_DWORD 1 to 255 seconds

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. It is effectively a bound on the number of routers an IP packet may pass through before being discarded.

Default: 32

EnableDeadGWDetect REG_DWORD 0 or 1

Setting this parameter to 1 causes TCP to perform Dead Gateway Detection. With this feature enabled, TCP will ask IP to change to a backup gateway if it retransmits a segment several times without receiving a response. Backup gateways may be defined in the Advanced section of the TCP/IP configuration dialog in the Network Control Panel option.

Default: 1 (true)

EnablePMTUBHDetect REG_DWORD 0 or 1

Setting this parameter to 1 (True) causes TCP to try to detect "Black Hole" routers while doing Path MTU Discovery. A "Black Hole" router does not return ICMP Destination Unreachable messages when it needs to fragment a TCP packet with the Don't Fragment bit set. TCP depends on receiving these messages to perform Path MTU Discovery. With this feature enabled, TCP will try to send segments without the Don't Fragment bit set if several retransmissions of a segment go unacknowledged. If the segment is acknowledged as a result, the MSS will be decreased and the Don't Fragment bit will be set in future packets on the connection. Enabling black hole detection increases the maximum number of retransmissions performed for a given segment.

Default: 0 (false)

EnablePMTUDiscovery REG_DWORD 0 or 1

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.

Default: 1 (true)

ForwardBufferMemory REG_DWORD Number of bytes

This parameter determines how much memory IP allocates to store packet data in the router packet queue. When this buffer space is filled, the router begins discarding packets at random from its queue. Packet queue data buffers are 256 bytes in length, so the value of this parameter should be a multiple of 256. Multiple buffers are chained together for larger packets. The IP header for a packet is stored separately. This parameter is ignored and no buffers are allocated if the IP router is not enabled.

Default: 74240 (enough for fifty 1480-byte packets, rounded to a multiple of 256).

IGMPLevel REG_DWORD 0, 1, or 2

This parameter determines to what extent the system supports IP multicasting and participates in the Internet Group Management Protocol. At level 0, the system provides no multicast support. At level 1, the system may only send IP multicast packets. At level 2, the system may send IP multicast packets and fully participate in IGMP to receive multicast packets.

Default: 2

IpReassemblyTimeout REG_DWORD Number of seconds

Determines how long IP accepts fragments when attempting to reassemble a previously fragmented packet. That is, if a packet is fragmented, all of the fragments must make it to the destination within this time limit; otherwise, the fragments will be discarded and the packet will be lost.

Default: 60 seconds

KeepAliveInterval REG_DWORD 1 to 0xffffffff milliseconds

This parameter determines the interval separating keep alive retransmissions until a response is received. Once a response is receive, the delay until the next keep alive transmission is again controlled by the value of KeepAliveTime. The connection will be end after the number of retransmissions specified by TcpMaxDataRetransmissions have gone unanswered.

Default: 1000 (1 second)

KeepAliveTime REG_DWORD 1 to 0xffffffff milliseconds

The parameter controls how often TCP attempts to verify that an idle connection is still intact by sending a keep alive packet. If the remote system is still reachable and functioning, it will acknowledge the keep alive transmission. Keep alive packets are not sent by default. This feature may be enabled on a connection by an application.

Default: 7,200,000 (two hours)

NumForwardPackets REG_DWORD Less than 0xffffffff

This parameter determines the number of IP packet headers which are allocated for the router packet queue. When all headers are in use, the router will begin to discard packets at random from the queue. This value should be at least as large as the ForwardBufferMemory value divided by the maximum IP data size of the networks connected to the router. It should be no larger than the ForwardBufferMemory value divided by 256, since at least 256 bytes of forward buffer memory are used for each packet. The optimal number of forward packets for a given ForwardBufferMemory size depends on the type of traffic carried on the network and will be somewhere in between these two values. This parameter is ignored and no headers are allocated if the router is not enabled.

Default: 50

TcpDisableReceiveChecksum REG_DWORD 0 or 1

Specifies whether Checksums is disabled on receive.

Default: 0 (false, that is, checksums will be checked on receives)

TcpDisableSendChecksum REG_DWORD 0 or 1

Specifies whether Checksums is disabled on send.

Default: 0 (false, that is, checksums will be generated on sends)

TcpKeepCnt REG_DWORD Number in seconds

Specifies how often TCP/IP will generate keep-alive traffic. When TCP/IP determines that no activity has occurred on the connection within the specified time, it generates keep-alive traffic to probe the connection. After trying TcpKeepTries number of times to deliver the keep-alive traffic without success, it marks the connection as down.

Default: 120

TcpKeepTries REG_DWORD Number

Specifies the maximum number of times that TCP/IP will attempt to deliver keep-alive traffic before marking a connection as down.

Default: 20

TcpLogLevel REG_DWORD Number

Specifies how verbose TCP/IP should be about logging events in the event log. The highest level of verbosity is 16, and 1 is the lowest level. The following shows general information about these levels.

Level

Events to be included

1

Only the most critical errors

4

Serious protocol violations

8

Nonserious protocol violations

12

Information about unusual events

16

Information about unusual events that some networks normally allow


Default: 16 (log everything)

TcpMaxConnectAttempts REG_DWORD Number

Specifies the maximum number of times TCP/IP attempts to establish a connection before reporting failure. The initial delay between connection attempts is 3 seconds. This delay is doubled after each attempt.

Default: 3

TcpMaxConnectRetransmission REG_DWORD 0 to 0xffffffff

This parameter determines the number of times TCP will retransmit a connect request (SYN) before stoping the attempt. The retransmission timeout is doubled with each successive retransmission in a given connect attempt. The initial timeout value is three seconds.

Default: 3

TcpMaxDataRetransmissions REG_DWORD 0 to 0xffffffff

This parameter controls the number of times TCP will retransmit an individual data segment (non connect segment) before ending the connection. The retransmission timeout is doubled with each successive retransmission on a connection. It is reset when responses resume. The base timeout value is dynamically determined by the measured round-trip time on the connection.

Default: 5

TcpMaxRetransmissionAttempts REG_DWORD Number

Specifies the maximum number of times that TCP/IP attempts to retransmit a piece of data on an established connection before ending the connection. The initial delay before retransmitting is based on the current estimate TCP/IP makes of the round-trip time on the connection. This delay is doubled after each retransmission. Acknowledgment of the data results in a recalculation of the estimate for the round-trip time.

Default: 7

TcpNumConnections REG_DWORD 0 to 0xffffFE

This parameter limits the maximum number of connections that TCP may have open simultaneously.

Default: 0xffffFE

TcpRecvSegmentSize REG_DWORD Bytes

Specifies the maximum receive segment size.

Default: 1460

TcpSendDownMax REG_DWORD Number

Specifies the maximum number of bytes queued by TCP/IP.

Default: 16384

TcpSendSegmentSize REG_DWORD Bytes

Specifies the maximum send segment size.

Default: 1460

TcpUseRFC1122UrgentPointer REG_DWORD 0 or 1

This parameter determines whether TCP uses the RFC 1122 specification for urgent data or the mode used by BSD-derived systems. The two mechanisms interpret the urgent pointer in the TCP header and the length of the urgent data differently. They are not interoperable. Windows NT defaults to BSD mode.

Default: 0 (false)

TcpWindowSize REG_DWORD Number

This parameter determines the maximum TCP receive window 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 or high bandwidth networks. For maximum efficiency, the receive window should be an even multiple of the MTU of the underlying network less the size of the standard TCP and IP headers (40 bytes).

Default: The smaller of: 0xffff OR the larger of: four times the maximum TCP data size on the network OR 8192 rounded up to an even multiple of the network TCP data size

UdpDisableReceiveChecksum REG_DWORD 0 or 1

Specifies whether Checksums is disabled on receive.

Default: 0 (false, that is, checksums will be checked on receives)

UdpDisableSendChecksum REG_DWORD 0 or 1

Specifies whether Checksums is disabled on send.

Default: 0 (false, that is, checksums will be generated on sends)

UdpNumConnections REG_DWORD Number

Specifies the maximum number of UDP endpoints.

Default: 64

Adapter Card Parameters for TCP/IP

These parameters for TCP/IP are specific to individual network adapter cards. These appear under the following Registry path, where adapter name# refers to the Services subkey for the specific adapter card:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\adapter name#\Parameters\Tcpip

BroadcastType REG_DWORD 0 or 1

Determines whether broadcast packets contain all 0's or all 1's as the broadcast address. The most common broadcast type is all 1's. The all-0's setting is provided for compatibility with BSD 4.2 systems.

Default: 1 (all 1's)

ForwardBroadcasts REG_DWORD 0 or 1

Specifies whether broadcasts should be forwarded between adapters. If enabled, broadcasts seen by this interface are forwarded to other IP interfaces.

Default: 0 (false)

KeepAlive REG_DWORD 0 or 1

Determines whether TCP connections that request keep-alive packets result in keep-alive packets being sent. This feature is used to determine when inactive connections can be disconnected. When a connection becomes inactive, keep-alive packets are periodically exchanged. When 20 consecutive keep-alive packets go unanswered, the connection is broken. This disconnect is initiated by the endpoint that is sending keep-alive packets.

Default: 1 (true)

MTU REG_DWORD Number in octets

Specifies the maximum transmission unit size of an interface. Each interface used by TCP/IP may have a different MTU value specified. The MTU is usually determined through negotiation with the lower driver, using that lower driver's value. However, that value may be overridden.

Ideally, the MTU should be large enough to hold any datagram in one frame. The limiting factor is usually the technology making the transfer. Some technologies limit the maximum size to as little as 128; Ethernet limits transfers to 1500; and proNet-10 allows as many as 2044 octets per frame.

Datagrams larger than the MTU value are automatically divided into smaller pieces called fragments; size is a multiple of eight octets. Fragmentation usually occurs somewhere through which the traffic must pass whose MTU is smaller than the encapsulated datagram. If fragmentation occurs, the fragments travel separately to the destination computer, where they are automatically reassembled before the datagram is processed.

Default: 0 (That is, use the value supplied by the adapter.)

RouterMTU REG_DWORD Number in octets

Specifies the maximum transmission unit size that should be used when the destination IP address is on a different subnet. Each interface used by TCP/IP may have a different RouterMTU value specified. In many implementations, the value of RouterMTU is set to 576 octets. This is the minimum size that must be supported by any IP node. Because modern routers can usually handle MTUs larger than 576 octets, the default value for this parameter is the same value as that used by MTU.

Default: 0 (That is, use the value supplied by the lower interface.)

Trailers REG_DWORD 0 or 1

Specifies whether the trailer format is used. This feature provides compatibility with BSD 4.2 systems. When this feature is enabled, TCP/IP header information follows the data area of IP packets.

Default: 0 (false)

UseZeroBroadcast REG_DWORD 0 or 1

If set to 1 (true), TCP/IP uses zeros for the host portion of the broadcast address. The ones-flavored local broadcast address is 255.255.255.255, while the zeros-flavored is 0.0.0.0. Most systems use ones-flavored broadcasts, but some systems derived from BSD implementations use zeros-flavored. Systems which use different flavors will not interoperate well on the same network.

Default: 0 (false)

DHCP Server Service Entries for TCP/IP

You must restart the Microsoft DHCP Server service whenever you change any of these parameters.

The Registry parameters for DHCP servers are specified under the following key:


..SYSTEM\current\currentcontrolset\services\DHCPServer\Parameters

APIProtocolSupport REG_DWORD 1, 2, 4, 5, 7

Specifies the supported protocols for the DHCP server. You can change this value to ensure that different computers running different protocols can access the DHCP server. The values for this parameter can be the following:

0x1 For RPC over TCPIP protocols
0x2 For RPC over named pipes protocols
0x4 For RPC over local procedure call (LPC) protocols
0x5 For RPC over TCPIP and RPC over LPC 0x7 For RPC over all three protocols (TCP/IP, named pipes, and LPC)

Default = 0x5

BackupDatabasePath REG_EXPAND_SZ filename

Specifies the location of the backup database file where the database is backed up periodically. The best location for the backup file is on another hard drive, so that the database can be recovered in case of a system drive crash. Do not specify a network drive, because DHCP Manager cannot access a network drive for database backup and recovery.

Default = %SystemRoot%\system32\dhcp\backup

BackupInterval REG_DWORD Interval

Specifies the interval (unlimited) for backing up the database.

Default = 60 minutes

DatabaseCleanupInterval REG_DWORD Interval in minutes

Specifies the interval (unlimited) for cleaning up expired client records from the DHCP database, freeing up those IP addresses for reuse.

Default = 1440 minutes (1 day)

DatabaseLoggingFlag REG_DWORD 0 or 1

Specifies whether to record the database changes in the JET.LOG file. This log file is used after a system crash to recover changes that have not been made to the database file defined by DatabaseName. Database logging affects system performance, so DatabaseLogging can be turned off if you believe the system is highly stable and if logging is adversely affecting system performance.

Default = 1 (true—that is, database logging is enabled)

DatabaseName REG_SZ filename

Specifies the name of the database file to be used for the DHCP client information database.

Default = dhcp.mdb

DatabasePath REG_EXPAND_SZ pathname

Specifies the location of the database files that have been created and opened.

Default = %SystemRoot%\System32\dhcp

RestoreFlag REG_DWORD 0 or 1

Specifies whether to restore the database from the backup directory. This flag is reset automatically after the successful restoration of the database.

Default = 0 (false—that is, do not restore)

DHCP Clients Service Entries for TCP/IP

The Registry parameters for DHCP clients are specified under the following key:


SYSTEM\current\currentcontrolset\services\DHCP\Parameter\<option#>

The Option# keys are a list of DHCP options that the client can request from the DHCP server. For each of the default options, the following values are defined:

RegLocation REG_SZ location

Specifies the location in the Registry where the option value is written when it is obtained from the DHCP server. The "?" character expands to the adapter name for which this option value is obtained.

Default = Depends on the Registry location for the specific option

KeyType REG_DWORD type

Specifies the type of Registry key for the option.

Default = 0x7

FTP Server Service Entries for TCP/IP

The following Registry path contains parameters that affect the behavior of the FTP server service component:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ftpsvc\Parameters

The Ftpsvc subkey does not appear until you install the FTP service using the Network icon in Control Panel. Also, you must restart the FTP server service (Ftpsvc) using the Services icon in Control Panel for any changes to these values to take effect.

There can also be an AccessCheck subkey under Ftpsvc, which allows access to FTP for new users. If the AccessCheck subkey exists, but cannot be opened, the user is refused FTP services. If the subkey exists but can only be opened for read access, the user is granted read-only FTP access. If the subkey does not exist, it is not used to influence FTP access. By default, this subkey does not exist and therefore has no impact on FTP operations. An administrator can create this Registry subkey and attach specific access controls. which will serve to control user access to the FTP service.

AllowAnonymous REG_DWORD 0 or 1

Controls anonymous logons. Anonymous logons are only allowed if this value is nonzero (true).

Default: 1 (true — anonymous logons are allowed)

AnnotateDirectories REG_DWORD 0 or 1

When this value is 1, every time a user changes directories (that is, sends the server a CWD command), an attempt is made to open a file named ~FTPSVC~.CKM in the new directory. If this file is found, its contents are sent to the user as part of the successful reply to the CWD command. This may be used to attach annotations to specific directories.

This value is used as a default for new users. Users can toggle their own personal annotate directories flag with the site-specific CKM command (SITE CKM).

Default: 0 (false —do not send directory annotations)

AnonymousOnly REG_DWORD 0 or 1

When this value is 1, only anonymous logons are allowed. Otherwise, nonanonymous logons are allowed as well.

Default: 0 (false —nonanonymous logons are allowed)

AnonymousUserName REG_SZ UserName

Contains the anonymous login alias. When a user attempts an anonymous login, the username specified ("anonymous") is mapped to this Registry value for authentication and impersonation.

Default: "Guest"

ConnectionTimeout REG_DWORD Seconds

Specifies the time to allow clients to remain idle before forcibly disconnecting them. This prevents idle clients from consuming server resources indefinitely.

This value may be set to 0 if time-outs are not to be enforced. If set to 0, idle clients may remain connected indefinitely.

Default: 600 (10 minutes)

ExitMessage REG_SZ Message

Specifies a signoff message sent to an FTP client upon receipt of a QUIT command.

Default: "Goodbye."

GreetingMessage REG_MULTI_SZ Strings

Specifies the message (if this value exists in the Registry) to be sent to new clients after their account has been validated. In accordance with de facto Internet behavior, if a client logs on as anonymous and specifies an identity starting with a "-" (minus), then this greeting message is not sent.

Default: None (no special greeting message)

HomeDirectory REG_EXPAND_SZ Path

Specifies the initial home directory for new clients. After a new client is validated, an attempt is made to change to this directory with the Chdir command. If this directory is inaccessible, the client is refused FTP services. If Chdir is successful, then an attempt is made to change to a directory with the same name as the client's username. If this fails, an attempt is made to change to a directory called DEFAULT. If this fails, the current directory is left at home.

If a new client connects and finds the home directory is inaccessible, an event is written to the event log.

Default: C:\

LogAnonymous REG_DWORD 0 or 1

When this value is 1, all successful anonymous logons are logged to the system event log.

Default: 0 (false —do not log successful anonymous logons)

LogFileAccess REG_DWORD 0, 1, or 2

Specifies log file access method. Syntax is as follows:

Value

Description

0

Do not log file accesses (default).

1

Log file accesses to FTPSVC.LOG

2

Log file accesses to FTyymmdd.LOG, where yy is the current year, mm is the current month, and dd is the current day. New log files are opened daily as necessary.


Default: 0

LogFileDirectory REG_SZ directory path

Specifies the target directory for the log file(s). This allows the log file(s) to be moved off of the system partition.

Default: %SystemRoot%\System32

LogNonAnonymous REG_DWORD 0 or 1

When this value is 1, all successful nonanonymous logons are logged to the system event log.

Default: 0 (false, that is, do not log successful nonanonymous logons)

MaxClientsMessage REG_SZ Message

Specifies the message (if this value exists in the Registry) to be sent to a client if the maximum number of clients has been reached or exceeded. This indicates that the server is currently servicing the maximum number of simultaneous clients and is refusing additional clients. See MaxConnections.

Default: "Maximum clients reached, service unavailable."

MaxConnections REG_DWORD 0 or 1

Specifies the maximum number of simultaneous clients the server will service. This value may be set to 0 if there is to be no limit on simultaneous clients.

Default: 20

MsdosDirOutput REG_DWORD 0 or 1

When this value is 1, the output of the LIST command (usually sent as a result of a DIR command from the client) will look like the output of the MS-DOS dir command. If this value is 0, the output of the LIST command looks like the output of the UNIX ls command.

This value also controls slash flipping in the path sent by the PWD command. When this value is 1 (true), the path contains backward slashes (\). If this value is 0 (false), the path contains forward slashes (/).

This value is used as a default for new users. Users can toggle their own personal MS-DOS directory output flag with the site-specific DIRSTYLE command (SITE DIRSTYLE).

Default: 1 (true—directory listings will look like MS-DOS)

ReadAccessMask REG_DWORD BitFields

This value is a bitmask and controls the read ability of the various disk volumes in the system. Drive A corresponds to bit 0, drive B corresponds to bit 1, drive C corresponds to bit 2, and so on. A user may only read from a specific volume if the corresponding bit is set.

Default: 0 (all read access denied)

WriteAccessMask REG_DWORD BitFields

This value is a bitmask and controls the write ability of the various disk volumes in the system. Drive A corresponds to bit 0, drive B corresponds to bit 1, drive C corresponds to bit 2, and so on. A user may only write to a specific volume if the corresponding bit is set.

Default: 0 (all write access denied)

NetBt Parameters for TCP/IP

NetBt is the NetBIOS over TCP/IP service. Parameters for TCP/IP are also configured under NetBt in the following Registry path:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBt\Parameters

BcastNameQueryCount REG_DWORD 1 to 0xffff repetitions

This value determines the number of times NBT broadcasts a query for a given name without receiving a response.

Default: 3

BcastQueryTimeout REG_DWORD 100 to 0xffffffff milliseconds

This value determines the time interval between successive broadcast name queries for the same name.

Default: 750 msec

BroadcastAddress REG_DWORD 0 to 0xffffffff

This parameter can be used to force NBT to use a specific address for all broadcast name related packets. By default, NBT uses the ones-flavor subnet broadcast address appropriate for each net (i.e. for a net of 11.101.0.0 with a mask of 255.255.0.0, the subnet broadcast address would be 11.101.255.255). This parameter would be set, for example, if the network uses the zeros-flavor broadcast address (set using the UseZeroBroadcast TCP/IP parameter). The appropriate subnet broadcast address would then be 11.101.0.0 in the example above. This parameter would then be set to 0x0b650000. Note that this parameter is global and will be used on all subnets to which NBT is bound.

Default: The ones-flavored subnet broadcast address for each network

CacheTimeout REG_DWORD 60000 to 0xffffffff milliseconds

This value determines the time interval that names are cached in the remote name table.

Default: 0x927C0 (10 minutes)

EnableProxyCheck REG_DWORD 0 or 1

When this is enabled, the proxy will check name registrations from Bnodes against the WINS database by doing a name query to WINS. If it finds the name in WINS with a different IP address, the proxy will send a name registration failure message to the Bnode. Set this value to 1 to verify that Bnodes do not claim names that Pnodes have.

Default: 0 (disabled)

EnableProxyRegCheck REG_DWORD 0 or 1

If this parameter is set to 1 (True), then the proxy name server will send a negative response to a broadcast name registration if the name is already registered with WINS or is in the proxy's local name cache with a different IP address. The hazard of enabling this feature is that it prevents a system from changing its IP address as long as WINS has a mapping for the name. For this reason it is disabled by default.

Default: 0 (false)

InitialRefreshTimeout REG_DWORD 960,000 to 0xfffffff milliseconds

This parameter specifies the initial refresh timeout used by NBT during name registration. NBT tries to contact the WINS servers at 1/8th of this time interval when it is first registering names. When it receives a successful registration response, that response will contain the new refresh interval to use.

Default: 960,000 (16 minutes)

LmhostsTimeout REG_DWORD 1000 to 0xffffffff milliseconds

This parameter specifies the timeout value for Lmhosts and DNS name queries. The timer has a granularity of the timeout value, so the actual timeout could be as much as twice the value.

Default: 6000 (6 seconds)

MaxDgramBuffering REG_DWORD 0 to 0xffffffff bytes

This parameter specifies the maximum amount of memory that NBT will dynamically allocate for all outstanding datagram sends. Once this limit is reached, further sends will fail due to insufficient resources.

Default: 0x20,000 (128K)

MaxPreload REG_DWORD Number

Specifies the maximum NetBt number of entries for LMHOSTS that are preloaded into the NetBt NetBIOS name cache. LMHOSTS is a file located in the directory specified by DatabasePath.

Default: 100

NameServerPort REG_DWORD 0 to 0xffff (UPD port number)

This parameter determines the destination port number to which NBT will send name service related packets such as name queries and name registrations to WINS. The Microsoft WINS listens on port 0x89. Netbios Name Servers from other vendors may listen on different ports.

Default: 0x89

NameSrvQueryCount REG_DWORD 0 to 0xffff milliseconds

This value determines the number of times NBT sends a query to a WINS server for a given name without receiving a response.

Default: 3

NameSrvQueryTimeout REG_DWORD 0 to 0xffffffff milliseconds

This value determines the time interval between successive name queries to WINS for a given name.

Default: 750 msec

NbtKeepAlive REG_DWORD Number in seconds

Specifies how often NetBT will generate keep-alive traffic. When NetBt determines that no activity has occurred on a connection for the specified time interval, it will generate keep-alive traffic to probe the connection. If TCP/IP is unable to deliver this traffic, it marks the connection as down and notifies NetBT.

Default: 1 (Generate NetBt keep-alive traffic.)

NodeType REG_DWORD 1, 2, 4, or 8

1 = Bnode, 2 = Pnode, 4 = Mnode, 8 = Hnode. A Bnode system uses broadcasts. A Pnode system uses only point-to-point name queries to a name server (WINS). An Mnode system broadcasts first, then queries the name server. An Hnode system queries the name server first, then broadcasts. Resolution via Lmhosts and/or DNS, if enabled, will follow the these methods. If this key is present it will override the DhcpNodeType key. If neither key is present, the system defaults to Bnode if there are no WINS servers configured for the network. The system defaults to Hnode if there is at least one WINS server configured.

Default: 1 or 8 based on the WINS server configuration.

PermanentName REG_SZ Unique name

Specifies the permanent name of the NetBIOS node for NetBt. In many NetBIOS implementations, this is the MAC address. This name must be unique.

Default: The value of IPAddress in dotted decimal

RandomAdapter REG_DWORD 0 or 1

This parameter applies to a multihomed machine only. If it is set to 1 (True), then NBT will randomly choose the IP address to put in a name query response from all of its bound interfaces. Normally, the response contains the address of the interface on which the query arrived. This feature would be used by a server with two interfaces on the same network for load balancing. The SingleResponse parameter must be set to a value of 1 (True) for this parameter to take effect.

Default: 0 (false)

RefreshOpCode REG_DWORD 8 or 9

This parameter forces NBT to use a specific opcode in name refresh packets. The specification for the NBT protocol is somewhat ambiguous in this area. Although the default of 8 used by Microsoft implementations appears to be the intended value, some other implementations, such as those by Ungermann-Bass, use the value 9. Two implementations must use the same opcode to interoperate.

Default: 8

SessionKeepAlive REG_DWORD 60,000 to 0xffffffff

This value determines the time interval between keep alive transmissions on a session. Setting the value to 0xffffffff disables keep alives.

Default: 60,000 (1 hour)

SingleResponse REG_DWORD 0 or 1

This parameter applies to a multihomed machine only. If this parameter is set to 1 (True), then NBT will only supply an IP address from one of its bound interfaces in name query responses. By default, the addresses of all bound interfaces are included. This parameter must be set to 1 (True) to enable the RandomAdapter feature.

Default: 0 (false)

Size/Small/Medium/Large REG_DWORD 1, 2, or 3

This value determines the size of the name tables used to store local and remote names. In general, Small (1) is adequate. If the system is acting as a proxy nameserver, then the value is automatically set to Large to increase the size of the name cache hash table. Large (3) sets the number of hash buckets to 256, Medium (2) to 128, Small to 16.

Default: 1 (Small)

WinsDownTimeout REG_DWORD 1000 to 0xffffffff milliseconds

This parameter determines the amount of time NBT will wait before again trying to use WINS after it fails to contact any WINS server. This feature primarily allows machines which are temporarily disconnected from the network, such as laptops, to proceed through boot processing without waiting to timeout out each WINS name registration or query individually.

Default: 15,000 (15 seconds)

Streams Parameters for TCP/IP

The TCP/IP parameter for Streams are found under the following Registry path:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Streams\Parameters

MaxMemoryUsage REG_DWORD Number of bytes

Specifies the maximum amount of memory that can be allocated to the Streams environment. Once this limit is reached, Streams will fail allocation requests made by Streams-based drivers.

Default: No limit

Windows Sockets Entries for TCP/IP

All Windows Sockets parameters can be set by choosing the Network icon in Control Panel. These parameters are found in two locations, as shown here.


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet    \Services
\Winsock\Parameters

Transports REG_Multi_SZ Strings

Contains the Registry key names of installed transports that support Windows Sockets. If TCP/IP is the only installed transport that supports Windows Sockets, then this value is Tcpip. The Windows Sockets DLL uses the strings in Transports to find information about each transport.

Default: Depends on installation


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet    \Services
\TCPIP\Parameters\Winsock

HelperDllName REG_EXPAND_SZ Path and filename

Specifies the name of the Windows Sockets helper DLL for the TCP/IP transport. This value is set by the Windows Sockets DLL and is not a user defined parameter.

Default: Depends on the transport; %SystemRoot%\system32\wshtcpip.dll for TCP/IP.

IRPStackSize REG_DWORD Number

Specifies the number of IRP stack locations needed by AFD, the driver used for Windows Sockets. The default is sufficient for all existing transports, but new transports may be developed that need more IRP stack locations.

Default: 4

Mapping REG_BINARY

Identifies the address families, socket types, and protocols supported by the transport. This value is set by the Windows Sockets DLL and is not a user defined parameter.

Default: Depends on transport

MaxSockAddrLen REG_DWORD Octets

Specifies the maximum length of socket addresses for the INET sockets family. This value is set by the Windows Sockets DLL and is not a user defined parameter.

MinSockAddrLen REG_DWORD Octets

Specifies the minimum length of socket addresses for the INET sockets family. This value is set by the Windows Sockets DLL and is not a user defined parameter.

AFD is the driver that handles Winsock. These values are in the following Registry path:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet    \Services\Afd\Parameters

Some of these values have three defaults, depending on amount of RAM:

Default

Amount of RAM

First

12.5 MB or less

Second

12.5 to 20 MB

Third

More than 20 MB


BufferMultiplier REG_DWORD Multiplier

DefaultReceiveWindow and DefaultSendWindow get divided by this value to determine how many massages can be sent/received before flow control is imposed.

Default: 512

DefaultReceiveWindow REG_DWORD Bytes

The number of receive bytes AFD will buffer on a connection before imposing flow control. for some applications. A larger value here will give slightly better performance at the expense of increased resource utilization. Note that applications can modify this value on a per-socket basis with the SO_RCVBUF socket option.

Default: 8192

DefaultSendWindow REG_DWORD Bytes

Same as DefaultReceiveWindow, but for the send side of connections.

Default: 8192

InitialLargeBufferCount REG_DWORD Buffer count

The count of large buffers allocated by AFD at system startup. Allocate more buffers to improve performance at the cost of physical memory.

Default: 0, 2, or 10 depending on RAM amount.

InitialMediumBufferCount REG_DWORD Buffer count

Initial count of medium buffers.

Default: 2, 10, or 30 depending on RAM amount.

InitialSmallBufferCount REG_DWORD Buffer count

Initial count of small buffers.

Default: 5, 20, or 50 depending on RAM amount.

LargeBufferSize REG_DWORD Bytes

The size in bytes of large buffers used by AFD. Smaller values use less memory, larger values can improve performance.

Default: 4096

MediumBufferSize REG_DWORD Bytes

The size in bytes of medium buffers used by AFD. Smaller values use less memory, larger values can improve performance.

Default: 1504

PriorityBoost REG_DWORD Priority

The priority boost AFD gives to a thread when it completes I/O for that thread. If a multithreaded application experiences starvation of some threads, reducing this value may remedy the problem.

Default: 2

SmallBufferSize REG_DWORD Bytes

The size in bytes of small buffers used by AFD. Smaller values use less memory, larger values can improve performance.

Default: 64

StandardAddressLength REG_DWORD Length

The length of TDI addresses typically used for the machine. If the customer has a transport protocol like TP4 which uses very long addresses, then increasing this value will result in a slight performance improvement.

Default: 24

WINS Entries for TCP/IP

The Registry parameters for WINS servers are specified under the following subkey:


  \SYSTEM\CurrentControlSet\Services\Wins\Parameters

This subkey lists all the nonreplication-related parameters needed to configure a WINS server. It also contains a \Datafiles subkey, which lists all the files that should be read by WINS to initialize or reinitialize its local database.

DbFileNm REG_EXPAND_SZ path name

Specifies the full path name for the WINS database file.

Default = %SystemRoot%\system32\wins\wins.mdb

DoStaticDataInit REG_DWORD 0 or 1

If this parameter is set to a non-zero value, the WINS server will initialize its database with records listed in one or more files listed under the \Datafiles subkey. The initialization is done at process invocation and whenever a change is made to one or more values of the \Parameters or \Datafiles keys (unless the change is to change the value of DoStaticDataInit to 0).

Default = 0 (false—that is, the WINS server does not initialize its database)

InitTimePause REG_DWORD 1-40

Set to 1 to instruct WINS to remain in the paused state until the first replication. If set to 1, it is recommended that WINS\Partners\Pull\InitTimeReplication be either set to 1 or removed. Either method ensures that WINS replicates with its listed partners on starting. Paused state means that WINS will not accept any name registrations/releases until the above replication happens.

Default: 0

LogFilePath REG_SZ or REG_EXPAND_SZ Directory

Specifies the directroy for WINS log files.

Default: %SystemRoot%\System32\WINS

NoOfWrkThds REG_DWORD 1-40

Specifies the number of worker threads (to handle name query packets from clients). This can be changed without restarting the WINS computer.

Default: Number of processors on the system

PriorityClassHigh REG_DWORD 0-1

Specifies the priority class of WINS. Set to 1 for high priority class. This can be changed without restarting the WINS computer.

Default: 0

Also, the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \Wins\Parameters\Datafiles subkey lists one or more files that the WINS server should read to initialize or reinitialize its local database with static records. If the full path of the file is not listed, the directory of execution for the WINS server is assumed to contain the data file. The parameters can have any names (for example, DF1 or DF2). Their data types must be REG_SZ or REG_EXPAND_SZ.

The HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \Wins\Partners key has two subkeys, \Pull and \Push, under which are subkeys for the IP addresses of all push and pull partners, respectively, of the WINS server.

A push partner, listed under the \Partners\Pull key, is one from which a WINS server pulls replicas and from which it can expect update notification messages. The following parameter appears under the IP address for a specific push partner. This parameter can be set only by changing the value in Registry Editor:

OnlyDynRecs REG_DWORD 0 or 1

If set to 1, specifies that only dynamically registered records be replicated to WINS pulling replicas. The default setting of 0 means that all records (dynamic and static) be replicated.

Default: 0

MemberPrec REG_DWORD 0 or 1

Specifies the relative precedence of addresses in an Internet group (name with 16th byte being 0x1c). Addresses in the 0x1c names pulled from a WINS partner will be given the precedence assigned to the WINS. The value can be 0 (low) or 1 (high). The locally registered addresses always have a high precedence. Set this value to 1 if this WINS partner is serving a geogrphic location that is nearby.

Default: 0