Beschreibung von TCP-Eigenschaften in Windows 2000 und Windows Server 2003

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 224829 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde zuvor veröffentlicht unter D44579
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
224829 Description of Windows 2000 and Windows Server 2003 TCP Features
Wichtig: Dieser Artikel enthält Informationen zum Bearbeiten der Registrierung. Sie sollten eine Sicherungskopie der Registrierung erstellen, bevor Sie die Registrierung bearbeiten. Sie müssen wissen, wie die Registrierung wiederhergestellt werden kann, wenn ein Problem auftritt. Weitere Informationen zum Erstellen einer Sicherungskopie sowie zum Wiederherstellen und Bearbeiten der Registrierung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
256986 Beschreibung der Microsoft Windows-Registrierung
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt die folgenden TCP-Eigenschaften in Microsoft Windows 2000 und Microsoft Windows Server 2003:
  • Größe des TCP-Fensters
  • Momentan unterstützte TCP-Optionen
  • Fensterskalierung - RFC 1323
  • Zeitstempel - RFC 1323
  • Schutz vor umbrochenen Sequenznummern
  • Selektive Bestätigungen (SACKS) - RFC 2018
  • TCP-Neuübertragungsverhalten und schnelle Neuübertragung
Die TCP-Eigenschaften können durch Ändern der Einträge in der Registrierung geändert werden.

Weitere Informationen

Warnung: Durch die falsche Bearbeitung der Registrierung mithilfe des Registrierungs-Editors oder einer anderen Methode können schwerwiegende Probleme verursacht werden. Diese Probleme können eine Neuinstallation des Betriebssystems erforderlich machen. Microsoft kann nicht dafür garantieren, dass Probleme, die von einer falschen Verwendung des Registrierung-Editors herrühren, behoben werden können. Benutzen Sie den Registrierungs-Editor auf eigene Verantwortung.

Größe des TCP-Fensters

Die TCP-Empfangsfenstergröße ist die Menge eingehender Daten (in Byte), die während einer Verbindung gepuffert werden können. Der sendende Host kann nur diese Menge an Daten versenden, bevor er auf eine Bestätigung und Fensteraktualisierung durch den empfangenden Host warten muss. Der Windows 2000-TCP/IP-Stack ist so beschaffen, dass er sich in den meisten Umgebungen selbst einstellt.

Statt eine hartcodierte Standardgröße für das Empfangsfenster zu verwenden, stellt sich TCP auf gerade Inkremente der maximalen Segmentgröße ein, die während der Einrichtung einer Verbindung ausgehandelt wird. Durch die Anpassung des Empfangsfensters an gerade Inkremente der maximalen Segmentgröße wird der Prozentanteil von TCP-Segmenten voller Größe gesteigert, die während der Übertragung großer Datenmengen verwendet werden können.

Die Größe des Empfangsfensters wird wie folgt festgelegt:
  1. Bei der ersten Verbindungsanforderung, die an einen Remotehost gesendet wird, wird eine Empfangsfenstergröße von 16 KB (16.384 Byte) angekündigt.
  2. Wenn die Verbindung hergestellt wurde, wird die Empfangsfenstergröße auf ein gerades Inkrement der maximalen Segmentgröße aufgerundet.
  3. Die Fenstergröße wird bis auf das Vierfache der maximalen Segmentgröße erhöht, also bis auf 64 KB, falls nicht die Fensterskalierungsoption (RFC 1323) verwendet wird.
Hinweis: Lesen Sie hierzu bitte den nachstehenden Abschnitt "Fensterskalierung".

Bei Ethernet-Verbindungen wird die Fenstergröße in der Regel auf 17.520 Byte festgelegt (16 KB aufgerundet auf zwölf Segmente à 1.460 Byte). Die Fenstergröße kann abnehmen, wenn eine Verbindung zu einem Computer hergestellt wird, der erweiterte TCP-Kopfzeilenoptionen unterstützt, wie zum Beispiel "Selektive Bestätigungen" (SACKS) und Zeitstempel. Diese beiden Optionen erhöhen die Größe der TCP-Kopfzeile um mehr als 20 Byte, sodass weniger Platz für Daten bleibt.

