Port (Protokoll) - LinkFang.de





Port (Protokoll)


Ein Port ist der Teil einer Netzwerk-Adresse, der die Zuordnung von TCP- und UDP-Verbindungen und -Datenpaketen zu Server- und Client-Programmen durch Betriebssysteme bewirkt. Zu jeder Verbindung dieser beiden Protokolle gehören zwei Ports, je einer auf Seiten des Clients und des Servers.

Gültige Portnummern sind 0 bis 65535.

Zweck

Ports dienen zwei Zwecken:

  • Primär sind Ports ein Merkmal zur Unterscheidung mehrerer Verbindungen zwischen demselben Paar von Endpunkten.[1]
  • Ports können auch Netzwerkprotokolle und entsprechende Netzwerkdienste identifizieren.

Beispiele

  • Ein Webbrowser kann während eines Downloads einen weiteren Download vom selben Server starten, weil der Browser dann einen weiteren Port öffnet und eine zusätzliche Verbindung zum selben Port 80 des Servers aufbaut. Der Server antwortet den unterschiedlichen Ports des Browsers mit unterschiedlichen jeweils zusammengehörigen Inhalten. Für eine Unterscheidung der Verbindungen genügen also verschiedene Portnummern an nur einem der beiden Endpunkte.
  • Der Port 25 ist für das Simple Mail Transfer Protocol (SMTP) reserviert. Wenn eine Verbindung zum Port 25 eines Servers aufgebaut wird, wird diese Verbindung vom SMTP-Dienst des Servers angenommen, sofern dieser Dienst verfügbar ist.

Funktionsweise

Startende Server fordern beim Betriebssystem bestimmte Ports an, um Verbindungen annehmen zu können. Dies sind in aller Regel 'well-known Ports', da hier die Portnummer nicht veröffentlicht werden oder bekannt sein muss. Die Nummern sind vielmehr den betreffenden Programmen fest zugeordnet.

Clients fordern beim Betriebssystem normalerweise einen zufälligen Port an (zumeist im sehr hohen Bereich über 30000), um Verbindungen aufbauen zu können. Allerdings kann ein Client sich auch an einen bestimmten Port binden (Aufruf von bind()); dies ist zum Beispiel nötig für bestimmte verbindungslose Protokolle, beschränkt allerdings die Nutzung dieses Clients auf einen Prozess pro Computer.

Der Verbindungsaufbau erfolgt durch den Client, der dazu den Port des Servers kennen muss. Durch den Verbindungsaufbau erfährt der Server den Port des Clients, sodass er diesem antworten kann. Im Falle der Benutzung eines “well-known Ports” wird gleichzeitig die Portnummer serverseitig geändert, um die bekannte, standardisierte Portnummer auch weiterhin für neue Verbindungen bereitstellen zu können.

Geschichte

Portnummern wurden ursprünglich AEN genannt, was für Another Eightbit Number stand.[2]

1981 wurde mit dem Transmission Control Protocol ein viel größerer Bereich von 16 Bit definiert.[3]

Die Standardisierung geht maßgeblich auf Initiativen von Jon Postel Anfang der 1970er Jahre zurück.[4][5]

Standardisierung

Seit 2011 beschreibt mit RFC 6335 ein Request for Comments das Verfahren, nach dem die Internet Assigned Numbers Authority (IANA) Ports Protokollen zuordnet. Es werden drei Bereiche unterschieden:

System Ports

Ports 0 bis 1023 (0hex bis 3FFhex)

Diese Ports werden auch well-known Ports genannt und sind für Dienste reserviert, wenn sie nicht bereits als „reservierte Ports“ der IANA selbst (etwa für zukünftige Erweiterungen) zugewiesen worden sind, was etwa insbesondere auf die Intervall-Grenzen zutrifft (zum Beispiel: 0, 1023, 1024), die also nicht für die Verwendung für Server zur Verfügung stehen. Neue Zuordnungen erfolgen nur unter Beteiligung der Internet Engineering Task Force (IETF).

Registered Ports

