【絶対分かる!】CIDR/VLSM/FLSMの違い、classful/classlessの違い、RIPv1/v2の違い ~サブネットマスクの進化~

スポンサーリンク
スポンサーリンク

クラスフル時代の問題とCIDRの登場

クラスフルアドレスの時代はサブネットマスクという概念が無く、IPアドレス帯によって『ネットワーク部』が自動的に決まっていました

例えば、1.0.0.0~126.255.255.255 というIPアドレス帯は『クラスA』と呼ばれ、『ネットワーク部』は最初の1オクテット、『ホスト部』は残りの2~4オクテットでした。つまり、今で言うところのサブネットマスク "/8" に自動でなっていました

同様に128.0.0.0~191.255.255.255 は『クラスB』と呼ばれ、『ネットワーク部』は最初の2オクテット(つまり今で言うサブネットマスク "/16")、192.0.0.0~223.255.255.255 は『クラスC』と呼ばれ、『ネットワーク部』は最初の3オクテット(つまり今で言うサブネットマスク "/24")と自動的に決まっていました。

スポンサーリンク

しかし時間が経つにつれ、『この割り当て方法ではIPアドレスを有効に使えない』ということが徐々に分かってきました。特にクラスAは理論上はホストが1677万台配置できますが、当然同一ネットワークにそれだけのIP端末は配置できず、使わないIPアドレスは無駄に消費されてしまうのです。

この解決策として出てきたのがCIDR(読み方:サイダー)です。これはクラスフルアドレスをサブネットマスクで細分化する概念です。つまり、クラスフルの概念を取り払い、どのIPアドレス帯であっても、サブネットマスクによりネットワーク部を自由に決めて良い、とする概念です。CIDR=サブネットマスクを使った、IPアドレスのネットワーク部を決定する方法と言っても良いです。

スポンサーリンク

FLSMの登場

一方、このCIDRの概念では都合の悪いプロトコルが出てきました。それがRIP version1、IGRP、EGP等の古いルーティングプロトコルです。これらのルーティングプロトコルはクラスレスアドレスを想定しておらず、ルーティング情報を伝搬する際にネットワーク部の情報(サブネットマスク)を渡すようにはなっていませんでした

RIPv1とRIPv2のパケットフォーマットを下図に示します。RIPv2 には Subnet Maskの情報がありますが、RIPv1には無いことが分かります。

スポンサーリンク

しかしクラスレス(CIDR)環境でRIP version 1が一切使えないのも困る、使えるようにすればどうすればよいか、という課題への解決策が FLSM なのです。

この FLSM の考え方により、RIPv1ルータは『もし自身のルータのインタフェースにクラスレスアドレスがあったらそのクラスレスアドレスの元となったクラスフルアドレスから派生されるクラスレスアドレスは全て同じサブネットマスクだと解釈しよう!』という動作仕様になりました。

例えばルータのあるインタフェースが "192.168.10.2/28" というクラスレスIPアドレスを持っている場合、ルータは『このIPアドレスの派生元であるクラスフルアドレス "192.168.10.0/24" の範囲内のIPアドレスは全て "/28"のサブネットマスクで分割されている』と決めつけて動作しますし、NW設計者はそれを汲み取り、設計をしなければなりません(そうしないとうまくルート情報伝搬ができない)。

スポンサーリンク

このFLSMというルールを順守することにより、クラスレスアドレス環境で、クラスフルのみを意識したルーティングプロトコルを問題なく動作させる(ルート情報を伝搬させる)ことができるわけです。これがFLSM(Fixed Length Subnet Mask)の考え方です。

つまり、FLSMとは、クラスレスアドレスの環境において、クラスフルアドレスのみを想定したルーティングプロトコルをうまく動作させるための暫定措置のルールなのです。

RIP version 1、IGRP , EGPは『クラスフルルーティングプロトコル』と呼ばれ、いずれもルーティング情報交換の際にサブネットマスクを伝搬せず、このFLSMの考え方で動作します。

この結果、RIP version 1では、異なるクラスフルアドレスを伝搬する際は、(相手がそのサブネットマスクを理解できないので)自動集約でお茶を濁す、という動作をします。しかしその際、相手が別のインタフェースで同じクラスフルアドレス内の別のクラスレスアドレスを持っていた場合、お互いに自動集約ルートを送り合うことになり、ルーティングループの危険性を伴います。なので、このような『クラスレスアドレスを、別のクラスフルアドレスで分断する』設計はVLSMのルール違反として、ルーティングテーブルには載せません。必ず、同じクラスフルアドレス内のクラスレスアドレスで連続して、ルータ同士を結ぶ必要があります

例えば以下のケースでは『192.168.7.0/24』というクラスフルアドレスから派生したクラスレスアドレス(『192.168.7.64/28』と『192.168.7.128/28』)が、『192.168.10.0/24』というクラスフルアドレスによって分断されています。

スポンサーリンク

VLSMの登場

このFLSMの動作はあくまで暫定的な措置で、本格的な解消をするために『クラスレスルーティングプロトコル』という位置付けで『RIP version 2』が誕生しました。RIP version 2ではルート情報にサブネットマスクを添えて渡せるので、VLSM(Variable Length Subnet Mask)の考え方で動作します。OSPFやEIGRP、BGP等、その他のほとんどのルーティングプロトコルがVLSMの考え方をします。

VLSMとわざわざ名前が付いていますが、これは単にFLSMという概念を打ち消す意味で名前があるだけで、実際にはクラスレスアドレスの考え方に沿って、当たり前のことをルーティングプロトコルに実装しただけです。

この章のまとめ

CIDR

サブネットマスクを使い、IPアドレス帯(クラス)に依らず、ネットワーク部とホスト部を自由に設計できるようにする、IPアドレス割り当て方法を指す。(クラスフル時代は自由ではなく、クラスによって決まっていた)

FLSM

CIDRによりIPアドレスがクラスレスの考え方になったが、当時クラスフルのみを想定したルーティングプロトコルを、クラスレスの環境でも問題なく動作させるために作られたクラスフルルーティングプロトコルのための『暫定措置のルール』であり、それを順守しなければならない環境を指す。NW設計者はこのルールに基づいてIPアドレス設計、ルーティング設計をしなければならない。

VLSM

FLSM(暫定措置)に頼らず、『ルーティングプロトコルでルート情報と共にサブネットマスクの情報も渡す』という恒久措置を取った環境であり、FLSMのルールに縛られずNWの設計を行える環境を指す。

スポンサーリンク
スポンサーリンク
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク