マルチキャストMACアドレス

MACアドレスには、次のルールがあります。

  1. 48bitのコードからなる。
  2. OUIにより、ベンダーを識別。
  3. ベンダーが出荷時に書き込み、原則としてユーザーは操作しない。
  4. 原則として同じMACアドレスの機器は、存在しない。
  5. 48bitを8bitずつ、「:」で6つのブロックに区切り、16進数で表現する。例えば「00:00:0C:A6:38:D8」

※「-」や「.」で区切る場合もあります。

 オクテット内のビットで、最上位ビットは、MSB(Most Significant Bit、最下位ビットは、LSB(Least Significant Bit)と呼ばれ、第1オクテットのI/Gビット、U/Lビットは、特別な意味を持つビットとして規格化されています。I/Gビットは、「Individual/Group」と呼ばれています。

 先頭の第1オクテットの最下位ビットにあるI/Gビットが、「1」であるアドレスがマルチキャストMACアドレスとなります。

 ブロードキャストMACアドレスは、「FF:FF:FF:FF:FF:FF」と48ビットの全てのビットが「1になっており、I/Gビットが、「1」となるため、マルチキャストMACアドレスの特殊な形態であると考えることができます。

 IEEEでは、マルチキャストIPアドレスに対応するマルチキャストMACアドレスを次の25ビットで、開始するように定めています。

 0000 0001 0000 0000 1001 1110 0

 16進数で、「01:00:5E」と25ビット目が「0」で、その後の残りの23ビットが、マリティキャストIPアドレスの下位から23ビットからマッピングすることになっています。

 例えば、マルチキャストIPアドレス「224.0.0.5」に対応するマルチキャストIPアドレスは、下図のように対応付けます。

 マルチキャストIPアドレス「224.0.0.5」に対応するマルチキャストIPアドレスは、「01:00:5E:00:00:05」となります。

 ここで、注意しておくことがあります。「1110」と下位からの23ビットの間の5ビット(上図で、ベージュ色の部分のビット)が無視されてしまうということです。

 マルチキャストIPアドレスは「1110」で始まります。これは、無視されても固定されていることなので、問題ありませんがベージュ色の部分が無視されることによって、マルチキャストIPアドレスとマルチキャストMACアドレスの対応が、1対1の対応付けにならなくなってしまいます。

 例えば、「224.0.0.5」と「224.128.0.5」に対応するマルチキャストMACアドレスは、同じマルチキャストIPアドレスの「01:00:5E:00:00:05」となります。

 5ビット無視されることになるので、25=32個のマルチキャストIPアドレスが、同じマルチキャストMACアドレスに対応付けられることとなります。

マルチキャストMACアドレスは、重複が発生するので、アプリケーション側で調整が必要となります。