Ursache für Paketverlust in meinem Rpi- und WLAN-Gerät?

513
mcv

Ich arbeitete mit dem Rpi und versuchte, einige Daten von meinem WLAN-fähigen Gerät über UDP an Rpi zu übertragen. Aber ich erlebe oft einen Paketverlust. Ich weiß nicht warum, bei kleineren Entfernungen (z. B. 5 Meter) noch Paketverlust vorhanden ist.

Ich bin in einem Gebäude, das viele WLAN-APs hat. Ich denke, dass der Paketverlust auf die Auswirkungen von Interferenzen zurückzuführen ist, habe ich recht?

Helfen Sie mir bitte, die Ursache des Paketverlusts zu verstehen? Ich habe eine Suche über das Internet, aber fast Artikel besagen, dass der Paketverlust auf Netzwerkstaus, Multipath-Fading, Hardwareproblem oder Softwareproblem zurückzuführen ist.

Was sind die Hauptursachen für den Paketverlust in WLAN mit UDP?

1

1 Antwort auf die Frage

1
miravalls

UDP bietet keine zuverlässige Datenübertragung. Sie können auch UDP-Pakete verlieren, die per Kabel gesendet werden, sogar direkt mit dem Host verbunden.

Pakete, die über WLAN gesendet werden, unterliegen Interferenzen, die die Wahrscheinlichkeit erhöhen, dass sie verloren geht. Dies ist jedoch nur ein weiterer zu berücksichtigender Faktor. UDP-Pakete können aus vielen Gründen verloren gehen, zum Beispiel: Eine Checksummenprüfung schlägt fehl, ein Warteschlangenpuffer löscht ihn (weil er voll ist oder aufgrund von Richtlinien, z. B. RED, ...), QoS-Richtlinien, die andere Prioritäten setzen Verkehr, vielleicht entscheidet das Betriebssystem, es zu löschen, weil es anderen Verkehr priorisiert, ...

BEARBEITEN:

Interferenzen sind ein großer Faktor in drahtlosen Netzwerken, aber es ist nicht der einzige, der zum Beispiel von der Übertragungsrate Ihres Geräts abhängt: Sendet es Pakete mit einer nahezu konstanten Rate? sind sie platzen? oder sendet er sporadisch ein paar Pakete und wartet dann?

Sie könnten versuchen, zu ermitteln, wo die Pakete tcpdumpverworfen werden, indem Sie an beiden Enden ausgeführt werden - im Absender, um sicherzustellen, dass die Pakete gesendet werden, und im Empfänger, um zu überprüfen, ob sie mindestens den Host erreichen. Sie sollten die NIC-Zähler der Empfänger überwachen, um zu sehen, ob ein hoher Paketfehler / ausgelassener Zähler vorliegt. Wenn Sie einen Router mit Linux (z. B. dd-wrt oder openWRT) oder eine Möglichkeit haben busybox, die Sie verwenden können ssh, können Sie auch tcpdumpden Router ausführen, um zu sehen, ob die Pakete zwischen dem Router und dem Router abgelegt werden Zielhost.

ich habe nicht viel mehr gerät angeschlossen. Die Datenübertragung findet zwischen Rpi und einem Gerätesensor statt. Ich denke, der Pufferüberlauf ist keine Angelegenheit und auch die Netzwerküberlastung. Wichtige Faktoren sind Störungen und fehlerhafte Hardware richtig? mcv vor 6 Jahren 0
@mcvishnu siehe aktualisierte Antwort miravalls vor 6 Jahren 0