Featured image of post サブネットマスクとは?IPアドレスの「仕切り」をやさしく解説【第21回】

サブネットマスクとは?IPアドレスの「仕切り」をやさしく解説【第21回】

この記事でわかること

  • サブネットマスクとは何か、なぜ必要なのか
  • IPアドレスの「ネットワーク部」と「ホスト部」の考え方
  • サブネットマスクを2進数で読む方法
  • CIDR表記(スラッシュ記法)の意味と読み方
  • ネットワークアドレスとブロードキャストアドレスとは何か

はじめに

前回の記事では、IPアドレスの構造を学びました。32ビットの数字が4つのブロックに分かれていて、192.168.1.10 のように表記される——というお話でしたね。

パソコンのネットワーク設定を開いたことがある方なら、こんな画面を目にしたことがあるはずです。

IPアドレス:     192.168.1.10
サブネット マスク:255.255.255.0

IPアドレスのすぐ下に、よく似た数字がもうひとつ並んでいる。「なんとなく入力しているけれど、これって何の数字?」と思ったことはないでしょうか。

この 255.255.255.0 がサブネットマスクです。IPアドレスを正しく使うために欠かせない存在で、コンピューターはこの値を参照して「通信相手が同じグループにいるかどうか」を判断しています。


なぜ「仕切り」が必要なのか

IPアドレスだけでは「同じグループ」かどうかわからない

IPアドレスは「ネットワーク上の住所」でしたね。でも、住所を見ただけでは「同じ町内会の住民か、隣の市区町村の住民か」が判断できません。

次の2つのIPアドレスを見てください。

192.168.1.10
192.168.2.10

よく似た数字が並んでいますが、この2台は同じネットワーク内にいるのでしょうか、それとも別々のネットワークにいるのでしょうか?

IPアドレスだけを眺めていても、答えは出ません。そこで必要になるのがサブネットマスクです。

コンピューターが最初に確認すること

コンピューターが通信相手にパケットを送るとき、最初に「あの相手は同じネットワーク内にいるか?」を確認します。

  • 同じネットワーク内なら、スイッチを通じて直接届けられます。
  • 別のネットワークなら、ルーターに転送をお願いしなければなりません。

この判断を正確に行うために、コンピューターはIPアドレスとサブネットマスクをセットで持っているのです。


サブネット(Subnet)という言葉を分解する

「サブネットマスク」を英単語ひとつひとつに分解してみましょう。

  • Sub(サブ):「下位の」「副の」「より小さい」という意味。「サブカルチャー(主流ではない文化)」や「サブタイトル(副題)」と同じ使い方です。
  • Net(ネット):「ネットワーク(Network)」の略。
  • Mask(マスク):「仮面」「覆い」という意味。顔に当てるマスクと同じ言葉です。

「サブネット(Subnet)」は「ネットワークの中に作った、より小さなネットワーク」を意味します。大きな建物を複数の部屋に仕切ったイメージです。

そして「サブネットマスク(Subnet Mask)」は、IPアドレスに重ねることで「どの部分を見ればよいかを浮かび上がらせる覆い」と考えてください。透明なシートに線が引いてあって、それをIPアドレスの上に重ねると「ここからここまでがネットワークの番号だよ」と教えてくれる——そんなイメージです。


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

IPアドレスは、大きく2つのパーツに分かれています。

パーツ 意味
ネットワーク部 どのネットワークに属しているかを示す
ホスト部 そのネットワーク内でどのデバイスかを示す

住所で例えると、「東京都渋谷区」がネットワーク部、「1丁目1番地」がホスト部に当たります。「東京都渋谷区」が同じ人は同じネットワーク、違う区に住む人は別のネットワーク——そんなイメージです。

サブネットマスクは「IPアドレスのどこまでがネットワーク部で、どこからがホスト部か」を示す道具です。


サブネットマスクを2進数で見る

サブネットマスクも、IPアドレスと同じく32ビット(32桁の0か1)の数字です。よく使われる 255.255.255.0 を2進数に変換すると、次のようになります。

10進数: 255       .255       .255       .0
2進数 : 11111111  .11111111  .11111111  .00000000

注目してほしいのは、「1」が連続したあとに「0」が連続しているという点です。途中で混ざることはなく、必ず 1111…0000… という並び方になっています。

11111111 11111111 11111111 00000000
←──── ネットワーク部(1の部分)────→←ホスト部→

「1」の部分がネットワーク部、「0」の部分がホスト部を表しています。

IPアドレス 192.168.1.10 に当てはめると、次のように読み取れます。

IPアドレス :     192  .168  .1   .10
サブネットマスク: 255  .255  .255  .0

                  |←ネットワーク部→|←ホスト部→|
  • ネットワーク部:192.168.1(サブネットマスクが255の部分)
  • ホスト部:10(サブネットマスクが0の部分)

「このデバイスは 192.168.1 というネットワークに属していて、そのネットワーク内では 10 番のデバイスだ」とわかります。


同じネットワーク? 別のネットワーク?

先ほどの問いに戻ります。192.168.1.10192.168.2.10 は同じネットワークにいるのか——サブネットマスク 255.255.255.0 を使って確認してみましょう。

自分:   192.168.1.10 → ネットワーク部は 192.168.1
相手A:  192.168.1.20 → ネットワーク部は 192.168.1  ← 一致!直接届く
相手B:  192.168.2.50 → ネットワーク部は 192.168.2  ← 不一致!ルーターへ

相手Aはネットワーク部 192.168.1 が一致しているので、同じネットワーク内にいると判断できます。スイッチを経由してそのまま届けられます。

