Anwendungsserver fordern bei ihrem Start beim Betriebssystem einen Port an, auf dem sie Verbindungen entgegennehmen können.
Für Standard-Anwendungen handelt es sich in der Regel immer um die gleichen festen Portnummern.
Anschließend ist der Netzwerk-Port fest mit der Anwendung verknüpft.
Clients erhalten vom Betriebssystem in der Regel einen zufälligen Port dynamisch zugewiesen.
Diese sind dann mit der Client-Anwendung verknüpft und stellen den „Rückweg“ zu dieser dar.
Der Client muss die Ziel-IP-Adresse und den Ziel-Port des Servers kennen.
Beim Verbindungsaufbau lernt der Server den Port des Clients kennen und adressiert Antwortpakete an diesen.
Ports sind 16-Bit-Werte (0–65535) und werden in drei Bereiche unterteilt:
Well-Known Ports (0–1023)
Registered Ports (1024–49151)
Dynamic/Private Ports (49152–65535)
Standard Ports
Port
Service
Port
Service
20
ftp-data
21
ftp
22
ssh
23
telnet
25
smtp
465
smtps
53
domain
67
bootps
68
bootpc
80
http
110
pop3
143
imap
161
snmp
389
ldap
443
https
445
microsoft-ds
636
ldaps
993
imaps
3128
squid
3306
mysql
3389
rdp
5432
postgresql
5900
vnc
8080
webcache
Weitere Aspekte der Port-Kommunikation
Multiplexing und das 5-Tupel
Ein einzelner Server-Port (z. B. Port 80) kann tausende Verbindungen gleichzeitig bedienen, ohne "belegt" zu sein.
Das Betriebssystem unterscheidet die eingehenden Datenpakete anhand des sogenannten 5-Tupels: {Quell-IP, Quell-Port, Ziel-IP, Ziel-Port, Protokoll}.
Solange sich mindestens einer dieser fünf Werte unterscheidet, wird das Paket einer separaten, eindeutigen Verbindung zugeordnet.
Privilegierte Ports unter Unix/Linux
Ports im Bereich von 0 bis 1023 gelten als privilegierte Ports.
Nur Prozesse mit Root-Rechten (Administrator) dürfen diese Ports binden und darauf auf Verbindungen warten (Listen).
Dies verhindert, dass normale Benutzer ohne Berechtigung einen gefälschten Dienst (z. B. einen manipulierten SSH-Server) auf einem Standard-Port starten.
Ephemeral Ports und TIME_WAIT
Die dynamischen Ports (Ephemeral Ports), die Clients für ausgehende Verbindungen nutzen, sind kurzlebig.
Nach dem Schließen einer TCP-Verbindung verbleibt der Port für eine kurze Zeit (meist 60–120 Sekunden) im Zustand TIME_WAIT.
Diese Sperre stellt sicher, dass verspätete Pakete der alten Verbindung nicht fälschlicherweise einer neuen Verbindung auf demselben Port zugeordnet werden.