Alfred macke

Dominik Heidler dominik at heidler.eu
So Nov 22 16:54:31 CET 2015


Hi,

ich nehme mal an, du hast versucht, alfred als master auf dem Freifunk
Router laufen zu lassen.

Lass Alfred bitte nicht im Master mode laufen, da sonst die Alfred-daten
aller router deiner Hood auch über deinen Router laufen.

Wenn du alfred nicht als master laufen lässt und "alfred -r 64"
eingibst, fragt der alfred dienst auf deinem Router beim alfred-master
nach, welche Daten es für id 64 gibt. Der alfred-master schickt die
daten an den alfred dienst auf deinem router und der wiederum gibt sie
an den alfred-client zurück, der sie dann ausgibt.

Wenn der alfred-dienst auf deinem Router im master mode läuft, sendet er
alle 10 sekunden ein MASTER_ANOUNCEMENT Paket an alle Router deiner
Hood. Die Router entscheiden dann, zu welchem alfred-master die
Verbindung am bessten ist und schicken ihre statusdaten dorthin.
Unser alfred-master empfängt die MASTER_ANOUNCEMENT Pakete von deinem
Router ebenfalls. Jedes mal, wenn ein Router Statusdaten an unseren
alfred-master sendet, leitet dieser die Daten an alle ihm bekannten
alfred-master weiter. Das selbe macht auch dein Router in die andere
Richtung.
Wenn du hier auf deinem Router "alfred -r 64" eingibst, wird nur beim
lokalen alfred-master angefragt, der diese Anfrage ohne weitere
Netzwerkkommunikation beantworten kann, denn jeder alfred-master hollte
immer alle Daten des Netzwerks (also in unserem Fall der Hood) haben.

Den Request failure bekommst du vmtl wenn der Request zwischen deinem
alfred-dienst und dem alfred-master bei der Übertragung verloren geht.
Es ist immerhin eine größere Datenmenge, die ohne Fehlerkorrektur per
UDP übertragen wird (wenn die Daten verloren gehen, ist es nicht so
schlimm für uns - sie werden ja nach 5 Minuten erneut gesendet).

Am 22.11.2015 um 07:30 schrieb Peter Muehlenbrock:
> zuverlässig die xml Daten des eigenen Knotens an, aber nicht die der
> anderen. Dann gibt es auch keinen read request failure.

Evtl verhindert die Firewall deines Routers das versenden deiner Master
Anouncement Pakete. Die Firewall filtert ja broadcasts um Traffic zu sparen.

> Das Versenden der xml Daten an die FF Map monitoring.franken...
> funktioniert aber wie erwartet, auch im Mastermode.
> Was also ist anders bei dem Alfred Master auf der FFMap Serverseite,
> dass es dort hinhaut ?

Unser alfred-master läuft nicht auf einem Router sondern auf einem
Server, der per VPN direkt im Freifunk Netz hängt, und hat auch eine
andere Firewall Konfiguration, sodass die Master Anouncement Pakete
(hoffentlich) alle Router erreichen.
Wenn ich jetzt "alfred -r 64" auf unserem Server aufrufe, fragt der nur
über eine lokale Verbindung (ein UNIX Socket bei dem Übertragungsfehler
ausgeschlossen sind) beim alfred-master-dienst an und bekommt die
geforderten Daten direkt aus dem cache vom alfred-master.


Aber wie gesagt: Wenn du die statusdaten deiner Router holen willst,
empfehle ich dir, sie per http mit curl zu holen.


Grüße,
Dominik



Mehr Informationen über die Mailingliste franken-dev