相手Bはネットワーク部が 192.168.2 で異なります。別のネットワークなので、ルーターに転送をお願いする必要があります。

最初の問いの答えは「別のネットワーク」です。サブネットマスク 255.255.255.0 のもとでは第3ブロックまでがネットワーク部なので、「1」と「2」が違う時点で別グループになります。サブネットマスクがあって、初めてこの判断ができるのです。


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

ネットワークの設定画面や技術文書では、このような書き方を目にすることがあります。

192.168.1.0/24

末尾の /24 が気になりますよね。これは CIDR(Classless Inter-Domain Routing)表記 と呼ばれるもので、サブネットマスクを短く書くための記法です。

英単語の意味もひとつずつ確認しておきましょう。

  • Classless(クラスレス):「クラス(分類)に縛られない」という意味。昔のIPアドレスには「クラスA・B・C」という固定の分類がありましたが、CIDRはその制限を取り払った柔軟な仕組みです。
  • Inter(インター):「〜の間の」という意味。「インターナショナル(国と国の間=国際的)」と同じ使い方です。
  • Domain(ドメイン):「領域」「範囲」という意味。ここではネットワークの領域を指します。
  • Routing(ルーティング):「経路(Route)を決めること」、つまりパケットをどこに送るかを決める仕組みです。

使い方はシンプルです。サブネットマスクを2進数で表したときの「1の個数」を、スラッシュの後ろに書きます。

255.255.255.0  →  1が24個  →  /24
255.255.0.0    →  1が16個  →  /16
255.0.0.0      →  1が8個   →  /8

/24 と書くだけで「サブネットマスクは255.255.255.0」と伝わります。毎回 255.255.255.0 と記載するよりずっと楽なので、ネットワーク図や設定ファイルで広く使われています。


ネットワークアドレスとブロードキャストアドレス

サブネットマスクで区切られたひとつのネットワーク内には、デバイスに割り当てられない2つの特別なアドレスがあります。

ネットワークアドレス

ホスト部のビットがすべて「0」になるアドレスです。192.168.1.0/24 の場合、先頭の 192.168.1.0 がネットワークアドレスにあたります。

「このネットワーク自体」を識別するためのアドレスで、個々のデバイスには割り当てられません。ルーターがどのネットワークへパケットを転送するかを決めるときに参照されます。

ブロードキャストアドレス

ホスト部のビットがすべて「1」(=255)になるアドレスです。192.168.1.0/24 の場合、末尾の 192.168.1.255 がブロードキャストアドレスです。

「Broadcast(ブロードキャスト)」は「一斉放送・一斉送信」を意味する英語です。このアドレスに送ったパケットは、ネットワーク内の全デバイスに届きます。特定の誰か宛てではなく、「このネットワーク全員に知らせたい」というときに使います。

ネットワークアドレス     : 192.168.1.0    ← デバイスに割り当て不可
デバイスに割り当て可能   : 192.168.1.1 ~ 192.168.1.254  (254台分)
ブロードキャストアドレス : 192.168.1.255  ← デバイスに割り当て不可

先頭と末尾が各1つずつ使えないため、/24(全256アドレス)のネットワークで実際にデバイスに使えるのは 254台分 です。


よく使うサブネットマスク一覧

参考として、よく使われるサブネットマスクをまとめておきます。

CIDR サブネットマスク 使えるホスト数 主な用途
/8 255.0.0.0 約1,677万台 大規模ネットワーク
/16 255.255.0.0 約65,534台 中規模ネットワーク
/24 255.255.255.0 254台 家庭・小規模オフィス
/25 255.255.255.128 126台 部署単位の小グループ
/28 255.255.255.240 14台 少人数の端末グループ
/30 255.255.255.252 2台 ルーター間の1対1接続

家庭のWi-Fiには /24(254台)が多く使われています。スマートフォン、パソコン、テレビ、ゲーム機などを全部合わせても、254台には到底届きません。ちょうどよいサイズ感です。

/30 はホスト数が2台だけです。「ルーターとルーターを1対1でつなぐ」ような、非常にシンプルな接続に使われます。


自分のサブネットマスクを確認してみよう

実際に、自分のパソコンに設定されているサブネットマスクを見てみましょう。

Windowsの場合

コマンドプロンプトを開いて、次のコマンドを実行します。

ipconfig

「サブネット マスク」という項目に表示されます。多くの場合、255.255.255.0 と出てくるはずです。

Macの場合

ターミナルを開いて、次のコマンドを実行します。

ifconfig

netmask という項目がサブネットマスクです。0xffffff00 のような16進数で表示されることがありますが、これは 255.255.255.0 と同じ意味です。

Linuxの場合

次のコマンドで確認できます。

ip addr show

inet のあとに 192.168.1.10/24 のようなCIDR表記で表示されます。


まとめ

  • サブネットマスクは、IPアドレスを「ネットワーク部」と「ホスト部」に区切る道具
  • 2進数で見ると「1が連続したあと0が連続する」構造。1の部分がネットワーク部、0の部分がホスト部
  • CIDR表記/24 など)は、サブネットマスクの「1の個数」をスラッシュで短く書く方法
  • コンピューターはサブネットマスクを使って「相手が同じネットワーク内か、別のネットワークか」を判断する
  • ネットワークアドレス(ホスト部がすべて0)とブロードキャストアドレス(ホスト部がすべて1)はデバイスに割り当てられない特別なアドレス

「ただの設定項目」に見えて、サブネットマスクはネットワークの動作を根底で支えています。IPアドレスとセットで理解できると、ルーティングやファイアウォールの学習がぐっとスムーズになります。次回は、ネットワーク間でパケットを届けるルーターの仕組みに迫ります。