第2章:IPアドレスとサブネット
はじめに
本章では、IPアドレスとサブネットマスクの詳細な計算方法を学びます。
---
1. 2進数とビット演算
1.1 2進数変換
IPアドレスを理解するには、2進数変換が必須です:
10進数 → 2進数の変換
192を2進数に:
192 ÷ 2 = 96 余り 0
96 ÷ 2 = 48 余り 0
48 ÷ 2 = 24 余り 0
24 ÷ 2 = 12 余り 0
12 ÷ 2 = 6 余り 0
6 ÷ 2 = 3 余り 0
3 ÷ 2 = 1 余り 1
1 ÷ 2 = 0 余り 1
→ 11000000
2進数 → 10進数の変換
11000000 = 1×128 + 1×64 + 0×32 + 0×16 + 0×8 + 0×4 + 0×2 + 0×1
= 128 + 64
= 192
1.2 よく使う2のべき乗
| 2^n | 値 | よく見るパターン | |-----|-----|-----------------| | 2^0 | 1 | | | 2^1 | 2 | /31 | | 2^2 | 4 | /30 | | 2^3 | 8 | /29 | | 2^4 | 16 | /28 | | 2^5 | 32 | /27 | | 2^6 | 64 | /26 | | 2^7 | 128 | /25 | | 2^8 | 256 | 1オクテット |
1.3 ビットAND演算
サブネット計算ではAND演算を使用します:
AND演算のルール:
1 AND 1 = 1
1 AND 0 = 0
0 AND 1 = 0
0 AND 0 = 0
例: ネットワークアドレスの計算
IP: 192.168.1.100
Mask: 255.255.255.0
11000000.10101000.00000001.01100100
AND
11111111.11111111.11111111.00000000
=
11000000.10101000.00000001.00000000
= 192.168.1.0 (ネットワークアドレス)
---
2. サブネットマスクの詳細
2.1 サブネットマスク一覧
CIDR サブネットマスク ホスト数 ブロックサイズ
/8 255.0.0.0 16,777,214 16,777,216
/16 255.255.0.0 65,534 65,536
/17 255.255.128.0 32,766 32,768
/18 255.255.192.0 16,382 16,384
/19 255.255.224.0 8,190 8,192
/20 255.255.240.0 4,094 4,096
/21 255.255.248.0 2,046 2,048
/22 255.255.252.0 1,022 1,024
/23 255.255.254.0 510 512
/24 255.255.255.0 254 256
/25 255.255.255.128 126 128
/26 255.255.255.192 62 64
/27 255.255.255.224 30 32
/28 255.255.255.240 14 16
/29 255.255.255.248 6 8
/30 255.255.255.252 2 4
/31 255.255.255.254 2 2 (point-to-point)
/32 255.255.255.255 1 1 (single host)
2.2 ブロックサイズの計算
ブロックサイズは、サブネットの境界を決定します:
/26 のブロックサイズ:
256 - 192 = 64
サブネット境界:
0, 64, 128, 192
つまり:
192.168.1.0/26 (0-63)
192.168.1.64/26 (64-127)
192.168.1.128/26 (128-191)
192.168.1.192/26 (192-255)
2.3 サブネット分割の例
192.168.1.0/24 を 4つのサブネットに分割:
元のホスト数: 254 (/24)
分割後のホスト数: 62 (/26)
4つのサブネット:
1. 192.168.1.0/26
ネットワーク: 192.168.1.0
ブロードキャスト: 192.168.1.63
使用可能: 192.168.1.1 - 192.168.1.62
2. 192.168.1.64/26
ネットワーク: 192.168.1.64
ブロードキャスト: 192.168.1.127
使用可能: 192.168.1.65 - 192.168.1.126
3. 192.168.1.128/26
ネットワーク: 192.168.1.128
ブロードキャスト: 192.168.1.191
使用可能: 192.168.1.129 - 192.168.1.190
4. 192.168.1.192/26
ネットワーク: 192.168.1.192
ブロードキャスト: 192.168.1.255
使用可能: 192.168.1.193 - 192.168.1.254
---
3. NetPracticeでの計算例
3.1 Level 1-3: 同一ネットワーク
問題: PC AとPC Bが通信できるように設定
PC A: 192.168.1.1/24
PC B: ???
解法:
1. PC Aのネットワークを特定: 192.168.1.0/24
2. PC Bは同じネットワークに属する必要がある
3. 使用可能な範囲: 192.168.1.2 - 192.168.1.254
4. PC B: 192.168.1.2/24 など
3.2 Level 4-6: ルーター経由
問題: PC AとPC Bが通信できるように設定(異なるネットワーク)
PC A: 192.168.1.1/24
Router Interface 1: 192.168.1.254/24
Router Interface 2: 10.0.0.254/24
PC B: 10.0.0.1/24
必要な設定:
- PC Aのゲートウェイ: 192.168.1.254
- PC Bのゲートウェイ: 10.0.0.254
- ルーターのルーティングテーブル(自動設定される場合が多い)
3.3 Level 7-8: ルーティングテーブル
問題: ルーティングテーブルを正しく設定
ネットワーク構成:
Network A: 192.168.1.0/24
Network B: 10.0.0.0/24
Network C: 172.16.0.0/24
Router 1のルーティングテーブル:
Destination Gateway Interface
192.168.1.0/24 0.0.0.0 eth0 (直接接続)
10.0.0.0/24 0.0.0.0 eth1 (直接接続)
172.16.0.0/24 10.0.0.2 eth1 (Router 2経由)
0.0.0.0/0 ISP_gateway eth2 (デフォルトルート)
---
4. よくある計算パターン
4.1 指定IPが属するサブネット
問題: 172.16.45.123/20 はどのサブネットに属するか?
Step 1: /20のブロックサイズを計算
第3オクテット: /20 = /16 + 4ビット
ブロックサイズ = 2^(8-4) = 16
Step 2: 45がどのブロックに属するか
45 ÷ 16 = 2.8...
→ ブロック2 (32-47)
Step 3: サブネットアドレス
172.16.32.0/20
Step 4: ブロードキャストアドレス
172.16.47.255
Step 5: 使用可能な範囲
172.16.32.1 - 172.16.47.254
4.2 必要なサブネットサイズ
問題: 50台のホストを収容できる最小サブネット
Step 1: 必要なホストビット数
2^6 = 64 > 50+2 (ネットワーク+ブロードキャスト)
→ 6ビット必要
Step 2: CIDR表記
/26 (32 - 6 = 26)
Step 3: サブネットマスク
255.255.255.192
4.3 2つのIPが同一ネットワークか判定
問題: 192.168.1.100/25 と 192.168.1.200/25 は同じネットワークか?
Step 1: /25のブロック境界
0-127, 128-255
Step 2: 各IPの属するブロック
192.168.1.100 → 0-127 → ネットワーク: 192.168.1.0/25
192.168.1.200 → 128-255 → ネットワーク: 192.168.1.128/25
Step 3: 判定
異なるネットワーク → 直接通信不可
---
5. 計算のショートカット
5.1 マジックナンバー法
256からサブネットマスクの最後のオクテットを引く:
/25: 256 - 128 = 128 (ブロックサイズ)
/26: 256 - 192 = 64
/27: 256 - 224 = 32
/28: 256 - 240 = 16
/29: 256 - 248 = 8
/30: 256 - 252 = 4
5.2 ホスト数の暗記
/24 → 254 hosts
/25 → 126 hosts
/26 → 62 hosts
/27 → 30 hosts
/28 → 14 hosts
/29 → 6 hosts
/30 → 2 hosts
パターン: 2^(32-CIDR) - 2
5.3 クイック判定
同一ネットワーク判定(/24の場合):
最初の3オクテットが同じか?
192.168.1.1 と 192.168.1.100 → 同じ
192.168.1.1 と 192.168.2.1 → 異なる
同一ネットワーク判定(/26の場合):
最初の3オクテットが同じ AND
第4オクテットが同じ64ブロック内か?
192.168.1.1 (0-63ブロック)
192.168.1.65 (64-127ブロック) → 異なるネットワーク
---
6. 実践問題
問題1
192.168.10.0/24 を 8つのサブネットに分割
各サブネットのネットワークアドレスとブロードキャストを求めよ
解答
8 = 2^3 なので、3ビット追加 → /27
ブロックサイズ: 256 - 224 = 32
1. 192.168.10.0/27 BC: 192.168.10.31
2. 192.168.10.32/27 BC: 192.168.10.63
3. 192.168.10.64/27 BC: 192.168.10.95
4. 192.168.10.96/27 BC: 192.168.10.127
5. 192.168.10.128/27 BC: 192.168.10.159
6. 192.168.10.160/27 BC: 192.168.10.191
7. 192.168.10.192/27 BC: 192.168.10.223
8. 192.168.10.224/27 BC: 192.168.10.255
問題2
10.20.30.45/22 の
- ネットワークアドレス
- ブロードキャストアドレス
- 使用可能なホスト範囲
を求めよ
解答
/22 = 255.255.252.0
第3オクテットのブロックサイズ: 256 - 252 = 4
30 ÷ 4 = 7.5 → ブロック7 (28-31)
ネットワーク: 10.20.28.0/22
ブロードキャスト: 10.20.31.255
使用可能: 10.20.28.1 - 10.20.31.254
ホスト数: 1022
---
まとめ
本章で学んだこと:
- 2進数変換: IPアドレス計算の基礎
- サブネットマスク: CIDR、ブロックサイズ
- サブネット分割: ネットワークの細分化
- 計算テクニック: マジックナンバー法、クイック判定
次章では、ルーティングの詳細を学びます。