Port
Ein Port (engl. Anschluss) ist ein Teil einer Adresse, der Datensegmente einem Netzwerkdienst zuordnet.
Konzept
Das Port-Konzept ist beispielsweise in TCP, UDP und SCTP vorgesehen, um Protokolle auf den höheren Schichten des OSI-Modells zu adressieren. In diesen drei Protokollen ist die Portnummer 16 Bit gross, sie kann also Werte von 0 bis 65535 annehmen.
Port | Bezeichnung | Beschreibung |
---|---|---|
0 - 1023 | well known ports | Bestimmten Anwendungen von der IANA fest zugeordnete und allgemein bekannte Ports. |
1024 - 49151 | registered ports | Von Anwendungsherstellern für eigene Protokolle bei der IANA registrierte Ports. Die Registrierung hat den Vorteil, dass eine Anwendung anhand der Portnummer identifiziert werden kann - allerdings nur, wenn die Anwendung tatsächlich den registrierten Port verwendet. |
49152 - 65535 | dynamic ports private ports |
Variabel einsetzbare unregistrierte Ports, die keiner Anwendung zugeordnet wurden. |
Damit ein Rechner gleichzeitig mehrere Verbindungen (engl. multiplexing) bearbeiten kann, müssen diese voneinander unterschieden werden. Dazu bedient sich das Transmission Control Protocol der Ports. Jeder Anwendung, die TCP benutzen will, wird ein Port zugeordnet. Es gibt 65'536 verschiedene, fortlaufend numerierte Ports. Es gelten folgende Grundsätze:
- Ein Paar aus IP-Adresse und Port wird Socket genannt.
- Eine Verbindung zwischen zwei Rechnern ist eindeutig durch zwei Sockets bestimmt.
- Ein Rechner kann mehrere TCP-Verbindungen gleichzeitig bearbeiten. Dafür werden verschiedene Ports bestimmt. Dieser Vorgang wird Multiplexing genannt.
Beispielsweise kommunizieren Webclient (z. B. ein Webbrowser) und Webserver mit Hilfe von IP-Adressen und Ports auf direktem Wege miteinander:
CLIENT Quell-IP-Adresse:Quell-Port SERVER Ziel-IP-Adresse:Ziel-Port 192.168.1.42:5000 -------------------------> 192.168.1.1:80 CLIENT Ziel-IP-Adresse:Ziel-Port SERVER Quell-IP-Adresse:Quell-Port 192.168.1.42:5000 <------------------------- 192.168.1.1:80
Wichtige TCP- und UDP-Ports sind die folgenden.
Port | Dienst | Erläuterung | Netzwerkprotokolle |
---|---|---|---|
20 | ftp-data | Dateiübertragung (Default data) | TCP |
21 | ftp | Dateiübertragung (Control), der Standardport | TCP |
22 | ssh | Telnet Secure Shell (SSH) | TCP |
23 | telnet | Telnet | TCP |
25 | smtp | Mailversand mit SMTP | TCP |
53 | domain | Namensauflösung (DNS) | TCP, UDP |
68 | Dynamische IP-Adresszuordnung (DHCP) | TCP, UDP | |
79 | finger | Finger | TCP |
80 | www-http | Browsen mit HTTP | TCP |
110 | Mails abrufen mit POP3 | TCP | |
123 | ntp | Zeitdienst NTP | TCP, UDP |
143 | imap2 | Mails abrufen mit IMAP | |
443 | Verschlüsselt browsen mit HTTPS | TCP | |
995 | Verschlüsselt Mails abrufen mit POP3S | TCP |
Sicherheit
Um mit einer Anwendung zu kommunizieren, greift ein Client auf den entsprechenden Port eines auf dem Server laufenden Netzwerkdiensts zu. Von aussen erreichbare Netzwerkdienste stellen jedoch immer ein Sicherheitsrisiko dar, als mögliche Angriffspunkte dienen Angreifern eine fehlerhafte Konfiguration oder Sicherheitslücken im Programm.
Mit einer Firewall lässt sich der Zugriff von aussen abschotten.
Die Ports müssen ohnehin nicht dauerhaft offenstehen: das Programm Knock erlaubt es, bestimmte Ports gewissermassen auf Zuruf zu öffnen und wieder zu schliessen.