Woraus besteht ein Netzwerkpaket?

1426
Aung Kaung Hein

Ich kenne grundlegende Vernetzung, bin aber nicht sehr gut darin. Jetzt berechne ich, wie viele Pakete verloren gehen, wenn ich UDP über IPv4 verwende . Ich kann davon ausgehen, dass der Protokoll-Overhead für Daten, die über UDP über IPv4 gesendet werden, 66 Byte beträgt . Und die Daten müssen in Blöcken der Größe 4 KB übertragen werden (dies ist die Nutzlastgröße jedes Pakets).

Also hier ist meine Frage:

Woraus besteht ein Netzwerkpaket?

Wikipedia sagt das

Ein Paket besteht aus zwei Arten von Daten: Steuerinformationen und Benutzerdaten (auch als Nutzdaten bezeichnet).

Im Grunde hat ein Paket einen Header und einen Trailer mit Nutzdaten dazwischen.

Eine Paketstruktur sieht folgendermaßen aus: Header | Nutzlast | Anhänger

Wenn ich also ein Paket bilden möchte, sollte ich den Protokoll-Overhead in meine Berechnung einbeziehen?

Paketgröße = 66 Byte (Protokoll-Overhead) + 4096 Byte (Nutzlast) = 4162 Byte

Jede Hilfe wäre sehr dankbar.

0
Sie sagen, Sie möchten die verlorenen Pakete berechnen, gehen dann aber weiter zur Paketlänge. Ist das so, weil Sie die Bitfehlerrate kennen und diese und die Paketlänge verwenden können, um die Paketverlustrate zu berechnen? Wenn ja, empfehle ich es in der Frage klar zu stellen. Ich habe erst begriffen, warum, als ich Sie fragte, warum (ich hatte den Anfang dieses Kommentars geschrieben, bevor ich merkte, dass die anderen wahrscheinlich das gleiche oder ein schlimmeres Problem hätten). ctrl-alt-delor vor 9 Jahren 0
@ richard Ich mache ein Experiment mit der gegebenen Situation. 4788 MB Daten müssen von A nach B übertragen werden. Wie Sie wissen, ist UDP im Allgemeinen eher unzuverlässig: Durchschnittlich gehen 3,3% der übertragenen Datenpakete verloren. Der Protokollaufwand beträgt 66 Byte. Ich muss also wissen, wie ich die Größe eines Pakets herausfinden kann, damit ich berechnen kann, wie viele Pakete übertragen werden. Muss ich also den Overhead hinzufügen, um die Paketgröße zu berechnen, oder muss ich nur die Payload verwenden? Aung Kaung Hein vor 9 Jahren 0
Die Paketverlustrate kann variieren: Ich habe UDP in einem dedizierten LAN verwendet und keinen Verlust erhalten. Wenn Sie es jedoch über ein sehr schlechtes Netzwerk senden, könnten Sie sich verschlimmern. Größere Pakete gehen eher verloren. Kleinere Pakete haben mehr Aufwand. Wenn Sie UDP verwenden, müssen Sie Ihr eigenes Protokoll hinzufügen, um den Paketverlust zu bewältigen (oder wissen, dass Sie der Netzwerkschicht zu 100% vertrauen können, um dies für Sie zu tun). ctrl-alt-delor vor 9 Jahren 0
Ich hatte Probleme, dies zu verstehen. Danke für all eure Erklärung @richard. Du warst mir eine große Hilfe. Wenn ich also sagen muss, ich muss herausfinden, wie viele Pakete übertragen werden müssen, damit alle 4788 MB Daten bei B empfangen werden. Würde es dann richtig sein, diese Formel zu verwenden? 4788 MB / Paketgröße, die die Summe aus Overhead und Nutzlast ist (66 Byte + 4096 Byte) ** Null Verlust in diesem Fall. ** Aung Kaung Hein vor 9 Jahren 0
Ich habe auf diese Weise berechnet: 1 Paket hat 4162 Bytes. Wie viele Pakete werden also für 4788 MB übertragen? Ich habe 4162 Bytes erhalten, weil ich bei der Berechnung Overhead hinzugefügt habe. Oder sollte ich ohne Overhead 4096 Byte verwenden? Genau das möchte ich wissen. Aung Kaung Hein vor 9 Jahren 0

2 Antworten auf die Frage

1
ctrl-alt-delor

Um die minimale Anzahl von Paketen zu berechnen, die erforderlich ist, um eine bestimmte Datenmenge zu senden (unter der Annahme, dass keine Verluste auftreten).

Let Sp be the size of the payload of a packet. Let St be the total size of the data. Let Np be the number of packets. then Np=St/Sp 

In diesem Fall werden die Metadaten (Header / Overhead) nicht berücksichtigt.


Betrachten wir ein physikalisches Beispiel.

Wenn wir 1 Liter Wasser haben (Vt). Wir möchten es mit einer Tasse (Vc) verschieben. So oft müssen wir cup (Nc) verwenden, ist Nc = Vt / Vc.

Bei welchem ​​Vc hat der Becher jedoch zwei Volumen, ein inneres und ein äußeres Volumen (Vi und Ve). Das äußere Volumen ist, wie viel Wasser verdrängt würde, wenn es einen Deckel hätte, um das Eindringen von Wasser zu verhindern, oder Vi + Vm, wobei Vm das Volumen der Materialien ist, aus denen der Becher besteht. Vi ist einfacher das Wasservolumen, das der Becher aufnehmen kann. Welchen Wert von Vc sollten wir verwenden? Vc = Ve oder Vc = Vi

0
ctrl-alt-delor
  • F: In welchen Teilen des Pakets würde die Korruption dazu führen, dass es nicht zugestellt wird?
  • A: Ein Fehler in einem wichtigen Teil eines Pakets führt dazu, dass das Paket abgelehnt wird.
  • F: Welcher Teil, wenn ein Paket wichtig ist.
  • A: Alles, sonst würde es nicht existieren.

Betrachten Sie daher das gesamte Paket: Nutzlast, UDP, IPv4, Netzwerkschicht (Ethernet, PPP usw.). Beachten Sie, dass sich die Netzwerkschicht für verschiedene Teile der Reise ändern kann, und zwar für die Länge des Pakets, aber auch die Bitfehlerrate.

"> Die Netzwerkschicht kann sich für verschiedene Teile der Reise ändern." - Netzwerkschichtänderung => zusätzliche / entfernte Steuerinformationen. Das Paket kann in den Transportinformationen eines beliebigen Netzwerks gekapselt werden, das es weiterleitet. Hannu vor 9 Jahren 1