Cisco / CCNA 200-301 v2.0

試験項目 1.3 · CCNA-013

Subnet Capacity

Host Bit数, 総Address数, 利用可能Host数, Prefixと収容数の関係, 収容数の充足判定, /30, /31, /32

このページのゴール

1つのIPv4 SubnetについてPrefix LengthからAddress数・利用可能Host数を求め、要求Host数を収容可能か判断できるようにする。

このページで学ぶこと

  • 総Address数
  • 利用可能Host数
  • Prefixと収容数の関係
  • 収容数の充足判定
  • /30収容数
  • /31 Point-to-Point
  • /32単一Address

IPv4のサブネットを扱うとき、ネットワークアドレスやブロードキャストアドレスを正しく求められても、それだけでは十分ではありません。

実際のネットワークでは、

このサブネットに何台のホストを収容できるのか

必要なホスト数に対して現在のプレフィックスで足りるのか

/30と/31では収容数をどう考えるのか

といった判断が必要になります。

ここで重要になるのが、プレフィックス長からサブネットの収容数を判断する力です。

例えば、

192.0.2.0/27

というサブネットがあるとします。

このとき、

このサブネットには何アドレス存在するのか

通常、何台のホストを収容できるのか

30ホスト必要なら足りるのか

31ホスト必要なら足りるのか

を判断できなければなりません。

このページでは、1つのIPv4サブネットについて、

プレフィックス長
↓
ホストビット数
↓
総アドレス数
↓
利用可能ホスト数
↓
必要ホスト数を収容できるか

という流れで判断できるようにしていきます。

1. IPv4アドレスは32ビットで構成される

IPv4アドレスは全体で、

32ビット

です。

プレフィックス長は、その32ビットのうちネットワーク側として使用するビット数を表します。

例えば、

/24

なら、

ネットワーク側 24ビット
ホスト側     8ビット

です。

同様に、

/26

なら、

ネットワーク側 26ビット
ホスト側     6ビット

となります。

したがって、ホストビット数は、

ホストビット数 = 32 - プレフィックス長

で求められます。

例:

/24
32 - 24 = 8 ホストビット

/26
32 - 26 = 6 ホストビット

/27
32 - 27 = 5 ホストビット

/30
32 - 30 = 2 ホストビット

サブネットの収容数を考えるときは、まずホストビット数を求めます。

2. ホストビット数から総アドレス数を求める

ホストビットが1 ビット増えると、表現できる組み合わせは2倍になります。

ホストビット数を h とすると、1つのサブネットに含まれる総アドレス数は、

2^h

です。

例えば /26 では、

32 - 26 = 6 ホストビット

なので、

2^6 = 64

となります。

したがって、

/26

総アドレス数 = 64

です。

ただし、この64はまだ、

利用可能ホスト数

ではありません。

これはあくまで、

サブネット全体に存在するアドレス数

です。

3. プレフィックスが長くなるほどサブネットは小さくなる

プレフィックス長とサブネット収容数には次の関係があります。

プレフィックスが短い
↓
ホストビットが多い
↓
アドレス数が多い
↓
大きなサブネット

反対に、

プレフィックスが長い
↓
ホストビットが少ない
↓
アドレス数が少ない
↓
小さなサブネット

となります。

例えば、

/24
ホストビット = 8
2^8 = 256 アドレス

に対して、

/25
ホストビット = 7
2^7 = 128 アドレス

です。

さらに、

/26
ホストビット = 6
2^6 = 64 アドレス

となります。

つまりプレフィックスを1 ビット長くするたびに、

総アドレス数は半分

になります。

逆にプレフィックスを1 ビット短くすると、

総アドレス数は2倍

になります。

4. 総アドレス数と利用可能ホスト数は違う

通常のIPv4サブネットでは、サブネットに含まれるすべてのアドレスをホストインターフェースへ割り当てられるわけではありません。

通常サブネットでは、ネットワークアドレスとブロードキャストアドレスをホストとして利用しないため、

総アドレス数
-
ネットワークアドレス 1個
-
ブロードキャストアドレス 1個

