UDP Kommunikation - Datenrate messen

Gast #3053414
Lesenswert?

Guten Morgen,

auf einem Mikrocontroller habe ich eine UDP Kommunikation mit dem PC 
aufgebaut. Nun möchte ich einige Tests bzw. Messungen durchführen. Wie 
läuft so ein Test bzw. Messung ab, aus der sich dann die Datenrate 
ermitteln lässt ? Ich möchte quasi eine Statistik erstellen.

Mögliche Vorgehensweise:
Der Mikrocontroller ist als Server konfiguriert. Auf der PC Seite habe 
ich ein kleines Tool geschrieben, das als Client arbeitet. Der Client 
sendet zum Beispiel 1000 UDP Packete. Jedes UDP Packet enthält als 
Nutzdaten insgesamt 20 Bytes. Der Mikrocontroller empfängt diese UDP 
Packete nacheinander und soll dann nach jedem empfangenen UDP Packet ein 
UDP Packet an den PC zurücksenden. Die Delay-Zeit könnte ich doch als 
Berechnungsgrundlage verwenden.

Für weitere Ratschläge bin ich sehr dankbar.
Gast #3053455
Lesenswert?

Wenn es nur um die Datenrate selbst geht:
Wenn die Paketgröße in beiden Richtungen fix ist,
dann zähle mit, wie viele Pakete du in jede Richtung
je Zeiteinheit (z.B. je Sekunden) überträgst.
Daraus kannst du dann die übertragenen Pakete je Sekunde (direkt)
und auch übertragenen Bytes je Sekunde (berechnen) ermitteln.

Ein einzelnes Delay macht vielleicht Probleme, weil du nur
die Zeit eines Abschnitts deiner Übertragung bestimmst.
Z.B. das Delay kann noch so kurz sein, wenn der PC,
(warum auch immer) nur jede Sekunde 1 Paket versenden kann.
Oder erst einmal alle Pakete aufsammelt und die dann
gesammelt alle Sekunde zur Applikation herauf gibt.
Nächstes Problem: Wie oft kommt die Applikation dran?
Sind die Delays alle gleich, oder manchmal kürzer, manchmal länger.
Warum sind sie dann manchmal kürzer und manchmal länger?
Vielleicht lässt sich dein Delay in kleinere Abschnitte unterteilen?
Vielleicht willst Du aber genau diese Delay-Variationen
in deiner Statistik sehen?
Dies kommt alles auf die Aufgabe an, die du genau lösen willst.
Gast #3053487
Lesenswert?

Iperf und Jperf habe ich auch schon dafür genutzt. Der Port für die 
Local IP 192.168.0.11 kann nicht verändert werden. Der Port müsste da 
auf 2000 eingestellt werden. Dadurch bekomme ich keine Verbindung zu 
meinem Server (Mikrocontroller).

>>iperf -c 192.168.0.10 -u -p 2000

>>[160] local 192.168.0.11 port 55986 connected with 192.168.0.10 port 2000

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren