第3章:サブネット計算の実践

はじめに

本章では、NetPracticeで頻出するサブネット計算パターンを実践的に学びます。

---

1. サブネット計算の手順

1.1 基本的な手順

Step 1: CIDR表記からサブネットマスクを導出
Step 2: ブロックサイズを計算
Step 3: ネットワークアドレスを特定
Step 4: ブロードキャストアドレスを特定
Step 5: 使用可能なホスト範囲を特定

1.2 例: 172.16.45.100/22

Step 1: サブネットマスク
/22 = 255.255.252.0
(11111111.11111111.11111100.00000000)

Step 2: ブロックサイズ
第3オクテット: 256 - 252 = 4

Step 3: ネットワークアドレス
45 ÷ 4 = 11.25 → ブロック11
11 × 4 = 44
ネットワーク: 172.16.44.0/22

Step 4: ブロードキャスト
次のブロック開始 - 1 = 44 + 4 - 1 = 47
ブロードキャスト: 172.16.47.255

Step 5: ホスト範囲
最初: 172.16.44.1
最後: 172.16.47.254
ホスト数: 2^10 - 2 = 1022

---

2. オクテット別の計算

2.1 第4オクテットのサブネット (/25 - /30)

/25 (255.255.255.128): ブロック = 128
    0-127, 128-255

/26 (255.255.255.192): ブロック = 64
    0-63, 64-127, 128-191, 192-255

/27 (255.255.255.224): ブロック = 32
    0-31, 32-63, 64-95, 96-127, 128-159, 160-191, 192-223, 224-255

/28 (255.255.255.240): ブロック = 16
    0-15, 16-31, 32-47, 48-63, ...

/29 (255.255.255.248): ブロック = 8
    0-7, 8-15, 16-23, 24-31, ...

/30 (255.255.255.252): ブロック = 4
    0-3, 4-7, 8-11, 12-15, ...

2.2 第3オクテットのサブネット (/17 - /24)

/17 (255.255.128.0): ブロック = 128
    x.x.0.0 - x.x.127.255
    x.x.128.0 - x.x.255.255

/18 (255.255.192.0): ブロック = 64
    x.x.0.0 - x.x.63.255
    x.x.64.0 - x.x.127.255
    x.x.128.0 - x.x.191.255
    x.x.192.0 - x.x.255.255

/19 (255.255.224.0): ブロック = 32
/20 (255.255.240.0): ブロック = 16
/21 (255.255.248.0): ブロック = 8
/22 (255.255.252.0): ブロック = 4
/23 (255.255.254.0): ブロック = 2
/24 (255.255.255.0): ブロック = 1

2.3 計算例: /19

10.20.100.50/19

第3オクテットのブロックサイズ: 256 - 224 = 32
100 ÷ 32 = 3.125 → ブロック3
3 × 32 = 96

ネットワーク: 10.20.96.0/19
ブロードキャスト: 10.20.127.255
ホスト範囲: 10.20.96.1 - 10.20.127.254
ホスト数: 2^13 - 2 = 8190

---

3. NetPracticeのレベル別パターン

3.1 Level 1-2: 単純なネットワーク

構成:
[PC A] -------- [PC B]

問題: PC AとPC Bが通信可能な設定

解法:
1. 両方を同じサブネットに
2. IPが重複しない
3. ネットワーク/ブロードキャストアドレスを使わない

例:
PC A: 192.168.1.1/24
PC B: 192.168.1.2/24

3.2 Level 3-4: スイッチを介した接続

構成:
[PC A] ----+
           |
         [Switch]
           |
[PC B] ----+

解法:
スイッチはL2なので、IPの設定は同一ネットワークと同じ

例:
PC A: 10.0.0.1/24
PC B: 10.0.0.2/24

3.3 Level 5-6: ルーター経由の接続

構成:
[PC A] ---- [Router] ---- [PC B]

解法:
1. PC AとRouterのInterface 1を同じネットワークに
2. PC BとRouterのInterface 2を同じネットワークに
3. PC Aのゲートウェイ = Router Interface 1のIP
4. PC Bのゲートウェイ = Router Interface 2のIP

例:
PC A: 192.168.1.1/24, GW: 192.168.1.254
Router I1: 192.168.1.254/24
Router I2: 10.0.0.254/24
PC B: 10.0.0.1/24, GW: 10.0.0.254

3.4 Level 7-8: ルーティングテーブル

構成:
[PC A] ---- [R1] ---- [R2] ---- [PC B]

解法:
1. 各接続を別のサブネットに
2. 各ルーターにルーティングエントリを追加

R1のルーティングテーブル:
- 直接接続: 192.168.1.0/24 (PC A側)
- 直接接続: 10.0.0.0/24 (R2との接続)
- PC B側: 172.16.0.0/24 via 10.0.0.2

R2のルーティングテーブル:
- 直接接続: 10.0.0.0/24 (R1との接続)
- 直接接続: 172.16.0.0/24 (PC B側)
- PC A側: 192.168.1.0/24 via 10.0.0.1

3.5 Level 9-10: 複雑なトポロジー

構成:
             [Internet]
                 |
             [Router 1]
              /      \
         [R2]         [R3]
          |            |
       [PC A]       [PC B]

解法:
1. 各セグメントを別サブネットに
2. デフォルトルートでインターネットへ
3. スタティックルートで各PCネットワークへ

注意点:
- IPアドレスの重複禁止
- ループの回避
- 戻り経路の確保

---

4. よくある間違いと対策

4.1 ネットワーク/ブロードキャストの使用

❌ 間違い:
PC: 192.168.1.0/24  (ネットワークアドレス)
PC: 192.168.1.255/24 (ブロードキャストアドレス)

✅ 正しい:
PC: 192.168.1.1/24 - 192.168.1.254/24

4.2 異なるサブネットマスク

❌ 間違い:
PC A: 192.168.1.1/24
PC B: 192.168.1.2/25  ← マスクが異なる

PC Aから見たネットワーク: 192.168.1.0/24
PC Bから見たネットワーク: 192.168.1.0/25

通信問題が発生する可能性

✅ 正しい:
同じセグメントでは同じサブネットマスクを使用

4.3 ゲートウェイの設定ミス

❌ 間違い:
PC: 192.168.1.1/24
Gateway: 10.0.0.1  ← 異なるネットワーク

✅ 正しい:
PC: 192.168.1.1/24
Gateway: 192.168.1.254  ← 同じネットワーク内

4.4 戻り経路の欠如

❌ 問題:
PC A → PC B への経路あり
PC B → PC A への経路なし(片方向のみ)

✅ 正しい:
双方向の経路を設定

---

5. 計算のテンプレート

5.1 IPアドレス割り当てチェックリスト

□ ネットワークアドレスでない
□ ブロードキャストアドレスでない
□ 他のデバイスと重複していない
□ 同じサブネット内の他デバイスと通信可能
□ ゲートウェイが同じサブネット内

5.2 サブネット分割テンプレート

目標: X.X.X.X/Y を N個のサブネットに分割

Step 1: N以上の最小の2のべき乗を求める
        2^k >= N を満たす最小のk

Step 2: 新しいCIDRを計算
        新CIDR = Y + k

Step 3: 各サブネットの範囲を計算
        ブロックサイズ = 2^(32 - 新CIDR)

5.3 ルーティングテーブル設定テンプレート

各ルーターについて:

1. 直接接続ネットワークを確認
   → Gateway = 0.0.0.0 または Interface

2. 到達したいネットワークを列挙
   → 各宛先に対してNext Hopを設定

3. デフォルトルート(必要な場合)
   → 0.0.0.0/0 → インターネットゲートウェイ

---

6. 練習問題

問題1: サブネット特定

IP: 192.168.100.200/26

求めるもの:
- ネットワークアドレス
- ブロードキャスト
- 使用可能範囲
- ホスト数

解答

ブロックサイズ: 256 - 192 = 64
200 ÷ 64 = 3.125 → ブロック3
3 × 64 = 192

ネットワーク: 192.168.100.192/26
ブロードキャスト: 192.168.100.255
使用可能: 192.168.100.193 - 192.168.100.254
ホスト数: 62

問題2: ルーティング設計

ネットワーク構成:
[PC1: 192.168.1.10] --- [Router] --- [PC2: 10.0.0.20]

Router Interface 1: ???
Router Interface 2: ???
PC1のゲートウェイ: ???
PC2のゲートウェイ: ???

解答

Router Interface 1: 192.168.1.1/24 (PC1と同じネットワーク)
Router Interface 2: 10.0.0.1/24 (PC2と同じネットワーク)
PC1のゲートウェイ: 192.168.1.1
PC2のゲートウェイ: 10.0.0.1

または:
Router Interface 1: 192.168.1.254/24
Router Interface 2: 10.0.0.254/24
PC1のゲートウェイ: 192.168.1.254
PC2のゲートウェイ: 10.0.0.254

---

まとめ

本章で学んだこと:

  • サブネット計算の手順: 体系的なアプローチ
  • オクテット別計算: 第3/第4オクテットのパターン
  • レベル別パターン: NetPracticeの典型的な問題
  • よくある間違い: 避けるべきパターン

次章では、ルーティングの詳細を学びます。