[WLANware] B.A.D M.A.N
Sven-Ola Tuecke
mail2news at commando.de
Wed Mar 29 10:33:39 CEST 2006
Fabian,
einen Routing-Daemon bis zur Produktionsreife zu entwickeln kostet Zeit +
Nerven (mindestens). Ich find' die Idee prima, mit unserer vorhandenen
Infrastruktur / Erfahrungen was neues zu probieren, waehrend die
Professionellen noch pennen / Vortraege machen / NS2-Simulieren. Anstaendige
Vorschlaege zur (Mit-)Gestaltung haste ja auf [berlin at olsrexperiment.de]
schon geschrieben :)
Man sollte dabei die Projektziele nicht aus den Augen verlieren. Diese
koennen lauten (ist mehr eine Wunschliste):
- Scalability: Die OLSR-Implementation wird uns irgendwo jenseits der 1000
Nodes auseinanderfallen. Man kann mehr Rechenkraft drauf werfen, aber da
gibts Grenzen.
- Genauigkeit: Unsere Messmethode "Broadcast Packet-Loss" hat Nachteile.
Daten gehen Unicast (andere phys. Bedingungen), mit anderen Paketgroeszen
und die Kapazitaet einer Strecke wird ueberhaupt nicht betrachtet.
- Tempo: Wir optimieren auf ein stationaeres Modell. Ich finde aber
Reaktionszeiten und um 90-360 sekunden auf Node-Ausfaelle viel zu langsam.
Nicht zuletzt finde ich es wunderbar, der Patentmafia mit einer Nasenlaenge
Vorsprung ein Schnippchen zu schlagen. Entwicklungsabteilungen mit
Shareholder-Value-Optimierung verbraten bei der Beratung der
Oberpatentstrategen offenbar nicht unerheblich Energie auf die Frage "Wer
hat das Kontextmenue erfunden". Das koennen wir sicher besser - ohne diesen
Abfluss von Denkenergie erfindet es sich leichter ;-)
Grusz, Sven-Ola
"Fabian Melzow" <wlan at tpwm.dyndns.org> schrieb im Newsbeitrag
news:20060329011638.31c9419c at p0b.localnet...
Hallo Leute!
Ich hab mich ja echt über die B.A.T.M.A.N-Ankündigungsmail gefreut,
weil es endlich mehr Infos gibt als Aussagen in der Form "Mit
B.A.T.M.A.N wird alles besser...". Ich hab dann auch gleich mal das
SVN ausgecheckt und dann gesehen, daß die Idee, die ich im Zusammen-
hang mit der Bandbreitenbestimmung ähnlich auch mal kurz hatte, dort
realisiert wurde.
B.A.T.M.A.N. sieht für mich so aus, als hätte man das Routing des
Internets (ARPANETs) von 1979 mit einem schlechteren RIP gekreuzt.
(siehe http://www.tm.uka.de/itm/uploads/folien/12/tm06-ka-1up.pdf
und http://www.tm.uka.de/itm/uploads/folien/93/tm-routing-1up.pdf)
Vielleicht solltet ihr besser schon mal ein Versionsfeld mit ins
Protokoll aufnehemen. ;-)
Ja, man braucht wirklich nur den besten nächsten Hop auf dem Weg
zum Ziel (das Schwierige ist ja nur gerade, herauszubekommen in
welcher Richtung das liegt...) zu kennen und die Idee ist imho auch
nicht schlecht, wenn man ihre ganzen Probleme wegbekommen könnte.
Die Idee, das der ganze Broadcast-Overhead durch den Paketverlust
kompensiert werden könnte, ist auch echt gut.
Hier mal die Probleme, die mir bisher mit B.A.D M.A.N (v 0.0.6)
aufgefallen sind:
* geringste Bandbreite ist limitierend. Soll heißen: Es gibt einen
Netsplit, wenn der dünnste Link verstopft ist und es keine
Alternativ routen gibt.
* Netsplits entlang langer Pfade, für die es keine Alternativroute
gibt: z.B.: 1-2-3-4-5-6-7-8
Wenn ein Paket von z.B. von Knoten 3 abhanden kommt, kann 1
8 nicht mehr erreichen und man hat 2 Teilnetze. Bei RIP verschickt
man imho deshalb gleich die ganze Routingtabelle.
* langsame Reaktion auf den Ausfall von Knoten, weil bis der kaputte
Pfad vergessen wurde (gibt ja bei Ausfall keine Statusmeldung),
wird wohl möglich erst einmal in die Tonne geroutet, weil der
kaputte Pfad eine bessere Metrik hat.
* Pakete mit alten Sequenznummern, die lange Laufzeiten haben,
überschreiben neuere "Pfad"infos, da isDuplicate() das Paket
nur bei gleicher Sequenznummer weg wirft und nicht auch bei
älteren.
* Die Broadcasts verstopfen möglicherweise die Links, zumindest im
Nahbereich. Idee: Man mancht eine Broadcastreduktion, auf dem
jeweiligen Interface, indem man einfach die Intervallzeit zwischen
den Broadcasts hochsetzt, wenn keine neuen Knoten über dieses
Interface zur Routingtabelle hinzugefügt oder aber Knoten entfernt
werden. Das entschärft die Situation in statischen Netzteilen
bei hoher Netzauslastung. Klar darf die Rate nicht gesenkt werden,
wenn man gar keinen Knoten über das entsprechende Interface "sieht".
* Die Latenzzeit sagt nur bedingt etwas über die Weglänge und Qualität
aus! Warum soll eine Satellitenverbindung oder Lanverbindung über
mehrere Switche schlechter sein, als eine WLAN-Verbindung mit
niedriger Latenz? Warum also nicht die Bandbreite messen?
Das hat auch den Vorteil, daß man nicht nach der Vergangenheit
routen muß, wenn einem die Zukunft interessiert!
* die TTL sollte imho besser hoch als runtergezählt werden, denn
so weiß man, das immer bei 0 begonnen wurde.
* keine Erweiterungsmöglichkeiten im Protokoll vorgesehen. :-(
Ja, das finde ich schlecht, weil ich hab schon jede Menge Ideen,
u.a. auch für automatische Tunnel übers Internet.
Zum Thema Erweiterungen: Zuerst hatte ich über TLV nachgedacht,
aber das halte ich nicht für sinnvoll, besser finde ich, jede
Nachricht mit einem eindeutigen 16 bit-Wert zu beginnen, anhand
dessen man herausbekommen kann, ob die Nachricht für einen
überhaupt interessant ist. Am besten packt man auch noch die
Gesamtlänge des Pakets (16 bit) vor diesen Wert, dann hat man es bei
der Speicherreservierung für das Paket einfacher und weis, das man
auch alles bekommen hat, wenn das Paket fragmentiert wurde.
Den ID-Wert kann man dann für verschiede Pakettypen benutzen, wie
Routinginfos, Tunnelendpunktannouncements, etc. und man hat keine
Probleme bei Umstellungen und Erweitereungen, da man per default
alle Pakete mit IDs, die man nicht kennt, einfach forwardet.
So können z.B. die Gateways, die es anbieten, Infos über ihre
externe IP und den Typ des Tunnelprotokolls verteilen etc.
Gruß
Fabian
_______________________________________________
WLANware mailing list
WLANware at freifunk.net
https://freifunk.net/mailman/listinfo/wlanware
More information about the WLANware
mailing list