みなさんこんにちは。横山です。
今日はネットワークの基本である「IPアドレスと CIDR・サブネットマスク」について、初心者にもわかりやすく解説していきます。
IPアドレスの概要
まず基本となる「IPアドレス」について簡単におさらいします。
IPアドレスは、インターネットや社内ネットワークなどで、コンピューターやルーターなどの機器を識別するための「住所」のようなものです。
IPアドレス(IPv4)は、次のように4つの区切られた数字で構成されています。
例:192.168.1.100
各数字は「0〜255」の範囲になっていて、それぞれ 8ビット(=1バイト) で表せる数になっています。
「ビット」とは、コンピューターが使う最小単位で、「0」か「1」しか表せません。
8ビットあれば「00000000(0)」〜「11111111(255)」まで、合計256通りの数を表すことができます。
上記より、IPアドレスの「192.168.1.100」のように4つの数字がある場合は、8ビット × 4つ = 32ビット の情報を持っている、ということになります。
各部分(オクテットと呼ばれます)がそれぞれ 1 バイト(8ビット)で、コンピューターはこれを 2 進数に変換して扱っています。
下の図は、例として「192.168.1.100」というIPアドレスがどのように 2 進数で表現されるかを示しています。
たとえば「192」という数字は、2進数で「11000000」、これが8ビットで表現される1つの単位になります。
8bit | 8bit | 8bit | 8bit | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2進数 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
10進数 | 192 | 168 | 1 | 100 |
この32ビットの中から、どこまでが「ネットワーク部分」で、どこからが「ホスト(端末)部分」なのかを決めるのが、サブネットマスクや CIDR 表記です。
【参考】10進数を2進数に変換するには?
IPアドレスの各数字(10進数)は、以下の「2進数の値」を足し合わせて構成されます。
ビット位置 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
値 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
この中から、合計が目的の数字になるような組み合わせを探せば OK!
例:192 を2進数にすると?
192 = 128 + 64 → 「11000000」
10進数 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|---|
2進数 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
例:100 を2進数にすると?
100 = 64 + 32 + 4 → 「01100100」
10進数 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|---|
2進数 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
サブネットマスクと CIDR(Classless Inter-Domain Routing) 表記
サブネットマスクとは?
IPアドレスの「ネットワーク部分」と「ホスト部分」を区別するために使われます。
サブネットマスクは、IPアドレスのうち「ネットワーク部分」がどこまでなのかを、IP アドレスと同じ形式 (ドット付き10進数)で表したものです。
例)
サブネットマスク:255.255.255.0
→ 最初の24ビット(255.255.255)がネットワーク部を表し、最後の8ビットは、ホスト部を表します。
これを2進数で表すと、以下のようになります。
10進数 | 255 | 255 | 255 | 0 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2進数 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
サブネットマスク | ネットワーク部 | ネットワーク部 | ネットワーク部 | ホスト部(自由に割り振れる) |
CIDR 表記とは?
CIDR 表記は、IP アドレスの後にスラッシュ(/)と、ネットワーク部のビット数を付けて表します。
形式:IP アドレス/ネットワークビット数
例)
192.168.1.0/24
→「/24」がサブネットマスクにあたります。24ビットがネットワーク部分を表しており、サブネットマスクは、「255.255.2550.0」に対応します。
CIDR 表記 | サブネットマスク | 利用可能なホスト数(1サブネット) |
---|---|---|
/8 | 255.0.0.0 | 16,777,214 |
/16 | 255.255.0.0 | 65,534 |
/24 | 255.255.255.0 | 254 |
/30 | 255.255.255.252 | 2 |
CIDRの範囲と「含まれる/含まれない」の判定方法
判定ステップ
-
IP アドレスとネットワークアドレスを2進数に変換。
-
CIDR のビット数までの部分が一致していれば、含まれる。
【例題】
CIDR 表記:10.0.0.0/8
判定対象:10.45.12.200
10.0.0.0 → 00001010.00000000.00000000.0000000010.45.12.200→ 00001010.00101101.00001100.11001000
→ 最初の8ビットが一致しているため含まれる
まとめ
今回は、ネットワークの基本である「IPアドレス」と「CIDR・サブネットマスク」について、その仕組みや表記の違い、そして実際の判定方法までを一通り解説しました。
ポイントはこの3つ
-
CIDR表記(/24など)は、IPアドレスのどこまでが「ネットワーク部分」かを示す
-
サブネットマスクはCIDRを10進数にした表現
-
両者は使い方が違うだけで、同じ情報を伝えている
特に CIDR 表記は、現場でもよく使われる重要な書き方なので、「/24」や「/16」といった意味を正しく理解しておくことで、ネットワーク設定やアクセス制御もずっとわかりやすくなります。
最後まで読んでいただき、ありがとうございました!