ネットワーク

ネットワークのクラスとサブネットの意味を学ぼう!

2020年6月28日

ネットワークの学習をしていると「クラスとサブネット」って言葉が良く出てきます。サブネットを正しく理解することは、ちょっとハードル高いのですが、ここを理解できるとネットワークに強くなります!

今回はクラスの意味とサブネットの利用方法を解説していきます。ちょっと難しいので、よく読んで頂いて、しっかり理解しましょう!

先ずはネットワーク部とホスト部

いきなり重要なことを言います。

IPアドレスはネットワーク部とホスト部に分けることができる!

32ビットのIPアドレスを二つに分けたときに、前半部分を「ネットワーク部」、後半部分を「ホスト部」と呼びます。ここでのホストとはネットワークに繋がるコンピュータそのもののことです。

良く使われる例として、ネットワーク部は「場所」を表し、ホスト部が「名前」を表すと言われます。

絵にすると以下のようになります。

IPアドレスの中身

このネットワーク部(場所)の広さによってIPアドレスのクラスの種類が変わってきます。

IPアドレスのクラス(体系)とは?

IPアドレスは大きく3つの「クラス」というものに分けられています。それぞれのクラスは大規模ネットワーク用のクラスA、中規模ネットワーク用のクラスB、小規模ネットワーク用のクラスCに分けます。

IPアドレスはIPv4であれば32ビットと決められています(IPv6なら128ビット)ので、この中でネットワーク部にどれだけのビット数を割り当てるかで、それぞれのクラスを定義しています。ネットワーク部に多くのビット数を割り当てれば、ホスト部のビット数が少なくなるので、小規模ネットワーク用となります。

言葉だとちょっと分かり難いので、図にしてみました!

IPアドレスのクラス説明

クラスAは先頭の1ビットが2進数の「0」から始まります。同様にクラスBは先頭が「10」、クラスCは先頭が「110」から始まります。

ホスト数はホスト部に割り当てられたビット数を使って算出しますが、ネットワークアドレスとブロードキャストアドレスの2アドレス分を引いた数が割当可能数となります。

例えば、ホスト部が8bitの場合は「28-2 = 254個」となります。

とここまで、クラスは3つと書きましたが、実際は5つのクラスに分けられ、さきほどまでに説明したクラスA、クラスB、クラスCに加え、クラスD、クラスEの5つのアドレスクラス(クラスフルアドレス)に分類されます。

クラスDはマルチキャスト用のアドレス、クラスEは実験用のアドレスになります。5つのクラスの範囲と用途を一覧にしてみました!

各クラスの範囲と定義

サブネットマスクの役割

クラスの説明をしたところで、続いて「サブネットマスク」です。

IPアドレスをクラス単位のネットワークにして運用すると、1つのネットワーク(セグメントとも呼びます)に非常に膨大な数のホスト(端末)を接続することになります。しかし、同じネットワーク内で必要以上に多くのホストが存在することが問題になってきます。

例えば、同ネットワーク内ではホストが一斉にデータをやりとりする(ブロードキャストパケットが流れるなど)ことで通信速度が遅くなったり、それぞれのホストの管理も大変になります。

更にはIPアドレスを無駄に使ってしまうことも問題です。クラスCでは同一ネットワーク内に配置できるホスト数が「254個」ですが、実際の運用で同一ネットワーク内にはホスト数を80個にするとします。そうすると「254-80=174個」のIPアドレスが無駄になります。

このような問題を一気に解決する手段として、「サブネットマスク」があります。

サブネットマスクの目的はずばり「ネットワークの細分化」です。

サブネットマスクを使うことにより、ネットワーク部とホスト部のビット数を今まで説明した「8ビット毎」では無く、自由にビットの割合を変更することができるので、ネットワークをより小さなネットワーク(サブネットワーク)に分割して運用することができます。

このサブネットを用いて、IPアドレスのクラス部におけるネットワーク部のビット数を増やすことで、ネットワーク部を拡張する(ホスト部を少なくする)ことができます。

サブネットワークのネットワーク部がいくつなのか取り出すためには、IPアドレスとサブネットマスクを2進数にして、各ビットをかける(ANDを取る)ことで算出できます。

IPアドレスとサブネットマスクからネットワーク部の算出の仕方を図にしてみました。

サブネットマスクとネットワークアドレスの関係

このサブネットマスクには、上図のように「1」と「0」を32個並べる、または10進数に直して表現する方法の他に、スラッシュ(/)を使って表現することもできます。IPアドレスの右側に「/」を書いて、そのあとにサブネットマスクの「1」の個数を付けます。

例えば上図のようにサブネットマスクの「1」の個数が「28」個だったら「/28」となり、実際のIPアドレスの右側に付加して「192.168.1.100/28」みたいに10進数で表現できます。こうすることで、ネットワーク部の大小を直ぐに把握することができますね。

因みにこの表記方法をCIDR(サイダー)表記なんて呼びます。

と、ここまでサブネットに関して解説しましたが、このサブネットはネットワークの概念に慣れるまでは意外と理解し難いのです。。。

ポイントは「ホストの範囲を狭くすることでセキュリティと管理面を保ちつつ、IPアドレスを有効活用する」ためにサブネットを使っていることですね。

サブネットの役割

まとめ

今回はIPアドレスのクラスとサブネットに関して学びました。

クラスはネットワークを大きく分割するための考え方で、サブネットはそれを更に細分化したネットワークにするための手法でしたね。

私もネットワークを学習する中でサブネットは理解するのに時間が掛かりました。なんで、サブネットを使う必要があるのか?この辺からアプローチするとわかり易いかもしれませんね。

サブネットを/26や/28、/30などに区切った時のホスト数も直ぐに計算できると良いですね。

Windowsのネットワーク設定などではサブネットは10進数、例えば「255.255.255.240」のように表現されているので、この表現方法にも慣れておくと良いですね。

サブネットマスクの「マスク」って言葉によって、サブネットを難しくしている気もします。。。(ホスト部を覆い隠してネットワーク部だけにする、って意味だと思いますが)

以上です!

-ネットワーク