(57)【要約】【課題】ネットワーク処理トレースにおいて、エラーが発生したパケットとトレース情報とをより精度よく紐付けて解析することができる技術を提供すること。【解決手段】ネットワークを介して受信されるパケットに対してネットワーク処理を実行するネットワーク処理部１０１と、ネットワーク処理におけるエラー発生を検出するエラー検出部１０２と、エラー検出部１０２によりエラー発生が検出されると、該エラー発生が検出されたネットワーク処理により処理中のパケットと、そのネットワーク処理において利用中の情報（トレース情報）とを取得するトレース処理部１０３と、トレース処理部１０３によって取得されたパケットと、該パケットと共に取得されたトレース情報とを関連付けるトレース情報関連付け部１０４と、を備える。【選択図】      図１
2016062130.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して受信されるパケットに対してネットワーク処理を実行するネットワーク処理部と、
前記ネットワーク処理におけるエラー発生を検出するエラー検出部と、
前記エラー検出部によりエラー発生が検出されると、該エラー発生が検出されたネットワーク処理により処理中の前記パケットと、該ネットワーク処理において利用中の情報（トレース情報）とを取得するトレース処理部と、
前記トレース処理部によって取得されたパケットと、該パケットと共に取得された前記トレース情報とを関連付けるトレース情報関連付け部と、
を備えたネットワーク処理トレース装置。
【請求項２】
前記トレース情報関連付け部は、前記トレース処理部によって取得されたパケットに、該パケットと共に取得された前記トレース情報を付加したトレース情報付加パケットを生成することにより、前記関連付けを行うことを特徴とする請求項１に記載のネットワーク処理トレース装置。
【請求項３】
前記トレース情報付加パケットを流すための解析用ネットワークインタフェースをさらに備え、
前記トレース情報関連付け部は、前記トレース情報付加パケットを、前記解析用ネットワークインタフェースを介して送信することを特徴とする請求項２に記載のネットワーク処理トレース装置。
【請求項４】
前記トレース情報関連付け部は、前記トレース情報付加パケットにさらに解析用ヘッダを付加することを特徴とする請求項２に記載のネットワーク処理トレース装置。
【請求項５】
請求項１から請求項４のいずれか1項に記載のネットワーク処理トレース装置と、
前記ネットワーク処理トレース装置により関連付けられた前記パケットおよび前記トレース情報を解析する解析装置と、
を備えたネットワーク処理トレースシステム。
【請求項６】
請求項３に記載されたネットワーク処理トレース装置を含むとき、
前記解析装置は、前記解析用ネットワークインタフェース上を流れる前記トレース情報付加パケットをキャプチャして解析することを特徴とする請求項５に記載のネットワーク処理トレースシステム。
【請求項７】
請求項４に記載されたネットワーク処理トレース装置を含むとき、
前記解析装置は、前記解析用ヘッダが付加されたトレース情報付加パケットを読み込んで解析することを特徴とする請求項５に記載のネットワーク処理トレースシステム。
【請求項８】
ネットワークを介して受信されるパケットに対して実行されるネットワーク処理におけるエラー発生を検出すると、
該エラー発生が検出されたネットワーク処理により処理中の前記パケットと、該ネットワーク処理において利用中の情報（トレース情報）とを取得し、
取得したパケットと、該パケットと共に取得した前記トレース情報とを関連付けるネットワーク処理トレース方法。
【請求項９】
ネットワークを介して受信されるパケットに対して実行されるネットワーク処理におけるエラー発生を検出するエラー検出ステップと、
前記エラー検出ステップにおいてエラー発生が検出されると、該エラー発生が検出されたネットワーク処理により処理中の前記パケットと、該ネットワーク処理において利用中の情報（トレース情報）とを取得するトレース処理ステップと、
前記トレース処理ステップにおいて取得されたパケットと、該パケットと共に取得された前記トレース情報とを関連付けるトレース情報関連付けステップと、
をコンピュータ装置に実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク処理をトレースする技術に関する。
【背景技術】
【０００２】
オペレーティングシステムのネットワーク処理においてエラーが発生すると、多くの場合パケットがドロップ（消失）される。そのパケットの消失は、上位アプリケーションの通信に何からの影響を与える。このため、どの処理においてパケットがドロップされたかを検出する必要がある。そこで、トレースツールを利用することによってネットワーク処理の詳細な解析を行う技術が知られている。
【０００３】
一般的なネットワークトレースは、予めトレース対象のネットワーク処理を定めておき、当該処理を通過したパケットをトレースする。この場合、エラー処理に限らず、正常処理もトレースされることになる。したがって、どの処理においてパケットがドロップしたかがわかりづらいという問題がある。また、正常処理とエラー処理を含むトレース情報が出力されることになり、出力情報が膨大になるといった問題もある。
【０００４】
そこで、任意のエラー処理にフックをかけてトレース処理を実行する動的なトレースを行うことが考えられる。この場合、パケットがドロップしたエラー処理を特定することは可能となるが、どのパケットがドロップしたのかがわかりづらいという問題がある。これは、エラー処理が発生した処理を示すトレースデータと、ドロップしたパケットとを紐付けることが難しいためである。
【０００５】
このような問題に対応する関連技術として、特許文献１に記載されたものが知られている。この関連技術は、トレースデータとパケットとをタイムスタンプにより紐付ける。具体的には、この関連技術は、トレースデータにその取得時刻をタイムスタンプとして付与し、パケットにその受信時刻をタイムスタンプとして付与しておく。そして、この関連技術は、パケットに対して、そのタイムスタンプの前後所定範囲内のタイムスタンプを有するトレースデータを関連付けて記憶する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１５４４７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載された関連技術は、トレースデータとパケットとをタイムスタンプに基づいて紐付けるが、タイムスタンプだけでは、紐付けの精度がよくないという課題がある。その理由は、オペレーティングシステムのネットワーク処理では、１つのパケットに対して複数の処理が順に動作するためである。その結果、タイムスタンプに基づく紐付けだけで、それぞれの処理におけるトレースデータを該当するパケットと精度よく紐付けることは難しい。
【０００８】
本発明は、上述の課題を解決するためになされたもので、ネットワーク処理トレースにおいて、エラーが発生したパケットとトレース情報とをより精度よく紐付けて解析することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のネットワーク処理トレース装置は、ネットワークを介して受信されるパケットに対してネットワーク処理を実行するネットワーク処理部と、前記ネットワーク処理におけるエラー発生を検出するエラー検出部と、前記エラー検出部によりエラー発生が検出されると、該エラー発生が検出されたネットワーク処理により処理中の前記パケットと、該ネットワーク処理において利用中の情報（トレース情報）とを取得するトレース処理部と、前記トレース処理部によって取得されたパケットと、該パケットと共に取得された前記トレース情報とを関連付けるトレース情報関連付け部と、を備える。
【００１０】
また、本発明のネットワーク処理トレースシステムは、上述のネットワーク処理トレース装置と、前記ネットワーク処理トレース装置により関連付けられた前記パケットおよび前記トレース情報を解析する解析装置と、を備える。
【００１１】
また、本発明のネットワーク処理トレース方法は、ネットワークを介して受信されるパケットに対して実行されるネットワーク処理におけるエラー発生を検出すると、該エラー発生が検出されたネットワーク処理により処理中の前記パケットと、該ネットワーク処理において利用中の情報（トレース情報）とを取得し、取得したパケットと、該パケットと共に取得した前記トレース情報とを関連付ける。
【００１２】
また、本発明のコンピュータ・プログラムは、ネットワークを介して受信されるパケットに対して実行されるネットワーク処理におけるエラー発生を検出するエラー検出ステップと、前記エラー検出ステップにおいてエラー発生が検出されると、該エラー発生が検出されたネットワーク処理により処理中の前記パケットと、該ネットワーク処理において利用中の情報（トレース情報）とを取得するトレース処理ステップと、前記トレース処理ステップにおいて取得されたパケットと、該パケットと共に取得された前記トレース情報とを関連付けるトレース情報関連付けステップと、をコンピュータ装置に実行させる。
【発明の効果】
【００１３】
本発明は、ネットワーク処理トレースにおいて、エラーが発生したパケットとトレース情報とをより精度よく紐付けて解析することができる技術を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施の形態としてのネットワーク処理トレースシステムの機能ブロック図である。
【図２】本発明の第１の実施の形態としてのネットワーク処理トレースシステムのハードウェア構成の一例を示す図である。
【図３】本発明の第１の実施の形態におけるトレース情報付加パケットの構成の一例を説明する模式図である。
【図４】本発明の第１の実施の形態としてのネットワーク処理トレースシステムの動作を説明するフローチャートである。
【図５】本発明の第２の実施の形態としてのネットワーク処理トレースシステムの機能ブロック図である。
【図６】本発明の第２の実施の形態におけるトレース情報付加パケットの構成の一例を説明する模式図である。
【図７】本発明の第２の実施の形態としてのネットワーク処理トレースシステムの動作を説明するフローチャートである。
【図８】本発明の第３の実施の形態としてのネットワーク処理トレースシステムの機能ブロック図である。
【図９】本発明の第３の実施の形態としてのネットワーク処理トレースシステムの動作を説明するフローチャートである。
【図１０】本発明の第４の実施の形態としてのネットワーク処理トレースシステムの機能ブロック図である。
【図１１】本発明の第４の実施の形態としてのネットワーク処理トレースシステムの動作を説明するフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１６】
（第１の実施の形態）
本発明の第１の実施の形態としてのネットワーク処理トレースシステム１の構成を図１に示す。図１において、ネットワーク処理トレースシステム１は、ネットワーク処理トレース装置１０と、解析装置４０とを備える。
【００１７】
また、ネットワーク処理トレース装置１０は、ネットワーク処理部１０１と、エラー検出部１０２と、トレース処理部１０３と、トレース情報関連付け部１０４とを備える。
【００１８】
ここで、ネットワーク処理トレースシステム１は、図２に示すように、ＣＰＵ（Central Processing Unit）１００１と、ＲＡＭ（Random Access Memory）１００２と、ＲＯＭ（Read Only Memory）１００３と、ハードディスク等の記憶装置１００４と、ネットワークインタフェース１００５と、出力装置１００６とを備えたコンピュータ装置によって構成可能である。この場合、ネットワーク処理部１０１は、ネットワークインタフェース１００５と、ＲＯＭ１００３および記憶装置１００４に記憶されたコンピュータ・プログラムおよび各種データをＲＡＭ１００２に読み込んで実行するＣＰＵ１００１とによって構成される。また、エラー検出部１０２、トレース処理部１０３、および、トレース情報関連付け部１０４は、ＲＯＭ１００３および記憶装置１００４に記憶されたコンピュータ・プログラムおよび各種データをＲＡＭ１００２に読み込んで実行するＣＰＵ１００１によって構成される。また、解析装置４０は、出力装置１００６と、ＲＯＭ１００３および記憶装置１００４に記憶されたコンピュータ・プログラムおよび各種データをＲＡＭ１００２に読み込んで実行するＣＰＵ１００１とによって構成される。なお、ネットワーク処理トレースシステム１を構成する各装置およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。たとえば、解析装置４０とネットワーク処理トレース装置１０は、個別に、ＣＰＵ、および、プログラムを格納するＲＯＭ等を保有してもよい。また、出力装置１００６は、解析装置４０だけに備えられてもよい。
【００１９】
ネットワーク処理部１０１は、ネットワークインタフェース１００５を介して受信されるパケットに対してネットワーク処理を実行する。パケットとは、例えば、ＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）パケットを含むＥｔｈｅｒｎｅｔ（登録商標）フレームであってもよい。また、この場合、例えば、ネットワーク処理は、オペレーティングシステムにおけるＴＣＰ／ＩＰの各種プロトコル処理等であってもよい。また、ネットワーク処理部１０１は、処理中のパケットの生データや、該処理において利用する各種情報（内部変数等）を、ＲＡＭ１００２に格納し参照しながら処理を行う。
【００２０】
エラー検出部１０２は、ネットワーク処理におけるエラー発生を検出する。例えば、エラー検出部１０２は、フックを入れた処理が呼び出されると所定の処理を実行するよう指定する動的パッチを使用してもよい。この場合、エラー検出部１０２は、エラー検出対象としたいネットワーク処理におけるエラー処理にフックを入れる。そして、エラー検出部１０２は、フックを入れた該エラー処理がネットワーク処理部１０１から呼び出された時に後述のトレース処理部１０３を動作させるよう指定しておけばよい。
【００２１】
エラー検出対象のネットワーク処理の一例として、例えば、ＴＣＰ受信処理関数（tcp_v4_rcv）がある。この関数は、パケット受信処理のうち、ＴＣＰのプロトコル処理を行う。また、この関数は、所定の確認事項についてチェックを行い、エラー発生時にはパケットをドロップするというエラー処理を行う。確認事項には、パケットのＴＣＰヘッダの値が不正でないか、ソケットの受信バッファにパケットを格納するだけの空きがあるか等がある。例えば、エラー検出部１０２は、このＴＣＰ受信処理関数のエラー処理にフックを入れ、そのエラー処理がネットワーク処理部１０１で実行される際にトレース処理部１０３を動作させるように指示すればよい。
【００２２】
トレース処理部１０３は、エラー検出部１０２によりエラー発生が検出されると、該エラー発生が検出されたネットワーク処理において処理中のパケットと、そのネットワーク処理において利用中の情報（トレース情報）とを取得する。ここで、トレース情報は、オペレーティングシステムの内部変数等である。どのような情報をトレース情報として取得するかについては、あらかじめ定められているものとする。具体的には、トレース処理部１０３は、ネットワーク処理部１０１によって利用中のＲＡＭ１００２の領域から、これらの情報を取得すればよい。
【００２３】
例えば、上述のＴＣＰ受信処理関数（tcp_v4_rcv）のエラー処理の場合、トレース処理部１０３は、
・パケットの生データ
と共に、
・ソケットの受信バッファ保持量
・ソケットの受信バッファの上限
・ソケットのバックログ（一時的にパケットをためておく領域）の量
・ソケットの排他情報（他のプロセスに排他を獲得されていないか）
等をトレース情報として取得してもよい。
【００２４】
トレース情報関連付け部１０４は、トレース処理部１０３によって取得されたパケットと、該パケットと共に取得されたトレース情報とを関連付ける。例えば、トレース情報関連付け部１０４は、トレース処理部１０３によって取得されたパケットに、該パケットと共に取得されたトレース情報を付加したトレース情報付加パケットを生成してもよい。この場合、具体的には、トレース情報関連付け部１０４は、パケットのデータ部分に、トレース情報を追加してもよい。また、トレース情報関連付け部１０４は、トレース情報のデータ部分への付加に伴い、パケットのヘッダ部分に含まれる各種情報を修正してもよい。例えば、トレース情報関連付け部１０４は、ヘッダに含まれるパケットサイズやチェックサム等を修正してもよい。例えば、前述のように、パケットがＴＣＰ／ＩＰパケットを含むＥｔｈｅｒｎｅｔフレームである場合、トレース情報付加パケットは、図３のように構成される。
【００２５】
解析装置４０は、トレース情報関連付け部１０４によって関連付けられたパケットおよびトレース情報を解析する。もし、トレース情報関連付け部１０４によって前述のトレース情報付加パケットが生成されている場合、解析装置４０は、トレース情報付加パケットを解析すればよい。この場合、パケットの解析技術には、各種公知の技術を適用可能である。解析装置４０は、例えば、トレース情報付加パケットの解析結果を、出力装置１００６等に出力してもよい。
【００２６】
以上のように構成されたネットワーク処理トレースシステム１の動作について、図４を参照して説明する。なお、図４において、左図はネットワーク処理トレース装置１０の動作を示し、右図は解析装置４０の動作を示し、左右を結ぶ破線の矢印は、データの流れを示すものとする。
【００２７】
まず、ネットワーク処理トレース装置１０において、ネットワーク処理部１０１は、ネットワークインタフェース１００５を介して順次受信されるパケットに対してネットワーク処理を実行する（ステップＳ１）。
【００２８】
次に、エラー検出部１０２は、ネットワーク処理におけるエラー発生を検出すると（ステップＳ２でＹｅｓ）、トレース処理部１０３を動作させる。
【００２９】
次に、トレース処理部１０３は、エラー発生が検出されたネットワーク処理により処理中のパケットと、そのネットワーク処理において利用中の情報（トレース情報）とを取得する（ステップＳ３）。
【００３０】
次に、トレース情報関連付け部１０４は、トレース処理部１０３によって取得されたパケットと、該パケットと共に取得されたトレース情報とを関連付ける（ステップＳ４）。例えば、前述のように、トレース情報関連付け部１０４は、該パケットに該トレース情報を付加したトレース情報付加パケットを生成してもよい。そして、ネットワーク処理トレース装置１０は、ステップＳ２からの動作を繰り返す。
【００３１】
また、解析装置４０は、ステップＳ４で関連付けられたパケットおよびトレース情報を取得する（ステップＳ５）。例えば、ステップＳ４でトレース情報付加パケットが生成されている場合、解析装置４０は、トレース情報付加パケットを取得することになる。
【００３２】
次に、解析装置４０は、ステップＳ５で取得された、関連付けられたパケットおよびトレース情報を解析し、解析結果を出力する（ステップＳ６）。例えば、ステップＳ５でトレース情報付加パケットが取得されている場合、解析装置４０は、トレース情報付加パケットを解析すればよい。
【００３３】
以上で、ネットワーク処理トレースシステム１は、動作を終了する。
【００３４】
次に、本発明の第１の実施の形態の効果について述べる。
【００３５】
本発明の第１の実施の形態としてのネットワーク処理トレースシステムは、ネットワーク処理トレースにおいて、エラーが発生したパケットとトレース情報とをより精度よく紐付けて解析することができる。
【００３６】
その理由は、ネットワーク処理部が、ネットワークを介して受信されるパケットに対するネットワーク処理を実行し、エラー検出部が、ネットワーク処理におけるエラー発生を検出するからである。そして、トレース処理部が、エラー発生が検出されたネットワーク処理により処理中のパケットと、そのネットワーク処理において利用中の情報（トレース情報）とを取得するからである。そして、トレース情報関連付け部が、取得されたパケットおよびトレース情報を関連付け、解析装置が、関連付けられたパケットおよびトレース情報を解析するからである。
【００３７】
これにより、本実施の形態は、ネットワーク処理におけるエラー発生時にトレース処理を実行するので、どの処理においてパケットがドロップしたかをわかりやすく提示することができ、出力情報の容量を抑えることができる。加えて、本実施の形態は、トレース情報に関連付けられたパケットを解析装置によって解析して出力するため、ユーザは、エラー発生時のパケットとトレース情報とを正確に紐付けながらトレース情報を解析することができる。
【００３８】
なお、本実施の形態において、トレース情報関連付け部が、トレース情報付加パケットを生成することによりエラー発生時のパケットおよびトレース情報を関連付ける例を中心に説明した。この他、トレース情報関連付け部は、トレース情報付加パケットを生成することに限らず、該当するパケットおよびトレース情報の対応関係を表現可能なその他の情報を用いて関連付けを行ってもよい。
【００３９】
（第２の実施の形態）
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第１の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【００４０】
まず、本発明の第２の実施の形態としてのネットワーク処理トレースシステム２の構成を図５に示す。図５において、ネットワーク処理トレースシステム２は、ネットワーク処理トレース装置２０と、解析装置５０とを含む。また、ネットワーク処理トレース装置２０は、本発明の第１の実施の形態としてのネットワーク処理トレース装置１０に対して、トレース情報関連付け部１０４に替えてトレース情報関連付け部２０４を備える点が異なる。
【００４１】
トレース情報関連付け部２０４は、該当するパケットのデータ部分にトレース情報を付加することに加えて、さらに、パケットの先頭に解析用ヘッダを付加する。これは、後述の解析装置５０が、所定の解析用ヘッダを有する情報を解析対象として読み込み可能に構成されていることに対応するためである。トレース情報関連付け部２０４によって生成されるトレース情報付加パケットの一例を図６に示す。トレース情報関連付け部２０４は、このような解析用ヘッダを付加したトレース情報付加パケットを、記憶装置１００４等に出力し、ファイルとして保存してもよい。
【００４２】
解析装置５０は、所定の解析用ヘッダを有する情報を解析対象として読み出し可能に構成されている。そして、解析装置５０は、前述の解析用ヘッダが付加されたトレース情報付加パケットを読み出して解析する。例えば、解析装置５０は、ｐｃａｐ（packet capture）技術を用いたパケットキャプチャツールによって構成されていてもよい。このようなパケットキャプチャツールの一例としては、tcpdumpやwireshark等がある。この場合、解析装置５０は、ネットワーク上を流れるパケットをキャプチャして解析する他、ｐｃａｐヘッダを有するｐｃａｐ形式のデータを記憶装置１００４等から読み出して解析可能である。この場合、前述のトレース情報関連付け部２０４は、パケットの先頭にｐｃａｐヘッダを付加すればよい。
【００４３】
以上のように構成されたネットワーク処理トレースシステム２の動作について、図７を参照して説明する。
【００４４】
図７において、ネットワーク処理トレース装置２０は、ステップＳ１〜Ｓ３まで本発明の第１の実施の形態と同様に動作して、エラー発生が検出されたネットワーク処理により処理中のパケットと、そのネットワーク処理において利用中のトレース情報とを取得する。
【００４５】
次に、トレース情報関連付け部２０４は、トレース処理部１０３によって取得されたパケットに、該パケットと共に取得されたトレース情報と、解析用ヘッダとを付加したトレース情報付加パケットを生成する（ステップＳ１４）。
【００４６】
次に、トレース情報関連付け部２０４は、このトレース情報付加パケットを、記憶装置１００４に出力し、ファイルとして保存する（ステップＳ１５）。
【００４７】
次に、解析装置５０は、ステップＳ１５で保存された、解析用ヘッダを有するトレース情報付加パケットを読み出す（ステップＳ１６）。
【００４８】
次に、解析装置５０は、本発明の第１の実施の形態と同様にステップＳ６を実行することにより、読み出したトレース情報付加パケットを解析し、解析結果を出力する。
【００４９】
以上で、ネットワーク処理トレースシステム２は、動作を終了する。
【００５０】
次に、本発明の第２の実施の形態の効果について述べる。
【００５１】
本発明の第２の実施の形態としてのネットワーク処理トレースシステムは、ネットワーク処理トレースにおいて、エラーが発生したパケットとトレース情報とをより精度よく紐付けた情報を、容易に解析することができる。
【００５２】
その理由は、本発明の第１の実施の形態と同様の構成に加えて、トレース情報関連付け部が、取得されたパケットに対してトレース情報および解析用ヘッダを付加したトレース情報付加パケットを生成し、解析装置が、解析用ヘッダを有するトレース情報付加パケットを読み込んで解析するからである。
【００５３】
このように、本実施の形態は、解析用ヘッダを有するトレース情報付加パケットを生成することにより、解析用ヘッダを有するパケットを読み出し可能な一般的な解析装置によって任意のタイミングでトレース情報付加パケットを読み出して解析可能となる。したがって、本実施の形態は、特別な解析装置を必要としないので、エラー発生時のパケットとトレース情報とを正確に紐付けた情報の解析を、より容易にする。
【００５４】
なお、本実施の形態において、解析装置が、ｐｃａｐ技術を用いたtcpdumpやwireshark等である例について説明した。その他、解析装置は、所定の解析用ヘッダを有するトレース情報付加パケットを読み込んで解析する機能を備えていれば、その他の構成であってもよい。
【００５５】
（第３の実施の形態）
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第１の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【００５６】
まず、本発明の第３の実施の形態としてのネットワーク処理トレースシステム３の構成を図８に示す。図８において、ネットワーク処理トレースシステム３は、ネットワーク処理トレース装置３０と、解析装置６０とを含む。また、ネットワーク処理トレース装置３０は、本発明の第１の実施の形態としてのネットワーク処理トレース装置１０に対して、トレース情報関連付け部１０４に替えてトレース情報関連付け部３０４を備え、さらに仮想ネットワークインタフェース３０５を備える点が異なる。
【００５７】
仮想ネットワークインタフェース３０５は、ネットワークインタフェースをソフトウェアにより実現する。仮想ネットワークインタフェース３０５は、仮想ネットワークインタフェースを実現する公知の技術により実現可能である。なお、仮想ネットワークインタフェース３０５は、本発明の解析用ネットワークインタフェースの一実施形態を構成する。仮想ネットワークインタフェース３０５は、トレース情報付加パケットを流すために設けられ、他のネットワークパケットは流されないことが望ましい。
【００５８】
トレース情報関連付け部３０４は、本発明の第１の実施の形態と同様に、例えば、図３に示したような、該当するパケットのデータ部分にトレース情報を付加したトレース情報付加パケットを生成する。さらに、トレース情報関連付け部３０４は、生成したトレース情報付加パケットを、仮想ネットワークインタフェース３０５を介して送信する。送信先は、元のパケットの送信先のままでよい。
【００５９】
解析装置６０は、仮想ネットワークインタフェース３０５を流れるパケットをキャプチャして解析するよう構成される。例えば、解析装置６０は、一般的なパケットキャプチャツールを用いて、解析対象のインタフェースを仮想ネットワークインタフェース３０５に設定することにより実現可能である。例えば、解析装置６０は、本発明の第２の実施の形態における解析装置５０と同様に、ｐｃａｐ技術を用いたパケットキャプチャツール（前述のtcpdumpやwireshark等）によって構成されていてもよい。この場合、解析装置６０は、対象のネットワークインタフェース上を流れるパケットをキャプチャして解析可能である。これにより、解析装置６０は、トレース情報付加パケットをキャプチャして解析する。
【００６０】
以上のように構成されたネットワーク処理トレースシステム３の動作について、図９を参照して説明する。
【００６１】
図９において、ネットワーク処理トレース装置３０は、ステップＳ１〜Ｓ４まで本発明の第１の実施の形態と同様に動作する。これにより、エラー発生時のパケットに、その時点でのトレース情報が付加されたトレース情報付加パケットが生成される。
【００６２】
次に、トレース情報関連付け部３０４は、ステップＳ４で生成したトレース情報付加パケットを、仮想ネットワークインタフェース３０５を介して送信する（ステップＳ２５）。
【００６３】
次に、解析装置６０は、仮想ネットワークインタフェース３０５を流れるトレース情報付加パケットをキャプチャする（ステップＳ２６）。
【００６４】
次に、解析装置６０は、本発明の第１の実施の形態と同様にステップＳ６を実行することにより、キャプチャしたトレース情報付加パケットを解析し、解析結果を出力する。
【００６５】
以上で、ネットワーク処理トレースシステム３は、動作を終了する。
【００６６】
次に、本発明の第３の実施の形態の効果について述べる。
【００６７】
本発明の第３の実施の形態としてのネットワーク処理トレースシステムは、ネットワーク処理トレースにおいて、エラーが発生したパケットとトレース情報とをより精度よく紐付けた情報を、容易に解析することができる。
【００６８】
その理由は、本発明の第１の実施の形態と同様の構成に加えて、トレース情報関連付け部が、生成したトレース情報付加パケットを、仮想ネットワークインタフェースを介して送信するからである。そして、解析装置が、仮想ネットワークインタフェース上を流れるトレース情報付加パケットをキャプチャして解析するからである。
【００６９】
このように、本実施の形態は、トレース情報付加パケットを仮想ネットワークインタフェースに流すことにより、ネットワークインタフェースを流れるパケットをキャプチャ可能な一般的な解析装置によってトレース情報付加パケットをキャプチャし解析可能となる。したがって、本実施の形態は、特別な解析装置を必要としないので、エラー発生時のパケットとトレース情報とを正確に紐付けた情報の解析を、より容易にする。
【００７０】
なお、本実施の形態において、解析装置が、ｐｃａｐ技術を用いたtcpdumpやwireshark等である例について説明した。その他、解析装置は、解析用ネットワークインタフェースを流れるトレース情報付加パケットをキャプチャし解析する機能を備えていれば、その他の構成であってもよい。
【００７１】
（第４の実施の形態）
次に、本発明の第４の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第３の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【００７２】
まず、本発明の第４の実施の形態としてのネットワーク処理トレースシステム４の構成を図１０に示す。図１０において、ネットワーク処理トレースシステム３は、本発明の第３の実施の形態としてのネットワーク処理トレースシステム３に対して、解析装置６０に替えて解析装置７０を備える点が異なる。また、解析装置７０は、端末９０と通信可能に接続されている。
【００７３】
解析装置７０は、仮想ネットワークインタフェース３０５を監視する機能と、仮想ネットワークインタフェース３０５上を流れるトレース情報付加パケットをキャプチャする機能とを有する。また、解析装置７０は、トレース情報付加パケットを解析して解析情報を生成し、端末９０からの問い合わせに応じて端末９０に送信する。例えば、解析装置７０は、パケットキャプチャ機能を備えたＳＮＭＰ（Simple Network Management Protocol）エージェントによって実現可能である。この場合、端末９０は、ＳＮＭＰマネージャによって構成される。
【００７４】
この場合、具体的には、解析装置７０としてのＳＮＭＰエージェントは、仮想ネットワークインタフェース３０５上を流れるトレース情報付加パケットをキャプチャする。そして、解析装置７０は、トレース情報付加パケットを解釈し、独自に定義したＭＩＢ（Management Information Base）情報として記憶する。そして、解析装置７０は、ＳＮＭＰマネージャとしての端末９０からの問い合わせに応じて、トレース情報付加パケットに関するＭＩＢ情報を送信すればよい。例えば、トレース情報付加パケットが、ＴＣＰプロトコルスタックにおけるエラー発生時のパケットおよびトレース情報を示す場合、解析装置７０は、ＴＣＰプロトコルスタックでのパケットドロップ数を独自のＭＩＢ情報として定義してもよい。
【００７５】
以上のように構成されたネットワーク処理トレースシステム４の動作について、図１１を参照して説明する。なお、図１１において、左図はネットワーク処理トレース装置３０の動作を示し、中央図は解析装置７０の動作を示し、右図は端末９０の動作を示し、各フローを結ぶ破線の矢印は、データの流れを示すものとする。
【００７６】
図１１において、ネットワーク処理トレース装置３０は、ステップＳ１〜Ｓ４、Ｓ２５まで本発明の第３の実施の形態と同様に動作する。これにより、エラー発生時のパケットに、その時点のトレース情報を付加したトレース情報付加パケットが、仮想ネットワークインタフェース３０５に送出される。
【００７７】
次に、解析装置７０は、本発明の第２の実施の形態と同様にステップＳ２６を実行し、仮想ネットワークインタフェース３０５を流れるトレース情報付加パケットをキャプチャする。
【００７８】
次に、解析装置７０は、トレース情報付加パケットを解析し、解析情報を生成する（ステップＳ３７）。
【００７９】
次に、端末９０は、解析情報の送信要求を、解析装置７０に対して送信する（ステップＳ３８）。
【００８０】
次に、解析装置７０は、ステップＳ３７で生成した解析情報を、端末９０に対して送信する（ステップＳ３９）。
【００８１】
次に、端末９０は、受信した解析情報を出力する（ステップＳ４０）。
【００８２】
以上で、ネットワーク処理トレースシステム４は、動作を終了する。
【００８３】
次に、本発明の第４の実施の形態の効果について述べる。
【００８４】
本発明の第４の実施の形態としてのネットワーク処理トレースシステムは、ネットワーク処理トレースにおいて、エラーが発生したパケットとトレース情報とをより精度よく紐付けた解析情報を、他の装置から監視することができる。
【００８５】
その理由は、本発明の第３の実施の形態と同様に構成されたネットワーク処理トレース装置によって生成され仮想ネットワークインタフェースに流れるトレース情報付加パケットを、解析装置がキャプチャして解析情報を生成し、端末からの問い合わせに応じて送信するからである。
【００８６】
このように、本実施の形態は、ネットワークを監視し端末からの問い合わせに応じて監視情報を送信可能な解析装置によってトレース情報付加パケットをキャプチャすることで、外部の端末から、エラー発生時のパケットとトレース情報とを正確に紐付けた結果としての解析情報を閲覧することができる。
【００８７】
なお、本実施の形態において、解析装置が、ＳＮＭＰエージェントである例を中心に説明した。その他、解析装置は、仮想ネットワークインタフェースを流れるトレース情報付加パケットをキャプチャし解析する機能と、解析情報を外部に通知する機能を備えていれば、その他の構成であってもよい。
【００８８】
また、本発明の第３〜第４の実施の形態において、本発明の解析用ネットワークインタフェースとして、仮想ネットワークインタフェースを適用する例を説明した。これに限らず、本発明の解析用ネットワークインタフェースは、トレース情報付加パケットを流すために利用可能なネットワークインタフェースであれば、物理的なネットワークインタフェースによって構成されてもよい。
【００８９】
また、本発明の各実施の形態において、エラー検出部が、動的パッチによりエラー発生を検出する例を中心に説明した。この他、各実施の形態におけるエラー検出部は、ネットワーク処理におけるエラー発生を検出可能な他の構成により実現されてもよい。
【００９０】
また、本発明の各実施の形態において、対象とするパケットが、ＴＣＰ／ＩＰパケットを含むＥｔｈｅｒｎｅｔフレームであり、ネットワーク処理が、ＴＣＰ／ＩＰの各種プロトコル処理である例を中心に説明した。これに限らず、本発明において対象とするパケットは、他のプロトコルに基づくデータを含み、ネットワーク処理は、他のプロトロコル処理であってもよい。
【００９１】
また、本発明の各実施の形態において、ネットワーク処理トレース装置および解析装置が、同一のコンピュータ上に実現される例を中心に説明したが、ネットワーク処理トレース装置および解析装置は、異なるコンピュータによって構成されていてもよい。
【００９２】
また、本発明の各実施の形態において、ネットワーク処理トレースシステムの各機能ブロックが、記憶装置またはＲＯＭに記憶されたコンピュータ・プログラムを実行するＣＰＵによって実現される例を中心に説明した。この他、各機能ブロックの一部、全部、または、それらの組み合わせが専用のハードウェアにより実現されていてもよい。
【００９３】
また、本発明の各実施の形態において、ネットワーク処理トレース装置の機能ブロックは、複数の装置に分散されて実現されてもよい。
【００９４】
また、本発明の各実施の形態において、各フローチャートを参照して説明した各装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータの記憶装置（記憶媒体）に格納してもよい。この場合、係るコンピュータ・プログラムを当該ＣＰＵが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
【００９５】
また、各実施の形態は、適宜組み合わせて実施されることが可能である。
【００９６】
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
【符号の説明】
【００９７】
１、２、３、４    ネットワーク処理トレースシステム
１０、２０、３０    ネットワーク処理トレース装置
４０、５０、６０、７０    解析装置
９０  端末
１０１    ネットワーク処理部
１０２    エラー検出部
１０３    トレース処理部
１０４、２０４、３０４    トレース情報関連付け部
３０５    仮想ネットワークインタフェース
１００１    ＣＰＵ
１００２    ＲＡＭ
１００３    ＲＯＭ
１００４    記憶装置
１００５    ネットワークインタフェース
１００６    出力装置
【図１】
2016062130.tif 000003
【図２】
2016062130.tif 000004
【図３】
2016062130.tif 000005
【図４】
2016062130.tif 000006
【図５】
2016062130.tif 000007
【図６】
2016062130.tif 000008
【図７】
2016062130.tif 000009
【図８】
2016062130.tif 000010
【図９】
2016062130.tif 000011
【図１０】
2016062130.tif 000012
【図１１】
2016062130.tif 000013