MACアドレス

こんばんは。いつもお世話になっています。
NICに焼き付けられているMACアドレスとして
00-10-55-aa-bb-cc
はユニキャストアドレスで正しくて
01-00-05-00-00-09
マルチキャストだから間違いとある問題集にかいてあった
のですがこのユニキャストアドレス、ブロードキャストアドレス、マルチキャス
トアドレスはどうやって見分けたらよいのでしょうか?
またMACアドレスはなぜユニキャストでなければいけないのでしょうか?
教えてください。
初歩的質問で大変申し訳ありませんが、よろしくお願いします。

名前: 
ONION
日時: 
02/06/22 15:00

コメント

ONIONさん,こんにちわ。

MACアドレスは,
 先頭ビットが0だったら,ユニキャスト
 先頭ビットが1だったら,マルチキャスト
 全ビットが1だったら,ブロードキャスト
ということになってます。
それだったら,01-00-05-00-00-09はユニキャストじゃないか,
と思われるかもしれませんが,そこには表記方法のトリックがあります。
イーサネットは,下位ビットから先にケーブルに送信するので,
表記上の値と,ケーブル上を流れるビット列の順番が逆になります。
つまり,01-....というMACアドレスがケーブルを流れるとき,
ビット列としては,10000000....となるわけです。
だから,これは,マルチキャストになります。

>またMACアドレスはなぜユニキャストでなければいけないのでしょうか?

うーむ。
MACアドレスはユニキャストでなければいけない,というわけではありません。
NICのROMに焼き付けられているMACアドレスはユニキャストでなければいけない,
ということです。
ROMに焼き付けるアドレスは,個々の機器を識別するものですから,
マルチキャストアドレスじゃまずいですよね。

戸根様 わかりやすい解説ありがとうございます。
>>>またMACアドレスはなぜユニキャストでなければいけないのでしょうか?
>
>うーむ。
>MACアドレスはユニキャストでなければいけない,というわけではありません。
>NICのROMに焼き付けられているMACアドレスはユニキャストでなければいけない,
>ということです。
>ROMに焼き付けるアドレスは,個々の機器を識別するものですから,
>マルチキャストアドレスじゃまずいですよね。
MACアドレスとNICのROMに焼き付けられているMACアドレスの違い
はなんでしょうか?
MACアドレスはNICに焼きつけれれているものだけではないのでしょうか?
初歩的な質問で申し訳ありませんがお教えください。
よろしくお願いいたします。

イーサネットの機器には,それ自身を識別するために
ユニークな(他と重複しない)ユニキャストアドレスを一つ割り当てます。
通常,ROMに焼き付けられているユニキャストアドレスを,
この識別用のアドレスとして割り当てます。
それから,このユニキャストアドレスとは別に,
任意のマルチキャストアドレスを割り当てることもできます。
マルチキャストアドレスは複数割り当ててもかまいません。
そして,ブロードキャストアドレスも割り当てられているものと見なします。
そして,流れてきたパケットの宛先MACアドレスの値が,
割り当てたアドレスに一致したら,そのパケットを受信する,
ということです。
『完全理解TCP/IPネットワーク』(戸根勤著 日経BP社)の
第4章 4.2.4 フレームフォーマット(200ページ)辺りに
解説がありますので,参考になると思います。

>MACアドレスとNICのROMに焼き付けられているMACアドレスの違い
>はなんでしょうか?
>MACアドレスはNICに焼きつけれれているものだけではないのでしょうか?

うーん,この質問の意味がよくわからないんですけど。
MACアドレスは48ビットのビット列で,それ自身に違いはありません。