アクセス回線を複数使い,回線ごとにインターネット接続事業者(プロバイダ)も別にするマルチホーミング構成を取ると,インターネット接続の耐障害性が高くなる。仮に一方の回線やルーター,プロバイダの網が障害でダウンしても,もう一方の接続先へう回できるからだ。

 ただし,ルーターが障害を検知して,正常な回線に切り替え終わるまでの時間は,主にルーターの設定やネットワークの構成などによって変わってしまう。トラブル時にインターネットを利用できない時間をできるだけ短くするには,この二つのポイントに注意する必要がある。

ホールドタイマーをチェック
メーカーごとの値に差

複数メーカーのルーターを混在させて使うと,BGP-4による障害の検知時間に差が出る場合がある。障害検知までの時間を適切な値にそろえるためには,利用している全ルーターのホールドタイマーを設定し直す必要がある。

 オンライン金融業を営むA社は,インターネットにマルチホーミングで接続している。A社はインターネット接続に使うルーターを,通信機器メーカー大手のX社製のものに統一していた。

 しかし最近,プロバイダD社からのアクセス回線を収容するルーターのリース期限が迫ってきた。そのため,A社のシステム担当者は,ルーターを新規にリースし直して取り替えることにした。

 いくつかの機器ベンダーのルーターを比較検討の上,X社製ではなく,Y社製のルーターを導入することにした。

図1 A社はルーターの障害検知時間が短くなる――という想定外の事態に直面した
すべてX社製のルーターにそろえていたときは障害検知に180秒かかっていた。Y社製のルーターを導入した後は,ルーターの設定を変えていないにもかかわらず一部の経路で検知時間が90秒になった。

いつの間にか障害検知時間が変化

 Y社製のルーターが稼働してしばらくたったある日,そのY社製ルーターが故障した。A社が考えたマルチホーミングの設計では,ルーターが故障した際の経路情報はルーティング・プロトコルのBGP-4で動的に切り替わる。一方のプロバイダ経由で接続できなくなっても,もう一方のプロバイダ経由の経路は確保されるため,インターネットとの接続を確保できる(図1[拡大表示])。

 しかし,監視システムで障害記録を見たA社のシステム担当者は,想定外の出来事に目を丸くした。以前にX社製ルーターだけを使っていたときに起こった障害に比べて,障害検知時間が90秒ほど早かったのだ。これまでは,ルーターのホールドタイマーの設定により,障害検知に180秒かかっていた。

 A社の担当者はY社製ルーターを納入したシステム・インテグレータ(SIer)にルーターの修理を要請。その際,ルーターの障害検知時間が短くなっていた理由も尋ねた。

 SIerのエンジニアからの返事は,X社製ルーターとY社製ルーターのホールドタイマー値の違いによるものではないか,というものであった。

 ホールドタイマー値とは,BGPセッションの維持に必要なメッセージや経路情報更新のメッセージを,前に受けてから次に受け取るまでの許容時間のことである。この時間を過ぎるとBGPルーターは,「対向するBGPルーターとのBGPセッションが切れた」と認識。経路情報の変更を始める。