[Berlin-wireless] announce_services plugin fuer olsrd
Jens Nachtigall
nachtigall
Sa Apr 1 03:53:51 CEST 2006
Abend Sven-Ola,
ich würd sagen, ich bastel mal was in das bestehende nameservice plugin und
dann sehen wir am Mittwoch weiter. Sonst wird das hier ne lange Disko, was
wir face-to-face schnell besprechen können.
Das Feedback war auf jeden Fall schon hilfreich, und ich denke auch, dass das
im nameservice plugin am besten aufgehoben ist.
Grüße,
Jens
> ok - na dann mal richtig: Unterscheiden wir zunaechst mal:
>
> * Serviceanbieter-PC oder WRT: z.B. WRT54GS mit massig Platz oder einen
> Extra-PC fuer den Service. Da passt also jede Menge Zusatzsoftware drauf
> und eine /etc/services macht sicher kein Problem.
>
> * Service-Announce-Node: Von diesem Node aus wird der Service angekuendigt.
>
> * Standard-Node: Praktisch kein Platz. Per OLSR-Message-Flooding wird der
> Ankuendigungen sowieso an Nachbarn weiterreichen (egal ob Nameplugin
> installiert). Hier waere evt. noch eine Zusatzseite mit "Services in diesem
> Mesh" drin, wenn das dazu noetige OLSR-Plugin zur Abfrage nicht zuviel
> Platz kostet.
>
> * Service-Nutzer: Sitzt an einem PC und hatt massig Rechenpower + Platz
> sowie einen Bildschirm und einen Browser.
>
> Praktisch jeder Service basiert auf UDP (z.B. NFS-Share) oder TCP (z.B.
> IRC) und hat damit eine Portnummer. Andere (z.B. Spezial-Pingdienst oder
> Multicast-Radio) fallen aus diesem Schema. Service-Anbieter-PC und
> Service-Announce-WRT sollten unterschiedliche Rechner sein koennen. Eine
> Web-URL z.B. mit Erlaeuterungen "und so kommst du auf meinen NFS-Server"
> waere natuerlich prima. Ich wuerde daher vorschlagen, dass die
> Service-Ankuendigung folgendes enthaelt:
>
> ipaddr-service,protonun-ervice[,portnum-service][,service-file]:Service-Ueb
>erschrift:http://helpseite/
>
> Protokoll+Portnummern kann sich jeder selber offline heraussuchen. Wer das
> nicht gebacken bekommt kann halt nix anbieten. portnum-service und
> helpseite ist optional.
>
> Die IP-Adresse muss im Mesh erreichbar sein
> Die Protokollnummer ist aus /etc/protocols
> Die Portnummer ist aus /etc/services (nur bei Protokoll=6 oder 17)
> Das Service-File (nur bei HTTP-Services) kann mit Browser abgerufen werden
> Die Service-Ueberschrift ist auf 64 Zeichen begrenzt (keine Doppelpunkte /
> CRLF)
> Die Help-URL (wenn vorhanden) muss mit Browser aufzurufen sein
>
> Statt Doppelpunkt kann man naterlich auch z.B. das Tabzeichen nehmen. Ein
> Beispiel:
>
> 104.65.65.104,6,80,/img/video.asf:Webcam
> Alex:http://104.65.65.97/index.html
>
> Die Statusseite "Services in diesem Netz" koennte alle Services mit
> Helpseite weiter oben anzeigen. Bei Port-basierten Protokollen prueft ein
> Cronjob auf dem Service-Announce-Node, ob diese Kombi gerade erreichbar ist
> (aehlich Dyngw). Wenn ja -> OLSR-Flooding, wenn nein dann nicht. Das geht
> naterulich nur fuer Proto=6 || 17 und nicht fuer Multicast. Die im Beispiel
> genannte Webcam kann ueber "mplayer http://104.65.65.104:80/img/video.asf "
> angeguckt werden.
>
> Gruesze,
> Sven-Ola
>
> "Jens Nachtigall" <nachtigall at web.de> schrieb im Newsbeitrag
> news:200603310857.58349.nachtigall at web.de...
>
> Hallo Sven-Ola,
>
> > sowas wollte ich schon lange machen. Bruno hat damls recht lange an dem
> > Plugin debuggt -> der Source strotzt vor Debug-Messages, die ich fuer die
> > FFF alle rauspatche (wie immer: Bytes sparen). Kann man Deine Erweiterung
> > nicht einfach gleich in das nameplugin einbauen -> Platz +
> > Debug-nicht-so-noetig?
>
> Das könnte man sicherlich dort mit einbauen, guck ich mal.
>
> > Ich wuerde ausserdem gerne eine FFF-Statusseite "Services in diesem Netz"
> > anbieten. Moeglichst mit einem Test ob der Service tatsaechlich Online
> > ist -> Service ist immer mit IP + Port + UDP||TCP, dann koennte ein
> > Cronjob pruefen, ob diese Kombi erreichbar ist. WIr haben sonst zuviele
> > "Ich wollte
> > da mal was anbieten" statt "ich biete an". Ersteres ist witzlos.
>
> "IP + Port + UDP||TCP" reicht nicht. Der Pfad fehlt noch und der service
> (protokoll), welcher sich hinter dem port verbirgt.
>
> Ich dachte, dass wäre mittels URL-angabe gewährleistet:
> protokoll:host_oder_ip[:port]/pfad/. Leider gibt es auf dem wrt
> keine /etc/services, so dass bei nichtangabe des ports nicht immer der
> standard-port und TCPbzw.UDP klar wäre. Hhm, so ne richtige KISS-lösung
> fällt
> mir nicht ein, man könnte aber verlangen, dass die URL den port enthalten
> muss. Also http://ich:80/mein/pfad. Wegen TCP|UDP könnte man einfach auf
> beides testen (zuerst TCP, dann UPD auf dem port bei dem host-namen), wenn
> eines von beiden geht, dann gilt es als vorhanden. Die /etc/services hat
> leider 20KB, aber da steht alles drin, was wir bräuchten. Andere Ideen, wie
> solch ein service syntaktisch in der config stehen sollte?
>
> Grüße,
> Jens
--
jabber-chat: nachtigall at amessage.de
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : nicht verfügbar
Dateityp : application/pgp-signature
Dateigröße : 189 bytes
Beschreibung: nicht verfügbar
URL : http://lists.olsrexperiment.de/cgi-bin/mailman/private/berlin/attachments/20060401/0ae37039/attachment.pgp
-------------- nächster Teil --------------
_______________________________________________
Berlin mailing list
Berlin at olsrexperiment.de
https://www.olsrexperiment.de/cgi-bin/mailman/listinfo/berlin
Mehr Informationen über die Mailingliste Berlin