
経路広告が止まらない
しかし,A社のWebサイトにアクセスができないというクレームは増えていった。慌てたA社の担当者が調査すると,障害発生前と全く同じ状況だった。本来,障害発生時には障害が発生した方の経路が取り消され,A社に到達できる経路情報はプロバイダY社経由からのみ広告されるべきなのに,経路情報は以前と同じく二つのプロバイダ経由で広告されていた。なぜ切り替わらないか原因が分からないものの,A社の担当者はどうにかして障害が起こった側のBGPルーターに通信を停止させるべきだと考えた。そこで応急処置として,プロバイダX社と接続しているBGPルータ-のATMインタフェースからケーブルを引き抜いた。
するとBGPセッションがダウンし,経路情報の広告は強制的に停止した。しばらくすると,もう片方のBGPルーター経由に経路情報が更新され,プロバイダX社経由の経路情報は消えた。そしてA社のWebサイトはインターネットからアクセスできるようになり,クレームも急速に収まりだした。
経路オリジネート位置が障害に弱い
A社の担当者が事後調査したところ,経路が更新されなかった原因は経路情報のオリジネート位置にあることが分かった(図1[拡大表示])。オリジネートとは,経路情報の発信元を指す。A社では,CEルーターで経路情報をオリジネートしていた。しかし,この構成では,WAN側インタフェースさえ無事ならばCEルーターはBGPで経路情報を広告し続けてしまう。
実は今回のBGPルーターの障害原因は,BGPルーターがLANインタフェースに使うラインカード不良だった。BGPルーターは,WAN側に1ポートのATMインタフェース,LAN側に4ポートのイーサネット・インタフェースを装備していた。
4ポートのイーサネット・インタフェースは,1枚のラインカードで接続している。このラインカードに不具合が発生したために,4ポートのイーサネット・インタフェースがすべてダウンしてしまった。
WAN側から見ると経路が更新されないため,今回の障害のようにLAN側の回線がすべてつながらないケースであっても,BGPルーターはWANからパケットを受け取ってしまう。しかし,LANインタフェースは使えない。このため,BGPルーターはパケットをLAN側のサーバーに届けられず,破棄してしまう。
そこで,A社の担当者は経路のオリジネート位置を変更した(図2[拡大表示])。具体的には,CEルーターよりもLAN側にあるBGPルーターで経路をオリジネートするようにした。こうするとCEルーターはLAN側に障害が発生すると,経路をオリジネートするBGPルーターから経路情報を受け取れなくなり,経路情報を更新するようになる。A社のネットワークは障害に強くなり,経路の安定性が増した。