JP2013197840A - フロー通信品質推定方法、フロー通信品質推定装置、及びフロー通信品質推定プログラム - Google Patents

フロー通信品質推定方法、フロー通信品質推定装置、及びフロー通信品質推定プログラム Download PDF

Info

Publication number
JP2013197840A
JP2013197840A JP2012062282A JP2012062282A JP2013197840A JP 2013197840 A JP2013197840 A JP 2013197840A JP 2012062282 A JP2012062282 A JP 2012062282A JP 2012062282 A JP2012062282 A JP 2012062282A JP 2013197840 A JP2013197840 A JP 2013197840A
Authority
JP
Japan
Prior art keywords
time
communication quality
quality estimation
flow communication
packet
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
JP2012062282A
Other languages
English (en)
Other versions
JP5687650B2 (ja
Inventor
Ryoichi Kawahara
亮一 川原
Hiroshi Saito
洋 斎藤
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012062282A priority Critical patent/JP5687650B2/ja
Publication of JP2013197840A publication Critical patent/JP2013197840A/ja
Application granted granted Critical
Publication of JP5687650B2 publication Critical patent/JP5687650B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】能動的な測定を行わず、かつ、ネットワークの全パケットキャプチャや全フローの状態管理を行うことなく、オンラインで通信品質を推定する。
【解決手段】ノードAからノードBの方向に流れる第1パケットを検知すると、フローキーiを読み出し、K個のハッシュ値を求め、対応するビットマップ位置のカウンター値Ciを1つ増加させるとともに、時刻テーブル上のK個のハッシュ値に対応する位置の時刻を現在の時刻Tnowにセットし、BからAの方向に流れる第2パケットを検知すると、逆転キーを作成し、当該逆転キーを入力としてK個のハッシュ値を求め、当該K個のハッシュ値に対応するカウンター値CiがいずれもCi≧1である場合に、当該K箇所のカウンター値を1つ減少させ、K箇所の時刻を読み出し、その中で最も古い時刻T_oldiを抽出し、現在の時刻Tnowからその最も古い時刻T_oldiを差し引いた値Tnow - T_oldiを往復伝播遅延時間RTTiとして推定する。
【選択図】図4

Description

本発明は、IPネットワークの通信品質状態を管理する方法に関するものである。
近年、IPネットワークが広く利用されてくるに伴って、IPネットワーク上での通信品質保証に対する要求が高まっている。それに伴い、ネットワークを流れるトラヒックを測定して現在の通信品質状態を把握することが重要になってきている。エンドエンド遅延時間やパケット損失率、スループットといった品質を把握する直接的な方法としては、エンドエンド間で試験パケットを送受信することにより品質を能動的に測定する方法がある。このような方法の例として、pingコマンドによる往復遅延測定や、非特許文献1に開示さされたpathchar等がある。その他、例えば非特許文献2では着目するエンドホスト間において、試験パケットによるラウンドトリップタイムやパケット損失率の測定および経路上のボトルネック帯域の測定を実施し、かつ、実際にTCPで通信を行ってスループットを測定し、ウインドーサイズを徐々に大きくしていったときにTCPスループットが増加するかどうか等を詳細に解析する方法を提案している。
しかし、一般にこれらの方法は、ある特定のエンドホスト間で品質の把握やトラブルシューティング的に品質劣化要因を特定するのに適した方法であり、ネットワーク提供者がネットワーク内の通信を全体的に管理するのに直接適用すると測定コストの増大およびネットワークへの測定負荷の増大が生じてしまう。具体的には、監視対象となるネットワークの入り側および出側全てに試験パケット送受信機を設置して、試験パケットを送信することによって品質測定を能動的に行う必要があり、測定装置コストが増大してしまう。さらに、試験パケットをネットワークへ付加するため、ネットワークへ余分なトラヒックが加わるという問題と、その結果、試験トラヒックによってネットワークの品質自体が劣化してしまうという問題があった。
上記能動的測定以外の方法として、着目するエンドエンド間トラヒックの流れる箇所において、そこを通過するパケットをキャプチャして解析し、ネットワークの状態を把握する方法がある。例えば、ACEと呼ばれる非特許文献3に開示されたツールでは、パケットキャプチャデータから、エンドエンド間のレスポンス時間や、その内訳(ネットワーク内での遅延とサーバでの遅延)を分析可能とする。また、非特許文献4に開示されたツールでも往復遅延等を分析可能である。
しかし、上記の方法は、一般に、ある特定のエンドホスト間で品質の把握やトラブルシューティング的に品質劣化要因を特定するのに適した方法であり、ネットワーク全体でのユーザフロー通信品質を測定するためには、回線を流れるパケットを全てキャプチャしてパケットヘッダ情報の解析、およびフロー情報の解析が必要だが、回線速度が高速になるにつれて全てのパケットをキャプチャして処理することが困難になってきている。
http://www.caida.org/tools/utilities/others/pathchar/ (平成24年3月13日検索) 的場 一峰, 阿多 信吾, 村田 正幸, "インターネットにおける計測に基づいたボトルネック特定手法," 電子情報通信学会 テレコミュニケーションマネジメント研究会, pp. 65 - 70, November 2000. http://www.opnet.com/solutions/application_performance/ace.html(平成24年3月13日検索) http://www.tcptrace.org/(平成24年3月13日検索) 川口, "広域ネットワークの遅延分布モニタリング分析," 信学技報CQ2010-20, 2010 年7 月. 川原,川口,森,上山,石橋,``ハッシュベースサンプリングとbloom filterを用いたRTT推定法とその評価,'' 信学技報, vol. 110, no. 341, IN2010-102, pp. 31-36, 2010年12月.
本発明は上記の問題点に鑑みてなされたものであり、能動的な測定を行わず、かつ、ネットワークの全パケットキャプチャや全フローの状態管理を行うことなく、オンラインで通信品質を推定する技術を提供することを目的とする。
上記の課題を解決するために、本発明は、通信網において、ノードAとノードBを接続するリンクにおいてトラヒックを監視してフローの通信品質を推定するためのフロー通信品質推定装置が実行するフロー通信品質推定方法であって、
前記フロー通信品質推定装置は、各要素i(iは1以上の整数)がカウンター値Ciを保持するビットマップを格納するビットマップ記憶手段と、時刻テーブルを格納する時刻テーブル記憶手段とを有し、
ノードAからノードBの方向に流れる第1パケットを検知すると、当該第1パケットのフローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i}を読み出し、これをキーとしてK(Kは1以上の整数)個のハッシュ関数に入力して得られるK個のハッシュ値を求め、前記ビットマップ記憶手段を参照し、そのハッシュ値に対応するビットマップ位置のカウンター値Ciを1つ増加させるとともに、前記時刻テーブル記憶手段における時刻テーブル上のK個のハッシュ値に対応する位置の時刻を現在の時刻Tnowにセットする第1ステップと、
ノードBからノードAの方向に流れる第2パケットを検知すると、フローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i}を読み出し、srcIPとdstIP、srcPortとdstPortを入れ替えたキーである逆転キーを作成し、当該逆転キーを入力としてK個のハッシュ値を求める第2ステップと、
第2ステップで求めたK個のハッシュ値に対応するK箇所のビットマップ位置のカウンター値CiがいずれもCi≧1であるか否かを判断する第3ステップと、
第3ステップにおいて、K箇所のビットマップ位置のカウンター値CiがいずれもCi≧1である場合に、当該K箇所のカウンター値を1つ減少させ、前記時刻テーブルから該当するK箇所の時刻を読み出し、その中で最も古い時刻T_oldiを抽出し、現在の時刻Tnowからその最も古い時刻T_oldiを差し引いた値Tnow - T_oldiを求め、当該値をフローキーiに対応するフローの往復伝播遅延時間RTTiとして推定する第4ステップと、を有することを特徴とするフロー通信品質推定方法として構成される。
また、本発明は、前記フロー通信品質推定方法において、第4ステップを以下の第4ステップに変更したフロー通信品質推定方法として構成することもできる。
当該第4ステップは、第3ステップにおいて、K箇所のビットマップ位置のカウンター値CiがいずれもCi≧1である場合に、前記時刻テーブルからハッシュ値に対応するK個の時刻情報Tiを読み出し、予め定めたタイムアウト時間Toutを閾値として、Tnow - Ti>Toutかどうかを判断し、K個のうち少なくとも1つの時刻がタイムアウトしている場合に、前記ビットマップにおけるタイムアウトしている要素のみのカウンター値Ciを1つ減少させ、RTT計算を実施せず、K個の時刻がいずれもタイムアウトしていない場合に、該当するK箇所の時刻を読み出し、その中で最も古い時刻T_oldiを抽出し、現在の時刻Tnowからその最も古い時刻T_oldiを差し引いた値Tnow - T_oldiを求め、当該値をフローキーiに対応するフローの往復伝播遅延時間RTTiとして推定し、K箇所のカウンター値を1つ減少させるステップである。
前記各フロー通信品質推定方法での前記第1ステップ及び前記第2ステップにおいて、K個のハッシュ値を求めた後、K個のハッシュ値hi (i=1〜K)に対して、hi/max(maxはハッシュ関数の取りうる値の最大値)を調べ、K個のハッシュ値のいずれもhi/max<p^(1/K) (pは予め定めるサンプリングレートで、0<p<1) を満たす場合にのみ、K個のハッシュ値を求めた後の各処理を実行するようにしてもよい。
例えば、前記第1パケットはSYNパケットであり、前記第2パケットはSYN ACKパケットである。また、前記第1パケットはSYN ACKパケットであり、前記第2パケットはACKパケットであることとしてもよい。
また、本発明は、フロー通信品質推定方法における各ステップを実行する手段を備えたことを特徴とするフロー通信品質推定装置として構成することもできるし、前記ビットマップ記憶手段と前記時刻テーブル記憶手段を備えるコンピュータに、フロー通信品質推定方法における各ステップを実行させるためのフロー通信品質推定プログラムとして構成することもできる。
本発明によれば、ネットワークへの余分な負荷を加えてしまう能動的な測定を行わず、かつ、ネットワークの全パケットキャプチャを行うことなく、ネットワーク全体の通信品質をオンラインで推定することが可能となる。
本発明の実施の形態の原理を説明するための図である。 本発明の実施例に係るシステム構成例を示す図である。 本発明の実施例に係るフロー通信品質推定装置10の構成例を示す図である。 フロー通信品質推定装置10の処理のフローチャートを示す図である。 本発明の実施例を適用した実験結果である。
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
(実施の形態の原理、概要)
まず、図1を用いて、本実施の形態における基本的な考え方について説明する。図1に示すように、ルータAとルータBの間に監視点(後述するフロー通信品質推定装置10に相当する)を設ける。この監視点において、ルータAからルータB方向およびルータBからルータA方向のパケットを監視しているとする。本実施の形態では、TCP通信における3way handshake(SYN, SYN ACK, ACK)を用いたRTT推定を行うため、SYNパケット、SYN ACKパケット、ACKパケットのいずれかを監視する。なお、本実施の形態では、TCP通信における3way handshakeを用いてRTT推定を行うが、本発明は、TCP通信における3way handshakeに限らずに適用可能である。
図1に示すように、エンドホストXとYの間のフローiからSYNパケットが監視点に時刻Ti=10:00:01に到着したとし、それを記憶しておく。それに対する応答SYN ACKが時刻Tnow=10:00:03に観測されたら、監視点からエンドホストYまでの往復遅延時間RTT_SAiをRTT_SAi=Tnow - Ti=2秒、と推定できる。さらに、SYN ACKに対するACKがTnow=10:00:05に観測されたら、エンドホストX-Y間の往復遅延時間RTTi=Tnow - Ti=4秒と推定できる。また、RTT_AiもRTT_SAi推定と同様に、RTT_Ai={SYN ACK到着時刻 - ACK到着時刻}により推定できる。
本実施の形態では、上記のRTT推定の動作をベースにしている。ただし、本実施の形態では、フロー毎にTiを管理する代わりに、フローの通信状態を管理するためのメモリとしてBloom Filter(BF)を利用する。BFでは、異なるK(Kは1以上の整数)個のハッシュ関数(それぞれが入力キーに対してb(bは1以上の整数)個の配列位置のいずれかにマッピングする)とサイズbのビットマップ(各要素i (i=1からb)は、カウンター値Ciを保持できるものとし、初期状態では全てのiに対してCi=0とする)を用意する。また、b個の時刻情報をエントリする時刻テーブル(初期状態では全てをゼロにリセットされる)を用意する。この時刻テーブルメモリは、パケットの到着時刻を記憶するために用いられ、BFにおけるビットマップのi番目の要素に対応するパケットが到着した場合に、本時刻管理テーブルのi番目のエントリにそのときの時刻をエントリする。こうすることで、全フローの状態に要するフローテーブルメモリコストを削減する。
<第1の方法>
本実施の形態の第1の方法においては、ルータAからルータBの方向に流れるSYNパケットに対して、該パケットのフローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i}を読み出し、これをキーとしてK個のハッシュ関数に入力して得られるK個のハッシュ値を調べ、そのハッシュ値に対応するK個のビットマップ位置のカウンター値Ciを1つ増加させる。また、対応する時刻テーブル上の時刻を現在の時刻Tnowにセットする。
一方、ルータBからルータA方向に流れるSYN ACKパケットに対して、フローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i}を読み出し、srcIPとdstIP、srcPortとdstPortを入れ替えたキー(逆転キーとよぶ)を作成し、K個のハッシュ値を調べ、対応するビットマップ位置のカウンターの値をチェックする。該当するK箇所のカウンター値CiのいずれもCi≧1であれば、Ci←Ci-1とし、また該当するK箇所の時刻を読み出し、その中で最も古い時刻T_oldiを抽出し、現在の時刻Tnowからその最も古い時刻T_oldiを差し引いた値Tnow - T_oldiを該フローの往復伝播遅延時間RTTiとして推定する。
本第1の方法においては、時刻テーブル上の時刻情報のうち、他のフローのSYN到着時にいくつかの時刻情報は上書きされるが、全部が上書きはされないであろうとみなして、最も古い時刻情報を該フローのSYNパケット到着時刻とみなし、RTTを推定している。
また、BA方向のSYN ACKパケット到着時に、ビットマップ上のK箇所のカウンター値Ciが全て1以上かどうかをチェックすることで、対応するSYNパケットがAB方向で以前に観測されているかどうかを判断している。
また、SYN ACK到着時にCiを減少させることで、RTT計算処理が済んだSYN-SYNACKパケットの組についての情報をビットマップ上から削減可能としている。このようにすることで、SYN floodingのような異常トラヒックが発生した場合でも、ビットマップが埋め尽くされてしまうことを回避できる。
<第2の方法>
本実施の形態の第2の方法においては、ルータBからルータA方向のSYN ACKパケット監視時の第1の方法での手順を以下のように変える。
K個のハッシュ値を求めた後、該当するK箇所のカウンター値CiのいずれもCi≧1であれば、次に、K個の時刻情報Tiを読み出す。予め定めたタイムアウト時間Toutを閾値として、Tnow - Ti>Toutかどうかチェックし、K個のうち一つでもタイムアウトしている場合には、タイムアウトしている要素のみCi←Ci-1とし、RTT計算は実施しない。K個ともタイムアウトしていない場合、該当するK箇所の時刻を読み出し、その中で最も古い時刻T_oldiを読み出し、現在の時刻Tnowからその最も古い時刻T_old iを差し引いた値Tnow - T_oldiを該フローの往復伝播遅延時間RTTiとして推定する。その後、K個のカウンター値をそれぞれCi←Ci-1とする。
本第2の方法においては、このようにタイムアウト値を設定することで、ネットワーク上での遅延時間とは考えにくいRTT計算結果を出力するエントリを除外している。タイムアウト値としては、例えば3秒と設定することが考えられる。その理由として、数秒以上のRTT が観測される場合、これは、ネットワーク上での遅延とは考えにくく、SYN パケット損失に伴う再送のためと考えられる。非特許文献5によると、TCPの初期RTO (retransmission time out) は通常3 秒に設定されているためにそれ以上のRTT が観測されてしまう点が指摘されているからである。
<第3の方法>
第1または2の方法において、AB方向のSYNパケット、およびBA方向のSYN ACKパケットについてRTTを推定していた代わりに、AB方向のSYN ACKパケットおよびBA方向のACKパケットについて同様の手順を実施してRTTを推定する。
<第4の方法>
第1または2の方法のように全てのSYNパケット、SYN ACKパケットに対してBFを適用してRTTを推定する代わりに、K個のハッシュ値hi (i=1〜K)に対して、hi/max(maxはハッシュ関数の取りうる値の最大値)を調べ、K個のハッシュ値のいずれもhi/max<p^(1/K) (pは予め定めるサンプリングレートで、0<p<1) を満たす場合にのみ、BFを用いたRTT推定を行うこととする。
この条件を満たす確率は、hi/maxが一様分布に従うと仮定すると、P[h1/max<p^(1/K) ∧h2/max<p^(1/K)∧ ...... ∧hk/max<p^(1/K)] = {p^(1/K)}^K = pとなる。つまり、あるフローからのSYNパケット(と対応するSYN ACKパケット)は確率pでサンプルされることになる。
このようにサンプリングを実施することで、BFへの入力を削減でき、ビットマップで管理すべき情報量を削減することが可能となる。
以下、上述した各方法を実現する実施例を説明する。
(実施例1)
まず、第1の方法に対応する実施例1を説明する。
図2は本実施例におけるIPネットワークの基本構成の一例を示すシステム構成図である。図2に示すように本実施例でのフロー通信品質推定装置10はノードA、B間のリンクに挿入される形態で利用される。図2に示すノードA、ノードBは、図1に示したルータA、Bに対応するものである。ノードA、ノードBは、それぞれルータでもよいし、スイッチでもよい。また、ノードA、ノードBには、図1に示したようなエンドホストが接続されている。
フロー通信品質推定装置10をノード間のリンクに挿入して利用する代わりに、あるノードにおいて、パケットをポートへミラーして、そのポートの先にフロー通信品質推定装置10を設置してもよい。ノードA、B間を流れるパケットを監視できるのであれば、フロー通信品質推定装置10の設置形態は特定の形態に限定されない。
図3に、本実施例に係るフロー通信品質推定装置10の機能構成例を示す。図3に示すように、本実施例のフロー通信品質推定装置10は、パケットヘッダ解析部11、フロー管理部12、及び品質推定部13を備える。パケットヘッダ解析部11は、前段ノードから到着するパケットのヘッダを解析して、SYNパケット、SYN ACKパケット、ACKパケット等を識別するとともに、パケットからフローキーを読み出す機能を備える。本実施例のフローキーは、{srcIP(送信元IPアドレス)、dstIP(宛先IPアドレス)、srcPort(送信元ポート)、dstPort(宛先ポート)}である。
フロー管理部12は、K個のハッシュ関数を用いて、フローキーからK個のハッシュ値を求める機能、ビットマップを格納する記憶手段(ビットマップメモリ)、時刻テーブルを格納する記憶手段(時刻テーブルメモリ)、ビットマップのカウンター値をセットする機能、時刻テーブルに時刻をセットする機能等を含む。
品質推定部13は、時刻テーブルにおける時刻の情報を用いて、該当フローの往復伝播遅延時間を推定する機能を有する。
なお、図3に示す構成は、本発明に関わる機能部を主に示すものであり、パケットを送受信する装置としての図示しない既存の機能を含むことは言うまでもない。フロー通信品質推定装置10は、例えば、通信機能を有するコンピュータ(サーバ等)、もしくはコンピュータの機能を含む通信装置(ルータ、スイッチ等)に、本実施の形態で説明する処理に対応するプログラムを実行させることにより実現可能である。当該プログラムは、可搬メモリ等の記憶媒体に格納して配布し、上記装置にインストールして用いてもよいし、ネットワーク上のサーバからダウンロードして上記装置にインストールしてもよい。また、本実施の形態で説明する処理をハードウェア回路として実現し、当該ハードウェア回路を備える装置としてフロー通信品質推定装置10を実現してもよい。
また、フロー通信品質推定装置10の構成は、図3に示す構成に限られるわけではない。本実施の形態で説明するフロー通信品質推定方法における各処理手順を実行する手段を備えた装置であればよい。図3に示すフロー通信品質推定装置10は、このような装置の一例である。
また、フロー通信品質推定装置を、第1または第2の方法で、AからB方向のSYNパケットに対して、Bloom Filter(BF)を用いて到着時刻の管理を行い、BからA方向のSYN ACKパケットに対して対応するSYN到着時刻を読み出してRTTを推定する手段、第3の方法で、{SYNACK、ACK}パケットの組についてRTTを推定する手段、第4の方法でサンプリングを実施する手段を備える構成としてもよい。
次に、フロー通信品質推定装置10が実行するフロー通信品質推定方法の処理内容を図4のフローチャートの手順に沿って説明する。
フロー通信品質推定装置10におけるパケットヘッダ解析部11は、前段ノードAからSYNパケットが到着したことを検知すると(図4のステップS1)、そのパケットのフローキー={srcIP#i,dstIP#i,srcPort#i,dstPort#i}を読み出し、フロー管理部12にフローキーを通知する。その後、パケットを後段ノードに転送する。
フロー管理部12は、パケットヘッダ解析部11から受信したフローキーをK個のハッシュ関数に入力して得られるK個のハッシュ値を調べ、ビットマップメモリを参照して、そのK個のハッシュ値に対応するビットマップ位置のカウンター値Ciを1つ増加させる(図4のステップS2)。また、時刻テーブルメモリを参照して、上記ビットマップ位置に対応する時刻テーブル上の位置の時刻を現在の時刻Tnowにセットする(図4のステップS3)。
一方、フロー通信品質推定装置10におけるパケットヘッダ解析部11が、前段ノードBからSYN ACKパケットが到着したことを検知すると(図4のステップS1')、当該パケットからフローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i}を読み出し、フロー管理部12にフローキーを通知する。その後、パケットを後段ノードに転送する。
フロー管理部12は、パケットヘッダ解析部11から受信したフローキーから、srcIPとdstIP、srcPortとdstPortを入れ替えたキー(逆転キーとよぶ)を作成し、それをキーとしてK個のハッシュ値を調べ、対応するビットマップ位置のカウンター値をチェックする(図4のステップS2')。該当するK箇所のカウンター値CiのいずれもCi≧1であれば、Ci←Ci-1とする(図4のステップS3')。その後、品質推定部13にK個のハッシュ値を通知する。
品質推定部13では、時刻テーブルメモリを参照し、時刻テーブルにおけるK個のハッシュ値に該当するK箇所の時刻を読み出し、その中で最も古い時刻T_oldiを抽出し、現在の時刻Tnowからその最も古い時刻T_oldiを差し引いた値Tnow - T_oldiを該フローの往復伝播遅延時間RTTiとして推定する(図4のステップS4')。
(実施例2)
次に、第2の方法に対応する実施例2を説明する。実施例2では、BからA方向のSYN ACKパケット検知時の実施例1での手順において、図4のステップS3'を以下のように変更する。本実施例では、フロー管理部12がタイムアウト時間Toutを予め有しているものとする。
フロー管理部12は、該当するK箇所の時刻情報Tiを読み出し、予め定めたタイムアウト時間Toutを閾値として、Tnow - Ti>Toutかどうかチェックし、K個のうち一つでもタイムアウトしている(Tnow-Ti>Toutを満たす)場合には、タイムアウトしている要素のみビットマップにおけるカウンター値をCi←Ci-1とし、RTT計算は実施しない。K個ともタイムアウトしていない場合、品質推定部13にK個のハッシュ値を通知することにより、図4のステップS4'へ進み、品質推定部13がRTT推定を行う。その後、K個のカウンター値をCi←Ci-1とする。なお、RTT推定に進む前にK個のカウンター値をCi←Ci-1としてもよい。
(実施例3)
次に、第3の方法に対応する実施例3を説明する。
実施例1または2において、AB方向のSYNパケット、およびBA方向のSYN ACKパケットについてRTTを推定していた代わりに、AB方向のSYN ACKパケットおよびBA方向のACKパケットについて同様の手順を実施してRTTを推定する。すなわち、本例では、図4におけるステップS1で検知するパケットがSYN ACKパケットとなり、ステップS1'で検知するパケットがACKパケットとなる。このようにパケットの種類が実施例1または2と異なるだけで、RTT推定のための処理内容は実施例1または2と同じである。
(実施例4)
次に、第4の方法に対応する実施例4を説明する。実施例4では、実施例1の処理フロー(図4)に以下の処理を追加する。以下の条件が追加されること以外は実施例1〜3と同じである。
ステップS1の後段において、フロー管理部12が該当するビットマップ位置のカウンター値Ciを更新するステップS2に進む前に、フロー管理部12は、K個のハッシュ値hi (i=1〜K)に対して、hi/max(maxはハッシュ関数の取りうる値の最大値)を調べ、K個のハッシュ値のいずれもhi/max<p^(1/K) (pは予め定めるサンプリングレートで、0<p<1) を満たすかどうかを判断する。この条件を満たす場合にのみ、ステップS2へ進むようにする。
同様に、ステップS1'の後段における逆転フローキーに対するハッシュ値についても同様の条件を追加する。すなわち、ステップS1'の後、ステップS2'の前において、フロー管理部12は、K個のハッシュ値hi (i=1〜K)に対して、hi/max(maxはハッシュ関数の取りうる値の最大値)を調べ、K個のハッシュ値のいずれもhi/max<p^(1/K) (pは予め定めるサンプリングレートで、0<p<1) を満たすかどうかを判断する。この条件を満たす場合にのみ、ステップS2'へ進むようにする。
(実施の形態の効果)
以上説明したように、本実施の形態によれば、ネットワークへの余分な負荷を加えてしまう能動的な測定を行わず、かつ、ネットワークの全パケットキャプチャを行うことなく、ネットワーク全体の品質をオンラインで推定することが可能となる。
図5に実験結果を示す。これは、あるインターネット回線上で観測されたトラヒック(2時間分)に対して、本発明の提案手法を適用したときの、推定RTTの累積補分布を示している。図中、「フロー毎」は、フロー毎に状態を管理してRTTを計算した結果(これを正解とする)、「BF」は、本発明の提案のようにカウンターを用いず、非特許文献6に開示されたように単純にBFのみを用いた場合(つまり、K箇所のビットマップ位置にエントリがあれば1をセットするのみ)、「提案」が本発明の第2の方法を用いた場合の結果である。ここで、ハッシュ関数Kの値をK=3、ビットマップの長さを2^16、タイムアウト値Tout=3秒としている。これより、提案がフロー毎の結果と近いRTT分布を推定できていることが確認できる。
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
10 フロー通信品質推定装置
11 パケットヘッダ解析部
12 フロー管理部
13 品質推定部

Claims (7)

  1. 通信網において、ノードAとノードBを接続するリンクにおいてトラヒックを監視してフローの通信品質を推定するためのフロー通信品質推定装置が実行するフロー通信品質推定方法であって、
    前記フロー通信品質推定装置は、各要素i(iは1以上の整数)がカウンター値Ciを保持するビットマップを格納するビットマップ記憶手段と、時刻テーブルを格納する時刻テーブル記憶手段とを有し、
    ノードAからノードBの方向に流れる第1パケットを検知すると、当該第1パケットのフローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i}を読み出し、これをキーとしてK(Kは1以上の整数)個のハッシュ関数に入力して得られるK個のハッシュ値を求め、前記ビットマップ記憶手段を参照し、そのハッシュ値に対応するビットマップ位置のカウンター値Ciを1つ増加させるとともに、前記時刻テーブル記憶手段における時刻テーブル上のK個のハッシュ値に対応する位置の時刻を現在の時刻Tnowにセットする第1ステップと、
    ノードBからノードAの方向に流れる第2パケットを検知すると、フローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i}を読み出し、srcIPとdstIP、srcPortとdstPortを入れ替えたキーである逆転キーを作成し、当該逆転キーを入力としてK個のハッシュ値を求める第2ステップと、
    第2ステップで求めたK個のハッシュ値に対応するK箇所のビットマップ位置のカウンター値CiがいずれもCi≧1であるか否かを判断する第3ステップと、
    第3ステップにおいて、K箇所のビットマップ位置のカウンター値CiがいずれもCi≧1である場合に、当該K箇所のカウンター値を1つ減少させ、前記時刻テーブルから該当するK箇所の時刻を読み出し、その中で最も古い時刻T_oldiを抽出し、現在の時刻Tnowからその最も古い時刻T_oldiを差し引いた値Tnow - T_oldiを求め、当該値をフローキーiに対応するフローの往復伝播遅延時間RTTiとして推定する第4ステップと
    を有することを特徴とするフロー通信品質推定方法。
  2. 通信網において、ノードAとノードBを接続するリンクにおいてトラヒックを監視してフローの通信品質を推定するためのフロー通信品質推定装置が実行するフロー通信品質推定方法であって、
    前記フロー通信品質推定装置は、各要素i(iは1以上の整数)がカウンター値Ciを保持するビットマップを格納するビットマップ記憶手段と、時刻テーブルを格納する時刻テーブル記憶手段とを有し、
    ノードAからノードBの方向に流れる第1パケットを検知すると、当該第1パケットのフローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i}を読み出し、これをキーとしてK(Kは1以上の整数)個のハッシュ関数に入力して得られるK個のハッシュ値を求め、前記ビットマップ記憶手段を参照し、そのハッシュ値に対応するビットマップ位置のカウンター値Ciを1つ増加させるとともに、前記時刻テーブル記憶手段における時刻テーブル上のK個のハッシュ値に対応する位置の時刻を現在の時刻Tnowにセットする第1ステップと、
    ノードBからノードAの方向に流れる第2パケットを検知すると、フローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i}を読み出し、srcIPとdstIP、srcPortとdstPortを入れ替えたキーである逆転キーを作成し、当該逆転キーを入力としてK個のハッシュ値を求める第2ステップと、
    第2ステップで求めたK個のハッシュ値に対応するK箇所のビットマップ位置のカウンター値CiがいずれもCi≧1であるか否かを判断する第3ステップと、
    第3ステップにおいて、K箇所のビットマップ位置のカウンター値CiがいずれもCi≧1である場合に、前記時刻テーブルからハッシュ値に対応するK個の時刻情報Tiを読み出し、予め定めたタイムアウト時間Toutを閾値として、Tnow - Ti>Toutかどうかを判断し、K個のうち少なくとも1つの時刻がタイムアウトしている場合に、前記ビットマップにおけるタイムアウトしている要素のみのカウンター値Ciを1つ減少させ、RTT計算を実施せず、K個の時刻がいずれもタイムアウトしていない場合に、該当するK箇所の時刻を読み出し、その中で最も古い時刻T_oldiを抽出し、現在の時刻Tnowからその最も古い時刻T_oldiを差し引いた値Tnow - T_oldiを求め、当該値をフローキーiに対応するフローの往復伝播遅延時間RTTiとして推定し、K箇所のカウンター値を1つ減少させる第4ステップと
    を有することを特徴とするフロー通信品質推定方法。
  3. 前記第1ステップ及び前記第2ステップにおいて、
    K個のハッシュ値を求めた後、K個のハッシュ値hi (i=1〜K)に対して、hi/max(maxはハッシュ関数の取りうる値の最大値)を調べ、K個のハッシュ値のいずれもhi/max<p^(1/K) (pは予め定めるサンプリングレートで、0<p<1) を満たす場合にのみ、K個のハッシュ値を求めた後の各処理を実行する
    ことを特徴とする請求項1または2に記載のフロー通信品質推定方法。
  4. 前記第1パケットはSYNパケットであり、前記第2パケットはSYN ACKパケットであることを特徴とする請求項1ないし3のうちいずれか1項に記載のフロー通信品質推定方法。
  5. 前記第1パケットはSYN ACKパケットであり、前記第2パケットはACKパケットであることを特徴とする請求項1ないし3のうちいずれか1項に記載のフロー通信品質推定方法。
  6. 請求項1ないし5のうちいずれか1項に記載のフロー通信品質推定方法における各ステップを実行する手段を備えたことを特徴とするフロー通信品質推定装置。
  7. 前記ビットマップ記憶手段と前記時刻テーブル記憶手段を備えるコンピュータに、請求項1ないし5のうちいずれか1項に記載のフロー通信品質推定方法における各ステップを実行させるためのフロー通信品質推定プログラム。
