Wie weist ein Router Pakete zu?
Nach meinem Verständnis und allem, was mir bisher erklärt wurde, sind Ports dafür da, anzugeben, welches System/über welches Protokoll ein Client vom Router angesteuert werden soll. 443 ist der Port für HTTPS - aber den nutzt ja jeder Client/PC im Netz genau dafür. Die IP-Adresse, die vom Server angesteuert wird, ist ja auch die öffentliche, das heißt daran lässt es sich auch nicht zuordnen.
Wie ist im Router hinterlegt, welcher Client auf welches Seite eine Anfrage tätigt und die Antwort erhalten muss? Wenn zwei Clients auf der gleichen Webiste unterwegs sind und der gleiche Port angesteuert wird, wie lässt sich das unterscheiden?
2 Antworten
Der Router nutzt Network Address Translation (NAT), genauer gesagt Port Address Translation (PAT), um Anfragen und Antworten den richtigen Clients zuzuordnen. Jeder Client schickt seine Anfrage mit einer privaten IP und einem zufälligen Quellport ab. Der Router übersetzt das in seine öffentliche IP und eine eindeutige Portnummer, die er in einer Tabelle speichert.
Mit Hilfe dieser Tabelle kann der Router die eingehenden Antworten dann dem richtigen Client im lokalen Netzwerk zuordnen. Dadurch werden die Daten korrekt weitergeleitet, auch wenn mehrere Clients zur gleichen Zeit auf die gleiche Webseite zugreifen.
Danke. Ich war nur zu müde, um zu verstehen, warum es bekannte Ports für Protokolle gibt, wenn diese nicht als Quellport verwendet werden müssen. Aber 2 Minuten nach dem Absenden der Frage hat sich das eigentlich auch geklärt. Schade, dass ich die Frage nicht löschen kann - jetzt wirke ich sicher, als könnte ich keinen Wikipedia-Artikel lesen 😂
Dafür wird NAT verwendet.
Der Router kann vereinfacht gesagt jeder Anfrage eine eindeutige Nummer zuweisen. Wenn die Website die Daten zurücksendet, weiß der Router, an welchen Client er die Daten schicken muss.