(57)【要約】【課題】高速度通信でネットワーク上のパケットをキャプチャし、同時にそのパケットの関連情報を獲得できる方法を提供する。【解決手段】本願発明は、ネットワークモニタリング方法と装置を開示する。ネットワークモニタリング方法は、ネットワーク上で送信されるパケットを受信するが、そのパケットがパケット送信のためのネットワークフローを示すフロー情報を有することと、パケットのフロー情報を獲得することと、メタデータベースがパケットに対応するフロー情報を含むかを検知するが、メタデータベースがメタデータ及びメタデータに関連するフロー情報を保存するために使用されることと、フロー情報についての検知結果に従い、パケット送信に関連するメタデータを生成し、メタデータを対応するフロー情報に関連付けることと、生成されたメタデータ及びその生成されたメタデータに関連するフロー情報をメタデータベースに保存することを含む。【選択図】 図３
2016167799.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上で送信されるパケットを受信するが、該パケットがパケット送信のためのネットワークフローを示すフロー情報を有することと、
前記パケットの前記フロー情報を獲得することと、
メタデータベースが前記パケットに対応する前記フロー情報を含むかを検知するが、前記メタデータベースがメタデータ及び該メタデータに関連するフロー情報を保存するために使用されることと、
前記フロー情報についての検知結果に従い、パケット送信に関連するメタデータを生成し、該メタデータを対応するフロー情報に関連付けることと、
前記生成されたメタデータ及び該生成されたメタデータに関連するフロー情報を前記メタデータベースに保存すること
を含むことを特徴とするネットワークモニタリング方法。
【請求項２】
メタデータフィルタ及びパケットフィルタを提供するが、該パケットフィルタが該メタデータフィルタに関連していることと、
少なくとも一つのパケット群における各パケット群では、該パケット群がブロックタグを有するかを検知するが、該ブロックタグが、該パケット群が該群内にある各パケットの送信に関連するメタデータと共にアロケートされることを示していることと、
前記ブロックタグについての検知結果に従い、前記メタデータフィルタ又は前記パケットフィルタを使用して、少なくとも一つのパケット群をフィルタリングすること
を含むことを特徴とする、ネットワーク上で送信される少なくとも一つのパケット群をフィルタリングする方法。
【請求項３】
メタデータフィルタ及びパケットフィルタを提供するが、該パケットフィルタが該メタデータフィルタに関連することと、
少なくとも一つのパケットにおける各パケットでは、該パケットが対応するメタデータを有するかを検知することと、
前記メタデータについての検知結果に従い、メタデータフィルタ又はパケットフィルタを使用して、少なくとも一つのパケットをフィルタリングすること
を含むことを特徴とする、ネットワーク上で送信される少なくとも一つのパケットをフィルタリングする方法。
【請求項４】
ネットワーク上で送信されるパケットを受信するように構成された受信装置であって、該パケットがパケット送信のためのネットワークフローを示すフロー情報を有する受信装置と、
パケットのフロー情報を獲得するように構成されたフロー情報獲得装置と、
メタデータベースが前記パケットに対応するフロー情報を含むか検知するように構成された検知装置であって、前記メタデータベースが、メタデータ及び該メタデータに関連するフロー情報を保存するために使用される検知装置と、
前記フロー情報についての検知結果に従い、パケット送信に関連するメタデータを生成し、該メタデータを対応するフロー情報に関連付けるように構成されたメタデータ生成装置と、
前記生成されたメタデータ及び該生成されたメタデータに関連するフロー情報を前記メタデータベースに保存するように構成された保存装置と、
を備えることを特徴とするネットワークモニタリング装置。
【請求項５】
メタデータフィルタと、
パケットフィルタであって、該パケットフィルタが前記メタデータフィルタと関連しているパケットフィルタと、
少なくとも一つのパケット群における各パケット群では、該パケット群がブロックタグを有するか検知するように構成されたタグ検知装置であって、前記ブロックタグが、前記パケット群が群内にある各パケットの送信に関連するメタデータと共にアロケートされていることを示すタグ検知装置と、
前記ブロックタグについての検知結果に従い、前記メタデータフィルタ又は前記パケットフィルタを使用して、少なくとも一つのパケット群をフィルタリングするように構成されたフィルタ選択装置と
を備えることを特徴とする、ネットワーク上で送信される少なくとも一つのパケット群をフィルタリングする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、通信技術分野、特には、ネットワークモニタリング方法と装置、及びパケットフィルタリング方法と装置に関する。
【背景技術】
【０００２】
クラウドコンピューティング、高解像度画像通信、データベース等の新しい情報技術の応用が、通信技術の発展を大きく促進させた。例えば、10 Gbpsイーサネット技術などの高速ネットワーク通信技術が、それゆえ、幅広く応用されている。しかしながら、通信速度が大きく改善されるにつれて、高速通信ネットワークをモニタすることや管理することはより困難になる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2003-67207号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ネットワークから十分な情報を得るには、ネットワークモニタリング中に、ネットワーク障害箇所識別、侵入検知、トラフィック統計、ネットワークセキュリティー及び信頼性の保障などの目的を達成するために、ネットワーク上で送信されるパケットをキャプチャし、キャプチャしたパケットを分析する必要がある。しかしながら、高速度通信ではパケットが喪失し、そしてパケットロスがデータ分析精度に影響を与えるため、既存のネットワークモニタリング及び分析装置は、10 Gbps等の高速度通信で、効率よくパケットキャプチャをサポートすることができない。更に、多くのアプリケーションシナリオでは、その後の分析及び比較処理を容易にするために、ネットワーク上で送信されたパケットを保存する必要がある。パケット保存を必要とすることが、ネットワークモニタリング及び分析装置の処理負荷を増大させている。
【課題を解決するための手段】
【０００５】
本願発明の目的は、高速度通信でネットワーク上のパケットをキャプチャでき、同時に該パケットの関連情報を獲得できる方法を提供することである。
【０００６】
本願発明のひとつの側面は、ネットワークモニタリング方法を開示する。該モニタリング方法は、ネットワーク上で送信されるパケットを受信するが、該パケットがパケット送信のためのネットワークフローを示すフロー情報を有することと、前記パケットの前記フロー情報を獲得することと、メタデータベースが前記パケットに対応する前記フロー情報を含むかを検知するが、前記メタデータベースがメタデータ及び該メタデータに関連するフロー情報を保存するために使用されることと、前記フロー情報についての検知結果に従い、パケット送信に関連するメタデータを生成し、該メタデータを対応するフロー情報に関連付けることと、前記生成されたメタデータ及び該生成されたメタデータに関連するフロー情報を前記メタデータベースに保存することを含む。
【０００７】
いくつかの実施形態では、前記フロー情報についての検知結果に従い、パケット送信に関するメタデータを生成する工程は、メタデータベースが該パケットに対応するフロー情報を含まないと検知される場合、該メタデータを生成するために該パケットの送信に関するデータを該パケットから抽出することと、メタデータベースが該パケットに対応するフロー情報を含むと検知される場合、該フロー情報に関連するメタデータを該メタデータベースから複製することと、そして該パケットのメタデータとして複製されたメタデータを使用することを含む。
【０００８】
いくつかの実施形態では、メタデータを生成するためにパケット送信に関するデータを該パケットから抽出する工程が、該パケットのメタデータを獲得するために、該パケットの少なくともヘッダの一部を複製及び/又は処理することを含む。
【０００９】
いくつかの実施形態では、パケットの少なくともヘッダの一部を処理することは、１つ又は複数の所定の変換機能を使用して、該パケットのヘッダに含まれる少なくともいくつかのデータを変換することを含む。
【００１０】
いくつかの実施形態では、該メタデータを対応するフロー情報に関連づけすることは、該フロー情報を該生成されたメタデータに追加することを含む。
【００１１】
いくつかの実施形態では、受信したパケットは、ネットワーク上で送信された複数のパケットの一つであり、該ネットワークモニタリング方法は、複数のパケットを受信することと、複数のパケットに対応するメタデータに応じて、該複数パケットのためのネットワーク統計情報を生成すること含む。
【００１２】
いくつかの実施形態では、前記ネットワーク統計情報は、送信元アドレスと宛先アドレス、送信元ポートと宛先ポート、送信元ドメイン識別子、宛先ドメイン識別子、サービスタイプ識別子、パケットフローダイレクション、プロトコル識別子、VLAN識別子、パケットカウント、及び/又はパケットサイズを含む。
【００１３】
いくつかの実施形態では、ネットワークモニタリング方法は、更に、該パケットをパケットライブラリへ保存するが、該パケットは該生成されたメタデータと共に前記メタデータベースにアロケートされることを含む。
【００１４】
いくつかの実施形態では、生成されたメタデータと該生成されたメタデータに関連づけられたフロー情報をメタデータベースの中に保存する工程は、パケットの生成されたメタデータと該生成されたメタデータに関連づけられたフロー情報をバッファメモリの中へバッファリングすることと、バッファリングされたメタデータと該パケットの関連づけられたフロー情報、並びにバッファリングされたメタデータと他パケットの関連づけられたフロー情報を、バッファメモリからメタデータベースに非同期に転送することを含む。
【００１５】
いくつかの実施形態では、受信したパケットは、ネットワーク上で送信されたパケット群内の一つのパケットであり、前記ネットワークモニタリング方法は、該パケット群を受信することと、該パケット群内の各パケットがメタデータベースに、対応するメタデータと共にアロケートされる場合、各パケットが対応するメタデータと共にアロケートされていることを示すブロックタグを該パケット群に追加することを含んでいる。
【００１６】
いくつかの実施形態では、ネットワークモニタリング方法は、更に、各パケットが対応するメタデータと共にアロケートされていることを示すブロックタグを有するパケット群をフィルタリングするために、メタデータフィルタを使用することを含む。
【００１７】
いくつかの実施形態では、前記メタデータは、対となる送信元アドレスと宛先アドレス、対となる送信元ポートと宛先ポート、送信側サブネットワーク識別子、宛先側サブネットワーク識別子、パケットフローダイレクション、サービスタイプ識別子、プロトコル識別子、アプリケーション識別子、及び/又はVLAN識別子を含む。
【００１８】
いくつかの実施形態では、前記フロー情報は、対となる送信元アドレスと宛先アドレスを含む。
【００１９】
いくつかの実施形態では、前記フロー情報は更に、対となる送信元ポートと宛先ポートを含む。
【００２０】
本願発明の別の側面は更に、ネットワーク上で送信される少なくとも一つのパケット群をフィルタリングする方法を開示する。該方法は、メタデータフィルタ及びパケットフィルタを提供するが、該パケットフィルタが該メタデータフィルタに関連していることと、少なくとも一つのパケット群における各パケット群では、該パケット群がブロックタグを有するかを検知するが、該ブロックタグが、該パケット群が該群内にある各パケットの送信に関連するメタデータと共にアロケートされることを示していることと、該メタデータフィルタ又は該パケットフィルタを使用して、前記ブロックタグについての検知結果に従い、少なくとも一つのパケット群をフィルタリングすることを含む。
【００２１】
いくつかの実施形態では、メタデータフィルタ又はパケットフィルタを使用して、前記ブロックタグについての検知結果に従い、少なくとも一つのパケット群をフィルタリングする工程は、少なくとも一つのパケット群でパケット群が、メタデータ群と共にアロケートされることが検知される場合、該パケット群をフィルタリングするために該メタデータフィルタを使用することと、少なくとも一つのパケット群でパケット群が、メタデータ群と共にアロケートされないことが検知される場合、該パケット群をフィルタリングするために該パケットフィルタを使用することを含む。
【００２２】
いくつかの実施形態では、少なくとも一つのパケット群における各パケット群がデータブロックヘッダを有し、且つ、各パケットが対応するメタデータと共にアロケートされることを示すブロックタグが、データブロックヘッダに追加される。
【００２３】
いくつかの実施形態では、パケットブロックインデックスを使用して、少なくとも一つのパケット群にインデックスがつけられ、且つ、該ブロックタグは更に、パケットブロックインデックスに追加される。
【００２４】
いくつかの実施形態では、該方法は、更に、フィルタリングしたパケットを少なくとも一つのパケット群から獲得することを含む。
【００２５】
いくつかの実施形態では、該パケットフィルタは、メタデータフィルタの少なくとも一つのフィルタ規準に対応していて、且つ相互転換可能な、少なくとも一つの予め決められたフィルタ規準を有する。
【００２６】
いくつかの実施形態では、該メタデータは、対となる送信元アドレスと宛先アドレス、対となる送信元ポートと宛先ポート、送信側サブネットワーク識別子、宛先側サブネットワーク識別子、パケットフローダイレクション、サービスタイプ識別子、プロトコル識別子、アプリケーション識別子、及び/又はVLAN識別子を含む。
【００２７】
本願発明の別の側面は更に、ネットワーク上で送信される少なくとも一つのパケットをフィルタリングする方法を開示する。該方法は、メタデータフィルタ及びパケットフィルタを提供するが、該パケットフィルタが該メタデータフィルタに関連することと、少なくとも一つのパケットにおける各パケットでは、該パケットが対応するメタデータを有するかを検知することと、前記メタデータについての検知結果に従い、メタデータフィルタ又はパケットフィルタを使用して、少なくとも一つのパケットをフィルタリングすることを含む。
【００２８】
本願発明の別の側面は更に、ネットワークモニタリング装置を開示する。該ネットワークモニタリング装置は、ネットワーク上で送信されるパケットを受信するように構成された受信装置であって、該パケットがパケット送信のためのネットワークフローを示すフロー情報を有する受信装置と、パケットのフロー情報を獲得するように構成されたフロー情報獲得装置と、メタデータベースが前記パケットに対応するフロー情報を含むか検知するように構成された検知装置であって、前記メタデータベースが、メタデータ及び該メタデータに関連するフロー情報を保存するために使用される検知装置と、前記フロー情報についての検知結果に従い、少なくとも一つのパケットにおける各パケットの送信に関連するメタデータを生成し、該メタデータを対応するフロー情報に関連付けるように構成されたメタデータ生成装置と、前記生成されたメタデータ及び該生成されたメタデータに関連するフロー情報を前記メタデータベースに保存するように構成された保存装置とを含む。
【００２９】
本願発明の別の側面は更に、ネットワーク上で送信される少なくとも一つのパケット群をフィルタリングするための装置を開示する。該装置は、メタデータフィルタと、パケットフィルタであって、該パケットフィルタが前記メタデータフィルタと関連しているパケットフィルタと、少なくとも一つのパケット群における各パケット群では、該パケット群がブロックタグを有するか検知するように構成されたタグ検知装置であって、前記ブロックタグが、該パケット群が群内にある各パケットの送信に関連するメタデータと共にアロケートされていることを示すタグ検知装置と、前記ブロックタグについての検知結果に従い、メタデータフィルタ又はパケットフィルタを使用して、少なくとも一つのパケット群をフィルタリングするように構成されたフィルタ選択装置とを含む。
【００３０】
本願発明は、上記にまとめられており、詳細は簡略、概略及び省略されることもある。それゆえ、当事者は、この部分が例示的な説明にすぎず、いかなる方法によっても本願発明の範囲を制限することを意図するものではないと理解すべきである。本概要部分は、特許請求の範囲に記載された主題の重要な特徴又は必要な特徴を決定づけることを意図するものではなく、特許請求の範囲に記載された主題の範囲を決定するための補助手段となることを意図するものでもない。
【発明の効果】
【００３１】
本願発明に係るネットワークモニタリング方法では、パケット送信はメタデータ使用によって説明されており、該メタデータサイズは通常パケットサイズよりはるかに小さいといえる。パケットモニタリングを必要とする場合、例えば、該パケット送信状況などの情報についての統計が収集される場合、又は特定のアルゴリズムに従いパケットがフィルタリングされる場合に、ネットワークモニタリング装置は、メタデータのみを処理する必要があり、直接パケットを処理する必要は皆無かめったにない。このようなデータ分析処理方法が、ネットワーク上のパケット分析処理の困難を大いに減らし、それによりネットワークモニタリングの効果及び信頼性を向上させる。
【００３２】
本願発明の内容の前記及び他の特徴は、添付の図面に関連して、以下の明細書及び添付の特許請求の記載を通してより完全に、且つ明瞭に理解されることになる。これら図面は本願発明の内容のいくつかの実施方法を示すのみであり、それゆえ、本願発明の内容の範囲に対する制限として解されるべきではないと理解できる。添付図面によって、本願発明の内容がより明瞭に、且つ詳細に説明されている。
【図面の簡単な説明】
【００３３】
【図１】図１は本願発明のネットワークモニタリング装置が適用されうるネットワークシステム10の概要図である。
【図２】図２は本願発明の実施形態によるネットワークモニタリング装置16の概要図である。
【図３】図３は本願発明の実施形態によるネットワークモニタリング方法300のフローチャートである。
【図４】図４は本願発明の実施形態によるネットワーク上で送信される少なくとも一つのパケット群をフィルタリングするための方法400を示す。
【図５】図５は本願発明の実施形態によるネットワークモニタリング装置500の概要図である。
【図６】図６は本願発明の実施形態によるネットワーク上で送信される少なくとも一つのパケット群をフィルタリングするための装置600の概要図である。
【発明を実施するための形態】
【００３４】
以下の詳細な説明において、添付の図面に言及しているが、それは詳細な説明の一部を構成する。添付の図面において、別段説明の中で明記されていない限り、同様の符号は通常同様の構成要素を表す。詳細な実施方法と添付の図面と特許請求の範囲に記載された例示の実施方法は、制限的に解されない。本願発明の主題の精神又はその範囲を逸脱するものでない限り、他の実施方法も利用可能であり、他の変更もなされうる。概して明細書で明記され、且つ添付の図面で図解された本願発明の内容の様々な側面で、異なる構成要素の様々な構成、置換、組み合せ、及び設計が実行されうることが理解できるが、これら全ての構成、置換、組み合せ、及び設計は、本願発明の内容の一部を明確に構成するものである。
【００３５】
図１は本願発明のネットワークモニタリング装置が適用されうるネットワークシステム10の概要図である。
【００３６】
図１に示すように、ネットワークシステム10は複数のネットワークデバイス12を含むが、これらのネットワークデバイス12はネットワーク14を介して互いに伝達し、且つ互いにデータを送信及び受信する。ネットワーク14上で送信されるデータは、パケットの形式（パケット）であってよく、これらのパケットは同じ又は異なる通信トランスポートプロトコルを使用してもよいし、同じ又は異なるデータフォーマットを有してよい。これらのパケットのそれぞれが、パケットのデータと送信についての情報を含むヘッダを有する。ヘッダのパケット送信情報を使用することによって、ネットワーク14は、送信元ネットワークデバイスから宛先ネットワークデバイスへ、例えばルーターを使用して該パケットを送信することができる。例えば、TCP/IPプロトコルを使用するパケットでは、該パケットのヘッダは、送信元ネットワークデバイスの送信元アドレスと送信元ポート、及び宛先ネットワークデバイスの宛先アドレスと宛先ポートを含む。
【００３７】
ネットワークモニタリング装置16はネットワーク14に繋がり、ネットワーク14上で送信されるデータ情報をモニタリングするために使用される。例えば、ネットワークモニタリング装置16は、パケットをキャプチャし、そしてキャプチャしたパケットを、パケット分析エンジンを使用して分析できる。いくつかの実施形態では、ネットワークモニタリング装置16は、ネットワーク14への接続を確立し、ネットワーク14上送信されるデータをモニタリングする目的で、汎用プログラム又は特殊目的プログラムを実行するために、ハードウェア、ソフトウェア、CPU、メモリ、インターフェースなどのコンポーネントを含むこともある。ネットワークモニタリング装置16は、更に、その他のテスト及び測定オペレーション、データ送信及び受信オペレーション、並びに同様のオペレーションを実行することもある。
【００３８】
図２は本願発明の実施形態によるネットワークモニタリング装置の概要図である。
【００３９】
図２に示すように、ネットワークモニタリング装置16は、１つ又は複数のポートを介して、ネットワークモニタリング装置16をネットワーク14に接続するネットワークインターフェース22を含む。ネットワークモニタリング装置16は更に、１つ又は複数のプロセッサ23、１つ又は複数の揮発性メモリ24（ダイナミック・ランダム・アクセス・メモリ等）、及び１つ又は複数の不揮発性メモリ26（ハードディスクやフラッシュメモリ等）を含んでもよい。いくつかの実施形態では、ネットワークモニタリング装置16は、更に、ディスプレイ28、ユーザ入力コンポーネント30、外部装置に接続するための入力/出力インターフェース34等を含む。ネットワークモニタリング装置16は、メモリ26に保存されたオペレーティングシステム、例えば、Windows Server(登録商標)、Mac OS X(登録商標)、UNIX(登録商標)、Linux(登録商標)、FreeBSD(登録商標)に基づいて作動することもある。
【００４０】
図３は本願発明の実施形態によるネットワークモニタリング方法300のフローチャートである。該方法は処理ロジックによって実行され、並びに該処理ロジックは、ソフトウェア（汎用又は専用の演算装置で実行される）、ハードウェア（回路や特殊ロジックなど）、ファームウェアを含むか、若しくはそれらを組み合わせたものを含んでよい。いくつかの実施形態では、ネットワークモニタリング方法は、図２で示したネットワークモニタリング装置によって実行されることもある。
【００４１】
図３で示すように、ネットワークモニタリング方法300は、工程S302から開始する。すなわち、ネットワークモニタリング装置は、ネットワーク上で送信されるパケットを受信するが、該パケットがパケット送信のためのネットワークフローを示すフロー情報を有している。いくつかの実施形態では、フロー情報は、対となる送信元アドレスと宛先アドレスを含むか、若しくは、更に、対となる送信元ポートと宛先ポートを含んでもよい。対となる送信元アドレスと宛先アドレスに従い、ネットワークモニタリング装置は、受信パケットがネットワーク上で、２つの繋がれたネットワークデバイス間のうちのどちらのネットワークデバイスに送信されるかを決定づけてよく、且つ、送信元ポートと宛先ポートに従い、ネットワークモニタリング装置は、更に、受信パケットがネットワークデバイス上のどちらの特定のプロセスに関連するかを決定づけてよい。いくつかの実施形態では、ネットワークモニタリング装置は、１つ又は複数のルックアップテーブルを確立することで、フロー情報に含まれる対となる送信元アドレスと宛先アドレス及び/又は対となる送信元ポートと宛先ポートを保存してもよい。前記ルックアップテーブルは複数の対となる送信元アドレスと宛先アドレス及び/又は対となる送信元ポートと宛先ポートを含むが、アドレス及び/又はポートのそれぞれの一対がフロー識別子を使用して識別されてよい。
【００４２】
実際のアプリケーションでは、複数のパケットが、通常ネットワーク上で送信されると理解できる。ネットワークモニタリング装置は、これらのパケットを受信し、モニタする。言い換えれば、工程S302で受信されるパケットは、ネットワークモニタリング装置により受信される複数のパケットの中の一つであることもあり、ネットワークモニタリング装置は、このパケットにネットワークモニタリング方法300を実行することもある。更に、ネットワークモニタリング装置は、その他の受信パケットにネットワークモニタリング方法300を実行することもある。
【００４３】
その後、工程S304にて、ネットワークモニタリング装置は、工程S302で受信したパケットのフロー情報を獲得する。
【００４４】
一般にフロー情報はパケットのヘッダに含まれ、例えば、フロー情報はヘッダ内の所定フィールドで定義されてよい。それゆえ、いくつかの実施形態では、ネットワークモニタリング装置は、対応するフロー情報を獲得するために、パケットのヘッダで所定フィールドを照会することもある。異なる送信/受信ネットワークデバイスに従い、異なるパケットが、異なる又は同じフロー情報を有することがあると理解できる。しかしながら、パケット長は通常制限があり、例えば、IPパケットの最長は64kバイトである。それゆえ、２つのネットワークデバイス間での大量データの送信では、ネットワークモニタリング装置は、通常、数百もの、数千もの、あるいはそれ以上のパケットを検知することができ、且つこれらパケットは同じフロー情報を有する。
【００４５】
次に、工程S306で、ネットワークモニタリング装置は、メタデータベースが、受信したパケットに対応するフロー情報を含むかを検知するが、該メタデータベースは、メタデータ及び該メタデータに関連するフロー情報を保存してよい。
【００４６】
いくつかの実施形態では、メタデータベースは、メタデータと該メタデータに関連するフロー情報を組合せたものであり、受信されたパケットの情報に従い、ネットワークモニタリング装置によって作成される。メタデータはパケット送信に関する情報であり、例えば、対となる送信元アドレスと宛先アドレス、対となる送信元ポートと宛先ポート、送信側サブネットワーク識別子、宛先側サブネットワーク識別子、パケットフローダイレクション、サービスタイプ識別子、プロトコル識別子、及び/又はVLAN（仮想ローカルエリアネットワーク）識別子などの情報、若しくは、パケットのデータ及び/又はパケットの送信（例えば、パケットサイズ）に関連するその他の情報を含む。
【００４７】
いくつかの実施形態では、ネットワークモニタリング装置は、パケットのヘッダのいくつか、又は全てのデータを複製し、その複製データを該パケットのメタデータとして使用することがある。例えば、ネットワークモニタリング装置は、送信元アドレス、宛先アドレス、送信元ポート、宛先ポート、アドレスタイプ、パケット長、サービスタイプ識別子などのデータを直接複製し、その複製データをメタデータの一部として使用してよい。特定のプロトコルを使用するパケットでは、これらのデータはパケット内に特定のロケーションを有する。それゆえ、前もって決められたデータ抽出プログラムがメタデータ獲得のために、ネットワークモニタリング装置に提供されてよい。
【００４８】
いくつかの他の実施形態では、ネットワークモニタリング装置は更に、パケットのヘッダのいくつか、又は全てのデータを処理し、その処理済みデータを該パケットのメタデータとして使用してよい。例えば、TCP/IPプロトコルを使用するシステムでは、通常、異なるサービスポートが異なるアプリケーションやサービスにアロケートされる。通常、ポート番号53は、ネットワークシステム (DNS)にアロケートされ、名前解決を実行し、ポート番号80は、ハイパーテキストサーバ(HTTP)にアロケートされ、該ポート番号80を使用して、Ｗｅｂサーバがハイパーテキストを、ネットワークデバイスのローカルブラウザに転送し、ポート番号110は、電子メール送信に使用されるためにアロケートされる等である。それゆえ、ネットワークモニタリング装置は、予め決められた変換機能を含んでよく、該予め決められた変換機能は、TCP/IPプロトコル、又は他のネットワークトランスポートプロトコルによって定義されるポートとアプリケーション、又はポートとサービスの対応関係を含んでよい。前記予め決められた変換機能により、パケットのヘッダの送信元ポート、又は宛先ポートのデータは、対応するアプリケーション識別子へ変換でき、該アプリケーション識別子は、該パケットが適用されうるアプリケーションを示してよい。
【００４９】
いくつかの実施形態では、パケットのヘッダの送信元ポートと宛先ポートの一つが予め決められたサービスポートである限り、該パケットは、該サービスポートに対応するアプリケーション識別子を提供するか又はつけることができる。同様に、ネットワークモニタリング装置は更に、他の所定の変換機能を含んでよい。例えば、実際のアプリケーション要件により、いくつかの送信元アドレス、又は宛先アドレスがひとつの特定ドメイン、又はいくつかの特定ドメインに属すると定義されてよい。そしてそれに応じて、ネットワークモニタリング装置は、送信元アドレス及び/又は宛先アドレスと該ドメイン間での通信を含む所定の変換機能を提供してよい。そしてこの所定の変換機能により、パケットが送信された元のドメイン、又は、パケットが送信される先のドメインを個別に示す目的で、パケットのヘッダの送信元アドレスが、対応する送信元ドメイン識別子に変換され、一方、パケットのヘッダの宛先アドレスが対応する宛先ドメイン識別子に変換されてよい。
【００５０】
別の例では、２つのネットワークデバイス間のセッションにより、ネットワークモニタリング装置は更に、一対のアドレスとして、該セッションに関連する複数のパケットの送信元アドレス及び宛先アドレスを定義することもある。そして更に、その２つのネットワークデバイス間のマスタースレーブ関係を決定づけるが、最初の段階でパケットを送信するネットワークデバイスが、クライアント（通常、クライアントはデータを要求するセッションを開始する）として定義され、一方、パケットを受信するネットワークデバイスは、サーバ（サーバは、データ供給のリクエストに返答する）として定義されることもある。それゆえ、最初の段階で送信されるパケットのヘッダの送信元アドレスが、クライアントアドレスとして定義され、最初の段階で送信されるパケットのヘッダの宛先アドレスが、サーバアドレスとして定義されることもある。それに相応して、ネットワークモニタリング装置は、前記定義に従い、変換機能を構成し、このセッションの各パケットのヘッダの送信元アドレス及び宛先アドレスをクライアントアドレス及びサーバアドレスに変換してもよい。一方、ネットワークモニタリング装置は、更に、変換機能で、パケットフローダイレクションを決定する機能を設定してよく、（パケットの送信元アドレスがクライアントアドレスと同じか、又はパケットの宛先アドレスがサーバアドレスと同じであれば）該パケットフローダイレクションは、クライアントからサーバでもよいし、若しくは、（パケットの宛先アドレスがクライアントアドレスと同じか、又は該パケットの送信元アドレスがサーバアドレスと同じであれば）サーバからクライアントでもよい。該パケットフローダイレクションも、メタデータに追加されてもよい。
【００５１】
メタデータに含まれる前記データ情報は、単に一つの事例にすぎず、異なる特定のアプリケーションに従い、当業者はメタデータに含まれるデータ情報に対して、様々な修正、変更、処理を実行してよいと理解できる。
【００５２】
前述のように、メタデータベース内のメタデータは対応するフロー情報と関連している。いくつかの実施形態では、フロー情報は対応するメタデータに含まれていてもよい。例えば、対となる送信元アドレスと宛先アドレス、及び/又は対となる送信元ポートと宛先ポートを対応するメタデータに追加することで、該メタデータと該フロー情報の関連を確立してもよい。いくつかの他の実施形態では、該フロー情報は、フロー識別子を使用して識別され、例えば、該フロー情報と該フロー識別子の間にルックアップテーブルを確立してもよい。それに相応して、該フロー識別子を該等のメタデータに追加するか、又は該フロー識別子と該メタデータの間にルックアップテーブルを作成することで、該メタデータと該フロー情報の関連が確立されることもある。このような処理で、該フロー情報を該メタデータに追加するのと同様の効果を得ることができる。ネットワークモニタリング装置は、絶えず新しいパケットをネットワークからキャプチャ、又は受信するため、メタデータベース内のメタデータ量は絶えず増加することが理解できる。
【００５３】
また、該メタデータベースが大量のメタデータを含むため、該メタデータベースは更にメタデータインデックスを含んでもよい。該メタデータインデックスは、メタデータ検索やソートを容易にし、メタデータ検索効率を高めることができる。
【００５４】
工程S304で獲得したパケットのフロー情報に従い、ネットワークモニタリング装置は、該メタデータベースがフロー情報を含むかを検知することもある。いくつかの実施形態では、ネットワークモニタリング装置は、該メタデータベースが該フロー情報を含むかを決定するために、フロー情報とフロー識別子間のルックアップテーブルを照会することがある。ルックアップテーブルは、例えば、対となる送信元アドレスと宛先アドレス、及び/又は対となる送信元ポートと宛先ポート、及びフロー識別子間の対応関係を含む。該フロー情報が存在する場合、ネットワークモニタリング装置は、対応するフロー識別子を獲得することもある。該フロー情報が存在しない場合、ネットワークモニタリング装置は、無を示す、又は該フロー情報が存在しないと表示するナル(null)等の戻り値を獲得することもある。いくつかの他の実施形態では、該フロー情報はフロー識別子を使用して識別されず、対となる送信元アドレスと宛先アドレス、及び/又は対となる送信元ポートと宛先ポートを使用して表現されるのみでもよい。ネットワークモニタリング装置は、全ての対となる送信元アドレスと宛先アドレス、及び/又は対となる送信元ポートと宛先ポートを、ルックアップテーブルとして保存し、新規の対となる送信元アドレスと宛先アドレス、及び/又は新規の対となる送信元ポートと宛先ポートを受信した後で、該ルックアップテーブルを更新してもよい。このようにして、ネットワークモニタリング装置は、前記ルックアップテーブルをクエリすることで、該メタデータベースが該フロー情報を含むかを決定できる。
【００５５】
次に、工程S308で、ネットワークモニタリング装置は、前記フロー情報についての検知結果に従い、該パケットの送信に関連するメタデータを生成する。
【００５６】
具体的には、前記メタデータベースが、該パケットに対応するフロー情報を含まないと検知された場合、該メタデータベースは、該フロー情報に関連するメタデータを含まないと示す。この場合、ネットワークモニタリング装置は、該パケットから、パケットの送信に関連するデータを抽出して、該メタデータを生成する。ある実施形態では、データが抽出されるパケットでは、ネットワークモニタリング装置は、該パケットに対応するメタデータを獲得するために、該パケットのヘッダの少なくとも一部を複製してもよい。若しくは、任意で、ネットワークモニタリング装置が、パケットのヘッダのいくつか、又は全てのデータを処理し、且つ処理済データを該メタデータの一部として使用してもよい。いくつかの実施形態では、該メタデータは、該パケットから直接複製されたデータ、及び該パケットのデータ処理によって獲得したデータを含んでよい。ヘッダのデータ処理は、例えば所定の変換機能を使用して、ヘッダに含まれる少なくともいくつかのデータを変換することでよい。変換機能については、上記説明を参照して下さい。詳細説明はここでは省略します。
【００５７】
それどころか、該メタデータベースが、検知されたパケットに対応するフロー情報を含むと検知された場合、ネットワークモニタリング装置は、該メタデータベースから、該検知されたフロー情報に関連するメタデータを複製し、且つ、パケットのメタデータとして、該複製メタデータを使用してもよい。２つのネットワークデバイス間で送信される複数のパケット間の大きな相違がペイロードデータ（つまりユーザデータ）にあり、一方、ヘッダに含まれる情報は、実質上同じか、又は僅かに異なるため、前記処理方法が使用可能である。それゆえ、２つのネットワークデバイス間で送信される複数のパケットでは、通常、パケットのヘッダ構文解析によって得られるメタデータも同じである。更に、２つのネットワークデバイス間で送信されるパケットのフロー情報を使用することで、その２つのネットワークデバイスもまた表示されてよいし、そして該パケットが同じフロー情報を有する場合、該パケットに対応するメタデータもまた同じである。これに基づき、該メタデータが検知されたパケットに対応するフロー情報を含む場合、該メタデータベースが既に該フロー情報に関連するメタデータを含むと示し、それゆえ、該パケットのメタデータとして、該メタデータを使用してよい。このようにして、ネットワークモニタリング装置は、メタデータ獲得のために、パケット構文解析オペレーションをより少なく実行し、それによりメタデータ生成効率を大いに高めるようにしてもよい。この処理方法は、特に高速ネットワーク通信での応用に適している。
【００５８】
いくつかの実施形態では、対応するメタデータが各受信パケットに対して生成された後で、これらパケットのメタデータに従い、ネットワークモニタリング装置は、これらパケット用にネットワーク統計情報を生成してもよい。いくつかの実施形態では、ネットワーク統計情報は、送信元アドレスと宛先アドレス、送信元ポートと宛先ポート、送信元ドメイン識別子、宛先ドメイン識別子、サービスタイプ識別子、パケットフローダイレクション、プロトコル識別子、VLAN識別子、パケットカウント、及び/又はパケットサイズを含んでもよい。ネットワーク統計情報は、フロー情報に基づいて、つまり、互いに通信する対をなす２つのネットワークデバイスに基づいて、収集されてもよい。例えば、ネットワーク統計情報は、対をなすネットワークデバイス間の１つ又は複数のセッションで送信されるパケット量（つまり、カウント）を含むか、又はこれらパケットに含まれるデータサイズを含んでもよい。これら全てのネットワーク統計情報は、所定の統計機能や統計ルールを設定すること及びこれらの統計機能やルールを使用してメタデータを処理することで得られるようにしてもよい。ネットワーク統計情報は、更に、該メタデータ内のいくつかのデータ、例えば、プロトコル識別子、VLAN識別子、サービスタイプ識別子を直接抽出してよい。いくつかの実施形態では、ネットワークモニタリング装置で、例えばメインメモリで、ネットワーク統計情報をバッファリングしてよく、バッファリングされた情報は、所定時間（例えば60秒）の間隔で、ネットワーク統計データベースに保存される。
【００５９】
その後、工程S310で、ネットワークモニタリング装置は前記生成されたメタデータ及び該生成されたメタデータに関連するフロー情報をメタデータベースに保存する。このようにして、各受信パケットは、対応するメタデータの一つと共にアロケートされることができる。
【００６０】
いくつかの実施形態では、工程S308で、該メタデータベースがパケットのフロー情報を含まないと検知された場合、該パケットのメタデータを生成する必要があり、そして該パケットの生成されたメタデータは、該パケットのフロー情報に関連している。例えば、新しいフロー識別子が新規フロー情報を表すために生成、又はアロケートされ、そしてその新しいフロー識別子が生成されたメタデータに追加され、新規フロー情報と新規メタデータが関連付けられる。更に、新しく生成されたメタデータとその新しく生成されたメタデータに関連するフロー情報が、メタデータベースに保存されてよい。その上、工程S308で、該メタデータベースが既にパケットのフロー情報を含み、新規メタデータが、例えば、既存のフロー情報に対応するメタデータの複製オペレーションを使用することで、生成される場合、該新規メタデータに関連するフロー情報も確かであり、ネットワークモニタリング装置は、該メタデータ及び該メタデータに関連するフロー情報を該メタデータベースに保存してもよい。
【００６１】
前記工程を通して、ネットワークモニタリング装置は、受信パケットに対応するメタデータを獲得し、そしてこれら受信パケットでは、ネットワークモニタリング装置は、個別の特定のアプリケーション要件に従って、処理方法を選択してよい。いくつかの実施形態では、ネットワークモニタリング装置は、該メタデータを保存するだけでよく、保存されたメタデータに基づいて、ネットワークのパケット送信状態に関するその後の分析又はバックトラッキングを容易にする。いくつかの他の実施形態では、ネットワークモニタリング装置は更に、工程S302で受信するパケットを保存し、且つパケットライブラリに該受信パケットを保存してよい。パケットライブラリ内の各パケットは、該パケットの送信状態を示すために、メタデータベース内の対応するメタデータの一つと共にアロケートされてよい。例えば、該メタデータベースは、メタデータにインデックスをつけるためにメタデータインデックスを含んでよく、そしてパケットライブラリは、パケットにインデックスをつけるためにパケットインデックスを含んでよい。該パケットインデックスと該メタデータインデックスは互いに対応してよい。例えば、該パケットインデックスは、パケットの受信シーケンスに従い、パケットをソートし、そして各パケットは対応する固有のパケットシーケンス番号と共にアロケートされる。それに応じて、該メタデータに対応するパケットシーケンス番号に従い、該メタデータインデックスは、メタデータをソートしてよい。このようにして、ネットワークモニタリング装置は、メタデータ分析後、一部の情報が欠けている（例えば、ペイロードデータが欠けている場合）と検知した場合、ネットワークモニタリング装置は更に、該メタデータに従い、対応するパケットを見つけ、更にそのパケットに対して分析処理を実行してよい。
【００６２】
高速通信ネットワークでは、ネットワーク上で大量のパケットが送信されているが、それゆえ、ネットワークモニタリング装置は、大量のパケット及びメタデータを保存するために、十分な記憶速度及び記憶容量を備える必要があることが理解できる。時として、特に過剰な程の高速のネットワーク通信速度では、ネットワークモニタリング装置が、受信パケット及び生成されたメタデータを、内蔵大容量記憶媒体（ハードディスクやフラッシュメモリ等）に遅れずに保存できないことがありうる。そのようなケースを避ける、あるいは少なくするために、いくつかの実施形態では、バッファメモリがネットワークモニタリング装置用に設定されることもあり、工程S308で生成されるメタデータ及びネットワークから生成される他パケットのメタデータが、最初にバッファメモリにバッファリングされることができる。そして、所定条件を満たした後で、これらのバッファリングされたメタデータは、メタデータベース内の大容量記憶媒体に転送される。言い換えれば、これらのパケットのメタデータ及び関連するフロー情報は、該メタデータベースにバッチで転送される。例えば、バッファメモリがいっぱいになる毎に、又は所定時間の間隔で、該メタデータは、該メタデータベースに転送される。
【００６３】
いくつかの実施形態では、バッファリングされたメタデータ及びフロー情報は、バッファメモリから該メタデータベースに非同期的に転送され、つまり、メタデータベースのメモリが、非同期の入力/出力方法を使用して、データを保存する。具体的には、ネットワークモニタリング装置が、バッファリングされたメタデータのバッチを該メモリに転送するよう指示した後で、該メモリが、メタデータのこのバッチの記憶が完了されたかを示すレスポンスを返す前に、ネットワークモニタリング装置は、バッファリングされたメタデータの次のバッチを該メモリに転送し続ける。ネットワークモニタリング装置は、メタデータの転送や記憶を処理するために、特定のスレッドをアレンジしてよいし、且つ、転送されたメタデータが正常に保存されたかを検知するために、また別の一つ、又は複数のスレッドをアレンジしてもよい。ハードディスクメモリを使用するメタデータベースでは、データ書込み速度に影響を与えるアドレス指定が頻発するのを避けるために、前記非同期の記憶オペレーションで、ヘッドが継続的にハードディスクの同じエリア、又は付近のエリアにデータを書き込むようにできる。
【００６４】
前述のように、各IPパケットの最長は64Kバイトである。２つのネットワークデバイス間での大量データの送信では、ネットワークモニタリング装置は、通常、数百もの、数千もの、あるいはそれ以上のパケットを検知することができ、且つ、これらのパケットは同じフロー情報を有する。パケット処理効率を向上させるために、いくつかの実施形態では、複数のパケットは一つのパケット群にパッケージされ、例えば、64、128、256、又はそれ以上のパケットは、一つのパケット群にパッケージされる。該パケット群は、ネットワークモニタリング装置により、一緒に送信及び受信及び処理されてよく、各パケット群はデータブロックヘッダを含んでよく、該パケット群及び該パケット群の送信についての情報が、該データブロックヘッダに追加される。これに相応するように、複数の対応するメタデータもメタデータ群にパッケージされてよく、そして、メタデータブロックヘッダが提供される。
【００６５】
いくつかの実施形態では、ブロックタグは前記データブロックヘッダに追加されてよく、且つ、該ブロックタグが使用され、パケット群の各パケットが対応するメタデータと共にアロケートされることを表す。ブロックタグの使用は、その後のパケット及びメタデータ処理を容易にする。例えば、ネットワークモニタリング装置が、受信及び保存されたパケットにその後の処理を実行するとき、ネットワークモニタリング装置が、各パケット群のデータブロックヘッダがブロックタグを有するかを検知することもある。該データブロックヘッダが、該パケット群の各パケットがメタデータと共にアロケートされること示すブロックタグを有する場合、ネットワークモニタリング装置は、該パケット群に対応するメタデータ群の処理、例えば、該メタデータの分析及びフィルタリングなどを選択してよい。若しくは、該データブロックヘッダが、該パケット群の各パケットがメタデータと共にアロケートされることを示すブロックタグを有しない場合、ネットワークモニタリング装置は、該パケット群の処理、例えば、該パケットのデータ分析及びフィルタリングの実行を選択してもよい。
【００６６】
本願発明によるネットワークモニタリング方法では、パケット送信はメタデータ使用によって記述され、該メタデータのサイズは、通常パケットサイズよりはるかに小さいと理解できる。パケットのモニタリングが必要とされるとき、例えば、パケットの送信状況などの情報についての統計が収集されるとき、又はパケットが特定のアルゴリズムによってフィルタリングされるとき、通常、ネットワークモニタリング装置は、該メタデータのみを処理してよく、直接パケットを処理する必要は皆無、又はめったにない。このようなデータ分析処理方法が、ネットワーク上のパケット分析処理の困難を大きく減少させ、それによりネットワークモニタリングのその効果及び信頼性を向上させる。
【００６７】
本願発明は、更に、前記ネットワークモニタリング方法の使用で得られるパケット及びメタデータのフィルタリング方法を提供する。フィルタリング後、フィルタ規準及び要件を満たすパケット及び/又はメタデータは、回収可能で、且つ、その後の使用のためのデータファイルを形成するために、コンパイル、又は編成することができる。
【００６８】
図４は本願発明の実施形態によるネットワーク上で送信される少なくとも一つのパケット群をフィルタリングするための方法400を示す。該方法400は、例えば、図２で示すネットワークモニタリング装置により実行、又は同様のデータ処理装置によって実行されてよい。
【００６９】
図４に示すように、工程S402では、メタデータフィルタ及びパケットフィルタが提供されるが、該パケットフィルタは該メタデータフィルタと関連している。
【００７０】
具体的には、フィルタリングされるデータは、ネットワークモニタリング装置により通常受信され、且つパケットライブラリに保存されるパケットである。これらのパケットのいくつか、又は全ては、対応するメタデータと共にアロケートされ、該メタデータはメタデータベースに保存される。いくつかの実施形態では、該パケットは、グループ毎にパケットライブラリに保存されてよく、そして各パケット群はデータブロックヘッダを含んでよい。同様に、該メタデータは、グループ毎にメタデータベースに保存されてよく、そして各メタデータ群はメタデータブロックヘッダを含んでよい。
【００７１】
各パケット群はブロックタグを含んでもよいが、パケット群が群内の各パケットの送信に関連するメタデータと共にアロケートされていることを示すために、該ブロックタグが使用される。言い換えれば、パケット群内のいずれか一つ、又は複数のパケットが、対応するメタデータを有しない場合、該パケット群はブロックタグを有しなくてもよいし、又は、ブロックタグは対応するメタデータの欠如を示すよう設定されてもよい。いくつかの実施形態では、該ブロックタグは該データブロックヘッダに追加されてよい。いくつかの他の実施形態では、該ブロックタグもまた、パケットブロックインデックスに追加されてよい。
【００７２】
該メタデータフィルタは通常、いくつかの既定のフィルタ規準を含み、そしてこれらのフィルタ規準は、該メタデータに含まれるデータに対応する。例えば、該メタデータは、例として該メタデータに対応するパケットが適用できるアプリケーションを示すアプリケーション識別子を含むこともある。異なるアプリケーション識別子が異なる値と共にアロケートされてよい。アプリケーション識別子に関しては、図３で示したネットワークモニタリング方法にある関連する説明を参照して下さい。それに相応して、該メタデータフィルタは、１つ又は複数の特定のアプリケーション識別子値を含んでよく、そして該メタデータ内のアプリケーション識別子の値が該メタデータフィルタの値と同じとき、該メタデータがフィルタ規準を満たすとみなしてよい。また、該メタデータ内のアプリケーション識別子の値が該メタデータフィルタの値と異なるとき、該メタデータがフィルタ規準を満たさないとみなしてよい。いくつかの実施形態では、フィルタ規準を満たすメタデータが維持され、一方、フィルタ規準を満たさないメタデータが破棄されてよい。若しくは、反対に、フィルタ規準を満たすメタデータが破棄される。
【００７３】
いくつかの実施形態では、前記パケットフィルタが前記メタデータフィルタと関連していることは、該パケットフィルタが、該メタデータフィルタのフィルタ規準に対応、及び相互転換可能な、少なくとも一つのフィルタ規準を含むことをさす。例えば、パケットがメタデータのアプリケーション識別子を有せず、送信元ポートのポート番号、又は宛先ポートのポート番号のみを有することが可能である。しかしながら、これらのポート番号の少なくとも一つは、アプリケーションと一対一の対応にある。それゆえ、該パケットフィルタは、ポート番号に関連するフィルタ規準を含んでよく、それは該メタデータフィルタのアプリケーション識別子の値に対応する。例えば、該メタデータフィルタのフィルタ規準は、メタデータのアプリケーション識別子がDNSの識別子に対応する必要があることに制限してよい。これに対応して、パケットフィルタに含まれるフィルタ規準は、宛先ポート又は送信元ポートのポート番号が、53であることに制限してよい。TCP/IPプロトコルを使用するネットワークシステムでは、ポート番号53はネットワークシステム(DNS)にアロケートされ、名前解決を実行する。それゆえ、該パケットフィルタと該メタデータフィルタの２つのフィルタ規準は同じとなり、その２つのフィルタが実質的に、同じデータフィルタリングオペレーションを実行する。実際のアプリケーションでは、メタデータとパケット間のデータ通信に従い、該パケットフィルタ及び該メタデータフィルタは作成されることもある。
【００７４】
次に、工程S404で、フィルタリングされる各パケット群がブロックタグを有するか検知される。
【００７５】
前述のように、該ブロックタグはデータブロックヘッダに追加されてよく、又はパケットブロックインデックスに追加されてよい。それゆえ、各パケット群では、該データブロックヘッダ及び/又は該パケットブロックインデックスで、ブロックタグを検索及び検知してよい。
【００７６】
その後、工程S406で、前記ブロックタグについての検知結果に従い、該メタデータフィルタ、又は該パケットフィルタを使用し、パケットをフィルタリングする。
【００７７】
具体的には、パケット群がメタデータ群と共にアロケートされていると検知される場合、該メタデータフィルタを使用して、パケット群をフィルタリングするが、具体的には、該パケット群に対応するメタデータをフィルタリングする。パケット群がメタデータ群と共にアロケートされていないと検知される場合、該パケットフィルタを使用して、パケット群をフィルタリングする。
【００７８】
いくつかの実施形態では、工程S406の後で、フィルタリングしたパケットは、更に獲得されることがあり、これらのフィルタリングしたパケットを含むデータファイルを生成する。例えば、該パケットフィルタを使用してフィルタリングされるパケットでは、該パケットは所定の記憶位置に直接転送され、又はフィルタリング中にバッファリングされてよい。そして、該メタデータを使用してフィルタリングされるパケットでは、フィルタリングにより得られるメタデータに基づいて、該等のパケットは更に、前記パケットライブラリから読み込まれてよく、その後、それらのパケットが所定の記憶位置に転送され、又はバッファリングされる。このような処理の後で、該メタデータフィルタのフィルタ規準、又は該パケットフィルタのフィルタ規準を満たすパケットを獲得できる。これらのパケットは、その後の使用のためにデータファイルを形成するため、コンパイル、又は編成されてよい。
【００７９】
いくつかの実施形態では、ネットワークから受信されるパケットもまた、一つずつフィルタリングされてよい。それに応じて、フィルタリングされる各パケットでは、該パケットが対応するメタデータを有するか検知される。その後、前記メタデータについての検知結果に従い、該メタデータフィルタ、又は該パケットフィルタを使用して、受信パケットをフィルタリングする。いくつかの実施形態では、該メタデータベースに含まれるメタデータは、最初にフィルタリングされることもあり、そしてその後、該パケットライブラリに含まれ、且つメタデータを有しないパケットがフィルタリングされる。
【００８０】
図５は、本願発明の実施形態によるネットワークモニタリング装置500の概要図である。
【００８１】
図５に示すように、ネットワークモニタリング装置500は、
ネットワーク上で送信されるパケットを受信するように構成された受信装置501であって、該パケットがパケット送信のためのネットワークフローを示すフロー情報を有する受信装置501と、
パケットのフロー情報を獲得するように構成されたフロー情報獲得装置503と、
メタデータベースが前記パケットに対応するフロー情報を含むか検知するように構成された検知装置505であって、前記メタデータベースが、メタデータ及び該メタデータに関連するフロー情報を保存するために使用される検知装置505と、
前記フロー情報についての検知結果に従い、パケット送信に関連するメタデータを生成し、該メタデータを対応するフロー情報に関連付けるように構成されたメタデータ生成装置507と、
前記生成されたメタデータ及び該生成されたメタデータに関連するフロー情報を前記メタデータベースに保存するように構成された保存装置509
とを含む。
【００８２】
図６は、本願発明の実施形態によるネットワーク上で送信される少なくとも一つのパケット群をフィルタリングするための装置の概要図である。
【００８３】
図６に示すように、該装置600は、
メタデータフィルタ601と、
パケットフィルタ603であって、該パケットフィルタ603が前記メタデータフィルタ601と関連しているパケットフィルタ603と、
少なくとも一つのパケット群における各パケット群では、該パケット群がブロックタグを有するか検知するように構成されたタグ検知装置605であって、該ブロックタグが、該パケット群が群内にある各パケットの送信に関連するメタデータと共にアロケートされていることを示すタグ検知装置605と、
前記ブロックタグについての検知結果に従い、メタデータフィルタ601又はパケットフィルタ603を使用して、少なくとも一つのパケット群をフィルタリングするように構成されたフィルタ選択装置607
とを含む。
【００８４】
本願発明のいくつかの実施形態では、図５で示す該装置500及び図６で示す該装置600は、１つ又は複数の特定用途向け集積回路(ASIC)、デジタルシグナルプロセッサ(DSP)、デジタル信号処理装置(DSPD)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサ又は別の電子素子を使用して実行されることがあり、実に、図３で示す該方法300、又は図４で示す該方法400が用いられて実行されることがある。
【００８５】
いくつかの実施形態では、本願発明は更に、命令を含む不揮発性コンピュータ可読記憶媒体、例えば、命令を含むメモリを提供するが、前記命令は、図３で示す該方法300、又は図４で示す該方法400を実施するために、図２で示すネットワークモニタリング装置16のプロセッサ23によって実行されてよい。例えば、不揮発性コンピュータ可読記憶媒体は、ROM、ランダムアクセスメモリ(RAM)、CD-ROM、磁気テープ、フラッシュメモリ、ハードディスク、フロッピーディスク、光データ記憶装置等でよい。
【００８６】
本願発明の実施形態においてネットワークモニタリング装置のいくつかのモジュール又はサブモジュールが、上記詳細な説明で言及されているが、このような区別は例示的にすぎず、変更できないものでないことに留意されたい。実際、本願発明の実施形態によれば、上述の二つ、又はそれ以上のモジュールの特徴及び機能は、一つのモジュールで具現化されてよい。他方では、前述の一つのモジュールの特徴及び機能は、更に、複数モジュールで具現化されるように分離されてもよい。
【００８７】
その上、本願発明の該方法のオペレーションは添付の図面において特定の順序で説明されているが、これらのオペレーションがその特定の順序に従って実行せねばならないことを要求、又は示唆するものではなく、添付の図面で示す全てのオペレーションが実行されたときのみ、望ましい成果が実現できることを示唆するものでもない。それどころか、フローチャートで示す工程の実行順序は変更されてよい。更に、又は任意で、いくつかの工程を省略したり、複数の工程を結合し一つの工程で実行したり、及び/又は一つの工程を複数工程に分けて実行してもよい。
【００８８】
明細書、開示された内容、添付の図面、及び添付の請求項を考察することで、当業者は理解し、並びに開示された実施方法に他の変更を実行してよい。特許請求の範囲において、用語「含む」とは、他の構成要素又は工程を除外するものではなく、並びに、用語「一つ」は複数形を除外するものではない。本願発明の実際の応用では、一つの構成要素が特許請求の範囲で記載された複数の技術的特徴の機能を実行してもよい。特許請求の範囲において、添付の図面のいずれの引用符号も、発明の範囲に対して制限的に解されるべきではない。
【符号の説明】
【００８９】
10  ネットワークシステム
12  ネットワークデバイス
14  ネットワーク
16, 500  ネットワークモニタリング装置
22  ネットワークインターフェース
23  プロセッサ
24  揮発性メモリ
26  不揮発性メモリ
28  ディスプレイ
30  入力コンポーネント
34  入力/出力インターフェース
501 受信装置
503 フロー情報獲得装置
505 検知装置
507 メタデータ生成装置
509 保存装置
600 ネットワーク上で送信される少なくとも一つのパケット群をフィルタリングする装置
601 メタデータフィルタ
603 パケットフィルタ
605 タグ検知装置
607 フィルタ選択装置
【図１】
2016167799.tif 000003
【図２】
2016167799.tif 000004
【図３】
2016167799.tif 000005
【図４】
2016167799.tif 000006
【図５】
2016167799.tif 000007
【図６】
2016167799.tif 000008
【外国語明細書】
【発明の名称】 NETWORK MONITORING METHOD AND APPARATUS, AND PACKET FILTERING METHOD AND APPARATUS
【技術分野】
【０００１】
This application relates to the field of communications technologies, and in particular, to a network monitoring method and apparatus, and a packet filtering method and apparatus.
【背景技術】
【０００２】
Applications of new information technologies such as cloud computing, high definition video communication, and databases greatly promote the development of communications technologies, for example, high-speed network communications technologies such as 10 Gbps Ethernet technologies are therefore widely applied. However, as the transmission rate improves significantly, it becomes more difficult to monitor and manage a high-speed communications network.
【先行技術文献】
【特許文献】
【０００３】
【特許文献 1】特開2003-67207
【発明の概要】
【発明が解決しようとする課題】
【０００４】
To acquire sufficient information from a network, during network monitoring, packets transmitted on the network need to be captured, and the captured packets need to be analyzed, to achieve objectives such as network fault locating, intrusion detection, traffic statistics, and network security and reliability assurance. However, an existing network monitoring and analysis device generally cannot effectively support packet acquisition at a high transmission rate such as 10 Gbps, because at a high transmission rate, packets will be lost, and the packet loss affects the accuracy of data analysis. In addition, in many application scenarios, packets transmitted on the network further need to be stored, to facilitate subsequent analysis and comparison processing. The requirement of storing packets further increases the processing pressure of the network monitoring and analysis device.
【課題を解決するための手段】
【０００５】
An objective of this application is to provide a method that can capture a network packet at a high transmission rate and at the same time, can acquire related information of the packet.
【０００６】
An aspect of this application discloses a network monitoring method. The monitoring method includes: receiving a packet transmitted on a network, where the packet has flow information that indicates a network flow for transmission of the packet; acquiring the flow information of the packet; detecting whether a metadatabase includes the flow information corresponding the packet, where the metadatabase is used to store metadata and flow information associated with the metadata; generating, according to a detection result about the flow information, metadata related to the transmission of the packet, and associating the metadata with the corresponding flow information; and storing the generated metadata and the flow information associated with the generated metadata into the metadatabase.
【０００７】
In some embodiments, the step of generating, according to a detection result about the flow information, metadata related to the transmission of the packet includes: if it is detected that the metadatabase does not include the flow information corresponding to the packet, extracting, from the packet, data related to the transmission of the packet to generate the metadata; and if it is detected that the metadatabase includes the flow information corresponding to the packet, replicating, from the metadatabase, metadata associated with the flow information, and using the replicated metadata as the metadata of the packet.
【０００８】
In some embodiments, the step of extracting, from the packet, data related to the transmission of the packet to generate the metadata includes: replicating and/or processing at least a part of a header of the packet to obtain the metadata of the packet.
【０００９】
In some embodiments, the processing at least a part of a header of the packet includes converting at least some data included in the header of the packet by using one or more predetermined conversion functions.
【００１０】
In some embodiments, the associating the metadata with the corresponding flow information includes: adding the flow information to the generated metadata.
【００１１】
In some embodiments, the received packet is one of multiple packets transmitted on the network, and the network monitoring method includes: receiving the multiple packets, and generating, according to metadata corresponding to the multiple packets, network statistics information for the multiple packets.
【００１２】
In some embodiments, the network statistics information includes a source address and a destination address, a source port and a destination port, a source domain identifier, a destination domain identifier, a service type identifier, a packet flow direction, a protocol identifier, a VLAN identifier, a packet count, and/or a packet size.
【００１３】
In some embodiments, the network monitoring method further includes: storing the packet in a packet library, where the packet is allocated with the generated metadata in the metadatabase.
【００１４】
In some embodiments, the step of storing the generated metadata and the flow information associated with the generated metadata into the metadatabase includes: buffering the generated metadata of the packet and the flow information associated with the generated metadata into a buffer memory; and asynchronously transferring, from the buffer memory into the metadatabase, the buffered metadata and associated flow information of the packet, and buffered metadata and associated flow information of other packets.
【００１５】
In some embodiments, the received packet is one packet in a group of packets transmitted on the network, and the network monitoring method includes: receiving the group of packets; and if each packet in the group of packets is allocated with corresponding metadata in the metadatabase, adding, to the group of packets, a block tag indicating that each packet is allocated with corresponding metadata.
【００１６】
In some embodiments, the network monitoring method further includes: using a metadata filter to filter the group of packets having the block tag indicating that each packet is allocated with corresponding metadata.
【００１７】
In some embodiments, the metadata includes a source address-destination address pair, a source port-destination port pair, a source-end sub-network identifier, a destination-end sub-network identifier, a packet flow direction, a service type identifier, a protocol identifier, an application identifier and/or a VLAN identifier.
【００１８】
In some embodiments, the flow information includes a source address-destination address pair.
【００１９】
In some embodiments, the flow information further includes a source port-destination port pair.
【００２０】
Another aspect of this application further discloses a method for filtering at least one group of packets transmitted on a network. The method includes: providing a metadata filter and a packet filter, where the packet filter is associated with the metadata filter; for each group of packets in the at least one group of packets, detecting whether the group of packets has a block tag, where the block tag indicates that the group of packets is allocated with metadata that is related to transmission of each packet in the group; and using, according to a detection result about the block tag, the metadata filter or the packet filter to filter the at least one group of packets.
【００２１】
In some embodiments, the step of using, according to a detection result about the block tag, the metadata filter or the packet filter to filter the at least one group of packets includes: if it is detected that a group of packets in the at least one group of packets is allocated with a group of metadata, using the metadata filter to filter the group of packets; and if it is detected that a group of packets in the at least one group of packets is not allocated with a group of metadata, using the packet filter to filter the group of packets.
【００２２】
In some embodiments, each group of packets in the at least one group of packets has a data block header, and the block tag indicating that each packet is allocated with corresponding metadata is added to the data block header.
【００２３】
In some embodiments, the at least one group of packets is indexed by using a packet block index, and the block tag is further added to the packet block index.
【００２４】
In some embodiments, the method further includes: acquiring filtered packets from the at least one group of packets.
【００２５】
In some embodiments, the packet filter has at least one predetermined filter criterion that is corresponding to and interconvertible with at least one filter criterion in the metadata filter.
【００２６】
In some embodiments, the metadata includes a source address-destination address pair, a source port-destination port pair, a source-end sub-network identifier, a destination-end sub-network identifier, a packet flow direction, a service type identifier, a protocol identifier, an application identifier, and/or a VLAN identifier.
【００２７】
Another aspect of this application further discloses a method for filtering at least one packet transmitted on a network. The method includes: providing a metadata filter and a packet filter, where the packet filter is associated with the metadata filter; for each packet in the at least one packet, detecting whether the packet has corresponding metadata; and using, according to a detection result about the metadata, the metadata filter or the packet filter to filter the at least one packet.
【００２８】
Another aspect of this application further discloses a network monitoring apparatus. The network monitoring apparatus includes: a receiving apparatus, configured to receive a packet transmitted on a network, where the packet has flow information that indicates a network flow for transmission of the packet; a flow information acquiring apparatus, configured to acquire the flow information of the packet; a detection apparatus, configured to detect whether a metadatabase includes the flow information corresponding to the packet, where the metadatabase is used to store metadata and flow information associated with the metadata; a metadata generation apparatus, configured to generate, according to a detection result about the flow information, metadata related to the transmission of each packet in the at least one packet, and associate the metadata with corresponding flow information; and a storage apparatus, configured to store the generated metadata and the flow information associated with the generated metadata into the metadatabase.
【００２９】
Another aspect of this application further discloses an apparatus for filtering at least one group of packets transmitted on a network. The apparatus includes: a metadata filter; a packet filter, where the packet filter is associated with the metadata filter; a tag detection apparatus, configured to: for each group of packets in the at least one group of packets, detect whether the group of packets has a block tag, where the block tag indicates that the group of packets is allocated with metadata that is related to transmission of each packet in the group; and a filter selection apparatus, configured to use, according to a detection result about the block tag, the metadata filter or the packet filter to filter the at least one group of packets.
【００３０】
This application is summarized above, and details may be simplified, generalized and omitted. Therefore, those skilled in the art should realize that, this part is merely an exemplary description, and is not intended to limit the scope of this application in any manner. This summary part is neither intended to determine the key features or necessary features of the claimed subject, nor intended to serve as an auxiliary means for determining the scope of the claimed subject.
【発明の効果】
【００３１】
It can be seen that, in the network monitoring method according to this application, packet transmission is described by using metadata, and a size of the metadata is generally much smaller than a packet size. When packets need to be monitored, for example, when statistics about information such as transmission status of the packets are collected or packets are filtered according to a particular algorithm, a network monitoring apparatus needs to process the metadata only, and does not need to or rarely needs to process the packets directly. Such a data analysis processing manner significantly reduces the difficulty of analysis processing on network packets, thereby improving the efficiency and reliability of network monitoring.
【００３２】
The foregoing and other features of the content of this application will be comprehended more thoroughly and clearly through the following specification and the appended claims with reference to the accompanying drawings. It can be understood that, these drawings only show several implementation manners of the content of this application, and therefore, should not be construed as a limitation to the scope of the content of this application. Through the accompanying drawings, the content of this application will be described more clearly and in further detail.
【図面の簡単な説明】
【００３３】
【図１】FIG. 1 is a schematic diagram of a network system 10 in which a network monitoring apparatus of this application can be applied;
【図２】FIG. 2 is a schematic diagram of a network monitoring apparatus 16 according to an embodiment of this application;
【図３】FIG. 3 is a flowchart of a network monitoring method 300 according to an embodiment of this application;
【図４】FIG. 4 shows a method 400 for filtering at least one group of packets transmitted on a network according to an embodiment of this application;
【図５】FIG. 5 is a schematic diagram of a network monitoring apparatus 500 according to an embodiment of this application; and
【図６】FIG. 6 is a schematic diagram of an apparatus 600 for filtering at least one group of packets transmitted on a network according to an embodiment of this application.
【発明を実施するための形態】
【００３４】
In the following detailed description, reference is made to the accompanying drawings that serve as a part of the description. In the accompanying drawings, unless otherwise specified in the context, similar symbols usually represent similar components. The specific implementation manners, the accompanying drawings, and exemplary implementation manners described in the claims are not intended for limitation. Other implementation manners may be used and other changes may be made without departing from the spirit or scope of the subject of this application. It can be understood that, various configurations, replacements, combinations, and design of different components may be carried out for various aspects of the content of this application that are generally described in the specification and illustrated in the accompanying drawings, and all these configurations, replacements, combinations, and design definitely constitute a part of the content of this application.
【００３５】
FIG. 1 is a schematic diagram of a network system 10 in which a network monitoring apparatus of this application can be applied.
【００３６】
As shown in FIG. 1, the network system 10 includes multiple network devices 12; these network devices 12 communicate with each other through a network 14, and send data to and receive data from each other. Data transmitted on the network 14 may take a form of a packet (packet), and these packets may use same or different communication transport protocols, and have same or different data formats. Each of these packets has a header that includes information about data and transmission of the packet. By using the information about transmission of the packet in the header, the network 14 can send the packet from a source network device to a destination network device by using, for example, a router. For example, for a packet that uses the TCP/IP protocol, a header of the packet includes a source address and source port of a source network device, and a destination port and destination address of a destination network device.
【００３７】
A network monitoring apparatus 16 is coupled to the network 14 and is used to monitor data information transmitted on the network 14. For example, the network monitoring apparatus 16 can capture packets, and analyze the captured packets by using a packet analysis engine. In some embodiments, the network monitoring apparatus 16 may include components such as hardware, software, a CPU, a memory, and an interface, so as to run a general-purpose program or a special-purpose program, to establish a connection to the network 14 and monitor data transmitted on the network 14. The network monitoring apparatus 16 may further perform other test and measurement operations, perform data sending and receiving operations, and the like.
【００３８】
FIG. 2 is a schematic diagram of a network monitoring apparatus according to an embodiment of this application.
【００３９】
As shown in FIG. 2, the network monitoring apparatus 16 includes a network interface 22 that connects the network apparatus 16 to the network 14 through one or more ports. The network monitoring apparatus 16 may further include one or more processors 23, one or more volatile memories 24 (such as a dynamic random access memory), and one or more non-volatile memories 26 (such as a hard disk and a flash memory). In some embodiments, the network monitoring apparatus 16 further includes a display 28, a user input component 30, an input/output interface 34 for coupling to an external device, and the like. The network monitoring apparatus 16 may operate based on an operating system stored in the memory 26, for example, the Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, and FreeBSDTM.
【００４０】
FIG. 3 is a flowchart of a network monitoring method 300 according to an embodiment of this application. The method may be executed by processing logic, and the processing logic may include software (which may be run on a general-purpose or a special-purpose computing device), hardware (such as a circuit and special logic), firmware, or a combination thereof. In some embodiments, the network monitoring method may be executed by the network monitoring apparatus shown in FIG. 2.
【００４１】
As shown in FIG. 3, the network monitoring method 300 begins with step S302, that is, a network monitoring apparatus receives a packet transmitted on a network, where the packet has flow information that indicates a network flow for transmission of the packet. In some embodiments, the flow information may include a source address-destination address pair, or may further include a source port-destination port pair. According to the source address-destination address pair, the network monitoring apparatus may determine the received packet is transmitted between which two coupled network devices on the network; and according to the source port and the destination port, the network monitoring apparatus may further determine the received packet is related to which specific processes on the network devices. In some embodiments, the network monitoring apparatus may store, by establishing one or more look-up tables, the source address-the destination address pair and/or the source port-destination port pair included in the flow information. The look-up table includes multiple address pairs and/or port pairs, where each address pair and/or port pair may be identified by using a flow identifier.
【００４２】
It can be understood that, in actual application, multiple packets are generally transmitted on the network. The network monitoring apparatus receives these packets, and monitor these packets. In other words, the packet received in step S302 may be one of multiple packets received by the network monitoring apparatus, and the network monitoring apparatus may perform the network monitoring method 300 on this packet. In addition, the network monitoring apparatus may also perform the network monitoring method 300 on other received packets.
【００４３】
After that, in step S304, the network monitoring apparatus acquires the flow information of the packet received in step S302.
【００４４】
Generally, the flow information may be included in the header of the packet, for example, the flow information is defined in a predetermined field in the header. Therefore, in some embodiments, the network monitoring apparatus may query the predetermined field in the header of the packet to obtain the corresponding flow information. It can be understood that, according to different sending/receiving network devices, different packets may have different or same flow information. However, the length of a packet is generally limited, for example, a maximum length of an IP packet is 64k bytes. Therefore, for transmission of a large volume of data between two network devices, the network monitoring apparatus generally can detect hundreds of, thousands of, or even more packets, and these packets have same flow information.
【００４５】
Next, in step S306, the network monitoring apparatus detects whether a metadatabase includes the flow information corresponding to the received packet, where the metadatabase may store metadata and flow information associated with the metadata.
【００４６】
In some embodiments, the metadatabase is a set of metadata and flow information associated with the metadata, and is created by the network monitoring apparatus according to information of packets that have been received. Metadata is information related to transmission of a packet, and includes, for example, information such as a source address-destination address pair, a source port-destination port pair, a source-end sub-network identifier, a destination-end sub-network identifier, a packet flow direction, a service type identifier, a protocol identifier, and/or a VLAN (virtual local area network) identifier, or other information related to data of the packet and/or transmission of the packet (for example, a packet size).
【００４７】
In some embodiments, the network monitoring apparatus may replicate some or all data of a header of a packet, and use the replicated data as metadata of the packet. For example, the network monitoring apparatus may directly replicate data such as a source address, a destination address, a source port, a destination port, an address type, a packet length, and a service type identifier and use the replicated data as a part of metadata. For a packet that uses a specific protocol, these data have certain locations in the packet. Therefore, a predefined data extraction program may be provided in the network monitoring apparatus to obtain metadata.
【００４８】
In some other embodiments, the network monitoring apparatus may further process some or all data in a header of a packet, and use the processed data as metadata of the packet. For example, in a system that uses the TCP/IP protocol, generally, different service ports have been allocated to different applications or services. Generally, port number 53 is allocated to a network system (DNS) to perform domain name resolution; port number 80 is allocated to a hypertext server (HTTP) so that a web server transmits hypertext to a local browser of a network device by using the port number 80; port number 110 is allocated to be used for e-mail transmission, and the like. Therefore, the network monitoring apparatus may include a predetermined conversion function, where the predetermined conversion function may include a port-application or a port-service correspondence defined by the TCP/IP protocol or another network transport protocol. By means of the predetermined conversion function, data of the source port or the destination port in the header of the packet can be converted into a corresponding application identifier, where the application identifier may indicate an application to which the packet can be applied. 
【００４９】
In some embodiments, as long as one of a source port and a destination port in a header of a packet is a predefined service port, the packet can be provided with or marked with an application identifier corresponding to the service port. Similarly, the network monitoring apparatus may further include other predetermined conversion functions. For example, according to a requirement of actual application, it may be defined that some source addresses or destination addresses belong to a particular domain or some particular domains; and correspondingly, the network monitoring apparatus may provide a predetermined conversion function that includes a correspondence between the source addresses and/or destination addresses and the domains, and by means of this predetermined conversion function, source addresses in headers of packets may be converted into corresponding source domain identifiers, while destination addresses in the headers of the packets may be converted into corresponding destination domain identifiers, to separately indicate domains which the packets are from or domains to which the packets are going to be sent. 
【００５０】
For another example, according to a session between two network devices, the network monitoring apparatus may further define a source address and a destination address of multiple packets related to the session as an address pair, and further determine a master-slave relation between the two network devices, where the network device that sends a packet in the first place is defined as a client (which generally initiates a session to request data), while the network device that receives the packet may be defined as a server (which responds to the request to provide data). Therefore, a source address in a header of the packet sent in the first place may be defined as a client address, and a destination address in the header of the packet sent in the first place may be defined as a server address. Correspondingly, the network monitoring apparatus may construct a conversion function according to the foregoing definition, and covert a source address and a destination address in a header of each packet in this session to be the client address and the server address. Meanwhile, the network monitoring apparatus may further set, in the conversion function, a function for determining a packet flow direction, where the packet flow direction may be from the client to the server (if a source address of a packet is the same as the client address, or a destination address of the packet is the same as the server address), or from the server to the client (if a destination address of a packet is the same as the client address, or a source address of the packet is the same as the server address). The packet flow direction may also be added to metadata. 
【００５１】
It can be understood that, the foregoing data information included in metadata is merely an example, and according to different specific applications, those skilled in the art may perform various modifications, alterations, and processing on data information included in metadata.
【００５２】
As is described above, metadata in the metadatabase is associated with corresponding flow information. In some embodiments, the flow information may be included in the corresponding metadata. For example, an association between the metadata and the flow information may be established by adding source address-destination address pairs and/or source port-destination port pairs to the corresponding metadata. In some other embodiments, the flow information may be identified by using flow identifiers, for example, a look-up table between the flow information and the flow identifiers may be established. Correspondingly, the association between the metadata and the flow information may be established by adding the flow identifiers to the corresponding metadata, or by creating a look-up table between the flow identifiers and the metadata. Such processing can achieve a same effect as adding the flow information to the metadata. It can be understood that, because the network monitoring apparatus continuously captures or receives new packets from the network, the amount of metadata in the metadatabase may increase continuously.
【００５３】
In addition, because the metadatabase includes a large amount of metadata, the metadatabase may further include a metadata index. The metadata index can facilitate metadata searching or sorting, and can improve metadata searching efficiency.
【００５４】
According to the flow information of the packet obtained in step S304, the network monitoring apparatus may detect whether the metadatabase includes the flow information. In some embodiments, the network monitoring apparatus may query a look-up table between flow information and flow identifiers, to determine whether the metadatabase includes the flow information. The look-up table includes, for example, a correspondence between source address-destination address pairs and/or source port-destination port pairs and flow identifiers. If the flow information exists, the network monitoring apparatus may acquire a corresponding flow identifier. If the flow information does not exist, the network monitoring apparatus may obtain a return value, such as null (null), indicating nullity or indicating that the flow information does not exist. In some other embodiments, the flow information may not be identified by using flow identifiers, but only expressed by using source address-destination address pairs and/or source port-destination port pairs. The network monitoring apparatus may store all source address-destination address pairs and/or source port-destination port pairs as a look-up table, and update the look-up table after receiving a new source address-destination address pair and/or a new source port-destination port pair. In this way, the network monitoring apparatus can determine, by querying the look-up table, whether the metadatabase includes the flow information.
【００５５】
Next, in step S308, the network monitoring apparatus generates, according to a detection result about the flow information, metadata related to the transmission of the packet.
【００５６】
Specifically, if it is detected that the metadatabase does not include the flow information corresponding to the packet, it indicates that the metadatabase does not include metadata associated with the flow information, and in this case, the network monitoring apparatus extracts, from the packet, data related to the transmission of the packet to generate the metadata. In an embodiment, for a packet from which data is to be extracted, the network monitoring apparatus may replicate at least a part of a header of the packet to obtain the metadata corresponding to the packet, or optionally, the network monitoring apparatus may also process some or all data in the header of the packet, and use processed data as a part of the metadata. In some embodiments, the metadata may include data that is directly replicated from the packet, and data that is obtained by processing data of the packet. Processing on data in the header may be converting at least some data included in the header by using, for example, a predetermined conversion function. For the conversion function, refer to the description above, and details are not described herein again.
【００５７】
On the contrary, if it is detected that the metadatabase includes the flow information corresponding to the detected packet, the network monitoring apparatus may replicate, from the metadatabase, metadata related to the detected flow information, and use the replicated metadata as the metadata of the packet. The foregoing processing manner can be used because a major difference between multiple packets transmitted between two network devices lies in payload data (that is, user data), while information included in headers is substantially the same or is slightly different. Therefore, for multiple packets transmitted between two network devices, generally, metadata obtained by parsing headers of the packets is also the same. Further, two network devices may also be represented by using flow information of packets that are transmitted between the two network devices, and if the packets have the same flow information, metadata corresponding to the packets is also the same. Based on this, if the metadatabase includes the flow information corresponding to the detected packet, it indicates that the metadatabase already includes metadata associated with the flow information, and therefore, the metadata may be used as the metadata of the packet. In this way, the network monitoring apparatus may perform less operations of parsing a packet to obtain metadata, thereby greatly improving metadata generation efficiency. This processing manner is particularly suitable to be applied in high-speed network communication.
【００５８】
In some embodiments, after corresponding metadata is generated for each received packet, the network monitoring apparatus may generate network statistics information for these packets according to the metadata of these packets. In some embodiments, the network statistics information may include a source address and a destination address, a source port and a destination port, a source domain identifier, a destination domain identifier, a service type identifier, a packet flow direction, a protocol identifier, a VLAN identifier, a packet count, and/or a packet size. The network statistics information may be collected based on the flow information, that is, based on a pair of two network devices that communicate with each other. For example, the network statistics information may include the quantity (that is, a count) of packets transmitted in one or more sessions between a pair of network devices, or a size of data included in these packets. All these statistics information may be obtained by setting predetermined statistics functions or statistics rules and processing the metadata by using these statistics functions or rules. The network statistics information may further directly extract some data in the metadata, for example, the protocol identifier, the VLAN identifier, and the service type identifier. In some embodiments, the network statistics information may be buffered in the network monitoring apparatus, for example, buffered in a main memory, and buffered information is stored into a network statistics database at an interval of a predetermined time (for example, 60 seconds).
【００５９】
After that, in step S310, the network monitoring apparatus stores the generated metadata and the flow information associated with the generated metadata into the metadatabase. In this way, each received packet can be allocated with one piece of corresponding metadata.
【００６０】
In some embodiments, if it is detected in step S308 that the metadatabase does not include flow information of a packet, metadata of the packet needs to be generated, and the generated metadata of the packet is associated with the flow information of the packet, for example, a new flow identifier is generated or allocated to represent the new flow information, and the new flow identifier is added to the generated metadata, to associate the new flow information and the new metadata. Further, the newly generated metadata and the flow information associated with the newly generated metadata may be stored in the metadatabase. In addition, if it is detected in step S308 that the metadatabase already includes flow information of a packet, and new metadata is generated by using an operation of, for example, replicating metadata corresponding to the existing flow information, the flow information associated with the new metadata is also certain, and the network monitoring apparatus may store the metadata and the flow information associated with the metadata into the metadatabase.
【００６１】
Through the foregoing steps, the network monitoring apparatus has obtained the metadata corresponding to the received packets, and for these received packets, the network monitoring apparatus may select processing manners according to different specific application requirements. In some embodiments, the network monitoring apparatus may only need to store the metadata, to facilitate subsequent analysis or backtracking on packet transmission status in the network based on the stored metadata. In some other embodiments, the network monitoring apparatus may further store the packet that is received in step S302, and store the received packet in a packet library. Each packet in the packet library may be allocated with a piece of corresponding metadata in a metadatabase, to describe transmission status of the packet. For example, the metadatabase may include a metadata index to index metadata; and the packet library may include a packet index to index packets. The packet index and the metadata index may correspond to each other. For example, the packet index sorts the packets according to a receiving sequence of the packets, and each packet is allocated with a unique corresponding packet sequence number. Correspondingly, the metadata index may sort the metadata according to the sequence numbers of the packets corresponding to the metadata. In this way, when the network monitoring apparatus finds, after analyzing the metadata, that some information is missing (for example, when payload data is missing), the network monitoring apparatus may further find a corresponding packet according to the metadata, and further performs analysis processing on the packet.
【００６２】
It can be understood that, in a high-speed communications network, there are a large quantity of packets transmitted on the network; therefore, the network monitoring apparatus needs to have a sufficient storage speed and storage capacity, to store a large amount of packets and metadata. In some cases, especially, at an excessively high network transmission rate, the network monitoring apparatus may fail to store the received packet and the generated metadata into an internal mass storage medium (such as a hard disk or a flash memory) in time. To avoid or reduce the occurrence of such a case, in some embodiments, a buffer memory may be set for the network monitoring apparatus, so that the metadata generated in step S308, and generated metadata of other packets from the network can be buffered into the buffer memory first, and after a predetermined condition is satisfied, these buffered metadata is transferred to the mass storage medium in the metadatabase. In other words, the metadata of these packets and associated flow information are transferred to the metadatabase in batches. For example, each time the buffer memory is full, or at an interval of a predetermined time, the metadata is transferred to the metadatabase.
【００６３】
In some embodiments, the buffered metadata and flow information may be asynchronously transferred from the buffer memory to the metadatabase, that is, the memory in the metadatabase uses an asynchronous input/output manner to store data. Specifically, after the network monitoring apparatus instructs a batch of buffered metadata to be transferred to the memory, before the memory returns a response that indicates whether storage of this batch of metadata is completed, the network monitoring apparatus continues to transfer the next batch of buffered metadata to the memory. The network monitoring apparatus may arrange a particular thread to process the transfer and storage of metadata, and arrange another one or more threads to detect whether transferred metadata is stored successfully. For a metadatabase that uses a hard disk memory, the foregoing asynchronous storage operation can enable a head to continuously write data into a same area or neighboring areas of a hard disk, to avoid frequent addressing that affects a data write speed.
【００６４】
As is described above, the maximum length of each IP packet is 64k bytes. For transmission of a large volume of data between two network devices, the network monitoring apparatus generally can detect hundreds of, thousands of, or even more packets, and these packets have same flow information. To improve packet processing efficiency, in some embodiments, multiple packets are packaged into a group of packets, for example, 64, 128, 256 or more packets are packaged into a group of packets. The group of packets may be transmitted together, and received and processed by the network monitoring apparatus, where ach group of packets may include a data block header, so that information about the group of packets and transmission of the group of packets is added to the data block header. Correspondingly, multiple pieces of corresponding metadata may also be packaged into a group of metadata, and a metadata block header is provided. 
【００６５】
In some embodiments, a block tag may be added to the data block header, and the block tag is used to represent that each packet in the group of packets is allocated with corresponding metadata. The use of a block tag facilitates subsequent processing on packets and metadata. For example, when the network monitoring apparatus performs subsequent processing on received and stored packets, the network monitoring apparatus may detect whether a data block header in each group of packets has a block tag; if the data block header has the block tag indicating that each packet in the group of packets is allocated with metadata, the network monitoring apparatus may choose to process a group of metadata corresponding to the group of packets, for example, analyze and filter the metadata; otherwise, if the data block header does not have the block tag indicating that each packet in the group of packets is allocated with metadata, the network monitoring apparatus may choose to process the group of packets, for example, perform data analysis and filtering on the packets.
【００６６】
It can be seen that, in the network monitoring method according to this application, packet transmission is described by using metadata, and a size of the metadata is generally much smaller than a packet size. When packets need to be monitored, for example, when statistics about information such as transmission status of the packets are collected or packets are filtered according to a particular algorithm, generally, the network monitoring apparatus may process the metadata only, and does not need to or rarely needs to process the packets directly. Such a data analysis processing manner significantly reduces the difficulty of analysis processing on network packets, thereby improving the efficiency and reliability of network monitoring.
【００６７】
This application further provides a method for filtering packets and metadata that are obtained by using the foregoing network monitoring method. After the filtering, packets and/or metadata that meet a filter criterion and requirement can be recovered, and can be compiled or organized to form a data file for subsequent use.
【００６８】
FIG. 4 shows a method 400 for filtering at least one group of packets transmitted on a network according to an embodiment of this application. The method 400 may be executed by, for example, the network monitoring apparatus shown in FIG. 2, or executed by a similar data processing apparatus.
【００６９】
As shown in FIG. 4, in step S402, a metadata filter and a packet filter are provided, where the packet filter is associated with the metadata filter.
【００７０】
Specifically, data to be filtered is packets that are generally received by the network monitoring apparatus and are stored in a packet library. Some or all of these packets are allocated with corresponding metadata, and the metadata is stored in a metadatabase. In some embodiments, the packets may be stored in the packet library group by group, and each group of packets may include a data block header; similarly, the metadata may be stored in the metadatabase group by group, and each group of metadata may include a metadata block header.
【００７１】
Each group of packets may include a block tag, where the block tag is used to indicate that the group of packets is allocated with metadata that is related to transmission of each packet in the group. In other words, if any one or more packets in a group of packets do not have corresponding metadata, the group of packets may not have a block tag, or a block tag may be set to indicate that a lack of corresponding metadata. In some embodiments, the block tag may be added to the data block header. In some other embodiments, the block tag may also be added to a packet block index.
【００７２】
The metadata filter generally includes some predetermined filter criteria, and these filter criteria correspond to data included in the metadata. For example, the metadata may include, for example, an application identifier that indicates an application which the packet corresponding to the metadata is applicable to. Different application identifiers may be allocated with different values. For the application identifier, refer to the related description in the network monitoring method shown in FIG. 3. Correspondingly, the metadata filter may include one or more specific application identifier values, and when a value of the application identifier in the metadata is the same as the value in the metadata filter, it may be considered that the metadata meets the filter criteria; and when the value of the application identifier in the metadata is different from the value in the metadata filter, it may be considered that the metadata does not meet the filter criteria. In some embodiments, metadata that meets the filter criteria may be retained, while metadata that does not meet the filter criteria may be discarded; or on the contrary, metadata that meets the filter criteria is discarded.
【００７３】
In some embodiments, that the packet filter is associated with the metadata filter refers to that the packet filter has at least one filter criterion that is corresponding to and interconvertible with a filter criterion in the metadata filter. For example, it is possible that a packet does not have an application identifier in metadata, but has only a port number of a source port or a port number of a destination port; however, at least one of these port numbers is in one-to-one correspondence with an application. Therefore, the packet filter may include a filter criterion related to a port number, which corresponds to a value of an application identifier in the metadata filter. For example, the filter criterion of the metadata filter may limit that an application identifier of metadata needs correspond to an identifier of DNS. Correspondingly, the filter criterion included in the packet filter may limit that the port number of the destination port or source port is 53. In a network system that uses the TCP/IP protocol, port number 53 is allocated to the network system (DNS) to perform domain name resolution; therefore, the two filter criteria of the packet filter and the metadata filter are the same, so that the two filters perform substantially same data filtering operations. In actual application, the packet filter and the metadata filter may be constructed according to a data correspondence between metadata and packets.
【００７４】
Next, in step S404, it is detected whether each group of packets to be filtered has a block tag.
【００７５】
As is described above, the block tag may be added to a data block header or may be added to a packet block index. Therefore, for each group of packets, a block tag may be searched for and detected in the data block header and or the packet block index.
【００７６】
After that, in step S406, according to a detection result about the block tag, the metadata filter or the packet filter is used to filter the packets.
【００７７】
Specifically, if it is detected that a group of packets is allocated with a group of metadata, the metadata filter is used to filter the group of packets, and specifically, to filter the metadata corresponding to the group of packets; and if it is detected that a group of packets is not allocated with a group of metadata, the packet filter is used to filter the group of packets.
【００７８】
In some embodiments, after step S406, filtered packets may further be acquired, to generate a data file that includes these filtered packets. For example, for packets that are filtered by using the packet filter, the packets may be directly transferred to a predetermined storage location or buffered while being filtered; and for packets that are filtered by using the metadata, based on metadata that is obtained by means of filtering, corresponding packets may further be read from the packet library, and then, these packets are transferred to a predetermined storage location or buffered. After such processing, packets that meet the filter criterion of the metadata filter or the filter criterion of the packet filter can be obtained. These packets may be compiled or organized to form a data file for subsequent use.
【００７９】
In some embodiments, packets received from the network may also be filtered one by one. Correspondingly, for each packet to be filtered, it is detected whether the packet has corresponding metadata. Then, according to a detection result about the metadata, the metadata filter or the packet filter is used to filter the received packet. In some embodiments, metadata included in the metadatabase may be filtered first, and then packets that are included in the packet library and do not have metadata are filtered.
【００８０】
FIG. 5 is a schematic diagram of a network monitoring apparatus 500 according to an embodiment of this application.
【００８１】
As shown in FIG. 5, the network monitoring apparatus 500 includes:
a receiving apparatus 501, configured to receive a packet transmitted on a network, where the packet has flow information that indicates a network flow for transmission of the packet;
a flow information acquiring apparatus 503, configured to acquire the flow information of the packet;
a detection apparatus 505, configured to detect whether a metadatabase includes the flow information corresponding to the packet, where the metadatabase is used to store metadata and flow information associated with the metadata;
a metadata generation apparatus 507, configured to generate, according to a detection result about the flow information, metadata related to the transmission of the packet, and associate the metadata with the corresponding flow information; and
a storage apparatus 509, configured to store the generated metadata and the flow information associated with the generated metadata into the metadatabase.
【００８２】
FIG. 6 is a schematic diagram of an apparatus for filtering at least one group of packets transmitted on a network according to an embodiment of this application.
【００８３】
As shown in FIG. 6, the apparatus 600 includes:
a metadata filter 601;
a packet filter 603, where the packet filter 603 is associated with the metadata filter 601;
a tag detection apparatus 605, configured to: for each group of packets in the at least one group of packets, detect whether the group of packets has a block tag, where the block tag indicates that the group of packets is allocated with metadata that is related to transmission of each packet in the group; and
a filter selection apparatus 607, configured to use, according to a detection result about the block tag, the metadata filter 601 or the packet filter 603 to filter the at least one group of packets.
【００８４】
In some embodiments of this application, the apparatus 500 shown in FIG. 5 and the apparatus 600 shown in FIG. 6 may be implemented by using one or more application specific integrated circuits (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field-programmable gate array (FPGA), a controller, a microcontroller, a microprocessor or another electronic element, and may be used to execute the method 300 shown in FIG. 3 or the method 400 shown in FIG. 4.
【００８５】
In some embodiments, this application further provides a non-volatile computer readable storage medium including an instruction, for example, a memory including an instruction, where the foregoing instruction may be executed by the processor 23 of the network monitoring apparatus 16 shown in FIG. 2, to implement the method 300 shown in FIG. 3 or the method 400 shown in FIG. 4. For example, the non-volatile computer readable storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a flash memory, a hard disk, a floppy disk, an optical data storage device, or the like.
【００８６】
It should be noted that, although several modules or sub-modules of the network monitoring apparatus in the embodiments of this application are mentioned in the detailed description above, such a division is merely exemplary but not mandatory. In fact, according to the embodiments of this application, features and functions of two or more modules described above may be embodied in one module. On the other hand, the feature and function of one module described above may be further divided to be embodied by multiple modules.
【００８７】
In addition, although operations of the method in this application are described in specific order in the accompanying drawings, it does not require or imply that these operations need to be executed according to the specific order, or imply that a desired result can be realized only when all the operations shown in the accompanying drawings are executed. On the contrary, a sequence of executing the steps shown in the flowchart may be changed. Additionally or optionally, some steps may be omitted, multiple steps may be combined into one step for execution, and/or one step may be divided into multiple steps for execution.
【００８８】
By studying the specification, the disclosed content and accompanying drawings, and the appended claims, those of ordinary skill in the art may comprehend and implement other alterations on the disclosed implementation manners. In the claims, the term "comprise" does not exclude other elements or steps, and the term "one" does not exclude a plurality form. In actual application of the present invention, one component may implement functions of multiple technical features cited in the claims. In the claims, any reference sign of the accompanying drawings should not be construed as a limitation to the scope. 
【符号の説明】 
【００８９】
10  Network system
12  Network device
14  Network
16, 500  Network monitoring apparatus
22  Network interface
23  Processor
24  Volatile memory
26  Non-volatile memory
28  Display
30  Input component
34  Input/output interface
501 Receiving apparatus
503 Flow information acquiring apparatus
505 Detection apparatus
507 Metadata generation apparatus
509 Storage apparatus
600 Apparatus for filtering at least one group of packets transmitted on a network
601 Metadata filter
603 Packet filter
605 Tag detection apparatus
607 Filter selection apparatus
【請求項１】
A network monitoring method, characterized by comprising:
receiving a packet transmitted on a network, wherein the packet has flow information that indicates a network flow for transmission of the packet;
acquiring the flow information of the packet;
detecting whether a metadatabase comprises the flow information corresponding the packet, wherein the metadatabase is used to store metadata and flow information associated with the metadata;
generating, according to a detection result about the flow information, metadata related to the transmission of the packet, and associating the metadata with the corresponding flow information; and
storing the generated metadata and the flow information associated with the generated metadata into the metadatabase.
【請求項２】        
A method for filtering at least one group of packets transmitted on a network, characterized in that, the method comprises:
providing a metadata filter and a packet filter, wherein the packet filter is associated with the metadata filter;
for each group of packets in the at least one group of packets, detecting whether the group of packets has a block tag, wherein the block tag indicates that the group of packets is allocated with metadata that is related to transmission of each packet in the group; and
using, according to a detection result about the block tag, the metadata filter or the packet filter to filter the at least one group of packets.
【請求項３】
A method for filtering at least one packet transmitted on a network, characterized in that, the method comprises:
providing a metadata filter and a packet filter, wherein the packet filter is associated with the metadata filter;
for each packet in the at least one packet, detecting whether the packet has corresponding metadata; and
using, according to a detection result about the metadata, the metadata filter or the packet filter to filter the at least one packet.
【請求項４】
A network monitoring apparatus, characterized by comprising:
a receiving apparatus, configured to receive a packet transmitted on a network, wherein the packet has flow information that indicates a network flow for transmission of the packet;
a flow information acquiring apparatus, configured to acquire the flow information of the packet;
a detection apparatus, configured to detect whether a metadatabase comprises the flow information corresponding to the packet, wherein the metadatabase is used to store metadata and flow information associated with the metadata;
a metadata generation apparatus, configured to generate, according to a detection result about the flow information, metadata related to the transmission of the packet, and associate the metadata with the corresponding flow information; and
a storage apparatus, configured to store the generated metadata and the flow information associated with the generated metadata into the metadatabase.
【請求項５】
An apparatus for filtering at least one group of packets transmitted on a network, characterized in that, the apparatus comprises:
a metadata filter;
a packet filter, wherein the packet filter is associated with the metadata filter;
a tag detection apparatus, configured to: for each group of packets in the at least one group of packets, detect whether the group of packets has a block tag, wherein the block tag indicates that the group of packets is allocated with metadata that is related to transmission of each packet in the group; and
a filter selection apparatus, configured to use, according to a detection result about the block tag, the metadata filter or the packet filter to filter the at least one group of packets.
【要約】
【課題】To provide a method that can capture a network packet at a high transmission rate and at the same time, can acquire related information of the packet.
【解決手段】This application discloses a network monitoring method and apparatus. The network monitoring method includes: receiving a packet transmitted on a network, where the packet has flow information that indicates a network flow for transmission of the packet; acquiring the flow information of the packet; detecting whether a metadatabase includes the flow information corresponding the packet, where the metadatabase is used to store metadata and flow information associated with the metadata; generating, according to a detection result about the flow information, metadata related to the transmission of the packet, and associating the metadata with the corresponding flow information; and storing the generated metadata and the flow information associated with the generated metadata into the metadatabase.
【選択図】 図３
【図１】
2016167799.tif 000009
【図２】
2016167799.tif 000010
【図３】
2016167799.tif 000011
【図４】
2016167799.tif 000012
【図５】
2016167799.tif 000013
【図６】
2016167799.tif 000014