Wie groß ist ein IP-Paketrahmen einschließlich Header?

8

Ein bisschen Hintergrund.

Ich schreibe eine Anwendung, die UDP verwendet. Die Anwendung wird in einem LAN (nicht im Internet) ausgeführt. Ich habe davon ausgegangen, dass, wenn meine MTU 1500 ist, das ist, wie groß eine UDP-Nutzlast sein kann, aber ich bin nicht sicher, ob der UDP-Header auch dazu passen soll.

Ich vermute, dass, wenn ich ein UDP-Paket mit einer Nutzlast von 1500 Byte sende und die MTU der Maschine 1500 Byte ist, wird es am Ende zwei Pakete senden?

Im Internet nach einer klaren Antwort zu suchen scheint hier schwieriger als es sein sollte, ich habe widersprüchliche Informationen gesehen.

    
Matt 13.10.2010, 23:03
quelle

4 Antworten

9
%Vor%

Wenn Ihre MTU 1500 ist, haben Sie 1500-20-8 = 1472 Bytes für Ihre Daten.

  • Wenn Sie das überschreiten, werden die Pakete fragmentiert, d. in mehr Pakete aufgeteilt.
  • Es könnten mehr Schichten beteiligt sein, z.B. 4 Byte eine VLAN-Header, wenn Sie oben auf einem VLAN-Ethernet sind.
  • Einige Router zwischen Ihnen und dem Ziel könnten weitere Ebenen hinzufügen.
nos 13.10.2010, 23:11
quelle
3

Ja, Ihr Beispiel würde nicht in einen Rahmen passen.

Die Datenlast der Ethernet-Daten beträgt 1500 Byte. IPv4 benötigt für seinen Header mindestens 20 Byte. Alternativ benötigt IPv6 mindestens 40 Bytes. UDP benötigt 8 Bytes für seinen Header. Das hinterlässt 1472 Bytes (ipv4) oder 1452 (ipv6) für Ihre Daten.

Weitere Informationen:

teambob 13.10.2010 23:24
quelle
2

Vielleicht hilft dieser Artikel: Ссылка

    
Lucero 13.10.2010 23:05
quelle
-1

So, hier ist, wie es funktioniert. Ethernet beschränkt den Datenfluss auf 1500 Byte pro Frame, obwohl Sie eine 100-Megafat-Pipe haben. Um die Leitungsrate wirklich zu nutzen, müssen Sie über Ihre UDP-Anwendung Ethernet-Jumbo-Frames verwenden / verschieben, die bis zu 9000 Bytes pro Frame unterstützen können. Wenn Sie sich Netflix / Youtube und andere Streaming-Protokolle ansehen, testen sie Ihre Verbindung, bevor sie mit dem Streaming beginnen. Was sie im Wesentlichen tun, ist, dass sie einige Daten an Sie senden und die Verbindungsgeschwindigkeit berechnen / mitteln, bevor sie den Stream ausgeben. Sie verwenden im Wesentlichen auch UDP, aber mit einer sehr großen Paketgröße. Ich schätze sicher größer als 1500 Bytes.

    
Biswajit Jena 09.09.2014 18:06
quelle

Tags und Links