[Berlin-wireless] [technix] Bitratenkontrolle, traffic-mengen- und radio-aware routing
Rolf Pfeiffer
ropf
Fr Mär 23 07:52:59 CET 2007
Hallo Marco!
Ganz ohne Boshaftigkeit - ich glaube, du siehst die Welt aus der
Kopfstand-Perspektive. Vielleicht bin ich es auch, der auf dem Kopf steht -
ich schreib mal, wie es für mich aussieht.
Konkret hast du eine Vorstellung, wie Netzstruktur und Links sein SOLLTEN und
versuchst das von Oben nach Unten auf allen Layern "durchzudrücken" -
angefangen von der Einteilung in wichtige und unwichtige Links, massiven
Einsatz von Filtern und LQs, Manipulationen am TCP-Stack, bis zu fixen
Bitraten.
Du möchtest also ein geplantes, strukturiertes, kontrolliertes Netz. Das ist
aber von einer Person in einem sich ständig wechselndem Umfeld gar nicht zu
leisten und führt irgendwann zwangsläufig zum Kollaps. (Sama ??)
Auf die Füße gestellt sieht das aber so aus: Die physikalischen Bedingungen
sind ersteinmal gegeben, und ändern sich ständig (gedrehte Antennen, lose
Stecker, neue Nodes...)
Die Bitratenautomatik soll dort das Mögliche herausholen, so gut oder schlecht
sie es vermag - und basierend auf diesen Gegebenheiten soll der Routingdaemon
seine Entscheidungen treffen - nicht umgekehrt.
Allen Unkenrufen zum Trotz macht der olsrd diesen Job gar nicht schlecht, wenn
man ihn nur läßt. Jedenfalls waren viele Probleme auf unabgesprochene (und
zum Teil vergessene) LQ- und Filtereinstellungen, Zwangs-Default-Routen uä.
zurückzuführen und verschwanden auf wundersame Weise, sobald der ganze foo
gelöscht war.
Zum Thema:
> - das raten switching muß langsamer ablaufen, als das routing-proto für die
> anpaßung der routen benötigt, bzw. braucht nicht schneller zu sein
Kopfstand - das raten-switching soll so schnell sein, wie sich die phys.
Bedingungen ändern. Der Routingdämon muß entscheiden, ob er einen Link mit
wechselner Qualität beibehalten will.
> - auswirkungen der in kauf genommenen 50% packet-loss auf andere links?
> optimiert dies zwangsläufig auch die overall-performance im mesh?
Je schneller die Übertragung (egal bei wieviel Packetloss), desto kürzer die
notwendige Zeit desto weniger Beeinträchtigung anderer Links.
Schnelle Übertragung braucht aber hohe Pegel und hat deshalb eine höhere
Störreichweite. Steht aber auf einem anderen Blatt (optimale Senderadien).
> - untersuchungen in [6] fehlt komponente, notwendige links aufrecht zu
> erhalten, oder ausgefallene zu ersetzen, die aber ein ganz wesentliches
> element von mesh-networks darstellt
Kopfstand - widerum Job des Routingdämons - eine Bitratensteuerung kann nur
das phys. Mögliche bestmöglich nutzen.
> was man _jetzt_ machen könnte, ohne eine elegantere lösung zu blockieren:
> trennung von routing-algo und link-layer optimierung...
Ack.
> (Companion)...der die seitens des routing-daemons getroffene
> nachbar==link-entscheidung optimiert, d.h. die bit-rate soweit
> hoch-fährt, daß die minimal notwendigen links noch gut funktionieren ...
Kopfstand - der Routingdaemon kann die Entscheidungen erst treffen, wenn die
Linkqualität ermittelt (und evtl. optimiert) ist. Dasselbe Problem hat
übrigens das Rostocker Script zur Sendeleistungs-Anpassung
> info über link-layer anderen nodes via routing-proto message type bekannt
> machen ...
Ack. Ich wünsche mir besonders die Empfangspegel.
> (? gateway-bandwidth als virtuelle node im inet behandeln ? ;-)
Ack. Dazu braucht es LQ/NLQ für die Verbindung ff-gateway-node -> inet. Sollte
auch mit olsr gehen.
> inidviduelle bit-raten behandlung von nachbarn aufgeben,
> dafür nachteile der aktuellen rate-automatik loswerden
NAck! Das wäre ein zu hoher Preis. Stell dir einen Knoten vor mit 2 Nachbarn,
jeweils 100m u. 1km entfernt. Entweder du hängst den einen ab oder bremst den
anderen aus. Und wenn ein Knoten dazukommt oder wegfällt, sieht wieder alles
ganz anders aus. Kopfstand.
> -> in hinsicht auf mögliche nachbar-anzahl evtl. sogar einfach reeller
> (wg. beschränkung gleichzeitig individuell verwalteter link-param. in
> broadcom-radios)
Wieviel verwaltet er denn? Eigentlich wollen wir sowieso eine begrenzte
Nachbar-Zahl - ich zumindest.
Die Bitratenautomatik vorhandener Treiber können wir evtl. austricksen. Das
Hauptproblem bei Broadcomm liegt (in meinen Augen) darin, daß er bei
Nichtaktivität auf viel zu hohe Bitraten schaltet - und dann eine Weile
braucht, bis das erste Paket durchkommt.
Wenn wir alle paar Sekunden zu jedem Nachbarn (wir wollen nur wenige) ein
Unicast-Paket schicken (das sehr kurz sein kann), können wir das vielleicht
verhindern. Und wenn wir clever sind, benutzen wir das gleich zur
Bandbreitenbestimmung. Scheint mir jedenfalls den Versuch wert :-)
Mit batman haben wir ein Protokoll, das Linkeigenschaften und Routing sehr eng
verknüpft - und gerade daraus seine elegante Einfachheit zieht. Ob sich dort
die Bandbreite einzubeziehen lässt, ohne den Algorithmus über den Haufen zu
werfen ???
Gruß Rolf
_______________________________________________
Berlin mailing list
Berlin at olsrexperiment.de
https://www.olsrexperiment.de/cgi-bin/mailman/listinfo/berlin
Mehr Informationen über die Mailingliste Berlin