TU BRAUNSCHWEIG
| Carl-Friedrich-Gauß-Faculty | Computer Science
Informatikzentrum

Anpassung eines WLAN Treibers für latenzkritische Anwendungen

Student (anonymous, Login required)
Supervisor Dr. Oliver Wellnitz
Professor Prof. Dr.-Ing. Lars Wolf
Project games
IBR Group CM (Prof. Wolf)
Type Diploma Thesis
Status finished
Start 20. Dezember 2006

Funknetze sind im Gegensatz zu kabelgebundenen Netzen fehleranfälliger und haben häufiger unter temporären Störungen des Funkkanals zu leiden. Funktechnologien wie bspw. Wireless LAN (IEEE 802.11) arbeiten daher schon in der Medienzugriffsschicht mit Übertragungswiederholungen. Weiterhin passt ein Algorithmus die Datenrate des Senders für jeden Empfänger an die Gegebenheiten des Funkkanals an. All diese Ansätze sorgen dafür, dass die Anwendung von den Problemen des Funkkanals möglichst nichts mitbekommt. Allerdings bewirken Übertragungswiederholungen neben einer geringeren Übertragungsrate auch eine erhöhte zeitliche Verzögerung bei der Übertragung von Datenpaketen. Dies ist insbesondere für latenzkritische Anwendungen wie interaktive Spiele oder Audio- und Videoübertragungen problematisch.

In dieser Diplomarbeit soll eine treiberunabhängige Schnittstelle zwischen Betriebssystem und Anwendung entworfen und implementiert werden, die die existierende Socket-Schnittstelle ergänzt und Applikationen ermöglicht die Datenrate und die Anzahl von Übertragungswiederholungen für jedes zu sendende Datenpaket einzeln zu kontrollieren. Eine Applikation soll zusätzlich über erfolgreiche und fehlgeschlagene Übertragungsversuche informiert werden. Schliesslich ist ein WLAN-Treiber zur Nutzung dieser neuen Fähigkeiten anzupassen und das Ergebnis mit Hilfe einer Testanwendung geeignet zu evaluieren.

Vorhandenen Möglichkeiten zu Unterstützung von Dienstgütemechanismen, wie bspw. IEEE 802.11e, sind dabei zu berücksichtigen. Die Implementation soll für WLAN-Geräte mit dem Atheros-Chipsatz und dem Madwifi-NG Treiber für das Betriebessystem Linux erfolgen.

Für diese Diplomarbeit werden gute Kenntnisse der Programmiersprache C und der Socketprogrammierung vorausgesetzt. Erfahrungen mit Linux-Kernelprogrammierung sind wünschenswert aber nicht zwingend notwendig.


last changed 2007-06-21, 08:32
printemailtop