SiP-Modell für OMNeT++
 Implementierung des SiP als OMNeT++-Modell

Das Session Initiation Protocol (SIP) ist ein Protokoll zur Einrichtung und Verwaltung von Multimedia-Sessions. Es hat sich z.B. in den letzten Jahren als eine Alternative zum H.323-Protokoll für die IP-Telefonie entwickelt. Um das Verhalten eines solchen Protokolls auch für größere Netze effizient untersuchen zu können bietet sich die Möglichkeit der Simulation. Das bedeutet, dass in einer Simulationsumgebung ein Modell des zu testenden Netzes erzeugt wird. Dort kann das Modell dann unterschiedlichen Einflüssen und Probeläufen ausgesetzt werden, ohne, dass das Netz wirklich schon existieren müßte. Die Simulation stellt also eine ressourcensparende Möglichkeit dar, ein zukünftiges Netzwerk zu testen.

In dieser Studienarbeit soll das SIP mit Hilfe der Simulationsumgebung OMNeT++ simuliert werden. OMNeT++ ist eine Simulationsumgebung, welche die Generierung komplexer Modelle aus grundlegenden Einheiten gut unterstützt. Beispielsweise können so große Netzwerke aus mehreren Server- und Client-Komponenten zusammen gefügt werden. In OMNeT++ lassen sich auch Zustandsautomaten direkt modellieren, was für Signalisierungsprotokolle besonders interessant ist.

Da es Zeit noch keine Implementierung des SIP für OMNeT++ existiert, besteht die Hauptaufgabe, ein Modell des Protokolls zu implementieren, aus dem dann ganze Netzwerke zusammen gestellt werden können. Der Aufbau und die Funktionen des SIP liegen als RFC veröffentlicht vor und können daraus entnommen werden. Um aber an dem modularen Prinzip der Simulationsumgebung fest zu halten, muss das Protokoll bzw. seine Funktionen sinnvoll untergliedert werden. Wir haben uns an die Untergliederung nach Host, Server und den Nachrichtenklassen entschieden, die so auch im RFC behandelt wird. Hierbei stellt der Host die Schnittstelle zum Anwender dar - also die so genannten "User Agent Clients" (UAC) und "User Agent Server" (UAS). Die Aufgaben des Servers sind die Entgegennahme von Registrierungsinformationen (Registrar), deren Veröffentlichung (Location Service), Abgabe von Umleitungsinformationen (Redirect Server) und die Nachrichtenweiterleitung (Proxying). Für diese Dienste können jeweils einzelne Server eingesetzt werden - sinnvoller Weise sollte ein Server aber alle Dienste beherrschen. Serverseitig befaßt sich diese Arbeit allerdings vorwiegend mit der Nachrichtenweiterleitung - den SIP-Proxies. Die Nachrichtenklassen sind in "Anfrage" (Request) und "Antwort" (Response) untergliedert.

Ziel ist somit OMNeT++-Module für die beschriebenen Module des SIP zu entwickeln, die dann zu kleinen (und später auch großen) Netzwerken zusammen gesetzt werden können. Beispielhaft seien im Folgenden zwei Netze dargestellt:

Einfaches Netzwerk
Netz mit einem einfachen Weiterleitungsproxy.

Entwickeltes Netzwerk
Komplexeres Netz mit einem Proxy, der mehrere Anfragen erzeugt.

Das Ergebnis jeder Simulation kann immer nur so gut, wie das zugrunde gelegte Modell sein. Alle Einflüsse auf das reale Netzwerk müssen in das Modell mit aufgenommen und dort verarbeitet werden. Vor der Implementierung ist also zu untersuchen, welche Einflüsse auf den Untersuchungsgegenstand wirken und wie sie ihn beeinflussen. Da das SIP auf den schon vorhandenen UDP-Socket der IP-Suite aufsetzen soll, und wir davon ausgehen, dass dieser gewissenhaft überprüft wurde, beschäftigt uns die Umgebung des Protokolls in dieser Studienarbeit allerdings nur am Rande.

zurück / back