Sua pergunta toca o coração da Internet e a própria definição de roteamento. No seu exemplo, o roteador D envia dados para o computador A com base em duas premissas:
- Foi dito para enviar dados para o computador A.
- Já processou dados do Computador A.
Seu cenário parece assumir a primeira opção - o roteador D deseja enviar ao computador A. Mas como ele chega lá? Isso é feito através do uso de tabelas de roteamento que são compartilhadas pelos roteadores entre si.
O roteador C envia regularmente atualizações para todos os roteadores que conhecem - incluindo o roteador D - que "conhecem" a rede "192.168. *" (Na realidade - isso não aconteceria porque a rede não é roteada - é considerada privada. ignore isso.) Portanto, o roteador D já sabe que o roteador C conhece essa rede.
Portanto, quando os dados são destinados ao Computador A, eles são endereçados pela rede primeiro. Portanto, o roteador D pergunta: "Preciso encontrar a rede 192.168. *. Conheço? Não. Conheço alguém que conheça? Sim. O roteador C sabe. Como faço para acessar o roteador C? Através do meu 2.2. 2.2 interface ".
O roteador D envia os dados para o roteador C. O roteador C recebe e diz: "Oh, eu tenho dados do roteador D, mas é para a rede 192.168. Conheço essa rede? Sim, através da minha rede 192.168.1.1" encaminha.
Há algum outro trabalho a ser feito para resolver o endereçamento IP e MAC, mas estou cobrindo o roteamento, por si só, não o ARP e a rede local.
Você notará que sua primeira suposição - o roteador remoto deve conhecer o mecanismo de roteamento - não entra em jogo aqui. O roteador D não se importa se o roteador C estiver usando EIGRP, RIP, RIPv2, OSPF ou qualquer outra coisa. Tudo o que importa é que tenha uma atualização. (É claro que, como ele tem uma atualização é importante para garantir os dois estadia em sincronia. Mas, novamente, isso é uma questão diferente.)
Sua segunda suposição - que o número da porta é um fator no roteamento - também está incorreta. Os roteadores (geralmente) não precisam de informações de porta para tomar decisões de roteamento. (Isso mudou um pouco, devido a algumas novas tecnologias de rede e se aplica principalmente a firewalls e proxies, mas ainda assim a suposição mais ampla ainda se aplica a roteadores "verdadeiros").
Continuando com o seu exemplo, o roteador C encaminhará os dados na porta 1000 (de acordo com o seu cenário), porque é possível que exista um serviço no Computador A esperando dados nessa porta específica. Mas ele só sabe fazer isso porque o roteador D o enviou na porta 1000. E o roteador D somente o envia nessa porta porque o originador dos dados o enviou ao roteador D nessa porta.
Não entendo sua inclusão de programas bittorrent ou P2P como reflexo da pergunta que você faz. As mesmas explicações se aplicariam. Os roteadores também podem ser configurados com acionamento de porta, que associa um dispositivo (ou IP) específico a uma porta específica. De modo que, quando o tráfego chega na porta 1234, os roteadores sabem enviar dados ao dispositivo ABCD. Isso geralmente é associado a uma porta TCP de saída. ou seja, se eu enviar tráfego na porta 7890, o roteador sabe que o tráfego recebido estará na porta 1234 e o enviará para mim.
Mas o disparo de porta não está associado a decisões de roteamento (remotas) - em vez disso, refere-se à tabela interna de MAC / IP que o roteador usa para a LAN.
Atualização / edição : para responder e elaborar após seu comentário. O roteador D conhece o Computador A apenas pelo seu endereço IP (192.168.2.2). Mas o roteador C conhece o computador A pelo seu endereço IP e pelo seu endereço MAC. O MAC (controle de acesso à mídia) é um identificador exclusivo (geralmente ...) de 48 bits, definido pelo padrão internacional. Todo dispositivo conectado a uma LAN (com e sem fio) deve ter um endereço MAC exclusivo.
O roteador (Roteador C) associa o endereço IP e o endereço MAC juntos em uma tabela (a tabela de endereços MAC). Portanto, quando o tráfego entra no roteador C e o roteador percebe seu "local", ele faz uma pesquisa na tabela de endereços MAC. O roteador muda literalmente as informações de endereçamento do quadro.
Ele reconstrói (reescreve) as informações de destino da Camada 2 para ter o endereço MAC de destino do Computador A, mas mantém as informações de endereço IP (Camada 3) iguais.
Se a rota NÃO souber o endereço MAC. Ou não possui um relacionamento IP-MAC em sua tabela, ele faz algo chamado ARP (protocolo de resolução de endereço) para perguntar "Ei, todos nesta rede. Você tem esse endereço MAC?" Ou às vezes - "Todos, qual é o seu endereço MAC?"). O dispositivo / dispositivos apropriados responde e o roteador cria sua tabela IP-MAC.