STUDY · NETWORK GUIDE

1-6 IP アドレスとサブネットマスク

IPv4 アドレスの 32 ビット構造、ネットワーク部とホスト部を分けるサブネットマスク、CIDR 表記、特殊用途アドレスを 1 ページで整理する。

1. IP アドレスとは

IP アドレスとは、ネットワーク層で機器を識別するために割り当てられる論理アドレスです。IPv4 では 32 ビット長で表され、8 ビットずつ 4 組をピリオドで連結する ドット 10 進表記 で記されます (例: 192.168.1.10)。1 オクテットの値は 0〜255 で、全体で理論上およそ 43 億通りのアドレスが存在します。

MAC アドレスがインタフェースに焼き込まれた識別子であるのに対し、IP アドレスは管理者またはプロトコルが 論理的に割り当てる識別子 です。同じ機器でも接続先ネットワークが変われば異なる IP アドレスが付与されます。


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

IP アドレスは、上位ビットの ネットワーク部 と下位ビットの ホスト部 に分割されます。ネットワーク部はそのアドレスが属するネットワークを、ホスト部は当該ネットワーク内の個々の機器を識別します。

ネットワーク部が同一のアドレス同士は同じネットワークに属し、L2 のフレーム転送で直接通信できます。異なるネットワーク部同士の通信には必ずルーターが介在します。機器が IP アドレスを見て最初に行うのは「宛先は自分と同じネットワーク部か否か」の判定であり、その結果でフレームを直接送るかデフォルトゲートウェイへ渡すかが決まります。

IP アドレスのネットワーク部とホスト部


3. サブネットマスクと CIDR 表記

IP アドレスのどこまでがネットワーク部かを示すのが サブネットマスク です。IP アドレスと同じ 32 ビット長のビットパターンで、ネットワーク部のビットを 1、ホスト部のビットを 0 で表します。たとえば 255.255.255.0 は上位 24 ビットがネットワーク部であることを示します。

このビット数をスラッシュで併記する短縮表記を CIDR 表記 (Classless Inter-Domain Routing 表記) と呼びます。192.168.1.0/24 と書けば、192.168.1 までがネットワーク部、残り 8 ビットがホスト部を意味します。

ホスト部のビット数を n とすると当該ネットワーク内のアドレスは 2^n 個ありますが、先頭は ネットワークアドレス、末尾は ブロードキャストアドレス として予約されるため、ホストに割り当てられるのは 2^n - 2 個となります。/24 の利用可能ホスト数は 254、/30 は 2 です。なお /31 はポイントツーポイントリンク専用に 2 アドレスとも利用でき(RFC 3021)、/32 は単一ホストを指すホストルートとして扱われるため、2^n - 2 はこれらを除いた通常サブネットでの式となります(/31 の詳細は 3-1)。

サブネットマスクと CIDR 表記の対応

4. クラスフルからクラスレスへ

IPv4 の運用初期には、アドレスを A から E までのクラスに分けて管理する クラスフルアドレッシング が用いられていました。クラス A は /8、クラス B は /16、クラス C は /24 と、ネットワーク部の境界がクラスごとに固定されていました。

この方式は組織規模に対して粒度が粗すぎ、アドレス枯渇を加速させました。これを解消するため 1993 年に標準化されたのが CIDR です。クラス境界に縛られずサブネットマスクを任意位置に置けるため、必要数に応じた粒度で割り当てられます。現在の IPv4 ネットワークはすべて CIDR を前提としています。


5. プライベートアドレスと特殊用途

IPv4 アドレス空間の一部は、特定用途のために予約されています。代表的な範囲は以下のとおりです。

範囲用途概要
10.0.0.0/8プライベート(RFC1918)組織内で自由に利用可。インターネットへは直接ルーティングされない
172.16.0.0/12プライベート(RFC1918)同上。中規模組織で用いられることが多い
192.168.0.0/16プライベート(RFC1918)同上。家庭用ルーターの既定値として広く採用
127.0.0.0/8ループバック自ノード内通信用。127.0.0.1 が代表例
169.254.0.0/16リンクローカルDHCP からアドレスを取得できなかった場合の自動設定
255.255.255.255限定ブロードキャスト同一セグメント全体への送信に用いる

プライベートアドレスはそのままではインターネットへルーティングされないため、外部へ出る通信では通常 NAT (Network Address Translation) でグローバルアドレスへ変換します。IPv4 アドレス空間は事実上枯渇しており、これを 128 ビットに拡張した後継規格 IPv6 が定義されています。


6. 次節

続く 1-7 TCP・UDP・ポート番号 では、同一ホスト上で動作する複数アプリケーションを区別する ポート番号 と、その上に立つ TCP・UDP の役割を整理していきます。