【Day22】サブネットマスクで差をつけろ!午後問題にも出るネットワークアドレス攻略

投稿者: | 2025年8月15日

お盆です。

夏休みはなんだか主婦は忙しい・・・。お花を買ったり天ぷら作ったりお墓掃除したり・・・。

化粧するのも面倒で、ついついマスクと日除けのサングラスで顔面をマスクして変装(笑)。

というわけで、今日は「サブネットマスク」についてお勉強します。


1. サブネットマスクとは?

IPアドレスは「ネットワーク部」と「ホスト部」に分かれています。
この境界を示すのがサブネットマスクです。
例:

IPアドレス:192.168.1.10
サブネットマスク:255.255.255.0

この場合、

  • ネットワーク部:192.168.1
  • ホスト部:最後の「10」

2. なぜ必要?

大きなネットワークを小さく分割(サブネット化)することで、

  • セキュリティ向上(他のセグメントからアクセス制限できる)
  • 通信効率アップ(不要なブロードキャスト削減)
    ができます。

3. ネットワークアドレス計算のコツ

ネットワークアドレスは、

IPアドレス AND サブネットマスク

で求めます(ビットごとにAND演算)。

例:

192.168.1.10 (11000000.10101000.00000001.00001010)
255.255.255.0 (11111111.11111111.11111111.00000000)
--------------------------------------------------
192.168.1.0  (11000000.10101000.00000001.00000000)

→ ネットワークアドレスは 192.168.1.0

おっとっと、ここで復習。「AND演算」とはなんだった?


AND(論理積)演算とは、両方が1のときだけ1、それ以外は0になる計算です。

ビット1ビット2AND結果
111
100
010
000

コンピュータは、IPアドレスやサブネットマスクを「2進数(0と1の組み合わせ)」で扱います。

<補足> IPアドレスとサブネットマスクの関係

  • IPアドレス:その機器の住所のようなもの(例:192.168.1.130)
  • サブネットマスク:ネットワーク部分とホスト部分を区切るためのマスク(例:255.255.255.0)

サブネットマスクでは、

0 の部分 → ホスト部分(機器ごとに異なる)
を表します。

1 の部分 → ネットワーク部分(固定)

なので、これをもとに以下を考えると・・・

192.168.1.10 (11000000.10101000.00000001.00001010)
255.255.255.0 (11111111.11111111.11111111.00000000)
--------------------------------------------------
192.168.1.0 (11000000.10101000.00000001.00000000)

→ ネットワークアドレスは 192.168.1.0  になります。


