パケットがパブリック IP アドレスに送信された場合、ルータはどのようにしてそのパケットを受信する必要があるかを知るのでしょうか?

パケットがパブリック IP アドレスに送信された場合、ルータはどのようにしてそのパケットを受信する必要があるかを知るのでしょうか?

インターフェースの 1 つにパブリック IP アドレスがあり、他のインターフェースの 1 つにプライベート アドレス (192.168.1.1/24 とします) があるルーターがあるとします。次に、その 2 番目のインターフェースに接続しているコンピューターにもプライベート IP アドレス (192.168.1.2/24) があります。ここで、コンピューターは、たとえば 11.12.13.14 などのパブリック IP アドレスにパケットを送信したいとします。この場合、このパブリック アドレスが IP パケットの宛先フィールドに配置されます。そうではないでしょうか。

しかし、ルーターのローカル IP (およびコンピューターのデフォルト ゲートウェイ) が 192.168.1.1 の場合、このパケットはどのようにしてルーターに配信されるのでしょうか?

これは非常に単純な質問のように思えますが、これがどのように機能するかを理解するのに本当に苦労しています。

答え1

インターネットとローカルのネットワークは次のように設定されます。

ネットワークはモデムを介してインターネットに接続されます。モデムはインターネットとの間で 1 台のデバイスと情報を交換できます。

通常、ネットワークには複数のデバイスがあります。これらのデバイスが相互に通信できるようにするには、複数のネットワーク ポートと、これを管理するソフトウェアが必要です。以前は、これはネットワーク ハブでした。ハブは基本的に、着信トラフィックをすべてのポートにコピーし、リッスンしているデバイスが応答します。

研究により、これらのデバイスはスマートになり、スイッチが作られました。スイッチはハブとは少し異なります。スイッチは、すべてのポートに新しい接続を送信し、誰が応答するかを確認して、宛先が誰であるかを判断しようとします。ポートで応答を受信すると、最初の要求で指定された IP アドレスでそのポートにタグを付け、その IP アドレスのすべてのトラフィックを、他のすべてのポートにブロードキャストせずにそのポートにルーティングします。

モデムとスイッチを一緒に使用してローカル PC をインターネットに接続することはできません。そのため、ルーターと呼ばれる新しいデバイスが作成されました。ルーターはモデムとスイッチの間にあります。ルーターには通常、DHCP サーバーなどの追加機能が組み込まれており、ローカル ネットワークの管理が可能です。ルーターには、IP アドレスがローカル用かインターネット用かを判断するのに役立つルックアップ テーブルがあります。また、ポート マッピングのテーブルもあるため、インターネットからポートを開いて、そのトラフィックをローカル デバイスに転送できます。

たとえば、IP: 192.168.1.2 の PC1 が 192.168.1.3 にパケットを送信するとします。パケットは、接続されたケーブルを介してネットワーク カードから送信されます。パケットはスイッチのポートに到達します。

スイッチには、ルーターに接続するポート WAN、ポート 1 (192.168.1.2、スイッチ自体)、ポート 2 (192.168.1.3) の 3 つのポートが有効になっています。ルーターは、192.168.1.3 が属していることをすでに認識し、パケットをそのポートに直接送信しない限り、パケットを WAN ポートとポート 2 に送信します。

コンピュータが 11.22.33.44 にパケットを送信するとします。パケットはネットワーク カードを経由して再びスイッチに到達します。スイッチはこの IP アドレスを収集していないため、すべてのポートに送信します。ルータはパケットを受信して​​モデムに転送し、モデムはそれをインターネットに送信します。

しばらくすると、インターネットが応答し、モデムからパッケージが届きます。これはルータに転送され、ルータはこれを以前のパケット (uPNP 経由) への応答であると認識し、スイッチに転送します。スイッチはそれをポートに転送します。

簡単に言えば、ルーターはこのように動作します。

意味が通じたといいのですが。:)

また、2 つのデバイスが同じ IP を持っているという質問の場合、2 つのデバイスに同じ IP アドレスを設定することはできません。IP の競合が発生し、ネットワークが正しく動作しなくなります。

答え2

前回の回答を補足するために、次のように質問しました。

つまり、ルータは、(パケットが通過した)ローカル(LAN)ポートのアドレスが 192.168.1.1 であるにもかかわらず、11.22.33.44 宛てのパケットを受信するのでしょうか?

はい、コンピュータはイーサネット リンクまたは Wi-Fi リンクを介してルーターに物理的にリンクされているためです。これは、すべてのネットワーク トラフィックを送信する物理リンクです (すべての IP パケットは同じ物理 MAC アドレスを経由してルーター デバイスに到達します)。ルーター リンクには、おっしゃるとおり IP アドレス 192.168.1.1 があり、これがデフォルト ゲートウェイ IP であるため、そのアドレスからの着信トラフィックは、ルーター経由でネットワークから送信されたものとして認識されます。

ただし、すべてのネットワーク パケットは物理的には Wi-Fi またはイーサネット リンク経由で送信され、それらのリンクは IP よりも低レベルであるため、TCP/IP プロトコルの内容 (送信元 IP、宛先 IP、送信元ポート、宛先ポート) に関係なく、すべてのパケットは物理接続経由でルーターに送信されることを忘れないでください。

したがって、パケットの送信元 IP や送信先 IP に関係なく、すべての IP パケットは有線接続または無線接続を介してルーターに到達し、そこからルーターなどのデバイスがパケットの処理方法を決定します。パケットの送信元 IP とポートをチェックして、PC の IP とポートに一致する応答トラフィックをルーターに返すか、スイッチやハブのように、ルーターに接続されているすべてのデバイスにすべての応答トラフィックを送信して応答をプローブします。最初の回答にあるように、違いは、ハブは常にリンクされているすべてのデバイスにすべてのトラフィックを送信して応答をプローブするのに対し、スイッチは 1 つの応答を受け取る前にのみトラフィックを送信し、そのデバイスをその接続にタグ付けし、それ以上のプローブは必要ないという点です。

関連情報