⑤Linuxインフラ実践

サブネットマスクとCIDRを図解で理解する

⑤Linuxインフラ実践
記事内に広告が含まれています。

「192.168.1.0/24ってどういう意味?」——サブネットマスクとCIDRはネットワーク設計の基礎です。最初は難しく見えますが、考え方を理解すれば一気にスッキリします。

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

IPアドレスはネットワーク部(どのネットワークか)とホスト部(そのネットワーク内の何番目か)の2つに分かれています。

例として 192.168.1.100 を分解すると以下のようになります。

部分役割
ネットワーク部192.168.1「どのネットワークか」を示す。同じ値 = 同じネットワーク
ホスト部100「そのネットワーク内の何番目か」を示す個別番号

ネットワーク部が同じ機器同士は直接通信できます。ネットワーク部が違う機器間はルーター経由が必要です。

通信の組み合わせネットワーク部の比較通信方法
192.168.1.10 と 192.168.1.20どちらも 192.168.1(同じ)✅ 直接通信できる
192.168.1.10 と 192.168.2.20192.168.1 と 192.168.2(違う)🔀 ルーター経由が必要

サブネットマスクとは

サブネットマスクは「IPアドレスのどこまでがネットワーク部か」を示す値です。2進数で表すと、1のビットがネットワーク部、0のビットがホスト部になります。

代表的なサブネットマスク 255.255.255.0 を2進数で見てみましょう。

第1オクテット第2オクテット第3オクテット第4オクテット
IPアドレス(10進数)1921681100
IPアドレス(2進数)11000000101010000000000101100100
サブネットマスク(10進数)2552552550
サブネットマスク(2進数)11111111111111111111111100000000
役割ネットワーク部(1)ネットワーク部(1)ネットワーク部(1)ホスト部(0)

サブネットマスクが 1 のビット = ネットワーク部、0 のビット = ホスト部です。この例では第1〜第3オクテット(192.168.1)がネットワーク部、第4オクテット(100)がホスト部になります。

種別説明
ネットワークアドレス192.168.1.0ホスト部がすべて0。ネットワーク自体を表す(機器には割り当てない)
ブロードキャスト192.168.1.255ホスト部がすべて1。そのネットワーク全端末への一斉送信
使えるIPアドレス192.168.1.1 〜 192.168.1.254機器に割り当てられる範囲(計254台)

CIDRとは(スラッシュ表記)

CIDRとは、サブネットマスクの 「1のビットが何個あるか」をスラッシュの後ろに書いた表記法です。

255.255.255.0 を2進数で書くと 11111111.11111111.11111111.00000000 となり、1のビットは24個あります。これを /24 と表記します。

CIDRサブネットマスク(2進数)サブネットマスク(10進数)1のビット数
/811111111.00000000.00000000.00000000255.0.0.08個
/1611111111.11111111.00000000.00000000255.255.0.016個
/2411111111.11111111.11111111.00000000255.255.255.024個(最もよく使う)
/2511111111.11111111.11111111.10000000255.255.255.12825個
/3011111111.11111111.11111111.11111100255.255.255.25230個
/3211111111.11111111.11111111.11111111255.255.255.25532個

使えるIPアドレスの数は 2^(32 - プレフィックス長) - 2 で計算できます(ネットワークアドレスとブロードキャストの2つを除くため -2 します)。

CIDRホスト部のbit数計算式使えるIP数主な用途
/824bit2の24乗 – 2約1677万台大企業・ISP
/1616bit2の16乗 – 2約6万5千台中規模ネットワーク
/248bit2の8乗 – 2 = 254254台家庭・小規模オフィス(最もよく使う)
/257bit2の7乗 – 2 = 126126台ネットワーク分割
/302bit2の2乗 – 2 = 22台ルーター間のリンク
/320bit1台のみ1台ホスト1台を特定

Linuxでの確認方法

# ネットワーク設定をCIDR表記で確認
$ ip addr show
    inet 192.168.1.100/24 brd 192.168.1.255

# /24 = ネットワーク部が24bit = サブネットマスクが255.255.255.0

# ルーティングテーブルを確認
$ ip route show
192.168.1.0/24 dev eth0 proto kernel
default via 192.168.1.1 dev eth0

まとめ

  • IPアドレスは「ネットワーク部(どのNWか)」と「ホスト部(NW内の何番目か)」に分かれる
  • サブネットマスクを2進数で見ると、1のビットがネットワーク部、0のビットがホスト部
  • CIDRの /24 は「サブネットマスクの1が24個 = ネットワーク部が24bit」という意味
  • 使えるIP数の計算: 2の(32-プレフィックス長)乗 – 2(ネットワークアドレスとブロードキャストを除く)
  • 最もよく使うのは /24(254台)。ルーター間接続は /30(2台)が定番
  • Linuxでは ip addr でCIDR表記のIPアドレスを確認できる

📋 Phase 3 ネットワーク基礎チートシートで全コマンドをまとめて確認できます。

コメント

タイトルとURLをコピーしました