(57)【特許請求の範囲】
【請求項１】
ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析方法であって、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報を取得する工程と、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する工程と、
送信元あるいは宛先のアドレス情報に対応させて前回のパケットの識別子と通信時刻を保持した記憶部から、今回のパケットのアドレス情報に対応する識別子と通信時刻を検索して取得する工程と、
取得した前記通信時刻から一定以上経過したパケットについては、当該パケットの識別子を最新の値として前記記憶部に保持し、一定以上経過していないパケットについては、前記記憶部から取得した前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する工程と
を備えたことを特徴とするパケット解析方法。
【請求項２】
ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析方法であって、
ネットワーク層およびトランスポート層のパケットヘッダからセッション情報を取得する工程と、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する工程と、
トランスポート層のパケットヘッダからシーケンス情報を取得する工程と、
セッション情報に対応させて前回のパケットの識別子と通信時刻を保持した記憶部から、今回のパケットのセッション情報に対応する識別子と通信時刻を検索して取得する工程と、
セッション情報に対応させて、予期されるシーケンス情報のパケットよりも後に受信されるべきシーケンス情報のパケットが先に受信されたことによりロスしたと判断されたパケットのシーケンス情報を保持した前記記憶部に、今回のパケットのシーケンス情報が含まれるか判断する工程と、
前記記憶部のロスしたと判断されたパケットに今回のパケットのシーケンス情報が含まれる場合に、取得した前記通信時刻から一定以上経過したパケットについては、当該パケットの識別子を最新の値として前記記憶部に保持し、一定以上経過していないパケットについては、前記記憶部から取得した前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する工程と、
前回のパケットの識別子よりも今回のパケットの識別子が大きい場合に、パケットのロスが発生していると判断する工程と
を備えたことを特徴とするパケット解析方法。
【請求項３】
請求項１または２のいずれか一項に記載のパケット解析方法において、
識別子の比較は、有限ビット数による周回を考慮して行う
ことを特徴とするパケット解析方法。
【請求項４】
請求項１乃至３のいずれか一項に記載のパケット解析方法において、
識別子の比較は、上位ビットおよび下位ビットの並びに応じ、上位下位を逆転させて行う
ことを特徴とするパケット解析方法。
【請求項５】
ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析装置であって、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報を取得する手段と、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する手段と、
送信元あるいは宛先のアドレス情報に対応させて前回のパケットの識別子と通信時刻を保持した記憶部から、今回のパケットのアドレス情報に対応する識別子と通信時刻を検索して取得する手段と、
取得した前記通信時刻から一定以上経過したパケットについては、当該パケットの識別子を最新の値として前記記憶部に保持し、一定以上経過していないパケットについては、前記記憶部から取得した前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する手段と
を備えたことを特徴とするパケット解析装置。
【請求項６】
ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析装置であって、
ネットワーク層およびトランスポート層のパケットヘッダからセッション情報を取得する手段と、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する手段と、
トランスポート層のパケットヘッダからシーケンス情報を取得する手段と、
セッション情報に対応させて前回のパケットの識別子と通信時刻を保持した記憶部から、今回のパケットのセッション情報に対応する識別子と通信時刻を検索して取得する手段と、
セッション情報に対応させて、予期されるシーケンス情報のパケットよりも後に受信されるべきシーケンス情報のパケットが先に受信されたことによりロスしたと判断されたパケットのシーケンス情報を保持した前記記憶部に、今回のパケットのシーケンス情報が含まれるか判断する手段と、
前記記憶部のロスしたと判断されたパケットに今回のパケットのシーケンス情報が含まれる場合に、取得した前記通信時刻から一定以上経過したパケットについては、当該パケットの識別子を最新の値として前記記憶部に保持し、一定以上経過していないパケットについては、前記記憶部から取得した前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する手段と、
前回のパケットの識別子よりも今回のパケットの識別子が大きい場合に、パケットのロスが発生していると判断する手段と
を備えたことを特徴とするパケット解析装置。
【請求項７】
ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析装置の制御プログラムであって、
パケット解析装置を構成するコンピュータを、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報を取得する手段、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する手段、
送信元あるいは宛先のアドレス情報に対応させて前回のパケットの識別子と通信時刻を保持した記憶部から、今回のパケットのアドレス情報に対応する識別子と通信時刻を検索して取得する手段、
取得した前記通信時刻から一定以上経過したパケットについては、当該パケットの識別子を最新の値として前記記憶部に保持し、一定以上経過していないパケットについては、前記記憶部から取得した前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する手段
として機能させるパケット解析プログラム。
【請求項８】
ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析装置の制御プログラムであって、
パケット解析装置を構成するコンピュータを、
ネットワーク層およびトランスポート層のパケットヘッダからセッション情報を取得する手段、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する手段、
トランスポート層のパケットヘッダからシーケンス情報を取得する手段、
セッション情報に対応させて前回のパケットの識別子と通信時刻を保持した記憶部から、今回のパケットのセッション情報に対応する識別子と通信時刻を検索して取得する手段、
セッション情報に対応させて、予期されるシーケンス情報のパケットよりも後に受信されるべきシーケンス情報のパケットが先に受信されたことによりロスしたと判断されたパケットのシーケンス情報を保持した前記記憶部に、今回のパケットのシーケンス情報が含まれるか判断する手段、
前記記憶部のロスしたと判断されたパケットに今回のパケットのシーケンス情報が含まれる場合に、取得した前記通信時刻から一定以上経過したパケットについては、当該パケットの識別子を最新の値として前記記憶部に保持し、一定以上経過していないパケットについては、前記記憶部から取得した前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する手段、
前回のパケットの識別子よりも今回のパケットの識別子が大きい場合に、パケットのロスが発生していると判断する手段
として機能させるパケット解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＴ（Information Technology）システムの運用保守の技術に関し、より詳しくは、ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析方法に関する。
【背景技術】
【０００２】
トランスポート層に属するＴＣＰ（Transmission Control Protocol）等の、ネットワーク層に属するＩＰ（Internet Protocol）よりも上位のレイヤで再送手順を持つプロトコルでは、一般にはパケットが何らかの要因でロスした後に、ロスを回復するためにパケットを再送する。すなわち、パケットに含まれる単調増加するシーケンス番号によりパケットロスを識別し、再送すべきパケットを指定して再送する。これにより、シーケンス番号によって一連のデータがそろったことを識別することができる。
【０００３】
再送されるパケットはロスしたパケットと同じシーケンス番号であるため、再送の直前に他のパケットがロスなく送信された場合、本来であれば単調増加するシーケンス番号が減少に転ずる部分が発生する。
【０００４】
一方、通信経路上では何らかの要因によりパケットが反転することが起こり得る。この場合も、本来であれば単調増加するシーケンス番号が減少に転ずる部分が発生する。
【０００５】
図１は従来のパケット監視の概要を示す図であり、送信ホスト１から受信ホスト２への通信経路にタップやスイッチ等の分岐部３を介してパケットモニタ装置４を接続し、送信ホスト１から受信ホスト２へ流れるパケットを監視するようになっている。
【０００６】
図１では、シーケンス番号（Ｓｅｑ）「１」のパケットＰ１が検出された後、パケットの抜けがあり、続いてシーケンス番号「３」のパケットＰ２、シーケンス番号「２」のパケットＰ３が続いた場合を示している。なお、実際のシーケンス番号はデータフィールドの最初のバイト番号（ランダムな値から開始）であるため、「１」「２」「３」・・と連続するものではないが、説明の便宜上から簡略化している。
【０００７】
この場合、パケットモニタ装置４は、シーケンス番号が「１」から「３」に増加し、その後に「２」に減少したことを検出するが、その挙動はロスしたパケットが再送された場合と、パケットが順序反転した場合とで全く同じであるため、何らかの障害の可能性があることは検出できるものの、ロスしたパケットが再送されたのか、パケットが順序反転したのかを正確に識別することはできない。そのため、このようなシーケンスを解析した結果としては、全てロスによる再送と判断するか、全て順序反転と判断するかのどちらかの判断結果としていた。
【特許文献１】特開２００４−８０１３９号公報
【特許文献２】特開平５−２５２１７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、パケットロスと順序反転は発生するメカニズムが全く異なるため、誤って判断すると障害を復旧させることができず、障害復旧までに多くの時間を浪費してしまうという問題があった。
【０００９】
一方、特許文献１には、現時点で到着したパケットのシーケンス番号と次に到着することが期待されているパケットのシーケンス番号等をもとに、未到着のパケットと消失したパケットとを区別する技術が開示されている。しかし、上述したようなパケットロスと順序反転を識別する点には言及されておらず、上記の問題点を解決できるものではない。
【００１０】
また、特許文献２には、受信側通信ノードがセル送出順序情報に基づいて２本の伝送路から自ノードに到着するセルのうち必要なセルを選択する際、到着したセルがセル抜けの場合、そのセル抜けを記憶し、次到着セル到着順序情報により処理を変更する技術が開示されている。しかし、上述したようなパケットロスと順序反転を識別する点には言及されておらず、上記の問題点を解決できるものではない。
【００１１】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、ＴＣＰ等のＩＰレイヤよりも上位レイヤで再送手順を持つプロトコルのシーケンスを解析するにあたり、パケットロスの後に再送されたパケットか、ネットワーク内で順序反転が発生して到着順序が入れ替わったかを正確に識別することのできるパケット解析方法を提供することにある。すなわち、ネットワークで起きる順序反転という障害現象とパケットロスという障害現象を切り分けることを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一実施形態では、ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析方法であって、ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報を取得する工程と、ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する工程と、送信元あるいは宛先のアドレス情報に対応させて前回のパケットの識別子と通信時刻を保持した記憶部から、今回のパケットのアドレス情報に対応する識別子と通信時刻を検索して取得する工程と、取得した前記通信時刻から一定以上経過したパケットについては、当該パケットの識別子を最新の値として前記記憶部に保持し、一定以上経過していないパケットについては、前記記憶部から取得した前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する工程とを備える。
【００１３】
他の実施形態では、ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析方法であって、ネットワーク層およびトランスポート層のパケットヘッダからセッション情報を取得する工程と、ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する工程と、トランスポート層のパケットヘッダからシーケンス情報を取得する工程と、セッション情報に対応させて前回のパケットの識別子と通信時刻を保持した記憶部から、今回のパケットのセッション情報に対応する識別子と通信時刻を検索して取得する工程と、セッション情報に対応させて、予期されるシーケンス情報のパケットよりも後に受信されるべきシーケンス情報のパケットが先に受信されたことによりロスしたと判断されたパケットのシーケンス情報を保持した前記記憶部に、今回のパケットのシーケンス情報が含まれるか判断する工程と、前記記憶部のロスしたと判断されたパケットに今回のパケットのシーケンス情報が含まれる場合に、取得した前記通信時刻から一定以上経過したパケットについては、当該パケットの識別子を最新の値として前記記憶部に保持し、一定以上経過していないパケットについては、前記記憶部から取得した前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する工程と、前回のパケットの識別子よりも今回のパケットの識別子が大きい場合に、パケットのロスが発生していると判断する工程とを備える。
【発明の効果】
【００１４】
本発明のパケット解析方法にあっては、ＴＣＰ等のＩＰレイヤよりも上位レイヤで再送手順を持つプロトコルのシーケンスを解析するにあたり、パケットロスの後に再送されたパケットか、ネットワーク内で順序反転が発生して到着順序が入れ替わったかを正確に識別することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の好適な実施形態につき説明する。
【００１６】
＜ＩＰパケットのデータ構造＞
図２は処理の対象となるＩＰパケットのデータ構造を示す図である。
【００１７】
図２において、ＩＰパケットはＩＰヘッダとＴＣＰヘッダとペイロードから構成される。ＩＰヘッダには送信元アドレス（Source Address）ＳＡと宛先アドレス（Destination Address）ＤＡと識別子（Identification）ＩＤとＩＰパケット全長ＩＰＬｅｎとＩＰヘッダ長ＩＰＨＬｅｎが含まれている。識別子ＩＤは、１６ｂｉｔ値であり、ＩＰ端末がＩＰパケットを送信する毎にインクリメントされる性質を持つ。従って、ＩＰ端末からパケットをモニタする地点間のネットワーク内で順序反転が発生しなければ、同一ＩＰ端末からの通信をモニタした場合は単調増加する。
【００１８】
ＴＣＰヘッダには送信元ポート（Source Port）ＳＰと宛先ポート（Destination Port）ＤＰとシーケンス番号（Sequence Number）ＳｅｑとＴＣＰヘッダ長（Length）ＴＣＰＨＬｅｎが含まれている。ＴＣＰヘッダのシーケンス番号Ｓｅｑに関しては、送信元アドレスＳＡから送信された送信バイト数を意味する番号と、宛先アドレスＤＡから送信された送信バイトを意味する番号の２つが存在するが、以下では説明を簡単にするために、送信元アドレスＳＡから送信された送信バイト数を意味するものとする。
【００１９】
以下の第１の実施形態では主にＩＰヘッダの送信元アドレスＳＡと識別子ＩＤを使用し、第２の実施形態では更に、ＩＰヘッダの送信元アドレスＳＡ、宛先アドレスＤＡとＴＣＰヘッダの送信元ポートＳＰ、宛先ポートＤＰを組み合わせたＴＣＰセッションＩＤと、ＴＣＰヘッダのシーケンス番号ＳｅｑとＴＣＰデータ長Ｌｅｎを使用している。ＴＣＰデータ長Ｌｅｎは、
Ｌｅｎ＝ＩＰＬｅｎ−ＩＰＨＬｅｎ−ＴＣＰＨＬｅｎ
により求められる。
【００２０】
＜第１の実施形態＞
この第１の実施形態ではパケットの順序反転を識別するようにしている。パケットの順序反転が識別できることで、図１において説明したシーケンス番号に着目した従来の技術を併用することにより、パケットロスの後に再送されたパケットか、ネットワーク内で順序反転が発生して到着順序が入れ替わったかを正確に識別することができる。
【００２１】
図３は本発明の第１の実施形態にかかるパケット監視の概要を示す図である。
【００２２】
図３において、パケットモニタ装置４は送信ホスト１と受信ホスト２を接続する通信経路上のタップあるいはスイッチのモニタポート等の分岐部３を経由してネットワークに接続されており、送信ホスト１から受信ホスト２に送信されるパケットをモニタすることができるようになっている。
【００２３】
今、送信ホスト１から受信ホスト２に向かって、時系列で識別子（ＩＤ）が「３３３」、「３３４」、「３３５」という値を持つパケットＰ１１、Ｐ１２、Ｐ１３が送信されたとする。この場合、パケットモニタ装置４ではパケット毎の識別子をモニタすることで、識別子が単調増加しているため、順序反転がないことがわかる。すなわち、送信ホスト１からパケットモニタ装置４が接続された分岐部３までの間のネットワーク上を順序反転がなく正しくパケットが転送されていることが計測できる。
【００２４】
一方、識別子が「３３３」、「３３５」、「３３４」のパケットＰ２１、Ｐ２２、Ｐ２３がこの順序でパケットモニタ装置４に到着した場合は、識別子が「３３３」から「３３５」にいったん増加してから、「３３５」から「３３４」に減少するので、単調増加していないと判断できる。すなわち、識別子が減少した「３３４」のパケットＰ２３と「３３５」のパケットＰ２２は送信ホスト１から分岐部３までの間のネットワーク上で到着順序が入れ替わったものと判断できる。この例では送信パケット数は３つ、順序反転パケットは１つであるので、順序反転率は３３．３％となる。
【００２５】
図４はパケットモニタ装置４の構成例を示す図である。
【００２６】
図４において、パケットモニタ装置４は、パケットの情報を入力するとともにモニタ結果を出力する入出力部４１と、パケット識別等の処理を行う処理部４２と、処理過程のデータを保持する記憶部４３とを備えている。
【００２７】
入出力部４１は入力部４１１と出力条件設定部４１２と出力部４１３とを備えており、処理部４２はパケット情報取得部４２１と順序反転検出部４２２とモニタ結果出力部４２３とを備えており、記憶部４３は通信状態保持テーブル４３１とモニタ結果保持テーブル４３２とを備えている。
【００２８】
入出力部４１の入力部４１１は、ネットワークインタフェースにおいて送受信されているパケットをモニタするか、キャプチャ済みのパケットをパケット毎の受信時刻情報とともに保存したファイル情報を入力する機能を有している。パケットをモニタする場合は、例えば順序反転するパケットを常時監視するなど、リアルタイム性もしくは監視の継続性に優れている。また、パケットキャプチャしたファイルを入力する場合は、あらかじめパケットキャプチャデータを採取し、ファイルとして保存しておく必要があるが、パケットモニタ装置４を現場に設置することなく、順序反転の有無を検査することが可能である。
【００２９】
出力条件設定部４１２は、特定のＩＰアドレスについてのモニタ結果を出力する等の出力条件（フィルタ条件等）を設定する機能を有している。
【００３０】
出力部４１３は、モニタ結果出力部４２３より、出力条件設定部４１２により設定されたフィルタ条件等に基づき、モニタ結果を出力する機能を有している。出力部４１３はモニタ結果を出力するインタフェースであり、ネットワーク管理者に統計情報を表示するための画面であってもよく、ネットワーク管理装置（ＮＭＳ：Network Management System）に送信するための通信プロトコルをサポートするネットワークインタフェースであってもよい。
【００３１】
処理部４２のパケット情報取得部４２１は、入力部４１１からパケット情報を取得し、ＩＰヘッダに記述されている送信元アドレスＳＡおよび識別子ＩＤを取得し、その組を後段の順序反転検出部４２２へ引き渡す機能を有している。
【００３２】
順序反転検出部４２２は、パケット情報取得部４２１から送信元アドレスＳＡと識別子ＩＤの組を取得した後、送信元アドレスＳＡをキーに通信状態保持テーブル４３１に記憶されている送信元アドレスＳＡを検索して直前の識別子ＩＤを取得する機能を有している。この際、該当する識別子ＩＤが存在しない場合は送信元アドレスＳＡと識別子ＩＤを通信状態保持テーブル４３１に新規に保存し、該当する識別子ＩＤが存在した場合は新たな識別子ＩＤで上書き更新する。また、順序反転検出部４２２は、パケット情報取得部４２１より取得した識別子ＩＤと、通信状態保持テーブル４３１から取得した識別子ＩＤの大小を比較して、識別子ＩＤが増加していれば順序反転がないと判定し、減少していれば順序反転であると判定し、判定結果をモニタ結果保持テーブル４３２に格納する機能を有している。判定結果はネットワーク管理者や上位の監視装置（図示せず）に通知するためのものであり、例えば送信元アドレスＳＡ毎の総パケット数、順序反転数、順序反転率（順序反転数を総パケット数で割った値）等の統計情報が含まれる。順序反転検出部４２２の詳しい処理内容については後述する。
【００３３】
モニタ結果出力部４２３は、出力条件設定部４１２により設定された出力条件に従い、モニタ結果保持テーブル４３２で保存されている情報の一部もしくは全てを取得して、出力部４１３に引き渡す機能を有している。例えば、特定の送信元アドレスＳＡもしくは送信元アドレスＳＡのグループ等のフィルタ条件に基づき、モニタ結果保持テーブル４３２に記憶されている統計情報を抽出することができる。
【００３４】
図５は通信状態保持テーブル４３１のデータ構造例を示す図であり、送信元アドレスＳＡを保持する「ＩＰアドレス」フィールドと、前回の識別子ＩＤを保持する「前回ＩＤ」フィールドとを有している。なお、本実施形態では「ＩＰアドレス」フィールドに送信元アドレスＳＡを保持しているが、宛先アドレスＤＡを保持するようにしてもよい。
【００３５】
図６はモニタ結果保持テーブル４３２のデータ構造例を示す図であり、送信元アドレスＳＡを保持する「ＩＰアドレス」フィールドと、対応する送信元アドレスＳＡからの送信が検出されたパケット数を保持する「パケット数」フィールドと、対応する送信元アドレスＳＡからのパケットのうちの順序反転が検出された数を保持する「順序反転数」フィールドと、パケット数に対する順序反転数の割合である順序反転率を保持する「順序反転率」フィールドとを有している。なお、本実施形態では「ＩＰアドレス」フィールドに送信元アドレスＳＡを保持しているが、宛先アドレスＤＡを保持するようにしてもよい。
【００３６】
図７は第１の実施形態の処理例を示すフローチャートである。
【００３７】
図７において、今、通信状態保持テーブル４３１に図５のようなデータが保持されている場合に、新たに送信元アドレスＳＡ＝「１０．２０．３０．４５」、識別子ＩＤ＝「３３４」を持つパケットが到着した場合（ステップＳ１０１）、ＩＰヘッダから送信元アドレスＳＡ＝「１０．２０．３０．４５」を取得する（ステップＳ１０２）。
【００３８】
次いで、通信状態保持テーブル４３１をその「１０．２０．３０．４５」というＩＰアドレスをキーに検索すると（ステップＳ１０３）、該当するエントリが存在し、前回ＩＤとして「３３５」を取得する。この「３３５」を仮にＰＲＶとし（ステップＳ１０４）、ＩＰヘッダから取得した「３３４」をＣＵＲとする（ステップＳ１０５）。
【００３９】
次いで、ＣＵＲとＰＲＶを比較することで（ステップＳ１０６）、ＰＲＶ「３３５」は現在のＩＤであるＣＵＲ「３３４」よりも大きいため、順序反転であると判断でき、モニタ結果保持テーブル４３２の順序反転数に１加算した値として「２４」を書き込む（ステップＳ１０７）。また、モニタ結果保持テーブル４３２のパケット数も１加算した値として「１００１」を書き込み、併せて順序反転率も更新する（ステップＳ１１０）。その後、次のパケットの受信処理（ステップＳ１０１）に戻る。
【００４０】
一方、仮に、送信元アドレスＳＡ＝「１０．２０．３０．４５」、識別子ＩＤ＝「３３６」を持つパケットが到着した場合には（ステップＳ１０１）、ＰＲＶ「３３５」はＣＵＲ「３３６」よりも小さいために（ステップＳ１０６のＮＯ）、順序反転ではないと判断され、通信状態保持テーブル４３１の前回ＩＤを「３３６」に更新し（ステップＳ１０９）、モニタ結果保持テーブル４３２のパケット数を１加算して「１００１」とし、併せて順序反転率も更新し（ステップＳ１１０）、次のパケットの受信処理（ステップＳ１０１）に戻る。
【００４１】
一方、仮に、送信元アドレスＳＡ＝「１０．４０．５０．６７」、識別子ＩＤ＝「２００」というパケットを受信した場合には（ステップＳ１０１）、通信状態保持テーブル４３１に送信元アドレスＳＡが同一のエントリがないため（ステップＳ１０３のＮＯ）、新しくその送信元アドレスＳＡを持つエントリを作成し（ステップＳ１０８）、前回ＩＤに今回受信した識別子ＩＤを代入し（ステップＳ１０９）、順序反転率を更新し（ステップＳ１１０）、パケット数を１加算して「１００１」とし、併せて順序反転率も更新し（ステップＳ１１０）、次のパケット受信処理（ステップＳ１０１）に戻る。
【００４２】
なお、この例では説明の便宜上、単純に前回ＩＤと今回の識別子ＩＤとの大小を比較したが、実際には識別子ＩＤは１６ｂｉｔで周回する値であるため、周回を考慮した大小を比較してもよい。これは、今回の識別子ＩＤに１６進数の「ＦＦＦＦ」を加算して桁上げした値についても同時に考慮することで実現することができる。また、識別子ＩＤは１６ｂｉｔの値だが、ホストの実装によっては、８ｂｉｔの上位下位の並びであるエンディアンがネットワークオーダではなく、ホストオーダになっている可能性もある。その場合は、上位下位を逆転させた大小で比較すればよい。これは、識別子ＩＤが「１」ずつ加算されているか、「２５６」ずつ加算されているかにより、通信状態保持テーブル４３１にエンディアンのフラグを立て、そのフラグに基づいて上位下位を逆転することで実現することができる。
【００４３】
また、あるＩＰアドレスが送信元アドレスＳＡであり、パケットモニタ装置４を通過する通信は間欠的で、時間帯によってはパケットモニタ装置４を通らない通信を実行しているかもしれない。この場合は、パケットモニタ装置４で受信する送信元アドレスＳＡに関する識別子ＩＤは連続にならず、間欠的になる可能性がある。これは識別子ＩＤによる大小の判定を間違えさせる要因となるので、例えば、通信状態保持テーブル４３１に前回の通信時刻のフィールドを持たせ、通信時間が一定以上経過した場合は、大小比較をせず、新しいＩＤ値として単に代入する。このようにして、時間の経過による大小比較が不正確になる可能性を排除してもよい。
【００４４】
＜第２の実施形態＞
この第２の実施形態ではロスによるパケットの再送と順序反転を識別するようにしている。
【００４５】
図８は本発明の第２の実施形態にかかるパケット監視の概要を示す図である。
【００４６】
図８において、パケットモニタ装置４は送信ホスト１と受信ホスト２を接続する通信経路上のタップあるいはスイッチのモニタポート等の分岐部３を経由してネットワークに接続されており、送信ホスト１から受信ホスト２に送信されるパケットをモニタすることができるようになっている。
【００４７】
今、送信ホスト１から受信ホスト２に向かって、時系列でＴＣＰのシーケンス番号Ｓｅｑと識別子ＩＤの組〔Ｓｅｑ，ＩＤ〕がそれぞれ、〔１，３３３〕、〔２，３３４〕、〔３，３３５〕という値を持つパケットＰ３１、Ｐ３２、Ｐ３３が送信されたとする。この場合、パケットモニタ装置４ではパケット毎のシーケンス番号Ｓｅｑおよび識別子ＩＤをモニタすることで、シーケンス番号Ｓｅｑおよび識別子ＩＤが単調増加しているため、パケットロスおよび順序反転がないことがわかる。すなわち、送信ホスト１からパケットモニタ装置４が接続された分岐部３までの間のネットワーク上をパケットロスおよび順序反転がなく正しくパケットが転送されていることが計測できる。
【００４８】
ここで、ＴＣＰのシーケンス番号Ｓｅｑと識別子ＩＤがそれぞれ〔１，３３３〕、〔３，３３５〕、〔２，３３６〕という値を持つパケットＰ４１、Ｐ４２、Ｐ４３が送信されたとする。シーケンス番号ＳｅｑはパケットＰ４１からパケットＰ４２で「１」から「３」に変化するため一つ抜けが生じて、その後に「２」を持つパケットＰ４３が到着している。また、識別子ＩＤは「３３３」、「３３５」、「３３６」という単調増加しているため、順序反転が生じていないと判断できる。
【００４９】
以上により、送信ホスト１から分岐部３までの間のネットワーク上で、シーケンス番号Ｓｅｑが「２」のパケットＰ４３が一度ロスにより消失し、そのロスを回復するために、新たにシーケンス番号Ｓｅｑが「２」で識別子ＩＤが「３３６」のパケットＰ４３が送信ホスト１から送信されたと判断できる。
【００５０】
また、異なる場合として、ＴＣＰのシーケンス番号Ｓｅｑと識別子ＩＤがそれぞれ〔１，３３３〕、〔３，３３５〕、〔２，３３４〕という値を持つパケットＰ５１、Ｐ５２、Ｐ５３が送信されたとする。シーケンス番号ＳｅｑはパケットＰ５１からパケットＰ５２で「１」から「３」に変化するため一つ抜けが生じて、その後に「２」を持つパケットＰ５３が到着している。ここで、識別子ＩＤは「３３３」、「３３５」、「３３４」と単調増加していないため、「３３４」のパケットＰ５３は「３３５」のパケットＰ５２と順序反転が生じていたと判断できる。
【００５１】
図９はパケットモニタ装置４の構成例を示す図であり、図４に示した第１の実施形態と比較して、順序反転検出部４２２がパケットロス・順序反転検出部４２２’となり、通信状態保持テーブル４３１およびモニタ結果保持テーブル４３２が通信状態保持テーブル４３１’およびモニタ結果保持テーブル４３２’となってデータ構造が変更された以外は同様である。
【００５２】
パケットロス・順序反転検出部４２２’は、図４の順序反転検出部４２２が有していた順序反転を検出する機能に加え、ＴＣＰなどＩＰの上位のプロトコルによる再送シーケンスを判断し、パケットロスを検出する機能を有している。パケットロス・順序反転検出部４２２’の詳しい処理内容については後述する。
【００５３】
図１０は通信状態保持テーブル４３１’のデータ構造例を示す図であり、ＩＰヘッダの送信元アドレスＳＡ、宛先アドレスＤＡとＴＣＰヘッダの送信元ポートＳＰ、宛先ポートＤＰを組み合わせたＴＣＰセッションＩＤを保持する「ＴＣＰセッションＩＤ」フィールドと、送信元アドレスＳＡを保持する「送信元ＩＰアドレス」フィールドと、次に来ると期待されるシーケンス番号Ｓｅｑを保持する「次回Ｓｅｑ」フィールドと、ロスが確認されたパケットのシーケンス番号Ｓｅｑを保持する「ロスした送信側Ｓｅｑ」フィールドと、前回の識別子ＩＤを保持する「前回ＩＤ」フィールドとを有している。「ロスした送信側Ｓｅｑ」フィールドは複数値を保持する場合がある。
【００５４】
図１１はモニタ結果保持テーブル４３２’のデータ構造例を示す図であり、ＴＣＰセッションＩＤを保持する「ＴＣＰセッションＩＤ」フィールドと、対応するＴＣＰセッションＩＤでの送信が検出されたパケット数を保持する「パケット数」フィールドと、対応するＴＣＰセッションＩＤでのパケットのうちのロスが検出された数を保持する「ロス数」フィールドと、パケット数に対するロス数の割合であるロス率を保持する「ロス率」フィールドと、対応するＴＣＰセッションＩＤでのパケットのうちの順序反転が検出された数を保持する「順序反転数」フィールドと、パケット数に対する順序反転数の割合である順序反転率を保持する「順序反転率」フィールドとを有している。
【００５５】
図１２は第２の実施形態の処理例を示すフローチャートである。
【００５６】
図１２において、今、通信状態保持テーブル４３１’に図１０のようなデータが保持されている場合に、ＴＣＰセッションＩＤ＝「Ａ」、送信元アドレスＳＡが「１０．２０．３０．４５」、シーケンス番号Ｓｅｑ＝「６７６」、識別子ＩＤ＝「３３４」を持つパケットが到着した場合を考える。なお、ここではＴＣＰセッションＩＤは説明を簡単にするために「Ａ」としたが、実際には送信元アドレスＳＡ、宛先アドレスＤＡ、送信元ポートＳＰ、宛先ポートＤＰの組で表現される値となる。また、シーケンス番号Ｓｅｑに関してはＴＣＰの場合は実際には３２ｂｉｔ値であり、識別子ＩＤも１６ｂｉｔ値であるため、この例よりは大きな値となる場合が多い。
【００５７】
上記のパケットが到着した場合（ステップＳ２０１）、ＴＣＰ／ＩＰヘッダからＴＣＰセッションＩＤ＝「Ａ」を取得する（ステップＳ２０２）。
【００５８】
次いで、通信状態保持テーブル４３１’をＴＣＰセッションＩＤ「Ａ」をキーに検索すると（ステップＳ２０３）、該当するエントリが存在し、「前回ＩＤ」として「３３５」を取得する。この「３３５」を仮にＰＲＶ＿ＩＤとし、ＩＰヘッダから取得した「３３４」をＣＵＲ＿ＩＤとし、ＴＣＰヘッダから取得した「６７６」をＳｅｑとする（ステップＳ２０４）。
【００５９】
次いで、通信状態保持テーブル４３１’のロスした送信側ＳｅｑにＳｅｑが存在するか判断すると（ステップＳ２０５）、「６７６」が存在するため、ロスか順序反転かを判別するために、続いてＣＵＲ＿ＩＤとＰＲＶ＿ＩＤを比較する（ステップＳ２０６）。ＰＲＶ＿ＩＤ「３３５」はＣＵＲ＿ＩＤ「３３４」よりも大きいため、順序反転であると判断でき、モニタ結果保持テーブル４３２’の順序反転数に１加算した値として「３」を書き込み（ステップＳ２０７）、通信状態保持テーブル４３１’のロスした送信側Ｓｅｑから「６７６」を削除する（ステップＳ２０９）。また、モニタ結果保持テーブル４３２’のパケット数も１加算した値として「３１」を書き込み、併せてロス率、順序反転率も更新し（ステップＳ２１６）、次のパケットの受信処理（ステップＳ２０１）に戻る。
【００６０】
一方、仮に、送信元アドレスＳＡ＝「１０．２０．３０．４５」、シーケンス番号Ｓｅｑ＝「６７６」、識別子ＩＤ＝「３３９」を持つパケットが到着した場合には（ステップＳ２０１）、ＰＲＶ＿ＩＤ「３３５」はＣＵＲ＿ＩＤ「３３９」よりも小さいために（ステップＳ２０６のＮＯ）、ロスであると判断され、モニタ結果保持テーブル４３２’のロス数を１加算して「１」とし（ステップＳ２０８）、通信状態保持テーブル４３１’のロスした送信側Ｓｅｑから「６７６」を削除し（ステップＳ２０９）、通信状態保持テーブル４３１’の前回ＩＤを「３３９」に上書きする（ステップＳ２１５）。また、モニタ結果保持テーブル４３２’のパケット数も１加算した値として「３１」を書き込み、併せてロス率、順序反転率も更新し（ステップＳ２１６）、次のパケットの受信処理（ステップＳ２０１）に戻る。
【００６１】
一方、ＴＣＰセッションＩＤが通信状態保持テーブル４３１’に存在しない場合（ステップＳ２０３のＮＯ）、通信状態保持テーブル４３１’にそのＴＣＰセッションＩＤのエントリを新規に作成し（ステップＳ２１０）、モニタ結果保持テーブル４３２’のパケット数を１加算し、併せてロス率、順序反転率も更新し（ステップＳ２１６）、次のパケットの受信処理（ステップＳ２０１）に戻る。
【００６２】
一方、通信状態保持テーブル４３１’のロスした送信側ＳｅｑにＳｅｑが存在しない場合（ステップＳ２０５のＮＯ）、ロスも順序反転もないため、通信状態保持テーブル４３１’を次のように更新する。すなわち、通信状態保持テーブル４３１’の次回ＳｅｑとＳｅｑが等しいか比較し（ステップＳ２１１）、等しくない場合には、更に次回ＳｅｑよりＳｅｑが大きいか比較して（ステップＳ２１２）、大きい場合（ステップＳ２１２のＹＥＳ）はＴＣＰシーケンスの抜けであるとし、通信状態保持テーブル４３１’のロスした送信側ＳｅｑにＳｅｑを追加する（ステップＳ２１３）。小さい場合（ステップＳ２１２のＮＯ）は、パケットロスでも順序反転でもないため、通信状態保持テーブル４３１’の更新（ステップＳ２１５）に進む。次回ＳｅｑとＳｅｑが等しい場合（ステップＳ２１１のＹＥＳ）は、正常に連続データを受信しているとみなす。
【００６３】
その後、次回ＳｅｑとＳｅｑが等しい場合（ステップＳ２１１のＹＥＳ）とともに、ＳｅｑにＴＣＰデータ長Ｌｅｎを加えたものを次回Ｓｅｑとする（ステップＳ２１４）。そして、通信状態保持テーブル４３１’の前回ＩＤをＣＵＲ＿ＩＤで更新し（ステップＳ２１５）、モニタ結果保持テーブル４３２’のパケット数を１加算するとともにロス率、順序反転率を更新し（ステップＳ２１６）、次のパケットの受信処理（ステップＳ２０１）に戻る。
【００６４】
＜総括＞
本発明の実施形態によれば、パケットロスと順序反転を正確に識別することが可能になる。パケットロスと順序反転は発生するメカニズムが全く異なるため、誤って判断すると障害を復旧させることができず、障害復旧までに多くの時間を浪費してしまうが、パケットロスと順序反転を正確に識別できることで、障害原因を正確に切り分けることができ、障害復旧の時間を短縮することができる。
【００６５】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
（付記１）
ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析方法であって、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報を取得する工程と、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する工程と、
送信元あるいは宛先のアドレス情報に対応させて前回のパケットの識別子を保持した記憶部から、今回のパケットのアドレス情報に対応する識別子を検索して取得する工程と、
取得した前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する工程と
を備えたことを特徴とするパケット解析方法。
（付記２）
ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析方法であって、
ネットワーク層およびトランスポート層のパケットヘッダからセッション情報を取得する工程と、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する工程と、
トランスポート層のパケットヘッダからシーケンス情報を取得する工程と、
セッション情報に対応させて前回のパケットの識別子を保持した記憶部から、今回のパケットのセッション情報に対応する識別子を検索して取得する工程と、
セッション情報に対応させてロスしたパケットのシーケンス情報を保持した記憶部に、今回のパケットのシーケンス情報が含まれるか判断する工程と、
記憶部のロスしたパケットに今回のパケットのシーケンス情報が含まれる場合に、前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する工程と、
今回のパケットの識別子が大きい場合に、パケットのロスが発生していると判断する工程と
を備えたことを特徴とするパケット解析方法。
（付記３）
付記１または２のいずれか一項に記載のパケット解析方法において、
識別子の比較は、有限ビット数による周回を考慮して行う
ことを特徴とするパケット解析方法。
（付記４）
付記１乃至３のいずれか一項に記載のパケット解析方法において、
識別子の比較は、上位ビットおよび下位ビットの並びに応じ、上位下位を逆転させて行う
ことを特徴とするパケット解析方法。
（付記５）
付記１乃至４のいずれか一項に記載のパケット解析方法において、
通信時間が一定以上経過したパケットにかかる識別子の比較を行わない
ことを特徴とするパケット解析方法。
（付記６）
ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析装置であって、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報を取得する手段と、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する手段と、
送信元あるいは宛先のアドレス情報に対応させて前回のパケットの識別子を保持した記憶部から、今回のパケットのアドレス情報に対応する識別子を検索して取得する手段と、
取得した前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する手段と
を備えたことを特徴とするパケット解析装置。
（付記７）
ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析装置であって、
ネットワーク層およびトランスポート層のパケットヘッダからセッション情報を取得する手段と、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する手段と、
トランスポート層のパケットヘッダからシーケンス情報を取得する手段と、
セッション情報に対応させて前回のパケットの識別子を保持した記憶部から、今回のパケットのセッション情報に対応する識別子を検索して取得する手段と、
セッション情報に対応させてロスしたパケットのシーケンス情報を保持した記憶部に、今回のパケットのシーケンス情報が含まれるか判断する手段と、
記憶部のロスしたパケットに今回のパケットのシーケンス情報が含まれる場合に、前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する手段と、
今回のパケットの識別子が大きい場合に、パケットのロスが発生していると判断する手段と
を備えたことを特徴とするパケット解析装置。
（付記８）
ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析装置の制御プログラムであって、
パケット解析装置を構成するコンピュータを、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報を取得する手段、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する手段、
送信元あるいは宛先のアドレス情報に対応させて前回のパケットの識別子を保持した記憶部から、今回のパケットのアドレス情報に対応する識別子を検索して取得する手段、
取得した前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する手段
として機能させるパケット解析プログラム。
（付記９）
ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析装置の制御プログラムであって、
パケット解析装置を構成するコンピュータを、
ネットワーク層およびトランスポート層のパケットヘッダからセッション情報を取得する手段、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する手段、
トランスポート層のパケットヘッダからシーケンス情報を取得する手段、
セッション情報に対応させて前回のパケットの識別子を保持した記憶部から、今回のパケットのセッション情報に対応する識別子を検索して取得する手段、
セッション情報に対応させてロスしたパケットのシーケンス情報を保持した記憶部に、今回のパケットのシーケンス情報が含まれるか判断する手段、
記憶部のロスしたパケットに今回のパケットのシーケンス情報が含まれる場合に、前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する手段、
今回のパケットの識別子が大きい場合に、パケットのロスが発生していると判断する手段
として機能させるパケット解析プログラム。
（付記１０）
ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析装置の制御プログラムを記録した記録媒体であって、
パケット解析装置を構成するコンピュータを、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報を取得する手段、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する手段、
送信元あるいは宛先のアドレス情報に対応させて前回のパケットの識別子を保持した記憶部から、今回のパケットのアドレス情報に対応する識別子を検索して取得する手段、
取得した前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する手段
として機能させるプログラムを記録したコンピュータ読取可能な記録媒体。
（付記１１）
ネットワークを通過するパケットをモニタあるいはキャプチャした結果得られる通信内容を解析するパケット解析装置の制御プログラムを記録した記録媒体であって、
パケット解析装置を構成するコンピュータを、
ネットワーク層およびトランスポート層のパケットヘッダからセッション情報を取得する手段、
ネットワーク層のパケットヘッダから送信元あるいは宛先のアドレス情報毎に送信の度に単調増加する値が設定される識別子を取得する手段、
トランスポート層のパケットヘッダからシーケンス情報を取得する手段、
セッション情報に対応させて前回のパケットの識別子を保持した記憶部から、今回のパケットのセッション情報に対応する識別子を検索して取得する手段、
セッション情報に対応させてロスしたパケットのシーケンス情報を保持した記憶部に、今回のパケットのシーケンス情報が含まれるか判断する手段、
記憶部のロスしたパケットに今回のパケットのシーケンス情報が含まれる場合に、前回のパケットの識別子と今回のパケットの識別子とを比較し、今回のパケットの識別子が小さい場合に順序反転が発生していると判断する手段、
今回のパケットの識別子が大きい場合に、パケットのロスが発生していると判断する手段
として機能させるプログラムを記録したコンピュータ読取可能な記録媒体。
【図面の簡単な説明】
【００６６】
【図１】従来のパケット監視の概要を示す図である。
【図２】ＩＰパケットのデータ構造を示す図である。
【図３】本発明の第１の実施形態にかかるパケット監視の概要を示す図である。
【図４】パケットモニタ装置の構成例を示す図である。
【図５】通信状態保持テーブルのデータ構造例を示す図である。
【図６】モニタ結果保持テーブルのデータ構造例を示す図である。
【図７】第１の実施形態の処理例を示すフローチャートである。
【図８】本発明の第２の実施形態にかかるパケット監視の概要を示す図である。
【図９】パケットモニタ装置の構成例を示す図である。
【図１０】通信状態保持テーブルのデータ構造例を示す図である。
【図１１】モニタ結果保持テーブルのデータ構造例を示す図である。
【図１２】第２の実施形態の処理例を示すフローチャートである。
【符号の説明】
【００６７】
１                  送信ホスト
２                  受信ホスト
３                  分岐部
４                  パケットモニタ装置
４１                入出力部
４１１              入力部
４１２              出力条件設定部
４１３              出力部
４２                処理部
４２１              パケット情報取得部
４２２              順序反転検出部
４２２’            パケットロス・順序反転検出部
４２３              モニタ結果出力部
４３                記憶部
４３１、４３１’    通信状態保持テーブル
４３２、４３２’    モニタ結果保持テーブル
【図１】
0005056438.tif 000002
【図２】
0005056438.tif 000003
【図３】
0005056438.tif 000004
【図４】
0005056438.tif 000005
【図５】
0005056438.tif 000006
【図６】
0005056438.tif 000007
【図７】
0005056438.tif 000008
【図８】
0005056438.tif 000009
【図９】
0005056438.tif 000010
【図１０】
0005056438.tif 000011
【図１１】
0005056438.tif 000012
【図１２】
0005056438.tif 000013