基本情報技術者試験 平成31年度 春期 午前 問32
サブネットマスク、ホストアドレスについての問題。
--------------------
平成31年度 春期 午前 問32
192.168.0.0/23(サブネットマスク 255.255.254.0)の IPv4 ネットワークにおいて、ホストとして使用できるアドレスの個数の上限はどれか。
ア 23
イ 24
ウ 254
エ 510
--------------------------
解説
IP アドレスとサブネットマスク。
192.168.0.0 はシステム管理してるとよく見かける。
(イチクニイチロッパ、と読む人が多い。)
よく見るアドレスというと 127.0.0.1 もポートフォワードとかを利用してると頻繁に打つ。これは 127.0.0.2 とかでも実は同じ。
127.0.0.0/8 のアドレスは全てループパックで自分自身を指す。localhost は 127.0.0.1 と同じ(実装に依るかも)。
ダン・ブラウンのラングドンシリーズであるオリジンの中で、127.0.0.1 が意味あり気にでてくるあたりに反応しちゃうのが IT エンジニア。
|
問題に戻り、サブネットマスクとはをまずは説明。
- 192.168.0.0/23
- 192.168.0.0/255.255.254.0
上の二つは同じ意味。
サブネットマスク 255.255.254.0 を 2 進数で書くと
11111111 11111111 11111110 00000000
となり、1 が 23 個となる。なので /23 とも書かれている。
同じように /24 の場合は
11111111 11111111 11111111 00000000
で 255.255.255.0 となる。こちらの方が区切りがいいのでよく見かけるかもしれない。
サブネットマスクは必ずある位置より左は全て 1、その右は全て 0 になる。
1 の部分をネットワークアドレス、0 の部分をホストアドレスと呼ぶ。
ネットワークアドレスはそこのネットワーク全体を表すのに使う。
ホストアドレスはそのネットワークの中のいる単一の機器(ホスト)を表すのに使う。
このように IP アドレスをネットワークアドレスとホストアドレスに分割するためにサブネットマスクが使われる。
具体例で書いていくとわかりやすい。
- 192.168.1.2/24
二進数で書くと 192.168.1.2 は
11000000 10101000 00000001 00000010
サブネットマスクは 24 なので
11111111 11111111 11111111 00000000
となる。
なので、サブネットマスクが 1 になっている部分
11000000 10101000 00000001
がネットワークアドレスとなる。
ホストアドレス部分を全て 0 にした
11000000 10101000 00000001 00000000
つまり 192.168.1.0/24 がそこのネットワーク全体を表すネットワークアドレスになる。
サブネットマスクが 24 だと、ネットワークアドレスを知りたい場合は最後の数字だけを 0 にすれば良いのでわかりやすい(192.168.1.2 → 192.168.1.0)
上の例ではホストアドレス部分のパターンは
192.168.1.0 〜 192.168.1.255
の 256 通りになる。
次は問題で使われているアドレスで考える。
- 192.168.0.0/23
二進数で書くと 192.168.0.0 は
11000000 10101000 00000000 00000000
サブネットマスクは 23 なので
11111111 11111111 11111110 00000000
となる。
ホストアドレス部分のあり得るパターンは
11000000 10101000 00000000 00000000 (192.168.0.0)
〜
11000000 10101000 00000001 11111111 (192.168.1.255)
の 512 通りになる。
ホストアドレスが 9 桁あり、各桁は 0 か 1 の 2 通りなので、2⁹ =512 になる。
問題の選択肢エが 510 で近いが、微妙に異なる。
これは 512 通りの中にホストとしては利用できないアドレスが 2 つあるためである。
1 つはホストアドレス部分が全て 0 のアドレス。
つまりネットワークアドレス。ネットワークアドレスはネットワーク全体を表すので、個別のホストに利用はできない。
もう 1 つは反対にホストアドレス部分が全て 1 のアドレス。
これはブロードキャストアドレスと呼ばれるもの。これも個別のホストに利用はできない。
この 2 つを除いた 510 通りのアドレスがホストに利用できる。なので正解は選択肢エ。
ブロードキャストアドレスはそのネットワークに繋がる全ての機器に一斉に通信するための特殊なアドレス。同じネットワークの中で自分と同じ IP アドレス使ってるやついないよね?とかの確認に使ったりする。
前後の問題はこちら。