ネットワーク試験では、IPアドレス(IPv4)に関する問題がよく出題されます。基本的な問題で、知識のおさらいをしてみます。
[問題1]IPv4のIPアドレスは何ビットで構成されているか。
答えは、32ビット。
IPv4のIPアドレスは、例えば、192.168.0.1 のように表記します。これは、
(8ビット).(8ビット).(8ビット).(8ビット)
の構成で、合計で、32ビットになります。
[問題2]ネットワークアドレスが 192.168.16.40/29 のとき、最適なものはどれか。
(平成19年度情報処理技術者試験テクニカルエンジニア情報セキュリティ試験午前問題の問13より。なお、試験問題の全文については、情報処理技術者試験センターの Web サイト http://www.jitec.jp/ にて公開されています。)
ア 192.168.16.48 は同一サブネットワークのIPアドレスである。
イ サブネットマスクは、255.255.255.240 である。
ウ 使用可能なホストアドレスは最大 6 個である。
エ ホスト部は 29 ビットである。
答えの前に、IP アドレスに関するいくつかの用語を確認してみます。
まず、IP アドレスには、ネットワーク ID とホスト ID の2つの意味が含まれています。IP アドレスは、ネットワーク部とホスト部からなるともいいます。そして、この境界を表現するのが、サブネットマスクです。
IP アドレスに対してサブネットマスクで論理積(AND)をとったものが、ネットワーク ID となります。例えば、IP アドレスが、192.168.0.1 で、サブネットマスクが、255.255.255.0 のとき、ネットワーク ID は、192.168.0.0、ホスト ID は、1 となります。
さて、上記の問題では、192.168.16.40/29 と表現されています。IP アドレスは、192.168.16.40 で、さらにサフィックス /29 が付加されています。この /29 は、CIDR(Classless Inter-Domain Routing)による、サブネットマスクの表現になります。サブネットマスクのビット数にあたり、この /29 の場合は、255.255.255.248 と同じになります。ちなみに、サブネットマスクが 255.255.255.0 のときは、/24 となります。
このサブネットマスクの表現の変換には、ちょっと訓練(あるいは暗記)が必要ですが、いったんビット表現にすることで理解できると思います。
/29 は、255.255.255.248、11111111.11111111.11111111.11111000 となります。
このことから、選択肢イとエは、間違いとなります。
ところで、IP アドレスには、ネットワークアドレスとブロードキャストアドレスというものがあります。
これらのアドレスには、ホストを割り当てできないというルールがあります。ネットワークアドレスは、ホスト ID のすべてのビットが 0 となるもので、ブロードキャストアドレスは、ホスト ID のすべてのビットが 1 となるものです。
192.168.16.40/29 の場合は、ネットワークアドレスが、192.168.16.40(11000000.10101000.00010000.00101000)、ブロードキャストアドレスが、192.168.16.47(11000000.10101000.00010000.00101111)となります。
選択肢ウについて、ホスト ID は 3 ビットで、8 つのアドレスの割り当てが可能ですが、ネットワークアドレスとブロードキャストアドレスを割り当てるルールがあることから、使用可能なホストアドレスは最大 6 個となり、この肢が正解となります。
念のため、IP アドレス 192.168.16.48 は、11000000.10101000.00010000.00110000 となります。
わたしは、このような試験問題に備えて、
2進数 → 10進
10000000 → 128
01000000 → 64
00100000 → 32
00010000 → 16
00001000 → 8
00000100 → 4
00000010 → 2
00000001 → 1
を暗記して、試験に臨んでいました。例えば、00101000 は、32 + 8 で 40 という計算になります。