回線瞬断だけで数十秒の不通に
リンク切断の検出時間を調整

BGPを使いインターネットにマルチホーミングの構成で接続する場合,WAN回線(リンク)の障害検知を敏感にしすぎるのは良くない。瞬断すらも検知してしまうと,結果としてもっと長い時間,通信が遮断されたままになるケースがある。

 電子機器製造業を営むB社は,BGPを使用してインターネットにマルチホーミング接続している。ある日,B社の監視システムからプロバイダX社とATM専用線で接続しているCEルーターのBGPセッションが切断したというアラートがあがった。

 B社の担当者が状況を確認したところ,ログにはATMインタフェースがリンクを切断したために,BGPセッションがダウンしたという記録が残っていた。さらに,BGPセッションが再確立され,インターネットからアクセスできるようになるまでに数十秒以上を要していた。

リンク切断の検知時間が短すぎた

図3 B社はリンク切断時間をプロバイダに合わせ安定性を向上
リンク切断を検知する時間間隔を短くし過ぎると,数十ミリ秒の瞬断でも検知してしまい,BGPセッションが切断される。経路情報の更新処理が発生し,逆にインターネットから数十秒以上もアクセスできなくなることがある。
 原因を探ると,BGPセッションが切断された時間に通信事業者の光伝送装置に不具合が発生していたことが分かった。バックアップの光伝送装置に切り替えるために,数十ミリ秒の回線ダウンが起こったようだった。B社のCEルーターは,この数十ミリ秒の回線ダウンを検知してしまい,BGPセッションを落としていた(図3[拡大表示])。

 BGPセッションがダウンすると経路情報が更新され,プロバイダのルーターはさらに経路情報を更新する。これが安定するまで,インターネットからはアクセスできなくなってしまう。この状態は,場合によっては数十秒以上も続く。

 障害検知による経路情報の更新自体は,自然な動作である。だが,今回のようにごく短時間の障害すらも検知してしまうと,無駄に経路情報の更新がかかり,インターネットからアクセスできなくなる時間が長くなる。B社の担当者は,ネットワークの安定性という観点から何らかの対策を打つ必要があると感じた。

検知時間が長いPEルーターは接続

 B社の担当者は,CEルーターがリンク切断を検知する時間を調査した。すると,B社がCEルーターに採用しているメーカーY社の製品は,リンク切断が起こると即座(0秒)に経路を更新する仕様だった。これがデフォルトの値だった。

 B社の担当者は比較検討するため,プロバイダX社がPEルーターに使っているメーカーZ社の製品についても調べた。すると,デフォルトの状態ではリンク切断が起こっても2秒間は経路制御プロトコルに反映させない仕様だった。

 実は光伝送装置の不具合の際,プロバイダX社のPEルーターは障害を検知していなかった。数十ミリ秒の瞬断は2秒間ホールドしている間に復旧していたからだ。しかし,B社のCEルーターが瞬断を検知してBGPセッションを切断してしまったので,経路更新の間,通信できなくなる時間ができたのだった。

リンク切断検出時間を長くする

 B社の担当者は,敏感に障害を検知するよりも接続を安定させる方が重要と判断。CEルーターがリンク切断を検知する時間を長くすることにした。

 リンク切断検知時間は,今回のようなごく短時間の障害が数十ミリ秒ということからすると100ミリ秒以上にすれば問題ないはずと考えた。結局,CEルーターのATMインタフェースのリンク切断検知時間を対向のPEルーターと同じ2秒とした。こうすることで,ごく短時間の障害があってもBGPセッションは継続されるようになり,接続の安定性が増した。