インフラ

サブネットマスクとは?仕組みと計算方法・CIDR表記との違いを実装者向けに解説

サブネットマスクは、IPアドレスのうち「どこまでがネットワークを表す部分で、どこからが個々の機器を表す部分か」を示す32ビットの値です。255.255.255.0のように書き、ネットワーク部を1、ホスト部を0で表します。この記事では、2進数で見たマスクの仕組み、AND演算でネットワークアドレスを求める手順、利用可能なホスト数の計算、CIDR表記(/24など)との違いと相互変換、そしてクラウドやパソコンのIP設定といった実務での使い方まで、ネットワークや基盤を設計する担当者の視点でまとめました。サブネット分割(VLSM)や、範囲を広く/狭く取りすぎたときの失敗パターンと判断基準も扱います。

目次

まとめ:サブネットマスクの要点と設計での押さえどころ

サブネットマスクは、IPアドレスと同じ32ビットの並びで、先頭から連続する1がネットワーク部、後ろに続く0がホスト部を表します。255.255.255.0なら上位24ビットが1、下位8ビットが0なので、ネットワーク部が24ビット、ホスト部が8ビットです。IPアドレスとマスクをビットごとにAND演算すると、そのアドレスが属するネットワークアドレスが求まります。

設計で押さえる点は3つに絞れます。第一に、ホスト部のビット数から収容台数が「2のホスト部ビット乗−2」で即算できること。第二に、同じネットワークに置く機器は全台で同じマスクをそろえないと通信が成立しないこと。第三に、マスクは連続する1でしか区切れないため、必要台数の切りのよい2のべき乗で範囲を決めること。マスクを長くすればネットワークを細かく分割でき、短くすれば1つのネットワークに多くの機器を収容できます。以降で仕組みと計算、実務での判断を具体的に見ていきます。

サブネットマスクの仕組みとネットワーク部・ホスト部を分ける役割

サブネットマスクの働きは、IPアドレスを「ネットワークの住所」と「その中の部屋番号」に切り分けることです。まずは2進数の並びから、区切りがどう決まるかを整理します。

2進数で見るサブネットマスクとネットワーク部の境界の決まり方

IPv4アドレスもサブネットマスクも、内部では32ビットの数値です。255.255.255.0を2進数で書くと、11111111.11111111.11111111.00000000となります。先頭から1が連続する範囲がネットワーク部、0が続く範囲がホスト部です。この例では左から24ビットが1なので、ネットワーク部は24ビット、残る8ビットがホスト部になります。

マスクの1と0の境目は、必ず「1が続いたあとに0が続く」形でなければなりません。10101010のように1と0が混在するマスクは無効です。この制約があるため、区切れる位置はビット単位で32通りに限られ、収容できる台数も2のべき乗で決まります。ネットワーク部が長いほどホスト部は短くなり、1ネットワークに置ける機器は少なくなる仕組みです。

255.255.255.0など代表的なマスクとプレフィックス長の対応表

サブネットマスクは、ネットワーク部のビット数を「/24」のように書くプレフィックス長(CIDR表記)と1対1で対応します。よく使うマスクと、そのプレフィックス長・利用可能ホスト数を下表にまとめます。

サブネットマスク プレフィックス 利用可能ホスト数
255.0.0.0 /8 約1677万台
255.255.0.0 /16 65534台
255.255.255.0 /24 254台
255.255.255.192 /26 62台
255.255.255.240 /28 14台

255.255.255.192のように末尾が0以外の値になるのは、8ビットの途中でネットワーク部とホスト部を区切っているためです。192は2進数で11000000であり、上位2ビットがネットワーク部、下位6ビットがホスト部を表します。マスクに現れる値は、0・128・192・224・240・248・252・254・255の9種類だけです。

クラスA・B・Cのデフォルトサブネットマスクとクラスレスの違い

CIDRが普及する前は、IPアドレスの先頭ビットでクラスA・B・Cを区別し、クラスごとにマスクが固定されていました。クラスAは255.0.0.0、クラスBは255.255.0.0、クラスCは255.255.255.0がデフォルトのマスクです。この方式では、数百台規模の組織でもクラスBを取ると大半のアドレスが遊び、無駄が生じました。

この固定区分をやめ、マスクの長さを1ビット単位で自由に決められるようにしたのがクラスレス(CIDR)の考え方です。現在のルーターやクラウドはクラスの区別を前提にせず、常にサブネットマスク(プレフィックス長)とセットでアドレスを扱います。クラスA・B・Cという用語は今も残りますが、設計上はデフォルトマスクに縛られず、必要な台数から逆算してマスクを選ぶのが実務です。

サブネットマスクからネットワークアドレスとホスト範囲を求める計算

現場でいちばん問われるのは「このIPアドレスはどのネットワークに属し、何台入るのか」です。ここはAND演算と2のべき乗さえ押さえれば手計算できます。

AND演算でIPアドレスからネットワークアドレスを求める手順

ネットワークアドレスは、IPアドレスとサブネットマスクを1ビットずつAND演算して求めます。AND演算は「両方が1のときだけ1、それ以外は0」という規則です。マスクのネットワーク部(1の部分)はIPアドレスの値がそのまま残り、ホスト部(0の部分)はすべて0になります。例として、192.168.10.130をマスク255.255.255.192(/26)で計算します。

  1. 末尾のオクテットだけがホスト部にかかる。130は2進数で10000010、マスク192は11000000。
  2. ビットごとにANDを取ると、10000010 AND 11000000 は 10000000=128。
  3. 上位3オクテットはマスクが255で全ビット1のため、値はそのまま残る。
  4. 結果、ネットワークアドレスは192.168.10.128となる。

同じマスクなら、192.168.10.130も192.168.10.150も同じ192.168.10.128に属します。2台のIPアドレスが同じネットワークかどうかは、それぞれをマスクとAND演算した結果が一致するかで判定できます。この一致判定こそ、ルーターやOSが「相手が同一ネットワークか、ゲートウェイ経由か」を決める根拠です。

ブロードキャストアドレスと利用可能なホスト数を求める計算方法

ネットワークアドレスが決まれば、ブロードキャストアドレスと使える台数も求まります。ブロードキャストアドレスは、ホスト部のビットをすべて1にした値です。先ほどの192.168.10.128(/26)なら、ホスト部6ビットをすべて1にして192.168.10.191になります。この2つに挟まれた192.168.10.129〜192.168.10.190が、実際に機器へ割り当てられる範囲です。

利用可能なホスト数は「2のホスト部ビット乗−2」で計算します。/26はホスト部が6ビットなので、2の6乗=64からネットワークアドレスとブロードキャストアドレスの2つを引き、62台となります。2を引くのは、この2つのアドレスが機器そのものには使えない予約だからです。台数から逆にマスクを選ぶ場合は、必要台数に2を足した数がちょうど収まる2のべき乗を探します。

ビットを借りるサブネット分割と可変長サブネットマスク(VLSM)

1つのネットワークを複数に分けるときは、ホスト部から数ビットを「借りて」ネットワーク部を伸ばす操作を行います。たとえば192.168.10.0/24を/26に分割すると、ホスト部から2ビットを借り、192.168.10.0・.64・.128・.192の4つのサブネットに分かれる形です。借りるビットが1つ増えるごとに、サブネットの数は2倍、各サブネットの収容台数は約半分になります。

すべてのサブネットを同じ大きさにする必要はありません。拠点ごとに必要台数が違うなら、大きい拠点は/24、点対点リンクは/30といった具合に、サブネットごとに異なる長さのマスクを割り当てられます。これは可変長サブネットマスク(VLSM)と呼ばれる仕組みです。VLSMを使うと、点対点リンクのような2台しか要らない区間に254台ぶんのアドレスを浪費せず、必要な大きさだけを切り出せます。分割は台数の見積もりから逆算し、大きい単位から順に割り当てると重複を避けやすくなります。

実務でサブネットマスクを設定・設計する場面と通信トラブルの回避

ここからは概念ではなく、パソコンやクラウドで実際にマスクを設定・設計する場面に踏み込みます。マスクの選び方や設定ミスは、通信不良として表面化します。

パソコンやサーバーのIP設定でサブネットマスクを指定する際の注意

手動でIPアドレスを設定するとき、IPアドレス・サブネットマスク・デフォルトゲートウェイの3つを入力します。ここで多いのが、同じネットワークに置く機器でマスクを食い違わせるミスです。片方を255.255.255.0、もう片方を255.255.255.128で設定すると、両者が「相手は別ネットワークにいる」と誤認し、直接通信できなくなります。

同一セグメントの機器は、マスクを全台でそろえるのが原則です。設定を確認するときは、WindowsならipconfigやPowerShellのGet-NetIPAddress、Linuxならipコマンドで現在のマスク(プレフィックス長)を表示できます。DHCPで自動割り当てにしている場合はマスクもDHCPサーバーが配りますが、サーバーやネットワーク機器を固定IPにする際は、DHCPが配る範囲と同じマスクを手入力する必要があります。マスク不一致は、pingは通るのに一部の相手にだけ届かない、といった切り分けにくい症状につながる点に注意してください。

AWSなどクラウドのサブネット設計とプレフィックス指定の考え方

クラウドでネットワークを作るときも、範囲の指定はサブネットマスク(プレフィックス長)で行います。AWSのVPCでは、CIDRブロックを/16から/28の範囲で指定し、その中をさらにサブネットへ分割します。ここで見落とされやすいのが、AWS公式ドキュメントに記載された「各サブネットの先頭4アドレスと末尾1アドレス、計5つが予約される」という仕様です。/28(16アドレス)で切ると、実際に使えるのは11台ぶんにとどまります。

そのため、小さなサブネットを多数切る設計では予約ぶんの目減りが効いてきます。VPC全体は将来の追加を見込んで/16など広めに確保し、サブネットは用途ごとに/24前後で切ると扱いやすい構成です。AWS上でこうしたアドレス設計から移行・運用までを外部に相談したい場合は、AWSのインフラ構築で設計段階からの支援を受けられます。オンプレミスや拠点間接続を含む構成では、初期のマスク設計の巧拙が後の運用コストを左右します。

