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.
Hallo Martin, Wireshark benutze ich bereits. Könnte ich so vorgehen wie ich es oben beschrieben habe ? Der Client sendet zum Beispiel 1000 UDP Packete. Die Zeitmessung sollte ich dann nicht auf meiner Client PC Applikation durchführen, sondern mit Hilfe von Wireshark.
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.
Ich nutze für solche Zwecke Iperf. Ist relativ einfach in der Handhabung (Kommandozeile).
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
Wie kann der Port 55986 für "local 192.168.0.11 port 55986" auf 2000 abgeändert werden ?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.