JP2004536516A - Ip探索自動コンフィグレーションおよびsla監視のためのipフロー開示 - Google Patents
Ip探索自動コンフィグレーションおよびsla監視のためのipフロー開示 Download PDFInfo
- Publication number
- JP2004536516A JP2004536516A JP2003514434A JP2003514434A JP2004536516A JP 2004536516 A JP2004536516 A JP 2004536516A JP 2003514434 A JP2003514434 A JP 2003514434A JP 2003514434 A JP2003514434 A JP 2003514434A JP 2004536516 A JP2004536516 A JP 2004536516A
- Authority
- JP
- Japan
- Prior art keywords
- flow
- address
- point
- source
- identified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F16—ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
- F16H—GEARING
- F16H55/00—Elements with teeth or friction surfaces for conveying motion; Worms, pulleys or sheaves for gearing mechanisms
- F16H55/02—Toothed members; Worms
- F16H55/08—Profiling
- F16H55/0886—Profiling with corrections along the width, e.g. flank width crowning for better load distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mechanical Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】ネットワークにおける送信元および送信先の間のデータフローを特定するシステムおよび方法を提供すること。
【解決手段】フローモニタの組(150、160)は、ネットワークにおける測定点の組(170、180)の間を送られる複数のデータパケットを特定する。次いで、フローモニタは特定された各データパケットのアドレス情報を比較する。フローモニタが比較により一致するアドレスを特定すると、対応するデータパケットのアドレスは測定点間のフローと関連付けられる。測定点の組の間のフローが特定されると、フローモニタは、フローに関連付けられたデータパケットのヘッダ情報を比較して、測定点間のフローの方向を決定する。
【解決手段】フローモニタの組(150、160)は、ネットワークにおける測定点の組(170、180)の間を送られる複数のデータパケットを特定する。次いで、フローモニタは特定された各データパケットのアドレス情報を比較する。フローモニタが比較により一致するアドレスを特定すると、対応するデータパケットのアドレスは測定点間のフローと関連付けられる。測定点の組の間のフローが特定されると、フローモニタは、フローに関連付けられたデータパケットのヘッダ情報を比較して、測定点間のフローの方向を決定する。
Description
【技術分野】
【0001】
本発明の態様の目的は、ネットワーク監視に関し、より詳細には、マルチネットワークをコンフィギュレーションするためのIP(インターネットプロトコル)フロー開示方法およびシステムに関する。
【背景技術】
【0002】
あるユーザから他のユーザへデータを移す種々のアプリケーションにおいて、パケット網のような通信システムが用いられる。データは一般に、パケット網の伝送部で1または複数のパケットに分割されるが、その各々にはデータに関連する経路、その他の情報を含むヘッダが含まれる。本技術分野で知られた従来の多くのプロトコル、例えばATM(非同期転送モード)、フレームリレー(FR)、HDLC(高レベルデータリンク制御)、X.25、IP(インターネットプロトコル)などに基づき、ネットワークによりパケットが伝送先に送られる。送信元から受信したパケットから送信先においてデータが復元される。
【0003】
しかし、エンドユーザネットワークのIT(情報技術)マネージャがWAN(広域ネットワーク)サービスプロバイダの性能を監視することは、このパケットスイッチ技術の性質から困難である。WANサービスプロバイダは、WANを管理して、そのWANを介するエンドユーザネットワークにおいてCPE(顧客構内設備)から開始されデータパケットを送っていく。顧客およびネットワークサービスプロバイダの双方が、そのWANの性能を監視してWANサービスプロバイダにより保証されるサービス品質が満たされていることを検証しようとする。
【0004】
例えば、IP(インターネットプロトコル)のVPN(仮想施設網)は、一種のエンドユーザネットワークである。VPNには、VPL(仮想専用通信路)が含まれ、その各々には2つの顧客ネットワーク間通信チャネルが含まれる。
【0005】
ネットワークの性能保証は、ITマネージャのための手法として、彼らの重要なデータを信頼性のある堅実な方法で届けるために登場してきた。用語「SLA(サービスレベル保証制度)」は、これらの性能保証のことである。通常SLAパラメータ(あるいは、基準)には、パケットスループット、パケット損失率(PLR)、パケット遅延、パケットジッタ、およびサービス可用性(service availability)が含まれる。
【0006】
すべてのサービスプロバイダの第1の目的は、顧客に高品質のサービスを提供することである。既存のネットワーク環境が錯綜していることを考慮すると、所望のレベルの品質を達成することは容易なことではない。ネットワーク環境は、性能を測定するための種々の統計情報(statistics)を持つ種々の設備を含み、エンドツーエンドの統計情報の測定との相関関係を複雑にする。
【0007】
既存のSLA監視機器はネットワークを監視していて、ネットワークのエンドポイントが分かるとISPの統計情報を収集する。これらの監視機器は、手動でコンフィグレーションされ、通常せいぜい1つのネットワークに別々に行われる。
【発明の開示】
【発明が解決しようとする課題】
【0008】
これらの機器の不都合な点は、ネットワークのエンドポイントが分からないと、監視機器のコンフィグレーションが十分でなかったり、不正なものになったりすることである。次に不都合な点は、ネットワークのエンドポイントが複数のISPにまたがると、エンドポイントの判定の作業が困難になることである。三番目に不都合な点は、エンドポイントのアドレスがISPに認識された場合でさえ、既存の監視機器にエンドポイントアドレスにあわせるコンフィグレーションは手動なので、その大きなボリュームのため冗長であり、非現実的であるということである。
【課題を解決するための手段】
【0009】
上述のまたはその他の不都合を克服するため、ネットワークの送信先と送信元との間のフローを特定する方法およびシステムが提供される。
【0010】
一実施形態において、ネットワークの送信先と送信元との間のデータフローは、ネットワークにおける第1および第2の点において特定される複数のデータパケットに基づいて決定される。第1の測定点において特定される各パケットの送信先アドレスは、第2の測定点において特定される1つまたは複数の送信先アドレスと比較される。この比較の結果一致すると、第1の測定点において特定されたパケットに対応する送信元アドレスが特定される。次いで、特定された送信元アドレスと一致した送信先アドレスとが、その送信元と送信先との間のフローに関連付けされる。
【0011】
他の実施形態においては、ネットワークの送信先と送信元との間のデータフローの方向が決定される。ネットワークにおける第1および第2の点における複数のパケットが特定され、第1および第2の点において特定された複数のパケットの生存時間の値が選択される。さらに、第1の点において特定された各パケットの送信先アドレスは、第2の点において特定される1つまたは複数のパケットの送信先アドレスと比較される。アドレスの比較の結果一致すると、第1の点において特定されたパケットに対応する送信元アドレスが特定される。次いで、特定された送信元アドレスと一致した送信先アドレスとが、その送信元と送信先との間のフローに関連付けされる。第1の点において特定されたパケットの生存時間の値は、送信元と送信先との間のフローに対応する第2の点において特定される複数のパケットのうち少なくとも1つの生存時間と比較される。この生存時間の比較に基づいて、送信元と送信先との間のフローの方向が決定される。
【0012】
さらに他の実施形態においては、第2の点において特定された各パケットの送信元アドレスが、第1の点において特定される1つまたは複数の送信元アドレスと比較される。アドレスの比較の結果一致すると、第2の点において特定されたパケットに対応する送信先アドレスが特定される。次いで、この特定された送信元アドレスと一致した送信先アドレスとは、送信元と送信先との間のフローに関連付けされる。
【発明を実施するための最良の形態】
【0013】
以下に本発明および本発明の最良の態様を実施するため説明を行うが、これらの記載は、特許請求の範囲を限定するものでは決してない。これらの記載が提供する実施例およびその説明により、当業者は本発明を実施することができることとなる。添付の図面は、本発明の最良の態様を実施するための記載の一部となるとともに、本発明のいくつかの実施形態を提示し、上述の記載とあわせ本発明の原理を説明するものである。
【0014】
(実施形態の詳細な説明)
本発明の態様は符号を参照して詳細に説明され、それは添付図面に例示される。可能な限り、同一の参照符号は同様の部分を参照するため全図面を通して使用される。
【0015】
本発明の実施形態によると、ネットワーク内の2つの測定点の間におけるフローデータパケットを特定し、および同じ測定点間におけるデータのフローの方向を決定する方法およびシステムが提供される。各測定点に配置されたフローモニタを用いて、2つの測定点間を送られるデータパケットのアドレスおよびヘッダ情報が記憶される。このアドレスおよびヘッダ情報は測定点間において送受信され、および処理されて2つの測定点におけるデータフローの様子を特定する。さらに、通信が行われてデータパケットのフローの方向が決定される。
【0016】
図1は、本発明の一実施形態によるネットワーク100を示すブロック図である。ネットワーク100は、ISP(インターネットサービスプロバイダ)110、120、130および140、測定点170および180、並びにシステム190を備える。ISP110、120、130および140により、通信機器はネットワーク100においてデータの搬送が可能となる。たとえば、ISP120はネットワーク100の基幹回線網であり、ISPs110、130および140間の通信を可能にする。
【0017】
システム190はフローモニタ150および160を含み、それぞれ測定点170および180においてネットワーク内のデータパケットのもつアドレスを抽出する。発明の実施形態によっては、ISP120とISP140との間に測定点を配置することもできる。測定点は、ホストと隣接するリンクとの間の境界であり、そこでは性能参照イベントを観察し、測定することができる。送信元の測定点および送信先の測定点はパケットトラフィックを測定する2つの測定点である。測定されたトラフィックは送信元および送信先の測定点の間を送られるが、送信元の測定点の前に開始されることもあり、送信先の測定点の後に終了することもある。フローモニタ150および160は、各測定点において特定される相互関連付ける送信元または送信先のアドレスによってそれぞれの測定点を送られるパケットを特定する。
【0018】
図2は、本発明の一実施形態によるフローモニタ150のブロック図である。フローモニタ150は、プロセッサ200、バス210、メモリ220、ネットワークインタフェース230および入出力モジュール240を含む。
【0019】
メモリ220は、オペレーティングシステム250、フロー特定プログラム260、送信先/送信元アドレステーブル270、フローデータベース280、ヘッダファイル285、ネットワークアドレステーブル290、およびローカルネットワークアドレステーブル295を含む。オペレーティングシステム250は、フローモニタ150内で処理される全てのオペレーションを制御することができる。とりわけ、オペレーティングシステム250は、処理するタスクをスケジュールし、情報の格納を管理し、他の周辺機器との通信を取り扱うことができる。オペレーティングシステム250により実行される処理の種類は、監視されるアドレスの種類およびそのデータパケットのフローに関連するフローモニタ150の位置により異なってくる。
【0020】
フロー特定プログラム260は、例えば測定点170を通って送られる特定されたデータパケットを処理するコードを含む。送信元/送信先アドレステーブル270は、フロー特定プログラム260に余って特定されたデータパケットに関連する送信元または送信先のいずれかのアドレス情報を含むことができる。フローモニタ150は、フローモニタ160からアドレステーブルを受信すると、フローデータベース280にフローテーブルを生成することができる。例えば、フローデータベース280は、複数の個々のフローテーブル、例えばフローテーブル280−A、「方向不知」テーブル280−B、および「方向不知」テーブル280−Cを含むことができる。フローテーブル280−Aは、方向が既知のフローを有するデータパケットを特定する。方向不知テーブル280−Bは、方向が不知であり、フローモニタの関心によって選択されたデータパケットを特定する。「方向不知」テーブル280−Cは、方向が不知でありフローモニタ160によって選択されたデータパケットが特定される。フローデータベース280は、測定点170および180の間におけるデータのフローに関連する送信元および送信先アドレスを含むことができる。フロー特定プログラム260は、フローデータベース280を用いて測定点170および180の間を流れるパケットのみを特定することができる。ヘッダファイル285は、測定点170において特定されたデータパケットのヘッダ情報から抽出された生存時間の値を格納することができる。送信元/送信先テーブル270において送信元/送信先アドレスと関連付けられている格納された生存時間の値は、特定された同じデータパケットのヘッダ情報から抽出される。
【0021】
ローカルネットワークアドレステーブル295は、フローモニタ150に最も近いネットワークのアドレスを含むことができる。ローカルネットワークアドレステーブル295において特定されるアドレスは、特定されたデータパケットの送信元または送信先アドレスに対応する。
【0022】
ネットワークアドレステーブル290は、フローモニタ160と通信するデータ量を削減するための圧縮処理を行っている間使用されるネットワーク情報を含むことができる。ネットワークアドレステーブル290は、フローモニタ160に最も近いネットワークのデータパケットのアドレスを含むことができる。ネットワークアドレステーブル290のアドレスは、特定されたデータパケットの送信元または送信先アドレスに対応することができる。特に、フローモニタ150および160は、他のネットワーク(図示せず)に関連する各フローモニタに対するネットワークアドレステーブルを含むことができる。
【0023】
ネットワークインタフェースモジュール230は、ネットワーク100のデータパケット情報を受信し、この情報を送信元/送信先アドレステーブル270にバス210を介して格納する。ネットワークインタフェースモジュール230はまた、フローモニタ160とネットワーク100の他のフローモニタ(図示せず)との間の通信を容易にする。
【0024】
入出力インタフェースモジュール240は、組となっているフローモニタ間の帯域外の通信を可能にすることができ、または他の周辺機器、例えばキーボード、ディスプレーユニット、プリンタその他を接続するように構成することができる。
【0025】
図3は、本願発明の一実施形態によるフローモニタ160のブロック図である。フローモニタ160は、プロセッサ300、バス310、メモリ320、ネットワークインタフェース330、および入出力モジュール340を含むことができる。プロセッサ300、バス310、ネットワークインタフェース330および入出力モジュール340は、全てフローモニタ150の対応する要素に関連して上述したように動作することができる。
【0026】
メモリ320は、オペレーティングシステム350、フロー特定プログラム360、送信元/送信先アドレステーブル370、フローテーブル380、ヘッダファイル385、ネットワークアドレステーブル390およびローカルネットワークアドレステーブル395を含むことができる。これらの要素の全ては、フローモニタ150の対応する各要素に関連して上述したように動作することができる。オペレーティングシステム350によって実行される処理のタイプは、送信元または送信先のアドレスが監視されているか否か、およびそのデータパケットに関連するにフローモニタ160の位置に依存することがある。
【0027】
図4は、本発明の一実施形態によるシステム190によって実行される測定点170、180間のデータパケットフローを特定するステップを示すフローチャートである。本実施形態において、監視されるデータパケットフローの方向は、ISP110(送信元)またはISP110の上流に配置されるISP(図示せず)において開始するようにすることができる。同様に、注目されるデータパケットフローは、ISP130(送信先)において終了させるか、またはISP130の下流に配置されるISP(図示せず)において終了させることができる。本実施形態においては、監視されるデータパケットは、ISP110、ISP130またはISP140において、それぞれ開始または終了させることができる。
【0028】
フローモニタ160のフロー特定プログラム360は、ISP130を送信先とする測定点180を通って送信されるデータパケットの送信先アドレスを特定する(ステップ400)。この特定されたアドレスのセットは、フロー特定プログラム360によって送信元/送信先アドレステーブル370に格納することができ、測定点180を通るデータフローにより表すことができる。送信元/送信先アドレステーブル370の送信先アドレスは、ISP120を介してISP130で終了するパケットで、ISP110および130で開始されたパケットに対応させることができる。データパケットの送信元を決定するため、フローモニタ160は、送信元/送信先アドレステーブル370の少なくとも1つの送信先アドレスをフローモニタ150に入出力インタフェース340を介して送信することができる。
【0029】
フローモニタ150は、送信先アドレスを入出力インタフェース240を介して受信し、これらの送信先アドレスを送信元/送信先アドレステーブル270に格納することができる。フロー特定プログラム260は、送信元/送信先アドレステーブル270の項目(entry)と、測定点170において特定され、ISP120の方向に送られるデータパケットの送信先と比較することができる(ステップ410)。
【0030】
フローモニタ260は、送信元/送信先アドレステーブル270の項目と一致する送信先アドレスを有する、これらのデータパケットを決定する(ステップ420)。送信先アドレスの一致するおのおのの組について、フロー特定プログラム260は、測定点170において特定された送信先アドレスに対応する送信元アドレスを特定する(ステップ430)。ついで、フロー特定プログラム260は、測定点170において特定された送信元アドレスおよび送信元/送信先アドレステーブル270の一致する送信先アドレスと、測定点170および180の間のデータパケットフローとを関連付ける(ステップ440)。さらに、フロー特定プログラム260は、このフロー情報を用いてフローテーブル280−Aを生成し、これにより送信元ISP110から送信先ISP130に送られるデータパケットを特定することができる。
【0031】
システム190の初期化の間、フローモニタ150は、予め定められた期間待機してフローテーブル280−Aを生成することができる。この初期化期間が完了してフローテーブル280−Aが生成されると、フローモニタ150は、フローテーブル280−Aを入出力インタフェース240を介してフローモニタ160に送る。フローモニタ160は、フローテーブル280−Aを入出力インタフェース340を介して受信し、フローテーブル380−Aとして格納する。これにより、送信元ISP110から送信先ISP130に送られるデータパケットを特定することができる。次いで、フロー特定プログラム360は、フローテーブル380−Aを用いて、ISP110から開始されるデータパケットを特定することができる。
【0032】
フローテーブル380−Aの生成の後、フローモニタ160は、肯定応答メッセージをフローモニタ150に送信する。この肯定応答信号は、フローテーブル280−Aとフローテーブル380−Aとの同期が取れていることを示している。これらのフローテーブルの同期が取られることにより、システム190は正確なSLA測定が可能となる。
【0033】
通常の処理の間、フローモニタ150のフローテーブル280−Aとフローモニタ160のフローテーブル380−Aとが更新される。更新されるのは、新たなアドレスが送信元/送信先アドレステーブル370に追加され、または既存のアドレスが送信元/送信先アドレステーブル370から除去されるときである。除去は、予め定められたタイムアウト期間内にデータパケットが観察されなかったときに行われる。新たなアドレスが送信元/送信先アドレステーブル370に追加されると、フロー特定プログラム260は、フローデータベース280を更新する。送信元/送信先アドレステーブル370の変更をフローデータベース280に組み込むにはある程度の時間がかかるので、これらの更新は、更新されたフローデータベース280およびフローデータベース380が同時に有効になるように実行される。
【0034】
例えば、フローモニタ160の送信元/送信先アドレステーブル370がフロー特定プログラム360によって新たな送信先アドレスに更新されるとき、送信元/送信先アドレステーブル370は、入出力インタフェース340を介してフローモニタ150に送信される。フローモニタ150は、送信元/送信先アドレステーブル370に格納された少なくとも1つの送信先アドレスを入出力インタフェース240を介して受信し、送信元/送信先アドレステーブル270に格納する。フロー特定プログラム260は、この送信元/送信先アドレステーブル270の送信先アドレスと、測定点170において特定されるデータパケットの送信先アドレスとを比較する。フロー特定プログラム260は、送信元/送信先アドレステーブル270の項目と一致する送信先アドレスを有する測定点170を介して送られるこれらのデータパケットを決定する。送信先アドレスの一致する組のおのおのに対して、フロー特定プログラム260は、測定点170において特定された送信先アドレスに対応する送信元アドレスを特定する。測定点170において特定された送信元アドレスと、一致する送信先アドレスとは送信元−送信先ペアを形成する。フロー特定プログラム260は、送信元−送信先ペアと測定点170および180の間のデータパケットフローとを関連付ける。
【0035】
フロー特定プログラム260は、このフロー情報を用いてフローテーブル280−Aを生成する。フローモニタ150は、フローテーブル280−Aを入出力インタフェース240を介してフローモニタ160に送る。フローモニタ160は、フローテーブル280−Aを入出力インタフェース240を介して受信し、フローテーブル380−Aとして格納する。
【0036】
フロー特定プログラム360は、フローテーブル280−Aを用いてISP150から送信されたデータパケットを特定する。フローテーブル280−Aとフローテーブル380−Aとの内容を確実に同一とするために、フローモニタ150と160とは、予め定められた時間内に更新メッセージを通信し合う。フローモニタ150と160とはまた、送信元/送信先アドレステーブル270と370との更新メッセージおよびフローデータベース280と380との更新メッセージをそれぞれ通信し合い、更新されたフローテーブルの同期を取って使用する。これらの更新メッセージは、対応するISPを特定する情報、すなわち送信元/送信先アドレステーブル270と370シーケンス番号フィールド、送信元/送信先アドレステーブル270と370が初期テーブルまたは更新されたテーブルを含むか否かの表示、ISPネットワークにあらたなIPアドレスを追加するための更新フィールド、および古いIPアドレスを除去するための更新フィールドを含む。
【0037】
送信元/送信先アドレステーブル270と370の更新またはフローデータベース280と380の更新は、任意の予め定められた時間間隔で周期的に行われる。更新の頻度は、フローモニタ150と160とが同じフロー情報を使用している限り任意である。
【0038】
フローモニタ150と160との間で格納され通信されるデータ量を最小化するため、送信元/送信先アドレステーブル270および370は、特定された送信先アドレスから定められる完全なホストアドレスではなく、ネットワークアドレスを保持することによって圧縮することができる。
【0039】
図5は、フロー特定プログラム360によって実行される送信元/送信先アドレステーブル370の特定された送信先アドレスを圧縮するステップを示すフローチャートである。圧縮は2つの別の圧縮方法を組み合わせることができる。例えば、圧縮は各方法を独立に実行することもでき、あるいは以下に説明するように組み合わせて実行することもできる。フロー特定プログラム360は、ISP130を送信先として測定点180を通って送られ、監視される各データパケットの送信先アドレスを特定することができる(ステップ500)。コアネットワーク、例えばISP120はネットワークアドレスを用いてパケットの経路設定を行うので、そのアドレスを介して所定の送信先の位置が特定されると、その所定の送信先に対応するネットワークもまた特定されることになる。ネットワークアドレス情報は、ネットワークアドレステーブル390に格納され、CIDR(クラスレスドメイン間経路設定)フォーマットで伝送される。
【0040】
CIDRフォーマットは、ネットワークアドレス情報をプリフィックスおよび長さとして特定する。例えば、ネットワークアドレス「128.96/16」または「128.96.0.0/16」を考える。このアドレスのうち「128.96」および「128.96.0.0」の部分がプリフィックスに対応する。これに対し、双方のアドレスの「16」の部分は、ネットワークの長さであり、アドレスビットの数に対応する。プリフィックスの最初の数ビットは、対応するクラスフルネットワークを特定することができる。CIDRは、ルータが多くのクラスフルネットワークを単一のネットワークとして扱えるようにまとめる1つの方法である。プリフィックスの最初の数ビットを使用するだけなので、多様な長さのネットワークプリフィックスが、広範囲のクラスフルネットワークを特定するために用いられる。クラスフルネットワークは、対応する長さでネットワークアドレスのプリフィックスの範囲を特定する。例えば、第1ビットが零であるアドレスはネットワーク長8のクラスAネットワークと定められる。
【0041】
フロー特定プログラム360は、特定されたアドレスと関連付けられたネットワークがローカルネットワークアドレステーブル395に存在するか否かを決定する(ステップ510)。この決定を行うため、フロー特定プログラム360は、特定された送信先アドレスと、それ以前に特定されネットワークアドレステーブル390に格納された他のネットワークアドレスとを比較する。特定された送信先アドレスがネットワークアドレステーブル390の項目に一致しない場合、クラスフルネットワーク(net)が送信先アドレスの最初の数ビットに基づいて特定される(ステップ520)。
【0042】
フロー特定プログラム360が「net」、すなわち長さbのネットワークアドレスを決定すると、フロー特定プログラム360は、「net」と、ネットワークアドレステーブル390に格納された同一長のネットワークアドレスとを比較する(ステップ530)。「net」と同一長のネットワークアドレスとが最も重要ではないbitのみ異なる場合、一致するネットワークアドレスはネットワークアドレステーブル390から除去され、「net」の長さは1ビット減らされて長さb−1となり(ステップ550)、したがって圧縮処理が完了する。「net」アドレスとネットワークアドレスとがマージされると仮定すると、フロー特定プログラム360は、そのマージの結果とネットワークアドレステーブル390に残るネットワークアドレスとを比較して、さらにマージが可能か否かを決定する。フロー特定プログラム360が全ての考えられるマージを実行するとき、すなわち「net」とネットワークアドレスとが最も重要ではないbitフローより多くの点で異なるとき、フロー特定プログラム360は、マージされたネットワークアドレス、「net」をネットワークアドレステーブル390に追加する。
【0043】
図6は、本発明の一実施形態による測定点170および180の間におけるデータフローの方向を決定するためシステム190によって実行されるステップを示すフローチャートである。本実施形態において、物理媒体は媒体共有型(shared medium)、例えばイーサネット(登録商標)とすることができる。媒体共有型においては、データパケットは同一の物理ラインを同時に反対方向に送られることがあるので、測定点170および180の間におけるデータフローの方向は不知となりうる。
【0044】
フローモニタ160のフロー特定プログラム360は、測定点180を通って送られるデータパケットのアドレスを特定し、特定されたアドレスを送信元/送信先アドレステーブル370に格納する(ステップ600)。送信元/送信先アドレステーブル370のアドレスは単にISP110から開始されたパケット以外にも対応している。また、ISP120を介しISP130において終了するパケットの特定された送信先アドレスには、ISP140から開始されるものもある。
【0045】
特定されたデータパケットの送信元を決定するため、フローモニタ160は、送信元/送信先アドレステーブル370に格納された少なくとも1つのアドレスを入出力インタフェース340を介してフローモニタ150に送信する。フローモニタ150は、このアドレスを受信して送信元/送信先アドレステーブル270に格納する。フロー特定プログラム260は、送信元/送信先アドレステーブル270に格納されたアドレスと、測定点170において特定されたデータパケットのアドレスとを比較する(ステップ610)。フローモニタ150は、送信元/送信先アドレステーブル270の項目と一致するアドレスを有する測定点170を通るこれらのデータパケットを決定する(ステップ620)。アドレスの一致する組の各々について、フロー特定プログラム260は、対応する送信元/送信先アドレスを特定する(ステップ630)。測定点170において特定された対応する送信元/送信先アドレスと、一致するアドレスとは送信元−送信先ペアを形成する。フロー特定プログラム260は、送信元−送信先ペアと測定点170および180の間におけるデータパケットのフローとを関連付ける(ステップ640)。しかし、データパケットの送信元および送信先の位置は未だ不知なので、フロー特定プログラム260は、このフロー情報を用いて「方向不知」テーブル280−Bを生成する。フローモニタ150は、「方向不知」テーブル280−Bをフローモニタ160に送信し、これはフローデータベース380に「方向不知」テーブル380−Bとして格納される。
【0046】
測定点170および180の間におけるデータパケットフローの方向を決定する際、フロー特定プログラム360は、測定点180を通って送られるパケット(以下、「パイロットパケット」という)を選択する。選択されたパイロットパケットは、「方向不知」テーブル380−Bに格納されたデータに一致する送信元および送信先のアドレスを有する。選択されたパイロットパケットは、データベース380に格納された一致する送信元−送信先ペアと1対多の関係を有する。フロー特定プログラム360は、パイロットパケットのヘッダ情報をヘッダファイル385に格納する。このヘッダ情報は生存時間(TTL)フィールドを含むが、これはネットワーク内の全てのデータパケットのIPヘッダにあるフィールドである。ルータはネットワーク上の任意の数のISPを接続するが、パイロットパケットのTTLフィールドは、パイロットパケットがルータを通るごとにその値を1ずつディクリメントされる。この特長によりTTLの値は測定点170と180との間で非対称となり、フローモニタ150および160はデータパケットの送信元を決定することができる。
【0047】
フローモニタ160は、ヘッダファイル385に格納されたパイロットパケットヘッダ情報をフローモニタ150に送信する。フローモニタ150はヘッダ情報を受信して、フローデータベース280の「方向不知」テーブル280−Bに格納する。次いで、フロー特定プログラム260は、「方向不知」テーブル280−Bに格納される特定されたフローのアドレスと一致する送信元および送信先のアドレスを有し、測定点170を通って送られるパイロットパケットを選択する(ステップ650)。フロー特定プログラムは、選択されたパイロットパケットのヘッダ情報をヘッダファイル285に格納し、そのTTL値と「方向不知」テーブル280−Bに格納された対応するパイロットパケットのヘッダ情報とを比較する(ステップ660)。
【0048】
測定点170において選択された生存時間をヘッダファイル285に格納された生存時間から引き算した結果が零より小さい場合、フロー特定プログラム260は、ISP110がそのデータパケットフローの送信元であり、ISP130が送信先であると決定する(ステップ670)。一方、同一の演算の結果得られた差異が零より大きい場合、フロー特定プログラム260は、ISP130がそのデータパケットフローの送信元であり、ISP130が送信先であると決定する(ステップ680)。この引き算の結果が零より小さいとすると、フロー特定プログラム260は、フローデータベース280が送信元ISP110から送信先ISP130への方向で送られるデータパケットを特定するものと決定する。
【0049】
データフローの方向が決定されると、送信元および送信先のアドレスの位置(したがって、送信元および送信先のネットワーク)は既知となる。フロー特定プログラム260は、フローデータベース280が特定されただけの送信元アドレスまたは送信先アドレスのいずれかからの同一のネットワークに属する他の送信元−送信先ペアの方向を決定する。フロー特定プログラム260および360が、データフローの方向を決定することによってネットワークアドレステーブル290および390並びにローカルネットワークアドレステーブル295および395を構築すると、ネットワークアドレス情報はローカルに使用されるとともに、他の送信元−送信先ペアの方向を決定する際に使用するためISP120によってサービスの提供を受ける他のフローモニタに伝播される。パケットが特定されると、フローモニタ150および160は、追加のネットワークの位置を特定し、より多くの他の送信元−送信先ペアがフローテーブルに追加されるように、種々の送信元/送信先アドレステーブルを生成する。
【0050】
システム190の初期化の間、フローモニタ150は予め定められた期間待機して、フローデータベース280にフローテーブル、例えばフローテーブル280−Aを生成することができる。初期化の期間が完了してフローテーブル280−Aが生成されると、フローモニタ150は、フローテーブル280−Aを入出力インタフェース340を介してフローモニタ160に送信する。フローモニタ160は、フローテーブル280−Aを入出力インタフェース340を介して受信し、フローテーブル380−Aとして格納する。フローモニタ150は、フローテーブル380−Aを用いてISP150から開始されたデータパケットを特定する。
【0051】
フローテーブル380−Aの生成の後、フローモニタ160は、肯定応答メッセージをフローモニタ150に送信する。肯定応答信号は、フローテーブル280−Aとフローテーブル380−Aとの同期が取られていることを示す。これら2つのフローテーブルの同期を取ることによって、システム190は正確なSLAの測定が可能となる。
【0052】
図7は、同一のネットワークに属する他の送信元−送信先ペアの方向を決定するためフローモニタ150および160によって実行されるステップを示すフローチャートである。例えば、フローモニタ150および160が図4に示すように測定点170および180の間におけるデータパケットのフローを特定すると、フローモニタ150は、フローデータベース380に格納された「方向不知」テーブル380−Bをフローモニタ160から受信する。フローモニタ150は、受信した「方向不知」テーブル380−Bを「方向不知」テーブル280−Cとしてフローデータベース280に格納する(ステップ710)。フロー特定プログラム260は、「方向不知」テーブル280−Bがフロー情報を含むか否かを決定する(ステップ710)。「方向不知」テーブル280−Bがフロー情報を含む場合、フロー特定プログラム260は、次に考えられる項目を抽出する(ステップ720)。そうでない場合、フロー特定プログラム260は、「方向不知」情報がフローモニタ160から来るのまで待機する。
【0053】
フロー特定プログラム260は、「方向不知」テーブル280−Cの項目が「方向不知」テーブル280−Bの項目に一致するか否かを決定する(ステップ730)。一致しない場合、フロー特定プログラム260は再び、「方向不知」テーブル280−Bがフロー情報を含むか否かを決定する(ステップ710)。そうでない場合、フロー特定プログラム360は、「方向不知」テーブル380−Bに格納されたフロー情報に関連するパイロットパケットを特定する。フロー特定プログラム360は、パイロットパケット情報をフローモニタ150に送信するが、これはこのパイロットパケットヘッダ情報を「方向不知」テーブル280−Cに格納する(ステップ740)。フロー特定プログラム260は、「方向不知」テーブル280−Bに格納されたフロー情報に一致する送信元および送信先アドレスを有するパイロットパケットを特定する。フロー特定プログラム260は、この情報をヘッダファイル285に格納する。
【0054】
次に、フロー特定プログラム260は、ヘッダファイル285に格納されたヘッダ情報と、「方向不知」テーブル280−Cに格納されたヘッダ情報とを比較する(ステップ750)。ヘッダファイル285に格納されたTTLの値がより大きい場合、フロー特定プログラム260は、そのデータパケットがフローモニタ150からフローモニタ160への方向で送られると決定する。この結果、フロー特定プログラム260は、送信元ネットワークアドレスをローカルネットワークアドレステーブル295に、送信先アドレスをネットワークアドレステーブル290に格納して、新たなフロー情報をフローテーブル280−Aに追加する(ステップ760)。
【0055】
一方、「方向不知」テーブル280−Cに格納されたTTLの値がより大きい場合、フロー特定プログラム260は、そのデータパケットがフローモニタ160からフローモニタ150への方向で送られると決定する。この結果、フロー特定プログラム260は、送信元ネットワークアドレスをネットワークアドレステーブル290に、送信先アドレスをローカルネットワークアドレステーブル295に格納して、新たなフロー情報をフローテーブル280−Aに追加する(ステップ770)。
【0056】
フロー特定プログラム260および360は、特定された送信元および送信先ネットワーク情報を用いて、方向が不知の他のフローについてフローの方向を決定する。データフローの方向が特定されると、フロー特定プログラム260および360は、送信元/送信先アドレステーブル270および370並びに「方向不知」テーブル280−Cおよび380−Cからアドレス項目を除去する。したがって、フロー特定プログラム260および360は、これらと同じアドレス項目をフローテーブル280−Aおよび380−Aに追加する。また、フロー特定プログラム260および360は、特定されたフローに対応するアドレスを送信元/送信先アドレスフィルタ280および380並びにネットワークアドレステーブル290および390に格納する(ステップ770)。さらに、フローが特定されると、フローモニタ150は残るいずれかの「方向不知」テーブルについて、方向を特定する際使用するために他のフローモニタ160に更新されたフローテーブル280−Aを送信する。これに加え、方向を特定された「方向不知」テーブル380−Cのこれらの項目は除去され、ネットワークアドレステーブル290および390並びにフローテーブル380−Aに上述したように伝播される(ステップ780)。
【0057】
フローモニタ150および160は、送信元/送信先アドレステーブル更新メッセージおよびフローデータベース更新メッセージを通信しあって、更新されたフローテーブルを同期を取って使用する。上述のように、これらの更新メッセージは、対応するISPを特定する情報、送信元/送信先テーブルシーケンス番号フィールド、送信元/送信先テーブルが初期テーブルか、または更新済みテーブルかを示す表示、新たなIPアドレスをISPネットワークに追加するための更新、および古いIPアドレスを除去するための更新フィールドを含む。
【0058】
以上の実施形態においては、データフローの特定と、特定された送信先アドレスに関連するフローの方向の決定とについて説明した。しかしまた、特定された送信元アドレスを上述のように用いてフローを特定し、方向を決定することもできる。
【0059】
図8は、本発明の他の実施形態による、測定点170と180との間のデータパケットフローを特定するために実行されるステップを示すフローチャートである。本実施形態において、データパケットのフローの方向は、ISP110(送信元)において開始され、ISP130(送信先)において終了するものとする。
【0060】
フローモニタ150のフロー特定プログラム260は、ISP110を送信元とし測定点170を通って送られるデータパケットの送信元アドレス特定する(ステップ800)。この特定された送信元アドレスのセットは送信元/送信先アドレステーブル270に格納され、測定点170を通って送られるデータフローを示す。送信元/送信先アドレステーブル270の送信元アドレスは、ISP130を送信先とする複数のパケットに対応する。特定された送信元アドレスには、ISP140やISP120を介してISP130をたまたま通るISP(図示せず)を送信先とするものもある。データパケットの送信先を特定するため、フローモニタ150は送信元/送信先アドレステーブル270の少なくとも1つの送信元アドレスを入出力インタフェース240を介してフローモニタ160に送信する。フローモニタ160は、送信元アドレスを入出力インタフェース240を介して受信し、送信元/送信先アドレステーブル370として格納する。フロー特定プログラム360は、送信元/送信先アドレステーブル270に格納された送信元アドレスと、測定点180において特定されISP130の方向に送られるデータパケットの送信元アドレスとを比較する(ステップ810)。
【0061】
フローモニタ160は、送信元/送信先アドレステーブル370の項目に一致する送信元アドレスを有するこれらのデータパケットを決定する(ステップ820)。送信元アドレスが一致する各々の組について、フロー特定プログラム360は測定点180において特定された送信元アドレスに対応する送信先アドレスを特定する(ステップ830)。次いで、フロー特定プログラム360は測定点180において特定された送信先アドレスと、測定点170および180の間におけるデータパケットのフローと一致する送信元/送信先アドレステーブル270からの送信元アドレスとを関連付けする(ステップ840)。フロー特定プログラム360は、このフロー情報を用いてフローテーブル380−Aを生成する。フローテーブル380−Aは、送信元ISP110から送信先ISP130へ送られるデータパケットを特定する。
【0062】
現在考慮される本発明の実施形態および方法について例示し、説明してきたが、種々の変更が可能であり、本発明の範囲を離れない限りこれらの構成要素を等価なものと置き換えることができることは、当業者であれば理解されるであろう。
【0063】
加えて、本発明の中心範囲を離れることなく、特定の要素、技術あるいは実装を本発明の示唆するところに適合するために多くの修正が可能である。したがって、本明細書の開示により特定の実施形態および方法に本発明を限定する意図はないが、一方本発明を特許請求の範囲に含まれる全ての実施形態に含めることを意図するものである。
【図面の簡単な説明】
【0064】
【図1】本発明の一実施形態によるネットワークを示すブロック図である。
【図2】本発明の一実施形態によるフローモニタのブロック図である。
【図3】本発明の一実施形態によるフローモニタのブロック図である。
【図4】本発明の一実施形態によるシステムによって実行される測定点間のデータパケットフローを特定するステップを示すフローチャートである。
【図5】送信元/送信先アドレステーブルの特定された送信先アドレスを圧縮するフロー特定プログラムによって実行されるステップを示すフローチャートである。
【図6】本発明の一実施形態による測定点間におけるデータフローの方向を決定するためシステムによって実行されるステップを示すフローチャートである。
【図7】同一のネットワークに属する他の送信元−送信先ペアの方向を決定するためフローモニタによって実行されるステップを示すフローチャートである。
【図8】本発明の他の実施形態による、測定点170と180との間のデータパケットフローを特定するために実行されるステップを示すフローチャートである。
【0001】
本発明の態様の目的は、ネットワーク監視に関し、より詳細には、マルチネットワークをコンフィギュレーションするためのIP(インターネットプロトコル)フロー開示方法およびシステムに関する。
【背景技術】
【0002】
あるユーザから他のユーザへデータを移す種々のアプリケーションにおいて、パケット網のような通信システムが用いられる。データは一般に、パケット網の伝送部で1または複数のパケットに分割されるが、その各々にはデータに関連する経路、その他の情報を含むヘッダが含まれる。本技術分野で知られた従来の多くのプロトコル、例えばATM(非同期転送モード)、フレームリレー(FR)、HDLC(高レベルデータリンク制御)、X.25、IP(インターネットプロトコル)などに基づき、ネットワークによりパケットが伝送先に送られる。送信元から受信したパケットから送信先においてデータが復元される。
【0003】
しかし、エンドユーザネットワークのIT(情報技術)マネージャがWAN(広域ネットワーク)サービスプロバイダの性能を監視することは、このパケットスイッチ技術の性質から困難である。WANサービスプロバイダは、WANを管理して、そのWANを介するエンドユーザネットワークにおいてCPE(顧客構内設備)から開始されデータパケットを送っていく。顧客およびネットワークサービスプロバイダの双方が、そのWANの性能を監視してWANサービスプロバイダにより保証されるサービス品質が満たされていることを検証しようとする。
【0004】
例えば、IP(インターネットプロトコル)のVPN(仮想施設網)は、一種のエンドユーザネットワークである。VPNには、VPL(仮想専用通信路)が含まれ、その各々には2つの顧客ネットワーク間通信チャネルが含まれる。
【0005】
ネットワークの性能保証は、ITマネージャのための手法として、彼らの重要なデータを信頼性のある堅実な方法で届けるために登場してきた。用語「SLA(サービスレベル保証制度)」は、これらの性能保証のことである。通常SLAパラメータ(あるいは、基準)には、パケットスループット、パケット損失率(PLR)、パケット遅延、パケットジッタ、およびサービス可用性(service availability)が含まれる。
【0006】
すべてのサービスプロバイダの第1の目的は、顧客に高品質のサービスを提供することである。既存のネットワーク環境が錯綜していることを考慮すると、所望のレベルの品質を達成することは容易なことではない。ネットワーク環境は、性能を測定するための種々の統計情報(statistics)を持つ種々の設備を含み、エンドツーエンドの統計情報の測定との相関関係を複雑にする。
【0007】
既存のSLA監視機器はネットワークを監視していて、ネットワークのエンドポイントが分かるとISPの統計情報を収集する。これらの監視機器は、手動でコンフィグレーションされ、通常せいぜい1つのネットワークに別々に行われる。
【発明の開示】
【発明が解決しようとする課題】
【0008】
これらの機器の不都合な点は、ネットワークのエンドポイントが分からないと、監視機器のコンフィグレーションが十分でなかったり、不正なものになったりすることである。次に不都合な点は、ネットワークのエンドポイントが複数のISPにまたがると、エンドポイントの判定の作業が困難になることである。三番目に不都合な点は、エンドポイントのアドレスがISPに認識された場合でさえ、既存の監視機器にエンドポイントアドレスにあわせるコンフィグレーションは手動なので、その大きなボリュームのため冗長であり、非現実的であるということである。
【課題を解決するための手段】
【0009】
上述のまたはその他の不都合を克服するため、ネットワークの送信先と送信元との間のフローを特定する方法およびシステムが提供される。
【0010】
一実施形態において、ネットワークの送信先と送信元との間のデータフローは、ネットワークにおける第1および第2の点において特定される複数のデータパケットに基づいて決定される。第1の測定点において特定される各パケットの送信先アドレスは、第2の測定点において特定される1つまたは複数の送信先アドレスと比較される。この比較の結果一致すると、第1の測定点において特定されたパケットに対応する送信元アドレスが特定される。次いで、特定された送信元アドレスと一致した送信先アドレスとが、その送信元と送信先との間のフローに関連付けされる。
【0011】
他の実施形態においては、ネットワークの送信先と送信元との間のデータフローの方向が決定される。ネットワークにおける第1および第2の点における複数のパケットが特定され、第1および第2の点において特定された複数のパケットの生存時間の値が選択される。さらに、第1の点において特定された各パケットの送信先アドレスは、第2の点において特定される1つまたは複数のパケットの送信先アドレスと比較される。アドレスの比較の結果一致すると、第1の点において特定されたパケットに対応する送信元アドレスが特定される。次いで、特定された送信元アドレスと一致した送信先アドレスとが、その送信元と送信先との間のフローに関連付けされる。第1の点において特定されたパケットの生存時間の値は、送信元と送信先との間のフローに対応する第2の点において特定される複数のパケットのうち少なくとも1つの生存時間と比較される。この生存時間の比較に基づいて、送信元と送信先との間のフローの方向が決定される。
【0012】
さらに他の実施形態においては、第2の点において特定された各パケットの送信元アドレスが、第1の点において特定される1つまたは複数の送信元アドレスと比較される。アドレスの比較の結果一致すると、第2の点において特定されたパケットに対応する送信先アドレスが特定される。次いで、この特定された送信元アドレスと一致した送信先アドレスとは、送信元と送信先との間のフローに関連付けされる。
【発明を実施するための最良の形態】
【0013】
以下に本発明および本発明の最良の態様を実施するため説明を行うが、これらの記載は、特許請求の範囲を限定するものでは決してない。これらの記載が提供する実施例およびその説明により、当業者は本発明を実施することができることとなる。添付の図面は、本発明の最良の態様を実施するための記載の一部となるとともに、本発明のいくつかの実施形態を提示し、上述の記載とあわせ本発明の原理を説明するものである。
【0014】
(実施形態の詳細な説明)
本発明の態様は符号を参照して詳細に説明され、それは添付図面に例示される。可能な限り、同一の参照符号は同様の部分を参照するため全図面を通して使用される。
【0015】
本発明の実施形態によると、ネットワーク内の2つの測定点の間におけるフローデータパケットを特定し、および同じ測定点間におけるデータのフローの方向を決定する方法およびシステムが提供される。各測定点に配置されたフローモニタを用いて、2つの測定点間を送られるデータパケットのアドレスおよびヘッダ情報が記憶される。このアドレスおよびヘッダ情報は測定点間において送受信され、および処理されて2つの測定点におけるデータフローの様子を特定する。さらに、通信が行われてデータパケットのフローの方向が決定される。
【0016】
図1は、本発明の一実施形態によるネットワーク100を示すブロック図である。ネットワーク100は、ISP(インターネットサービスプロバイダ)110、120、130および140、測定点170および180、並びにシステム190を備える。ISP110、120、130および140により、通信機器はネットワーク100においてデータの搬送が可能となる。たとえば、ISP120はネットワーク100の基幹回線網であり、ISPs110、130および140間の通信を可能にする。
【0017】
システム190はフローモニタ150および160を含み、それぞれ測定点170および180においてネットワーク内のデータパケットのもつアドレスを抽出する。発明の実施形態によっては、ISP120とISP140との間に測定点を配置することもできる。測定点は、ホストと隣接するリンクとの間の境界であり、そこでは性能参照イベントを観察し、測定することができる。送信元の測定点および送信先の測定点はパケットトラフィックを測定する2つの測定点である。測定されたトラフィックは送信元および送信先の測定点の間を送られるが、送信元の測定点の前に開始されることもあり、送信先の測定点の後に終了することもある。フローモニタ150および160は、各測定点において特定される相互関連付ける送信元または送信先のアドレスによってそれぞれの測定点を送られるパケットを特定する。
【0018】
図2は、本発明の一実施形態によるフローモニタ150のブロック図である。フローモニタ150は、プロセッサ200、バス210、メモリ220、ネットワークインタフェース230および入出力モジュール240を含む。
【0019】
メモリ220は、オペレーティングシステム250、フロー特定プログラム260、送信先/送信元アドレステーブル270、フローデータベース280、ヘッダファイル285、ネットワークアドレステーブル290、およびローカルネットワークアドレステーブル295を含む。オペレーティングシステム250は、フローモニタ150内で処理される全てのオペレーションを制御することができる。とりわけ、オペレーティングシステム250は、処理するタスクをスケジュールし、情報の格納を管理し、他の周辺機器との通信を取り扱うことができる。オペレーティングシステム250により実行される処理の種類は、監視されるアドレスの種類およびそのデータパケットのフローに関連するフローモニタ150の位置により異なってくる。
【0020】
フロー特定プログラム260は、例えば測定点170を通って送られる特定されたデータパケットを処理するコードを含む。送信元/送信先アドレステーブル270は、フロー特定プログラム260に余って特定されたデータパケットに関連する送信元または送信先のいずれかのアドレス情報を含むことができる。フローモニタ150は、フローモニタ160からアドレステーブルを受信すると、フローデータベース280にフローテーブルを生成することができる。例えば、フローデータベース280は、複数の個々のフローテーブル、例えばフローテーブル280−A、「方向不知」テーブル280−B、および「方向不知」テーブル280−Cを含むことができる。フローテーブル280−Aは、方向が既知のフローを有するデータパケットを特定する。方向不知テーブル280−Bは、方向が不知であり、フローモニタの関心によって選択されたデータパケットを特定する。「方向不知」テーブル280−Cは、方向が不知でありフローモニタ160によって選択されたデータパケットが特定される。フローデータベース280は、測定点170および180の間におけるデータのフローに関連する送信元および送信先アドレスを含むことができる。フロー特定プログラム260は、フローデータベース280を用いて測定点170および180の間を流れるパケットのみを特定することができる。ヘッダファイル285は、測定点170において特定されたデータパケットのヘッダ情報から抽出された生存時間の値を格納することができる。送信元/送信先テーブル270において送信元/送信先アドレスと関連付けられている格納された生存時間の値は、特定された同じデータパケットのヘッダ情報から抽出される。
【0021】
ローカルネットワークアドレステーブル295は、フローモニタ150に最も近いネットワークのアドレスを含むことができる。ローカルネットワークアドレステーブル295において特定されるアドレスは、特定されたデータパケットの送信元または送信先アドレスに対応する。
【0022】
ネットワークアドレステーブル290は、フローモニタ160と通信するデータ量を削減するための圧縮処理を行っている間使用されるネットワーク情報を含むことができる。ネットワークアドレステーブル290は、フローモニタ160に最も近いネットワークのデータパケットのアドレスを含むことができる。ネットワークアドレステーブル290のアドレスは、特定されたデータパケットの送信元または送信先アドレスに対応することができる。特に、フローモニタ150および160は、他のネットワーク(図示せず)に関連する各フローモニタに対するネットワークアドレステーブルを含むことができる。
【0023】
ネットワークインタフェースモジュール230は、ネットワーク100のデータパケット情報を受信し、この情報を送信元/送信先アドレステーブル270にバス210を介して格納する。ネットワークインタフェースモジュール230はまた、フローモニタ160とネットワーク100の他のフローモニタ(図示せず)との間の通信を容易にする。
【0024】
入出力インタフェースモジュール240は、組となっているフローモニタ間の帯域外の通信を可能にすることができ、または他の周辺機器、例えばキーボード、ディスプレーユニット、プリンタその他を接続するように構成することができる。
【0025】
図3は、本願発明の一実施形態によるフローモニタ160のブロック図である。フローモニタ160は、プロセッサ300、バス310、メモリ320、ネットワークインタフェース330、および入出力モジュール340を含むことができる。プロセッサ300、バス310、ネットワークインタフェース330および入出力モジュール340は、全てフローモニタ150の対応する要素に関連して上述したように動作することができる。
【0026】
メモリ320は、オペレーティングシステム350、フロー特定プログラム360、送信元/送信先アドレステーブル370、フローテーブル380、ヘッダファイル385、ネットワークアドレステーブル390およびローカルネットワークアドレステーブル395を含むことができる。これらの要素の全ては、フローモニタ150の対応する各要素に関連して上述したように動作することができる。オペレーティングシステム350によって実行される処理のタイプは、送信元または送信先のアドレスが監視されているか否か、およびそのデータパケットに関連するにフローモニタ160の位置に依存することがある。
【0027】
図4は、本発明の一実施形態によるシステム190によって実行される測定点170、180間のデータパケットフローを特定するステップを示すフローチャートである。本実施形態において、監視されるデータパケットフローの方向は、ISP110(送信元)またはISP110の上流に配置されるISP(図示せず)において開始するようにすることができる。同様に、注目されるデータパケットフローは、ISP130(送信先)において終了させるか、またはISP130の下流に配置されるISP(図示せず)において終了させることができる。本実施形態においては、監視されるデータパケットは、ISP110、ISP130またはISP140において、それぞれ開始または終了させることができる。
【0028】
フローモニタ160のフロー特定プログラム360は、ISP130を送信先とする測定点180を通って送信されるデータパケットの送信先アドレスを特定する(ステップ400)。この特定されたアドレスのセットは、フロー特定プログラム360によって送信元/送信先アドレステーブル370に格納することができ、測定点180を通るデータフローにより表すことができる。送信元/送信先アドレステーブル370の送信先アドレスは、ISP120を介してISP130で終了するパケットで、ISP110および130で開始されたパケットに対応させることができる。データパケットの送信元を決定するため、フローモニタ160は、送信元/送信先アドレステーブル370の少なくとも1つの送信先アドレスをフローモニタ150に入出力インタフェース340を介して送信することができる。
【0029】
フローモニタ150は、送信先アドレスを入出力インタフェース240を介して受信し、これらの送信先アドレスを送信元/送信先アドレステーブル270に格納することができる。フロー特定プログラム260は、送信元/送信先アドレステーブル270の項目(entry)と、測定点170において特定され、ISP120の方向に送られるデータパケットの送信先と比較することができる(ステップ410)。
【0030】
フローモニタ260は、送信元/送信先アドレステーブル270の項目と一致する送信先アドレスを有する、これらのデータパケットを決定する(ステップ420)。送信先アドレスの一致するおのおのの組について、フロー特定プログラム260は、測定点170において特定された送信先アドレスに対応する送信元アドレスを特定する(ステップ430)。ついで、フロー特定プログラム260は、測定点170において特定された送信元アドレスおよび送信元/送信先アドレステーブル270の一致する送信先アドレスと、測定点170および180の間のデータパケットフローとを関連付ける(ステップ440)。さらに、フロー特定プログラム260は、このフロー情報を用いてフローテーブル280−Aを生成し、これにより送信元ISP110から送信先ISP130に送られるデータパケットを特定することができる。
【0031】
システム190の初期化の間、フローモニタ150は、予め定められた期間待機してフローテーブル280−Aを生成することができる。この初期化期間が完了してフローテーブル280−Aが生成されると、フローモニタ150は、フローテーブル280−Aを入出力インタフェース240を介してフローモニタ160に送る。フローモニタ160は、フローテーブル280−Aを入出力インタフェース340を介して受信し、フローテーブル380−Aとして格納する。これにより、送信元ISP110から送信先ISP130に送られるデータパケットを特定することができる。次いで、フロー特定プログラム360は、フローテーブル380−Aを用いて、ISP110から開始されるデータパケットを特定することができる。
【0032】
フローテーブル380−Aの生成の後、フローモニタ160は、肯定応答メッセージをフローモニタ150に送信する。この肯定応答信号は、フローテーブル280−Aとフローテーブル380−Aとの同期が取れていることを示している。これらのフローテーブルの同期が取られることにより、システム190は正確なSLA測定が可能となる。
【0033】
通常の処理の間、フローモニタ150のフローテーブル280−Aとフローモニタ160のフローテーブル380−Aとが更新される。更新されるのは、新たなアドレスが送信元/送信先アドレステーブル370に追加され、または既存のアドレスが送信元/送信先アドレステーブル370から除去されるときである。除去は、予め定められたタイムアウト期間内にデータパケットが観察されなかったときに行われる。新たなアドレスが送信元/送信先アドレステーブル370に追加されると、フロー特定プログラム260は、フローデータベース280を更新する。送信元/送信先アドレステーブル370の変更をフローデータベース280に組み込むにはある程度の時間がかかるので、これらの更新は、更新されたフローデータベース280およびフローデータベース380が同時に有効になるように実行される。
【0034】
例えば、フローモニタ160の送信元/送信先アドレステーブル370がフロー特定プログラム360によって新たな送信先アドレスに更新されるとき、送信元/送信先アドレステーブル370は、入出力インタフェース340を介してフローモニタ150に送信される。フローモニタ150は、送信元/送信先アドレステーブル370に格納された少なくとも1つの送信先アドレスを入出力インタフェース240を介して受信し、送信元/送信先アドレステーブル270に格納する。フロー特定プログラム260は、この送信元/送信先アドレステーブル270の送信先アドレスと、測定点170において特定されるデータパケットの送信先アドレスとを比較する。フロー特定プログラム260は、送信元/送信先アドレステーブル270の項目と一致する送信先アドレスを有する測定点170を介して送られるこれらのデータパケットを決定する。送信先アドレスの一致する組のおのおのに対して、フロー特定プログラム260は、測定点170において特定された送信先アドレスに対応する送信元アドレスを特定する。測定点170において特定された送信元アドレスと、一致する送信先アドレスとは送信元−送信先ペアを形成する。フロー特定プログラム260は、送信元−送信先ペアと測定点170および180の間のデータパケットフローとを関連付ける。
【0035】
フロー特定プログラム260は、このフロー情報を用いてフローテーブル280−Aを生成する。フローモニタ150は、フローテーブル280−Aを入出力インタフェース240を介してフローモニタ160に送る。フローモニタ160は、フローテーブル280−Aを入出力インタフェース240を介して受信し、フローテーブル380−Aとして格納する。
【0036】
フロー特定プログラム360は、フローテーブル280−Aを用いてISP150から送信されたデータパケットを特定する。フローテーブル280−Aとフローテーブル380−Aとの内容を確実に同一とするために、フローモニタ150と160とは、予め定められた時間内に更新メッセージを通信し合う。フローモニタ150と160とはまた、送信元/送信先アドレステーブル270と370との更新メッセージおよびフローデータベース280と380との更新メッセージをそれぞれ通信し合い、更新されたフローテーブルの同期を取って使用する。これらの更新メッセージは、対応するISPを特定する情報、すなわち送信元/送信先アドレステーブル270と370シーケンス番号フィールド、送信元/送信先アドレステーブル270と370が初期テーブルまたは更新されたテーブルを含むか否かの表示、ISPネットワークにあらたなIPアドレスを追加するための更新フィールド、および古いIPアドレスを除去するための更新フィールドを含む。
【0037】
送信元/送信先アドレステーブル270と370の更新またはフローデータベース280と380の更新は、任意の予め定められた時間間隔で周期的に行われる。更新の頻度は、フローモニタ150と160とが同じフロー情報を使用している限り任意である。
【0038】
フローモニタ150と160との間で格納され通信されるデータ量を最小化するため、送信元/送信先アドレステーブル270および370は、特定された送信先アドレスから定められる完全なホストアドレスではなく、ネットワークアドレスを保持することによって圧縮することができる。
【0039】
図5は、フロー特定プログラム360によって実行される送信元/送信先アドレステーブル370の特定された送信先アドレスを圧縮するステップを示すフローチャートである。圧縮は2つの別の圧縮方法を組み合わせることができる。例えば、圧縮は各方法を独立に実行することもでき、あるいは以下に説明するように組み合わせて実行することもできる。フロー特定プログラム360は、ISP130を送信先として測定点180を通って送られ、監視される各データパケットの送信先アドレスを特定することができる(ステップ500)。コアネットワーク、例えばISP120はネットワークアドレスを用いてパケットの経路設定を行うので、そのアドレスを介して所定の送信先の位置が特定されると、その所定の送信先に対応するネットワークもまた特定されることになる。ネットワークアドレス情報は、ネットワークアドレステーブル390に格納され、CIDR(クラスレスドメイン間経路設定)フォーマットで伝送される。
【0040】
CIDRフォーマットは、ネットワークアドレス情報をプリフィックスおよび長さとして特定する。例えば、ネットワークアドレス「128.96/16」または「128.96.0.0/16」を考える。このアドレスのうち「128.96」および「128.96.0.0」の部分がプリフィックスに対応する。これに対し、双方のアドレスの「16」の部分は、ネットワークの長さであり、アドレスビットの数に対応する。プリフィックスの最初の数ビットは、対応するクラスフルネットワークを特定することができる。CIDRは、ルータが多くのクラスフルネットワークを単一のネットワークとして扱えるようにまとめる1つの方法である。プリフィックスの最初の数ビットを使用するだけなので、多様な長さのネットワークプリフィックスが、広範囲のクラスフルネットワークを特定するために用いられる。クラスフルネットワークは、対応する長さでネットワークアドレスのプリフィックスの範囲を特定する。例えば、第1ビットが零であるアドレスはネットワーク長8のクラスAネットワークと定められる。
【0041】
フロー特定プログラム360は、特定されたアドレスと関連付けられたネットワークがローカルネットワークアドレステーブル395に存在するか否かを決定する(ステップ510)。この決定を行うため、フロー特定プログラム360は、特定された送信先アドレスと、それ以前に特定されネットワークアドレステーブル390に格納された他のネットワークアドレスとを比較する。特定された送信先アドレスがネットワークアドレステーブル390の項目に一致しない場合、クラスフルネットワーク(net)が送信先アドレスの最初の数ビットに基づいて特定される(ステップ520)。
【0042】
フロー特定プログラム360が「net」、すなわち長さbのネットワークアドレスを決定すると、フロー特定プログラム360は、「net」と、ネットワークアドレステーブル390に格納された同一長のネットワークアドレスとを比較する(ステップ530)。「net」と同一長のネットワークアドレスとが最も重要ではないbitのみ異なる場合、一致するネットワークアドレスはネットワークアドレステーブル390から除去され、「net」の長さは1ビット減らされて長さb−1となり(ステップ550)、したがって圧縮処理が完了する。「net」アドレスとネットワークアドレスとがマージされると仮定すると、フロー特定プログラム360は、そのマージの結果とネットワークアドレステーブル390に残るネットワークアドレスとを比較して、さらにマージが可能か否かを決定する。フロー特定プログラム360が全ての考えられるマージを実行するとき、すなわち「net」とネットワークアドレスとが最も重要ではないbitフローより多くの点で異なるとき、フロー特定プログラム360は、マージされたネットワークアドレス、「net」をネットワークアドレステーブル390に追加する。
【0043】
図6は、本発明の一実施形態による測定点170および180の間におけるデータフローの方向を決定するためシステム190によって実行されるステップを示すフローチャートである。本実施形態において、物理媒体は媒体共有型(shared medium)、例えばイーサネット(登録商標)とすることができる。媒体共有型においては、データパケットは同一の物理ラインを同時に反対方向に送られることがあるので、測定点170および180の間におけるデータフローの方向は不知となりうる。
【0044】
フローモニタ160のフロー特定プログラム360は、測定点180を通って送られるデータパケットのアドレスを特定し、特定されたアドレスを送信元/送信先アドレステーブル370に格納する(ステップ600)。送信元/送信先アドレステーブル370のアドレスは単にISP110から開始されたパケット以外にも対応している。また、ISP120を介しISP130において終了するパケットの特定された送信先アドレスには、ISP140から開始されるものもある。
【0045】
特定されたデータパケットの送信元を決定するため、フローモニタ160は、送信元/送信先アドレステーブル370に格納された少なくとも1つのアドレスを入出力インタフェース340を介してフローモニタ150に送信する。フローモニタ150は、このアドレスを受信して送信元/送信先アドレステーブル270に格納する。フロー特定プログラム260は、送信元/送信先アドレステーブル270に格納されたアドレスと、測定点170において特定されたデータパケットのアドレスとを比較する(ステップ610)。フローモニタ150は、送信元/送信先アドレステーブル270の項目と一致するアドレスを有する測定点170を通るこれらのデータパケットを決定する(ステップ620)。アドレスの一致する組の各々について、フロー特定プログラム260は、対応する送信元/送信先アドレスを特定する(ステップ630)。測定点170において特定された対応する送信元/送信先アドレスと、一致するアドレスとは送信元−送信先ペアを形成する。フロー特定プログラム260は、送信元−送信先ペアと測定点170および180の間におけるデータパケットのフローとを関連付ける(ステップ640)。しかし、データパケットの送信元および送信先の位置は未だ不知なので、フロー特定プログラム260は、このフロー情報を用いて「方向不知」テーブル280−Bを生成する。フローモニタ150は、「方向不知」テーブル280−Bをフローモニタ160に送信し、これはフローデータベース380に「方向不知」テーブル380−Bとして格納される。
【0046】
測定点170および180の間におけるデータパケットフローの方向を決定する際、フロー特定プログラム360は、測定点180を通って送られるパケット(以下、「パイロットパケット」という)を選択する。選択されたパイロットパケットは、「方向不知」テーブル380−Bに格納されたデータに一致する送信元および送信先のアドレスを有する。選択されたパイロットパケットは、データベース380に格納された一致する送信元−送信先ペアと1対多の関係を有する。フロー特定プログラム360は、パイロットパケットのヘッダ情報をヘッダファイル385に格納する。このヘッダ情報は生存時間(TTL)フィールドを含むが、これはネットワーク内の全てのデータパケットのIPヘッダにあるフィールドである。ルータはネットワーク上の任意の数のISPを接続するが、パイロットパケットのTTLフィールドは、パイロットパケットがルータを通るごとにその値を1ずつディクリメントされる。この特長によりTTLの値は測定点170と180との間で非対称となり、フローモニタ150および160はデータパケットの送信元を決定することができる。
【0047】
フローモニタ160は、ヘッダファイル385に格納されたパイロットパケットヘッダ情報をフローモニタ150に送信する。フローモニタ150はヘッダ情報を受信して、フローデータベース280の「方向不知」テーブル280−Bに格納する。次いで、フロー特定プログラム260は、「方向不知」テーブル280−Bに格納される特定されたフローのアドレスと一致する送信元および送信先のアドレスを有し、測定点170を通って送られるパイロットパケットを選択する(ステップ650)。フロー特定プログラムは、選択されたパイロットパケットのヘッダ情報をヘッダファイル285に格納し、そのTTL値と「方向不知」テーブル280−Bに格納された対応するパイロットパケットのヘッダ情報とを比較する(ステップ660)。
【0048】
測定点170において選択された生存時間をヘッダファイル285に格納された生存時間から引き算した結果が零より小さい場合、フロー特定プログラム260は、ISP110がそのデータパケットフローの送信元であり、ISP130が送信先であると決定する(ステップ670)。一方、同一の演算の結果得られた差異が零より大きい場合、フロー特定プログラム260は、ISP130がそのデータパケットフローの送信元であり、ISP130が送信先であると決定する(ステップ680)。この引き算の結果が零より小さいとすると、フロー特定プログラム260は、フローデータベース280が送信元ISP110から送信先ISP130への方向で送られるデータパケットを特定するものと決定する。
【0049】
データフローの方向が決定されると、送信元および送信先のアドレスの位置(したがって、送信元および送信先のネットワーク)は既知となる。フロー特定プログラム260は、フローデータベース280が特定されただけの送信元アドレスまたは送信先アドレスのいずれかからの同一のネットワークに属する他の送信元−送信先ペアの方向を決定する。フロー特定プログラム260および360が、データフローの方向を決定することによってネットワークアドレステーブル290および390並びにローカルネットワークアドレステーブル295および395を構築すると、ネットワークアドレス情報はローカルに使用されるとともに、他の送信元−送信先ペアの方向を決定する際に使用するためISP120によってサービスの提供を受ける他のフローモニタに伝播される。パケットが特定されると、フローモニタ150および160は、追加のネットワークの位置を特定し、より多くの他の送信元−送信先ペアがフローテーブルに追加されるように、種々の送信元/送信先アドレステーブルを生成する。
【0050】
システム190の初期化の間、フローモニタ150は予め定められた期間待機して、フローデータベース280にフローテーブル、例えばフローテーブル280−Aを生成することができる。初期化の期間が完了してフローテーブル280−Aが生成されると、フローモニタ150は、フローテーブル280−Aを入出力インタフェース340を介してフローモニタ160に送信する。フローモニタ160は、フローテーブル280−Aを入出力インタフェース340を介して受信し、フローテーブル380−Aとして格納する。フローモニタ150は、フローテーブル380−Aを用いてISP150から開始されたデータパケットを特定する。
【0051】
フローテーブル380−Aの生成の後、フローモニタ160は、肯定応答メッセージをフローモニタ150に送信する。肯定応答信号は、フローテーブル280−Aとフローテーブル380−Aとの同期が取られていることを示す。これら2つのフローテーブルの同期を取ることによって、システム190は正確なSLAの測定が可能となる。
【0052】
図7は、同一のネットワークに属する他の送信元−送信先ペアの方向を決定するためフローモニタ150および160によって実行されるステップを示すフローチャートである。例えば、フローモニタ150および160が図4に示すように測定点170および180の間におけるデータパケットのフローを特定すると、フローモニタ150は、フローデータベース380に格納された「方向不知」テーブル380−Bをフローモニタ160から受信する。フローモニタ150は、受信した「方向不知」テーブル380−Bを「方向不知」テーブル280−Cとしてフローデータベース280に格納する(ステップ710)。フロー特定プログラム260は、「方向不知」テーブル280−Bがフロー情報を含むか否かを決定する(ステップ710)。「方向不知」テーブル280−Bがフロー情報を含む場合、フロー特定プログラム260は、次に考えられる項目を抽出する(ステップ720)。そうでない場合、フロー特定プログラム260は、「方向不知」情報がフローモニタ160から来るのまで待機する。
【0053】
フロー特定プログラム260は、「方向不知」テーブル280−Cの項目が「方向不知」テーブル280−Bの項目に一致するか否かを決定する(ステップ730)。一致しない場合、フロー特定プログラム260は再び、「方向不知」テーブル280−Bがフロー情報を含むか否かを決定する(ステップ710)。そうでない場合、フロー特定プログラム360は、「方向不知」テーブル380−Bに格納されたフロー情報に関連するパイロットパケットを特定する。フロー特定プログラム360は、パイロットパケット情報をフローモニタ150に送信するが、これはこのパイロットパケットヘッダ情報を「方向不知」テーブル280−Cに格納する(ステップ740)。フロー特定プログラム260は、「方向不知」テーブル280−Bに格納されたフロー情報に一致する送信元および送信先アドレスを有するパイロットパケットを特定する。フロー特定プログラム260は、この情報をヘッダファイル285に格納する。
【0054】
次に、フロー特定プログラム260は、ヘッダファイル285に格納されたヘッダ情報と、「方向不知」テーブル280−Cに格納されたヘッダ情報とを比較する(ステップ750)。ヘッダファイル285に格納されたTTLの値がより大きい場合、フロー特定プログラム260は、そのデータパケットがフローモニタ150からフローモニタ160への方向で送られると決定する。この結果、フロー特定プログラム260は、送信元ネットワークアドレスをローカルネットワークアドレステーブル295に、送信先アドレスをネットワークアドレステーブル290に格納して、新たなフロー情報をフローテーブル280−Aに追加する(ステップ760)。
【0055】
一方、「方向不知」テーブル280−Cに格納されたTTLの値がより大きい場合、フロー特定プログラム260は、そのデータパケットがフローモニタ160からフローモニタ150への方向で送られると決定する。この結果、フロー特定プログラム260は、送信元ネットワークアドレスをネットワークアドレステーブル290に、送信先アドレスをローカルネットワークアドレステーブル295に格納して、新たなフロー情報をフローテーブル280−Aに追加する(ステップ770)。
【0056】
フロー特定プログラム260および360は、特定された送信元および送信先ネットワーク情報を用いて、方向が不知の他のフローについてフローの方向を決定する。データフローの方向が特定されると、フロー特定プログラム260および360は、送信元/送信先アドレステーブル270および370並びに「方向不知」テーブル280−Cおよび380−Cからアドレス項目を除去する。したがって、フロー特定プログラム260および360は、これらと同じアドレス項目をフローテーブル280−Aおよび380−Aに追加する。また、フロー特定プログラム260および360は、特定されたフローに対応するアドレスを送信元/送信先アドレスフィルタ280および380並びにネットワークアドレステーブル290および390に格納する(ステップ770)。さらに、フローが特定されると、フローモニタ150は残るいずれかの「方向不知」テーブルについて、方向を特定する際使用するために他のフローモニタ160に更新されたフローテーブル280−Aを送信する。これに加え、方向を特定された「方向不知」テーブル380−Cのこれらの項目は除去され、ネットワークアドレステーブル290および390並びにフローテーブル380−Aに上述したように伝播される(ステップ780)。
【0057】
フローモニタ150および160は、送信元/送信先アドレステーブル更新メッセージおよびフローデータベース更新メッセージを通信しあって、更新されたフローテーブルを同期を取って使用する。上述のように、これらの更新メッセージは、対応するISPを特定する情報、送信元/送信先テーブルシーケンス番号フィールド、送信元/送信先テーブルが初期テーブルか、または更新済みテーブルかを示す表示、新たなIPアドレスをISPネットワークに追加するための更新、および古いIPアドレスを除去するための更新フィールドを含む。
【0058】
以上の実施形態においては、データフローの特定と、特定された送信先アドレスに関連するフローの方向の決定とについて説明した。しかしまた、特定された送信元アドレスを上述のように用いてフローを特定し、方向を決定することもできる。
【0059】
図8は、本発明の他の実施形態による、測定点170と180との間のデータパケットフローを特定するために実行されるステップを示すフローチャートである。本実施形態において、データパケットのフローの方向は、ISP110(送信元)において開始され、ISP130(送信先)において終了するものとする。
【0060】
フローモニタ150のフロー特定プログラム260は、ISP110を送信元とし測定点170を通って送られるデータパケットの送信元アドレス特定する(ステップ800)。この特定された送信元アドレスのセットは送信元/送信先アドレステーブル270に格納され、測定点170を通って送られるデータフローを示す。送信元/送信先アドレステーブル270の送信元アドレスは、ISP130を送信先とする複数のパケットに対応する。特定された送信元アドレスには、ISP140やISP120を介してISP130をたまたま通るISP(図示せず)を送信先とするものもある。データパケットの送信先を特定するため、フローモニタ150は送信元/送信先アドレステーブル270の少なくとも1つの送信元アドレスを入出力インタフェース240を介してフローモニタ160に送信する。フローモニタ160は、送信元アドレスを入出力インタフェース240を介して受信し、送信元/送信先アドレステーブル370として格納する。フロー特定プログラム360は、送信元/送信先アドレステーブル270に格納された送信元アドレスと、測定点180において特定されISP130の方向に送られるデータパケットの送信元アドレスとを比較する(ステップ810)。
【0061】
フローモニタ160は、送信元/送信先アドレステーブル370の項目に一致する送信元アドレスを有するこれらのデータパケットを決定する(ステップ820)。送信元アドレスが一致する各々の組について、フロー特定プログラム360は測定点180において特定された送信元アドレスに対応する送信先アドレスを特定する(ステップ830)。次いで、フロー特定プログラム360は測定点180において特定された送信先アドレスと、測定点170および180の間におけるデータパケットのフローと一致する送信元/送信先アドレステーブル270からの送信元アドレスとを関連付けする(ステップ840)。フロー特定プログラム360は、このフロー情報を用いてフローテーブル380−Aを生成する。フローテーブル380−Aは、送信元ISP110から送信先ISP130へ送られるデータパケットを特定する。
【0062】
現在考慮される本発明の実施形態および方法について例示し、説明してきたが、種々の変更が可能であり、本発明の範囲を離れない限りこれらの構成要素を等価なものと置き換えることができることは、当業者であれば理解されるであろう。
【0063】
加えて、本発明の中心範囲を離れることなく、特定の要素、技術あるいは実装を本発明の示唆するところに適合するために多くの修正が可能である。したがって、本明細書の開示により特定の実施形態および方法に本発明を限定する意図はないが、一方本発明を特許請求の範囲に含まれる全ての実施形態に含めることを意図するものである。
【図面の簡単な説明】
【0064】
【図1】本発明の一実施形態によるネットワークを示すブロック図である。
【図2】本発明の一実施形態によるフローモニタのブロック図である。
【図3】本発明の一実施形態によるフローモニタのブロック図である。
【図4】本発明の一実施形態によるシステムによって実行される測定点間のデータパケットフローを特定するステップを示すフローチャートである。
【図5】送信元/送信先アドレステーブルの特定された送信先アドレスを圧縮するフロー特定プログラムによって実行されるステップを示すフローチャートである。
【図6】本発明の一実施形態による測定点間におけるデータフローの方向を決定するためシステムによって実行されるステップを示すフローチャートである。
【図7】同一のネットワークに属する他の送信元−送信先ペアの方向を決定するためフローモニタによって実行されるステップを示すフローチャートである。
【図8】本発明の他の実施形態による、測定点170と180との間のデータパケットフローを特定するために実行されるステップを示すフローチャートである。
Claims (21)
- ネットワークにおける送信元と送信先との間のデータフローを特定する方法であって、
前記ネットワークの第1の点および第2の点において複数のパケットを特定するステップと、
該第2の点において特定された各パケットの送信元アドレスと、該第1の点において特定された1つまたは複数のパケットの送信元アドレスとを比較するステップと、
当該比較された送信元アドレスの1つが一致する場合、前記第2の点において特定された対応するパケットの送信先アドレスを特定し、前記特定された送信先アドレスおよび一致する送信元アドレスを、前記送信元と前記送信先との間のフローに関係付けるステップと
を備えたことを特徴とする方法。 - ネットワークにおける送信元と送信先との間のデータフローを特定する方法であって、
前記ネットワークの第1の点および第2の点において複数のパケットを特定するステップと、
該第2の点において特定された各パケットの送信先アドレスと、該第1の点において特定された1つまたは複数のパケットの送信先アドレスとを比較するステップと、
当該比較された送信先アドレスの1つが一致する場合、前記第2の点において特定された対応するパケットの送信元アドレスを特定し、前記特定された送信元アドレスおよび一致する送信先アドレスを、前記送信元と前記送信先との間のフローに関係付けるステップと
を備えたことを特徴とする方法。 - 前記第2の点において複数のパケットを特定するステップは、
前記第2の点において特定された各パケットの送信先アドレスに基づき圧縮されたアドレス群を生成するステップを
さらに含むことを特徴とする請求項2に記載の方法。 - 前記圧縮されたアドレス群を生成するステップは、
前記第2の点において特定された送信先アドレスに基づきネットワークアドレスを特定するステップと、
特定されたネットワークアドレスにおけるビットの並びに基づいて、該特定されたネットワークアドレスの各々をクラス分けするステップとを
有することを特徴とする請求項3に記載の方法。 - 前記圧縮されたアドレス群を生成するステップは、
前記第2の点において特定されたパケットについてのネットワークアドレスを特定するステップと、
前記第2の点において特定されたパケットのうちの2つのパケットの特定されたネットワークアドレスが最も重要でないビットだけ異なる場合、該2つのパケットの特定されたネットワークアドレスを組み合わせることによって圧縮されたアドレスを生成するステップとを
有することを特徴とする請求項3に記載の方法。 - 前記圧縮されたアドレス群を生成するステップは、
前記第2の点において特定された送信先アドレスに基づきネットワークアドレスを特定するステップと、
特定されたネットワークアドレスにおけるビットの並びに基づいて、該特定されたネットワークアドレスの各々をクラス分けするステップと
前記第2の点において特定されたパケットのうちの2つのパケットの特定されたネットワークアドレスが最も重要でないビットだけ異なる場合、該2つのパケットの特定されたネットワークアドレスを組み合わせることによって、当該組み合わされるネットワークアドレスよりも1ビット少ない圧縮されたアドレスを生成するステップとを
有することを特徴とする請求項3に記載の方法。 - 前記一致する送信先アドレスと特定された送信元アドレスとに基づいて、第1の点においてフロー情報を生成するステップを
さらに備えたことを特徴とする請求項2に記載の方法。 - 前記第1の点において生成されたフロー情報を前記第2の点に送信するステップを
さらに備えたことを特徴とする請求項7に記載の方法。 - 前記第2の点において新たな送信先アドレスが特定されると、前記第1および第2の点においてフロー情報を更新するステップを
さらに備えたことを特徴とする請求項8に記載の方法。 - 予め定められたタイムアウト期間の後、前記第2の点において送信先アドレスが除去されると、前記第1および第2の点において前記フロー情報を更新するステップを
さらに備えたことを特徴とする請求項8に記載の方法。 - ネットワークにおける送信元と送信先との間のデータフローの方向を決定する方法であって、
前記ネットワークの第1の点および第2の点において複数のパケットを特定するステップと、
該第1の点において特定された複数のパケットおよび該第2の点において特定された複数のパケットのうち少なくとも1つのパケットから生存時間の値を選択するステップと、
前記第1の点において特定された各パケットの送信先アドレスと、前記第2の点において特定された1つまたは複数のパケットの送信先アドレスとを比較するステップと、
当該比較された送信先アドレスの1つが一致する場合、前記第1の点において特定された対応するパケットの送信元アドレスを特定し、前記特定された送信元アドレスおよび一致する送信先アドレスを、前記送信元と前記送信先との間のフローに関係付け、および前記第1の点において特定されたパケットおよび前記第2の点において特定された複数のパケットのうち少なくとも1つのパケットの生存時間の値を、前記送信元と前記送信先との間のフローに比較して前記送信元と前記送信先との間のフローの方向を決定するステップと
を備えたことを特徴とする方法。 - ネットワークにおける送信元と送信先との間のデータフローの方向を決定する方法であって、
前記ネットワークの第1の点および第2の点において複数のパケットを特定するステップと、
該第1の点において特定された複数のパケットのうち少なくとも1つのパケットおよび該第2の点において特定された複数のパケットのうち少なくとも1つのパケットから生存時間の値を選択するステップと、
前記第2の点において特定された各パケットの送信元アドレスと、前記第1の点において特定された1つまたは複数のパケットの送信元アドレスとを比較するステップと、
当該比較された送信元アドレスの1つが一致する場合、前記第2の点において特定された対応するパケットの送信先アドレスを特定し、前記特定された送信先アドレスおよび一致する送信元アドレスを、前記送信元と前記送信先との間のフローに関係付け、および前記第1の点において特定されたパケットおよび前記第2の点において特定された複数のパケットのうち少なくとも1つのパケットの生存時間の値を、前記送信元と前記送信先との間のフローに比較して前記送信元と前記送信先との間のフローの方向を決定するステップと
を備えたことを特徴とする方法。 - ネットワークにおける送信元と送信先との間のデータフローを特定するシステムであって、
前記ネットワークの第2の点を通って送られる1つまたは複数のパケットの送信先アドレスを特定し、前記ネットワークの第1の点に圧縮された前記送信先アドレスを送信する第1のプロセッサと、
前記ネットワークの第1の点を通って送られる1つまたは複数のパケットの送信先アドレスを特定し、前記送信先アドレスを前記第1のプロセッサから受信する第2のプロセッサであって、前記第1のプロセッサから受信した送信先アドレスおよび該第2のプロセッサにおいて特定されたパケットの送信先アドレスの比較に基づいて、前記第1の点と前記第2の点との間のパケットのフローを特定するフロー情報を生成する第2のプロセッサと
を備えたことを特徴とする方法。 - ネットワークにおける送信元と送信先との間のデータフローを特定するシステムであって、
前記ネットワークの第1の点を通って送られる1つまたは複数のパケットの送信元アドレスを特定し、前記ネットワークの第2の点に前記送信元アドレスを送信する第1のプロセッサと、
前記ネットワークの第2の点を通って送られる1つまたは複数のパケットの送信元アドレスを特定し、圧縮された前記送信元アドレスを前記第1のプロセッサから受信する第2のプロセッサであって、前記第1のプロセッサから受信した送信元アドレスおよび該第2のプロセッサにおいて特定されたパケットの送信元アドレスの比較に基づいて、前記第1の点と前記第2の点との間のパケットのフローを特定するフロー情報を生成する第2のプロセッサと
を備えたことを特徴とする方法。 - 第1の情報のセットを受信するステップと、
第2の情報のセットを受信するステップと、
前記第1の情報のセットおよび前記第2の情報のセットから一致する値を生成するステップと、
該一致する値に基づいてフローの項目を生成するステップと
を備えたことを特徴とする方法。 - 前記第1の情報のセットは、第1の送信元アドレスおよび第1の送信先アドレスを含み、
前記第2の情報のセットは、第2の送信元アドレスおよび第2の送信先アドレスを含み、
前記一致する値は、第1の送信先アドレスおよび第2の送信先アドレスに基づき、および
前記フローの項目は、前記第1の情報のセットに関連付けられた第1のノードと、前記第2の情報のセットに関連付けられた第2のノードとの間を情報が送られることを示していることを特徴とする請求項15に記載の方法。 - 前記第1の情報のセットは、第1の生存時間の値を含み、
前記第2の情報のセットは、第2の生存時間の値を含み、
前記フローの項目は、前記第1のノードと前記第2のノードとの間を送られる情報を示し、前記第1の生存時間および第2の生存時間に基づくことを特徴とする請求項16に記載の方法。 - 第1の送信先アドレスと第2の送信先アドレスとを比較して、一致する値を生成するステップと、
該一致する値に基づいてフローの項目を生成するステップと
を備えたことを特徴とする方法。 - 前記フローの項目は、前記第1の送信先アドレスに関連付けられた第1のノードと、前記第2の送信先アドレスに関連付けられた第2のノードとの間を情報が送られることを示していることを特徴とする請求項18に記載の方法。
- 第1の送信元アドレスと第2の送信元アドレスとを比較して、一致する値を生成するステップと、
該一致する値に基づいてフローの項目を生成するステップと
を備えたことを特徴とする方法。 - 前記フローの項目は、前記第1の送信元アドレスに関連付けられた第1のノードと、前記第2の送信元アドレスに関連付けられた第2のノードとの間を情報が送られることを示していることを特徴とする請求項18に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/909,645 US20030033430A1 (en) | 2001-07-20 | 2001-07-20 | IP flow discovery for IP probe auto-configuration and SLA monitoring |
PCT/US2002/022986 WO2003009160A1 (en) | 2001-07-20 | 2002-07-19 | Ip flow discovery for ip probe auto-configuration and sla monitoring |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004536516A true JP2004536516A (ja) | 2004-12-02 |
Family
ID=25427595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003514434A Pending JP2004536516A (ja) | 2001-07-20 | 2002-07-19 | Ip探索自動コンフィグレーションおよびsla監視のためのipフロー開示 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20030033430A1 (ja) |
EP (1) | EP1410230A4 (ja) |
JP (1) | JP2004536516A (ja) |
CA (1) | CA2452732A1 (ja) |
WO (1) | WO2003009160A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008153752A (ja) * | 2006-12-14 | 2008-07-03 | Fujitsu Ltd | 異常トラヒック監視装置、エントリ管理装置およびネットワークシステム |
JP2009194666A (ja) * | 2008-02-15 | 2009-08-27 | Fujitsu Ltd | マルチキャストアドレス情報処理装置及びマルチキャストアドレス情報処理プログラム |
JP2015226280A (ja) * | 2014-05-29 | 2015-12-14 | 日本電信電話株式会社 | トポロジ推定装置およびプログラム |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1433076B1 (en) * | 2001-08-30 | 2017-10-25 | Cisco Technology, Inc. | Protecting against distributed denial of service attacks |
US20030105855A1 (en) * | 2001-11-26 | 2003-06-05 | Big Pipe Inc. | Usage-based billing method and system for computer networks |
JP4025593B2 (ja) * | 2002-07-11 | 2007-12-19 | 富士通株式会社 | 放送型通信データ配送装置および放送型通信システム |
EP1394999A1 (en) * | 2002-08-07 | 2004-03-03 | Infineon Technologies AG | Method for routing of data packets and routing apparatus |
US6982035B1 (en) | 2004-03-29 | 2006-01-03 | O'keefe David M | Biphase orbicular biodigester |
GB2433675B (en) | 2005-12-22 | 2008-05-07 | Cramer Systems Ltd | Communications circuit design |
US7908369B2 (en) | 2006-02-28 | 2011-03-15 | France Telecom | Method of collecting descriptions of streams pertaining to streams relating to at least one client network attached to an interconnection network |
US8156557B2 (en) * | 2007-01-04 | 2012-04-10 | Cisco Technology, Inc. | Protection against reflection distributed denial of service attacks |
US7727395B2 (en) * | 2008-07-23 | 2010-06-01 | PurposeEnergy, Inc. | Method and apparatus for processing organic waste |
US9979623B2 (en) | 2011-02-07 | 2018-05-22 | Sony Corporation | Enhanced device discovery technology |
US9571393B2 (en) * | 2014-11-18 | 2017-02-14 | Gigamon Inc. | Systems and methods for processing packets tapped from a network |
US9680710B2 (en) * | 2014-11-18 | 2017-06-13 | Gigamon Inc. | Systems and methods for processing packets tapped from a network using discovery protocol |
US9584413B2 (en) | 2014-11-18 | 2017-02-28 | Gigamon Inc. | Systems and methods for determining input and out interfaces of a network device and copies of a same packet going through the network device |
US11863445B1 (en) * | 2019-09-25 | 2024-01-02 | Juniper Networks, Inc. | Prefix range to identifier range mapping |
US11516138B2 (en) * | 2020-04-27 | 2022-11-29 | International Business Machines Corporation | Determining network flow direction |
CN115499338B (zh) * | 2022-11-15 | 2023-09-29 | 阿里云计算有限公司 | 数据处理方法、设备、介质及云网络观测系统 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3290438B2 (ja) * | 1992-06-17 | 2002-06-10 | アジレント・テクノロジーズ・インク | ネットワーク監視方法及び装置 |
US5798949A (en) * | 1995-01-13 | 1998-08-25 | Kaub; Alan Richard | Traffic safety prediction model |
US6625662B1 (en) * | 1995-10-04 | 2003-09-23 | Kawasaki Microelectronics, Inc. | Inter-network connecting device |
JP3712131B2 (ja) * | 1995-10-04 | 2005-11-02 | 川崎マイクロエレクトロニクス株式会社 | ネットワーク間接続装置 |
US5982748A (en) * | 1996-10-03 | 1999-11-09 | Nortel Networks Corporation | Method and apparatus for controlling admission of connection requests |
US6223172B1 (en) * | 1997-10-31 | 2001-04-24 | Nortel Networks Limited | Address routing using address-sensitive mask decimation scheme |
US6466985B1 (en) * | 1998-04-10 | 2002-10-15 | At&T Corp. | Method and apparatus for providing quality of service using the internet protocol |
US6363477B1 (en) * | 1998-08-28 | 2002-03-26 | 3Com Corporation | Method for analyzing network application flows in an encrypted environment |
US6321264B1 (en) * | 1998-08-28 | 2001-11-20 | 3Com Corporation | Network-performance statistics using end-node computer systems |
US6304914B1 (en) * | 1998-09-22 | 2001-10-16 | Microsoft Corporation | Method and apparatus for pre-compression packaging |
US6735190B1 (en) * | 1998-10-21 | 2004-05-11 | Lucent Technologies Inc. | Packet transport method device utilizing header removal fields |
US6286052B1 (en) * | 1998-12-04 | 2001-09-04 | Cisco Technology, Inc. | Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows |
US6279097B1 (en) * | 1998-11-20 | 2001-08-21 | Allied Telesyn International Corporation | Method and apparatus for adaptive address lookup table generator for networking application |
US6446200B1 (en) * | 1999-03-25 | 2002-09-03 | Nortel Networks Limited | Service management |
US6598034B1 (en) * | 1999-09-21 | 2003-07-22 | Infineon Technologies North America Corp. | Rule based IP data processing |
EP1102441A1 (de) * | 1999-11-18 | 2001-05-23 | Telefonaktiebolaget Lm Ericsson | Verfahren und Vorrichtung zur Verbesserung eines Datendurchsatzes in einem Kommunikationssystem |
US6922417B2 (en) * | 2000-01-28 | 2005-07-26 | Compuware Corporation | Method and system to calculate network latency, and to display the same field of the invention |
JP3994614B2 (ja) * | 2000-03-13 | 2007-10-24 | 株式会社日立製作所 | パケット交換機、ネットワーク監視システム及びネットワーク監視方法 |
US7290283B2 (en) * | 2001-01-31 | 2007-10-30 | Lancope, Inc. | Network port profiling |
-
2001
- 2001-07-20 US US09/909,645 patent/US20030033430A1/en not_active Abandoned
-
2002
- 2002-07-19 EP EP02750173A patent/EP1410230A4/en not_active Withdrawn
- 2002-07-19 CA CA002452732A patent/CA2452732A1/en not_active Abandoned
- 2002-07-19 WO PCT/US2002/022986 patent/WO2003009160A1/en not_active Application Discontinuation
- 2002-07-19 JP JP2003514434A patent/JP2004536516A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008153752A (ja) * | 2006-12-14 | 2008-07-03 | Fujitsu Ltd | 異常トラヒック監視装置、エントリ管理装置およびネットワークシステム |
JP2009194666A (ja) * | 2008-02-15 | 2009-08-27 | Fujitsu Ltd | マルチキャストアドレス情報処理装置及びマルチキャストアドレス情報処理プログラム |
JP2015226280A (ja) * | 2014-05-29 | 2015-12-14 | 日本電信電話株式会社 | トポロジ推定装置およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
CA2452732A1 (en) | 2003-01-30 |
WO2003009160A1 (en) | 2003-01-30 |
EP1410230A4 (en) | 2005-03-23 |
EP1410230A1 (en) | 2004-04-21 |
US20030033430A1 (en) | 2003-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004536516A (ja) | Ip探索自動コンフィグレーションおよびsla監視のためのipフロー開示 | |
US7554959B1 (en) | Apparatus and method for cluster network device discovery | |
US7830809B2 (en) | Methods and apparatus for characterizing a route in a fibre channel fabric | |
US7193968B1 (en) | Sample netflow for network traffic data collection | |
US6952421B1 (en) | Switched Ethernet path detection | |
US6836466B1 (en) | Method and system for measuring IP performance metrics | |
US20070097865A1 (en) | Method for measuring end-to-end delay in asynchronous packet transfer network, and asynchronous packet transmitter and receiver | |
US20080225713A1 (en) | Source routing approach for network performance and availability measurement of specific paths | |
US7796596B2 (en) | Methods, systems, and computer program products for producing, transporting, and capturing network traffic data | |
WO2003019870A2 (en) | Dynamic multi-point meshed overlay network | |
US20050036447A1 (en) | System and method for the measurement of service quality in a communication network | |
JP2005516535A (ja) | パケットのグループに対する対象ノードで終端する1つ以上の経路についての情報の取得方法及び装置 | |
JP2000278264A (ja) | データネットワーク監視方法 | |
JP2002077257A (ja) | ストリーム配信ネットワークサービス方法およびシステム | |
Cisco | Interface Configuration Commands | |
Cisco | Interface Configuration Commands | |
Cisco | Interface Configuration Commands | |
Cisco | Interface Configuration Commands | |
Cisco | Interface Configuration Commands | |
Cisco | Interface Configuration Commands | |
Cisco | Interface Configuration Commands | |
Cisco | Interface Configuration Commands | |
Cisco | Interface Configuration Commands | |
Cisco | Interface Configuration Commands | |
Cisco | Interface Configuration Commands |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060221 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060804 |