(57)【要約】【課題】  フローテーブルのエントリ数を一定以下の閾値に抑えて、各機能部を通過するデータ量やパケット数を効率的に制御する。【解決手段】  本発明は、フロー設定情報に登録命令が含まれている場合は、フローテーブルに登録されているフロー識別子の数を確認し、所定の閾値以下の場合は、該フローテーブルにフロー設定情報のフロー識別子とプライオリティを登録し、該閾値を超えている場合には、該フローテーブルの各エントリに対応するフロー単位のパケット数もしくはデータ量を計測し、計測結果に基づいて決定されるフローテーブルのエントリのプライオリティ値に基づいて、該フローテーブルに登録された情報の一部を削除し、該フローテーブルに該フロー設定情報のフロー識別子とプライオリティを登録する。【選択図】  図１
2013168817.tif 000002
【特許請求の範囲】
【請求項１】
IPネットワーク上において、パケットを転送する転送手段と、パケットのペイロードの識別し、処理する付加機能手段とを有するトラヒック制御・情報収集装置であって、
前記転送手段は、
パケットのフロー識別子と該フロー識別子に対するプライオリティ値からなるエントリを格納するフローテーブルと、
入力されるフローの制御とパケット転送を行うパケット転送手段と、
前記パケットのフロー識別子に基づいて前記フローテーブルを検索し、該パケットを前記付加機能手段、または、前記パケット転送手段に送出する振り分け処理手段と、
前記フローテーブルの更新を行うフローテーブル更新手段と、
を有し、
前記付加機能手段は、
前記転送手段から取得したパケットについてペイロードの識別を行い、識別結果記憶手段に格納するペイロード識別手段と、
前記ペイロードの識別の結果に基づいてフローの後続パケットを当該付加機能手段に引き込むかを判定し、前記フローテーブルに対してフロー識別子、プライオリティ、登録または削除の命令からなるフロー設定情報を前記フローテーブル更新手段に出力するフロー引込手段と、
を有し、
前記フローテーブル更新手段は、
前記フロー設定情報に登録命令が含まれている場合は、
前記フローテーブルに登録されているフロー識別子の数を確認し、所定の閾値以下の場合は、該フローテーブルに前記フロー設定情報のフロー識別子とプライオリティを登録し、該閾値を超えている場合には、該フローテーブルの各エントリに対応するフロー単位のパケット数もしくはデータ量を計測し、計測結果に基づいて決定されるフローテーブルのエントリのプライオリティ値に基づいて、該フローテーブルに登録された情報の一部を削除し、該フローテーブルに該フロー設定情報のフロー識別子とプライオリティを登録する手段を含む
ことを特徴とするトラヒック制御・情報収集装置。
【請求項２】
前記フローテーブル更新手段は、
前記フローテーブルのエントリ数が所定の閾値以上である場合に、前記フロー設定情報のプライオリティの値と、該フローテーブルのプライオリティの値を比較し、該フローテーブルのプライオリティの値の中で最もプライオリティの値が低いエントリ、または、低い順にＮ個のエントリを削除して、前記フロー設定情報のエントリの追加を行う手段を含む
請求項１記載のトラヒック制御・情報収集装置。
【請求項３】
前記フローテーブル更新手段は、
プライオリティの値毎に決定された所定の該フローテーブルのエントリ数の閾値からなるテーブルを更に有し、
前記フロー設定情報の追加するエントリのプライオリティの値に基づいて前記テーブルを参照し、該フローテーブルのエントリの数が、該プライオリティの値に対応するエントリ数の閾値以下であれば、該フロー設定情報のエントリを該フローテーブルに追加する手段を含む
請求項１記載のトラヒック制御・情報収集装置。
【請求項４】
IPネットワーク上において、パケットを転送する転送手段と、パケットのペイロードの識別し、処理する付加機能手段とを有する装置におけるトラヒック制御・情報収集方法であって、
前記転送手段は、
パケットのフロー識別子と該フロー識別子に対するプライオリティ値からなるエントリを格納するフローテーブルを有し、
入力されるフローの制御とパケット転送を行うパケット転送手段と、
前記パケットのフロー識別子に基づいて前記フローテーブルを検索し、該パケットを前記付加機能手段、または、前記パケット転送手段に送出する振り分け処理手段と、
前記フローテーブルの更新を行うフローテーブル更新手段と、
を有し、
前記付加機能手段は、
前記転送手段から取得したパケットについてペイロードの識別を行い、識別結果記憶手段に格納するペイロード識別手段と、
前記ペイロードの識別の結果に基づいてフローの後続パケットを当該付加機能手段に引き込むかを判定し、前記フローテーブルに対してフロー識別子、プライオリティ、登録または削除の命令からなるフロー設定情報を前記フローテーブル更新手段に出力するフロー引込手段と、
を有する装置において、
前記フローテーブル更新手段が、前記フロー設定情報に登録命令が含まれている場合は、
前記フローテーブルに登録されているフロー識別子の数を確認し、所定の閾値以下の場合は、該フローテーブルに前記フロー設定情報のフロー識別子とプライオリティを登録し、該閾値を超えている場合には、該フローテーブルの各エントリに対応するフロー単位のパケット数もしくはデータ量を計測し、計測結果に基づいて決定されるフローテーブルのエントリのプライオリティ値に基づいて、該フローテーブルに登録された情報の一部を削除し、該フローテーブルに該フロー設定情報のフロー識別子とプライオリティを登録するフローテーブル更新ステップを行う
ことを特徴とするトラヒック制御・情報収集方法。
【請求項５】
前記フローテーブル更新ステップにおいて、
前記フローテーブルへの前記フロー設定情報のエントリの追加を行う際に、
前記フローテーブルのエントリ数が所定の閾値以上である場合に、前記フロー設定情報のプライオリティの値と、該フローテーブルのプライオリティの値を比較し、該フローテーブルのプライオリティの値の中で最もプライオリティの値が低いエントリ、または、低い順にＮ個のエントリを削除する
請求項４記載のトラヒック制御・情報収集方法。
【請求項６】
前記フローテーブル更新ステップにおいて、
前記フローテーブルへの前記フロー設定情報のエントリの追加を行う際に、
追加するエントリのプライオリティの値に基づいて、プライオリティの値毎に決定された所定の該フローテーブルのエントリ数の閾値からなるテーブルを参照し、
前記フローテーブルのエントリの数が該プライオリティの値に対応するエントリ数の閾値以下であれば、該フロー設定情報のエントリを該フローテーブルに追加する
請求項４記載のトラヒック制御・情報収集方法。
【請求項７】
コンピュータを、
請求項１乃至３のいずれか１項に記載のトラヒック制御・情報収集装置の各手段として機能させるためのトラヒック制御・情報収集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トラヒック制御・情報収集装置及び方法及びプログラムに係り、特に、一般のIP(Internet Protocol)ネットワーク内に流れるトラヒックについて、フローの流量などの制御や、パケットのヘッダ及びペイロードの情報の収集を行うためのトラヒック制御・情報収集装置及び方法及びプログラムに関する。
【背景技術】
【０００２】
従来のIPネットワークにおいてトラヒックの制御を行う方法として、単一の機能部により全てのトラヒックを処理する方法と、分散した機能部でフローを処理する方法がある。
【０００３】
このうち複数の分散した機能部で処理する方法では、事前に定められたルールに従って各機能部へフローを分散する静的な方法（例えば、非特許文献１参照）と、どのフローをどの機能部で処理するか、各機能部での処理結果に応じて変化させる動的な方法（例えば、非特許文献２参照）がある。両者とも、どのフローをどの機能部で処理するかを記憶するためのフローテーブルが必要となる（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】矢崎武己「IPデータ系システム」、電子情報通信学会 知識ベース5群4編 ノード技術、2009年.http://www.ieice-hbkb.org/files/05/05gun_04hen_05.pdf
【非特許文献２】＠IT：パケットフローから負荷分散の基本を理解するhttp://www.atmarkit.co.jp/fnetwork/rensai/lb01/lb01.html
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の技術では、フローテーブルを記録するハードウェアは有限であるので、有限個のフロー識別子しか設定できない。そこで、エントリ数が上限に達しないようにエントリを削除する方法として、MACラーニングにおけるエージング処理による方法があるが、パケットが流れている時間のみで判断することになり、各機能部で処理したいと考えられるデータの量による判断ができないという問題がある。
【０００６】
本発明は、上記の点に鑑みなされたもので、フローテーブルのエントリ数を一定以下の閾値に抑えて、各機能部を通過するデータ量やパケット数を効率的に制御することが可能なトラヒック制御・情報収集装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明（請求項１）は、IPネットワーク上において、パケットを転送する転送手段と、パケットのペイロードの識別し、処理する付加機能手段とを有するトラヒック制御・情報収集装置であって、
前記転送手段は、
パケットのフロー識別子と該フロー識別子に対するプライオリティ値からなるエントリを格納するフローテーブルと、
入力されるフローの制御とパケット転送を行うパケット転送手段と、
前記パケットのフロー識別子に基づいて前記フローテーブルを検索し、該パケットを前記付加機能手段、または、前記パケット転送手段に送出する振り分け処理手段と、
前記フローテーブルの更新を行うフローテーブル更新手段と、
を有し、
前記付加機能手段は、
前記転送手段から取得したパケットについてペイロードの識別を行い、識別結果記憶手段に格納するペイロード識別手段と、
前記ペイロードの識別の結果に基づいてフローの後続パケットを当該付加機能手段に引き込むかを判定し、前記フローテーブルに対してフロー識別子、プライオリティ、登録または削除の命令からなるフロー設定情報を前記フローテーブル更新手段に出力するフロー引込手段と、
を有し、
前記フローテーブル更新手段は、
前記フロー設定情報に登録命令が含まれている場合は、
前記フローテーブルに登録されているフロー識別子の数を確認し、所定の閾値以下の場合は、該フローテーブルに前記フロー設定情報のフロー識別子とプライオリティを登録し、該閾値を超えている場合には、該フローテーブルの各エントリに対応するフロー単位のパケット数もしくはデータ量を計測し、計測結果に基づいて決定されるフローテーブルのエントリのプライオリティ値に基づいて、該フローテーブルに登録された情報の一部を削除し、該フローテーブルに該フロー設定情報のフロー識別子とプライオリティを登録する手段を含む。
【０００８】
また、本発明（請求項２）は、前記フローテーブル更新手段において、
前記フローテーブルのエントリ数が所定の閾値以上である場合に、前記フロー設定情報のプライオリティの値と、該フローテーブルのプライオリティの値を比較し、該フローテーブルのプライオリティの値の中で最もプライオリティの値が低いエントリ、または、低い順にＮ個のエントリを削除して、前記フロー設定情報のエントリの追加を行う手段を含む。
【０００９】
また、本発明（請求項３）は、前記フローテーブル更新手段において、
プライオリティの値毎に決定された所定の該フローテーブルのエントリ数の閾値からなるテーブルを更に有し、
前記フロー設定情報の追加するエントリのプライオリティの値に基づいて前記テーブルを参照し、該フローテーブルのエントリの数が、該プライオリティの値に対応するエントリ数の閾値以下であれば、該フロー設定情報のエントリを該フローテーブルに追加する手段を含む。
【発明の効果】
【００１０】
上記のように、本発明では、フローテーブルのエントリを追加または削除する条件を、フロー毎のデータ量やパケット数などの特性に基づくプライオリティに従ってフローテーブルを更新することで、優先度が低くフローテーブルに存在する価値の低いエントリを削減するため、効率的なフローテーブルのエントリ管理が可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施の形態における装置構成図である。
【図２】本発明の一実施の形態における方式１を説明するための図である。
【図３】本発明の一実施の形態におけるデータ量テーブルの例である。
【図４】本発明の一実施の形態における方式１のフローチャートである。
【図５】本発明の一実施の形態におけるプライオリティに対応するフロー単位時間当たりのデータ量のテーブルである。
【図６】本発明の一実施の形態における方式２を説明するための図である。
【図７】本発明の一実施の形態における方式２のフローチャートである。
【図８】本発明の一実施の形態におけるフロー目的判定表の例である。
【図９】本発明の一実施の形態におけるプライオリティ値に対応するエントリ数の閾値のテーブルである。
【発明を実施するための形態】
【００１２】
以下、図面と共に本発明の実施の形態を説明する。
【００１３】
図１は、本発明の一実施の形態における装置構成を示す。
【００１４】
同図に示すトラヒック制御・情報収集装置は、一般のIPネットワークに設置され、パケットを転送する機能をもつ転送機能部１０と、パケットのペイロードを識別（予め設定されたビット列により、パケットのペイロードから、特定のビット列を検出することにより、パケットを識別）し処理する付加機能部２０により構成される。
【００１５】
転送機能部１０は、振り分け処理部１１、パケット処理部１２、フローテーブル更新部１３、フローテーブル１４により構成される。また、図示しないが、メモリを有し、計測したデータ量を保持するテーブルや、プライオリティ値を算出するためのテーブルを有する。
【００１６】
フローテーブル１４は、ハードディスクやメモリ等の記憶媒体に設けられ、フロー識別子毎にプライオリティ値が登録される。ここで、フロー識別子とは、プロトコル識別、送受信アドレス、送受信ポート番号からなる。また、プライオリティ値とは、フロー毎のデータ量やパケット数などの特性に基づき設定される優先度を指す。
【００１７】
振り分け処理部１１は、パケットのフロー識別子（送受信アドレスや送受信ポート番号など、フロー（パケットの一連の流れ）を特定する情報）でフローテーブル１４を検索し、その結果によりパケットを付加機能部２０とパケット処理部１２のいずれかに送出する。
【００１８】
パケット処理部１２は、入力されるフローについて、パケットの書き換え、レートリミット、フィルタ等の制御とパケット転送を行う機能を有する。
【００１９】
フローテーブル更新部１３は、付加機能部２０から入力されるフロー設定情報を取得して、フローテーブル１４を更新する。
【００２０】
付加機能部２０は、ペイロード識別部２１と、識別結果保存部２２と、フロー引込判定部２３により構成される。また、図示しないが、メモリを有し、フローの目的を判定するためのテーブルを格納する。
【００２１】
ペイロード識別部２１は、転送機能部１０の振り分け処理部１１から受信したパケットについてペイロードの識別を行い、そのペイロード識別結果を識別結果保存部２２に格納する。
【００２２】
識別結果保存部２２は、ハードディスクやメモリ等の記憶媒体であり、パケットのペイロード識別結果を保存する。
【００２３】
フロー引込判定部２３は、識別結果保存部２２に格納されているペイロードの識別結果からフローの通信目的などを判断する。当該フローの通信目的により該当フローのパケット流量が推定されるため、パケットの流量に基づいてフロー設定情報をフローテーブルに登録するか否かを判定する。登録する場合は、転送機能部１０のフローテーブル更新部１３にフロー設定情報を送信する。ここで、フロー設定情報とは、フロー識別子とプライオリティ、登録削除（登録/削除のいずれか）の３つの組で構成される情報である。
【００２４】
上記の構成に基づいて、以下に２つの方式を説明する。
【００２５】
●方式１：フロー毎にパケット流量（単位時間あたりのパケット数）を実測し、流量の少ないフローに対応するエントリの優先度を下げる。
【００２６】
図２は、本発明の一実施の形態における方式１を説明するための図であり、図３は、そのフローチャートである。以下の括弧内の数字は、図２の数字と対応する。
【００２７】
（１）転送機能部１０の振り分け処理部１１は、フローテーブル１４に登録されたフロー識別子（プロトコル種別、送受信アドレス、送受信ポート番号）で特性されるフローの一定時間あたりのデータ量を計測して（ステップ１０１）、メモリ（図示せず）内に図４に示すようなデータ量テーブルを作成する（ステップ１０２）。また、当該データ量テーブルのフロー単位の単位時間あたりのデータ量を図５に示す表に当てはめることで、プライオリティ値を算出し（ステップ１０３）、これをフローテーブル１４の各エントリに反映する（ステップ１０４）。図５はプライオリティに対応するフロー単位の単位時間当たりのデータ量を示す。尚、図４に示すデータ量テーブルは、フローエントリに登録されたフロー識別子に対するフロー単位の単位時間あたりのデータ量を保持する。また、図５は、プライオリティに対応するフロー単位の単位時間当たりのデータ量を保持する。
【００２８】
（２）転送機能部１０のフローテーブル更新部１３が、付加機能部２０の引き込み判定部２３からフロー設定情報としてフローの登録命令を取得すると（ステップ１０５）、フローテーブル１４のエントリ数が所定の閾値に達しているかを判定し、達していない場合には（ステップ１０６、Yes）、既存エントリには影響なく、フローテーブル１４に新しいエントリが作成される（ステップ１０８）。このとき、フローテーブルのプライオリティ値は、事前に設定された一律の値が設定される。
【００２９】
（３）上記（２）において、フローテーブル１４のエントリ数が閾値に達している場合には（ステップ１０６,No）、フローテーブル１４のエントリのうち最も低いプライオリティを持つエントリを選択して当該エントリを削除する。なお、最も低いプライオリティを持つエントリが複数ある場合には、その中から無作為に一つ選び、そのエントリを削除する(ステップ１０７)。その後、上記の（２）と同様に新しいエントリの登録を行う（ステップ１０８）。
【００３０】
●方式２：パケット流量が少ないと予めわかっているエントリの優先度を下げる方式：
図６は、本発明の一実施の形態における方式２を説明するための図であり、図７は、そのフローチャートである。
【００３１】
（１）付加機能部２０は、振り分け処理部１１からパケットを受信すると（ステップ２０１）、そのパケットがどのような通信目的を持つかを、パケットのフロー識別子とペイロード識別結果、及び該当フローについてこれまでに判定された通信目的から、図８に示すフロー通信目的を判定する表を上から順に検索することで通信目的を判定する（ステップ２０２）。図８に示す表は、付加機能部２０内のメモリ（図示せず）に格納されており、フロー識別子、ペイロード識別結果、該当フローについてこれまでに判定され通信目的及び通信目的の判定結果から構成される。判定結果は、付加機能部２０の識別結果保存部２２に保存する（ステップ２０３）。
【００３２】
（２）通信目的毎に、プライオリティ値が決められており、通信目的から予想されるパケット流量が大きい場合にはプライオリティ値を高く、小さい場合にはプライオリティ値を低く設定している。
【００３３】
（３）付加機能部２０の引込判定部２３は、あるフローについて、予め設定された数だけパケットを受信すると（ステップ２０４,Yes）、そのフローに対して今後は付加機能部２０で処理を行わず、パケット処理部１２で処理を行うと判断し、フローテーブル更新部１３に対して該当フローのフロー識別子をフローテーブル１４に登録する命令を発出する（ステップ２０５）。このとき、（１）及び（２）から判別されるプライオリティ値を命令に設定する。
【００３４】
（４）フローテーブル更新部１３がフロー識別子の登録命令を受け取ったとき、フローテーブル１４のエントリ数が、図９に示すプライオリティに対応する閾値に達していない場合には（ステップ２０６）、既存のエントリに影響はなく、フローテーブル１４に新しいエントリが作成される（ステップ２０７）。エントリのプライオリティ値は、命令により与えられたプライオリティ値を設定する。フローテーブル１４のエントリ数が閾値に達している場合には（ステップ２０６）、登録命令を破棄し、フローテーブル１４への変更を加えない（ステップ２０８）。
【００３５】
上記のように、フローテーブル１４のエントリを追加・削除する条件を定めることにより、フロー毎のデータ量やパケット数などの特性に基づくプライオリティに従ってフローテーブルを構成することで、優先度が小さくエントリへ存在する価値の低いエントリを削減し、エントリ数の効率化を行うことが可能となる。
【００３６】
なお、上記の図１に示す装置の各構成要素の動作をプログラムとして構築し、トラヒック制御・情報収集装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００３７】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００３８】
１０  転送機能部
１１  振り分け処理部
１２  パケット処理部
１３  フローテーブル更新部
１４  フローテーブル
２０  付加機能部
２１  ペイロード識別部
２２  識別結果保存部
２３  引込判定部
【図１】
2013168817.tif 000003
【図２】
2013168817.tif 000004
【図３】
2013168817.tif 000005
【図４】
2013168817.tif 000006
【図５】
2013168817.tif 000007
【図６】
2013168817.tif 000008
【図７】
2013168817.tif 000009
【図８】
2013168817.tif 000010
【図９】
2013168817.tif 000011