発生する可能性のある状況をよりよく理解できるように、各質問を具体的に見て、質問を拡張してみましょう。
1.ホストAは自身のARPテーブル、またはLAN全体の共有ARPテーブルを更新していますか?
いいえ、ARPテーブルはLAN全体で共有されません。各デバイスには独自のARPテーブルがあります。エントリに関連付けられているローカルインターフェイスを含め、独自のARPテーブルを管理するのはデバイスの責任です。
2. ARP対応がすべてのLAN間で共有されていない場合、同じLAN上の他のホストは、ホストAが受信したこの新しい情報を他のホストがまだ持っていない場合に認識しますか?
スイッチ環境の簡単な答えはノーです。ARPパケットのフォーマットを表示すると、パケットに送信側ハードウェアMACアドレスとIPの両方が含まれていることがわかります。要求元デバイスからARP要求パケットが送信されると、パケットはブロードキャストアドレスに送信され、スイッチによってLAN上のすべてのインターフェイス(デバイス)に転送されます。これにより、要求されたIPアドレスを持つデバイスが応答し、応答パケットを、それを要求したデバイスの特定のIPアドレスとMACアドレスに向けることができます。パケットをパケット内の特定のデバイスのスイッチ上のインターフェイスにのみ転送するようにMACアドレステーブルを維持するのは、ネットワークスイッチの責任です。10.0.0.2を検索する10.0.0.1からの発信ARPパケットの例を次に示します。
15:00:37.395072 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.0.0.2 tell 10.0.0.1, length 46
とはいえ、デバイスが特定のIPアドレスを持っていることを通知する無償のARP応答パケットを送信することは可能です。無償のARP応答パケットがブロードキャストアドレスに送信され、LAN上のすべてのデバイスに転送されます。その状況では、そのパケットを受信する各デバイスは、パケットの処理方法を選択する必要があります。ARPテーブルにアドレスがない場合、通常は無視されます。ただし、ARPテーブルにそのアドレスがある場合は、変更された情報を更新する必要があります。10.0.0.2からLANにアナウンスするパケットの例を次に示します。
15:00:38.462135 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.0.0.2 (ff:ff:ff:ff:ff:ff) tell 10.0.0.2, length 46
上記のすべての動作により、デバイスが必要としないパケットの処理サイクルと、不要なテーブルエントリのメモリを無駄にすることがなくなります。