Ports und Sockets / Netzwerkgrundlagen

 

 

Ports

In einem PC-Netzwerk, egal bei welcher Topologie, kann die Aufgabe eines PCs aus mehreren Diensten (Servern) bestehen.

Wie soll man nun die einzelnen Dienste voneinander unterscheiden? Wie weiß dieser Rechner, welchen Dienst er wann auszuführen hat? Dieser Frage wollen wir in diesem Kapitel nachgehen...

Die IP-Addresse im Netzwerk ist zwar auch wichtig, damit wird aber erstmal nur die Verbindung zum jeweiligen PC gewährleistet.
Der PC verwendet diverse Ports, um die Dienste (Server) den Clients, die diese Dienste anfragen, zur Verfügung zu stellen.

Man kann sich die Situation so vorstellen :
Der Client, nehmen wir es mal so, ist ein Mensch am Ende eines Ganges und er hat nun 4 Türen vor sich, er will aber nur durch ein bestimmte Tür, weil jede Tür einen anderen Weg freigibt. Er klopft also an die Tür, durch die er durch möchte, und der Schlüsselmeister auf der anderen Seite weiß genau welche Tür er zu öffnen hat bzw. vor welcher Tür der Ankömmling steht.

Genauso ist es im Netzwerk. Der Client startet eine Anfrage an den Server, welcher mehrere Dienste verwaltet und diese nur noch starten muß. Der Client gibt dabei den Port mit an, damit der Server weiß, welchen Dienst er ihm zur Verfügung stellen muß. Eine ganze einfache Sache....

Hier kommt ein neues Fachwort mit ins Spiel... der Server-Daemon. Diesen kann man sich wie den Schlüsselmeister vorstellen, nur das in diesem Falle jeweils ein Daemon auch nur einen Dienst überwacht und diesen startet, falls eine Anfrage vom Client aus kommt.

Es gibt einige fest definierte Ports, die durch die jeweiligen Daemons überwacht werden.
Es folgt eine kleine Graphik mit den wichtigsten Ports, die Ihnen auch begegnen werden :

 

FTP Port 21 
Telnet Port 23 
HTTP Port 80 
SMTP Port 25 
SSH Port 22 
POP3 Port 110 

 

 

Sockets

Mit dem Begriff Socket umschreibt man im PC-Netz die Verbindung zwischen 2 Prozessen, die auf dem gleichen Rechner ablaufen können.

Es gibt den offenen Socket und den geschlossenen. Ein Socket entsteht immer dann, wenn der Client eine Anfrage an den Server richtet. Der offene Socket besteht demnach aus seinen 4 Teilen Quell-Host + Quell-Port (auf Seiten des Clients), Ziel-Host und Ziel-Port (auf Seiten des Servers). Wenn ein Server einen Dienst nicht anbieten sollte bzw. der Port gesperrt ist, liegt ein geschlossener Socket vor, und zwar in diesem Falle nur mit Quell-Host und -Port auf Seiten des Clients.

Ein Socket verfügt bei einer Netzwerkverbindung auf beiden Seiten, beim Client und beim Server, logischerweise über die geeigneten Ports.

Wenn der Client versucht, eine Verbindung zum Server aufzubauen, sucht er sich zunächst einen freien Port auf seinem System, der von keinem anderem laufendem Programm benutzt wird, damit hier keine Systemprobleme auftreten können. Über seinen Quell-Port baut er dann die Verbindung zum Ziel-Host auf. Natürlich, wenn man sich dieses einmal veranschaulicht, können somit auch mehrere Sockets zwischen Client und Server aufgebaut sein. Ein praktisches Beispiel : Wenn der Client über den Port 80 eine Verbindung zum Web-Server hergestellt hat, kann er, wenn er noch freie Ports hat, natürlich auch mehrere Sockets aufbauen, in diesem Falle lassen sich z.B. mehrere Browser-Fenster öffen (Sie kennen dies bestimmt auch aus der Realität an Ihrem Arbeitsplatz).

 

zurück zu den Grundlagen

Sind noch Fragen offen ?!

Dann tauschen Sie doch Wissen aus - und zwar in meiner Community !

Einfach auf den Banner rechts klicken und Sie können sich registrieren !!!

Einfach auf den Banner rechts klicken und Sie können sich registrieren !!!