ルータを超える場合のARP

ここでは、ルータを超える宛先にある端末と通信する場合のARPの動作について解説します。

 下図を見て下さい。コンピュータAからコンピュータFへ通信する場合のARPの動作は、どうなるのでしょうか?

コンピュータA、コンピュータFのIPアドレスは次のようになっています。

コンピュータAのIPアドレス・・・192.168.1.1/24
コンピュータEのIPアドレス・・・192.168.2.1/24

コンピュータAは、コンピュータFと同じネットワークに所属するかどうかを調べます。

 コンピュータAが所属するネットワークは、自分のIPアドレスと自分に設定されたサブネットマスクから論理積を求めることで知ることができます。

192.168. 1. 1 ←コンピュータAのIPアドレス
AND 255.255.255. 0 ←コンピュータAに設定されたサブネットマスク
-----------------------
192.168. 1. 0
論理積を求める

 コンピュータFが所属するネットワークは、コンピュータFのIPアドレスと自分に設定されたサブネットマスクから論理積を求めることで知ることができます。

192.168. 2. 1 ←コンピュータEのIPアドレス
AND 255.255.255. 0 ←コンピュータAに設定されたサブネットマスク
-----------------------
192.168. 2. 0
論理積を求める

そうすると、コンピュータAとコンピュータFは、異なるネットワークに所属することが分かります。

 コンピュータAは、自分の所属する「192.168.1.0/24」ネットワークでコンピュータFに対するARP要求を行っても、そこには、コンピュータFが存在しないことが分かるので、コンピュータFに対するARP要求は行いません。

 そこで、コンピュータAは、デフォルトゲートウェイであるルータの「192.168.1.254」のIPアドレスが振られたF0インターフェイスにパケットを送信しなければ、ならないことが分かります。

 「192.168.1.254」に対応するMACアドレスが、自分のARPテーブルに存在するかどうかを確認します。もし、なければ、「192.168.1.254」に対してARP要求を行います。

ARPテーブルに存在すれば、そこに登録されている「192.168.1.254」に対応するMACアドレスを使って、パケットを送信します。

コンピュータAがコンピュータFと通信する時の宛先アドレスは、以下のようになります。

<コンピュータA → ルータ間>

宛先MACアドレスルータのF0のMACアドレス
送信元MACアドレスコンピュータAのMACアドレス
宛先IPアドレスコンピュータFのIPアドレス
送信元IPアドレスコンピュータAのIPアドレス

ルータを越える先にある端末との通信は、全て、デフォルトゲートウェイに送られることになります。

 パケットを受け取ったルータは、ルーティングテーブルを参照します。ルーティングテーブルとは、宛先ネットワークへ到達するには、どのインターフェイスから送出させればよいのかを一覧としてまとめたものです。

※隣のどのルータに渡せばよいのかを指示している場合もあります。

例えば、ルータが以下のようなルーティングテーブルを持っていたとします。

宛先ネットワーク送出インターフェイス
192.168.1.0/24F0
192.168.2.0/24F1

宛先IPアドレス「192.168.2.1」に最もふさわしいエントリーが、「192.168.2.0/24」であると判断されます。

 そうすると、宛先である「192.168.2.1」へは、パケットをF1から送出させればよいことが分かります。また、「192.168.2.1」が所属するネットワーク「192.168.2.0/24」は、ルータに直接接続されていることも分かります。

つまり、次のルータに「192.168.2.1」宛てのパケットを転送しなくとも、このルータから直接、パケットを配送できることが分かります。

 ルータは、F1に関連付けられた自分のARPテーブルのエントリーに「192.168.2.1」があるかどうかを探します。
エントリーの一覧に、「192.168.2.1」に対応するMACアドレスがあれば、それを使います。

一覧になければ、ルータが、「192.168.2.1」のMACアドレスを調べるためにARP要求を行います。

 このようにして、宛先IPアドレス「192.168.2.1」に対応するMACアドレスを調べて、ルータは、宛先を以下のようにセットしたパケットをコンピュータFに転送します。

<ルータ → コンピュータF間>

宛先MACアドレスコンピュータFのMACアドレス
送信元MACアドレスルータのF1のMACアドレス
宛先IPアドレスコンピュータFのIPアドレス
送信元IPアドレスコンピュータAのIPアドレス

 ルータを経由すると、宛先IPアドレス、送信元IPアドレスは、変わりませんが、MACアドレスは、ルータを超えるごとに、宛先MACアドレス、送信元MACアドレスが変わるようになっています。