Was sind die Unterschiede im Inhalt von Datagrammen, Frames und Netzwerkpaketen?

8

Ich überprüfe die Netzwerksicherheitseinheit der Klasse, in der ich bin, und hatte eine Frage.

Ich weiß, dass Datagramme Pakete auf der Transportschicht des OSI-Modells sind, während Frames der Name für Pakete in der Transportschicht und Netzwerkpakete in der Netzwerkschicht sind. Ich weiß auch, dass jeder einen Header mit Overhead-Informationen wie den Quell- und Ziel-IP-Adressen sowie einer Nutzlast von Daten enthält. Aber ich konnte nichts über die subtileren Unterschiede zwischen dem Inhalt von Datagrammen, Frames und Netzwerkpaketen herausfinden. Gibt es Ressourcen oder Diagramme, auf die Sie mich verweisen könnten, damit ich diese Konzepte besser verstehen kann?

Vielen Dank!

Aditi Ramaswamy
quelle
Hat dir eine Antwort geholfen? Wenn ja, sollten Sie die Antwort akzeptieren, damit die Frage nicht für immer auftaucht und nach einer Antwort sucht. Alternativ können Sie Ihre eigene Antwort bereitstellen und akzeptieren.
Ron Maupin

Antworten:

6

Hinweis:
Der Begriff datagramwird auf verschiedene Arten verwendet. Wenn wir uns an RFC1594 halten, ist ein Datagramm

Eine in sich geschlossene, unabhängige Dateneinheit, die ausreichende Informationen enthält, um von der Quelle zum Zielcomputer geleitet zu werden, ohne auf einen früheren Austausch zwischen diesem Quell- und Zielcomputer und dem Transportnetzwerk angewiesen zu sein.

und kann verwendet werden, um über jede Schichtübertragungseinheit zu sprechen.

IE

  • a packetist das Datagramm der Internetschicht
  • das frameist der Netzwerk - Zugriffsschicht - Datagramm.
  • Das Transportschicht-Datagramm ist a segment

Zurück zur Frage

Aus dieser Antwort auf Stapelüberlauf

Geben Sie hier die Bildbeschreibung ein

Wie du siehst :

  • Die Anwendung dataempfängt einen Transportprotokoll-Header (UDP oder TCP im Allgemeinen) und wird zu einem segment.

  • Der segmentempfängt einen IP-Header und ist nun einpacket

  • Der packetempfängt einen Frame-Header und einen Frame-Footer, um a zu bildenframe

JFL
quelle
Es ist alles sehr gut und gut, bis Sie erfahren, dass Sie, wenn Sie einen weiteren Schritt in der OSI- packet
Ebenenhierarchie
3

Die Begriffe Frame, Packetund Segmentexistieren Abstraktionen zu schaffen , was eine Schicht ist verantwortlich für die Verse der andere.

Um das zu erklären und Ihre Frage gründlich zu beantworten, werde ich etwas "früher" beginnen als das, was Sie wirklich fragen.

Deshalb...

  • Wenn Layer 4 Daten erhält, fügt er einen Header hinzu, der die Bereitstellung von Service zu Service wie TCP- oder UDP-Ports (unter anderem) erleichtert. Dieses gesamte Datagramm wird als Segment bezeichnet .
  • Wenn Schicht 3 Daten erhält, fügt sie einen Header hinzu, der die End-to-End-Zustellung erleichtert , wie die Quell-IP des ursprünglichen Absenders und die Ziel-IP des endgültigen Empfängers - dieses gesamte Datagramm wird als Paket bezeichnet .
  • Wenn Schicht 2 Daten erhält, fügt sie einen Header hinzu, der die Hop-to-Hop- Zustellung erleichtert , wie die Quell- und Ziel-MAC-Adressen des aktuellen " Hops " im Netzwerk - dieses gesamte Datagramm wird als Frame bezeichnet .

Dies ist im Wesentlichen der Prozess der Kapselung, der in dieser Animation dargestellt wird:

Geben Sie hier die Bildbeschreibung ein

  • Ein Frame ist dann der L2-Header plus alle Daten, die an den nächsten Hop geliefert werden müssen:

    • Rahmen: [L2 HDR][110011001010101011110000...010101]
    • Sie und ich wissen, dass sich im Frame ein L3-Header und ein L4-Header sowie Anwendungsdaten befinden, aber was L2 betrifft, ist alles im Inneren nur eine Reihe von 1s und 0s, die an einen anderen Hop geliefert werden müssen.
  • Ein Paket ist dann der L3-Header sowie alle Daten, die an das andere Ende geliefert werden müssen:

    • Paket: [L3 HDR][1010101011110000...010101]
    • Sie und ich wissen, dass sich im Frame ein L4-Header und Anwendungsdaten befinden, aber für L3 ist alles im Inneren nur eine Reihe von 1s und 0s, die ein weiterer Endpunkt sein müssen
  • Ein Segment ist dann der L4-Header sowie alle Daten, die an den anderen Dienst übermittelt werden müssen:

    • Segment: [L4 HDR][11110000...010101]
    • Sie und ich wissen, dass sich innerhalb des Segments die Anwendungsdaten befinden, die vom empfangenden Dienst verarbeitet werden sollen

Und die Anwendungsdaten selbst werden sich natürlich mit jeder Anwendung unterscheiden. HTTP für Webanfragen, FTP für Dateiübertragungen usw.

Der Begriff Datagramm selbst ist einfach das Konstrukt aus einem Header und Bits. Und die obigen Begriffe sind einfach die eindeutigen Namen für das bestimmte Datagramm, das auf jeder Ebene ausgeführt wird.

  • Ein Frame ist das Datagramm bei L2
  • Ein Paket ist das Datagramm bei L3
  • Ein Segment ist das Datagramm bei L4
Eddie
quelle
Es gibt ein Problem mit dieser Antwort - das gleiche wie mit @
JFLs