[Berlin-wireless] ETX(+bat) unrealistisch, war:Re: airtime? *robuste_packets*?

Horst Krause offlinehorst
Di Nov 6 15:53:58 CET 2007


hallo sven-ola + liste,

thanks für die *airtime*-infos.

> Besser wird es möglicherweise mit dem ETT-Ansatz. Expected-Transmission-Time 
> ist ein anderer Algorithmus als ETX - der genau diese Senderate 
> berücksichtigen könnte.
zu ETT  hab ich mich noch nicht schlau gemacht, ich vermute
aber im ansatz die gleichen "expected"-mängel...

vorab, ich hab von routing-protokollen u. treibern keine ahnung.
aber als ich mich letztes jahr, in vorbereitung von hoerst_mäders
[fftrace] mit ihm über den ETX-mechanismus beschäftigt habe, war
ich baff-erstaunt, wie unrealistisch ETX rechnet.

1) der ETX-algorithmus wird mit short/lowrate TC-daten gefüttert,
2) auch für einen eth-hop wird der etx um "1" hoch-gezählt.

zb. der 3_radio-hops-trace *me_molly_yokoy_marek* (ping ~10ms)
dort sind im trace liegende ETHs (zb. 2 molly-IFs back2back)
mit ~ 0,8ms praktisch unrelevant.

pings sehen so aus:
64 bytes from 104.131.131.1: icmp_seq=1 ttl=60 time=69.1 ms
64 bytes from 104.131.131.1: icmp_seq=2 ttl=60 time=8.07 ms
64 bytes from 104.131.131.1: icmp_seq=3 ttl=60 time=14.4 ms
64 bytes from 104.131.131.1: icmp_seq=4 ttl=60 time=7.66 ms
64 bytes from 104.131.131.1: icmp_seq=5 ttl=60 time=12.0 ms
64 bytes from 104.131.131.1: icmp_seq=6 ttl=60 time=16.2 ms
64 bytes from 104.131.131.1: icmp_seq=7 ttl=60 time=10.6 ms
64 bytes from 104.131.131.1: icmp_seq=8 ttl=60 time=7.31 ms
64 bytes from 104.131.131.1: icmp_seq=9 ttl=60 time=15.4 ms
64 bytes from 104.131.131.1: icmp_seq=10 ttl=60 time=7.19 ms
# gut 30% sind ~7ms-pings, gehen nicht über die durch richt-antennen
  vorgegeben link-strecke <me ~ mollySO(-eth-)N ~ yokoy ~ marek>,
  sondern den 2hop-weg *me ~ molly-SO ~ marek= ~7ms geht, 
  der einen schlechterere/unsymetrische LQ/NLQ als der 3hop-weg hat.
  vmtl.wg. cron-minutly auf einem der im trace liegenden molly-IFs
  oder weil evt. yokoys_müggel-OSO cront/wackelt/brown/congested ist,
  dort konnte ich auch schon beobachten, dass es über "fragonard"(=NW)
  läuft, dessen antenne in die entgegengesetzte richtung zeigt,
  folglich einen deutlich schlechtere LQ/NLQ zum molly hat. 
  und dies ist noch der gute zustand, kaum delays u. keine abrisse.

(ähnliches habe ich auch schon auf dem 3-radio-hops-trace 
 *me ~ molly-SO(-eth-)-SW ~ zwingli-NO(-eth-)-SW ~ bocki* beobachtet,
 dass es nicht bei molly-SO rein (-eth-) zum molly-SW wieder raus geht,
 wie die radio-links durch richt-antennen- mit besseren LQ/NLQ vorgegebene wäre,
 sondern den *falschen_weg* molly-SO_store+fw (schlechtere LQ/NLQ), der
 dem routing-algarithmos entweder wegen 1_hop_kürzer attraktiver erscheint,
 oder wg. cron-minutly die einzige, aber schlechtere route ist.
 routen-flappen und minutenlange abrisse sind die folge.)

so oder ähnlich mag es auch auf der zwingli abgehen, denn dort kann man
noch häufiger beobachten, dass es nicht zum geplanten  zwingli-NO rein-geht,
sondern bei zwingli-SO, dessen antenne in eine ganz andere richtung kuckt.
aber die zwingli ist noch mal ein fall für sich, wo ich zt. nicht mal
mehr ein web-IF öffnen kann...

besonders spassig war es, als die 1hop-away_molly-dsl mal futsch war.
da haben dann die beiden 3-radio-hop-links ->marek u. ->bocki versucht
sich im wackeln zu übertrumpfen, mit dem ergebnis,
dass es zt. sekündlich wackelte.

