(57)【要約】【課題】ネットワーク通信システムの導通確認技術に関し、データパケットとＡＣＫパケットの対応関係がとれないパケットシーケンスにおいても、疎通及び不通確認を行えるようにする。【解決手段】入力部１０１は、ネットワーク上を流れるパケットを受信する。パケット情報取得部１０２−１は、受信パケットから、送信元アドレス情報、宛先アドレス情報、順序制御情報（シーケンス番号）、及び承認応答情報（ＡＣＫフラグ、確認応答番号）を含むパケット情報を取得する。不通・疎通検出部１０２−２は、そのパケット情報に基づいて、受信パケットの送信元のホストと宛先のホストの間の不通又は疎通を含む導通状態を検出する。順序制御情報の変化傾向と承認応答情報を組み合わせることにより、受信パケットの送信元のホストと自装置間又は自装置と受信パケットの宛先のホスト間の何れにおいて不通が発生したかを検出する。出力部１０４は、その導通状態を出力する。【選択図】図１
2010119053.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上を流れるパケットデータの導通状態を検出するための不通検出装置であって、
前記ネットワーク上を流れるパケットを受信する入力部と、
該入力部により受信される受信パケットから、該受信パケットの送信元アドレス情報、宛先アドレス情報、順序制御情報、及び承認応答情報を含むパケット情報を取得するパケット情報取得部と、
該パケット情報に基づいて、前記受信パケットの送信元のホストと宛先のホストの間の不通又は疎通を含む導通状態を検出する不通・疎通検出部と、
該導通状態を出力する出力部と、
を含むことを特徴とする不通検出装置。
【請求項２】
前記不通・疎通検出部は、前記受信パケットの順序制御情報の変化傾向を検出することにより、前記受信パケットの送信元のホストと宛先のホストの間の不通又は疎通を含む導通状態を検出する、
ことを特徴とする請求項１に記載の不通検出装置。
【請求項３】
前記不通・疎通検出部は、前記受信パケットの承認応答情報を更に判定することにより、前記受信パケットの送信元のホストと自装置間又は自装置と前記受信パケットの宛先のホスト間の何れにおいて不通が発生したかを検出する、
ことを特徴とする請求項２に記載の不通検出装置。
【請求項４】
ネットワーク上を流れるパケットデータの導通状態を検出するための不通検出方法であって、
前記ネットワーク上を流れるパケットを受信する入力ステップと、
該入力部により受信される受信パケットから、該受信パケットの送信元アドレス情報、宛先アドレス情報、順序制御情報、及び承認応答情報を含むパケット情報を取得するパケット情報取得ステップと、
該パケット情報に基づいて、前記受信パケットの送信元のホストと宛先のホストの間の不通又は疎通を含む導通状態を検出する不通・疎通検出ステップと、
該導通状態を出力する出力ステップと、
を含むことを特徴とする不通検出方法。
【請求項５】
ネットワーク上を流れるパケットデータの導通状態を検出するためのコンピュータに、
前記ネットワーク上を流れるパケットを受信する入力ステップと、
該入力部により受信される受信パケットから、該受信パケットの送信元アドレス情報、宛先アドレス情報、順序制御情報、及び承認応答情報を含むパケット情報を取得するパケット情報取得ステップと、
該パケット情報に基づいて、前記受信パケットの送信元のホストと宛先のホストの間の不通又は疎通を含む導通状態を検出する不通・疎通検出ステップと、
該導通状態を出力する出力ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示する技術は、ネットワーク通信システムの導通確認技術に関する。
【背景技術】
【０００２】
ＩＰネットワークにおける疎通確認にはｐｉｎｇコマンドがよく利用される。ｐｉｎｇでは、検査対象のホストに対してＩＣＭＰ  ＥＣｈｏリクエストと呼ばれる応答要求パケットが送信され、それに応答するＩＣＭＰ  ＥＣｈｏリプライが受信されれば、検査対象のホストは疎通していると判断できる。
【０００３】
これに対して、データ通信で広く使われるＴＣＰ（トランスミッションコントロールプロトコール：Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を使っても同等の疎通確認が可能である。具体的には検査対象のホストに対して１バイト以上のデータパケットが送信され、これに対する承認応答情報が格納されるＡＣＫ（ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）パケットが応答されれば、対象ホストを含めた通信経路は疎通していると判断できる。なお、典型的な通信形態では、送信されるデータパケットの２つに対して、１つのＡＣＫパケットが応答される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
今、図１５に示されるように、上述のような疎通確認を目的とする不通検出装置１５０１を、ネットワークの中継地点、即ち、送信ホスト１５０２と受信ホスト１５０３の間に、タップ等の手段を用いて設置することを考える。
【０００５】
この場合、受信ホスト１５０３に対する疎通確認は、データパケットＤＡＴＡ１，ＤＡＴＡ２等に対するＡＣＫパケットＡＣＫ２を受信することにより、確認することができる。
【０００６】
一方、送信ホスト１５０２に対する疎通確認において、送信ホスト１５０２から不通検出装置１５０１に向かう方向の疎通については、送信ホスト１５０２からデータパケットＤＡＴＡ１，ＤＡＴＡ２が受信されるため確認できる。しかしながら、不通検出装置１５０１から送信ホスト１５０２に向かう方向の疎通については、受信ホスト１５０３から不通検出装置１５０１を経由して送信ホスト１５０２に向かうＡＣＫ２パケットに対する応答はないため、確認できないという問題点を有していた。なお、送信ホスト１５０２は通常、受信ホスト１５０３からのＡＣＫ２パケットを待たずに、送信データパケットを送信することができる。このため、不通検出装置１５０１が検出する送信データパケットは、ＡＣＫ２パケットに対する応答とはなり得ない。
【０００７】
また、送信ホスト１５０２と受信ホスト１５０３が上りと下りで異なる経路で通信する場合には、１つの経路上の中継地点に置かれた不通検出装置だけでは、受信ホスト１５０３及び送信ホスト１５０２の双方ともに、疎通確認を行えないという問題点を有していた。
【０００８】
そこで、開示する技術の課題は、データパケットとＡＣＫパケットの対応関係がとれないパケットシーケンスにおいても、疎通及び不通確認を行えるようにすることにある。
【課題を解決するための手段】
【０００９】
以下に開示する態様は、ネットワーク上を流れるパケットデータの導通状態を検出する
ための不通検出装置、方法、又はプログラムを前提とする。
入力部は、ネットワーク上を流れるパケットを受信する。
【００１０】
パケット情報取得部は、入力部により受信される受信パケットから、受信パケットの送信元アドレス情報、宛先アドレス情報、順序制御情報（シーケンス番号）、及び承認応答情報（ＡＣＫフラグ、確認応答番号）を含むパケット情報を取得する。
【００１１】
不通・疎通検出部は、そのパケット情報に基づいて、受信パケットの送信元のホストと宛先のホストの間の不通又は疎通を含む導通状態を検出する。この不通・疎通検出部は例えば、受信パケットの順序制御情報の変化傾向を検出することにより、受信パケットの送信元のホストと宛先のホストの間の不通又は疎通を含む導通状態を検出する。また、不通・疎通検出部は例えば、受信パケットの承認応答情報を更に判定することにより、受信パケットの送信元のホストと自装置間又は自装置と受信パケットの宛先のホスト間の何れにおいて不通が発生したかを検出する。
出力部は、その導通状態を出力する。
【発明の効果】
【００１２】
開示した態様の構成によれば、不通検出装置がＴＣＰのようなシーケンス番号をベースに動作するパケットをモニタすることで、上下パケットの経路が違う場合でも、或いは、要求に対する応答パケットが存在しないホストに対しても疎通か不通を判断することが可能となる。
これにより、ネットワークやホストの障害に関する診断精度が向上する効果が得られる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら、最良の実施形態について詳細に説明する。
図１は、不通検出装置の実施形態の構成図である。
不通検出装置１００は、送信ホストと受信ホストを接続するネットワーク上でタップ又はスイッチのモニタポートなど、パケットをモニタする装置を経由してネットワークに接続されており、送信ホストから受信ホストに送信されるパケットをモニタできる。
【００１４】
図１において、処理部１０２は、パケット情報取得部１０２−１と不通・疎通検出部１０２−２を備え、記憶部１０３は、通信状態記憶部１０３−１とモニタ結果記憶部１０３−２を備える。
【００１５】
入力部１０１は、ネットワーク上を流れるパケットを受信する。
パケット情報取得部１０２−１は、受信パケットのＩＰヘッダ及びＴＣＰヘッダから、以下の情報を取得する。即ち、パケット情報取得部１０２−１は、ＴＣＰコネクションＩＤ、即ち、送信元ＩＰアドレス（ＳＡ）、送信元ポート番号（ＳＰ）、宛先ＩＰアドレス（ＤＡ）、宛先ポート番号（ＤＰ）の４つの情報組と、ＴＣＰのシーケンス番号（ＳＥＱ）値を取得する。
【００１６】
図２に示されるように、送信元ＩＰアドレス及び宛先ＩＰアドレスは、受信パケットのＩＰヘッダ部に格納されている情報である。また、送信元ポート番号、宛先ポート番号、及びシーケンス番号は、ＩＰパケットに格納される上位プロトコルのＴＣＰパケット内のＴＣＰヘッダに格納されている情報である。送信元ポート番号は、送信元アプリケーションのプロセスを特定するための番号である。宛先ポート番号は、宛先アプリケーションのプロセスを特定するための番号である。
【００１７】
受信ホストは、ＴＣＰパケットを正常に受信すると、送信ホストへのＡＣＫパケットの返信において、宛先ポート番号と送信元ポート番号を逆に設定する。つまり、元の宛先ポート番号が送信元ポート番号、送信元ポート番号が宛先ポート番号になるように設定される。
【００１８】
シーケンス番号は、ＴＣＰパケットが正しい順番で並ぶように制御するための情報である。シーケンス番号としては、各ＴＣＰパケットのＴＣＰデータ長を順次加算して得られる値が設定される。ＴＣＰデータ長は、各パケットの図２に示されるＩＰヘッダ内のパケット長からヘッダ長を減算した値として計算できる。パケット長は、ヘッダをはじめ一切合切を含めたパケット全体のサイズをオクテット単位で示したものである。
【００１９】
受信ホストは、受信したＴＣＰパケットに問題がなかったときには、送信ホストにＡＣＫパケットを返信する際に、図２に示されるＴＣＰヘッダ内の確認応答番号として、受信したパケットのシーケンス番号に受信したＴＣＰパケット長を加算して得た番号をセットして返信する。また、ＡＣＫパケットにおいては、図２に示されるＴＣＰヘッダ内のコードビットの１つであるＡＣＫフラグがＯＮされる（１がセットされる）。送信ホスは、このＡＣＫフラグがＯＮのパケットを受信すると、そのパケットのＴＣＰヘッダ内の確認応答番号を識別して、ＡＣＫパケットによる承認の対象がどの送信データであるかを確認した後、バッファ内に保持していたその送信データを破棄する。
【００２０】
また、パケット情報取得部１０２−１は、入力部１０１がパケットを取得したときの時刻を、パケット受信時刻として取得する。
パケット情報取得部１０２−１は、上記取得情報を、不通・疎通検出部１０２−２へ通知する。ここで、ＴＣＰコネクションＩＤは、パケットの送受信方向によらず一意である。
【００２１】
不通・疎通検出部１０２−２は、パケット情報取得部１０２−１から通知されたＴＣＰＴＣＰコネクションＩＤをキーに、通信状態記憶部１０３−１に記憶されたコネクションテーブル及び不通・疎通テーブルを検索する。そして、不通・疎通検出部１０２−２は、検索された各テーブルのエントリ内容とパケット情報取得部１０２−１から通知されたパケット情報とに基づいて、コネクションテーブル及び不通・疎通テーブルを更新する。
【００２２】
また、不通・疎通検出部１０２−２は、コネクションテーブル及び不通・疎通テーブルの記録内容から、疎通、不通、無通信を判定し、判定結果をモニタ結果記憶部１０３−２に格納する。
【００２３】
通信状態記憶部１０３−１は、不通・疎通検出部１０２−２での判断結果を記録する。
モニタ結果記憶部１０３−２は、ネットワーク管理者や監視装置に通知するためのモニタ結果を記憶する機能を持ち、例えばＴＣＰコネクション毎の送信パケット数、ロス数、及び送信ホストの遅延時間などを統計情報として記憶する。
【００２４】
出力部１０４は、モニタ結果記憶部１０３−２で保存されている情報の一部若しくは全てを取得して、モニタ結果を出力するインタフェースである。出力部１０４は、ネットワーク管理者に統計情報を表示するための画面表示部であってもよく、或いは、ネットワーク管理装置（ＮＭＳ：Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）に送信するための通信プロトコルをサポートするネットワークインタフェース部であってもよい。
【００２５】
図３は、上述の構成を有する不通検出装置１００を使った実施形態の基本的な動作の説明図である。
本実施形態では、不通検出装置１００が、ＴＣＰのデータパケットとＡＣＫパケットのシーケンス番号をモニタする。
【００２６】
そして、ＴＣＰＴＣＰコネクションＩＤ毎に、受信されるデータパケット又はＡＣＫパケットのシーケンス番号が単調増加していることが検出された時間帯は、そのＴＣＰコネクションに対応する送信ホスト３０１及び受信ホスト３０２の両側の通信は疎通していると判定される。
【００２７】
一方、ＴＣＰＴＣＰコネクションＩＤ毎に、受信されるデータパケット又はＡＣＫパケットのシーケンス番号が重複している時間帯は、そのＴＣＰコネクションの通信は不通であると判定される。
上記以外の時間帯は、そのＴＣＰコネクションの通信は無通信であると判定される。
【００２８】
なお、不通検出装置１００がデータパケットとＡＣＫパケットの両方をモニタできる場合は、上記判定に加えて、不通がどちら側で発生したかを検出できる。
以上の基本動作により、上り下りで別経路を通る箇所に不通検出装置１００が設置されても、或いは、一方向へのデータ送信であっても、正確に正常・不通時間を計測することが可能となる。
【００２９】
以下に、本実施形態の具体的な動作について説明する。
まず、第１の実施形態として、図１に示される不通検出装置１００が、データパケットとＡＣＫパケットの両方をモニタできない場合の動作について説明する。
【００３０】
図４は、第１の実施形態における不通検出装置１００の全体制御動作を示す動作フローチャートである。
図５は、第１の実施形態において通信状態記憶部１０３−１に記憶されるコネクションテーブルの一例を示す図である。同図において、ＴＣＰコネクションＩＤや送信元ＩＰアドレスは、説明を簡単にするために、Ａ、Ｂ、ア、イなどと省略して記述してある。異なる送信元ＩＰアドレスア、イに対して、同一のＴＣＰコネクションＩＤであるＡが割り当てられているが、これは、ＴＣＰコネクションを利用するＩＰアドレスは、送信ホスト３０１と受信ホスト３０２（図３参照）のペアに対応して、常に２つのＩＰアドレスの組合せであるためである。
【００３１】
また、図６は、第１の実施形態において通信状態記憶部１０３−１に記憶される不通・疎通テーブルの一例を示す図である。ＴＣＰコネクションＩＤ毎に、不通時刻と疎通時刻が順次記憶される。
【００３２】
以下、図４の動作フローチャートと、図５及び図６のテーブル構成に従って説明する。
まず、入力部１０１が、パケットを受信する（ステップＳ４０１）。
次に、パケット情報取得部１０２−１は、受信パケットのＩＰヘッダ及びＴＣＰヘッダ内の送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号の４つの情報組から、ＴＣＰコネクションＩＤを作成する。また、パケット情報取得部１０２−１は、ＴＣＰデータ長とＳＥＱを取得する（ステップＳ４０２）。パケット情報取得部１０２−１は、これらの情報を、不通・疎通検出部１０２−２に通知する。
【００３３】
続いて、不通・疎通検出部１０２−２は、ＴＣＰコネクションＩＤが通信状態記憶部１０３−１内のコネクションテーブル（図５参照）に存在しているか否かを判定する（ステップＳ４０３）。
【００３４】
受信パケットが或るＴＣＰコネクションの先頭パケットで、ＴＣＰコネクションＩＤが
コネクションテーブルに存在していない場合には、不通・疎通検出部１０２−２は、以下の動作を実行する（ステップＳ４０３の判定がＮＯ）。
【００３５】
即ち、不通・疎通検出部１０２−２は、通信状態記憶部１０３−１内のコネクションテーブル（図５参照）及び不通・疎通テーブル（図６参照）に、ＴＣＰコネクションのエントリを新規に作成する（ステップＳ４０４）。
【００３６】
その後、不通・疎通検出部１０２−２は、不通・疎通テーブルの新規エントリ（図６参照）に、疎通時刻として、パケット情報取得部１０２−１から通知された受信パケットの受信時刻を記録する（ステップＳ４０８）。
【００３７】
更に、不通・疎通検出部１０２−２は、コネクションテーブルの新規エントリ（図５参照）において、前回ＳＥＱ＝０にステップＳ４０２にて取得された受信パケットのＴＣＰデータ長を加算して得られる値を、新たな前回ＳＥＱとして更新する（ステップＳ４１１）。その後、次のパケットの受信処理に戻る（ステップＳ４１１→Ｓ４０１）。
【００３８】
一方、受信パケットが或るＴＣＰコネクションの２番目以降のパケットで、ＴＣＰコネクションＩＤがコネクションテーブルに存在している場合には、不通・疎通検出部１０２−２は、以下の動作を実行する（ステップＳ４０３の判定がＹＥＳ）。
【００３９】
まず、不通・疎通検出部１０２−２は、ＴＣＰデータ長が０よりも大きいか否かを判定する（ステップＳ４０５）。
ＴＣＰデータ長が０である場合には（ステップＳ４０５の判定がＮＯ）、次のパケットの受信処理に戻る（ステップＳ４０５→Ｓ４０１）。
【００４０】
ＴＣＰデータ長が０よりも大きい場合には（ステップＳ４０５の判定がＹＥＳ）、不通・疎通検出部１０２−２は、以下の疎通処理を実行する。
不通・疎通検出部１０２−２はまず、ステップＳ４０２にて受信パケットから取得されたＳＥＱが、コネクションテーブル（図５）の該当するエントリに記憶されている前回ＳＥＱ以上であるか否かを判定する（ステップＳ４０６）。これは、ＳＥＱが単調増加しているか否かの判定になる。
【００４１】
次に、ＳＥＱが単調増加している場合には（ステップＳ４０６の判定がＹＥＳ）、不通・疎通検出部１０２−２は、コネクションテーブル（図５）の該当するエントリに、不通開始時刻が記録されているか否かを判定する（ステップＳ４０７）。
【００４２】
不通開始時刻が記録されていないときには（ステップＳ４０７の判定がＮＯ）、不通・疎通検出部１０２−２は、ステップＳ４０８の処理に進む。
不通開始時刻が記録されているときには（ステップＳ４０７の判定がＹＥＳ）、不通・疎通検出部１０２−２は、その不通開始時刻から受信パケットの受信時刻までを不通時刻として、不通・疎通テーブルの該当するエントリに記録する（ステップＳ４０９）。
【００４３】
続いて、不通・疎通検出部１０２−２は、コネクションテーブルの該当するエントリの不通開始時刻をリセットする（ステップＳ４１０）。
その後、不通・疎通検出部１０２−２は、ステップＳ４０８の処理に進む。
【００４４】
ステップＳ４０８では、不通・疎通検出部１０２−２は、不通・疎通テーブルの該当するエントリ（図６参照）に、疎通時刻として、パケット情報取得部１０２−１から通知された受信パケットの受信時刻を記録する。
【００４５】
更に、不通・疎通検出部１０２−２は、コネクションテーブルの該当するエントリ（図５参照）において、前回ＳＥＱにステップＳ４０２にて取得された受信パケットのＴＣＰデータ長を加算して得られる値を、新たな前回ＳＥＱとして更新する（ステップＳ４１１）。その後、次のパケットの受信処理に戻る（ステップＳ４１１→Ｓ４０１）。
【００４６】
一方、前述したステップＳ４０６において、ＳＥＱが単調増加していないと判定された場合には（ステップＳ４０６の判定がＮＯ）、不通・疎通検出部１０２−２は不通処理として、コネクションテーブル（図５参照）の該当するエントリに不通開始時刻を記録する（ステップＳ４１２）。不通開始時刻は、パケット情報取得部１０２−１から通知された受信パケットの受信時刻である。ただし、該当エントリに既に不通開始時刻が記録されているときには、不通開始時刻の新たな記録は行われない。その後、次のパケットの受信処理に戻る（ステップＳ４１２→Ｓ４０１）。
【００４７】
上記一連の制御動作の具体例について説明する。
今、図５に示されるコネクションテーブルの記録状態において、ＳＥＱが６８０、データ長が２０で、送信元ＩＰアドレスがア、宛先ＩＰアドレスがイであり、ＴＣＰコネクションＩＤがＡに属するデータパケットが受信されたとする。この場合、図４において、ステップＳ４０１→Ｓ４０２→Ｓ４０３→Ｓ４０５→Ｓ４０６→Ｓ４０７→Ｓ４０８→Ｓ４１１の順に、各処理が実行される。この結果、ＳＥＱが単調増加して疎通を確認できるパケットとして、疎通時刻としてパケット受信時刻Ｔ１が不通・疎通テーブル（図６）の該当するエントリに記録される。また、コネクションテーブル（図５）の該当するエントリにおいて、前回ＳＥＱが、６８０から７００に更新される。
【００４８】
次に、送信元ＩＰアドレスがア、宛先ＩＰアドレスがイ、ＴＣＰコネクションＩＤがＡに属し、ＳＥＱが６８０、データ長が２０のパケットが受信されたとする。この場合、図４において、ステップＳ４０１→Ｓ４０２→Ｓ４０３→Ｓ４０５→Ｓ４０６→Ｓ４１２の順に、各処理が実行される。この結果、ＳＥＱが単調増加していないと判定されるため、不通時刻が記録されるべきパケットとして、コネクションテーブルの該当エントリに、不通開始時刻Ｔ２が記録される。
【００４９】
続いて、３０秒経過した後、送信元ＩＰアドレスがア、宛先ＩＰアドレスがイ、ＴＣＰコネクションＩＤがＡであり、ＳＥＱが７００、データ長が１００のパケットが受信されたとする。この場合、図４において、ステップＳ４０１→Ｓ４０２→Ｓ４０３→Ｓ４０５→Ｓ４０６→Ｓ４０７→Ｓ４０９→Ｓ４１０→Ｓ４０８→Ｓ４１１の順に、各処理が実行される。この結果、ＳＥＱが再び単調増加して疎通を確認できるパケットとして、コネクションテーブルの該当するエントリの不通開始時刻からパケット受信時刻Ｔ３までが、今までの不通時刻として、不通・疎通テーブル（図６）の該当するエントリに記録される。また、パケット受信時刻Ｔ３が疎通時刻として、不通・疎通テーブル（図６）の該当するエントリに記録される。更に、コネクションテーブル（図５）の該当するエントリにおいて、前回ＳＥＱが、７００から８００に更新される。
【００５０】
以上の処理をパケットが受信されるごとに繰り返すことで、コネクション毎の不通、疎通時刻が算出される。
不通・疎通検出部１０２−２は、上述のようにして更新されるコネクションテーブル及び不通・疎通テーブルの記録内容から、一定時間毎に、疎通、不通、無通信を判定し、判定結果をモニタ結果記憶部１０３−２に格納する。
【００５１】
図７は、不通・疎通検出部１０２−２が実行する疎通、不通、無通信の判定処理を示す動作フローチャートである。
まず、不通・疎通検出部１０２−２は、通信状態記憶部１０３−１内のコネクションテ
ーブルに、未処理のエントリがあるか否かを判定する（ステップＳ７０１）。なお、ＴＣＰコネクションＩＤが処理済みのものと同じである場合は、処理済みとされる。
【００５２】
コネクションテーブルに未処理のエントリがある場合（ステップＳ７０１の判定がＹＥＳ）、不通・疎通検出部１０２−２は、コネクションテーブル上の未処理の１エントリの内容を取得する（ステップＳ７０２）。
【００５３】
次に、不通・疎通検出部１０２−２は、上記エントリに属する送信元ＩＰアドレスが、特には図示しない手段により障害判定対象として設定されているか否かを判定する（ステップＳ７０３）。
【００５４】
上記送信元ＩＰアドレスが障害判定対象として設定されていないときには（ステップＳ７０３の判定がＮＯ）、不通・疎通検出部１０２−２は、次のエントリの処理に進む（ステップＳ７０３→Ｓ７０１）。
【００５５】
上記送信元ＩＰアドレスが障害判定対象として設定されているときには（ステップＳ７０３の判定がＹＥＳ）、不通・疎通検出部１０２−２は、上記エントリに対応するＴＣＰコネクションをキーとして、通信状態記憶部１０３−１内の不通・疎通テーブルを検索する。そして、不通・疎通検出部１０２−２は、検索された不通・疎通テーブルのエントリから、当該ＴＣＰコネクションの不通時刻及び疎通時刻を取得する（ステップＳ７０４）。
【００５６】
続いて、不通・疎通検出部１０２−２は、現在監視を行っているネットワーク経路に対応する疎通時刻を、現在までに得られている疎通時刻とステップＳ７０４にて取得した現在処理しているＴＣＰコネクションの疎通時刻とのオア演算結果として算出する（ステップＳ７０５）。即ち、少なくとも１つのＴＣＰコネクションにおいて疎通となっている時刻が全体の疎通時刻として算出される。
【００５７】
更に、不通・疎通検出部１０２−２は、現在監視を行っているネットワーク経路に対応する不通時刻を、現在までに得られている不通時刻とステップＳ７０４にて取得した現在処理しているＴＣＰコネクションの不通時刻とのオア演算結果であって、ステップＳ７０５にて算出されている疎通時刻ではない時間帯として算出する（ステップＳ７０６）。即ち、疎通時刻ではない時間帯において、少なくとも１つのＴＣＰコネクションにおいて不通となっている時刻が全体の不通時刻として検出される。
【００５８】
以上の処理が、コネクションテーブルから抽出される全てのＴＣＰコネクションについて実行された後、ステップＳ７０１の判定がＮＯとなった時点で、不通・疎通検出部１０２−２は、現在までに得られた不通時刻及び疎通時刻を、記憶部１０３内のモニタ結果記憶部１０３−２に出力する（ステップＳ７０７）。
【００５９】
上記一連の制御動作の具体例について説明する。
今、ＴＣＰコネクションＩＤ＝Ａ，Ｂ，Ｃの記録がコネクションテーブルに存在し、不通・疎通テーブルの記録内容が図８（ａ）に示されるごとくであるとする。この場合、それぞれ同一のアドレス１０の受信ホスト３０２（図３参照）に対して、アドレス１，２，３の各送信ホスト３０１（図３参照）が通信している。
【００６０】
今、図８（ｂ）に示されるように、ステップＳ７０５にて、コネクションＡの疎通記録であるＴＡ０〜ＴＡ１，ＴＡ２〜ＴＡ３，ＴＡ４〜ＴＡ５に対して、コネクションＢの疎通記録であるＴＢ０〜ＴＢ１，ＴＢ２〜ＴＢ３がオア演算される。この結果、疎通時刻として、ＴＢ０〜ＴＢ１，ＴＢ２〜ＴＢ３が得られる。
【００６１】
次に、図８（ｂ）に示されるように、ステップＳ７０６にて、ＴＡ１〜ＴＡ２及びＴＡ３〜ＴＡ４と、ＴＢ０〜ＴＢ１及びＴＢ２〜ＴＢ３が反転されたものとのアンド演算が実行され、結果としてＴＢ１〜ＴＢ２が不通時刻として得られる。
【００６２】
上記と同様の処理がコネクションＣに対しても実行される結果、図８（ｂ）に示されるように、ＴＢ１〜ＴＢ２が、コネクションＡ，Ｂ，Ｃに共通する不通時刻として出力される。
【００６３】
今、上記各ホストが図９に示される接続状態を有している場合、障害箇所として最も可能性が高いのはアドレス１，２，３が共通して利用するリンクL１で、その不通時刻はＴＢ１〜ＴＢ２であることが推測できる。
【００６４】
コネクションテーブル及び不通・疎通テーブルのエントリの削除動作については、次のような制御動作を採用できる。即ち、例えば１分に１回、不通・疎通テーブル全体が検索されて、最終疎通時刻から５分以上経過しているＴＣＰコネクションＩＤに関して、コネクション・テーブルと不通・疎通テーブルの該当するエントリが削除される。これにより、容量が有限であるテーブルを効率よく使うことができる。
【００６５】
次に、第２の実施形態として、図１の不通検出装置１００がデータパケットとＡＣＫパケットの両方をモニタできる場合の制御動作について、説明する。
図１０は、第２の実施形態における不通検出装置１００の全体制御動作を示す動作フローチャートである。
【００６６】
また、図１１は、第２の実施形態において通信状態記憶部１０３−１に記憶されるコネクションテーブルの構成例を示した図である。第２の実施形態では、不通・疎通テーブルは設けられず、コネクションテーブルのみで制御が実行される。
【００６７】
まず、入力部１０１が、パケットを受信する（ステップＳ１００１）。
次に、パケット情報取得部１０２−１は、受信パケットのＩＰヘッダ及びＴＣＰヘッダ内の送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号の４つの情報組から、ＴＣＰコネクションＩＤを作成する。また、パケット情報取得部１０２−１は、ＴＣＰデータ長とＳＥＱを取得する（ステップＳ１００２）。パケット情報取得部１０２−１は、これらの情報を、不通・疎通検出部１０２−２に通知する。
【００６８】
続いて、不通・疎通検出部１０２−２は、ＴＣＰコネクションＩＤが通信状態記憶部１０３−１内のコネクションテーブル（図１１参照）に存在しているか否かを判定する（ステップＳ１００３）。
【００６９】
受信パケットが或るＴＣＰコネクションの先頭パケットで、ＴＣＰコネクションＩＤがコネクションテーブルに存在していない場合には、不通・疎通検出部１０２−２は、以下の動作を実行する（ステップＳ１００３の判定がＮＯ）。
【００７０】
即ち、不通・疎通検出部１０２−２は、通信状態記憶部１０３−１内のコネクションテーブル（図１１参照）に、ＴＣＰコネクションのエントリを新規に作成する。このとき、不通・疎通検出部１０２−２は、コネクションテーブルの新規エントリに、疎通時刻として、パケット情報取得部１０２−１から通知された受信パケットの受信時刻を記録する。また、不通・疎通検出部１０２−２は、コネクションテーブルの新規エントリにおいて、ステップＳ１００２にて取得された受信パケットのＴＣＰデータ長を前回ＳＥＱとして設定する（以上、ステップＳ１００４）。その後、次のパケットの受信処理に戻る（ステップＳ１００４→Ｓ１００１）。
【００７１】
一方、受信パケットが或るＴＣＰコネクションの２番目以降のパケットで、ＴＣＰコネクションＩＤが通信状態記憶部１０３−１内のコネクションテーブルに存在している場合には、不通・疎通検出部１０２−２は、以下の動作を実行する（ステップＳ１００３の判定がＹＥＳ）。
【００７２】
まず、不通・疎通検出部１０２−２は、コネクションテーブル（図１１参照）の該当するエントリに、不通開始時刻が記録されているか否かを判定する（ステップＳ１００５）。なお、コネクションテーブル上では、１つのＴＣＰコネクションＩＤに対応するエントリは、送信元ＩＰアドレスが、送信ホスト３０１である場合と受信ホスト３０２（共に図３参照）である場合の２つのエントリが存在する。そして、第２の実施形態においては、どちらの送信元ＩＰアドレスのコネクションにおいて不通が発生するかまで区別して検出される。この場合、ステップＳ１００５では、対象となるＴＣＰコネクションＩＤに対応する２つのエントリのうち、少なくとも何れか一方において不通開始時刻が記録されているか否かが判定される。
【００７３】
不通開始時刻が記録されていないときには（ステップＳ１００５の判定がＮＯ）、不通・疎通検出部１０２−２は、ステップＳ１００２にて受信パケットから取得されたＳＥＱが、コネクションテーブル（図１１）の該当するエントリに記憶されている前回ＳＥＱ以上であるか否かを判定する（ステップＳ１００６）。これは、ＳＥＱが単調増加しているか否かの判定になる。
【００７４】
次に、ＳＥＱが単調増加している場合には（ステップＳ１００６の判定がＹＥＳ）、不通・疎通検出部１０２−２は、ＴＣＰデータ長が０よりも大きいか否かを判定する（ステップＳ１００７）。
【００７５】
ＴＣＰデータ長が０よりも大きい場合には（ステップＳ１００７の判定がＹＥＳ）、不通・疎通検出部１０２−２は、後述するステップ１０１７の処理に進む。
ＴＣＰデータ長が０である場合には（ステップＳ１００７の判定がＮＯ）、不通・疎通検出部１０２−２は更に、ＴＣＰヘッダ内のコードビットのＡＣＫフラグ（図２参照）がＯＮであるか否か、即ち、受信パケットがＡＣＫパケットであるか否かを判定する（ステップＳ１００８）。
【００７６】
受信パケットがＡＣＫパケットでＡＣＫフラグがＯＮである場合には（ステップＳ１００８の判定がＹＥＳ）、不通・疎通検出部１０２−２は、後述するステップ１０１７の処理に進む。
【００７７】
受信パケットがＡＣＫパケットではなくＡＣＫフラグがＯＮではない場合には（ステップＳ１００８の判定がＮＯ）、不通・疎通検出部１０２−２は、次のパケットの受信処理に戻る（ステップＳ１００８→Ｓ１００１）。
【００７８】
一方、前述したステップＳ１００５において、不通開始時刻が記録されていると判定されたときには、不通・疎通検出部１０２−２は、ＴＣＰデータ長が０よりも大きいか否かを判定する（ステップＳ１０１３）。
【００７９】
ＴＣＰデータ長が０よりも大きい場合には（ステップＳ１０１３の判定がＹＥＳ）、不通・疎通検出部１０２−２は更に、ステップＳ１００２にて受信パケットから取得されたＳＥＱが、コネクションテーブル（図１１）の該当するエントリに記憶されている前回ＳＥＱ以上であるか否かを判定する（ステップＳ１０１４）。これは、ＳＥＱが単調増加し
ているか否かの判定になる。
【００８０】
ＳＥＱが単調増加していない場合には（ステップＳ１０１４の判定がＮＯ）、不通・疎通検出部１０２−２は、現在の不通状態をそのまま維持し、次のパケットの受信処理に戻る（ステップＳ１０１４→Ｓ１００１）。
ＳＥＱが単調増加している場合には（ステップＳ１０１４の判定がＹＥＳ）、不通・疎通検出部１０２−２は、ステップＳ１０１６の処理に進む。
【００８１】
また、前述のステップＳ１０１３において、ＴＣＰデータ長が０であると判定された場合には（ステップＳ１０１３の判定がＮＯ）、不通・疎通検出部１０２−２は更に、その受信パケットが不通アドレス発のものであるか否かを判定する（ステップＳ１０１５）。即ち、不通・疎通検出部１０２−２は、受信パケットが、コネクションテーブル上で検索されている２つのエントリのうち、不通開始時刻が設定されているほうのエントリに記憶されている送信元ＩＰアドレス（図１１参照）のホストから来ているものであるか否かを判定する。この場合の受信パケットは、ＴＣＰデータ長が０であるから、ＡＣＫパケットである。
【００８２】
受信パケットがＴＣＰデータ長≠０かつＳＥＱが単調増加の場合（ステップＳ１０１４の判定がＹＥＳ）又はＴＣＰデータ長＝０かつ不通アドレス発の場合（ステップＳ１０１５の判定がＹＥＳ）は、ステップＳ１０１６の処理が実行される。これは、送信ホスト３０１側又は受信ホスト３０２側（図３参照）の何れかの不通状態が解消される状態を示している。即ち、不通・疎通検出部１０２−２は、コネクションテーブルの該当するエントリに記録されている不通開始時刻から受信パケットの受信時刻までを不通時刻として、コネクションテーブルの該当エントリに記録する。また、不通・疎通検出部１０２−２は、コネクションテーブルの該当するエントリの不通開始時刻をリセットする（以上、ステップＳ１０１６）。
【００８３】
上記ステップＳ１０１６の処理の後、前述したステップＳ１００７の判定がＹＥＳの場合、又は前述したステップＳ１００８の判定がＹＥＳの場合には、以下のステップＳ１０１７とＳ１０１８の処理が実行される。これは、疎通状態を設定するための処理である。
【００８４】
まず、不通・疎通検出部１０２−２は、不通・疎通テーブルの該当するエントリ（図１１参照）に、疎通時刻として、パケット情報取得部１０２−１から通知された受信パケットの受信時刻を記録する（ステップＳ１０１７）。
【００８５】
次に、不通・疎通検出部１０２−２は、コネクションテーブルの該当するエントリ（図１１参照）において、前回ＳＥＱにステップＳ１００２にて取得された受信パケットのＴＣＰデータ長を加算して得られる値を、新たな前回ＳＥＱとして更新する（ステップＳ１０１８）。
【００８６】
上記ステップＳ１０１８で処理された受信パケットがＡＣＫパケットである場合、又は前述したステップＳ１０１５にて受信パケットがＴＣＰデータ長＝０かつ不通アドレス発ではないＡＣＫパケットであると判定された場合には、ステップＳ１０１９が判定される。即ち、不通・疎通検出部１０２−２は、受信パケットのＴＣＰヘッダ内の確認応答番号（ＡＣＫ番号）（図２参照）が、コネクションテーブルの該当するエントリに記録されている前回ＡＣＫ番号よりも大きいか否かを判定する（ステップＳ１０１９）。
【００８７】
受信パケットのＡＣＫ番号が前回ＡＣＫ番号より大きい場合には（ステップＳ１０１９の判定がＹＥＳ）、コネクションテーブルの該当するエントリに記録されている前回ＡＣＫ番号が受信パケットのＡＣＫ番号で置き換えられ更新される（ステップＳ１０２０）。
【００８８】
ステップＳ１０２０の処理の後又はステップＳ１０１９の判定がＮＯである場合には、不通・疎通検出部１０２−２は、次のパケットの受信処理に戻る。
一方、ステップＳ１００５にてコネクションテーブルの該当するエントリに不通開始時刻が未記録と判定され、かつステップＳ１００６にて受信パケットのＳＥＱが単調増加なしと判定された場合には、不通・疎通検出部１０２−２は、以下の不通処理を実行する。
【００８９】
即ち、不通・疎通検出部１０２−２は、受信パケットのＳＥＱ（シーケンス番号）が、それとは逆経路のＡＣＫ番号（逆側ＡＣＫ番号）以上であるか否かを判定する（ステップＳ１００９）。逆側ＡＣＫ番号は、コネクションテーブル上で検索されている２つのエントリのうち、受信パケットから抽出された送信元ＩＰアドレスとは異なるアドレスが送信元ＩＰアドレスとして記録されているエントリに記録されている前回ＡＣＫ番号である（図１１参照）。
【００９０】
受信パケットのＳＥＱが逆側ＡＣＫ番号以上である場合は、受信ホスト３０２が送信ホスト３０１からのデータパケットを受け取れずＡＣＫパケットを返信できない状態であることを示している。即ち、送信ホスト３０１から受信ホスト３０２に向かう経路で不通が発生している状態が推定される。従って、この場合には（ステップＳ１００９の判定がＹＥＳ）、不通・疎通検出部１０２−２は、自装置から見て不通と推定される側にある受信ホスト３０２のＩＰアドレスを不通アドレスと決定する。つまり、不通・疎通検出部１０２−２は、受信パケットの宛先ＩＰアドレスを不通アドレスとして決定する。そして、不通・疎通検出部１０２−２は、そのアドレスが送信元ＩＰアドレスとして記録されているエントリを、不通処理の対象として選択する（ステップＳ１０１０）。
【００９１】
一方、受信パケットのＳＥＱが逆側ＡＣＫ番号よりも小さい場合は、上述の場合とは逆に送信ホスト３０１が受信ホスト３０２からのＡＣＫパケットを正しく受け取れず、送信するデータパケットのＳＥＱを更新できない状態である。即ち、受信ホスト３０２から送信ホスト３０１に向かう経路で不通が発生している状態であると推定できる。従って、この場合には（ステップＳ１００９の判定がＮＯ）、不通・疎通検出部１０２−２は、自装置から見て不通と推定される側にある送信ホスト３０１のＩＰアドレスを不通アドレスと決定する。つまり、不通・疎通検出部１０２−２は、受信パケットの送信元ＩＰアドレスを不通アドレスとして決定する。そして、不通・疎通検出部１０２−２は、そのアドレスが送信元ＩＰアドレスとして記録されているエントリを、不通処理の対象として選択する（ステップＳ１０１１）。
【００９２】
上記ステップＳ１０１０又はＳ１０１１の後、不通・疎通検出部１０２−２は、コネクションテーブル（図１１参照）の上記選択したエントリに、不通開始時刻を記録する（ステップＳ１０１２）。不通開始時刻は、パケット情報取得部１０２−１から通知された受信パケットの受信時刻である。その後、次のパケットの受信処理に戻る（ステップＳ１０１２→Ｓ１００１）。
【００９３】
上記一連の制御動作の具体例について説明する。
第１のケースについて、例えば図１２の動作シーケンス図と、図１０の動作フローチャート及び図１１のコネクションテーブルの例に基づいて説明する。
【００９４】
今、図１２の時刻Ｔ１において、ＳＥＱが２０５００，ＡＣＫが６００、データ長が１００で、送信元ＩＰアドレスがイ、宛先ＩＰアドレスがアであり、ＴＣＰコネクションＩＤがＡに属するパケットを、不通検出装置１００が受信したとする。
【００９５】
この状態では、図１１に示されるように、該当するエントリには、不通開始時刻の記録
が無く、「前回ＳＥＱ≦ＳＥＱ」が成り立ち、ＴＣＰデータ長が１００である。従って、図１０において、ステップＳ１００１→Ｓ１００２→Ｓ１００３→Ｓ１００５→Ｓ１００６→Ｓ１００７→Ｓ１０１７→Ｓ１０１８→Ｓ１０１９の各処理が順次実行され、ステップＳ１０１９の判定はＮＯとなる。この結果、疎通時刻としてパケット受信時刻Ｔ１、前回ＳＥＱとして２０６００、前回ＡＣＫとして６００が、コネクションテーブルの該当するエントリに記録される。
【００９６】
以下同様に、図１２の時刻Ｔ４まで該当エントリの内容が更新されるが、時刻Ｔ５において、「前回ＳＥＱ≦ＳＥＱ」が成り立たないシーケンスとなる。この結果、図１０において、ステップＳ１００１→Ｓ１００２→Ｓ１００３→Ｓ１００５→Ｓ１００６→Ｓ１００９の各処理が順次実行される。ここで、受信パケットのＳＥＱは２０７００、逆側ＡＣＫ番号は図１１の送信元ＩＰアドレスがアであるエントリの前回ＡＣＫ番号であり２０５００である。従って、ステップＳ１００９の判定は、ＹＥＳとなり、ステップＳ１０１０→Ｓ１０１２の各処理が更に実行される。これにより、不通開始時刻Ｔ５が、コネクションテーブルの送信元ＩＰアドレスがア側であるエントリ（図１１参照）に記録される。
【００９７】
この状態は図１２の時刻Ｔ７まで続く。この場合、図１０において、ステップＳ１００１→Ｓ１００２→Ｓ１００３→Ｓ１００５→Ｓ１０１３→Ｓ１０１４→Ｓ１００１の各処理が繰り返し実行される。
【００９８】
その後、図１２の時刻Ｔ８でアが発側アドレスとなるＡＣＫパケットが受信されると、図１０において、ステップＳ１００１→Ｓ１００２→Ｓ１００３→Ｓ１００５→Ｓ１０１３→Ｓ１０１５の各処理が実行される。そして、ステップＳ１０１５の判定がYＥSとなり、不通解消の処理であるステップＳ１０１６が実行され、ア側の不通時刻がＴ５からＴ８までと記録される。
【００９９】
次に、第２のケースについて、例えば図１３の動作シーケンス図と、図１０の動作フローチャート及び図１１のコネクションテーブルの例に基づいて説明する。
今、図１３において、送信ホスト３０１＝イから受信ホスト３０２＝アへのパケット送信処理において、時刻Ｔ１からＴ４までは、ステップＳ１００１→Ｓ１００２→Ｓ１００３→Ｓ１００５→Ｓ１００６→Ｓ１００７→Ｓ１０１７→Ｓ１０１８→Ｓ１０１９→Ｓ１００１の各処理が実行される。また、時刻Ｔ５とＴ６では、ステップＳ１００１→Ｓ１００２→Ｓ１００３→Ｓ１００５→Ｓ１００６→Ｓ１００７→Ｓ１００８→Ｓ１０１７→Ｓ１０１８→Ｓ１０１９→Ｓ１０２０→Ｓ１００１の各処理が実行される。これにより、不通検出装置１００において、疎通状態が推定されている。
【０１００】
しかし、図１３の時刻Ｔ７では、ＳＥＱ=２０７００のパケットが再送されているため、「前回ＳＥＱ≦ＳＥＱ」が成り立たず、ステップＳ１００６の判定がＮＯとなる。かつ、受信パケットのＳＥＱは２０７００、逆側ＡＣＫ番号は２０９００となっているため、ステップＳ１００９の判定もＮＯとなる。この結果、ステップＳ１０１１→Ｓ１０１２の各処理が更に実行される。これにより、不通開始時刻Ｔ７が、コネクションテーブルの送信元ＩＰアドレスがイ側であるエントリ（図１１参照）に記録される。
【０１０１】
この状態は図１３の時刻Ｔ１０まで続く。この場合、図１０で、受信パケットが送信ホスト３０１から受信ホスト３０２へ向かう場合は、ステップＳ１００１→Ｓ１００２→Ｓ１００３→Ｓ１００５→Ｓ１０１３→Ｓ１０１４→Ｓ１００１の各処理が実行される。また、受信パケットが受信ホスト３０２から送信ホスト３０１へ向かう場合は、ステップＳ１００１→Ｓ１００２→Ｓ１００３→Ｓ１００５→Ｓ１０１３→Ｓ１０１５→Ｓ１０１９→Ｓ１００１の各処理が繰り返し実行される。
【０１０２】
その後、図１３の時刻Ｔ１０で受信ホスト３０２から送信ホスト３０１へのＡＣＫが疎通し、時刻Ｔ１１でイが発側アドレスとなるデータパケットが受信されると、図１０において、ステップＳ１０１４にて「前回ＳＥＱ≦ＳＥＱ」が成立する。これにより、ステップＳ１０１４の判定がYＥSとなり、不通解消の処理であるステップＳ１０１６が実行され、イ側の不通時刻がＴ７からＴ１１までと記録される。
【０１０３】
図１４は、上述した第１の実施形態又は第２の実施形態の動作を実現する図１の不通検出装置１００を実現できるコンピュータのハードウェア構成の一例を示す図である。
図１４に示されるコンピュータは、ＣＰＵ１４０１、メモリ１４０２、入力装置１４０３、出力装置１４０４、外部記憶装置１４０５、可搬記録媒体１４０９が挿入される可搬記録媒体駆動装置１４０６、及びネットワーク接続装置１４０７を有し、これらがバス１４０８によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【０１０４】
ＣＰＵ１４０１は、当該コンピュータ全体の制御を行う。メモリ１４０２は、プログラムの実行、データ更新等の際に、外部記憶装置１４０５（或いは可搬記録媒体１４０９）に記憶されているプログラム又はデータを一時的に格納するＲＡＭ等のメモリである。ＣＵＰ１４０１は、プログラムをメモリ１４０２に読み出して実行することにより、全体の制御を行う。
【０１０５】
入力装置１４０３は、例えば、キーボード、マウス等及びそれらのインタフェース制御装置とからなる。入力装置１４０３は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をＣＰＵ１４０１に通知する。
【０１０６】
出力装置１４０４は、表示装置、印刷装置等及びそれらのインタフェース制御装置とからなる。出力装置１４０４は、ＣＰＵ１４０１の制御によって送られてくるデータを表示装置や印刷装置に出力する。
【０１０７】
外部記憶装置１４０５は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置１４０６は、光ディスクやＳＤＲＡＭ、コンパクトフラッシュ（登録商標）等の可搬記録媒体１４０９を収容するもので、外部記憶装置１４０５の補助の役割を有する。
【０１０８】
ネットワーク接続装置１４０７は、例えばＬＡＮ（ローカルエリアネットワーク）又はＷＡＮ（ワイドエリアネットワーク）の通信回線を接続するための装置であり、タップ等に接続される。
【０１０９】
図１の実施形態による不通検出装置１００は、それに必要な処理機能を搭載したプログラムをＣＰＵ１４０１が実行することで実現される。そのプログラムは、例えば外部記憶装置１４０５や可搬記録媒体１４０９に記録して配布してもよく、或いはネットワーク接続装置１４０７によりネットワークから取得できるようにしてもよい。
【０１１０】
以上説明した実施形態は、ＴＣＰだけに利用を限定するものではなく、同じようにシーケンス番号を使うプロトコルであればどのようなプロトコルでも共通して利用できる。例えば、L４（レイヤ４）プロトコルであるＳＣＴＰや、L３（レイヤ３）プロトコルであるＩＣＭＰなども利用可能である。
【図面の簡単な説明】
【０１１１】
【図１】不通検出装置の実施形態の構成図である。
【図２】ＴＣＰ／ＩＰパケットのデータフォーマットを示す図である。
【図３】不通検出装置１００を使った実施形態の基本的な動作の説明図である。
【図４】第１の実施形態における不通検出装置１００の全体制御動作を示す動作フローチャートである。
【図５】第１の実施形態において通信状態記憶部１０３−１に記憶されるコネクションテーブルの一例を示す図である。
【図６】第１の実施形態において通信状態記憶部１０３−１に記憶される不通・疎通テーブルの一例を示す図である。
【図７】不通・疎通検出部１０２−２が実行する疎通、不通、無通信の判定処理を示す動作フローチャートである。
【図８】第１の実施形態の動作説明図（その１）である。
【図９】第１の実施形態の動作説明図（その２）である。
【図１０】第２の実施形態における不通検出装置１００の全体制御動作を示す動作フローチャートである。
【図１１】第２の実施形態において通信状態記憶部１０３−１に記憶されるコネクションテーブルの構成例を示した図である。
【図１２】第２の実施形態を説明するための動作シーケンス図（その１）である。
【図１３】第２の実施形態を説明するための動作シーケンス図（その２）である。
【図１４】実施形態を実現するコンピュータのハードウェア構成図である。
【図１５】従来技術の問題点の説明図である。
【符号の説明】
【０１１２】
１００、１５０１      不通検出装置
１０１      入力部
１０２      処理部
１０２−１      パケット情報取得部
１０２−２      不通・疎通検出部
１０３      記憶部
１０３−１      通信状態記憶部
１０３−２      モニタ結果記憶部
１０４      出力部
３０１、１５０２      送信ホスト
３０２、１５０３      受信ホスト
【図１】
2010119053.tif 000003
【図２】
2010119053.tif 000004
【図４】
2010119053.tif 000005
【図５】
2010119053.tif 000006
【図６】
2010119053.tif 000007
【図７】
2010119053.tif 000008
【図８】
2010119053.tif 000009
【図１０】
2010119053.tif 000010
【図１１】
2010119053.tif 000011
【図１４】
2010119053.tif 000012
【図３】
2010119053.tif 000013
【図９】
2010119053.tif 000014
【図１２】
2010119053.tif 000015
【図１３】
2010119053.tif 000016
【図１５】
2010119053.tif 000017