TCP Selective ACK (SACK) никогда не работает, а Delayed ACK (DelAck) только изредка работает на входящем трафике, но ОС настроена для поддержки обоих
Графики производительности из Windows Performance Monitor показывают, что:
Только для всех подключенных к Интернету подключений, за исключением страницы проверки скорости моего интернет-провайдера, количество отправленных сегментов (nsend) - количество полученных сегментов (nrecv) для входящего трафика (загрузок). Для страницы проверки скорости интернет-провайдера nsend ≈ nrecv / 2 для загрузок.
Для всех протестированных сетевых подключений nsend ≈ nrecv / (значение TcpAckFrequency, установленное в реестре) для загрузки.
Графики: страница проверки скорости интернет- провайдера Интернет-трафик 1 Интернет-трафик 2 Трафик локальной сети 1 Трафик локальной сети 2
Это означает, что:
SACK никогда не использовался.
DelAck, настроенный на мои предпочтения, используется только в локальной сети.
Каждый пакет ACKed для загрузки через Интернет, за исключением этой страницы провайдера.
Я ожидаю, что для ВСЕХ сетевых подключений, независимо от того, будет ли это Интернет или локальная сеть:
nsend ≤ nrecv / TcpAckFrequency для загрузок.
В идеале, один и только один ACK должен отправляться только тогда, когда заполнен полный RWIN, в котором получатель сообщает отправителю, что все сегменты были успешно получены.
Я полагаю, что включение SACK и DelAck снижает накладные расходы TCP и, таким образом, повышает пропускную способность, поскольку необходимо отправлять только небольшое количество ACK-пакетов, а вычислительная мощность сохраняется от анализа всех этих посторонних ACK.
Конфигурация ОС:
Win7 64bit PC, версия 6.1.7601
Realtek PCIe NIC
FTTH-подписка 200 Мбит / с с периодическим и резким (от 512 кбит / с до 20 Мбит / с) изменением скорости соединения в международном трафике
HKLM \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ Parameters \ SackOpts = 1
HKLM \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ Parameters \ Tcp1323Opts = 2
HKLM \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ Parameters \ Interfaces \ GUID \ TcpAckFrequency = 4 // также пробовал 2 и 6
HKLM \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ Parameters \ Interfaces \ GUID \ TcpDelAckTicks = 3 // RTT обычно составляет от 70 до 150 мс для интернет-трафика, поэтому я добавил 100 мс к значению ОС по умолчанию, так что задержка подтверждения может работать лучше, не слишком сильно влияя на начальные значения RWIN
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ Parameters \ Interfaces \ GUID \ TcpNoDelay = 1
Масштабирование на стороне приема и автонастройка RWIN также включаются с помощью утилиты NETSH.
0 ответов на вопрос
Похожие вопросы
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
4
Как заблокировать выровненные по правому краю панели инструментов в Windows 7, чтобы они не выглядел...
-
5
Поделитесь XP сетевым подключением без перезагрузки?
-
-
5
Как мне сказать Windows использовать 802.11 вместо 3G?
-
4
Есть ли способ поделиться сканером многофункционального принтера?
-
4
Функция Windows 7 «Aero Snap» в Ubuntu GNOME
-
3
Мой второй жесткий диск не виден в Windows 7
-
7
Как заменить Блокнот в Windows 7?
-
2
Как расположить значки панели задач Windows 7 в 2 ряда?
-
3
Есть ли способ соединить два компьютера через USB?