Artikel zur Optimierung des Netzwerkes bei weit entfernten Knoten.
Contents
- Was eine gute Verbindung ausmacht
-
2,4GHz Ad-hoc
- Einstellung der Ad-hoc-Knoten
- Senderaten
- RTS aktivieren
- Downloadrate begrenzen
- Schneller surfen: Uplinkkapazität und Airtime sparen mit Opera Turbo
- Firmware aktualisieren
- Router mit verschiedenen Kanälen nicht zu nahe aneinander betreiben
- Sendeleistung reduzieren, dafür eine bessere Antenne verwenden
- 5Bone
- Benötigte Standorte
Was eine gute Verbindung ausmacht
Rein Physikalisch
- Konstanz: Gleichbleibende Qualität
- wenig Jitter (Latenzschwankungen)
- wenig Latenz (Ping)
- eine brauchbare Netto-Bandbreite
Inhalt
- Keine Zensur – etwa durch Deep Packet Inspection (DPI) mit Filterung, Inhaltsfilter oder blocken von IPs/Domains oder kommerziell motiviertes QoS (Stichwort Netzneutralität)
- Keine gesperrten Ports etc.
2,4GHz Ad-hoc
Einstellung der Ad-hoc-Knoten
Entfernung (Meter): Das doppelte der tatsächlichen Entfernung zur Gegenstation. Hat etwas mit Latenz zu tun.
Beacon-Intervall: 100 ms ist Standard, kann aber auch auf ca. 1000 bis 2000 ms erhöht werden → spart Airtime, generiert weniger Rauschen. Beacons geben die unterstützten Raten und die [EB]SSID bekannt und werden bei 802.11g mit der Rate 1Mbit/s (BPSK über DSSS) gesendet. Nachteil ist, dass man seltener einfach so eine FunkFeuer-ESSID aufschnappen wird und damit der Werbeeffekt geschmälert wird.
Funk-Modus: Ausschließlich G-Modus
Basisrate: Rate je nach WLAN-Modus
Übertragungsrate: 6 Megabit/s (BPSK über OFDM) oder 12 Megabit/s (QPSK über OFDM) → Je nachdem, was besser geht. Wenn es der Signal-/Rauschabstand zulässt, dann besser 12.
Wenn BPSK und QPSK die gleiche Bitfehlerhäufigkeit haben, dann ist QPSK wegen der höheren Effizienz sogar besser (mag paradox klingen, dass eine höhere Übertragungsrate und bestimmten Bedingungen robuster ist, ist aber so: Wenn man Pulsstörungen hat, die wie Regentropfen daherkommen sollte das Ergebnis z.B. besser sein, weil wenn man schneller durch den Regen rennt wird man auch weniger nass [Achtung: Der Vergleich hinkt leicht]) Siehe: Link1, Link2 QPSK hat einen höheren Merit factor als BPSK (was das sein soll kann im Folgenden nachgelesen werden): High efficiency modulation scheme for mobile radio and satellite systems: the case of 3PSK, braucht aber auf jeden Fall einen größeren Signal-/Rauschabstand.
→ 12 Mbit/s spart natürlich auch Airtime gegenüber 6 Mbit/s, weil es in der gleichen Zeit die doppelt Anzahl an Bits durchdrückt (2 pro Zeichen statt nur einem) → es bleibt auch mehr Zeit für Korrekturen, weil theoretisch alles doppelt übertragen werden kann und sich immer noch die gleiche Bandbreite wie bei 6Mbit ergibt.
Und wie weiß ich, ob 6 Mbit/s oder 12 Mbit/s?
Am leichtesten findet man das heraus, indem man netperf auf beiden Knoten installiert und ein paar mal misst. Wenn die gemessene Netto-Bandbreite bei 12 Mbit/s deutlich merkbar höher ist, dann spricht das für 12 Mbit/s. Sollte sie mit 12 Mbit/s sogar geringer sein, dann ist die Bitfehlerhäufigkeit einfach zu groß und 6 Mbit/s ist die bessere Wahl. Natürlich ist die Reichweite bei 12 Mbit/s geringer, also muss man auch in dieser Hinsicht überlegen, was man will.
Und wenn das nicht geht?
Wenn es garnicht anders geht, dann 5.5 Megabit/s (CCK mit DQPSK über DSSS) oder auto. Ein Knoten, der nur mit 1 Mbit/s läuft sollte generell überarbeitet werde (überprüfen ob die Antenne und die anderen Einstellungen etc. passen), da so nur wenig brauchbar.
Und wieso keine höheren Raten?
Die Raten ab 24 Mbit/s verwenden eine Kombination aus Phasen- und Amplitudenmodulation. Amplitudenmodulation ist sehr empfindlich gegenüber Schwankungen der Siganlstärke, was bei Phasenmodulation alleine nicht so ist. Wenn jetzt eine Störung die Signalstärke beeinflusst (Stichwort Mikrowelle, Wetterradar etc.) würde die Verbindung ausfallen, der Router kann nämlich wegen der fixen Rateneinstellung nicht auf robustere Raten umschalten. Jedoch funktionieren die höheren Raten in unserem Ad-hoc Netz sowieso nicht gut, weil 2,4 GHz und damit wenig geeignet für empfindliche Modulationen (dieser Standard war ohnehin nur für Anwedungen in Innenräumen gedacht).
Multicast-Rate: 6 Megabit/s
Frag.-Schwelle: 256 → große Pakete werden zerteilt, sodass bei einem Verlust nicht das ganze Paket neu übertragen werden muss (bis zu 1500 Byte, weil MTU=1500) sondern nur das verlorene Fragment (256 Byte). Senkt zwar die Netto-Bandbreite, macht die Verbindung aber merkbar reaktionsfreudiger, da zwischen zwei Fragmenten auch andere Pakete oder Teile davon gesendet werde können.
RTS-Schwelle: 1 → Wenn man RTS auf 1 Byte setzt, wird vor jedem Paket eine Sendeerlaubnis abgewartet. Das verhindert, dass zwei Knoten, die sich nicht hören können aber die gleiche Gegenstation haben gleichzeitig senden und einander durch Paketkollisionen ausbremsen, sodass dann unter Umständen garnichts mehr geht. Sobald sich nicht alle am Teilnetz (also gleicher Kanal) beteiligten Knoten gut gegenseitig hören sollte RTS unbedingt aktiviert werden (also sobald 3 Knoten am gleichen Kanal senden).
Die Absenkung der Netto-Bandbreite bei maximalem RTS+minimaler Fragmentierungsschwelle fällt bei fixer Rate weitaus geringer aus als bei automatischer. Mit fixer Rate von 6Mbit/s hat sich bei einer sehr langen Versuchsstrecke ein Upload von 1,78Mbit/s gegenüber einem von etwa 0,5Mbit/s mit Autoeinstellung ergeben. Bei der selben Strecke ergab eine Rate von 12 Mbit/s eine Nettorate von 2,5 Mbit/s. Bei einer Kürzeren Strecke (570m) wurde eine Nettorate von weit über 4 Mbit/s symmetrisch gemessen, das liegt nahe am praktischen Limit von 1/2 der nominalen Rate.
Pakete die nicht fehlen sollten:
- horst
- freifunk-netperf-de
- freifunk-statistics-de
Senderaten
5.5Mbit vs. 6Mbit
1 gespreizter Träger vs. 52 schmale Träger
kurze Symboldauer vs. lange Symboldauer
QPSK mit CCK vs. BPSK
Es wird somit bei beiden Raten ausschließlich Phasenmodulation verwendet. Wie mit schmalbandigen Störungen umgegangen wird, ist ein wesentlicher Unterschied. Während bei 5.5Mbit ein einziger Träger auf einen relativ großen Frequenzbereich aufgespreizt wird (22MHz breit) und Störungen so geschluckt werden, ist die Methode bei 6Mbit diese, dass man 52 Träger zu je 0,3125MHz hat und die gestörten Träger einfach ausgeblendet werden.
Bild: Ausgleich schmalbandiger Störungen durch Spreizung
Es gibt keine Universallösung, je nach Art der Störung kann das Gesamtergebnis entweder mit 5.5Mbit oder 6Mbit besser sein. OFDM ist prinzipell anfälliger für Störungen durch Mehrwegeausbreitung, jedoch wird das in Kombination mit MIMO (802.11n) sogar zu einem Vorteil. Auch höhere Relativgeschwindigkeiten (mehr als 20 km/h) sind ein Problem, da man sich bei 802.11 OFDM für eine recht kurze Symboldauer entschieden hat (bei LTE, das auch mit OFDM arbeitet, sind es 300 km/h). Auf jeden Fall ist OFDM die modernere Technologie und vom Konzept her älteren Ansätzen bei weitem überlegen.
zu OFDM: Multi Carrier Modulation and OFDM
CCK
über CCK: Complementary Code Keying Made Simple
Predicting the Performance of M-ary Codes in an Unknown Multipath Environment
Der größte Feind der Phasenmodulation ist die Phasenverschiebung z.B. durch Laufzeitdifferenz (multi-path evironment). CCK ist eine Lösung für dieses Problem im Bereich der digitalen Anwendungen, das sowohl bei Einzelträgerverfahren wie DSSS und Mehrträgerverfahren wie OFDM zu Anwendung kommt.
Einigen dürfte dieses Problem aus der Zeit des analogen Farbfernsehens bekannt sein. Sowohl bei NTSC als auch bei PAL wurde die Farbinformation mit Phasenmodulation übertragen. Beim älteren NTSC war es so, dass kein automatischer Korrekturmechnismus für Phasenverschiebung verhanden war, wodurch NTSC für Funk ziemlich ungeeignet war. Bei Gewittern z.B. verschoben sich die Farben und das Bild bekam z.B. einen Rotstich wenn es gerade zu einer Entladung durch einen Blitz gekommen war. PAL steht für Phase Alternating Line, d.h. es wurde nach jeder Bildzeile die Phasenlage um 180° gedreht, dadurch ließ sich die Phasenverschiebung sehr leicht korrigieren, ein Farbregelknopf wie bei NTSC war nicht notwendig. Später dann hat man das Problem bei NTSC so gelöst, dass man eine Zeile mit Referenzfarben mitübertragen hat mit denen das Bild dann einigermaßen auf Originalzustand zurückgerechnet werden konnte, es wurde also auf einer höheren ebene angesetzt. Optimal war diese Lösung nicht.
RTS aktivieren
RTS (Ready to Send)
WLAN war ursprünglich ausschließlich für die kleinräumige Verwendung gedacht und zwar so, dass sich alle Teilnehmer eines Netzes gegenseitig hören. Damit kann verhindert werden, dass zwei Geräte gleichzeitig senden und sich damit stören.
Dies ist nicht immer des Fall, so wie eben auch bei FunkFeuer, wo wegen Richtfunk und oft mehreren km Entfernung ein gegeseitiges Hören nicht möglich ist. Deshalb gibt es den RTS/CTS-Mechanismus, bei dem vor dem Senden eines Paketes eine sehr kurze Anfrage (20 Oktetts=Bytes) an die Gegenstation geschickt und das eigentliche Paket erst nach dem Erhalt der Antwort (CTS - Clear to Send, ebenfalls 20 Oktetts) gesendet wird.
Man aktiviert diesen Mechanismus in der Firmware, indem man ein Paketgröße angibt, ab der RTS gemacht werden muss. Wenn man z.B. 1 eingibt, wird bei Pakten ab 1 Oktett=Byte Länge diese Anfrage gesendet (also immer). Da die MTU (Maximale Übertragungseinheit) in unserem Netz 1500 Byte ist (+18 Byte Header) ist RTS faktisch deaktiviert, sobald man einen Wert größer als 1518 eingibt.
Zu extremen Paketverlusten kommt es in unserem Netz häufig, wenn jemand saugt und RTS nicht aktiviert hat. Dies ist sehr unkollegial gegenüber den anderen Benutzern.
Downloadrate begrenzen
Wer über FunkFeuer eine große Datei herunterlädt, sollte unbedingt die Downloadgeschwindigkeit begrenzen. Wenn man die Bandbreite einer Funkverbindung mit unserem Routingprotokoll OLSR vollkommen ausreizt, bricht die Verbindung zusammen. Das soll unbedingt vermieden werden. Bei diversen Downloadmanagern kann man z.B. die Downloadrate manuell festlegen. Dies gilt insbesondere für Torrents, die sich bei der Verteilung von Open Source Software sehr großer beliebtheit erfreuen.
Schneller surfen: Uplinkkapazität und Airtime sparen mit Opera Turbo
Der Browser Opera stellt ein Proxysystem zur Verfügung, bei dem unverschlüsstelte Webseiteninhalte über Server von Opera geschickt und vorkomprimiert werden. Texte werden gezippt, Bilder mit einer reduzierten Qualität gesendet. Um die Bilder in Originalqualität zu erhalten – z.B. um sie zu drucken, klickt man sie mit der rechten Maustaste an und wählt aus dem erschienenen Menü "Bild in voller Qualität neu Laden".
Die Datemmenge beim reinen Browsen im Web wird dabei realistischerweise um ca. 2/3 reduziert (meistens zwischen 50 und 80 %). Dies ist insbesondere für jene ein heißer Tipp, deren Funkverbindung bis zum Uplink unangenehm langsam ist – man muss nur mehr 1/3 der Zeit warten, bis eine Seite geladen ist.
Einschalten lässt sich diese Funktion über das Tachometer-Symbol um unteren Rand des Opera-Fensters. Dort klickt man drauf und dann auf "Opera Turbo konfigurieren…". Man hat die wahl zwischen "Automatisch", "Ein" und "Aus". "Ein" bewirkt eine dauerhafte Verwendung dieser Funktion.
Firmware aktualisieren
Es sollten möglichst bald die Aktuellen Versionen 1.6.37 bzw. 1.7.4 aufgespielt werden, da in der Tat noch sehr alte Versionen verwendet werden (sogar 1.4.5) und zwar die FFGRAZ-Version, da dies ein wesentlich einheitlicheres Bild ergibt. Zu beachten ist auch, dass einige Dinge mit 1.7.4 noch nicht funktionieren und daher 1.6.37 oft noch die bessere Wahl ist.
Direkter Download:
http://download-master.berlin.freifunk.net/ipkg/attic/_trx/openwrt-freifunk-1.6.37-ffgraz.trx
http://download-master.berlin.freifunk.net/ipkg/_trx/openwrt-freifunk-1.7.4-ffgraz.trx
Router mit verschiedenen Kanälen nicht zu nahe aneinander betreiben
Dieser Ratschlag mag paradox klingen, weil man vermutlich davon ausgeht, dass sich zwei Kanäle mit 20MHz Abstand nicht stören. Das stimmt aber nur, wenn die Router so weit voneinder entfernt sind, dass die Ausläufer der Modulation im allgemeinen Rauschen untergehen. Diese sind nämllich so breit, dass sie sich über das gesamt 2,4 GHz Band erstrecken und es genaugenommen überhaupt keine Überlappungsfreien Kanäle gibt, wenn man nicht einen Mindesabstand einhält.
Betreibt man jedoch zwei Router im gleichen Netz (gleiche BSSID, bei uns heißt das automatisch auch am gleichen Kanal), dann ist der Mindestabstand eher vernachlässigbar, da sie gegenseitig lauschen ob der andere sendet und – insbesondere wenn RTS aktiviert ist – nicht gleichzeitig senden.
Eine gute Veranschaulichung mit realen Messungen: http://bridgingthelayers.org/channel_overlap.html
Bei diesem Link sieht man auch gut, dass OFDM wesentlich sauberer ist.
Sendeleistung reduzieren, dafür eine bessere Antenne verwenden
Warum: http://www.wavedale.net/202f.htm
Allgemein gilt, dass eine am Router eingestelle höhere Sendeleistung eher schadet als nutzt. Erstens belastet es den Router und er kann davon kaputt werden. Zweitens wird das gesendete Signal schlechter und man verursacht eher mehr Rauschen und Störungen als sonst etwas. Drittens werden Router wie etwa der Linksys WRT54G(L) davon regelrecht schwerhörig, das heißt sie empfangen fast nichts mehr.
Die beste Variante für eine 2,4GHz Punkt-zu-Punkt Verbindung mit einem WRT54GL, ist die Sendeleistung auf das Minimum zu stellen (1 qdBm) und eine Antenne mit bis zu 24 dBi sowie ein möglichst kurzes Antennekabel zu verwenden (Kabel und Stecker verursachen eine Verringerung der Sendeleistung von ca. 3 dB). So kann die innerhalb der gesetzlichen Grenzwerte größtmögliche Reichweite erreicht werden.
5Bone