Ports 1024 bis 49151 (400hex bis BFFFhex)

Diese Ports sind für registrierte Dienste vorgesehen, können aber auch für Clientprogramme verwendet werden. Die dynamische Zuordnung für Clientprogramme wird von der Mehrzahl der aktuellen Betriebssysteme nicht mehr durchgeführt, da hierfür die „Dynamic Ports“ vorgesehen sind. In diesem Bereich können auf Antrag neue Zuordnungen ohne Beteiligung der IETF erfolgen.

Dynamic Ports

Ports 49152 bis 65535 (C000hex bis FFFFhex)

Diese Ports werden vom Betriebssystem dynamisch an Clientprogramme vergeben.

Ergänzung: Linuxsysteme halten sich sehr oft nicht an diesen Standard und vergeben die Clientports im Bereich zwischen 32768 und 61000. Ursprünglich waren von der IANA die Ports ab 1024 für Clientprogramme vorgesehen. Bei der Umstellung des Portbereiches gab es jedoch einige Diskussionen bis sich die heutige Einteilung durchsetzte. Die Umstellung wurde in Linux allerdings während der Diskussionszeit vorgenommen und nicht auf den endgültigen Standard umgesetzt. Als Begründung hierfür wird auch immer wieder angeführt, dass der Bereich der Dynamic Ports zu klein ist. Einige NAT-Router verwenden sogar noch niedrigere Ports.

Bedeutung

Abweichungen von den Zuordnungen der IANA erschweren die Kontaktaufnahme, ohne sie verhindern zu können.

Einen Überblick von Zuordnungen gibt die Liste der standardisierten Ports.

Dienstnamen

Ports sind neben Protokollen auch Namen für die entsprechenden Dienste zugeordnet. Ein solcher Service Name kann beispielsweise für SRV Resource Records verwendet werden.

Auf einem Unix-Rechner ist diese Liste in der Datei /etc/services definiert.

Unter Betriebssystemen der Windows-NT-Linie findet sich diese unter %WINDIR%\system32\drivers\etc\services, bei der Windows9x-Linie direkt im Windows-Ordner (%WINDIR%\services).

Portfilter

Eine Portweiterleitung bewirkt, dass ein angesprochener Port über einen zweiten Port an ein anderes System weitergeleitet wird.

Eine Portsperre ist das Sperren oder Drosseln eines bestimmten Portes bzw. des darauf zugreifenden Dienstes. Das Sperren von Ports wird von einigen Internet Service Providern eingesetzt, um unerwünschte Dienste zu blockieren. Bei Providern können Dienste beispielsweise unerwünscht sein, weil sie sehr viel Datenverkehr verursachen, wie beispielsweise beim Filesharing.

Ports können auch mit einer Firewall gesperrt werden. Bei einer lokalen Firewall wird normalerweise andersherum vorgegangen: Nur die tatsächlich benötigten Ports werden freigegeben und alle anderen Ports bleiben gesperrt. Somit werden die Angriffspunkte auf das geschützte Netz bzw. den PC reduziert.

Portscanner

Portscanner dienen dem Auffinden von Ports und können ein Vorzeichen eines Angriffs sein. Unterstützt die Firewall bzw. der Paketfilter das Portknocking, kann ein Portscan erschwert werden, indem Ports erst dann geöffnet werden, wenn ihnen eine vorher vereinbarte Folge von Paketen gesendet wurden.

Siehe auch

Weblinks

Einzelnachweise

  1. Internet Engineering Task Force (Hrsg.): Internet Assigned Numbers Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol Port Number Registry (= Best Current Practice. Band 165). ISSN 2070-1721 , S. 6 (BCP 165 [abgerufen am 22. Februar 2012]).
  2. RFC 433 Socket Number List, Dezember 1972
  3. RFC 793 Transmission Control Protocol, September 1981
  4. RFC 204 Sockets in use, August 1971
  5. RFC 349 Socket Number List, Mai 1972

Kategorien: Netzwerkarchitektur | TCP/IP

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Port (Protokoll) (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.