INFO: Winsock TCP-Verbindungsleistung bei unbenutzten Ports

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 175523 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Zusammenfassung

Dieser Artikel beschreibt, wie die Winsock-Implementierung von TCP auf die verschiedenen Handles für Microsoft-Plattformen Socketverbindungen mit Ports, die keine haben ein der Server überwacht. Er beschreibt auch die Performance-bezogenen Überlegungen und wie Sie diese an Ihre Bedürfnisse anpassen.

Weitere Informationen

Wenn ein Prozess einen TCP-Socket erstellt, in der Microsoft Winsock-Layer und Gibt einen connect() Aufruf an einigen Host und Port-Nummer des TCP-Protokolls führt den standard "Dreiwege-Handshake" eines SYN-Pakets bestätigt durch die Ziel-Host mit ACK/SYN und eine abschließende ACK der initiiert Client. Allerdings pro die TCP-Spezifikationen in RFC-793 (Transmission Steuern Sie Protocol), ein RST (Reset) möglicherweise generiert werden, wenn der SYN-Versuch ist adressiert an eine Host, die vorhanden ist, aber der Anschluss wird nicht verwendet. Dies ist am besten durch die folgenden RFC-Angebot auf Seite 35 beschrieben:
"Reset"-Generierung

Als Faustregel muss RST (Reset) gesendet wird, wenn ein Segment ankommt Das ist offensichtlich nicht für die aktuelle Verbindung bestimmt. Ein Zurücksetzen darf nicht gesendet werden, wenn nicht klar ist, dass dies der Fall ist...

Wenn die Verbindung (CLOSED) nicht vorhanden ist, und dann ein Zurücksetzen gesendet wird als Reaktion auf jedes ankommende Segment mit Ausnahme von einem anderen zurücksetzen. Insbesondere SYN-Pakete, die an eine nicht vorhandene Verbindung adressiert werden dadurch zurückgewiesen.

"Reset"-Verarbeitung [Seite 36]

... In den Status SYN-SENT (ein RST angekommene Antwort um eine erste SYN), ist die RST akzeptabel Wenn ACK-Feld bestätigt die SYN
Nach Erhalt des ACK/RST-Clients aus der Ziel-Host client Legt fest, dass es in der Tat keine Dienst stattfindet. In der Microsoft Winsock-Implementierung von TCP wird eine ausstehende Verbindung beibehalten. Es wird versucht, SYN-Pakete herauszugeben, bis die maximalen Wiederholungsversuche (Satz erreicht ist in der Registrierung ist dieser Standardwert 3 zusätzliche Versuche). Seit ACK/RST ging aus der Ziel-Host weiß die TCP-Schicht, die Ziel-Host in der Tat erreichbar ist und nicht den Zeitüberschreitungswert in des Pakets doppelklicken IP-Header, wie während der Verbindungsversuche mit unbestätigten standard ist SYN-Pakete. Stattdessen wartet die ausstehende Verbindung auf der Basis-Verbindungs Timeout-Wert, und geben Sie ein weiteres SYN-Paket zum Einleiten einer Verbindung. Als lange von einem nicht verwendeten Port ein ACK/RST-Paket empfangen wird, das Timeout Wert nicht erhöht, und der Vorgang wird wiederholt, bis die maximale Anzahl der Wiederholungen Wert erreicht ist.

Dieses Verhalten kann eine schlechte Leistung bei aus irgendeinem Grund eines Prozesses führen wiederholt Probleme connect() Aufrufe an Ports mit nothing stattfindet, Was den Fehler WSAECONNREFUSED. Beachten Sie, dass mit anderen Implementierungen von TCP, wie z. B. häufig in vielen UNIX-Systemen die connect() schlägt bei Empfang der ersten ACK/RST sofort fehl. Paket sich sehr schnell in das Bewusstsein für einen Fehler ergeben. Allerdings dadurch Verhalten in den RFCs nicht angegeben ist, und für jede Implementierung bleibt entscheiden. Der Ansatz von Microsoft-Plattformen, die das System ist Administrator hat die Freiheit, TCP Performance-bezogenen Einstellungen anpassen Ihre eigenen Geschmack, nämlich die maximale wiederholen, der Standardwert ist 3. Die Vorteil besteht darin, dass der Dienst, den Sie erreichen möchten eventuell vorübergehend heruntergefahren und günstig zwischen SYN-Angriffen. In diesem Fall ist es sinnvoll, dass der Connect()-Aufruf lange genug gewartet, hat erhalten eine Verbindung, da der Dienst tatsächlich verfügbar war.

