Institut für Informatik
Filtern
Erscheinungsjahr
- 2010 (18) (entfernen)
Dokumenttyp
- Diplomarbeit (6)
- Ausgabe (Heft) zu einer Zeitschrift (6)
- Studienarbeit (4)
- Bachelorarbeit (1)
- Dissertation (1)
Schlagworte
- Netzwerk (2)
- Routing (2)
- hybrid automata (2)
- API (1)
- Algorithm Engineering (1)
- Authentisierung (1)
- Automatisches Beweisverfahren (1)
- Computational logic (1)
- Context-aware processes (1)
- Controlling (1)
Institut
- Institut für Informatik (18)
- Fachbereich 4 (6)
Ein Netzwerk, wie beispielsweise das Internet, ist eine Menge von Netzen, die durch Router miteinander verbunden sind. Ein Router ist ein Computer, der mit mehreren Netzwerkschnittstellen ausgerüstet und an mehrere Netze angeschlossen ist, um zwischen diesen Pakete zu vermitteln. Man kann ein Netzwerk auch als Graph repräsentieren, wobei Router als Knoten und Netze als Kanten angesehen werden können. Diesen Graph nennt man die Topologie des Netzwerks. Soll ein Paket in ein anderes Netz als das eigene gesendet werden, so wird es normalerweise dem sogenannten Default-Router gesendet. Dieser besitzt (wie jeder Router) eine Tabelle (die sogenannte Forwardingtabelle), die alle Netze enthält. Zusätzlich ist in der Tabelle der jeweilige Router eingetragen, über den das Netz am besten erreicht werden kann. So wird das Paket von einem Router zum nächsten geleitet, bis es das Zielnetz erreicht. Dabei schlägt jeder Router in seiner Tabelle nach, welches der nächste Router auf dem günstigsten Weg zum Zielnetz ist. Ein Routingprotokoll kümmert sich um den automatischen Austausch von Informationen zwischen den Routern, um die Forwardingtabelle aufzubauen und auf dem aktuellen Stand zu halten. Sind die Tabellen aller Router auf dem aktuellen Stand, so befindet sich das Netzwerk in einem konvergenten Zustand. Die Zeit, die benötigt wird, um die Forwardingtabelle aufzubauen beziehungsweise sie nach einer Änderung der Topologie zu aktualisieren, wird Konvergenzzeit genannt. Das Routingprotokoll RIP ist ein bekanntes und gut erforschtes Distanzvektor-Protokoll. Jedoch gibt es bisher nur wenige Untersuchungen der Konvergenzeigenschaften (wie z.B. benötigte Zeit, um in einen konvergenten Zustand zu gelangen, oder das dabei erzeugte Trafficvolumen) dieses Protokolls. Ziel der Arbeit ist es einen Zusammenhang zwischen den Topologieeigenschaften eines Netzwerks und den Konvergenzeigenschaften bei Verwendung des RIP-Routingprotokills experimentell zu ermitteln. Hierfür wurden über 5000 Einzelmessungen mit verschiedenen Topologien durchgeführt und statistisch ausgewertet. Aus den Ergebnissen wurden Formeln abgeleitet, mit deren Hilfe sich für ein beliebiges Netzwerk die Konvergenzeigenschaften anhand seiner Topologieeigenschaften approximieren lassen.
Die Entwicklung von Algorithmen im Sinne des Algorithm Engineering geschieht zyklisch. Der entworfene Algorithmus wird theoretisch analysiert und anschließend implementiert. Nach der praktischen Evaluierung wird der Entwurf anhand der gewonnenen Kenntnisse weiter entwickelt. Formale Verifffizierung der Implementation neben der praktischen Evaluierung kann den Entwicklungsprozess verbessern. Mit der Java Modeling Language (JML) und dem KeY tool stehen eine einfache Spezififfkationssprache und ein benutzerfreundliches, automatisiertes Verififfkationstool zur Verfügung. Diese Arbeit untersucht, inwieweit das KeY tool für die Verifffizierung von komplexeren Algorithmen geeignet ist und welche Rückmeldungen für Algorithmiker aus der Verififfkation gewonnen werden können.Die Untersuchung geschieht anhand von Dijkstras Algorithmus zur Berechnung von kürzesten Wegen in einem Graphen. Es sollen eine konkrete Implementation des Standard-Algorithmus und anschließend Implementationen weiterer Varianten verifffiziert werden. Dies ahmt den Entwicklungsprozess des Algorithmus nach, um in jeder Iteration nach möglichen Rückmeldungen zu suchen. Bei der Verifffizierung der konkreten Implementation merken wir, dass es nötig ist, zuerst eine abstraktere Implementation mit einfacheren Datenstrukturen zu verififfzieren. Mit den dort gewonnenen Kenntnissen können wir dann die Verifikation der konkreten Implementation fortführen. Auch die Varianten des Algorithmus können dank der vorangehenden Verififfkationen verifiziert werden. Die Komplexität von Dijkstras Algorithmus bereitet dem KeY tool einige Schwierigkeiten bezüglich der Performanz, weswegen wir während der Verifizierung die Automatisierung etwas reduzieren müssen. Auf der anderenrn Seite zeigt sich, dass sich aus der Verifffikation einige Rückmeldungen ableiten lassen.
Wireshark und VNUML Im Rahmen dieser Studienarbeit sollen einige Netzwerk-Protokolle mit dem Protokollanalyser Wireshark beobachtet und der Umgang damit beschrieben werden. Wireshark ist ein Ableger von "Ethereal", einem der bekanntesten Protokoll-Analyser. Wireshark analysiert Netzwerkverkehr, zeichnet ihn auf und stellt ihn übersichtlich dar. Für die Simulation des Netzwerks wird VNUML verwendet. Da VNUML nur unter Linux verwendet werden kann, wird andLinux als virtuelle Maschine dazwischen geschaltet um auch in Windows arbeiten zu können.