(57)【要約】【課題】インターネットなどの大規模なネットワークにおいて、ルータやスイッチなどのトラヒック制御装置に対する、より高速なコマンド投入方法が必要であった。【解決手段】制御情報生成装置２００において、パケット制御データ２３１よりパケットを制御するための情報が記述されたメモリイメージを生成し、トラヒック制御装置５００に転送する。トラヒック制御装置においては、このメモリイメージを装置内のメモリにそのまま書き込む。パケット処理装置は、この書き込まれたメモリイメージによって、パケットの制御を直ちに実行する。【選択図】図１
2011146996.tif 000002
【特許請求の範囲】
【請求項１】
トラヒックの制御コマンドを生成する制御コマンド生成装置と、トラヒックの制御を実行するトラヒック制御装置とから構成されるトラヒック制御システムにおいて、
前記制御コマンド生成装置は、トラヒック制御を実行するためのコマンドの情報について前記トラヒック制御装置がそのメモリ上で保持する形式に変換する変換手段と、変換したデータを前記トラヒック制御装置に転送する転送手段とを備え、
前記トラヒック制御装置は、前記変換したデータを含むデータを受信する受信手段と、受信したデータから、前記変換してデータを前記メモリにコピーする手段と、前記メモリ上の変換したデータを参照してパケットの処理を行なうパケット処理部とを有することを特徴とするトラヒック制御システム。
【請求項２】
請求項１に記載のトラヒック制御システムであって、
前記制御コマンドは、トラヒック制御対象のパケットを特定するとして、送信元ポート番号、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコル種別から選択される情報を含み、さらに特定したパケットに対して行なう制御に関する情報を含むことを特徴とするトラヒック制御システム。
【請求項３】
請求項２記載のトラヒック制御システムであって、
前記制御に関する情報は、パケットの遮断、帯域制限のいずれかを含み、
前記制御に関する情報が、帯域制限である場合、ネットワークを流れる帯域を制限することに関する速度の情報を含むことを特徴とするトラヒック制御システム。
【請求項４】
請求項１に記載のトラヒック制御システムであって、
前記トラヒック制御装置は、通過するトラヒックに関する情報を前記制御コマンド生成装置に送信し、
前記制御コマンド生成装置は、前記トラヒックに関する情報を参照してトラヒック制御を実行するためのコマンドの情報を生成することを特徴とするトラヒック制御システム。
【請求項５】
請求項１に記載のトラヒック制御システムであって、
前記トラヒック制御装置を複数含み、
前記制御コマンド生成装置は、変換したデータを前記トラヒック制御装置のそれぞれに転送することを特徴とするトラヒック制御システム。
【請求項６】
請求項５に記載のトラヒック制御システムであって、
複数の前記トラヒック制御装置は、通過するトラヒックに関する情報を前記制御コマンド生成装置に送信し、
前記制御コマンド生成装置は、複数の前記トラヒックに関する情報を参照してトラヒック制御を実行するためのコマンドの情報を生成して、複数の前記トラヒック制御装置に転送することを特徴とするトラヒック制御システム。
【請求項７】
コンピュータを、
トラヒック制御を実行するためのコマンドの情報についてトラヒック制御装置がそのメモリ上で保持する形式に変換する変換手段、
変換したデータを前記トラヒック制御装置に転送する転送手段、
として機能させるためのトラヒック制御データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トラヒック制御システムおよびトラヒック制御データ生成プログラムに係り、特に高速に制御コマンドを投入可能なトラヒック制御システムおよびトラヒック制御データ生成プログラムに関する。
【背景技術】
【０００２】
インターネット上では様々な通信が行なわれている。通信中には、ＷＥＢの閲覧、ＦＴＰによるファイル転送など、通常のトラヒックと、コンピュータウィルスによる感染活動、ウィルスに感染したＰＣから特定のサーバに対するＤｏＳ攻撃などの、他者に迷惑をかける可能性のあるトラヒックとが混在している。
【０００３】
このため、ＩＳＰや企業などのネットワーク管理部門においては、ネットワークを流れるトラヒックを分析し、一部の好ましくないと判断されたトラヒックを制限する処理が行なわれることがある。具体的には、あるＩＰアドレスが、ファイル交換などの過剰な通信を行ない、このためにネットワークの帯域が圧迫されている場合、このＩＰアドレスによって発生するトラヒックについて帯域の制限を行なうことがある。
【０００４】
このような制御は、ルータまたはスイッチ上において、制御コマンドを投入することによって行なわれる。特許文献1には、制御コマンドを用いてネットワークの帯域を制御する方式について述べられている。非特許文献１は、この制御コマンドの投入方法についての解説がなされている。具体的には、ポリシールーティング情報の設定方法が書かれている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００４−５３０３８４号公報
【非特許文献】
【０００６】
【非特許文献１】”ｐｏｌｉｃｙ−ｌｉｓｔ（ポリシールーティングリスト情報）”、[ｏｎｌｉｎｅ]、ＡＸ７８００コマンドリファレンス、アラクサラネットワークス株式会社、[平成２１年１２月２５日検索]、インターネット＜http://www.alaxala.com/jp/techinfo/archive/manual/AX7800S/HTML/10_10/CFREFHY/0079.HTM＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
インターネットなどの大規模なネットワークにおいて、多数の端末がＩＰアドレス、ポート番号を使って通信を行なっている。これらの通信に対して、きめ細かな制御を行なうためには、非常に多くの設定情報をネットワーク機器に投入する必要がある。しかも、インタラクティブにコマンドを投入する方法では、コマンドの投入速度に限界がある。このため、より高速にコマンドを投入する方法を考案する必要がある。
【課題を解決するための手段】
【０００８】
上述した課題は、トラヒックの制御コマンドを生成する制御コマンド生成装置と、トラヒックの制御を実行するトラヒック制御装置とから構成されるトラヒック制御システムにおいて、前記制御コマンド生成装置は、トラヒック制御を実行するためのコマンドの情報について前記トラヒック制御装置がそのメモリ上で保持する形式に変換する変換手段と、変換したデータを前記トラヒック制御装置に転送する転送手段とを備え、前記トラヒック制御装置は、前記変換したデータを含むデータを受信する受信手段と、受信したデータから、前記変換してデータを前記メモリにコピーする手段と、前記メモリ上の変換したデータを参照してパケットの処理を行なうパケット処理部とを有するトラヒック制御システムにより、達成できる。
【０００９】
また、コンピュータを、トラヒック制御を実行するためのコマンドの情報についてトラヒック制御装置がそのメモリ上で保持する形式に変換する変換手段、変換したデータを前記トラヒック制御装置に転送する転送手段、として機能させるためのトラヒック制御データ生成プログラムにより、達成できる。
【発明の効果】
【００１０】
本発明によれば、ルータ、スイッチなどのトラヒック制御装置に対して、コマンドを高速に投入することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】トラヒック制御システムのブロック図である。
【図２】トラヒック制御装置および制御情報生成装置の機能ブロック図である。
【図３】パケット制御データのデータ構造を説明する図である。
【図４】パケット制御データをメモリイメージに変換した時のフォーマットを示す図である。
【図５】パケット制御データの設定データのフォーマットを示す図である。
【図６】パケット制御データの設定データの具体的な記述である。
【図７】メモリイメージ転送プログラムの処理を説明するフローチャートである。
【図８】メモリイメージ受信プログラムの処理を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について、実施例を用い図面を参照しながら詳細に説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
【００１３】
図１を参照して、トラヒック制御コマンドの送信を行なうトラヒック制御システム１０００の構成を説明する。図１において、制御情報生成装置２００は、トラヒックを制御するために必要な情報を生成する装置である。制御情報生成装置２００は、ＰＣサーバなどの端末として実装される。トラヒック制御装置５００は、トラヒックの制御を実際に実行する装置である。トラヒック制御装置５００は、ルータ、スイッチなどのネットワーク機器として実装される。
【００１４】
トラヒック制御装置５００は、ネットワーク回線を通じて、制御情報生成装置２００と接続されている。このネットワーク回線は、ＴＣＰ／ＩＰによって構成されるネットワークであり、インターネットやイントラネットがこれに該当する。なお、図１において、トラヒック制御装置５００は、ネットワーク回線を通じて外部ネットワーク１００と接続されている。外部ネットワークとは、インターネットなどのネットワークである。
【００１５】
図２を参照して、制御情報生成装置２００とトラヒック制御装置５００の詳細を説明する。図２において、制御情報生成装置２００は、インターネットなどのネットワーク回線に接続された端末である。制御情報生成装置２００は、ＣＰＵ５００、入出力装置２４０、通信を行なうインタフェース２５０（図中ではＩＦと表記）、メモリ２３０が含まれており、これらの各装置がデータバス２１０を介して接続されている。
【００１６】
図２において、制御情報生成装置２００とトラヒック制御装置５００とが直接結線するように表記されている。しかし、２つのマシンがインターネットなどのネットワークを介して接続する実施形態もありうる。インタフェース２５０は、ネットワーク３１０を介してトラヒック制御装置５００と接続されている。メモリ２３０は、パケット制御データ２３１およびメモリイメージ転送プログラム２３２が含まれている。パケット制御データ２３１は、パケットを制御するためのデータを記述する。メモリイメージ転送プログラム２３２は、トラヒック制御装置５００に転送するためのプログラムが記述されている。
【００１７】
トラヒック制御装置５００は、インターネットなどのネットワーク回線に接続されたネットワーク機器である。トラヒック制御装置５００は、ＣＰＵ５２０、入出力装置５４０、メモリ５３０、パケット処理装置５６０、通信を行なうインタフェース５５０、５７０（図中ではＩＦと表記）を含む。インタフェース５５０は、ＣＰＵ５２０、入出力装置５４０、メモリ５３０、パケット処理装置５６０と直接接続されており、これらの機能部に指示を与えるための制御用のインタフェースである。２つのインタフェース５７０は、パケット処理装置５６０と直接接続されており、２本の通信路３２０を介して、インターネットなどのデータ送受信を行なうネットワークと通信を行なう。メモリ５３０は、メモリイメージ受信プログラム５３１と、パケット処理プログラム５３２と、メモリイメージ５３３とを記憶している。メモリイメージ受信プログラム５３１は、制御情報生成装置２００からのデータを受信するプログラムである。メモリイメージ５３３は、その受信データである。パケット処理プログラム５３２は、メモリイメージ５３３に含まれる制御情報をパケット処理装置５００に反映させるためのプログラムである。
【００１８】
図３を参照して、パケット処理データ２３１の具体値を説明する。図３において、パケット処理データ２３１は、送信元ＩＰアドレス３０１、送信元ポート番号３０２、宛先ＩＰアドレス３０３。宛先ポート番号３０４、プロトコル３０５、制御種別３０６、パラメータ３０７から構成される。パケット処理データ２３１は、ＴＣＰ／ＩＰの通信において、特定の条件に合致するパケットに対して、定めた制御を行なうものである。この制御のためのルールは、制御情報生成装置２００の入出力装置２４０より、この装置の使用者が入力する。
【００１９】
項目３０１〜３０５は、パケットを特定する情報である。項目３０１では送信元ＩＰアドレスを、項目３０２では送信元ポート番号を、項目３０３では宛先ＩＰアドレスを、項目３０４では宛先ポート番号を、項目３０５では使用されるプロトコル種別を指定している。これらの項目をすべて満たすパケットが制御対象のパケットとなる。ただし、項目３０１〜３０５の任意の項目のみを指定し、残りの項目については「Ｄｏｎ’ｔ Ｃａｒｅ」（特に指定しない）と指定することも可能である。具体的には、送信元ＩＰアドレス３０１と送信元ポート番号３０２のみを指定して、項目３０３〜３０５を「Ｄｏｎ’ｔ Ｃａｒｅ」と指定することも可能である。この場合、送信元ＩＰアドレス３０１と送信元ポート番号３０２のみが指定の条件に合致するパケットが制御対象になる。
【００２０】
送信元ＩＰアドレス３０１と宛先ＩＰアドレス３０３のみを指定し、残りの項目を「Ｄｏｎ’ｔ Ｃａｒｅ」と指定することも可能である。この場合、送信元ＩＰアドレスと宛先ＩＰアドレスが指定のものに合致するパケットは、そのパケットのポート番号３０２、３０４やプロトコル３０５が何であっても、制御対象のパケットとなる。
【００２１】
制御種別３０６は、上記で決定される制御対象のパケットに対して、どのような処理を施すかを指定する。パラメータ３０７は、制御種別３０６において指定される制御を実行なするために必要な追加のパラメータ情報を記述する。制御種別３０６が「遮断」である場合、項目３０１〜３０５で指定される制御対象のパケットをトラヒック制御装置で「遮断する」という制御がおこなわれる。この場合追加のパラメータ情報は必要ないので、パラメータ３０７は空欄である。制御種別３０６が「帯域制限」である場合、制御対象のパケットの帯域を制限する処理が行なわれる。この場合、パラメータ３０７に追加の情報として、どの程度の帯域まで制限するかという値（具体的には「１Ｍｂｐｓ」など）を記述する。
【００２２】
図４を参照して、パケット処理データ２３１を変換したメモリイメージ４００を説明する。なお、この変換は、メモリイメージ転送プログラム２３２によって行なわれる。ここでは、変換後のデータのフォーマットについて説明する。メモリイメージ４００は、パケット処理データ２３１を、パケット処理装置が直ちに処理できる形式のデータに書きなおしたものである。図４では、０バイト目から３１バイト目までの３２バイトを１行として、それに続く３２バイトのデータを１行目、２行目と順に記述している。０バイト目から６３バイト目まで（０行目と１行目）は、通信の制御のために用いるヘッダ情報である。
【００２３】
０〜７バイト目（Ｖｅｒｓｉｏｎ４０１）は、このパケットのバージョン情報である。Ｖｅｒｓｉｏｎ４０１は、パケットのバージョン番号を記述する。Ｖｅｒｓｉｏｎ４０１により、パケットの送信側、受信側で、バージョンの違いによるパケットの解釈の違いを防ぐ。ここでは、定義するバージョンの番号については「１」とする。
【００２４】
８〜３１バイト目（Ｌｅｎｇｔｈ４０２）は、ヘッダ情報に続く設定データの長さをバイト単位で記述している。設定データは、設定する項目の量によって可変である。Ｌｅｎｇｔｈ４０２にデータの長さを記述しておくことにより、受信側は、その長さのデータを受信しなければならないことを認識する。
【００２５】
３２〜４７バイト目（Ｓｅｑｕｅｎｃｅ４０３）は、パケットのシークエンス番号である。受信側は、Ｓｅｑｕｅｎｃｅ４０３によって、送られてくる設定データの順序を確認する。４８〜６３バイト目（Ｒｅｓｅｒｖｅｄ４０４）は、将来の拡張のための項目であり、現状では特に意味はない。６４バイト目以降は、制御のための情報を実際に記述する設定データ４１０である。
【００２６】
制御情報生成装置２００からトラヒック制御装置５００への制御情報の送信は、このフォーマットを用いて行なわれる。またこのフォーマットに記述する設定データは、トラヒック制御装置５００の指定のメモリに書き込むと、パケットの制御に直ちに反映されるものである。
【００２７】
図５を参照して、設定データ４１０のフォーマットを説明する。図５において、設定データ４１０のフォーマットのバイト列について説明する。送信元ＩＰアドレス４１２は、０〜３バイト目にかけて記述する。送信元ポート番号４１３は、４〜５バイト目にかけて記述する。宛先ＩＰアドレス４１４は、６〜９バイト目にかけて記述する。宛先ポート番号４１５は、１０〜１１バイト目にかけて記述する。プロトコル４１６は、１２バイト目に記述する。項目５０７の制御種別４１７は１３バイト目に記述する。パラメータ４１８は１４〜１５バイト目に記述する。この場合、制御情報は１６バイトでひとつのセットであり、これを繰り返すことにより、設定データ４１０に複数の制御情報を記述する。
【００２８】
図６を参照して、制御情報の具体値を説明する。図６において、０〜３バイト目の送信元アドレスが１２３.５４.７６.９８である場合、このバイト列に、アドレスをバイト列で表した「７Ｂ ３６ ４Ｃ ６２」をセットする（バイト列６０１）。同様に送信元ポートが２３４である場合、４〜５バイト目に「００ ＥＡ」をセットする（バイト列６０２）。宛先アドレス、宛先ポート番号が２３４.５６.７８.９０の５６７番ポートである場合、それぞれバイト列６０３、６０４に「ＥＡ ３８ ４Ｅ ５Ａ」「０２ ３７」とセットする。プロトコル番号は、プロトコルごとにコード番号を定め、例えば「ＴＣＰ」ならば「０１」のようにセットする（バイト列６０５）。制御種別、パラメータも同様にコード番号を定め、制御種別が「遮断」ならば「０１」、パラメータは「００ ００」などとあらかじめ定めた値をセットする（バイト列６０６、６０７）。
【００２９】
図７を参照して、メモリイメージ転送プログラム２３２の処理を説明する。図７において、メモリイメージ転送プログラム２３２は、パケット制御データを参照する（Ｓ７０１）。メモリイメージ転送プログラム２３２は、メモリイメージ４００を作成する（Ｓ７０２）。メモリイメージ転送プログラム２３２は、メモリイメージ４００をトラヒック制御装置５００に転送して（Ｓ７０３）、終了する。
【００３０】
なお、パケット制御データ２３１は入出力装置、あるいはインタフェース２５０を用いて、あらかじめ装置２００の使用者が入力しておく。ステップ７０２は、ＩＰアドレスやポート番号などの情報をバイト列に変換し、図５で示したメモリイメージ５０１のフォーマットに記述する。プロトコルや制御種別についても、「遮断」ならば「１」、「帯域制御」なら「２」と数値に変換するなど、メモリイメージ４００のフォーマットに含まれるバイト列で記述できる形式に変換する。この変換された値については、制御情報生成装置２００と、パケット処理装置５００で同じテーブルを保持し、同じ値ならば同じ意味をあらわすように実装するものとする。このように変換されたものを設定データ４１０とし、これにメモリイメージのフォーマットのバージョンを示すバージョン情報や、メモリイメージの連番情報となるシークエンス番号などのヘッダデータを付加して、メモリイメージ４００を作成する。
【００３１】
図８を参照して、メモリイメージ受信プログラム５３１の処理を説明する。メモリイメージ受信プログラム５３１は、インタフェース５５０がデータが受信したことをトリガとして開始される。図８において、メモリイメージ受信プログラム５３１は、メモリイメージ４００を受信する（Ｓ８０１）。メモリイメージ受信プログラム５３１は、メモリイメージ４００をチェックする（Ｓ８０２）。メモリイメージ受信プログラム５３１は、メモリイメージ４００をメモリ５３０のメモリイメージ５３３に書き込んで（Ｓ８０１）、終了する。
【００３２】
ステップ８０１において、メモリイメージ受信プログラム５３１は、メモリイメージを受信するとヘッダ情報を参照する。メモリイメージ受信プログラム５３１は、設定データの長さを取得し、この長さの設定データを受信するまで待機する。ここで、別に指定する時間待機したのち、それでも指定した長さの設定データが送られてこない場合、メモリイメージ受信プログラム５３１は、エラーとして処理を中断するタイムアウトの処理を行なっても良い。
【００３３】
ステップ８０２において、メモリイメージ受信プログラム５３１は、パケットのバージョン情報が、送信側の装置２００と受信側の装置５００で合致しているかどうかをチェックする。メモリイメージ受信プログラム５３１は、またシークエンス番号どおりに設定データが到着しているかをチェックする。バージョン番号に関しては、メモリイメージのバージョンは「１」であり、これ以外のバージョン番号がここに記述されていた場合、メモリイメージ受信プログラム５３１は、受信したメモリイメージは正しくないものであると判定し、エラーとして処理を中断する。また、シークエンス番号に関しては、メモリイメージが連番で届かなかった場合に、いったん届いたメモリイメージをメモリ上の別の領域に退避させておき、次のメモリイメージが到着したとき以降に、メモリイメージ受信プログラム５３１は、メモリイメージがシークエンス番号の順序になるようにする。
【００３４】
ステップ８０３において、メモリイメージ受信プログラム５３１は、パケット処理装置５６０が参照するメモリ領域５３３に、ヘッダ情報を除いた設定データ４１０を直接書き込む。
【００３５】
パケット処理プログラム５３２により、パケット処理装置５６０は、直接このメモリイメージ５３３を参照し、制御情報で指定されたパケットの処理を行なう。この処理に関しては、スイッチやルータに搭載された一般的なものであり、ＣＡＭ（Content Addressable Memory）などの技術を用いて、メモリに記述された制御情報に合致するパケットに対して一括して「遮断」などの処理を行なうことが可能である。
【００３６】
上述した実施例の一部を変更して、次のように実施しても良い。
第１に、トラヒック制御装置５００は制御情報生成装置２００に対してトラヒック情報を送信し、制御情報生成装置はこのトラヒック情報を基にパケット制御データを作成しても良い。トラヒック制御装置５００は、トラヒック情報として、パケットをサンプリングした情報であるｓＦｌｏｗを制御情報生成装置２００に送信する。制御情報生成装置２００は、このサンプリングパケットに多く現れるＩＰアドレスをトラヒック量の多いＩＰアドレスとして推定し、このＩＰアドレスに対して「帯域制限」などの制御を行なうようにパケット制御データを作成することが可能である。この変更により、トラヒック制御装置によって観測されたトラヒック情報に応じた制御情報を動的に作成することが可能になる。
【００３７】
第２に、制御情報生成装置２００が１台と、トラヒック制御装置５００が複数台ある構成とし、制御情報生成装置からそれぞれのトラヒック制御装置に対して、メモリイメージを転送するように変更して実施しても良い。この場合、パケット制御データおよびメモリイメージ転送プログラムにおいては、複数台存在するトラヒック制御装置の中のどの装置の制御データであるかを認識する情報を保持し、それぞれのトラヒック制御装置ごとにことなるメモリイメージを生成して転送する。この変更により、１台の制御情報生成装置で、複数のトラヒック制御装置の制御を集中的に管理することができるようになる。
【００３８】
第３に、第２の変更例における複数のトラヒック制御装置５００からトラヒック情報を１台の制御情報生成装置に送信し、これら複数のトラヒック制御装置５００の情報を用いて、複数台のトラヒック制御装置５００のためのパケット制御データを作成してもよい。ネットワーク上の複数の場所にトラヒック制御装置５００を設置し、そこからｓＦｌｏｗのデータを１台の制御情報生成装置２００に送信する。制御情報生成装置２００は、これらのデータに一定数以上含まれるＩＰアドレスを、ネットワークの帯域を過剰に占拠しているＩＰアドレスであると推定し、このＩＰアドレスに対して「帯域制限」を行なうようにパケット制御データを作成する。この変更により、ネットワークを複数の観測地点から観測し、そのデータを統合してネットワーク管理のための制御情報を生成することが可能になる。
【符号の説明】
【００３９】
１００…ネットワーク、２００…制御情報生成装置、２１０…通信路、２２０…ＣＰＵ、２３０…メモリ、２４０…入出力装置、２５０…インタフェース、３１０…通信路、３２０…通信路、４００…メモリイメージ、４１０…設定データ、５００…トラヒック制御装置、５１０…通信路、５２０…ＣＰＵ、５３０…メモリ、５４０…入出力装置、５５０…インタフェース、５６０…パケット処理装置、５７０…インタフェース、５８０…通信路。
【図１】
2011146996.tif 000003
【図２】
2011146996.tif 000004
【図３】
2011146996.tif 000005
【図４】
2011146996.tif 000006
【図５】
2011146996.tif 000007
【図６】
2011146996.tif 000008
【図７】
2011146996.tif 000009
【図８】
2011146996.tif 000010