コンピューターサイエンス:アルゴリズム / OS / ネットワーク / DB
サブネットマスクと CIDR
サブネットマスクと CIDR とは
ネットワーク部とホスト部を区切るサブネットマスクと CIDR 表記を学びます。本レッスンでは、サブネットマスクと CIDR の基本から実際の使いどころまでを整理し、現場で迷わず使える形に落とし込みます。
このレッスンで学ぶこと
IP アドレスをネットワーク部とホスト部に分けるサブネットマスクと、CIDR 表記の読み方を学びます。AWS の VPC や家のルーター設定でも頻出する基礎です。
ネットワーク部とホスト部
IP アドレスは、上位ビット (ネットワーク部) で「どのネットワークに属するか」、下位ビット (ホスト部) で「そのネットワーク内のどの端末か」を表します。
たとえば 192.168.1.50 というアドレスで、上位 24 ビットがネットワーク部、下位 8 ビットがホスト部の場合は次のとおりです。
- ネットワーク部: 192.168.1
- ホスト部: 50
このとき、同じネットワーク (192.168.1.0/24) に属する端末は 192.168.1.0 〜 192.168.1.255 の 256 個。ただし 0 と 255 は特別なので、実際に使えるのは 192.168.1.1 〜 192.168.1.254 の 254 個です。
サブネットマスク
サブネットマスクは「どこまでがネットワーク部か」を示す 32 ビットの値です。1 の連続でネットワーク部を、0 の連続でホスト部を表します。
192.168.1.0/24 の場合、マスクは下記です。
- ビット表現: 11111111.11111111.11111111.00000000
- 10進表現: 255.255.255.0
「最初の 24 ビットがネットワーク部」と読みます。
CIDR 表記
CIDR (Classless Inter-Domain Routing) 表記は、サブネットマスクの 1 の数を「/数字」で書く方法です。
- /24 → 255.255.255.0 (ネットワーク部 24 ビット、ホスト 8 ビット)
- /16 → 255.255.0.0 (ネットワーク部 16 ビット、ホスト 16 ビット)
- /8 → 255.0.0.0 (ネットワーク部 8 ビット、ホスト 24 ビット)
192.168.1.0/24 という書き方は、すなわち「192.168.1.0 から始まる 256 個のアドレス空間」を表しています。AWS VPC でも 10.0.0.0/16 のような CIDR を使ってサブネットを切ります。
ホスト数の計算
/24 だと 2^8 = 256 個、/16 だと 2^16 = 65,536 個のアドレスがあります。ただしネットワークアドレス (全ホスト部が 0) とブロードキャストアドレス (全ホスト部が 1) は使えないので、実際の利用可能ホスト数は 2^n - 2 個です。/24 なら 254 台、/16 なら 65,534 台。
異なるネットワークの判定
サブネットマスクの本来の目的は「相手が同じネットワークにいるか、別のネットワークにいるか」を判定することです。
- 同じネットワーク → スイッチで直接届けられる (L2 のフレーム送信)
- 違うネットワーク → ルーター (デフォルトゲートウェイ) を経由する必要がある (L3 のルーティング)
PC は自分の IP と相手の IP それぞれにサブネットマスクをかけ、ネットワーク部が一致するかで判断します。
サブネットを切る目的
1 つの大きなネットワーク (/16 など) を、複数の小さなサブネット (/24 など) に分けることをサブネッティングと呼びます。理由は次のとおりです。
- ブロードキャストの範囲を制限する — ブロードキャストは同じサブネット内にしか届かない。/16 で 65,000 台あるとブロードキャスト嵐になるので、/24 ずつに区切る。
- セキュリティ境界を作る — 経理 LAN と開発 LAN を別サブネットにし、間にファイアウォールを置けば通信制御がしやすい。
- 経路設計を見通しよくする — VPC で AZ や用途別に CIDR を切れば、ルーティングテーブルが整理される。
VPC 設計の定番
AWS VPC では 10.0.0.0/16 の中を 10.0.1.0/24 (Public Subnet)、10.0.2.0/24 (Private Subnet) のように切るのが定番です。サブネット同士は VPC 内のルーティングテーブルで自動的につながり、外への出口だけ Internet Gateway や NAT Gateway を経由させて制御します。
計算演習
172.16.5.100/20 のネットワーク部とホスト範囲を考えてみましょう。
/20 なので、ネットワーク部は 20 ビット。20 = 16 + 4 なので、第 3 オクテット (5 = 00000101) の上位 4 ビットだけがネットワーク部に含まれます。0000 と固定すると 172.16.0.0 から 172.16.15.255 までがこのサブネットの範囲。利用可能ホスト数は 2^12 - 2 = 4,094 台です。
慣れるまでは混乱しますが、/24, /16, /20 の典型パターンだけ覚えれば実務はかなり乗り切れます。
まとめ
サブネットマスクと CIDR は IP アドレスをネットワーク部とホスト部に分け、ルーターが「直接届けるか経由するか」を判断するために使います。/24 で 254 台、/16 で 65,534 台というよく出る数字感を体に染み込ませると、VPC 設計やトラブルシュートが楽になります。次のレッスンでは、プライベート IP をグローバル IP に変換する NAT を学びます。
よくある質問
Q. /24 と /16 はどう使い分ければ良いですか?
A. 必要なホスト数で決めます。/24 は最大 254 台で家庭用 LAN や小規模サービスの 1 サブネットに向いています。/16 は 65,534 台まで収容でき、AWS VPC のアドレス空間全体に割り当てて、内部を /24 ずつに細切りにするのが定番の使い方です。
Q. ホスト数の計算で -2 するのはなぜですか?
A. ネットワークアドレス (ホスト部がすべて 0) とブロードキャストアドレス (ホスト部がすべて 1) は端末に割り当てられないためです。/24 なら 256 - 2 = 254 台、/28 なら 16 - 2 = 14 台が実際に使えるホスト数になります。
Q. AWS VPC の CIDR はどう決めれば良いですか?
A. 将来の拡張を見越して広めに取るのが鉄則です。一般的には 10.0.0.0/16 を VPC 全体に割り当て、AZ ごとや用途 (Public / Private / DB) ごとに /24 単位で切り分けます。オンプレやほかの VPC と VPN/Peering でつなぐ場合は、CIDR が重ならないように事前に IP 計画を立てることが重要です。
次のレッスン
次は NAT とプライベートIP で、ネットワーク部とホスト部を区切るサブネットマスクと CIDR 表記を学びます を学びます。
事前確認 — 進む前に次の 3 つができることを確認しましょう。
- サブネット/CIDR の要点を自分の言葉で説明できる
- このレッスンの最小コード (または操作手順) を見ずに書ける
- 練習問題やクイズで間違えた箇所を読み直して理解した
理解度チェック (30 秒)
Q. サブネット/CIDR とは何か、1 文で説明してください。
A. 本文の「このレッスンで分かること」または冒頭の説明文を見直し、自分の言葉で要約できれば OK。詰まったら本レッスンの最初の H2 セクションを読み返してみましょう。
関連レッスン
復習ミニクイズ
/24 のサブネットで利用可能なホスト数は何台ですか