ネットワークの教科書NETWORK

第2章 アドレスのしくみ2-3コース全体 19回中7本目

入門読了 約10分

サブネットマスクの計算のやり方

/26 だとホストは何台? を自力で解けるようになるための記事です。定義の説明は最小限にして、3ステップの手順と練習問題に絞っています。

結論

サブネットマスクの計算は、3ステップで終わります

/26 のようなプレフィックス長から、そのネットワークに何台の機器を置けるかを出すには、 次の3ステップを踏むだけです。

  1. 1

    ホスト部のビット数を出す

    32 − プレフィックス長

  2. 2

    アドレス総数を出す

    2 のホスト部ビット数乗

  3. 3

    ホスト数を出す

    アドレス総数 − 2(ネットワークアドレスとブロードキャストを除く)

例:/26 なら32 − 26 = 6ビット → 2⁶ = 64個 → 64 − 2 = 62台。 この記事では、この3ステップを実例つきで身につけます。
前提

なぜ「ネットワーク部」と「ホスト部」に分けるのか

IPアドレスは32ビットの数字1つですが、そのままでは「どのネットワークの」「何番目の機器か」が区別できません。 そこで住所を「地域」と「号室」に分けるように、IPアドレスもネットワーク部(どのネットワークか)とホスト部(その中の何番目の機器か)に分けます。どこまでがネットワーク部かを示す境目が、サブネットマスク(/26 のようなプレフィックス長)です。

手順

3ステップの中身

192.168.10.130/26 を例に、1ステップずつ進めます。

ステップ1:プレフィックス長からホスト部のビット数を出す

IPアドレスは全部で32ビットです。プレフィックス長がネットワーク部のビット数なので、残りを引くだけでホスト部のビット数が出ます。

32 − 26 = 6 ビットがホスト部。

ステップ2:2のべき乗でアドレス総数を出す

ホスト部が n ビットなら、そのビットで表せる組み合わせは 2ⁿ 通りです。 これがそのネットワークに含まれるアドレスの総数(ネットワークアドレスとブロードキャストを含む)になります。

2⁶ = 64 個。

ステップ3:ネットワークアドレスとブロードキャストを引いてホスト数を出す

64個のアドレスのうち、先頭の1つはネットワークアドレス(そのネットワーク自体を指す名前)、 末尾の1つはブロードキャストアドレス(そのネットワーク全員への呼びかけ)で、どちらも機器には割り当てません。 だから2を引きます。

64 − 2 = 62 台。これが割り当て可能なホスト数です。
項目
IPアドレス192.168.10.130
ネットワークアドレス192.168.10.128
ブロードキャストアドレス192.168.10.191
割り当て可能な範囲192.168.10.129 〜 192.168.10.190
ホスト数62台
確認

計算機で答え合わせをする

まず自分の手で3ステップを計算してから、下のツールに同じ値を入れて答え合わせをしてください。 IPアドレスとプレフィックス長を変えれば、別の問題でも試せます。

しくみ

2進数で見るとどうなるか

3ステップは10進数のまま計算できますが、コンピュータの内部ではIPアドレスとサブネットマスクのAND(論理積)でネットワークアドレスを求めています。 なぜそれで正しく求まるのかを、先ほどの例の第4オクテットで確認します。

第4オクテットの2進数
IPアドレス(130)10000010
サブネットマスク(192)11000000
AND の結果(128)10000000

ANDは「両方が1のときだけ1」になる演算です。太字のホスト部は、マスク側が0なのでANDを取ると強制的に0になります。一方、上位2ビット(マスク側が1の部分)はIPアドレスの値がそのまま残ります。 つまりANDは「ネットワーク部はそのまま残し、ホスト部だけを0にする」ための計算です。 ホスト部を0にした結果が 128、これがステップ3で使ったネットワークアドレスの第4オクテットと一致します。

注意

つまずきやすい点

なぜ −2 するのか

引く2つには、どちらも名前と役割があります。ネットワークアドレス(ホスト部が全部0)は そのネットワーク自体を指す名前で、特定の1台を指しません。ブロードキャストアドレス(ホスト部が全部1)は そのネットワークの全員への呼びかけに使う宛先で、これも1台に割り当てると混乱します。 だから機器に配れるのは、残りの「間」のアドレスだけになります。

/31 と /32 は例外(−2 しない)

/32 はホスト部が0ビット、つまりアドレス1個だけを指す指定です(特定の1台を名指しするACLなどに使います)。/31 はホスト部1ビットでアドレス2個しかなく、−2すると0台になってしまいます。 そこでRFC 3021により、ネットワークアドレスとブロードキャストという考え方自体を持たず、 2個とも機器に割り当てる例外になっています(ルータ同士を直結する区間などで使われます)。

プレフィックス長の数字が大きいほど、ネットワークは小さくなる

/25/26 のように数字が大きくなると、 感覚的には「範囲が広がりそう」に思えますが、逆です。プレフィックス長はネットワーク部のビット数なので、 大きくなるほどホスト部のビット数(32 − プレフィックス長)は減り、ネットワークは小さくなります。

参照

早見表(/24〜/30)

プレフィックス長サブネットマスクホスト部アドレス総数ホスト数
/24255.255.255.08ビット256254台
/25255.255.255.1287ビット128126台
/26255.255.255.1926ビット6462台
/27255.255.255.2245ビット3230台
/28255.255.255.2404ビット1614台
/29255.255.255.2483ビット86台
/30255.255.255.2522ビット42台
練習

練習問題(全5問)

選んでから「採点する」を押すと、解説つきで答え合わせができます。

Q1/28 のホスト部は何ビット?
Q2/27 のアドレス総数(ネットワークアドレスとブロードキャストを含む)は?
Q3172.16.5.70/25 のネットワークアドレスは?
Q4/30 の割り当て可能なホスト数は?
Q5/31 の説明として正しいものは?
あわせて使う

ツールも試す

次の回

コースを読み進める