試験項目 1.3 · CCNA-014
IPv4 Subnetting
Borrowed Bits, Subnet Count, Block Size, Subnet境界, Next Subnet, Membership, Overlap, VLSM構成の解釈, Prefixと収容数の整合性
このページのゴール
IPv4 Address SpaceをSubnetへ分割した結果について、Subnet数、境界、Address Range、所属SubnetおよびOverlapを計算・解釈し、既存Subnetting構成の不整合を診断できるようにする。
このページで学ぶこと
- Borrowed Bit
- Subnet数
- Block Size / Increment
- Subnet境界
- 次のSubnet
- 所属Subnet判定
- 同一 / 異なるSubnet判定
- Overlap検出
- VLSM構成の解釈
- Prefixと収容数の整合性
IPv4サブネット分割では、単にサブネットマスクを読めるだけでは十分ではありません。
実際には、
1つのアドレス空間を分割すると何サブネットできるのか
サブネットはどこから始まるのか
あるIPv4アドレスはどのサブネットへ属するのか
2つのアドレスは同じサブネットなのか
既存サブネット同士のアドレス範囲が重複していないか
異なるプレフィックス長を使った構成が成立しているか
まで判断する必要があります。
例えば、
192.0.2.0/24
というアドレス空間を、
/27
へ分割したとします。
このとき、
/24 → /27
↓
何ビットをサブネット用に使ったか
↓
何サブネットに分かれるか
↓
各サブネットの境界はどこか
↓
任意のアドレスはどこへ属するか
という流れで判断します。
さらに実際の構成では、
/26
/27
/28
のように異なるプレフィックス長が共存する場合があります。
その場合は、
各サブネットのプレフィックス
↓
アドレス範囲
↓
重複の有無
↓
必要ホスト数との整合性
まで確認します。
このページでは、提示されたIPv4サブネット分割構成を計算・解釈し、不整合を診断する力を身につけます。
1. 元ネットワークをより長いプレフィックスへ分割する
サブネット分割では、元になるネットワークを、より小さな複数のサブネットへ分割できます。
例えば、
192.0.2.0/24
を、
/26
へ分割するとします。
元のプレフィックス
/24
新しいプレフィックス
/26
差は、
26 - 24 = 2ビット
です。
この追加された2ビットを、分割後のサブネットを識別するために使用します。
サブネット分割では、
元ネットワーク
↓
新しいプレフィックス
↓
追加されたネットワークビット
↓
分割されたサブネット
という関係を理解することが重要です。
2. 借用ビット(Borrowed Bit)
元のプレフィックスから、追加でネットワーク側として使用するようになったビットを、
借用ビット
と呼びます。
例えば、
192.0.2.0/24
↓
/27
なら、
借用ビット
=
27 - 24
=
3ビット
です。
同様に、
10.10.0.0/16
↓
/20
なら、
20 - 16 = 4ビット
です。
借用ビットは現在のプレフィックス長だけでは決まりません。
例えば同じ/27でも、
/24 → /27
借用ビット = 3
/25 → /27
借用ビット = 2
/26 → /27
借用ビット = 1
となります。
したがって、必ず元のプレフィックスと新しいプレフィックスを比較します。
3. 借用ビットからサブネット数を求める
借用ビット数をsとすると、等長サブネットへ分割した場合のサブネット数は、
2^s
です。
例えば、
192.0.2.0/24
↓
/27
なら、
借用ビット
27 - 24 = 3
サブネット数
2^3 = 8
です。
つまり、
192.0.2.0/24
を/27へ等長分割すると、
8 サブネット
になります。
同様に、
10.0.0.0/16
↓
/20
なら、
20 - 16 = 4
2^4 = 16 サブネット
です。
基本式は、
借用ビット
=
新プレフィックス - 元のプレフィックス
サブネット数
=
2^借用ビット
です。
4. サブネット数を 2^s - 2 にしない
現在の通常のIPv4サブネット分割では、サブネットゼロや最後のサブネットも使用できます。
したがって、
サブネット数
=
2^s
として考えます。
例えば、
/24 → /27
借用ビット
3
なら、
2^3 = 8 サブネット
です。
8 - 2 = 6
とはしません。
ここで、
ホスト収容数での -2
と、
サブネット数
を混同しないことが重要です。
5. ブロックサイズ / 増分
サブネット境界を素早く判断するとき、
ブロックサイズ
または、
増分
を利用できます。
ここでいう増分は、
サブネット分割が行われているオクテット上で、サブネットIDの値がいくつずつ増えるか
を表します。
例えば/27のサブネットマスクは、
255.255.255.224
です。
最後のオクテットについて、
256 - 224 = 32
なので、サブネットIDの第4オクテットは、
0
32
64
96
128
160
192
224
と32ずつ増えます。
したがって、
192.0.2.0/27
192.0.2.32/27
192.0.2.64/27
192.0.2.96/27
192.0.2.128/27
192.0.2.160/27
192.0.2.192/27
192.0.2.224/27
というサブネット境界になります。
この32は、この例では総アドレス数とも一致しますが、増分そのものは対象オクテット上の境界間隔を表す値として理解します。
6. 256 - マスク値は高速計算用簡易計算法
256 - マスク値は、プレフィックスがオクテットの途中で切れている場合に便利な簡易計算法です。
例えば、
/20
のサブネットマスクは、
255.255.240.0
です。
第3オクテットのマスク値は、
240
なので、
256 - 240 = 16
となります。
ここでの16は、
第3オクテット上で
サブネットIDが16ずつ増える
という意味です。
したがって、
172.16.0.0/20
172.16.16.0/20
172.16.32.0/20
172.16.48.0/20
172.16.64.0/20
...
と進みます。
/20全体が16 アドレスしか持たない、という意味ではありません。
/20の総アドレス数は、
2^(32 - 20)
=
2^12
=
4096 アドレス
です。
つまり、
増分 16
と、
総アドレス数 4096
は別の概念です。
7. オクテット境界のプレフィックス
256 - マスク値の簡易計算法は、
/25
/26
/27
/28
/20
のようにマスク内に、
255でも0でもないオクテット
がある場合に使いやすい方法です。
一方、
/8
/16
/24
のようなオクテット境界のプレフィックスでは、
255でも0でもないオクテット
が存在しません。
例えば、
192.0.2.0/24
ならサブネット範囲は、
192.0.2.0
~
192.0.2.255
です。
次の/24は、
192.0.3.0/24
です。
したがって、256 - マスク値はサブネット分割の絶対的な一般式ではなく、非オクテット境界プレフィックスを素早く処理するための簡易計算法として使用します。
基本は常に、
プレフィックス長
↓
ネットワークビット / ホストビット
↓
サブネット境界
です。
8. 代表的な増分
第4オクテットでサブネット分割される代表的なプレフィックスは次のように整理できます。
| プレフィックス | サブネットマスク | 第4オクテットの増分 |
|---|---|---|
| /25 | 255.255.255.128 | 128 |
| /26 | 255.255.255.192 | 64 |
| /27 | 255.255.255.224 | 32 |
| /28 | 255.255.255.240 | 16 |
| /29 | 255.255.255.248 | 8 |
| /30 | 255.255.255.252 | 4 |
例えば/28なら、
256 - 240 = 16
なので、第4オクテットのサブネット境界は、
0
16
32
48
64
80
96
112
128
144
160
176
192
208
224
240
です。
9. サブネット境界と次のサブネット
増分が分かれば、現在のサブネットから次のサブネットを求められます。
例えば、
192.0.2.64/27
では第4オクテットの増分が32なので、
64 + 32 = 96
です。
したがって、
現在
192.0.2.64/27
次
192.0.2.96/27
となります。
さらに次は、
192.0.2.128/27
です。
つまり、
同じプレフィックスで隣接するサブネット
=
現在のサブネットID
+
対象オクテット上の増分
として判断できます。
10. アドレスがどのサブネットに属するか
例えば、
192.0.2.77/27
を考えます。
/27の第4オクテットの境界は、
0
32
64
96
128
...
です。
77の直前の境界は、
64
次の境界は、
96
です。
したがって、
64 <= 77 < 96
なので、所属サブネットは、
192.0.2.64/27
です。
サブネット全体の範囲は、
192.0.2.64
~
192.0.2.95
です。
ここではネットワークアドレスやブロードキャストアドレスの求め方そのものを再講義するのではなく、
境界
↓
範囲
↓
所属
という関係を診断に利用します。
11. 2つのアドレスが同じサブネットか判断する
同一サブネットかどうかは、アドレス値の近さではなく、
それぞれが所属するサブネットID
を比較します。
例えば、
ホストA
192.0.2.77/27
ホストB
192.0.2.90/27
はどちらも、
192.0.2.64/27
に属するため同一サブネットです。
一方、
192.0.2.95/27
192.0.2.96/27
は数値上1しか違いませんが、
192.0.2.95
→ 192.0.2.64/27
192.0.2.96
→ 192.0.2.96/27
となるため異なるサブネットです。
逆に、
192.0.2.70/26
192.0.2.125/26
は数値上離れていますが、どちらも、
192.0.2.64/26
へ属します。
12. プレフィックス長が変わると所属サブネットも変わる
同じIPv4アドレスでも、プレフィックス長が違えば所属サブネットは変わることがあります。
例えば、
192.0.2.100
を考えます。
/26では、
境界
0
64
128
192
なので、
192.0.2.100
→ 192.0.2.64/26
です。
一方/27では、
境界
0
32
64
96
128
...
なので、
192.0.2.100
→ 192.0.2.96/27
です。
つまり、
アドレス
+
プレフィックス長
をセットで確認しなければ、所属サブネットは判断できません。
13. 第3オクテットでサブネット分割される例
サブネット境界は第4オクテットだけに現れるとは限りません。
例えば、
172.16.77.10/20
を考えます。
/20のマスクは、
255.255.240.0
です。
第3オクテット上の増分は、
256 - 240 = 16
なので、
0
16
32
48
64
80
96
...
が境界です。
第3オクテットは77なので、
64 <= 77 < 80
です。
したがって所属サブネットは、
172.16.64.0/20
です。
次のサブネットは、
172.16.80.0/20
となります。
14. サブネット重複
同一のIPv4アドレス設計内で独立したサブネットとして使用する場合、サブネット同士のアドレス範囲は重複させません。
例えば、
サブネット A
10.0.0.0/25
の範囲は、
10.0.0.0
~
10.0.0.127
です。
一方、
サブネット B
10.0.0.64/26
の範囲は、
10.0.0.64
~
10.0.0.127
です。
したがって、
サブネット A
0 ~ 127
サブネット B
64 ~ 127
となり、
64 ~ 127
が重複しています。
このような構成は、同じアドレス設計内の別サブネットとしては重複しています。
15. ネットワークアドレスが違っても重複する
重複はネットワークアドレスの文字列だけでは判断できません。
例えば、
10.0.0.0/25
10.0.0.64/26
はネットワークアドレス自体は異なります。
しかし、
10.0.0.0/25
→ 0 ~ 127
10.0.0.64/26
→ 64 ~ 127
なので範囲が重複しています。
重複を確認するときは、
各サブネットのプレフィックスを確認
↓
アドレス範囲を求める
↓
範囲同士が交差するか確認
と判断します。
16. VLSM(可変長サブネットマスク)
異なるプレフィックス長のサブネットを使用する方式を、
VLSM
Variable Length Subnet Mask(可変長サブネットマスク)
と呼びます。
例えば、
192.0.2.0/26
192.0.2.64/27
192.0.2.96/28
という構成です。
範囲を確認すると、
192.0.2.0/26
0 ~ 63
192.0.2.64/27
64 ~ 95
192.0.2.96/28
96 ~ 111
です。
それぞれプレフィックス長は違いますが、範囲は重複していません。
VLSMでは、
各サブネット自身のプレフィックス
↓
各サブネット自身の境界
↓
各サブネット自身のアドレス範囲
を個別に求めます。
1つの増分をすべてのサブネットへ共通適用することはできません。
17. VLSMの重複を診断する
次の既存構成を考えます。
192.0.2.0/26
192.0.2.64/26
192.0.2.96/28
範囲は、
192.0.2.0/26
0 ~ 63
192.0.2.64/26
64 ~ 127
192.0.2.96/28
96 ~ 111
です。
比較すると、
192.0.2.96/28
の範囲全体が、
192.0.2.64/26
に含まれています。
したがって、同じアドレス設計内の独立サブネットとしては、
重複あり
です。
異なるプレフィックス長を使用していても、最終的にはアドレス範囲を比較すれば診断できます。
18. ホスト収容数は既存構成の確認材料として使う
サブネット分割構成の診断では、重複だけでなく、既存プレフィックスが要求ホスト数を満たしているかも確認します。
例えば、
セグメント A
必要ホスト数 50
プレフィックス /27
なら、前のページで確認した収容数を利用して、
/27
→ 通常30ホスト
と判断できます。
したがって、
50 > 30
なので収容数不足です。
ここではホスト収容数の公式をもう一度導出することが目的ではありません。
このページでは、
サブネット境界
重複
ホスト収容数
を組み合わせて、既存のサブネット分割構成が要件を満たすかを判断します。
例えば、
192.0.2.0/26
必要ホスト 50
192.0.2.64/27
必要ホスト 20
192.0.2.96/28
必要ホスト 10
なら、
範囲
0 ~ 63
64 ~ 95
96 ~ 111
重複
なし
収容数
それぞれ要件を満たす
と確認できます。
19. プレフィックス不一致によるサブネット認識の違い
次の設定を考えます。
ホストA
192.0.2.70/26
ホストB
192.0.2.100/27
ホストAの/26では、
64 ~ 127
が同じサブネットです。
したがってホストAから見ると、
192.0.2.100
は同一サブネットです。
一方、ホストBの/27では、
96 ~ 127
が同じサブネットなので、
192.0.2.70
はその範囲外です。
結果として、
ホストA
→ ホストBを同一サブネットと判断
ホストB
→ ホストAを別サブネットと判断
という非対称な認識が発生します。
トラブルシューティングでは、
IPv4アドレス
+
プレフィックス長
を両方確認します。
20. サブネット分割で似ている概念を区別する
| 用語 | 意味 |
|---|---|
| 元ネットワーク | 分割前の元ネットワーク |
| 借用ビット | 元のプレフィックスから追加されたネットワークビット |
| サブネット数 | 等長分割したときのサブネット数 |
| 増分 | 対象オクテット上でサブネットIDが増える間隔 |
| サブネットID | 1つのサブネットの開始アドレス |
| 次のサブネット | 次のサブネットID |
| アドレス範囲 | そのサブネットが占めるアドレス範囲 |
| ホスト収容数 | 通常ホストとして利用できるアドレス数 |
| 重複 | 同じアドレス設計内でサブネット範囲が重複する状態 |
特に、
サブネット数
と、
ホスト収容数
は別です。
また、
増分
と、
総アドレス数
も常に同じ数値になるわけではありません。
例えば/20では、
第3オクテットの増分
16
総アドレス数
4096
です。
この2つを混同しないことが重要です。
21. トラブルシューティングで確認すること
IPv4サブネット分割を診断するときは、必要に応じて次を確認します。
元ネットワーク
使用されているプレフィックス長
各インターフェースのIPv4アドレス
各インターフェースのプレフィックス長
既存サブネット割り当て
必要ホスト数
そこから、
借用ビットは正しいか
サブネット数は期待どおりか
サブネット境界は正しいか
アドレスは期待したサブネットへ属しているか
通信対象デバイスのサブネット認識は一致しているか
サブネット同士が重複していないか
既存プレフィックスで必要ホスト数を収容できるか
を判断します。
22. サブネット分割診断の基本手順
1. 元ネットワークを確認する
↓
2. 使用されているプレフィックスを確認する
↓
3. 必要なら借用ビットを求める
新プレフィックス - 元のプレフィックス
↓
4. 等長分割ならサブネット数を求める
2^借用ビット
↓
5. サブネット境界を求める
↓
6. 必要なら増分を使って計算を高速化する
↓
7. 各アドレスの所属サブネットを判断する
↓
8. 同一 / 異なるサブネットを判断する
↓
9. 各サブネットのアドレス範囲を比較する
↓
10. 重複を確認する
↓
11. 必要ホスト数と既存プレフィックスを比較する
↓
12. サブネット分割構成の不整合を特定する
すべての問題で全項目を計算する必要はありません。
問題文から、
何を確認する必要があるか
を見極めて必要な計算を行います。
23. よくある誤判断
誤り1:借用ビットを現在のプレフィックスだけで決める
/27だから借用ビットは3
とは限りません。
/24 → /27
なら3ビット
/25 → /27
なら2ビット
です。
誤り2:サブネット数を 2^s - 2 にする
等長分割時は、
サブネット数
=
2^s
です。
誤り3:増分をサブネットの総アドレス数だと思う
例えば/20では、
第3オクテットの増分
16
ですが、
総アドレス数
4096
です。
誤り4: 256 - マスク値をすべてのプレフィックスに使えると思う
この方法は、非オクテット境界プレフィックスで使いやすい簡易計算法です。
/8、/16、/24のようなオクテット境界では、プレフィックスそのものから境界を判断します。
誤り5:アドレス値が近ければ同じサブネットだと思う
192.0.2.31/27
192.0.2.32/27
は隣接アドレスですが別サブネットです。
誤り6:ネットワークアドレスが違えば重複しないと思う
10.0.0.0/25
10.0.0.64/26
はネットワークアドレスが違っても範囲が重複しています。
誤り7:VLSMで全サブネットに同じ増分を使う
VLSMでは、
サブネットごとにプレフィックスを確認
↓
個別に境界と範囲を計算
します。
誤り8:重複がなければ構成は必ず正しいと思う
重複がなくても、必要ホスト数に対してプレフィックスが小さすぎれば収容数不足です。
24. 最終的に判断できるようにすること
IPv4サブネット分割では、
サブネットマスクをプレフィックスへ変換できる
だけでは足りません。
最終的には、
元ネットワークから何サブネットに分かれるか
借用ビットはいくつか
サブネット境界はどこか
増分はいくつか
次のサブネットはどこか
アドレスはどのサブネットへ属するか
2つのアドレスは同じサブネットか
プレフィックスの違いでサブネット認識がどう変わるか
サブネット同士が重複していないか
既存VLSM構成が成立しているか
必要ホスト数と既存プレフィックスが整合しているか
まで判断できる必要があります。
サブネット分割は個別の公式だけでなく、
プレフィックス
↓
境界
↓
範囲
↓
所属
↓
重複
↓
収容数
というつながりで考えると診断しやすくなります。
まとめ
IPv4アドレス空間をより長いプレフィックスへ分割するとき、追加でネットワーク側として使用するビットが借用ビットです。
借用ビット
=
新プレフィックス - 元のプレフィックス
等長サブネットへ分割する場合、
サブネット数
=
2^借用ビット
です。
サブネット境界の計算では、非オクテット境界のプレフィックスなら256 - マスク値を簡易計算法として利用できます。
例えば、
/27
255.255.255.224
では、
256 - 224 = 32
なので、第4オクテット上のサブネットIDは、
0
32
64
96
128
160
192
224
と32ずつ増えます。
一方、
/20
255.255.240.0
では、
256 - 240 = 16
なので、第3オクテット上のサブネットIDが16ずつ増えます。
この16はアドレス総数ではなく、第3オクテット上の増分です。
任意のアドレスについて、
直前のサブネット境界
↓
次のサブネット境界
を確認すると所属サブネットを判断できます。
複数アドレスを比較するときは、数値の近さではなく、
それぞれのサブネットID
を比較します。
VLSMではサブネットごとにプレフィックスが異なるため、
各プレフィックス
↓
各サブネットの境界
↓
各アドレス範囲
を個別に計算します。
同一アドレス設計内の独立したサブネット同士で範囲が重なっていれば重複です。
さらに既存構成では、前のページで確認したホスト収容数も利用して、
境界
+
重複
+
収容数
を確認します。
最終的な診断の流れは、
元ネットワーク
↓
プレフィックス
↓
借用ビット
↓
サブネット数
↓
境界 / 増分
↓
所属
↓
重複
↓
収容数
↓
サブネット分割構成の妥当性
です。
これにより、単なるサブネット計算ではなく、既存IPv4構成のサブネット分割上の不整合を切り分けられるようになります。
理解確認
このページの内容を14問で確認します。
理解確認14問へ →