Tunable network parameters supported by the Alacritech release six drivers for Microsoft Windows.
Because the Alacritech Non-SNP Aware TCP offload (TOE) drivers start from a different code base than the Microsoft TCP stack and have different performance priorities than non-accelerated drivers, the Alacritech drivers do not support all network tuning parameters supported by the Microsoft TCP/IP stack. Furthermore, in some cases where a parameter may be supported, its default value, as well as its effect on the TCP stack may differ between Alacritech and Microsoft. This document is an attempt to shed some light on which parameters Alacritech supports, as well as how their effects may differ from that of the Microsoft TCP stack.
Alacritech ATCP network drivers recognize the following standard Microsoft TCP parameters. The Microsoft defaults displayed below are the values for Windows 2000 SP2. Other Windows operating system/service pack versions may have differing default values.
Global TCP Parameters
The following global values can be created by using the registry editor to add the appropriate value to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters key:
-
ArpCacheLife
-
|
Description:
|
|
Arp cache entry timeout in seconds.
|
|
Value Type:
|
|
REG_DWORD
|
|
Range:
|
|
0-0xFFFFFFFF
|
|
Microsoft Default:
|
|
2 min for unused values, 10 minutes or the value of ArpCacheMinReferencedLife, if referenced.
|
|
Alacritech Default:
|
|
Release 6: 20 minutes. ArpCacheMinReferencedLife is not supported.
Release 7: 10 minutes. ArpCacheMinReferencedLife is not supported.
|
-
DefaultTTL
-
|
Description:
|
|
Default IP Time-To-Live value (number of hops).
|
|
Value Type:
|
|
REG_DWORD
|
|
Range:
|
|
0-0xFF (0-255)
|
|
Microsoft Default:
|
|
0x80 (128)
|
|
Alacritech Default:
|
|
Release 6: 0x40 (64)
Release 7: 0x80 (128)
|
-
GlobalMaxTcpWindowSize
-
|
Description:
|
|
Global maximum TCP window size.
|
|
Value Type:
|
|
REG_DWORD
|
|
Range:
|
|
0-0x3FFFFFFF. Note that values greater than 0xFFFF (64k) are only valid when used in conjunction with window scaling. See the Tcp1323Opts parameter for more details.
|
|
Microsoft Default:
|
|
None
|
|
Alacritech Default:
|
|
None
|
-
KeepAliveInterval
-
|
Description:
|
|
TCP Keepalive retransmission interval in milliseconds.
|
|
Value Type:
|
|
REG_DWORD
|
|
Range:
|
|
0-0xFFFFFFFF
|
|
Microsoft Default:
|
|
0x000003FC ( 1000 ms, 1 sec )
|
|
Alacritech Default:
|
|
Release 6: 0x000124F8 ( 75000 ms, 75 sec )
Release 7: 0x000003FC ( 1000 ms, 1 sec )
|
-
KeepAliveTime
-
|
Description:
|
|
TCP Keepalive time in milliseconds
|
|
Value Type:
|
|
REG_DWORD
|
|
Range:
|
|
0-0xFFFFFFFF
|
|
Microsoft Default:
|
|
0x006DDD00 ( 7200000 ms, two hours )
|
|
Alacritech Default:
|
|
0x006DDD00 ( 7200000 ms, two hours )
|
-
Tcp1323Opts
-
|
Description:
|
|
Defines RFC 1323 options
|
|
Value Type:
|
|
REG_DWORD
|
|
Range:
|
|
0 - No RFC 1323 support
1 - Window scaling enabled (not supported by ATCP)
2 - Timestamps enabled
3 - Both enabled
|
|
Microsoft Default:
|
|
None, not initiated, but supported.
|
|
Alacritech Default:
|
|
None, Window scaling is not supported by Alacritech. Timestamps are supported but not initiated by default.
|
-
TcpInitialRTT
-
|
Description:
|
|
Initial RTT value
|
|
Value Type:
|
|
REG_DWORD
|
|
Range:
|
|
0-0xFFFF ( 0 - 64k )
|
|
Microsoft Default:
|
|
3
|
|
Alacritech Default:
|
|
3
|
-
TcpMaxDataRetransmissions
-
|
Description:
|
|
Maximum retransmissions before dropping connection.
|
|
Value Type:
|
|
REG_DWORD
|
|
Range:
|
|
0-0xFFFFFFFF
|
|
Microsoft Default:
|
|
5
|
|
Alacritech Default:
|
|
5
|
-
TcpMaxDupAcks
-
|
Description:
|
|
Number of duplicate ACKS received before triggering fast-retrans
|
|
Value Type:
|
|
REG_DWORD
|
|
Range:
|
|
1-3
|
|
Microsoft Default:
|
|
2
|
|
Alacritech Default:
|
|
3
|
-
TcpNumConnections
-
|
Description:
|
|
Maximum total connections allowed.
|
|
Value Type:
|
|
REG_DWORD
|
|
Range:
|
|
0-0xFFFFFE
|
|
Microsoft Default:
|
|
0xFFFFFE
|
|
Alacritech Default:
|
|
0xFFFFFE Of course there are limitations on the number that can be in fastpath based on the hardware.
|
-
TcpTimedWaitDelay
-
|
Description:
|
|
Time wait delay in seconds (typically 2MSL).
|
|
Value Type:
|
|
REG_DWORD
|
|
Range:
|
|
0x001E-0x012C ( 30 - 300 )
|
|
Microsoft Default:
|
|
0xF0 ( 240 )
|
|
Alacritech Default:
|
|
0x3C ( 60 )
|
-
TcpWindowSize
-
|
Description:
|
|
Global maximum TCP window size: See also GlobalMaxTcpWindowSize
|
|
Value Type:
|
|
REG_DWORD
|
|
Range:
|
|
0-0x3FFFFFFF. Note that values greater than 0xFFFF (64k) are only valid when used in conjunction with window scaling. See the Tcp1323Opts parameter for more details. The value selected should always be an even multiple of the Max Segment Size for greatest efficiency.
|
|
Microsoft Default:
|
|
The smaller of:
* 0xFFFF (65535)
* GlobalMaxTcpWindowSize
* The larger of
- 4 x the Max Segment Size
- 16348 rounded up to the nearest multiple of the MSS
Typically, if neither jumbo frames nor window scaling are being used, and the medium is ethernet, the MSS is 1460, and the TCP window size will be 17520 (12 x 1460).
|
|
Alacritech Default:
|
|
The smaller of:
* GlobalMaxTcpWindowSize
* 16060 ( 11 * 1460 ) for 100Mb products
or
* 65535 for 1000Mb products. Actually, internally it's ( 45 * 1460 ) = 65700, but since that's larger than the legal value (without window scaling), it's advertised as 65535.
|
Per Interface TCP Parameters
The following interface specific values can be set by adding the appropriate value to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<NetCfgInstanceId> key for a particular interface:
-
MTU
-
|
Description:
|
|
MTU value of specified interface. This is limited by the MTU reported by the underlying interface. It is usually not necessary to adjust this setting, as both Alacritech and Microsoft support Path MTU Discovery.
|
|
Value Type:
|
|
REG_DWORD
|
|
Range:
|
|
0x44-<MTU of underlying network> ( 68-<network MTU> )
|
|
Microsoft Default:
|
|
0xFFFFFFFF
|
|
Alacritech Default:
|
|
None. Note that even the Microsoft and Alacritech don't think about this parameter in quite the same way, the net result is the same. It will have no effect, unless 68 < MTU < network MTU.
|
-
TcpWindowSize
-
|
Description:
|
|
Maximum TCP Window size for the specified interface.
|
|
Value Type:
|
|
REG_DWORD
|
|
Range:
|
|
same as global value above
|
|
Microsoft Default:
|
|
same as global value above
|
|
Alacritech Default:
|
|
same as global value above
|