Damit Prozesse über Sockets miteinander kommunizieren können, müssen Netzadressen ermittelt und erzeugt werden. Zu diesem Zweck stellt die SOCKETS-Bibliothek verschiedene Hilfsfunktionen und Makros bereit, die in diesem Kapitel vorgestellt werden. Ausführlich beschrieben sind alle Hilfsfunktionen in "Benutzerfunktionen von SOCKETS(POSIX)".
Bevor ein Client und ein Server miteinander kommunizieren können, muss der Client zunächst den Service auf dem fernen System ermitteln. Die Ermittlung des betreffenden Service erfordert dabei folgende Stufen der Adressumwandlung:
Zur besseren Verständlichkeit sind auf Anwenderprogramm-Ebene einem Service und einem Rechner Namen zugeordnet, z.B. der Service telnet auf dem Rechner monet.
Das System wandelt einen Service-Namen in eine Service-Nummer (Portnummer) um und einen Rechnernamen in eine Netzadresse (IPv4- bzw. IPv6-Adresse).
Anhand von Portnummer und IPv4- bzw. IPv6-Adresse ermittelt das System die Route zu dem Rechner, auf dem der Service angeboten wird.
Es ist nicht sinnvoll, dass anhand der Rechnernamen der Standort, also die physikalische Adresse eines Rechners erkannt wird. Vielmehr ist es Aufgabe von tieferliegenden Netzdiensten, den Standort eines Rechners zum Zeitpunkt herauszufinden, zu dem ein anderer Rechner mit ihm kommunizieren möchte. Auf diese Weise ist es möglich, den physikalischen Standort eines Rechners zu verändern, ohne dass dies Auswirkungen auf die Adressierung durch seine Kommunikationspartner hat.
Folgende Umwandlungsfunktionen werden angeboten:
Rechnernamen zu Netzadressen und umgekehrt
Netznamen zu Netznummern
Protokollnamen zu Protokollnummern
Service-Namen zu Portnummern und dem zuständigen Protokoll zur Kommunikation mit dem Server
Wenn Sie eine dieser Funktionen verwenden wollen, müssen Sie die Datei <netdb.h> includieren.
Programmbeispiele, die die Verwendung der nachfolgend beschriebenen Umwandlungs-Funktionen zeigen, finden Sie in "Client/Server-Modell bei SOCKETS(POSIX)".