説明

BGPルータにおける経路表の管理方法及び管理サーバ

【課題】複雑な設計やBGPプロトコル拡張が不要な経路表の管理方法及び管理サーバを提供する。
【解決手段】BGP受信部2でルータ10より経路表を受信してプレフィックスを収集し、パケット情報受信部3で所定期間に渡りルータ10が中継した各データパケットの宛先IPアドレスを収集し、頻度集計部4で各宛先IPアドレスをプレフィックスに割り当てて所定期間に渡る各プレフィックスの宛先としての使用頻度を集計し、メッセージ送信部5で当該集計された頻度が少ないプレフィックスを削除させるメッセージをルータ10へと送信する。さらにルータ10にデフォルトルートを設定し、その次ホップを削除されたプレフィックスの到達可能性を確保するための別途のルータとする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、BGP(Border Gateway Protocol)ルータにおける経路表の効率的な管理方法及び管理サーバに関する。
【背景技術】
【0002】
インターネットにおいてBGPより広告されるプレフィックスは年々増加しており、観測されるプレフィックス数が、ルータのメモリ上の経路表で管理できるプレフィックス数の上限に迫っている問題がある。このため、プレフィックスの効率的な管理が課題となっている。非特許文献1に記載された従来技術は、経路表を複数のルータで分散管理する方法を提案している。
【0003】
図4は当該従来技術を説明するための図である。通常、デフォルトフリーゾーン(DFZ;デフォルトルートがないネットワーク)に接続されたBGPルータは、インターネットで観測される全プレフィックスを経路表で管理する。図4の構成では、仮にインターネットで観測される全プレフィックスを192.168.0.0/24〜192.168.5.0/24の計6個と想定し、互いに隣接するルータA〜ルータCにおいて、それぞれ経路表TA1〜TC1として示すように、これら全プレフィックスを次ホップと対応づけて管理している。
【0004】
当該構成に対して、従来技術では、次のような手法によって経路表のプレフィックスを複数のルータA〜Cで分散管理させる。すなわち、他AS(Autonomous System;自律システム)との接続を持つルータAおよびルータBにおいて、6個のプレフィックスを分散管理させる。例えば、ルータAでは、192.168.0.0/24〜192.168.2.0/24の3個を管理し、ルータBでは、192.168.3.0/24〜192.168.5.0/24の3個を管理するようにする。ただし、他のルータが保持するプレフィックスに対して、到達性を保証する必要があるため、表T2に示すように、それぞれ集約できる範囲で集約したプレフィックスを管理する。これにより、ルータA及びBに対してそれぞれ経路表TA2及びTB2として示すように、各ルータで管理するプレフィックス数を5個に削減できる(5/6に削減)。他のASとの接続を持たない、自AS内のルータCでは、集約したプレフィックスを全て管理するため、経路表TC2として示すように、4個に削減できる(4/6に削減)。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】FIB Suppression with Virtual Aggregation, Internet Draft, http://tools.ietf.org/id/draft-ietf-grow-va-05.txt
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来技術においては、各ルータで管理するプレフィックス数を効率的に削減するためには、上記手法によるプレフィックスの集約方法に加え、実際の運用に合わせて、各プレフィックスに対して流れるトラヒック量を考慮した上でプレフィックスを分散させる必要があるため、設計が複雑になる課題がある。さらに、分散の処理を自動化するためには、BGPプロトコルの拡張が必要になるという課題がある。
【0007】
本発明の目的は、上記従来技術の課題を解決し、複雑な設計を必要とすることなく、また、BGPプロトコルの拡張を必要とすることなく、BGPルータで管理するプレフィックス数を効率的に削減することができる、BGPルータにおける経路表の管理方法及び管理サーバを提供することにある。
【課題を解決するための手段】
【0008】
上記従来技術の課題を解決するために、本発明は、BGPルータにおける経路表の管理方法であって、経路表を管理する第一のBGPルータより該経路表に宛先として記載のプレフィックスを収集するステップと、所定期間に渡り前記第一のBGPルータにて中継された各パケットの宛先IPアドレスを収集するステップと、前記収集された宛先IPアドレスを前記収集されたプレフィックスに割り当て、各プレフィックスが前記所定期間に渡り宛先として使用された頻度を集計するステップと、前記頻度が少ないことに関する所定基準を満たすプレフィックスを前記第一のBGPルータにおける経路表から削除すると共に、前記第一のBGPルータにおける経路表に第二のBGPルータを次ホップとするデフォルトルートを設定するステップと、前記第二のBGPルータにおける経路表にて前記所定基準を満たすプレフィックスを宛先として設定するステップとを備えることを特徴とする。
【0009】
また、上記従来技術の課題を解決するために、本発明は、BGPルータにおける経路表の管理サーバであって、経路表を管理する第一のBGPルータより該経路表に宛先として記載のプレフィックスを収集するBGP受信部と、所定期間に渡り前記第一のBGPルータにて中継された各パケットの宛先IPアドレスを収集するパケット情報受信部と、前記収集された宛先IPアドレスを前記収集されたプレフィックスに割り当て、各プレフィックスが前記所定期間に渡り宛先として使用された頻度を集計する頻度集計部と、前記頻度が少ないことに関する所定基準を満たすプレフィックスを前記第一のBGPルータにおける経路表から削除するBGPメッセージと、前記第一のBGPルータの経路表に第二のBGPルータを次ホップとするデフォルトルートを設定するBGPメッセージと、前記第二のBGPルータにおける経路表にて前記所定基準を満たすプレフィックスを宛先として設定するBGPメッセージとを送信するメッセージ送信部とを備えることを特徴とする。
【発明の効果】
【0010】
本発明によれば、パケットの転送が必要となる転送実績のあるプレフィックスのみを第一のBGPルータで管理させることによって、第一のBGPルータにおけるプレフィックス数が削減されると共に、転送実績がなくとも前記所定期間の後に新たに転送の必要が生じうるプレフィックスについては第二のBGPルータで管理させることで、到達可能性も保証される。しかも当該各効果は、BGPプロトコルの拡張が不要で且つ単純な設計により達せられる。
【図面の簡単な説明】
【0011】
【図1】経路表の管理サーバの機能ブロック図である。
【図2】経路表の管理方法のフローチャートである。
【図3】図2を説明するための図である。
【図4】従来技術を説明するための図である。
【発明を実施するための形態】
【0012】
図1に、本発明に係る経路表の管理サーバの機能ブロックをBGPルータとのやりとりを含めて示す。管理サーバ1は、BGP受信部2,パケット情報受信部3,頻度集計部4及びメッセージ送信部5を備え、ミラーポート11を備えるBGPルータ10と各種の通信を行い、BGPルータ10の経路表に設定を施して管理する。
【0013】
図2に、本発明に係る経路表の管理方法のフローチャートを示す。図3は当該フローチャートを説明するための図であり、ここでのネットワーク構成例は図4で示した例と同様である。すなわち、BGPルータ10の例として、自AS内にそれぞれIPアドレス11.0.0.1, 11.0.0.2及び11.0.0.3を付与されたルータA,B及びCが存在する。管理対象となる全プレフィックスは192.168.0.0/24〜192.168.5.0/24の計6個であり、本発明を適用しない状態においてはルータA〜Cが、図4に示すデフォルトルートを有しない経路表TA1〜TC1により管理している。また他AS内には、次ホップとなるルータの例としてIPアドレス10.0.01を付与されたルータZが存在し、ルータA及びBと接続されている。
【0014】
本発明においては、このような構成の自AS内に管理サーバ1(IPアドレス11.0.0.5)を配置する(1台あればよい)と共に、必要に応じて新たにBGPルータ10の1つであるルータD(IPアドレス11.0.0.6)を導入する。なお、ルータA〜Cの各々と管理サーバ1又はルータDとの間、管理サーバ1とルータDとの間及び管理サーバ1又はルータDとルータZとの間はBGPにおける隣接関係にあるものとする。すなわち、管理サーバ1もルータA〜Dと同様にBGPルータの機能を有する。
【0015】
なお、当該例においては、自ASに対する他ASは図3では1つのみであり、当該他AS内で自ASに次ホップとして接続しているのは1台のルータZのみである。より一般に、他AS及び/又は他ASにおいて次ホップとなるルータZiが複数ある場合(i=1,2,...,n)も、各他ASの各ルータZiが管理サーバ1又はルータDと隣接することにより、本発明を一般的に適用できる。
【0016】
以下、ステップS1より開始される図2の各ステップを説明する。ステップS2にてBGP受信部2は、隣接するBGPルータ10と適宜必要なBGPメッセージを交換することでBGPセッションを張り、図4のTA1〜TC1のような経路表を取得すると共に、経路表に宛先として記載の全プレフィックス(192.168.0.0/24〜192.168.5.0/24)を収集する。ステップS3にてパケット情報受信部3は、BGPルータ10のミラーポート11より、1日又は1ヶ月といったような所定期間に渡って当該BGPルータが中継したデータパケットの情報、特に各パケットの宛先IPアドレスの情報を受信して収集する。
【0017】
なお、ステップS2及びS3では、通信対象となるBGPルータ10として各ルータA〜Cの中から任意の1台のみを選んで通信すればよい。例えば図3ではルータAを対象としている。ステップS2では、経路表の全てを受信するのではなく、宛先として記載のプレフィックスのみを受信及び収集してもよい。ステップS3では、同様の情報を予めデータベース等として取得又は保存して利用できるようにしておけば、ミラーポート11から直接リアルタイムに受信しなくともよい。
【0018】
ステップS4にて頻度集計部4は、ステップS2で収集した経路表のプレフィックスとステップS3にて収集した宛先IPアドレスとを最長一致(Longest Match)アルゴリズムに従ってマッピングし、プレフィックス毎に観測されたパケット数を集計する。すなわち、各プレフィックスがステップS3の所定期間に渡り各パケットの宛先として使用された頻度を集計する。ステップS4の集計例を図3のテーブルT30に示す。
【0019】
ステップS5では、ステップS2で収集した各プレフィックスにつき以降のステップを実行するための識別カウンタiを初期値1に設定する。以下説明し図2中にも記載のように、各プレフィックスiに対して各ケース(1)〜(3)のうちの該当するケースに応じた処理がなされる。
【0020】
ステップS6にて頻度集計部4は、i番目のプレフィックスが削除対象であるかを判定する。ここでは、ステップS4の集計結果において頻度が少ない側の所定条件にプレフィックスiが該当する場合に、削除対象であると判定する。図3の例では、テーブルT30に示すように、観測パケット数が0個であり実際には使われていないプレフィックス192.168.3.0/24,192.168.4.0/24及び192.168.5.0/24が削除対象と判定される。所定条件としてはその他例えば、ステップS3の所定期間内で観測パケット数が100個以下であること、等としてもよい。
【0021】
ステップS6で削除対象と判定された場合[ケース(1)]、ステップS7にて当該プレフィックスiを各BGPルータ10(図3ではルータA〜C)の経路表から削除するためのBGPメッセージ、すなわち当該プレフィックスiに対するWithdrawメッセージをメッセージ送信部5が各BGPルータ10に送信する。この際、Withdrawメッセージの他ASへの流出を防ぐため、COMMUNITY属性としてNO EXPORTを設定する。
【0022】
なお、ステップS7ではまた、当該削除するプレフィックスiが後述のステップS10において追加対象となる場合に備えて、削除プレフィックスiに対する各ルータA〜Cでの当該時点における経路表に記載の次ホップを管理サーバ1において記録しておくものとする。
【0023】
なおまた、当該図2のフロー全体を終えた後に、当該削除したプレフィックスiに対して仮に経路変更があった場合は、次のような処理を行うことで、図2のフローを再度繰り返す場合に向けた準備を行う。すなわち、当該経路変更の通知を各ルータA〜C及び管理サーバ1が受信すると、まず一旦、各ルータA〜Cは管理する経路表に当該プレフィックスiを、当該通知された経路変更を反映させて追加する。管理サーバ1は当該追加の直後に、当該プレフィックスiに対してステップS7及び後述のステップS8と同様の処理を行い、自身で管理している経路表におけるプレフィックスiにおいて次ホップを変更する等して経路変更を反映させ、経路表を更新する。このようにして、経路変更のあったプレフィックスiは各ルータA〜Cの経路表には(追加直後に削除されることによって)記載されず、管理サーバ1の経路表において経路変更を反映して管理されることとなる。
【0024】
ステップS8では、当該削除されたプレフィックスiへの到達性を保証するため、各BGPルータ10(ルータA〜C)に対して、メッセージ送信部5よりデフォルトルート0.0.0.0/0を広報する。この際、デフォルトルートの次ホップとしては、管理サーバ1自身のIPアドレスを、または当初全プレフィックスを管理していたルータA〜Cと別途にルータDを追加利用できる場合には、当該ルータDのIPアドレスを、ルータA〜Cに広報する。
【0025】
ステップS8ではさらに、次ホップとして設定された管理サーバ1またはルータDの経路表に、ルータA〜Cにて削除された当該プレフィックスiを宛先として設定させるBGPメッセージを、メッセージ送信部5が送信する。この際、当該宛先プレフィックスiの次ホップは前記ステップS7にて記録した各次ホップのうち、他ASに属するルータ(図3ではIPアドレス10.0.0.1のルータZ)に設定できる。なお、管理サーバ1自身に設定する場合はBGPメッセージの送信を省略してもよい。
【0026】
なおまた、ルータDを追加利用せず管理サーバ1を利用する場合、管理サーバ1は当該追加利用することも検討可能なルータDのBGPルータとしての役割を兼用しているとみなすことができる。
【0027】
図3の経路表T3は、テーブルT30に示す集計結果の場合にパケット数0のプレフィックスを削除対象とした場合の、当該管理サーバ1またはルータDに設定される経路表の例である。
【0028】
ステップS6に戻り、前記所定条件に該当せず、プレフィックスiに所定の使用実績があり削除対象とは判定されなかった場合[ケース(2)または(3)]、ステップS9にて当該プレフィックスiが追加対象であるかを頻度集計部4が判定する。
【0029】
追加対象であると判定されるのは、図2のフロー全体を例えば9月に一度実施して10月に再度実施するといったように、ステップS3における異なる所定期間において2回以上実施しており、当該プレフィックスiが直前の回(例えば9月に実施の回)ではステップS6にて削除対象と判定されたが、今回(例えば10月に実施の回)は削除対象とは判定されなかった場合[ケース(2)]である。
【0030】
このように判定されるプレフィックスiはルータA〜Cの経路表から直前の回において削除されており、今回はルータA〜Cの経路表に戻す必要がある、すなわち追加対象である。そこでステップS10において、メッセージ送信部5が各BGPルータ10(ルータA〜C)に対して当該プレフィックスiを宛先として設定させるBGPメッセージすなわちAnnounceメッセージを送信する。この際も、Withdrawの場合と同様、Announceメッセージの他ASへの流出を防ぐため、NO EXPORT属性を有効にする。
【0031】
この際、当該宛先プレフィックスiの次ホップは、直前の回のステップS7で削除されると共に管理サーバ1が記録し、前述のようにその後、当該削除されたプレフィックスiに対して経路変更があれば管理サーバ1の経路表において更新した次ホップを、各ルータA〜Cに設定する。
【0032】
なお、図2のフロー全体を2回以上実施する場合、2回目以降においては1回目の後の経路変更も反映された、ルータA〜Cの経路表と管理サーバ1又はルータDの経路表とによってその時点での全プレフィックスを保持している。よって2回目以降のステップS2では、前述のようにルータA〜Cのいずれかの経路表のみからではなく、さらに管理サーバ1又はルータDの経路表からBGP受信部2が全プレフィックスを収集するものとする。
【0033】
ステップS9に戻り、追加対象と判断されなかった場合[ケース(3)]、当該プレフィックスiはそのまま各ルータA〜Cの経路表に記載しておくべきプレフィックスであるので、WithdrawもAnnounceも不要であり、経路表における当該プレフィックスiに関する操作は何も行われない。
【0034】
以上のような、プレフィックスiにつき各ケース(1)〜(3)のいずれかにおける処理を終えると、ステップS11では全プレフィックスにつき処理が完了したかを頻度集計部4が判断し、完了していればステップS13にて当該フローは終了し、完了していなければカウンタiを増分して次のプレフィックスを対象として再度ステップS6からフローが繰り返される。
【0035】
図3の経路表TA3〜TC3は、上記のようなフローによりテーブルT30に示す集計結果が得られ、T3に示す経路表が(ルータDではなく)IPアドレス11.0.0.5の管理サーバ1に設定された場合の、ルータA〜Cにおいて設定される経路表の例である。さらに当該フローを再度行い、初回の集計結果T30とは異なり例えば192.168.3.0/24のパケット数が0ではなく300など相当数が得られ且つその他のプレフィックスにおける観測パケット数に関しては同様であり、フローを再度行うまでに経路変更などがなかった場合、各経路表は次のように更新される。
【0036】
すなわち、経路表TA3及びTB3において「プレフィックス192.168.3.0/24 次ホップ10.0.0.1」が追加され、経路表TC3において「プレフィックス192.168.3.0/24 次ホップ11.0.0.1」が追加され、経路表T3から「プレフィックス192.168.3.0/24 次ホップ10.0.0.1」が削除されることとなる。
【0037】
なお、ステップS7,S8及びS10の各BGPメッセージの送信及び経路表T3の構築については、各プレフィックスiにつきケース(1)〜(3)の判断と同時に個別にBGPメッセージ送信及び経路表構築するのではなく、判断のみ全プレフィックスにつき前もって下しておき、該当するプレフィックスをメッセージ内にまとめて格納して一括で行うようにして、送信及び構築の効率化を図ってもよい。
【0038】
なおまた、図2のフロー全体を2回目以降に実行するに際しては、プレフィックスiが今回、ケース(1)を辿る場合は、ステップS9における判断と同様に、今回と前回とで差異が生じたプレフィックスのみを処理対象としてよい。すなわち、今回ケース(1)を辿るプレフィックスiのうち、前回はケース(2)又は(3)を辿り今回新たにケース(1)を辿ることとなったものについてのみ、ステップS7及びS8を実行するようにし、前回も同じくケース(1)を辿ったものは既にルータA〜Cの経路表から削除される等しているので、ステップS7及びS8は省略してもよい。
【0039】
本発明のより簡素な実施例として、ステップS8のデフォルトルートの送信を省略してもよい。この場合作成される経路表は、図3の例ならば経路表TA3〜TC3から「プレフィックス0.0.0.0/0 次ホップ11.0.0.5」が削除されたものとなり、宛先がプレフィックス192.168.3.0/24,192.168.4.0/24又は192.168.5.0/24に該当するパケットが当該経路表の適用後に現れた場合にはルータA〜Cにて破棄されることとなる。代わりに利点として、当該プレフィックスに対応する次ホップを定めたネットワーク構成を管理サーバ1又はルータDを用いて構築する必要はなくなる。
【0040】
同様に、デフォルトルートは送信するが、データパケットが管理サーバ1又はルータDに転送された後の到達可能性は保証しないようにしてもよい。いずれの場合も、削除対象は観測パケット数に基づいて決定しているため、統計的に妥当な所定期間に渡って観測しておけば破棄されるデータパケットは少なく、ルータA〜Cからなる当初のネットワーク構成のままで大多数のデータパケットを正常に転送しつつ経路表を効率的に削減することができる。
【符号の説明】
【0041】
1…管理サーバ、2…BGP受信部、3…パケット情報受信部、4…頻度集計部、5…メッセージ送信部、10…BGPルータ

