(57)【特許請求の範囲】
【請求項１】
ネットワークからパケットを受信するパケット受信部と、
前記パケット受信部から受信した前記パケットを複製するパケット複製部と、
前記パケット複製部から受信した元の前記パケットを一時的に保管する第１パケットバッファ部と、
前記パケット複製部から受信した複製された前記パケットを一時的に保管する第２パケットバッファ部と、
仮想化環境で動作し、元の前記パケットと複製された前記パケットとを個別に処理するネットワークアプリケーション部と
を有するサーバからなり、
前記ネットワークアプリケーション部は、
前記第１パケットバッファから元の前記パケットを受信し、受信した前記パケットに対して通常のネットワーク処理を行う通常処理部と、
前記第２パケットバッファから複製された前記パケットを受信し、受信した前記パケットに対して常時監視を行い、不具合事象が発生した際に解析を行う運用解析部とを有し、
前記通常処理部と前記運用解析部との間で情報の共有を行い、
前記通常処理部が検知した不具合事象発生の情報を前記運用解析部へ伝達し、前記運用解析部が前記解析を開始する
ことを特徴とする、仮想化ネットワークシステム。
【請求項２】
ネットワークからパケットを受信するパケット受信部と、
前記パケット受信部から受信した前記パケットを複製するパケット複製部と、
前記パケット複製部から受信した元の前記パケットを一時的に保管する第１パケットバッファ部と、
前記パケット複製部から受信した複製された前記パケットを一時的に保管する第２パケットバッファ部と、
仮想化環境で動作し、元の前記パケットと複製された前記パケットとを個別に処理するネットワークアプリケーション部と
を有するサーバからなり、
前記ネットワークアプリケーション部は、
前記第１パケットバッファから元の前記パケットを受信し、受信した前記パケットに対して通常のネットワーク処理を行う通常処理部と、
前記第２パケットバッファから複製された前記パケットを受信し、受信した前記パケットに対して常時監視を行い、不具合事象が発生した際に解析を行う運用解析部とを有し、
前記通常処理部と前記運用解析部との間で情報の共有を行い、
前記運用解析部がリオーダの発生を予兆検知した場合に前記通常処理部へその情報を伝達し、前記通常処理部がパケットの入れ替えを行うことで正常なパケットの並びに戻す
ことを特徴とする、仮想化ネットワークシステム。
【請求項３】
前記パケット受信部、前記パケット複製部、前記第１パケットバッファ部、及び、前記第２パケットバッファ部は、前記サーバの内部バスに接続されるネットワークインタフェースカード上に構成される
ことを特徴とする、請求項１又は２に記載の仮想化ネットワークシステム。
【請求項４】
前記パケット受信部、前記パケット複製部、前記第１パケットバッファ部、及び、前記第２パケットバッファ部は、前記ネットワークインタフェースカード上に実装されるＦＰＧＡの回路により構成される
ことを特徴とする、請求項３に記載の仮想化ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークから転送されてきたパケットを処理するネットワークシステムに関し、特に、不具合を解析する機能を備えたネットワークシステムに関する。
【背景技術】
【０００２】
ネットワークシステムでは、システム及びサービスの安定的な運用を図るため、ネットワーク処理に障害（不具合事象）が発生した場合、ネットワークパケットをキャプチャして解析している（例えば下記非特許文献１参照）。
【０００３】
従来のネットワークシステムは、不具合事象発生後、ネットワークパケット（以下、パケット）用の監視系を伝送経路上に設置し、不具合事象が再度発生した際にパケットをキャプチャして、それを検査システム等に入力して不具合事象を解析することで、問題の解決を試みている。すなわち、従来のネットワークシステムでは、パケットの伝送経路上に監視系を常設しないことで、システムの負荷を軽減している。
【０００４】
なお、上述の監視系とは、パケットの監視及び不具合事象の解析を行うための機器であり、パケットを分岐するタップ、該タップにより分岐されたパケットをキャプチャするキャプチャ装置、及び、キャプチャ装置によりキャプチャされたパケットから不具合事象を解析する検査システム等を指す。
【０００５】
図３は、従来のネットワークシステムを説明するブロック図である。図３（ａ）は通常運用時を示しており、図３（ｂ）は障害解析時を示している。
【０００６】
図３（ａ）に示すように、通常運用時においては、パケットは外部のネットワークからネットワークシステム１００へそのまま送信される。また、図３（ｂ）に示すように、障害解析時、すなわち、ネットワークシステム１００に障害（不具合事象）が発生した後、その事象を解析する場合には、パケットの伝送経路上にタップ１０１を設置してパケットを分岐させ、一方はネットワークシステム１００が受信し、他方はキャプチャ装置１０２によりキャプチャする。検査システム１０３は、キャプチャ装置１０２がキャプチャしたパケットを用いて、不具合事象を解析する。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】「ＩＰ系故障に有効な切分けツールの開発」、ＮＴＴ技術ジャーナル、２００８年８月１日、ｐ．８３‐８５
【発明の概要】
【発明が解決しようとする課題】
【０００８】
不具合事象が稀にしか発生しない場合、上述した従来のネットワークシステムでは、不具合事象が再度発生した際のパケットをキャプチャすることが困難となり、問題の解決に至ることができない可能性がある。
【０００９】
さらに、上述した従来のネットワークシステムでは、不具合事象発生後に追加で監視系を設けることになるため、厳密にはネットワークシステムの状況が変わってしまい、たとえ不具合事象が再度発生した際のパケットをキャプチャできたとしても、そのときの不具合事象が最初の不具合事象と異なる原因によるものである可能性もある。
【００１０】
一方、最初から全てのシステムに対して監視系を設置し、常時パケットを監視しておけば、上述した問題は回避できるが、監視系の機器の追加はネットワークシステム本来の機能に関するものではないことが多く、システムへの負荷を増大させるだけでなく、導入コストが増加してしまう。
【００１１】
以上のことから、ネットワークシステムの安定的な運用のためには、システムに負荷をかけず、かつ、構築したシステムの運用及びサービスの実行に影響を与えずに、受信したパケットを常時監視し、不具合事象を解析する必要がある。また、その際に発生するコストの抑制も求められる。
【００１２】
そこで、本発明では、監視系の機器を別途用いることなくパケットを常時監視し、不具合事象を解析することで、システムへの負荷をかけず、構築したシステムの運用及びサービスの実行に影響を与えずに、コストの抑制も可能とする、仮想化ネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決する第１の発明に係る仮想化ネットワークシステムは、
ネットワークからパケットを受信するパケット受信部と、
前記パケット受信部から受信した前記パケットを複製するパケット複製部と、
前記パケット複製部から受信した元の前記パケットを一時的に保管する第１パケットバッファ部と、
前記パケット複製部から受信した複製された前記パケットを一時的に保管する第２パケットバッファ部と、
仮想化環境で動作し、元の前記パケットと複製された前記パケットとを個別に処理するネットワークアプリケーション部と
を有するサーバからなり、
前記ネットワークアプリケーション部は、
前記第１パケットバッファから元の前記パケットを受信し、受信した前記パケットに対して通常のネットワーク処理を行う通常処理部と、
前記第２パケットバッファから複製された前記パケットを受信し、受信した前記パケットに対して常時監視を行い、不具合事象が発生した際に解析を行う運用解析部とを有し、
前記通常処理部と前記運用解析部との間で情報の共有を行い、
前記通常処理部が検知した不具合事象発生の情報を前記運用解析部へ伝達し、前記運用解析部が前記解析を開始する
ことを特徴とする。
【００１４】
上記課題を解決する第２の発明に係る仮想化ネットワークシステムは、
ネットワークからパケットを受信するパケット受信部と、
前記パケット受信部から受信した前記パケットを複製するパケット複製部と、
前記パケット複製部から受信した元の前記パケットを一時的に保管する第１パケットバッファ部と、
前記パケット複製部から受信した複製された前記パケットを一時的に保管する第２パケットバッファ部と、
仮想化環境で動作し、元の前記パケットと複製された前記パケットとを個別に処理するネットワークアプリケーション部と
を有するサーバからなり、
前記ネットワークアプリケーション部は、
前記第１パケットバッファから元の前記パケットを受信し、受信した前記パケットに対して通常のネットワーク処理を行う通常処理部と、
前記第２パケットバッファから複製された前記パケットを受信し、受信した前記パケットに対して常時監視を行い、不具合事象が発生した際に解析を行う運用解析部とを有し、
前記通常処理部と前記運用解析部との間で情報の共有を行い、
前記運用解析部がリオーダの発生を予兆検知した場合に前記通常処理部へその情報を伝達し、前記通常処理部がパケットの入れ替えを行うことで正常なパケットの並びに戻す
ことを特徴とする。
【００１５】
上記課題を解決する第３の発明に係る仮想化ネットワークシステムは、
上記第１又は２の発明に係る仮想化ネットワークシステムにおいて、
前記パケット受信部、前記パケット複製部、前記第１パケットバッファ部、及び、前記第２パケットバッファ部は、前記サーバの内部バスに接続されるネットワークインタフェースカード上に構成される
ことを特徴とする。
【００１６】
上記課題を解決する第４の発明に係る仮想化ネットワークシステムは、
上記第３の発明に係る仮想化ネットワークシステムにおいて、
前記パケット受信部、前記パケット複製部、前記第１パケットバッファ部、及び、前記第２パケットバッファ部は、前記ネットワークインタフェースカード上に実装されるFPGAの回路により構成される
ことを特徴とする。
【発明の効果】
【００１７】
本発明に係る仮想化ネットワークシステムによれば、監視系の機器を別途用いることなくパケットを常時監視し、不具合事象を解析することで、システムへの負荷をかけず、構築したシステムの運用及びサービスの実行に影響を与えずに、コストの抑制も可能とする。
【図面の簡単な説明】
【００１８】
【図１】本発明に係る仮想化ネットワークシステムの概念を説明するブロック図である。
【図２】本発明の実施例１に係る仮想化ネットワークシステムを説明するブロック図である。
【図３】従来のネットワークシステムを説明するブロック図である。（ａ）は通常運用時を示しており、（ｂ）は障害解析時を示している。
【発明を実施するための形態】
【００１９】
まず、本発明に係る仮想化ネットワークシステムの概念について、図１を用いて説明する。
【００２０】
本発明に係る仮想化ネットワークシステムは、外部のネットワークからパケットを受信するパケット受信部１、パケット受信部１が受信したパケットを複製するパケット複製部２、パケット複製部２から第１パケットバッファ部３及び第２パケットバッファ部４を経由して、元のまま出てくるパケット（元のパケット）及び複製されたパケットが入力される、ネットワークアプリケーション部５を有している。
【００２１】
ネットワークアプリケーション部５は、仮想化環境で動作し、元のパケットと複製されたパケットとを個別に処理する。より詳述すると、第１パケットバッファ部３及び第２パケットバッファ部４からそれぞれ入力した元のパケット及び複製されたパケットのうち、一方のパケットに対して通常のネットワーク処理を行い、他方のパケットに対し常時監視を行い、不具合事象が発生すると、常時監視している方のパケットを用いて事象の解析を行う。また、ネットワークアプリケーション部５は、パケット複製部２にパケットを複製するように指示を出し、パケット複製部２はこの指示に基づきパケットを複製する。
【００２２】
このようにして、本発明に係る仮想化ネットワークシステムは、ネットワーク処理が行われる前の段階でパケットを複製し、仮想化環境におけるネットワークアプリケーション部５にて通常のネットワーク処理を行いつつ、パケットの常時監視を行い、不具合事象を解析するものである。
【００２３】
本発明に係る仮想化ネットワークシステムでは、ネットワーク処理が行われる前の段階でパケットを複製することで、システムに全く負荷がかからず、また、ネットワークアプリケーション部５において、通常のネットワーク処理（サービス等でネットワークパケットの処理が行われている系（サービス系）を含む）に影響を与えない。さらに、パケットを忠実に複製することを可能とする。
【００２４】
そして、複製されたパケットを常時監視することにより、不具合事象発生前あるいは発生後における任意のタイミングで、不具合事象の解析を行うことができる。
【００２５】
また、例えば、通常のネットワーク処理を行うネットワークアプリケーションと、監視及び解析を行うためのネットワークアプリケーションとを設け、複製されたパケットを、監視及び解析を行うためのネットワークアプリケーションで処理することにより、通常のネットワーク処理を行うネットワークアプリケーションの不具合事象に対して、予兆検知及びリアルタイムの解析を行うことが可能となる。
【００２６】
以上が本発明に係る仮想化ネットワークシステムの概念についての説明である。以下では、本発明に係る仮想化ネットワークシステムについて、実施例にて詳述する。
【００２７】
［実施例１］
本発明の実施例１に係る仮想化ネットワークシステムについて、図２を用いて説明する。
【００２８】
本発明の実施例１に係る仮想化ネットワークシステムは、１台若しくは複数のサーバ１１から構成される。外部のネットワークと接続されるサーバ１１は、トランシーバ１２、ネットワークインタフェースカード１３、CPU等の演算処理装置１５、メモリ部１６、及び、データ及びプログラム等を記憶するHDD等のストレージ１７を主に備えている。
【００２９】
トランシーバ１２は、そのネットワークと光ファイバ等の伝送経路で接続される。
【００３０】
ネットワークインタフェースカード１３は、一方がトランシーバ１２に接続され、他方がPCIエクスプレス等の、サーバ１１の内部バス（サーバ内部バス）１４に接続される。
【００３１】
メモリ部１６は、データ及びプログラムを一時的に記憶する第１メモリ２７及び第２メモリ２８からなる。
【００３２】
ネットワークインタフェースカード１３上にはFPGA(Field Programmable Gate Array)２０が実装され、このFPGA２０の回路により、トランシーバ１２を介して外部のネットワークからパケットを受信してMAC(Media Access Control)処理等の終端処理を行うパケット受信部２１と、ネットワークアプリケーション部１８からの指示を受けてパケット受信部２１から転送されたパケットを複製するパケット複製部２２と、ネットワークインタフェースカード１３上でパケットを一時的に格納（保管）する第１パケットバッファ部２３及び第２パケットバッファ部２４とが、主として構成される。
【００３３】
ストレージ１７は、ネットワークアプリケーション部１８を有している。ネットワークアプリケーション部１８は、スイッチ、ルータ（共に図示略）、及び、より上位レイヤのサービス等を実現する。
【００３４】
ネットワークアプリケーション部１８は、サーバ１１上の仮想化環境で動作するものであり、ネットワーク処理を行う通常処理部としての通常用ネットワークアプリケーション２５、及び、パケットの監視と不具合事象の解析を行う運用解析部としての解析用ネットワークアプリケーション２６が、それぞれ格納されている。
【００３５】
以下、本発明の実施例１に係る仮想化ネットワークシステムの動作について説明する。
【００３６】
外部のネットワークから転送されてきたパケットを、ネットワークインタフェースカード１３上に装備（接続）されたトランシーバ１２で受信した後、パケット受信部２１に送り、MAC等のプロトコルの終端処理を行う。
【００３７】
次に、パケット複製部２２は、ネットワークアプリケーション部１８からの指示に基づき、FPGA２０内の回路を流れているパケット、すなわち、パケット受信部２１から入力したパケットのデータを、そのまま複製して、元のパケット及び複製されたパケットの全く同じ内容の二つのパケットの流れを生成する。
【００３８】
なお、パケット複製部２２への指示は、ネットワークアプリケーション部１８のうち、通常用ネットワークアプリケーション２５と解析用ネットワークアプリケーション２６のどちらから行うようにしてもよい。通常用ネットワークアプリケーション２５から指示を行う場合は、この指示の情報が解析用ネットワークアプリケーション２６に伝達され、解析用ネットワークアプリケーション２６がこの情報を把握するようにする。
【００３９】
元のパケット及び複製されたパケットは、一時的に第１パケットバッファ部２３及び第２パケットバッファ部２４に蓄積される。このとき、ネットワークアプリケーション２５によって、いずれのパケットをいずれのバッファ部に蓄積するかを指定する。以下では、元のパケットは第１パケットバッファ部２３、複製されたパケットは第２パケットバッファ部２４にそれぞれ蓄積されるものとする。
【００４０】
第１パケットバッファ部２３に蓄積されたパケット、及び、第２パケットバッファ部２４に蓄積された複製されたパケットは、ネットワークアプリケーション部１８からの指示により、それぞれサーバ内部バス１４を経由してメモリ部１６に転送される。
【００４１】
サーバ１１上の別々のメモリ空間、すなわち、第１メモリ２７及び第２メモリ２８にパケットを転送することにより、通常用ネットワークアプリケーション２５と、解析用ネットワークアプリケーション２６のそれぞれから、アクセス可能とする。
【００４２】
そして、通常用ネットワークアプリケーション２５では、第１パケットバッファ部２３経由で、パケット複製部２２から元のまま出てくるパケットを受信し、このパケットに対して通常のネットワーク処理を行い、解析用ネットワークアプリケーション２６では、第２パケットバッファ部２４経由で、パケット複製部２２において複製されたパケットを受信し、このパケットに対して常時監視を行い、不具合事象が発生した際に解析を行う。
【００４３】
なお、通常処理用の元のパケットを蓄積するメモリの領域を第１メモリ２７、解析などの別用途に利用可能な複製されたパケットを蓄積するメモリの領域を第２メモリ２８とする。
【００４４】
また、第２メモリ２８は必ずしも複製されたパケットの全てを蓄積して使う必要はなく、例えば、第２パケットバッファ部２４に複製されたパケットを蓄積する時点で、パケットサイズを６４バイト等の小さいデータに制限することも可能である。これによって、解析用データの転送にかかる時間（複製されたパケットのデータが、サーバ内部バス１４、第２メモリ２８、解析用アプリケーション２６へと転送される時間）を短縮することができ、システムに負荷をかけないようにすることができる。
【００４５】
通常用ネットワークアプリケーション２５に不具合事象が発生した場合、例えばパケットロストやリオーダ等のように、その時に処理が行われていたパケットに問題があるのであれば、第２メモリ２８に蓄積されている複製されたパケットを用いて、解析用ネットワークアプリケーション２６により、その原因となる可能性のある事象の解析を行うことにより、原因の究明が可能である。
【００４６】
さらに、本発明の実施例１に係る仮想化ネットワークシステムでは、通常ネットワークアプリケーション２５と解析用ネットワークアプリケーション２６との間で情報の共有を行うものとしてもよい。
【００４７】
例えば、通常用ネットワークアプリケーション２５側で検知した不具合事象発生の情報を解析用ネットワークアプリケーション２６へ伝達することで、解析用ネットワークアプリケーション２６は解析を開始するものとしてもよい。また、逆に解析用ネットワークアプリケーション２６を先に実行させておき、不具合事象発生を予兆検知した場合に通常用ネットワークアプリケーション２５へその情報を伝達して、リオーダ等が発生した場合には通常用ネットワークアプリケーション２５でパケットの入れ替えを行うことで、正常なパケットの並びに戻すことが可能である。
以上が、本発明の実施例１に係る仮想化ネットワークシステムの動作についての説明である。
【００４８】
なお、上述では、パケット受信部２１がトランシーバ１２を介して外部のネットワークからパケットを受信してMAC等の終端処理を行い、パケット複製部２２がパケット受信部２１から転送されたパケットを複製すると説明したが、本実施例はこれに限定されるものではなく、パケット受信部２１とパケット複製部２２の配列を入れ替え、パケット受信部２１を複製系（解析用ネットワークアプリケーション２６の系統）に追加してもよい。その場合は、先にパケット複製部２２においてパケットを複製し、元のパケットと複製されたパケットが、２つのパケット受信部２１にそれぞれ入力されるものとする。
【００４９】
本発明の実施例１に係る仮想化ネットワークシステムによれば、仮想化された通常用ネットワークアプリケーション２５がネットワーク処理を行う前の段階で、パケットを複製して利用することで、ネットワークシステムに不具合事象が発生した場合に、通常用ネットワークアプリケーション２５に負荷をかけずに、通常用ネットワークアプリケーション２５でネットワーク処理していたパケットを調べることが可能であり、原因究明及び対策を行うことが可能である。
【００５０】
本発明の実施例１に係る仮想化ネットワークシステムによれば、パケットをネットワークインタフェースカード１３上においてワイヤレートで複製することが可能である。また、別途監視系の機器の追加を必要とせず導入コストの低減が可能となる。
【００５１】
さらに、本発明の実施例１に係る仮想化ネットワークシステムによれば、仮想化環境でのネットワーク処理を行う前の段階でパケットを複製することで、仮想化スイッチ等の仮想化の環境に依存せずにパケットの複製が可能であり、必要に応じて、仮想化のサーバアプリケーションとして、パケット監視及び不具合解析の機能を追加することができる。
【産業上の利用可能性】
【００５２】
本発明は、仮想化ネットワークシステムとして好適である。
【符号の説明】
【００５３】
１  パケット受信部
２  パケット複製部
３  第１パケットバッファ部
４  第２パケットバッファ部
５  ネットワークアプリケーション部
１１  サーバ
１２  トランシーバ
１３  ネットワークインタフェースカード
１４  サーバ内部バス
１５  演算処理装置(CPU)
１６  メモリ部
１７  ストレージ(HDD)
１８  ネットワークアプリケーション部
２０  FPGA
２１  パケット受信部
２２  パケット複製部
２３  第１パケットバッファ部
２４  第２パケットバッファ部
２５  通常用ネットワークアプリケーション
２６  解析用ネットワークアプリケーション
２７  第１メモリ
２８  第２メモリ
【図１】
0006338186.tif 000002
【図２】
0006338186.tif 000003
【図３】
0006338186.tif 000004