概要

OSPF/EIGRPなどのルーティングプロトコルによって、ルータ間でネットワークの情報(ルート情報)を交換してルーティングテーブルを作り上げることができます。ルーティングプロトコルでルート情報をアドバタイズする具体的な意味について考えてみましょう。

ルート情報をアドバタイズする意味

ルーティングプロトコルでルート情報をアドバタイズする意味は、次の2つです。

  • ネットワークへのアクセス許可を与える
  • ネットワークへ到達するための距離を計測する

これらについて、もう少しく詳しく見ていきましょう。

以降の解説はOSPFにはそのまま当てはまりません。RIPおよびEIGRPを想定しています。しかし、結果としてOSPFでもルート情報をアドバタイズする意味は上記の2点であることは同じです。

また、話を簡単にするために片方向しか考えていません。通信は双方向であることも忘れないようにしてください。

ネットワークへのアクセス許可を与える

ルーティングの原則として、「ルーティングテーブルに載っていないネットワーク宛てのパケットは破棄」します。「ネットワークのおべんきょしませんか?」のいろんな記事でしつこいぐらい述べている大事な原則です。

なぜ、「ルート情報をアドバタイズすることはネットワークへのアクセス許可を与える」ことになるのか?以下のような簡単なネットワーク構成を考えましょう。

図 ネットワーク構成の例
図 ネットワーク構成の例

R1からルーティングプロトコルで192.168.1.0/24のルート情報をアドバタイズします。すると、R2のルーティングテーブルに192.168.1.0/24のルート情報が登録されます。そして、R2からさらにR3へ192.168.1.0/24のルート情報がアドバタイズされます。R3のルーティングテーブルにも192.168.1.0/24のルート情報が登録されます。

こうして、192.168.1.0/24のルート情報がルーティングテーブルに登録されると、192.168.1.0/24宛てのパケットを転送できるようになります。たとえば、R3に宛先IPアドレス192.168.1.100のパケットがやってくると、R3からR2、そしてR1へと転送されてきます。

図 ルート情報をアドバタイズするとパケットが転送されてくる
図 ルート情報をアドバタイズするとパケットが転送されてくる

つまり、

ポイント

「ルート情報をアドバタイズすると、パケットが転送されてくる」

ことになります。

そのため、ルート情報をアドバタイズすることは、そのネットワークへのアクセス許可を与えていると考えることができます。

また、「ルート情報をアドバタイズする方向とパケットが転送されてくる方向が逆」になっていることも意識しておいてください。当たり前のことなのですが、きちんと意識している人は少ないように思います。特に、BGP(Border Gateway Protocol)で最適ルートを制御するためにさまざまなパスアトリビュートをセットします。このとき、ルートをアドバタイズする方向とパケットの転送方向が逆であることをきちんと意識していておかないといけません。

ルートフィルタ

ここまで、「ルート情報をアドバタイズすることは、そのネットワークへのアクセス許可を与える」ことについて見てきました。では、「あるネットワークへアクセスさせたくない」ときはどうすればよいでしょうか?

そうです、ルート情報をアドバタイズしなければいいのです。

ルート情報をアドバタイズしなければ、他のルータのルーティングテーブルに該当のネットワークの情報が登録されません。ルーティングテーブルにない宛先へのIPパケットは破棄されます。つまり、ルート情報をアドバタイズしないことで、そのネットワークへのアクセスを禁止します。

特定のネットワークのルート情報をルーティングプロトコルでアドバタイズしないようにすることが「ルートフィルタ」です。

ネットワークへ到達するための距離を計測する

冗長化されていると、あるネットワークへのルート情報(経路)は、複数存在することがあります。あるネットワークへのルート情報が複数存在していても、原則として、ルーティングテーブルには1つだけ登録します。最適ルートのみです。最適ルートを判断するためにメトリックを利用します。ルーティングプロトコルでアドバタイズするルート情報にはメトリックが含まれています。メトリックはわかりやすく言うと「距離」です。各ルータからアドバタイズするネットワークまでの距離をメトリックとしています。

ここまで考えてきた簡単なネットワーク構成を例にします。R1からアドバタイズする192.168.1.0/24のルート情報にはメトリックが含まれています。図ではR1でのメトリックをMR1としています。そして、R2からアドバタイズするルート情報にもメトリックが含まれています。R2でのメトリックをMR2としています。そして、R3からアドバタイズするルート情報にもメトリックが含まれていてMR3としています。3つのメトリックの値は、以下の関係になります。

MR1 < MR2 < MR3

192.168.1.0/24のネットワークから離れれば離れるほど、メトリックの値が大きくなります。だから、メトリックは「距離」と考えられるわけです。

図 メトリックは「距離」
図 メトリックは「距離」

ルート情報をアドバタイズするときに、各ルータから該当のネットワークまでの距離(メトリック)を通知していることになります。そして、メトリックに基づいて最適ルートを決めてルーティングテーブルに登録します。最適ルートは「最短」ルートです。メトリック(距離)が最も小さいルート情報を最適ルートとします。

メトリックの値

メトリックは「距離」と考えることができるわけですが、私たちが日常生活で考えるメートルなどの単位で表される物理的な距離とは違います。ルーティングプロトコルが計測するネットワーク的な距離で、ルーティングプロトコルごとに計測方法が違っています。代表的なルーティングプロトコルのメトリック、すなわち、距離の計測方法を以下の表にまとめています。

ルーティングプロトコルメトリック取りうる値
RIPホップ数1~16
OSPFパスコスト1~65535
EIGRP複合メトリック32ビットまたは64ビット
表 ルーティングプロトコルごとのメトリック

ルーティングプロトコルによって、メトリックの考え方や取りうる値は違っています。ですが、最終的に1つの数値になるのがメトリックです。

関連記事

RIP/OSPF/EIGRPのメトリックの詳細は、以下の記事をご覧ください。

アドミニストレイティブディスタンス

ルーティングプロトコルは、1つだけでなく同時に複数利用することもできます。すると、あるネットワークのルート情報を複数のルーティングプロトコルで学習することもあります。その場合でも、最適ルートを選択します。ルーティングプロトコルが異なると、単純にメトリックの値のみを比較することはできません。前述のように、メトリックの考え方も取りうる値もルーティングプロトコルによって異なるからです。わかりやすく言うと、現実世界の距離で「1メートル」と「1フィート」の「1」だけを比較しても意味がないのと同じです。

メトリックを比較できるようにするためのCisco独自のパラメータをアドミニストレイティブディスタンスと呼びます。現実世界の距離でメートルとフィートの単位を変換するような役割を持つパラメータがアドミニストレイティブディスタンスです。

まとめ

ポイント

  • ルーティングプロトコルでルート情報をアドバタイズする意味は、次の2つです。
    • ネットワークへのアクセス許可を与える
    • ネットワークへ到達するための距離を計測する
  • ルート情報をアドバタイズすると、その他のルータのルーティングテーブルにそのネットワークの情報が登録されます。すると、IPパケットを転送できるようになります。
  • ルート情報にはメトリックが含まれています。メトリックはルート情報をアドバタイズされていくことで増えていく1つの数値です。
  • ネットワークから離れれば離れるほどメトリックの値が増えていくので「距離」と考えられます。

IPルーティングのキホン