Bei früheren Versionen von NT betrug die Größe für eine Ethernet-Verbindung 8.760 Byte oder sechs Segmente à 1.460 Byte.

Um der Empfangsfenstergröße einen bestimmten Wert zuzuweisen, fügen Sie den Wert "TcpWindowSize" dem für Ihre Version von Windows spezifischen Registrierungsunterschlüssel hinzu. Gehen Sie hierfür folgendermaßen vor:
  1. Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie Regedit ein, und klicken Sie anschließend auf OK.
  2. Erweitern Sie den spezifischen Registrierungsunterschlüssel für Ihre Version von Windows:
    • Erweitern Sie für Windows 2000 den folgenden Unterschlüssel:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
    • Erweitern Sie für Windows Server 2003 den folgenden Unterschlüssel:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. Zeigen Sie im Menü Bearbeiten auf Neu, und klicken Sie anschließend auf DWORD-Wert.
  4. Geben Sie TcpWindowSize in das Feld Neuer Wert ein, und drücken Sie die [EINGABETASTE].
  5. Klicken Sie im Menü Bearbeiten auf Ändern.
  6. Geben Sie die gewünschte Fenstergröße in das Feld Wert ein.

    Hinweis: Der gültige Bereich für die Fenstergröße ist 0-0x3FFFC000 hexadezimal.
Dieser Wert ist standardmäßig nicht vorhanden. Wenn Sie den Wert "TcpWindowSize" hinzufügen, überschreibt er den standardmäßigen Algorithmus für die Fenstergröße, der zuvor erläutert wurde.

Hinweis: Der Wert "TcpWindowSize" kann auch dem Schlüssel "Parameters" hinzugefügt werden, um die Fenstergröße global für alle Schnittstellen festzulegen.

Derzeit unterstützte TCP-Optionen

In der Vergangenheit wurden TCP-Optionen hauptsächlich eingesetzt, um maximale Segmentgrößen auszuhandeln. In Windows werden TCP-Optionen für Fensterskalierung, Zeitstempel und selektive Bestätigungen verwendet.

Es gibt zwei Typen von TCP-Optionen:
  1. Eine Ein-Oktett-TCP-Option, die eingesetzt wird, um auf eine bestimmte Optionsart hinzuweisen.
  2. Eine Mehr-Oktett-TCP-Option, die aus einer Optionsart, einer Optionslänge und einer Serie von Optionsoktetts besteht.
Die folgende Liste zeigt Art, Länge, Name und Beschreibung für jede TCP-Option.
Art: 0
Länge: 1
Option: Ende der Optionsliste (End of Option List)
Beschreibung: Wird verwendet, wenn für die letzte TCP-Option ein Padding erforderlich ist.

Art: 1
Länge: 1
Option: Kein Betrieb (No Operation)
Beschreibung: Wird verwendet, wenn ein Padding erforderlich ist und innerhalb desselben Pakets weitere TCP-Optionen folgen.

Art: 2
Länge: 4
Option: Maximale Segmentgröße (Maximum Segment Size)
Beschreibung: Gibt die maximale Größe für ein TCP-Segment an, das über das Netzwerk versendet werden kann.

Art: 3
Länge: 3
Option: Fensterskalierungsoption (Window Scale Option)
Beschreibung: Identifiziert den Skalierungsfaktor, der anzuwenden ist, wenn mit Fenstergrößen über 64 KB gearbeitet wird.

Art: 8
Länge: 10
Option: Zeitstempeloption (Time Stamp Option)
Beschreibung: Wird zur Berechnung der Umlaufzeit (Round Trip Time = RTT) von übertragenen Paketen verwendet.

