Grundlegende Informationen über das Lesen von TCP/IP-Ablaufverfolgungen

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 169292 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde zuvor veröffentlicht unter D169292
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
169292 The Basics of Reading TCP/IP Traces
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel behandelt einige grundlegende Konzepte und Tipps, die für das Lesen von TCP/IP-Ablaufverfolgungen benötigt werden.

Weitere Informationen

TCP-Flags

A, ACK- (Acknowledge) Der Empfänger sendet ein ACK, das der Nummer der Sendersequenz plus Len oder der Datenmenge an der TCP-Ebene entspricht.

SYN- und FIN-Flags zählen als 1 Byte. Das ACK kann auch als Sequenznummer des nächsten Oktetts betrachtet werden, das vom Empfänger empfangen werden soll.

S, SYN- Synchronize wird während der Einrichtung einer Sitzung verwendet, um ursprüngliche Sequenznummern auszuhandeln. Sequenznummern sind zufällig.

F, FIN- Finish wird verwendet, während eine Sitzung geschlossen wird, um anzuzeigen, dass der Sender alle Daten gesendet hat.

R, RST- Reset ist ein unmittelbarer Abbruch in beide Richtungen (anormaler Sitzungstrennung).

P, PSH- Push erzwingt Datenübermittlung, ohne auf zu füllende Puffer zu warten. Dies wird für interaktiven Datenverkehr verwendet. Die Daten werden auch zur Anwendung beim Empfänger ohne Puffer übermittelt.

U, URG- Urgent- Daten werden außerhalb des Bereichs gesendet.
Beispiel eines 3-Wege-Handshakes
--------------------------------------------------------------
Zeit     Ziel-IP         Quell-IP      Protokoll   Beschreibung
20.862   157.57.24.193   157.57.11.169   TCP       ....S., len:    4, seq:
346564214, ack:         0, win: 8192,

20.866   157.57.11.169   157.57.24.193   TCP       .A..S., len:    4, seq:
339000739, ack: 346564215, win: 8760,

20.866   157.57.24.193   157.57.11.169   TCP       .A...., len:    0, seq:
346564215, ack: 339000740, win: 8760,


Beispiel eines Schließvorgangs (Geänderter 3-Wege-Handshake)

Zeit     Ziel-IP        Quell-IP      Protokoll   Beschreibung
39.295  157.57.11.169   157.57.24.193   TCP       .A...F, len:    0, seq:
339000917, ack: 346564257, win: 8718,

39.295  157.57.24.193   157.57.11.169   TCP       .A...., len:    0, seq:
346564257, ack: 339000918, win: 8583,

39.298  157.57.24.193   157.57.11.169   TCP       .A...F, len:    0, seq:
346564257, ack: 339000918, win: 8583,

39.300  157.57.11.169   157.57.24.193   TCP       .A...., len:    0, seq:
339000918, ack: 346564258, win: 8718,

In den zwei oben aufgeführten Ablaufverfolgungen ist TCP (Transmission Control Protocol) das Protokoll der höchsten Ebene, somit können relevante Sitzungsinformationen in den Zusammenfassungszeilen der Ablaufverfolgung abgelesen werden. Wenn es ein übergeordnetes Protokoll (NBT, SMB, Telnet, FTP usw.) gibt, müssen Sie im Paket nach TCP-Flags, Acks und Sequenznummern suchen.

Verhalten von wiederholten Übertragungen

(aus "TCP/IP-Implementationsdetails")

TCP startet einen Zeitgeber für wiederholte Übertragungen, wenn ein ausgehendes Segment an IP weitergegeben wird. Wenn Sie vor Ablauf des Zeitgebers für die in einem angegebenen Segment enthaltenen Daten keine Bestätigung erhalten haben, wird das Segment erneut übertragen, und zwar so oft wie in TcpMaxDataRetransmissions festgelegt. Der Standardwert für diesen Parameter ist 5.