CIDR表記とサブネットマスクを相互に変換する場面と使い分け

255.255.255.0という10進数のマスクと、/24というプレフィックス長は、まったく同じ「ネットワーク部24ビット」を別の書き方で表したものです。変換は単純で、マスクを2進数に直して1の個数を数えればプレフィックス長になり、逆にプレフィックス長のぶんだけ左から1を並べて10進数へ戻せばマスクになります。/26なら1が26個で、8ビットずつ区切ると255.255.255.192です。

使い分けの目安は、機器や場面で決まります。パソコンやルーターのGUI設定画面では255.255.255.0という10進数マスクを入力する場面が多く、クラウドのコンソールやルーティング設定では/24というプレフィックス長で扱う場面が中心です。表記の変換に慣れておくと設定ミスに気づきやすくなります。プレフィックス長を軸にした範囲計算や経路集約の詳しい手順は、CIDRとは?表記の読み方からサブネット設計・AWS VPCでの使い方までで解説しています。マスク側の詳解が本記事、表記・計算側がCIDR記事、という役割分担です。

サブネットマスク設計で失敗する典型パターンと範囲決定の判断基準

最後に、独自の視点として、現場で繰り返される失敗と、そこから導ける判断基準を言い切っておきます。マスクの設計はやり直しのコストが高く、初期の判断がそのまま運用の質になります。

広すぎ・狭すぎるサブネットマスクで起きる問題と選択の見送り基準

典型的な失敗は2方向にあります。1つは範囲を狭く取りすぎるパターンです。将来の増設を考えずに/27(30台)でサブネットを切り、半年後に機器が増えて枯渇し、マスクの切り直しに追い込まれる例は珍しくありません。切り直しは全機器のIP再設定を伴うため、稼働中のネットワークでは大きな手戻りになります。判断基準はこうです。現時点の必要台数の2倍が入るマスクを選ぶ。/24で254台まで入るので、100台規模までなら/24が無難な選択です。

もう1つは広く取りすぎるパターンです。「余裕を持たせて」と全社に10.0.0.0/8のような巨大な範囲を1つのネットワークで割り当てると、ブロードキャストが全体に届いてトラフィックが増え、障害の影響範囲も広がります。1つのブロードキャストドメインに数千台を同居させる設計は見送るべきで、部署やシステム単位で/24前後に分割するほうが管理も障害対応も楽になります。迷ったときの原則は、広い1枚で持つより、必要台数に合わせて分割することです。過大でも過小でもない「必要台数の2倍まで」を目安に、切りのよいプレフィックスへ丸めて設計してください。

よくある質問

サブネットマスクの実務でよく検索される疑問を、設定判断に直結する形で回答します。

サブネットマスクとは何のためにありますか?

IPアドレスを「ネットワーク部」と「ホスト部」に分けるためにあります。マスクの1の部分がネットワーク部、0の部分がホスト部を表し、IPアドレスとAND演算することで、そのアドレスがどのネットワークに属するかが決まる仕組みです。これにより、通信相手が同じネットワーク内にいるか、ルーター(ゲートウェイ)を経由する必要があるかをOSやルーターが判断できます。

255.255.255.0はいくつのIPアドレスが使えますか?

255.255.255.0はプレフィックス長で/24にあたり、総アドレス数は256個です。そこからネットワークアドレスとブロードキャストアドレスの2つを除いた254台を機器に割り当てられます。ただしAWSのVPCなど、クラウド側が追加でアドレスを予約する環境では、その予約ぶん(AWSでは各サブネット5個)だけ使える数が減ります。

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

両者は同じ「ネットワーク部の長さ」を別の書き方で表したものです。サブネットマスクは255.255.255.0と10進数で書き、CIDRはプレフィックス長を/24と数字で書きます。255.255.255.0と/24は完全に同じ意味です。CIDR表記のほうが短く経路集約も表しやすいため、クラウドやルーティングでは/24形式が標準になっています。

サブネットマスクが違うと通信できないのはなぜですか?

同じネットワークに置いた2台でマスクが食い違うと、それぞれが相手のネットワークアドレスを別の値と計算してしまい、「相手は別ネットワークにいる」と誤認するためです。すると本来は直接届くはずの相手にも、存在しないゲートウェイ経由で送ろうとして通信が成立しません。同一セグメントの機器は、マスクを全台でそろえる必要があります。

サブネットマスクの計算はどうやりますか?

ネットワークアドレスは、IPアドレスとマスクを1ビットずつAND演算して求めます。ブロードキャストアドレスはホスト部を全て1にした値、利用可能ホスト数は「2のホスト部ビット乗−2」で計算します。/26ならホスト部が6ビットなので、2の6乗=64から2を引いた62台です。プレフィックス長へ直すときは、マスクを2進数にして1の個数を数えます。

関連記事

資料請求

RELATED POSTS 関連記事