Art: 4
Länge: 2
Option: Selektive TCP-Bestätigungen erlaubt (TCP SACK permitted)
Beschreibung: Informiert andere Hosts darüber, dass selektive Bestätigungen zulässig sind.

Art: 5
Länge: Variabel
Option: Option für selektive TCP-Bestätigungen (TCP SACK Option)
Beschreibung: Wird von Hosts eingesetzt, um zu ermitteln, ob Pakete außerhalb der erwarteten Reihenfolge eingegangen sind.

Fensterskalierung

Um Netzwerke hoher Bandbreite effizienter zu nutzen, können größere TCP-Fenster verwendet werden. Das Feld für die TCP-Fenstergröße ist auf 2 Byte oder eine Fenstergröße von 65.535 Byte begrenzt.

Da das Größenfeld nicht expandiert werden kann, wird ein Skalierungsfaktor angewendet. Die TCP-Fensterskalierung ist eine Option, von der Gebrauch gemacht wird, um die maximale Fenstergröße von 65.535 Byte auf 1 Gigabyte zu erhöhen.

Die Fensterskalierungsoption kommt nur beim TCP-3-Wege-Handshake zum Einsatz. Der Fensterskalierungswert stellt die Anzahl von Bits zur Linksverschiebung des 16-Bit-Feldes für die Fenstergröße dar. Der Fensterskalierungswert kann von 0 (keine Verschiebung) bis 14 eingestellt werden.

Um die tatsächliche Fenstergröße zu berechnen, multiplizieren Sie die Fenstergröße mit 2^S, wobei S der Skalierungswert ist.
Beispiel:
Beträgt die Fenstergröße 65.535 Byte bei einem Skalierungsfaktor von 3, so gilt:
Tatsächliche Fenstergröße = 65535*2^3
Tatsächliche Fenstergröße = 524280
Die folgende Netzwerkmonitor-Ablaufverfolgung zeigt, wie die Fensterskalierungsoption eingesetzt wird:
TCP: ....S., len:0, seq:725163-725163, ack:0, win:65535, src:1217 dst:139(NBT Session)
TCP: Source Port = 0x04C1
TCP: Destination Port = NETBIOS Session Service
TCP: Sequence Number = 725163 (0xB10AB)
TCP: Acknowledgement Number = 0 (0x0)
TCP: Data Offset = 44 (0x2C)
TCP: Reserved = 0 (0x0000)
+ TCP: Flags = 0x02 : ....S.
TCP: Window = 65535 (0xFFFF)
TCP: Checksum = 0x8565
TCP: Urgent Pointer = 0 (0x0)
TCP: Options
+ TCP: Maximum Segment Size Option
TCP: Option Nop = 1 (0x1)
TCP: Window Scale Option
TCP: Option Type = Window Scale
TCP: Option Length = 3 (0x3)
TCP: Window Scale = 3 (0x3)

TCP: Option Nop = 1 (0x1)
TCP: Option Nop = 1 (0x1)
+ TCP: Timestamps Option
TCP: Option Nop = 1 (0x1)
TCP: Option Nop = 1 (0x1)
+ TCP: SACK Permitted Option
Hierbei ist zu beachten, dass die beim tatsächlichen 3-Wege-Handshake verwendete Fenstergröße nicht die Fenstergröße ist, auf deren Basis die Skalierung durchgeführt wird. Dies geht aus RFC 1323, Abschnitt 2.2, hervor: "The Window field in a SYN (i.e., a [SYN] or [SYN,ACK]) segment itself is never scaled." (Das Fensterfeld in einem SYN-Segment (d. h. einem [SYN]- oder [SYN,ACK]-Segment) selbst wird nie skaliert.)