Der Zeitgeber für wiederholte Übertragungen wird auf 3 Sekunden initialisiert, wenn eine TCP-Verbindung aufgebaut wird; er wird jedoch mithilfe von SRTT-Berechnungen (Smoothed Round Trip Time) wie in RFC793 beschrieben ständig angepasst, um den Anforderungen und Eigenschaften der Verbindung zu entsprechen. Wenn ein Segment erneut übertragen werden muss (wenn die Übertragung wiederholt wird), wird der Timeout für ein angegebenes Segment verdoppelt. TCP stellt sich selbst mithilfe dieses Algorithmus auf die "normale" Verzögerung einer Verbindung ein. Der Timeout erfolgt bei TCP-Verbindungen über Links mit langer Verzögerung sehr viel später als bei TCP-Verbindungen über Links mit kurzen Verzögerungen.

Der folgende Ausschnitt einer Ablaufverfolgung zeigt den Algorithmus von wiederholten Übertragungen für zwei Hosts, die über Ethernet im gleichen Subnetz verbunden sind. Als die Verbindung zwischen dem empfangenden Host und dem Netzwerk getrennt wurde, wurde gerade eine Datei mittels FTP übertragen. Da die SRTT für diese Verbindung sehr klein war, wurde die erste Übertragung nach ca. einer halben Sekunde wiederholt. Der Zeitgeber wurde danach für jede folgende Wiederholungsübertragung verdoppelt. Nachdem die Übertragung fünf Mal wiederholt wurde, wird der Timeout nochmals verdoppelt; wenn vor Ablauf des Timeouts wieder keine Bestätigung empfangen wird, wird die Übertragung unterbrochen.
Delta Quell-IP     Ziel-IP      Pro-Flags   Beschreibung
--------------------------------------------------------------
0.000 10.57.10.32  10.57.9.138  TCP .A...., len: 1460, seq: 8043781, ack:
8153124, win: 8760

0.521 10.57.10.32  10.57.9.138  TCP .A...., len: 1460, seq: 8043781, ack:
8153124, win: 8760

1.001 10.57.10.32  10.57.9.138  TCP .A...., len: 1460, seq: 8043781, ack:
8153124, win: 8760

2.003 10.57.10.32  10.57.9.138  TCP .A...., len: 1460, seq: 8043781, ack:
8153124, win: 8760

4.007 10.57.10.32  10.57.9.138  TCP .A...., len: 1460, seq: 8043781, ack:
8153124, win: 8760

8.130 10.57.10.32  10.57.9.138  TCP .A...., len: 1460, seq: 8043781, ack:
8153124, win: 8760

Sie sehen möglicherweise nicht sofort ein "Reset", nachdem die wiederholten Versuche von Computer "X" erschöpft sind. Wenn Computer "Y" schließlich antwortet, setzt Computer "X" die Verbindung möglicherweise zurück.

Variable Fenster

Während des Handshakes wird die Größe des Sendefensters an die Größe des Empfangsfensters des anderes Host angepasst. Die Fenstergröße ist ein Puffer und entspricht der Datenmenge, die der Sender ohne Ack senden und der Empfänger ohne Ack empfangen kann. Die "Fenstergröße" kann variiert werden, nachdem das Paket bestätigt ist.

Bei einem Empfangsfenster von 8760 kann der Sender 8760 Bytes senden, bevor er eine Bestätigung erhält. Der Empfänger könnte jedes Paket, jedes zweite Paket oder die gesamten 8760 Bytes bestätigen, je nach IP-Stapel und Zeiten. (Siehe Verzögerter Ack-Zeitgeber und Wiederholungsübertragungs-Zeitgeber.) Windows NT bestätigt jedes zweite Paket. Falls die Pakete äußerst schnell ankommen, sehen Sie möglicherweise, dass Windows NT mehr als zwei Pakete bestätigt. Ist das PUSH-Bit gesetzt, werden Daten sofort zur Anwendung übertragen, aber die Bestätigung verzögert sich möglicherweise.

