「サブネットマスクって何のためにあるの?」「255.255.255.0という数字を見ても意味が分からない」「/24と言われると急に難しく感じる」という人は多いのではないでしょうか。
サブネットマスクは、ネットワークを勉強するとかなり早い段階で登場する言葉です。
しかし、IPアドレスや2進数、ネットワーク部、ホスト部などが一度に出てくるため、初心者がつまずきやすいポイントでもあります。
実は、基本的な役割はそれほど難しくありません。
サブネットマスクとは、簡単に言えば**「IPアドレスのどこまでがネットワークを表し、どこからが機器を表しているのかを示す境界線」**です。
この記事では、IPアドレスの基礎からネットワーク部・ホスト部、CIDR、クラスレス、サブネットマスクの計算方法まで、初心者にも分かる様に順番に解説します。

サブネットマスクを理解する前にIPアドレスを知ろう
IPアドレスとはインターネット上の住所
サブネットマスクを理解するためには、最初に「IPアドレスとは何か」を知っておく必要があります。
IPアドレスとは、ネットワークに接続されているパソコンやスマートフォン、サーバー、ルーターなどを識別するための番号です。
良く「インターネット上の住所」と説明されます。
例えば手紙を送る場合、送り先の住所が無ければ相手の家まで届けられません。
同じ様に、ネットワーク通信でも「どの機器へデータを届けるのか」を判断するための情報が必要です。
その役割を果たしている物の一つがIPアドレスです。
IPv4では、次の様なIPアドレスを良く目にします。
192.168.1.10
IPv4アドレスは32ビットの数値で、通常は8ビットずつ4つに分け、0~255の10進数として表示します。
MicrosoftもIPv4アドレスを32ビットの数値として説明しています。
つまり、
192
168
1
10
という4つの数字が独立して存在する訳ではありません。
コンピューターの内部では、
11000000.10101000.00000001.00001010
のような32桁の2進数として扱われています。
ただし、人間が毎回この2進数を見るのは大変です。
そこで8ビットずつ10進数へ変換して、「192.168.1.10」のように表示しています。
ここで重要なのは、IPアドレス32ビットの全てが機器その物を表している訳では無いという事です。
IPアドレスには「どのネットワークに所属しているか」を示す部分と、「そのネットワークのどの機器なのか」を示す部分があります。
その境界を判断するために登場するのが、今回のテーマであるサブネットマスクです。
IPアドレスにはネットワーク部とホスト部がある
IPアドレスは、大きく「ネットワーク部」と「ホスト部」に分けて考えます。
難しそうな言葉ですが、住所に例えると理解し易くなります。
例えば、
「広島県○○市○○町1丁目・10番地」
という住所があるとしましょう。
「○○町1丁目」までを地域の名前、「10番地」をその地域の中にある一つの家と考えるイメージです。
IPアドレスも同じ様に、
ネットワーク部=どのネットワークなのか
ホスト部=その中のどの機器なのか
を表します。
例えば、
192.168.1.10
というIPアドレスに、
255.255.255.0
というサブネットマスクが設定されている場合、分かり易く表すと、
ネットワーク部:192.168.1
ホスト部:10
となります。
同じネットワークに、
192.168.1.20
192.168.1.30
192.168.1.100
などの機器を置く事が出来ます。
「192.168.1」の部分が同じで、それぞれ最後の数字が違うため、同じネットワーク内にある別々の機器として区別できます。
Ciscoも、IPアドレスはネットワークを識別するネットワーク部と、そのネットワーク内の機器を識別するホスト部から構成されると説明しています。
ただし、ここで注意しなければならない事があります。
IPアドレスだけを見ても、
「192.168.1までがネットワーク部」
と必ず決まっているわけではありません。
192.168.1.10/24なら最初の24ビットがネットワーク部ですが、192.168.1.10/16なら最初の16ビットがネットワーク部になります。
つまり、IPアドレスのどこでネットワーク部とホスト部を区切るのかを決める情報が必要です。
それがサブネットマスクです。
サブネットマスクとは何か
サブネットマスクはIPアドレスの境界線
サブネットマスクとは、IPアドレスの中で「どこまでがネットワーク部で、どこからがホスト部なのか」を示すための32ビットの値です。
初心者の内は、
「IPアドレスに境界線を引く物」
と考えると分かり易いでしょう。
例えば、
IPアドレス
192.168.1.10
サブネットマスク
255.255.255.0
という組み合わせを考えます。
サブネットマスクを2進数にすると、
11111111.11111111.11111111.00000000
です。
サブネットマスクでは、
1になっている場所=ネットワーク部
0になっている場所=ホスト部
として判断します。
255.255.255.0の場合、最初の24ビットが全て1になっています。
そのため、
192.168.1|10
の様に考える事が出来ます。
つまり、
192.168.1=ネットワークを表す部分
10=そのネットワーク内の機器を表す部分
です。
サブネットマスクが必要なのは、IPアドレスだけではネットワーク部とホスト部の境目が分からないからです。
「IPアドレスだけを見る」のではなく、
IPアドレス+サブネットマスク
を1セットとして考える事が、サブネットを理解する最初のポイントです。
255.255.255.0にはどんな意味がある?
ネットワーク設定を見ると、
255.255.255.0
という数字を良く目にします。
初心者にとっては「なぜ255なのか」「最後だけ0なのはなぜなのか」と疑問に感じる数字でしょう。
ポイントは2進数です。
1バイトは8ビットなので、
11111111
という8桁の2進数があります。
これを10進数に直すと255になります。
そのため、
255.255.255.0
を2進数で書くと、
11111111.11111111.11111111.00000000
となります。
サブネットマスクでは1の部分がネットワーク部、0の部分がホスト部です。
したがって、
255.255.255.0
なら、
最初の24ビット=ネットワーク部
最後の8ビット=ホスト部
になります。
このとき、IPアドレスが
192.168.1.10
であれば、ネットワーク部は
192.168.1
となります。
ここで大切なのは、**「255だからネットワーク部」という暗記ではなく、「2進数にすると1が8個並ぶからネットワーク部」**と理解することです。
たとえば、
255.255.255.128
なら最後の128は2進数で、
10000000
です。
つまり最後の8ビットの内、最初の1ビットもネットワーク部になります。
結果としてネットワーク部は25ビットです。
この考え方を理解すると、
255.255.255.192
255.255.255.224
255.255.255.240
など、一見すると複雑なサブネットマスクも意味が分かる様になります。
サブネットマスクは不規則な数字を暗記する仕組みではありません。
左から連続する「1」の数で、ネットワーク部の長さを表していると考えれば理解し易くなります。
サブネットマスクと2進数の関係
なぜサブネットマスクでは2進数を使うのか
「ネットワークを勉強すると、どうして急に2進数が出てくるのだろう」と感じる人も多いでしょう。
理由は、コンピューターが情報を0と1で扱っているからです。
普段目にする、
192.168.1.10
や、
255.255.255.0
という数字は、人間が読みやすいよう10進数で表した物です。
実際には、
IPアドレス
11000000.10101000.00000001.00001010
サブネットマスク
11111111.11111111.11111111.00000000
のように考えます。
サブネットマスクを2進数で見ると、仕組みが非常に分かり易くなります。
「1」が並んでいる部分がネットワーク部で、「0」が並んでいる部分がホスト部だからです。
例えば、
255.255.255.128
なら、
11111111.11111111.11111111.10000000
となります。
1は全部で25個あります。
そのため、このサブネットマスクは「ネットワーク部が25ビットある」という意味です。
最初は2進数への変換が難しく感じるかもしれません。
しかし、サブネットマスクでよく登場する数字は限られています。
0=00000000
128=10000000
192=11000000
224=11100000
240=11110000
248=11111000
252=11111100
254=11111110
255=11111111
この並びを見ると、左側から1が一つずつ増えている事が分かります。
サブネットマスクを理解する時は、複雑な計算を先に覚えるのではなく、この「1が増えていく仕組み」を理解するのがお勧めです。
「1がネットワーク部・0がホスト部」と覚えよう
サブネットマスクを理解する時、最低限覚えておきたいルールがあります。
それが、
1=ネットワーク部
0=ホスト部
です。
例として、
IPアドレス
192.168.1.100
サブネットマスク
255.255.255.0
を考えます。
サブネットマスクを2進数にすると、
11111111.11111111.11111111.00000000
です。
最初の24個が1なので、IPアドレスの最初の24ビットがネットワーク部になります。
残り8ビットはホスト部です。
この場合、
ネットワーク部:192.168.1
ホスト部:100
というイメージになります。
では、
255.255.255.128
ではどうでしょうか。
2進数では、
11111111.11111111.11111111.10000000
です。
今度は1が25個あるため、単純に「最後の数字だけがホスト部」と考えることはできません。
最後の1オクテットも、
1|0000000
のようにネットワーク部とホスト部に分かれています。
ここが、サブネットマスクを10進数だけで覚えると混乱しやすい理由です。
サブネットマスクは「255のところだけネットワーク部」と覚えるのではなく、
2進数にしたとき1になっている場所がネットワーク部
と理解しましょう。
このルールを覚えておけば、/25や/26なども同じ考え方で理解出来る様になります。
CIDRとは?「/24」の意味を理解しよう
/24はネットワーク部が24ビットという意味
ネットワークの設定では、
192.168.1.0/24
の様な表記を良く見かけます。
この「/24」はCIDR表記と呼ばれる書き方です。
読み方は「スラッシュ24」です。
意味は非常にシンプルで、
IPアドレス32ビットのうち、先頭24ビットをネットワーク部として扱う
という意味です。
つまり、
/24
はサブネットマスク、
255.255.255.0
と同じ境界を表しています。
RFC 4632でも、CIDRではIPアドレスの後ろに「/」と0~32の数値を付け、その値によって重要な先頭ビット数を示す方法が定義されています。
たとえば、
192.168.1.10/24
なら、
最初の24ビット=ネットワーク部
残り8ビット=ホスト部
です。
サブネットマスクとして書けば、
255.255.255.0
となります。
同じ様に、
/16=255.255.0.0
/8=255.0.0.0
です。
初心者のうちは、
「/24という別の仕組みがある」
と考えてしまうかもしれません。
しかし、CIDR表記とサブネットマスクは、ネットワーク部の境界を違う方法で表しているだけです。
サブネットマスクよりCIDRのほうが短く書けるため、ネットワークやクラウドサービスの設定では「192.168.1.0/24」の様な書き方を頻繁に目にします。
CIDR表記とサブネットマスクの対応関係
CIDRとサブネットマスクの関係を理解するには、代表的なパターンを知っておくと便利です。
例えば、
/8
=255.0.0.0
/16
=255.255.0.0
/24
=255.255.255.0
です。
さらに、
/25
=255.255.255.128
/26
=255.255.255.192
/27
=255.255.255.224
/28
=255.255.255.240
となります。
CIDRの数字は、2進数でサブネットマスクを表した時に先頭から連続して並ぶ「1」の数です。
例えば/26なら、
11111111.11111111.11111111.11000000
です。
1を数えると26個あります。
最後の6ビットが0なので、ホスト部は6ビットです。
ホスト部が6ビットなら、
2の6乗=64
となり、そのサブネットには64個のIPv4アドレスがあります。
一般的なIPv4サブネットでは、その内ネットワークアドレスとブロードキャストアドレスを除くため、端末などへ通常割り当てられる数は、
64-2=62
となります。
このように、
CIDR → ネットワーク部のビット数 → ホスト部のビット数 → アドレス数
という順番で考えると、サブネット計算がかなり分かりやすくなります。
最初からサブネットマスクを丸暗記するのではなく、「/26ならネットワーク部26ビット」と意味から考える事が大切です。
クラスフルとクラスレスの違い
昔使われていたクラスフルとは
IPアドレスを勉強すると、「クラスA」「クラスB」「クラスC」という言葉が出てくる事があります。
これは、かつて広く使われていた「クラスフル」と呼ばれるIPアドレスの考え方です。
クラスフルではIPアドレスを幾つかのクラスに分け、それぞれネットワーク部の長さを基本的に固定していました。
代表的な物は、
クラスA:/8
クラスB:/16
クラスC:/24
です。
サブネットマスクで表すと、
クラスA:255.0.0.0
クラスB:255.255.0.0
クラスC:255.255.255.0
となります。
Ciscoの資料でも、クラスA・B・Cの標準的なマスクとしてこの組み合わせが示されています。
クラスフルの仕組みは単純ですが、大きな問題があります。
必要なIPアドレス数に合わせてネットワークの大きさを細かく調整しにくい事です。
例えば、300台程度の端末を使いたい組織を考えてみましょう。
/24なら通常使えるホストアドレスは254個程度なので足りません。
しかしクラスB相当の/16を使えば、6万個以上のアドレス空間になります。
300台程度しか必要ないのに非常に大きな範囲を確保する事になり、無駄が増えてしまいます。
そこで、ネットワーク部を/8・/16・/24だけに固定せず、もっと柔軟に指定する考え方が必要になりました。
それが「クラスレス」です。
現在の基本となるクラスレスとCIDR
クラスレスとは、その名前の通り、クラスA・B・Cといった固定された境界に縛られず、ネットワーク部の長さを指定する考え方です。
その代表的な仕組みがCIDRです。
CIDRは「Classless Inter-Domain Routing」の略です。
例えば、
192.168.1.0/25
なら、ネットワーク部は25ビットです。
昔のクラスCの境界である/24から、さらに1ビットだけネットワーク部を増やしています。
同じように、
/20
/22
/26
/27
なども使用出来ます。
RFC 4632では、従来のクラスA・B・Cからクラスレスなプレフィックスへ移行する考え方について、IPv4アドレスのどのビットをネットワーク番号として扱うかを明示する仕組みとして説明されています。
初心者がここで理解しておきたいのは、
クラスフル=ネットワーク部の長さが大まかに固定
クラスレス=必要に応じてネットワーク部の長さを柔軟に決める
という違いです。
そのため、現在ネットワークを理解するうえでは「このIPはクラスCだから必ず/24だ」と考えるより、
IPアドレスとCIDR、またはサブネットマスクをセットで確認する
事が重要です。
192.168.1.10というIPアドレスだけを見てネットワーク範囲を決めつけず、
192.168.1.10/24なのか、
192.168.1.10/25なのか
まで確認する習慣を付けましょう。
サブネットマスクからネットワーク範囲を求める
ネットワークアドレスとブロードキャストアドレス
サブネットマスクを理解すると、「このIPアドレスはどのネットワークに所属しているのか」を求められる様になります。
ここで登場するのが、
ネットワークアドレス
と、
ブロードキャストアドレス
です。
例として、
192.168.1.10/24
を考えてみましょう。
/24なのでサブネットマスクは、
255.255.255.0
です。
最初の24ビットがネットワーク部、最後の8ビットがホスト部になります。
ネットワークアドレスは、ホスト部をすべて0にしたアドレスです。
そのため、
192.168.1.0
がネットワークアドレスになります。
一方、ホスト部をすべて1にすると、
192.168.1.255
になります。
これがブロードキャストアドレスです。
したがって、このネットワーク全体の範囲は、
192.168.1.0~192.168.1.255
です。
ただし通常、
192.168.1.0はネットワーク自体を示すために使い、
192.168.1.255はブロードキャスト用として使います。
そのため端末へ一般的に割り当てられるのは、
192.168.1.1~192.168.1.254
です。
この考え方はサブネット計算の基本です。
ネットワークアドレスは、
ホスト部を全部0
ブロードキャストアドレスは、
ホスト部を全部1
と覚えると理解し易いでしょう。
利用出来るIPアドレスとホスト数の求め方
では、一つのサブネットに何台の機器を接続出来るのでしょうか。
基本的には「ホスト部が何ビットあるか」から計算します。
IPv4は32ビットです。
例えば/24なら、
32-24=8
なので、ホスト部は8ビットです。
8ビットで表現出来る組み合わせは、
2の8乗=256
です。
一般的なIPv4サブネットでは、この中からネットワークアドレスとブロードキャストアドレスの2個を除きます。
そのため、
256-2=254
となります。
つまり、一般的な/24では254個のホストアドレスを利用出来ます。
同じ様に/26なら、
32-26=6ビット
です。
2の6乗=64
64-2=62
となり、通常利用できるホスト数は62です。
代表的な例をまとめると、
/24 → 254ホスト
/25 → 126ホスト
/26 → 62ホスト
/27 → 30ホスト
/28 → 14ホスト
となります。検索上位の初心者向け解説でも、/24、/25、/26などについて同様のホスト数が紹介されています。
覚える式は、
2の「ホスト部のビット数」乗-2
です。
ただし、特殊な用途や/31、/32などでは単純にこの式を当てはめられないケースもあります。
初心者の段階では、まず/24~/30程度の一般的なサブネット計算を理解すれば十分でしょう。
サブネットマスクを使ってネットワークを分割する
サブネット化すると何が変わる?
「サブネット」は、もともと一つのネットワークをより小さなネットワークに分けた物です。
そしてネットワークを小さく分ける事を「サブネット化」と呼びます。
例えば会社に、
営業部
総務部
開発部
という3つの部署があるとします。
全てのパソコンを一つの大きなネットワークへ入れる事も出来ます。
しかし、用途や管理方針によってネットワークを部署事に分けた方が扱い易い場合があります。
そこで、
営業部用ネットワーク
総務部用ネットワーク
開発部用ネットワーク
の様にネットワークを分割します。
ここで重要になるのがサブネットマスクです。
サブネットマスクのネットワーク部を長くすると、その分ホスト部が短くなります。
つまり、
一つのネットワークで使える端末数を減らす代わりに、ネットワークの個数を増やす
事が出来ます。
大きな土地を一つの区画として使うのではなく、小さな区画へ分割するイメージです。
これが「サブネットマスク」という名前にある「サブネット」の意味です。
サブネットマスクは単にIPアドレスの見方を決める数字ではなく、ネットワークを必要な大きさへ分けるためにも利用されています。
/24を/25や/26に分割する考え方
具体的に、
192.168.1.0/24
というネットワークを考えてみましょう。
/24には256個のIPアドレスがあります。
これを/25にすると、ネットワーク部が1ビット増えます。
つまり、
/24
↓
/25
となります。
ホスト部から1ビットを借りてネットワーク部に使った、と考えると分かりやすいでしょう。
/25では一つのネットワークに128個のアドレスがあります。
そのため192.168.1.0/24を、
192.168.1.0/25
192.168.1.128/25
という2つへ分けられます。
さらに/26にすると、一つのネットワークは64アドレスになります。
192.168.1.0/24なら、
192.168.1.0/26
192.168.1.64/26
192.168.1.128/26
192.168.1.192/26
という4つのネットワークへ分けることができます。
ここで規則性に注目してください。
/26の場合は、
0
64
128
192
と64ずつ増えています。
これを「ブロックサイズ」として考えるとサブネット計算が簡単になります。
/25なら128ずつ。
/26なら64ずつ。
/27なら32ずつ。
/28なら16ずつです。
サブネットの計算問題では、このブロックサイズを使うとネットワークアドレスを素早く判断できます。
最初は「なぜ64刻みなのか」を2進数で確認し、慣れてきたらブロックサイズを利用すると良いでしょう。
初心者がサブネットマスクでつまずきやすいポイント
255や128などの数字を丸暗記しない
サブネットマスクを勉強するとき、多くの初心者が、
255
254
252
248
240
224
192
128
といった数字を一生懸命暗記しようとします。
確かに覚えておくと計算は速くなります。
しかし、意味を理解せずに数字だけを暗記すると、
「255.255.255.192は/26だったかな?」
「/27では何台使えるんだっけ?」
と混乱しやすくなります。
先に理解するべきなのは2進数です。
例えば192なら、
11000000
です。
先頭に1が2個あります。
その前に255が3つある場合、
11111111
11111111
11111111
11000000
となります。
1の数は、
8+8+8+2=26
なので、
/26
です。
同じように224は、
11100000
です。
先頭の1が3個あるため、
255.255.255.224
なら、
8+8+8+3=27
となり、/27です。
この仕組みが理解出来れば、数字を完全に丸暗記する必要はありません。
「サブネットマスクの左から1が連続して並び、残りが0になる」というルールを理解するだけで、CIDRとの対応関係も自然に分かります。
ネットワークの勉強では、公式や表を暗記するより、なぜその数字になるのかを理解する方が応用が利きます。
サブネットマスクを理解するお勧めの順番
サブネットマスクが難しく感じる最大の理由は、一度に多くの用語を覚えようとする事です。
IPアドレス、2進数、ネットワーク部、ホスト部、CIDR、ネットワークアドレス、ブロードキャストアドレスなどを同時に覚えようとすると混乱します。
お勧めは、次の順番です。
まず、
① IPv4は32ビット
という事を理解します。
次に、
② IPアドレスにはネットワーク部とホスト部がある
と覚えます。
その次に、
③ サブネットマスクの1がネットワーク部、0がホスト部
と理解します。
ここまで分かったら、
④ /24などのCIDR表記
へ進みます。
/24ならネットワーク部が24ビット、という意味です。
さらに、
⑤ ホスト数の計算
を覚えます。
そして最後に、
⑥ ネットワークアドレスやブロードキャストアドレスを計算する
様にすると、かなり理解し易くなります。
サブネットマスクは、最初から難しい計算問題へ挑戦すると苦手意識を持ち易い分野です。
まず、
192.168.1.10/24
の様な分かり易い例を使い、
「192.168.1が同じネットワークを表し、残りを端末の識別に使う」
というイメージを掴みましょう。
そのあと/25、/26へ進めば、サブネット化の仕組みも自然につながってきます。
コメント