サブネッティングとは

サブネッティングは、クラスに基づいたネットワークアドレスを複数に分割することです。クラスに基づいた8ビット区切りのネットワークアドレスでは、IPアドレスが無駄になることが多くなってしまいます。サブネッティングによって、1つのネットワークアドレスを分割して、IPアドレスの無駄を少なくすることができます。

サブネッティングの方法

サブネッティングするには、まず、クラスのナチュラルマスクを考えます。そして、サブネットマスクを後ろにずらすことで、IPアドレスの32ビットのうち、ネットワーク部として利用できるビット数を増やします。その結果、1つのネットワークアドレスを複数のネットワークアドレスに分割できるようになります。一般にサブネットマスクをnビット後ろにずらすことによって、1つのネットワークアドレスは、2n個に分割できます。

サブネッティングの例を考えます。たとえば、クラスBの172.16.0.0/16というネットワークアドレスがあれば、サブネットマスクを後ろにずらして、/24とすることでサブネッティングを行います。この場合、もともと172.16.0.0/16という1つのネットワークアドレスは、172.16.0.0/24~172.16.255.0/24という256個のネットワークアドレスに分割されるようになります。/16のサブネットマスクから、後ろに8ビットずらして/24のサブネットマスクとしています。8ビットずらすと、28個に分割します。

図 サブネッティングの例
  • 以前は、サブネットマスクをnビットずらすと1つのネットワークアドレスを2n -2個に分割するとしていました。これは、nビットずらした分のビットがすべて「1」のものとすべて「0」のものを除外して考えていたからです。nビットずらした分のビットがすべて「0」のものを特に「ゼロサブネット」と呼びます。
  • 現在は、nビットずらした分がすべてビット「1」とすべてビット「0」の2通りを除外して考えることはしていません。

FLSMとVLSM

サブネッティングして1つのネットワークアドレスを複数に分割するとき、以下の2つの種類があります。

  • FLSM(Fixed Length Subnet Mask) : 固定長サブネットマスク
  • VLSM(Variable Length Subnet Mask) : 可変長サブネットマスク

この2つの違いは、分割したあとのネットワークアドレスで共通のサブネットマスクを利用しているかどうかです。FLSMでは共通のサブネットマスクでなければいけません。一方、VLSMでは異なるサブネットマスクを利用できます。

FLSMとVLSMの例

以下のシンプルなネットワーク構成でFLSMとVLSMの違いについて考えます。

2つの拠点のLANを専用線で接続しているネットワーク構成を想定しています。拠点内には、それぞれ1つずつのネットワークがあります。拠点1のLANにはホストが50台接続されるものとします。つまり、IPアドレスは50個必要です。これはルータのIPアドレスも含んでいるものとします。そして、拠点2のLANにはホストが20台接続されるものとします。こちらもルータのIPアドレスも含んでいるものとします。

図 ネットワーク構成例

このネットワーク構成例のIPアドレスを172.16.0.0/16をサブネッティングして、アドレッシングします。FLSMのサブネッティングを行う例は、以下のようになります。

表 FLSMの例

ネットワーク 必要なIPアドレス数 ネットワークアドレス IPアドレス範囲
拠点1 LAN 50 172.16.1.0/24 172.16.1.1~172.16.1.254
拠点2 LAN 20 172.16.2.0/24 172.16.2.1~172.16.2.254
ルータ間 2 172.16.0.0/24 172.16.0.1~172.16.0.254

172.16.0.0/16を3つに分割していますが、そのサブネットマスクをすべて「/24」で共通にしているのがFLSMのサブネッティングです。

図 FLSMの例

FLSMのサブネッティングのメリットはわかりやすいことです。すべて共通のサブネットマスクを利用するので、設定がわかりやすくなります。また、/24などの8ビット単位のわかりやすい区切りのサブネットマスクにすることが多くなっています。一方、デメリットはIPアドレスの無駄が多くなることです。特に上記の例では、ルータ間のネットワークでIPアドレスの無駄が多くなります。ルータ間の専用線のネットワークは2つのIPアドレスのみあればよいです。ところが、/24のサブネットマスクだと254個のIPアドレスが利用できます。つまり、252個のIPアドレスが無駄になってしまいます。

FLSMではIPアドレスの無駄が多くなってしまうというデメリットを解消するために、VLSMのサブネッティングを行います。拠点1のLANでは50個のIPアドレスが必要です。50個のIPアドレスをまかなうためには、サブネットマスク/26を利用すればよいです。たとえば、拠点1のLANには172.16.1.0/26のアドレスを割り当てます。具体的なIPアドレスの範囲は、172.16.1.1/26~172.16.1.62/26の62個です。そして、ルータ間は2つのIPアドレスのみあればよいです。2つのIPアドレスをまかなうには/30のサブネットマスクを利用します。また、拠点2のLANでの20個のIPアドレスをまかなうために、/27のサブネットマスクを利用します。このように必要なIPアドレスの数をまかなうためのサブネットマスクを考えていくのがVLSMです。VLSMでのアドレス例は、以下のようになります。

IPアドレスが2つしか必要ないのであれば、サブネットマスクは/30でよいということは試験を受験するときに必ず覚えておきましょう。
サブネッティングからは話が逸れてしまいますが、専用線のポイントツーポイント接続であればip unnumberedでIPアドレスを節約することもできます。関連記事 「Cisco IPアドレスの設定」

表 VLSMの例

ネットワーク 必要なIPアドレス数 ネットワークアドレス IPアドレス範囲
拠点1 LAN 50 172.16.1.0/26 172.16.1.1~172.16.1.62
拠点2 LAN 20 172.16.2.0/27 172.16.2.1~172.16.2.30
ルータ間(専用線) 2 172.16.0.0/30 172.16.0.1~172.16.0.2

VLSMはIPアドレスの無駄が少なくなる反面、わかりにくいというデメリットがあることに注意が必要です。ネットワークごとにサブネットマスクが変わってしまったり、/26など8ビット単位ではないわかりにくい区切りになってしまいます。

図 VLSMの例

なお、一度サブネッティングしたネットワークアドレスをさらにサブネッティングするのもVLSMです。たとえば、上記の例の172.16.1.0/26は、一度172.16.1.0/24でサブネッティングしたネットワークアドレスをさらに4つに分割しているとみなすこともできます。

FLSMとVLSMどっち???

FLSMとVLSMは、どちらかが優れているというわけではありません。メリットとデメリットを考えて、適切なサブネッティングを行うことが重要です。

企業の社内ネットワークはプライベートアドレスを利用してアドレッシングします。プライベートアドレスは、IPアドレスの無駄が多くても、あまり気にする必要はありません。そこで、わかりやすさを重視してFLSMのサブネッティングを行います。一方、インターネットの通信を行うためのグローバルアドレスは無駄をできる限り少なくしなければいけません。VLSMによって、IPアドレスの無駄を少なくするようにします。