Nutzung von explizitem Stau-Feedback in TCP LoLa
- chair:Transportprotokolle
- type:Masterarbeit
- time:ab sofort
- advisor:
- person in charge:(offen)
Beschreibung
HINTERGRUND
TCP LoLa ist ein neues Staukontrollverfahren für TCP, das hier am Institut entwickelt wird. Hauptziel des Verfahrens ist es die Warteschlangenvorzögerung in Routern und Switches gering zu halten und dennoch einen hohen Durchsatz zu erzielen.
Aktuell versucht TCP LoLa das Ansteigen der Warteschlangenvorzögerung durch Messung der Round-Trip- Time zu erkennen und entsprechend zu reagieren. Solche Messungen sind aber immer fehleranfällig und enthalten grundsätzlich ein gewisses Rauschen. Daher soll in dieser Arbeit untersucht werden, wie die Leistungsfähigkeit von TCP LoLa mithilfe von explizitem Stau-Feedback verbessert werden kann.
AUFGABENSTELLUNG
Ziel der Arbeit ist es zunächst geeignete Parameter zu identifizieren, welche vom Netzwerk explizit an die Endsysteme signalisiert werden sollen (z.B. Warteschlangenvorzögerung, freie Kapazität, etc.). Diese Werte sollen zum Teil als “drop-in Replacement” für Werte genutzt werden, welche bisher nur geschätzt werden. Darüber hinaus bieten explizit signalisierte Werte auch neue Möglichkeiten. Daher sollen im Rahmen der Arbeit auch neue Ansätze und Algorithmen entwickelt werden, um dieses Potenzial zu nutzen.
TCP LoLa ist als Linux-Kernelmodul implementiert und soll im Rahmen der Arbeit erweitert werden. Als Zwischensystem im Netzwerk kommt ein spezieller Software-Switch zum Einsatz, der auf Basis des Dataplane Development Kit (DPDK) für Forschungszwecke entwickelt wurde. Dieser kann bereits eine Reihe von Werten an die Endsysteme signalisieren, ggf. ist diese Funktionalität jedoch zu modifizieren.
Die zu entwickelnde Variante von TCP LoLa soll in einem physischen Testbett evaluiert werden. Hierbei werden voraussichtlich Netzwerkkarten mit Übertragungsraten mit 10 Gbit/s und 100 Gbit/s, sowie Wide- Area-Links zum Einsatz kommen. Die Skalierbarkeit auf geringe Datenraten ist aber ebenfalls interessant.
Die weiteren Details können gerne in einem persönlichen Gespräch geklärt werden. Melden Sie sich dazu einfach unverbindlich per E-Mail für einen Termin.
ARBEITSUMGEBUNG
Der Arbeitsort steht Ihnen grundsätzlich frei, gerne können Sie aber unseren Pool-Raum zum arbeiten nutzen. Auf das Testbett, mit dem Sie arbeiten werden, wird üblicherweise entfernt (SSH, u.ä.) zugegriffen. Es wird regelmäßige Treffen geben, bei denen der Fortschritt besprochen wird und Fragen geklärt werden können.
VORAUSSETZUNGEN
Erfahrung im Einsatz von Linux, auch im Terminal und über SSH sind von großem Vorteil. Programmierkenntnisse in Python und in C sind erforderlich, Erfahrung mit Linux Kernel-Programmierung ist hilfreich. Ein grundlegendes Verständnis über das TCP- Protokoll wird vorausgesetzt.