図2 A社はホールドタイマーの設定を変更してルーターの障害検知時間を短縮した
障害検知時間が変わっていたのは,Y社製ルーターのホールドタイマーのデフォルト値がX社製より短く,これが対向するすべてのルーターに送られたためだった。

タイマー値違うルーターの混在が原因

 A社のシステム担当者が調べてみると,BGP-4を規定しているRFC1771が推奨するホールドタイマーの長さは90秒。Y社製ルーターはホールドタイマーのデフォルトの設定値も,RFC通りの90秒になっていた。しかしX社製ルーターは,デフォルトの設定値がY社製ルーターの2倍の180秒だった(図2[拡大表示]の左)。

 実際に使用されるホールドタイマー値は,BGPセッションを確立する際のネゴシエーションによって決まる。対向するルーター同士のホールドタイマー値が異なる場合は,短い方の数値が優先される。

 これまでA社が使っていたルーターはX社製ばかり。このためX社製ルーターのデフォルト値である180秒が,そのままルーター間のBGPセッションのホールドタイマー値となっていた。しかし,BGPセッションを確立するルーターの1台を置き換えた結果,Y社製ルーターのホールドタイマー値が90秒と短いため,これが優先された。

タイマー値をすべて90秒に

 X社製とY社製のルーター間のBGPセッションのホールドタイマー値が90秒になったことで,A社のネットワークでY社製ルーターを経由する経路では,ルーターの障害検知時間が90秒に変化した。ただしY社製ルーターを経由しない経路では,障害検知時間が従来通り180秒のままのところが残っていた。

 このため,A社の担当者は,X社製ルーターのホールドタイマー値も90秒に変更。どのルーターに障害が起こっても90秒で検知できるようにした(図2[拡大表示]の右)。

ルーター間のスイッチが“くせもの”
リンクダウン検知を妨害

アクセス回線にイーサネット専用線を使うマルチホーミングでは注意すべきポイントがある。ユーザー側とプロバイダ側のルーターとの間にL2スイッチが入っていると,ルーターの障害検知が遅くなる場合がある。

 電子部品製造業のB社もBGP-4を使って,インターネットにマルチホーミングで接続している。契約している2社のうちプロバイダF社とは,ATM専用線をアクセス回線にして接続した。

 もう一方の接続先となるプロバイダG社とはイーサネット専用線を使って接続した。これはB社が入居しているビルまでのアクセス回線として,イーサネット専用線をビル内のユーザーで共有できる割安なサービスをG社が提供していたからだ。ビル内にL2スイッチを置き,複数ユーザーを集線する方式だった。

 このサービスでは,ビル内にプロバイダG社のアクセス・ポイントがある格好になるため,アクセス回線費用が必要ない。月額利用料が安くなると判断したB社は,この接続形態を選んだ。