Woher weiß der Router an welches Gerät ein TCP Stream weitergeleitet werden muss?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet
Woher weiß der Router an welches Gerät ein TCP Stream weitergeleitet werden muss?

Das muss er gar nicht wissen. Der Router schaut auf IP-Adressen. Um die Entscheidung für die Weiterleitung zu treffen hat er eine Routingtabelle. Die Einträge in der Routingtabelle kommen auf unterschiedliche Weise zustande:

  • Direkt angeschlossene Netzwerke: Wenn der Router auf einem Interface eine IP-Adresse 10.1.1.1/24 konfiguriert hat, weiß er automatisch, dass über dieses Interface das Netz 10.1.1.0/24 zu erreichen ist.
  • Statische Routen: Diese werden vom Administrator fest in die Konfiguration eingetragen.
  • Dynamisch gelernte Routen: Der Router kommuniziert mit Nachbarroutern per Routingprotokoll (z. B. OSPF) und erfährt so, wo welche Netze erreichbar sind.
Nun schickt ein Freund von mir zu meiner IP:Port Daten, jedoch kamen diese nur dann bei mir an, nachdem ich eine Portweiterleitung im Router festgelegt habe.

Du sprichst nicht von einem Router, sondern von einem im Heimnetz üblichen Netzwerkgerät, welches Router genannt wird. Ein solches Gerät ist Router, Switch, NAT-Gerät, WLAN-Accesspoint, DHCP-Server, DNS-Forwarder und Firewall in einem. Durch NAT bzw. die Firewall können keine Verbindungen vom Internet ins Heimnetz aufgebaut werden. Pakete werden aus dem Internet ins Heimnetz nur dann durchgelassen, wenn sie Antworten auf Anfragen aus dem Heimnetz sind. Das Gerät pflegt diese Informationen in seiner NAT- und/oder Verbindungstabelle.

Die Portweiterleitung ist nichts anderes als eine statisch konfigurierte NAT- bzw. Firewall-Regel.

Ich verstehe warum es mit der Portweiterleitung funktioniert, aber wie machen es andere Programme?

Du benötigst immer eine Portweiterleitung, wenn Verbindungen von außen nach innen aufgebaut werden sollen.

Das läuft idr über einen zentralen Server, bei dem sich die clients "registrieren".. Pakete gehen dann zum Server und der verteilt an die bestehen sessions der anderen clients.