IPアドレスとサブネットマスク

目次
ITシステムにおいて、ネットワークは根幹というべき機能です。
ネットワークの基礎として、IPアドレスとサブネットマスクの考え方を学習しましょう。

IPアドレスとサブネットマスク

IPアドレス

インターネットやLANなどのネットワークで通信を行う際、各機器を識別するために使用されるのがIPアドレスです。

IPアドレスは、インターネット上の「住所」のようなものだと考えることができます。
例えば、あなたがお友達に手紙を送るとき、宛先住所がないと届けることができないのと同じです。

IPアドレスのイメージ
手紙の場合は、宛先により郵便配達の方が配達してくださいます。
それと同じように、宛先にIPアドレスを指定することで、ネットワーク機器が通信先までパケットを届けてくれるのです。

IPアドレスには主にIPv4IPv6の2種類があります。
IPv4は32ビットの数値で表現され、一般的には「192.168.1.1」のように4つの数字をドットで区切った形式で表記されます。
IPv6は128ビットで、より多くのアドレスを提供できますが、本記事ではわかりやすさのためにIPv4を中心に説明します。

サブネットマスク

IPアドレスは単体では機能せず、サブネットマスクと呼ばれる値と組み合わせて使用されます。

サブネットマスクは、IPアドレスのどの部分がネットワークアドレス(どのネットワークに属しているか)を示し、どの部分がホストアドレス(そのネットワーク内での識別子)を示すかを定義します。

急に難しい言葉が出てきてしまって、よくわからないですよね。

わかりやすく言うと、サブネットマスクは、コンピュータネットワークの「住所」であるIPアドレスを更にグループ分けして整理する仕組みだと考えてください。

例えば、あなたの学校の住所を考えてみましょう。「東京都渋谷区○○町1-2-3」という住所があったとします。

この住所は次のように分けることができます。

ネットワーク部の例
コンピュータのIPアドレス(例:192.168.1.25)も同じように、「どのネットワーク」の「どのコンピュータ」かを示しています。

サブネットマスクはここで登場します。
これは「どこまでがネットワークの部分で、どこからが個別のコンピュータの部分か」を区切る線のようなものです。

例えば、サブネットマスク「255.255.255.0」は、IPアドレスの最初の3つの数字(192.168.1)がネットワークの部分(ネットワーク部)で、最後の数字(25)が個別のコンピュータ(ホスト部)を示していると教えてくれます。

サブネットマスクのイメージ
サブネットマスクの計算方法
例題:IPアドレス「192.168.1.25」とサブネットマスク「255.255.255.0」の場合

ステップ1:
IPアドレスとサブネットマスクを2進数に変換します

■IPアドレス
IPアドレスの2進数変換

■サブネットマスク
サブネットマスクの2進数変換

ステップ2:
サブネットマスクは、最初に「1」の連続があり、途中から「0」に代わりますね。
サブネットマスクの「1」の部分がネットワーク部分「0」の部分がコンピュータ部分と覚えましょう。

上の例では、サブネットマスクの最初の24ビットが「1」なので、IPアドレスの最初の24ビットがネットワーク部分になります。

サブネットマスクの2進数変換
IPアドレス(2進数)で赤字になっている箇所を10進数に戻すと「192.168.1」となります。
これをネットワーク部と呼び、空いている箇所を0で埋めた「192.168.1.0」をネットワークアドレスと呼びます。

サブネットマスクを身近なもので例えてみましょう。
例えば、マンションに住んでいる場合だと「○○マンション(ネットワーク部分)の301号室(ホスト部分)」のようなものです。

では、なぜわざわざこのようなネットワークアドレスとホストアドレスと分けるのでしょうか?

それは、サブネットマスクによりネットワークアドレスとホストアドレスを見分けることで、コンピュータは「このメッセージは同じネットワーク内の別のコンピュータに送るべきか、それとも外の世界に送るべきか」を判断するために使っているのです。

先ほどのマンションの例でいうと、「192.168.1.25」でサブネットマスクが「255.255.255.0」ときは「192.168.1」マンションの「25」号室と例えることができます。

この時、「192.168.1.100」にお手紙を送りたいとなったときを考えましょう。
同じように例えると、「192.168.1」マンションの「100」号室が届け先ですよね。

サブネットマスクのマンションで例えたイメージ
ネットワーク部を見ると届けたい相手は同じマンション内にいるということがわかるので、わざわざ別のマンションに届けに行く必要がないと判断できます。
もし、同じマンション内(=ネットワーク内)にいないとわかれば、マンション外に届けに行く必要があります。
それにはデフォルトゲートウェイとルーティングというものを使いますので、次の章で説明します。

このようにネットワークでは、相手がどこにいるのかをまずはざっくりと判断し、そこから細かい宛先へ伝達するという方法を取ります。
これにより、ネットワーク機器はトラフィックを効率的に制御し、通信効率やセキュリティを向上させることができるのです。

