发布时间:2025-12-10 19:31:09 浏览次数:21
TCPAckFrequency does not take effect.[通俗易懂]ThishappenedwhenTCPIPstartedtoaddanetworkinterfacebasedonitsTCPIPregistry,andTCPAckFrequencycouldnotapplybecausetheTCPIPconfigurationwasincorrect.Firstofall,whentcpip…
This happened when TCPIP started to add a network interface based on its TCPIP registry, and TCPAckFrequency could not apply because the TCPIP configuration was incorrect.
First of all, when tcpip.sys driver starts, it reads followings from the registry,
TcpAckFrequency default:2 max:255, min:1
TcpDelAckTicks default:2 max:60 [min:1 (2012 and later OS) | min:20 (2008 and 2008 R2)]
TcpDisableWindowScaling default:false
Here is how Windows processing the keys,
3/14/2017 3:23:37 PM3:23:37.9329717 PM0.0000093System4236RegQueryValueHKLM\System\CurrentControlSet\services\Tcpip\Parameters\Interfaces\{DB24AA04-F46C-43B7-9783-F0A822B741BF}\TcpAckFrequencySUCCESSType: REG_DWORD, Length: 4, Data: 1
0ntoskrnl.exeCmpCallCallBacks + 0x1c00xfffff80002a7e100C:\Windows\system32\ntoskrnl.exe
1ntoskrnl.exeNtQueryValueKey + 0x6e2a60xfffff80002a17776C:\Windows\system32\ntoskrnl.exe
2ntoskrnl.exeKiSystemServiceCopyEnd + 0x130xfffff800026d78d3C:\Windows\system32\ntoskrnl.exe
3ntoskrnl.exeKiServiceLinkage0xfffff800026d3e70C:\Windows\system32\ntoskrnl.exe
4NETIO.SYSNetioRegSyncQueryAndUpdateKeyValue + 0x7a0xfffff8800152e3baC:\Windows\system32\drivers\NETIO.SYS
5NETIO.SYSNetioRegSyncInterface + 0x1350xfffff8800152dfa5C:\Windows\system32\drivers\NETIO.SYS
6tcpip.sysOlmQueryNsiForTcpInterfaceParameters + 0x710xfffff880016b8f71C:\Windows\System32\drivers\tcpip.sys
7tcpip.sysOlmNotifyAddInterface + 0x350xfffff880016ba165C:\Windows\System32\drivers\tcpip.sys
8tcpip.sysIppNotifyInterfaceChangeToNlClients + 0x15f0xfffff880016e3fcfC:\Windows\System32\drivers\tcpip.sys
9tcpip.sysIpFlcAddInterface + 0x4f20xfffff880016b6812C:\Windows\System32\drivers\tcpip.sys
10tcpip.sysFlpOpenAdapterComplete + 0x19a0xfffff880016b932aC:\Windows\System32\drivers\tcpip.sys
11tcpip.sysFlBindAdapter + 0x2aa0xfffff880016c26caC:\Windows\System32\drivers\tcpip.sys
12ndis.sysndisInitializeBindingEx + 0x7160xfffff880014c8d46C:\Windows\system32\drivers\ndis.sys
13ndis.sysndisInitializeBinding + 0x4d0xfffff880014c90fdC:\Windows\system32\drivers\ndis.sys
14ndis.sysndisCheckAdapterBindings + 0x2780xfffff880014c6f58C:\Windows\system32\drivers\ndis.sys
15ndis.sysndisQueuedCheckAdapterBindings + 0xd90xfffff880014d34e9C:\Windows\system32\drivers\ndis.sys
16ndis.sysndisWorkerThread + 0xba0xfffff88001438a2aC:\Windows\system32\drivers\ndis.sys
17ntoskrnl.exePspSystemThreadStartup + 0x5a0xfffff80002975cceC:\Windows\system32\ntoskrnl.exe
18ntoskrnl.exeKxStartSystemThread + 0x160xfffff800026c9fe6C:\Windows\system32\ntoskrnl.exe
3/14/2017 3:23:37 PM3:23:37.9507527 PM0.0000058System4236RegQueryValueHKLM\System\CurrentControlSet\Control\Nsi\{eb004a03-9b1a-11d4-9123-0050047759bc}\1\0000000600000600SUCCESSType: REG_BINARY, Length: 4, Data: 01 00 FF FF
0ntoskrnl.exeCmpCallCallBacks + 0x1c00xfffff80002a7e100C:\Windows\system32\ntoskrnl.exe
1ntoskrnl.exeNtQueryValueKey + 0x6e2a60xfffff80002a17776C:\Windows\system32\ntoskrnl.exe
2ntoskrnl.exeKiSystemServiceCopyEnd + 0x130xfffff800026d78d3C:\Windows\system32\ntoskrnl.exe
3ntoskrnl.exeKiServiceLinkage0xfffff800026d3e70C:\Windows\system32\ntoskrnl.exe
4NETIO.SYSNsipReadExact + 0xb530xfffff88001532a43C:\Windows\system32\drivers\NETIO.SYS
5NETIO.SYSNsipReadPersistentData + 0xe60xfffff8800152e246C:\Windows\system32\drivers\NETIO.SYS
6NETIO.SYSNsiGetAllParametersEx + 0x3220xfffff88001520ce2C:\Windows\system32\drivers\NETIO.SYS
7NETIO.SYSNsiGetAllParameters + 0xbd0xfffff88001522f5dC:\Windows\system32\drivers\NETIO.SYS
8tcpip.sysInetGetRwParameters + 0x460xfffff880016b9056C:\Windows\System32\drivers\tcpip.sys
9tcpip.sysOlmQueryNsiForTcpInterfaceParameters + 0x4c0xfffff880016b8f4cC:\Windows\System32\drivers\tcpip.sys
10tcpip.sysOlmNotifyAddInterface + 0x350xfffff880016ba165C:\Windows\System32\drivers\tcpip.sys
11tcpip.sysIppNotifyInterfaceChangeToNlClients + 0x15f0xfffff880016e3fcfC:\Windows\System32\drivers\tcpip.sys
12tcpip.sysIpFlcAddInterface + 0x4f20xfffff880016b6812C:\Windows\System32\drivers\tcpip.sys
13tcpip.sysFlpOpenAdapterComplete + 0x19a0xfffff880016b932aC:\Windows\System32\drivers\tcpip.sys
14tcpip.sysFlBindAdapter + 0x2aa0xfffff880016c26caC:\Windows\System32\drivers\tcpip.sys
15ndis.sysndisInitializeBindingEx + 0x7160xfffff880014c8d46C:\Windows\system32\drivers\ndis.sys
16ndis.sysndisInitializeBinding + 0x4d0xfffff880014c90fdC:\Windows\system32\drivers\ndis.sys
17ndis.sysndisCheckAdapterBindings + 0x2780xfffff880014c6f58C:\Windows\system32\drivers\ndis.sys
18ndis.sysndisQueuedCheckAdapterBindings + 0xd90xfffff880014d34e9C:\Windows\system32\drivers\ndis.sys
19ndis.sysndisWorkerThread + 0xba0xfffff88001438a2aC:\Windows\system32\drivers\ndis.sys
20ntoskrnl.exePspSystemThreadStartup + 0x5a0xfffff80002975cceC:\Windows\system32\ntoskrnl.exe
21ntoskrnl.exeKxStartSystemThread + 0x160xfffff800026c9fe6C:\Windows\system32\ntoskrnl.exe
In process monitor log, NSI repository registry was accessed. {eb004a03-9b1a-11d4-9123-0050047759bc}\1 ==> TCP module \ Interface Object
If validation fails, then default value will be used.
For my issue, TcpDelAckTicks was incorrectly set to 0 in 2008 R2 machine, and it would fail the validation because the tick did not hit the range. All the three settings would be set to default, which for end users, they could find TcpAckFrequency did not work as expected.
Although, from MS document, it was fine to have TcpDelAckTicks 0 in the OS prior to Windows Server 2003, but that does not apply to later OS.
TcpDelAckTicks
https://technet.microsoft.com/en-us/library/cc938206.aspx
BTW: Once OS boots up, the settings can be found from dump,
转载于:https://www.cnblogs.com/dbgit/p/6549839.html