Ihre Frage berührt das Herz des Internets und die Definition des Routings. In Ihrem Beispiel sendet Router D Daten basierend auf zwei Voraussetzungen an Computer A:
- Es wurde angewiesen, Daten an Computer A zu senden.
- Es werden bereits Daten von Computer A verarbeitet.
In Ihrem Szenario wird anscheinend die erste Option angenommen: Router D möchte an Computer A senden. Aber wie gelangt er dorthin? Dies geschieht durch die Verwendung von Routingtabellen, die von Routern untereinander gemeinsam genutzt werden.
Router C sendet regelmäßig Aktualisierungen an alle Router, die über das Netzwerk "192.168" "Bescheid wissen (einschließlich Router D") ignorieren Sie das.) Router D weiß also bereits, dass Router C dieses Netzwerk kennt.
Wenn also Daten für Computer A bestimmt sind, werden sie zuerst vom Netzwerk adressiert. Also fragt Router D: "Ich muss das 192.168. * -Netzwerk finden. Weiß ich das? Nein. Kennt ich jemanden, der das tut? Ja. Router C tut das. Wie komme ich zu Router C? Über meinen 2.2. 2.2 Schnittstelle. "
Router D sendet die Daten dann an Router C. Router C empfängt sie und sagt: "Oh, ich habe Daten von Router D, aber es ist für das 192.168-Netzwerk. Kenne ich dieses Netzwerk? Ja, über mein 192.168.1.1-Netzwerk." Und dann leitet es weiter.
Es gibt noch einige andere Arbeiten, um die IP- und MAC-Adressierung aufzulösen, aber ich beschreibe das Routing per se, nicht ARP und lokales Netzwerk.
Sie werden feststellen, dass Ihre erste Annahme - der Remote-Router muss den Routing-Mechanismus kennen - hier nicht zum Tragen kommt. Router D ist es egal, ob Router C EIGRP, RIP, RIPv2, OSPF oder was auch immer verwendet. Alles was es interessiert ist, dass es ein Update hat. (Natürlich ist es wichtig , wie es zu einem Update kam, damit die beiden synchron bleiben. Aber auch das ist ein anderes Problem.)
Ihre zweite Annahme, dass die Portnummer ein Faktor für das Routing ist, ist ebenfalls falsch. Router benötigen (im Allgemeinen) keine Portinformationen, um Routing-Entscheidungen zu treffen. (Das hat sich aufgrund einiger neuer Netzwerktechnologien leicht geändert und gilt hauptsächlich für Firewalls und Proxys. Die allgemeinere Annahme gilt jedoch weiterhin für "echte" Router.)
Wenn Sie mit Ihrem Beispiel fortfahren, leitet Router C Daten an Port 1000 weiter (gemäß Ihrem Szenario), da möglicherweise ein Dienst auf Computer A Daten an diesem bestimmten Port erwartet. Dies ist jedoch nur möglich, weil Router D es an Port 1000 gesendet hat. Und Router D sendet es nur an diesem Port, weil der Urheber der Daten es an Router D an diesem Port gesendet hat.
Ich verstehe nicht, dass Ihre Aufnahme von Bittorrent- oder P2P-Programmen die von Ihnen gestellte Frage widerspiegelt. Die gleichen Erklärungen würden zutreffen. Router können auch mit einem Port-Trigger konfiguriert werden, der einem bestimmten Port ein bestimmtes Gerät (oder eine bestimmte IP-Adresse) zuordnet. Wenn der Datenverkehr an Port 1234 eingeht, können die Router Daten an Device ABCD senden. Dies ist normalerweise mit einem ausgehenden TCP-Port verbunden. Wenn ich also Datenverkehr über Port 7890 sende, weiß der Router, dass eingehender Datenverkehr über Port 1234 erfolgt, und sendet ihn an mich.
Port-Triggering ist jedoch nicht mit (Remote-) Routing-Entscheidungen verbunden, sondern bezieht sich auf die interne MAC / IP-Tabelle, die der Router für das LAN verwendet.
Aktualisieren / Bearbeiten : Zur weiteren Beantwortung und Bearbeitung Ihres Kommentars. Router D kennt Computer A nur über seine IP-Adresse (192.168.2.2). Router C kennt Computer A jedoch anhand seiner IP-Adresse und seiner MAC-Adresse. Die MAC (Media Access Control) ist eine eindeutige (normalerweise ...) 48-Bit-Kennung, die nach internationalem Standard definiert ist. Jedes an ein LAN angeschlossene Gerät (verkabelt und drahtlos) muss eine eindeutige MAC-Adresse haben.
Der Router (Router C) verknüpft die IP-Adresse und die MAC-Adresse in einer Tabelle (der MAC-Adressentabelle). Wenn also Datenverkehr in Router C eingeht und der Router erkennt, dass er "lokal" ist, führt er eine MAC-Adressentabellensuche durch. Der Router ändert dann buchstäblich die Frame-Adressierungsinformationen.
Es rekonstruiert (überschreibt) die Layer 2-Zielinformationen, um die Ziel-MAC-Adresse von Computer A zu erhalten, behält jedoch die IP-Adressinformationen (Layer 3) bei.
Wenn die Route die MAC-Adresse NICHT kennt. Oder hat es keine IP-MAC-Beziehung in der Tabelle, so etwas wie ein ARP (Address Resolution Protocol), um zu fragen: "Hey, alle in diesem Netzwerk. Haben Sie diese MAC-Adresse?" Oder manchmal - "Alle, wie lautet Ihre MAC-Adresse?"). Das entsprechende Gerät (die entsprechenden Geräte) antwortet und der Router erstellt seine IP-MAC-Tabelle.