optimisten werden jetzt antworten,
da kannst du mal sehen, wie perfekt unser protokoll routet;
ich als kritischer pessimist sehe da eigentlich keinen sinn,
denn mich interessiert weniger die routen-theorie, sondern die
praktische verwendbarkeit solcher links, und die ist gegen null,
denn irgenwo ist auf der strecke immer grad ein routen-klappern. 


hier noch ein paar details zur strecke nach marek: 

mit 1kB-packets siehts schon anders aus:
user at porta:~$ ping -R -s 1000 104.131.131.1
PING 104.131.131.1 (104.131.131.1) 1000(1068) bytes of data.
1008 bytes from 104.131.131.1: icmp_seq=1 ttl=60 time=38.3 ms
RR:     192.168.2.112   # my-schleppi-eth-out
        104.131.10.1    # horstWRT-wifi-out
        104.131.83.2    # molly-SO-eth-out
        104.131.41.1    # molly-N-wifi-out
        104.131.1.2     # müggel-OSO(yokoy_st+fw)-wifi-out
        104.131.131.1   # marek-wifi-in
        104.131.131.1   ... und zurück
        104.131.1.2
        104.131.83.1

1008 bytes from 104.131.131.1: icmp_seq=2 ttl=60 time=114 ms    (same route)
1008 bytes from 104.131.131.1: icmp_seq=3 ttl=60 time=22.9 ms   (same route)
1008 bytes from 104.131.131.1: icmp_seq=4 ttl=60 time=34.8 ms   (same route)
1008 bytes from 104.131.131.1: icmp_seq=5 ttl=60 time=24.2 ms   (same route)
1008 bytes from 104.131.131.1: icmp_seq=6 ttl=60 time=25.8 ms   (same route)
1008 bytes from 104.131.131.1: icmp_seq=7 ttl=60 time=34.1 ms   (same route)
1008 bytes from 104.131.131.1: icmp_seq=8 ttl=60 time=33.7 ms   (same route)
1008 bytes from 104.131.131.1: icmp_seq=9 ttl=60 time=24.7 ms   (same route)
1008 bytes from 104.131.131.1: icmp_seq=11 ttl=60 time=78.1 ms  (same route)
1008 bytes from 104.131.131.1: icmp_seq=12 ttl=60 time=42.4 ms  (same route)

und jetzt mit 2kB:
user at porta:~$ ping -R -s 2000 104.131.131.1
PING 104.131.131.1 (104.131.131.1) 2000(2068) bytes of data.
>From 104.131.83.1 icmp_seq=4 Destination Host Unreachable
2008 bytes from 104.131.131.1: icmp_seq=5 ttl=60 time=104 ms
RR:     192.168.2.112
        104.131.10.1
        104.131.83.2
        104.131.41.1
        104.131.1.2
        104.131.131.1
        104.131.131.1
        104.131.1.2
        104.131.83.1

2008 bytes from 104.131.131.1: icmp_seq=6 ttl=60 time=88.8 ms   (same route)
2008 bytes from 104.131.131.1: icmp_seq=7 ttl=60 time=88.9 ms   (same route)
2008 bytes from 104.131.131.1: icmp_seq=8 ttl=60 time=57.6 ms   (same route)
2008 bytes from 104.131.131.1: icmp_seq=9 ttl=60 time=53.9 ms   (same route)
2008 bytes from 104.131.131.1: icmp_seq=10 ttl=60 time=37.3 ms  (same route)
2008 bytes from 104.131.131.1: icmp_seq=12 ttl=60 time=81.4 ms  (same route)
2008 bytes from 104.131.131.1: icmp_seq=13 ttl=60 time=89.7 ms  (same route)
2008 bytes from 104.131.131.1: icmp_seq=14 ttl=60 time=74.7 ms  (same route)
2008 bytes from 104.131.131.1: icmp_seq=15 ttl=60 time=44.0 ms  (same route)
2008 bytes from 104.131.131.1: icmp_seq=16 ttl=60 time=90.0 ms  (same route)
...
2008 bytes from 104.131.131.1: icmp_seq=25 ttl=60 time=103 ms   (same route)
...
# 2kB-packets kommen durch, wenn auch mit zt. ping > 100ms.
# häufig sehe ich auf diesem trace auch X00ms delays und zig-sec-interrups :-(

zwischen der routen-wahl aufgrund kurzer tc-packets, und real-life-2kB-packets
ist also ein zeit-faktor von etwa 1:10, wenn es flüssig läuft.

kann man erreichen, dass routing mit repräsentativen werten arbeitet?
denn der unrepräsentative batmanInnen-originator-count
generiert -imho- die gleichen probleme.

als argument dagegen habe ich öfter gehört, dass dann real traffic
unter-brochen würde, wenn mit voller last geprobt würde.
der real-traffic wird aber auch zb. durch cron.minutly unterbrochen,
und durch unrealistische routen zumindest gefährtet.

