【初心者用】ブロードキャストアドレスの求め方(計算方法)
基本情報技術者試験やCCNAの資格試験を受験する場合、ブロードキャストアドレスを求める問題が出題されることがあります。今回は、ブロードキャスト通信の概要を説明し、ブロードキャストアドレスの求め方(計算方法)について説明します。
まず、この記事は以下のような人を対象としています。
・ブロードキャスト通信の役割を知りたい人
・ブロードキャストアドレスの求め方を知りたい人
・ブロードキャストアドレスの種類について知りたい人
この記事を読むと、次のようなことが理解できるようになります。
・ブロードキャスト通信の役割を理解することができる
・ブロードキャストアドレスを求めることができる
・2種類のブロードキャストアドレスの違いを理解することができる
ブロードキャストアドレスという用語があるのですか、これはどうやって求めるのですか?
まずは、ブロードキャスが何かを説明します。その後、計算方法について解説します。IPアドレスとサブネットマスクの知識が必要ですが、大丈夫ですか?
IPアドレスとサブネットマスクですか?
各種アドレスの計算をする場合は必須の考え方です。
もし、不安な場合は復習しておいて下さい。
IPアドレスとサブネットマスクについては、以下の記事を参照してください。
各種通信方法
ブロードキャスアドレスの求め方を説明する前に、まず通信方法について解説します。
ネットワークで行われる通信には「ユニキャスト」「マルチキャスト」「ブロードキャス」の3種類があります。
ネットワークは有線でも無線でも、複数の端末にデータが送信される場合があります。特定の1台の端末に向けて送信したデータが、全く関係ない端末にも送られます。各種通信方法は、受信したデータをどのように処理するかの違いと言えます。
ユニキャスト
ユニキャストは「1対1」の通信で、「ある端末から他の特定の1台に向けて送信される通信」です。メールを送信する、あるサイトのホームページを表示する、またはネットワークに接続されているプリンタで印刷をおこなう、これらの通信は全てユニキャストとなります。
送信すると目的以外の端末にもデータが届く場合があります。データは有線LANの場合は「電気信号」、無線LANの場合は「電波」で相手の端末まで送信されます。
送信データの中には、送信先MACアドレスと送信先IPアドレスの情報が含まれています。データを受け取った全ての端末はこの情報から自分宛てのデータかどうかチェックします。自分宛てのデータではない場合、受け取ったデータを破棄します。
自分宛てのデータと判断した端末のみ、受信したデータをパソコン内部に取り入れ処理を行います。
このように、対象外の端末にもデータが届くのですが、対象外の端末は受け取ったデータを廃棄し、対象の端末のみデータ処理を行うので、結果的に「1対1」の通信が成立します。
マルチキャスト
マルチキャストは「1対多」の通信で、「ある端末からグループ化された複数の端末に向けて送信される通信」です。
ユーザが行う通信で、このマルチキャストが使われることはほとんどありません。一般的に、ルータ同士がルーティングテーブルなどの情報を交換し合う時に利用されます。
もちろん、ユーザが利用している端末にも物理的にこのデータが届く場合があるのですが、自分には関係ないデータなので何も行わず廃棄します。
ブロードキャスト
ブロードキャスは「1対全」の通信で、「ある端末から同じネットワークに属する全ての端末に向けて送信される通信」です。
今まで説明してきたように、他の端末もデータ自体は電気信号や電波として受信しています。しかし、自分宛ではない場合はすぐに廃棄していたのですが、このブロードキャスについては受信した全ての端末はデータをパソコン内部に取り入れ処理を行わなければなりません。
全ての端末がデータを受信して対応するので、「1対全」となります。
ブロードキャスは実は様々な場面で利用されている重要な通信のひとつです。
ネットワークに接続する端末にはIPアドレスとサブネットマスクを必ず設定しなければなりません。この情報を設定する方法は「手動」と「自動(DHCP)」があります。設定が簡単なのは「自動(DHCP)」で、この処理をする場合にブロードキャスが利用されています。
また、データを実際に送信する場合、IPアドレスからMACアドレスを求める必要があります。この処理をする「APR(Address Resolution Protocol)」でもブロードキャスが利用されています。
各端末はデータを電気的に受信した際、データ内に指定されている宛先MACアドレスや宛先IPアドレスをチェックし、自分宛かどうかを判断しています。通常、この部分には送信先の端末1台の情報が指定されているのですが、ブロードキャスの場合はどのような情報が指定されているのでしょうか?
どのような情報が指定されていれば、全ての端末が自分宛ての通信として廃棄せず内部に取り入れ処理をするのでしょうか?
この時指定されている情報が「ブロードキャスアドレス」となります。ブロードキャスアドレスが指定されている場合、全ての端末は廃棄せずデータの処理を行います。
2種類のブロードキャストアドレス
ブロードキャスを行う場合に利用される宛先IPアドレスが「ブロードキャスアドレス」です。ブロードキャスアドレスには「リミテッド・ブロードキャストアドレス」と「ディレクティッド・ブロードキャストアドレス」の2種類があります。
リミテッド・ブロードキャストアドレス
データを送信する端末にIPアドレスがまだ設定されていない場合に利用されるブロードキャスアドレスがこの「リミテッド・ブロードキャストアドレス」です。具体的な値は「255.255.255.255」となります。したがって、計算で求める必要がありません。
どこのネットワークかは関係なく、全てのネットワークで共通の値として利用されます。
このリミテッド・ブロードキャストアドレスはまだIPアドレスが設定されていないなどの特別な状況で使用されるもので、通常使われている「ブロードキャスアドレス」ではありません。
なお、この値が設定されているデータは同じネットワーク内にのみ送信され、ルータを超えることはできません。
ディレクティッド・ブロードキャストアドレス
通常、「ブロードキャスアドレス」といった場合は「ディレクティッド・ブロードキャストアドレス」を指します。
端末にIPアドレスが設定されていれば、所属しているネットワークが特定できます。そして、ネットワーク毎に異なるブロードキャスアドレスが使用されます。
通常、ブロードキャスアドレスを計算で求める場合、このアドレスを求めます。
なお、この値が設定されているデータは基本的に同じネットワーク内にのみ送信されますが、ルータで許可されていれば、他のネットワークに転送することもできます。
ブロードキャストアドレスの求め方
ブロードキャスの仕組みと2種類のブロードキャスアドレスについて説明しましたので、ここから実際にブロードキャスアドレスの求め方(計算方法)を解説します。
上でも説明した通り、「ブロードキャスアドレスを求める=ディレクティッド・ブロードキャストアドレスを求める」こととなります。
ブロードキャスアドレスの求め方の手順
求め方は以下の手順となります。
- IPアドレスとサブネットマスクからネットワークアドレスを求める
- ネットワークアドレスのうち、ホストアドレス部分を全て1に設定してアドレスを求める
では次の例題でブロードキャスアドレスを求めてみましょう。
- IPアドレス:192.168.1.1
- サブネットマスク:255.255.255.0
ネットワークアドレスの求め方
端末に設定されているIPアドレスとサブネットマスクからまず、ネットワークアドレスを求めます。求め方は「IPアドレスとサブネットマスクをAND計算」します。
IPアドレスとサブネットマスクの値をそれぞれ2進数に変換し、各ビットをAND計算し、計算結果の2進数をドット付10進数に直したものがネットワークアドレスとなります。
なお、AND計算の真理値表は次の通りです。
2つの値が「1」の時のみ計算結果が「1」になります。それ以外は全て「0」となります。
IPアドレス「92.168.1.1」を2進数に変換すると「11000000.10101000.00000001.00000001」となります。一方、サブネットマスク「255.255.255.0」を2進数に変換すると「11111111.11111111.11111111.00000000」となります。この2つの値を使ってAND計算をすると計算結果は「11000000.10101000.00000001.00000000」です。
求めた2進数の値をドット付10進表記に直すと「1923168.1.0」となり、これがネットワークアドレスとなります。
なお、毎回このように2進数に変換し、AND計算を行うのは面倒です。サブネットマスクが「255」の部分は「全て1」の値なので、IPアドレスがそのまま値として求められます。
上の例ではサブネットマスクが「255」の部分は4ブロックのうち前半の3ブロックです(「255.255.255」の部分)。ネットワークアドレスを確認すると、この3ブロックに該当する部分は「192.168.1」とIPアドレスの値がそのまま計算結果となっています。
また、サブネットマスクが「0」の部分はAND計算をおこなうと、IPアドレスの値が何であろうと計算結果は必ず「0」となります。
したがって、サブネットマスクが「255」の部分は2進数に変換してAND計算をせず、そのままIPアドレスを利用し、サブネットマスクが「0」の部分はIPアドレスの値に関係なく「0」にすれば、簡単に求めることができます。
実際にブロードキャスアドレスを求める問題ではサブネットマスクが「255」にならない場合があります。その場合は面倒でも2進数に変換してAND計算をおこなう必要があります。
ホストアドレスの求め方
ネットワークアドレスを求めた結果、IPアドレスの後半部分は「全て0」となります。この0の部分がホストアドレスとなります。
サブネットマスクが「255.255.255.0」の場合、32ビットうち先頭ビットから24ビット目までがネットワークアドレスを示す「1」となり、残りの8ビットが全て0となります。この最後に連続する0の部分がホストアドレスを示します。
ブロードキャスアドレスの求め方
求めたネットワークアドレスのホストアドレス部分を「全て1」に設定した値がブロードキャスアドレスとなります。
上で求めたネットワークアドレスのうち、ホストアドレス部分を全て1にすると「192.168.1.11111111」となります。次に、2進数の部分を10進数に変換すると「192.168.1.255」となります。この「192.168.1.255」がブロードキャスアドレス(正確には、リミテッド・ブロードキャストアドレス)となります。
演習
では、求め方(計算方法)を解説しましたので、実際にいくつか練習問題にチャレンジしてみましょう。
問題
1.IPアドレス:172.16.10.5、サブネットマスク:255.255.0.0
2.IPアドレス:192.168.10.231、サブネットマスク:255.255.255.240
3.IPアドレス:192.168.0.203、プレフィックス長(CIDR表記) /29
解答
1.IPアドレス:172.16.10.5、サブネットマスク:255.255.0.0
サブネットマスクが「255」と対応するIPアドレスの部分はそのまま、サブネットマスクが「0」と対応する部分はIPアドレスの値にかかわらず「0」にすれば求められます。
したがって、ネットワークアドレスは「172.16.0.0」となります。
次にこのネットワークアドレスのうち、ホストアドレス部分を全て1にし、ドット付10進表記にすればブロードキャスアドレスを求めることできます。
つまり、求めるブロードキャスアドレスは「172.16.11111111.11111111」をドット付10進表記に直せばよいので、「172.16.255.255」となります。
2.IPアドレス:192.168.10.231、サブネットマスク:255.255.255.240
この問題では、サブネットマスクの最後の値が「0」ではなく「240」となっています。このような場合、該当するブロックでIPアドレスとサブネットマスクを2進数に変換して、AND計算をおこないます。サブネットマスクは「255.255.255」と3ブロックまでは「255」なので、ネットワークアドレスの3ブロック目まではIPアドレスの値「192.168.10」がそのまま使われます。
IPアドレスの4ブロック目「231」を2進数に変換すると「11100111」となります。一方サブネットマスクの4ブロック目「240」を2進数に変換すると「11110000」です。この2つの値のAND計算をおこなうと「11100000」となり、10進数に戻すと「224」という値になります。
したがって、「192.168.10.224」がネットワークアドレスとなります。この問題ではサブネットマスク「255.255.255.240」は28ビット目までが「1」となっているので、ホストアドレスは32ビットの内の最後の4ビット(32-28)が使用されます。ブロードキャストアドレスはネットワークアドレスのうち、ホストアドレス部分に全て1を設定すると求めることができます。したがって、4ブロック目のホストアドレス部分(最後の4ビット)に1を設定すると「11101111」となり、これを10進数に変換すると「239」となります。
以上のことから、ブロードキャストアドレスは「192.168.10.239」となります。
3.IPアドレス:192.168.0.203、プレフィックス長(CIDR表記) /29
最後の問題はサブネットマスクがCIDR表記になっています。CIDR表記はサブネットマスクの値を簡潔に表示する際に利用されます。CIDR表記で指定される数字は「連続する1の数」を示しています。つまり、「/29」は「32ビットのうち29ビット目まで1が連続し、残りの3ビットが0となる値」となり、具体的には「11111111.11111111.11111111.11111000」となります。
3ブロック目まで全て1なので、「255.255.255」と同じです。したがって、ネットワークアドレスの3ブロック目まではIPアドレスの値「192.168.0」がそのまま使われます。
IPアドレスの4ブロック目「203」を2進数に変換すると「11001011」となります。この値とサブネットマスクの値の4ブロック目「11111000」のAND計算をおこなうと「11001000」なり、これを10進表記に直すと「200」という値になります。
したがって、「192.168.0.200」がネットワークアドレスとなります。この問題ではサブネットマスク「/29」は29ビット目までが「1」となっているので、ホストアドレスは32ビットの内の最後の3ビット(32-29)が使用されます。ブロードキャストアドレスはネットワークアドレスのうち、ホストアドレス部分に全て1を設定すると求めることができます。したがって、4ブロック目のホストアドレス部分(最後の3ビット)に1を設定すると「11001111」となり、これを10進数に変換すると「207」となります。
以上のことから、ブロードキャストアドレスは「192.168.0.207」となります。
まとめ
今回は、ブロードキャスアドレスの求め方(計算方法)について説明しました。
IPアドレスとサブネットマスクの値を2進数に変換して、AND計算をおこなうとブロードキャスアドレスを求めることができます。
10進数を2進数に変換しなければならない場合があるので、10進数と2進数の相互変換の仕方は覚えておかなければなりません。
サブネットマスクの指定もドット付10進表記やCIDR表記の場合もあります。色々なパターンに触れて演習してみて下さい。
・IPアドレスとサブネットのAND計算をおこなうとネットワークアドレスが求められる
・ネットワークアドレスのうち、ホストアドレス部分を全て1にするとブロードキャスアドレスが求められる
・10進数と2進数の相互変換方法を理解しておく必要がある。
・CIDR表記でサブネットマスクを表現している場合もある
ユニキャスト、マルチキャスト、ブロードキャスと言った色々な通信方法があったんですね。知りませんでした。
ネットワークの勉強を進めていくと、よく出てくる用語です。この機会にぜひ覚えておいてください。
ブロードキャスアドレスの求め方も演習があって、理解することができました!!
ネットワークアドレスとブロードキャスアドレスは端末には設定できないので、これらの値の求め方を知っていると役立ちますよ!!
基本情報技術者試験の午前問題のうち、IPアドレスに関する問題を集中的に解説している記事がありますので、是非合わせて確認してみて下さい。
ネットワーク全般について勉強したい人は次の書籍がおススメです!!
より詳細に勉強したい人は図式が満載な次の書籍がおススメです!!