About this episode
Nachdem unser aller Heimnetzwerk voll funktionsfähig ist, wollen wir nun von daheim aus die ganze Welt mit unseren Online-Diensten beglücken... oder zumindest bestimmte Dinge selbst an den Start rollen.Shownotes
Rückbezug STP061: wir haben unser Heimnetzwerk von Schicht 1 bis 3 aufgebaut
Schicht 3 hatte uns einen Zustellweg durchs Internet gegeben
Schicht 4 ergänzt Sitzungsverwaltung (z.B. Flusskontrolle und Fehlerkorrektur; hierfür siehe STP005) und Ports
Warum braucht man Ports? Gedankenexperiment:
Annahme: Datenpakete werden nur anhand von Quelladresse und Zieladresse zugestellt
Situation: zwei Prozesse auf demselben PC wollen mit wikipedia.de reden
Abschicken der Anfragen klappt eventuell noch, da gleiches Ziel
Problem: Antwortpaket kommt -> Welcher Prozess kriegt das Paket?
Technisch formuliert: Wie kann man über diese Netzwerkleitung mehrere unabhängige Verbindungen multiplexen?
Ports: Identifikationsnummer für offene Netzwerkverbindungen; 16 Bit groß (0-65535)
vgl. Briefkästen/Wohnungsnummern in Mehrparteienhäusern
Datenpakete auf Schicht 4 werden anhand der Gesamtheit aus Quelladresse, Quellport, Zieladresse, Zielport einer Verbindung zugeordnet
damit eindeutige Endzustellung an einen Prozess möglich
auf Server-Seite im Allgemeinen "wohlbekannte" Ports (z.B. 25 für SMTP, 80 für HTTP, 443 für HTTPS), damit Clients ein definiertes Ziel für neue Verbindungen haben
auf Client-Seite für gewöhnlich automatisch vergebene Ports (meist zwischen 32768-65535)
Praxisbeispiel: im Browser eine Webseite aufmachen, dann in der Konsole aktive Verbindungen auflisten mit ss -utpn -o state connected
Wie kann ich zuhause einen Server-Prozess betreiben?
Außenwelt muss meine IP-Adresse finden können und den entsprechenden Port erreichen können
Problem 1: IP-Adresse wird durch den Internetanbieter bestimmt und ändert sich -> Dynamisches DNS (nicht zu verwechseln mit der Firma "DynDNS", die nur ein möglicher Anbieter ist)
Problem 2: Router hat für gewöhnlich einen Paketfilter (Firewall), der nur ausgehende sowie bekannte Verbindungen durchlässt -> Ausnahmeregel ("Port Opening") muss konfiguriert werden; je nach Betriebssystem auch dasselbe auf dem Server selbst erforderlich
Problem 3: IPv4 mit NAT, lokaler Rechner mit Server-Prozess hat nur eine lokale IP-Adresse -> Portweiterleitung muss konfiguriert werden (damit dann meist auch eine Ausnahmeregel in der Firewall verbunden)
Was kann ich zuhause