【特許請求の範囲】
【請求項1】
BGPルータにおける経路表の管理方法であって、
経路表を管理する第一のBGPルータより該経路表に宛先として記載のプレフィックスを収集するステップと、
所定期間に渡り前記第一のBGPルータにて中継された各パケットの宛先IPアドレスを収集するステップと、
前記収集された宛先IPアドレスを前記収集されたプレフィックスに割り当て、各プレフィックスが前記所定期間に渡り宛先として使用された頻度を集計するステップと、
前記頻度が少ないことに関する所定基準を満たすプレフィックスを前記第一のBGPルータにおける経路表から削除すると共に、前記第一のBGPルータにおける経路表に第二のBGPルータを次ホップとするデフォルトルートを設定するステップと、
前記第二のBGPルータにおける経路表にて前記所定基準を満たすプレフィックスを宛先として設定するステップとを備えることを特徴とするBGPルータにおける経路表の管理方法。
【請求項2】
前記宛先IPアドレスを収集するステップ及び前記頻度を集計するステップを再度行うステップと、
当該再度集計された頻度が前記所定基準を満たさなくなったプレフィックスを前記第一のBGPルータにおける経路表に宛先として設定すると共に前記第二のBGPルータにおける経路表から削除するステップと、
当該再度集計された頻度が前記所定基準を満たすようになったプレフィックスを前記第一のBGPルータにおける経路表から削除すると共に前記第二のBGPルータにおける経路表にて宛先として設定するステップとさらに備えることを特徴とする請求項1に記載のBGPルータにおける経路表の管理方法。
【請求項3】
前記第一及び第二のBGPルータは所定のASに属し、前記経路表から削除し、前記経路表に宛先として設定する際の各BGPメッセージが前記AS内に閉じて流れることを特徴とする請求項1または2に記載のBGPルータにおける経路表の管理方法。
【請求項4】
BGPルータにおける経路表の管理サーバであって、
経路表を管理する第一のBGPルータより該経路表に宛先として記載のプレフィックスを収集するBGP受信部と、
所定期間に渡り前記第一のBGPルータにて中継された各パケットの宛先IPアドレスを収集するパケット情報受信部と、
前記収集された宛先IPアドレスを前記収集されたプレフィックスに割り当て、各プレフィックスが前記所定期間に渡り宛先として使用された頻度を集計する頻度集計部と、
前記頻度が少ないことに関する所定基準を満たすプレフィックスを前記第一のBGPルータにおける経路表から削除するBGPメッセージと、前記第一のBGPルータの経路表に第二のBGPルータを次ホップとするデフォルトルートを設定するBGPメッセージと、前記第二のBGPルータにおける経路表にて前記所定基準を満たすプレフィックスを宛先として設定するBGPメッセージとを送信するメッセージ送信部とを備えることを特徴とする管理サーバ。
【請求項5】
前記第二のBGPルータの役割を兼用することを特徴とする請求項4に記載の管理サーバ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2013−78012(P2013−78012A)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2011−217148(P2011−217148)
【出願日】平成23年9月30日(2011.9.30)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】