技術ノート ハードウェア MAC アドレスは正確に何に使用されますか?

MAC アドレスは正確に何に使用されますか?

MAC アドレスは正確に何に使用されますか?

ローカル ネットワーク上のすべてのハードウェアには、ローカル ルーターまたはサーバーによって割り当てられた IP アドレスに加えて、MAC アドレスがあります。そのMACアドレスは一体何のためにあるのでしょうか?

MAC アドレスは正確に何に使用されますか?

今日の質疑応答セッションは、コミュニティ主導の Q&A Web サイトのグループである Stack Exchange の下位部門である SuperUser のご好意で提供されました。

質問

MAC アドレスは正確に何に使用されますか?

スーパーユーザーの読者である Vishnu Vivek は、MAC アドレスとその機能に興味を持っています。

MAC アドレスは正確に何に使用されますか?

IP アドレスは階層的であるため、インターネット全体のルーターがパケットを転送する方向を認識していることを理解しています。 MAC アドレスには階層がないため、パケット転送はできません。したがって、MAC アドレスはパケット転送には使用されません。

MAC アドレスは正確に何に使用されますか?

理由もなくそこにあるわけではないと思います。そこで私の質問は、パケット転送中に MAC アドレスが正確にどこで機能するのかということです。

本当にどこでしょうか? MAC アドレスの具体的な機能は何ですか?

MAC アドレスは正確に何に使用されますか?

答え

SuperUser の寄稿者 Werner Henze は、MAC アドレスの機能についていくつかの洞察を提供しています。

MAC アドレスは何に使用されますか?

MAC アドレスは、イーサネット ベースのネットワークを機能させるための低レベルの基本です。

ネットワーク カードにはそれぞれ固有の MAC アドレスがあります。イーサネット上で送信されるパケットは常に MAC アドレスから送信され、MAC アドレスに送信されます。ネットワーク アダプターがパケットを受信すると、パケットの宛先 MAC アドレスとアダプター自体の MAC アドレスが比較されます。アドレスが一致する場合、パケットは処理され、一致しない場合、パケットは破棄されます。

特別な MAC アドレスがあり、たとえば ff:ff:ff:ff:ff:ff です。これはブロードキャスト アドレスであり、ネットワーク内のすべてのネットワーク アダプタをアドレス指定します。

IP アドレスと MAC アドレスはどのように連携しますか?

IP は、イーサネットの上の層で使用されるプロトコルです。たとえば、別のプロトコルは IPX です。

コンピュータが IP アドレス xxxx にパケットを送信したい場合、最初にチェックされるのは、宛先アドレスがコンピュータ自体と同じ IP ネットワーク内にあるかどうかです。 xxxx が同じネットワーク内にある場合は、宛先 IP に直接到達できます。そうでない場合は、パケットを構成されたルーターに送信する必要があります。

これまでのところ、状況はさらに悪化しているようです。現在、2 つの IP アドレスがあるためです。1 つは元の IP パケットのターゲット アドレスで、もう 1 つはパケットの送信先デバイスの IP (ネクスト ホップ、最終ホップのいずれか)宛先またはルーター)。

イーサネットは MAC アドレスを使用するため、送信者はネクストホップの MAC アドレスを取得する必要があります。そのために使用される特別なプロトコル ARP (アドレス解決プロトコル) があります。送信者はネクストホップの MAC アドレスを取得したら、そのターゲット MAC アドレスをパケットに書き込み、パケットを送信します。

ARPはどのように機能しますか?

ARP 自体は、IP や IPX のようなイーサネット上のプロトコルです。デバイスが特定の IP アドレスの MAC アドレスを知りたい場合、ブロードキャスト MAC アドレスに「IP アドレス yyyy を持っているのは誰ですか?」というパケットを送信します。すべてのデバイスがそのパケットを受信しますが、IP アドレス yyyy を持つデバイスだけが「私です」というパケットで応答します。質問したデバイスは応答を受信し、送信元 MAC アドレスが使用する正しい MAC アドレスであることがわかります。もちろん、結果はキャッシュされるため、デバイスは毎回 MAC アドレスを解決する必要はありません。

ルーティング

言い忘れるところでしたが、MAC アドレスに基づくルーティングはありません。低レベルのイーサネットおよび MAC アドレスは、同じネットワーク (有線または無線) 上のすべてのデバイスにのみ到達できます。ルーターが間にある 2 つのネットワークがある場合、ネットワーク A のデバイスからネットワーク B のデバイスの MAC アドレスにパケットを送信させることはできません。ネットワーク A のデバイスはネットワーク B のデバイスの MAC アドレスを持っていないため、この MAC アドレスへのパケットは、ネットワーク A 内のすべてのデバイスによって (ルーターによっても) 破棄されます。

ルーティングは IP レベルで行われます。単純に見ると、ルーターは上記の「IP アドレスと MAC アドレスはどのように連携するのか?」セクションで説明したことを実行しているだけです。ルーターは、それ自身の MAC アドレスのパケットを受信しますが、別の IP アドレスのパケットを受信します。次に、ターゲットの IP アドレスに直接到達できるかどうかを確認します。そうであれば、パケットをターゲットに送信します。それ以外の場合、ルーター自体にも上流ルーターが設定されており、そのルーターにパケットが送信されます。

もちろん、複数のルーターを構成することもできます。ホームルーターには上流ルーターが 1 つしか設定されていませんが、インターネットのバックボーンでは、大きなルーターには大きなルーティング テーブルがあり、すべてのパケットに最適な方法を知っています。

MAC アドレスのその他の使用例

  1. ネットワーク スイッチは、すべてのポートで認識される MAC アドレスのリストを保存し、パケットを認識する必要があるポートにのみパケットを転送します。
  2. ワイヤレス アクセス ポイントは、アクセス制御に MAC アドレスを使用することがよくあります。正しいパスフレーズを持つ既知のデバイス (MAC アドレスは一意であり、デバイスを識別します) へのアクセスのみが許可されます。
  3. DHCP サーバーは MAC アドレスを使用してデバイスを識別し、一部のデバイスに固定 IP アドレスを与えます。

説明に何か追加することはありますか?コメントでは音を消してください。他のテクノロジーに精通した Stack Exchange ユーザーからの回答をさらに読みたいですか? ここで完全なディスカッション スレッドを確認してください

「 MAC アドレスは正確に何に使用されますか?」に関するベスト動画選定!

MACアドレスとIPアドレスの違い/ITパスポート・基本情報技術者・高校情報
【3分ハッキング】MACアドレスフィルタリングを回避せよ!