PRB: «wsaeaddressinuse» ошибка при попытке подключиться через порт анонимный увеличить число подключений IMAP сообщения

Переводы статьи Переводы статьи
Код статьи: 319502
Развернуть все | Свернуть все

Проблема

Когда увеличить число подключений IMAP и повторите попытку подключения к серверу IMAP из службы электронной почты Microsoft ТВ с очень низкой MailboxCacheTTL Установка, появляется сообщение об ошибке «wsaeaddressinuse» (код ошибки: 10048).

Причина

Это происходит из-за сочетания следующих:
  • По умолчанию Windows 2000 имеет ограниченное пространство для анонимного портов. Это пространство ограничено более низкий MailboxCacheTTL настроенных для использования Microsoft mail ТВ-сигнал. (Анонимный порты, временные порты, которые назначаются стеком IP компьютера; анонимные портов назначаются из определенного диапазона портов. Только портов 1024-5000, используются в Windows 2000.)
  • В SO_REUSEADDR для сокетов не включен, поэтому сокетов не может повторно использоваться сразу после закрытия. Разъемы должны оставаться зарезервированные в состоянии TIME_WAIT, прежде чем четырех минут. Если для свойства SO_REUSEADDR параметр, Windows позволяет использовать несколько привязок к опрашивающему сокету.
Диапазон портов анонимные (временных портов) ограничивает максимальное количество подключений с одного компьютера для определенной службы на удаленном компьютере. Протокол TCP/IP использует подключение кортежем (IP сервера, порт сервера, клиентского IP и порт клиента) для различения подключений; диапазон портов анонимный ли только 4000 портов шириной (приблизительно) может быть только 4000 соединения с клиентского компьютера для удаленной службы за один раз.

По окончании соединения временных портов для многократного использования, несмотря на то, что большинство стеки IP не используйте повторно номер порта до использования всего пула временных портов. Таким образом при повторном подключении клиентской программы клиент назначается ряд различных временных портов на стороне клиента новое подключение. В случае использования Microsoft TV почтовой службой, очень низкий MailboxCacheTTL параметр раздражает ситуации, поскольку подключения IMAP, закройте и снова откройте часто (просьба почти каждый).

Диапазон портов 4000 может показаться большой, но небольшой росту потребностей в текущей, если учесть, что TCP-подключения необходимо истекает через состоянии TIME_WAIT до завершения действительно. Например даже в том случае, если обе стороны соединения правильно закрыть их концах соединения, из-за ошибки управления TCP, каждой стороны должен дождаться состоянии TIME_WAIT истек срок действия до подключения ресурсов действительно может быть удален.

Состоянии TIME_WAIT, два раза максимальное время жизни (MSL). (По этой причине состоянии TIME_WAIT также называется состояние 2MSL.) Как правило в зависимости от того, что стек IP состоянии TIME_WAIT настроен для всего 240 секунд. Таким образом может иметь только 4000 подключений на 240 секунд и на практике эти 4000 соединения могут быть использованы.

Решение

Можно предотвратить такое поведение, выполните одно из следующих действий.
  • Увеличить диапазон порта, используемый для анонимного порты для примерно 20 000 портов (например), изменяя MaxUserPort раздел реестра. Windows использует обычную BSD диапазоне номеров от 1024 до 5000 для своего диапазона анонимные (временный) порт. Можно задать только верхнюю границу диапазона временных портов. Для изменения MaxUserPort реестр ключа, выполните следующие действия:

    1. Запустите редактор реестра (Regedt32.exe).
    2. Найдите MaxUserPort раздел реестра:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    3. На Редактирование меню, нажмите кнопку Добавить значение, а затем добавьте следующий параметр реестра:

      Значение имени: MaxUserPort
      Тип данных: REG_DWORD
      Значение: 65534 (например)
      Диапазон действителен: 5000-65534 (дес.)
      По умолчанию: 0x1388 (5000 в десятичной системе)
    4. Закройте редактор реестра.
    Описание: Этот параметр определяет максимальный номер порта, используемый, когда приложение запрашивает любого доступного порта пользователя из системы. Как правило временных (то есть краткосрочной) порты распределяются между диапазоне от 1024 до 5000 включительно.

    -ИЛИ-
  • Изменение тайм-аута подключения от 240 секунд (по умолчанию) для любой длины от 30 секунд до 300 секунд. Использование TcpTimedWaitDelay параметр реестра для изменения этого значения. Для этого запустите редактор реестра (Regedt32.exe), найдите следующий раздел реестра и затем измените значение:

    HKEY_LOCAL_MACHINE\System\CurrectControlSet\services\Tcpip\Parameters

    TcpTimedWaitDelay

    Раздел: Tcpip\Parameters
    Тип значения: REG_DWORD-время в секундах
    Диапазон действителен: 30-300 (в десятичной системе)
    По умолчанию: 0xF0 в системе (240 десятичное)

    Описание
    : Этот параметр определяет продолжительность подключение остается в состоянии TIME_WAIT, при закрытии соединения. Пока подключение находится в состоянии TIME_WAIT, пара сокетов не может использоваться повторно. Дополнительные сведения содержатся в документе RFC 793.
ПРИМЕЧАНИЕ: Эта проблема становится хуже, если MailboxCacheTTL параметр очень мал. Если проблема сохраняется после внесения изменений реестра, описанных ранее, увеличить почтовый ящик TTL, изменив MailboxCacheTTL параметр в файле SiteConfig.cfg (файл конфигурации для установки сервера Microsoft).

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

Для получения дополнительных сведений об увеличении диапазона анонимный порта по умолчанию щелкните следующие номера статей базы знаний Майкрософт:
196271 Не удается установить соединение через TCP-порты выше 5000
149532 Нехватка портов для клиентов Windows NT

Свойства

Код статьи: 319502 - Последний отзыв: 7 июня 2011 г. - Revision: 4.0
Ключевые слова: 
kbprb kbmt KB319502 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:319502

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

 

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