In Frame 51 ist die Sequenznummer 349349990. In Frame 57 ist die Bestätigung 7349358750. Dies ist die Sequenznummer von Frame 51 und die empfangene Datenmenge in Frame 51 bis 56 (6 Frames à 1460 = 8760). Die Bestätigung 349358750 ist auch die Sequenznummer des nächsten Pakets, das der Host erwartet.
Frame   Zeit    Quelle Andere Adresse  Ziel Andere Adresse  Protokoll  Beschreibung
-----------------------------------------------------------------------------------
50      3.923   157.57.11.169          157.57.24.193        .A...., len:
0, seq: 356870796, ack: 349349990, win: 8760,

51      3.924   157.57.24.193          157.57.11.169        FTP        Data Transfer To
Client, Port = 1636, size 1460
+ TCP: .A...., len: 1460, seq: 349349990, ack: 356870796, win: 8760, src:
20  dst: 1636

52      3.940   157.57.24.193          157.57.11.169        FTP        Data Transfer To
Client, Port = 1636, size 1460

53      3.941   157.57.24.193          157.57.11.169        FTP        Data Transfer To
Client, Port = 1636, size 1460

54      3.943   157.57.24.193          157.57.11.169        FTP        Data Transfer To
Client, Port = 1636, size 1460

55      3.944   157.57.24.193          157.57.11.169        FTP        Data Transfer To
Client, Port = 1636, size 1460

56      3.946   157.57.24.193          157.57.11.169        FTP        Data Transfer To
Client, Port = 1636, size 1460

57      3.947   157.57.11.169          157.57.24.193        TCP        .A...., len:
0, seq: 356870796, ack: 349358750, win: 4096,

Die Fenstergröße wird auch zur Flusssteuerung verwendet, indem zum Beispiel ein Host eine kleinere Fenstergröße angibt, während die Puffer gefüllt werden, oder die Fenstergröße 0, wenn er gar keine Daten empfangen kann. In Frame 50 (s. o.) gibt der Host eine Fenstergröße von 8760 an, und in Frame 57 wurde sie auf 4096 herabgesetzt.

Ports, Verbindungen und Endpunkte

Portnummern definieren das Endziel innerhalb eines Computers. Verbindungen werden von einem Endpunktpaar identifiziert. Ein Endpunkt ist (Host, Port). Ex. (199.199.40, 21)

Portnummern

Die Portnummern sind in drei Bereiche unterteilt: die bekannten Ports, die registrierten Ports und die dynamischen und/oder privaten Ports. Die bekannten Ports umfassen die Ports 0 bis 1023. Die registrierten Ports umfassen die Ports 1024 bis 49151. Die dynamischen und/oder privaten Ports umfassen die Ports 49152 bis 65535.

Bekannte Ports werden von IANA (Internet Assigned Numbers Authority) zugewiesen und sollten nur von Systemprozessen bzw. von Programmen verwendet werden, die von privilegierten Benutzern ausgeführt werden. Ein Beispiel dieses Porttyps ist 80/TCP und 80/UDP. Diese Ports sind privilegiert und dem HTTP-Protokoll vorbehalten.

Registrierte Ports werden von IANA aufgeführt und können in den meisten Systemen von normalen Benutzerprozessen oder von Programmen verwendet werden, die von gewöhnlichen Benutzern ausgeführt werden. Ein Beispiel dieses Porttyps ist 1723/TCP und 1723/UDP. Obwohl diese Ports auch von anderen Prozessen verwendet werden können, werden sie im Allgemeinen als Ports für Steuerung von PPTP-Verbindungen (PPTP = Point To Point Tunnelling Protocol) akzeptiert.

Dynamische oder private Ports können von jedem Prozess oder Benutzer verwendet werden. Sie unterliegen keinen Beschränkungen.