Dies bedeutet, dass das erste Datenpaket, das nach dem 3-Wege-Handshake versendet wird, die tatsächliche Fenstergröße bestimmt. Falls es einen Skalierungsfaktor gibt, wird immer die ursprüngliche Fenstergröße von 65.535 Byte zugrunde gelegt. Die Fenstergröße wird dann mit dem Skalierungsfaktor multipliziert, der beim 3-Wege-Handshake ermittelt wurde. Die folgende Tabelle zeigt die Grenzen für den Skalierungsfaktor bei verschiedenen Fenstergrößen.

Tabelle minimierenTabelle vergrößern
Skal.-FaktorSkal.-WertUrsprüngliches FensterSkaliertes Fenster
0165535 oder weniger65535 oder weniger
1265535131.070
2465535262.140
3865535524.280
416655351.048.560
532655352.097.120
664655354.194.240
7128655358.388.480
82566553516.776.960
95126553533.553.920
1010246553567.107.840
11204865535134.215.680
12409665535268.431.360
13819265535536.862.720
1416384655351.073.725.440

Zum Beispiel:

Wird die Fenstergröße in der Registrierung mit einem Dezimalwert von 269.000.000 (269 Millionen) angegeben, ist der Skalierungsfaktor beim 3-Wege-Handshake 13, weil ein Skalierungsfaktor von 12 nur Fenstergrößen bis zu 268.431.360 Byte (268 Millionen) erlaubt.

Die ursprüngliche Fenstergröße in diesem Beispiel würde wie folgt berechnet:
65.535 Byte bei einem Fensterskalierungsfaktor von 13.
Tatsächliche Fenstergröße = 65535*2^13
Tatsächliche Fenstergröße = 536.862.720
Wenn der Wert für die Fenstergröße der Registrierung hinzugefügt wird und dieser Wert größer ist als der Standardwert, versucht Windows, einen Skalierungsfaktor anzuwenden, der für die neue Fenstergröße ausreicht.

Der Wert "Tcp1323Opts" in dem folgenden Registrierungsschlüssel kann geändert werden, um Fensterskalierung und Zeitstempel zu steuern:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
  1. Klicken Sie auf der Symbolleiste auf Start und auf Ausführen, und geben Sie Regedit ein, um den Registrierungs-Editor zu starten.
  2. Klicken Sie im Registrierungs-Editor auf Bearbeiten, zeigen Sie auf Neu, und klicken Sie auf DWORD-Wert.
  3. Geben Sie in das Feld Neuer Wert die Zeichenfolge Tcp1323Opts ein, drücken Sie die [EINGABETASTE], und klicken Sie im Menü Bearbeiten auf Ändern. Hinweis: Der gültige Bereich ist 0, 1, 2 oder 3, wobei Folgendes gilt:
0 (RFC 1323-Optionen deaktiviert)
1 (nur Fensterskalierung aktiviert)
2 (nur Zeitstempel aktiviert)
3 (beide Optionen aktiviert)
Dieser Registrierungsschlüssel steuert die RFC 1323-Optionen "Zeitstempel" und "Fensterskalierung". Zeitstempel und Fensterskalierung sind standardmäßig aktiviert, können jedoch mit Hilfe von Flagbits beeinflusst werden. Bit 0 steuert die Fensterskalierung, während Bit 1 die Zeitstempel kontrolliert.

Zeitstempel

Zuvor verwendete der TCP/IP-Stack zur Berechnung der Umlaufzeit (RTT) nur eine Stichprobe gesendeter Daten pro Fenster. Beim Versenden des Pakets wurde ein Zeitgeber (Neuübertragungszeitgeber) eingestellt, der die Zeit bis zum Eingang der Bestätigung maß. Betrug die Fenstergröße beispielsweise 64.240 Byte (44 vollständige Segmente) in einem Ethernet-Netzwerk, wurde bei der Berechnung der Umlaufzeit nur eines von jeweils 44 Paketen herangezogen. Bei einer maximalen Fenstergröße von 65.535 Byte war das ausreichend. Bei der Verwendung der Fensterskalierung und einer maximalen Fenstergröße von 1 Gigabyte ist diese Stichprobenrate für die Berechnung der Umlaufzeit jedoch unzureichend.

