Welche Adresse soll ich verwenden, um ein drahtloses UDP-Multicast mit iperf zu empfangen?

8

Auf Computer 1 (192.168.1.3):
Ich habe eine Route erstellt, um sicherzustellen, dass meine Kommunikation über meine WLAN-Karte erfolgt

sudo route add -net 239.0.0.0 netmask 255.255.255.0 dev wlan2

Ich starte iperf mit dem folgenden Befehl:

iperf -c 239.0.0.1 -u -l 1316

Auf Computer 2 (192.168.1.6):
Ich bestätige, dass ich mit tcpdump den Datenverkehr auf der WLAN-Karte empfange.
Ich starte iperf mit dem folgenden Befehl:

iperf -s -u -l 1316 -B 239.0.0.1

Aber es kommt nichts von Computer 2 heraus. Muss ich es an eine andere Adresse binden?

Vladimir Leiv
quelle
MOAR DETAILS. Ernsthaft. welche Distribution? Wie ist das Ziel konfiguriert? (Hat es zufällig keine Route zu Computer 1 und ist die Filterung für umgekehrte Pfade aktiviert?)
BatchyX
Dies sollte gut funktionieren. Könnten Sie versuchen, den Test mit einer Kabelverbindung zu wiederholen, nur um WLAN-Probleme auszuschließen (ich weiß, dass einige WLANs IPv6 töten, weil sie kein Multicast weiterleiten)
ytti
Und welche drahtlosen Karten verwenden Sie zusätzlich?
BatchyX
Ich habe gerade meinen Mac mini (osx) und Laptop (Linux) ausprobiert, beide unter wlan (AX411 + SRX210), und der obige Test hat funktioniert, nachdem ich 'Broadcast-Multicast-Rate-Limit Rate-Limit 50' und 'Broadcast-Multicast-' hinzugefügt habe. Rate-Limit Rate-Limit-Bursts 75 ', vorher konnte ich nur an WLAN-> Wire senden, nicht an WLAN-> WLAN (also sende ich an Radio, konnte aber nicht vom Radio empfangen)
ytti
Welche Version von iperf verwenden Sie? Ich hatte Erfolg mit iperf 2.0.5+. (Beachten Sie, dass ich einen IGMP-Abfrager ausführe, damit alle Zwischenschalter IGMP-Snooping ausführen.) Ich denke, das Bindegerät basiert auf den Routentabelleneinträgen, zumindest für Linux.
rjmcmahon

Antworten:

8

Ich hatte dieses Problem bei der Verwendung von Multicast mit iperf selbst - in meinem Fall lag es an der Tatsache, dass iperf Sie nicht an eine Multicast-Quelle auf einer bestimmten Schnittstelle binden lässt und sich stattdessen nur fest an die erste Schnittstelle des Systems fest codiert. Wenn die Antwort auf das, was normalerweise eth0 ist, nicht empfangen wird, ist sie nutzlos. Nach dem, was Sie sagen, klingt es so, als hätten Sie auch dieses Problem.

Also habe ich einen Patch geschrieben, mit dem Sie die Schnittstelle angeben können, an die gebunden werden soll - Sie können die Quelle aus meinem Github-Repo abrufen .

Geben Sie zur Verwendung entweder -O eth123oder --interface eth123wo eth123sich Ihr tatsächlicher Schnittstellenname befindet.

Ich habe meinen Patch beim Projekt eingereicht, aber aufgrund der Inaktivität vermute ich, dass der Autor iperf entweder aufgegeben hat oder einfach zu beschäftigt ist.

Olipro
quelle
Großartig ! Es funktioniert perfekt!
Vladimir Leiv