"端末群がネットワークA及びネットワークBを介して、TCP通信を行うIPネットワークにおいて、該ネットワークのパケットロス率を推定するパケットロス率推定装置であって、前記ネットワークAと前記ネットワークB間を流れるフローと該フローの受信データパケットが流れる方向を検出し、フロー記憶手段に格納すると共に、該受信データパケットから受信データパケット情報とACKパケット情報を取り出して出力するフロー処理手段と、前記ACKパケット情報に受信確認済みであるSACKパケットが含まれている場合には、該SACKパケットのシーケンス番号をSACK番号記憶手段に格納するACKパケット処理手段と、前記データパケット情報、前記フロー記憶手段、前記SACK番号記憶手段を参照することにより、前記データパケット情報から当該受信データパケットのシーケンス番号の順序がシーケンスになっているか否か、当該パケットが再送パケットか否か、当該受信パケットが重複パケットか否か、及び、重複パケットである場合に送信端末がタイムアウトにより再送されたパケットか否かを判定し、判定結果に基づいてフロー方向に対応するネットワークのパケットロスをカウントするデータパケット処理手段と、を有することを特徴とするパケットロス率推定装置。前記データパケット処理手段は、前記データパケット情報から当該受信パケットのシーケンス番号の順序がシーケンスになっているか否かを判定し、欠落しているシーケンス番号がある場合は、欠落しているシーケンス番号をギャップ記憶手段に格納するギャップ検出手段と、前記ギャップ記憶手段を参照して該ギャップ記憶手段に前記受信データパケットのシーケンス番号がある場合は、該受信データパケットが再送パケットと判定して、前記フロー記憶手段を参照してフロー方向に対応させてパケットロス数記憶手段のカウント値をカウントアップする再送パケットチェック手段と、前記受信パケットのシーケンス番号が、前記フロー記憶手段に格納されているフローの最終シーケンス番号以下で、かつ、前記ギャップ記憶手段に含まれておらず、かつ、前記SACK番号記憶手段に含まれていない場合のみ、重複パケットと判定して、前記パケットロス数記憶手段のフロー方向に対応するカウント値をカウントアップする重複チェック手段と、を含む請求項1記載のパケットロス率推定装置。前記フロー処理手段は、前記ネットワークAと前記ネットワークB間を流れるフローと該フローの受信データパケットが流れる方向に加え、該ネットワークBの片道の遅延時間を取得して前記フロー記憶手段に格納する手段を含み、前記データパケット処理手段は、前記フロー処理手段から、データパケット情報を取得すると、TCPシーケンス番号分析を行い、再送パケットを検出した場合には、再送パケット記憶手段に該パケットのシーケンス番号のLeftEdge、RightEdge、タイムスタンプを記録する手段を含み、前記ACKパケット処理手段は、ACKパケットが属するフローIDに基づいて前記再送パケット記憶手段を検索し、該ACKパケットもしくはSACKパケットに含まれる受信確認済みのシーケンス番号がある場合には、現在時刻、前記フロー記憶手段の前記ネットワークBの片道の遅延時間、該再送パケット記憶手段の前記タイムスタンプを取得して、現在時刻-ネットワークBの片道遅延時間<タイムスタンプが成立するとき、前記パケットロス数記憶手段の前記カウント値から1減算する手段を含む請求項1または2記載のパケットロス率推定装置。端末群がネットワークA及びネットワークBを介して、TCP通信を行うIPネットワークにおいて、該ネットワークのパケットロス率を推定するパケットロス率推定方法であって、フロー処理手段が、前記ネットワークAと前記ネットワークB間を流れるフローと該フローの受信データパケットが流れる方向を検出し、フロー記憶手段に格納すると共に、該受信データパケットから受信データパケット情報とACKパケット情報を取り出して出力するフロー処理ステップと、ACKパケット処理手段が、前記ACKパケット情報に受信確認済みであるSACKパケットが含まれている場合には、該SACKパケットのシーケンス番号を対応付けてSACK番号記憶手段に格納するACKパケット処理ステップと、データパケット処理手段が、前記データパケット情報、前記フロー記憶手段、前記SACK番号記憶手段を参照することにより、前記データパケット情報から当該受信データパケットのシーケンス番号の順序がシーケンスになっているか否か、当該パケットが再送パケットか否か、当該受信パケットが重複パケットか否か、及び、重複パケットである場合に送信端末がタイムアウトにより再送されたパケットか否かを判定し、判定結果に基づいてフロー方向に対応するネットワークのパケットロスをカウントするデータパケット処理ステップと、を行うことを特徴とするパケットロス率推定方法。前記データパケット処理ステップにおいて、前記データパケット情報から当該受信パケットのシーケンス番号の順序がシーケンスになっているか否かを判定し、欠落しているシーケンス番号がある場合は、欠落しているシーケンス番号をギャップ記憶手段に格納するギャップ検出ステップと前記ギャップ記憶手段を参照して該ギャップ記憶手段に前記受信データパケットのシーケンス番号がある場合は、該受信データパケットが再送パケットと判定して、前記フロー記憶手段を参照してフロー方向に対応させてパケットロス数記憶手段のカウント値をカウントアップする再送パケットチェックステップと、前記受信パケットのシーケンス番号が、前記フロー記憶手段に格納されているフローの最終シーケンス番号以下で、かつ、前記ギャップ記憶手段に含まれておらず、かつ、前記SACK番号記憶手段に含まれていない場合のみ、重複パケットと判定して、前記パケットロス数記憶手段のフロー方向に対応するカウント値をカウントアップする重複チェックステップと、を行う請求項4記載のパケットロス率推定方法。前記フロー処理ステップにおいて、前記ネットワークAと前記ネットワークB間を流れるフローと該フローの受信データパケットが流れる方向に加え、該ネットワークBの片道の遅延時間を取得して前記フロー記憶手段に格納し、前記データパケット処理ステップにおいて、前記フロー処理手段から、データパケット情報を取得すると、TCPシーケンス番号分析を行い、再送パケットを検出した場合には、再送パケット記憶手段に該パケットのシーケンス番号のLeftEdge、RightEdge、タイムスタンプを記録する手段を含み、前記ACKパケット処理ステップにおいて、ACKパケットが属するフローIDに基づいて前記再送パケット記憶手段を検索し、該ACKパケットもしくはSACKパケットに含まれる受信確認済みのシーケンス番号がある場合には、現在時刻、前記フロー記憶手段の前記ネットワークBの片道の遅延時間、該再送パケット記憶手段の前記タイムスタンプを取得して、現在時刻-ネットワークBの片道遅延時間<タイムスタンプが成立するとき、前記パケットロス数記憶手段の前記カウント値から1減算する請求項4または5記載のパケットロス率推定方法。請求項1乃至3のいずれか1項に記載のパケットロス率推定装置を構成する各手段としてコンピュータを機能させるためのパケットロス率推定プログラム。パケットロス率の推定精度は、上記の非特許文献1の評価によると、分析に用いるデータ量とネットワークの実際のパケットロス率に依存する特徴がある。測定ポイント~TCP受信端末の推定においては、パケットロス率103程度のネットワークにおいては、測定誤差が02~0620~60になることが文献の中で示されている非特許文献1中のFig4右下の図。また、文献1DynamicPerformanceLimitsoftheBenkoVeresPassiveTCPPacketLossEstimationAlgorithmClaudioFaviandGrenvilleArmitageATNAC2004p336340において同じアルゴリズムで評価した結果があるが、非特許文献1の評価結果と同様に、103のパケットロス率では10000パケットのデータ量を用いても約50程度の誤差が出ることが示されている同文献1中のFig50001のグラフ。国内のインターネットにおいては、パケットロス率が103程度であると言われており、非特許文献1のアルゴリズムを用いて推定した場合、最大で60程度の誤差が出ることになる。誤差60は非常に大きく、精度の向上が必要である。非特許文献1の方法では、TCPのデータパケットの情報のみを用いて推定を行っているが、データパケットから得られる情報は限られており、同じ方法で大幅な精度向上を行うのは困難であると考えられる。TCPは双方向の通信プロトコルであり、受信端末から送信端末に送られるACKパケットには正常に受信できたパケットのシーケンス番号の情報が含まれる。非特許文献1の方法において誤差が大きいのは、測定ポイント~TCP受信端末の推定であり、誤差を大きくしている要因の一つがTCP送信端末のタイムアウト処理と考えられている。非特許文献1の方法では、同じシーケンス番号を持つデータパケットが複数回転送されてきた場合、ネットワークにおけるパケットロスが原因で再送されたものであると考える。しかし、実際には、TCPの送信端末は、データパケットの送信後一定の条件を満たすと、タイムアウト処理として、同じパケットの再送を行う。この再送によって、ネットワークでパケットロスが起きていないにも関わらず、パケットロスとカウントしてしまい、誤差を大きくする原因になっていると考えられている。本発明は、上記の点に鑑みなされたもので、タイムアウトによるパケットロスの誤判定を改善し、パケットロス率の推定精度を向上させることが可能なパケットロス率推定装置及び方法及びプログラムを提供することを目的とする。上記の課題を解決するために、本発明は、端末群がネットワークA及びネットワークBを介して、TCP通信を行うIPネットワークにおいて、該ネットワークのパケットロス率を推定するパケットロス率推定装置であって、前記ネットワークAと前記ネットワークB間を流れるフローと該フローの受信データパケットが流れる方向を検出し、フロー記憶手段に格納すると共に、該受信データパケットから受信データパケット情報とACKパケット情報を取り出して出力するフロー処理手段と、前記ACKパケット情報に受信確認済みであるSACKパケットが含まれている場合には、SACKパケットのシーケンス番号をSACK番号記憶手段に格納するACKパケット処理手段と、前記データパケット情報、前記フロー記憶手段、前記SACK番号記憶手段を参照することにより、当該受信データパケットのシーケンス番号の順序がシーケンスになっているか否かの判定、当該パケットが再送パケットか否かの判定、当該受信パケットが重複パケットか否か、及び、重複パケットである場合に送信端末がタイムアウトにより再送されたパケットか否かを判定し、判定結果に基づいてフロー方向に対応するネットワークのパケットロスをカウントするデータパケット処理手段と、を有する。また、前記データパケット処理手段は、前記データパケット情報から当該受信パケットのシーケンス番号の順序がシーケンスになっているか否かを判定し、欠落しているシーケンス番号がある場合は、欠落しているシーケンス番号をギャップ記憶手段に格納するギャップ検出手段と、前記ギャップ記憶手段を参照して該ギャップ記憶手段に前記受信データパケットのシーケンス番号がある場合は、該受信データパケットが再送パケットと判定して、前記フロー記憶手段を参照してフロー方向に対応させてパケットロス数記憶手段のカウント値をカウントアップする再送パケットチェック手段と、前記受信パケットのシーケンス番号が、前記フロー記憶手段に格納されているフローの最終シーケンス番号以下で、かつ、前記ギャップ記憶手段に含まれておらず、かつ、前記SACK番号記憶手段に含まれていない場合のみ、重複パケットと判定して、前記パケットロス数記憶手段のフロー方向に対応するカウント値をカウントアップする重複チェック手段と、を含む。また、前記フロー処理手段は、前記ネットワークAと前記ネットワークB間を流れるフローと該フローの受信データパケットが流れる方向に加え、該ネットワークBの片道の遅延時間を取得して前記フロー記憶手段に格納する手段を含み、前記データパケット処理手段は、前記フロー処理手段から、データパケット情報を取得すると、TCPシーケンス番号分析を行い、再送パケットを検出した場合には、再送パケット記憶手段に該パケットのシーケンス番号のLeftEdge、RightEdge、タイムスタンプを記録する手段を含み、前記ACKパケット処理手段は、ACKパケットが属するフローIDに基づいて前記再送パケット記憶手段を検索し、該ACKパケットもしくはSACKパケットに含まれる受信確認済みのシーケンス番号がある場合には、現在時刻、前記フロー記憶手段の前記ネットワークBの片道の遅延時間、該再送パケット記憶手段の前記タイムスタンプを取得して、現在時刻-ネットワークBの片道遅延時間<タイムスタンプが成立するとき、前記パケットロス数記憶手段の前記カウント値から1減算する手段を含む。上記のように、本発明によれば、ACKパケットを用い、ACKパケットによって受信確認されたパケットが再度送られてきた場合SACK番号記憶手段に受信パケットのシーケンス番号が存在する場合には、TCP送信端末がタイムアウトで再送したパケットであり、パケットロスではないと判断することにより、パケットロス率の推定精度が向上する。以下図面と共に、本発明の実施の形態を説明する。従来、IPネットワークのパケットロス率を測定する方法において、パッシブ型としてTCPのデータパケットのシーケンス番号を監視し、重複、番号飛びを検出し、測定ポイントの前後のネットワークのパケットロス率を推定していたが、誤差が非常に大きくなるという問題があった。それは、TCPの送信端末は、データパケット送信後一定の条件を満たすとタイムアウト処理として同じパケットの再送を行うため、パケットロスが発生していないも関わらず、パケットロスとカウントしてしまうことが原因になっていると考えられる。そこで、本発明では、上記の問題を解決するために、TCPのACKパケットの情報を用いる。ACKパケットには、TCP受信端末が正常に受信できたパケットの情報が含まれており、ACKパケットによって受信確認されたパケットが後から再度送られてきた場合には、TCP送信端末がタイムアウトで再送したパケットであり、ネットワークにおけるパケットロスではないと判断することができる。この考え方を取り入れることで、非特許文献1に比べてパケットロス率の推定精度の向上が見込める。ACKパケットに含まれる情報としては、TCPの標準仕様RFC793で規定されているAcknowledgmentNumberと、オプションとしてRFC2018にて規定されているSACKoptionがある。いずれも正常に受信できたパケットのシーケンス番号を伝達するための規定であり、タイムアウトによるパケットロスの誤判定の改善に用いることができる。図1は、本発明で想定するネットワークの構成を示したものである。同図に示すシステムは、複数の端末群100、200がネットワークA、及びネットワークBを介してTCP通信を行う。ネットワークAとネットワークB間に通信データをコピーする装置ネットワークスイッチのポートミラーリング機能、タップ装置等を置き、端末100と端末200の間でやり取りされるパケットのコピーがパケットロス率推定装置300に転送されるように接続する。パケットロス率推定装置300では、ネットワークAとネットワークBの間を流れるパケットを分析することにより、ネットワークAとネットワークBのパケットロス率の推定を行う。[第1の実施の形態]図2は、本発明の第1の実施の形態におけるパケットロス率推定装置の構成を示す。同図に示すパケットロス率推定装置300Aは、フロー処理部11、TCPデータパケット処理部12、TCPACKパケット処理部13、ギャップ番号テーブル14、SACK番号テーブル15、パケットロス数テーブル16、フローテーブル17を有する。このうち、ギャップ番号テーブル14、SACK番号テーブル15、パケットロス数テーブル16、フローテーブル17は、メモリやハードディスク等の記憶媒体である。以下の説明において、ネットワークAからネットワークBへ流れるパケット、ネットワークBからネットワークAへ流れるパケットは、それぞれパケットが流れる方向が識別できるように、例えば別回線で接続する等して、フロー処理部11に転送されるものとする。フロー処理部11では、受信したパケットのIPヘッダ、及びTCPヘッダから、下記の情報で一意に識別できるものをフローとして検出し、フローテーブル17を参照し、当該フローテーブル17に既に登録されているフローであれば、フローIDを取得し、登録されていなければユニークなフローIDを新たに付与して、図3に示すように、フローテーブル17に登録する。送信元IPアドレスSourceAddress送信先IPアドレスDestinationAddress送信元TCPポート番号SourcePort送信先TCPポート番号DestinationPortフローの方向上記のフローの方向は、例えば、データパケットが流れる方向を基準にして、ネットワークAからネットワークBに流れる場合は1、ネットワークBからネットワークAに流れる場合は0というような識別番号を設定する。TCPは双方向の通信プロトコルであるため、一つのパケットに、データパケットとしてのシーケンス番号と受信確認のためのACKシーケンス番号の両方が含まれる。フロー処理部11は、ネットワークAからネットワークBへの受信パケットから図4に示すデータパケット情報を取り出して、TCPデータパケット処理部12に渡す。また、ネットワークBからネットワークAへのパケットから、図5に示すACKパケット情報を取り出して、TCPACKパケット処理部13に渡す。TCPデータパケット処理部12は、aパケットシーケンス番号が欠落しているかのチェック;b受信パケットが再送パケットか否かのチェック;c受信パケットが重複パケットか否かのチェック;を行う。aのパケットシーケンス番号が飛んでいるか否かのチェックは、フローの最終シーケンス番号と受信パケットのシーケンス番号が連続しているかをチェックする。具体的には、前のパケットが1~999、到着パケットが2000~2999である場合には、1000~1999が欠落していることになる。この場合、欠落している1000~1999をギャップ番号テーブル14に格納する。この場合は、左端を1000、右端を1999としてギャップ番号テーブル14に設定する。bの受信パケットが再送パケットか否かのチェックは、受信パケットのシーケンス番号が未受信の番号かをチェックする。具体的には、ギャップ番号テーブル14に記録されていれば欠落未受信と判定する。未受信であれば、観測ポイントよりも前でパケットロスが発生し、そのパケットが再送されてきたものと見做す。例えば、ネットワークA⇒ネットワークBのフローであれば、ネットワークAのパケットロスと見做し、ネットワークB⇒ネットワークAのフローであれば、ネットワークBのパケットロスと見做してカウントし、パケットロス数テーブル16に格納する。cの受信パケットが重複パケットか否かのチェックは、既に受信済みのシ-ケンス番号のパケットが再度送られてきたかをチェックし、再度送られてきたら重複パケットと判断する。判断の具体的な方法としては、フローテーブル17のフローの最終シーケンス番号受信済みパケットで最も大きいシーケンス番号よりも小さく=古い番号のパケットである、ギャップ番号テーブル14に含まれていないもの=未受信パケットではないを重複パケットと見做す。重複パケットであるということは、観測ポイントよりも後でパケットロスが起きたと見做し、ネットワークA⇒ネットワークBのフローであれば、ネットワークBのパケットロス、ネットワークB⇒ネットワークAのフローであれば、ネットワークAのパケットロスとしてカウントし、パケットロス数テーブル16に格納する。但し、重複パケットであっても、既に受信端末によってパケットの受信確認がされている場合ACKまたはSACKパケットが送信され、観測ポイントに届いている場合は、観測ポイントよりも後でパケットロスが起きたことによる再送ではなく、送信端末がTCPのタイムアウト等により再送されたパケットであるため、ネットワークのパケットロスとしてはカウントしないようにする。具体的には、TCPデータパケット処理部12では以下に示す手順でデータパケット情報を処理する。図6は、本発明の第1の実施の形態におけるTCPデータパケット処理部の処理のフローチャートである。ステップ101TCPデータパケット処理部12は、フロー処理部11からデータパケット情報を取得する。データパケット情報に含まれるフローIDに基づいて、フローテーブル17を検索し、フロー情報を取得する。ステップ102フローIDに基づいて、図7に示すパケットロステーブル16を検索し、該当するフローIDの転送パケット数に1加える。ステップ103データパケット情報に含まれるシーケンス番号受信シーケンス番号が、フローテーブル16の最終シーケンス番号より大きく、かつ、最終シーケンス番号に1を加算した値と受信シーケンス番号が等しい場合には、シーケンス番号が欠落しているものとしてステップ104に移行し、等しくない場合はステップ105に移行する。ステップ104図8に示すギャップ番号テーブル14にステップ103の欠落している番号ギャップを記録する。ギャップ番号テーブル14のLeftEdgeには、最終シーケンス番号に1加えた値を、RightEdgeには受信シーケンス番号から1を引いた値を記録する。ステップ105ギャップ番号テーブル14に受信パケットのシーケンス番号が含まれるかを判定し、含まれる場合はステップ106に移行し、含まれない場合はステップ108に移行する。ステップ106ステップ105において含まれると判定された場合はパケットロスと見做し、当該パケットロスをパケットロス数テーブル16に記録する。具体的には、フロー方向が、ネットワークAからネットワークBであれば識別番号1、パケットロス数テーブル17のフローIDに対応するネットワークAのパケットロス数に1を加算する。一方、フロー方向がネットワークBからネットワークAであれば識別番号0、パケットロス数テーブル17のフローIDに対応するネットワークBのパケットロス数に1を加算する。ステップ107ギャップ番号テーブル14から区間受信パケットのシーケンス番号~受信パケットのシーケンス番号データ長-1を除く。具体的には、ギャップ番号テーブル14のLeftEdgeもしくは、RightEdgeの修正による除去、または、該当エントリを削除して、除去区間を含まないように新たに2つのエントリを作成し、処理を終了する。ステップ108ステップ105において、ギャップ番号テーブル14に受信パケットのシーケンス番号が存在しない場合には、パケットロスではないと見做し、パケットの重複受信のチェックを行う。具体的には、受信パケットのシーケンス番号が最終シーケンス番号フローテーブル以下、かつ、受信パケットのシーケンス番号が最終ACKシーケンス番号フローテーブルより大きく、かつ、受信パケットのシーケンス番号が図9に示すSACK番号テーブル15に登録されていない場合は、ステップ109に移行し、登録されている場合には受信端末からの受信確認パケットSACKパケットを受信しているため、ステップ110に移行する。ステップ109パケットロスをパケットロス数テーブル16に記録する。具体的には、フロー方向がネットワークAからネットワークBであれば、パケットロス数テーブル16の該当フローIDのネットワークBのパケットロス数に1加算する。フロー方向が根とワークBからネットワークAであれば、パケットロス数テーブル16の該当フローIDのネットワークAのパケットロス数に1加算し、処理を終了する。ステップ110フローテーブル14の最終シーケンス番号を更新する。具体的には、フローテーブル14の該当号フローIDの最終シーケンス番号を、シーケンス番号データ長-1として更新し、パケットカウンタ数をカウントアップせずに処理を終了する。TCPACKパケット処理部13は、ACKパケット、SACKパケットの受信が確認されると、確認されたACKパケットのシーケンス番号をフローテーブル17に格納し、その中にSACKパケットが含まれている場合はSACKの情報をSACK番号テーブル15に格納する。次に、TCPACKパケット処理部13がフロー処理部11から、ネットワークBからネットワークAへのパケット取り出されたACKパケット情報を取得した場合の処理を説明する。図10は、本発明の第1の実施の形態におけるTCKACKパケット処理部の処理のフローチャートである。ステップ201TCKACKパケット処理部13は、フロー処理部11から取得したACKパケット情報のフローIDに基づいて、フローテーブル17のACKシーケンス番号をACKパケット情報として取得したACKシーケンス番号で更新する。ステップ202取得したACKパケット情報にSACKの情報が含まれているかを判定し、含まれている場合にはステップ203に移行し、含まれていない場合は当該処理を終了する。ステップ203SACK情報が含まれている場合には当該SACK情報をSACK番号テーブル15に記録する。具体的には、ACKパケット情報のフローID、SACKLeftEdge,SACKRightの情報をそれぞれSACK番号テーブル15のフローID、LeftEdge、RightEdgeとして追加するn=1~4。ステップ204古いSACK情報をSACK番号テーブル15から削除する。具体的には、ACKパケット情報のACKシーケンス番号より小さい番号のLeftEdge、及び、RightEdgeを持つエントリをSACK番号テーブル15から削除する。上記の処理により、TCPのデータパケットがTCPデータパケット処理部12で処理される毎に、フローがネットワークA、ネットワークBにおいてロスしたと想定されるパケット数とパケットロス率=パケットロス数/転送パケット数を算出することができる。本実施の形態では、図11に示すように、TCP受信端末から送られるACKパケットのシーケンス番号を記録しておき、重複パケットが既にACKパケットにより受信確認されているパケットであることが確認できれば、ネットワークBにおいてパケットロスが発生していないことが明らかであるため、TCP送信端末による誤再送と見做し、ネットワークBのパケットロスとしてはカウントしない。[第2の実施の形態]前述の第1の実施の形態では、図12Aに示すように、測定ポイントを通過したACKパケットを記録し、再送パケットと記録済みのACKパケットを照合するため、ACKパケットが再送パケットより先に通過することが条件であった。これに対し、本実施の形態では、図12Bに示すように、測定ポイントとTCP受信端末の遅延時間を予め測定しておき、再送パケットより後にACKパケットが到着した場合でも、遅延時間からACKパケットの送信時刻を推定し、再送パケットの通過時刻とACKパケットの送信時刻の比較で順序関係を決める。再送パケットよりACKパケットの方が早く送信されたとみなした場合には、ACKパケットをロス率の補正に用いる。つまり、再送パケットはタイムアウト等による誤送信とみなし、ネットワークBのパケットロスとしてカウントしない。したがって、本発明では、測定端末とTCP受信端末の遅延時間に基づいて、パケットの順序関係を補正するため、遅延時間の測定が必要になる。遅延時間の測定方法の一つとして、TCP3wayハンドシェイクの例を示す。TCPは双方向の通信プロトコルであるため、1つのコネクションに2つ双方向のフローが含まれる。このため、TCP端末p1からp2に対してTCPコネクション接続を開始した場合、図13に示すように、SYNとSYNACKのパケットのタイムスタンプTs,Teを用いて、測定ポイントとTCP端末p2の片道遅延時間をTe-Ts/2として算出し、p1→p2のフローにおけるネットワークBの片道遅延時間として用いる。なお、測定ポイントとTCP端末間の遅延時間は対称であるものとする。p1→p2のフローにおけるネットワークBの片道遅延時間は、SYNACKとACKのタイムスタンプから同様にTe-Ts/2にて算出する。算出した片道遅延時間は、フロー処理部11により図14に示すようにフローテーブル17に格納される。同図に示すフローテーブル27は、図3のフローテーブルにネットワークBの片道遅延時間のデータ項目を追加した構成である。フローテーブル27の片道遅延時間を用いてパケットの順序関係を補正するために、本実施の形態では、再送パケットに対してタイムスタンプを記録する。タイムスタンプ記録ため、図15に示すように、パケットロス率推定装置300Bに再送パケットテーブル28を備える。TCPデータパケット処理部12は、フロー処理部11からデータパケット情報を取得すると、TCPシーケンス番号分析を行う。これにより、再送パケットを検出した場合には、図16に示すように、再送パケットテーブル28にパケットのシーケンス番号のLeftEdge、RightEdge、現在時刻タイムスタンプを記録する。再送パケットの検出方法としては、受信パケットが重複パケットか否かのチェックは、既に受信済みのシ-ケンス番号のパケットが再度送られてきたかをチェックし、再度送られてきたら重複パケットと判断する。判断の具体的な方法としては、フローテーブル27のフローの最終シーケンス番号受信済みパケットで最も大きいシーケンス番号よりも小さく=古い番号のパケットである、ギャップ番号テーブル14に含まれていないもの=未受信パケットではないを重複パケットと見做す。重複パケットであるということは、観測ポイントよりも後でパケットロスが起きたと見做し、ネットワークA⇒ネットワークBのフローであれば、ネットワークBのパケットロス、ネットワークB⇒ネットワークAのフローであれば、ネットワークAのパケットロスとしてカウントする。ここで、パケットの順序関係の補正により、ACKが再送パケットの後に到着した場合に対応できるようにするため、本実施の形態では、TCPACKパケット処理部13では、図10の処理に加えて、以下の処理を行う。図17は、本発明の第2の実施の形態におけるTCPACKパケット処理部の処理のフローチャートである。同図において、図10と同一の処理部分には図10と同一のステップ番号を付し、その説明を省略する。TCPACKパケット処理部13では、フロー処理部11からACKパケット情報を取得すると、ACKパケットが属するフローIDから、再送パケットテーブル28を検索し、SACKパケットに含まれるシーケンス番号をチェックするステップ301。当該チェックにおいて、SACKのLeftEdge≦再送パケットテーブルのLeftEdgeandであればステップ302、Yes、パケットの順序関係を補正するステップ303。次に、ACKパケットが属するフローIDから再送パケットテーブル28を検索してACKパケットに含まれるシーケンス番号をチェックするステップ304。当該チェックにおいて、再送パケットテーブルのRightEdge<ACKシーケンス番号であるときステップ305,Yes、以下に示すパケットの順序関係の補正を行うステップ306。なお、前述の図10のステップ202において、ACKパケット情報にSACKの情報が含まれていない場合ステップ202Noは、ステップ304の処理に移行するものとする。パケットの順序関係の補正を以下の式で行う。現在時刻-フローテーブルのネットワークBの片道遅延時間<再送パケットテーブルのタイムスタンプ上記の式が成り立つならば、再送パケットが測定ポイントを通過する前に、ACKパケットが送信されたと見做し=最初のパケットは受信端末に届いており、ネットワークでパケットロスは発生していない、既にパケットロスとしてカウントされている分を補正するため、パケットロス数テーブル16の該当フローIDの行において、ネットワークBのパケットロス数から1を減算する。<評価>本発明をネットワークシミュレータNS2httpwwwisiedunsnamnsを用いて評価した結果を示す。評価では、2台の端末が2つのネットワークABを経由してTCP通信を行い、ネットワークABでパケットロスがランダムに発生するシミュレーション環境を構築した。シミュレーションでは、端末1→ネットワークA→ネットワークB→端末2の経路でTCPのデータパケットを流し、ネットワークABの間を流れるパケットに対して、本発明のアルゴリズムを用いてネットワークBにおけるパケットロス率を推定した。また、シミュレーションは同一の条件で10回行い、推定誤差の最大値を結果とした。分析対象のパケットは約10000パケットになるようにした。以下に評価結果を示す。非特許文献2では、分析対象パケット数10000、ネットワークのパケットロス率103の条件において約50程度の推定誤差が出ていたのに対して、本発明のアルゴリズムでは最大でも誤差が2程度である結果が得られ、ACK及びSACKの情報を用いることで大幅な精度向上を達成することが確認できた。なお、上記の実施の形態におけるパケットロス率推定装置の各構成要素の動作をプログラムとして構築し、パケットロス率推定装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更応用可能である。"