Dies ist eine alte Version des Dokuments!
Damit das MeshCore-Netz langfristig zuverlässig funktioniert, müssen wir gemeinsam ein Auge darauf haben die Menge der übermittelten Datenpakete „OnAir“ so gering wie möglich zu halten. Je mehr Traffic herrscht, desto eher kommt es zu Paket-Kollisionen und zu überforderten Repeatern. Die Folge davon sind verlorene Datenpakete und damit unzuverlässige Kommunikation. Besonders die „Flood-Pakete“ (Nachrichten in Channels und Repeater-Adverts) stehen hier im Fokus.
Standardmäßig werden Flood-Pakete in MeshCore von den Repeatern über 64 Hops weitergeleitet. Die Erfahrung zeigt, dass man bereits mit unter 20 Hops mehrere hundert Kilometer Entfernung zurücklegen kann. Das ist oftmals gar nicht notwendig, wenn man mit seiner regionalen Community kommunizieren möchte.
Hier kommen Regions ins Spiel: Mit Regions lassen sich geografische Bereiche definieren, in deren Grenzen die Repeater die Nachrichten weiterleiten. Unabhängig der Anzahl der Hops. Damit lässt sich ein „unkontrolliertes“ Flooding der Nachrichten sinnvoll begrenzen und das Netz entlasten.
MERKE: Sende so viele Nachrichten wie möglich mit einem Scope. Wähle dabei eine Region nur so groß wie unbedingt notwendig!
Regions sind die geografischen Festlegungen, die in Repeatern eingetragen werden.
Ein Scope ist der geografische Reichweitenwunsch, den der Anwender einer Message zufügt.
Ein Repeater leitet eine Message weiter, wenn ihr beigefügter Scope in seiner Region-Liste zu finden ist.
Auf jedem Repeater ist standardmäßig die Wildcard-Region * (Stern) hinterlegt und aktiviert. Diese sorgt dafür, dass Pakete OHNE Scope auf jeden Fall weitergeleitet werden.
Das Matching des Scopes auf die Region geschieht über einen 1:1 Vergleich eines vom Namen der Region abgeleiteten Keys. Es findet kein „String-Matching“ statt und auch kein Teilstring-Matching. (Scope #de-he ist NICHT in Region #de enthalten.)
Für Regions (und damit auch Scopes) gelten folgende Einschränkungen:
Weitere Details und gute Anleitungen findet man hier
Mit Version 1.10.0 sind Regions/Scopes in der Firmware enthalten (sowohl Repeater, als auch Companions).
WICHTIG: Repeater mit Firmware älter als 1.10.0 leiten alle Pakete weiter, unabhängig ob diese einen Scope gesetzt haben oder nicht. Dementsprechend müssen diese Repeater aktualisiert werden damit die Verwendung von Scopes/Regions sinnvoll funktioniert.
Mit App-Version 1.38.0 können in den Channels nun auch Scopes angegeben werden.
Zukünftig (vermutlich Firmware 1.12.0):
Die Diskussion in der deutschen Telegram-Gruppe (Link hier einfügen) brachte einige wiederkehrende Erkenntnisse zu Tage:
Folgender Vorschlag wurde mehrfach in der Diskussion angebracht und mehrheitlich für gut befunden.
WICHTIG: Mit Firmware ⇐ 1.11.0 und App 1.38.0 ist der Hashtag # vor dem Namen zwingend erforderlich. Mit der kommenden Firmware/App wird diese Einschränkung aufgehoben. Diese Wiki-Seite geht erstmal davon aus, dass der Hashtag weiterhin genutzt wird. Ob wir nach Veröffentlichung der neuen Firmware den Hashtag generell aus den Namen entfernen muss noch abgestimmt werden.
Um eine grundlegende geografische Eingrenzung des Flood-Verhaltens zu erreichen, werden die Ebenen „Land“ und „Bundesland“ in jedem Repeater als Regions konfiguriert. Das Namensschema folgt der ISO 3166-2. Wenn jeder Repeater in Deutschland diese Basis-Regionen konfiguriert hat, können die Nutzer einigermaßen sicher und nach immer gleichem Schema ihre Nachrichten zumindest auf Deutschland und das jeweilige Bundesland einschränken. Alleine das würde Flood-Nachrichten nachhaltig verringern.
Die Regions würden gemäß ISO folgendermaßen lauten:
| #de | Deutschland |
| #de-bw | Baden-Württemberg |
| #de-by | Bayern |
| #de-be | Berlin |
| #de-bb | Brandenburg |
| #de-hb | Bremen |
| #de-hh | Hamburg |
| #de-he | Hessen |
| #de-mv | Mecklenburg-Vorpommern |
| #de-ni | Niedersachen |
| #de-nw | Nordrhein-Westfalen |
| #de-rp | Rheinland-Pfalz |
| #de-sl | Saarland |
| #de-sn | Sachsen |
| #de-st | Sachen-Anhalt |
| #de-sh | Schleswig-Holstein |
| #de-th | Thüringen |
Zusätzlich zur Basis-Konfiguration können regional weitere Regions erstellt werden. Das Namensschema und die Information an die Repeater-Betreiber unterliegt dann den regionalen Communities. Sinnvoll ist es hier, sprechende und eindeutige Namen zu nutzen, die jeder Nutzer sofort versteht.
Bei der Definition von regionalen Regions gilt zu beachten, dass diese möglichst eine Menge Menschen zusammenfasst, die ein gemeinsames Interesse daran haben miteinander zu kommunizieren. Landschaften (z.B. #westerwald) oder Metropolregionen/Ballungsgebiete (z.B. #region-stuttgart) bieten sich hier an, da diese oftmals eine gemeinsame Kultur und starke Identifikationswirkung haben. Weniger geeignet sind starre Verwaltungsgrenzen wie z.B. Landkreise.
Ebenso gilt zu beachten, dass „zu kleine“ Regions kontraproduktiv sind. Zum Einen ist die Gefahr groß, dass die Menschen die man erreichen will genau kurz hinter der Region sitzen, zum Anderen braucht es passende Repeater in dieser Region, die die Nachrichten auch weiterleiten. Zudem wächst der Konfigurationsaufwand für alle Repeater-Betreiber mit jeder zusätzlichen Region. Es darf nicht unterschätzt werden, dass es eine organisatorisch herausfordernde Aufgabe ist, alle Repeater in einer Region richtig zu konfigurieren.
Möglich wären dann z.B. folgende Regions:
| #region-hannover | Region Hannover |
| #rhein-main | Rhein-Main-Gebiet |
| #taunus | Landschaft Taunus |
Ein Repeater in Rüdesheim am Rhein (Nahe der Grenze HE/RP) könnte folgende Regionen haben:
#de #de-he #de-rp #taunus #rhein-main
Auf einer eigenen Seite sind reale Region-Einstellungen von Repeatern zu finden. Dies soll ein Nachschlagewerk für User in den betreffenden Regionen werden.
Zusätzlich gibt es die Regions Karte Deutschland, auf der man alle bekannten regionalen Regionen auf der Karte nachvollziehen kann. Somit sieht der Repeater-Admin auf einen Blick, welche Regions er an seinem Standort konfigurieren muss.