ネットワークを介したデータの移動方法を理解することは、ネットワーキングの基本です。この旅は、しばしばパケットパスと呼ばれ、さまざまなプロトコルとハードウェアが連携して行われます。ローカルネットワーク内での通信と外部ネットワークへの通信という、2 つの一般的なシナリオでパケットパスを追跡してみましょう。
ローカルネットワーク内でのパケットパス
ホストが同じローカルネットワーク上の別のホストにパケットを送信する場合、プロセスは比較的単純です。
- まず、送信ホストは、自身の IP アドレスとサブネットマスクを比較して、宛先 IP アドレスが同じサブネット上にあるかどうかを確認します。
- パケットを送信するには、ホストは送信元 IP、宛先 IP、送信元 MAC アドレス、宛先 MAC アドレスという 4 つの重要な情報を必要とします。当初、ホストは宛先ホストの MAC アドレスを知りません。
- ホストは、不足している情報を探すために ARP(Address Resolution Protocol)を使用します。ローカルネットワーク上で ARP リクエストをブロードキャストし、どのデバイスがターゲットの IP アドレスを持っているかを尋ねます。対応するデバイスは MAC アドレスを返信します。
- 宛先 MAC アドレスが判明すると、パケットは完全にアドレス指定され、ローカルネットワーク上の宛先ホストに直接送信できます。
外部ネットワークへのパケットパス
パケットがローカルネットワーク外のデバイス宛ての場合、パケットを転送するためにルーターが関与するプロセスが発生します。
- 送信ホストは、宛先 IP アドレスがローカルネットワーク上にないことを確認します。ARP ブロードキャストはローカルネットワークに限定されているため、ホストは最終宛先の MAC アドレスを直接検出できません。
- ホストはルーティングテーブルを参照します。外部 IP に対する特定のルートがないため、デフォルトルート(デフォルトゲートウェイ、つまりルーターを指す)を使用します。パケットは、元の送信元および宛先 IP アドレスで準備されます。ただし、宛先 MAC アドレスはデフォルトゲートウェイの MAC アドレスに設定されます。ゲートウェイの MAC が不明な場合は、ホストは ARP を使用してそれを探します。
- パケットがルーターに到達すると、ルーターは宛先 IP アドレスを調べ、自身のルーティングテーブルを参照して、パケットパス上の次のホップを決定します。ルーターは次に、パケットの MAC アドレスを書き換えます。送信元 MAC はルーターの MAC になり、宛先 MAC は次のホップの MAC になります。このプロセスは、パス上の各ルーターで繰り返されます。
- パケットが最終的に宛先のローカルネットワークに接続されているルーターに到着すると、そのルーターは ARP を使用して最終ホストの MAC アドレスを見つけ、パケットを配信します。
- この旅全体を通して、パケットヘッダー内の送信元および宛先 IP アドレスは変更されません。MAC アドレスのみがホップごとに更新されます。