JP2008141565A - プロトコル種別判別方法、そのシステム及びプログラム - Google Patents

プロトコル種別判別方法、そのシステム及びプログラム Download PDF

Info

Publication number
JP2008141565A
JP2008141565A JP2006326707A JP2006326707A JP2008141565A JP 2008141565 A JP2008141565 A JP 2008141565A JP 2006326707 A JP2006326707 A JP 2006326707A JP 2006326707 A JP2006326707 A JP 2006326707A JP 2008141565 A JP2008141565 A JP 2008141565A
Authority
JP
Japan
Prior art keywords
protocol
packet
probability
protocol type
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006326707A
Other languages
English (en)
Other versions
JP4793580B2 (ja
Inventor
Yasuhiro Yamazaki
康広 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006326707A priority Critical patent/JP4793580B2/ja
Publication of JP2008141565A publication Critical patent/JP2008141565A/ja
Application granted granted Critical
Publication of JP4793580B2 publication Critical patent/JP4793580B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

【課題】ネットワークに流れているパケットを計測することによって、パケットのプロトコルの判別を行うことができるプロトコル種別判別方法、そのシステム及びプログラムを提供すること。
【解決手段】送信端末のウィンドウ幅の情報を表す指標の統計情報が、プロトコルの種別毎に特有な特徴を持つことに着目し、ネットワークに流れるパケットを所定のサンプリング確率(フルサンプリングも含む)で計測することにより、送信端末のウィンドウ幅の情報を表す指標の統計情報を計算し、この指標の統計情報に基づいて、パケットのプロトコルの種別を判別することを特徴とする。
【選択図】図5

Description

本発明はネットワークの品質を計測する技術に関し、特に、所定のサンプリング計測下においてパケットのプロトコルの種別を判定するプロトコル種別判別方法、そのシステム及びプログラムに関する。
現在のネットワークシステムでは、種々なプロトコルが存在している。例えば、代表的なプロトコルであるTCPをとってみても、さらに細かく見ると、TCP Tahoe、TCP Reno、TCP NewReno、TCP Vegas、High-Speed TCP、BIC-TCP、TCP-Areno、TCP-Westwood等の多くの種類(ここではTCPのversion)が存在している。
このように多くの種類のプロトコルのパケットが流れているネットワークにおいて、Endホスト側では、どのようなプロトコルで通信を行っているかは自明である。
しかしながら、ネットワーク中に流れるパケットの中身を観察するだけでは、プロトコルの種別を判断することは難しい。例えば、プロトコルがTCPの場合、輻輳制御のアルゴリズムは異なるが、パケットのヘッダフォーマットは同じであり、ヘッダフォーマットを確認するだけでは、TCPのversionは不明である。
一方、プロトコルの種別をネットワークの品質管理に利用する場合、そのプロトコルの種別が重要となる。
そこで、本発明は上記課題に鑑みて発明されたものであって、ネットワークに流れているパケットを計測することによって、パケットのプロトコルの判別を行うことができるプロトコル種別判別方法、そのシステム及びプログラムを提供することにある。
上記課題を解決する本発明は、ネットワークに流れるパケットのプロトコルの種別を判別するプロトコル種別判別方法であって、ネットワークに流れるパケットを所定のサンプリング確率で計測して、送信端末のウィンドウ幅の情報を表す指標を計算し、前記指標の統計情報に基づいて、パケットのプロトコルの種別を判別することを特徴とする。
上記課題を解決する本発明は、ネットワークに流れるパケットのプロトコルの種別を判別するプロトコル種別判別システムであって、ネットワークに流れるパケットを所定のサンプリング確率で計測して、送信端末のウィンドウ幅の情報を表す指標を計算する計算手段と、前記指標の統計情報に基づいて、パケットのプロトコルの種別を判別する判別手段とを有することを特徴とする。
上記課題を解決する本発明は、ネットワークに流れるパケットのプロトコルの種別を判別するプログラムであって、ネットワークに流れるパケットを所定のサンプリング確率で計測して、送信端末のウィンドウ幅の情報を表す指標を計算する処理と、前記指標の統計情報に基づいて、パケットのプロトコルの種別を判別する処理とを情報処理装置に実行させることを特徴とする。
本発明によれば、パケットを解析するだけでは、プロトコルの種別を判別することができないようなものであっても、ネットワークを流れるパケットを計測して得られたACK重複度、又は、シーケンス番号逆転度を用いて、ネットワークを流れるパケットのプロトコルの判定を行うことができる。何故なら、本発明は、ACK重複度又はシーケンス番号逆転度のヒストグラムは、プロトコルの種別毎に特有な分布を持つことに着目し、それを利用してプロトコルの判定を行うように構成しているからである。
<第1の実施の形態>
本発明の第1の実施の形態を説明する。
本発明の特徴は、送信端末のウィンドウ幅の情報を表す指標の統計情報が、プロトコルの種別毎に特有な特徴を持つことに着目し、ネットワークに流れるパケットを所定のサンプリング確率(フルサンプリングも含む)で計測することにより、送信端末のウィンドウ幅の情報を表す指標の統計情報を計算し、この指標の統計情報に基づいて、パケットのプロトコルの種別を判別することを特徴とする。
ここで、送信端末のウィンドウ幅とは、送信端末が受信端末からの確認応答を受信しなくてもデータを送信できるパケット数やデータ量の範囲である。そして、送信端末のウィンドウ幅の情報を表す指標とは、ネットワークに流れるパケットを所定のサンプリング確率(フルサンプリングも含む)で計測することによって得られる送信端末のウィンドウ幅を推定する情報であり、例えば、代表的な指標として、同一のACK番号が連続した数を示すACK重複度、又は、送信シーケンス番号の逆転時のシーケンス番号以上のシーケンス番号のサンプリング個数を示すシーケンス番号逆転度等がある。
ここで、ACK重複度とは、同一のACK番号が何個連続したかを示すものである。例えば、図1は送信パケットを四角で、ACKパケットを丸で示し、各図形内のそれぞれの数値がシーケンス値、ACK番号を示しており、シーケンス値1、2、3の送信パケットが送信され、それに応答するACKパケットのACK番号が2、3、4と観測されている様子を示している。そして、シーケンス値4の送信パケットはロスし、その後、シーケンス値5、6の送信パケットが送信された後にシーケンス値4の送信パケットが再送されている。このとき、観測されるACK番号は、ACK番号4が3個連続した後に、シーケンス番号4の再送信パケットに応答するACK番号7のACKパケットが観測される。従って、ACK番号4が3個連続しているので、ACK重複度は3となる。
また、シーケンス番号逆転度とは、シーケンス値(以下、SNと記載する)の逆転が発生したとき、逆転時のSN以上のSNをいままで何個観測したかをカウントしたものである。SNの逆転とは、観測されるパケットのシーケンス番号が昇順とならず、パケットの再送等により、観測されるシーケンス番号が低下することを言う。
例えば、図2は送信パケットを四角で、観測パケットを丸で示し、各図形内のそれぞれの数値がシーケンス値を示しており、パケットのシーケンス番号が1、2、3のように昇順している時、次に観測するパケットのシーケンス番号が4とならずに5となり、5、6、7のように昇順後にシーケンス番号が4となり、シーケンス番号が低下する様子を示している。この場合、SNの逆転が発生したとき、逆転時のSN(ここでは、SNが3)以上のSNは、4、5、6、7の4個であるので、シーケンス番号逆転度は4である。
このように、送信端末のウィンドウ幅の写像として、ACK重複度、又は、シーケンス番号逆転度等のような、ネットワークに流れるパケットを観測することによって得られる指標を計算する。
続いて、統計情報とは、ヒストグラムや、ヒストグラムを識別できるようなヒストグラムの和(平方和)、極値(最大,最小)、平均値(相加平均、平方平均、幾何平均、調和平均)、モーメント(歪度、尖度)、分散(標準偏差、分散、平均方法誤差、中央値からの平均絶対偏差、平均からの平均絶対偏差)、中央値、最頻値、偏差の平方和、共分散、相関や、後述するようなヒストグラムの特定領域の割合の情報でも良い。
このような、ACK重複度又はシーケンス番号逆転度のヒストグラム等の統計情報は、プロトコル、パケットロス率毎に特有な分布を持つ。例えば、図3は、横軸をACK重複度、縦軸をその頻度に取ったヒストグラムであり、プロトコルがTCP RenoとBIC TCPと場合において、パケットロス率が1%の時の各サンプリング確率(100%、50%、25%、12.5%、6.25%)のヒストグラムである。図3に示されるように、同じパケットロス率であっても、プロトコルの種別や、サンプリング確率が異なれば、ACK重複度のヒストグラムが異なることがわかる。
そこで、ACK重複度又はシーケンス番号逆転度の統計情報(ヒストグラム、又はヒストグラムの統計情報)を、各プロトコルに対して、所定のサンプリング確率、パケットロス率毎にデータベース化しておく。そして、ネットワーク上に流れるパケットを所定のサンプリング確率でACK重複度又はシーケンス番号逆転度を計測し、この計測したACK重複度又はシーケンス番号逆転度の統計情報と近似する統計情報をデータベースから見つけることができれば、その統計情報に対応するプロトコルが計測しているパケットのプロトコルであると判断できる。また、統計情報はパケットロス率毎にもデータベース化されているので、同時に計測下のパケットのパケットロス率も求めることができる。
尚、統計情報のマッチングの検索方法であるが、予めデータベース化された、各プロトコルに対して所定のサンプリング確率、パケットロス率毎にACK重複度又はシーケンス番号逆転度の統計情報と、観測したACK重複度又はシーケンス番号逆転度の統計情報とを、ヒストグラムの和(平方和)、極値(最大,最小)、平均値(相加平均、平方平均、幾何平均、調和平均)、モーメント(歪度、尖度)、分散(標準偏差、分散、平均方法誤差、中央値からの平均絶対偏差、平均からの平均絶対偏差)、中央値、最頻値、偏差の平方和、共分散、相関等で比較することができる。そして、観測したACK重複度又はシーケンス番号逆転度の統計情報と近似する統計情報を選択する。尚、上記の統計量を複数組み合わせてマッチングの検索を行うことも可能である。
次に、本発明を具体的なシステムに適用した実施の形態を説明する。尚、以下の説明では、ACK重複度を用いる場合について説明する。また、具体例を用いて説明する為、本実施の形態においてのプロトコルの種別とは、TCPのバージョン、例えば、TCP−Renoや、BIC−TCP等をいうものとする。
図4は本発明が適用されるネットワークの概要を示した図である。
図4中、1はプロトコルの種別を判定する判定装置であり、2,3は通信端末であり、4,5は分岐装置である。尚、分岐装置4,5は、双方向のパケットを取得するように設けられているが、必要に応じて一方のみでもかまわない。また、通信端末2または3は必ずしも通信を終端するものである必要は無く、通信を中継するものでも良い。
図5は判定装置1の構成を示すブロック図である。
判定装置1は、分岐装置4,5からのデータ入力であるデータ受信部111及びデータ受信部112と、データ受信部111,112で入力されたパケットをN個に一個の確率(サンプリング確率s=1/N)でパケット情報を取得するサンプリング処理部113と、取得したパケットの中の情報を用いてフロー分類するフロー識別部114と、その結果を記憶するフロー情報格納部115とから構成されるデータ前処理部100を備えている。尚、データ受信部111と分岐装置4は、通信端末2から通信端末3へのデータ通信の送信SNの観測と、通信端末3から通信端末2へのACK番号を観測するために設けられている。同様に、データ受信部112と分岐装置5は、通信端末3から通信端末2へのデータ通信の送信SNの観測と、通信端末2から通信端末3へのACK番号を観測するために設けられている。そのため、データ受信部111と分岐装置4、データ受信部112と分岐装置5のそれぞれの組は必ずしも両方の組が必要とされる訳ではなく、必要に応じて一方のみ組のみでもかまわない。
また、判定装置1には、フロー情報格納部115から情報を抽出し、ACK番号を識別してEnd-to-End情報格納部205に格納するACK番号識別部201と、フロー情報格納部115から情報を抽出し、ACK重複度を検出してEnd-to-End情報格納部205に格納するACK重複度検出部202と、End-to-End情報格納部205から情報を抽出し、ACK重複度のヒストグラムを計算するヒストグラム計算部203と、各プロトコルに対して、所定のサンプリング確率、パケットロス率毎に、ACK重複度のヒストグラムが格納されているヒストグラムデータベース206と、ヒストグラム計算部203で計算されたヒストグラムに近似したヒストグラムを検索し、そのヒストグラムに対応するプロトコル及びパケットロス率を照合する照合部204とから構成されるプロトコル判定部200を備える。尚、ヒストグラムデータベース206には、上述したように、ACK重複度の統計情報(ヒストグラム、又はヒストグラムの統計情報)が、各プロトコルに対して、所定のサンプリング確率、パケットロス率毎にデータベース化されて格納されているものとする。
また、判定装置1は、プロトコル判定部200で判定した結果を記憶しておく結果格納部300を備えている。
本実施の形態では、はじめにネットワーク上を流れているパケットを計測装置1で取り込み、データ前処理部100に入ることにより処理が開始される。分岐装置4から入力されたデータはデータ受信部111で、分岐装置5から入力されたデータはデータ受信部112で受信する。データ受信部111とデータ受信部112とでデータを受け取った後、受信部はそのデータをサンプリング処理部113へ渡す。
サンプリング処理部113ではN個に一個の確率でパケット情報を取得する。このときのサンプリング処理方法としては、乱数を発生させてサンプリング確率s(1/N)と比較し、その大小で取捨判定を行うランダムサンプリングや、パケット全体やプロトコル毎やフロー毎にカウンタを一つ保持しておき、そのカウンタ値とサンプリング確率と比較して、取捨判定を行う均等サンプリングや、ACK番号等パケットヘッダ情報の一部とサンプリング確率とを比較する方法などが考えられる。
サンプリング処理部113で取得パケットを決定した後に、フロー識別部114では、取得パケットの情報の一部、IPアドレスやポート番号等の情報を用いてパケットを分類(フロー識別)し、その結果をフロー情報格納部115に記憶しておく。
ここでデータ前処理部100は,サンプリング処理部113を行ってからフロー識別部114の処理を行っているが、フロー識別処理部114でフロー識別した後に、サンプリング処理部113で取得パケットを決定してもかまわない。また、本実施形態においては、サンプリング処理部113を設けているが、これを省略し、分岐4、5にサンプリング処理の機能を付けても構わない。
次に、プロトコル判定部200について説明する。
まず、ヒストグラムデータベース206に格納されるヒストグラムの生成について説明する。尚、ヒストグラムデータベース206に格納されるヒストグラムは、プロトコル判定部200が生成しても良いし、予め他の方法により取得したヒストグラムのデータをヒストグラムデータベース206に格納しても良い。
まず、所定のサンプリング確率sでパケットロス率と、ACK重複度との関係を調査する。サンプリング確率sは1(フルサンプリング)が理想的ではあるが、これに限られない。また、調査は、パケットロス率0.001%(小さい値)から10%程度(大きな値)程度まで、代表的な調査ポイントを設定して、各ポイントでヒストグラムを作成するなどとすることができる。
実際に計測したサンプリング率と、調査段階で計測したサンプリング率が異なるような場合、調査段階で計測したサンプリング率sの調査結果から実際に計測したサンプリング率sの結果を予測する。例えば、予測方法のひとつとして、計測対象がACK重複度である場合を説明すると、フルサンプリング(サンプリング確率s=1)時におけるACK重複度=nの頻度がmとすると、実際のサンプリング確率s1では、n×s1を計算する。この結果(n×s1)は、ACK重複度=k(整数)とACK重複度=k+1との間にある。そして、頻度mをkとk+1とに、n×s1に基づいて重み付け分配する。例えば、フルサンプリング(サンプリング確率s0=1)時におけるACK重複度5の頻度が16個とすると、サンプリング確率s1(=0.25)では、n×s1=5×0.25=1.25となる。そこで、重複度1と重複度2とに頻度16を分配する。すなわち、ACK重複度1に対して16×0.75=12を加算し、ACK重複度2に対して16×0.25=4を加算する。このような処理を各ACK重複度で行い、サンプリング確率s1におけるヒストグラムを予測する。尚、上述した例は一例であり、趣旨を逸脱しない範囲で他の補正方法でもかまわない。
このようにして、ネットワークで計測が予測されるプロトコルに対して、サンプリング確率s、パケットロス率毎のヒストグラムを、ヒストグラムデータベース206にデータベース化しておく。
ACK番号識別部201では、フロー情報格納部115から判定解析対象(指定期間の指定フローに該当するパケット)のACKパケットを順番に取り出しACK番号を識別する。そして、その結果をEnd-to-End情報格納部205へ記録する。
ACK重複度検出部202では、End-to-End情報格納部205から情報を読み出し、重複しているACK番号をカウントアップし、ACK重複度を検出する。
ヒストグラム計算部203は、ACK重複度検出部202が検出したACK重複度をEnd-to-End情報格納部205から読み出して、ACK重複度のヒストグラムを作成する。
照合部204は、度数分布計算部203が作成したACK重複度のヒストグラムと、ヒストグラムデータベース206に格納されている、サンプリング確率sのヒストグラムとを照合し、近似するヒストグラムを検出する。そして、そのヒストグラムに対応するプロトコル及びパケットロス率を、計測対象であるパケットのプロトコル及びパケットロス率と判定し、その結果を結果格納部300に格納する。
第1の実施の形態によれば、ACK重複度、又は、シーケンス番号逆転度を計測することにより、計測したパケットのプロトコルを判別することができる。
尚、上述した第1の実施の形態では、ACK重複度を例にして説明したが、シーケンス番号逆転度を計測してヒストグラムを作成し、このヒストグラムと、各プロトコルに対して、所定のサンプリング確率、パケットロス率毎にデータベース化されたシーケンス番号逆転度のヒストグラムとの照合を行うことにより、ACK重複度と同様に、計測したパケットのプロトコルを判別することができる。
実施例1では、ACK重複度のヒストグラムのマッチングの具体例について説明する。尚、以下の説明において、スループット推定式が下記式
Figure 2008141565
(RTTはラウンドトリップ時間、pはパケットロス率、bはdelay ACKパラメタ(送信端末がACKを受け取るごとに1/bウインドサイズを大きくする))
であらわせられるTCP-Renoのうち、b=1及びb=2、サンプリング率100%、ロス率1%の場合のACK重複度のヒストグラムがデータベースに格納されているものとし、b=1のヒストグラムの平均値=16.33、b=2のヒストグラムの平均値=11.55とする。尚、上記スループット推定式は、文献“Jitendra Padhye, Victor Firoiu, Don towsley, Jim Kurose, “Modeling TCP Throughput: A Simple Model and its Empirical Validation”, In ACM SIGCOMM’98”に記載されているものを用いた。
ここで、サンプリング率100%でフローAを計測した結果、フローAでは、173205 pakcetsが通過し、パケットロス量が1732 packetsであった。すると、パケットロス率は1%である。また、そのACK重複度のヒストグラムの平均値が11.55であった。
同様に、サンプリング率100%でフローBを計測した結果、フローBでは、244949 pakcetsが通過し、パケットロス量が2449 packetsであった。すると、パケットロス率は1%である。また、そのACK重複度のヒストグラムの平均値が16.33であった。
ここで、データベースより、TCP-Renoのうち、b=1、サンプリング率100%、ロス率1%の場合におけるACK重複度のヒストグラムの平均値を読みだすと、平均値は16.33である。
フローAのACK重複度のヒストグラムの平均値は11.55であるので、読み出したヒストグラムの平均値16.33とは乖離している。従って、フローAはb=1のTCP-Renoではない。一方、フローBのACK重複度のヒストグラムの平均値は16.33であるので、読み出したヒストグラムの平均値16.33とは一致している。従って、フローAはb=1のTCP-Renoである。
続いて、データベースより、TCP-Renoのうち、b=2、サンプリング率100%、ロス率1%の場合におけるACK重複度のヒストグラムの平均値を読み出と、平均値は11.55である。
フローAのACK重複度のヒストグラムの平均値は11.55であるので、読み出したヒストグラムの平均値11.55と一致している。従って、フローAはb=2のTCP-Renoである。一方、フローBのACK重複度のヒストグラムの平均値は16.33であるので、読み出したヒストグラムの平均値11.55とは乖離している。従って、フローBはb=2のTCP-Renoではない。
これらの結果をまとめると、フローAのプロトコルはb=2のTCP-Renoであり、フローBはb=1のTCP-Renoであることが判定される。
<第2の実施の形態>
第2の実施の形態を説明する。
第1の実施の形態では、サンプリングしたパケットのプロトコルを判定する場合、計測したACK重複度のヒストグラムを作成し、このヒストグラムとデータベース化されたヒストグラムのうち計測したサンプリング確率に対応するヒストグラムとを照合し、最も近似するヒストグラムに対応するプロトコルを、計測したパケットのプロトコルと判別する例を説明した。
第2の実施の形態では、ヒストグラムを作成する処理を省く為、ヒストグラムの特定領域の割合である“観測確率”を統計情報として用いて、算術的に照合を行う例について説明する。尚、以下の説明では、ACK重複度を用いる場合について説明する。
まず、観測確率について説明する。
観測確率は検知確率とも呼ばれ、文献“山崎康広、下西英之、村瀬勉、"サンプリング計測でのパケットロス率推定手法の提案"、電子情報通信学会技術研究報告(NS2004-159,TM2004-62)、November, 2004”等に詳細が記載されているが、本発明の理解に必要な部分について説明する。
図6は、ACK重複度jを横軸とし、ACK重複度の個数全体に対して所定のACK重複度の個数が占める割合Pを縦軸とし、サンプリング確率=1(フルキャプチャ)時のヒストグラムと、このヒストグラムから予測したサンプリング確率=s時のヒストグラムとを示した図である。尚、図6中、点線はサンプリング確率=1(フルキャプチャ)時のヒストグラム、実線はサンプリング確率=s時のヒストグラムを示している。
割合Pは、パケットロス率p、サンプリング確率s、ACK重複度jを変数とする関数として定義することができ、P(p,s,j)と表現することができる。そして、サンプリング確率=s時のP(p,s,j)の総数と、サンプリング確率=1の時のP(p,1,j)の総数とは、下記式1で示されるように共に1である。
Figure 2008141565
しかしながら、サンプリング確率sのヒストグラムはjが1以下は観測することができないので、j=2以上の閾値kACKでACK重複度を計測することとなる。この閾値kACKは計測対象となるACK重複度の値を決定する値であり、例えば、閾値kACK=2とした場合には2以上のACK重複度を計測対象とすることを意味する。
従って、サンプリング確率sの時のP(p,s,j)の総数は、実際には観測することができない閾値kACK以下の部分を含んでいることになり、実際に観測できる割合QACK(p,s,kACK)は、以下の式2となる。
Figure 2008141565
この割合QACK(p,s,kACK)は、サンプリング確率s時において、閾値kACK以上のACK重複度を観測できる確率であり、この確率を観測確率と呼ぶ。
この観測確率を、上述した第1の実施の形態で述べたヒストグラムを用いて、プロトコルに対するサンプリング確率s、パケットロス率毎に求めて、データベース化しておく。
次に、上述した観測確率を用いたプロトコル種別の判定について説明する。
Step 1
ACK重複度の観測の場合、閾値kACKとして、同じACK番号がk個以上観測したときに1カウントアップし、そのカウント数であるAを計測する。例えば、k=2である場合、同一のACK番号が連続して2個以上観測したときを1カウントしてそのカウント数であるAを計測する。同様に、k=3である場合、同一のACK番号が連続して3個以上観測したときを1カウントしてそのカウント数であるAを計測する。サンプリング確率sと閾値kACKとの組み合わせが異なるAを少なくとも2つ以上観測する。
Step 2
続いて、パケットロス回数をX(収束前は一時的な推定値)とし、パケットロス率をp=X/THとする。ここで、THは計測対象の期間中に発生した通信量(パケットの個数やサイズなど)である。そして、任意のパケットロス回数を初期値X(>0)に選定し、それを初期値のパケットロス率pに変換する。ここで、初期値のパケットロス率pは、p=X/THである。尚、初期値Xの推奨値は、直前期間のパケットロス回数等である。
Step 3
次に、求めたパケットロス率pの値に対応する、サンプリング確率sの任意のプロトコルの観測確率QACK(p,s,kACK)を、データベースから検索し、観測値Aと観測確率QACK(p,s,kACK)とからパケットロス回数Xi+1を、下記式3に基づいて推定する。
i+1=A/QACK(p,s,kACK
式3
そして、下記式に基づいてパケットロス率に変換する。
i+1=Xi+1/TH
Step 4
上述したStep 3を反復計算する。理想的には、Xが真のパケットロス回数であるが、実際には、変化率={(Xi+1−X)/X}又は{(pi+1−p)/p}が一定以内になるまで反復計算を行ったり、iが一定回数になるまで反復計算を行ったりする。
このようにして、サンプリング確率sの計測下におけるAのパケットロス率pi+1、パケットロス回数Xi+1を求める。
Step 5
続いて、Aにおけるパケットロス率pi+1を用いて、A(k≠l)のパケットロス回数Xを求める。Aのパケットロス回数Xは、サンプリング確率sの計測下におけるAのパケットロス率pi+1に対応する観測確率QACK(pi+1,s,kACK)をデータベースから検索し、この観測確率QACK(pi+1,s,kACK)を用いて、式4より求める。
=A/QACK(pi+1,s,kACK) 式4
このとき、Aのパケットロス回数Xは、正しいプロトコルの観測確率が用いられていれば、Aにおけるパケットロス回数Xi+1と近似したものとなる。Aのパケットロス回数Xと、Aにおけるパケットロス回数Xi+1とが近似したものであるならば、計算に用いた観測確率のプロトコルが、計測したパケットのプロトコルである。
一方、Aのパケットロス回数Xと、Aにおけるパケットロス回数Xi+1とが乖離したものであれば、正しいプロトコルの観測確率を選択しなかったこととなり、他のプロトコルの観測確率を用いてStep 2からやり直す。
このようにして、観測確率を用いてプロトコルを推定することができる。
尚、上述の説明では、説明を容易とする為に、同一のサンプリング確率から異なる閾値の観測確率を二つ用いた例を説明したが、精度を高める為に三以上の観測確率を用いるようにしても良い。
また、異なるサンプリング確率から同一の閾値の観測確率を用いても良い。すなわち、サンプリング確率と閾値との組み合わせが異なる観測確率を複数個用いて、プロトコルを判定するようにしても良い。この場合、各観測確率を用いたパケットロス回数の計算は、上述の説明と同様である。
次に、本発明を具体的なシステムに適用した実施の形態を説明する。
図7は第2の実施の形態における判定装置1の構成を示すブロック図である。
第1の実施の形態と異なる所は、ヒストグラム計算部203、照合部204及びヒストグラムデータベース206に代えて、パケットロス回数計算部1203、パケットロス回数照合部1204、観測確率データベース1206を備える点である。
観測確率データベース1206には、上述した観測確率が、プロトコル、パケットロス率、サンプリング確率毎に格納されている。
パケットロス回数計算部1203は、End-to-End情報格納部205からある閾値kのカウント数(A)を読み出し、上述したStep1からStep5の計算を行い、その後に異なる閾値j(≠k)のカウント数(A)を読み出し、上述したStep1からStep5の計算を行い、再度パケットロス回数を求める。
パケットロス回数照合部1204は、パケットロス回数計算部1203からの結果を受け、異なる閾値kとjとから求めたパケットロス回数を照合し、二つのパケットロス回数が近似していれば、用いた観測確率のプロトコルを、パケットのプロトコルと判断する。一方、異なる閾値kとjとから求めたパケットロス回数が乖離していれば、再度の計算をパケットロス回数計算部1203に指示する。
実施例2として、スループット推定式が下記式
Figure 2008141565
(RTTはラウンドトリップ時間、pはパケットロス率、bはdelay ACKパラメタ(送信端末がACKを受け取るごとに1/bウインドサイズを大きくする))
であらわせられるTCP-Renoのうちb=1及びb=2のプロトコルを用い、フローAはb=2のプロトコルのパケットが流れるフローであり、フローBはb=1のプロトコルのパケットが流れるフローであり、RTTが20ms、パケットロス率が1%、s=0.25で5分間の観測した場合の実験結果を説明する。尚、上記スループット推定式は、文献“Jitendra Padhye, Victor Firoiu, Don towsley, Jim Kurose, “Modeling TCP Throughput: A Simple Model and its Empirical Validation”, In ACM SIGCOMM’98”に記載されているものを用いた。
以下の実験では、フローA、フローBともに、bが不明なものとして、プロトコルの判定を行うものとする。
この環境のもとで、フローAは173205 pakcetsが通過、k=2(ACK重複度が2以上を計測対象)の回数は1357個、k=3(ACK重複度が3以上を計測対象)の回数は955個計測できた。また、フローBは244949 pakcetsが通過、k=2(ACK重複度が2以上を計測対象)の回数は2240個,k=3(ACK重複度が3以上を計測対象)の回数は1896個計測できた。
まず、フローAでは、閾値k=2の回数は1357個、通信量Thは173205であるので、バケットロス回数Xの初期値を1357とすると、バケットロス率の初期値は、p=X/Th により、約p0=0.00783となる。従って、b=2の観測確率QACK(0.00783,0.25,2)の値をデータベースから検索すると、QACK(0.00783,0.25,2)は約0.8371であった。
ACK(0.00783,0.25,2)=0.8371を用い、パケットロス回数X1を計算すると、X=1357/0.8371=1621となる。
続いて、パケットロス回数X、X、Xと計算していくと、X=1621、X=1699、X=1722、X=1729、X=1729、X=1731、X=1732、X=1733となり、Xで収束した。X時のパケットロス率は、1733/173205=0.0100054≒0.01となり、b=2における閾値k=3の観測確率QACK(0.01,0.25,3)の値をデータベースから検索すると、0.550965であった。
閾値k=3の個数は955個であるので、閾値k=3のパケットロス回数は955/0.550965=1733となり、k=2の時のパケットロス回数である1733と一致するので、観測確率をb=2から選んだことは正しい。従って、フローAのプロトコルは、b=2のTCP-Renoである。
同様に、フローBでは、閾値k=2の個数は2240個、通信量Thは244949であるので、バケットロス回数Xの初期値を2240とすると、バケットロス率の初期値は、p=X/Th により、約p=0.00914となる。従って、従って、b=2の観測確率QACK(0.00914,0.25,2)の値をデータベースから検索すると、QACK(0.00914,0.25,2)は約0.8037であった。
b=2のQACK(0.00914,0.25,2)=0.8037を用い、パケットロス回数Xを計算すると、X=2240/0.8037=2787なる。
続いて、パケットロス回数X、X、Xと計算していくと、X=2976、X=3043、X=3066、X=3073、X=3076、X=3077となり、Xで収束した。X時のパケットロス率は、3077 / 244949 = 0.01233315≒0.0123となり、b=2における閾値k=3の観測確率QACK(0.0123,0.25,3)の値をデータベースから検索すると、0.482297であった。
閾値k=3の個数は1896個であるので、閾値k=3のパケットロス回数は1896/0.482297=3931となり、k=2の時のパケットロス回数である3077と異なるので、観測確率をb=2から選んだことは間違っている。従って、フローBのプロトコルは、b=2のTCP-Renoではない。
次に、フローBについて、b=1の観測確率を用いて同様な計算を行う。フローBでは、閾値k=2の個数は1357個、通信量Thは244949であり、パケットロス回数X、X、X、Xと計算していくと、X=2240、X=2418、X=2445、X=2449となり、Xで収束した。X時のパケットロス率は、2449 / 244949 = 0.0099979≒0.01となり、閾値k=2の観測確率QACK(0.01,0.25,2)の値をデータベースから検索すると、0.613509であった。
閾値k=3の個数は1896個であるので、閾値k=3のパケットロス回数は、1896 / 0.773735 = 2450となり、k=2の時のパケットロス回数である2449とほぼ一致しており、b=1から選んだ観測確率は正しい。従って、フローBのプロトコルは、b=1のTCP-Renoである。
<第3の実施の形態>
第3の実施の形態は、シーケンス値の観測確率を用いたプロトコル種別の判定について説明する。
図8から図10は、SN値の逆転現象数を統計的な手法を用いて推測する概念を説明する為の図である。
まず、図8に示される如く、逆転度jを横軸とし、逆転度の個数全体に対して所定の逆転度の個数が占める割合Nを縦軸とする、フルサンプリング(フルキャプチャ)時のヒストグラムを予測する。このヒストグラムは、統計的に求めても良いし、実測しても良い。尚、割合Nは、パケットロス率p、サンプリング確率s、逆転度jを変数とする関数として定義することができる。
次に、図9に示す如く、所定のサンプリング確率s下で観測されるヒストグラムを予測する。サンプリング確率が1の時の割合N(p,1,j)の総数は、式4で示され、サンプリング確率sの時の割合NSN(p,s,j)の総数は式5で示される。
Figure 2008141565

Figure 2008141565
ここで、図10に示されるヒストグラムは、予測したサンプリング確率sのヒストグラムであるけれども、サンプリング計測を行っているので、jが0以下は観測することができない。例えば、サンプリングされたパケットのSNが、5,6,4となれば、SNの逆転現象を観測するができるが、例え、SNが逆転していても、SNが逆転した前又は後のパケットのSNがサンプリングできなければ、観測することができないからである。
そこで、j=1以上の閾値で逆転度を計測する。すなわち、この閾値は計測対象となる逆転度の値を決定する値であり、例えば、閾値をk=1とした場合には1以上の逆転度を計測対象とし、閾値をk=2とした場合には2以上の逆転度を計測対象とすることを意味し、通常はk=1である。従って、式2で示されるサンプリング確率sの時の割合N(p,s,j)の総数は、実際に観測することができない閾値k以下の部分を含んでいることになる。
よって、サンプリング確率s時におけるSN値の逆転現象を観測できる確率である観測確率は式6となる。
式6
Figure 2008141565
この観測確率は、本来の発生した逆転現象(s=1のヒストグラム)のなかで、観測した逆転度の事象(s=0.5の斜線面積部分)の割合でもある。そして、この観測確率を求めることにより、観測することができない閾値k以下の逆転現象も含めたSN値の逆転度やパケットロス率を求めことができるのである。
以下、具体的な計算方法を説明する。
Step 1
まず、所定のサンプリング計測下で、SN値の逆転度を観測する。ここで、閾値をkとした場合のカウント値(観測値)をAとする。尚、通常はk=1であり、この場合のカウント値はSN値の逆転回数、すなわちパケットロス回数(SN値の逆転現象数)と等しくなるので、SN値の逆転回数をカウントするようにしても良い。
Step 2
続いて、パケットロス回数(SN値の逆転現象数)をX(収束前は一時的な推定値)とし、パケットロス率をpi+1=Xi+1/Thとする。ここで、Thは計測対象の期間中に発生した通信量(パケットの個数やサイズなど)である。そして、任意のパケットロス回数の初期値X(>0)を選定し、それを初期値のパケットロス率pに変換する。ここで、初期値のパケットロス率pは、p=X/Thである。尚、初期値Xの推奨値は、直前期間のパケットロス回数、Akなどである。
Step 3
次に、pの値から観測確率QSN(p,s,k)を求める。尚、sは所定サンプリング計測時のサンプリング確率であるが、観測確率QSN(p,s,k)≠サンプリング確率sである。ここで、SN値を観測する場合の観測確率QSN(p,s,k)は、式7となる。
式7
Figure 2008141565
但し、kの採りうる値は1以上であり、jは逆転度である。尚、kを1に設定した場合、観測確率QSN(p,s,k)は、
Figure 2008141565
となる。
ここで、サンプリング確率sの時の割合N(p,s,j)は、変数p,s,jの関数として定義され、TCP-Renoの場合、確率分布モデルに基づき、関数Nはポアソン分布をベースに決定することが可能である。この場合の、N(p,s,j)は式8となる。
式8
Figure 2008141565
但し、bは定数である。
なお、N(p,s,j)の分布は、式8に限るものではなく、他の式でも良い。
このように関数N(p,s,j)を定義した後、観測確率QSN(p,s,k)を求める。
Step 4
更に、観測値Aと観測確率QSN(p,s,k)とからXi+1(パケットロス回数)を、式9に基づいて推定し、式10に基づいてパケットロス率に変換する。
式9
i+1=A/QSN(p,s,k)
式10
i+1=Xi+1/Th
Step 5
上述したStep 3とStep 4とを反復計算を行う。理想的には、Xが真のパケットロス回数であるが、実際には、変化率={(Xi+1−X)/X}又は{(pi+1−p)/p}が一定以内になるまで反復計算を行ったり、iが一定回数になるまで反復計算を行ったりする。
このようにして、パケットロス率pi+1、パケットロス回数Xi+1を求める。
上述の計算方法では、統計的な手法を用いて、パケットロス率pi+1、パケットロス回数Xi+1を求める方法を説明したが、実験結果の分布を元にデータベースを構築し、その結果から関数Nを決定する手法も可能である。
以下にデータベースの構築の方法を述べる。
まず、図11のstep1に示す如く、サンプリング確率s(=1)、すなわちフルサンプリング計測下で複数の所定のパケットロス率、例えば、パケットロス率0.001%(小さい値)から10%程度(大きな値)程度まで、図10に示す如く、サンプリング確率s時の逆転度を横軸とし、サンプリング確率s時の割合N(p,s,j)を縦軸とするSN値の逆転現象のヒストグラムをパケットロス率毎に作成する。
次に、図11のstep2に示す如く、作成したヒストグラム(サンプリング確率s=1)に基づいて、所定のサンプリング確率sのヒストグラムを予測する。このサンプリング確率sのヒストグラムN(p,s,j)であるが、フルサンプリングなのでN(p,1,j)が既知となり、式11で与えられる。
式11
Figure 2008141565
但し、pはパケットロス率、sはサンプリング確率、jはSN値の逆転度である。
このようにして得られた各サンプリング確率sのヒストグラムN(p,s,j)を、式6に代入して、図11のstep3に示す如く、各サンプリング確率sの観測確率を求める。尚、求められる観測確率は離散的なものなので、線形補間やログ補間を行って連続的な値を得、図11のstep4に示す如く、観測確率の結果をデータベースに記録する。図12はこのようなデータベースの一例を示したものである。
図12に示されるデータベースでは、検索キーはパケットロス率とサンプリング確率との組み合わせであり、この組み合わせと、その組み合わせの観測確率とが対応付けられて記憶されている。
尚、上述の説明では、フルサンプリング計測下で得られたヒストグラムを基にデータベースを作成したが、かならずしもフルサンプリング計測下で得られたヒストグラムに基づいて作成する必要はない。例えば、多少精度は落ちるが、サンプリング確率=0.9程度のサンプリング計測下で得られたヒストグラムを基にデータベースを作成しても良い。
そして、式10で得られたパケットロス率とその時のサンプリング確率との組み合わせに対応する観測確率を、データベースから検索し、この検索した観測確率を式9に再び代入することにより、上述したStep4の処理を行う。
このように処理することにより、上述した統計的な手法と同様に、パケットロス率pi+1、パケットロス回数Xi+1を求めることが可能となる。
次に、上述した観測確率を用いてプロトコル種別の判定について説明する。尚、上述したSN値の観測確率を、プロトコルに対するサンプリング確率s、パケットロス率毎に求めてデータベース化しておく。
Step 1
まず、所定のサンプリング計測下で、SN値の逆転度を観測する。ここで、閾値をkとした場合のカウント値(観測値)をAとする。尚、k=1の場合のカウント値はSN値の逆転回数、すなわちパケットロス回数(SN値の逆転現象数)と等しくなるので、SN値の逆転回数をカウントするようにしても良い。このような閾値kが異なるAを、サンプリング確率sの計測下で少なくとも2以上観測する。
Step 2
続いて、パケットロス回数(SN値の逆転現象数)をX(収束前は一時的な推定値)とし、パケットロス率をpi+1=Xi+1/Thとする。ここで、Thは計測対象の期間中に発生した通信量(パケットの個数やサイズなど)である。そして、任意のパケットロス回数の初期値X(>0)を選定し、それを初期値のパケットロス率pに変換する。ここで、初期値のパケットロス率pは、p=X/Thである。尚、初期値Xの推奨値は、直前期間のパケットロス回数、A等である。
Step 3
次に、任意のプロトコルにおける、サンプリング確率s時のp、kの値に対応する観測確率QSN(p,s,k)をデータベースから求める。尚、sは所定サンプリング計測時のサンプリング確率であるが、観測確率QSN(p,s,k)≠サンプリング確率sである。
次に、観測値Aと観測確率QSN(p,s,k)とからパケットロス回数Xi+1を、下記式に基づいて推定する。
i+1=A/QSN(p,s,k)
そして、下記式に基づいてパケットロス率に変換する。
i+1=Xi+1/Th
Step 4
上述したStep 3を反復計算する。理想的には、Xが真のパケットロス回数であるが、実際には、変化率={(Xi+1−X)/X}又は{(pi+1−p)/p}が一定以内になるまで反復計算を行ったり、iが一定回数になるまで反復計算を行ったりする。
このようにして、サンプリング確率sの計測下におけるAのパケットロス率pi+1、パケットロス回数Xi+1を求める。
Step 5
続いて、Aにおけるパケットロス率pi+1を用いて、A(k≠l)のパケットロス回数Xを求める。Aのパケットロス回数Xは、サンプリング確率sの計測下におけるAのパケットロス率pi+1に対応する観測確率QSN(pi+1,s,k)をデータベースから検索し、この観測確率QSN(pi+1,s,k)を用いて、次式より求める。
=A/QSN(pi+1,s,k)
このとき、Aのパケットロス回数Xは、正しいプロトコルの観測確率が用いられていれば、Aにおけるパケットロス回数Xi+1と近似したものとなる。Aのパケットロス回数Xと、Aにおけるパケットロス回数Xi+1とが近似したものであるならば、計算に用いた観測確率のプロトコルが、計測したパケットのプロトコルである。
一方、Aのパケットロス回数Xと、Aにおけるパケットロス回数Xi+1とが乖離したものであれば、正しいプロトコルの観測確率を選択しなかったこととなり、他のプロトコルの観測確率を用いてStep 2からやり直す。
このように、観測確率を用いてプロトコルを推定することができる。
尚、上述の説明では、説明を容易とする為に、同一のサンプリング確率から異なる閾値の観測確率を二つ用いた例を説明したが、精度を高める為に三以上の観測確率を用いるようにしても良い。
また、異なるサンプリング確率から同一の閾値の観測確率を用いても良い。すなわち、サンプリング確率と閾値との組み合わせが異なる観測確率を複数個用いて、プロトコルを判定するようにしても良い。この場合、各観測確率を用いたパケットロス回数の計算は、上述の説明と同様である。
次に、本発明を具体的なシステムに適用した実施の形態を説明する。
本発明が適用されるネットワークシステムは、上述した第2の実施の形態における図4と同様である。
図13は第3の実施の形態における判定装置1の構成を示すブロック図である。尚、第2の実施の形態と異なる部分について説明する。
観測確率データベース1306には、上述したSN値の逆転度の観測確率が、プロトコル、パケットロス率、サンプリング確率毎に格納されている。
SN識別部301は、受信したパケットのSN値を計測する。SN逆転度検出部302は、計測したSN値から逆転度を計測する。
パケットロス回数計算部1303は、End-to-End情報格納部205からある閾値kのカウント数(A)を読み出し、上述したStep1からStep5の計算を行い、その後に異なる閾値j(≠k)のカウント数(A)を読み出し、上述したStep1からStep5の計算を行い、再度パケットロス回数を求める。
パケットロス回数照合部1204は、パケットロス回数計算部1303からの結果を受け、異なる閾値kとjとから求めたパケットロス回数を照合し、二つのパケットロス回数が近似していれば、用いた観測確率のプロトコルを、パケットのプロトコルと判断する。一方、異なる閾値kとjとから求めたパケットロス回数が乖離していれば、再度の計算をパケットロス回数計算部1303に指示する。
実施例3として、スループット推定式が下記式
Figure 2008141565
(RTTはラウンドトリップ時間、pはパケットロス率、bはdelay ACKパラメタ(送信端末がACKを受け取るごとに1/bウインドサイズを大きくする))
であらわせられるTCP-Renoのうちb=1及びb=2のプロトコルを用い、フローAはb=2のプロトコルのパケットが流れるフローであり、フローBはb=1のプロトコルのパケットが流れるフローであり、RTTが20ms、パケットロス率が1%、s=0.25で5分間の観測した場合の実験結果を説明する。尚、上記スループット推定式は、文献“Jitendra Padhye, Victor Firoiu, Don towsley, Jim Kurose, “Modeling TCP Throughput: A Simple Model and its Empirical Validation”, In ACM SIGCOMM’98”に記載されているものを用いた。
以下の実験では、フローA、フローBともに、bが不明なものとして、プロトコルの判定を行うものとする。
この環境のもとで、フローAは173205 pakcetsが通過、k=1(SN逆転度が1以上を計測対象)の個数は409個、k=2(SN逆転度が2以上を計測対象)の個数は340個計測できた。また、フローBは244949 pakcetsが通過、k=1(SN逆転度が1以上を計測対象)の個数は602個、k=2(SN逆転度が2以上を計測対象)の個数は560個が計測できた。
まず、フローAでは、閾値k=1の逆転数は409個、通信量Thは173205であるので、バケットロス回数X0の初期値を409とすると、バケットロス率の初期値は、p0=X0/Th により、p=0.00236となる。従って、b=2の観測確率QSN(0.00236,0.25,1)の値をデータベースから検索すると、QSN(0.00236,0.25,1)は0.24939であった。
SN(0.00236,0.25,1)=0.24939を用い、パケットロス回数Xを計算すると、X=409/0.24939=1640となる。
続いて、パケットロス回数X、X、Xと計算していくと、X=1724、X=1731、X=1732となり、Xで収束した。X時のパケットロス率は、1732/173205=0.0099997≒0.01となり、b=2における閾値k=2の観測確率QSN(0.01,0.25,2)の値をデータベースから検索すると、0.1963048であった。
閾値k=2の個数は340個であるので、閾値k=2のパケットロス回数は340 / 0.1963048 = 1732となり、k=1の時のパケットロス回数である1732と一致するので、観測確率をb=2から選んだことは正しい。従って、フローAのプロトコルは、b=2のTCP-Renoである。
同様に、フローBでは、閾値k=1の個数は602個、通信量Thは244949であるので、バケットロス回数X0の初期値を602とすると、バケットロス率の初期値は、p0=X0/Th により、p0=0.00245となる。従って、b=2の観測確率QSN(0.00245,0.25,1)の値をデータベースから検索すると、QSN(0.00245,0.25,1)は0.24927であった。
b=2のQSN(0.00245,0.25,1)=0.24927を用い、パケットロス回数Xを計算すると、X=602/0.24927=2415となる。
続いて、パケットロス回数X、X、Xと計算していくと、X=2547、X=2558、X=2599となり、Xで収束した。X時のパケットロス率は、2559/244949=0.010447≒0.0105となり、b=2における閾値k=2の観測確率QSN(0.0105,0.25,2)の値をデータベースから検索すると、0.19314であった。
閾値k=2の個数は560個であるので、閾値k=2のパケットロス回数は560/0.19314=2899となり、k=1の時のパケットロス回数である2599と異なるので、観測確率をb=2から選んだことは間違っている。従って、フローBのプロトコルは、b=2のTCP-Renoではない。
次に、フローBについて、b=1の観測確率を用いて同様な計算を行う。フローBでは、閾値k=1の逆転数は602個、通信量Thは244949であり、パケットロス回数X、X、X、Xと計算していくと、X=602、X=2408、X=2447、X=2449となり、Xで収束した。X時のパケットロス率は、2449 / 244949 = 0.0099979≒0.01となり、閾値k=2の観測確率QSN(0.01,0.25,2)の値をデータベースから検索すると、0.2286649であった。
閾値k=2の個数は560個であるので、閾値k=2のパケットロス回数は560 / 0.2286649 = 2449となり、k=1の時のパケットロス回数である2449と一致しており、b=1から選んだ観測確率は正しい。従って、フローBのプロトコルは、b=1のTCP-Renoである。
以上の如く、ACK重複度及びSN逆転度の観測確率を用いて、プロトコルを判定する説明を行ったが、ACK重複度及びSN逆転度のいずれか一方のみの観測確率を用いることに限定されず、ACK重複度とSN逆転度との双方の観測確率を用いてプロトコルを判定することも可能である。すなわち、ACK重複度の観測確率から得られたパケットロス数とSN逆転度の観測確率から得られたパケットロス数とを、上述の如く比較することにより、プロトコルの判定を行うようにしても良い。
尚、上述した実施の形態では、各部をハードウェアで構成したが、上述した動作を情報処理装置に行わせるプログラムによっても実現可能である。
図1はACK重複度を説明する為の図である。 図2はシーケンス番号逆転度を説明する為の図である。 図3は本発明を説明する為の図である。 図4は本発明が適用されるネットワークの概要を示した図である。 図5は判定装置1の構成を示すブロック図である。 図6はACK重複度における観測確率を求める図である。 図7は第2の実施の形態における判定装置1の構成を示すブロック図である。 図8はSN値の逆転現象数を統計的な手法を用いて推測する概念を説明する為の図である。 図9はSN値の逆転現象数を統計的な手法を用いて推測する概念を説明する為の図である。 図10はSN値の逆転現象数を統計的な手法を用いて推測する概念を説明する為の図である。 図11はデータベースの構築の方法を説明する為の図である。 図12はデータベースの一例を示した図である。 図13は第3の実施の形態における判定装置1の構成を示すブロック図である。
符号の説明
1 計測装置
2,3 通信端末
4,5 分岐装置

Claims (23)

  1. ネットワークに流れるパケットのプロトコルの種別を判別するプロトコル種別判別方法であって、
    ネットワークに流れるパケットを所定のサンプリング確率で計測して、送信端末のウィンドウ幅の情報を表す指標を計算し、
    前記指標の統計情報に基づいて、パケットのプロトコルの種別を判別する
    ことを特徴とするプロトコル種別判別方法。
  2. 前記指標が同一のACK番号が連続した数を示すACK重複度であることを特徴とする請求項1に記載のプロトコル種別判別方法。
  3. 前記指標が送信シーケンス番号の逆転時のシーケンス番号以上のサンプリングしたシーケンス番号の個数を示すシーケンス番号逆転度であることを特徴とする請求項1に記載のプロトコル種別判別方法。
  4. 前記指標の統計情報がヒストグラムであることを特徴とする請求項1から請求項3のいずれかに記載のプロトコル種別判別方法。
  5. 前記指標の統計情報がヒストグラムの平方和、極値、平均値、モーメント、分散、中央値、最頻値、偏差の平方和、共分散、相関のいずれかであることを特徴とする請求項1から請求項3のいずれかに記載のプロトコル種別判別方法。
  6. プロトコルの種別毎に、所定のパケットロス率における指標の統計情報をデータベース化しておき、
    計算した指標から得られた統計情報と、前記データベース化された指標の統計情報とを照合し、統計情報が近似するプロトコルの種別を、観測しているパケットのプロトコルと判定する
    ことを特徴とする請求項1から請求項5のいずれかに記載のプロトコル種別判別方法。
  7. 前記指標の統計情報が、所定のサンプリング確率における所定閾値以上のACK重複度を観測できる確率である観測確率であることを特徴とする請求項1に記載のプロトコル種別判別方法。
  8. 前記指標の統計情報が、所定のサンプリング確率における所定閾値以上のシーケンス番号逆転度を観測できる確率である観測確率であることを特徴とする請求項1に記載のプロトコル種別判別方法。
  9. 前記ACK重複度の観測確率と、前記シーケンス番号逆転度の観測確率との二種類の観測確率を用いて、観測しているパケットのプロトコルと判定することを特徴とする請求項7及び請求項8に記載のプロトコル種別判別方法。
  10. 同一プロトコルのなかから、サンプリング確率と閾値との組み合わせが異なる観測確率を複数個選び、各観測確率を用いてパケットロス回数を計算し、
    各観測確率のパケットロス回数が近似している場合、用いた観測確率に対応するプロトコルを、観測しているパケットのプロトコルと判定することを特徴とする請求項7から請求項9のいずれかに記載のプロトコル種別判別方法。
  11. 観測確率を、プロトコル、サンプリング確率、閾値毎にデータベース化しておき、
    前記データベースの同一プロトコルのなかから、サンプリング確率と閾値との組み合わせが異なる閾値の観測確率を複数個読み出し、読み出した複数の観測確率を用いて複数のパケットロス回数を計算することを特徴とする請求項10に記載のプロトコル種別判別方法。
  12. ネットワークに流れるパケットのプロトコルの種別を判別するプロトコル種別判別システムであって、
    ネットワークに流れるパケットを所定のサンプリング確率で計測して、送信端末のウィンドウ幅の情報を表す指標を計算する計算手段と、
    前記指標の統計情報に基づいて、パケットのプロトコルの種別を判別する判別手段と
    を有することを特徴とするプロトコル種別判別システム。
  13. 前記指標が同一のACK番号が連続した数を示すACK重複度であることを特徴とする請求項12に記載のプロトコル種別判別システム。
  14. 前記指標が送信シーケンス番号の逆転時のシーケンス番号以上のサンプリングしたシーケンス番号の個数を示すシーケンス番号逆転度であることを特徴とする請求項12に記載のプロトコル種別判別システム。
  15. 前記指標の統計情報がヒストグラムであることを特徴とする請求項12から請求項1413のいずれかに記載のプロトコル種別判別システム。
  16. 前記指標の統計情報がヒストグラムの平方和、極値、平均値、モーメント、分散、中央値、最頻値、偏差の平方和、共分散、相関のいずれかであることを特徴とする請求項11から請求項14のいずれかに記載のプロトコル種別判別システム。
  17. 前記判別手段は、
    プロトコルの種別毎に、所定のパケットロス率における指標の統計情報が記憶されたデータベースと、
    計算した指標から得られた統計情報と、前記データベース化された指標の統計情報とを照合し、最も類似する統計情報に対応するプロトコルの種別を、観測しているパケットのプロトコルと判定する手段と
    を有することを特徴とする請求項12から請求項16のいずれかに記載のプロトコル種別判別システム。
  18. 前記指標の統計情報が、所定のサンプリング確率における所定閾値以上のACK重複度を観測できる確率である観測確率であることを特徴とする請求項12に記載のプロトコル種別判別システム。
  19. 前記指標の統計情報が、所定のサンプリング確率における所定閾値以上のシーケンス番号逆転度を観測できる確率である観測確率であることを特徴とする請求項12に記載のプロトコル種別判別システム。
  20. 前記判別手段は、前記ACK重複度の観測確率と、前記シーケンス番号逆転度の観測確率との二種類の観測確率を用いて、観測しているパケットのプロトコルと判定することを特徴とする請求項18及び請求項19に記載のプロトコル種別判別システム。
  21. 前記判別手段は、同一プロトコルのなかから、サンプリング確率と閾値との組み合わせが異なる観測確率を複数個選び、各観測確率を用いてパケットロス回数を計算し、
    各観測確率のパケットロス回数が近似している場合、用いた観測確率に対応するプロトコルを、観測しているパケットのプロトコルと判定することを特徴とする請求項18から請求項21のいずれかに記載のプロトコル種別判別システム。
  22. プロトコル、サンプリング確率、閾値毎の観測確率が記憶されたデータベースを有し、
    前記判別手段は、前記データベースの同一プロトコルのなかから、サンプリング確率と閾値との組み合わせが異なる観測確率を複数個読み出し、読み出した複数の観測確率を用いて、複数のパケットロス回数を計算することを特徴とする請求項21に記載のプロトコル種別判別システム。
  23. ネットワークに流れるパケットのプロトコルの種別を判別するプログラムであって、
    ネットワークに流れるパケットを所定のサンプリング確率で計測して、送信端末のウィンドウ幅の情報を表す指標を計算する処理と、
    前記指標の統計情報に基づいて、パケットのプロトコルの種別を判別する処理と
    を情報処理装置に実行させることを特徴とするプロトコル種別判別のプログラム。
JP2006326707A 2006-12-04 2006-12-04 プロトコル種別判別方法、そのシステム及びプログラム Expired - Fee Related JP4793580B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006326707A JP4793580B2 (ja) 2006-12-04 2006-12-04 プロトコル種別判別方法、そのシステム及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006326707A JP4793580B2 (ja) 2006-12-04 2006-12-04 プロトコル種別判別方法、そのシステム及びプログラム

Publications (2)

Publication Number Publication Date
JP2008141565A true JP2008141565A (ja) 2008-06-19
JP4793580B2 JP4793580B2 (ja) 2011-10-12

Family

ID=39602555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006326707A Expired - Fee Related JP4793580B2 (ja) 2006-12-04 2006-12-04 プロトコル種別判別方法、そのシステム及びプログラム

Country Status (1)

Country Link
JP (1) JP4793580B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101272670B1 (ko) 2011-11-28 2013-06-10 엔에이치엔(주) 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0388539A (ja) * 1989-08-31 1991-04-12 Nippon Telegr & Teleph Corp <Ntt> プロトコル種別検出方式
JP2001127832A (ja) * 1999-10-28 2001-05-11 Ando Electric Co Ltd プロトコルアナライザ、及びプロトコル解析方法
JP2006067217A (ja) * 2004-08-26 2006-03-09 Nec Corp ネットワーク品質計測方法、及び計測装置
WO2006043624A1 (ja) * 2004-10-21 2006-04-27 Nec Corporation 通信品質計測装置及びその計測方法
JP2006173961A (ja) * 2004-12-15 2006-06-29 Hiroyasu Obata 広帯域、高遅延無線ネットワークにおけるtcp輻輳制御方式
WO2006066606A1 (en) * 2004-12-22 2006-06-29 Telefonaktiebolaget Lm Ericsson (Publ) Data flow control with duplicate acknowledgment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0388539A (ja) * 1989-08-31 1991-04-12 Nippon Telegr & Teleph Corp <Ntt> プロトコル種別検出方式
JP2001127832A (ja) * 1999-10-28 2001-05-11 Ando Electric Co Ltd プロトコルアナライザ、及びプロトコル解析方法
JP2006067217A (ja) * 2004-08-26 2006-03-09 Nec Corp ネットワーク品質計測方法、及び計測装置
WO2006043624A1 (ja) * 2004-10-21 2006-04-27 Nec Corporation 通信品質計測装置及びその計測方法
JP2006173961A (ja) * 2004-12-15 2006-06-29 Hiroyasu Obata 広帯域、高遅延無線ネットワークにおけるtcp輻輳制御方式
WO2006066606A1 (en) * 2004-12-22 2006-06-29 Telefonaktiebolaget Lm Ericsson (Publ) Data flow control with duplicate acknowledgment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101272670B1 (ko) 2011-11-28 2013-06-10 엔에이치엔(주) 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체

Also Published As

Publication number Publication date
JP4793580B2 (ja) 2011-10-12

Similar Documents

Publication Publication Date Title
US9444701B2 (en) Identifying remote machine operating system
CN110225417B (zh) 数据处理方法及服务器、检测卡顿的方法及服务器
CN110519290B (zh) 异常流量检测方法、装置及电子设备
EP3176981A1 (en) Method and device for detecting type of network data flow
JP4924503B2 (ja) 輻輳検出方法、輻輳検出装置及び輻輳検出プログラム
CN106471778B (zh) 攻击检测装置和攻击检测方法
JP6564799B2 (ja) 閾値決定装置、閾値決定方法及びプログラム
US9059951B2 (en) Method and apparatus for spam message detection
US9565119B2 (en) Packet analysis method, packet analysis device, and storage medium
JP2018147172A (ja) 異常検知装置、異常検知方法及びプログラム
JP2008219127A (ja) ネットワーク品質計測装置、ネットワーク品質計測方法及びネットワーク品質計測プログラム
JP5206968B2 (ja) 推定方法、装置及びプログラムと、ネットワーク計測システム
JP4324189B2 (ja) 異常トラヒック検出方法およびその装置およびプログラム
JP2012186780A (ja) パケットロス率推定装置及び方法及びプログラム
JP5532241B2 (ja) 高パケットレートフロー検出装置及び高パケットレートフロー検出方法
JP4793580B2 (ja) プロトコル種別判別方法、そのシステム及びプログラム
US8614965B2 (en) Packet loss frequency measuring system, packet loss frequency measuring method, and program
US7894363B2 (en) Data transfer rate variance measurement method, apparatus, system, and storage medium for storing program
JP4683338B2 (ja) ネットワーク品質計測装置及びその方法
JP5396999B2 (ja) パケットロス頻度推定システム、パケットロス頻度推定方法およびプログラム
CN114554521A (zh) 针对多路径传输协议的子流共享带宽瓶颈检测方法和装置
JP4282556B2 (ja) フローレベル通信品質管理装置と方法およびプログラム
JP7183554B2 (ja) 音声品質劣化箇所推定装置、方法およびプログラム
US20190166043A1 (en) Information processing apparatus and method thereof
KR101560820B1 (ko) 시그니처 기반 어플리케이션 식별 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110610

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110629

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110712

R150 Certificate of patent or registration of utility model

Ref document number: 4793580

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140805

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees