Multi-Meshing unterbinden - Node(s) blacklisten

Hallo FFler,

ich suche nach einer Möglichkeit das BATMAN routing zu beeinflussen:

Im Prinzip haben wir hier 3 oder mehr stationäre WLAN-Nodes, die sich alle mehr
oder weniger gut untereinander sehen können und dann alle miteinander meshen.

Jedoch sind 2 davon wirklich schlecht bzw grenzwertig zu erreichen, so
dass es eigentlich nur eine einzige sinnvolle Topologie gibt (wer hätte es gedacht!).
Also würde ich gerne den einzelnen Clients konkret sagen, mit WEM sie meshen sollen, bzw
mit wem nicht. Besonders um nicht unnötig Airtime zu belegen in unserem sowieso verstrahlten Innenhof.

Eine andere Möglichkeit zu Black/white-Lists wäre vlt das Weiter-Meshing der Endpunkte der Äste abzustellen. Die Nodes sind jedoch nur durch Mesh-WLAN angebunden und wären wahrscheinlich nach dem Abstellen vom WLAN-MESH selbst nicht mehr zu erreichen. Vermute ich mal stark.

Any ideas?

Danke & Gruß M.

P.S.: Soll ich eine Skizze machen oder kann man meine Frage verstehen?

Das Problem ist nicht batman, das Problem ist WLAN, batman setzt dann ja erst darauf auf.

Möglichkeiten die ich kenne, keine davon ist der Stein der Weisen:

  • Scripte einsetzen, die die WLAN-Verbindungen überwachen und einzelne Verbindungen raus werfen (nur damit sie dann bald wieder kommen, ständiges Kick-Off)
  • ebtables verhindert Routing, aber kein WLAN, schafft also nicht mehr Airtime
  • Kanäle wechseln auf den Meshrouten. Schließt dann Nachbarn aus und braucht eventuell mehr/bessere Hardware.
  • gute Outdoor-Hardware verwenden, spart eventuell die eine oder andere Low-Cost-Zwischenstation. Auf 5GHz setzen, outdoor-Kanäle nutzen, auf funktionierendes Wetterradar achten
  • Kabel legen, gerade wenn es ein Innenhof ist.

P.s. Skizzen sind immer gut :slight_smile:

Hi Rgr,

danke für deine ausführliche und gute Antwort!

  • Scripte einsetzen, die die WLAN-Verbindungen überwachen und einzelne Verbindungen raus werfen (nur damit sie dann bald wieder kommen, ständiges Kick-Off)
    => finde ich doof

  • ebtables verhindert Routing, aber kein WLAN, schafft also nicht mehr Airtime
    => keine echte Option.

  • Kanäle wechseln auf den Meshrouten. Schließt dann Nachbarn aus und braucht eventuell mehr/bessere Hardware.
    => Das haben wir für den anderen Mesh-Knoten am LAN schon gemacht! Aber in dem Subnetz auf Kanal 1 haben wir immernoch das Problem. Alles was vom gleichen root knoten via WIFI „weg-meshed“ braucht den gleichen Kanal. Richtig?

  • gute Outdoor-Hardware verwenden, spart eventuell die eine oder andere Low-Cost-Zwischenstation. Auf 5GHz setzen, outdoor-Kanäle nutzen, auf funktionierendes Wetterradar achten
    => Ich denke unsere Enterfnungen mit 27 und 37m sind für G5Hz zu groß, oder?

  • Kabel legen, gerade wenn es ein Innenhof ist.
    => Hab ich auch schon dran gedacht

Ich dachte noch dran den einen WIFI knoten vor den ungeliebten Anderen physikalisch hinter einer Beton-Ecke zu verstecken. ( Die Hide-And-Seek Lösung :slight_smile: )

Alles in Allem bleibt der Eindruck, dass diese Art von Fein-Tuning der Topologie einfach fehlt.

Gruß M.

Hier noch die versprochene und angeforderte Skizze:

BATMAN routet A immer direkt zu C, auch wenn via B ein höhere Durchsatz drin wäre aber mit
höherer Latenz. Daher ist das Meshing zwischen A und B total überflüssig…

Noch eine spannende Frage zum Routing:

A könnte C über B mit höhreren Datendurchsatz erreichen, aber eben mit einem „hop“ mehr.
BATMAN routet aber direkt A -> C.

Geht „Anzahl Hops“ also immer vor „Bandbreite“ ?
Und wie fliesst Latenz mit ein?
„Kippt“ das routing wenn A regelmäßig mehr Daten anfordert?

Hm, mal gemessen, ob die Strecke A-B überhaupt was ausmacht? Mal jeweils einen abschalten und den anderen messen.

5GHz kannst auf der Strecke ruhig einsetzen, wenn nicht Gebäude dazwischen sind. 5GHz darf mit höheren Leistungen outdoor arbeiten.

Könntest auch versuchen die Richtung A/B mit Metallschirm, Alufolie usw zu reduzieren.

Zum Routing-Algo von Batman kann ich nix sagen.

Hi rgr!

Gebäude sind keine dazwischen!
Das mit dem 5Ghz würde mich jetzt noch interessieren. Ich dachte gelesen zu haben, dass das meshing über 5ghz nicht ginge.

M.

Also die Strecke bei mir tut ohne zu klagen (ok, nur 8m, dafür durch Wand durch)

Und mal beliebig ein 5er Outdoor gegriffen: https://www.omg.de/ubiquiti-networks/airmax/nanostation/ubiquiti-nanostation-5ac-loco/a-14327/ - angegeben mit 10km.

