CentOS4.3/FreeBSD覚書
トップページ
CentOS4.3
サブネットマスクの計算方法
ファイアーウォール設定(iptables)
よく使うコマンド集
Linuxシェルスクリプト
BIND 9
OpenSSH
いろいろ覚書
Apache
vsftpd
samba
PHP4とApacheとMySQLで日本語
FreeBSD
Viエディタの使い方
カーネル再構築
BIND 8
パパの手料理
汁系(スープ等)
スイーツ
サブネットマスクの計算方法
 

 ネットワークに利用しますIPアドレスやサブネットマスクは2進数を10進数に変えて利用します。
通常、私達は10進数を利用していますので2進数はいまいちピンとしませんよね!
クラスA・B・Cなどのサブネットマスクはどのコンピュータ雑誌にも掲載されていますので慣例的に255.255.255.0(クラスC)などと覚えたりしています。ただクラスCより小さなドメインだったりしますと、とたんに解らなくなってしまいます。そこで簡単な計算方法を覚書します。



 まず覚えておく事 

 IPアドレスやサブネットマスクは00000000.00000000.00000000.00000000という様に8ビットずつをドットで区切り合計32ビットで表現します。

 クラスCの場合ネットワーク部は左から24ビット、ホスト部は最後の8ビットとなります。クラスC以下の場合上位何ビットを利用するかによって決まります。
クラスC 192.168.1.0/24 左から24ビットがネットワーク部になり残り8ビットがホスト部になります。
クラスC以下の場合 192.168.1.64/26 左から26ビットがネットワーク部になり残り6ビットがホスト部になります。

 ホスト部ではネットワークアドレスとブロードキャストアドレスで使用しますので実際は使えるホストアドレスは2個減ることになります。

 ネットワーク・アドレスとは、各ネットワークを区別するための識別番号。ホストアドレスとは、そのネットワーク内の各ホストを区別するための識別番号。

 ブロードキャストアドレスは同一ネットワーク上のホストが受信するためのアドレス



 計算方法 

8ビット部分
11111111 とあったとします。10進数では255ですが、右から 1 2 4 8 16 32 64 128 をたしていきます。
11111111 の場合 1+2+4+8+16+32+64+128=255 となります。
11100000 の場合 32+64+128=224 となります。
簡単ですね!

○192.168.1.0/24 の場合(左から24ビットがネットワークアドレスです)
ネットワークアドレス 11000000.10101000.00000001.00000000 192.168.1.0
サブネットマスク   11111111.11111111.11111111.00000000 255.255.255.0
ブロードキャストアドレス 11000000.10101000.00000001.11111111 192.168.1.255
※ネットワークアドレスはホスト部を全て0で表現
※サブネットマスクのネットワーク部は全てにビット(1です)を立てます。
※ブロードキャストアドレスはホスト部に全てにビット(1です)を立てます。

○192.168.1.64/26 の場合(左から26ビットがネットワークアドレスです)
ネットワークアドレス 11000000.10101000.00000001.01000000 192.168.1.64
サブネットマスク   11111111.11111111.11111111.11000000 255.255.255.192
ブロードキャストアドレス 11000000.10101000.00000001.01111111 192.168.1.127
※ネットワークアドレスはホスト部を全て0で表現
※サブネットマスクのネットワーク部は全てにビット(1です)を立てます。
※ブロードキャストアドレスはホスト部に全てにビット(1です)を立てます。

 練習問題 

IPアドレスが、219.96.85.10で、サブネットマスクが255.255.255.248のときのネットワークアドレスとブロードキャストアドレスは?

答え
ネットワークアドレス 219.96.85.8
ブロードキャストアドレス 219.96.85.15

 念のため解説 

@IPアドレス219.96.85.10は 11011011.01100000.01010101.00001010

Aサブネットマスク255.255.255.248は 11111111.11111111.11111111.11111000

Bサブネットマスクの右から3ビットに1が立っていない為、1+2+4=7
0〜7のネットワークなので8ノードのネットワークであることがわかる。

Cネットワークアドレスを求める場合、ホスト部全てに0で表現するのですが、
IPアドレス11011011.01100000.01010101.00001010に於いてホスト部、右から3ビットに0を入れると
11011011.01100000.01010101.00001000になる。右から4ビット目に1が立っているので8であることがわかる。

D次に、ブロードキャストアドレスを求める場合、ホスト部全てに1で表現するのですが、
IPアドレス11011011.01100000.01010101.00001010に於いてホスト部、右から3ビット全てに1を入れると
11011011.01100000.01010101.00001111になる。右から4ビット全てに1が立っているので15であることがわかる。

E結果、IPアドレスが、219.96.85.10で、サブネットマスクが255.255.255.248のネットワークの範囲は、
219.96.85.8〜219.96.85.15の範囲という事になる。このネットワークのノード数は8ノードで、ネットワークアドレス219.96.85.8 ブロードキャストアドレス 219.96.85.15 と言う事になる。

結構重要ですので忘れないようにしましょう。