はじめに
サブネットマスクの計算は素早く暗算できるでしょうか?2進数でビット計算なんかしてたら手間がかかって大変です。管理人が2進数で計算していたのはCisco社の認定試験(CCNA)の勉強をしていた時くらいです。
実際の業務ではスピードが求められるのでさっと暗算して、出した答えにミスがないかサブネット計算できるサイトなどで答え合わせしています。
では、どのように暗算しているのかというと10進数で簡単な計算をしているだけです。
サブネッティングの計算方法
管理人の計算方法は大きく3つのステップを得てネットワークアドレスを求めています。
- サブネットマスクがCIDR表記であれば10進数にする(/24であれば255.255.255.0)
- 256から対象となるオクテットの値を減算する
- ネットワークアドレスを求める
例えば、「192.168.16.32/28」で利用できるホストアドレスを求めるとします。上記のステップに沿って計算していきます。
サブネットマスクがCIDR表記であれば10進数にする
28ビットは、255.255.255.240です。これは一瞬で答えられるようにしましょう。
CIDR表記 | サブネットマスク |
---|---|
24 | 255.255.255.0 |
25 | 255.255.255.128 |
26 | 255.255.255.192 |
27 | 255.255.255.224 |
28 | 255.255.255.240 |
29 | 255.255.255.248 |
30 | 255.255.255.252 |
31 | 255.255.255.254 |
32 | 255.255.255.255 |
256から対象となるオクテットの値を減算する
/28なので、サブネッティングの対象となるオクテットは第4オクテットです。第4オクテットは240なので、256-240で16です。この16でネットワークアドレスやホスト数を求めることができます。
ネットワークアドレスを求める
ネットワークアドレスは16の倍数になります。使用できるホストアドレス数は16から2を引いて14となります。2を引く理由はネットワークアドレスとブロードキャストアドレスに使用されるからです。
ネットワークアドレス | ホストアドレス (使用可能IP) | ブロードキャストアドレス |
---|---|---|
192.168.16.0 | 192.168.16.1~192.168.16.14 | 192.168.16.15 |
192.168.16.16 | 192.168.16.17~192.168.16.30 | 192.168.16.31 |
192.168.16.32 | 192.168.16.33~192.168.16.46 | 192.168.16.47 |
192.168.16.48 | 192.168.16.49~192.168.16.62 | 192.168.16.63 |
192.168.16.64 | 192.168.16.65~192.168.16.78 | 192.168.16.79 |
192.168.16.80 | 192.168.16.81~192.168.16.94 | 192.168.16.95 |
192.168.16.96 | 192.168.16.97~192.168.16.110 | 192.168.16.111 |
192.168.16.112 | 192.168.16.113~192.168.16.126 | 192.168.16.127 |
192.168.16.128 | 192.168.16.129~192.168.16.142 | 192.168.16.143 |
192.168.16.144 | 192.168.16.145~192.168.16.158 | 192.168.16.159 |
192.168.16.160 | 192.168.16.161~192.168.16.174 | 192.168.16.175 |
192.168.16.176 | 192.168.16.177~192.168.16.190 | 192.168.16.191 |
192.168.16.192 | 192.168.16.193~192.168.16.206 | 192.168.16.207 |
192.168.16.208 | 192.168.16.209~192.168.16.222 | 192.168.16.223 |
192.168.16.224 | 192.168.16.225~192.168.16.238 | 192.168.16.239 |
192.168.16.240 | 192.168.16.241~192.168.16.254 | 192.168.16.255 |
以上の結果より、192.168.16.32/28 で利用できるホストアドレスは、「192.168.16.33~192.168.16.46」となり14個のアドレスを使用できるという回答になります。
業務でのアドレス設計
上記では14個のIPアドレスを使用できますが、もっとたくさんのIPアドレスが必要ということがあります。例えば500個のIPアドレスが必要とします。クラスCのデフォルトサブネットマスクでは254個なので足りない、クラスBでは65,534個なので多すぎます。そこで適切にサブネットを分割しましょう。
クラスCのデフォルトサブネットマスクは24で使用できるIPアドレスが254個です。クラスBのデフォルトサブネットマスクは16で使用できるIPアドレスが65,534です。つまりビット数が少ないほど使用できるIPアドレスが多くなります。
では、何ビットにすれば良いか?2のべき乗を覚えていたら一瞬で答えをだせます。
指数 | 値 |
---|---|
1 | 1 |
2 | 2 |
3 | 4 |
4 | 8 |
5 | 16 |
6 | 32 |
7 | 64 |
8 | 128 |
9 | 256 |
10 | 512 |
11 | 1024 |
12 | 2048 |
13 | 4086 |
14 | 8192 |
15 | 16384 |
16 | 32768 |
表の値の部分だけを見て下さい。24ビットで254個(256-2)のIPを割り当てることができます。23ビットは510個(512-2)です。答えは23ですね。慣れないうちはこの感覚が掴めないかも知れません。感覚が掴めるまで多くのサブネット問題を解いてみて下さい。
以下の計算でも算出できます。
- IPが必要な個数を2で割っていき割り切れなくなるまで続ける。余りは無視する。
- 2で割った個数を数える。
- 結果に1を足して32から減算する。
実際に試してみましょう。500を2で割っていきます。
500/2=250
250/2=125
125/2=62
62/2=31
31/2=15
15/2=7
7/2=3
3/2=1
2で割った個数は8個です。これに1を足して32から減算すると23となります。
192.168.16.0/23 で利用できるホストアドレスは、「192.168.16.1~192.168.17.254」となり510個のアドレスを使用できます。
ネットワークエンジニアであれば暗算で答えをだせるようにしておきましょう。アドレス設計の打ち合わせなど、瞬時に答えをだせた方が良い場面は多々あります。
コメント
192.168.16.33~192.168.16.62
で14個なんですか?
30個じゃなくて?
失礼しました。
192.168.16.33~192.168.16.62ではなく、192.168.16.33~192.168.16.47が正しいです。表内の情報を修正済みです。ご指摘ありがとうございました。