この部分の広告を募集しています。詳しくはこちら
HOME > ネットワークのおべんきょしませんか > ブロードキャストアドレス・マルチキャストアドレス

ブロードキャストアドレス・マルチキャストアドレス

カテゴリー:TCP/IP (2001年01月28日)

ブロードキャストアドレス

ブロードキャストとは、ネットワーク上のすべてのコンピュータに対する通信でした。そして、ブロードキャストを示すIPアドレスは、ホスト番号のビットがすべて"1"ということでした。
このIPレベルのブロードキャストを指定して、通信を行うときに作られるイーサネットフレームのあて先には何が入るんでしょうか?

それは、データリンクレベルのブロードキャストアドレスです。

データリンクレベルのブロードキャストアドレスは、MACアドレス48ビットすべて"1"になっているものです。通常、MACアドレスは1バイトずつ16進数で表記するので、データリンクレベルのブロードキャストアドレスは次のようになります。

FF-FF-FF-FF-FF-FF

IPレベルのブロードキャストアドレスを指定するとき以外でも、プロトコルの仕様上、ブロードキャストで通信する場合はあて先のMACアドレスにデータリンクレベルのブロードキャストアドレスが使われます。したARPリクエストなどがそうですね。ARPのパケットはIPが配送するのではないので、IPヘッダはありません。ARPヘッダの中には、MACアドレスを知りたいホストのIPアドレスが入ってきています。その目的のホストにきちんと到達できるように、データリンクレベルのブロードキャストでARPリクエストを送信しています。

まとめると、ブロードキャストアドレスは次のようになります。

IPレベル:IPアドレスのホスト部がすべてビット"1"
データリンクレベル:48ビットすべてビット"1" FF-FF-FF-FF-FF-FF


このようにブロードキャストアドレスはIPレベル、データリンクレベルの違いを意識してください。

ブロードキャストの弊害

ついでに、なんでブロードキャストがネットワークに負荷をかけてしまうのか?ということについて。
フレーム自体は、共有イーサネット上ではすべてのコンピュータに届いています。それがユニキャストであろうと、ブロードキャストであろうと。でも、ユニキャストの場合だとあて先MACアドレスに指定されているコンピュータだけがそのデータをさらに上の階層のプロトコルに渡して処理を継続しているということでした。 ここがユニキャストとブロードキャストの違いになります。
データリンクレベルまでは NIC が処理を行います。この階層では、各コンピュータはCPU 資源を使っていません。それよりも上の階層は、各コンピュータの OSやアプリケーションが処理を担当することになります。CPU資源を消費してしまうのです。ブロードキャストのトラフィックは、ネットワーク上の全てのコンピュータがネットワーク層にそのデータを渡してしまうことになります。つまりネットワーク上のすべてのコンピュータのCPU資源を消費することがブロードキャストトラフィックの弊害になります。

たとえば、ARPのリクエストは知りたい相手しか関係ないのに、他のコンピュータもネットワーク層のレベルで、「このリクエストは自分宛てじゃないな」と判断することになります。当然、この間はそのコンピュータが行っている他の処理に影響を与えてしまいます。

というわけで、ネットワーク上ではあまりブロードキャストを多用することは好まれないんですね。

マルチキャストアドレス

そして、マルチキャストもIPレベルとデータリンクレベルにわけて考える必要があります。
IPマルチキャストアドレスは、IPアドレスのクラスD、つまり最初の1バイトが224~239の間のアドレスで定義されています。
そのマルチキャストをデータリンクレベル、つまりLAN上でどうやって識別するのか?ということがポイントになってきます。実は、MACアドレスの中にI/G(Individual/Group)ビットという部分があって、そこでユニキャストのMACアドレスか、マルチキャストのMACアドレスかわかります。I/Gビットは、MACアドレスの最初の1バイトの最下位ビットです。




IPマルチキャストアドレスを指定すると、イーサネットフレームのあて先MACアドレスに、I/Gビットが"1"のアドレスを使います。他の部分はどうなるかというとこれは、マルチキャストグループによって変わってきます。たとえば、OSPFルータを示す 224.0.0.5 というアドレスがあります。このIPマルチキャストに対応するMACアドレスは、01-00-5E-00-00-05 となります。
最初の3バイト01-00-5EはIEEEが予約しているマルチキャスト用のアドレスになります。I/Gビットがオンになっているのがわかると思います。残りの3バイトのうち、最初の1ビットは"0"で予約されています。あと23ビットをIPアドレスの23ビットをそのまま使います。

この部分の広告を募集しています。詳しくはこちら

トラックバック

このエントリーのトラックバックURL: 

コメント

I./Gビットが1か0でマルチキャストのアドレスかどうかの区別。その中でも、01-00-5Eで始まるアドレスをIPマルチキャストと言う様ですが、「IPマルチキャスト」と「マルチキャスト」は具体的に何が違うのでしょうか?
もし上記私の理解の中で既に間違いがあればご指摘下さい。

  •   
  • 2005年03月30日 14:03