サブネットマスクのCIDR表記
サブネットマスクは別の表記方法として、CIDR(Classless Inter-Domain Routing)表記もよく使われますので覚えておきましょう。
例えば「192.168.1.0/24」という表記は、IPアドレス「192.168.1.0」に24ビットのサブネットマスク(255.255.255.0)が適用されていることを示します。
この「/24」の部分がネットワーク部分のビット数を表しています。

IPアドレスレンジ

前の章にてサブネットマスクについて学習したことで、ネットワーク部によりIPアドレスをグルーピングしていることがわかりました。

この同じネットワーク部に所属するIPアドレス群をIPアドレスレンジCIDRブロック同一ネットワークに所属すると表現します。

IPアドレスレンジ

システム構築するにあたり、管理の容易さやネットワーク通信の効率等を考えて、複数のサーバを同一のネットワークに所属するように設計するのが一般的です。

例えば、今回構築するシステムにWebサーバが3台、管理用サーバが1台あるとします。
この4台は頻繁に通信を行います。その場合、この4台は同一のネットワークに所属させるようにIPアドレスを設計します。

同一ネットワークの通信イメージ
この時に大事になるのがIPアドレスレンジです。
同一ネットワークに所属させるには、同じネットワーク部を持つIPアドレスを対象のサーバに割り振る必要があります。

ネットワーク構成図
ネットワーク構成図
上記の図はネットワークの構成を図示するときによく使われるスタイルです。

1本の横線が同一ネットワークであることを示しており、枝でぶら下がっているサーバは全て「192.168.1.0/24」のネットワークに所属しています。

また、枝の部分に記載されている数字はホスト部を表しており、ネットワークアドレスとホスト部を合わせることでIPアドレスを示しています。
ネットワーク構成図の読み方

同じネットワーク部を持つIPアドレスには数に限りがあります。
その数量を決定するのが、前の章で学習したサブネットマスクになります。

次の項でIPアドレスレンジに含まれるIPアドレス数の計算方法を説明します。

IPアドレスレンジの計算方法

IPアドレスレンジを理解するには、少し計算が必要ですが、基本的な考え方はシンプルです。

これから、初めての方でも分かりやすいように、ステップバイステップで説明していきます。

まず、IPアドレスを2進数にするとで32個(=32ビット)の数字になることは前の章で説明しましたね。
例えば「192.168.1.25」というIPアドレスは、「11000000.10101000.00000001.00011001」となります。
それぞれの数字が8個(=8ビット)で表現されています。

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

例えば、「255.255.255.0」というサブネットマスクは「11111111.11111111.1111111.00000000」となり、最初の24個並んでいる1の部分がネットワーク部であることを意味します。
そして、末尾の8個(=8ビット)がホスト部を示しています。

ここまでは今まで学習したことの復習です。
では実際にIPアドレスレンジを計算してみましょう。

IPアドレスレンジの計算は、以下の3つのステップで行います。

ステップ1: ネットワーク部とホスト部を見つける
例)「192.168.1.25」でサブネットマスクが255.255.255.0 の場合:

前の章で確認した通り、192.168.1がネットワーク部分で25がホスト部でしたね。
IPアドレスのイメージ
ステップ2: 使用可能なIPアドレス数を計算する
ホスト部分のビット数が分かれば、そのネットワークで使えるIPアドレスの総数がわかります。

計算式は以下です。

IPアドレスレンジの計算式
例えば上記の画像の例だと
ホスト部分が8ビットなので、以下のような計算式になります。
2の8乗 = 2×2×2×2×2×2×2×2 = 256個
これで同じネットワークに所属させることのできるIPアドレスが256個あるということがわかりました。

しかし、IPアドレスレンジには、特別な意味を持ち、機器に対して割り振ることのできない特殊なIPアドレスが2つあります。
  1. ネットワークアドレス(ホスト部分がすべて0のアドレス)
  2. ブロードキャストアドレス(ホスト部分がすべて1のアドレス)
これらは実際のホストには割り当てられないので、実質的な使用可能アドレス数は先ほど計算した個数から2つ減らす必要があります。
256個 - 2個 = 254個
これが実際に使用できるIPアドレス数です。

ステップ3: アドレスレンジの開始と終了を特定する
今までの計算で252個のIPアドレスが使えることがわかりましたが、具体的に使用可能なIPアドレスの範囲を求めます。
IPアドレスレンジの範囲は、ネットワークアドレス~ブロードキャストアドレスの間と決まっております。

なので、今までの例でいうと、「192.168.1.25」でサブネットマスクが「255.255.255.0」 のIPアドレスが所属するIPアドレスレンジは、以下のようになります。

ポイント! 【192.168.1.25/24のIPアドレスレンジ】
  • ネットワークアドレス:192.168.1.0(使用不可)
  • 使用可能アドレス:192.168.1.1 ~ 192.168.1.254(252個)
  • ブロードキャストアドレス:192.168.1.255(使用不可)
