[PATCH 0/2] Enable the batman-adv Gateway selection
Christian Dresel
fff at chrisi01.de
Di Sep 22 09:11:45 CEST 2015
Hallo
erste Beobachtungen (die letzten halbe Stunde, also noch nicht wirklich
repräsentativ) meines Teilausgelasteten (endlich mal über 100 Clients)
Server zeigen mir ein ganz anderes Problem als die Bandbreite.
Wie Tim erklärt hat sind die Paketzahlen extrem hoch, owbwohl ich gerade
mal im Schnitt 25-30MBit /Sec über das Netzwerkinterface Schaufel (davon
nur wenige (3-5)MBit durch den Mullvad Tunnel wo geht eigentlich der
Rest hin? Haben wir doch etwas mehr internen Traffic als ich bisher
dachte oder ist das einfach die riesen Broadcastmenge?) bricht der Speed
richtig ein. Die Auslastung des Server ist aktuell grenzwertig (loadavg
von ca. 1 und %CPU Last auf den fastd Prozessen zwischen 50-80%, si bei
10-20), ansonsten lässt er sich aber noch sehr flüssig bedienen und
reagiert auch zügig auf alle möglichen Anfragen (ping, apache, mysql usw.).
Wichtig auch, auf dem Server (mit wget direkt übers Netzwerkinterface)
konnte ich früher ohne Belastung mit etwa 400MBit Dateien runterladen
(so bei 50Mbyte/sec war immer Schluss), jetzt wo er voller ist komm ich
auf langweilige knappe 100MBit (obwohl für Freifunk gerade mal 30 MBit
belegt sind)
Speedtests bei leeren Server:
- 18Mbit Down 8Mbit Upo gemessen hier in Fürth über meinen 50MBIT VDSL
Anschluss, hier war der Flaschenhals wohl der wr841nd Router der einfach
nicht mehr packt. Die Grenze wurde zu verschiedenen Zeiten immer wieder
erreicht. Es gehen also problemlos 18Mbit über den Mullvad-VPN Tunnel
(und vermutlich mehr da, wie gesagt, der wr841 wohl der Flaschenhals
ist). Wenn ich in Nürnberg nicht mehr gebraucht werde und sich der
Server wieder mit 3-5 Clients langweilg wäre wohl ein Speedtest über
einen größeren Router mal imnteressant.
Speedtest heute bei relativ vollen Server aber nicht wirklich
ausgelasteten Interface (als ich den Test gestartet hab, lief über das
Mullvad VPN gerade mal ~1-2Mbit, ging dann durch meinen Test natürlich
hoch):
- 3MBit Down 6Mbit Upload (warum der Upload höher ist, ist mir
schleierhaft), die Leitung sollte eigentlich noch deutlich mehr
hergeben, dabei gingen kaum 10MBit über den Mullvad-VPN Tunnel
Ich glaube(!) daher aktuell nicht, das der Mullvad Tunnel der
begrenzende Faktor ist. Vom aktuellen "Surfspeedgefühl" ist allerdings
noch alles super flüssig, Seiten laden sofort und schnell.
Hier stellst sich dann die Frage wie ich die GW Selection hier sinnvoll
einstellen sollte wenn wir sie scharf schalten. Ich glaube es macht hier
eher Sinn, die Anzahl der DHCP Clients zu begrenzen, wenn ich das
hochrechne und abschätze ich könnte ich bei etwa 150-200 Clients zu
machen, wenn Not am Man... äh Server ist vielleicht 255 mehr wird dann
aber keinen Sinn mehr machen (ok muss man mal ausprobieren, vielleicht
täusch ich mich auch), für genauere Zahlen müsste ich das einfach mal
testen.
Einzigen Sinn denn ich dann noch in der GW Selection sehe liegt darin,
dann ich den Traffic ganz schick begrenzen kann. Ich hab mal mit
wondershaper rum gespielt dies hat mir die Bandbreite aber nicht
sinnvoll begrenzt sondern nahezu komplett zu gemacht (hab 40000 / 40000
kbit freigegegeben am Ende war bei 2-3 MBit dann Schluss, tlw. runter
bis auf wenige kbit/sec) warum ist mir Schleierhaft, evtl. wieder die
Paketmenge mit der das Programm nicht klar kommt?
Ich hab aktuell den "Luxus" das ich etwas mit teilausgelasteten Server
herumprobieren kann und da sieht man solche Zahlen doch sehr gut.
mfg
Christian
Am 20.09.2015 um 11:33 schrieb Tom Green:
> Hi Tim,
> Hallo Zusammen,
>
> Wie wir gestern diskutiert haben, macht es für die B.A.T.M.A.N Gateway
> Selection auf dem Gateway Sinn, nur die freie Bandbreite an die Router
> zu annoncieren, und nicht die gesamte.
>
> Ich hab ein einfaches Skript geschrieben, dass diesen Zweck erfüllen sollte.
>
> Es liegt unter:
> https://wiki.freifunk-franken.de/w/Freifunk-Gateway_aufsetzen#B.A.T.M.A.N_Gateway_Selection
>
> Gruß
> Torben
>
>
>
> On 14.09.2015 22:42, Tim Niemeyer wrote:
>> Hi Tom
>>
>> Am Montag, den 14.09.2015, 22:38 +0200 schrieb Tom Green:
>>> Wechseln dann alle Clients das GW mit, oder nur die neuen?
>> Nur die neuen. Aber bitte schau mal hier, da ist der Mechanismus prima
>> erklärt:
>> http://www.open-mesh.org/projects/batman-adv/wiki/Gateways
>>
>> Hier sind die verfügbaren Parameter dokumentiert:
>> http://downloads.open-mesh.org/batman/manpages/batctl.8.html
>>
>> Um den Algorithmus dahinter zu sehen / zu verstehen, muss man leider in
>> den Code gucken:
>> http://git.open-mesh.org/batman-adv.git/blob/f5e3096f8f7e4135a651a2b0cb78ae1ba1dc805f:/gateway_client.c#l144
>>
>> Tim
>>
>>
>>> Wenn es alle sind, stell mir das so vor, als ob dann ganze Herrscharen
>>> das GW wechseln, auslasten, um dann als Schwarm ein oder zwei Minuten
>>> über das nächste GW herzufallen (und dabei die externe IP zu wechseln,
>>> was mitten im Youtube Video vielleicht nicht so gut kommt).
>>>
>>>
>>> On 14.09.2015 21:58, Tim Niemeyer wrote:
>>>> This Patchset enables the gateway selection and adds a cron to reset the
>>>> selection every one minute. I didn't find a better way to tell batman to
>>>> look for newer and better gateways.
>>>>
>>>> I tried different gateway selection classes, only class 1 allows us to
>>>> take care of the selection via the announced bandwidth. Unfortunately the
>>>> class 1 stick with the selection until the gateway disappears. Even if a
>>>> much better gateway is announced the node will stay with that gateway. To encounter this behaviour, the cron disables the client mode for one second.
>>>> This will tell batman to make a new evaluation.
>>>>
>>>> Attention: By applying this patches only Hoods with enabled gateway selection
>>>> can serve DHCP to Client.
>>>>
>>>>
>>>> Tim Niemeyer (2):
>>>> batman-adv: enabled client gateway mode
>>>> cron: disable every 1min the gw selection for 1s
>>>>
>>>> bsp/default/root_file_system/etc/config/batman-adv | 4 ++--
>>>> bsp/default/root_file_system/etc/crontabs/root | 1 +
>>>> 2 files changed, 3 insertions(+), 2 deletions(-)
>>>>
Mehr Informationen über die Mailingliste franken-dev