計算問題の解き方・15/20

サブネットマスクからネットワークアドレスを求める方法

IP アドレスとサブネットマスク(または /28 のようなプレフィックス長)が与えられ、その端末が属するネットワークアドレスを答える問題や、複数の端末が同じサブネットに入るかを判定する問題として出題されます。

公開過去問での出題:本試験系 6 回・免除試験 12 回(観測値)

覚える式
  • ネットワークアドレス = IP アドレス AND サブネットマスク(ビットごとの論理積)
  • ブロックの大きさ = 256 − (マスクが 255 でも 0 でもないオクテットの値)
  • ネットワークアドレスの該当オクテット = (IP の値 ÷ ブロックの大きさ の商)× ブロックの大きさ
  • ブロードキャストアドレスの該当オクテット = ネットワークアドレスの値 + ブロックの大きさ − 1
  • プレフィックス長 /n = マスクを 2 進数にしたときの 1 の個数(255 は 8 個、240 は 4 個、128 は 1 個)

解き方の手順

  1. サブネットマスクを見て、255 でも 0 でもないオクテット(境目のオクテット)を探します。255 のオクテットは IP アドレスの値をそのまま写し、0 のオクテットは 0 にします。
  2. 境目のオクテットについて、256 からマスクの値を引いてブロックの大きさを求めます(240 なら 16、128 なら 128)。
  3. IP アドレスの境目のオクテットの値を、ブロックの大きさの倍数に切り捨てます。これがネットワークアドレスの値です。不安なときは 2 進数にして AND を取り、同じ結果になるか確かめます。
  4. 必要ならネットワークアドレスにブロックの大きさを足して 1 を引き、そのサブネットの最後のアドレス(ブロードキャストアドレス)を出します。ネットワークアドレスからこの値までが同じサブネットの範囲です。
  5. 2 台が同じサブネットかを問われたら、両方のネットワークアドレスを求めて一致するかを比べます。/n 表記の選択肢は、マスクの 1 の個数と n が合っているかも確認します。

例題

次の IP アドレスとサブネットマスクをもつ PC がある。この PC のネットワークアドレスとして,適切なものはどれか。 IP アドレス: 10.170.70.19 サブネットマスク: 255.255.255.240

ア 10.170.70.0
イ 10.170.70.16
ウ 10.170.70.31
エ 10.170.70.255

出典:平成29年度 秋期 基本情報技術者試験 午前 問35(解き方は当サイト作成)

解き方と答えを見る
  1. サブネットマスク 255.255.255.240 の境目は第 4 オクテット(240)です。第 1〜3 オクテットは 10.170.70 をそのまま写します。
  2. ブロックの大きさ = 256 − 240 = 16
  3. 第 4 オクテットの 19 を 16 の倍数に切り捨てます:19 ÷ 16 = 1 余り 3 → 1 × 16 = 16
  4. 2 進数でも確認します:19 = 00010011、240 = 11110000、AND = 00010000 = 16
  5. ネットワークアドレスは 10.170.70.16 です(このサブネットの範囲は 16〜31、31 はブロードキャストアドレス)。

答え:10.170.70.16(イ)

ひっかけ

  • 範囲の最後のアドレス(例題のウ 10.170.70.31)を選んでしまう誤りです。ネットワークアドレスは範囲の先頭、つまりブロックの倍数に切り捨てた値で、最後の値(ネットワークアドレス+ブロック−1)はブロードキャストアドレスです。
  • マスクを見ずに最後のオクテットを 0 や 255 にしてしまう誤りです(例題のア・エ)。そうなるのはマスクが 255.255.255.0 のときだけで、240 や 128 のときは必ずブロックの大きさで区切ります。
  • ブロックの大きさをマスクの値そのもの(240 など)と取り違える誤りです。区切りの幅は 256 からマスクの値を引いた数です。
  • /n 表記で、マスクの 1 の個数を数え間違える誤りです。255.255.255.240 なら 8+8+8+4 = 28 で /28 です。ネットワーク部の数値が合っていても n が違えば別のネットワークです。

類題(手順を使って解く)

類題 1

2 つのアドレスそれぞれのネットワークアドレス(16 刻みの区切り)を求めて一致するかを比べる、手順 5 の判定が試されます。

2 台の PC に IPv4 アドレスを割り振りたい。サブネットマスクが 255.255.255.240 のとき,両 PC の IPv4 アドレスが同一サブネットに所属する組合せはどれか。

出典:平成28年度 秋期 基本情報技術者試験 午前 問33(問題文は IPA の公開問題。答えと解説はリンク先)

類題 2

マスクが /24 のときのネットワークアドレスと範囲の最後のアドレスの区別(手順 1 と 4)が、他の IPv4 の知識と混ぜて試されます。

IPv4 アドレスに関する記述のうち,適切なものはどれか。

出典:平成27年度 秋期 基本情報技術者試験 午前 問34(問題文は IPA の公開問題。答えと解説はリンク先)

類題 3

ブロックの大きさが 128 になるマスクで各端末の範囲を求め、つながっているルータのポートと同じサブネットかを確かめる手順 2〜5 が試されます。

TCP/IP ネットワークにおいて,二つの LAN セグメントを,ルータを経由して接続する。ルータの各ポート及び各端末の IP アドレスを図のとおりに設定し,サブネットマスクを全ネットワーク共通で 255.255.255.128 とする。 ルータの各ポートのアドレス設定は正しいとした場合,IP アドレスの設定を正しく行っている端末の組合せはどれか。
ルータに 2 ポート。左ポート 172.16.0.1 は左 LAN セグメントに接続,右ポート 172.16.1.5 は右 LAN セグメントに接続。左 LAN セグメントに端末 A(172.16.0.10)と B(172.16.0.130),右 LAN セグメントに端末 C(172.16.1.140)と D(172.16.1.20)が接続。

出典:平成22年度 秋期 基本情報技術者試験 午前 問37(問題文は IPA の公開問題。答えと解説はリンク先)

「サブネットマスクからのネットワークアドレス算出」の過去問をアプリで解く