Advanced Networking

Praktikum Advanced Networking

Das Praktikum Advanced Networking ergänzt die gleichnamige Vorlesung im Informatik Master. Es beinhaltet drei größere Versuche, die sich jeweils über zwei Termine erstrecken und in Teilen Projektcharakter haben. Die Studierenden bereiten die Praktika individuell vor (PreLabs), komplettieren Programmieranteile zwischen den Praktikaterminen und erstellen einen wissenschaftlich fundierten Laborbericht(PostLab).

Das Praktikum umfasst aktuell die folgenden drei Themenbereiche:

Cloud Computing

An konkreten Aufgabenstellungen lernen die Studierenden den Umgang mit Cloud-Ressourcen und –Werkzeugen. Jeder Studierende hat einen eigenen Cloud-Account, mit dem er z.B. Cloud-Ressourcen in Irland, Kalifornien und Sydney zu einer verteilten Anwendung verknüpft. Neben Zugriffen mittels Kommandozeile und Rest-API, werden auch Cloud-Plugins für IDEs eingesetzt, um eine fehlertolerante Cloud-Anwendung oder ein Load-Balancing-Szenario zu realisieren, welches anschließend analysiert und bezüglich seiner Leistung vermessen wird.

Netzwerk Simulation

Abläufe in Netzwerken sind oft sehr komplex und Messungen in realen Systemen sind schwierig, bzw. nicht deterministisch wiederholbar. Insbesondere What-If-Fragestellungen erfordern den Einsatz von Netzwerksimulationswerkzeugen. Die Studierenden lernen in diesem Praktikum das Open-Source-Werkzeug NS3 zur Netzwerksimulation kennen und lösen damit konkrete Aufgabenstellungen. Sie modellieren zu untersuchende Netzwerkkonfigurationen, realisieren Testanwendungen und analysieren das Verhalten des Netzwerks unter einer generierten Last.

Distributed Hash Tables

Die Speicherung von Daten auf einem zentralen Server ist häufig aus Zuverlässigkeits- oder Skalierbarkeitsgründen nicht ideal. Peer-to-Peer-Lösungen, in denen Daten (redundant) an mehreren Orten gespeichert werden, gewinnen auch im Kontext von Cloud-Lösungen immer mehr an Bedeutung. Dieser Praktikumsversuch hat Projektcharakter und die Studierenden entwickeln eine konkrete verteilte Datenspeicherung basierend auf dem Ansatz der Chord Distributed Hash Tables. Das Leistungsverhalten des eigenen Programms wird über Messungen analysiert.