Die Adressierung im physikalisch direkt angeschlossenen Netz erfolgt mittels Hardwareadresse des Interfaces (Schicht 2). Im Unterschied dazu erfolgt die Identifizierung im globalen Netz über die IP Adresse des Interfaces (Schicht 3).
Die Endpunkte der Kommunikation (Schicht 7) sind jedoch Anwendungsprozesse (Tasks). Diese Prozesse sind während der Kommunikation über Portnummern identifizierbar und adressierbar.
Portnummern sind 16 Bit Kennzahlen, die von der Systemsoftware zur eindeutigen Kennzeichnung einer Kommunikationsbeziehung vergeben werden. Es gibt Portnummern für Client- und für Serverprozesse.
Portnummern für Serverprozesse umfassen im wesentlichen den Bereich von 0 bis 1023.
Diese Portnummern werden nur für systemnahe Prozesse vergeben.
Auswahl der wichtigsten Serverportnummern:
Port-Nr. Dienst der Anwendungsschicht 20, 21 FTP 23 TELNET 25 SMTP (Mail-Versand) 53 DNS (Domain Name System) 67, 68 DHCP 80 HTTP 110 POP3 (Mail-Abholung) 443 HTTPS 8080 PROXY
Clientprozesse benutzen Portnummern aus dem Bereich 1024 bis 65535. In diesem Bereich sind wiederum einige Bereiche reserviert (z.B. X-Windows-Anwendungen erhalten Portnummern von 6000 bis 6063).
Die Server gleichzeitig mehrere Clients bedienen können, reicht die Kombination von IP-Adresse und Portnummer nicht zur eindeutigen Identifiezierung. Eindeutig wird es erst, wenn IP-Adresse und Portnummer des anderen Endes mit in die Kommunikation einbezogen werden. Diese vier "Adressen" sowie der Kommunikationstyp (z.B. verbindungsorientiert - Stream TCP) werden zu einer Datenstruktur zusammengefasst und als Socket bezeichnet.
Ein Socket ist wie folgt zusammengesetzt:
1 Lokale IP Adresse 2 Lokale Portnummer 3 IP Adresse des Kommunikationspartners 4 Portnummer des Kommunikationspartners 5 Kommunikationstyp: verbindungslos (Datagram) / verbindungsorientiert (Stream) / ohne Benutzung der Transportschicht (raw) 6 Protokoll
Wenn per HTTP Seiten von einem Webserver (z.B. "www.sn.schule.de") aus dem Internet downgeloadet werden sollen, dann wird mittels DNS zuerst die IP Adresse des Zielrechners ermittelt (z.B. "195.37.90.10"), dann wird die Verbindung zum Server unter Verwendung der Portnummer 80 (z.B. "195.37.90.10:80") hergestellt. Auf dem Client-Rechner muss allerdings für die Kommunikation auch ein Port geöffnet werden. Dieser liegt dann oberhalb von 1023 (z.B. "192.168.1.60:1065")
HTTP-Client
(z.B. Internet Explorer)HTTP-Server
(z.B. Apache)Anfrage nach einer Webseite Es wird eine Webseite bereit gestellt Die Anfrage wird wie folgt zusammengesetzt:
IP:192.168.1.60 Port:1065 IP:195.37.90.10 Port:80 Stream TCPDie Antwort sieht folgendermaßen aus: IP:195.37.90.10 Port:80 IP:192.168.1.60 Port:1065 Stream TCP