JP2012062282A 2012-03-19 2012-03-19 フロー通信品質推定方法、フロー通信品質推定装置、及びフロー通信品質推定プログラム Active JP5687650B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012062282A JP5687650B2 (ja) 2012-03-19 2012-03-19 フロー通信品質推定方法、フロー通信品質推定装置、及びフロー通信品質推定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012062282A JP5687650B2 (ja) 2012-03-19 2012-03-19 フロー通信品質推定方法、フロー通信品質推定装置、及びフロー通信品質推定プログラム

Publications (2)

Publication Number Publication Date
JP2013197840A true JP2013197840A (ja) 2013-09-30
JP5687650B2 JP5687650B2 (ja) 2015-03-18

Family

ID=49396278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012062282A Active JP5687650B2 (ja) 2012-03-19 2012-03-19 フロー通信品質推定方法、フロー通信品質推定装置、及びフロー通信品質推定プログラム

Country Status (1)

Country Link
JP (1) JP5687650B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015136928A1 (ja) * 2014-03-14 2015-09-17 日本電気株式会社 フロー制御装置、通信システム、フロー制御装置の制御方法、及びプログラム
JP2017103653A (ja) * 2015-12-02 2017-06-08 日本電信電話株式会社 通信品質劣化検出システム、通信品質劣化検出方法、及びプログラム
JP2018028862A (ja) * 2016-08-19 2018-02-22 日本電信電話株式会社 待ち時間評価装置及び待ち時間評価方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090046581A1 (en) * 2007-08-14 2009-02-19 Anand Eswaran Flow Estimator
US20110087779A1 (en) * 2007-03-15 2011-04-14 Cisco Technology, Inc. Detection of heavy users of network resources
JP2012039324A (ja) * 2010-08-05 2012-02-23 Nippon Telegr & Teleph Corp <Ntt> フロー通信品質推定方法及び装置及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110087779A1 (en) * 2007-03-15 2011-04-14 Cisco Technology, Inc. Detection of heavy users of network resources
US20090046581A1 (en) * 2007-08-14 2009-02-19 Anand Eswaran Flow Estimator
JP2012039324A (ja) * 2010-08-05 2012-02-23 Nippon Telegr & Teleph Corp <Ntt> フロー通信品質推定方法及び装置及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015136928A1 (ja) * 2014-03-14 2015-09-17 日本電気株式会社 フロー制御装置、通信システム、フロー制御装置の制御方法、及びプログラム
US10038641B2 (en) 2014-03-14 2018-07-31 Nec Corporation Flow control device, communication system, control method for flow control device, and program
JP2017103653A (ja) * 2015-12-02 2017-06-08 日本電信電話株式会社 通信品質劣化検出システム、通信品質劣化検出方法、及びプログラム
JP2018028862A (ja) * 2016-08-19 2018-02-22 日本電信電話株式会社 待ち時間評価装置及び待ち時間評価方法