Aber für den Preis von zwei Geräten bekommt man viel Kabel. Wieder wahllos gegriffen: https://www.amazon.de/MutecPower-MultiKable-wasserdicht-Netzwerkkabel-Ethernetcable/dp/B00I461X6M keine Stromkosten, geringere Anschaffungskosten, höherer Durchsatz.

Meshing mit Freifunk Firmware geht über 5Ghz geht leider nicht zusammen mit dem Outdoor Mode. Da hast du recht. Das liegt da dran das das wegen DFS, sich die Router auf potentiell anderen Kanälen befinden können. Bis jetzt gibt es leider keinen Mechanismus bei dem die Router sich auf dem selben Kanal wieder finden können. Es gibt Ideen einen solchen Mechanismus zu entwickeln, dieser müsste jedoch relativ niedrig, auf WLAN Protokollebene.

Viele Hersteller haben hier eigene properitäre Lösungen gebaut, um Outdoor Richtfunkstrecken auf DFS Kanälen anzubieten. Eine Open Source Implementierung gibt es meines Wissens nach noch nicht.

Zu deinen Routing Fragen:

BATMAN Routet immer über den kürzesten Pfad, und ignoriert dabei weitestgehend potentielle Bandbreiten. BATMAN arbeitet mit sogenannten Originatornachrichten. Die Knoten senden diese Regelmäßig an alle Nachbarknoten per Broadcast. Durch die Originatornachrichten kennen sich die Knoten gegenseitig. Die Nachrichten enthalten auch Informationen über die Qualität des Links.

Wenn jetzt z.B. Pfade stark ausgelastet sind, kann es sein die Originatornachrichten verloren gehen. (Packet loss) BATMAN erkennt das und kann dann die Routen entsprechend anpassen.

Da die Originatornachrichten keine Informationen über die Bandbreite eines Links beinhalten, sondern nur über die Qualität kann es natürlich sein, das ein langsamerer Link bevorzug wird, obwohl ein schneller Pfad zur Verfügung steht.

Also wenn es Beispielhaft zwischen A - C 2Mbit/s theoretische Bandbreite gibt und zwischen A -B und B -C jeweils 10 Mbit/s als mögliche Kapazität, wird trotzdem A - C direkt geroutet, da die Verbindungsqualität die selbe ist. Die potenzielle Geschwindigkeit ist BATMAN nicht bekannt, die Latenz spielt eine untergeordnete Rolle.

Ist jetzt jedoch der Pfad A - C jetzt schlechter, und es gehen Originatornachrichten verloren, weil z.B. das WLAN schlechter ist und Pakete teilweise mehrfach gesendet werden müssen oder der Link saturiert ist, geht es recht schnell das der „stabile“ Pfad über A- B- C gewählt wird.

Das Verhalten von BATMAN kann man aber beeinflussen, in dem man die BATMAN Hop Penalty verändert, dann Gewichtet BATMAN einzelne Knoten anders, geringer oder höher, und man kann BATMAN so auf schnellere Pfade zwingen, auch wenn sie mehr Hops beinhalten.

Diese Einstellung ist allerdings ganz bewusst in Gluon nicht an den Enduser offen gelegt, da man sich doch recht schnell ins eigene Bein schießen kann, wenn das Mesh wächst, oder man nicht alle möglichen Pfade bedacht hat, so das man auf einmal einen Knoten hat, der weil seine Hop Penalty zu gering ist, auf einmal allen Traffic über sich schieben muss, obwohl alle Links Saturiert sind.

Hi RGR, Simon,

Das Problem ist wohl das für 5GHZ nur die Outdoorkanäle interssant sind wegen der Leistung (1W!). Aber eigentlich habe ich 5Ghz nicht deaktiviert. Demnach hätte es ja schon gehen müssen. Stehe ich unter meinem Node macht mein Handy auch brav 5Ghz mit dem. Sobald eine Betonwand dazwischen ist, ist aber Schluss.

Aber wir hatten gerade noch eine andere Idee: Da alle WLAN nodes Unifies sind
und das VPN Encoding/Decoding eine fb4040 macht, wollten wir mal die Hersteller Firmeware probieren. Dort dürfte die config ca. „WLAN bridge“ heissen. Laut der anderen Freifunk homepage können die unfies dann auch mulit-channel und extrabreite channels nutzen. Wäre eh mal spannend so ein shootout zwischen FF firmware und stock.

@Simon:
Das mit den hop kosten habe ich gesehen, dass man das via proc/sys einstellen kann. Aber eine Blacklist oder Whitelist ist IMHO was fehlt.
Ich halte das BATMAN geraffel inzwischen ein bissle für Träumerei. So die Schublade Alpha-GO KI-Hype. In 99% der Fälle sind die Nodes stationär und ich weiss wie geroutet werden soll. Für mobile Nodes wie handys macht es vlt noch Sinn. Meine Meinung.

M.

Klar, das Handy kann sich auf den Outdoor Kanälen mit dem Freifunk per 5Ghz verbinden, das ist ist ja auch der Sinn dahinter, sie zu aktivieren.

Die Router können sich aber nicht untereinander auf 5Ghz Basis verbinden, da das Mesh Netz deaktiviert ist. Das Mesh-Netz funktioniert aber nur wenn sich alle auf dem selben Kanal befinden. Das tuen sie ja aber nicht immer, dank DFS.