Wikipedia · einfach zusammengefasst · Stand
Port (Netzwerkadresse)
Zusammen mit der IP-Adresse ermöglicht der Port die Adressierung eines Servers oder Clients. Durch Angabe von Quell- und Zieladresse, jeweils bestehend aus IP …
Inhalt4 Abschnitte
Grundidee und Zweck
Ein Port bzw. eine Portnummer ist eine Netzwerkadresse innerhalb eines Rechners. Das Betriebssystem ordnet damit Datenpakete eines Transportprotokolls dem passenden Prozess zu. Erst die Kombination aus IP-Adresse und Port adressiert einen Server oder Client genau. Quell- und Zieladresse bestehen jeweils aus IP-Adresse und Port; zusammen können sie eine bestehende Verbindung eindeutig kennzeichnen.
TCP (Transmission Control Protocol) und UDP (User Datagram Protocol) verwenden Portnummern mit 16 Bit. Der mögliche Bereich reicht daher von 0 bis 65.535 (2^16 − 1).
Ports unterscheiden vor allem mehrere gleichzeitige Verbindungen zwischen denselben beiden Hosts. IP-Adressen allein reichen dafür nicht aus. Außerdem können Ports Netzwerkprotokolle und Dienste erkennen lassen, weil Dienste meist standardisierte Portnummern verwenden.
Beispiel: Ein Browser kann gleichzeitig zwei HTTPS-Downloads vom selben Webserver starten. Dazu verwendet er clientseitig unterschiedliche Ports, während beide Verbindungen zum Serverport 443 führen. Der Server kann die Antworten dadurch den jeweiligen Verbindungen zuordnen. HTTPS-Webserver verwenden standardmäßig TCP-Port 443; ohne ausdrücklich angegebene Portnummer versucht ein Browser daher üblicherweise, Port 443 zu erreichen. Eine TCP-Verbindung zu diesem Port ist ein starkes Indiz für HTTPS.
Verbindungsaufbau
Ein Server beantragt beim Betriebssystem einen lauschenden Socket auf einem bestimmten Port, damit er Verbindungen annehmen kann. Ein Socket ist dabei ein Zugangspunkt für die Netzwerkkommunikation. Bei Standardanwendungen ist die Portnummer bei der IANA registriert und damit üblicherweise der Server-Anwendung fest zugeordnet; ein Administrator kann sie bei Bedarf ändern.
Ein Client beantragt für eine ausgehende Verbindung normalerweise einen Socket mit zufälligem Port. Das Betriebssystem vergibt in der Regel eine zufällige Portnummer ab 49.152, weil dort keine Ports registriert sind. Der Client kann auch gezielt einen bestimmten Port verlangen, etwa für verbindungslose Peer-to-Peer-Systeme.
Der Client beginnt den Verbindungsaufbau und muss dazu den Serverport kennen. Der Server erfährt dabei den Port des Clients und kann an diesen zurückantworten.
Registrierung und Portbereiche
RFC 6335 beschreibt seit 2011 das Verfahren, nach dem die Internet Assigned Numbers Authority (IANA) Ports Protokollen zuordnet. Es gibt drei Bereiche:
-
System Ports: 0 bis 1023 (0_hex bis 3FF_hex), auch „well-known Ports“. Sie sind für Netzwerkdienste vorgesehen. Einige Nummern, etwa 0 und 1023, sind reserviert und werden nicht vergeben. Neue Zuordnungen benötigen die Beteiligung der Internet Engineering Task Force (IETF) und die Zustimmung der Internet Engineering Steering Group; außerdem muss begründet werden, warum andere Bereiche ungeeignet sind. Auf Unix-artigen Systemen sind die Ports 1 bis 1023 privilegiert und erfordern root-Rechte. Port 0 wird nicht für Netzwerkkommunikation verwendet.
-
User Ports: 1024 bis 49.151 (400_hex bis BFFF_hex). Sie sind für registrierte Netzwerkdienste vorgesehen. Neue Zuordnungen können je nach Verfahren mit oder ohne IETF-Beteiligung erfolgen. Gängige Betriebssysteme stellen diesen Bereich Clients und Servern bereit, wenn eine Anwendung ihn ausdrücklich anfordert.
-
Dynamic Ports: 49.152 bis 65.535 (C000_hex bis FFFF_hex). Das Betriebssystem weist sie dynamisch zu; die IANA registriert dort keine Ports. Windows Vista und Windows Server 2008 verwenden diesen Bereich standardmäßig für Clientprogramme. Linux vergibt standardmäßig hingegen Ports von 32.768 bis 60.999. NAT-Router verwenden ebenfalls dynamische Ports außerhalb des Dynamic-Port-Bereichs.
Ursprünglich sah die IANA Ports ab 1024 für Clientprogramme vor. Die spätere Bereichseinteilung war umstritten; Linux stellte während der Diskussion um und übernahm den endgültigen Standard nicht. Als Begründung wird auch genannt, der Bereich der Dynamic Ports sei zu klein.
Dienstnamen, Weiterleitung und Schutz
Neben Protokollen sind Ports Namen für die zugehörigen Netzwerkdienste zugeordnet. Solche Service Names können beispielsweise für SRV Resource Records verwendet werden. Auf Unix-Systemen steht die Liste in /etc/services; bei Windows-NT-Systemen in %WINDIR%\system32\drivers\etc\services und bei Windows9x in %WINDIR%\services.
Bei einer Portweiterleitung wird ein angesprochener Port über einen zweiten Port an ein anderes System weitergeleitet. Eine Portsperre blockiert oder drosselt einen bestimmten Port oder den daran gebundenen Dienst. Internetanbieter setzen solche Sperren beispielsweise ein, um unerwünschte Dienste wie datenintensives Filesharing zu blockieren. Auch Firewalls können Ports sperren. Lokale Firewalls geben normalerweise nur benötigte Ports frei; alle übrigen bleiben gesperrt, wodurch sich die Angriffspunkte eines Netzes oder PCs verringern.
Portscanner suchen nach Ports und können auf einen Angriff hindeuten. Unterstützt eine Firewall oder ein Paketfilter Portknocking, kann ein Scan erschwert werden: Ports werden dann erst geöffnet, nachdem sie eine vorher vereinbarte Folge von Paketen erhalten haben.
Lernvideos zu Port (Netzwerkadresse)
14:48
(#14) Einführung Transportschicht und UDP
Rolf Winter · 3.970 Aufrufe
25:16
Grundlagen der Informatik, Computernetze (Layer 4; TCP, einige Protokolle)
Ulrich Greveler · 1.185 Aufrufe
8:16
Daten per TCP/IP übertragen. Einfach erklärt
Patrick Boekhoven · 8.784 Aufrufe
7:31
Grundlagen der Netzwerktechnik wie TCP und IP
erklaerung-und-mehr · 217 Aufrufe