Also Published As

Publication number Publication date
JP5687650B2 (ja) 2015-03-18

Similar Documents

Publication Publication Date Title
Hofstede et al. Flow monitoring explained: From packet capture to data analysis with netflow and ipfix
JP4759389B2 (ja) パケット通信装置
US7873025B2 (en) Network device that determines application-level network latency by monitoring option values in a transport layer message
Sengupta et al. Continuous in-network round-trip time monitoring
WO2012029422A1 (ja) 通信品質監視システム、通信品質監視方法、及び記憶媒体
JP5687650B2 (ja) フロー通信品質推定方法、フロー通信品質推定装置、及びフロー通信品質推定プログラム
JP5199224B2 (ja) フロー通信品質推定方法と装置およびプログラム
JP4311675B2 (ja) 品質劣化切り分け方法、及びその装置
Ding et al. TCP stretch acknowledgements and timestamps: findings and implications for passive RTT measurement
Zheng et al. Unbiased delay measurement in the data plane
JP5437194B2 (ja) フロー通信品質推定方法及び装置及びプログラム
US7898955B1 (en) System and method for real-time diagnosis of routing problems
Neginhal et al. Measuring bandwidth signatures of network paths
JP5192451B2 (ja) ネットワーク品質算出システムと方法およびプログラム
Hirabaru Impact of bottleneck queue size on TCP protocols and its measurement
JP2010233272A (ja) Tcp通信品質推定方法およびtcp通信品質推定装置
JP2013251648A (ja) フロー通信品質劣化検出装置及び方法
Ohsita et al. Detecting Distributed Denial-of-Service Attacks by analyzing TCP SYN packets statistically
Sengupta et al. Fine-Grained RTT Monitoring Inside the Network
Marcondes et al. Inline path characteristic estimation to improve TCP performance in high bandwidth-delay networks
Din et al. Passive analysis of web traffic characteristics for estimating quality of experience
Lan et al. Passive overall packet loss estimation at the border of an ISP
JP5537692B1 (ja) 品質劣化原因推定装置、品質劣化原因推定方法、品質劣化原因推定プログラム
Xie et al. AProbing: Estimating available bandwidth using ACK pair probing
KR102575526B1 (ko) 학습한 과거 데이터를 이용하여 분산 서비스 거부 공격을 탐지하는 장치 및 그 방법

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20131001

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150116

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: 20150120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150122

R150 Certificate of patent or registration of utility model

Ref document number: 5687650

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150