質問: ネットワーク系の知識を勉強中です。 「IPアドレスのクラスBで、サブネットマスクを255.255.248.0とした場合、サブネットは選択肢の中だといくつまで分割することができるでしょうか?」 上記の設問で選択肢を「20,30,40,50,60」から選ぶのですが、分からずに困っております。 答えは30になるようですが、その答えに導けません。 サブネットマスクを2進数にすると下記になると思います。 11111111.11111111.11111000.00000000 ホスト部の数分サブネットに分けられると思うのですが、 これだと選択肢に該当しません。 (自分の認識違いであればすみません) ちなみに参考までに、割り当て可能なipアドレス数も教えていただければ幸いです。 (256+8で268?)
回答: ### IPアドレスの仕組み(ネットワークアドレス部+ホストアドレス部) まず、Class BのIPアドレスは4バイトのうち第一、第二バイト目がネットワークアドレス部、第三、第四バイト目がホストアドレス部ですよね。 これは既定のサブネットマスク(255.255.0.0)が適用された状態であり・・・ > > 11111111.11111111.00000000.00000000 (2進数) > > > となります。 この状態で運用されるクラスBネットワークは、一つの論理ネットワーク(例えば 172.16.0.0)と、0.0.0.1~0.0.255.254(0x00000001~0x0000fffe) までの65,534個のホストを含むことができます。 ### サブネットマスクによるネットワークアドレス部の拡張 さて、実際のEthernetネットワークでは一つのネットワークに65,534個もの大量のホストを接続してしまうと負荷が高すぎてうまく通信できなくなります。このため、適当な場所にルーターを設置していくつかのサブネットワークに分割します。(例えば会社のビル内ネットワークを各階ごとのサブネットに分割する等) そこでサブネットマスクを使います。サブネットマスクは、本来ホストアドレス部として使われるビット列の一部をサブネット番号として利用することで、既定のネットワークアドレスを拡張(拡大)する仕組みです。(ネットワークアドレスを縮小することはできません。) 例えば、上記のネットワーク(172.16.0.0)に対して、サブネットマスクを 255.255.248.0 を設定したとします。このサブネットマスクは2進数では・・・ > > 11111111.11111111.11111000.00000000 > > > になります。つまりこのネットワークのIPアドレスは**16ビットのネットワークアドレス部+5ビットのサブネット番号部+11ビットのホストアドレス部**という構成になります。ただし、5ビットのサブネット番号のうち、全ビットがゼロの番号(00000=0)と全ビットが1になる番号(11111=31)はサブネット番号として使えないため、使用可能なサブネット番号は 1~30 までの30個となります。これは、172.16.0.0 のネットワークを **1~30までのサブネットに分割**して運用できるということを示しています。