Kommunikation – Labor Begleithandbuch zu den Versuchen 1-4

Transcription

Kommunikation – Labor Begleithandbuch zu den Versuchen 1-4
Funksysteme- und MobilKommunikation – Labor
Begleithandbuch zu den Versuchen 1-4
Inhalt
1. Grundlagen .......................................................................................................................................... 3
1.1. Vorwort .................................................................................................................................... 3
1.2. IEEE 802.11 Wireless LAN ......................................................................................................... 3
1.2.1 Frequenzen ............................................................................................................................. 4
1.2.2 Übertragungsgeschwindigkeit- Theorie und Praxis................................................................ 4
1.2.3 Access Point und Anmeldung eines Clients ............................................................................ 4
1.2.4 PCF und DCF ........................................................................................................................... 5
1.2.5 IEEE 802.11n ........................................................................................................................... 6
1.3 Ad-Hoc Modus und Drahtlose Maschennetzwerke .................................................................. 8
1.3.1 802.11 Ad-Hoc Mode.............................................................................................................. 8
1.3.2 Drahtlose Maschennetzwerke................................................................................................ 9
1.4. Transportprotokolle ................................................................................................................. 9
1.4.1. TCP ......................................................................................................................................... 9
1.4.2. UDP ...................................................................................................................................... 10
2. Schnelleinführung Linux Shell ........................................................................................................... 11
3. Tools zur Hardware Konfiguration .................................................................................................... 14
3.1. Kontrolle des Interface Status ................................................................................................ 14
3.2. WLAN Interface deaktivieren und neu aufsetzen .................................................................. 15
3.3. Bestehendes Interface konfigurieren ..................................................................................... 16
3.4. WLAN Monitor Mode und Channel Hopping ......................................................................... 16
3.5. Verbindung zu einem Infrastruktur Netzwerk herstellen und beenden ................................ 17
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
1
3.6.Verbindung zu einem Ad-Hoc / Mesh Netzwerk ..................................................................... 17
3.7. WLAN Übertragungsrate einstellen ....................................................................................... 18
4. Tools zur Messung ............................................................................................................................. 18
4.1. Ping ......................................................................................................................................... 18
4.2. Route ...................................................................................................................................... 19
4.3. Traceroute .............................................................................................................................. 19
4.4. Iperf ........................................................................................................................................ 19
4.5. Wireshark ............................................................................................................................... 20
5. Das Optimized Link State Routing Protocol OLSR ............................................................................. 21
6. Anhang............................................................................................................................................... 21
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
2
1. Grundlagen
1.1. Vorwort
Das Labor für Funksysteme- & Mobilkommunikation beschäftigt sich eingehend mit dem WirelessLAN
Standard, welcher durch die IEEE 802.11 Familie beschrieben wird. WLAN ist ein Standard der in den
Schichten 1 und 2 des OSI Modells definiert ist. WLAN erfreut sich großer Beliebtheit aufgrund der
unkomplizierten Anwendung und wird vor allem im Home-Consumer Bereich und im öffentlichen
Leben für die lokale Anbindung durch Hotspots verwendet. Das FSM-Labor beleuchtet die
grundlegenden und wichtigsten Aspekte von WirelessLAN. Eine praktische Auseinandersetzung durch
Messungen steht im Vordergrund und soll dem Studenten ein „Gefühl“ für die Kapazität und
Leistungsgrenzen von WLAN vermitteln. Im vierten Versuch wird zusätzlich eine weniger
gebräuchliche, obschon ebenso effektive Anwendungsform für WLAN aufgezeigt; die drahtlosen
Maschennetzwerke.
Alle Versuche werden unter Linux realisiert. Linux wurde als Basis-Betriebssystem ausgewählt, da
hier vielfältige Konfigurationsmöglichkeiten für die WLAN Schnittstelle eines Rechners zur Verfügung
stehen. Über die Linux Konsole (auch Shell oder Terminal genannt) lassen sich die wichtigsten
Parameter des drahtlosen Interface direkt einstellen. Unabhängig von den Versuchsterminen können
Sie nach Vereinbarung jederzeit die Linux Befehle in unserem TK-Labor an passender Hardware
ausprobieren. Diese Option sollten jene Studenten nutzen, die sich intensiv mit der Konfiguration von
Wireless Hardware unter Linux beschäftigen möchten.
Dieses Handbuch soll die Studenten über das ganze Semester während den FSM-Laborterminen
begleiten. Es dient Ihnen als permanentes, universelles Nachschlagewerk, ohne das die Versuche
nicht durchführbar sind. Das Labor ist so konzipiert, dass die jeweiligen Versuchsunterlagen als
Leitfaden durch den Versuch gelten. Die eigentlichen Aktionen müssen Sie jedoch selbst definieren,
indem Sie sich zielgerichtet die jeweiligen Befehle aus diesem Handbuch heraussuchen. Aspekte die
spezifisch für einen bestimmten Versuch relevant sind finden sich in den entsprechenden
Versuchsunterlagen. Das Handbuch selbst hat einen allgemeingültigen Charakter.
Die Information in diesem Handbuch ist bewusst praktisch aufgeführt, so dass Sie sich leicht
orientieren können. Details zu einzelnen Befehlen und deren Auswirkungen können Sie jederzeit
beim Betreuer erfragen.
1.2. IEEE 802.11 Wireless LAN1
IEEE 802.11 ist eine Gruppe von Standards für ein Funknetzwerk auf Basis von Ethernet. Damit ist
IEEE 802.11 das am weitesten verbreitete drahtlose Netzwerk bzw. Wireless Local Area Network
(WLAN). IEEE 802.11 ist, vereinfacht ausgedrückt, eine Art schnurloses Ethernet. IEEE 802.11
definiert die Bitübertragungsschicht (Anmerkung CK: und Teile der Schicht 2 – Sicherungsschicht) des
OSI-Schichtenmodells für ein Wireless LAN. Dieses Wireless LAN ist, wie jedes andere IEEE-802Netzwerk auch, vollkommen Protokoll-transparent. Drahtlose Netzwerkkarten lassen sich deshalb
ohne Probleme in jedes vorhandene Ethernet einbinden. So ist es ohne Einschränkungen möglich,
eine schnurgebundene Ethernet-Verbindung gegen eine Wireless-LAN-Verbindung nach IEEE 802.11
zu ersetzen.
1
Entnommen aus www.elektronik-kompendium.de
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
3
Der Funknetz-Standard IEEE 802.11 definiert einen gemeinsamen MAC-Layer (Medium Access
Control) für drei spezifische Physical Layer (PHY). Zwei davon sind den Funk-LANs, einer dem
Infrarotnetz zugeordnet. Im Funknetz wird als Frequenzbereich das ISM-Band (2,4 GHz) von 2,400 bis
2,4835 GHz genutzt. Die Infrarot-Variante ist so gut wie unbekannt.
Versuch 1-3 werden im sogenannten Infrastruktur-Modus betrieben, bei dem sich Clients an einem
AccessPoint anmelden. Der AccessPoint dient dabei als Bridge ins drahtgebundene Netwerk und ins
Internet; sozusagen als Verbindung zur Außenwelt.
1.2.1 Frequenzen
Für WLAN stehen zwei Frequenzbereiche zur Verfügung. Der eine Bereich liegt um 2,4 GHz, der
andere um 5 GHz. Beide Frequenzbereiche sind weltweit Lizenz-frei nutzbar. Das bedeutet, dass auf
privatem Grund und Boden keine Gebühren bezahlt werden müssen. Das bedeutet aber auch, dass
sich dort noch weitere Funktechniken tummeln. Insbesondere das ISM-Frequenzband (Industrial,
Scientific, Medicine) um 2,4 GHz wird für Anwendungen in Industrie, Wissenschaft und Medizin
intensiv genutzt. In diesem Frequenzspektrum um 2,4 GHz konkurrieren viele Standards und
proprietäre Funktechniken der unterschiedlichsten Hersteller und Anwendungen. Unglücklicherweise
auch Geräte des täglichen Gebrauchs, z. B. Mikrowellenherde, Funkfernbedienungen und AVFunksysteme. Die Realisierbarkeit eines Funknetzwerks mit IEEE 802.11 hängt also maßgeblich von
der Nutzung anderer Funktechniken in diesem Frequenzspektrum ab.
1.2.2 Übertragungsgeschwindigkeit - Theorie und Praxis
Schaut man sich die Angaben der Hersteller und Händler zur Übertragungsgeschwindigkeit ihrer
Produkte an und vergleicht die Werte, die man damit in der Praxis erreicht, riecht das fast schon
nach einem Reklamationsgrund. Tatsache ist, die Bruttodatenraten, wie sie auf den
Produktverpackungen angegeben sind, werden in der Praxis nie erreicht. Die Bruttodatenrate sind
nur unter optimalen Bedingungen (CK: keine Nachbar-WLAN Netze!) und mit einer kurzen
Entfernung zu erreichen. Je nach Umgebungsbedingungen, Anzahl der teilnehmenden Stationen und
deren Entfernung erreicht man nur einen Bruchteil der angegebenen Datenrate.
IEEE
802.11
IEEE
802.11b
IEEE
802.11g
IEEE
802.11a/h/j
Datenübertragungsrate
(Brutto)
1-2
MBit/s
5,5 - 11
MBit/s
6 - 54
MBit/s
6 - 54 MBit/s
150 - 600
MBit/s
Datenübertragungsrate
(Netto)
0,5 - 1
MBit/s
1 - 5 MBit/s
2 - 16
MBit/s
bis 32 MBit/s
bis 150
MBit/s
IEEE 802.11n
1.2.3 Access Point und Anmeldung eines Clients
Jedes WLAN Netzwerk ist über eine eindeutige Kennung identifizierbar. Zunächst muss man dabei
zwischen verschiedenen Netzwerkkennungen unterscheiden2:
2
http://de.wikipedia.org/wiki/Service_Set
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
4