Die TCP-Zeitstempeloption kann jetzt so eingestellt werden, dass sie zur Berechnung der Umlaufzeit in jedem gesendeten Segment und jeder empfangenen Bestätigung (ACK) zum Einsatz kommt. Auf der Grundlage dieser Daten kann die Umlaufzeit bei großen Fenstergrößen exakt berechnet werden. Die Umlaufzeit dient als Basis für die Berechnung der Neuübertragungsintervalle. Für einen optimalen Durchsatz werden exakte Zeitlimits für Umlaufzeit und Neuübertragung benötigt.

Wenn der TCP-Zeitstempel in einer TCP-Sitzung verwendet wird, versendet der Ersteller der Sitzung die Option in seinem ersten Paket im Rahmen des TCP-3-Wege-Handshake (SYN-Paket). Beide Seiten können dann diese TCP-Option während der Sitzung nutzen. TCP-Zeitstempeloption (TSopt):
Tabelle minimierenTabelle vergrößern
Art = 8Länge = 10TS-Wert (Tsval)TS-Echoantwort (Tsecr)
1 Byte1 Byte4 Byte4 Byte

Das Feld für die Zeitstempeloption kann in einer Netzwerkmonitor-Ablaufverfolgung eingesehen werden, indem das TCP-Optionsfeld, wie nachstehend dargestellt, expandiert wird:
TCP: Zeitstempeloption
TCP: Optionstyp = Zeitstempel
TCP: Optionslänge = 10 (0xA)
TCP: Zeitstempel = 2525186 (0x268802)
TCP: Antwortzeitstempel = 1823192 (0x1BD1D8)

Schutz vor umbrochenen Sequenznummern

Das Feld für die TCP-Sequenznummern ist auf 32 Bit beschränkt, was eine Beschränkung der verfügbaren Sequenznummern zur Folge hat. Bei Netzwerken mit hoher Kapazität und der Übertragung großer Datenmengen ist es möglich, Sequenznummern umzubrechen, bevor ein Paket das Netzwerk durchquert. Wenn Daten in einem Netzwerk mit einer Kapazität von 1 Gigabyte pro Sekunde (Gbps) versendet werden, können die Sequenznummern in nur 34 Sekunden umbrochen werden. Wird ein Paket aufgehalten, könnte es theoretisch ein anderes Paket mit derselben Sequenznummer geben. Um eine Konfusion durch doppelt vorhandene Sequenznummern zu verhindern, wird der TCP-Zeitstempel als Erweiterung der Sequenznummer verwendet. Pakete werden mit aktuellen, fortlaufenden Zeitstempeln versehen. Ein älteres Paket hat in diesem Fall auch einen älteren Zeitstempel und wird daher verworfen.

Selektive Bestätigungen (SACKS)

Windows unterstützt jetzt ein Leistungsmerkmal, das als "Selektive Bestätigung" (Selective Acknowledgement = SACK) bezeichnet wird. SACK ist insbesondere für solche Verbindungen wichtig, bei denen große TCP-Fenster verwendet werden. Vor der Einführung von SACK konnte ein Empfänger nur die letzte Sequenznummer eines empfangenen Datenstroms oder den "linken Rand" des Empfangsfensters bestätigen. Wenn SACK aktiviert ist, verwendet der Empfänger auch weiterhin die ACK-Nummer (Bestätigungsnummer) zur Bestätigung des linken Randes des Empfangsfensters, er kann jedoch auch andere Segmente empfangener Daten individuell bestätigen. SACK verwendet die nachstehend beschriebenen TCP-Kopfzeilenoptionen. SACK verwendet zwei Typen von TCP-Optionen: Die TCP-Option "Sack-Permitted" (SACK gestattet) wird nur bei SYN-Paketen eingesetzt (während der Einrichtung einer TCP-Verbindung), um festzulegen, dass eine selektive Bestätigung möglich ist.