として考えます。

したがって、ホストビット数を h とすると、

総アドレス数
=
2^h

に対して、

通常の利用可能ホスト数
=
2^h - 2

となります。

例えば /26 では、

ホストビット
6

総アドレス数
2^6 = 64

通常の利用可能ホスト数
64 - 2 = 62

です。

つまり、

/26

64 アドレス
62 ホスト

となります。

この2つを混同しないことが重要です。

5. 代表的なプレフィックスと収容数

代表的なプレフィックスについて整理すると、次のようになります。

プレフィックス ホストビット 総アドレス数 通常の利用可能ホスト数
/24 8 256 254
/25 7 128 126
/26 6 64 62
/27 5 32 30
/28 4 16 14
/29 3 8 6
/30 2 4 2

この表を丸暗記することより、

プレフィックス長
↓
ホストビット = 32 - プレフィックス
↓
2^ホストビット
↓
通常サブネットなら -2

と自分で求められることが重要です。

例えば /28 なら、

32 - 28 = 4

2^4 = 16

16 - 2 = 14

なので、

通常14ホスト

を収容できます。

6. 必要ホスト数を収容できるか判断する

サブネット収容数では、

必要ホスト数
<=
利用可能ホスト数

であることを確認します。

例えば、

必要ホスト数
25

プレフィックス
/27

という条件を考えます。

/27では、

32 - 27 = 5 ホストビット

2^5 = 32アドレス

32 - 2 = 30ホスト

です。

したがって、

25 <= 30

なので収容できます。

一方、必要ホスト数が31なら、

31 > 30

なので /27では不足します。

ここで重要なのは、

プレフィックスそのものは有効

であっても、

要求ホスト数に対してサブネットが小さすぎる

という不整合が起こり得ることです。

7. 境界となるホスト数に注意する

サブネット収容数では、収容可能数の境界付近で誤りやすくなります。

例えば /28 は、

16 アドレス
14ホスト

です。

したがって、

14ホスト必要
→ 収容可能

15ホスト必要
→ 収容不可

となります。

同様に /27 は、

32アドレス
30ホスト

なので、

30ホスト必要
→ 収容可能

31ホスト必要
→ 収容不可

です。

31 < 32だから収容できる、と判断してはいけません。

比較するのは、

総アドレス数

ではなく、

利用可能ホスト数

です。

8. 必要ホスト数を満たすプレフィックスを判断する

必要ホスト数から、どのプレフィックスなら容量を満たせるかを判断することも重要です。

例えば、

必要ホスト数
50

とします。

/27では、

30ホスト

なので不足します。

/26では、

62 ホスト

なので、

50 <= 62

となり収容できます。

したがって50ホストを通常の1サブネットへ収容するなら、

/26

で容量を満たせます。

別の例として、

必要ホスト数
120

なら、

/26
62 ホスト
→ 不足

/25
126 ホスト
→ 収容可能

です。

判断手順は、

必要ホスト数を確認
↓
候補プレフィックスのホストビット数を求める
↓
総アドレス数を求める
↓
利用可能ホスト数を求める
↓
必要ホスト数と比較する

です。

9. 収容できることと最小のサブネットであることは別

必要ホスト数を収容できるプレフィックスは1つだけとは限りません。

例えば、

20ホスト

を収容する場合、

/24 → 254 ホスト
/25 → 126 ホスト
/26 → 62 ホスト
/27 → 30ホスト

はいずれも容量上は収容できます。

一方、

/28 → 14ホスト

では不足します。

したがって、

20ホストを収容できるか

という問いに対しては /24 でも /27 でも条件を満たします。

しかし、

20ホストを収容できる最小の通常サブネット

を求めるなら、

/27

です。

問題文が、

収容可能か

を聞いているのか、

必要ホスト数を満たす最小のサブネットはどれか

を聞いているのかを区別します。

10. /30の収容数

/30では、

32 - 30 = 2 ホストビット

なので、

2^2 = 4 アドレス

です。

通常サブネットとして考えると、

4 - 2 = 2 ホスト

となります。

つまり、

/30

