前回のクラスフルアドレッシングはIPアドレスの基礎として重要なポイントですが,現在のIPアドレスの割り振りはクラスレスアドレッシングです。CIDRとVLSMというクラスレスアドレッシング技術を学び,IPアドレスの柔軟な割り振り方法を学びましょう。

クラスレスアドレッシング

 あるサブネット(ネットワーク)で使うIPアドレスの範囲は,IPアドレスとサブネット・マスクの組み合わせで決まります。例えば,192.168.0.0,サブネットマスクが255.255.255.0のときは,コンピュータに割り当てられるのは192.168.0.1~192.168.0.254までです。このクラスフルアドレッシングの場合,クラスCでは最大254台という制限があり数が足りない場合が出てきます。でも,クラスAやBでは大きすぎる場合があります。このため,クラスの境界をなくしたアドレッシング(クラスレスアドレッシング)が主流になっています。

 クラスレスアドレッシングはこのクラスの枠組みを廃したアドレッシング方式です。クラスを廃したことにより,必要な数のIPアドレスを持つネットワークを作成できます。クラスフルアドレッシングではできなかった「1022台のネットワーク」や「2台のネットワーク」などが作成可能になります。つまり,ネットワーク部を任意の長さに設定することが可能になります。

 ネットワーク部の長さが任意のため,クラスレスアドレッシングでは「サブネットマスク」という概念がなくなります。なぜならばサブネットマスクはクラス別のデフォルトマスク(255.0.0.0,255.255.0.0,255.255.255.0のことで,「ナチュラルマスク」ともいう)はIPアドレスのクラスに合わせて変更できないものだからです(クラスCの範囲にあるネットワークはかならず255.255.255.0以上でなければならない)。そのため,クラスレスアドレッシングでは「プレフィックス長」と呼ばれるものを使用します。プレフィックス長はネットワーク部の長さを表記するもので,IPアドレスの後ろに「/」をつけ,その後ろにネットワーク部の長さを記入します。この表記法は「CIDR表記」などと呼ばれます。 (図1)。

図1●プレフィックス長での記述
図1●プレフィックス長での記述

 この書き方が便利なため,現在ではサブネットマスクの表記法としてCIDR表記を使うのも一般的になっています。また,クラスレスアドレッシングを使用していても,サブネットマスクの表記で書くソフトウェアなどもあります。CIDR表記,サブネットマスクどちらも理解し,表記できるようにしておくことが必要です。

CIDR

 CIDR(Classless Inter-Domain Routing)は広義の意味ではクラスレスアドレッシングそのものを指しますが,狭義の意味ではインターネットでのルーティングの際に使用するクラスレスアドレッシングのことを指します。

 CIDRは主に,クラスBアドレスの不足(クラスAアドレスはネットワーク数が少ない,クラスCアドレスはネットワーク数が多いが使用できるアドレス数が少ないため,クラスBアドレスの利用申請が多かった)を補うため,複数のクラスCネットワークをまとめて,任意のサイズのネットワークを作りだす(スーパーネットとも呼ばれる)ために使用されています。

 また,CIDRはスーパーネットの作成以外にも,クラスAやBをより小さい単位に分割(サブネッティング)して,組織への割り振りを行ったり,いくつかのネットワークをまとめて経路情報を作る(ルート集約)ためにも使われます。

 スーパーネットの作成は,隣接するIPアドレスの共通するビットの部分でまとめてしまう方法で行われます。たとえば,クラスCネットワークを8つまとめ,2046台利用可能なネットワークを作るなどの利用法があります。(図2

図2●スーパーネットの作成
図2●スーパーネットの作成

VLSM

 VLSM(Variable-Length Subnet Mask:可変長サブネットマスク)はクラスレスアドレッシングの1つで,同一ネットワーク内でさまざまな長さのサブネットマスクを使用できます。これにより,IPアドレスの効率的な使用が可能です。

 通常,サブネットマスクは同一のネットワークでは同じ長さを使うことが一般的です(図3)。

図3●同じサブネットマスクを使ってネットワークを構築した場合
図3●同じサブネットマスクを使ってネットワークを構築した場合

 例えば図3ではサブネットマスクとして255.255.255.224(/27)を使い,クラスCのネットワークを,ホストが存在する3つのサブネット(使用可能IPアドレス30個)と,ルータ間の3つのサブネットの合計6個に分割しています(このサブネットマスクでは最大8つのサブネットに分割可能です)。

 クラスCのネットワークは最大254個のIPアドレスが使用可能なのに対し,図1のように同じサブネットマスクを使用すると,実際に使用できるIPアドレスの個数が大幅に減ってしまいます。例えばルータ間のサブネットは,双方のルータに割り当てる2つのIPアドレスしか使用していません。こんな無駄な割り当てでは,コンピュータに割り当てられるIPアドレスの個数が足りなくなってしまいます。そこで,利用するIPアドレスの個数に合わせてサブネットマスクの値を変更するという方法があります。それがVLSMです。

 例えば,図3のネットワークにルータ1台を追加し,2台のルータに接続し,さらにホストのネットワークを1個追加したいと考えたとしても,サブネット数が9個になってしまうので不可能です。しかし,VLSMを使えば可能です(図4)。

図4●VLSMを使用したネットワーク
図4●VLSMを使用したネットワーク

 イメージ的には/27で分割したサブネットのうち,192.168.128.0/27をさらに小さく/30で分割した感じになります。この分割方法ならば,192.168.1.160/27,192.168.1.192/27,192.168.1.224/27の3つの/27サブネットが未使用であり,まだルータやホストのネットワークを追加できます。特に/30(255.255.255.252)というプレフィックス長のサブネットは2個のIPアドレスだけが使用可能なサブネットで,ルータ間サブネットによく利用されます。

(改定履歴)
・「VLSMと経路集約」からCIDRとVLSMの記述を抜き出し,内容を全体的に書き直しました。(2008/7/24)