Transmission Control Protocol/Port

Aus Foxwiki
  • 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
[...]