Problems
of TCP in Wireless Mesh Networks
TCP ist ein bedeutendes Protokoll im Internet und auch
in WMNs, wenn diese beispielsweise Internet-Zugang bereitstellen.
Allerdings leidet die Leistung von TCP im Besonderen unter den
veränderten Bedingungen in WMNs. In diesem Praktikum wollen wir die Probleme
von TCP in WMNs mit Hilfe eines Netzwerksimulators näher beleuchten und
Lösungsansätze diskutieren.
Das Praktikum soll das Verständnis von folgenden
Verfahren, Methoden, Protokollen und Werkzeugen vertiefen:
- TCP, TCP in Wireless Networks
- Wireless Medium Access in WMNs, IEEE 802.11
- Modelle der Signalausbreitung in
Paket-Simulatoren
- Routing in WMNs, Open Link State Routing (OLSR)
- Leistungsbewertung mittels Netzwerksimulatoren
auf Paket-Basis
- Ns-3 & Network Simulation Cradle
- Wireshark, TcpTrace
Voraussetzungen
- Ns-3 (Trunk oder 3.4, in VMWare Image schon
enthalten, sonst www.nsnam.org)
- Nsc (0.5.0, in VMWare Image schon enthalten,
sonst
www.wand.net.nz/~stj2/nsc)
- Wireshark, TcpTrace
- Python & C++ IDE (Empfehlung: Eclipse oder
Netbeans)
Aufgaben
-
Informieren Sie sich (sofern
erforderlich) über TCP und die Probleme von TCP in drahtlosen
Netzwerken (siehe dazu Abschnitt „Weiterführende Literatur“).
Informieren Sie sich zusätzlich, welche TCP Varianten im ns-3 und im
nsc verfügbar sind.
-
Vorbereitung: Ermitteln Sie die
charakteristische Distanz-PER Kurve (siehe dazu das
Beispiel-Programm “wifi-adhoc.cc”). Realisieren Sie ein Rician
Fading Model im Simulator nach Punnoose et al. (siehe
Literaturhinweise) und wiederholen Sie die Messung mit den
Parametern K=6 [dB] und MaxVelocity=2.5 [m/s].
Hinweis: Die aktuellen Konfiguration können Sie mit dem
GtkConfigStore einsehen.
-
Im ersten Schritt wollen wir die
Probleme von TCP in drahtlosen Netzwerken reproduzieren. Richten Sie
dazu die folgenden Szenarios mit Hilfe von ns-3 ein. Es soll jeweils
eine große Datei zwischen Sender(n) und Empfängern ausgetauscht
werden. Als Routing-Protokoll soll OLSR zum Einsatz kommen (soweit
erforderlich). Bedenken Sie, dass das Routing-Protokoll einige Zeit
zum Stabilisieren der Routingtabellen braucht. Es soll keine
Bitraten-Adaption stattfinden (6 Mbps). Achten Sie darauf, dass auf
MAC Ebene nicht Fragmentiert wird und kein RTS/CTS Austausch
stattfindet. Erhöhen Sie die Maximum Segment Size auf die für das
Internet typische Größe. Setzen Sie den CCA Mode 1 (Energy)
Threshold auf den im IEEE 802.11g spezifizierten Wert. Heben Sie
zusätzlich den Energy DectectionThreshold um 5 dB über den für IEEE
802.11a/g typischen Wert für thermisches Rauschen. Verwenden Sie
obiges Fading-Modell. Analysieren Sie die Ausgaben mit den
Werkzeugen Wireshark und TcpTrace. Entscheiden Sie, welche
Größen für Aussagen über die Performance aussagekräftig sind.
Szenarios:
-
Single Hop mit fester (aber
parametrisier-barer) Entfernung zwischen den Knoten, ein Sender und
ein Empfänger.
-
Kette von n Knoten (Parameter n) mit
gleicher Entfernung(Parameter). Sender und Empfänger sitzen jeweils
an den Enden der Kette.
-
Analog zu b, nur dass der Empfänger
ein mobiler Knoten ist, der in der Nähe des Senders startet und
entlang der Kette zu deren anderen Ende fährt (mit
parametrisier-barer Geschwindigkeit).
-
Analog zu b, allerdings mit einem
zusätzlichen TCP-Fluss zwischen Knoten im Inneren der Kette.
-
Messen Sie die Performance der ns-3 TCP-Implementierung und des Linux 2.6 Stacks in allen Szenarios in
Abhängigkeit der Parameter und stellen Sie der Ergebnisse grafisch
dar. Welche Probleme im Zusammenhang mit der Leistung des TCP können
Sie in Ihren Ergebnissen ausmachen, und wo liegen deren Ursachen?
Hinweis: Zur Erfassung von Messwerten können Sie das Statistical
Framework des Simulators verwenden (http://www.nsnam.org/wiki/index.php/Statistical_Framework_for_Network_Simulation).
-
Ein Ansatz zur Leistungssteigerung
von TCP in drahtlosen Netzwerken ist Westwood+. Dieses Protokoll ist
im Linux-Stack implementiert. Bewerten Sie anhand von Simulationen
analog zu Aufgabe 2, ob und in wie weit diese Erweiterung die
Probleme lösen kann.
Zusatz
Mit dem Berlin RoofNet steht uns ein
reales Maschennetzwerk auf IEEE 802.11 Basis zur Verfügung. Sie können
Ihre Simulationsergebnisse zusätzlich im Berlin RoofNet validieren.
Nehmen Sie dazu Kontakt mit Ihrem Praktikumsleiter auf, der Ihnen einen
Zugang bereitstellt.
Abzugeben sind
-
Ein Bericht, der die durchzuführenden
Messungen protokolliert und auswertet (HTML oder PDF). Der
Versuchsaufbau und die Durchführung soll reproduzierbar beschrieben
werden (Topologie, Parameter, etc.).
-
Den finalen Quellcode aus Aufgabe 6
als ein ZIP-Archiv.
Literatur
|
Stevens. TCP/IP
Illustrated. |
|
Tian, Xu, Ansari.
TCP in wireless environments: problems and solutions. |
|
Fu, Zerfos, Luo,
Lu, Zhang, Gerla. The impact of multihop wireless channel on TCP
throughput and loss. |
|
Ns-3.
http://www.nsnam.org/ |
|
Ns-3 Documentation.
http://www.nsnam.org/doxygen,
file://home/user/Projects/ns-3/doc |
|
Workshop on ns-3.
http://www.nsnam.org/wiki/index.php/Wns3-2009. |
|
Network Simulation
Cradle.
http://research.wand.net.nz/software/nsc.php
|
|
Matthew Gast.
802.11 Wireless Networks: The Definitive Guide, Second Edition.
O'Reilly, 2005. |
|
Walke. IEEE 802
Wireless Systems: Protocols, Multi-Hop Mesh/Relaying,
Performance and Spectrum Coexistence. Wiley & Sons, 2006. |
|
RFC3626: Optimized
Link State Routing Protocol (OLSR).
http://portal.acm.org/citation.cfm?id=RFC3626
|
|
Lacage. Yet Another
Network Simulator, 2006. |
|
Punnoose. Efficient
simulation of Ricean fading within a packet simulator, 2000.
Quellen:
http://www.winlab.rutgers.edu/~zhibinwu/html/ns_fading_error.html
|
|
IEEE 802.11abg
Standards. |
|
Koukoutsidis.
TCP over 3G links: Problems and Solutions, 2009.
|
|
|