Transmission Control Protocol/Port
- Portnummern sind Dualsystem 16-Bit-Zahlen und reichen von 0 bis 65535.
- Ports von 0 bis 1023 sind reserviert
- Vergeben von Internet Assigned Numbers Authority (IANA)
- z.B. ist Port 80 für Hypertext Transfer Protocol (HTTP) reserviert.
- Das Benutzen der vordefinierten Ports ist nicht bindend.
- Jeder Administrator kann bspw. einen FTP-Server (normalerweise Port 21) auch auf einem beliebigen Port laufen lassen.
- Mehrfaches listen auf demselben Port ist nicht möglich.
Identifizieren von Anwendungen
- Ports von 0 bis 65535 gibt es unabhängig voneinander bei TCP und UDP
- Sie stellen die Endpunkte einer Kommunikations-beziehung zwischen zwei Rechnern dar
- Die sog. „well-known-ports“ von 0..1023 sind standardisiert z.B.:
- TCP-Port 80 für http
- UDP+TCP-Port 53 für DNS
- UDP-Port 123 für NTP
- Die well-known-ports sind für Systemdienste/Daemons reserviert und dürfen nur mit besonderen Rechten (root) genutzt werden
TCP-Multiplexmechanismus
- Da die Kombination aus IP-Adresse, Quell- und Zielport eindeutig ist, können auch Datenströme gleichen Typs eindeutig den zuständigen Prozessen zugeordnet werden
Zuweisung von Portnummern
- Passive Seite
- Server bindet sich an einen bestimmten Port (bind())
- Aktive Seite
- Client sendet Anfrage oder erstellt eine Verbindung zum Port des Servers (connect()).
- Portnummern können Anwendungsdiensten statisch zugeordnet sein: Eintrag in einer Datenbank, die den durch Server erbrachten Diensten bestimmte Ports zuordnet
- /etc/services (UNIX)
- %SYSTEMROOT%\system32\drivers\etc\services (Windows)
- Dynamische Zuordnung via Verzeichnisdienst, Nameserver (lokal oder verteilt) möglich.
Verwaltung der well-known-ports
- Internet Assigned Numbers Authority (IANA)
- Zuständig für Vergabe von Konstanten in TCP/ IP- Protokollen (port numbers, protocol numbers, ...)
- Bereich 0.. 1023: Für globale "well known" ports, kontrolliert von der IANA
- Bereich 1024 .. 65535: Frei für dynamische Allozierung durch Prozesse oder für statische Allozierung mit lokaler Bedeutung
- Registrierung durch IANA ist optional
- Aktuelle globale/statische Zuordnungen: ftp:// ftp.isi.edu / in-notes / iana / assignments
Well-known port numbers
%SYSTENROOT%\system32\drivers\etc\services
# Copyright (c) 1993-1999 Microsoft Corp. # Diese Datei enthält die Portnummern für bekannte Dienste gemäß IANA. # Format: # <Dienstname> <Portnummer>/<Protokoll> [Alias...] [#<Kommentar>] ftp-data 20/tcp #FTP, data ftp 21/tcp #FTP. control telnet 23/tcp smtp 25/tcp mail #Simple Mail Transfer Protocol time 37/tcp timserver time 37/udp timserver domain 53/tcp #Domain Name Server domain 53/udp #Domain Name Server tftp 69/udp #Trivial File Transfer http 80/tcp www www-http #World Wide Web pop3 110/tcp #Post Office Protocol - Version 3 nntp 119/tcp usenet #Network News Transfer Protocol ntp 123/udp #Network Time Protocol netbios-ns 137/tcp nbname #NETBIOS Name Service netbios-ns 137/udp nbname #NETBIOS Name Service netbios-dgm 138/udp nbdatagram #NETBIOS Datagram Service netbios-ssn 139/tcp nbsession #NETBIOS Session Service imap 143/tcp imap4 #Internet Message Access Protocol snmp 161/udp #SNMP irc 194/tcp #Internet Relay Chat Protocol ipx 213/udp #IPX over IP https 443/tcp MCom https 443/udp MCom [...]