無料ブログはココログ

« 【OSPF】 2. 地図を作るには | トップページ | 【DOWNLOAD】 1. IOS Config Manager »

【OSPF】 3. マップからルーティングテーブルへ

3. マップからルーティングテーブルへ

前回までのあらすじ

OSPFを実行するルータは、必ず一つルータLSAを作ります。 イーサで繋がっている部分は指名ルータというものを選びます。指名ルータはネットワークLSAを作ります。 それらLSAを全部集めると地図を作ることができます。

ルータは最終的にルーティングテーブルを作らないといけないのですが、そこで用いるのがダイクストラ演算です。 複雑なネットワークでは、同じ宛先にたどり着くのにいくつもの経路が存在することになります。 このとき全てのルータが同じアルゴリズムで経路を選択しないと、 ループ(ピンポン現象)やブラックホール現象が発生してしまいます。 経路を選択する基準は『宛先に到達するための最短パス』です。

OSPFではインタフェースごとにコストという値を設定します。 ルータによってデフォルト値が決まっていたり、回線速度によって調整されてたりしますが、 本来は設計者が手動で設定しなければいけないパラメータです。 そして、ルータは宛先にたどり着くのに必要なトータルコストが最短になるものを選び出すわけです。

コストは「ルータからネットワーク」に到達するときに加算されます。 ですから↓のようなコスト設計では、R1→R2のコストは10、R1→R3のコストは20となるわけです。 当然、行きと帰りで異なるコスト値になることもあります。

コスト設計というのは、意図したとおりにトラフィックを通そうとすると時に非常に難しい事になります。 たとえば↓のような二重化構成のネットワークで、 Rg→RhのトラフィックはRg→Rc→Rh、Rg→Rd→Rh、Rg→Rc→Rd→Rh、という通り方がありますが、 これをコストで制御するわけです。

これがどのくらい難しいかを実感してもらうために、簡単なアプリケーションを作ってみました。 Dijkstra.exe をローカルに保存してから実行してみてください。 実行したら、編集→サンプル→サンプル(2階層ツリートポロジ)、と辿ってください。 こんな画面↓が現れると思います。

使い方

  • 何もない所をクリックするとルータを追加します。
  • シフトキーを押しながら、ルータからルータへドラッグすると線を追加します。
  • コントロールキーを押しながら、赤い丸のルータをドラッグすると、頂点ルータを変えることができます。
  • コスト値は線上の三角をドラッグすることで変えられます。値は1~100までです。
  • コスト値を0にすると線は消えます。
  • コントロールキーを押しながら、ルータをウィンドの外にドラッグすると、そのルータを削除します。
  • イコールコストマルチパスには対応してません

どうですか? 案外コスト設計は難しいでしょう?

最短コストのツリーが完成したら、ここからルーティングテーブルを作るのは容易な作業です。 全ての宛先について、そこに到達するのにどのネクストホップを使えばいいかを調べるだけです。

つづく。

« 【OSPF】 2. 地図を作るには | トップページ | 【DOWNLOAD】 1. IOS Config Manager »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/54859/1578705

この記事へのトラックバック一覧です: 【OSPF】 3. マップからルーティングテーブルへ:

« 【OSPF】 2. 地図を作るには | トップページ | 【DOWNLOAD】 1. IOS Config Manager »