業務や資格試験勉強でCIDRに触れたのですが、理解が浅かったので調べて学んだことをまとめます。
1. CIDRとは?
CIDR(Classless Inter-Domain Routing)は、IPアドレスを効率的に管理・割り当てる方法です。
通常のIPアドレスのようにクラス(A, B, Cなど)で分けるのではなく、ネットワーク部の長さを柔軟に指定する仕組みです。
CIDRでは、IPアドレスの先頭からどこまでがネットワーク部であるかをビット数で表します。
例えば、/27
は「IPアドレスの先頭27ビットがネットワーク部」という意味です。
因みに、CIDRの読み方はサイダー。飲み物のサイダーとは違うイントネーション。
2. IPアドレスの構造
IPv4アドレスは32ビット(4オクテット、8ビット×4)で構成されています。
そのため、/27
の場合、次のようにネットワーク部とホスト部が分かれます。
- ネットワーク部: 最初の27ビット
- ホスト部: 残りの5ビット(32ビット - 27ビット = 5ビット)
3. ホスト部のビットで表せる数
ホスト部の5ビットで表現できるアドレスの数は次のように計算されます
$$
2^5 = 32
$$
つまり、ホスト部の組み合わせが32通り存在するため、1つの/27
サブネットには32個のIPアドレスが含まれます。
4. 実際のIPアドレス範囲
たとえば、192.168.1.0/27
というネットワークでは
-
最初のIPアドレス(ネットワークアドレス):
192.168.1.0
-
最後のIPアドレス:
192.168.1.31
この範囲内には32個のアドレスが含まれます。
5. 注意点: 有効なホストアドレス数
ただし、以下の2つは特別な用途に使われるため、ホストには割り当てられません。
-
ネットワークアドレス: サブネット自体を示すアドレス(例:
192.168.1.0
) -
ブロードキャストアドレス: サブネット内のすべてのホストに送信するアドレス(例:
192.168.1.31
)
その結果、192.168.1.0/27
というネットワークの有効なホストアドレス数は次のようになります。
$$
32 - 2 = 30
$$
また、AWSやAzureではネットワークアドレスとブロードキャストアドレスに加えて内部利用のための3つのアドレス予約されています(Google Cloudは2つ)。
そのため、AWSやAzureでは有効なホストアドレス数は次のようになります。
$$
有効なホストアドレス数=総IPアドレス数−5
$$
まとめ
-
/27
は「ネットワーク部27ビット、ホスト部5ビット」を意味する - ホスト部5ビットが作る32通りのアドレスが含まれるため、IPアドレスの数は32個である
- ただし、特別な用途に使われるため、ホストには割り当てられないアドレスが2つある
- パブリッククラウドでは内部利用のために予約されているアドレスがある