(57)【特許請求の範囲】
【請求項１】
通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス解析装置において、
前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶手段と、
前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成手段と、
前記イベントシーケンスに基づき、圧縮表示が可能なシーケンスを判定する圧縮判定手段と、を備え、
前記表示データ生成手段は、圧縮表示が可能であると判定されたシーケンスに関して、プロトコルシーケンスの表示を簡略化する表示データを生成する、
ことを特徴とするプロトコルシーケンス解析装置。
【請求項２】
前記圧縮判定手段は、前記特定プロトコル手順上の特定状況毎にプロトコル手順上同種別と考えられる連続したパケットを判別し、
前記表示データ生成手段は、その判別された同種別の連続した複数のパケットのやり取り及びそのイベントを一括表示する表示データを生成する、
ことを特徴とする請求項１に記載のプロトコルシーケンス解析装置。
【請求項３】
前記圧縮判定手段は、応答確認パケットの正常性を判断し、
前記表示データ生成手段は、その判断された正常な応答確認パケットのやり取り及びそのイベントを省いた表示データを生成する、
ことを特徴とする請求項１に記載のプロトコルシーケンス解析装置。
【請求項４】
通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス解析装置において、
前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶手段と、
前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成手段と、
前記イベントシーケンスに基づき、関連づけ表示が可能なシーケンスを判定する関連づけ判定手段と、を備え、
前記表示データ生成手段は、関連づけ表示が可能であると判定されたシーケンスに関して、関連づけを示す表記を表示させる表示データを生成する、
ことを特徴とするプロトコルシーケンス解析装置。
【請求項５】
通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス解析装置において、
前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶手段と、
前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成手段と、
前記イベントシーケンスから、前記特定プロトコル手順上の不整合を検出する不整合判定手段と、を備え、
前記表示データ生成手段は、前記検出された不整合のシーケンスに関して、不整合を示す表記を表示させる表示データを生成する、
ことを特徴とするプロトコルシーケンス解析装置。
【請求項６】
前記不整合判定手段は、前記不整合の要因を判別し、
前記表示データ生成手段は、前記不整合の要因種別の表記を表示させる表示データを生成する、
ことを特徴とする請求項５に記載のプロトコルシーケンス解析装置。
【請求項７】
通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス表示データ生成方法であって、
前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶過程と、
前記イベントシーケンスに基づき、圧縮表示が可能なシーケンスを判定する圧縮判定過程と、
前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成過程と、を含み、
前記表示データ生成過程においては、前記圧縮判定過程により圧縮表示が可能であると判定されたシーケンスに関して、プロトコルシーケンスの表示を簡略化する前記表示データを生成する、
ことを特徴とするプロトコルシーケンス表示データ生成方法。
【請求項８】
前記圧縮判定過程において、応答確認パケットの正常性を判断し、
前記表示データ生成過程においては、その判断された正常な応答確認パケットのやり取り及びそのイベントを省いた表示データを生成する、
ことを特徴とする請求項７に記載のプロトコルシーケンス表示データ生成方法。
【請求項９】
通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス表示データ生成方法であって、
前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶過程と、
前記イベントシーケンスに基づき、関連づけ表示が可能なシーケンスを判定する関連づけ判定過程と、
前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成過程と、を含み、
前記表示データ生成過程においては、前記関連づけ判定過程により関連づけ表示が可能であると判定されたシーケンスに関して、関連づけを示す表記を表示させる表示データを生成する、
ことを特徴とするプロトコルシーケンス表示データ生成方法。
【請求項１０】
通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス表示データ生成方法であって、
前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶過程と、
前記イベントシーケンスから、前記特定プロトコル手順上の不整合を検出する不整合判定過程と、
前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成過程と、を含み、
前記表示データ生成過程においては、前記不整合判定過程により検出された不整合のシーケンスに関して、不整合を示す表記を表示させる表示データを生成する、
ことを特徴とするプロトコルシーケンス表示データ生成方法。
【請求項１１】
前記不整合判定過程において、前記不整合の要因を判別し、
前記表示データ生成過程においては、前記不整合の要因種別の表記を表示させる表示データを生成する、
ことを特徴とする請求項１０に記載のプロトコルシーケンス表示データ生成方法。
【請求項１２】
通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス表示データ生成処理を行うためのコンピュータプログラムであって、
前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶ステップと、
前記イベントシーケンスに基づき、圧縮表示が可能なシーケンスを判定する圧縮判定ステップと、
前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成ステップと、をコンピュータに実行させるコンピュータプログラムであり、
前記表示データ生成ステップにおいては、前記圧縮判定ステップにより圧縮表示が可能であると判定されたシーケンスに関して、プロトコルシーケンスの表示を簡略化する前記表示データを生成する、
ことを特徴とするコンピュータプログラム。
【請求項１３】
前記圧縮判定ステップにおいて、応答確認パケットの正常性を判断し、
前記表示データ生成ステップにおいては、その判断された正常な応答確認パケットのやり取り及びそのイベントを省いた表示データを生成する、
ことを特徴とする請求項１２に記載のコンピュータプログラム。
【請求項１４】
通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス表示データ生成処理を行うためのコンピュータプログラムであって、
前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶ステップと、
前記イベントシーケンスに基づき、関連づけ表示が可能なシーケンスを判定する関連づけ判定ステップと、
前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成過程と、を含み、
前記表示データ生成ステップにおいては、前記関連づけ判定ステップにより関連づけ表示が可能であると判定されたシーケンスに関して、関連づけを示す表記を表示させる表示データを生成する、
ことを特徴とするコンピュータプログラム。
【請求項１５】
通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス表示データ生成処理を行うためのコンピュータプログラムであって、
前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶ステップと、
前記イベントシーケンスから、前記特定プロトコル手順上の不整合を検出する不整合判定ステップと、
前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成ステップと、を含み、
前記表示データ生成ステップにおいては、前記不整合判定ステップにより検出された不整合のシーケンスに関して、不整合を示す表記を表示させる表示データを生成する、
ことを特徴とするコンピュータプログラム。
【請求項１６】
前記不整合判定ステップにおいて、前記不整合の要因を判別し、
前記表示データ生成ステップにおいては、前記不整合の要因種別の表記を表示させる表示データを生成する、
ことを特徴とする請求項１５に記載のコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＴＣＰ（Transmission Control Protocol）等の通信プロトコルの解析に用いて好適なプロトコルシーケンス解析装置及びそのプロトコルシーケンス表示データ生成方法、並びにそのプロトコルシーケンス解析装置をコンピュータを利用して実現するためのコンピュータプログラムに関する。
【０００２】
【従来の技術】
従来、ＴＣＰ（Transmission Control Protocol）等の通信プロトコルを解析するために、実際の通信をモニタし、その通信のやり取りをシーケンスとして表示するプロトコルシーケンス解析装置がある。そして、従来のプロトコルシーケンス表示方法として、例えば特開平１１−０２７３０８号公報に記載されるインターネット対応リンクモニタ方法が知られている。
【０００３】
この公報に記載の方法を用いてＴＣＰのプロトコルシーケンスを表示する一例を図２５，図２６に示す。従来のプロトコルシーケンス解析装置は、プロトコルシーケンスの表示を行う際に、通信装置（ホストＡ）と通信装置（ホストＢ）の間で送受されるパケットをモニタし、このモニタ結果からＴＣＰを解析し、この解析結果からプロトコルシーケンスを生成して表示する。また、プロトコルシーケンスの生成処理では、通信装置間でやり取りされたパケットの情報に基づいて、ＴＣＰシーケンスの状況を解析し、パケットのやり取りと該パケットに該当のＴＣＰのイベントとを対応付けてプロトコルシーケンスを表示する。図２５，図２６の例では、一つの矢印線が一つのパケットのやり取りを示し、各矢印線にはＴＣＰのイベント（ＳＹＮ，ＳＹＮ＋ＡＣＫ，ＤＴ等）が対応付けて表示される。
【０００４】
また、プロトコルシーケンス解析装置でのパケット収集時刻と、遅延情報（パケット長から計算されるパケット転送遅延＋パケットを物理的に離れた位置に転送するのに要する伝播遅延）とを用いて、ホストＡおよびホストＢでパケットを送受信した時刻を推定し、この推定した時刻の順序を考慮してプロトコルシーケンスを生成する。
【０００５】
【発明が解決しようとする課題】
しかし、上述した従来のプロトコルシーケンス解析装置では、以下のような問題がある。
（１）大量のデータが多数のデータ（ＤＴ）パケットに分割されて送受信される場合、例えば図２５に示すようにプロトコルシーケンス上に多数のパケットのやり取りを示す線が表示される。このため、作業者が通信手順を解析する際に、注目したいパケットを見つけ出すことが困難となる。また、ホストＡとＢの間の遅延が大きく、これにより応答確認を待たずに送信可能なＤＴパケットの個数が多い場合には、表示されるプロトコルシーケンスが乱雑になるので、解析がますます困難になる。
（２）パケットの送受信時刻の推定結果からパケットのやり取りの順序を得ているので、通信装置で送受信されたパケットの正確な順序が分からず、通信装置での通信手順の誤りを簡易に解析することができない。
【０００６】
本発明は、このような事情を考慮してなされたもので、その目的は、通信手順の解析に支障を与えることなく、パケットのやり取りを示す情報量を減らして、プロトコルシーケンスの表示を簡潔にすることができるプロトコルシーケンス解析装置及びそのプロトコルシーケンス表示データ生成方法を提供することにある。
【０００７】
また、本発明は、通信手順の解析作業の能率向上に寄与する情報を表示することができるプロトコルシーケンス解析装置及びそのプロトコルシーケンス表示データ生成方法を提供することも目的とする。
【０００８】
また、本発明は、プロトコルシーケンスの異常を通知することができるプロトコルシーケンス解析装置及びそのプロトコルシーケンス表示データ生成方法を提供することも目的とする。
【０００９】
また、本発明は、そのプロトコルシーケンス解析装置をコンピュータを利用して実現するためのコンピュータプログラムを提供することも目的とする。
【００１０】
【課題を解決するための手段】
上記の課題を解決するために、請求項１に記載のプロトコルシーケンス解析装置は、通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス解析装置において、前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶手段と、前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成手段と、前記イベントシーケンスに基づき、圧縮表示が可能なシーケンスを判定する圧縮判定手段と、を備え、前記表示データ生成手段は、圧縮表示が可能であると判定されたシーケンスに関して、プロトコルシーケンスの表示を簡略化する表示データを生成することを特徴としている。
【００１１】
請求項２に記載のプロトコルシーケンス解析装置においては、前記圧縮判定手段は、前記特定プロトコル手順上の特定状況毎にプロトコル手順上同種別と考えられる連続したパケットを判別し、前記表示データ生成手段は、その判別された同種別の連続した複数のパケットのやり取り及びそのイベントを一括表示する表示データを生成することを特徴とする。
【００１２】
請求項３に記載のプロトコルシーケンス解析装置においては、前記圧縮判定手段は、応答確認パケットの正常性を判断し、前記表示データ生成手段は、その判断された正常な応答確認パケットのやり取り及びそのイベントを省いた表示データを生成することを特徴とする。
【００１３】
請求項４に記載のプロトコルシーケンス解析装置は、通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス解析装置において、前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶手段と、前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成手段と、前記イベントシーケンスに基づき、関連づけ表示が可能なシーケンスを判定する関連づけ判定手段と、を備え、前記表示データ生成手段は、関連づけ表示が可能であると判定されたシーケンスに関して、関連づけを示す表記を表示させる表示データを生成することを特徴としている。
【００１４】
請求項５に記載のプロトコルシーケンス解析装置は、通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス解析装置において、前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶手段と、前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成手段と、前記イベントシーケンスから、前記特定プロトコル手順上の不整合を検出する不整合判定手段と、を備え、前記表示データ生成手段は、前記検出された不整合のシーケンスに関して、不整合を示す表記を表示させる表示データを生成することを特徴としている。
【００１５】
請求項６に記載のプロトコルシーケンス解析装置においては、前記不整合判定手段は、前記不整合の要因を判別し、前記表示データ生成手段は、前記不整合の要因種別の表記を表示させる表示データを生成することを特徴とする。
【００１６】
請求項７に記載のプロトコルシーケンス表示データ生成方法は、通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス表示データ生成方法であって、前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶過程と、前記イベントシーケンスに基づき、圧縮表示が可能なシーケンスを判定する圧縮判定過程と、前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成過程と、を含み、前記表示データ生成過程においては、前記圧縮判定過程により圧縮表示が可能であると判定されたシーケンスに関して、プロトコルシーケンスの表示を簡略化する前記表示データを生成することを特徴としている。
【００１７】
請求項８に記載のプロトコルシーケンス表示データ生成方法においては、前記圧縮判定過程において、応答確認パケットの正常性を判断し、前記表示データ生成過程においては、その判断された正常な応答確認パケットのやり取り及びそのイベントを省いた表示データを生成することを特徴とする。
【００１８】
請求項９に記載のプロトコルシーケンス表示データ生成方法は、通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス表示データ生成方法であって、前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶過程と、前記イベントシーケンスに基づき、関連づけ表示が可能なシーケンスを判定する関連づけ判定過程と、前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成過程と、を含み、前記表示データ生成過程においては、前記関連づけ判定過程により関連づけ表示が可能であると判定されたシーケンスに関して、関連づけを示す表記を表示させる表示データを生成することを特徴としている。
【００１９】
請求項１０に記載のプロトコルシーケンス表示データ生成方法は、通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス表示データ生成方法であって、前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶過程と、前記イベントシーケンスから、前記特定プロトコル手順上の不整合を検出する不整合判定過程と、前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成過程と、を含み、前記表示データ生成過程においては、前記不整合判定過程により検出された不整合のシーケンスに関して、不整合を示す表記を表示させる表示データを生成することを特徴としている。
【００２０】
請求項１１に記載のプロトコルシーケンス表示データ生成方法においては、前記不整合判定過程において、前記不整合の要因を判別し、前記表示データ生成過程においては、前記不整合の要因種別の表記を表示させる表示データを生成することを特徴とする。
【００２１】
請求項１２に記載のコンピュータプログラムは、通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス表示データ生成処理を行うためのコンピュータプログラムであって、前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶ステップと、前記イベントシーケンスに基づき、圧縮表示が可能なシーケンスを判定する圧縮判定ステップと、前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成ステップと、をコンピュータに実行させるコンピュータプログラムであり、前記表示データ生成ステップにおいては、前記圧縮判定ステップにより圧縮表示が可能であると判定されたシーケンスに関して、プロトコルシーケンスの表示を簡略化する前記表示データを生成することを特徴としている。
【００２２】
請求項１３に記載のコンピュータプログラムにおいては、前記圧縮判定ステップにおいて、応答確認パケットの正常性を判断し、前記表示データ生成ステップにおいては、その判断された正常な応答確認パケットのやり取り及びそのイベントを省いた表示データを生成することを特徴とする。
これにより、前述のプロトコルシーケンス解析装置がコンピュータを利用して実現できるようになる。
【００２３】
請求項１４に記載のコンピュータプログラムは、通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス表示データ生成処理を行うためのコンピュータプログラムであって、前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶ステップと、前記イベントシーケンスに基づき、関連づけ表示が可能なシーケンスを判定する関連づけ判定ステップと、前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成過程と、を含み、前記表示データ生成ステップにおいては、前記関連づけ判定ステップにより関連づけ表示が可能であると判定されたシーケンスに関して、関連づけを示す表記を表示させる表示データを生成することを特徴としている。
これにより、前述のプロトコルシーケンス解析装置がコンピュータを利用して実現できるようになる。
【００２４】
請求項１５に記載のコンピュータプログラムは、通信装置間でやり取りされた特定プロトコルのパケットの情報に基づいて前記プロトコルに関するプロトコルシーケンスの状況を解析し、前記パケットのやり取りと該パケットに該当の前記プロトコルのイベントとを対応付けてプロトコルシーケンスを表示するための表示データを生成するプロトコルシーケンス表示データ生成処理を行うためのコンピュータプログラムであって、前記通信装置間でやり取りされた特定プロトコルのパケット毎の前記イベントから成るイベントシーケンスを記録するイベントシーケンス記憶ステップと、前記イベントシーケンスから、前記特定プロトコル手順上の不整合を検出する不整合判定ステップと、前記イベントシーケンスに基づいて、パケットのやり取りを示すデータと該パケットに対応するイベントを示すデータとから構成される表示データを生成する表示データ生成ステップと、を含み、前記表示データ生成ステップにおいては、前記不整合判定ステップにより検出された不整合のシーケンスに関して、不整合を示す表記を表示させる表示データを生成することを特徴としている。
【００２５】
請求項１６に記載のコンピュータプログラムにおいては、前記不整合判定ステップにおいて、前記不整合の要因を判別し、前記表示データ生成ステップにおいては、前記不整合の要因種別の表記を表示させる表示データを生成することを特徴とする。
これにより、前述のプロトコルシーケンス解析装置がコンピュータを利用して実現できるようになる。
【００２６】
【発明の実施の形態】
以下、図面を参照し、本発明の一実施形態について説明する。
図１は、本発明の一実施形態によるプロトコルシーケンス解析装置の構成を示すブロック図である。この図１において、プロトコルシーケンス解析装置は、パケット収集部１とイベントシーケンス作成部２とイベントシーケンス記憶部３と内部状態解析部４と内部状態解析結果記憶部５とプロトコルシーケンス推定部６とプロトコルシーケンス表示部７とから構成される。
【００２７】
パケット収集部１は、入力データの中からパケットを一つずつ抽出する。入力データについては、通信回線をモニタし、検出したパケットのデータをリアルタイムに入力するようにしてもよく、あるいは、通信ネットワークから予め収集済みのパケットとその収集時刻が対応付けされた通信ログデータを入力するようにしてもよい。
【００２８】
イベントシーケンス作成部２は、パケット収集部１により抽出された各パケットについて、通信当事者双方の通信装置が各々送受信した時刻を推定し、この推定時刻に従ってパケットの順序を並び替えてイベントシーケンス記憶部３に記録する。ここで、１つのパケットについて、一方の通信装置における送受の種別と、他方の通信装置における送受の種別も記録する。また、パケット毎にヘッダ内のパケット種別情報に基づいてＴＣＰのイベント（ＳＹＮ，ＳＹＮ＋ＡＣＫ，ＤＴ等）を記録する。これにより、イベントシーケンス記憶部３には、パケットがやり取りされた推定時刻の順序で、ＴＣＰのイベントがシーケンスとして記録される。なお、このイベントシーケンス作成方法は、従来技術として知られている方法と同様である。
【００２９】
内部状態解析部４は、イベントシーケンス記憶部３のイベントシーケンスに基づいてＴＣＰのプロトコル手順を追随し、これにより通信当事者双方の通信装置の内部状態を推定し、この推定結果を内部状態解析結果記憶部５に記録する。
【００３０】
プロトコルシーケンス推定部６は、圧縮判定部１１（圧縮判定手段）と、関連づけ判定部１２（関連づけ判定手段）と、不整合判定部１３（不整合判定手段）とからなり、イベントシーケンス記憶部３のイベントシーケンスと内部状態解析結果記憶部５の内部状態解析結果を用いて、イベントシーケンスを簡略化するための処理を行う。
【００３１】
圧縮判定部１１は、複数パケットのイベントを一つのイベントにまとめることが可能か否かを判定し、この判定結果をイベントシーケンス記憶部３のイベントシーケンスに反映させる。
関連づけ判定部１２は、通信装置への入力パケットまたは通信装置からの出力パケットの内、複数のパケットを関連づけることが可能か否かを判定し、この判定結果をイベントシーケンス記憶部３のイベントシーケンスに反映させる。上記関連づけされるパケットの組合せは、入力パケット同士、あるいは出力パケット同士、あるいは入力パケットと出力パケット、のいずれの組合せであってもよい。
不整合判定部１３は、イベントシーケンスと通信装置のＴＣＰ手順の間の不整合を検出し、この検出結果をイベントシーケンス記憶部３のイベントシーケンスに反映させる。
【００３２】
プロトコルシーケンス表示部７は、プロトコルシーケンスの表示データ生成機能（出力データ生成手段に対応）と表示データを画面上に表示する画面表示機能とを有する。表示データ生成機能により、イベントシーケンス記憶部３のイベントシーケンスに基づいてプロトコルシーケンスの表示データを生成する。この表示データは、パケットのやり取りを示すデータと該パケットに対応するイベント（パケット種別）を示すデータとから構成される。そして、画面表示機能により表示データを画面上に表示する。また、表示データ生成機能では、ユーザの操作に従い、圧縮表示機能、関連づけ表示機能、不整合表示機能のいずれか、あるいは、複数を組み合わせてプロトコルシーケンスの表示データを生成する。
【００３３】
圧縮表示機能とは、圧縮判定部１１の判定結果を使用して表示データを生成する機能である。関連づけ表示機能とは、関連づけ判定部１２の判定結果を使用して表示データを生成する機能である。不整合表示機能とは、不整合判定部１３の不整合検出結果を使用して表示データを生成する機能である。
【００３４】
圧縮表示機能により、複数の送信パケットあるいは複数の受信パケットに関するプロトコルシーケンスを簡潔に表示可能となる。また、関連づけ表示機能により、パケット受信に対するパケット送信を関連づけて表示する。これら機能を単独に、あるいは組み合わせて使用することにより、プロトコルシーケンスの表示を簡略化することができる。
また、不整合表示機能により、ＴＣＰシーケンスの不整合の検出結果をその不整合要因の種別毎に異なる方法で、プロトコルシーケンス上に表示する。これにより、プロトコルシーケンスの異常を通知することができる。
【００３５】
次に、プロトコルシーケンス推定部６の圧縮判定部１１、関連づけ判定部１２、及び不整合判定部１３が行う処理と、プロトコルシーケンス表示部７の圧縮表示機能、関連づけ表示機能、及び不整合表示機能について、図２〜図２４を参照し、順次詳細に説明する。
【００３６】
図２〜図２４は、本実施形態によるプロトコルシーケンスの表示例を示す図である。これら表示例においては、パケットを送受する二つの通信装置の名称をホストＡとホストＢとする。また、矢印線の始点側の通信装置がパケットの送信装置を示し、終点側の通信装置がパケットの受信装置を示す。また、最大セグメント長（mss；Maximum Segment Size）が１００の場合である。また、ＤＴ［］の表記はデータパケットのイベントを示し、［］内の数字が当該イベントに対応するデータパケットのシーケンス番号を示す。また、ＡＣＫ［］の表記はＡＣＫパケット（応答確認パケット）のイベントを示し、［］内の数字が当該イベントに対応するＡＣＫパケットの応答確認番号を示す。また、（）内の数字がまとめたイベント数を示す。
【００３７】
初めに、圧縮判定部１１の圧縮判定処理とプロトコルシーケンス表示部７の圧縮表示機能について説明する。
ＴＣＰによるパケット通信では、さまざまな状況において同じタイプ（つまりヘッダ内フラグビットが同一）のパケットが送出される。このため、パケットがどのような原因で送出されたかを判断することは難しい。そこで、前後のパケットのタイプや、シーケンス番号などのパラメータを用いて、ＴＣＰ手順上の特定状況毎にプロトコル手順上同種別と考えられるパケットを判別する。そして、その同種別の複数のパケットを１つにまとめる（圧縮する）。以下、この圧縮表示１，２について順次説明する。
【００３８】
＜圧縮表示１＞
圧縮表示１では、プロトコル手順上同種別と考えられる、複数のＤＴパケットを１つにまとめる。あるいは、複数のＡＣＫパケットを１つにまとめる。
圧縮判定部１１は、連続したシーケンス番号のＤＴパケットが連続して送信あるいは受信された場合に圧縮可能と判定する。ＡＣＫパケットについても同様に連続して送信あるいは受信された場合に圧縮可能と判定する。
【００３９】
ただし、対象となるＤＴパケットが全て同種別の場合のみ圧縮可能とする。ＡＣＫパケットも同様に全て同種別の場合のみ圧縮可能とする。例えば、タイムアウト再送を表すＤＴ（表記「ＴｏＲｅｔＤＴ」）と正常なＤＴ（表記「ＤＴ」）が連続している場合には、それらは同種別ではないので圧縮不可とする。同様に、パケット紛失を通知するＡＣＫ（表記「ＤｕｐＡＣＫ」）と正常な応答確認を通知するＡＣＫ（表記「ＡＣＫ」）が連続している場合には、それらは同種別ではないので圧縮不可とする。
【００４０】
次いで、圧縮判定部１１は、圧縮可能な複数パケットのイベントを一つにまとめることが可能（圧縮可能）なことを、イベントシーケンス記憶部３に記録する。
プロトコルシーケンス表示部７は、圧縮可能なイベントを圧縮してプロトコルシーケンスを表示する。ここで、一つのパケットについて、送信側、受信側の双方を圧縮して表示するようにしてもよく、あるいはいずれか一方のみを圧縮するようにしてもよい。ただし、途中に他種別のパケットのイベントが存在する場合は圧縮不可とする。
図２，図３に圧縮表示１によるプロトコルシーケンス表示例を示す。図２，図３では、圧縮前後の表示をそれぞれ示している。
【００４１】
＜圧縮表示２＞
圧縮表示２では、ＡＣＫパケットのやり取りとイベントの表示を省略する。上記圧縮表示１で得られるプロトコルシーケンスは、正常シーケンス（データの転送が正常に行われている部分）と異常シーケンス（データ転送中に再送などの異常な手順が含まれている部分）とが同程度の比率で圧縮されている。しかしながら、作業者が通信手順の詳細解析を行う場合、異常シーケンスを中心に解析する場合が多い。そこで、正常なＡＣＫパケットのやり取りとイベントをプロトコルシーケンス上から削除して、正常シーケンスを簡略化する。この結果として、異常シーケンス部分が正常シーケンス部分とは対照的に大きく表示させることになる。これにより、異常シーケンスの解析がしやすくなる。
【００４２】
圧縮判定部１１は、正常なＡＣＫパケットについて、その旨をイベントシーケンス記憶部３に記録する。プロトコルシーケンス表示部７は、正常なＡＣＫパケットのイベントをプロトコルシーケンス上に表示しない。ただし、ここでいう正常なＡＣＫパケットとは、以下の条件１−１〜３を全て満足するパケットのことであると定義する。
条件１−１：パケット種別が「ＡＣＫ」と判断されたパケットである。
条件１−２：ＴＣＰの状態が「ESTABLISHIED」の場合に送受信されたパケットである。
条件１−３：幅輳制御状態が「Slow Start and Congestion Avoidance」の場合に送受信されたパケットである。
【００４３】
なお、圧縮判定部１１は、正常なＡＣＫパケットのイベントを非表示とした場合、当該ＡＣＫパケットが存在しないと仮定し、これにより前後のＤＴパケットのイベントが上記圧縮表示１の圧縮判定条件を満足する場合には、上記圧縮表示１の圧縮方法に従ってそれらを圧縮可能とする。
図４に、圧縮表示２によるプロトコルシーケンス表示例について圧縮前後の表示をそれぞれ示す。
【００４４】
上述した圧縮表示１，２により、通信手順の解析に支障を与えることなく、パケットのやり取りを示す情報量を減らして、プロトコルシーケンスの表示を簡潔にすることができる。例えば、図２６の従来のプロトコルシーケンスの表示が、上記圧縮表示１の適用により図１９に示すように簡略化される。さらに上記圧縮表示２の適用により、図２０に示すようにより一層、プロトコルシーケンスの表示が簡略化される。さらに、通信手順の解析に必要な情報については損なわれることなく表示されている。このように本実施形態によれば、通信手順の解析に必要な情報を表示し、且つ、プロトコルシーケンスが簡潔に表示されるので、通信手順の解析作業の能率を向上することができるという効果が得られる。
【００４５】
次に、関連づけ判定部１２の関連づけ判定処理とプロトコルシーケンス表示部７の関連づけ表示機能について説明する。
関連づけ判定部１２は、イベントシーケンス記憶部３に受信パケットとして記録されているパケットに対応する送信パケットを検索する。この送信パケットは、当該受信パケットの受信後に、該受信装置がＴＣＰの手順として送信することが期待されるものである。次いで、関連づけ判定部１２は、該当する送信パケットがあれば、この送信パケットのイベントと当該受信パケットのイベントとの関連づけをイベントシーケンス記憶部３に記録する。
プロトコルシーケンス表示部７は、関連づけられている複数イベントについて、関連づけを示すようにプロトコルシーケンス上に表記する。
【００４６】
関連づけ判定部１２は、以下の関連づけ判定条件２−１〜３に従って関連づけ可能か否かを判定する。
条件２−１：関連づけの対象となる送信パケットは、受信装置が受信パケットを受信してから、所定時間内に送信したと推定される最初の送信パケットである。この所定時間は、受信装置の処理時間を考慮して決定し、予め設定する。
【００４７】
条件２−２：受信パケットと送信パケットの間に因果関係がある場合に、それらパケットについての対応づけを行う。次の場合１−１は、因果関係があると判断する。
場合１−１：通信手順上、パケット受信が契機となり、パケット送信が行われる場合。
【００４８】
また、次の場合２−１，２は、因果関係がないと判断する。
場合２−１：「Delayed ACK」のように、パケット受信後に、タイマが設定され、タイマ時間満了時に、パケットを送出する場合。
場合２−２：受信ＡＣＫパケットに対する送信ＤＴパケットのように、上位アプリケーションからのデータ送信要求があるという条件で、パケットが送信される場合。
【００４９】
なお、以下のいずれの条件３−１〜４にも該当しないＡＣＫパケットを、「Delayed ACK」と判断する。
条件３−１：パケット種別が「ＡＣＫ」と異なるＡＣＫパケット。
条件３−２：２つ連続した受信ＤＴパケットに対応するＡＣＫパケット。
条件３−３：シーケンス番号が連続していない受信ＤＴパケット（例えば、抜けたデータ範囲が埋まったときの受信ＤＴパケットがこれに該当する）に対応するＡＣＫパケット。
条件３−４：パケット種別が「ＳＹＮ」、「ＳＹＮ＋ＡＣＫ」、「ＦＩＮ」のいずれかであるパケットに対応するＡＣＫパケット。
【００５０】
なお、上記条件２−２に従って、関連づけ可能な受信パケットと送信パケットの組合せの一覧を、関連づけリストとして記録しておくようにしてもよい。これにより、関連づけ可能な受信パケットと送信パケットの組合せを容易に判別することができる。関連づけリストの具体的な内容については後述する。
図５に、条件２−２に基づいて関連づけを行ったプロトコルシーケンス表示例について関連づけ前後の表示をそれぞれ示す。
【００５１】
条件２−３：オリジナルのＤＴパケットと再送ＤＴパケットを関連づける。図６に、条件２−３に基づいて関連づけを行ったプロトコルシーケンス表示例を示す。
【００５２】
なお、上記条件２−２に基づいて関連づけを行った後、この関連づけられた受信パケットと送信パケットの組合せと同じ組合せのものが連続する場合には、それらをさらに圧縮するようにしてもよい。図７に、条件２−２に基づいて関連づけを行った後に、圧縮したプロトコルシーケンス表示例を、関連づけ前後、および圧縮前後の表示をそれぞれ示す。
【００５３】
上述した関連づけ表示により、ＴＣＰで意義のある関連づけがプロトコルシーケンス上に表記されるので、通信手順の解析作業の能率向上に寄与する情報を表示することができるという効果が得られる。これにより、作業者の解析作業にかかる負担を軽減することが可能となる。なお、図２１に、上記図２０のプロトコルシーケンス表示（圧縮表示１と２適用）にさらに関連づけ表示を適用したものを示す。
【００５４】
次に、不整合判定部１３の不整合判定処理とプロトコルシーケンス表示部７の不整合表示機能について説明する。
ＴＣＰの手順に従って通信装置（ホストＡ，Ｂ）が送受信すると期待されるパケットと、通信回線上でモニタされたパケットとが異なる場合がある。不整合判定部１３は、このＴＣＰ上の不整合を検出してその要因を判別し、判別結果の不整合要因の種別をイベントシーケンス記憶部３の該当イベントに対応付けて記録する。
プロトコルシーケンス表示部７は、不整合要因の種別を該当イベントに対応付けてプロトコルシーケンス上に表記する。
【００５５】
不整合の要因としては、（a）モニタの取りこぼし、（b）送信側ホストとモニタ間の通信ネットワーク内でのパケット紛失、（c）モニタと受信側ホスト間の通信ネットワーク内でのパケット紛失、（d）送信側ホストとモニタ間の通信ネットワーク内でのパケット重複、（e）モニタと受信側ホスト間の通信ネットワーク内でのパケット重複、（f）送信側ホストとモニタ間の通信ネットワーク内でのパケット順序入れ替わり、（g）受信側ホストとモニタ間の通信ネットワーク内でのパケット順序入れ替わり、などがある。不整合判定部１３は、これら不整合要因のいずれの要因によって不整合が発生したかを判定し、該当の不整合要因種別（a）〜（g）をイベントシーケンス記憶部３の該当イベントに対応付けて記録する。
【００５６】
なお、実際には、上記不整合要因（a）〜（g）の内、複数の組み合わせの事象が起きる場合が考えられる。しかしながら、いずれの組み合わせが発生したのかを特定することは容易ではないので、その判別までは行わない。また、ＴＣＰ上の不整合を検出してプロトコルシーケンス上に表示することにより、作業者に対してモニタしたＴＣＰシーケンスの異常を通知することができるので、不整合の要因を詳細に分析しなくても特に問題はない。
【００５７】
以下に、不整合判定部１３が用いる不整合判定条件４−１〜Ｆを示す。
条件４−１：第１の受信ＤＴパケット検出時に、この第１の受信ＤＴパケットのシーケンス番号Ａが１つ前の受信ＤＴパケットの「シーケンス番号Ｂ＋ＬＥＮ（ＬＥＮの値は内部変数rcv_nxtに格納される）」の値よりも大きい、且つ、ＡＣＫパケットの応答確認番号により確認されている値（この値は内部変数rcv_unaに格納される）よりも大きいシーケンス番号Ｃの受信ＤＴパケット以降に、内部変数rcv_nxtから該シーケンス番号Ｃまでの範囲のシーケンス番号Ｄの受信ＤＴパケットがない、且つ、最初の送信ＡＣＫパケットが正常なＡＣＫパケットである。
【００５８】
上記条件４−１を満足する場合には、その第１の受信ＤＴパケットの前のｎ個（ただし、ｎ=（シーケンス番号Ａ−rcv_nxt）/mss）のパケットについては、上記不整合要因種別（a）による不整合のパケットであると判断する。図８に不整合要因種別（a）の表示例を示す。
【００５９】
条件４−２：この条件４−２が有効となるのは、以下の条件４−２−１を満足し、且つ、付加条件４−２−１−１〜３のいずれかを満足する場合である。
【００６０】
条件４−２−１：第１の受信ＤＴパケット検出時に、この第１の受信ＤＴパケットのシーケンス番号Ａが１つ前の受信ＤＴパケットの「シーケンス番号Ｂ＋ＬＥＮ（ＬＥＮの値は内部変数rcv_nxtに格納される）」よりも大きい、且つ、ＡＣＫパケットの応答確認番号により確認されている値（この値は内部変数rcv_unaに格納される）よりも大きいシーケンス番号Ｃの受信ＤＴパケット以降の最初の送信ＡＣＫパケットが「ＤｕｐＡＣＫ」あるいは「ＳＡＣＫ」である。
【００６１】
付加条件４−２−１−１：送信ＡＣＫパケットの応答確認番号が内部変数rcv_nxtと等しい。
上記条件４−２−１と付加条件４−２−１−１を満足する場合には、第１の受信ＤＴパケットの前のｎ個（ただし、ｎ=（シーケンス番号Ａ−rcv_nxt）/mss）のパケットについては、上記不整合要因種別（b）による不整合のパケットであると判断する。図９に不整合要因種別（b）の表示例を示す。
【００６２】
付加条件４−２−１−２：送信ＡＣＫパケットの応答確認番号が内部変数rcv_nxtよりも大きい。
上記条件４−２−１と付加条件４−２−１−２を満足する場合には、第１の受信ＤＴパケットの前のｎ個（ただし、n=（rcv_nxt−応答確認番号）/mss）のパケットについては不整合要因種別（a）であると判断する。また、第１の受信ＤＴパケットの前のｍ個（ただし、ｍ＝（応答確認番号−シーケンス番号Ａ)/mss）のパケットについては不整合要因種別（b）と判断する。この場合の表示例を図１０に示す。
【００６３】
付加条件４−２−１−３：送信ＡＣＫパケットの応答確認番号が内部変数rcv_nxtよりも小さい。
上記条件４−２−１と付加条件４−２−１−３を満足する場合には、第１の受信ＤＴパケットの前のｎ個（ただし、n=（rcv_nxt−応答確認番号）/mss）のパケットは不整合要因種別（c）であると判断する。また、第１の受信ＤＴパケットの前のｍ個（ただし、ｍ＝（シーケンス番号Ａ−rcv_nxt）/mss）のパケットは不整合要因種別（b）であると判断する。この場合の表示例を図１１に示す。
【００６４】
条件４−３：この条件４−３が有効となるのは、以下の条件４−３−１を満足し、且つ、付加条件４−３−１−１，２のいずれかを満足する場合である。
【００６５】
条件４−３−１：第１の受信ＤＴパケット検出時に、この第１の受信ＤＴパケットのシーケンス番号Ａが１つ前の受信ＤＴパケットの「シーケンス番号Ｂ＋ＬＥＮ（ＬＥＮの値は内部変数rcv_nxtに格納される）」の値に等しい、且つ、その第１の受信ＤＴパケット以降の最初の送信ＡＣＫパケットが「ＤｕｐＡＣＫ」あるいは「ＳＡＣＫ」である。
【００６６】
付加条件４−３−１−１：第１の受信ＤＴパケット以降の最初の送信ＡＣＫパケットが「ＤｕｐＡＣＫ」である場合に、以降のイベントシーケンスにおいて、その「ＤｕｐＡＣＫ」の応答確認番号と同じシーケンス番号を持つ受信ＤＴパケットがない。
上記条件４−３−１と付加条件４−３−１−１を満足する場合には、不整合要因種別（g）と判断する。この場合の表示例を図１２に示す。
【００６７】
付加条件４−３−１−２：上記付加条件４−３−１−１に該当しない場合。
上記条件４−３−１と付加条件４−３−１−２を満足する場合には、不整合要因種別（c）と判断する。この場合の表示例を図１３に示す。
【００６８】
条件４−４：第１の受信ＤＴパケット検出時に、この第１の受信ＤＴパケットのシーケンス番号Ａが１つ前の受信ＤＴパケットの「シーケンス番号Ｂ＋ＬＥＮ（このＬＥＮの値は内郭変数rcv_nxtに格納される）」の値よりも大きい、且つ、ＡＣＫパケットの応答確認番号により確認されている値（この値は内部変数rcv_unaに格納される）よりも大きいシーケンス番号Ｃの受信ＤＴパケット以降に、内部変数rcv_nxtからシーケンス番号Ｃまでの範囲のシーケンス番号Ｄの受信ＤＴパケットがある。
【００６９】
上記条件４−４を満足する場合には、不整合要因種別（f）と判断する。この場合の表示例を図１４に示す。
【００７０】
条件４−５：この条件４−５が有効となるのは、以下の条件４−５−１を満足し、且つ、付加条件４−５−１−１，２のいずれかを満足する場合である。
【００７１】
条件４−５−１：第１の受信ＡＣＫパケットを検出し、その種別が「ＤＳＡＣＫ」である。
【００７２】
付加条件４−５−１−１：第１の受信ＡＣＫパケットが、再送でないＤＴパケットに対応するものである。
上記条件４−５−１と付加条件４−５−１−１を満足する場合には、不整合要因種別（e）と判断する。この場合の表示例を図１５に示す。この図１５においてＤＳＡＣＫ［］の［］内の数字は応答確認番号とＳＡＣＫブロックを示す。
【００７３】
付加条件４−５−１−２：上記付加条件４−５−１−１に該当しない場合。
上記条件４−５−１と付加条件４−５−１−２を満足する場合には、不整合要因種別（d）と判断する。この場合の表示例を図１６に示す。
【００７４】
なお、上述した不整合表示と、上記圧縮表示１または２を組み合わせるようにしてもよい。この場合、送信側通信装置においては、不整合であるか否かに関わらず、また、不整合要因種別に関わらず、圧縮が可能である。
他方、受信側通信装置においては、不整合と判断されたパケットと、不整合でないパケットを圧縮することはできない。また、不整合と判断されたパケット同士については、不整合要因種別が同じものに限り圧縮可能とする。この場合の表示例を図１７に示す。
【００７５】
また、上述した不整合表示と、上記関連づけ表示を組み合わせるようにしてもよい。ただし、不整合要因種別（b），（c）に該当するパケツトについては、関連づけを行わない。
【００７６】
また、上記条件２−３による関連づけ表示を行う際に、オリジナルのＤＴパケットまたは再送ＤＴパケットが、いずれかの不整合要因種別に該当する場合、上記不整合表示を組み合わせて行う。この場合の表示例を図１８に示す。
【００７７】
上述した不整合表示により、ＴＣＰ上の不整合がその要因種別とともに該当イベントに対応付けてプロトコルシーケンス上に表記されるので、作業者に対してプロトコルシーケンスの異常を通知することができる。これにより、通信手順の解析作業の能率を向上することができる。
【００７８】
なお、図２２に、図２６の従来のプロトコルシーケンスの表示に対して上記不整合表示を適用したものを示す。また、図２３に、図２２のプロトコルシーケンス表示（不整合表示適用）にさらに圧縮表示１，２を適用したものを示す。また、図２４に、図２２のプロトコルシーケンス表示（不整合表示，圧縮表示１，２適用）にさらに関連づけ表示を適用したものを示す。このように、上記圧縮表示１，２、関連づけ表示、及び不整合表示を適宜組み合わせて用いるようにすれば、プロトコルシーケンスの表示を簡潔にし、または、通信手順の解析の能率向上に寄与する情報（関連づけ表記、不整合要因種別）を表示し、または、プロトコルシーケンスの異常を通知することができるので、通信手順解析時の状況に応じて作業の能率を向上させることができるという優れた効果が得られる。
【００７９】
次に、上記図１に示す内部状態解析部４が行う状態解析処理について説明する。内部状態解析部４は、イベントシーケンス記憶部３のイベントシーケンスに基づいてＴＣＰのプロトコル手順を追随し、これにより通信当事者双方の通信装置の内部状態を推定し、この推定結果を内部状態解析結果記憶部５に記録する。そして、内部状態を推定するために、通信当事者双方の通信装置内のＴＣＰ状態を管理する。
【００８０】
ＴＣＰ状態としては、「CONNECTING（コネクション確立中）」、「ESTABLISHED（データ転送可能）」、及び「RELEASING（コネクション解放中）」があり、これらを管理する。また、ＴＣＰ状態は通信装置毎に管理する。また、管理する状態の数は、ＴＣＰのプロトコル仕様（RFC793）で定義される状態の数よりも少ない。
【００８１】
本実施形態におけるＴＣＰ状態管理方法を以下に示す。
ＴＣＰ状態は、先ず「CONNECTING」で始まる。次いで、受信「ＳＹＮ＋ＡＣＫ」パケットおよび送信ＡＣＫパケットを検出すると、あるいは、受信ＳＹＮパケットおよび送信「ＳＹＮ＋ＡＣＫ」パケットおよび受信ＡＣＫパケットを検出すると、「ESTABLISHED」に遷移する。次いで、受信あるいは送信のＦＩＮパケットあるいはＲＳＴパケットを検出すると、「RELEASING」に遷移する。
【００８２】
また、内部状態解析部４は、通信当事者双方の通信装置内の輻輳制御状態を管理する。
輻輳制御状態としては、「Slow Start and Congestion Avoidance」と「Fast Retransmit and Fast Recovery」があり、これらを管理する。本実施形態における輻輳制御状態管理方法を以下に示す。
【００８３】
輻輳制御状態は、先ず、「Slow Start and Congestion Avoidance」で始まる。次いで、送信ＦａＲｅｔＤＴパケット、あるいは、受信ＦａＲｅｔＤＴパケットを検出すると、「Fast Retransmit and Fast Recovery」に遷移する。ここで、これまでに送信あるいは受信した最大シーケンス番号（snd_max）を保持する。次いで、最大シーケンス番号（snd_max）を確認する受信あるいは送信ＡＣＫパケットを検出すると、「Slow Startand Congestion Avoidance」に遷移する。
【００８４】
次に、上記図１に示すプロトコルシーケンス推定部６が行うイベントシーケンス管理処理について説明する。プロトコルシーケンス推定部６は、上記圧縮表示、関連づけ表示、及び不整合表示を実現するために、イベントシーケンスの管理を行う。本実施形態におけるイベントシーケンス管理方法を以下に示す。
【００８５】
先ず、不整合を検出すると、この不整合の要因種別毎に、イベントシーケンスを更新する。この更新処理において、不整合要因種別（a），（b），（e）の場合にはイベントの挿入と不整合フラグの設定を行う。また、不整合要因種別（c），（d）の場合にはイベントヘの不整合フラグの設定を行う。また、不整合要因種別（f），（g）の場合にはイベントの入れ替えを行う。
【００８６】
また、圧縮表示１および２を実現するために、それぞれの圧縮を行った場合のイベントの位置を、オリジナルのイベント位置とともに記録し管理する。
【００８７】
また、関連づけ表示を実現するために、圧縮表示１と関連づけ表示を行った場合のイベントの位置を、オリジナルのイベント位置とともに記録し管理する。同様に、圧縮表示２と関連づけ表示を行った場合のイベントの位置を、オリジナルのイベント位置とともに記録し管理する。
【００８８】
次に、図１に示すプロトコルシーケンス解析装置で扱うパケットの種別を説明する。なお、既に上記したパケットの種別も以下に示す内容に基づいている。また、プロトコルシーケンスの表示にもこの種別を使用する。また、パケットの種別の一覧をパケット種別リストとして記録しておくようにしてもよい。これにより、プロトコルシーケンスの表示データを生成する際に、容易にパケット種別を検索することができる。
【００８９】
パケット種別は、パケットのタイプとパラメータにより判別する。
初めに、パケットタイプだけで判別可能なものを示す。「」内が種別名、：以降の説明が判別方法である。
「ＳＹＮ」：ＳＹＮフラグビットがＯＮ且つＡＣＫフラグビットがＯＦＦのパケット。
「ＳＹＮ＋ＡＣＫ」：ＳＹＮフラグビットがＯＮ且つＡＣＫフラグビットがＯＮのパケット。
「ＦＩＮ」：ＦＩＮフラグビットがＯＮ且つＡＣＫフラグビットがＯＮのパケット。
「ＲＳＴ」：ＲＳＴフラグビットがＯＮのパケット。
【００９０】
次に、ＡＣＫフラグビットがＯＮ、且つユーザデータを含むＤＴパケットの種別を説明する。なお、これら種別は従来技術として知られている方法で判別することができる。
「ＤＴ」：再送でないＤＴパケット。
「ＴｏＲｅｔＤＴ（Timeout Retransmit DT）」：タイムアウト再送のＤＴパケット。
「ＦａＲｅｔＤＴ（FastRehansmit DT）」：「Fast Retransmit」による再送のＤＴパケット。
「ＧｂｎＲｅｔＤＴ（Go-back-N Retransmit DT）」：タイムアウト再送後に続けて送り直したＤＴパケット。
「ＳａＲｅｔＤＴ（SACK Retransmit DT）」：ＳＡＣＫパケットに従い、必要なものだけを選択的に送りなおしたＤＴパケット。
【００９１】
次に、ＡＣＫフラグビットがＯＮ、且つユーザデータを含まないＡＣＫパケットの種別を説明する。なお、これら種別は従来技術として知られている方法で判別することができる。
「ＡＣＫ」：新しいデータを確認するＡＣＫパケットと、ウインドウを更新するＡＣＫパケットが該当する。
「ＤｕｐＡＣＫ」（Duplicate ACK）」：応答確認番号とウインドウ長が前回のＡＣＫパケットと同じＡＣＫパケット。
「ＳＡＣＫ（Selective ACK）」：ＳＡＣＫオプションを含むＡＣＫパケットの内、ＳＡＣＫオプションの最初のブロックのシーケンス番号の始まりが応答確認番号よりも大きいパケット。このＳＡＣＫパケットは順番違いのデータを受信したことを通知するために使用される。
「ＤＳＡＣＫ（Duplicate SACK）」：ＳＡＣＫオプションを含むＡＣＫパケットの内、ＳＡＣＫオプションの最初のブロックのシーケンス番号の始まりが応答確認番号よりも小さいパケット。このＤＳＡＣＫパケットは既に受信したデータを再び受信したことを通知するために使用される。
【００９２】
次に、上記関連づけリストの具体的な内容（関連づけの組合せ１〜１６）を示す。受信パケット種別／送信パケット種別の形式で表記する。
組合せ１：ＳＹＮ／ＳＹＮ＋ＡＣＫ
組合せ２：ＳＹＮ＋ＡＣＫ／ＡＣＫ
組合せ３：ＤＴ（２）／ＡＣＫ
組合せ４：ＤＴ／ＡＣＫ（ただし、ＤＴが順番通りの場合は除く）
組合せ５：｛いずれかのRetDT｝／ＡＣＫ
組合せ６：ＤＴ／ＤｕｐＡＣＫ
組合せ７：ＤＴ／ＳＡＣＫ
組合せ８：ＤＴ／ＤＳＡＣＫ
組合せ９：｛いずれかのRetDT｝／ＤｕｐＡＣＫ
組合せ１０：｛いずれかのRetDT｝／ＳＡＣＫ
組合せ１１：｛いずれかのRetDT｝／ＤＳＡＣＫ
組合せ１２：ＤｕｐＡＣＫ（３）／FaRetDT
組合せ１３：ＤｕｐＡＣＫ／ＤＴ（ただし、「Fast Retransmit and Fast Recovery」中のみ）
組合せ１４：ＳＡＣＫ／ＤＴ（ただし、「Fast Retransmit and Fast Recovery」中のみ）
組合せ１５：ＳＡＣＫ／SaRetDT（ただし、「Fast Retransmit and Fast Recovery」中のみ）
組合せ１６：ＦＩＮ／ＡＣＫ
【００９３】
なお、上述した実施形態においては、プロトコルシーケンス解析装置が表示手段を備え、プロトコルシーケンスの表示データを生成して表示するようにしたが、プロトコルシーケンス解析装置はプロトコルシーケンスを出力（表示、印字等）するための出力データを生成して出力するものであってもよい。この場合には、外部の出力装置（表示装置、印字装置等）と接続してプロトコルシーケンスを出力するようにすればよい。
【００９４】
また、図１に示すプロトコルシーケンス解析装置が行う各処理を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりプロトコルシーケンス出力データ生成処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００９５】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００９６】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００９７】
【発明の効果】
以上説明したように、本発明によれば、複数パケットを圧縮可能か否かを判定し、この判定結果に基づいて複数パケットのやり取りをまとめるようにしたので、通信手順の解析に支障を与えることなく、パケットのやり取りを示す情報量を減らして、プロトコルシーケンスの表示を簡潔にすることができるという効果が得られる。
【００９８】
また、本発明によれば、通信装置への入力パケットまたは通信装置からの出力パケットの内、複数のパケットを関連づけることが可能か否かを判定し、この判定結果に基づいて関連づけを示す表記をプロトコルシーケンス上に出力させるようにしたので、通信手順の解析作業の能率向上に寄与する情報を表示することができるという効果が得られる。
【００９９】
また、本発明によれば、プロトコルシーケンスの中に、イベントのシーケンスと通信装置のプロトコル手順の間の不整合があるか否かを判定し、この判定結果に基づいて不整合を示す表記をプロトコルシーケンス上に出力させるようにしたので、プロトコルシーケンスの異常を通知することができるという効果が得られる。
【図面の簡単な説明】
【図１】  本発明の一実施形態によるプロトコルシーケンス解析装置の構成を示すブロック図である。
【図２】  圧縮表示によるプロトコルシーケンス表示例を示す第１の図である。
【図３】  圧縮表示によるプロトコルシーケンス表示例を示す第２の図である。
【図４】  圧縮表示によるプロトコルシーケンス表示例を示す第３の図である。
【図５】  関連づけ表示によるプロトコルシーケンス表示例を示す第１の図である。
【図６】  関連づけ表示によるプロトコルシーケンス表示例を示す第２の図である。
【図７】  圧縮表示と関連づけ表示を組み合わせたプロトコルシーケンス表示例を示す第１の図である。
【図８】  不整合表示によるプロトコルシーケンス表示例を示す第１の図である。
【図９】  不整合表示によるプロトコルシーケンス表示例を示す第２の図である。
【図１０】  不整合表示によるプロトコルシーケンス表示例を示す第３の図である。
【図１１】  不整合表示によるプロトコルシーケンス表示例を示す第４の図である。
【図１２】  不整合表示によるプロトコルシーケンス表示例を示す第５の図である。
【図１３】  不整合表示によるプロトコルシーケンス表示例を示す第６の図である。
【図１４】  不整合表示によるプロトコルシーケンス表示例を示す第７の図である。
【図１５】  不整合表示によるプロトコルシーケンス表示例を示す第８の図である。
【図１６】  不整合表示によるプロトコルシーケンス表示例を示す第９の図である。
【図１７】  不整合表示と圧縮表示を組み合わせたプロトコルシーケンス表示例を示す第１の図である。
【図１８】  不整合表示と関連づけ表示を組み合わせたプロトコルシーケンス表示例を示す図である。
【図１９】  圧縮表示によるプロトコルシーケンス表示例を示す第４の図である。
【図２０】  圧縮表示によるプロトコルシーケンス表示例を示す第５の図である。
【図２１】  圧縮表示と関連づけ表示を組み合わせたプロトコルシーケンス表示例を示す第２の図である。
【図２２】  不整合表示によるプロトコルシーケンス表示例を示す第１０の図である。
【図２３】  不整合表示と圧縮表示を組み合わせたプロトコルシーケンス表示例を示す第２の図である。
【図２４】  不整合表示と圧縮表示と関連づけ表示を組み合わせたプロトコルシーケンス表示例を示す図である。
【図２５】  従来のプロトコルシーケンス表示例を示す第１の図である。
【図２６】  従来のプロトコルシーケンス表示例を示す第２の図である。
【符号の説明】
１…パケット収集部、２…イベントシーケンス作成部、３…イベントシーケンス記憶部、４…内部状態解析部、５…内部状態解析結果記憶部、６…プロトコルシーケンス推定部、７…プロトコルシーケンス表示部、１１…圧縮判定部、１２…関連づけ判定部、１３…不整合判定部
【図１】
0003819309.tif 000002
【図２】
0003819309.tif 000003
【図３】
0003819309.tif 000004
【図４】
0003819309.tif 000005
【図５】
0003819309.tif 000006
【図６】
0003819309.tif 000007
【図７】
0003819309.tif 000008
【図８】
0003819309.tif 000009
【図９】
0003819309.tif 000010
【図１０】
0003819309.tif 000011
【図１１】
0003819309.tif 000012
【図１２】
0003819309.tif 000013
【図１３】
0003819309.tif 000014
【図１４】
0003819309.tif 000015
【図１５】
0003819309.tif 000016
【図１６】
0003819309.tif 000017
【図１７】
0003819309.tif 000018
【図１８】
0003819309.tif 000019
【図１９】
0003819309.tif 000020
【図２０】
0003819309.tif 000021
【図２１】
0003819309.tif 000022
【図２２】
0003819309.tif 000023
【図２３】
0003819309.tif 000024
【図２４】
0003819309.tif 000025
【図２５】
0003819309.tif 000026
【図２６】
0003819309.tif 000027