MACアドレスは認識しているが、送信PCは宛先MACのMACを認識していない場合のスイッチの動作


12

4台のPCがスイッチに接続され、このスイッチはMACアドレスを認識しています(4台すべてのPC)。コンピューターAとコンピューターDは以前に通信したことがないため、両者のARPテーブルは互いのMACアドレスで更新されません。

コンピューターAはコンピューターDと通信したいため、コンピューターDのMACアドレスのARP要求を送信します。このARPはブロードキャストメッセージになります(ARPパケットの宛先MACとしてFF:FF:FF:FF:FF:FFを使用)。

コンピューターDのMACを既に認識しているがコンピューターAは認識していないため、スイッチがどのようにそれを取得するかを理解したいと思います。スイッチは、コンピューターDにARPメッセージ(ブロードキャスト)に応答させるか、そのARP要求をドロップしてコンピューターAのパケットをコンピューターDに直接ルーティングさせますか(スイッチは既にコンピューターDのMACを認識しているため)?


2
答えに加えて、私が最近知っているすべてのオペレーティングシステムは、リンクが確立されたときにGratuitous ARPを発行します。
AbraCadaver

@AbraCadaverそれは実際には関係ありません。Gratuitous ARPは、既存のARPキャッシュエントリのみを作成し、新しいエントリは作成しません。これは、キャッシュのプリロードではなく、IPの移動またはNICの交換時に古いエントリを強制的に排除するためのものです。
バーマー

@Barmar:いいえ。ブリッジ/スイッチはフレームを認識し、ソースMACとポートを記録します。それが動作する方法です。
-AbraCadaver

@AbraCadaver gratuitous ARPの処理方法とは何が関係していますか?
バーマー

@Barmar:Gratuitous ARPはスイッチによって処理されません。送信元MACを持つイーサネットフレームが特定のポートに
着信

回答:


24

もちろん、ARP要求は通過します。

スイッチはARPを認識しません。イーサネット(つまり、イーサネットフレーム上のMACアドレス)のみを認識し、その上のプロトコルは認識しません。(一部のスイッチは、IGMPスヌーピングなどの高度な機能を提供しますが、ここでは関係ありません。)

ブロードキャストメッセージであるため、すべての(接続された)ポートに配信する必要があります。スイッチが気にするのはそれだけです。それが本当にコンピュータDに向けられていることを知ることはできません。


まあ、イーサネットはプロトコルです。ただし、単純なスイッチは、一部のプロトコル(イーサネットなど)にのみ注意を払い、他のプロトコル(インターネットプロトコルバージョン4、伝送制御プロトコルなど)には注意を払いません。
TOOGAM 16

2
ARP要求は「192.168.0.1はどこですか?」と尋ねます。スイッチはこれについて何も考えていません。
マイケルハンプトン

11

ARP要求は、「IPになんでもあります!MACアドレスは何ですか?」というメッセージです。ARPはレイヤー2アドレスの検出を処理しますが、IPアドレスに送信されているため、本質的にレイヤー3要求です。スイッチはレイヤー3で動作しません。

あなたが与えた例では、スイッチが知らないことを知っています。ARP要求のIPアドレスがコンピューターDに属していることを確認します。宛先MACアドレスはブロードキャストであり、それはスイッチが知っているか、または気にするすべてです。スイッチがブロードキャストMACを検出した場合、そのパケットはプレーンでシンプルにブロードキャストされます。

はい、そこにはレイヤー3スイッチがあり、技術的にはARPはレイヤー3プロトコルではないが、この例ではそれは重要ではないと指摘します。

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