ONIONさん,こんにちわ。
MACアドレスは, 先頭ビットが0だったら,ユニキャスト 先頭ビットが1だったら,マルチキャスト 全ビットが1だったら,ブロードキャスト ということになってます。 それだったら,01-00-05-00-00-09はユニキャストじゃないか, と思われるかもしれませんが,そこには表記方法のトリックがあります。 イーサネットは,下位ビットから先にケーブルに送信するので, 表記上の値と,ケーブル上を流れるビット列の順番が逆になります。 つまり,01-....というMACアドレスがケーブルを流れるとき, ビット列としては,10000000....となるわけです。 だから,これは,マルチキャストになります。
>またMACアドレスはなぜユニキャストでなければいけないのでしょうか?
うーむ。 MACアドレスはユニキャストでなければいけない,というわけではありません。 NICのROMに焼き付けられているMACアドレスはユニキャストでなければいけない, ということです。 ROMに焼き付けるアドレスは,個々の機器を識別するものですから, マルチキャストアドレスじゃまずいですよね。
More information about text formats
表記上の値とケーブル上を流れるビット列の順番が逆
ONIONさん,こんにちわ。
MACアドレスは,
先頭ビットが0だったら,ユニキャスト
先頭ビットが1だったら,マルチキャスト
全ビットが1だったら,ブロードキャスト
ということになってます。
それだったら,01-00-05-00-00-09はユニキャストじゃないか,
と思われるかもしれませんが,そこには表記方法のトリックがあります。
イーサネットは,下位ビットから先にケーブルに送信するので,
表記上の値と,ケーブル上を流れるビット列の順番が逆になります。
つまり,01-....というMACアドレスがケーブルを流れるとき,
ビット列としては,10000000....となるわけです。
だから,これは,マルチキャストになります。
>またMACアドレスはなぜユニキャストでなければいけないのでしょうか?
うーむ。
MACアドレスはユニキャストでなければいけない,というわけではありません。
NICのROMに焼き付けられているMACアドレスはユニキャストでなければいけない,
ということです。
ROMに焼き付けるアドレスは,個々の機器を識別するものですから,
マルチキャストアドレスじゃまずいですよね。