総アドレス数
4

通常の利用可能ホスト数
2

です。

2台のルーターインターフェースを接続するポイントツーポイントリンクでは、この2つのホストアドレスを両端で使用する構成があります。

収容数として重要なのは、

/30
→ 4 アドレスを消費して2 ホストを利用

という点です。

11. /31 ポイントツーポイント(Point-to-Point)の収容数

/31では、

32 - 31 = 1 ホストビット

なので、

2^1 = 2アドレス

です。

通常サブネットの式だけを機械的に当てはめると、

2 - 2 = 0

となります。

しかし、RFC 3021に対応するIPv4ポイントツーポイントリンクでは、/31の2アドレスを両端のインターフェースで使用できます。

したがって収容数としては、

/31 ポイントツーポイント

総アドレス数
2

利用可能アドレス
2

です。

例えば、

ルーター A
198.51.100.10/31

ルーター B
198.51.100.11/31

のように2つのアドレスを両端で使用できます。

ポイントツーポイントリンクの収容数という観点で比較すると、

プレフィックス 総アドレス数 両端で利用できるアドレス
/30 4 2
/31 2 2

となります。

つまり /31は、

2アドレスを消費して
2アドレスとも利用

できます。

ただし、これはポイントツーポイントという条件を前提とした扱いです。

/31を通常のLAN用サブネットと同じ考え方で扱うものではありません。

12. /32の収容数

/32では、

32 - 32 = 0 ホストビット

なので、

2^0 = 1 アドレス

です。

つまり /32 は、

1つのIPv4アドレス

だけを表します。

例えば、

192.0.2.10/32

なら対象となるのは、

192.0.2.10

という単一アドレスです。

そのため /32は、

複数ホストを収容する通常LANの収容数

として考えるものではありません。

Ciscoルーターではループバックインターフェースなどで /32 が使用されることがあります。

収容数の観点では、

/30
→ 通常2 ホスト

/31
→ ポイントツーポイントなら2アドレスを利用

/32
→ 単一アドレス

と整理します。

13. プレフィックス長の違いによる収容数の差

同じIPv4アドレスでも、プレフィックス長が違えばサブネット収容数は変わります。

例えば、

192.0.2.10/27

と、

192.0.2.10/28

を比較します。

/27では、

ホストビット
5

利用可能ホスト数
30

です。

/28では、

ホストビット
4

利用可能ホスト数
14

です。

必要ホスト数が20なら、

/27
30ホスト
→ 収容可能

/28
14ホスト
→ 収容不可

となります。

つまりプレフィックス長は、

そのサブネットで何ホストを収容できるか

に直接影響します。

このページでは、この収容数への影響を判断できることが重要です。

14. 収容数不足を診断する

サブネット収容数は単なる計算問題だけでなく、トラブルシューティングでも使用します。

例えば、

必要ホスト数
40

設定プレフィックス
/27

だったとします。

/27では、

32 - 27 = 5 ホストビット

2^5 = 32アドレス

32 - 2 = 30ホスト

です。

したがって、

40 > 30

となり、現在のサブネットでは収容数が不足しています。

ここでは、

アドレスそのものが不正

なのではなく、

現在のプレフィックスでは要求されたホスト数を収容できない

という点を切り分けます。

トラブルシューティングでは、

現在何台が通信できているか

だけを見るのではなく、

要件として最大何ホストを収容する必要があるか

も確認します。

例えば現在20台しか利用していなくても、

最大50ホスト必要

という要件に対して /27 が設定されていれば、

/27
30ホスト

なので要件を満たしていません。

15. 収容数診断の基本手順

サブネットの収容数を確認するときは、次の順序で判断します。

1. プレフィックス長を確認する

        ↓

2. ホストビット数を求める
   32 - プレフィックス

        ↓

3. 総アドレス数を求める
   2^ホストビット

        ↓

4. 通常サブネットなら利用可能ホスト数を求める
   2^ホストビット - 2

        ↓

5. /31・/32の特殊な条件か確認する

        ↓

6. 必要ホスト数と比較する

        ↓

