Как Windows определяет, какой параметр / шаблон (Internet vs Datacenter) применяется к TCP-соединениям?

Для того, чтобы глобально настроить Минимальное RTO; Задержка Ack Timeout; Алгоритмы перегрузки и т. Д. В Windows 7 и выше предполагается использование сетевых шаблонов TCP. Чтобы увидеть их, вы можете использовать командлет Get-NetTCPSetting powershell:

PS C:\Users\Administrator> Get-NetTCPSetting

(...)

SettingName                   : Datacenter
MinRto(ms)                    : 20
InitialCongestionWindow(MSS)  : 4
CongestionProvider            : DCTCP
CwndRestart                   : True
DelayedAckTimeout(ms)         : 10
MemoryPressureProtection      : Enabled
AutoTuningLevelLocal          : Normal
AutoTuningLevelGroupPolicy    : NotConfigured
AutoTuningLevelEffective      : Local
EcnCapability                 : Enabled
Timestamps                    : Disabled
InitialRto(ms)                : 3000
ScalingHeuristics             : Disabled
DynamicPortRangeStartPort     : 49152
DynamicPortRangeNumberOfPorts : 16384

SettingName                   : Internet
MinRto(ms)                    : 300
InitialCongestionWindow(MSS)  : 4
CongestionProvider            : CTCP
CwndRestart                   : False
DelayedAckTimeout(ms)         : 50
MemoryPressureProtection      : Enabled
AutoTuningLevelLocal          : Normal
AutoTuningLevelGroupPolicy    : NotConfigured
AutoTuningLevelEffective      : Local
EcnCapability                 : Enabled
Timestamps                    : Disabled
InitialRto(ms)                : 3000
ScalingHeuristics             : Disabled
DynamicPortRangeStartPort     : 49152
DynamicPortRangeNumberOfPorts : 16384

Чтобы получить индивидуальное соединение и применить к ним настройки, можно использовать командлет Get-NetTCPConnection:

PS C:\Users\Administrator> Get-NetTCPConnection

LocalAddress                        LocalPort RemoteAddress                       RemotePort State       AppliedSetting
------------                        --------- -------------                       ---------- -----       --------------
(...)
192.168.75.69                       63220     192.168.75.66                       1433       Established Datacenter
192.168.75.69                       63208     192.168.75.61                       445        Established Internet
192.168.101.13                      63061     185.97.X.X                          20467      Established Datacenter
192.168.101.13                      63059     209.191.X.X                         18083      Established Internet
(...)

Как я могу повлиять (или, по крайней мере, как это сделать) на выбор настроек TCP и Internet в сравнении с Datacenter? У нас есть несколько подключений с малой задержкой, которые мы хотели бы обработать с помощью настроек Центра обработки данных (чтобы ускорить восстановление после сбоев связи), хотя я не хочу слепо применять это ко всем соединениям.

1 ответ

Решение

Профиль настроек, применяемый к данному соединению, основан на соответствующем транспортном фильтре. По умолчанию существует один фильтр, который применяет Automatic настройки параметров для всех подключений, поэтому ваш случайный выбор.

PS C:\> Get-NetTransportFilter

SettingName       : Automatic
Protocol          : TCP
LocalPortStart    : 0
LocalPortEnd      : 65535
RemotePortStart   : 0
RemotePortEnd     : 65535
DestinationPrefix : *

Командлет New-NetTransportFilter позволяет сопоставлять соединения с конкретными профилями на основе номеров портов или IP-адресов.

Вы можете использовать что-то вроде

New-NetTransportFilter -SettingName Datacenter -DestinationPrefix 192.168.75.0/24

Или же

New-NetTransportFilter -SettingName DataCenter -LocalPortStart 0 -LocalPortEnd 65536 -RemotePortStart 1433 -RemotePortEnd 1433
Другие вопросы по тегам