BGPを使ったインターネットへのマルチホーミング接続は,複数の回線を使って通信を冗長化する。しかし,自社や通信先の構成によっては,分散したいトラフィックに偏りが出てしまう場合がある。解決策は,調整するトラフィックの向きが外部から内部なのか,内部から外部なのかで異なる。
インターネット接続をBGPを使ったマルチホーミングで構成する場合,トラフィックが意図しない経路を通ったり,ある経路に集中し過ぎたりするケースがある。トラフィックの経路を適切に調整しなければ,インターネット接続事業者(プロバイダ)に支払うコストが想定以上に発生してしまう。
経路はマルチホーミング接続の設計時だけでなく,使用時に突然変わる可能性がある。BGPで経路情報を更新していると,トラフィックがどの回線経由で流れるかは自社だけでなく,通信先のネットワーク構成によっても異なってくるからだ。
内部から外部への通信路を調整
LOCAL_PREF属性を活用
インターネット接続でBGP対応のトランジット・サービスを利用すると,プロバイダの料金メニュー次第で月額コストが予想以上に高くなる。LAN内部から外部(アウトバウンド)へ流れるトラフィックが多い場合は,BGPルーターのLOCAL_PREF属性を利用すると効果的だ。
オンライン金融業を営むA社はプロバイダ2社と契約し,インターネットにマルチホーミング接続している。ある日,A社のシステム担当者はプロバイダP社からの請求書を見て驚いた。突然,月額料金が大幅に増えていたのだ。
A社が契約するプロバイダはO社とP社で,料金体系はそれぞれ異なっていた。プロバイダO社との契約では占有できる最大帯域が決まっている。サービス料金は月額固定だ。このため,トラフィック量がどれだけ発生しても月額費用は変わらない。
一方,プロバイダP社のメニューでは基本帯域が決まっていた。これを超えるトラフィックを流した場合は超過分としてカウントされ,従量料金が課される。明細を確認すると,取引先であるX社との通信がプロバイダP社経由であり,従量課金の対象となるトラフィックとして非常に多くカウントされていた。
2経路のASパス長は同じだったのに
![]() |
図1 A社は取引先X社の接続形態の変更により内部から外部への経路がP社に偏った X社が接続形態を変更したのをきっかけに,プロバイダP社のルートが取られていた。ASパス長は同じだが,プロバイダO社に接続するルーターのルーターIDの方がプロバイダP社に接続するルーターより小さいからだ。ルーターIDを入れ替えれば元の経路に戻るが,いったんネットワークを停止する必要がある。 |
なぜ経路がプロバイダO社経由からプロバイダP社経由に変わったのか。A社の担当者が調べたところ,取引先X社がプロバイダを追加したことが原因だと分かった。
以前A社の担当者が確認したときには,プロバイダP社経由で取引先X社と通信するには途中にASを三つ経由していた(図1[拡大表示])。BGPでは経由するASの数をASパス長と呼び,この値が小さいほど経路が近い。BGPでは,ASパス長が短い経路が選択される。プロバイダO社と取引先X社は直接接続していたため,経由するAS数は2。プロバイダO社経由の方がネットワーク的に近い位置にあった。
さっそくA社の担当者は現状を調べるため,BGPルーター上で経路情報の「AS_PATH」属性をチェックした。AS_PATH属性とは,経路が広告(アナウンス)される際に経由してきたASの数,つまりASパス長を示す。
すると,取引先X社へのASパス長はプロバイダO社経由とプロバイダP社経由で同じ「2」であることが判明した。ネットワーク的には,プロバイダO社とP社の経路は等距離である。どうやら間接接続だった取引先X社とプロバイダP社が,直接接続に変わっていたようだった。