読者です 読者をやめる 読者になる 読者になる

理系学生日記

おまえはいつまで学生気分なのか

忍者TOOLS

ディスタンスベクタでの無限ループ回避

cisco
  • 最大値の定義

無限カウント問題を避ける.メトリックの最大値を定義し,それを超えると到達不能とする.

  • スプリットホライズン

アップデートを受信したインタフェースからは,そのアップデートに関する情報を送信しない.

  • ルートポイズニング

リンクに障害が発生すると,そのリンクに関するエントリを消すのではなく,メトリックを最大値に設定する.

  • ポイズンリバース

ルートポイズニングされた情報を受信したルータが,その情報を受信したことを送信元に通知する.ACK のようなもの.スプリットホライズンが有効であっても実施される.

他のテクニック

  • トリガードアップデート

定期的なアップデートを待たずに,リンクになんか変化があったら速攻でアップデートする.ディスタンスベクタの欠点であるコンバージェンスの遅さが多少改善する.

  • ホールドダウンタイマ

なんかのアップデートを受信しても速攻でルーティングテーブルを更新しない.ルートポイズニングされた情報を受信してタイマが起動し,起動中はルーティングテーブルの更新が行われない.以下のイベントによって解除される.

    • 規定時間の経過
    • 元の値より小さいメトリックのアップデートを受信
    • フラッシュタイマの時間経過

こうすることで,トリガードアップデートが (できるだけ) 伝搬してからルーティングテーブルが更新される感じになって,誤った情報が伝搬するのを防ぐ.

RIP と IGRP

両方ともディスタンスベクタ型.IGRP は Cisco の独自プロトコル.どっか使ってるの?

Timer RIP IGRP
アップデートタイマ 30 s 90 s
インバリッドタイマ 180 s 270 s
ホールドダウンタイマ 180 s 280 s
フラッシュタイマ 240 s 630 s