Warum wird hier ein einzelnes(?) TCP-Paket auf mehrere PDU-Einheiten aufgeteilt?

Warum wird hier ein einzelnes(?) TCP-Paket auf mehrere PDU-Einheiten aufgeteilt?

Bildbezogen:Alt-Text

Warum werden diese Segmente als separate Pakete markiert (alle Ack, Seq=509)? Warum wurde ein Paket aufgeteilt?

Antwort1

Ich nehme an, Sie beziehen sich auf sichtbare Frames im Bereich 56-78.
Lassen Sie uns die Dinge in dieser Reihenfolge angehen,

  1. Über: " TCP segment of a reassembled PDU"
    Dies bedeutet, dass Wireshark (Ethereal?) TCP-Segmente für Ihre Ansicht neu zusammengesetzt hat.
    Sie können diese Zeichenfolge also ignorieren, sie ist nicht schädlich.
    Ich habe in Punkt 4 weiter unten erläutert, was diese Frames sind.
  2. Über: Verschiedene Frames mit der gleichen ' seq' Nummer.
    Die Frames 58, 60, 62, 64 usw. zeigen die gleiche Sequenznummer.
    Beachten Sie jedoch, dass diesenichtein einzelnes Paket, „als separate Pakete markiert“ – keine Aufteilung.
    Bei diesen Paketen war nur das ACKFlag „ “ gesetzt und Sie werden sehen, dass die ACK-Nummer hochzählt.
    Dies sind ACKs, die von Ihrem Computer an den HTTP-Server gesendet wurden, als verschiedene TCP-Segmente ihn erreichten.
  3. Die ACKSequenz ' ' beginnt 1im Frame 52und endet mit 9646im FIN-Frame 78.
    Während dieser Zeit wiederholen alle Frames von Ihrem Browser zum HTTP-Server die zuletzt gesendete Sequenznummer (die lautet 609) – dies ist ein normales TCP-Protokollverhalten.
    Der Browser sendet nach seiner ersten HTTP-Anforderung (Frame ) keine weiteren Daten 52.
    Der HTTP-Server hat dies im Frame bestätigt 54.
  4. Ich gehe davon aus, dass Frame 54die (Wireshark) neu zusammengesetzte Serverantwort ist, die mit den Frames gebildet wurde, die als „TCP-Segment einer neu zusammengesetzten PDU“ gekennzeichnet sind.
    Alle nachfolgenden Frames, die so gekennzeichnet sind, stammen also vom HTTP-Server an den Client
    (dieses Detail ist in Ihrem Bild nicht sichtbar, da Sie die Spalten „Quelle“ und „Ziel“ gelöscht haben).

Wenn Sie Ihre ursprüngliche Erfassungsdatei erneut prüfen, sollten Sie die Frames 54 bis 67 mit TCP-Quellport 80 (für HTTP) finden, die zusammen 9646 Byte Antwortdaten vom HTTP-Server ergeben.

Was Sie hier sehen, ist eine 9 KB große Antwort vom HTTP-Server, die Ihren Browser in Form mehrerer MTU-begrenzter TCP-Segmente erreicht, von denen jedes vom TCP-Stapel Ihres Betriebssystems bestätigt wurde.

Dies ist die Kommunikationssequenz auf hoher Ebene.

  1. Ihr Browser hat die Verbindung zum HTTP-Server mit einem 3-Wege-TCP-Handshake gestartet.
  2. Es wurde über diese Verbindung eine einzelne HTTP-Anfrage an den Server gesendet.
  3. Der Server antwortete darauf mit einer 9 KB großen Antwort, die auf mehrere TCP/IP-Pakete verteilt war, als (TCP-Segmente)
  4. Der TCP/IP-Stapel auf Ihrem Browsercomputer bestätigte jedes TCP-Paket, sobald es vom Server empfangen wurde
  5. Schließlich wurde die Verbindung mit einem Paket geschlossen FIN. Ich gehe davon aus, dass nach Frame 78
    noch ein paar weitere FINPakete (oder ein einzelnes Paket) folgten.ACKRST

Weitere Informationen zur Handhabung von Wireshark TCP Reassembly finden Sie unterWireshark Wiki.

Antwort2

Ich kann das Bild nicht sehen, aber ein Protokoll auf niedrigerer Ebene (z. B. Ethernet) kann ein Protokoll auf höherer Ebene (z. B. TCP-Paket) basierend auf der Größe seiner MTU (Maximum Transmission Unit) in Fragmente aufteilen.

Antwort3

Wikipedia definiertProtokolldateneinheitwie folgt :

In der Telekommunikation hat der Begriff Protocol Data Unit (PDU) folgende Bedeutungen:

  1. Informationen, die als Einheit zwischen Peer-Entitäten eines Netzwerks übermittelt werden und Steuerinformationen, Adressinformationen oder Daten enthalten können.
  2. In einem Schichtsystem eine Dateneinheit, die in einem Protokoll einer bestimmten Schicht angegeben ist und aus Protokollsteuerungsinformationen und möglicherweise Benutzerdaten dieser Schicht besteht. Beispiel: Bridge PDU oder iSCSI PDU1

PDUs sind relevant für jede der ersten 4 Schichten desOSI-Modell(Schicht 5 und höher werden als Daten bezeichnet).

Eine PDU ist also im Endeffekt einfach eine Dateneinheit, die in ihrem eigenen Kontext definiert ist.

AusWireShark verstehen:

Manchmal kommt das Paket nicht in einem Stück an. Stattdessen kommt das Paket in mehreren Protocol Data Units (PDU) an. WireShark versucht, diese Einheiten wieder zu einem einzigen Paket zusammenzusetzen. Ein solches Paket wird als wieder zusammengesetzte PDU bezeichnet.

Wenn Sie mit einer neu zusammengesetzten PDU arbeiten, ist die Anzeige nicht so schön wie bei einem normalen Paket. Die Header der Antwort befinden sich im unteren Bereich von Abbildung 2.11.

Dies bedeutet, dass es sich hierbei um Segmente der TCP/IP-Nachricht handelt und dass im Normalfall nur das letzte Segment aussagekräftige und vollständige Informationen über die TCP/IP-Nachricht enthält.

AusWireshark TCP-Segment einer wieder zusammengesetzten PDU:

Sie können die Neuzusammenstellung von TCP-Segmenten deaktivieren, indem Sie in den TCP-Protokolleinstellungen die Option „Unterdissector darf TCP-Streams desegmentieren“ deaktivieren. Auf diese Weise werden alle Teile der Anwendungs-PDU einzeln angezeigt.

Auf diese Weise wird sichergestellt, dass alle Segmente alle erforderlichen Informationen für eine aussagekräftige Anzeige des TCP/IP-Segments enthalten und nicht nur das letzte Paket.

verwandte Informationen