Hallo liebes Forum,
lt. Elektronik-Kompendium und anderen Websites ist die minimale Framegröße im Ethernet ist 64 Byte. Die maximale Framelänge ist 1518 Bytes, bei Tagged-MAC-Frames 1522 Bytes. Es dürfen maximal 1500 Bytes an Nutzdaten in einem Frame übertragen werden.
Wir haben gerade das Problem, dass wir bei der Kommunikation mit unseren Geräten teilweise lt. Wireshark Pakete haben, welche die Mindestgröße nicht einhalten sondern nur 55 lang sind.
Es passiert z. B. bei dem Beispiel von MS Socket.Connected Property
Muss man am Socket dies noch einstellen oder wird dies über das Betriebssystem oder Netzwerkadapter geregelt.
Vielen Dank für Eure Hilfe!
Ich vermute ihr schaut im Wireshark falsch.
Vermute, dass ihr euch nur die Payload Size anschaut - und die muss minimum 42 Byte sein.
Und für das Auffüllen, sollte es kleiner sein als 42 Byte, ist der Netzwerkstack verantwortlich; nicht .NET.
.NET hat keine eigene Socket Implementierung sondern verwendet die Betriebssystem API.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hallo Abt,
vielen Dank für Deine Antwort. Im angehängten Bild ist die 55 (vom PC) zu sehen und vom Gerät kommen 60 Bytes. Was meinst Du, wo ich genauer gucken sollte?
Klapp das "+" bei "Internet Protocol 4" auf.
Da steht was von Total Size oder Total Length. Dort steht die genaue Größe.
Das ist aber auch nur die Größe bevor das Paket noch durch die Netzwerkkarte geht.
Und ich vermute das Auffüllen läuft auf Netzwerkkarten-Ebene. Daher wirst Du das (meine Vermutung) in Wireshark gar nicht sehen können.
Du müsstest vermutlich das tatsächlich ausgehende Paket anschauen ("Bytes on Wire").
Das geht nur wenn Du über eine andere Maschine den tatsächlich ausgehenden Netzwerkverkehr anschaust.
Gibt einige Szenarien, die Wireshark nicht abdeckt, weil es nach dem Capture - eben direkt auf der Karte - passiert.
Evtl. gehört das Auffüllen dazu (wie gesagt, meine Vermutung).
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Okay, wenn ich das aufklappe steht dort 41 siehe Bild. Und wenn ich Dich richtig verstehe, kann man da nix machen...
Und wenn ich Dich richtig verstehe, kann man da nix machen...
Grund:
Das ist aber auch nur die Größe bevor das Paket noch durch die Netzwerkkarte geht.
Und ich vermute das Auffüllen läuft auf Netzwerkkarten-Ebene. Daher wirst Du das (meine Vermutung) in Wireshark gar nicht sehen können.
Lösung:
Du müsstest vermutlich das tatsächlich ausgehende Paket anschauen ("Bytes on Wire").
Das geht nur wenn Du über eine andere Maschine den tatsächlich ausgehenden Netzwerkverkehr anschaust.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code