Wie groß ist ein leeres UDP-Datagramm? Und das eines leeren TCP Pakets?
Ich kann nur Informationen über die MTU finden, aber ich möchte wissen, welche "Basisgröße" diese haben, um den Bandbreitenverbrauch für Protokolle darüber zu schätzen.
TCP:
Größe des Ethernet-Frames - 24 Byte
Größe des IPv4-Headers (ohne Optionen) - 20 Byte
Größe des TCP - Headers (ohne Optionen) - 20 Byte
Gesamtgröße eines Ethernet-Frames, der ein IP-Paket mit leerem TCP - Segment trägt - 24 + 20 + 20 = 64 Byte
UDP:
Größe des Ethernet-Frames - 24 Byte
Größe des IPv4-Headers (ohne Optionen) - 20 Byte
Größe des UDP-Headers - 8 Byte
Gesamtgröße eines Ethernet-Frames, der ein IP-Paket mit einem leeren UDP-Datagramm trägt - 24 + 20 + 8 = 52 Byte
Himanshus Antwort ist völlig richtig.
Was bei der Betrachtung der Struktur eines Ethernet-Frames irreführend sein könnte, ist, dass die Mindestgröße eines Ethernet-Frames ohne Nutzlast 18 Byte betragen würde: Dst Mac (6) + Src = Mac (6) + Länge (2) + Fcs (4), durch Hinzufügen der Mindestgröße von IPv4 (20) und TCP (20) erhalten wir insgesamt 58 Bytes.
Was noch nicht erwähnt wurde, ist, dass die minimale Nutzlast eines Ethernet-Frames 46 Byte beträgt, so dass die 20 + 20 Byte von IPv4 und TCP sind nicht genug Nutzlast! Dies bedeutet, dass 6 Byte haben gepolstert werden, das ist, wo die Summe von 64 Bytes herkommt.
18 (min. Ethernet- "Header" -Felder) + 6(padding) + 20 (IPv4) + 20 (TCP) = 64 Byte
Hoffe, das klärt ein bisschen auf.
Weiterführende Literatur :
Siehe User Datagram Protocol . Der UDP-Header ist 8 Byte (64 Bit) lang.
Die minimale Größe des bloßen TCP Headers beträgt 5 Wörter (32 Bit Word), während die maximale Größe eines TCP Headers 15 Wörter beträgt.
Beste Wünsche, Fabian
Artelius und Halfdan sind korrekt, aber Sie vermissen etwas: UDP und TCP werden beide auf einem physischen Transport ausgeführt. Wenn Sie beispielsweise UDP über Ethernet verwenden, sollten Sie auch die Größe angeben des Ethernet-Frames
Wenn Sie den Bandbreitenverbrauch berechnen und mit der maximalen Rate Ihres Netzwerks (wie 1 GBit/s oder 10 GBit/s) in Beziehung setzen möchten, müssen Sie, wie von Useless angegeben, den Ethernet-Framing-Overhead unter hinzufügen Schicht 1 zu den von Felix und anderen berechneten Zahlen, nämlich
d. h. insgesamt 20 mehr Byte, die pro Paket verbraucht werden.