ローカルネットワーク上のすべてのハードウェアには、ローカルルーターまたはサーバーによって割り当てられたIPアドレスに加えて、MACアドレスがあります。そのMACアドレスは正確には何のためのものですか?
今日の質疑応答セッションは、コミュニティ主導のQ&AWebサイトのグループであるStackExchangeの下位区分であるSuperUserの好意で行われます。
質問
スーパーユーザーリーダーのVishnuVivekは、MACアドレスとその機能に興味があります。
IPアドレスが階層的であるため、インターネット全体のルーターがパケットを転送する方向を認識していることを理解しています。 MACアドレスの場合、階層がないため、パケット転送はできません。そのため、MACアドレスはパケット転送には使用されません。
理由もなくそこにあるとは思いません。だから私の質問は、パケット転送中にMACアドレスが正確にどこで機能するのかということです。
確かにどこ? MACアドレスの特定の機能は何ですか?
答え
スーパーユーザーの寄稿者であるWernerHenzeは、MACアドレスの機能についていくつかの洞察を提供しています。
MACアドレスは何に使用されますか?
MACアドレスは、イーサネットベースのネットワークを機能させるための低レベルの基本です。
ネットワークカードにはそれぞれ一意のMACアドレスがあります。イーサネットで送信されるパケットは、常にMACアドレスから送信され、MACアドレスに送信されます。ネットワークアダプタがパケットを受信している場合、パケットの宛先MACアドレスをアダプタ自身のMACアドレスと比較しています。アドレスが一致する場合、パケットは処理されます。一致しない場合、パケットは破棄されます。
特別なMACアドレスがあります。たとえば、ff:ff:ff:ff:ff:ffは、ブロードキャストアドレスであり、ネットワーク内のすべてのネットワークアダプターをアドレス指定します。
IPアドレスとMACアドレスはどのように連携しますか?
IPは、イーサネットの上の層で使用されるプロトコルです。たとえば、別のプロトコルはIPXです。
コンピューターがパケットをIPアドレスx.x.x.xに送信する場合、最初のチェックは、宛先アドレスがコンピューター自体と同じIPネットワーク内にあるかどうかです。 x.x.x.xが同じネットワーク内にある場合は、宛先IPに直接到達できます。そうでない場合は、構成されたルーターにパケットを送信する必要があります。
これまでは状況が悪化しているようです。2つのIPアドレスがあります。1つは元のIPパケットのターゲットアドレスであり、もう1つはパケットの送信先のデバイスのIPです(ネクストホップ、最後のいずれか)宛先またはルーター)。
イーサネットはMACアドレスを使用するため、送信者はネクストホップのMACアドレスを取得する必要があります。そのために使用される特別なプロトコルARP(アドレス解決プロトコル)があります。送信者がネクストホップのMACアドレスを取得すると、そのターゲットMACアドレスをパケットに書き込み、パケットを送信します。
ARPはどのように機能しますか?
ARP自体は、IPやIPXのように、イーサネットより上のプロトコルです。デバイスが特定のIPアドレスのMACアドレスを知りたい場合は、ブロードキャストMACアドレスにパケットを送信して、「IPアドレスy.y.y.yは誰ですか?」と尋ねます。すべてのデバイスがそのパケットを受信しますが、IPアドレスがy.y.y.yのデバイスのみが「It’sme」というパケットで応答します。要求デバイスは応答を受信し、送信元MACアドレスが使用する正しいMACアドレスであることを認識します。もちろん、結果はキャッシュされるので、デバイスは毎回MACアドレスを解決する必要はありません。
ルーティング
私はほとんど言及するのを忘れていました:MACアドレスに基づくルーティングはありません。低レベルのイーサネットおよびMACアドレスは、上のすべてのデバイスにのみ到達できます。 同じ ネットワーク(ケーブル接続またはワイヤレス)。ルーターを間に挟んで2つのネットワークがある場合、ネットワークAのデバイスでネットワークBのデバイスのMACアドレスにパケットを送信することはできません。ネットワークAのデバイスにはネットワークBのデバイスのMACアドレスがないため、このMACアドレスへのパケットは、ネットワークA内のすべてのデバイスによって(ルーターによっても)破棄されます。
ルーティングはIPレベルで行われます。ルーターは、上記の「IPアドレスとMACアドレスはどのように連携するのか」のセクションで説明したことを実行しているだけです。ルーターは、自身のMACアドレスに対して、ただし異なるIPアドレスに対してパケットを受信します。次に、ターゲットIPアドレスに直接到達できるかどうかを確認します。もしそうなら、彼はパケットをターゲットに送信します。それ以外の場合、ルーター自体にもアップストリームルーターが構成されており、そのルーターにパケットを送信します。
もちろん、複数のルーターを構成することもできます。ホームルーターにはアップストリームルーターが1つだけ構成されますが、インターネットバックボーンでは、大きなルーターには大きなルーティングテーブルがあるため、すべてのパケットに最適な方法がわかります。
MACアドレスの他の使用例
- ネットワークスイッチは、すべてのポートで確認されたMACアドレスのリストを保存し、パケットを確認する必要があるポートにのみパケットを転送します。
- ワイヤレスアクセスポイントは、アクセス制御にMACアドレスを使用することがよくあります。正しいパスフレーズを使用して、既知のデバイス(MACアドレスは一意でデバイスを識別します)へのアクセスのみを許可します。
- DHCPサーバーは、MACアドレスを使用してデバイスを識別し、一部のデバイスに固定IPアドレスを付与します。