サブネットとCIDRの基礎 — IPアドレスの分割をゼロから理解する

/24 って結局いくつ使えるの?」「サブネットマスクCIDR は何が違うの?」——ネットワーク設計でつまずきやすいポイントです。本記事では、IPv4アドレスの32ビット構造から、ネットワーク部とホスト部の分け方、サブネットマスク/プレフィックス長、使用可能ホスト数の計算、そして実際にサブネットを分割する手順までを、検算した具体例とともにゼロから解説します。

1. IPv4アドレスとは — 32ビットと4つのオクテット

IPv4アドレスは 32ビットの数値です。これを8ビットずつ4つに区切り、それぞれを10進数(0〜255)で表して . でつないだものが、見慣れた表記です。この8ビットの塊をオクテットと呼びます。

たとえば 192.168.10.1 は、2進数では次のようになります。

表記第1オクテット第2オクテット第3オクテット第4オクテット
10進数192168101
2進数11000000101010000000101000000001

1オクテットは8ビットなので表せる値は 2^8 = 256 通り、つまり 0〜255 です。32ビット全体では 2^32 ≈ 約43億 個のアドレスを表現できます。

2. ネットワーク部とホスト部

IPアドレスは大きく2つの部分に分かれます。前半のネットワーク部は「どのネットワーク(サブネット)か」を、後半のホスト部は「そのネットワーク内のどの端末か」を表します。郵便にたとえると、ネットワーク部が「町名・番地」、ホスト部が「その住所の中の部屋番号」のイメージです。

同じネットワーク部を持つ端末同士は、ルーターを介さず直接通信できます。逆にネットワーク部が異なる相手へは、ルーターを経由します。つまり「どこまでがネットワーク部か」を決めることが、ネットワークを分ける(サブネット化する)ということです。

3. サブネットマスクとプレフィックス長(CIDR)

「どこまでがネットワーク部か」を示すのがサブネットマスクです。マスクは32ビットで、ネットワーク部を1、ホスト部を0で表します。1は必ず左から連続して並びます。

たとえばネットワーク部が先頭24ビットの場合、マスクは次のようになります。

表記
2進数11111111.11111111.11111111.00000000
10進数(ドット表記)255.255.255.0
CIDR表記(プレフィックス長)/24

CIDR表記(Classless Inter-Domain Routing)は、マスクの先頭から連続する1の個数を /24 のようにスラッシュと数字で書く短縮表記です。255.255.255.0/24まったく同じ意味です。たとえば 192.168.10.1/24 は「アドレス 192.168.10.1、ネットワーク部は先頭24ビット」を表します。

覚え方: プレフィックス長 n はそのまま「ネットワーク部のビット数」です。32 − n がホスト部のビット数になります。/24 ならホスト部は 32 − 24 = 8 ビットです。

4. ネットワークアドレス・ブロードキャストアドレス・使用可能ホスト数

1つのサブネットには、特別な意味を持つ2つのアドレスがあります。

したがって、プレフィックス長 n のサブネットで実際に端末へ割り当てられる使用可能ホスト数は次の式で求まります。

使用可能ホスト数 = 2^(32 − n) − 2
(アドレス総数 2^(32−n) から、ネットワークアドレスとブロードキャストアドレスの2つを引く)

例として 192.168.10.0/24 を見てみましょう。ホスト部は8ビットなのでアドレス総数は 2^8 = 256、使用可能ホストは 256 − 2 = 254 台です。具体的には次のようになります。

役割アドレス
ネットワークアドレス192.168.10.0
最初の使用可能ホスト192.168.10.1
最後の使用可能ホスト192.168.10.254
ブロードキャストアドレス192.168.10.255

/31 と /32 の例外

上の − 2 のルールには例外があります。

5. プライベートアドレス(RFC1918)とIPクラス

インターネットで使うグローバルアドレスとは別に、組織内ネットワーク用に予約されたのがプライベートアドレスです。RFC1918 で次の3範囲が定められています。家庭や社内のLANでは、この範囲を自由に使えます。