Die zweite TCP-Option, die TCP-Option "SACK", umfasst die Bestätigung für einen oder mehrere Datenblöcke. Die Datenblöcke werden anhand der Sequenznummern am Anfang und am Ende der einzelnen Datenblöcke identifiziert. In diesem Zusammenhang wird auch von "linkem Rand" und "rechtem Rand" des Datenblocks gesprochen.

"Art 4" steht für die TCP-Option "Sack-Permitted", "Art 5" für die TCP-Option "SACK". "Länge" bezeichnet die Länge dieser TCP-Option in Byte. TCP-Option "Sack-Permitted":
Tabelle minimierenTabelle vergrößern
Art = 4Länge = 2
1 Byte1 Byte

TCP-Option "SACK":

Tabelle minimierenTabelle vergrößern
Art = 5Länge = Variabel
1 ByteLinker Rand des 1. Blocks bis rechter Rand des 1. Blocks
...
Linker Rand des n-ten Blocks bis rechter Rand des n-ten Blocks

Ist die Option "SACK" aktiviert (Standard), können ein Paket oder eine Serie von Paketen verworfen werden, woraufhin der Empfänger den Absender informiert, welche Daten empfangen wurden und wo es "Lücken" in den Daten geben könnte. Der Absender kann dann die fehlenden Daten selektiv neu übertragen ohne Datenblöcke neu übertragen zu müssen, die bereits erfolgreich empfangen wurden. Die Option "SACK" wird durch den Registrierungsparameter "SackOpts" gesteuert.

Der Wert "SackOpts" in dem folgenden Registrierungsschlüssel kann bearbeitet werden, um die Verwendung selektiver Bestätigungen zu steuern:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  1. Klicken Sie auf der Symbolleiste auf Start und auf Ausführen, und geben Sie Regedit ein, um den Registrierungs-Editor zu starten.
  2. Suchen Sie im Registrierungs-Editor den vorstehend genannten Schlüssel und klicken Sie darauf. Klicken Sie dann im Menü Bearbeiten auf Ändern.
  3. Geben Sie die gewünschte Fenstergröße in das Feld Wert ein.
Hinweis: Der gültige binäre Wert ist 0 oder 1, der Standardwert ist 1. Dieser Parameter bestimmt, ob die Unterstützung für selektive Bestätigungen (SACK - RFC 2018) aktiviert ist.

Die folgende Netzwerkmonitor-Ablaufverfolgung zeigt einen Host, der alle Daten bis zur Sequenznummer 54857341 plus die Daten zu den Sequenznummern 54858789-54861685 bestätigt. Die fehlenden Daten stammen aus dem Bereich 54857341 bis 54858788.
TCP: .A...., len:0, seq:925104-925104, ack:54857341, win:32722, src:1242 dst:139
TCP: Source Port = 0x04DA
TCP: Destination Port = NETBIOS Session Service
TCP: Sequence Number = 925104 (0xE1DB0)
TCP: Acknowledgement Number = 54857341 (0x3450E7D)
TCP: Data Offset = 44 (0x2C)
TCP: Reserved = 0 (0x0000)
+ TCP: Flags = 0x10 : .A....
TCP: Window = 32722 (0x7FD2)
TCP: Checksum = 0x4A72
TCP: Urgent Pointer = 0 (0x0)
TCP: Options
TCP: Option Nop = 1 (0x1)
TCP: Option Nop = 1 (0x1)
+ TCP: Timestamps Option
TCP: Option Nop = 1 (0x1)
TCP: Option Nop = 1 (0x1)
TCP: SACK Option
TCP: Option Type = 0x05
TCP: Option Length = 10 (0xA)
TCP: Left Edge of Block = 54858789 (0x3451425)
TCP: Right Edge of Block = 54861685 (0x3451F75)

TCP-Neuübertragungsverhalten und schnelle Neuübertragung

TCP-Neuübertragung

