ルーティングプロトコル分類の概要

RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)、BGP(Border Gateway Protocol)などのルーティングプロトコルは、次の3つの観点から分類することができます。

  • ルーティングプロトコルの適用範囲による分類
  • ルーティングプロトコルのアルゴリズムによる分類
  • ネットワークアドレスの認識による分類

最後のネットワークアドレスの認識による分類についてです。

この分類はあまり重要ではありません。クラスレスルーティングプロトコル以外を利用することはまずありません。

ネットワークアドレスの認識による分類

ルーティングプロトコルで、どのようにしてネットワークアドレスを認識するかによって次の2つに分類できます。

  • クラスフルルーティングプロトコル
  • クラスレスルーティングプロトコル

クラスフルルーティングプロトコルは、ネットワークアドレスを基本的にクラス単位で認識します。つまり、32ビットのIPアドレスのうちネットワークアドレスとして、クラスAなら先頭8ビット、クラスBなら先頭16ビット、クラスCなら24ビットとして認識します。

クラス単位でネットワークアドレスを認識するので、ネットワークアドレスとホストアドレスの区切りを示すサブネットマスクは必要ありません。クラスフルルーティングプロトコルでは、ルータ同士で交換するルート情報の中にサブネットマスクが含まれていません。RIPv1はクラスフルルーティングプロトコルです。

「基本的に」としているのは、必ずしもクラス単位でないことがあるからです。より厳密には、クラスとルート情報を受信したインタフェースのサブネットマスクによってネットワークアドレスを認識します。

現在のIPアドレスの考え方は、クラスにとらわれずにIPアドレスを考えるクラスレスアドレッシングが一般的です。そのため、クラスフルルーティングプロトコルでは、クラスレスアドレッシングを行っているネットワークのルート情報を正しく扱うことができません。クラスレスアドレッシングのネットワークのルート情報を正しく扱うためには、クラスレスルーティングプロトコルを利用します。

クラスレスアドレッシングでは、32ビットのIPアドレスのうち、ネットワークアドレスがどの部分かを表すためにサブネットマスクを利用します。クラスレスルーティングプロトコルでは、クラスレスアドレッシングのネットワークアドレスを正しく扱うために、交換するルート情報にサブネットマスクの情報も含めています。

クラスレスルーティングプロトコルの例は、RIPv2、OSPF、EIGRP、BGPなど一般的に利用するルーティングプロトコルです。現在、アドレスの考え方はクラスレスアドレッシングなので、通常はルーティングプロトコルもクラスレスルーティングプロトコルを利用します。

図 クラスフルルーティングプロトコルとクラスレスルーティングプロトコル

サブネッティングされているアドレス構成でもクラスフルルーティングプロトコルを利用することは可能です。ただし、FLSMのアドレス構成のみでVLSMのアドレス構成では正しくルート情報を送信できません。また、不連続サブネットのアドレス構成も正常にルート情報を送信できません。

クラスフルルーティングプロトコルとクラスレスルーティングプロトコルについて、よく「サブネットマスクを含めるかどうか」という解説がされています。この解説自体は間違いとは言えませんが、サブネットマスクの意味をきちんと理解していない解説だと思います。サブネットマスクでネットワークアドレスの認識をしているということがポイントです。