第3回 BGP運用の基礎
|
インターネットに接続する場合、その接続形態にはいくつかの種類があります。ここでは、BGP(Border Gateway Protocol)の接続形態を説明します。
●インターネット・フルルート
通常、インターネットに接続したBGPルータは、接続プロバイダよりインターネット上のすべての経路情報を受け取ります。これを「フルルート」といいます。各AS(Autonomous
System)はフルルートを受け取り、自ASのローカル経路のアナウンスを行うことで、インターネットと相互に通信できる状態となります。
●トランジット
接続先より受け取った経路情報をほかのASにアナウンスすると、自ASを経由したルーティングが可能になることから、受け取った経路をアナウンスするASを「トランジットAS」といいます。一方、受け取った経路はアナウンスせず、自ASのローカル経路のみをアナウンスするASを「非トランジットAS」といいます。インターネットに接続しているということは、接続プロバイダよりフルルートのトランジット・サービスを受けているということになります。
●シングルホームとマルチホーム
シングルホームとは、外部との接続を1つしか持たないネットワークを指します。これに対し、マルチホームは複数の接続を持つネットワークを指します。
![]() |
図1 シングルホームとマルチホーム。シングルホームはンターネット上から見ると、接続プロバイダに含まれていると見なすことができる。このため、通常は接続プロバイダから提供されるプライベートASとIPアドレスを利用して運用する。逆に、マルチホームの場合、AS番号やIPアドレスを取得し、BGPを運用する必要がある*1 |
|
BGPを使用する場合、まず、自ASの接続形態に応じたフィルタリングを行う必要があります。またBGPは、帯域の使用状況やトラフィックの種別を判断し、自動的に最適パスを選択するという動作は行いません。このため、トラフィックをコントロールしたい場合、基本的には手動で操作する必要があります。
これらの点を踏まえ、ここでは、一般的な企業においてマルチホーム接続をしている場合の経路制御について説明します。
●非トランジットASのためのフィルタリング
マルチホーム接続を行っている場合、多くのBGPルータは、1つのピアから受信した経路情報を他方のピアに対しアナウンスするという基本動作を行います。この場合、自ASはトランジットASとなります。しかし、一般的な企業がマルチホーム接続を行う場合、通常は非トランジットASを構成します。
![]() |
|||||
|
|||||
図2 非トランジットASのためのフィルタリング |
●出力トラフィックのコントロール
自ASからの出力トラフィックをコントロールする場合、LOCAL_PREF属性の操作が有効です。ここでは、LOCAL_PREF属性を利用した出力トラフィックのコントロールを例に挙げてみます。
![]() |
|||||
|
|||||
図3 LOCAL_PREF属性の操作による出力トラフィックのコントロール |
●入力トラフィックのコントロール
自ASへの入力トラフィックをコントロールする*2場合、ASパス属性の操作が有効です。ここでは、ASパス属性の操作による入力トラフィックのコントロールを例に挙げてみます。
![]() |
|||||
|
|||||
図4 ASパス属性の操作による入力トラフィックのコントロール |
|
また、プロバイダによっては、COMMUNITY属性を利用したサービスを行っている場合があります。このような場合には、それらを利用した入力トラフィックのコントロールも可能です。
ここでは、一般的な企業がインターネット接続を運用する場合の注意点について考察します。
●ローカル経路のアナウンス
ローカル経路をアナウンスするためには、主に2つの方法が考えられます。
(1) スタティック・ルートのリディストリビュート
アナウンスしたいローカル経路を、仮想インターフェイスあてのスタティック・ルートとして作成し、これをBGPルートとしてアナウンスする方法です。このように作成された経路は、常にアクティブな状態となります。
(2) ダイナミックに作成された経路のアナウンス
個々の経路情報を集約元とした集約経路を動的に作成し、BGPルートとしてアナウンスする方法です。このように作成された集約経路は、集約元となる経路が1つでも存在すると自動的に作成され、これらすべてがなくなると自動的に消滅します。
(1)の場合の長所と短所は、以下のとおりです。
長所
|
集約経路を常に安定した状態でアナウンスできること |
短所
|
ダイナミックにう回ルートが有効にならないこと |
この方法では、BGPルータがAS内で孤立してしまった場合でも、集約経路は常にアナウンスされます。このため、外部ASとの接続パスを持つほかのBGPルータが存在する場合でも、そちらを経由するう回ルートが有効になりません。結論として、シングルホームや1台のBGPルータでマルチホーム接続をしているASに有効な方法であるといえます。
(2)の場合の長所と短所は、以下のとおりです。
長所
|
ダイナミックにう回ルートが有効になること |
短所
|
集約元の全経路情報が不安定になると、集約経路自体も不安定になること |
この方法では、BGPルータがAS内で孤立してしまった場合、集約経路も自動消滅します。このため、外部ASとの接続パスを持つほかのBGPルータが存在する場合、そちらを経由するう回ルートが有効になります。結論として、複数台のBGPルータを利用したマルチホーム環境に有効な方法であるといえます。
このように、各手法には長所と短所があるため、これらを理解したうえで運用する必要があります。
●不正な経路情報
一般的に、自ASの経路をアナウンスする場合、経路集約を行うことによりプリフィックス数を減少/抑制します。ただし、必要に応じてプリフィックス長の長い、ある特定の経路情報をアナウンスして、経路制御を行う場合があります。意識的にアナウンスする場合は特に問題にはなりませんが、意図しないプリフィックス長の長い特定の経路情報をアナウンスすることにより、トラフィックが最適な経路を経由しない可能性が出てきます。また、不要な経路をアナウンスすることにより、予期せぬパケットのブラックホールの発生が考えられます。
ISP、キャリアなどとは異なり、一般企業におけるBGPの運用では、非トランジットなASを構成することがほとんどです。このような場合、自ASの経路のみのアナウンス、不正経路の受信拒否など、自ASの入力/出力のフィルタリングを明確に設定する必要があります。
●フラップとダンプニング
BGPにてフルルートを観察していると、まれに経路の追加/削除や属性の変更などが頻繁に繰り返される不安定な経路情報を見つけることがあります(ルート・フラップ)。このような状況下では、「UPDATE
/ WITHDRAW」メッセージが大量に発生し、その処理によりルータのリソース(CPU/メモリ)が必要以上に消費されます。また、この状況がインターネット全般に影響を及ぼす恐れがあります。
このため、BGPには、不安定な経路情報にペナルティ(ルート・ダンプニング)を付加し、これが一定値を超えるとその経路を抑制する機能があります。一度抑制された経路は、ある条件をクリアすることで再び採用されるようになります。ルート・ダンプニングを利用することで、ルート・フラップや変動によってネットワークが不安定になることを、最小限に抑えられます。
●ネクスト・ホップ・アドレスの解決
BGPでは、通常のIGPにおけるネクスト・ホップの概念とは異なる部分があるため、ネクスト・ホップの解決にも注意を払う必要があります(ネクスト・ホップの概念については、「第2回
BGPの役割と仕組み:パス属性とは?」を参照)。
このため、BGPのネクスト・ホップ・アドレスとなるネットワーク・セグメント(EBGPピアと接続されているセグメント)をAS内で運用しているIGPルートに流すか、ネクスト・ホップ・アドレスを、BGP経路をアナウンスしているルータ自身のアドレスに変更するなどの設定を行う必要があります。
●ルート・キャッシュの無効化
BGPでは、受信している経路情報の属性値などを変更した場合、再度、経路情報の読み込みを行う必要があります。このため、従来はピアとのTCPセッションを一度切断して、経路情報を受信し直す必要がありました。
その対策として、ルータ内部のメモリに未修正の経路情報をキャッシュし、ここから経路情報を読み込む機能がサポートされました(ルート・キャッシュ機能)。ただし、ルートキャッシュ機能の利用は、ルータのリソース、特にメモリを多く消費します。現在は、より優れた機能として、ピアとのTCPセッションを維持したまま経路情報の再送信を要求する機能がサポートされています(ルート・リフレッシュ機能)。このため、ルート・キャッシュ機能を利用する必要性はほとんどありません。
一昔前は、BGP対応ルータといえば、限られたメーカーの製品しかなかったと思います。しかし現在では、各ネットワーク機器製造会社よりBGPルータが提供されるようになりました。これは、インターネットの普及により、各社がこの市場に着目し、インターネットにおける経路制御プロトコルであるBGPが重要視されたからではないでしょうか。
各社から提供されているBGPルータは、BGPのサポート機能も洗練され、相互接続性もほぼ問題ないように見受けられます。ただし、各社製品にはおのおのの特徴や癖があります。この違いを把握し、自社の運用形態に合った製品を選択することも大切です。