next up previous contents
Next: 3.3.1 Einen Socket erzeugen Up: 3 Migrationsverfahren Previous: 3.2.4 Zusammenfassung

3.3 Anwendungsentwicklung

  Anwendungen für BSD-basierte Unix-Betriebssysteme wie auch einige Nicht-Unix-Systeme greifen auf Netzdienste meist über die Socket-Schnittstelle zu. In einigen Funktionen dieser Schnittstelle werden IP-Adressen für die Anwendung sichtbar. Wollen Anwendungen über das neue Internet-Protokoll kommunizieren, müssen sie mit 128 Bit langen IP-Adressen und, je nach Zweck der Anwendung, mit einigen der in IPv6 neu eingeführten Features wie Flußkennzeichnung und Priorität umgehen können.

Pläne der Hersteller von Werkzeugen wie Perl, Tcl/Tk, Java und ähnlichen, das Internet-Protokoll Version 6 zu unterstützen, sind gegenwärtig nicht bekannt. Die folgende Untersuchung beschränkt sich daher auf die in der Programmiersprache C notwendigen Änderungen.

Um auf die Funktionalität des neuen Internet-Protokolls zugreifen zu können, sind einige Erweiterungen der Socket-Schnittstelle notwendig. Grundlegende Erweiterungen wie eine neue Datenstruktur zur Aufnahme von IPv6-Adressen und zur Namensauflösung werden in [Gilligan 97] beschrieben. Zusätzliche Erweiterungen für den Zugriff auf Raw Sockets und die Erweiterungsheader schlägt [Stevens 97] vor.

Für die Änderungen der Schnittstelle waren mehrere Designüberlegungen maßgebend:

Zur Veranschaulichung der grundlegenden Erweiterungen wird im folgenden ein kleines Beispiel zur Client-Server-Programmierung entwickelt und von der IPv4-Socket-Schnittstelle auf die erweiterte, nun IPv6-fähige Socket-Schnittstelle portiert. Die Auswahl der im Beispiel verwendeten Funktionen erhebt keinen Anspruch auf Vollständigkeit, versucht aber, alle wichtigen Funktionen zu berücksichtigen. Dieses Thema könnte z.B. in einem Systempraktikum ausführlich behandelt werden.

Das Beispiel besteht aus zwei Programmen, einem Server, der auf TCP-Verbindungswünsche wartet und empfangene Mitteilungen ausgibt, und einem Client, der Mitteilungen an den Server schicken kann. Die kompletten Quelltexte sind in Anhang B zu finden.



 
next up previous contents
Next: 3.3.1 Einen Socket erzeugen Up: 3 Migrationsverfahren Previous: 3.2.4 Zusammenfassung
Copyright Munich Network Management Team