Ein Port ist eine numerische Kennung, die in den Transportprotokollen TCP und UDP verwendet wird, um einen konkreten Dienst oder eine konkrete Anwendung auf einem Gerät zu adressieren. Erst die Kombination aus IP-Adresse und Port erlaubt es einem Netzwerkstack, eingehende Datenpakete dem richtigen Programm zuzustellen.
Ohne Ports ließe sich auf einem Server zwar erreichen, welches Gerät gemeint ist — nicht aber, welcher Dienst dieses Geräts. Erst die Portnummer trennt z. B. einen Webserver von einem Mailserver, der auf derselben Maschine läuft.
Wertebereich und Kategorien
Eine Portnummer ist 16 Bit groß und nimmt damit Werte von 0 bis 65535 an. Die IANA unterteilt diesen Bereich in drei Klassen:
- Well-Known Ports (0–1023) — fest vergebene Standard-Ports für verbreitete Dienste, z. B.
80(HTTP),443(HTTPS),22(SSH),25(SMTP),53(DNS). - Registered Ports (1024–49151) — registrierte Ports für bestimmte Anwendungen, ohne Reservierungspflicht.
- Dynamic / Ephemeral Ports (49152–65535) — werden vom Betriebssystem temporär für ausgehende Verbindungen vergeben.
TCP-Ports und UDP-Ports
TCP und UDP führen jeweils eigene, voneinander unabhängige Port-Nummernkreise. Ein Dienst auf TCP/53 ist also etwas anderes als ein Dienst auf UDP/53, auch wenn beide üblicherweise zusammen genutzt werden — etwa beim DNS.
Sockets und Verbindungen
Eine vollständige Verbindung wird über einen Socket identifiziert, also über das Tupel aus Quell-IP, Quell-Port, Ziel-IP und Ziel-Port. Damit kann ein Server mehrere parallele Verbindungen zum selben Port halten, ohne dass diese sich gegenseitig stören — jede Verbindung bekommt clientseitig einen anderen ephemeren Port.