Um zu überprüfen, ob ein normales Neuübertragungsverhalten vorliegt, startet TCP einen Neuübertragungszeitnehmer, wenn ausgehende Segmente an das Internetprotokoll (IP) übergeben werden. Wurde vor Ablauf des Zeitnehmers keine Bestätigung für die Daten in einem bestimmten Segment empfangen, wird das entsprechende Segment erneut übertragen.

Das Neuübertragungszeitlimit (Retransmission Timeout = RTO) wird mithilfe der Berechnung geglätteter Umlaufzeiten (Smoothed Round Trip Time = SRTT) gemäß der Beschreibung in RFC 793 fortlaufend angepasst, um den besonderen Eigenschaften der jeweiligen Verbindung Rechnung zu tragen. Das Zeitlimit für ein bestimmtes Segment wird nach jeder Neuübertragung dieses Segments verdoppelt. Wird dieser Algorithmus angewendet, stellt sich TCP selbsttätig auf die normale Verzögerung einer Verbindung ein.

Schnelle Neuübertragung

Es gibt gewisse Umstände, unter denen TCP Daten erneut überträgt, bevor das Neuübertragungszeitlimit abgelaufen ist. Am häufigsten ist dies aufgrund einer Funktion der Fall, die als "Schnelle Neuübertragung" (Fast Retransmit) bezeichnet wird. Wenn ein Empfänger, der die schnelle Neuübertragung unterstützt, Daten mit einer Sequenznummer empfängt, die außerhalb des erwarteten Bereichs liegt, ist es wahrscheinlich, dass Daten nicht korrekt übertragen wurden. Um den Absender über diesen Umstand zu informieren, versendet der Empfänger umgehend eine ACK (Bestätigung), wobei die ACK-Nummer auf die Sequenznummer eingestellt ist, die der Empfänger erwartet hat. Dies setzt der Empfänger für jedes weitere TCP-Segment fort, das bei ihm eingeht. Wenn der Absender einen ganzen Strom von ACKs erhält, mit denen dieselbe Sequenznummer bestätigt wird, ist es wahrscheinlich, dass ein Segment verworfen worden ist. Der Absender versendet in diesem Fall das vom Empfänger erwartete Segment sofort erneut, ohne darauf zu warten, dass das Neuübertragungszeitlimit überschritten wird. Diese Optimierung verbessert die Leistung erheblich, wenn es häufig vorkommt, dass Pakete verworfen werden.

Standardmäßig versendet Windows ein Segment erneut, wenn es drei ACKs für dieselbe Sequenznummer erhält (eine echte ACK und 2 Duplikate) und diese Sequenznummer älter ist als die aktuelle Sequenznummer. Dieses Verhalten kann mit Hilfe des Registrierungsparameters "TcpMaxDupAcks" gesteuert werden.

Der Wert "TcpMaxDupAcks" in dem folgenden Registrierungsschlüssel kann geändert werden, um die Anzahl an ACKs festzulegen, nach denen eine schnelle Neuübertragung erfolgt:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  1. Klicken Sie auf der Symbolleiste auf Start und auf Ausführen, und geben Sie Regedit ein, um den Registrierungs-Editor zu starten.
  2. Suchen Sie im Registrierungs-Editor den vorstehend genannten Schlüssel und klicken Sie darauf. Klicken Sie dann im Menü Bearbeiten auf Ändern.
  3. Geben Sie die gewünschte Fenstergröße in das Feld Wert ein.
Hinweis: Der gültige Bereich ist 1-3, der Standardwert ist 2.

Dieser Parameter determiniert die Anzahl an identischen ACKs, die für dieselbe Sequenznummer empfangen werden müssen, bevor für das während der Übertragung verworfene Segment eine "schnelle Neuübertragung" ausgelöst wird.

Eigenschaften

Artikel-ID: 224829 - Geändert am: Mittwoch, 18. April 2007 - Version: 6.2
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
Keywords: 
kbinfo kbenv kbnetwork KB224829
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