Sind Segmente, Pakete und Frames die gleiche Größe, wenn Header ignoriert werden?


11

Ich habe nach einigen Erklärungen über die Unterschiede zwischen Segmenten, Paketen und Frames gesucht und was ich gelesen habe:

  • Segment ist die Originaldaten + Transport Layer Header.
  • Paket ist ein Segment + Network Layer-Header.
  • Frame ist ein Packet + Data Link Layer-Header.

Im Grunde bedeutet dies, dass, wenn wir die Header beiseite legen, Segmente = Pakete = Frames.

Ich erinnere mich an das Lesen, dass die Data Link-Schicht die von der Netzwerkschicht übertragenen Daten in kleinere Datenblöcke aufteilt, die von der physikalischen Schicht übertragen werden können. Daher nahm ich an, dass diese Frames kleinere Teile eines bestimmten Pakets sind.

Aber überall, wo ich recherchiere, habe ich gelesen, dass der einzige Unterschied zwischen Segmenten, Paketen und Frames die Kopfzeilen sind, die mit den Originaldaten in den verschiedenen Ebenen verbunden sind, und dass die Namen unterschiedlich sind, da sie für jede Ebene eindeutig sind, obwohl es im Grunde die ist gleiche Sache.

Sind Segmente, Pakete und Frames wirklich dasselbe, abgesehen von den Headern, die in jedem von ihnen enthalten sind? Sind alle gleich groß?


1
Die "Füllung" oder die Datenmenge kann unterschiedlich sein. Schauen Sie sich den "Nagle-Algorithmus" an, der in einer Reihe von Netzwerkstacks implementiert ist: en.wikipedia.org/wiki/Nagle's_algorithm
Florenz Kley

Antworten:


14

enter image description here

Wie Sie sehen, hat jede Ebene ihre Kopfzeile:

  • Segmente: Transportschicht (TCP / UDP) = Transportheader + Daten (von der oberen Schicht)
  • Paket: Internetschicht (IP) = Netzwerkheader + Transportheader und -daten (sowohl Transport als auch Daten von höheren Schichten)
  • Frames: Netzwerkschicht (Ethernet) = Frame-Header + Netzwerk, Transportheader und Daten (aus drei oberen Schichten).

Um Ihre Frage zu beantworten, ist der Unterschied zwischen Segment, Paket und Frames im Grunde das, was die jeweilige Schicht als "Daten" betrachtet. In einem Segment kommen Daten aus der Anwendungsebene. in einem Paket kommen Daten von der Transportschicht (Transportheader + Daten); In einem Frame kommen die Daten aus der Internetschicht (Transport- und Internet-Header + Daten aus der Anwendungsschicht).


1
Und wie sieht es mit den Daten aus? schließlich durch die physikalische Schicht übertragen? Wenn nicht alle Daten gleichzeitig übertragen werden, wie funktioniert das Aufteilen? Geschieht dies gleichzeitig im Netzwerk & amp; Datenverbindungsschichten (und von der Transportschicht verarbeitet)? Können Sie bitte in Ihrer Antwort auf diesen Prozess eingehen?
amiregelz

Diogo ist richtig, aber es gibt auch einige Überlegungen, die irreführend sein können. Trotz der Tatsache, dass Sie möglicherweise 100 Byte Daten senden, belegt das Paket immer noch die volle MTU (normalerweise ~ 1500 Byte) auf der Leitung. Der Nachteil ist, dass Sie beim Senden einer Reihe winziger Pakete niemals die maximal mögliche Bandbreite für die Netzwerkverbindung erhalten. Einige gekapselte Tunnel können diesen Abfall reduzieren / verringern ... aber das ist ein anderes Thema.
TheCompWiz

@ Diogo Kannst du deine Antwort entsprechend meinem Kommentar bearbeiten? Vielen Dank.
amiregelz

0

Sind Segmente, Pakete und Frames wirklich dasselbe, abgesehen von den Headern, die in jedem von ihnen enthalten sind?

http://www.inetdaemon.com/tutorials/basic_concepts/communication/frames_packets_n_pdus.shtml

Sind alle gleich groß?

Wenn Sie sich die Ebenen als einzelne Entitäten vorstellen, dann nein. Sie haben alle unterschiedliche Maximal- und Minimalgrößen. Denken an sie in Beziehung zueinander; Die untere Ebene legt fest, wie groß die Datenmenge maximal sein kann, die von einer darüber liegenden Ebene übergeben werden kann.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.