これで、同じネットワークに所属させられるIPアドレスの範囲を求めることができました。

練習問題

10.0.0.0でサブネットマスクが255.255.252.0のIPアドレスレンジを求めてみましょう。

ステップ1:
問題のIPアドレスとサブネットマスクを2進数に変換し、サブネットマスクで先頭から1が続く場所がネットワーク部で後半の0が続く場所がホスト部です。

IPアドレスレンジの計算式
ネットワーク部が先頭の22ビット、ホスト部が後半の10ビットとわかりましたね。

ステップ2:
ホスト部が10ビットですので、使用可能なIPアドレス数は210 - 2 です。
210 = 2×2×2×2×2×2×2×2×2×2 = 1024個
1024 - 2 = 1022個
使用可能なIPアドレス数は1022個だとわかりました。

ステップ3:
次にネットワークアドレスとブロードキャストアドレスを求めます。
ネットワークアドレスとブロードキャストアドレスのルールは覚えていますか?

以下がルールとなりますので、覚えておきましょう。
  1. ネットワークアドレス(ホスト部分がすべて0のアドレス)
  2. ブロードキャストアドレス(ホスト部分がすべて1のアドレス)
このルールに従って、ネットワークアドレスとブロードキャストアドレスを算出します。
IPアドレスレンジの計算式
これで材料はそろったので、最後に整理してみましょう。

ポイント! 【10.0.0.0/22のIPアドレスレンジ】
  • ネットワークアドレス:10.0.0.0(使用不可)
  • 使用可能アドレス:10.0.0.1 ~ 10.0.3.254(1022個)
  • ブロードキャストアドレス:10.0.3.255(使用不可)

このように、サブネットマスクが変わると、使用できるIPアドレスの数と範囲も変わります。
初めはややこしく感じるかもしれませんが、少しずつ計算に慣れていくことで、ネットワーク設計の基礎が身についていきます。

実務でのIPアドレスレンジの活用

インフラエンジニアとして、ネットワーク設計時には必要なホスト数を見積もり、それに適したIPアドレスレンジを選択することが重要です。

小規模なオフィスネットワークであれば/24(約252台のデバイス)で十分かもしれませんが、データセンターやクラウド環境では/16や/8といった大きなアドレスレンジが必要になることもあります。

サブネットマスクにより確保できるIPアドレス数は決まっているので、毎回計算する必要はありません。
以下に表を出しておきますので、参考にしてください。

サブネットマスク CIDR 使用可能なIPアドレス数
128.0.0.0 /1 2,147,483,646
192.0.0.0 /2 1,073,741,822
224.0.0.0 /3 536,870,910
240.0.0.0 /4 268,435,454
248.0.0.0 /5 134,217,726
252.0.0.0 /6 67,108,862
254.0.0.0 /7 33,554,430
255.0.0.0 /8 16,777,214
255.128.0.0 /9 8,388,606
255.192.0.0 /10 4,194,302
255.224.0.0 /11 2,097,150
255.240.0.0 /12 1,048,574
255.248.0.0 /13 524,286
255.252.0.0 /14 262,142
255.254.0.0 /15 131,070
255.255.0.0 /16 65,534
255.255.128.0 /17 32,766
255.255.192.0 /18 16,382
255.255.224.0 /19 8,190
255.255.240.0 /20 4,094
255.255.248.0 /21 2,046
255.255.252.0 /22 1,022
255.255.254.0 /23 510
255.255.255.0 /24 254
255.255.255.128 /25 126
255.255.255.192 /26 62
255.255.255.224 /27 30
255.255.255.240 /28 14
255.255.255.248 /29 6
255.255.255.252 /30 2
255.255.255.254 /31 0 (特殊用途のため通常は使用しない)
255.255.255.255 /32 1 (単一ホスト)

また、将来の拡張性を考慮して、余裕を持ったIPアドレスレンジを設計することも大切です。
ネットワークの分離やセキュリティ要件に応じて、複数の小さなサブネットに分割することも一般的な手法です。

適切なIPアドレスレンジの設計は、後々のネットワーク運用の容易さにも直結するため、初期段階での慎重な検討が求められます。

まとめ

この記事では、インフラエンジニアを目指す初学者の方に向けて、IPアドレスとサブネットマスクについて解説しました。

ネットワークの世界は広く深いものですが、この記事で解説した基本概念をしっかり理解することで、今後より高度なネットワーク技術を学ぶための土台ができました。
インフラエンジニアを目指す皆さんは、これらの基本概念を実際のネットワーク機器で試してみたり、さまざまなネットワークトポロジーを設計してみたりすることで、理解をさらに深めることができるでしょう。

ネットワークの仕組みを理解することは、現代のIT環境で働く上で非常に重要です。
この記事が皆さんのネットワーク学習の出発点となれば幸いです。