あなたの質問は、インターネットの中心であり、ルーティングの定義そのものです。例では、ルーターDは2つの施設に基づいてコンピューターAにデータを送信します。
- データをコンピューターAに送信するように指示されています。
- コンピューターAからのデータは既に処理されています。
あなたのシナリオは最初のオプションを想定しているようです-ルーターDはコンピューターAに送信したいのですが、どうやってそこに到達しますか?これは、ルーター間で共有されるルーティングテーブルを使用して行われます。
ルーターCは、ルーターDを含む-「192.168。*」ネットワークを「知っている」ことを知っているすべてのルーターに定期的に更新を送信します(実際には、ネットワークがルーティングされないため、これは起こりません-プライベートと見なされます)それを無視してください。)そのため、ルーターDはルーターCがそのネットワークを知っていることを既に知っています。
そのため、データがコンピューターA宛ての場合、最初にネットワークによってアドレス指定されます。ルーターDは、「192.168。*ネットワークを見つける必要があります。それを知っていますか?いいえ、知っています。他の誰かを知っていますか?はい。ルーターCは知っています。ルーターCに行くにはどうしますか? 2.2インターフェース。」
次に、ルーターDがルーターCにデータを送信します。ルーターCがそれを取得し、「ルーターDからのデータはありますが、192.168ネットワークのものです。そのネットワークを知っていますか?はい、192.168.1.1ネットワークを介して」転送します。
IPとMACのアドレス指定を解決するために行うべき他の作業がいくつかありますが、ARPとローカルネットワーキングではなく、ルーティング自体を扱います。
最初の仮定-リモートルーターはルーティングメカニズムを知っている必要がある-がここで作用しないことに気付くでしょう。ルーターDは、ルーターCがEIGRP、RIP、RIPv2、OSPFなどを使用しているかどうかを気にしません。気になるのは、更新プログラムを取得したことだけです。(もちろん、更新をどのように取得するかは、2つの同期を保つために重要です。しかし、これもまた別の問題です。)
2番目の仮定-ポート番号はルーティングの要因である-も間違っています。ルーターは(一般的に)ルーティングを決定するためにポート情報を必要としません。(これは、いくつかの新しいネットワークテクノロジーのためにわずかに変更されており、主にファイアウォールとプロキシに適用されますが、それでもより広い仮定は「真の」ルーターに適用されます。)
例を続けると、ルーターCは(シナリオごとに)ポート1000でデータを転送します。これは、コンピューターAに特定のポートのデータを予期するサービスがある可能性があるためです。ただし、ルーターDがポート1000で送信したため、実行することだけがわかっています。データの発信者がそのポートでルーターDに送信したため、ルーターDはそのポートでのみ送信します。
BitTorrentまたはP2Pプログラムを含めることは、あなたが尋ねる質問を反映しているとは理解していません。同じ説明が当てはまります。特定のデバイス(またはIP)を特定のポートに関連付けるポートトリガーを使用してルーターを構成することもできます。そのため、トラフィックがポート1234に到着すると、ルーターはデータをデバイスABCDに送信することを認識します。これは通常、発信TCPポートに関連付けられています。つまり、ポート7890でトラフィックを送信する場合、ルーターは着信トラフィックがポート1234にあることを認識して送信します。
ただし、ポートトリガーは(リモート)ルーティングの決定に関連付けられていません。代わりに、ルーターがLANに使用する内部MAC / IPテーブルに関連しています。
更新/編集:コメントにさらに回答して詳しく説明します。ルーターDは、IPアドレス(192.168.2.2)によってのみコンピューターAを認識します。ただし、ルーターCはIPアドレスとMACアドレスによってコンピューターAを認識しています。MAC(Media Access Control)は、国際標準で定義されている一意の(通常...)48ビット識別子です。LAN(有線および無線)に接続されているすべてのデバイスは、一意のMACアドレスを持つことになっています。
ルーター(ルーターC)は、IPアドレスとMACアドレスをテーブル(MACアドレステーブル)に関連付けます。そのため、トラフィックがルーターCに着信し、ルーターがその「ローカル」を認識すると、MACアドレステーブルのルックアップを実行します。次に、ルーターはフレームアドレス情報を文字通り変更します。
レイヤー2の宛先情報を再構築(書き換え)して、コンピューターAの宛先MACアドレスを取得しますが、IPアドレス情報(レイヤー3)は同じままにします。
ルートがMACアドレスを知らない場合。または、テーブルにIP-MAC関係がない場合、ARP(アドレス解決プロトコル)と呼ばれる処理を実行して、「このネットワーク上の全員、このMACアドレスを持っていますか?」と尋ねます。または時々-「皆さん、MACアドレスは何ですか?」)。適切なデバイスが応答し、ルーターがIP-MACテーブルを作成します。