Woher weiß der Router, an welches Gerät Pakete gesendet werden sollen? [Duplikat]


15

Meine Frage betrifft nicht, wie es sich durch das Internet bewegt, sondern wie es sich durch den Router zu einem bestimmten Gerät bewegt. Alle an einen Router in einem Heimnetzwerk angeschlossenen Geräte haben dieselbe externe IP. Angenommen, Gerät A lädt eine Seite und Pakete werden von einer externen Quelle an den Router gesendet, da die Pakete die externe IP von Gerät A kennen und in der Lage sind, zum Router zu gelangen. Aber wie kommt es nun zu Gerät A? Woher weiß der Router, dass er es an Gerät A anstatt an Gerät B senden soll?

Ich denke, das betrifft das NAT, aber ich suche nur nach einer logischen Erklärung, was NAT tut, um dies zu erreichen.


Ich kann Ihnen keine genaue Antwort geben, aber der Router verfolgt, wohin eine Anfrage geht und wer sie gesendet hat. Wenn die externe Quelle antwortet, prüft der Router einfach, welches Gerät ursprünglich versucht hat, die externe Quelle zu kontaktieren, und leitet die Antwort an dieses Gerät weiter. Wenn Sie weitere Informationen benötigen, schauen Sie in NAT.
Jack Humphries

Diese Frage gehört zu Superuser.com
TimothyP

Antworten:


11

Wenn Sie eine Verbindung zu einem externen Standort herstellen, verwendet der Router jedes Mal eine andere Quellportnummer ... und verwendet dann diese Quellportnummer (dorthin, wo die Daten zurückkehren) als Schlüssel, um nachzuschlagen, auf welchem ​​Computer sie sich befinden Ihr internes Netzwerk, von dem die Anfrage kam. Dies wird als PORT Address Translation bezeichnet (im Gegensatz zu Network Address Translation, wenn Ihrem Router mehrere Netzwerkadressen zur Verfügung stehen).


1
Dies würde Dinge wie TCP-Verbindungen erklären, aber einige Anwendungen sind verbindungslos. Was ist mit UDP-Paketen? Was passiert, wenn Sie einen Server auf einem Gerät hosten, auch wenn TCP für die Verbindung verwendet wird, kann keine Verbindung hergestellt werden, ohne dass der Router weiß, auf welchem ​​Gerät sich der Server befindet.

1
Für UDP-Verbindungen müssen Sie in der Regel einen Port auf Ihrem Router vordefinieren, der zum Weiterleiten an ein bestimmtes Gerät verwendet werden kann. Dies ist die "Portweiterleitungs" -Funktion von Routern und kann entweder für eingehende UDP-Pakete (entweder als Antwort auf eine ausgehende Nachricht oder ein neues eingehendes Paket) oder für eingehende TCP-Pakete (z. B. von einem Remote-Client initiierte Pakete) verwendet werden von Ihrem eigenen PC.)
Michael Bray

1

Normalerweise haben alle Geräte im Heimnetzwerk eine andere interne Adresse (private Adresse, immer 192.168.0.1 ~ 192.168.0.255).

Wenn ein Paket vom Heimnetzwerk gesendet wird (zum Beispiel Gerät A: 192.168.0.123), übersetzt der Router die private Adresse in die externe Adresse des Routers (angenommen 140.191.2.5) und der Router zeichnet dies ebenfalls auf Mapping in seiner NAT.

Wenn die Antwort zurück ist, ordnet der Router das NAT zu und stellt fest, dass die ursprüngliche Quelle Gerät A ist.

so empfängt das Gerät A schließlich das Paket.

Dies ist nur ein Konzept. Weitere Informationen finden Sie im Wiki: NAT.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.