Netzwerk-Sockets für Ihre Anwendungen

Sie arbeiten wie selbstverständlich mit Ihrem Computer, Notebook oder Smartphone im Internet oder Firmennetzwerk. Die installierten Anwendungen wie Office-Programme oder Internet-Browser können alleine überhaupt keine Daten über das Netzwerk verschicken. Sie benutzen lediglich ihre eigenen Mechanismen, und die sind von Applikation zu Applikation unterschiedlich. Damit Ihre erzeugten Daten trotzdem an ihr Ziel kommen, bedarf es einer unabhängigen Schnittstelle, die alle Anwendungen nutzen können. Sämtliche im Netzwerk aktiven Betriebssysteme bieten daher eine solche „Zwischenschicht“ an. Diese APIs werden im Allgemeinen „Netzwerk-Sockets“ genannt.

Computeranwendungen arbeiten autark

Jede Applikation arbeitet mit ihren eigenen Mitteln. Unterschiedliche Programmiersprachen und verschiedene Protokolle machen eine übergreifende Kommunikation unmöglich. Jedes Programm auf Ihrem Rechner arbeitet für sich allein. Sie würden als Anwenderin oder Anwender relativ schnell keinen Bedarf mehr an einer Software haben, wenn diese keine Daten übers Netzwerk verschicken könnte. Daher haben alle Applikationen eine Programmierschnittstelle, die eine Verbindung mit dem Betriebssystem aufnehmen kann.

Das Betriebssystem übernimmt den Transport

Jedes Betriebssystem, das netzwerkfähig sein will, benötigt Netzwerk-Sockets als API Schnittstelle für den Übergang von der Netzwerkhardware (Netzwerkkarte, Switchport-Anschluss, etc.) zu den Programmen. Da die Hardware auf den unteren OSI-Schichten eine einheitliche Sprache spricht, müssen die Netzwerk-Sockets die unterschiedlichen Programmcodes in eine Form „gießen“, die für alle lesbar ist.

Für weitere Informationen lesen Sie bitte die Artikel bzgl. des OSI-7-Schichtenmodells (Teil 1 und Teil 2) sowie „TCP/IP Referenzmodell und OSI-Modell im Vergleich„.

Was sich in den Netzwerk-Sockets befindet

Die Netzwerk-Sockets beinhalten im Wesentlichen die Sendeinformationen. Hierunter fallen die IP-Adressen Ihres Rechners und des Endgerätes, mit dem Sie kommunizieren wollen. Dazu werden alle für die Übertragung der Daten wichtigen Details in einen maschinennahen Code umgewandelt und die eigentlichen Anwendungsdaten angehängt. Es gibt zwei Arten von Netzwerk-Sockets. Die eine arbeitet verbindungsorientiert und nutzt das Protokoll TCP (Transmission Control Protocol). Bei diesen Stream-Sockets werden die Daten erst übertragen, wenn der Adressat die Empfangsbereitschaft bestätigt hat. Bei der anderen Variante, die als Datagram-Sockets bezeichnet werden, werden die Daten verbindungslos transportiert. Hier wird das UDP-Protokoll (User Datagram Protocol) genutzt, welches die Daten ohne Bestätigung versendet. Wenn Sie mit einem Netzwerk-Sniffer umgehen können, würden Sie die Arbeit der Netzwerk-Sockets in den Frames (Rahmen) der Datenpakete wiederfinden.