Fakultät II Informatik, Wirtschaft und Rechtswissenschaften
Department für Informatik
Abteilung Rechnernetze und Telekommunikation
Diplomarbeit
Analyse eines Freifunknetzwerkes
Oldenburg, den 21.12.06
Bearbeitet von
Stefan Hosbach
2
Inhaltsverzeichnis
1 Einleitung ... 5
1.1 Hintergrund und Motivation ... 5
1.2 Ziel der Diplomarbeit ... 6
1.3 Aufbau der Arbeit... 7
2 Grundlagen ... 8
2.1 Mesh Netzwerk... 8
2.1.1 Vermaschtes Netz ... 8
2.1.2 Vermaschte Funknetze ... 9
2.1.3 Routing in Mesh Netzwerken ... 10
2.2 OLSR... 13
2.2.1 Link State Routing... 13
2.2.2 Optimierungen für Funknetze... 16
2.3 Freifunk ... 20
2.3.1 Das Projekt ... 20
2.3.2 Pico Peering Agreement ... 20
2.3.3 Rechtslage... 22
2.3.4 Freifunk Knoten... 23
2.4 Funkübertragung... 27
2.4.1 ISM Band... 27
2.4.2 Sendeleistung... 27
2.4.3 Störquellen... 28
2.4.4 Strahlenbelastung... 32
3 Analyse ... 35
3.1 Freifunk in Hannover ... 35
3.1.1 Das Projekt ... 35
3.1.2 Topologie des Netzes... 36
3.1.3 Installation des Knotens... 37
3.2 Vorhandene Software ... 41
3.2.1 Darstellung mit Google Maps... 41
3.2.2 OLSR-Viz... 42
3.2.3 Freifunk-Statistics... 43
3
3.2.4 Vergleich ... 44
3.2.5 Gewonnene Erkenntnisse ... 46
3.3 Daten für die Analyse ... 47
3.3.1 Relevante Daten... 48
3.3.2 Absolute Luftfeuchtigkeit... 52
3.3.3 Störung durch benachbarte Funknetze ... 53
4 Entwicklung der Software ... 61
4.1 Ausgangssituation ... 61
4.2 Anforderungsdefinition ... 61
4.2.1 Einordnung der Arbeit ... 61
4.2.2 Einsatzbereich der Software ... 62
4.2.3 Funktionale Anforderungen... 62
4.2.4 Nichtfunktionale Anforderungen... 64
4.2.5 Benutzerschnittstellen... 64
4.2.6 Fehlerverhalten ... 64
4.3 Entwurf ... 65
4.3.1 Technologiewahl ... 65
4.3.2 Architektur... 67
4.3.3 Entwurf der Datenhaltung ... 68
4.3.4 Entwurf des Datensammlers... 72
4.3.5 Entwurf des Web Frontends ... 74
4.4 Implementierung und Test... 79
4.4.1 Implementierung des Datensammlers ... 79
4.4.2 Implementierung der Datenbank ... 80
4.4.3 Implementierung des Web Frontends... 81
4.4.4 Test ... 82
4.5 Datenanalyse... 83
4.5.1 Freifunk Verbindungen... 83
4.5.2 Benachbarte Funknetze... 86
4.5.3 Wetterdaten... 88
4.5.4 Konfiguration der Router... 90
5 Abschließende Überlegungen ... 92
5.1 Gewonnene Erkenntnisse ... 92
4
5.2 Fazit... 92
5.3 Ausblick ... 94
5.3.1 Verbesserte Datenerfassung ... 94
5.3.2 Genauere Wetterdaten ... 95
5.3.3 Bestimmung der WLan Topographie ... 96
5.3.4 Einbindung der Wettervorhersage ... 97
Glossar... 99
Literatur... 101
5
1 Einleitung
1.1 Hintergrund und Motivation
Nach der Wiedervereinigung Deutschlands wurde in den 90er Jahren in Ostdeutschland mit
OPAL ein modernes Telefonnetz basierend auf Glasfasertechnik aufgebaut. Erst Ende des
Jahrzehnts stellte sich heraus, dass die erste Generation der bezahlbaren Breitbandanschlüsse
für den Privatanwender - das ADSL - nur auf Kupferkabel eingesetzt werden kann. Aber nicht
nur OPAL, sondern auch die ökonomisch orientierten Ausbaupläne der Telekom bezüglich
ihres DSL Netzes waren unter anderem der erste Anstoß für die Entstehung von Funknetzen,
die über die Grenzen der Grundstücke hinausgingen, um das Internet an Menschen zu
bringen, die ansonsten keinen Zugang zu Breitband-Internetanschlüssen hatten. Das OPAL
Netz im Osten von Berlin war einer der Auslöser für die Entstehung des ersten Freifunk
Netzwerkes in Deutschland. In den folgenden Jahren sind Bürger in vielen Städten und
Gemeinden dem Vorbild der Berliner Freifunker gefolgt und haben mit der gewonnen
Erfahrung und bewährten Technik eigenständige Netze aufgebaut. Inzwischen ist nicht mehr
alleine die Verbreitung von kostenlosen Internetzugängen das Hauptziel der Freifunk
Gemeinschaft, sondern die Entstehung eines eigenen Netzes, das entgegen dem Trend des
Internets nicht reglementiert und kontrolliert werden soll.
Bereits kurz nach dem Beginn des Freifunk Netzwerkes in Hannover trat der Autor dieser
Arbeit der stetig wachsenden Gemeinschaft der Freifunker bei. Aus diesem persönlichen
Interesse für die Materie und der Tatsache, dass das Thema Freifunk bislang kaum
wissenschaftlich untersucht wurde, begründet sich die Wahl für dieses Thema als
Diplomarbeit.
6
1.2 Ziel der Diplomarbeit
Im Rahmen der Diplomarbeit ,,Analyse eines Freifunk Netzwerkes" sollen zunächst die
Grundlagen der dem Freifunk zugrunde liegenden Techniken und Protokolle beschrieben
werden. Darüber hinaus soll die Arbeit vermitteln, was sich hinter dem Freifunk Projekt
verbirgt. Um überhaupt praktische Aussagen über das Freifunk Netzwerk treffen zu können,
soll zunächst eine Anbindung an dieses erfolgen. Die dabei gewonnenen Erfahrungen und
Erkenntnisse werden ebenfalls in die Arbeit einfließen.
Da eine fundierte Analyse des Freifunk Netzwerkes ohne größeres Datenmaterial nur begrenzt
möglich ist, wird eine Software entwickelt, die in der Lage sein soll Daten zu sammeln und
zu analysieren. Dabei ist sowohl der praktische Nutzen in Form von Fehlerdiagnostik, als
auch der wissenschaftliche Aspekt, wie zum Beispiel durch die Untersuchung des
Zusammenhanges zwischen Wetterverhältnissen und Stabilität des Freifunk Netzwerkes, das
Hauptziel der Entwicklung. So soll die Software aber auch eine zentrale Anlaufstelle bieten,
die dem Anwender alle wichtigen Daten des Freifunk Netzwerkes verfügbar macht.
Um einen Überblick über bereits vorhandene Analysesoftware zu gewinnen, ist es geplant,
dass verschiedene Anwendungen aus diesem Bereich getestet, beschrieben und miteinander
verglichen werden, um auf diesem Weg Erkenntnisse für die selbstständige Entwicklung
gewinnen zu können.
Darüber hinaus muss untersucht werden, welche Daten für die softwaregestützte Analyse
relevant sind. In diesem Rahmen können weitere Untersuchungen bezüglich bestimmter
Aspekte nötig sein. Die zu entwickelnde Software soll aus zwei eigenständigen Programmen
bestehen. Bei diesen handelt es sich um einen Datensammler, der alle relevanten
Informationen abruft und in eine Datenbank ablegt. Auf Basis dieser Informationen operiert
die zweite Anwendung. Diese soll dem Anwender nicht nur Zugriff auf die gesammelten
Informationen bieten, sondern diese auch auswerten können.
7
1.3 Aufbau der Arbeit
Der strukturelle Aufbau der Arbeit lässt sich grob in vier Teile gliedern. Der erste Teil
umfasst das Kapitel 2 und stellt zunächst die Grundlagen für das Verständnis von Freifunk
Netzwerken vor.
Der zweite Teil dieser Arbeit umfasst Kapitel 3 und beschäftigt sich mit der Analyse des
Freifunk-Netzwerkes.
Kapitel 4, der dritte Teil dieser Arbeit, beschreibt in Anlehnung an das Wasserfallmodell, den
der gesamte Entwurf der zu entwickelnden Software. Abschließend wir am Ende dieses
Kapitels die gesammelten Ergebnisse ausgewertet.
Der vierte und letzte Teil besteht mit Kapitel 5 aus den abschließenden Überlegungen. Nach
der Betrachtung von allgemeinen Erkenntnissen, gefolgt von einem Fazit, schließt der
Abschnitt Ausblick sowohl das Kapitel als auch die Arbeit ab.
8
2 Grundlagen
Das folgende Kapitel setzt sich mit den Grundlagen dieser Arbeit auseinander. Zunächst wird
in Abschnitt 2.1 auf das Mesh Netzwerk eingegangen. Beginnend mit der Vermittlung des
OLSR Protokolls in Abschnitt 2.2 und gefolgt von dem Beschreibung der Bereiche des
Freifunks Projekts in Abschnitt 2.3, schließt das Kapitel mit Abschnitt 2.4 ab, welcher die
notwendigen Grundlagen im Bereich Funkübertragung beschreibt.
2.1 Mesh Netzwerk
In diesem Abschnitt wird zunächst das vermaschte Netz vorgestellt. Im Anschluss daran
erfolgt die Hervorhebung der Besonderheiten in vermaschten Funknetzen. Zum Ende des
Abschnittes wird das Routing in Mesh Netzwerken erläutert.
2.1.1 Vermaschtes Netz
Abbildung 1 - Vermaschtes Netzwerk [FHA]
9
Bei dem vermaschten Netz(eng. Mesh Network) handelt es sich um eine Netzwerktopologie
bei der alle Knoten mit einem oder mehreren anderen Knoten des Netzwerkes verbunden sind.
Somit ist ein Knoten in der Lage jeden beliebigen Knoten des Netzwerkes direkt oder indirekt
über seine Nachbarknoten zu erreichen. Sind alle Knoten direkt miteinander verbunden, so
handelt es sich um ein vollvermaschtes Netz. Alle anderen vermaschten Netz werden auch als
teilvermaschtes Netz bezeichnet. Ein solches ist auf Abbildung 1 dargestellt. [KES]
2.1.2 Vermaschte Funknetze
Die meisten Funk Netzwerke arbeiten in dem auf Abbildung 2 gezeigten
,,Infrastrukturmodus" und basieren somit auf einem funkgestützten Access Point. In dem
dabei entstehende Netzwerk übernimmt der Access Point die Funktion eines kabellosen
Switches und erzeugt damit eine Stern Topologie. Verbindet man die Access Points über
Ethernet so entsteht eine Zell Topologie. Eine Möglichkeit die Abdeckung eines WLANs zu
erhöhen ist das Wireless Distribution System (WDS). Bei diesem handelt es sich um einen
nicht standardisierten Modus der in der Lage ist Access Points auf OSI Schicht 2 drahtlos zu
verbinden. Da die Informationen zwischen den Access Points auf dem gleichen Kanal
übertragen werden auf der auch die Kommunikation mit den Clients läuft, wird die zur
Verfügung stehende Bandbreite halbiert.
Abbildung 2 - Infrastructure und Ad-Hoc [OL1]
10
Wird ein Funknetzwerk ohne Access Point betrieben, so steht nur der ebenfalls auf Abbildung
2 ersichtliche Ad-Hoc Modus zur Verfügung. Diese Netze werden auch Mobile Ad-hoc-Netze
(MANet) bezeichnet. Hier sind die Teilnehmer in der Lage eine Verbindung zu allen
Teilnehmen in ihrer Sende- / Empfangsreichweite aufzunehmen, die im selben Modus
betrieben werden. Das dabei entstehende vermaschte Netz wird auch als Mesh Netzwerk oder
,,WLAN Wolke" bezeichnet. In diesem kann ohne Routing Protokolle nur bei direkter
Verbindung miteinander kommunizieren werden. Von einem vermaschten Netzwerk wird
aber nicht nur im Zusammenhang mit drahtlosen Netzwerken geredet, sondern auch große
Teile des Internet basieren auf dieser Topologie. [DCH] [THW] [NWR] [FF1] [FF7]
2.1.3 Routing in Mesh Netzwerken
Das Routing ist im ISO/OSI Modell eine der Hauptaufgaben der dritten Schicht, auch
Vermittlungs-Schicht genannt. Die einfachste Art der Wegwahl ist das statische Routing, bei
welchem es sich um ein nicht-adaptives Routingverfahren handelt. Das Routing ist statisch da
für jeden Knoten vor der Inbetriebnahme eine feste Tabelle angelegt wird, in welcher für alle
zu erreichenden Ziele die optimalen Wege gespeichert werden. Anwendung findet das
statische Routing vor allem bei Netzwerken mit einer festen Struktur und einer vermaschten
Netzwerktopologie.
In großen dynamischen Mesh Netzwerken, wie unter anderem in großen Teilen des Internets,
finden wir jedoch eine Umgebung vor, in der laufend neue Wege entstehen und alte
wegfallen. Aufgrund der riesigen Menge an angeschlossenen Teilnehmern und ihren nicht
vorhersagbaren Verhalten kann es in kürzester Zeit zu stark fluktuierenden Belastungen auf
den einzelnen Knoten des Netzwerkes kommen. Um diesem Problem Rechnung zu tragen
bedarf es einer Lösung die über eine statische Wegwahl hinausgeht. Die Klasse der adaptiven
Verfahren bietet eine Reihe von Lösungen für dieses Problem, da sie in der Lage ist aufgrund
von äußeren Einflüssen dynamisch die Wegwahl zu bestimmen.
Bei den adaptiven Routingprotokollen unterscheidet man zwischen zentralisierten, isolierten
und verteilten Verfahren. Die zentralisierten Routingverfahren bestimmen die
Übertragungsleitung zentral für das gesamte Netz auf einem Knoten, welcher auch Routing
Control Center (RCC) genannt wird. Bei den isolierten Routingverfahren übernimmt ein
11
Knoten die Auswahl der Übertragungsleitung anhand von selbständig gesammelten
Informationen. Dieses Verhalten besitzen auch die verteilten Routingverfahren, darüber
hinaus teilen sie jedoch ihre gesammelten Informationen mit ihren Nachbarn. [KOW]
Besonderheiten in MANets
Drahtlose Mesh Netzwerke benötigen aufgrund spezieller Anforderungen gegenüber
kabelgebunden Mesh Netzwerken, andere Routingprotokolle. Zu diesen speziellen
Bedingungen zählen:
·
Knoten haben kein Vorwissen über die Topologie des Netzwerkes, sie müssen diese
selbst erkunden
·
keine zentralen Instanzen zum Speichern von Routinginformationen
·
Mobilität der Knoten und damit verbundener ständiger Topologiewechsel
·
Wechselnde Metrik der Übertragungsstecken z.B. durch Interferenzen
·
Beschränkte Ressourcen der Knoten (z.B. Systemleistung, Energieverbrauch)
In MANets werden überdies die Routingprotokolle in weitere Unterteilungsmöglichkeit
gegliedert. Während positionsbasierte und topologiebasierende Routingverfahren die Frage
nach dem Standort der einzelnen Knoten stellen, beschäftigt sich proaktive, reaktive und
hybriden Routingverfahren mit dem Zeitpunkt an der die Routen bestimmt werden.
Die positionsbasierten Routingverfahren verwenden geographische Informationen über die
einzelnen Knoten im Netzwerk. Jene können zum Beispiel dynamisch durch
positionbestimmende Satellitensysteme wie GPS oder Galileo geliefert werden. Die daraus
gewonnen Informationen dienen der Bestimmung der optimalen Routen zwischen den
Knoten. Die topologiebasierenden Routingverfahren haben keine Kenntnis über die jeweilige
Position der Knoten. Lediglich Informationen über die von den verschiedenen Knoten zu
erreichenden Nachbarknoten werden gesammelt. Sowohl proaktives, reaktives und hybrides
Routing gehört zu den topologiebasierten Routingverfahren.
12
Proaktive Routingprotokolle bestimmen kontinuierlich die optimalen Routen für die
Datenpakete, so dass bei einer Datenübertragung die Pakete sofort verschickt werden können.
Diesen Vorteil erkaufen sich jedoch proaktive Protokolle durch einen großen Overhead,
welcher kontinuierlich durch das ständige versenden von Kontrollpaketen erzeugt wird.
Im Gegensatz dazu bestimmen reaktive Routingprotokolle erst bei einem konkreten
Übertragungswunsch eines Knoten die optimale Route. Dies führt zu einer gewissen
Verzögerung der Übertragung da zunächst ein Broadcast ins Netz gesendet wird. Somit fällt
der Overhead an Kontrollpaketen geringer aus und konzentriert sich auf einen Zeitpunkt kurz
vor der wirklichen Datenübermittlung.
Hybride Verfahren kombinieren das proaktive und das reaktive Routing um somit die Vorteile
der beiden zu vereinen, ohne dessen Nachteile zu übernehmen. So werden nahe Knoten
mittels proaktiven Routing ständig kontaktiert und in eine feste Tabelle geschrieben, während
die beste Verbindung für ferne Knoten nur bei Bedarf mit Hilfe des reaktiven Routing
bestimmt wird. [FF1]
Ad-Hoc Modus nach IEEE 802.11
Abbildung 3 Multihop am Bespiel OLSR [OL1]
13
Selbstverständlich kann in funkgestützten Mesh Netzwerken auch nur der Ad-Hoc Modus
nach IEEE 802.11 eingesetzt werden. Jedoch fehlt dann in dem entstehenden Netz jegliche
Routing Funktionalität. So sind Knoten die in dem normalen Ad-Hoc Modus arbeiten nur in
der Lage mit Stationen in Übertragungsreichweite zu kommunizieren. In diesem Modus
können Knoten die außerhalb in ihre gegenseitigen Sende- und Empfangsreichweite liegen
nicht einen gemeinsamen Nachbarknoten als Relais benutzen. Ein Mesh Netzwerk entsteht
somit nur innerhalb der Übertragungsreichweite aller Knoten. Aus diesem Grund bedarf es in
modernen Mesh Netzwerken, welche sich teilweise über ganzen Metropolen erstrecken, an
Routing Protokollen die in der Lage sind Informationen über eine beliebe Anzahl von Knoten
zu übertragen. Diese auf Abbildung 3 dargestellte Funktionalität wird als multihop bezeichnet
und wird unter anderem durch das Routing Protokoll OLSR bereitgestellt. [LDP]
2.2 OLSR
Der Abschnitt OLSR beschreibt zunächst das Protokoll Link State Routing. Daraufhin werden
die Optimierungen für Funknetzwerke vorgestellt.
2.2.1 Link State Routing
Bei den verteilten proaktiven adaptiven Routing Protokollen existieren 2 große Klassen von
Protokollen. Dies ist zum einem das Distanz Vektor Routing, bei welchem jeder Knoten
Distanz Tabellen hält und diese mit seinen Nachbarn abgleicht. Die andere große Klasse
umfasst die Protokolle die auf dem Link State Algorithmus aufsetzen. Dieser basiert auf dem
Algorithmus von Dijkstra und zeichnet sich durch eine topologische Netzwerkkarte aus,
welcher von jedem Knoten gehalten wird. In diesem als Matrizen gespeicherten Karten sind
nicht nur die Knoten des Netzwerkes eingetragen, sondern auch die Gewichtung der Kanten.
Bei diesem als Metrik bezeichneten Wert kann es sich um unterschiedliche Bewertungen wie
etwa die Wegstrecke oder die benötigte Übertragungszeit der jeweiligen Kante handeln.
Wird das Netzwerk mit LSR zum ersten Mal aktiviert, so besitzt jeder Knoten nur
Informationen über seine direkten Nachbarn. Der Aufbau der LSR Matrizen erfolgt nun durch
14
den Versand von ,,Hello" und ,,Update" Paketen. Mit Hilfe der ,,Hello" Pakete informiert ein
Knoten alle anderen Knoten im Netz mittels Fluten über die eigenen Verbindungen. Zudem
fordert er durch diese eine möglichst vollständige LSR Matrix an. Die Update Pakete werden
von einem Knoten ebenfalls mit Fluten versendet. Dies ist der Fall wenn ein Knoten eine
Änderung festgestellt hat. Beide Pakete sorgen in der Regel für eine Änderung der LSR
Matrizen, so dass diese erneut an alle Knoten verteilt werden müssen. Die ,,Hello" Pakete
werden ständig versendet um den Ausfall eines Knoten rechtzeitig zu entdecken. Diese sorgen
somit für einen kontinuierlichen Overhead im Netzwerk. [TTR] [GAE]
Algorithmus von Dijkstra
Der Algorithmus von Dijkstra dient zur Berechnung der kürzesten Wege von einem
Startknoten zu allen anderen Knoten in einem kantengewichteten ungerichteten Graphen. Die
grundsätzliche Arbeitsweise dieses Algorithmus lässt sich anhand einer Abfolge von
Anweisungen gut verdeutlichen. Diese wurden in einer fiktiven Geschichte durch den Kaiser
von China ausgegeben und sollen der Erfassung der kürzesten Route durch sein Reich dienen.
1. Es sollen sich in der Stadt, in der der Kaiser wohnt, so viele Leute, wie es Wege aus
der Stadt raus gibt, freiwillig melden, die sich guter Gesundheit erfreuen und einen
Zeitmesser besitzen. Allen Teilnehmern wird ein Blatt Papier verteilt, auf dem als
einzige Zeile der Name der Hauptstadt zu lesen war.
2. Diese Leute sollen sich alle zur gleichen Zeit vom Mittelpunkt der Stadt aus auf den
Weg machen, jeder in eine andere Richtung, hinaus aus der Stadt.
3. Wenn einer dieser Leute in der nächsten Stadt ankommt, so solle er sich die Zeit
merken, die er für den ganzen Weg brauchte. Daraufhin meldet er sich beim
Stadtverwalter.
4. Wenn der Ankommende der erste war, der mit diesem Auftrag vom Kaiser kam, so
bittet er den Stadtverwalter, so schnell wie möglich wiederum so viele Leute
aufzutreiben, wie es Wege aus der Stadt gibt. Sodann sollen diese Leute das gleiche
machen, wie ab Punkt 2, wobei jeder von ihnen eine Kopie der Liste bekommt, die der
Ankommende mitgebracht hat, und bei dem zuunterst der Name der Stadt hinzugefügt
wurde. Der Ankommende selbst solle sich zwei Lotusbier gönnen und sich auf den
15
Weg in die Hauptstadt machen, um dem Kaiser von seiner Reisezeit und dem Weg,
den die Liste beschreibt zu berichten.
5. Wenn der Stadtverwalter dem Ankommenden berichten kann, dass vor ihm bereits
jemand mit dem gleichen Auftrag da war, so soll er sich ein Lotusbier gönnen und sich
nach Hause begeben, sein Auftrag ist hiermit erledigt.
Das genaue Vorgehen soll nun anhand von Abbildung 2 gezeigt werden. Der Einfachheit
halber werden längere Pfade während der Bestimmung entfernt. Zunähst ist bei a) der
Ausgangsgraphen mit seinen nummerierten Knoten, Pfaden und deren Gewichtungen zu
sehen.
Abbildung 4 - Suche nach dem kürzesten Pfad nach Dijkstra
Im nächsten Schritt b) wurde als erstes der Ausgangsknoten und der Zielknoten grün markiert.
Der Ausgangsknoten wird als permanent gesetzt und erhält zudem die Gewichtung 0, da
16
dieser ohne zurücklegen einer Strecke zu erreichen ist. Nun werden alle Knoten die mit dem
Ausgangsknoten 0 verbunden sind als Arbeitsknoten definiert, was durch die blaue
Markierung gezeigt werden soll. Zudem erhalten diese Knoten die Gewichtung des Pfades der
sie mit dem Ausgangsknoten verbindet. In unserem Fall sind das die Knoten 1 und 2, welche
die Gewichtungen 3 und 5 erhalten. Alle restlichen Knoten erhalten als Gewichtung den Wert
unendlich. (englisch: ,,infinity" - durch ,,inf" abgekürzt)
Bei dem Graph c) wurde Knoten 1 als permanenten gewählt da dieser mit 3 die geringste
Gewichtung aller direkt mit Ausgangsknoten 0 verbunden Knoten hat. Knoten 2 wurde
infolgedessen aktualisiert, da er über Knoten 1 mit einer kürzen Stecke erreicht werden kann.
Die alte Verbindung wird entfernt und er erhält die Gewichtung 4 (3+1). Knoten 3 und 4
werden zu Arbeitsknoten und bekommen als Gewichtung die Strecke zu Knoten 1 addiert und
die Gewichtung von Knoten 1 zugewiesen.
In Graph d) wurde zunächst Knoten 2 als permanent markiert, da er nach Knoten 1 der
Knoten ist, der dem Anfangsknoten am nächsten liegt. Da über Knoten 2 die Knoten 3 und 4
schneller erreicht werden können, wurden die alten Verbindungen eliminiert und die Knoten
mit ihren neuen Gewichtungen beschriftet. Aufgrund der kleineren Gewichtung gegenüber
Knoten 4 wurde dann Knoten 3 als permanent markiert. Da der Algorithmus somit am
Zielknoten angekommen ist, terminiert er ordnungsgemäß. Die kürzeste Route von Knoten 1
zu Knoten 3 führt über die Knoten 1 und 2 und hat die Länge 6. [TUM] [BRM]
2.2.2 Optimierungen für Funknetze
Die Gründe für die Verwendung von unterschiedlichen Routingprotokollen in kabelgebunden
und kabellosen Mesh Netzwerken wurden bereits verdeutlicht. Eines der bekanntesten
Routing Protokolle für funkgestützte Mesh Netzwerke ist Optimized Link State Routing
(OLSR). OLSR, das grundsätzlich auf LSR basiert, kommt aus dem akademischen Bereich
und wurde erstmalig von Andreas Tønnesen im Rahmen seiner Master Arbeit implementiert.
Wie der Name bereits suggeriert handelt es sich um das Link State Routing Protokoll, welches
einigen Optimierung unterworfen wurde um seine Eignung für Funknetze zu erhöhen. [OL2]
17
Routenbestimmung
Das regelmäßige Fluten des gesamten Netzwerkes durch alle Knoten, wie es von LSR
praktiziert wird, stellt für ein Funknetz eine übermäßige Belastung dar. Aus diesem Grund
wird bei OLSR nur durch die Multi Point Relays(MPRs) geflutet. Außerdem sind MPRs die
einzigen Knoten die Pakete weiterleiten dürfen. Die Auswahl der MPRs geschieht nicht
zentral durch einen Knoten, sondern wird von jeden Knoten selbst durchgeführt. Die Summe
der von allen Knoten gewählten MPRs bestimmt die Gesamtmenge der in einem Netz
vorhanden MPRs. Die Auswahl geschieht anhand folgender Bedingung: ,,Alle Nachbarn
zweiter Ordnung müssen erreicht werden können". Daraufhin werden so viele Nachbarknoten
als MPR gewählt, bis dieses Ziel erreicht ist. Bevorzugt werden hier Knoten die möglichst
viele der zwei Hops entfernten Knoten erreichen können. Doch ein Auswahlkriterium genießt
noch höhere Priorität bei der MPR Bestimmung: Der Willingness Faktor des Knoten. Er
bestimmt die Bereitschaft eines Knotens die ankommenden Daten weiterzuleiten. Eingeführt
wurde er um zum Beispiel einem Knoten mit autarker Stromversorgung bei Energieengpässen
die Möglichkeit zu bieten seine Netzlast und somit seinen Verbrauch zu senken.
Abbildung 5 - Unterschiedliches Fluten [OL1]
In Abbildung 5 ist sowohl normales Fluten, als auch MPR Fluten bei einem für diese Zwecke
optimalen Netz zu sehen. Während das normale Fluten 24 Weiterleitungen braucht um das
gesamte Netz zu erreichen, kommt das MPR Fluten mit nur 11 Weiterleitungen aus.
18
Das Wissen über Netzwerktopologie entsteht anhand der Nachrichten die die MPRs mit
einander austauschen. Daraufhin informiert jeder MPR seine Unterknoten mit der Hilfe von
Topology Control (TC) Nachrichten über die gewonnen Erkenntnisse, so das jeder Knoten
über ein und dieselbe Topology Table verfügt. [KNI] [CT1]
Leitungsbewertung mit Hysterese und ETX
Die von LSR als Metrik oft verwendeten Übertragungsdauern sind nur in kabelgebunden
Netzwerken sinnvoll. So ist es in Funknetzen wichtiger eine Route zu finden auf der die
Daten mit hoher Wahrscheinlichkeit ihr Ziel erreichen, als eine Route auf der sie das sehr
wahrscheinlich nicht tun, auch wenn die Datenpakte dafür im Mittel schneller am Ziel sind.
Denn durch die häufigen Wiederholungen von Übertragungen ist die vermeintlich langsamere
Route mit der geringen Paketverlust unterm Strich oft schneller als die schnelle und instabile
Verbindung.
Aus diesem Grund verwendet OLSR in seiner ursprünglichen Form eine Leitungsauswahl in
Verbindung mit einer Hysterese. Eine Hysterese beschreibt für gewöhnlich den Wechsel
zwischen zwei Zuständen. Dieser findet nicht an einem festen Punkt, sondern an zwei
unterschiedlichen Punkten statt. An welchem der beiden Punkte ein Zustandswechsel passiert
hängt alleine von dem vorherigen Zustand ab. Bei OLSR wurde ursprünglich nur darüber
entschieden ob eine Route verwendet wird. Somit hat jede Verbindung die Metrik 1 oder 0.
Hatte eine Metrik den Wert 1, so musste erst die untere Grenze, welche standardmäßig den
Wert 0,3 hat, unterschritten werden um auf die Metrik 0 zu wechseln und somit die Route und
vielleicht auch den Knoten zu verwerfen. Erst nach übersteigen der oberen Grenze, die
standardmäßig bei 0,7 liegt, erhält die Route wieder die Metrik 1 und wird erneut verwendet.
Die Berechnung dieser Werte führt jeder Knoten selbstständig durch und hängt von der
Anzahl der verlorenen Pakete ab. Zunächst muss anhand einer Variablen die Sensibilität das
System auf Paketverlust definiert werden. Da diese Variable zum skalieren verwendet wird,
reagiert das System mit der gleichen Intensität auf verloren und auf erhaltenen Pakete. Stellt
ein Knoten anhand der Sequenznummer der erhaltenen Pakete ein Verlust fest, so verringert
er seine Metrik anhand des vorher definierten Werts. Im Gegenzug erhöht sich bei erhalten
Paketen die Metrik.
19
Abbildung 6 - Hysterese bei OLSR [OL1]
Was in der Theorie und im Netzwerksimulator gut funktionierte erwies sich in der Praxis als
extrem problematisch. Wurde die Variable zur Bestimmung der Empfindlichkeit zu groß
gewählt, so konnten nur wenige verloren Pakete für den Ausfall eine ansonsten stabilen
Knoten sorgen. Wurde der Wert zu klein gewählt, so konnte es zu lange dauern bis ein
Knoten wieder akzeptiert und in das Netz eingebunden wurde. Besonders große Probleme
bereitet der Wegfall von Knoten die als MPR fungierten. Dadurch brachen oft nicht nur ganze
Teile des Netzes weg, sondern es mussten oft neue MPRs bestimmt werden.
Abweichend von RFC 3636 entschieden sich die Berliner Betreiber des Freifunk Netzwerks
an Stelle von Hysterese den am Massachusetts Institute of Technology entwickelten Expected
Transmission Count(ETX) zur Bestimmung der Leitungsqualität zu verwenden. Dieser Wert
gibt für jede Verbindung die zu erwartende Anzahl der Übertragung an um ein Paket
fehlerfrei zu übertragen. Im Idealfall liegt dieser Wert bei 1 und im schlechtesten Fall bei
unendlich. Für jede einzelne Verbindung berechnen beide Endknoten zusammen ein ETX
Wert der dann als Metrik für diese Kante dient. So lässt sich problemlos der ETX Wert einer
Route berechnen, da nur die ETX Werte der einzelnen Teilverbindungen miteinander addiert
werden müssen. Die genaue Berechnung findet anhand der Link Quality (LQ) und der LQ des
Knoten am anderen Ende der Verbindung, welche beim jeweiligen anderen Knoten als
20
Neighbor Link Quality (NLQ) bezeichnet wird, statt. So wird der ETX Wert folgendermaßen
berechnet[COR] [CT1] :
NLQ
LQ
ETX
*
1
=
2.3 Freifunk
Der erste Bereich dieses Abschnittes beschreibt zunächst das Freifunk Projekt. Anschließend
dran wird das Pico Peering Agrement vorgestellt. Im drauf folgenden Abschnitt wird
daraufhin die aktuelle Rechtslage der Freifunk Netzwerke beleuchtet. Zum Abschluss dieses
Abschnitts findet eine umfassende Betrachtung der Freifunk Knoten statt.
2.3.1 Das Projekt
Im Herbst 2002 startete freifunk.net und die ersten Ideen für ein freies Netzwerk entstanden.
Jedoch erwiesen sich die damaligen Meshing Protokolle als zu instabil und die nötige
Hardware als zu teuer. Dies änderte sich erst im Jahr 2004 als Andreas Tønnesen im Vorfeld
der Wizards of Open Source (WOS) 2004 seine OLSR Implementierung vorstellte. Ab Herbst
2004 wurde in Berlin mit der Hilfe von softwareseitig manipulierten Linksys WRT54G
Routern die ersten preiswerten Knoten in den Betreib genommen. Von Berlin aus erreichte
das Freifunk Projekt in den folgenden beiden Jahren weitere Städte und Dörfer in
Deutschland. Aber auch in Europa entstanden auf der Basis von Freifunk Projekte zum
Aufbau von freien vermaschten Netzen. [CT1] [FF5]
2.3.2 Pico Peering Agreement
Im April 2000 arbeiten die beiden Londoner Projekte ,,consume" und ,,free2air" unabhängig
voneinander an der Einrichtung von freien Netzen. In den Workshops, wurden
Vereinbarungen getroffen und Regeln aufgestellt, die die Kommunikation untereinander
21
regeln sollte. Diese Ideen und Vereinbarungen wurden als Pico Peering Agreement
festgehalten. Inzwischen wurde die ursprüngliche Version mehrfach überarbeit und gekürzt.
Die aktuelle Version, welche von so wie allen freien Funkprojekten anerkannt wird, laut wie
folgt:
1. Freier Transit
·
Der Eigentümer bestätigt, freien Transit über seine freie Netzwerkinfrastruktur
anzubieten
·
Der Eigentümer bestätigt, die Daten, die seine freie Netzwerkinfrastruktur passieren,
weder störend zu beeinträchtigen noch zu verändern.
2. Offene Kommunikation
·
Der Eigentümer erklärt, alle Informationen zu veröffentlichen, die für die Verbindung
mit seiner Netzwerkinfrastruktur notwendig sind.
·
Diese Information soll (muss?) unter einer freien Lizenz (free licence) veröffentlicht
werden.
·
Der Eigentümer erklärt, erreichbar zu sein und wird dazu wenigstens eine E-Mail-
Adresse bekannt geben.
3. Keine Garantie (Haftungsausschluss)
·
Es wird keinerlei garantierter Dienst (Betrieb, Service) vereinbart. (Es gibt keine
Garantie für die Verfügbarkeit / Qualität des Dienstes.)
·
Der Dienst (Betrieb, Service) wird ohne Gewähr bereitgestellt, ohne Garantie oder
Verpflichtung jedweder Art.
·
Der Dienst (Betrieb, Service) kann jeder Zeit ohne weitere Erklärung beschränkt oder
eingestellt werden.
22
4. Nutzungsbestimmungen
·
Der Eigentümer ist berechtigt, eine akzeptierbare Benutzungsrichtlinie (use policiy) zu
formulieren.
·
Diese kann Informationen über zusätzlich (neben den grundsätzlich) angebotene
Dienste enthalten.
·
Dem Eigentümer steht es frei, die Richtlinie selber zu formulieren, so lange diese nicht
den Punkten 1 bis 3 dieser Vereinbarung widersprechen (siehe Punkt 5).
5. Lokale (individuelle) Zusätze
·
Hier können vom Eigentümer selbst Ergänzungen zur Vertragsvereinbarung
vorgenommen werden. [MEA]
2.3.3 Rechtslage
Relativ unklar ist die Haftungsfrage im Falle von Missbrauch eines vom Freifunk
Gemeinschaft bereitgestellten Internetverbindung. So ist aus der Sicht der Organisatoren von
Freifunk Berlin nur der ,,Täter" haftbar zu machen. Nach ihrer Ansicht tritt der Betreiber eines
betroffenen Knotens mit Verbindung ins Internet selbst nur als Provider auf und diese sind
nicht für die Daten verantwortlich die sie übermitteln. Die Berliner Freifunker stützen sich
dabei auf das 1998 überarbeitet Informations- und Kommunikationsdienste- Gesetz. In diesem
finden sich zu diesem Thema die Paragraphen 6 TDG und 7 MDStV in denen es wortgleich
heißt: "Diensteanbieter sind für fremde Informationen, die sie in einem Kommunikationsnetz
übermitteln oder zu denen sie den Zugang zur Nutzung vermitteln, nicht verantwortlich
[sofern sie die Übermittlung nicht selbst veranlasst haben usw]".
Bis vor kurzem existieren keine Fälle die zeigen ob auch die Judikative und Exekutive in
Deutschland diese Sichtweise vertritt. Im September diesen Jahres wurde das Urteil eines
0 comments