ネットワークに興味が出てきたので、身近なIPアドレスから始めてみようと思い勉強していると、サブネットとサブネットマスクは全くの別物であることに気づきました。
自分なりにまとめてみましたので、ここに残そうと思います。
私と同じような方の助けになれば幸いです。
IPアドレスの簡単なおさらい
サブネットとサブネットマスクの違いには、IPアドレスのクラス理解が必要ですので、まずは軽く触れておきます。
IPアドレスには5つのクラスがあり、そのうちクラスA, B, Cの3つを主に使います。
クラスAが最もホストの割り振りが可能で、反対にクラスCはホストの割当て数が少なくなります。
※ネットワークをx、ホストをyで表す。
- クラスA: xxx.yyy.yyy.yyy ホストは約1677万通り
- クラスB: xxx.xxx.yyy.yyy ホストは65534通り
- クラスC: xxx.xxx.xxx.yyy ホストは254通り
サブネットマスクとは(基本編)
サブネットマスクとは、IPアドレスのうちどこまでがネットワーク部で、どこまでがホスト部なのかを表す書き方です。
サブネットマスクは、ネットワーク部の場所を255で表し、ホストの場所を0で表現します。
適当なIPアドレスでたくさん例を表示します。
- クラスA前半3桁がネットワーク部なので、255.0.0.0
- クラスBは255.255.0.0
- クラスCは255.255.255.0
- 192.14.62.13/16は前半16ビット分がネットワークなので、255.255.0.0
- 10.16.35.11/8は同様に考えて255.0.0.0
このように、255と0を使ってネットワーク部とホスト部を表すことができます。
ただしIPアドレスは本当は1と0の世界でなので、正確にはネットワーク部を1、ホスト部を0で表します。
0〜255の10進数のほうが見やすいのでそうしているだけですね。
- 192.14.62.13/16 = 255.255.0.0 = 11111111.11111111.00000000.00000000
- 10.16.35.11/8 = 255.0.0.0 = 11111111.00000000.00000000.00000000
サブネットとは
IPアドレスはクラスによってホストの数が異なるため、必要なホストの数に合わせてクラスを使い分ける必要があります。
しかし困ったことが起こります。それは、A, B, Cの分類だけでは細かな調整ができず、無駄が発生してしまう点です。
- クラスC︰ホストは最大254個 →「足りるかな。。」と将来が不安
- クラスB︰ホストは最大65532個 →「そんなに要らん。管理しにくいしIPアドレスが余る」
- クラスA︰(もってのほか)
そこで、もう少し小さなインターネットを作ろう。階層化しよう、分割しよう。インターネットの中に小さなインターネットを作ろう。という考えが起こりました。これがサブネットです。
サブネットの考え方
日本という単位で管理するより、東日本だとか、東北だとか、福岡県とか、そういった小さな単位にしたほうが管理しやすくなりますよね。サブネットも同じで、ネットワークを細かに分割します。
ネットワーク部とホスト部でしたが、ホスト部をさらにサブネット部とホスト部に分割します。
◆分類前のIPとサブネットマスク 192.168.16.0 11000000.10101000.00010000.00000000 | ネットワーク部 |ホスト部| 255.255.255.0(※サブネットマスク)
◆分類後
11000000.10101000.00010000.00000000
| ネットワーク部 |サブネット部とホスト部|
255.255.255.192(※サブネットマスク。理由は後ほど)
ホスト部の最初の2ビットを借りると、00, 01, 10, 11の4通りのサブネットを作ることができます。これにより、ネットワークを4つに分割することができました。
- 1100000.1010100.00010000.00000000
- 1100000.1010100.00010000.01000000
- 1100000.1010100.00010000.10000000
- 1100000.1010100.00010000.11000000
このように、ネットワークを細かく分割するのがサブネットです。(分ける場所はホスト部ですが。)
サブネットマスクとは(発展編)
サブネットマスクとは、ネットワーク部とホスト部を分ける表記でした。
ここに、先程のサブネットの概念を含める場合は、サブネットが借りたビット部分をすべて1にした場合を計算してサブネットマスクで表現します。
文字は分かりにくいので例をたくさん出します。
- クラスCでホスト部の先頭2ビットをサブネット: 11000000 = 192 -> 255.255.255.192
- クラスCでホスト部の先頭3ビットをサブネット: 11100000 = 224 -> 255.255.255.224
- クラスCでホスト部の先頭7ビットをサブネット: 11111110 = 254 -> 255.255.255.254
- クラスBでホスト部の先頭2ビットをサブネット: 255.255.192.0
- クラスBでホスト部の先頭3ビットをサブネット: 255.255.224.0
まとめ
サブネットとサブネットマスクの違いについてご紹介しました。
ネットワークをサブネットとして小さく分類することで、管理しやすくしています。
その際にどこまでがネットワーク部なのかを表すのがサブネットマスクです。
最後までお読みいただきありがとうございました。