4. 試験で問われるポイント

  • ネットワークアドレスとブロードキャストアドレスの計算
  • 利用可能なホスト数の算出(2^(ホスト部のビット数) - 2
  • CIDR表記(例:192.168.1.0/24)

午後問題では「与えられたIPアドレスがどのサブネットに属するか」を求める出題が多いようです。


過去問題風(午後試験形式)

問題

ある企業ネットワークでは、IPアドレス空間 192.168.20.0/26 を利用している。
サブネットマスクは 255.255.255.192 である。

このネットワーク内で、サーバ用にIPアドレス 192.168.20.70 を割り当てる計画がある。

(1) このIPアドレスが属するネットワークアドレスを答えよ。
(2) このサブネットで利用可能なホストアドレスの範囲を答えよ。
(3) 利用可能なホスト数を答えよ。


解答・解説

(1)

192.168.20.70
サブネットマスク 255.255.255.192 (/26)

1オクテット目:192.168.20(固定)
4オクテット目:

  • 255.255.255.192 → 192 = 11000000 → 境界は64単位
  • 70 ÷ 64 = 1 余り6 → ネットワークアドレスは 192.168.20.64

(2)
ブロードキャストアドレスは64の次のネットワーク開始 – 1 = 192.168.20.127
利用可能範囲は

192.168.20.65 ~ 192.168.20.126

(3)
ホスト部は 6ビット(32-26=6)

2^6 - 2 = 62

→ 利用可能ホスト数は 62台


ところで、「オクテット」とは?

  • オクテットは、**8ビット(8つの0や1)**をひとまとめにした単位です。
  • 「バイト(byte)」とほぼ同じ意味で使われますが、1バイト=8ビットということを明確にするために、通信やネットワークの分野では「オクテット」という言葉がよく使われます。(昔はバイトの大きさがコンピュータによって違っていたため)
  • octはラテン語で「8」を意味します。

ビットとオクテットの関係

1ビット   = 0 または 1 の1桁
8ビット   = 1オクテット(1バイト)

図で表すとこうなる

[ 1ビット ]    : 0
[ 1ビット ]    : 1
[ 1ビット ]    : 0
[ 1ビット ]    : 1
[ 1ビット ]    : 0
[ 1ビット ]    : 0
[ 1ビット ]    : 1
[ 1ビット ]    : 1
---------------------------
合計8ビット = 1オクテット

ネットワークでの使われ方の例

  • IPアドレス(IPv4)は 4つのオクテット で構成されています。
  • 例えば 192.168.0.1192(オクテット1) 168(オクテット2) 0 (オクテット3) 1 (オクテット4)

📌 オクテットのまとめ

  • オクテット = 8ビット
  • ネットワーク分野で特に使われる言葉
  • バイトとほぼ同じだが、あえて「8ビットであること」を明確にしたいときに使う


過去問例2:基本情報技術者 平成29年 秋期 午前 問35

こちらも先ほどと同様に「IPアドレス AND サブネットマスク」で求めるタイプの問題です。

問題文

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

IPアドレス:10.170.70.19
サブネットマスク:255.255.255.240

選択肢:

問題の要点

  • IP アドレスの例:10.170.70.19
  • サブネットマスク:255.255.255.240(/28)

ビット演算の進め方

  • サブネットマスクを 2進数表現 → ネットワーク部が 28ビットと判定
  • IPアドレスの下位4ビット(ホスト部)を全て0にする処理

図解(色分け可)

IP:      00001010 . 10101010 . 01000110 . 00010011 (10.170.70.19)
Mask:    11111111 . 11111111 . 11111111 . 11110000 (255.255.255.240)
    AND ------------------------------------------------
         00001010 . 10101010 . 01000110 . 00010000 → 10.170.70.16

選択肢から選ぶ

  • 正解は イ:10.170.70.16

まとめポイント

  • サブネットマスクの2進数ビット数(/28など)をすぐに読み取る習慣
  • 下位ビットを「全部0にすれば」ネットワークアドレス


ちなみに「/28」という表記はなに??

「/28」という表記は CIDR表記(Classless Inter-Domain Routing)と呼ばれるもので、
サブネットマスクの 1(ビット)で立っている部分の数 を表しています。

サブネットマスクの例

サブネットマスク 255.255.255.240 を2進数にすると:

255   . 255   . 255   . 240
11111111.11111111.11111111.11110000

ここで、左から 1が28個 並んでいます。
だから /28 と書くのです。


ポイント整理

  • /24 → 255.255.255.0 (最初の24ビットが1)
  • /26 → 255.255.255.192 (最初の26ビットが1)
  • /28 → 255.255.255.240 (最初の28ビットが1)

つまり、
「/28」と書かれていたら「サブネットマスクは 255.255.255.240 のことだな」とすぐに分かる仕組みです。


実用的な理解

  • /28ホスト部が 4ビット 残る(32 − 28 = 4)
  • 2^4 = 16 通りのアドレスが作れる
  • そのうち ネットワークアドレスとブロードキャストアドレスを除くと 14台のホストが利用可能

✅ まとめると、
「/28」とは、サブネットマスクで「1が28個ある」ことを表す省略記法
であり、
残りのビット(ホスト部)がいくつあるかが分かるので、ホスト数や範囲をすぐに計算できる 便利な表記です。