PRB: "WSAEADDRESSINUSE" chybová zpráva při pokusu o připojení pomocí Anonymous Port po je zvýšit limit připojení IMAP

Překlady článku Překlady článku
ID článku: 319502 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Příznaky

Při zvýšení limitu připojení IMAP a potom se zkuste připojit k serveru IMAP z poštovní služby Microsoft TV, která je nakonfigurována s velmi nízké nastavení MailboxCacheTTL zobrazí chybová zpráva "WSAEADDRESSINUSE" (kód chyby: 10048).

Příčina

K tomuto chování dochází z důvodu následujících kombinací:
  • Ve výchozím systému Windows 2000 má omezený prostor pro anonymní porty. Tento prostor je omezen více nízké MailboxCacheTTL, který je nakonfigurován pro poštovní služby Microsoft TV. (Anonymní porty jsou dočasné porty, které jsou přiřazeny systémem počítače sady protokolů IP, určený rozsah portů, které jsou přiřazeny anonymní porty. Pouze porty 1024-5000 slouží v systému Windows 2000.)
  • Možnost SO_REUSEADDR na zásuvek není zapnuta, takže zásuvek nemůže být znovu použity ihned po zavřít. Zásuvek musí zůstat vyhrazeny ve stavu TIME_WAIT čtyři minuty. Nastavíte-li možnost SO_REUSEADDR, umožňuje systému Windows více vazby k naslouchání soketu.
Rozsah portů anonymní (dočasných portů) omezuje maximální počet připojení z jednoho počítače do určité služby ve vzdáleném počítači. Protokol TCP/IP používá termín na připojení 4-tuple (IP serveru, port serveru, klienta IP a portu klienta) rozlišit připojení; Pokud je rozsah anonymní portů pouze 4000 porty široké (přibližně), může existovat pouze 4000 jedinečné připojení z klientského počítače k vzdálené službě najednou.

Po ukončení připojení, dočasných portů je k dispozici pro opakované použití, ačkoli většina hromádky IP není znovu toto číslo portu, dokud bylo použito na celý fond dočasných portů. Proto pokud klientský program opět připojí, klient je přiřazeno číslo různých dočasných portů pro na straně klienta o nové připojení. U poštovní služby Microsoft TV velmi nízké nastavení MailboxCacheTTL aggravates situace, protože připojení IMAP zavřete a znovu otevřete často (na téměř každý požadavek).

Rozsah port 4000 může se zdát, že velké, ale je malá pro aktuální výpočetní požadavky při považujete musí před jeho dokončení skutečně připojení TCP prostřednictvím stavu TIME_WAIT vyprší. Například i v případě, že obě strany připojení správně uzavřete jejich koncích připojení, z důvodu řízení chyb protokolu TCP na každé straně musí počkat, dokud stavu TIME_WAIT vypršela dříve, než prostředky na připojení ve skutečnosti může odbyt.

Stav TIME_WAIT je dvakrát maximální životnosti segmentu (MSL). (Z tohoto důvodu stavu TIME_WAIT se také nazývá stavu 2MSL.) Obvykle v závislosti na sady protokolů IP stavu TIME_WAIT je nakonfigurován celkové 240 sekund. Proto můžete mít pouze 4000 připojení za sekundu 240 okno a v praxi mohou být použity tyto 4000 připojení.

Řešení

Chcete-li tomuto chování zabránit, proveďte jednu z následujících:
  • Zvýšit rozsah portů, který se používá pro anonymní portů na přibližně 20 000 portů (například) úpravou klíče registru MaxUserPort. Systém Windows používá konvenční BSD rozsahu od 1024 do 5000 pro jeho rozsah anonymní (dočasných) portů. Můžete nastavit pouze horní mez rozsahu dočasných portů. Chcete-li změnit klíč registru MaxUserPort, postupujte takto:

    1. Spusťte program Editor registru (Regedt32.exe).
    2. Vyhledejte v registru MaxUserPort klíč:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    3. V nabídce Úpravy klepněte na příkaz Přidat hodnotu a poté přidejte následující hodnotu registru:

      Název hodnoty: MaxUserPort
      Typ dat: REG_DWORD
      Hodnota: 65534 (např.)
      Platný rozsah: 5000-65534 (desítkově)
      Výchozí hodnota: 0x1388 (desítkově 5000)
    4. Ukončete program Editor registru.
    Popis: Tento parametr určuje číslo portu maximální, který se používá, když aplikace požaduje libovolný port k dispozici uživatele ze systému. Obvykle dočasných (tj krátkodobý) jsou přidělovány porty hodnoty 1024 až 5000 včetně.

    Nebo
  • Změna časového limitu pro připojení z 240 sekund (výchozí) na libovolnou délku 30 sekund na 300 sekund. Pomocí parametru registru TcpTimedWaitDelay tuto hodnotu změnit. Chcete-li to provést, spusťte program Editor registru (Regedt32.exe), vyhledejte následující klíč registru a změňte hodnotu:

    HKEY_LOCAL_MACHINE\System\CurrectControlSet\services\Tcpip\Parameters

    TcpTimedWaitDelay

    Klíč: Tcpip\Parameters
    Typ hodnoty: REG_DWORD – čas v sekundách
    Platný rozsah: 30-300 (desítkově)
    Výchozí hodnota: 0xF0 (240 desetinný)

    Popis
    : Tento parametr určuje dobu, po kterou zůstane připojení po ukončení připojení ve stavu TIME_WAIT. Pokud je připojení ve stavu TIME_WAIT, nemůže být dvojice soketů opakovaně použita. Další informace naleznete v dokumentu RFC 793.
Poznámka: Tento problém je provedena worse, je-li MailboxCacheTTL nastavena velmi nízké. Pokud potíže potrvají, po provedení změny registru popsané dříve, zvýšit poštovní schránky TTL změnou nastavení MailboxCacheTTL v souboru SiteConfig.cfg (konfigurační soubor pro instalace serveru Microsoft).

Další informace

Další informace o zvýšení výchozí rozsah portů anonymní získáte v následujících článcích v databázi Microsoft Knowledge Base:
196271Nelze se připojit k portům TCP s číslem vyšším než 5000
149532Klienti Windows NT spustit mimo porty

Vlastnosti

ID článku: 319502 - Poslední aktualizace: 18. června 2003 - Revize: 1.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft TV Server 2.0 Service Pack 1
Klíčová slova: 
kbmt kbprb KB319502 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:319502

Dejte nám zpětnou vazbu

 

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