Hallo zusammen
Ich bin neu hier im Forum und vor Kurzem von Meshtastic auf MeshCore umgestiegen bzw. gerade dabei, MeshCore auszuprobieren. Dabei habe ich zunächst die auf
empfohlenen Einstellungen übernommen.
Ich habe auch die bestehenden Beiträge hier im Forum zum Thema Flooding und Regions gelesen, insbesondere:
Da diese Diskussion schon etwas älter ist und ich keinen neueren Beitrag dazu gefunden habe, möchte ich meine aktuellen Beobachtungen und einen daraus abgeleiteten Vorschlag zur Diskussion stellen.
Meine Beobachtung
Ich habe mit den Region-Einstellungen getestet und dabei folgendes Verhalten beobachtet:
Wenn auf einem Repeater für die Root-Region * Flooding deaktiviert ist, scheint die Erreichbarkeit stark davon abzuhängen, dass entlang des gesamten benötigten Pfads eine gemeinsame Region vorhanden ist und von allen beteiligten Repeatern gefloodet wird.
Das betrifft nach meinen Beobachtungen nicht nur Channels, sondern insbesondere auch Direct Messages (DMs) bzw. die Path Discovery. Wenn die beteiligten Repeater keine durchgängig unterstützte gemeinsame Region wie beispielsweise europe, dach oder ch haben, kann ein ansonsten möglicher Pfad unterbrochen werden.
Ähnliches beobachte ich bei der Default Region eines Companion/Client-Geräts: Sobald dort beispielsweise ch als Default Region gesetzt ist, wird der entsprechende Traffic mit diesem Region Scope versendet. Befindet sich auf dem benötigten Pfad ein Repeater, der ch nicht floodet, kommt die Nachricht offenbar nicht durch.
Konkreter Test
Standort: Konstanz (Deutschland, Grenzregion)
Mit Default Region ch:
- Companion/Client mit Default Region
ch - Ping in
#test - Ergebnis: keine Antwort
Ohne Default Region:
- gleicher Client, gleicher Standort
- Default Region entfernt
- erneut Ping in
#test - Ergebnis: Winterthur wird über 9 Hops erreicht und die Antwort kommt zurück
Für mich ist das ein recht anschauliches Beispiel: Der Pfad Konstanz → Winterthur über 9 Hops ist grundsätzlich vorhanden und funktioniert ohne Region Scope. Mit ch als Default Region funktioniert er hingegen nicht.
Vorschlag für robuste Default-Einstellungen
Daraus ergibt sich für mich momentan folgender Ansatz:
Repeater:
*standardmässig Flood erlauben- unscoped Traffic stattdessen über
flood.max.unscopedauf eine sinnvolle maximale Hop-Anzahl begrenzen - Regions wie
ch,ch-de,dachundeuropezusätzlich verwenden, um regionalen Traffic gezielt zu steuern bzw. zu begrenzen
Companion/Client:
- standardmässig keine Default Region
- eine Default Region nur setzen, wenn bewusst eine entsprechende Einschränkung gewünscht ist bzw. sichergestellt ist, dass die relevante Repeater-Infrastruktur diese Region durchgängig unterstützt
Damit wären Regions in erster Linie ein Mittel zur Optimierung und Begrenzung des Floodings, ohne dass sie unbeabsichtigt die Erreichbarkeit zwischen verschiedenen Teilen des Meshes unterbrechen.
Gerade bei mobilen Clients halte ich das für wichtig: Ein Client weiss im Voraus nicht, über welche Repeater eine Nachricht bzw. eine Path Discovery tatsächlich laufen wird. Insbesondere in Grenzregionen kann der funktionierende Pfad über Repeater mit unterschiedlichen Region-Konfigurationen führen.
Deshalb erscheint mir als robuster Ausgangspunkt:
* Flood erlauben + flood.max.unscoped sinnvoll begrenzen + keine Default Region am Companion
statt unscoped Traffic grundsätzlich zu blockieren.
Mich würde interessieren, ob ich das Region-/Flooding-Modell von MeshCore damit richtig interpretiere und ob andere dieses Verhalten – insbesondere den Unterschied mit und ohne Default Region am Companion – ebenfalls reproduzieren können.