MACアドレス


アドレス/データ

MAC*1アドレスについて

  • PCの通信ポートに割り当てられる物理的なアドレス
  • 工場出荷時に機器に割り当てられている
  • ARP*2
    • IPアドレスから対応するMACアドレスを調べられる
    • ルータなんかはポートごとに割り当てられている

MACフレーム

  • イーサネットなどLANでの通信の時に、データを格納する部分
    • MACフレームの先頭部分に、送信元・送信先のMACアドレスが書かれている
  • LANボードのフレーム受信操作
  • MACフレーム内のMACアドレスが自分のMACアドレスだったときだけ受信する

アドレスの構成

  • 48bitで構成されている
    • 実際は、8bit(1octet)ずつで区切って、6つの2桁の16進数に変換して表記する
      • 区切りは「:」か「-」
    • コマンドプロンプトでの調べ方
      • ipconfing /allで、Physical Addressとして表される

ベンダー識別子 OUI*3

  • 前半24bit部分
    • 16進数表記だったら、前半の3つ
  • その機器がどのベンダ(メーカー)のものかを示す
    • IEEEが管理しており、1650ドルを払って申請する
  • IAB*4
    • OUIよりもベンダー識別子が36bitと多い
    • 残りで割り当てられる機器が少ない(4000程)
    • その代わり550ドルと安い

I/G*5ビット

  • 8bit目は、MACアドレスの中で最初に読み出すビット
    • 最初の8bit(1octet)が読み込まれ、それの最下位bitから読み込まれる
    • この8bit目で、個別かグループなのかを判別する
  • ユニキャスト
    • I/Gビットが「0」のとき
  • マルチキャスト
    • I/Gビットが「1」のとき
    • マルチキャストの時には、プロトコルによって違うMACアドレスが割り当てられる
      • IPマルチキャストだったら
        01-00-5E

G/L*6ビット

  • 7bit目は2番目に呼び出されるビット
    • ここで、GlobalMACアドレスかLocalMACアドレスか認識される
  • IPアドレスのように、枯渇を心配してのことか
    • だけど元々、48bitと多いのでめったにLocalMACアドレスが使われることは無い
  • GlobalMACアドレス
    • G/Lビットが「0」のとき
  • LocalMACアドレス
    • G/Lビットが「1」のとき

MACアドレスの実用時の操作

MACアドレス・フィルタリング

  • ルータで、接続する機器のMACアドレスを指定する
    • セキュリティとして利用

MACアドレスを調べる

  • コマンドプロンプトで調べられる
    ipconfig /all
    • Ethernet adapter ローカル エリア接続
      • Physical Address

MACアドレスを変える

  • コントロールパネルのネットワーク接続
    • ローカルエリア接続を右クリック→プロパティ
    • 全般タブの接続方法の「構成」
    • 詳細設定のプロパティの「Network Address」
    • その時の値がMACアドレスなので編集可能
  • 利用
    • ネットワーク機器故障時
      • 機器を取り替えるときに今までどおりのMACアドレスが欲しいときとか
  • 攻撃利用
    • 逆にセキュリティでMACアドレス制限を潜り抜ける策にもなり得るが・・・
      • MACアドレスは、ネットワークインタフェース(端子)のアドレスだから
    • ARPスプーフィング
      • LAN上に流れているフレームを全て受け取り、他の端末のMACアドレスを調べて勝手に応答してしまう

*1 Media Access Control
*2 Address Resolution Protocol
*3 Organizationally Unique Identifier
*4 Individual Address Block
*5 Individual/Group
*6 Global/Local