🏠 ホーム › 第1部 ネットワークの基礎 › 02. サブネットマスクって何?
02. サブネットマスクって何?
このページは何?
IP アドレスのどこまでが「町名」でどこからが「番地」か を決める、サブネットマスク (subnet mask) を理解するページです。 NetPractice で最も重要な概念。
このページで学ぶこと
- サブネットマスクは「町名と番地の境目」を決める定規
- 「同じ町 = 直接通信できる」「違う町 = ルータ経由」
- マスクは 1 が連続して並んでから 0 が並ぶ 形でなければ無効
- ネットワークアドレスとブロードキャストアドレスは使えない
👀 イメージで言うと: マスク = 住所の「町名と番地の境目」
住所で例えると
「東京都渋谷区代々木 1-1-1」という住所のうち、 「東京都渋谷区代々木」までが 町名、「1-1-1」が 番地 です。
ネットワークでも同じように、IP の 前半何ビット が「町名」、 残り何ビット が「番地」かを決める仕組みが必要。それが サブネットマスク。
flowchart LR
subgraph IP [IP: 192.168.1.10]
N[192.168.1<br>町名<br>=ネットワーク部]
H[10<br>番地<br>=ホスト部]
end
M[マスク: 255.255.255.0<br>が境目を決める] --> IP
style N fill:#FFF9C4
style H fill:#C8E6C9
style M fill:#E3F2FD
📐 マスクの書き方
10 進数表記(4 つの数字)
IP アドレスと同じ書き方。
2 進数で見ると
| 部分 | 2 進 | 意味 |
|---|---|---|
ネットワーク部(1 が 24 個) |
11111111.11111111.11111111 |
どこの「町」か |
ホスト部(0 が 8 個) |
00000000 |
町の中の「番地」 |
マスクのルール
マスクは 必ず「先頭から 1 が連続して並び、その後 0 が続く」 形でなければならない。
1 と 0 が混ざっている形は無効(= NetPractice で弾かれる)。
| 2 進 | 結果 | |
|---|---|---|
| ✅ OK | 11111111.11111111.11111111.00000000(= /24) |
有効 |
| ❌ NG | 11111111.11111111.11111111.00100000(= 255.255.255.32) |
無効 |
NG の方は 1 の後に 0 が挟まってから、また 1 が出ている(線の後半)ので規則違反。
🔬 マスクと IP を合わせて「町名」を取り出す
同じ町(= 同じサブネット)かどうかは IP とマスクの AND 演算 で判定します。
💡 ここでつまずく人へ — なぜ AND を使うの?
マスクは「町名の範囲を 1 で示した定規」だと思ってください。
AND を取ると 1 の範囲(= 町名)だけ IP の値が残り、0 の範囲(= 番地)が消える ので、
「町名の部分だけ取り出す」操作になります。
例: マスク 11111111.11111111.11111111.00000000 を IP に AND →
左 24 ビット(町名)だけ残し、右 8 ビット(番地)はゼロにする、という意味。
AND 演算って?
2 つの値を比べて 両方 1 なら 1、そうでなければ 0 にする計算。
| A | B | A AND B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
実例で見る
| 10 進 | 2 進 | |
|---|---|---|
| IP | 192.168.1.10 |
11000000.10101000.00000001.00001010 |
| マスク | 255.255.255.0 |
11111111.11111111.11111111.00000000 |
| AND の結果 = 町 | 192.168.1.0 |
11000000.10101000.00000001.00000000 |
この 192.168.1.0 が「このパソコンが住んでいる町」。
2 つのパソコンの「町」が一致すれば直接通信できる。
🏘️ 同じ町 vs 別の町
例 1: 同じ町に住んでいる
| ホスト | IP | マスク | 町 |
|---|---|---|---|
| A | 192.168.1.10 |
/24 |
192.168.1.0 |
| B | 192.168.1.20 |
/24 |
192.168.1.0 |
→ 町名が両方 192.168.1.0 → 同じ町 → 直接通話 OK。
例 2: 違う町に住んでいる
| ホスト | IP | マスク | 町 |
|---|---|---|---|
| A | 192.168.1.10 |
/24 |
192.168.1.0 |
| C | 192.168.2.10 |
/24 |
192.168.2.0 |
→ 町名が違う → ルータ(郵便局)を経由しないと届かない。
flowchart LR
subgraph town1 [町 192.168.1.0/24]
direction LR
A[A<br>.10] -.直接.- B[B<br>.20]
end
A ==>|ルータ経由| R[🏛️ ルータ]
R ==> C[C<br>.10]
subgraph town2 [町 192.168.2.0/24]
C
end
style A fill:#E3F2FD
style B fill:#E3F2FD
style C fill:#FFF9C4
style R fill:#F8BBD0
🚫 使えないアドレス 2 種類
各町には 住民が使えない 2 つの番地 がある。
1. ネットワークアドレス(町全体を指す番号)
番地部分が全部 0 の IP。「この町そのもの」を意味する。
| アドレス | 意味 | 住民が使える? |
|---|---|---|
192.168.1.0 |
町全体(= 町そのもの)を指す | ❌ NG |
2. ブロードキャストアドレス(町内全員宛)
番地部分が全部 1 の IP。「この町内の全員に送信」を意味する。
| アドレス | 意味 | 住民が使える? |
|---|---|---|
192.168.1.255 |
町内の全員に同じパケットを配る | ❌ NG |
💡 ここでつまずく人へ — どうしてこの 2 つは使えないの?
.0は「住所そのもの(町の名札)」、.255は「全員にメガホンで叫ぶための番号」と 既に役割が決まっている ので、住人 1 人に重ねて貼れません。- NetPractice で
.0や.255をホストに割り当てると 赤くエラー になるのはこのため。
住人が使える範囲
| IP | 使える? | 意味 |
|---|---|---|
192.168.1.0 |
❌ NG | ネットワークアドレス |
192.168.1.1 |
✅ OK | 最初の住人 |
192.168.1.2 |
✅ OK | — |
| … | … | … |
192.168.1.254 |
✅ OK | 最後の住人 |
192.168.1.255 |
❌ NG | ブロードキャスト |
使える住人の数 = 256 − 2 = 254 台。
/25 以降は区切り位置が変わる
マスクが /25 になると 128 個ずつ のブロックに分割される。
そのとき .255 は 下のブロックのブロードキャスト になり、
.128 は 上のブロックのネットワークアドレス になる(= どちらも使えない)。
詳しくは 03. CIDR 早見表 で。
🧪 NetPractice でよく出てくるマスク
💡 「ブロック」って何?(次ページで詳しく)
下の表に出てくる 「ブロック」 は、今は 「同じ大きさの町(サブネット)の単位」 と
ざっくり思っておけば OK。
例: /24(254 人 1 町)を /25 にすると、同じ住所空間が 2 ブロック(= 126 人 × 2 町) に分かれる。
詳しくは → 03. CIDR 早見表 §ブロックって何?
| マスク | /XX |
意味 |
|---|---|---|
255.255.255.0 |
/24 | 1 町に 254 人 |
255.255.255.128 |
/25 | 1 町に 126 人、2 ブロック |
255.255.255.192 |
/26 | 1 町に 62 人、4 ブロック |
255.255.255.224 |
/27 | 1 町に 30 人、8 ブロック |
255.255.255.240 |
/28 | 1 町に 14 人、16 ブロック |
255.255.255.252 |
/30 | 1 町に 2 人(ルータ間専用) |
マスクが 右にずれるほど町は小さくなる(= 住人が減る)。 詳しい数え方は次ページへ。
⚠️ よくあるミス
マスクが不正な値(Level 2 でやる)
255.255.255.32 のように 1 と 0 が混ざる値 はマスクとして無効。
NetPractice では赤いエラーで弾かれる。
同じリンクの両端でマスクが違う
スイッチやルータの両側で 必ず同じマスク を使う必要がある。 片側だけ /24、もう片側 /25 だと「同じ町」の判定がズレて通信できない。
ホスト部が全 0 / 全 1 の IP を使う → invalid IP address エラー
192.168.1.0(ネットワークアドレス)や 192.168.1.255(ブロードキャスト)を 住人 に割り当てると、NetPractice では即座に invalid IP address という赤エラーで弾かれます。
マスクが /25 以降になると 使えない番地が増えるので注意:
| マスク | このマスクで使えない値(第 4 オクテット) |
|---|---|
/24 |
.0, .255 |
/25 |
.0, .127, .128, .255 |
/26 |
.0, .63, .64, .127, .128, .191, .192, .255 |
各ブロックで「先頭」と「末尾」が NG。網羅的な早見表は 03. CIDR 早見表 §ブロードキャスト早見表 参照。
🎯 まとめ
- サブネットマスクは「町名と番地の境目」を決める定規
- IP AND マスク = 町名(ネットワークアドレス)
- 両方の町名が一致すれば 同じ町 = 直接通信 OK
- マスクは 1 が連続して並んでから 0 という形でなければ無効
- 各町では 最初(.0)と最後(.255)は使えない
▶️ 次に読むページ
03. CIDR 早見表と計算 — /24 とか /25 とかの数字の読み方