範囲(CIDR)アドレス範囲旧クラス
10.0.0.0/810.0.0.010.255.255.255クラスA相当
172.16.0.0/12172.16.0.0172.31.255.255クラスB相当
192.168.0.0/16192.168.0.0192.168.255.255クラスC相当

これらのアドレスはインターネット上では使われないため、外部と通信するときはNATでグローバルアドレスに変換されます。

かつてのIPクラス(A/B/C)

CIDRが普及する前は、アドレスの先頭ビットでクラスが固定的に決まっていました。歴史的経緯として知っておくと、上の表の「旧クラス」の対応も理解しやすくなります。

クラス先頭オクテットの範囲既定のネットワーク部マスク
クラスA0〜1278ビット/8(255.0.0.0)
クラスB128〜19116ビット/16(255.255.0.0)
クラスC192〜22324ビット/24(255.255.255.0)
現在はクラスにとらわれず、必要なホスト数に応じて自由にプレフィックス長を決める CIDR(クラスレス)が標準です。クラスはあくまで歴史的な区分として理解しておけば十分です。

6. サブネット分割の例 — /24 を /26 へ4分割する

1つの /24(254台)を、部署ごとに小さく分けたいとします。ホスト部から2ビットを借りてネットワーク部に回すと、プレフィックス長は 24 + 2 = /26 になり、サブネットが 2^2 = 4 個に分かれます。

/26 はホスト部が 32 − 26 = 6 ビットなので、1サブネットあたりのアドレス総数は 2^6 = 64、使用可能ホストは 64 − 2 = 62 台です。192.168.10.0/24 を4分割すると次のようになります。

サブネットネットワークアドレス使用可能ホスト範囲ブロードキャスト
1番目192.168.10.0/26.1.62192.168.10.63
2番目192.168.10.64/26.65.126192.168.10.127
3番目192.168.10.128/26.129.190192.168.10.191
4番目192.168.10.192/26.193.254192.168.10.255

ネットワークアドレスが 0, 64, 128, 19264ずつ増えている点に注目してください。これは1サブネットのアドレス総数(64)と一致します。この「増分(ブロックサイズ)」は 2^(32−n) で求められ、サブネット分割の計算でいちばんの目印になります。

代表的なプレフィックスとホスト数

CIDRサブネットマスクホスト部ビットアドレス総数使用可能ホスト数
/24255.255.255.08256254
/25255.255.255.1287128126
/26255.255.255.19266462
/27255.255.255.22453230
/28255.255.255.24041614
/29255.255.255.248386
/30255.255.255.252242
/31255.255.255.254122(RFC3021)
/32255.255.255.255011(単一ホスト)
Free Tool サブネット計算機で実際に確かめる IPアドレスとプレフィックス長を入力するだけで、ネットワークアドレス・ブロードキャストアドレス・使用可能ホスト範囲・ホスト数を瞬時に計算します。分割の検算にどうぞ。

よくある質問(FAQ)

/24 で使えるホスト数はいくつですか?

/24 はホスト部が8ビットなので、アドレスの総数は 2^8 = 256 個です。そのうち先頭のネットワークアドレスと末尾のブロードキャストアドレスは端末に割り当てられないため、実際に使えるホストは 256 − 2 = 254 台です。

CIDRとサブネットマスクの違いは何ですか?

どちらもネットワーク部の長さを表すもので、内容は同じです。サブネットマスクは 255.255.255.0 のように4オクテットで書く表記、CIDR表記はそのマスクで連続する1の個数を /24 のようにスラッシュと数字で書く短縮表記です。255.255.255.0 と /24 は同じ意味になります。

プライベートアドレスとは何ですか?

RFC1918 で組織内ネットワーク用に予約されたアドレスで、10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 の3範囲です。インターネット上では使われず、家庭や社内LANで自由に利用できます。外部と通信する際は NAT でグローバルアドレスに変換されます。

← 技術ブログ一覧へ戻る