
In der von mir verwendeten Software muss derselbe „Knoten“ einer IPv4-Multicast-Gruppe beitreten (um auf die Netzwerkprotokollanforderungen zu antworten), muss aber auch Anforderungen an dieselbe IPv4-Multicast-Gruppe senden (um Antworten von anderen Knoten zu erhalten).
Bei einigen WLAN-Routern funktioniert dies nicht. Sobald ein Android-Prozess, der auf einem Telefon (das mit dem WLAN-Router verbunden ist) läuft, erfolgreich der Multicast-Gruppe beitritt, wird er für etwa 5 Minuten blockiert. Beim Versuch, eine Anfrage zu senden, tritt auf der Programmierebene kein Fehler auf, aber die Router scheinen den Datenverkehr zu blockieren. [So beweise ich es: Ich sehe die Protokolle der anderen Knoten und sie erhalten nichts]. Nach 5 Minuten funktioniert es wieder. Wenn ich den Gruppenbeitrittscode deaktiviere, gibt es überhaupt kein Problem mit den Anfragen.
Das Interessante ist, dass es vom Router abhängt. Ich habe 2 TPLink-Router, einer funktioniert einwandfrei und einer blockiert.
- Wie kann dies erklärt, weiter debuggt oder gelöst werden?
Antwort1
Was hier relevant ist, ist der „Switch“-Teil Ihres Geräts. Ein einfacher Switch verarbeitet Multicast als Broadcast. Ein intelligenter Switch führt IGMP-Snooping durch und beschränkt die Multicast-Verteilung auf Live-Abonnenten.
Bei billigen, für den Endverbraucher geeigneten Switches ist ein Fehlverhalten bei der IGMP-Verwaltung bekannt. Ich würde zuerst hier nachsehen. Öffnen Sie die Verwaltungskonsole Ihres Geräts und suchen Sie nach den IGMP-Einstellungen.