gruss horst_104.131.10.1
offlinehorst at web.de






On Tue, 30 Oct 2007 20:41:56 +0100
Sven-Ola Tücke <sven-ola at gmx.de> wrote:

> N'abend Horst,
> 
> Lust auf Grundsätzliches ?-) Mit Luftzeit (dt. für Airtime) meine ich die 
> insgesamt zur Verfügung stehende Sendezeit. In einer Sekunde können ja nur 
> eine bestimmte Bytezahl bei einem bestimmten Übertragungstempo gesendet 
> werden. Wenn 20% der Zeit bereits von Beacons + ACK-Paketen belegt sind, ist 
> es ratsam z.B. die OLSR und Batman-Pakete nicht unbedingt auf 1Mbit nochmal 
> 25% verbrauchen zu lassen. Das meine ich mit "Luftzeitbelegung". Und das 
> zeigt (hoffentlich) das Horst-Tool zukünftig an. Und darum ist der Default 
> für die Broadcast-Rate mit der Freifunk-Firmware > 1.6.0 auf 5.5 Mbit 
> eingestellt. Ausgehend von der Annahme, dass man ja immer noch 'runterdrehen 
> kann, aber die Mehrheit besser weniger "Luftzeit" verbrauchen sollte.
> 
> Richtig ist außerdem: sowohl OLSR als auch Batman benutzen zur Zeit ETX AFAIK. 
> Die Packetverlust-Messung ist suboptimal, weil
> 
> a) bei Batman die "Meßpakete" unrealistisch klein sind
> 
> b) allgemein bei niedriger Sendrate gemessen wird, um eine
>     höhere Reichweite für die Routing-Infos zu haben bzw. um
>     weiter entfernte Stationen auch noch einzubinden.
> 
> c) für eine realistische Messung auf der IP-Ebene die ganze 
>     Bandbreite aufgebraucht würde.
> 
> Darauf gibt's keine generell 'richtige' Antwort. Man kann anfangen mit 
> Wifi-Treibern herumzuspielen und deren Meßwert-Daten einzukalkulieren. Der 
> Meßfehler ist jedenfalls da und spürbar. 
> 
 Da Elektra das mal in den Mund genommen hat gehe ich 
> davon aus, das unsere Batmannen das bereits wissen und eines Tages 
> realisieren. Angucken kann man sich das heute schon. Mit einem klitzekleinen 
> aber süßen Programm: "bing". Bing ermittelt die Bandbreite einer Verbindung 
> anhand von Laufzeit-Differenzen unterschiedlich großer Pings.
> 
> P.S.: Das sich der Flattermann hin und wieder zur DOS-Attacke mauert sind mit 
> sicherheit in erster Linie Implementierungsprobleme. Sowas dauert. Zu OLSR 
> kann ich sagen: so langsam könnte es soweit sein, dass es wirklich 
> einigermaßen funktioniert. Hat ja auch 2 Jahre Vorsprung <ggg>
> 
> Schönen Abend noch,
> // Sven-Ola
> 
> Am Dienstag 30 Oktober 2007 14:26:43 schrieben Sie:
> > hallo sven-ola,
> >
> > definiere mir bitte mal "Luftzeit", bzw. "airtime".
> >
> > licht-geschwindigkeits-packet-flugzeit ist es wohl nicht.
> >
> > meintst du damit den anteil einzelner packet-arten/speeds an der TX-dauer,
> > oder div. anteile der empfangenen/decodierten_packet-arten an der RX-zeit?
> >
> > RX-*sturm*, (# ich meine hier nicht RX-*taub-brüllen*)
> > u. in folge auch ap-cpu-overload gabs in nieder-f'hain flächendeckend
> > vor ca. 2 wochen durch eine wildgewordene flattermouse.
> > mein wrt war zäh wie leder, ping von läppi über eth: 1s ~ 7s ...
> > unter noerds nennt man sowas wohl DOS-attacke, wenn gewollt.
> >
> > bei der gelegenheit will ich auch dich mal fragen, warum
> > unrepräsentative udp/lowspeed-ETX-packets zur routenwahl
> > benutz werden.
> >
> > und warum man diesen -imho- mainbug jetzt auch auf die batfrauen
> > in form des 'originator-counts' als feature übernimmt.
> >
> > zum 'vorfühlen', was möglich ist, oder 'nachmessen' wenns klemmt
> > sind solche *robusten* packets gold wert, weil sie die digitale
> > geht/nicht-charakteristik etwas auf-fuzz-eln.
> >
> > aber als basis des routing-algorithmus kann es zu routen führen,
> > durch die real-life-netto-payload evt. nicht durchkommt.
> >
> > gruss horst_104.131.10.1
> > offlinehorst at web.de




Mehr Informationen über die Mailingliste Berlin