説明

BGP計測データのデータ補正装置、データ補正方法、及びデータ補正用プログラム

【課題】公開されているBGP計測データは、データ欠損している場合があった。
【解決手段】BGP計測データから欠損BGPメッセージを検出する欠損BGPメッセージ検出部102と、BGP計測データについて、第1時刻のRIBとそれに連続した複数のBGPアップデートメッセージとに基づき第2時刻の計算RIBを生成し、計算RIBとBGP計測データに含まれた第2時刻のRIBとに基づいて欠損BGPデータを抽出する欠損BGPデータ抽出部103と、欠損BGPデータとマッチングさせる欠損BGPメッセージ候補を欠損BGPメッセージから抽出するマッチング候補抽出部104と、欠損BGPメッセージ候補と欠損BGPデータとの相関度を計算する相関度計算部105と、相関度に基づいて欠損BGPメッセージ候補と欠損BGPデータとをマッチングさせる欠損BGPメッセージ補正部106とを備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の自律システム(Autonomous System:AS)が相互接続されて構成された通信ネットワークシステムから収集されたBGP(Boder Gateway Protocol)計測データを補正する技術に関する。
【背景技術】
【0002】
インターネットは、インターネットサービスプロバイダや企業等の各組織が有する自律したTCP/IP(Transmission Control Protocol/Internet Protocol)ネットワーク、すなわち自律システム(Autonomous System:AS)を相互に接続して構成されている。各ASは、共通の経路制御ポリシーで運用されるネットワーク接続機器(ノード)の集合体として構成されている。ノードとしては、例えばルータやコンピュータ(PC)が用いられる。ルータは経路表を保有し、その経路表に従ってパケットの受け渡し(ルーティング)を行う。この経路表は、経路情報の一覧によって構成される。そして、経路情報には、宛先アドレス情報であるプレフィクス(IPアドレスとサブネットマスクのビット数との組)と、そのプレフィクスに到達するための隣接ルータのIPアドレスと、優先順位等を示す属性情報とが含まれる。そして、ある宛先アドレスを含むプレフィクスを有する経路情報が経路表に含まれている場合、当該ルータからその宛先アドレスへ至る経路が存在していることが示される。
【0003】
各ルータは、経路情報を相互に交換して経路表を更新するが、この経路情報の交換処理にはBGP(Border Gateway Protocol)が用いられる。各ルータはBGP通信機能を備えており、経路情報を相互に交換する。その経路情報は、BGPアップデートメッセージ(以下、BGPメッセージという。)と称される。経路変更及び経路削除は、BGPメッセージを用いて広報されるが、経路変更を広報するためのBGPメッセージを「ANNOUNCEメッセージ」といい、経路削除を広報するためのBGPメッセージを「WITHDRAWメッセージ」という。
【0004】
Route Viewsプロジェクト(http://www.routeviews.org/)やRIPE Routing Information Service(RIS)プロジェクト(http://www.ripe.net/ris/)では、インターネット上の多地点でBGPデータを計測・収集し公開している。具体的には、これらのプロジェクトでは、ルーティングソフトウェアであるQuaggaルーティングデーモンをインストールしたPCをBGPルータにピア接続し、そのPCに、接続の相手側から送信されたBGPメッセージとRIB(Route Information Base)とを受信させて、これらのBGP計測データを周期的にファイル出力している。図12に、BGP計測データのファイル出力のタイミングを模式的に示す。同図に示すように、計測されたRIB(計測RIB)は周期的(時刻Tk,時刻Tk+t,時刻Tk+2t,・・・)にファイル出力され、BGPメッセージは経路変更があったタイミングでファイル出力される。
【0005】
これらのBGP計測データは、BGPの安定性や収束性の調査など、研究データとして広く利用されているが、近年、そのBGP計測データが不完全である問題が指摘されている(例えば、非特許文献1)。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Ashley Flavel, Olaf Maennel, Belinda Chiera, Matthew Roughan, Nigel Bean, “CleanBGP: Verifying the Consistency of BGP Data,” Internet Network Management Workshop, 2008.
【発明の概要】
【発明が解決しようとする課題】
【0007】
BGP計測データが不完全となる理由について説明する。上記のプロジェクトで用いられている計測用PCに標準的にインストールされているQuaggaルーティングデーモンでは、BGPメッセージのデータ記録容量に上限を設けている(例えば、4096バイト)。これに対して、BGPでは、同一のASパス属性(ASPATH)やコミュニティ属性(COMMUNITY)等を有する多数のプレフィクスが、一つのBGPメッセージ含められて広報される場合がある。一つのBGPメッセージに含められるプレフィクスが増えるにつれて、BGPメッセージのデータサイズは大きくなる。そのため、計測用PCが、上限値である4096バイトを超えるサイズのBGPメッセージを受信すると、そのBGPメッセージは、4096バイトを超える部分のデータが切捨てられて記録されることになる。図11に、BGPメッセージの一部分のデータが切捨てられて記録される様子を模式的に示す。計測用PCが、同図(a)に示すように、経路変更のタイミングで入来したBGPメッセージを受信すると、同図(b)に示すように、Quaggaルーティングデーモンの上限値である4096バイトを超える部分のデータは、切捨てられて記録されないこととなっている。このようにして、記録されたBGPメッセージには、データの欠損が発生する。
【0008】
そこで、上記の非特許文献1では、ある時刻t1に記録されたRIB(Measured RIBという。)と、そのRIBに連続するBGPメッセージとによって時刻t2(時刻t1よりも後の時刻である。)における仮想的なRIBをローカルに計算し(Computed RIBという。)、これと時刻t2に記録されたMeasured RIBとの比較によって、BGP計測データのデータ欠損を検出する方法を提案している。しかし、この非特許文献1に開示された技術は、欠損部分の検出を目的としたものであり、欠損したデータを補正する方法や手段については一切開示されていない。
【0009】
そこで、本発明は上記事情に鑑みてなされたものであり、通信ネットワークシステムから収集されたBGP計測データにおけるBGPアップデートメッセージの欠損BGPデータを検出して復元し、BGPアップデートメッセージを補正することのできる、BGP計測データのデータ補正装置、データ補正方法、及びデータ補正用プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明は、上記の課題を解決するために、以下[1]−[3]の手段を提供するものである。
[1] 複数の自律システムが相互接続された通信ネットワークシステムから収集された、RIB及びBGPアップデートメッセージを含むBGP計測データから、データの欠損しているBGPアップデートメッセージである欠損BGPメッセージを検出する欠損BGPメッセージ検出手段と、
前記BGP計測データについて、受信時刻が第1時刻であるRIBとその第1時刻に連続した受信時刻である複数のBGPアップデートメッセージとに基づいて、前記第1時刻よりも後の時刻である第2時刻の仮想RIBを生成し、この仮想RIBと前記BGP計測データに含まれた受信時刻が前記第2時刻と同時刻であるRIBとに基づいて、欠損しているデータである欠損BGPデータを抽出する欠損BGPデータ抽出手段と、
前記検出された欠損BGPメッセージから、前記抽出された欠損BGPデータとマッチングさせる候補である欠損BGPメッセージ候補を抽出するマッチング候補抽出手段と、
前記抽出された欠損BGPメッセージ候補と前記欠損BGPデータとの相関度を計算する相関度計算手段と、
前記計算された相関度に基づいて、前記欠損BGPメッセージ候補と前記欠損BGPデータとを一対一でマッチングさせて前記欠損BGPメッセージを補正する欠損BGPメッセージ補正手段と、
を備えたことを特徴とするBGP計測データのデータ補正装置。
[2] 複数の自律システムが相互接続された通信ネットワークシステムから収集された、RIB及びBGPアップデートメッセージを含むBGP計測データから、データの欠損しているBGPアップデートメッセージである欠損BGPメッセージを検出する欠損BGPメッセージ検出ステップと、
前記BGP計測データについて、受信時刻が第1時刻であるRIBとその第1時刻に連続した受信時刻である複数のBGPアップデートメッセージとに基づいて、前記第1時刻よりも後の時刻である第2時刻の仮想RIBを生成し、この仮想RIBと前記BGP計測データに含まれた受信時刻が前記第2時刻と同時刻であるRIBとに基づいて、欠損しているデータである欠損BGPデータを抽出する欠損BGPデータ抽出ステップと、
前記検出された欠損BGPメッセージから、前記抽出された欠損BGPデータとマッチングさせる候補である欠損BGPメッセージ候補を抽出するマッチング候補抽出ステップと、
前記抽出された欠損BGPメッセージ候補と前記欠損BGPデータとの相関度を計算する相関度計算ステップと、
前記計算された相関度に基づいて、前記欠損BGPメッセージ候補と前記欠損BGPデータとを一対一でマッチングさせて前記欠損BGPメッセージを補正する欠損BGPメッセージ補正ステップと、
を有したことを特徴とするBGP計測データのデータ補正方法。
[3] コンピュータに、
複数の自律システムが相互接続された通信ネットワークシステムから収集された、RIB及びBGPアップデートメッセージを含むBGP計測データから、データの欠損しているBGPアップデートメッセージである欠損BGPメッセージを検出する欠損BGPメッセージ検出ステップと、
前記BGP計測データについて、受信時刻が第1時刻であるRIBとその第1時刻に連続した受信時刻である複数のBGPアップデートメッセージとに基づいて、前記第1時刻よりも後の時刻である第2時刻の仮想RIBを生成し、この仮想RIBと前記BGP計測データに含まれた受信時刻が前記第2時刻と同時刻であるRIBとに基づいて、欠損しているデータである欠損BGPデータを抽出する欠損BGPデータ抽出ステップと、
前記検出された欠損BGPメッセージから、前記抽出された欠損BGPデータとマッチングさせる候補である欠損BGPメッセージ候補を抽出するマッチング候補抽出ステップと、
前記抽出された欠損BGPメッセージ候補と前記欠損BGPデータとの相関度を計算する相関度計算ステップと、
前記計算された相関度に基づいて、前記欠損BGPメッセージ候補と前記欠損BGPデータとを一対一でマッチングさせて前記欠損BGPメッセージを補正する欠損BGPメッセージ補正ステップと、
を実行させるためのBGP計測データのデータ補正用プログラム。
【発明の効果】
【0011】
本発明によれば、通信ネットワークシステムから収集されたBGP計測データにおけるBGPアップデートメッセージの欠損BGPデータを検出して復元し、BGPアップデートメッセージを補正することができるため、BGP計測データの信頼性を向上させることができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施形態であるBGP計測データのデータ補正装置の概略機能ブロック図である。
【図2】本実施形態であるデータ補正装置における欠損BGPメッセージの検出処理を示したフローチャートである。
【図3】本実施形態であるデータ補正装置における欠損BGPデータの抽出処理を示したフローチャートである。
【図4】本実施形態であるデータ補正装置における欠損BGPメッセージの補正処理を示したフローチャートである。
【図5】BGPメッセージの概略のデータフォーマットを示した図である。
【図6】欠損BGPメッセージの検出処理によってBGP計測データから検出された欠損BGPメッセージを第1又は第2分類に分類した様子を模式的に示した図である。
【図7】計測RIBとそれに連続するBGPメッセージとから生成される計算RIBを説明するための図である。
【図8】本実施形態であるデータ補正装置が受信したBGPメッセージの例である。
【図9】本実施形態であるデータ補正装置が記録した計測RIBの経路情報の例である。
【図10】本実施形態であるデータ補正装置が受信したBGPメッセージの例である。
【図11】BGPメッセージの一部分のデータが切捨てられて計測用PCに記録される様子を示した図である。
【図12】計測用PCのBGP計測データのファイル出力のタイミングを説明するための図である。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。本実施形態では、通信ネットワークシステムから収集されるBGP計測データ、例えば、Route ViewsプロジェクトやRISプロジェクトの公開BGPサーバ等から収集されるBGP計測データをデータ補正の対象とした例について説明する。BGP計測データは、前述したように、図12に示すようなタイミングで計測された計測RIBとBGPメッセージとからなるものである。
【0014】
図1に、本発明の実施形態であるBGP計測データのデータ補正装置の概略機能ブロック図を示す。同図において、データ補正装置1は、計測データ収集部101と、欠損BGPメッセージ検出部102と、欠損BGPデータ抽出部103と、マッチング候補抽出部104と、相関度計算部105と、欠損BGPメッセージ補正部106と、補正欠損BGPメッセージ記録部107と、BGP計測データ記録部110とを備えている。
【0015】
計測データ収集部101は、Route ViewsプロジェクトやRISプロジェクトが運用している公開BGPデータサーバからBGP計測データをダウンロードしてBGP計測データ記録部110に記録するものである。欠損BGPメッセージ検出部102は、BGP計測データに含まれたBGPメッセージのうちデータの欠損しているBGPメッセージである欠損BGPメッセージを検出し、その欠損部分に応じて2種類に分類するものである。欠損BGPデータ抽出部103は、BGP計測データから、欠損したプレフィクスである欠損BGPデータを抽出して欠損の種類別に2分類するものである。
【0016】
マッチング候補抽出部104は、抽出した欠損BGPデータとマッチングさせる欠損BGPメッセージの候補(欠損BGPメッセージ候補)を抽出するものである。相関度計算部105は、抽出したマッチング候補と欠損BGPデータとの組合せにおいて、過去のBGP計測データに基づいて欠損BGPデータ及びBGPメッセージの相関度を計算するものである。欠損BGPメッセージ補正部106は、マッチング候補及び相関度に基づき欠損BGPメッセージと欠損BGPデータとのマッチング(補正)を行って補正欠損BGPメッセージを生成するものである。補正欠損BGPメッセージ記録部107は、生成された補正欠損BGPメッセージを記録するものである。
【0017】
次に、本実施形態であるBGP計測データのデータ補正装置の動作について、図2−図4のフローチャートを併せ参照して説明する。まず、欠損BGPメッセージの検出処理について、図2のフローチャートを参照して説明する。同図において、データ補正装置1の計測データ収集部101は、Route ViewsプロジェクトやRISプロジェクトの公開BGPデータサーバからBGP計測データをダウンロードしてBGP計測データ記録部110に記録する(S201)。なお、BGP計測データの収集方法は、公開BGPデータサーバから直接ダウンロードする以外に、BGP計測データを保有している他のPCからデータ転送したり、BGP計測データが記録されたDVDやメモリ等の可搬型記録媒体からデータを複製したりしてもよい。
【0018】
次に、欠損BGPメッセージ検出部102は、BGP計測データ記録部110に記録されたBGP計測データから時系列の順番で一つのBGPメッセージを読み出す(S202 YES,S203)。一方、BGP計測データにBGPメッセージが含まれていない場合(S202 NO)は、欠損BGPメッセージ検出部102は欠損BGPメッセージの検出処理を終了する。
【0019】
一つのBGPメッセージを読み出すと(S203)、欠損BGPメッセージ検出部102は、そのBGPメッセージにデータの欠損があるか否かを判定し、データの欠損があると判定した場合には当該BGPメッセージを欠損BGPメッセージとして検出する(S204)。具体的には、欠損BGPメッセージ検出部102は、読み出したBGPメッセージ内のフィールド長を確認し、当該BGPメッセージの受信されるべきデータサイズがQuaggaルーティングデーモンで設定されている上限値(4096バイト)を超えているか否かを判定することで欠損BGPメッセージを検出する。
【0020】
この判定処理についてより具体的に説明する。図5に、BGPメッセージの概略のデータフォーマットを示す。同図において、BGPメッセージは、2バイト長のUnfeasible Routes Lengthフィールドと、可変長のWithdrawn Routesフィールドと、2バイト長のTotal Path Attributes Lengthフィールドと、可変長のPath Attributesフィールドと、可変長のNetwork Layer Reachability Information(NLRI)フィールドとを含んでいる。
【0021】
このデータフォーマットにおいて、Withdrawn Routesフィールドには、ASから削除される経路のプレフィクスのリストが格納され、Unfeasible Routes Lengthには、Withdrawn Routesフィールドのデータサイズが格納される。また、Path Attributesフィールドにはパス属性が格納され、NLRIフィールドにはPath Attributesの値を有するプレフィクスのリストが格納される。そして、Total Path Attributes Lengthフィールドには、Path AttributesフィールドとNLRIフィールドとを合わせたフィールドのデータサイズが格納される。
【0022】
欠損BGPメッセージ検出部102は、読み出したBGPメッセージのUnfeasible Routes Lengthフィールド及びTotal Path Attribute Lengthフィールドそれぞれに格納されたデータサイズと、Unfeasible Routes Lengthフィールド及びTotal Path Attribute Lengthフィールドのデータ長である4バイトとを加算し、BGPメッセージサイズを算出する。そして、欠損BGPメッセージ102は、算出したBGPメッセージサイズとQuaggaルーティングデーモンで設定されている上限値である4096バイトとを比較し、BGPメッセージサイズ>4096バイトである場合には、当該BGPメッセージにデータの欠損があると判定し、BGPメッセージサイズ≦4096バイトである場合には、当該BGPメッセージにデータの欠損はないと判定する。
【0023】
ステップS204の処理において、欠損BGPメッセージが検出された場合(S204 YES)はステップS205の処理に移行する一方、欠損BGPメッセージが検出されなかった場合(S204 NO)はステップS202の処理に戻る。
【0024】
ステップS204の処理において欠損BGPメッセージが検出された場合(S204 YES)、欠損BGPメッセージ検出部102は、その欠損BGPメッセージを欠損部分に応じて2種類に分類する(S205)。具体的には、欠損BGPメッセージのUnfeasible Routes Lengthフィールドに格納されたデータサイズと、Withdrawn Routesフィールドのデータサイズとを比較して、両者のデータサイズが異なる場合に、その欠損BGPメッセージを第1分類(Wi(i=1,2,・・・))に配属させる。この第1分類は、欠損BGPメッセージのWithdrawn Routesフィールドの一部分が欠損したグループである。
【0025】
そして、欠損BGPメッセージのTotal Attribute Lengthフィールドに格納されたデータサイズと、Path Attributesフィールド及びNLRIフィールドそれぞれのデータサイズを合わせたデータサイズとを比較して、両者のデータサイズが異なっており、且つ欠損BGPメッセージに少なくとも1プレフィクスのNLRIフィールドが含まれている場合に、その欠損BGPメッセージを第2分類(Aj(j=1,2,・・・))に配属させる。この第2分類は、欠損BGPメッセージのNLRIフィールドの一部分が欠損したグループである。
【0026】
次に、欠損BGPメッセージ検出部102は、欠損BGPメッセージが第1分類に分類された場合には、Unfeasible Routes Lengthフィールドに格納されたデータサイズと、欠損BGPメッセージのWithdrawn Routesフィールドのデータサイズとの差分値を、欠損したWithdrawn Routesフィールドの欠損データサイズ(欠損Withdrawnデータサイズ)として記憶する。その一方、欠損BGPメッセージ検出部102は、欠損BGPメッセージが第2分類に分類された場合には、Total Attribute Lengthフィールドに格納されたデータサイズと、欠損BGPメッセージのPath Attributesフィールド及びNLRIフィールドそれぞれのデータサイズを合わせたデータサイズとの差分値を、欠損したNLRIフィールドの欠損データサイズ(欠損NLRIデータサイズ)として記憶する(S206)。そして、ステップS202の処理に移行する。
【0027】
図6に、欠損BGPメッセージの検出処理によってBGP計測データから検出された欠損BGPメッセージを第1又は第2分類に分類した様子を模式的に示す。同図において、W1−W4は第1分類に分類された欠損BGPメッセージ(欠損WITHDRAWメッセージ)であり、A1−A4は第2分類に分類された欠損BGPメッセージ(欠損ANNOUNCEメッセージ)である。
【0028】
次に、欠損BGPデータの抽出処理について、図3のフローチャートを参照して説明する。同図において、データ補正装置1の欠損BGPデータ抽出部103は、BGP計測データ記録部110に記録されたBGP計測データから時系列の順番で一つの計測RIBとそれに連続するBGPメッセージとを読み出す(S301 YES,S302)。一方、BGP計測データに計測RIBが含まれていない場合(S301 NO)は、欠損BGPデータ抽出部103は欠損BGPデータの抽出処理を終了する。
【0029】
一つの計測RIBとそれに連続するBGPメッセージとを読み出すと(S302)、欠損BGPデータ抽出部103は、これら計測RIB及びBGPメッセージを解析して、当該計測RIBの次のRIB(計算RIB又は仮想RIBという。)を生成する(S303)。具体的には、欠損BGPデータ抽出部103は、読み出されたBGPメッセージを受信時刻順に参照し、BGP属性に基づいて計測RIBの更新を繰り返して計算RIBを生成する。例えば、図7に示すように、欠損BGPデータ抽出部103は、時刻Tk(第1時刻)から時刻Tk+t(第2時刻)の間に受信されたBGPメッセージ71を受信時刻順に参照して、BGP属性に基づいて計測RIB72の更新を繰り返して計算RIB73を生成する。
【0030】
次に、欠損BGPデータ抽出部103は、BGP計測データ記録部110に記録されたBGP計測データからステップS302で読み出した計測RIBの次の計測RIB(次計測RIB)を読み出す(S304 YES,S305)。図7の例においては、計測RIB74を次計測RIBとして読み出す。一方、BGP計測データに計測RIBが含まれていない場合(S304 NO)は、欠損BGPデータ抽出部103は欠損BGPデータの抽出処理を終了する。
【0031】
次に、欠損BGPデータ抽出部103は、読み出された次計測RIBと、ステップS303の処理において生成した計算RIBとについて、BGP属性(具体的には、ASPATH,NEXT_HOP,MULTI_EXIT_DISC,COMMUNITY)を比較する(S306)。図7の例においては、計測RIB74と計算RIB73との間でBGP属性を比較する。
【0032】
そして、欠損BGPデータ抽出部103は、BGP属性の異なるプレフィクスを検出した場合(S307 YES)、そのプレフィクスを欠損BGPデータとして抽出し、次の2種類のうちいずれかに分類して記憶する(S308)。
(1)計算RIBには含まれているが計測RIBには含まれていないプレフィクスは、前述した第1分類に分類された欠損BGPメッセージによる影響として、Withdrawn Routesフィールドの部分的な欠損の影響を少なくとも1回受けているものと推定される。このプレフィクスをPWx(x=1,2,・・・)とする。
(2)計測RIBには含まれるが計算RIBには含まれていないプレフィクスと、計算RIB及び計測RIBの両方に含まれているが、BGP属性が異なるプレフィクスは、前述した第2分類に分類された欠損BGPメッセージによる影響として、NLRIフィールドの部分的な欠損の影響を少なくとも1回受けているものと推定される。このプレフィクスをPAy(y=1,2,・・・)とする。
【0033】
一方、欠損BGPデータ抽出部103は、BGP属性の異なるプレフィクスを検出しなかった場合は(S307 NO)、ステップS301の処理に戻る。
【0034】
次に、欠損BGPメッセージの補正処理について、図4のフローチャートを参照して説明する。同図において、データ補正装置1のマッチング候補抽出部104は、欠損BGPデータ(PWx(x=1,2,3,・・・),PAy(y=1,2,3,・・・))とマッチングさせる欠損BGPメッセージ(Wi(i=1,2,3,・・・),Aj(j=1,2,3,・・・))の候補を抽出する(S401)。
【0035】
具体的には、次の手順による。
(1)欠損BGPデータPWxに対して、次の条件1を満足する欠損BGPメッセージWiを欠損BGPメッセージ候補として抽出する。
[条件1]欠損BGPメッセージWiの受信時刻よりも後に、欠損BGPデータPWxのANNOUNCEメッセージが計測されていないこと。
(2)欠損BGPデータPAyに対して、次の条件2及び条件3をともに満足する欠損BGPメッセージAjを欠損BGPメッセージ候補として抽出する。
[条件2]計測RIBに含まれる欠損BGPデータPAyのBGP属性と同一の属性を欠損BGPメッセージAjが含むこと。
[条件3]欠損BGPメッセージAjの受信時刻よりも後に、欠損BGPデータPAyを含むWITHDRAWメッセージと、計測RIBにおける欠損BGPメッセージAjのBGP属性と異なる属性を含むANNOUNCEメッセージとが計測されていないこと。
【0036】
例えば、データ補正装置1が、図8(a)に示すBGPメッセージ(ANNOUNCEメッセージ)MSG1を受信し、次に、同図(b)に示すBGPメッセージ(WITHDRAWメッセージ)MSG2を受信し、その後に記録した計測RIBにおいて、4つのプレフィクス(212.33.220.0/24,212.33.213.0/24,212.33.193.0/24,202.36.216.0/24)に関する経路情報が図9に示すものであった場合を例として説明する。なお、同図において、プレフィクス212.33.193.0/24を除く3つのプレフィクスを示す部分に下線を付してある。また、プレフィクス212.33.193.0/24に関する経路情報は計測RIBには含まれていないものとする。
【0037】
これらの例について、4つのプレフィクスに対するマッチング候補の抽出は以下のようになる。プレフィクス212.33.220.0/24については、図9の経路情報RIに含まれる当該プレフィクスのBGP属性と同一のBGP属性(ASPATH,NEXT_HOP,COMMUNITY)をBGPメッセージMSG1が含んでいるため、計測データに不整合はなくマッチングは不要である。
【0038】
プレフィクス212.33.213.0/24については、経路情報RIに含まれる当該プレフィクスのBGP属性とBGPメッセージMSG1のBGP属性とにおいて、ASPATHのみの値が異なっている。具体的には、BGPメッセージMSG1のASPATHにおける「12880」と、経路情報RIのASPATHにおける「3243」とが異なる。これは、BGPメッセージMSG1の受信後(すなわち、10/20/08 11:05:33以降)に、新しいASPATHを有する別のBGPメッセージが受信されてRIBが上書きされたと推定される。よって、プレフィクス212.33.213.0/24は、「10/20/08 11:05:33」以降に受信され、ASPATHが「3130 2914 174 9121 12880 34918 41689」であるANNOUNCEメッセージがマッチング候補となる。
【0039】
プレフィクス212.33.193.0/24については、BGPメッセージMSG1が受信されたにも関わらず、RIBに該当する経路情報が記録されていないため、BGPメッセージMSG1の受信後に、WITHDRAWメッセージによって経路情報が削除されたと推定される。よって、プレフィクス212.33.193.0/24は、「10/20/08 11:05:33」以降に受信されたWITHDRAWメッセージがマッチング候補となる。
【0040】
そして、プレフィクス202.36.216.0/24については、WITHDRAWメッセージであるBGPメッセージMSG2が受信されており、本来ならばRIBから経路情報が削除されているべきである。これは、BGPメッセージMSG2を受信後(10/20/08 11:07:49以降)に、RIBに記録されているBGP属性と同一のBGP属性を含むANNOUNCEメッセージが受信されて、RIBが上書きされたと推定される。よって、プレフィクス202.36.216.0/24は、「10/20/08 11:07:49」以降に受信され、RIBの記録と同一のBGP属性を含むANNOUNCEメッセージがマッチング候補となる。
【0041】
次に、図4の説明に戻り、ステップS401の処理に続いて、相関度計算部105は、複数のマッチング候補が存在する場合に対応するため、マッチング候補抽出部104によって抽出されたマッチング候補Wi及びPWxの組み合わせと、マッチング候補Aj及びPAyの組み合せとにおいて、過去のBGP計測データより、プレフィクス及びBGPメッセージの相関度を計算する(S402)。相関度は、欠損BGPメッセージWi,Ajに含まれるプレフィクスと欠損BGPデータPWx,PAyとが同一のBGPメッセージに含まれる確率として計算する。すなわち、BGPメッセージに含まれているプレフィクスの数をNr、そのうち過去の一定期間分(例えば、過去1週間分)のBGP計測データにおいて、対象プレフィクスと同一BGPメッセージに含まれたことのあるプレフィクス数をNcとした場合に、相関度SはS=Nc/Nrと定義できる。これは、複数のプレフィクスが同一BGPメッセージにより広報される場合、それらのプレフィクスの集合は、同様の経路制御ポリシーを適用されており、同一BGPメッセージに含まれる可能性が高いためである。
【0042】
具体的に、図8(a)に示したBGPメッセージMSG1(このANNOUNCEメッセージには26個のプレフィクスが含まれている。)と、ある欠損BGPデータ(プレフィクス10.0.1.0/24)との相関度を計算する例について説明する。過去1週間分のBGPメッセージにおいて、プレフィクス10.0.1.0/24に関するBGPメッセージを検索したところ、図10に示すBGPメッセージMSG3が検出されたとする。この場合、BGPメッセージMSG3に含まれるプレフィクス10.0.1.0/24(同図において下線を付してある。)以外の4つのプレフィクスは、プレフィクス10.0.1.0/24と同一の経路変動を受ける可能性が高いと推定できる。これらの4つのプレフィクスは相関度の計算対象であるBGPメッセージMSG1に含まれているため、プレフィクス10.0.1.0/24とBGPメッセージMSG1との相関度は、相関度S=4/26=0.15と算出される。
【0043】
次に、図4の説明に戻り、ステップS402の処理に続いて、欠損BGPメッセージ補正部106は、マッチング候補抽出部104によって抽出されたマッチング候補の組み合わせと、相関度計算部105で算出された相関度Sとに基づいて、欠損BGPメッセージWi,Aiと欠損BGPデータPWx,PAyとの1対1のマッチングを行って補正欠損BGPメッセージを生成し、補正欠損BGPメッセージ記録部107はこれを記録する(S403)。
【0044】
マッチングの方法については、例えば公知のGale−Shapleyアルゴリズムを適用することができ、これにより以下の3つの条件を満足させることができる。
(1)各プレフィクスはマッチング候補のいずれかにのみ割り当てられる。
(2)各欠損BGPメッセージにマッチング可能なプレフィクス数(欠損BGPメッセージ検出部102に記憶された欠損データサイズを1プレフィクスのデータサイズで割った値)を設定してマッチングを行うことにより、欠損したデータサイズよりも多くのプレフィクス情報は割り当てられない。
(3)複数のマッチング候補が存在する場合は、過去のBGPデータより算出される相関度の高いプレフィクスとBGPメッセージとがマッチングされる。
【0045】
以上、説明したように、本実施形態であるBGP計測データのデータ補正装置によれば、通信ネットワークシステムから収集されたBGP計測データにおけるデータ欠損の生じた欠損BGPメッセージを検出し、さらにデータ欠損部分である欠損BGPデータを復元して欠損BGPメッセージを補正することができる。これにより、本実施形態であるデータ補正装置は、通信ネットワークシステムから収集されるBGP計測データ、特にRoute ViewsプロジェクトやRISプロジェクトが運用している公開BGPデータサーバから収集されるBGP計測データの信頼性を向上させることができる。
【0046】
なお、本実施形態によるBGP計測データのデータ補正装置の処理を実行させるためのデータ補正用プログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませて実行させることにより、本実施形態によるBGP計測データのデータ補正処理を行うようにしてもよい。なお、ここでいうコンピュータシステムとは、オペレーティングシステムや周辺機器等のハードウェアを含むものであってもよい。また、コンピュータシステムは、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0047】
さらにコンピュータ読み取り可能な記録媒体は、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する伝送媒体は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0048】
以上、本発明の実施形態について詳述したが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0049】
1 データ補正装置
101 計測データ収集部
102 欠損BGPメッセージ検出部
103 欠損BGPデータ抽出部
104 マッチング候補抽出部
105 相関度計算部
106 欠損BGPメッセージ補正部
107 補正欠損メッセージデータ記録部
110 BGP計測データ記録部

【特許請求の範囲】
【請求項1】
複数の自律システムが相互接続された通信ネットワークシステムから収集された、RIB及びBGPアップデートメッセージを含むBGP計測データから、データの欠損しているBGPアップデートメッセージである欠損BGPメッセージを検出する欠損BGPメッセージ検出手段と、
前記BGP計測データについて、受信時刻が第1時刻であるRIBとその第1時刻に連続した受信時刻である複数のBGPアップデートメッセージとに基づいて、前記第1時刻よりも後の時刻である第2時刻の仮想RIBを生成し、この仮想RIBと前記BGP計測データに含まれた受信時刻が前記第2時刻と同時刻であるRIBとに基づいて、欠損しているデータである欠損BGPデータを抽出する欠損BGPデータ抽出手段と、
前記検出された欠損BGPメッセージから、前記抽出された欠損BGPデータとマッチングさせる候補である欠損BGPメッセージ候補を抽出するマッチング候補抽出手段と、
前記抽出された欠損BGPメッセージ候補と前記欠損BGPデータとの相関度を計算する相関度計算手段と、
前記計算された相関度に基づいて、前記欠損BGPメッセージ候補と前記欠損BGPデータとを一対一でマッチングさせて前記欠損BGPメッセージを補正する欠損BGPメッセージ補正手段と、
を備えたことを特徴とするBGP計測データのデータ補正装置。
【請求項2】
複数の自律システムが相互接続された通信ネットワークシステムから収集された、RIB及びBGPアップデートメッセージを含むBGP計測データから、データの欠損しているBGPアップデートメッセージである欠損BGPメッセージを検出する欠損BGPメッセージ検出ステップと、
前記BGP計測データについて、受信時刻が第1時刻であるRIBとその第1時刻に連続した受信時刻である複数のBGPアップデートメッセージとに基づいて、前記第1時刻よりも後の時刻である第2時刻の仮想RIBを生成し、この仮想RIBと前記BGP計測データに含まれた受信時刻が前記第2時刻と同時刻であるRIBとに基づいて、欠損しているデータである欠損BGPデータを抽出する欠損BGPデータ抽出ステップと、
前記検出された欠損BGPメッセージから、前記抽出された欠損BGPデータとマッチングさせる候補である欠損BGPメッセージ候補を抽出するマッチング候補抽出ステップと、
前記抽出された欠損BGPメッセージ候補と前記欠損BGPデータとの相関度を計算する相関度計算ステップと、
前記計算された相関度に基づいて、前記欠損BGPメッセージ候補と前記欠損BGPデータとを一対一でマッチングさせて前記欠損BGPメッセージを補正する欠損BGPメッセージ補正ステップと、
を有したことを特徴とするBGP計測データのデータ補正方法。
【請求項3】
コンピュータに、
複数の自律システムが相互接続された通信ネットワークシステムから収集された、RIB及びBGPアップデートメッセージを含むBGP計測データから、データの欠損しているBGPアップデートメッセージである欠損BGPメッセージを検出する欠損BGPメッセージ検出ステップと、
前記BGP計測データについて、受信時刻が第1時刻であるRIBとその第1時刻に連続した受信時刻である複数のBGPアップデートメッセージとに基づいて、前記第1時刻よりも後の時刻である第2時刻の仮想RIBを生成し、この仮想RIBと前記BGP計測データに含まれた受信時刻が前記第2時刻と同時刻であるRIBとに基づいて、欠損しているデータである欠損BGPデータを抽出する欠損BGPデータ抽出ステップと、
前記検出された欠損BGPメッセージから、前記抽出された欠損BGPデータとマッチングさせる候補である欠損BGPメッセージ候補を抽出するマッチング候補抽出ステップと、
前記抽出された欠損BGPメッセージ候補と前記欠損BGPデータとの相関度を計算する相関度計算ステップと、
前記計算された相関度に基づいて、前記欠損BGPメッセージ候補と前記欠損BGPデータとを一対一でマッチングさせて前記欠損BGPメッセージを補正する欠損BGPメッセージ補正ステップと、
を実行させるためのBGP計測データのデータ補正用プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−233035(P2010−233035A)
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願番号】特願2009−79428(P2009−79428)
【出願日】平成21年3月27日(2009.3.27)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】