BSS und ESS: Ein BSS existiert im Infrastructure Mode von WLAN (IEEE 802.11). Es benutzt
einen einzigen Access Point (AP) und mehrere drahtlose Stationen, um ein Wireless LAN
aufzubauen. Ein BSS besitzt eine eindeutige Kennung (BSSID). Um es zu erweitern, wird es an
ein Distribution System (DS) angeschlossen. Mehrere über ein DS zusammengeschlossene
BSS werden als Extended Service Set (ESS) bezeichnet.
SSID: SSID (Service Set Identifier) bezeichnet in Funknetzen (WLANs) nach dem Standard
802.11 den frei wählbaren Namen eines solchen Funknetzes.
ESSID: Mit der Vergabe unterschiedlicher Netzkennungen kann man auch verschiedene
Wireless LANs am selben Ort betreiben. Die SSID wird an der Basisstation eingestellt. Um
mehrere Basisstationen zu einem Netz (auf OSI-Schicht 2) zu verbinden, stellt man an diesen
dieselbe SSID ein; sie wird dann als ESSID (Extended SSID) bezeichnet.
BSSID: Basic Service Set Identifier, kurz BSSID, ist die eindeutige Bezeichnung eines Access
Points in einem WLAN. Die IEEE 802.11-1999 Wireless LAN-Spezifikation definiert eine BSSID
als die MAC-Adresse einer Station (STA) eines Accesspoints (AP) im Infrastrukturmodus (BSS).
Die BSSID identifiziert somit jeden Wireless Access Point eindeutig, was insbesondere
benötigt wird, um Access Points mit identischer ESSID unterscheiden zu können.
Beim Eintritt einer Station in einer Zelle, strahlt diese auf jedem Kanal eine Anfrage aus (probe
request), inklusive der ESSID für die sie konfiguriert ist sowie die von der ihrer Netzwerkkarte
unterstützte Übertragungsrate. Wenn keine ESSID konfiguriert ist, hört die Station das Netzwerk auf
der Suche nach einer SSID ab. Denn jeder Access point strahlt regelmäßig (ungefähr alle 0,1
Sekunden) einen Beacon (auf Deutsch Signalfeuer genannt) aus, der Informationen über seine BSSID,
seine Eigenschaften und eventuell seine ESSID enthält. Der ESSID wird in der Standardeinstellung
automatisch ausgestrahlt, es ist aber möglich (und empfohlen), diese Option zu deaktivieren.
Bei jeder Anfrage (probe request) überprüft der Access Point die ESSID und die gewünschte
Übertragungsrate im Beacon. Wenn die ESSID jener des Access Points entspricht, übermittelt dieser
eine Antwort mit Informationen über seine Auslastung und Synchronisierungsdaten. Die
empfangende Station kann so die Signalqualität des Access Points beurteilen und seine Entfernung
einschätzen. Denn im Allgemeinen gilt, je näher ein Access Point, umso besser die Übertragungsrate.
Eine Station, die sich innerhalb der Reichweite mehrerer Access Points befindet (natürlich mit der
gleichen SSID) kann so den Access Point wählen, der die beste Kombination aus Übertragungsrate
und Auslastung bietet.
1.2.4 PCF und DCF
In einem WLAN kann es vorkommen, dass sich nicht alle WLAN-Stationen kennen. Dieses Problem
nennt sich Hidden-Node oder Hidden-Terminal. Besonders problematisch ist der Fall, wenn sich
mehrere Stationen außerhalb der Reichweite anderer Stationen befinden. Dabei kann es zum
fälschlichen Erkennen eines freien Kanals kommen. Die PCF (Point Coordination Function) in IEEE
802.11 ist eine weitere Zugriffsregelung des MAC-Layers. Die PCF unterstützt Quality of Service
(QoS), das bestimmte Charakteristiken bei der Übertragung für bestimmte
Kommunikationsanforderungen garantiert.
Für PCF ist ein Access Point erforderlich, der mittels einer Kanalreservierung die Senderechte an die
mobilen Stationen vergeben kann. Dieser Vorgang wird als Polling bezeichnet. Dabei fragt der Access
Point die Stationen innerhalb seiner Zelle nacheinander ab, ob sie Daten versenden wollen. PCF ist
deshalb optimal für die Abwicklung von zeitkritischem Datenverkehr geeignet. DCF und PCF lassen
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
5
sich auch parallel zueinander einsetzen. PCF hat allerdings eine höhere Priorität. DCF und der
dazugehörige CSMA/CA Algorithmus werden eingehend im Versuch 2 behandelt.
1.2.5 IEEE 802.11n
IEEE 802.11n ist die Spezifikation für ein WLAN mit Übertragungsraten von 150, 300, 450 und 600
MBit/s. In der Praxis ist mit 120 MBit/s (bei 300 MBit/s brutto) und 240 MBit/s (bei 600 MBit/s
brutto) zu rechnen. Erreicht werden diese Geschwindigkeiten mit mehrere Antennen und
Signalverarbeitungseinheiten (MIMO), die Verdopplung der Funkkanal-Bandbreite auf 40 MHz, sowie
die parallele Nutzung des 2,4- und 5-GHz-Frequenzbandes.
Techniken zur grundlegenden Verbesserung der Übertragungsrate:









Antennengruppen mit MIMO (Multiple Input Multiple Output)
Spatial Multiplexing mit Space Time Block Coding (STBC)
Antennen-Diversity (Signal von der Antennen mit dem besseren Empfang abgreifen)
verbesserte OFDM-Modulation mit maximal 65 MBit/s in einem 20-MHz-Kanal (nur 54
MBit/s bei 802.11g)
Kanalbündelung
Transmit Beamforming
Packet Aggregation (Zusammenfassen von Paketen)
RIFS (Reduced InterFrame Spacing)
Greenfield-Mode (Abschaltung der 11a-, 11b- und 11g-Unterstützung)
Bei IEEE 802.11n soll der Datendurchsatz über 100 MBit/s durch einen höheren Durchsatz auf der
MAC-Schicht (Media Access Control) und einem geringeren Overhead erreicht werden. Deutliche
Verbesserungen sollen adaptive MACs bringen, die die Bandbreite unter allen Teilnehmern besser
aufteilt.
Transmit Beamforming (Sendestrahlsteuerung), Receive Combining und breite Hochfrequenzkanäle
sollen die Funkverbindung verbessern und mehr Datendurchsatz bringen. Je nach Anwendung oder
lokaler Frequenzvergabe (abhängig von der Regulierung) sollen 10, 20 oder 40 MHz breite HF-Kanäle
möglich sein. Die WLAN-Geräte prüfen, ob diese Kanäle für die Datenübertragung frei sind.
Bluetooth-Geräte in der Nähe können den WLAN-Geräten mitteilen nur einen Kanal zu nutzen. So
bleibt auch für gleichzeitige Bluetooth-Funkverbindungen noch genug Bandbreite übrig.
Da die Funkschnittstelle einer ständigen Veränderung unterliegt werden vor der
Nutzdatenübertragung Trainingssequenzen übertragen. Mit Hilfe von Pilottönen innerhalb der
Nutzdaten erfolgt dann eine dynamische Feinabstimmung der Signalverarbeitung. Der Einsatz in
Räumen soll die Reflektionen (mehrfache Empfangssignale) für mehr Datendurchsatz ausnutzen.
IEEE 802.11n beherrscht sowohl das 2,4-GHz- wie auch das 5-GHz-Band. Das bedeutet, es stehen
zwei Frequenzbänder zur Verfügung. Doch Vorsicht, die meisten billigen 11n-Geräte beherrschen nur
das 2,4-GHz-Band.
Kompatibilität zu IEEE 802.11b und 802.11g:
Die etablierte IEEE 802.11b/g-Technik soll durch IEEE 802.11n nicht veralten, sondern nahtlos
eingebunden werden. Die parallele Nutzung von WLANs mit 802.11g und 802.11n schließt also sich
nicht aus. Aber, ein WLAN mit 802.11n, das einen 40-MHz-Kanal nutzt, könnte für bestehende
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
6
WLANs mit 802.11g zum Problem werden. Der Grund, im 2,4-GHz-Frequenzband geht es recht eng
zu. Hier tummeln sich noch weitere Funktechniken. Aus diesem Grund ist davon auszugehen, dass
ein 40-MHz-Kanal nur im 5-GHz-Frequenzband möglich sein wird. Schon deshalb, um die
Kompatibilität zu WLANs mit 802.11g nicht zu gefährden. Damit man überhaupt die Vorteile von IEEE
802.11n nutzen und von der Geschwindigkeitssteigerung profitieren kann, sollte der
Kompatibilitätsmodus zu 802.11b und 802.11g abgeschaltet werden. Im Optimalfall richtet man den
WLAN-Router oder Access Point so ein, dass er mit 802.11g im 2,4-GHz-Band und mit 802.11n im 5GHz-Band arbeitet.
MIMO - Multiple Input Multiple Output:
MIMO ist ein systemtheoretischer Begriff, der Systeme mit mehreren Eingangs- und Ausgangsgrößen
beschreibt. MIMO sieht vor, mehrere Sende- und Empfangsantennen zu verwenden. Vom Prinzip her
wird der Frequenz-Zeit-Matrix eine dritte Dimension, der Raum, hinzugefügt. Mehrere Antennen
verhelfen dem Empfänger zu räumlichen Informationen, was zur Steigerung der Übertragungsrate
durch Spatial Multiplexing genutzt werden kann. Dabei werden mehrere Datenströme parallel in
einem Funkkanal übertragen. Die parallele Signalverarbeitung bringt verbesserten Signalempfang
und vermindert die Nachteile durch Mehrwegeempfang, der durch reflektierte Signale entsteht.
Insgesamt verbessert sich die Leistung des ganzen Funksystems durch MIMO erheblich. MIMO nutzt
einen Effekt, der bei üblichen Funkverbindungen eher schädlich ist: Funkwellen werden häufig an
Objekten reflektiert und gelangen deswegen auf mehreren Wegen zum Empfänger. Da die einzelnen
Wege unterschiedlich lang sind, kann es zur Beeinträchtigung oder gar Auslöschung des Signals
kommen (Multipath Fading).
Bei MIMO werden mit mehreren Sendeantennen gleichzeitig unterschiedliche Signale in Richtung
Empfänger gesendet. Eine Gruppe von Antennen kann so eine Richtwirkung entwickeln.
Im Empfänger liefern mehrere Antennen ein besseres Empfangssignal und vergrößern die Distanz
oder erhöhen den Datendurchsatz. Gleichzeitig kann die Antennengruppe so störende Signale
ausblenden und dem Empfänger zu räumlichen Informationen verhelfen, was zur Steigerung der
Übertragungsrate (Spatial Multiplexing) genutzt werden kann.
Getrennt wird das Wellengemisch mittels digitaler Signalverarbeitung.
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
7
1.3 Ad-Hoc Modus und Drahtlose Maschennetzwerke3
Der Ad-Hoc Modus und die darauf aufsetzenden drahtlosen Maschennetzwerke werden im Versuch
4 des Labors ausführlicher behandelt. Dieses Kapitel bietet eine kurze Einführung in das Thema.
1.3.1 802.11 Ad-Hoc Mode
Neben dem Infrastruktur-Modus lässt sich WLAN Hardware auch im Ad-Hoc Modus betreiben. Ein
Access Point ist in diesem Fall nicht zwingend notwendig für die Kommunikation unter den
Teilnehmern. Der Ad-Hoc Modus und die darauf aufsetzenden drahtlosen Maschennetzwerke
werden im Versuch 4 des Labors behandelt. Im Ad-hoc Modus verbinden sich drahtlose ClientGeräte untereinander, um eine Punkt-zu-Punkt-Netzwerk (peer to peer aus dem Englischen) zu
formen, d.h. Ein Netzwerk, in dem jedes Gerät gleichzeitig die Rolle des Clients und die Rolle des
Access Points spielt.
Die Summe der verschiedenen Stationen wird independant basic service set (aus dem Englischen)
genannt, abgekürzt in IBSS. Ein IBSS ist daher ein drahtloses Netzwerk, das zumindest aus zwei
Stationen besteht und keinen Access Point verwendet. IBSS begründet also ein flüchtiges Netzwerk,
das Personen in einem Raum den Austausch von Daten ermöglicht. Es wird identifiziert durch eine
SSID, wie im Falle des ESS im Infrastruktur-Modus.
In einem Ad-Hoc-Netzwerk wird die Reichweite des unabhängigen BSS von der Reichweite jeder
Station bestimmt. Das bedeutet, dass zwei außerhalb ihrer jeweiligen Reichweite liegenden
Stationen nicht miteinander kommunizieren können, selbst wenn sie andere Stationen "sehen".
Denn, im Gegensatz zum Infrastruktur-Modus, bietet der Ad-Hoc-Modus kein Distribution System an,
das Frames von einer Station zur anderen übertragen kann. Daher ist IBSS definitionsgemäß ein
eingeschränktes Drahtlosnetzwerk.
3
http://de.kioskea.net/contents/wifi/wifimodes.php3
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
8
1.3.2 Drahtlose Maschennetzwerke4
Um den Ad-Hoc Mode im WLAN Standard nun effizient zu nutzen lassen sich mit Hilfe von
sogenannten Wireless Mesh Routing Protokollen in der Netzwerkschicht die Reichweite und Leistung
eines Ad-Hoc Netzwerks signifikant ausbauen.
Ein Wireless Mesh Network ist ein drahtoses Netzwerk, bei dem die Knoten in einem sog. Mesh (zu
deutsch: Masche / Netz) miteinander verbunden sind. WMNs sind entweder vollvermascht oder nur
teilsvermascht. Von einer Vollvermaschung spricht man, wenn jeder Knoten mit jedem anderen
Knoten verbunden ist. Die Netzwerkknoten unterteilen sich in Mesh Router und Mesh Clients. Mesh
Router bilden untereinander das Backbone- oder auch Infrastruktur-Mesh. Das besondere an ihnen
ist die Mesh-Fähigkeit, d.h. sie bieten anderen Knoten einen Verbindungspunkt zum Netzwerk und
leiten deren Datenverkehr weiter. Router können auch mit dem Internet übers Festnetz verbunden
sein. Diese speziellen Router nennt man Gateway-Router. Mesh Clients sind mobile Knoten, die sich
über einen Router mit dem Netz verbinden. Eine Spezialität der WMNs ist, dass auch Mesh Clients
Routing-Aufgaben übernehmen können sofern sie auch Mesh-fähig sind. Dann können Mesh Clients
für andere Clients als Verbindungspunkt zum Netz dienen. Sind nur Mesh Clients untereinander
verbunden spricht man von einem Client- Mesh. Backbone-Mesh und Client-Mesh in Verbindung
ergibt ein Hybrid-Mesh. Hardware für Mesh Router unterscheidet sich in der Regel nicht von
konventionellen drahtlosen Routern. Sie sind entweder als kompaktes eingebettetes System zu
erwerben, oder sie sind speziell für den Einbau in PC-Systeme oder Laptops gebaut. Mesh Clients
treten vielfältig auf, u.a. als Laptop, Desktop PC, Pocket PC, PDA oder IP Telefon. Mesh Clients sind
kostengünstiger und energiesparend, da sie keine Gateway- und Bridge-Funktionalität brauchen. Das
bedeutet, dass sie keine Verbindung zu verschiedenenartigen Netzwerken herstellen müssen.
1.4. Transportprotokolle5
1.4.1. TCP
Das TCP Protokoll ist ein zuverlässiges, verbindungsorientiertes Transportprotokoll in
Computernetzwerken. Es ist Teil der Internetprotokollfamilie, der Grundlage des Internets. Im
Unterschied zum verbindungslosen UDP (User Datagram Protocol) stellt TCP einen virtuellen Kanal
zwischen zwei Endpunkten einer Netzwerkverbindung (Sockets = Kombination aus Port und IP
Adresse) her. Auf diesem Kanal können in beide Richtungen Daten übertragen werden. TCP setzt in
den meisten Fällen auf das IP (Internet-Protokoll) auf, weshalb häufig (und oft nicht ganz korrekt)
auch vom TCP/IP-Protokoll die Rede ist. Es ist in Schicht 4 des OSI-Referenzmodells angesiedelt.
Aufgrund seiner vielen angenehmen Eigenschaften (Datenverluste werden erkannt und automatisch
behoben, Datenübertragung ist in beide Richtungen möglich, Netzwerküberlastung wird verhindert
usw.) ist TCP ein sehr weit verbreitetes Protokoll zur Datenübertragung. Beispielsweise wird TCP als
(fast) ausschließliches Transportmedium für das WWW, E-Mail, Daten in Peer-to-Peer-Netzwerken
und für viele andere populäre Netzwerkdienste verwendet.
TCP ist im Prinzip eine Ende-zu-Ende-Verbindung in Vollduplex, die die Übertragung der
Informationen in beide Richtungen zu gleicher Zeit zulässt. Diese Verbindung kann in zwei
Halbduplexverbindungen eingeteilt werden, bei denen Informationen in beide Richtungen (allerdings
nicht gleichzeitig) fließen können. Die Daten in Gegenrichtung können dabei zusätzliche
4
5
Wireless Mesh Networks: Eine Einführung, Universität Stuttgart, Author: Michael Schäfer
http://www.das-asterisk-buch.de/netzwerkprotokolle.html
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
9
Steuerungsinformationen enthalten. Die Verwaltung (das Management) dieser Verbindung sowie die
Datenübertragung werden von der TCP-Software übernommen. Die TCP-Software ist eine
Funktionssammlung und (je nach Betriebssystem unterschiedlich) bei Linux auch im
Betriebssystemkern, dem Linux-Kernel, angesiedelt. Anwendungen, die diese Software häufig nutzen,
sind zum Beispiel Webbrowser und Webserver. Jede TCP-Verbindung wird eindeutig durch zwei
Endpunkte identifiziert. Ein Endpunkt stellt ein geordnetes Paar dar, das aus IP-Adresse und Port
besteht. Ein solches Paar bildet eine bidirektionale Software-Schnittstelle und wird auch als Socket
bezeichnet. Mithilfe der IP-Adressen werden die an der Verbindung beteiligten Rechner identifiziert;
mithilfe der Ports werden dann auf den beiden beteiligten Rechnern die beiden miteinander
kommunizierenden Programme identifiziert. Durch die Verwendung von Portnummern auf beiden
Seiten der Verbindung ist es beispielsweise möglich, dass ein Webserver auf einem Port
(normalerweise Port 80) gleichzeitig mehrere Verbindungen zu einem anderen Rechner geöffnet hat.
Ports sind 16-Bit-Zahlen (Portnummern) und reichen von 0 bis 65535. Ports von 0 bis 1023 sind
reserviert und werden von der IANA vergeben. Zum Beispiel ist Port 80 für das im WWW verwendete
HTTP-Protokoll reserviert. Allerdings ist das Benutzen der vordefinierten Ports nicht bindend. So kann
jeder Administrator beispielsweise einen FTP-Server (normalerweise Port 21) auch auf einem
beliebigen anderen Port laufen lassen.
1.4.2. UDP
Das User Datagram Protocol (UDP) ist ein minimales, verbindungsloses Netzprotokoll, das zur
Transportschicht der Internetprotokoll-Familie gehört. Die Aufgabe von UDP ist es, Daten, die über
das Internet übertragen werden, der richtigen Anwendung zukommen zu lassen. Die Entwicklung von
UDP begann 1977, als man für die Übertragung von Sprache ein einfacheres Protokoll benötigte als
das bisherige verbindungsorientierte TCP. Es wurde ein Protokoll benötigt, das nur für die
Adressierung zuständig war, ohne die Datenübertragung zu sichern, da dies zu Verzögerungen bei
der Sprachübertragung führen würde.
Um die Daten, die mit UDP versendet werden, dem richtigen Programm auf dem Zielrechner
zukommen zu lassen, werden bei UDP sogenannte Ports verwendet. Dazu wird bei UDP die
Portnummer des Dienstes mitgesendet, der die Daten erhalten soll. Diese Erweiterung der Host-zuHost- auf eine Prozess-zu-Prozess-Übertragung wird als Anwendungsmultiplexen und -demultiplexen
bezeichnet.
UDP stellt einen verbindungslosen, potenziell unzuverlässigen Übertragungsdienst bereit. Das
bedeutet, dass es keine Garantie gibt, dass ein einmal gesendetes Paket auch ankommt oder dass
Pakete in der gleichen Reihenfolge ankommen, in der sie gesendet wurden. Eine Anwendung, die
UDP nutzt, muss daher gegenüber verloren gegangenen und umsortierten Paketen unempfindlich
sein oder selbst entsprechende Korrekturmaßnahmen beinhalten. Da vor Übertragungsbeginn nicht
erst eine Verbindung aufgebaut werden muss, können die Hosts schneller mit dem Datenaustausch
beginnen. Dies fällt vor allem bei Anwendungen ins Gewicht, bei denen nur kleine Datenmengen
ausgetauscht werden müssen. Einfache Frage-Antwort-Protokolle wie das Domain Name System
(DNS) verwenden UDP, um die Netzwerkbelastung gering zu halten und damit den Datendurchsatz zu
erhöhen. Ein Drei-Wege-Handshake wie bei TCP für den Aufbau der Verbindung würde unnötigen
Overhead erzeugen. Daneben bietet die ungesicherte Übertragung auch den Vorteil von geringen
Übertragungsverzögerungsschwankungen: Geht bei einer TCP-Verbindung ein Paket verloren, so
wird es automatisch erneut angefordert. Dies braucht Zeit, die Übertragungsdauer kann daher
schwanken, was für Multimedia-Anwendungen schlecht ist. Bei VoIP z. B. würde es zu plötzlichen
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
10
Aussetzern kommen bzw. die Wiedergabepuffer müssten größer angelegt werden. Bei
verbindungslosen Kommunikationsdiensten bringen verloren gegangene Pakete dagegen nicht die
gesamte Übertragung ins Stocken, sondern vermindern lediglich die Qualität. UDP übernimmt die
Eigenschaften der darunterliegenden Netzwerkschicht. Im Falle des Internetprotokolls IP können
Datenpakete maximal 65.535 Bytes lang sein, wovon der IP-Header und UDP-Header insgesamt
mindestens 28 Bytes belegen. UDP-Datagramme haben daher maximal 65.507 Nutzdatenbytes.
Solche Pakete werden jedoch von IP fragmentiert übertragen, sodass UDP nur bei Datenpaketgrößen
bis zu einigen Kilobytes sinnvoll ist. IP löscht Pakete etwa bei Übertragungsfehlern oder bei Überlast.
Datagramme können daher fehlen. Das UDP-Protokoll bietet hierfür keine Erkennungs- oder
Korrekturmechanismen wie etwa TCP. Im Falle von mehreren möglichen Routen zum Ziel kann IP bei
Bedarf neue Wege wählen. Hierdurch ist es in seltenen Fällen sogar möglich, dass später gesendete
Daten früher gesendete überholen.
2. Schnelleinführung Linux Shell
Nachfolgend sind ein paar grundlegende Befehle für die Linux Konsole aufgelistet. Die rot markierten
Befehle kommen (neben anderen) im Laufe der Versuchstermine vor:
Allgemein
Befehl
[Befehl] &
[Befehl] && [Befehl]
man [Programm]
strg + C
Befehl
cd [Verzeichnis]
cd ..
cd /
cd
cd cp [Datei][Verz]
mv
mv [Datei1][Datei2]
rm
rm -rf
mkdir
rmdir
ls
ls -l
ls -la
alias ls='ls --color'
pwd
cat [Datei]
more [Datei]
Beschreibung
Man kann die Konsole weiter benutzen
Befehle werden nacheinander ausgefürt
Zeigt die Hilfe zu einem Programm an
Bricht aktuellen Vorgang in der Shell ab
Verzeichnisse, Dateien
Beschreibung
Wechselt in das Verzeichnis
Wechselt ein Verzeichnis höher
Wechselt ins Wurzelverzeichnis
Wechselt das Verzeichnis
Wechselt in das vorherige Verzeichnis
Kopiert Datei in Verzeichnis
Verschiebt eine Datei
benennt Datei [DATEI1] in [DATEI2] um
Löscht eine Datei
alles unterhalb des Verz. löschen
Erzeugt ein Verzeichnis
Löscht ein Verzeichnis
Zeigt Ordner-Inhalt an
Ausführliche Auflistung
alle Dateien des Verz. ausführlich
Stellt farbige Ansicht ein
Zeigt das aktuelle Verzeichnis an
Zeigt Inhalt einer Datei
Zeigt Inhalt einer Datei seitenweise an
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
Beispiel
firefox &
firefox && shutdown -h now
man firefox
strg + C
Beispiel
cd /tmp
cd ../td>
cd /
cd .. ; cd /tmp
cd cp 123.txt /tmp
mv 123.txt /tmp
mv 123.txt 456.txt
rm /tmp/123.txt ; rm /tmp/*
rm -rf /tmp/
mkdir /home/test
rmdir /home/test
ls /home/test
ls -l /home/test
ls -la /home/test
alias ls='ls --color'
pwd
cat 123.txt
more 123.txt
11
touch [Datei]
whereis [Prog]
find . | grep [DATEI]
grep [KEY] [DATEI]
locate [DATEI]
updatedb
which
Erzeugt leere Datei
Sucht nach Programm
sucht eine Datei im Verzeichnis
Sucht nach Begriff in einer Datei
Sucht nach Datei in der Datenbank
Aktualisiert die Datenbank
Zeigt an, wo sich ein Programm befindet
System
Befehl
Beschreibung
arch
Prozessorfamilie
cat /proc/filesystems Unterstützte Dateisysteme
cat /proc/cpuinfo
Infos zur CPU
cat /proc/filesystems Alle unterstützten Dateisysteme
cat /proc/pci
Infos zu den PCI-Karten
dmesg | grep hd
Infos über alle Laufwerke
date
Datum und Zeit
dmesg
Kernellogger: Zeigt Kernelaktivtäten
free
Zeigt Ausnutzung des Arbeitsspeichers
glxgears
Kleiner Grafiktest zur Performance der VGA
glxinfo
Angaben über OpenGL und Grafikkarte
kill [PID]
Schiesst Prozess mit bestimmter ID ab
killall [Prog]
Schiesst Prozess mit Prozessname ab
lspci
Infos über PCI-Komponenten
shutdown -h now
Fährt den Rechner herunter
shutdown -r now
Startet den Rechner neu
top
Zeigt Programme und CPU-Auslastung an
uptime
Wie lange ist der PC im Betrieb?
X -version
Zeigt Version von Xfree an
Festplatte
Befehl
Beschreibung
df
Speicherplatz anzeigen
fdisk
Festplatte partitionieren
mkfs.ext2
HDD mit ext2 formatieren
mkfs.ext3
HDD mit ext3 formatieren
mkreiserfs
HDD mit reiserfs formatieren
sync
gepufferte Daten auf HDD speichern
Mounten
Befehl
Beschreibung
mount
Hängt Datenträger in das System ein
mount -t [Filesystem] Mountet mit vorgegebenen Dateisystem
mount -a
Mountet alle Datenträger aus der /etc/fstab
mount -r
Von Datenträger kann nur gelesen werden
mount -w
Datenträger kann gelesen und beschrieben werden
mount -m
Mountet ohne Eintrag in /etc/mtab
Benutzer
Befehl
Beschreibung
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
touch 123.txt
whereis Firefox
find . | grep 123.txt
grep Haus 123.txt
locate 123.txt
updatedb
which firefox
Beispiel
arch
cat /proc/filesystems
cat /proc/cpuinfo
cat /proc/filesystems
cat /proc/pci
dmesg | grep hd
date
dmesg
free
glxgears
glxinfo
kill 1067
killall Firefox
lspci
shutdown -h now
shutdown -r now
top
uptime
X -version
Beispiel
df -h
fdisk /dev/hda
mkfs.ext2 /dev/hda1
mkfs.ext3 /dev/hda1
mkreiserfs /dev/hda1
sync
Beispiel
mount /dev/hda1 /mnt/win
mount -t ntfs /mnt/win_xp
mount -a
mount -r /mnt/win
mount -w /mnt/win
mount -n /mnt/win
Beispiel
12
id
whoami
who
groupadd [Gruppe]
groupdel [Gruppe]
useradd -m [USER]
userdel -r [USER]
passwd [USER]
su
su [USER]
Befehl
ifconfig
iwconfig
ping [Rechner]
Befehl
lsmod
make menuconfig
modprobe [Modul]
uname -a
Zeigt Benutzername und Gruppe an
Zeigt aktuell angemeldeten Benutzer an
Wer ist alles eingeloggt?
Erzeugt eine neue Gruppe
Löscht eine neue Gruppe
Erzeugt Benutzers und Homeverz.
Löscht Benutzers und Homeverz.
Ändert Passwort des Benutzers
Man arbeitet nun als Root an der Konsole
Man arbeitet nun als [USER] an der Konsole
Netzwerk
Beschreibung
Zeigt Netzwerk-Infos an
Zeigt Infos zum WLAN an
Testet Verbindung zu einem Rechner
Kernel und Module
Beschreibung
Zeigt geladene Module an
id
whoami
who
groupadd admins
groupdel admins
useradd -m chef
useradd -m chef
passwd chef
su
su chef
Beispiel
ifconfig
iwconfig
ping 192.168.0.1
Beispiel
lsmod
cd /usr/src/linux; make
menuconfig
modprobe printer
uname -a
Einrichten des Kernels
Lädt ein Modul
Zeigt Kernel-Version an
Sonstiges
Befehl
ps aux
rc-update show
Beschreibung
Zeigt alle laufenden Prozesse und Dienste an
Zeigt die Dienste an, die beim Start geladen werden
Beispiel
ps aux
rc-update show
Allgemeine Hinweise:

Alle benutzten Befehle für die Linux Konsole werden in diesem Tutorial gerahmt dargestellt

Zum Ausführen einer der gelisteten Befehle (zum Beispiel zur Konfiguration der WLAN Karte
oder zum Starten von OLSR) muss man sich in keinem bestimmten Verzeichnis/Ordner
befinden
Eine Konsole starten Sie mit dem Klick auf das Terminal Symbol:





In jedem Terminal-Fenster können Sie mehrere Konsolen parallel betreiben. Für einen neuen
Reiter bzw. eine neue Konsole drücken Sie Strg. + Umschalten/Shift + T
Pro Befehl lassen sich generell mehrere Optionen gleichzeitig setzen, zum Beispiel zum
Anzeigen der Inhalte des aktuellen Ordners: ls –al hat dabei denselben Effekt wie ls –a, ls –l
Mit den Steuerkreuz-Tasten „oben“ und „unten“ lassen sich die zuletzt eingegebenen
Befehle durchblättern
Wird das Linux System korrekt gestartet so befinden Sie sich automatisch im Home Ordner,
in dem sich auch alle Skripte und sonstigen Dateien aus diesem Handbuch befinden
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
13
3. Tools zur Hardware Konfiguration
Hinweise:


Angaben wie „wlan0” stehen exemplarisch für ein beliebiges Interface und werden je nach
Bedarf durch wlan1, wlan2, etc. ersetzt. wlan0 ist dabei immer ein sogenannten „logisches“
Interface, das vom System auf vielen Ebenen konfiguriert und angesprochen werden kann (IP
Ebene, MAC Ebene, etc.), während phy0 ein reines „physikalisches“ Interface beschreibt bei
dem nur dessen Hardware Parameter verändert werden können. wlan0 setzt immer auf phy0
auf.
Da die meisten der im folgenden aufgeführten Befehle Root Rechte unter Linux verlangen
sollten Sie sich vorab in jeder von Ihnen benutzten Konsole als Root anmelden:
su (Passwort: 20fm11)
3.1. Kontrolle des Interface Status
Folgender Befehl listet zunächst alle Linux-kompatiblen WLAN Interfaces (und deren Features) des
nodes auf:
iw list
Interessant an der Ausgabe sind vor allem die für das Interface sichtbaren Kanäle und die Bitraten die
es unterstützt.
Eine kompakte Übersicht aller konfigurierten drahtlosen Geräte liefert:
iwconfig
Um Informationen über ein einzelnes Interface zu erhalten (Interface muss dazu mit einem AP oder
Ad-Hoc Netz verbunden sein):
iw dev wlan0 link
Wichtiger Hinweis zu diesem Befehl: Um die tatsächlich nutzbare Brutto-Bitrate eines WLAN
Interface mit diesem Befehl zu bestimmen muss das Interface dafür Daten übertragen. Dies
erreichen Sie indem Sie beispielsweise ping 192.168.1.1 eingeben und direkt danach iw dev wlan0
link. Der Wert „tx bitrate“ beschreibt die Brutto-Bitrate und 20MHz (802.11a/b/g) bzw. 40MHz
(802.11n) die genutzte Kanalbandbreite.
Alternativer Befehl:
iw dev wlan0 station dump
Alle zu erreichenden Access Points, deren SSIDs, Bitrates, Kanäle, etc. auslesen:
ifconfig wlan0 up (Interface auf der Linux Netzwerkebene anmelden, wenn noch nicht passiert)
iw dev wlan0 scan
Eine Erweiterung des Befehls gibt beispielsweise nur die SSIDs und deren Signalstärken aus:
iw dev wlan0 scan | egrep 'SSID|signal'
„SSID“ und „signal“ können in dem Fall auch durch anderen Schlagwörter ausgetauscht werden für
die man sich interessiert, beispielsweise „freq“. Jedes „|“ steht dabei für eine Oder-Verknüpfung.
Alle Interfaces auf IP/Netzwerkebene auflisten (mit diesem Befehl ermittelt man leicht die aktuelle
IP-Adresse und MAC Adresse eines Interface):
ifconfig
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
14
Per DHCP eine Email Adresse anfordern:
dhclient eth0 oder dhclient wlan0
Dies funktioniert sowohl mit Ethernet als auch mit WLAN Interfaces!
3.2. WLAN Interface deaktivieren und neu aufsetzen
Um die Konfiguration eines Interface von neuem zu beginnen kann man es zunächst deaktivieren:
iw dev wlan0 del
Wichtig: wlan0 wird zwar gelöscht, phy0 bleibt jedoch bestehen.
Um ein neues wlan0 zu kreieren brauchen Sie:
iw phy phy0 interface add wlan0 type TYP
ifconfig wlan0 up
„Typ“ steht für folgende Parameter:





6
„Monitor“6: m Monitor Mode werden im Gegensatz zum Promiscuous Mode alle
empfangenen Frames weitergeleitet, nicht nur die des Netzwerks, mit dem der Client
momentan verbunden ist. Ein Vorteil ist, dass kein einziges Frame von der eigenen
Netzwerkkarte gesendet werden muss und daher das Abhören der Frames nicht in evtl.
Protokolldateien erkennbar ist. Außerdem ist keinerlei Authentifizierung am Netzwerk
notwendig. Sind die Framepakete verschlüsselt, zum Beispiel mit WEP, so können sie
aufgezeichnet und später entschlüsselt werden.
Manche Netzwerkkarten-Treiber überspringen im Monitor Mode die Überprüfung der
Prüfsumme der Zyklischen Redundanzprüfung (cyclic redundancy check) der Frames, was
dazu führt, dass fehlerhafte Frames weitergeleitet werden können. Die Integrität der Daten
ist also im Monitor Mode nicht sichergestellt.
Darüber hinaus bieten nicht alle Treiber die Möglichkeit, die Karte in den Monitor Mode zu
versetzen, oder erlauben im Monitor Mode kein Senden von Paketen.
„Managed“: Dies bezeichnet den Infrastruktur Modus, in dem ein WLAN Client sich mit
einem Access Point verbinden kann. Der AP ist eine zentrale, drahtlose
Netzwerkkomponente die zugleich über eine Ethernet Schnittstelle verfügt, und so für die
lokal verbundenen drahtlosen Clients eine Internetverbindung (oder eine Verbindung in
andere Kabelnetze) bereitstellt. Im Managed Modus können die Clients nicht direkt
miteinander kommunizieren; jegliche Kommunikation läuft über den AP der auch das
Routing aller Pakete übernimmt.
„IBSS“: der Ad-Hoc (IBSS - Independent Basic Service Set) Modus ist das Gegenstück zum
Infrastruktur Modus und erlaubt es dass sich ein Node (Gegenstück zum Client) mit jedem
anderen Node in seinem Sendebereich direkt vernetzt. Die Nodes müssen sich dazu im
selben IP Adressraum befinden und alle auf demselben WLAN Kanal mit derselben ESSID
(siehe Kapitel 1.2.3.) funken. Ein zentraler Access Point ist nicht mehr erforderlich, jedoch ein
spezielles Ad-Hoc Routing Protokoll dass die Routing Funktionen des AP im Netzwerk
übernimmt. So bildet sich eine sogenannte dezentrale Netzwerktopologie aus, die die Basis
ist für komplexere Ad-Hoc Netze, wie zB. Wireless Mesh Netzwerke oder Vehikuläre Ad-Hoc
Netze (VANET).
http://de.wikipedia.org/wiki/Monitor_Mode
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
15
3.3. Bestehendes Interface konfigurieren
Sollte wlan0 bereits bestehen lässt sich so dessen Typ ändern:
ifconfig wlan0 up (Interface auf der Linux Netzwerkebene anmelden, wenn noch nicht passiert)
iw wlan0 set type TYP
Mögliche Parameter für „TYP“ finden sich in Kapitel 3.2.
Ein fixer Kanal 5 und die SSID „Name“ lassen sich beispielsweise so konfigurieren:
iwconfig wlan0 essid NAME channel 5
Anmerkung: Aus Kompatibilitätsgründen wird hier noch das alte Konfigurationstool „iwconfig“
verwendet, anstatt dessen Nachfolger „iw“.
3.4. WLAN Monitor Mode und Channel Hopping
Der Monitor Modus wird benutzt um WLAN Netze zu untersuchen ohne in den Netzwerkverkehr
eingreifen zu müssen. Ein WLAN Interface im Monitor Modus nimmt nicht aktiv an einem Netzwerk
teil, sprich es erhält keine IP Adresse, taucht in keiner ARP Tabelle auf, etc. Trotzdem empfängt es
alle regulären + einige extra Paketypen (zB. WLAN Management Pakete zur MediumZugangssteuerung, Access Point Authentifizierung, etc.) und leitet diese an das Betriebssystem des
Betreiber-Clients weiter. Der Client kann dabei problemlos den Kanal wechseln um auf mehreren
Kanälen Pakete zu empfangen. Mit Hilfe eines „Channel Hopping“ Skripts kann man so einfach
mehrere WLAN Kanäle (sequentiell) analysieren. Ein Nachteil bei dieser Methode ist dass das
Interface jeweils nur auf einem Kanal empfangen kann. Pakete, die derzeit auf anderen Kanälen
verschickt werden werden so zwangsläufig nicht erfasst.
Nicht alle WLAN Karten unterstützen den Monitor Modus Hardware-seitig. Die in unseren
Versuchsreihen verwendeten „Asus Eee PC 1015PE“ Netbooks (schwarz) sind ausgerüstet mit WLAN
Karten die einen Atheros Chipsatz tragen. Die Besonderheit von Atheros Karten ist neben der
Fähigkeit im Monitor Mode zu operieren deren gut zugängliche Treiber-Programmierschnittstelle
(API). Der darauf basierende „Ath5k/9k“ WLAN-Treiber ist mittlerweile fest im Linux Kernel
verwurzelt und wird auch in unseren Versuchen verwendet.
In unseren Versuchen benutzen wir Wireshark um die „mitgehörten“ Pakete zu analysieren. Sollten
die Pakete Teil einer verschlüsselten Übertragung sein (zB. Über WEP oder WPA) muss man
Wireshark das jeweilige Passwort des APs mitteilen (bereits voreingestellt in unseren Versuchen).
 Möchte man mehrere Kanäle analysieren bietet sich folgendes Skript an:
ifconfig wlan0 up (Interface auf der Linux Netzwerkebene anmelden, wenn noch nicht passiert)
./chanhop.sh –i wlan0
Standardmäßig stellt das Skript das angegebene Interface nacheinander auf die WLAN Kanäle 1-11
(802.11b/g/n, 2.4 GHz Band) ein.
Das Skript läuft danach in der Konsole weiter und kann mit der Tastenkombination Strg. + c beendet
werden. Mit iwconfig lässt sich in einer separaten Konsole überprüfen auf welchem Kanal das
interface gerade residiert. Der Kanal wird standardmäßig alle 0.25 Sekunden gewechselt.
 Möchte man nur einen Kanal analysieren muss man das Interface direkt auf diesen Kanal tunen:
ifconfig wlan0 up
iwconfig wlan0 channel 6
Monitor Mode aktivieren:
ifconfig –a  Überprüfen Sie zunächst dass kein Monitor Mode Interface (mehr) existiert, zB. Mon0,
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
16
mon1, etc.
iw dev wlan0 interface add mon0 type monitor  mon0 ist dabei das neue Monitor Mode Interface
dass auf wlan0 aufsetzt
ifconfig mon0 up
iwconfig, ifconfig  Ändert sich die Frequenz und die Anzahl der empfangenen (RX) Pakete?
… Messung durchführen, zB. Mit Wireshark…
iw dev mon0 interface del  mon0 wieder löschen
Falls das Channel Hopping Skript läuft vergessen Sie es nicht zu beenden mit Strg. + c!
3.5. Verbindung zu einem Infrastruktur Netzwerk herstellen und beenden
Mit einem AP OHNE Verschlüsselung, mit der SSID „Name“ auf dem Kanal mit der Frequenz 2,432
GHz verbinden – wlan0 muss vorher entsprechend im Managed Mode eingerichtet sein!:
ifconfig wlan0 up : Interface auf der Linux Netzwerkebene anmelden
iw wlan0 connect NAME 2432 : Client am Router anmelden, Passwort wird nicht benötigt
dhclient wlan0: Router auffordern dem Client per DHCP Protokoll eine IP Adresse zuzuteilen
Um sich mit einem AP MIT WPA2 Verschlüsselung, mit der SSID „Name“ auf dem Kanal 3 (mit der
Frequenz 2,422 GHz), zu verbinden können Sie das folgende Skript benutzen. Das vorgefertigte
Skript „apconnect.sh“ wurde geschrieben um Ihnen den Anmeldeprozess an einem WPA2
geschützten Access Point zu vereinfachen und wird folgendermaßen aufgerufen:
./apconnect.sh wlan0 NAME 3
Das Skript erledigt für Sie unter anderem folgende Aufgaben:


Ifconfig wlan0 down, ifconfig wlan0 up: Deaktivieren und wieder aktivieren des Interface auf
IP Ebene
iw wlan0 set type managed: Infrastruktur Modus

iwconfig wlan0 essid NAME channel 3 : SSID und Kanal einstellen


WPA2 Anmeldung, das Passwort wird dabei automatisch vom Skript übertragen
dhclient wlan0 : Adressvergabe über DHCP für das neu eingerichtete Interface
Zum Abmelden vom AP muss der Prozess „wpa_supplicant“ manuell beendet werden:
pkill wpa_supplicant
3.6.Verbindung zu einem Ad-Hoc / Mesh Netzwerk
Um sich mit einem Mesh Netzwerk verbinden muss das Interface zunächst in den IBSS, oder auch AdHoc Modus gebracht werden. Das nötige Skript dazu wird weiter unten beschrieben. Dann kann eine
Verbindung zu einem Ad-Hoc Netzwerk mit der Netzwerk-weiten SSID „NAME“ (ESSID - Extended
Service Set Identifier), welches auf dem Kanal mit der Frequenz 2,412 GHz betrieben wird,
hergestellt werden:
iw wlan0 ibss join NAME 2412
In den Versuchen benutzen wir ein vorgefertigtes Skript namens „ath5k_ad-hoc.sh“ dass das Setzen
der ESSID, sowie alle weiteren relevanten Schritte für den Ad-Hoc Modus für Sie übernimmt. Der
Aufruf erfolgt folgendermaßen:
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
17
./ath5k_ad-hoc.sh 1 0  Die erste Ziffer ist dabei die Nummer des jeweiligen Nodes (siehe Label
oberhalb des Bildschirms) und die zweite Ziffer beschreibt das Interface, also wlan0
Das Skript erledigt für Sie unter anderem folgende Aufgaben:


Ifconfig wlan0 down, ifconfig wlan0 up: Deaktivieren und wieder aktivieren des Interface auf
IP Ebene
Iwconfig wlan0 mode ad-hoc: Ad-Hoc Modus

iwconfig wlan0 essid NAME : ESSID einstellen

ifconfig wlan0 192.168.11.1: Statische IP einstellen (da wir keinen DHCP Server im Mesh
Netzwerk einrichten). Die IP wird abhängig von der Kennnummer des jeweiligen Nodes
generiert, deswegen ist es wichtig dass eine Nummer nur einmal im Netz verwendet wird
iwlist wlan0 channel: Auflisten aller sichtbaren Kanäle, der Nutzer muss sich hier auf einen
gemeinsamen Kanal für das Ad-Hoc Netzwerk festlegen
iwconfig wlan0 chan 1: Gewählten Kanal einstellen


3.7. WLAN Übertragungsrate einstellen
Die maximale Bandbreite mit der ein WLAN Interface senden und empfangen kann legen Sie fest mit:
iwconfig wlan0 rate 5M
Damit würden Sie die Rate beispielhaft auf 5 Mbit/s reduzieren.
4. Tools zur Messung
4.1. Ping
Das Ping Tool eignet sich gut um die generelle Erreichbarkeit eines anderen Netzwerkteilnehmers
festzustellen, aber auch um die durchschnittliche Paketlaufzeit zu ihm bestimmen. Ping nutzt das
ICMP Protokoll. Ein Client sendet ECHO_REQUEST Pakete aus die von der zu prüfenden Gegenstelle
mit ECHO_RESPONSEs beantwortet werden, wenn möglich. Mit Ping lässt sich die Round-Trip-Time
(RTT) bestimmen, die angibt wie lange es braucht ein Paket zu einer Gegenstelle zu senden und
dieses wieder von ihr zu empfangen. In größeren Netzen sollte man sich bei der RTT Messung nicht
ausschließlich auf Ping verlassen, da ICMP Pakete gegenüber dem (meist) üblichen TCP Verkehr
anders geroutet oder priorisiert werden. Trotzdem bietet Ping eine einfache Möglichkeit sich über
die RTT Performance einen Überblick zu verschaffen. Das Standardintervall für ausgesendete ICMP
Pakete ist eine Sekunde lang.
Ein einfacher Aufruf sieht folgendermaßen aus:
ping 192.168.11.5
Standardmäßig wird ein ICMP Paket pro Sekunde gesendet, die Anzahl der versendeten
ECHO_REQUEST Pakete lässt sich auch mit dem –c Argument (Count) begrenzen:
ping 192.168.11.5 –c 20
Strg. + c beendet das Tool.
Die Ausgabe liefert sowohl Echtzeitinformationen als auch eine Übersicht in der letzten Zeile. Hier
lässt sich beispielsweise die durchschnittliche Round-Trip-Time („rtt avg“) in Millisekunden ablesen.
man ping liefert weitere Optionen.
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
18
4.2. Route
Mit dem Tool route können Sie sich die Routing Tabelle des jeweiligen Geräts anzeigen lassen.
4.3. Traceroute
Mit Traceroute können alle Zwischen-Stationen die ein Paket in einem IP-Netzwerk passiert, bis hin
zum Ziel hin angezeigt werden. Ausgangspunkt ist dabei immer der ausführende Host. Traceroute
benutzt dazu multiple ICMP Pakete mit variablen Time-To-Live Werten, die den Weg eines Pakets
exakt abbilden, inklusive Laufzeiten zu den einzelnen Stationen. Traceroute bietet diverse
interessante Optionen, prinzipiell müssen Sie jedoch nur den Ziel-Host angeben:
traceroute 192.168.1.1 oder auch traceroute www.google.de
Gerade in Ad-Hoc Netzwerken, mit den sich mitunter ständig wechselnden Routing Tabellen, ist
Traceroute ein gutes Tool um den aktuellen Pfad zu einem Ziel in der Mesh Wolke zu bestimmen.
4.4. Iperf
Iperf ist ein Tool um UDP und TCP Traffic zu erzeugen. Solche Traffic Generatoren sind notwendig um
die Performance und die Belastbarkeitsgrenzen eines Netzwerks auszuloten, da normaler
Netzwerktraffic das Netzwerk meist kapazitiv nicht ausfüllt und zudem homogene und unstetige
Charakteristika aufweist. Mit Iperf lässt sich beispielsweise eine Volllast auf einer
Übertragungsstrecke erzeugen; das Verhalten des Netzwerks darauf kann dann später analysiert
werden.
Iperf gibt über die Konsole bereits eine Vielzahl von Netzwerk-Statistiken aus, darunter der Durchsatz
/ die Bandbreite, Latenz-Variationen (Jitter) und Paketverlustraten.
Eine Iperf Verbindung besteht aus einem Client und einem Server, die getrennt voneinander auf den
Enden der zu testenden Verbindung eingerichtet werden. Standardmäßig initiiert der Client die
Verbindung und generiert einen Upload Stream zum Server hin.
Standardmäßig benutzt iperf das TCP Transport Protokoll zur Datenübertragung, beherrscht aber
auch UDP. Wenn man nichts weiter spezifiziert wählt iperf automatisch TCP.
Iperf Server einrichten:
iperf –s
Iperf Server beenden: Tastenkombination Strg. + c
Iperf Client einrichten, der sich mit der Server-Adresse 192.168.2.10 verbinden soll:
iperf –c 192.168.2.10
Optionen die sowohl für den Iperf Client als auch für den Iperf Server gelten (Auszug):



-u
-l
-i

-f
UDP Modus
Länge eines UDP Datagramms in Bytes, zB. –l 1470 (1470 Bytes = Standard bei UDP)
Echtzeitausgabe der Messergebnisse, Intervalldauer wird in Sekunden angegeben, zB.
-i 1  Jede Sekunde wird der Iperf Output neu ausgegeben. Diesen Parameter
sollten Sie der Übersicht halber immer aktivieren!
Ausgabeformat der Bandbreite: bits(b), bytes(B), kilobits(k), kilobytes(K),
megabits(m), megabytes(M), gigabits(g) oder gigabytes(G), zB. –f K
Optionen die nur für den Client gelten (Auszug):

-b

-t
Achtung, nur im UDP Modus zu verwenden: Spezifiziert die gewünschte UDP
Senderate, zB. –b 10m  10 Mbit/s
Dauer der Verbindung in Sekunden, zB. –t 30
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
19
Statistiken:
UDP Modus
Sobald eine gestartete Verbindung beendet ist (entweder sie wurde zeitlich durch das –t Argument
begrenzt oder manuell mit Strg. + c beendet) empfängt der Client vom Server einen Report mit
wichtigen Statistiken zur Übertragung und gibt diese direkt auf der Konsole aus. Diese Statistiken sind
wichtig für Ihre Versuchsauswertung da sie Messgrößen wie die übertragene Datenmenge, den
Empfangsdurchsatz oder die Paketverlustrate enthalten.
TCP Modus
Nach einer beendeten TCP Verbindung lassen sich in der letzten Zeile die übertragene Datenmenge
und der durchschnittliche TCP Goodput ablesen.
4.5. Wireshark
Wireshark ist ein umfangreicher Netzwerk-Analyzer und ein Standard-Tool im IP-Bereich. Das
Programm erstellt Kopien von allen sichtbaren Paketen die den ausführenden Rechner verlassen
oder bei ihm eintreffen. Wireshark läuft immer nur auf einer Netzwerkkarte, also zB. auf dem WLAN
Interface oder auf der Ethernet Karte). Da in den Laborversuchen ausschließlich WLAN zum Einsatz
kommt, hängt die Art der sichtbaren Pakete von dem eingestellten Modus (Mode) ab. Im Monitor
Mode (siehe Kapitel 3.2) werden die meisten Pakettypen sichtbar, da hier zum Beispiel auch WLAN
Management Pakete, wie Access Point Beacon Frames, mit Wireshark aufgezeichnet werden.
Wireshark kennt den standardmäßigen Aufbau der Paketheader sehr vieler Protokollarten und stellt
diese automatisch gemäß der Schicht im OSI Modell korrekt dar. Sollte ein Paket nur Informationen
der Schicht 1 und 2 beinhalten, so kann dies daran liegen, dass die oberen Schichten durch WLAN
verschlüsselt wurden (WEP, WPA2). Um dies zu vermeiden, wird in manchen Versuchen die WLAN
Verschlüsselung auf dem Access Point ausgeschaltet.
Charakteristisch für Wireshark ist der zweigeteilte Aufbau des Hauptfensters. In der oberen Liste
finden sich alle aufgezeichneten Pakete. Über die verschiedenen Spalten lassen sie sich nach
Ankunftszeit, Protokoll, Paketgröße, etc. sortieren. Im Hauptfenster lassen sich auch diverse Filter
einstellen, um nur bestimmte Pakettypen anzuzeigen. Möchte man beispielsweise nur Pakete des
ICMP Protokolls anzeigen, so gibt man in der Filterzeile „icmp“ und bestätigt die Eingabe mit „apply“.
In der unteren Liste sieht man die Eigenschaften eines jeden Pakets, bzw. den Inhalt des Headers der
jeweiligen Schicht. Klickt man in der oberen Liste doppelt auf ein Paket, so öffnet sich dieselbe
Ansicht in einem separaten Fenster.
Neben den hier kurz genannten Features bietet Wireshark viele weitere Analyse tools, wie zum
Beispiel die Bandbreitenmessung oder die Visualisierung der TCP Flusskontrolle. Der Schwerpunkt
von Wireshark liegt auf den Protokollen der Schicht 3 und 4.
Wichtig ist, dass Wireshark stets als root Benutzer ausgeführt wird, da man sonst nicht Zugriff auf
die Netzwerkkarte und die passierenden Pakete bekommt.
Praktische Befehle mit Wireshark:

Wireshark ausführen: sudo wireshark

Beacon Frames ausblenden7: In der Filterzeile filter !(wlan.fc.type_subtype==8) eingeben
7
Quelle: http://www.lovemytool.com/blog/2010/02/wireshark-wireless-display-and-capture-filters-samplesby-joke-snelders.html
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
20

Beacon Frames und 802.11 ACK Frames ausblenden: In der Filterzeile (!wlan.fc.type_subtype
== 0x08) && (!wlan.fc.type_subtype == 0x1d) eingeben
5. Das Optimized Link State Routing Protocol OLSR
Grundlagen zu Ad-Hoc Netzwerken und zu dem OLSR Protokoll finden sich in den Versuchsunterlagen
zu Versuch 4.
Starten Sie OLSR mit folgendem Aufruf; dabei müssen Sie eine Konfigurationsdatei angeben:
olsrd –f PFAD ZUR CONFIG DATEI
Wir verwenden zwei Konfigurationsdateien während den Versuchen, dies sind die vollständigen
Pfade:
/home/tkadmin/olsr-config-files/olsrd-ett.conf (für die ETT Metrik)
/home/tkadmin/olsr-config-files/olsrd-etx.conf (Für die Standard Metrik ETX – Expected
Transmission Count)
Sie müssen jeweils den kompletten Pfad angeben.
Um OLSR zu beenden nutzen Sie die Tastenkombination Strg. + c.
Topologie anzeigen:
Wechseln Sie in das Benutzerverzeichnis /home/tkadmin/ (‚cd‘ eintippen), falls Sie sich nicht schon
dort befinden und starten Sie das Skript ‚topology‘:
./topology.pl
Dieses Skript muss nicht als root ausgeführt werden.
6. Anhang
1. IEEE 802.11 Kanalliste8
2. IEEE 802.11 Message Types9
8
9
Quelle: http://de.wikipedia.org/wiki/Wireless_Local_Area_Network#Frequenzen
Quelle: ANSI/IEEE Std 802.11, 1999 Edition (R2003), http://gaia.cs.umass.edu/wireshark-labs/802.11-1999.pdf
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
21
Anhang 1: IEEE 802.11 Kanalliste
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
22
Anhang 2: IEEE 802.11 Message Types
Begleithandbuch V. 1-5
Christian.Koebel@iem.thm.de
23