7. 収容数が足りるか判断する

例えば、

プレフィックス
/28

必要ホスト数
12

なら、

32 - 28 = 4 ホストビット

2^4 = 16 アドレス

16 - 2 = 14ホスト

12 <= 14

なので、

収容可能

です。

一方、

必要ホスト数
15

なら、

15 > 14

なので、

収容不可

です。

16. 試験で使う代表値

次の対応関係は頻繁に使用します。

/24 → 254 ホスト
/25 → 126 ホスト
/26 → 62 ホスト
/27 → 30ホスト
/28 → 14ホスト
/29 → 6 ホスト
/30 → 2 ホスト

ただし、単純な丸暗記だけに頼る必要はありません。

例えば、

/26
64 アドレス
62 ホスト

を基準にすれば、

/27
→ アドレス数は半分
→ 32アドレス
→ 30ホスト

/28
→ さらに半分
→ 16 アドレス
→ 14ホスト

と判断できます。

逆方向なら、

/25
→ 128 アドレス
→ 126 ホスト

/24
→ 256 アドレス
→ 254 ホスト

です。

プレフィックスが1変わるとアドレス空間が2倍または半分になる、という関係を理解しておけば再計算できます。

17. よくある誤判断

誤り1:総アドレス数をそのままホスト数として扱う

/27
32アドレス
だから32 ホスト使える

これは通常サブネットでは誤りです。

正しくは、

32 - 2 = 30ホスト

です。

誤り2:必要ホスト数と総アドレス数だけを比較する

31ホスト必要

/27には32アドレスある

だから足りる

これも誤りです。

/27で通常利用できるのは、

30ホスト

なので不足します。

誤り3:/31にも無条件で 2^h - 2 を使う

/31

2^1 - 2
= 0

ポイントツーポイントリンクで /31 を使用する場合は、この通常サブネットの計算をそのまま適用しません。

2アドレスを両端で利用できます。

誤り4:/32を通常の複数ホスト用サブネットとして計算する

/32は、

単一IPv4アドレス

を表します。

複数ホストを収容する通常サブネットの収容数とは別に扱います。

誤り5:プレフィックス長が長いほどサブネットも大きいと思う

実際には、

/24
256 アドレス

/28
16 アドレス

です。

プレフィックス長が長くなるほどネットワーク側のビットが増え、ホストビットが減るため、サブネット収容数は小さくなります。

18. 最終的に判断できるようにすること

サブネット収容数で必要なのは、単に公式を覚えることではありません。

最終的には、

このプレフィックスには何アドレスあるか

通常、何台のホストを利用できるか

要求ホスト数を満たしているか

容量不足になっていないか

/31 ポイントツーポイントの条件か

/32の単一アドレスか

まで判断できる必要があります。

基本となる流れは、

プレフィックス長
↓
ホストビット数
↓
2^hで総アドレス数
↓
通常サブネットなら2^h - 2
↓
/31・/32なら条件を確認
↓
必要ホスト数と比較
↓
収容可能か判断

です。

まとめ

IPv4サブネットの収容数は、プレフィックス長からホストビット数を求めるところから始まります。

ホストビット数
=
32 - プレフィックス長

ホストビット数を h とすると、

総アドレス数
=
2^h

です。

通常のIPv4サブネットでは、

利用可能ホスト数
=
2^h - 2

として判断します。

代表的な収容数は、

/24 → 254 ホスト
/25 → 126 ホスト
/26 → 62 ホスト
/27 → 30ホスト
/28 → 14ホスト
/29 → 6 ホスト
/30 → 2 ホスト

です。

ただし、

/31

はポイントツーポイントリンクで使用する場合、2つのアドレスを両端で利用できます。

/32

は単一のIPv4アドレスを表します。

サブネット収容数を診断するときは、

要求ホスト数
<=
実際に利用可能なホスト数

になっているかを確認します。

これにより、

プレフィックス自体は有効だが
必要ホスト数に対してサブネットが小さすぎる

という不整合を判断できるようになります。


理解確認

このページの内容を12問で確認します。

理解確認12問へ →