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