IANA unterhält eine Liste mit Ports auf folgender Website:
http://www.iana.org/assignments/port-numbers
Die Kontaktinformationen bezüglich der in diesem Artikel erwähnten Fremdanbieter sollen Ihnen helfen, den benötigten technischen Support zu finden. Diese Kontaktinformationen können sich ohne vorherige Ankündigung ändern. Sie werden von Microsoft ohne jede Gewähr weitergegeben.

Vorschläge zum Lesen von Ablaufverfolgungen

Folgen Sie einer Sitzung mithilfe der Quell- und Ziel-IP-Adressen und Portnummern. Wenn Sie auf Reset stoßen, betrachten Sie die Sequenznummern und Bestätigungen, die auf ihn folgen. Verwenden Sie einen Taschenrechner, um nachzuvollziehen, welche Bestätigung zu welchen übermittelten Daten gehört. Aktuellere NetMon-Versionen führen diese Berechnungen für Sie aus. Versucht der Sender, nochmals die Daten zu senden? Beachten Sie die Anzahl der Versuche und die verstrichene Zeit. Standardmäßig beträgt die Anzahl für Wiederholungsversuche 5. Fordert der Empfänger einem nicht erhaltenen Frame an, indem er für eine vorherige Sequenznummer ein ACK sendet? Hat der Sender das vorherige Paket gesichert und erneut gesendet? Ein Reset kann durch Timeouts auf der TCP-Schicht oder durch Timeouts von Protokollen höherer Ebenen verursacht werden. Resets der TCP-Schicht sollten problemlos in der Ablaufverfolgung abgelesen werden können. Es ist möglicherweise schwieriger, den Grund von Resets zu bestimmen, die von Protokollen höherer Ebenen verursacht wurden.

Beispielsweise kann das Lesen eines SMB (Server Message Block) nach 45 Sekunden einen Timeout und damit einen Reset der Sitzung verursachen, selbst wenn die Kommunikation auf der TCP-Schicht zwar funktioniert, jedoch aber sehr langsam ist. Die Ablaufverfolgung kann nur näher eingrenzen, welche Komponente den Fehler verursacht. Sie müssen dann weiterführende Methoden verwenden, um dem Problem auf den Grund zu gehen.

Starten Sie den Netzwerkmonitor und führen Sie folgende Schritte durch, um TCP-Sequenzen anzuzeigen, wenn Protokolle höherer Ebenen aktiv sind:
  1. Klicken Sie auf Aufzeichnen, und wählen Sie danach Aufgezeichnete Daten anzeigen.
  2. Klicken Sie auf Anzeigen, und wählen Sie danach Optionen.
  3. Wählen Sie Automatisch (Protokolle im Anzeigefilter), und klicken Sie danach auf OK.
  4. Klicken Sie auf Anzeigen, und wählen Sie danach Filter.
  5. Doppelklicken Sie Protokoll=Jedes.
  6. Klicken Sie auf die Registerkarte Protokoll, und klicken Sie danach auf Alle deaktivieren.
  7. Wählen Sie in der Liste Deaktivierte Protokolle die Option TCP.
  8. Klicken Sie auf Aktiviert und danach auf OK.
  9. Klicken Sie auf OK.

Verweise

TCP/IP Illustrated Volume 1; W. Richard Stevens
TCP/IP Illustrated Volume 2 ; Gary R. Wright and W. Richard Stevens
Internetworking with TCP/IP Volume 1; Douglas E. Comer
Internetworking with TCP/IP Volume 2; Douglas E. Comer and David L. Stevens
"TCP/IP Implementation Details"; Dave MacDonald

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.

Eigenschaften

Artikel-ID: 169292 - Geändert am: Freitag, 9. Januar 2004 - Version: 3.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
Keywords: 
kbinfo kboswin2000 kboswinnt400 KB169292
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