(57)【要約】【課題】 キューとして用いるバッファの容量を抑制しつつ、通信負荷の偏りを緩和し、通信品質を確保する。【解決手段】中継装置であって、パケットを受信する入力部と、複数のキューを備え受信したパケットを一時的に蓄積するバッファ部と、ポート情報及び通信パケットのヘッダ情報に従ってフローテーブルを検索し、学習済みか否かを判定するフロー識別部と、パケットを複数のキューのいずれかへ振り分けて格納する振分部と、キュー毎の使用状態をキュー管理テーブルに登録するキュー管理部と、未学習と判定したフローをキュー毎の使用状態に従って振り分け先を決定しフローテーブルに登録し、登録済みのフローの通信が継続していない場合にフローテーブルから削除するフロー学習部と、キュー毎に帯域を制御して、複数のキューに蓄積されたパケットを出力する帯域制御部と、パケットを送信する出力部を備える。【選択図】  図２
2019012914.tif 000002
【特許請求の範囲】
【請求項１】
通信パケットを中継する中継装置であって、
入力としての通信パケットを受信する入力部と、
複数のキューを備え、前記受信した通信パケットを一時的に蓄積するバッファ部と、
前記通信パケットのヘッダ情報に従ってフローを識別してフローテーブルを検索し、該フローが学習済みか否かを判定するフロー識別部と、
前記受信した通信パケットを前記複数のキューのいずれかへ振り分けて格納する振分部と、
前記キュー毎の使用状態をキュー管理テーブルに登録するキュー管理部と、
前記フロー識別部において未学習と判定した場合に、該フローを前記キュー毎の使用状態に従って振り分け先のキューを決定し、フローテーブルに登録し、登録済みのフローの通信が継続していない場合に、該フローをフローテーブルから削除するフロー学習部と、
前記キュー毎に帯域を制御して、前記複数のキューに蓄積された通信パケットを送信のために出力する帯域制御部と、
通信パケットを送信する出力部と、
を備えることを特徴とする中継装置。
【請求項２】
請求項１の中継装置であって、
前記入力部は、複数の入力用物理ポートを備え、
前記出力部は、複数の出力用物理ポートを備え、
前記複数の入力用物理ポートのうちの、前記通信パケットを受信した前記入力用物理ポートを識別可能なポート情報と、
前記複数の出力用物理ポートのうちの、前記通信パケットを送信する前記出力用物理ポートを識別可能なポート情報とのうちの少なくとも一方及び、
前記通信パケットのヘッダ情報に従ってフローテーブルを検索し、該フローが学習済みか否かを判定するフロー識別部と、
を備えることを特徴とする中継装置。
【請求項３】
請求項１ないし請求項２のいずれか記載の中継装置であって、
前記フロー毎に帯域監視を行うキュー管理部と、
全フローの使用帯域が所定値以上である場合に、前記キュー毎の制御帯域を変更する帯域変更部と、
帯域の変更が発生すると、管理サーバにアラームを送信するアラーム検出部と、
を備えることを特徴とする中継装置。
【請求項４】
請求項３の中継装置であって、
前記フロー毎の使用帯域が所定値以上であり、該フローが制限対象フローである場合に、該フローを制限キューに振り分け変更するフロー学習部と、
制限キューへの振り分け変更が発生すると、管理サーバにアラームを送信するアラーム検出部と、
を備えることを特徴とする中継装置。
【請求項５】
請求項３の中継装置であって、
前記フロー毎の使用帯域が所定値以上であり、該フローが制限対象フローである場合に、該フローを廃棄閾値を変更するフロー学習部と、
廃棄閾値の変更が発生すると、管理サーバにアラームを送信するアラーム検出部と、
を備えることを特徴とする中継装置。
【請求項６】
請求項１ないし請求項２のいずれか記載の中継装置であって、
前記キュー毎にキュー長監視を行うキュー管理部と、
キュー長が所定値以上である場合に、前記キュー毎の制御帯域を変更する帯域変更部と、
帯域の変更が発生すると、管理サーバにアラームを送信するアラーム検出部と、
を備えることを特徴とする中継装置。
【請求項７】
請求項１ないし請求項２のいずれか記載の中継装置であって、
前記キュー毎にキュー長監視を行うキュー管理部と、
キュー長が所定値以上である場合に、該キューに割り当てているフローをフローテーブルから削除するフロー学習部と、
通信継続中の学習済フローの削除が発生すると、管理サーバにアラームを送信するアラーム検出部と、
を備えることを特徴とする中継装置。
【請求項８】
請求項１ないし請求項２のいずれか記載の中継装置であって、
ネットワークセキュリティアプライアンスに従って、前記フロー毎に異常を識別するセキュリティ異常検知部と、
異常と識別されたフローを制限キューに振り分け変更するフロー学習部と、
制限キューへの振り分け変更が発生すると、管理サーバにアラームを送信するアラーム検出部と、
を備えることを特徴とする中継装置。
【請求項９】
請求項１ないし請求項２のいずれか記載の中継装置であって、
ネットワークセキュリティアプライアンスに従って、前記フロー毎に異常を識別するセキュリティ異常検知部と、
異常と識別されたフローを廃棄閾値を変更するフロー学習部と、
廃棄閾値の変更が発生すると、管理サーバにアラームを送信するアラーム検出部と、
を備えることを特徴とする中継装置。
【請求項１０】
請求項１ないし請求項２のいずれか記載の中継装置であって、
未学習のフローを割り当てる未学習用キューを複数のキューで構成し、前記通信パケットに関する情報を入力値として、出力が入力に対して集約される所定の関数により振り分ける振分部を備えることを特徴とする中継装置。
【請求項１１】
請求項１ないし請求項２のいずれか記載の中継装置であって、
学習による動的割り当ての対象外であり、コンフィグ設定による静的割り当て用のキューを備えることを特徴とする中継装置。
【請求項１２】
複数のキューを備え通信パケットの送受信を行う中継装置における帯域制御方法であって、
（ａ）前記通信パケットに関する情報に従ってフローテーブルを検索し、該フローが学習済みか否かを判定する工程と、
（ｂ）前記通信パケットを前記複数のキューのいずれかへ振り分けて格納する工程と、
（ｃ）前記キュー毎の使用状態をキュー管理テーブルに登録する工程と、
（ｄ）前記通信パケットを未学習と判定した場合に、該フローを前記キュー毎の使用状態に従って振り分け先のキューを決定し、フローテーブルに登録する工程と、
（ｅ）登録済みのフローの通信が継続していない場合に、該フローをフローテーブルから削除する工程と、
（ｆ）前記キュー毎に帯域を制御して、前記複数のキューに蓄積された通信パケットを送信する工程と、
を備えることを特徴とする帯域制御方法。
【請求項１３】
請求項１２の帯域制御方法であって、さらに、
（ｇ）前記フロー毎に輻輳監視を行う工程と、
（ｈ）輻輳が発生した場合に、前記キュー毎の制御帯域を変更する工程と、
（ｉ）輻輳が発生したフローが制限対象フローである場合に、該フローを制限する工程と、
（ｊ）輻輳が発生すると、管理サーバにアラームを送信する工程と、
を備えることを特徴とする帯域制御方法。
【請求項１４】
請求項１２の帯域制御方法であって、さらに、
（ｇ）ネットワークセキュリティアプライアンスに従って、前記フロー毎にセキュリティ異常を識別する工程と、
（ｈ）セキュリティ異常と識別されたフローを制限する工程と、
（ｉ）制限を行うと、管理サーバにアラームを送信する工程と、
を備えることを特徴とする帯域制御方法。
【請求項１５】
請求項１２の帯域制御方法であって、さらに、
（ｇ）未学習のフローを、前記通信パケットに関する情報を入力値として、出力が入力に対して集約される所定の関数により、複数の未学習用キューに振り分ける工程と、
（ｈ）コンフィグ設定により、特定のフローを静的割り当て用キューに振り分ける工程と、
を備えることを特徴とする帯域制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク中継装置に関し、より詳細には、ネットワーク中継装置における帯域制御技術に関するものである。
【背景技術】
【０００２】
近年、動画や音声といった電子的なコンテンツをネットワーク経由でリアルタイム配信する、いわゆるストリーミング技術が普及している。かかるストリーミングを、インターネットを介して実現する場合、多数のユーザ間で同一の回線を共用使用できるため、帯域あたりのコストを低く抑えることができる。一方で、通信パケットの廃棄量を抑制して通信品質（QoS：Quality of Service）を確保することが求められている。このようなことから、中継装置にシェーパを搭載し、一度に多量に送信されるデータを一定レートに平滑化して転送する技術が知られている（例えば、下記特許文献１）。また、サーバに大量のデータを送りつけてサービスを提供不能にするようなDoS攻撃（Denial of Service attack）等のサイバー攻撃への迅速な対応が求められている。
【０００３】
特許文献１では、受信した通信パケットの受け渡しに関する受渡情報を用いて、出力が入力に対して集約される所定の関数によってキューを自動的に振り分けて、キュー毎に帯域制御する技術を開示している。かかる技術は、キューとして用いるバッファの容量を抑制しつつ、通信品質を確保することができる。
【０００４】
特許文献２では、受信したパケットのフローが確定しているか否かを判別し、フローが確定していない場合、ヘッダ情報に対応する帯域制御条件シナリオを検索して、フローを確定し、対応するキューを生成して格納する。フローが確定している場合、対応するキューに格納する。生成されたキューは帯域制御条件に従ってスケジューリングして送信する技術を開示している。かかる技術は、受信したパケットに帯域を自動的に割り当てることが可能となり、サービス提供側の運用管理コストを低減することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−３４１６４号公報
【特許文献２】特開２０１５−１７９９７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の技術では、振り分けるキューに偏りが発生し、利用ユーザ数がキュー数より少ない状態でも同一キューに複数ユーザが重複して割り当てられ、ユーザ間の公平性が保てない場合がある。
特許文献２の技術では、不特定多数のユーザを収容する場合、利用ユーザ数がキュー数を超えると、複数ユーザで共有するキューに割り当てられ、ユーザ間の公平性が保てない場合がある。
上述の問題の少なくとも一部を考慮し、本発明が解決しようとする課題は、キューとして用いるバッファの容量を抑制しつつ、通信負荷の偏りを緩和し、通信品質を確保することができる中継技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題を解決するためになされたものであり、一例として、通信パケットを中継する中継装置であって、入力としての通信パケットを受信する入力部と、複数のキューを備え受信した通信パケットを一時的に蓄積するバッファ部と、通信パケットのヘッダ情報に従ってフローを識別してフローテーブルを検索し、該フローが学習済みか否かを判定するフロー識別部と、受信した通信パケットを複数のキューのいずれかへ振り分けて格納する振分部と、キュー毎の使用状態をキュー管理テーブルに登録するキュー管理部と、フロー識別部において未学習と判定した場合に、該フローをキュー毎の使用状態に従って振り分け先のキューを決定し、フローテーブルに登録し、登録済みのフローの通信が継続していない場合に、該フローをフローテーブルから削除するフロー学習部と、キュー毎に帯域を制御して、複数のキューに蓄積された通信パケットを送信のために出力する帯域制御部と、通信パケットを送信する出力部と、を備えるようにしたものである。
【０００８】
また、複数のキューを備え通信パケットの送受信を行う中継装置における帯域制御方法であって、
（ａ）通信パケットに関する情報に従ってフローテーブルを検索し、該フローが学習済みか否かを判定する工程と、
（ｂ）通信パケットを前記複数のキューのいずれかへ振り分けて格納する工程と、
（ｃ）キュー毎の使用状態をキュー管理テーブルに登録する工程と、
（ｄ）通信パケットを未学習と判定した場合に、該フローをキュー毎の使用状態に従って振り分け先のキューを決定し、フローテーブルに登録する工程と、
（ｅ）登録済みのフローの通信が継続していない場合に、該フローをフローテーブルから削除する工程と、
（ｆ）キュー毎に帯域を制御して、複数のキューに蓄積された通信パケットを送信する工程と、を備えるようにしたものである。
【発明の効果】
【０００９】
本発明によれば、不特定多数のユーザを収容し、フローを学習し、キュー状態管理により最適なキュー割り当て行うことにより、キューとして用いるバッファの容量を抑制しつつ、通信負荷の偏りを緩和し、通信品質を確保することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施例としてのルータ装置を用いた通信システムを示す構成図である。
【図２】本発明の第１の実施例のルータ装置の構成を示す説明図である。
【図３】本発明の第１の実施例のフローテーブルの一例を示す説明図である。
【図４】本発明の第１の実施例のキュー管理テーブルの一例を示す説明図である。
【図５】本発明の第１の実施例のルータ装置が実行する帯域制御処理を示すフローチャートである。
【図６】本発明の第１の実施例のルータ装置のフロー学習部が実行するフロー学習処理を示すフローチャートである。
【図７】本発明の第１の実施例のルータ装置のキュー管理部が実行する振分先キュー選択処理を示すフローチャートである。
【図８】本発明の第１の実施例のルータ装置のフロー学習部が実行するフローエージング処理を示すフローチャートである。
【図９】本発明の第２の実施例のルータ装置の構成を示す説明図である。
【図１０】本発明の第２の実施例のフローテーブルの一例を示す説明図である。
【図１１】本発明の第２の実施例のキュー管理テーブルの一例を示す説明図である。
【図１２】本発明の第２の実施例のルータ装置が実行する輻輳解消処理を示すフローチャートである。
【図１３】本発明の第３の実施例のルータ装置の構成を示す説明図である。
【図１４】本発明の第３の実施例のルータ装置が実行するDoS対策処理を示すフローチャートである。
【図１５】本発明の第４の実施例のルータ装置の構成を示す説明図である。
【発明を実施するための形態】
【００１１】
以上説明した本発明の構成及び作用を一層明らかにするために、以下本発明を適用したネットワーク中継装置（ルータ装置）について説明する。
【実施例１】
【００１２】
Ａ．第１の実施例：
Ａ１．ネットワークの構成：
図１は、本発明の一実施例としてのルータ装置を用いた通信システムを示す説明図である。
この通信システム１０は、動画等のコンテンツをストリーミングによってユーザに提供する通信システムである。図示するように、通信システム１０は、サーバ装置ＳＶ１、ＳＶ２と、ルータ装置ＲＴ１〜ＲＴ５と、クライアント装置ＣＬ１〜ＣＬ３とを備えている。
【００１３】
サーバ装置ＳＶ１、ＳＶ２は、コンテンツを提供するサーバ装置であり、各種コンテンツを記憶している。このサーバ装置ＳＶ１、ＳＶ２は、ルータ装置ＲＴ１に直接的に接続されている。なお、ルータ装置ＲＴ１に接続されるサーバ装置の数は、説明を簡単にするために２つとして示しているが、３以上であってもよい。
ルータ装置ＲＴ１は、ネットワークＮＷに接続されている。本実施例では、ネットワークＮＷは、インターネットである。ただし、ネットワークＮＷの種類は、特に限定するものではなく、専用回線などのＷＡＮ（Wide Area Network）であってもよいし、ＬＡＮ（Local Area Network）であってもよい。
また、ネットワークＮＷには、ルータ装置ＲＴ２が接続されている。本実施例では、サーバ装置ＳＶ１、ＳＶ２、ルータ装置ＲＴ１、ＲＴ２は、コンテンツ配信サービスを行うＩＳＰ（Internet Service Provider）が設置するものである。このルータ装置ＲＴ２は、各家庭ＨＭ１〜ＨＭ３に設置されたルータ装置ＲＴ３〜ＲＴ５を介して、クライアント装置ＣＬ１〜ＣＬ３にそれぞれ接続されている。ルータ装置ＲＴ２とルータ装置ＲＴ３〜ＲＴ５との間には、他の中継装置や集線装置が介在してもよい。
【００１４】
クライアント装置ＣＬ１〜ＣＬ３は、汎用のパーソナルコンピュータである。なお、ルータ装置ＲＴ３〜ＲＴ５に接続される端末は、サーバ装置ＳＶ１、ＳＶ２の配信するコンテンツを利用可能なものであればよく、例えば、ネットワーク対応テレビなどであってもよい。また、ルータ装置ＲＴ３〜ＲＴ５には、複数の端末が接続されていてもよい。また、ルータＲＴ２は、説明を簡単にするために、家庭ＨＭ１〜ＨＭ３のネットワークに接続されるものとしたが、実際には、例えば、数千や数万の不特定多数の家庭のネットワークに接続するものとすることができる。
【００１５】
かかる通信システム１０において、サーバ装置ＳＶ１、ＳＶ２は、クライアント装置ＣＬ１〜ＣＬ３から、コンテンツの利用要求を受け付けると、指定されたコンテンツを、利用要求を行ったクライアント装置ＣＬ１〜ＣＬ３に配信する。ルータ装置ＲＴ１、ＲＴ２は、サーバ装置ＳＶ１、ＳＶ２が配信する通信パケットを受信すると、それぞれの通信パケットを一旦バッファに蓄積し、平滑化してクライアント装置ＣＬ１〜ＣＬ３に向けて転送する。クライアント装置ＣＬ１〜ＣＬ３は、ルータ装置ＲＴ３〜ＲＴ５を介して、この転送された通信パケットを受信して、予めインストールされたアプリケーションで利用する。
【００１６】
Ａ２．ネットワーク中継装置の構成：
ルータ装置ＲＴ１、ＲＴ２の概略構成と、通信パケットの平滑化制御とについて説明する。ルータ装置ＲＴ１、ＲＴ２は、本実施例においては同一構成であるので、以下では、特に断る場合を除いて、ルータ装置ＲＴ１の構成について図２ないし図４を用いて説明する。
【００１７】
図２は、本発明の一実施例のルータ装置の概略構成を示す図である。
図３は、本発明の一実施例のルータ装置が有するフローテーブルの一例を示す説明図である。
図４は、本発明の一実施例のルータ装置が有するキュー管理テーブルの一例を示す説明図である。
ルータ装置ＲＴ１は、入力部１１０とフロー識別部１２０とフローテーブル１３０と振分部１４０とバッファ部１５０とキュー管理部１６０とキュー管理テーブル１７０とフロー学習部１８０と帯域制御部１９０と出力部２００とを備えている。
入力部１１０は、外部から通信パケットを受信するインタフェースである。本実施例では、入力部１１０は、２つの物理ポートを備えている。この２つの物理ポートには、サーバ装置ＳＶ１、ＳＶ２が接続される。入力部１１０は、サーバ装置ＳＶ１、ＳＶ２から通信パケットを受信して、入力を受け付ける。なお、入力部１１０は、３つ以上の物理ポートを備えていてもよい。この場合、入力部１１０は、３以上のサーバ装置に接続されてもよい。本実施例においては、入力部１１０は、通信パケットに、ポート情報をヘッダ情報として付加する構成とした。
【００１８】
フロー識別部１２０は、通信パケットのヘッダ情報と一致する情報が、フローテーブル１３０に登録されているかを検索し、登録されていた場合は学習済みと判定し、フローテーブル１３０に登録されているフローに対応する振分先キューを取得する回路である。登録されていない場合は未学習と判定し、振分先キューを未学習用キューとする回路である。フローテーブル１３０を検索するためにヘッダ情報内のどのフィールドを使用するかは選択可能に構成されている。具体的には、フロー識別部１２０は、通信パケットのヘッダ情報内の各フィールドを使用するか否かを切り替える切替回路を備えている（図示省略）。この切替回路は、本実施例では、ルータ装置ＲＴ１のＣＰＵ（図示省略）からの切替指示を受け付けて、当該指示に応じて、通信パケットのヘッダ情報内の各フィールドから使用するフィールドを選択する。切替指示は、ルータ装置ＲＴ１に直接的または間接的に接続された所定の端末からＷＥＢブラウザを介してルータ装置ＲＴ１にアクセスし、ルータ装置ＲＴ１が送信する設定画面を利用してユーザから受け付けてもよいし、ルータ装置ＲＴ１が備えるＧＵＩ（Graphical User Interface）や、ディップスイッチを利用して受け付けてもよい。なお、以上の説明からも明らかなように、特定のフィールドのみを固定選択する構成としてもよいことは勿論である。
【００１９】
本実施例のフローテーブル１３０は、図３に示すように、フロー番号ごとに、対応するエントリの有効、無効を示す有効ビット、一致比較する対象となるフィールドとして、インタフェース、フローの送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、送信元ＩＰアドレス、宛先ＩＰアドレス、上位プロトコル、送信元ポート番号、宛先ポート番号が格納され、一致した場合の検索結果となる振分先キュー、後述するエージング処理で使用するヒットビットが格納されている。
振分部１４０は、入力部１１０が受け付けた通信パケットを、後述するバッファ部１５０に確保された学習用キューＱ１〜Ｑｍ（ｍは２以上の任意の整数）、未学習用キューＱｎ（ｎはｍ＋１）のいずれかへ振り分ける回路である。この振り分けは、フロー識別部１２０におけるフロー検索結果に応じて行われる。
バッファ部１５０は、入力部１１０が受け付けた通信パケットを一時的に蓄積するバッファであり、複数のキューＱ１〜Ｑｍ、Ｑｎが確保されている。本実施例では、キューＱ１〜Ｑｍ、Ｑｎの各々には、同一の記憶容量が割り当てられている。複数のキューＱ１〜Ｑｍ、Ｑｎには、上述したように、振分部１４０での振り分けによって、受信した各々の通信パケットが格納される。なお、輻輳時には、キューＱ１〜Ｑｍ、Ｑｎの容量を超える通信パケットは、廃棄される。例えば、キューに容量分の通信パケットが既に蓄積されている場合には、新たにバッファ部１５０に入力される通信パケットは、キューに格納されずに破棄される。
【００２０】
キュー管理部１６０は、学習用キューＱ１〜Ｑｍ毎の割り当てフロー数と、キュー長と、使用帯域のうちの少なくとも一つを使用状態としてキュー管理テーブル１７０に登録し、フロー学習部１８０からの空きキュー検索指示に従って、キュー毎の使用状態に従って振分先キューを選択する回路である。
キュー管理部１６０が参照するキュー管理テーブル１７０は、図４に示すように、各キューに対する使用状態として、割り当てフロー数、後述する平均キュー長を計算するための現在のキュー長、平均帯域を計算するための入力オクテット数統計のうちのひとつ以上が対応づけられて格納されている。
フロー学習部１８０は、フロー識別部１２０において未学習と判定した場合に、通信パケットのヘッダ情報と、キュー管理部１６０において選択した振分先のキューとを、フローテーブル１３０に登録し、登録済みのフローの通信が継続していない場合に、該当フローをフローテーブル１３０から削除する回路である。キュー毎の使用状態は、キュー管理部１６０から取得する。
帯域制御部１９０は、キューＱ１〜Ｑｍ、Ｑｎ毎に帯域を制御して、キューＱ１〜Ｑｍ、Ｑｎに蓄積された通信パケットを送信のために、出力部２００に出力する。具体的には、帯域制御部１９０は、予め設定された帯域制御ルールに基づいてスケジューリングを行い、キューＱ１〜Ｑｍ、Ｑｎから順次通信パケットを読み出して、出力部２００に出力する。出力部２００は、通信パケットを外部へ送信するインタフェースである。本実施例では、均等割り当て方式によってスケジュールリングを行うこととした。具体的には、キューＱ１〜Ｑｍ、Ｑｎに蓄積された通信パケットは、キューＱ１〜Ｑｍ、Ｑｎ間で均等な頻度で読み出される。ただし、スケジューリングアルゴリズムは、特に限定するものではなく、例えば、重み付け均等割り当て方式などであってもよい。また、最低帯域保証方式、最大帯域規制方式、余剰帯域重み付け分配方式などを用いてもよい。
【００２１】
Ａ３．帯域制御処理：
図５は、ルータ装置ＲＴ１が実行する帯域制御処理（ステップＳ５０）を示すフローチャートである。
最初のステップＳ５００では、フロー識別部１２０は、入力部１１０から受信した通信パケットのヘッダ情報と、フローテーブル１３０とを参照することによって、通信パケットのヘッダ情報と一致する情報が、フローテーブル１３０に登録されているかを検索する。
次のステップＳ５０１では、フロー識別部１２０は、フローテーブル１３０を検索した結果、通信パケットのヘッダ情報が、登録されていた場合は学習済みのフロー、登録されていない場合は未学習フローと判定する。
未学習フローの場合には（ステップＳ５０１のＹＥＳ）、次のステップＳ５０２で、フロー識別部１２０は、フロー学習部１８０に学習を指示し、フロー学習部１８０は、フロー学習処理を実行する。
【００２２】
次のステップＳ５０３では、フロー識別部１２０は、振分部１４０に、振分先キューとして、未学習用キューを指定し、振分部１４０は、通信パケットを未学習用キューＱｎに振り分けて、格納する。
学習済みフローの場合には（ステップＳ５０１のＮＯ）、次のステップＳ５０４で、フロー識別部１２０は、フローテーブル１３０で一致したフローのエントリのヒットビットを１に更新する。
次のステップＳ５０５では、フロー識別部１２０は、振分部１４０に、振分先キューとして、フローテーブル１３０に登録されているフローに対応する振分先キューを指定し、振分部１４０は、通信パケットを指示された振分先キューに振り分けて、格納する。
最後のステップＳ５０６では、帯域制御部１９０は、予め設定された帯域制御ルールに基づいてスケジューリングを行い、キューＱ１〜Ｑｍ、Ｑｎから順次通信パケットを読み出して、出力部２００に出力する。
【００２３】
図６は、フロー学習部１８０が実行するフロー学習処理（ステップＳ６０）を示すフローチャートである。
最初のステップＳ６００では、フロー学習部１８０は、キュー管理部１６０に、未使用の空きキューがあるかを問い合わせる。キュー管理部１６０は、キュー管理テーブル１７０の割当フロー数が０のキューを検索する。
次のステップＳ６０１では、キュー管理部１６０は、キュー管理テーブル１７０を検索した結果、未使用の空きキューの有無を判定する。
空きキューがある場合には（ステップＳ６０１のＹＥＳ）、次のステップＳ６０２で、キュー管理部１６０は、空きキューを１つ選択し、フロー学習部１８０に通知する。
空きキューがない場合には（ステップＳ６０１のＮＯ）、次のステップＳ６０３で、キュー管理部１６０は、振分先キュー選択処理を実行し、振分先キュー選択の有無及び選択した場合の振分先キューをフロー学習部１８０に通知する。
【００２４】
次のステップＳ６０４では、フロー学習部１８０は、振分先キュー選択の有無を判定する。
振分先キュー選択がある場合には（ステップＳ６０４のＹＥＳ）、次のステップＳ６０５で、フロー学習部１８０は、フローテーブル１３０の有効フラグが０のエントリを検索する。
次のステップＳ６０６では、フロー学習部１８０は、有効フラグが０の空きエントリの有無を判定する。
空きエントリがある場合には（ステップＳ６０６のＹＥＳ）、次のステップＳ６０７で、フロー学習部１８０は、フローテーブル１３０に、通信パケットのヘッダ情報と、キュー管理部１６０において選択した振分先のキューとを、ヒットビットを１で登録する。
空きエントリがない場合（ステップＳ６０６のＮＯ）及び振分先キュー選択がない場合には（ステップＳ６０４のＮＯ）、フローテーブル１３０への登録処理を行わず、未学習状態のままで終了する。
【００２５】
図７は、キュー管理部１６０が実行する振分先キュー選択処理（ステップＳ７０）を示すフローチャートである。
最初のステップＳ７００では、キュー管理部１６０は、振分先キュー選択のモードが、割当数モードであるかを判定する。
割当数モードである場合には（ステップＳ７００のＹＥＳ）、次のステップＳ７０１で、キュー管理部１６０は、キュー管理テーブル１７０を検索し、割当フロー数が最小のキューを選択する。
割当数モードでない場合には（ステップＳ７００のＮＯ）、次のステップＳ７０２で、キュー管理部１６０は、振分先キュー選択のモードが、キュー長モードであるかを判定する。
キュー長モードである場合には（ステップＳ７０２のＹＥＳ）、次のステップＳ７０３で、キュー管理部１６０は、キュー管理テーブル１７０の各キューのキュー長を定期的に読み出し、例えば、現在のキュー長と前回の平均キュー長を元に平均キュー長を計算し、平均キュー長が最短のキューを選択する。
キュー長モードでない場合には（ステップＳ７０２のＮＯ）、次のステップＳ７０４で、キュー管理部１６０は、振分先キュー選択のモードが、帯域モードであるかを判定する。
帯域モードである場合には（ステップＳ７０４のＹＥＳ）、次のステップＳ７０５で、キュー管理部１６０は、キュー管理テーブル１７０の各キューの入力オクテット数を定期的に読み出し、例えば、前回の入力オクテット数と現在の入力オクテット数の差分と前回の平均帯域を元に平均帯域を計算し、平均帯域が最小のキューを選択する。
帯域モードでない場合には（ステップＳ７０４のＮＯ）、振分先キューを選択しないで終了する。
【００２６】
図８は、フロー学習部１８０が定期的に実行することで、通信が継続していないフローをフローテーブル１３０から削除するフローエージング処理（ステップＳ８０）を示すフローチャートである。
最初のステップ８００では、フロー学習部１８０は、エージング処理対象のフロー番号を０に設定する。
次のステップＳ８０１では、フロー学習部１８０は、フローテーブル１３０のエージング処理対象のフロー番号のエントリを読み出し、該当のエントリが有効であるかを判定する。
該当のエントリが有効である場合には（ステップＳ８０１のＹＥＳ）、次のステップＳ８０２で、該当のエントリのヒットビットの値が０であるかを判定する。
該当エントリのヒットビットが０である場合には（ステップＳ８０２のＹＥＳ）、次のステップＳ８０３で、該当エントリを削除する。
該当エントリのヒットビットが０でない場合には（ステップＳ８０２のＮＯ）、次のステップＳ８０４で、フロー学習部１８０は、フローテーブル１３０のエージング処理対象のフロー番号のエントリのヒットビットを０に変更する。
【００２７】
次のステップＳ８０５では、フロー学習部１８０は、エージング処理対象のフロー番号に１加算する。
次のステップＳ８０６では、フロー学習部１８０は、エージング処理対象のフロー番号が最終を超えているかを判定する。
エージング処理対象のフロー番号が最終より大きくない場合には（ステップＳ８０６のＮＯ）、エージング処理対象のフロー番号が途中であるので、フロー学習部１８０は、フローテーブル１３０のエージング処理対象のフロー番号のエントリを読み出し、該当エントリが有効であるかの判定（ステップＳ８０１）からの処理を繰り返し実行する。
エージング処理対象のフロー番号が最終より大きい場合には（ステップＳ８０６のＹＥＳ）、エージング処理対象のフローを全て処理しているので、フローエージング処理を終了する。
【００２８】
Ａ４．効果：
以上説明した第１の実施例におけるルータ装置ＲＴ１、ＲＴ２によれば、受信した通信パケットが、フロー識別部１２０、振分部１４０でフロー毎に振り分けられて、複数のキューＱ１〜Ｑｍ、Ｑｎに分散化される。このため、輻輳時の通信パケットの廃棄の影響をキューＱ１〜Ｑｍ、Ｑｎ毎に分離することができる。その結果、輻輳の影響がトラフィック全体に及ぶことを抑制して、通信品質を確保することができる。
また、フロー識別部１２０でユーザをフローにより識別し、ユーザ毎に異なるキューＱ１〜Ｑｍに振り分けることで、ユーザ間の公平性を保つことができる。
しかも、通信が発生したフローをフロー学習処理（Ｓ６０）に従って学習し、通信が終了した学習済みのフローをフローエージング処理（Ｓ８０）に従って削除することで、事前に発生し得る全てのフロー毎にキューを確保する必要がないので、キューとして用いるバッファの容量を抑制することができる。
【実施例２】
【００２９】
Ｂ．第２の実施例：
Ｂ１．ネットワーク中継装置の構成：
本発明の第２の実施例について図９ないし図１１を用いて説明する。説明する。第２の実施例としてのルータ装置ＲＴ１は、フロー毎に帯域監視を行い、輻輳発生時には輻輳解消処理を行い、管理サーバにアラームを送信する点が第１の実施例と異なり、その他の点については、第１の実施例と同様である。具体的には、本実施例では、通常時は回線の最大帯域まで使用可能な状態にしておくことにより、帯域を効率的に使用する。一方、輻輳が発生すると帯域を均等割り当てに変更し、輻輳の要因となったフローを振り分ける制限キューＱｘを用意し、制限キューＱｘの最大帯域を他のキューより小さく制限する。
【００３０】
図９は、本発明の一実施例のルータ装置の構成を示す説明図である。
図１０は、第２の実施例のフローテーブルの一例を示す説明図である。
図１１は、第２の実施例のキュー管理テーブルの一例を示す説明図である
図９に示すように、第２の実施例としてのルータＲＴ１２
は、第１の実施例と同様に、入力部１１０とフロー識別部１２１とフローテーブル１３１と振分部１４１とバッファ部１５１とキュー管理部１６１とキュー管理テーブル１７１とフロー学習部１８１と帯域制御部１９１と出力部２００と、を備えている。第２の実施例では、ルータＲＴ１２は、さらに、帯域変更部２１０とアラーム検出部２２０を備えている。
【００３１】
入力部１１０は、第１の実施例と同様に、外部から通信パケットを受信するインタフェースである。
フロー識別部１２１は、フローテーブル１３１に登録されているフローに対応する廃棄閾値を取得する点を除き、第１の実施例と同様である。
振分部１４１は、バッファ部１５１に確保された制限キューＱｘへの振り分けを除き、第１の実施例と同様である。
バッファ部１５１は、第１の実施例と同様に、キューＱ１〜Ｑｍ、Ｑｎを備え、さらに、制限キューＱｘを備えている。また、キューに廃棄閾値を超えて通信パケットが既に蓄積されている場合には、新たにバッファ部１５１に入力される通信パケットは、キューに格納されずに破棄される点を除き、第１の実施例と同様である。
【００３２】
キュー管理部１６１は、バッファ部１５１に入力されたフロー毎に帯域監視を行い、全フローの使用帯域が所定値以上である場合に、帯域変更部２１０に帯域制御の帯域を変更するよう通知する。また、フロー毎の使用帯域が所定値以上である場合に、輻輳解消処理を実行するよう、フロー学習部１８１及び帯域変更部２１０に通知する。帯域の変更及び特定フローの輻輳解消処理が発生すると、アラーム検出部２２０にアラームを送信するよう通知する点を除き、第１の実施例と同様である。
フロー学習部１８１は、キュー管理部１６１からの輻輳解消処理の指示に従い、該当キューのフローをフローテーブル１３１から削除する。または、フローテーブル１３１の該当フローの廃棄閾値を小さく制限する。または、振分先のキューを制限キューＱｘに変更する点を除き、第１の実施例と同様である。
【００３３】
本実施例のフローテーブル１３１は、図１０に示すように、フロー番号ごとに、対応するエントリの有効、無効を示す有効ビット、一致比較する対象となるフィールドとして、インタフェース、フローの送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、送信元ＩＰアドレス、宛先ＩＰアドレス、上位プロトコル、送信元ポート番号、宛先ポート番号が格納され、一致した場合の検索結果となる振分先キュー、廃棄閾値、エージング処理で使用するヒットビットが格納されている。
帯域制御部１９１は、キュー管理テーブル１７１に設定された帯域制御ルールに基づいてスケジューリングを行い、キューＱ１〜Ｑｍ、Ｑｎ、Ｑｘから順次通信パケットを読み出して、出力部２００に出力する。また、帯域変更部２１０からの帯域変更の指示に従い、該当キューの制御帯域を変更する点を除き、第１の実施例と同様である。出力部２００は、第１の実施例と同様に、通信パケットを外部へ送信するインタフェースである。本実施例では、通常時は回線の最大帯域まで使用可能な状態にしておくことにより、帯域を効率的に使用する。また、輻輳が発生すると帯域を均等割り当てに変更し、輻輳の要因となったフローを振り分ける制限キューＱｘの最大帯域を他のキューより小さく制限する。
【００３４】
帯域変更部２１０は、キュー管理部１６１からの帯域変更及び輻輳解消処理の指示に従い、キュー管理テーブル１７１のキュー毎の帯域設定値を変更し、帯域制御部１９１のキュー毎の帯域制御の帯域変更を指示する。例えば、帯域設定値は、通常時は回線帯域、輻輳発生時は、回線帯域をキューで均等に分割し、制限キューＱｘの帯域を他のキューの１／１０に制限する。なお、帯域変更部２１０の機能は、帯域制御部１９１が備えていてもよい。
キュー管理部１６１が参照するキュー管理テーブル１７１を、図１１に示す。
キュー管理テーブル１７１は、各キューに対する使用状態として、割り当てフロー数、平均キュー長を計算するための現在のキュー長、平均帯域を計算するための入力オクテット数統計のうちのひとつ以上が対応づけられて格納され、帯域変更部２１０が変更する帯域設定値が格納されている。
アラーム検出部２２０は、キュー管理部１６１からの帯域変更及び輻輳解消処理発生の通知を受け付けると、発生要因の情報を付加したアラームを管理サーバ２３０に送信する。
【００３５】
Ｂ２．帯域制御処理：
第２の実施例における、ルータ装置ＲＴ１２が実行する帯域制御処理は、キュー管理部１６１が実行する輻輳解消処理がある点を除き、第１の実施例と同様である。
【００３６】
図１２は、キュー管理部１６１がフロー毎に帯域監視を行い、フロー毎の使用帯域が所定値以上である場合に実行する輻輳解消処理（ステップＳ１２０）を示すフローチャートである。
最初のステップＳ１２００では、キュー管理部１６１は、輻輳解消のモードが、キュー再学習モードであるかを判定する。
キュー再学習モードである場合には（ステップＳ１２００のＹＥＳ）、次のステップＳ１２０１で、キュー管理部１６１は、該当キューの学習フローを削除するようフロー学習部１８１に指示する。
キュー再学習モードでない場合には（ステップＳ１２００のＮＯ）、次のステップＳ１２０２で、キュー管理部１６１は、輻輳解消のモードが、帯域変更モードであるかを判定する。
帯域変更モードである場合には（ステップＳ１２０２のＹＥＳ）、次のステップＳ１２０３で、キュー管理部１６１は、該当キューの帯域を変更するよう帯域変更部２１０に指示する。
帯域変更モードでない場合には（ステップＳ１２０２のＮＯ）、次のステップＳ１２０４で、キュー管理部１６１は、輻輳解消のモードが、廃棄閾値変更モードであるかを判定する。
【００３７】
廃棄閾値変更モードである場合には（ステップＳ１２０４のＹＥＳ）、次のステップＳ１２０５で、キュー管理部１６１は、該当フローの廃棄閾値を変更するようフロー学習部１８１に指示する。
廃棄閾値変更モードでない場合には（ステップＳ１２０４のＮＯ）、次のステップＳ１２０６で、キュー管理部１６１は、輻輳解消のモードが、制限キュー割当モードであるかを判定する。
制限キュー割当モードである場合には（ステップＳ１２０６のＹＥＳ）、次のステップＳ１２０７で、キュー管理部１６１は、該当フローを制限キューに振分変更するようフロー学習部１８１に指示する。
制限キュー割当モードでない場合には（ステップＳ１２０６のＮＯ）、輻輳解消処理を終了する。
【００３８】
Ｂ３．効果：
以上説明した第２の実施例におけるルータ装置ＲＴ１２、ＲＴ２２によれば、第１実施例のルータ装置ＲＴ１、ＲＴ２と同様の作用・効果を得ることができる。
さらに、ルータ装置ＲＴ１２、ＲＴ２２では、通常時は回線の最大帯域まで使用可能な状態にしておくことにより、帯域を効率的に使用することができる。また、キュー管理部１６１がフロー毎に帯域監視を行い、輻輳を検出するとフロー学習部１８１と帯域変更部２１０と連携して輻輳解消処理を実行することにより、ユーザ間の公平性を保ちながら、ヘビーユーザ対策を行うことができる。また、アラーム検出部２２０が管理サーバ２３０にアラームを送信することにより、輻輳発生の状態を管理し、収容変更等の根本対策を検討する契機とすることができる。
【実施例３】
【００３９】
Ｃ．第３の実施例：
Ｃ１．ネットワーク中継装置の構成：
本発明の第３の実施例について説明する。第３の実施例としてのルータ装置ＲＴ１３は、フロー毎にDoS攻撃を識別し、DoS攻撃発生時にはDoS対策処理を行い、管理サーバにアラームを送信する点が第１の実施例と異なり、その他の点については、第１の実施例と同様である。
【００４０】
図１３は、本発明の第３の実施例としてのルータＲＴ１３の概略構成図を示す図である。
図１３に示すように、第３の実施例としてのルータＲＴ１３は、第１の実施例と同様に、入力部１１０とフロー識別部１２１とフローテーブル１３２と振分部１４１とバッファ部１５１とキュー管理部１６２とキュー管理テーブル１７２とフロー学習部１８２と帯域制御部１９０と出力部２００と、を備えている。第３の実施例では、ルータＲＴ１３は、さらに、DoS検知部２４０とアラーム検出部２２０を備えている。
入力部１１０と、フロー識別部１２１と、振分部１４１と、バッファ部１５１は、第２の実施例と同様である。
DoS検知部２４０は、DoS検知アプライアンス２５０に従って、フロー毎にDoS攻撃の有無を識別し、キュー管理部１６２にDoS攻撃が発生したフローを通知する。
【００４１】
キュー管理部１６２は、DoS検知部２４０においてDoS攻撃と識別されたフローに対して、DoS対策処理を実行するよう、フロー学習部１８２に通知する。DoS対策処理が発生すると、アラーム検出部２２０にアラームを送信するよう通知する点を除き、第１の実施例と同様である。
フロー学習部１８２は、キュー管理部１６２からのDoS対策処理の指示に従い、フローテーブル１３２の該当フローの廃棄閾値を小さく制限する。または、振分先のキューを制限キューＱｘに変更する点を除き、第１の実施例と同様である。
帯域制御部１９０と、出力部２００は、第１の実施例と同様である。
アラーム検出部２２０は、キュー管理部１６２からのDoS対策処理発生の通知を受け付けると、発生要因の情報を付加したアラームを管理サーバ２３０に送信する。
【００４２】
Ｃ２．帯域制御処理：
第３の実施例における、ルータ装置ＲＴ１３が実行する帯域制御処理は、キュー管理部１６２が実行するDoS対策処理がある点を除き、第１の実施例と同様である。
【００４３】
図１４は、キュー管理部１６２が、DoS検知部２４０においてDoS攻撃と識別されたフローに対して実行するDoS対策処理（ステップＳ１４０）を示すフローチャートである。
最初のステップＳ１４００では、キュー管理部１６２は、DoS対策のモードが、廃棄閾値変更モードであるかを判定する。
廃棄閾値変更モードである場合には（ステップＳ１４００のＹＥＳ）、次のステップＳ１４０１で、キュー管理部１６２は、該当フローの廃棄閾値を変更するようフロー学習部１８２に指示する。
【００４４】
廃棄閾値変更モードでない場合には（ステップＳ１４００のＮＯ）、次のステップＳ１４０２で、キュー管理部１６２は、輻輳解消のモードが、制限キュー割当モードであるかを判定する。
制限キュー割当モードである場合には（ステップＳ１４０２のＹＥＳ）、次のステップＳ１４０３で、キュー管理部１６２は、該当フローを制限キューに振分変更するようフロー学習部１８２に指示する。
制限キュー割当モードでない場合には（ステップＳ１４０２のＮＯ）、輻輳解消処理を終了する。
【００４５】
Ｃ３．効果：
以上説明した第３の実施例におけるルータ装置ＲＴ１３、ＲＴ２３によれば、第１実施例のルータ装置ＲＴ１、ＲＴ２と同様の作用・効果を得ることができる。
さらに、ルータ装置ＲＴ１３、ＲＴ２３では、DoS検知部２４０において識別されたDoS攻撃のフローに対して、キュー管理部１６２がフロー学習部１８０と連携してDoS対策処理を実行することにより、ユーザ間の公平性を保ちながら、DoS攻撃対策を行うことができる。また、アラーム検出部２２０が管理サーバ２３０にアラームを送信することにより、DoS攻撃の状態を管理し、セキュリティ強化等の根本対策を検討する契機とすることができる。
【実施例４】
【００４６】
Ｄ．第４の実施例：
Ｄ１．ネットワーク中継装置の構成：
本発明の第４の実施例について説明する。第４の実施例としてのルータ装置ＲＴ１４は、未学習のフローを割り当てる未学習用キューを複数のキューで構成し、ハッシュ関数で振り分ける点が第１の実施例と異なり、その他の点については、第１の実施例と同様である。
【００４７】
図１５は、本発明の一実施例のルータＲＴ１４の概略構成図を示す図である。
図１５に示すように、第４の実施例としてのルータＲＴ１４は、第１の実施例と同様に、入力部１１０とフロー識別部１２０とフローテーブル１３０と振分部１４２とバッファ部１５２とキュー管理部１６０とキュー管理テーブル１７０とフロー学習部１８０と帯域制御部１９０と出力部２００と、を備えている。
【００４８】
入力部１１０と、フロー識別部１２０と、キュー管理部１６０と、フロー学習部１８０と、帯域制御部１９０と、出力部２００は、第１の実施例と同様である。
振分部１４２は、未学習のフローを、バッファ部１５０に未学習用キューＱｎの代わりに確保されたハッシュ用キューＱｙ〜Ｑｚへハッシュ関数により振り分ける点を除き、第１の実施例と同様である。
【００４９】
バッファ部１５２は、第１の実施例と同様に、キューＱ１〜Ｑｍを備え、さらに、未学習用キューＱｎの代わりにハッシュ用キューＱｙ〜Ｑｚを備えている点を除き、第１の実施例と同様である。
【００５０】
Ｄ２．効果：
以上説明した第４の実施例におけるルータ装置ＲＴ１４、ＲＴ２４によれば、第１実施例のルータ装置ＲＴ１、ＲＴ２と同様の作用・効果を得ることができる。
さらに、通常フローは学習せず、振分部１４０においてハッシュ関数によりハッシュ用キューＱｙ〜Ｑｚから振り分け先を決定し、重要なフローのみを学習し、学習用キューＱ１〜Ｑｍに振り分けることにより、重要フローの帯域を確実に保証することができる。逆に、異常なフローのみを学習することにより、学習用キューＱ１〜Ｑｍの最大帯域を小さく設定することで、異常なフローのみ帯域を制限することができる。その結果、学習するフローの数を削減し、フローテーブル１３０の容量を抑制することができる。
【００５１】
Ｅ．その他の実施形態：
以上、本発明の実施形態について説明したが、上述した実施形態における構成要素のうち、独立クレームに記載された要素に対応する要素以外の要素は、付加的な要素であり、適宜省略、または、組み合わせが可能である。また、本発明はこうした実施形態に限られるものではなく、本発明の要旨を脱しない範囲において、種々なる態様で実施できることは勿論である。例えば、本発明は、中継装置のほかに、複数の中継装置を備えた通信システム、中継方法、中継プログラム、当該プログラムを記録した記憶媒体等としても実現することができる。
【００５２】
以下、本発明の適用例をまとめる。
［適用例１］  通信パケットを中継する中継装置であって、入力としての通信パケットを受信する入力部と、複数のキューを備え、前記受信した通信パケットを一時的に蓄積するバッファ部と、前記入力部は、複数の入力用物理ポートを備え、前記複数の入力用物理ポートのうちの、前記通信パケットを受け付けた前記入力用物理ポートを識別可能なポート情報及び前記通信パケットのヘッダ情報に従ってフローテーブルを検索し、該当フローが学習済みか否かを判定するフロー識別部と、前記受信した通信パケットを前記複数のキューのいずれかへ振り分けて格納する振分部と、前記キュー毎の割り当てフロー数と、キュー長と、使用帯域のうちの少なくとも一つを使用状態としてキュー管理テーブルに登録するキュー管理部と、前記フロー識別部において未学習と判定した場合に、該当フローを前記キュー毎の使用状態に従って振り分け先のキューを決定し、フローテーブルに登録し、登録済みのフローの通信が継続していない場合に、該当フローをフローテーブルから削除するフロー学習部と、前記キュー毎に帯域を制御して、前記複数のキューに蓄積された通信パケットを送信のために出力する帯域制御部と、通信パケットを送信する出力部を備えることを特徴とする中継装置。
【００５３】
適用例1のネットワーク中継装置によれば、受信した通信パケットが、フローに基づいて複数のキューに分散化される。このため、輻輳時の通信パケットの廃棄の影響をキュー毎に分離することができる。その結果、輻輳の影響がトラフィック全体に及ぶことを抑制して、通信品質を確保することができる。また、ユーザをフローにより識別することで、ユーザ間の公平性を保つことができる。しかも、通信が発生したフローをキュー毎の使用状態に従って決定した振り分け先のキューと共に学習し、通信が終了した学習済みのフローを削除することで、事前に発生し得る全てのフロー毎にキューを確保する必要がないので、キューとして用いるバッファの容量を抑制することができる。
【００５４】
［適用例２］  適用例１記載の中継装置であって、前記フロー毎に帯域監視を行うキュー管理部と、全フローの使用帯域が所定値以上である場合に、前記キュー毎の制御帯域を変更する帯域変更部と、前記フロー毎の使用帯域が所定値以上であるフローを割当てる制限キューと、帯域の変更及び制限キューへの振り分け変更が発生すると、管理サーバにアラームを送信するアラーム検出部とを備えることを特徴とする中継装置。
適用例２のネットワーク中継装置によれば、通常時は回線の最大帯域まで使用可能な状態にしておくことにより、帯域を効率的に使用することができる。また、輻輳が発生すると帯域を均等割り当てに変更し、輻輳の要因となったフローの割り当てを、最大帯域を他のフローより小さく制限する制限キューに変更することにより、ユーザ間の公平性を保ちながら、ヘビーユーザ対策を行うことができる。また、アラームを管理サーバに送信することにより、輻輳発生の状態を管理し、収容変更等の根本対策を検討する契機とすることができる。
【００５５】
［適用例３］  適用例１記載の中継装置であって、DoS検知アプライアンスに従って、前記フロー毎にDoS攻撃を識別するDoS検知部と、DoS攻撃と認識したフローを割当てる制限キューと、制限キューへの振り分け変更が発生すると、管理サーバにアラームを送信するアラーム検出部とを備えることを特徴とする中継装置。
適用例３のネットワーク中継装置によれば、DoS攻撃のフローの割り当てを、最大帯域を他のフローより小さく制限する制限キューに変更すことにより、ユーザ間の公平性を保ちながら、DoS攻撃対策を行うことができる。また、アラームを管理サーバに送信することにより、DoS攻撃の状態を管理し、セキュリティ強化等の根本対策を検討する契機とすることができる。
【００５６】
［適用例４］  適用例１記載の中継装置であって、未学習のフローを割り当てる未学習用キューを複数のキューで構成し、ハッシュ関数により振り分けることを特徴とする中継装置。
適用例４のネットワーク中継装置によれば、通常フローは学習せず、ハッシュにより振り分け先キューを決定し、重要なフローを学習することにより、重要フローの帯域を確実に保証することができる。また、異常なフローを学習することにより、最大帯域を小さく制限することができる。その結果、学習するフローの数を削減し、フローテーブルの容量を抑制することができる。
【００５７】
本発明の形態は、ネットワーク中継装置及び帯域制御方法に限るものではなく、例えば、ネットワーク中継装置とは異なる他のネットワーク機器、帯域制御装置の機能をコンピュータに実現させるためのプログラムなどの他の形態に適用することもできる。また、本発明は、前述の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【符号の説明】
【００５８】
１０：通信システム
１１０：入力部
１２０，１２１：フロー識別部
１３０，１３１，１３２：フローテーブル
１４０，１４１：振分部
１５０，１５１：バッファ部
１６０，１６１，１６２：キュー管理部
１７０，１７１，１７２：キュー管理テーブル
１８０，１８１，１８２：フロー学習部
１９０：帯域制御部
２００：出力部
２１０：帯域変更部
２２０：アラーム検出部
２３０：管理サーバ
２４０：DoS検知部
２５０：DoS検知アプライアンス
ＳＶ１、ＳＶ２：サーバ装置
ＲＴ１、ＲＴ２、ＲＴ３、ＲＴ４、ＲＴ５、ＲＴ１２、ＲＴ１３，ＲＴ１４：ルータ装置
ＮＷ：ネットワーク
ＨＭ１、ＨＭ２、ＨＭ３：家庭
ＣＬ１、ＣＬ２、ＣＬ３：クライアント装置
Ｑ１〜Ｑｍ：学習用キュー
Ｑｎ：未学習用キュー
Ｑｘ：制限キュー
Ｑｙ〜Ｑｚ：ハッシュ用キュー
【図１】
2019012914.tif 000003
【図２】
2019012914.tif 000004
【図３】
2019012914.tif 000005
【図４】
2019012914.tif 000006
【図５】
2019012914.tif 000007
【図６】
2019012914.tif 000008
【図７】
2019012914.tif 000009
【図８】
2019012914.tif 000010
【図９】
2019012914.tif 000011
【図１０】
2019012914.tif 000012
【図１１】
2019012914.tif 000013
【図１２】
2019012914.tif 000014
【図１３】
2019012914.tif 000015
【図１４】
2019012914.tif 000016
【図１５】
2019012914.tif 000017