サブネットマスク

素早くサブネットマスク計算を行うコツ

サブネットマスク

ネットワーク サブネット計算

今回はネットワーク設計に不可欠なサブネットマスク計算を高速で行う方法をご紹介します。

そもそも、サブネットマスクって何者?

どこまでがネットワーク部で、どこからがホスト部かを分割した情報です。クラスのアドレスをそのまま割り当てるとIPアドレスが勿体ないので、マスクをかけて効率化します。

@see http://www.infraexpert.com/study/ip6.html

例えば、1つのネットワークに400台のホストを接続したいとします。クラスCでは1つのネットワークに最大「254台」までのホストしか接続できないので、クラスBのネットワークを採用する必要があります。しかしクラスBの場合、1つのネットワークに最大「65534」のホストを接続できますが、400台のホストを接続するのにクラスBのアドレスを使用するのはかなりIPアドレスの無駄です。そこでサブネットの出番。

今回の場合、先ずクラスCでは要件を満たせないのでクラスBを使用します。次に、クラスBの場合、1つのネットワークが大きいのでサブネット化をします。ホスト部が 8 ビットである場合、28 により 256 です。ホスト部が 9 ビットである場合 29 により512です。ネットワークアドレスとブロードキャストアドレスを差し引いて(-2)、ホスト部が9ビットなら最大「510台」のホストを接続できますし、無駄もありません。

@see http://www.infraexpert.com/study/ip6.html

 

サブネットマスク計算のコツは簡単なパターンを覚える

覚えなければいけない数はそんなに多くないです。ゾロ目とかそういう簡単なのを覚えていきましょう。途中を忘れても、掛け算と同じで1つ覚えれば上下関係から正しい数を割り出せます。だから丸暗記と違って覚えやすいし、確かめ算も楽。

00000000

0000+0000

8bit部分を4bit+4bitに分けると覚えやすい!

前半4ケタ

128

128 64 32 16 8 4 2 1
1 0 0 0 0 0 0 0

192

128 64 32 16 8 4 2 1
1 1 0 0 0 0 0 0

224

128 64 32 16 8 4 2 1
1 1 1 0 0 0 0 0

240

128 64 32 16 8 4 2 1
1 1 1 1 0 0 0 0

16

128 64 32 16 8 4 2 1
0 0 0 1 0 0 0 0

48

128 64 32 16 8 4 2 1
0 0 1 1 0 0 0 0

112

128 64 32 16 8 4 2 1
0 1 1 1 0 0 0 0

240

128 64 32 16 8 4 2 1
1 1 1 1 0 0 0 0

後半4ケタ

8

128 64 32 16 8 4 2 1
0 0 0 0 1 0 0 0

12

128 64 32 16 8 4 2 1
0 0 0 0 1 1 0 0

14

128 64 32 16 8 4 2 1
0 0 0 0 1 1 1 0

15

128 64 32 16 8 4 2 1
0 0 0 0 1 1 1 1

上記を最低限覚えておきます。また、他のパターンも覚えればもっと計算が早くなります。

覚えるとどうなるのか

11110010の場合

前半1111の合算値が240であると覚えています。また、後半0010は2だということは2進数の並びからわかります。

11110010

= 1111+0010

= 240 + 2

= 242

上記のように高速計算できます。

00111111の場合

この場合前半0011は48、後半1111は15ということは覚えています。

00111111

= 0011+1111

= 48+15
= 63

素早く計算できるだけでなく、計算回数が少なくなるので精度があがります。

実際の計算例

  • IPアドレス:172.31.19.5
  • サブネットマスク:255.240.0.0

上記IPアドレスのサブネット番号(ネットワーク部)を求めてみましょう。

IPアドレス 172.31.19.5
サブネットマスク 255.240.0.0
サブネット番号 ?

2進数に変換する

IPアドレス 10101100 . 00011111 . 00010011 . 00000101
サブネットマスク 11111111 . 11110000 . 00000000 . 00000000

サブネット番号の計算では、上下で重複する1のみ採用する。(論理積)

10101100 . 00010000 . 00000000 . 00000000

上記になります。

これを数値に表すと

となり、サブネット番号は172.16.0.0となります。

IPアドレス 172.31.1.5
サブネットマスク 255.240.0.0
サブネット番号 172.16.0.0

このようにしてサブネット番号を求めることが出来ます。

より効率的にサブネット計算しよう

また、実際にサブネット番号を計算する場合、サブネットマスクの第3,第4オクテットが0ということは、IPアドレスの第3,第4オクテットも0になるので、0になるとわかっている部分は2進数に変換する必要がありません。

同じ理由で、サブネットマスクが255の場合は、同一オクテットのIPアドレスはサブネット番号の同一オクテットにそのまま代入できます。例題では、IPアドレス第1オクテットは172、サブネットマスクは255なので、サブネット番号に172がそのまま入ります。だから今回の場合は第2オクテットのIPアドレス31とサブネットマスクの240のみ考えれば良いのです。サブネットマスクとは?という理屈からすると当たり前な事ですが、ポイントとして抑えておきましょう。

サブネットマスク電卓ツール!

https://note.cman.jp/network/subnetmask.cgi

https://note.cman.jp/network/subnetmask.cgi

サブネットマスク計算を行ってくれる電卓もあります。サブネットマスクの意味を理解していれば、計算精度の高いツールを使うのは合理的。

先程の問題を入れてみよう!

簡単に割り出せました。便利ですね~!

お疲れ様です。

サブネットマスク
最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG