ИНФОРМАЦИЯ: Производительность подключения Winsock TCP для неиспользуемых портов

Переводы статьи Переводы статьи
Код статьи: 175523 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Аннотация

В данной статье рассматривается как реализация Winsock TCP на различных Дескрипторы платформы Майкрософт, разъем подключения к портам, которые не имеют сервер, слушать их. Кроме того, описаны связанные с производительностью вопросы и как изменить их в соответствии со своими потребностями.

Дополнительная информация

Когда процесс создает TCP-сокет в слое Microsoft Winsock и вызов connect() для некоторых хоста и номер порта, протокол TCP выполняет его стандартным «трехэтапного» SYN пакета подтвержден с конечного узла с ACK/SYN и окончательное подтверждение (ACK) инициировать клиент. Однако в спецификации TCP, указано в RFC-793 (передачи Управлять протоколом), reset (RST) может быть создан, если попытка SYN для узла, который существует, но порт не используется. Это наиболее описанные ниже RFC квоты на странице 35:
Сброс поколения

Как правило должны направляться reset (RST) каждый раз при поступлении сегмента что очевидно не предназначен для текущего соединения. Сброс не должны отправляться Если не ясно, что это так...

Если подключение не существует (ЗАКРЫТО), а затем отправляется сброса в ответ на любой сегмент входящего, за исключением другого сброса. В частности SYN, адресованные несуществующим подключения отклоняются с их использованием.

Сброс обработки [Страница 36]

... В состояние SYN-SENT (RST получен для начального SYN), приемлем RST Если в поле Подтверждение (ACK) подтверждает SYN.
При получении клиентом ACK и RST от конечного узла клиента Определяет, что служба, действительно не существует прослушивания. В Реализация Microsoft Winsock TCP, сохранит Ожидание подключения попытка выдать пакеты SYN, пока не будет достигнуто максимальное количество попыток значение (набор в реестре значение по умолчанию для дополнительного в 3 раза). С момента ACK и RST было получено из конечного узла TCP слой знает, конечного узла действительно достижим и не дважды значение тайм-аута в пакете Заголовок IP, как стандартные во время попытки подключения с неподтвержденными SYN. Вместо этого будет ожидать Ожидается подключение базового подключения тайм-аут значение и повторно выпустила другой пакет SYN для установки подключения. Как долго, как полученный пакет ACK и RST от неиспользуемый порт тайм-аут значение не повысится, и процесс будет повторяться до максимальное количество попыток достигнуто значение.

Такое поведение может вызвать снижение производительности Если для какой-либо причине процесс повторно выполняет вызовы connect() портам ничего не существует, прослушивание что приводит к ошибке WSAECONNREFUSED. Обратите внимание, что с другими Реализация TCP, такие как часто обнаруживаются во многих системах UNIX connect() прекращается немедленно по получении первого RST/ACK пакет, в результате чего осведомленность об очень быстро. Тем не менее это поведение не указано в RFC и слева для каждой реализации решите. Подход корпорации Майкрософт платформ в том, что система Администратор имеет право Настройка TCP связанных с производительностью для собственные вкусы именно максимально повторить, по умолчанию равно 3. В Это преимущество является, возможно, служба, вы пытаетесь достичь Временно отключать и может resurface между попытками SYN. В этом регистр, удобно достаточно долго ожидал connect() для получения подключение момента службы действительно существует.

В нем содержится полный список значений реестра NT TCP. От конкретного ключом является интерес:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Ключ: TcpMaxConnectRetransmissions
Тип значения: REG_DWORD – количество
Допустимый диапазон значений: 0 - 0xFFFFFFFF
По умолчанию: 3 (в Windows NT)
По умолчанию: 2 (в Windows 2000)
Описание: Этот параметр определяет, сколько раз будет TCP повторную передачу запросов на подключение (SYN) до отмены Повторите попытку. Время ожидания повторной передачи удваивается после каждой последующей попытки в попытки подключения (за исключением ситуации, описанной выше). Начальная значение времени ожидания — это три секунды (момента ACK и RST Получено в случае выше, это не имеет значения).
Дополнительные сведения о записи в реестре Windows 95 TCP щелкните следующий номер статьи базы знаний Майкрософт:
158474 Записи реестра TCP/IP для Windows 95
Особый интерес представляет следующий раздел:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP

Ключ: MaxConnectRetries
Тип значения: DWORD - 32-разрядный номер
По умолчанию: 3
Описание: Указывает, сколько раз попытки подключения (SYN) будет повторно начинал. Начальная время ожидания повторной передачи составляет 3 секунды (обусловлен приведенном выше примере), и он удваивается (каждый раз исключением является случай выше) более 2 минут.
Перезагрузите компьютер после изменения этих параметров реестра.

ПРЕДУПРЕЖДЕНИЕ: Изменение этих значений влияет на все TCP исходящие запросы на подключение от компьютера уязвимой. Если все операции TCP на компьютере имеется небольшой задержки и небольшие расстояния для поездок и обратно, уменьшая это как недостаточно нулевой (несмотря на то, что корпорация Майкрософт не рекомендует этого делать) сделает разницы нет. Тем не менее являются известными доступных целевых серверов удаленного приложения или попыток подключения завершаться регулярно стандартной ошибки Winsock, вероятно, причиной являются эти записи реестра. Если это так, необходимо вызвать максимальный Число повторов, TCP будет вдвое пакет SYN срок жизни значение в заголовке IP в последующих попыток до его имеет достаточную длину жизни для достижения конечного узла и получения ACK и SYN.

Ссылки

RFC-793, протокол управления передачей сентябрь 1981

Официальный документ, Microsoft Windows NT: TCP/IP детали реализации, 1996 Статьи базы знаний 158474

Свойства

Код статьи: 175523 - Последний отзыв: 4 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Win32 Application Programming Interface
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 Service Pack 2 на следующих платформах
    • Windows Server 2008 for Itanium-Based Systems
    • Windows Server 2008 Datacenter
    • Windows Server 2008 Enterprise
    • Windows Server 2008 Standard
    • Windows Web Server 2008
  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows Web Server 2008
  • Service Pack 2 для Windows Vista на следующих платформах
    • Windows Vista Business
    • Windows Vista Enterprise
    • Windows Vista Home Basic
    • Windows Vista Home Premium
    • Windows Vista Starter
    • Windows Vista Ultimate
    • Windows Vista Enterprise 64-bit edition
    • Windows Vista Home Basic 64-bit edition
    • Windows Vista Home Premium 64-bit edition
    • Windows Vista Ultimate 64-bit edition
    • Windows Vista Business 64-bit edition
  • Service Pack 1 для Windows Vista на следующих платформах
    • Windows Vista Business
    • Windows Vista Enterprise
    • Windows Vista Home Basic
    • Windows Vista Home Premium
    • Windows Vista Starter
    • Windows Vista Ultimate
    • Windows Vista Enterprise 64-bit edition
    • Windows Vista Home Basic 64-bit edition
    • Windows Vista Home Premium 64-bit edition
    • Windows Vista Ultimate 64-bit edition
    • Windows Vista Business 64-bit edition
  • Microsoft Windows Server 2003 Service Pack 2 на следующих платформах
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows Server 2003, Datacenter x64 Edition
    • Microsoft Windows Server 2003, Enterprise x64 Edition
    • Microsoft Windows Server 2003, Standard x64 Edition
    • Microsoft Windows XP Professional x64 Edition
    • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows XP Service Pack 3 на следующих платформах
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional
  • Microsoft Windows 2000 Service Pack 4
  • Microsoft Windows 98 Standard Edition
Ключевые слова: 
kbapi kbinfo kbnetwork kbwinsock kbmt KB175523 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:175523

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com