[Berlin-wireless] ETX(+bat) unrealistisch, war:Re: airtime? *robuste_packets*?
Sven-Ola Tücke
sven-ola
Mi Nov 21 06:44:51 CET 2007
Moins,
hier mein Senf zum Thema. Solange der OLSRD auf Layer3 hockt und einen opaken
Layer2-Transport verwendet wird das nix. Ja - man kann evnt. noch tricksen
und versuchen, ein Stueck der Realitaet zu erhaschen indem man
Paketlaufzeiten ermittelt. Eine andere moegliche Messgroesze auf dieser Ebene
waere noch die Zuverlaessigkeit (aka. wieviele Monate existiert der Link
schon, wieviel erfolgreiche TCP-Verbindungen ohne Abbruch) - eine Messgroesse
die z.B. bei der HNA0/0-Berechnung etwas bringen koennte.
Jedenfalls sind zwischen Real-Live und OLSRD zuviele Zwischenschichten, die
Messfehler verursachen - ganz egal welches Betriebssystem:
* Interrupt-Latenz-Zeiten und Systemlast
* Unterschiedliche Uebertragungsmodi / Tempo
* Moegliches Trafficshaping (z.B. bevorzugt kleine Pakete)
* Sende-Wiederholungen, ACKs, FEC
Was den OLSRD aber interessant macht, ist die Moeglichkeit, es auf vielen
verschiedenen Betriebssystemen und Transportschichten laufen zu lassen. Es
funktioniert ganz gut - auch wenn beispielsweise Mesh-Loesungen die direkt in
einen bestimmten WLAN-Treiber oder WLAN-Chipsatz eingegossen sind
moeglicherweise effizienter sind. Bei der Paket-Loss-Messung verlassen wir
uns sogar bereits auf eine weit verbreitete Layer2-Eigenschaft: Bei
Broadcasts gibts vielfach kein Handshake - weswegen ueberhaupt Paketverluste
messbar sind.
Mein Vorschlag waere, mit einem Plugin-Konzept Layer2-Information einspeisbar
zu machen. Wenn die Info da ist, kann man sie einrechnen bzw. dem Netz
mitteilen. Zwei Beispiele: In den MAC80211 die Info aus der Raten-Kontrolle
ziehen und in die Linkmetrik-Berechnung einfliessen lassen. Oder im
PPPoE-Treiber die ermlttelte Leitungsqualitaet uebermitteln. Dafuer braucht
man eine Schnittstelle und eine Messgroesze fuer die "richtige" Relation
zum "universalen" Paketloss/ETX. Beide Beispiele haben immer noch eine
gewisse Abstraktion gegen die Hardware, will heissen: man macht es nicht von
einer ganz bestimmten Hardware abhaengig (einem bestimmten Modem, eine
bestimmte WLAN-Karte). Und man waere nicht generell nicht davon abhaengig,
das die Transportschicht ueberhaupt Mess-Daten ermitteln kann.
Oder ein anderes Beispiel. Auf den WRTs haben wir einen recht undurchsichtigen
WLAN-Treiber. Aber einen Monitor-Mode. Ein kleiner Daemon koennte also das
prism0-Device abfragen und evnt. staendig folgendes fuer bestimmte
Gegenstationen ermitteln (so wie das Horst-Tool auch):
* Empfangs-Staerke (Noisewert==Bloedsinn auf'm WRT)
* ACK-Time bzw. ACK-Verlust bei Unicast
Der Demon muss diese Info irgendwie in den OLSRD hineinbekommen. OK - man
koennte LinkQualitymult's in die olsrd.conf schreiben und neu starten. Fuer
mich riecht das nach Plugin.
Bleibt die Frage nach der Rechenvorschrift. Es gab ja schon echte
ETX-Glaubenskriege zwischen der 1+1 und der 1 * 1-Fraktion (oder anders: Mit
Hopzahl oder ohne). Im Moment fahren wir _mit_ Hopzahl (also Plus wie im
ursprueglichen ETX-Vorschlag). Der Punkt hier: man kann das nicht alle
Naselang aendern. Es muss naemlich Einigkeit bei allen installierten
Instanzen geben, sonst berechnen verschiedene Stationen was unterschiedliches
und es gibt Kreise bzw. Pingpongs. Ein Nachteil von Link-State. Eine neue
Rechnenvorschrift in Form von Implementation zu verbreiteten dauert aber
Monate wenn nicht noch laenger. Moglicherweise kann man auch die
Rechenvorschrift auch innerhalb des Protokolls mitsenden (nur so als Idee -
beanspruche hiermit Pior-Art-Schutz falls keine Prior-Prior-Art).
// Sven-Ola
Am Dienstag 20 November 2007 19:30:58 schrieb Hannes Gredler:
> On Tue, Nov 20, 2007 at 01:54:50PM +0100, Daniel Nitzpon wrote:
> | Hannes Gredler schrieb:
> | > On Tue, Nov 20, 2007 at 02:18:54AM +0100, Daniel Nitzpon wrote:
> | > | was ist denn so verkehrt an dem konzept ett = etx / bandbreite?
> | > | bisher hab ich in diesem thread noch nichts gelesen, was dar?ber
> | > | hinausweist oder dagegenspricht oder hab ich da was verpasst?
> | >
> | > es gibt werte die noch drueberhinaus interessant sein koennen,
> | > wie z.b. signal/noise ratio - das heisst es wird wohl auf einen
> | > zusammengesetzen metrik hinauslaufen.
> |
> | vielleicht k?nnten sie das, aber spontan w?rde ich sagen, sig/noise ist
> | eine der ursachen f?r die wirkung, die sich in bandbreite und packetloss
> | niederschl?gt und es ist effektiver, einfach die wirkung zu messen als
> | sich ein system zu ?berlegen, was diese wirkung aus grob gesch?tzten
> | parametern zusammenr?t.
>
> irgendwelche vorschlaege um die bandbreite zu ermitteln ?
> bis jetzt gefaellt mir am besten ein kleines unmittelbar neben
> einem grossen hello zu schicken, weil plattformneutral.
>
> am einfachsten waere es vermutlich (unter linux) die
> wireless extensions auszulesen. bin unsicher wie das auf anderen
> OSen geht (freebsd/openbsd/win32)
>
> /hannes
> _______________________________________________
> Berlin mailing list
> Berlin at berlin.freifunk.net
> http://lists.berlin.freifunk.net/cgi-bin/mailman/listinfo/berlin
Mehr Informationen über die Mailingliste Berlin