La tua domanda tocca il cuore di Internet e la definizione stessa di routing. Nel tuo esempio, il router D invia i dati al computer A in base a due premesse:
- È stato detto di inviare dati al computer A.
- Ha già elaborato i dati dal computer A.
Il tuo scenario sembra assumere la prima opzione: il router D vuole inviare al computer A. Ma come ci arriva? Lo fa attraverso l'uso di tabelle di routing condivise tra router.
Il router C invia regolarmente aggiornamenti a tutti i router di cui è a conoscenza, incluso il router D, che "conosce" la rete "192.168. *" (In realtà - ciò non accadrà perché tale rete non è instradata - è considerata privata. Ma ignoralo.) Quindi, il router D sa già che il router C conosce quella rete.
Pertanto, quando i dati sono destinati al computer A, vengono prima indirizzati dalla rete. Quindi, il router D chiede: "Devo trovare la rete 192.168. *. Lo so? No. Conosco qualcun altro che lo fa? Sì. Il router C fa. Come posso accedere al router C? Attraverso il mio 2.2. 2.2. "
Il router D invia quindi i dati al router C. Il router C li riceve e dice "Oh, ho i dati dal router D ma è per la rete 192.168. Conosco quella rete? Sì, attraverso la mia rete 192.168.1.1" E poi lo inoltra.
C'è altro lavoro da fare per risolvere l'indirizzamento IP e MAC, ma sto coprendo il routing, di per sé, non l'ARP e le reti locali.
Noterai che il tuo primo presupposto - il router remoto deve conoscere il meccanismo di routing - non entra in gioco qui. Al router D non importa se il router C utilizza EIGRP, RIP, RIPv2, OSPF o altro. Tutto ciò che importa è che abbia ricevuto un aggiornamento. (Naturalmente, come è stato ottenuto un aggiornamento è importante per garantire che i due rimangano sincronizzati. Ma ancora una volta, questo è un problema diverso.)
Anche la seconda ipotesi, ovvero che il numero di porta sia un fattore nel routing, è errata. I router (in genere) non necessitano delle informazioni sulla porta per prendere le decisioni di routing. (Ciò è leggermente cambiato, a causa di alcune nuove tecnologie di rete e si applica principalmente ai firewall e ai proxy, ma il presupposto più ampio si applica ancora ai router "veri".)
Continuando con il tuo esempio, il router C inoltrerà i dati sulla porta 1000 (per il tuo scenario) perché è possibile che ci sia un servizio sul Computer A in attesa di dati su quella porta specifica. Ma lo sa solo perché il router D lo ha inviato sulla porta 1000. E il router D lo invia solo su quella porta perché l'originatore dei dati lo ha inviato al router D su quella porta.
Non capisco che la tua inclusione di programmi bittorrent o P2P rifletta la domanda che poni. Si applicherebbero le stesse spiegazioni. I router possono anche essere configurati con il trigger di porta che associa un determinato dispositivo (o IP) a una determinata porta. In modo tale che quando il traffico arriva nella porta 1234, i router sanno di inviare dati al dispositivo ABCD. Questo è solitamente associato a una porta TCP in uscita. cioè se invio traffico sulla porta 7890, il router sa che il traffico in entrata sarà sulla porta 1234 e me lo invierà.
Ma il trigger delle porte non è associato alle decisioni di routing (remoto), ma si riferisce alla tabella MAC / IP interna utilizzata dal router per la LAN.
Aggiorna / modifica : per rispondere ulteriormente ed elaborare dopo il tuo commento. Il router D conosce il computer A solo per il suo indirizzo IP (192.168.2.2). Ma il router C conosce il computer A per il suo indirizzo IP e per il suo indirizzo MAC. Il MAC (Media Access Control) è un identificatore univoco (di solito ...) a 48 bit definito dallo standard internazionale. Ogni dispositivo collegato a una LAN (cablata e wireless) dovrebbe avere un indirizzo MAC univoco.
Il router (router C) associa l'indirizzo IP e l'indirizzo MAC insieme in una tabella (la tabella degli indirizzi MAC). Pertanto, quando il traffico arriva al router C e il router si rende "locale", esegue una ricerca nella tabella degli indirizzi MAC. Il router quindi cambia letteralmente le informazioni di indirizzamento del frame.
Ricostruisce (riscrive) le informazioni di destinazione del Livello 2 per avere l'indirizzo MAC di destinazione del Computer A ma mantiene le informazioni dell'indirizzo IP (Livello 3) uguali.
Se il percorso NON conosce l'indirizzo MAC. O non ha una relazione IP-MAC nella sua tabella, fa qualcosa chiamato ARP (protocollo di risoluzione dell'indirizzo) per chiedere "HEY, tutti su questa rete. Hai questo indirizzo MAC?" O a volte - "Tutti, qual è il tuo indirizzo MAC?"). Il dispositivo / i dispositivi appropriati risponde e il router crea la sua tabella IP-MAC.