LAN上のすべてのホストが同じARPテーブルを共有していますか、それともホストがそれらを個別に保持していますか?


7

私はARPについて学んでいるところです。私は少し混乱しています。私の混乱はシナリオでよりよく説明されています。

ホストAはホストBと通信しています。ホストAはホストBのIPアドレスを認識していますが、MACアドレス認識していません。したがって、ARP要求をLANに送信し、ホストBはそのMacアドレスで応答します。したがって、ホストAはホストBのMacアドレスを認識し、ホストBのMacアドレスを使用してARPテーブルにエントリを作成できます。


ARPテーブルに関する私の質問

  1. ホストAは自身の ARPテーブル、またはLAN 全体の共有ARPテーブルを更新していますか?

** 質問2は、質問1の回答が「各ホストが独自のARPテーブルを保持している」である場合にのみ適用されます

  1. ARP機能がすべてのLAN間で共有されていない場合、同じLAN上の他のホストは、ホストAが受信したこの新しい情報を他のホストにまだ持っていない場合に通知しますか?
    • ホストCとホストDを想定します。ホストAがホストBのMACをARPテーブルに入力したので、ホストCとホストDはそれぞれのARPテーブルでホストBのMACアドレスを認識しますか?

何か回答がありましたか?もしそうなら、あなたはそれを受け入れて、質問が永遠にポップアップし続けないようにして、答えを探します。または、自分の回答を投稿して受け入れることもできます。
Ron Maupin

回答:


19

実際、デバイス内のすべてのインターフェイスには独自のARPテーブルがあります。ホストは複数のARPテーブルを持つことができます(ホストが持つ各インターフェースに1つ)。ARPテーブルはホスト間、または同じホスト内のインターフェース間でさえ共有されませんが、ホストはネットワーク上のARPトラフィックを聞いて、ARPトラフィックが聞こえるインターフェースのARPテーブルを更新する場合があります。


9

別の方法で質問に答えるには、ARPテーブルを共有するためにどのようなメカニズムが利用できるか?これは、IP over Ethernet(および同様のレイヤー2ネットワーク)の基本の1つです。デバイスがARP情報を別のデバイスと共有しようとした場合、ARPテーブルのエントリをブロードキャストするなど、デバイスの起動時にいつ更新を取得するかを知る必要があります。これらはすべて、方法よりもはるかに複雑です。そのARPは機能します。つまり、特定のデバイスが他のデバイスにそれ自体について伝える責任があり、デバイスが別のデバイスについて知りたいときにクエリをブロードキャストします。


4

発生する可能性のある状況をよりよく理解できるように、各質問を具体的に見て、質問を拡張してみましょう。

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

上記のすべての動作により、デバイスが必要としないパケットの処理サイクルと、不要なテーブルエントリのメモリを無駄にすることがなくなります。


2

MACアドレスのARPテーブルについて考えてみてください。昔ながらの電話番号帳のようなものです。

誰もが自分の電話でノートブックを持っていて、彼らが話したり聞いたりした人(デバイス)の電話番号(MACアドレス)に書き込みます。

すべての家はコンピュータであり、すべての電話回線はインターフェイスであり、すべてのインターフェイスにはMACアドレスの独自のARPテーブルがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.