Es enthält eine vollständige Liste der NT-TCP-Registrierungswerte. Bestimmten Zins ist der Schlüssel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Schlüssel: TcpMaxConnectRetransmissions
Werttyp: REG_DWORD - Anzahl
Gültiger Bereich: 0 - 0xFFFFFFFF
Standard: 3 (in Windows NT)
Standard: 2 (in Windows 2000)
Beschreibung: Dieser Parameter bestimmt die Anzahl der Ausführungen, die TCP wird eine Verbindungsanforderung (SYN) erneut, bevor abgebrochen wird die Es wurde versucht. Das Zeitlimit wird bei jeder verdoppelt. folgenden Neuübertragung in einer bestimmten Verbindungsversuchs (außer in der oben geschilderten Situation). Die anfänglichen Timeoutwert beträgt drei Sekunden (seit ACK/RST im obigen Fall empfangen, ist dies nicht relevant).
Zusätzliche Informationen auf der Windows 95-TCP-Registrierungseinträge finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
158474 Windows 95-TCP/IP-Registrierungseinträge
Der folgende Schlüssel ist von besonderem Interesse:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP

Schlüssel: MaxConnectRetries
Typ: DWORD - 32-Bit-Zahl
Standard: 3
Beschreibung: Gibt an, wie oft einen Verbindungsversuch (SYN) Netzwerkvorgängen gesendet wird. Die anfänglichen Zeitlimit ist (irrelevant in 3 Sekunden die oben genannten Fall), und es wird jedes Mal (die verdoppelt oben genannten Fall wird eine Ausnahme) bis zu maximal 2 Minuten.
Starten Sie den Computer neu, nachdem Sie diese Registrierungswerte angepasst.

WARNUNG: Diese Werte zu ändern wirkt sich auf allen TCP ausgehenden Verbindungsanforderungen aus dem betroffenen Computer aus. Wenn alle TCP-Aktivitäten auf dem Computer hat eine geringe Latenz und Distanz Roundtrip, Reduzierung Reisen als 0 (null) niedrig (Obwohl Microsoft nicht empfohlen) keinen Unterschied. Allerdings ist Wenn Anwendungen oder Verbindungsversuche, regelmäßig mit den standard-Winsock-Fehlern fehl und die Zielremoteserver bekanntermaßen verfügbar sein, es wahrscheinlich, dass diese Registrierungseinträge die Ursache sind. Wenn dies der Fall ist, müssen Sie möglicherweise die maximale auslösen wiederholt, so dass TCP wird double TTL Wert des SYN-Pakets im IP-Header bei aufeinander folgenden Wiederholungen, bis es wurde eine ausreichend langer Lebensdauer das Host Ziel zu erreichen und ein ACK/SYN empfangen

Informationsquellen

RFC-793, Transmission Control Protocol, September 1981

White Paper, Microsoft Windows NT: TCP/IP-Implementierungsdetails, 1996 Knowledge Base-Artikel 158474

Eigenschaften

Artikel-ID: 175523 - Geändert am: Donnerstag, 26. Mai 2011 - Version: 2.0
Die Informationen in diesem Artikel beziehen sich auf:
  • 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, wenn verwendet mit:
    • 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
  • Windows Vista Service Pack 2, wenn verwendet mit:
    • 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
  • Windows Vista Service Pack 1, wenn verwendet mit:
    • 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, wenn verwendet mit:
    • 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, wenn verwendet mit:
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional
  • Microsoft Windows 2000 Service Pack 4
  • Microsoft Windows 98 Standard Edition
Keywords: 
kbapi kbinfo kbnetwork kbwinsock kbmt KB175523 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 175523
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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