(57)【要約】【課題】  ユーザの通信を過剰に規制することなく、輻輳を制御すること。【解決手段】  輻輳制御装置１の輻輳検知部２０が、輻輳の発生を検知する輻輳検知手順と、通過装置特定部３０が、輻輳検知手順が検知した輻輳装置から、制御対象ネットワーク１０のトポロジを参照してユーザ端末１８と輻輳装置を結ぶ経路上にある悪性フローの通過装置を特定する通過装置特定手順と、悪性フロー特定部４０が、通過装置特定手順が特定した通過装置に関するフロー計測結果をもとに、悪性フローを特定する悪性フロー特定手順と、通信制御部７０が、悪性フロー特定手順により特定された悪性フローの通信制御を通信装置１２に対して実行する通信制御手順と、を実行することを特徴とする。【選択図】      図２
2006319746.tif 000002
【特許請求の範囲】
【請求項１】
フローを中継する通信装置を有する制御対象ネットワークにおいて、発生した輻輳の要因となる悪性フローを制御する輻輳制御方法であって、
コンピュータが、輻輳検知部と、通過装置特定部と、悪性フロー特定部と、通信制御部とを有し、
前記輻輳検知部が、前記制御対象ネットワーク内で輻輳の発生した前記通信装置である輻輳装置を検知する輻輳検知手順と、
前記通過装置特定部が、前記輻輳検知手順が検知した前記輻輳装置から、前記制御対象ネットワークのトポロジを参照してユーザ端末と前記輻輳装置を結ぶ経路上にある悪性フローの通過装置を特定する通過装置特定手順と、
前記悪性フロー特定部が、前記通過装置特定手順が特定した前記通過装置に関するフロー計測結果をもとに、悪性フローを特定する悪性フロー特定手順と、
前記通信制御部が、前記悪性フロー特定手順により特定された悪性フローの通信制御を前記通信装置に対して実行する通信制御手順と、
を実行することを特徴とする輻輳制御方法。
【請求項２】
前記悪性フロー特定手順が複数の悪性フローを特定した場合、前記通信制御手順が制御する悪性フローの順序を特定する制御順序特定手順を、コンピュータがさらに実行することを特徴とする請求項１に記載の輻輳制御方法。
【請求項３】
前記輻輳検知手順、前記通過装置特定手順、前記悪性フロー特定手順、および、前記通信制御手順のうち、いずれか１つの手順を実行するコンピュータが、他の手順を実行するコンピュータとは異なるコンピュータであることを特徴とする請求項１または請求項２に記載の輻輳制御方法。
【請求項４】
前記輻輳検知手順、前記通過装置特定手順、前記悪性フロー特定手順、および、前記通信制御手順のうち、少なくとも１つの手順を実行するコンピュータが、前記通信装置であることを特徴とする請求項１または請求項２に記載の輻輳制御方法。
【請求項５】
前記通過装置特定手順は、前記通信装置により装置ＩＤがタグ付けされたパケットを参照し、パケット数の多いタグに対応する前記通信装置を前記通過装置と特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項６】
前記通過装置特定手順は、前記通信装置により装置アドレスがカプセリングされたパケットを参照し、パケット数の多い装置アドレスに対応する前記通信装置を前記通過装置と特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項７】
前記通過装置特定手順は、パケットの前記ユーザ端末ＩＰアドレスを参照し、パケット数の多い前記ユーザ端末の経路上に位置する前記通信装置を前記通過装置と特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項８】
前記通過装置特定手順は、破棄されたパケットを溜めるオーバーフローキュー内のパケットをもとに前記通過装置を特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項９】
前記通過装置特定手順は、到着したパケットを溜めるコピーキュー内のパケットをもとに前記通過装置を特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項１０】
前記通過装置特定手順は、到着したパケットのうち閾値超えのパケットを溜める閾値超えキュー内のパケットをもとに前記通過装置を特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項１１】
前記通過装置特定手順は、ＬＳＰ（Label Switched Path）両端の前記通信装置のフロー通信総量差分が所定値より大きいＬＳＰの始点となる前記通信装置を前記通過装置と特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項１２】
前記通過装置特定手順は、（ＬＳＰ内フロー通信総量／ＬＳＰ内フロー数）の商が所定値より大きいＬＳＰの始点となる前記通信装置を前記通過装置と特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項１３】
前記悪性フロー特定手順は、パラメータが閾値以上のフローを悪性フローと特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項１４】
前記悪性フロー特定手順は、パラメータが閾値かつ前記輻輳装置を通過するフローを悪性フローと特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項１５】
前記悪性フロー特定手順は、パラメータが閾値かつ前記輻輳装置のパケットと前記通過装置のパケットとを照合してアドレスが一致するフローを悪性フローと特定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項１６】
前記制御順序特定手順が決定した順序に従って、輻輳が緩和されるまで、順番に悪性フローを通信制御する輻輳緩和検出手順を、コンピュータがさらに実行することを特徴とする請求項２ないし請求項４のいずれか１項に記載の輻輳制御方法。
【請求項１７】
前記輻輳緩和検出手順を実行する前に、前記悪性フロー特定手順が特定した複数の悪性フローを一括して通信制御することを特徴とする請求項１６に記載の輻輳制御方法。
【請求項１８】
前記通信制御は、輻輳および悪性フローの情報をもとに算出したフローレートで通信制御を行うことを特徴とする請求項１６または請求項１７に記載の輻輳制御方法。
【請求項１９】
前記輻輳および悪性フローの情報は、前記通過装置から送信するモニタリングパケットをもとに収集することを特徴とする請求項１８に記載の輻輳制御方法。
【請求項２０】
前記輻輳および悪性フローの情報は、前記輻輳装置のパケット損失率とすることを特徴とする請求項１８に記載の輻輳制御方法。
【請求項２１】
請求項１ないし請求項２０のいずれか１項に記載された輻輳制御方法をコンピュータに実行させるための輻輳制御プログラム。
【請求項２２】
フローを中継する通信装置を有する制御対象ネットワークにおいて、発生した輻輳の要因となる悪性フローを制御する輻輳制御装置であって、
前記制御対象ネットワーク内で輻輳の発生した前記通信装置である輻輳装置を検知する輻輳検知部と、
前記輻輳検知部が検知した前記輻輳装置から、前記制御対象ネットワークのトポロジを参照してユーザ端末と前記輻輳装置を結ぶ経路上にある悪性フローの通過装置を特定する通過装置特定部と、
前記通過装置特定部が特定した前記通過装置に関するフロー計測結果をもとに、悪性フローを特定する悪性フロー特定部と、
前記悪性フロー特定部により特定された悪性フローの通信制御を前記通信装置に対して実行する通信制御部と、
を有することを特徴とする輻輳制御装置。
【請求項２３】
前記悪性フロー特定部が複数の悪性フローを特定した場合、前記通信制御部が制御する悪性フローの順序を特定する制御順序特定部を、さらに有することを特徴とする請求項２２に記載の輻輳制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、輻輳制御方法、輻輳制御プログラム、および、輻輳制御装置に関する。
【背景技術】
【０００２】
ブロードバンド回線の普及により、ブロードバンド回線単価の下落は、今後も続くという予測がある。そこで、回線をユーザに使用させるプロバイダ事業者は、他のプロバイダ事業者の提供する通信サービスと差別化するために、提供する回線の品質を保証するＳＬＡ（Service Level Agreement）などによって、付加価値の高い回線をサービスとして提供している。もし、ＳＬＡを守った回線が提供されれば、ユーザが回線を使用する上での満足度は向上する。一方、回線の品質が悪く、ＳＬＡの基準よりも低下すれば、ユーザの満足度は低下してしまう。
【０００３】
保証する通信品質には、帯域、通信遅延、および、利用不能時間が少ないことなどの様々な指標が存在する。そして、これらの通信品質は、ネットワークの混雑状態である輻輳に影響されるため、プロバイダ事業者にとって輻輳を抑制することが、重要である。
【０００４】
輻輳を抑制するために、まず、全ユーザに使用される通信帯域の総和を増やす方式が挙げられる。その簡易的な手段として、設備投資によって回線の通信帯域を増強することが挙げられる。しかし、通信量の増加に合わせた設備投資には、既に導入してしまった通信機器をより高機能な通信機器に置き換えることで多額のコストがかかるため、プロバイダ事業者にとっては、安易に採用することが困難である。さらに、使用できる帯域を目一杯使用するようなアプリケーションも存在するため、ここまで設備投資すれば輻輳は発生しないという目安はたてづらい。
【０００５】
また、回線の通信帯域を増強する代わりに、既にある回線などのネットワーク資源の利用効率を向上させる手段もある。しかし、ユーザに使用される通信帯域の総和を増やすことができるが、ユーザからのパケット量は変動し続けるので、通信量の変動に対する耐性が低下して輻輳が発生しやすくなる。
【０００６】
そこで、全ユーザに使用される通信帯域の総和を増やす代わりに、各ユーザによる通信回線の公平な使用を実現させる手法がある。例えば、１００［Ｍｂｐｓ］の空き帯域を１００人が用いる場合には、１人が１［Ｍｂｐｓ］ずつ公平に使うべきである。もし、特定のユーザが５０［Ｍｂｐｓ］を占有して、その他のユーザが約０．５［Ｍｂｐｓ］しか使えないという事態があれば、帯域を占有している特定のユーザの通信を規制すべきである。一方、１００［Ｍｂｐｓ］の通信回線において、現在使用しているユーザが２人しかいないときには、その２人にそれぞれ５０［Ｍｂｐｓ］ずつ割り当てれば、公平な利用が実現できており規制の対象にはならない。
【０００７】
特定のユーザが、通信帯域を不当に占有する原因は、特定のユーザが通信を介するフローが悪性フローになってしまうことによる。つまり、通信パケットが流れるフローは、そのフロー上を流れるパケット量が、そのフローの経路となる通信回線に対して過重になってしまうときに、通信回線に輻輳を発生させる要因となる悪性フローになる。一方、フロー上を流れるパケット量が、通信回線に輻輳を発生させるほどの負担を与えないのであれば、そのフローは良性フローである。悪性フローの全体に占めるフロー数は僅かにも関わらず、悪性フローの帯域占有率は大きい為、輻輳を起こして大多数のユーザの良性フローに影響を与える。
【０００８】
従来の通信制御方法には、輻輳有無に関わらず所定期間の帯域利用量が大きいフローの帯域を網の端で絞るシェーピング法がある（特許文献１参照）。図１３は、所定量のシェーピング処理を示す説明図である。
【０００９】
また、シェーピング法の応用として、輻輳を起こしやすい通信を発生するアプリケーションのフローをポート番号から見分け、網端の通信装置で特定した場合、そこで帯域制御を行うことで予め輻輳が発生しないようにする、という方法もある（特許文献２参照）。図１４は、ポート番号を指定した帯域制御処理を示す説明図である。
【特許文献１】特開平８−７９２６５号公報
【特許文献２】特開２００２−１８５４５９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来の通信制御方法では、フローの制御を行う方式をいくつか実現しているものの、ネットワーク上に存在する複数のフローを、制御対象となる悪性フロー、または、利用を継続させる良性フロー、に分類する手法は、提案されていなかった。そのため、ネットワーク管理者の経験と勘で、試行錯誤的にフローの分類が行われていた。
【００１１】
そのため、ネットワーク管理者が推定した悪性フローと、実際の悪性フローとが乖離してしまうことがある。例えば、良性フローを悪性フローと推定し、過剰に良性フローを抑制することで、ユーザの利便性を著しく低下させたり、悪性フローを良性フローと推定し、本来取り締まるべき悪性フローを放置することで、輻輳を増長させることがあった。以下、従来の輻輳制御方法の問題点を具体的に説明する。
【００１２】
まず、シェーピング法（特許文献１）の手法では、所定期間の帯域利用量が大きいフローを制御する。しかし、この方法では、輻輳の有無に関係なく所定期間の帯域利用量だけで判断しているため、帯域を公平に利用しているユーザの良性フローまで、過剰に規制してしまう。よって、ユーザが使用可能な帯域に余剰があるにも関わらず必要以上に帯域を制御してしまい、ネットワークの利用効率が低下してしまう。図１５は、所定量のシェーピング処理における問題点を示す説明図である。
【００１３】
次に、特許文献２は、制御するアプリケーションと、アプリケーションが使用するポート番号とを対応付け、そのポート番号を使用するフローを抑制する。しかし、アプリケーションはポート番号を都合のいいように変更するため、アプリケーションとポート番号が１対１で対応しておらず、幾つかのアプリケーションが同じポート番号を使用することもある。また、使用するポート番号を動的に変更し続けるアプリケーションもあるため、悪性フローを推定するためにポート番号とアプリケーションとを静的に対応付けても、有効でないこととなる。図１６は、ポート番号を指定した帯域制御処理における問題点を示す説明図である。
【００１４】
さらに、特定のアプリケーションが悪性フローも良性フローも両方発生させることもある。悪性フローの通信を解析すると、ＤＤｏＳ（Distributed Denial of Service）などの明らかに不正なセキュリティ攻撃だけでなく、Ｐ２Ｐ（Peer to Peer）などのユーザが日常使用するアプリケーションとなっていることもある。そして、現在主流のＰ２Ｐを始め幾つかのアプリケーションでは、ユーザの意思とは無関係に帯域が空いているとその分だけ帯域を利用して通信を行うため、アプリケーションを起動するユーザに悪意が無くても、悪性フローを発生させてしまう。
【００１５】
そこで、本発明は、前記した問題を解決し、ユーザの通信を過剰に規制することなく、輻輳を制御することを主な目的とする。
【課題を解決するための手段】
【００１６】
前記課題を解決するために、本発明は、フローを中継する通信装置を有する制御対象ネットワークにおいて、発生した輻輳の要因となる悪性フローを制御する輻輳制御方法であって、コンピュータが、輻輳検知部と、通過装置特定部と、悪性フロー特定部と、通信制御部とを有し、前記輻輳検知部が、前記制御対象ネットワーク内で輻輳の発生した前記通信装置である輻輳装置を検知する輻輳検知手順と、前記通過装置特定部が、前記輻輳検知手順が検知した前記輻輳装置から、前記制御対象ネットワークのトポロジを参照してユーザ端末と前記輻輳装置を結ぶ経路上にある悪性フローの通過装置を特定する通過装置特定手順と、前記悪性フロー特定部が、前記通過装置特定手順が特定した前記通過装置に関するフロー計測結果をもとに、悪性フローを特定する悪性フロー特定手順と、前記通信制御部が、前記悪性フロー特定手順により特定された悪性フローの通信制御を前記通信装置に対して実行する通信制御手順と、を実行することを特徴とする。
【００１７】
これにより、公平に帯域を利用しているユーザまで規制してしまうことなく、悪性フローの特徴的なフロー情報から帯域制御対象を特定し、必要以上に帯域を制御してユーザのスループットを低下させずに最適な制御度合いで帯域制御を行うことができる。
【００１８】
本発明は、前記悪性フロー特定手順が複数の悪性フローを特定した場合、前記通信制御手順が制御する悪性フローの順序を特定する制御順序特定手順を、コンピュータがさらに実行することを特徴とする。
【００１９】
これにより、輻輳に影響を与えている度合いの高い悪性フローを優先的に制御することで、輻輳を回復するまでの時間が短縮化する。
【００２０】
本発明は、前記輻輳検知手順、前記通過装置特定手順、前記悪性フロー特定手順、および、前記通信制御手順のうち、いずれか１つの手順を実行するコンピュータが、他の手順を実行するコンピュータとは異なるコンピュータであることを特徴とする。
【００２１】
これにより、輻輳発生を判断するためのフロー情報が一箇所にまとまるため、広範囲の網の状況が一度に分かり、ネットワークの管理者にとって管理がしやすいという利点がある。
【００２２】
本発明は、前記輻輳検知手順、前記通過装置特定手順、前記悪性フロー特定手順、および、前記通信制御手順のうち、少なくとも１つの手順を実行するコンピュータが、前記通信装置であることを特徴とする。
【００２３】
これにより、輻輳発生を判断するためのフロー情報が分散されるため、部分的な障害に強いという利点がある。
【００２４】
本発明は、前記通過装置特定手順が、前記通信装置により装置ＩＤがタグ付けされたパケットを参照し、パケット数の多いタグに対応する前記通信装置を前記通過装置と特定することを特徴とする。
【００２５】
これにより、大量にあるＩＰアドレスを検索するよりも簡単に発生源を特定することができる。また、輻輳発生網と発生源網のアドレス体系が異なる場合には、両網で共通の情報として使用できる。
【００２６】
本発明は、前記通過装置特定手順が、前記通信装置により装置アドレスがカプセリングされたパケットを参照し、パケット数の多い装置アドレスに対応する前記通信装置を前記通過装置と特定することを特徴とする。
【００２７】
これにより、通過装置特定部は、データベースなしで、直接通過装置を特定することができる。
【００２８】
本発明は、前記通過装置特定手順が、パケットの前記ユーザ端末ＩＰアドレスを参照し、パケット数の多い前記ユーザ端末の経路上に位置する前記通信装置を前記通過装置と特定することを特徴とする。
【００２９】
これにより、輻輳装置に到着するまでの途中の通信装置で通過するパケットに処理をせずに通過装置を特定することができる。
【００３０】
本発明は、前記通過装置特定手順が、破棄されたパケットを溜めるオーバーフローキュー内のパケットをもとに前記通過装置を特定することを特徴とする。
【００３１】
これにより、通信装置は、通過装置を特定するためのカウントを行う場合に一部のパケットだけをカウントすればよいので、通信装置の処理量を減らすことができる。
【００３２】
本発明は、前記通過装置特定手順が、到着したパケットを溜めるコピーキュー内のパケットをもとに前記通過装置を特定することを特徴とする。
【００３３】
これにより、通信装置は、通過装置を特定するためのカウントを行う場合に一部のパケットだけをカウントすればよいので、通信装置の処理量を減らすことができる。
【００３４】
本発明は、前記通過装置特定手順が、到着したパケットのうち閾値超えのパケットを溜める閾値超えキュー内のパケットをもとに前記通過装置を特定することを特徴とする。
【００３５】
これにより、通信装置は、通過装置を特定するためのカウントを行う場合に一部のパケットだけをカウントすればよいので、通信装置の処理量を減らすことができる。
【００３６】
本発明は、前記通過装置特定手順が、ＬＳＰ（Label Switched Path）両端の前記通信装置のフロー通信総量差分が所定値より大きいＬＳＰの始点となる前記通信装置を前記通過装置と特定することを特徴とする。
【００３７】
これにより、多くの情報を収集統計することなく、少ない情報から簡単に輻輳、および、悪性フローの通過装置を特定することができる。
【００３８】
本発明は、前記通過装置特定手順が、（ＬＳＰ内フロー通信総量／ＬＳＰ内フロー数）の商が所定値より大きいＬＳＰの始点となる前記通信装置を前記通過装置と特定することを特徴とする。
【００３９】
これにより、悪性フローを含むＬＳＰを特定することができるため、より簡易な方法で悪性フローの通過箇所を正確に特定することができる。
【００４０】
本発明は、前記悪性フロー特定手順が、パラメータが閾値以上のフローを悪性フローと特定することを特徴とする。
【００４１】
これにより、悪性フロー特定部は、フローを計測した通信装置とのやり取りだけで悪性フローを特定できるため、悪性フローを短時間で特定することができる。
【００４２】
本発明は、前記悪性フロー特定手順が、パラメータが閾値かつ前記輻輳装置を通過するフローを悪性フローと特定することを特徴とする。
【００４３】
これにより、悪性フローの候補が輻輳の発生した通信装置を通過しているか否かを確認するため、明確に悪性フローを特定することができる。
【００４４】
本発明は、前記悪性フロー特定手順が、パラメータが閾値かつ前記輻輳装置のパケットと前記通過装置のパケットとを照合してアドレスが一致するフローを悪性フローと特定することを特徴とする。
【００４５】
これにより、悪性フローの候補が輻輳の発生した通信装置を通過しているか否かを確認するため、明確に悪性フローを特定することができる。
【００４６】
本発明は、前記制御順序特定手順が決定した順序に従って、輻輳が緩和されるまで、順番に悪性フローを通信制御する輻輳緩和検出手順を、コンピュータがさらに実行することを特徴とする。
【００４７】
これにより、フローを順番に通信制御する過程で輻輳の発生した通信装置の輻輳状態を確認することで、輻輳原因のフローを特定できると同時に、無関係なフローの通信制御を避けることができる。
【００４８】
本発明は、前記輻輳緩和検出手順を実行する前に、前記悪性フロー特定手順が特定した複数の悪性フローを一括して通信制御することを特徴とする。
【００４９】
これにより、Ｎ個のフロー全てを所定量分絞ることで、素早く輻輳を緩和することができる。
【００５０】
本発明は、前記通信制御が、輻輳および悪性フローの情報をもとに算出したフローレートで通信制御を行うことを特徴とする。
【００５１】
これにより、輻輳状態を確認しながらフローレート決めることが可能なため、必要以上に通信制御することを防ぎ、ユーザのスループットを最大限高く保持しておくことができる。
【００５２】
本発明は、前記輻輳および悪性フローの情報が、前記通過装置から送信するモニタリングパケットをもとに収集することを特徴とする。
【００５３】
これにより、輻輳を緩和するのに適したフローレートＸ［ｂｐｓ］が分かり、その結果、輻輳緩和に必要な最低限の通信制御だけを行い悪性フローの帯域を絞りすぎてしまうのを避け、ユーザのスループットを最大限高く保持しておくことができる。
【００５４】
本発明は、前記輻輳および悪性フローの情報が、前記輻輳装置のパケット損失率とすることを特徴とする。
【００５５】
これにより、輻輳を緩和するのに適したフローレートが分かり、その結果、輻輳緩和に必要な最低限の通信制御だけを行い悪性フローの帯域を絞りすぎてしまうのを避け、ユーザのスループットを最大限高く保持しておくことができる。
【００５６】
本発明は、前記輻輳制御方法をコンピュータに実行させるための輻輳制御プログラムである。
【００５７】
これにより、公平に帯域を利用しているユーザまで規制してしまうことなく、悪性フローの特徴的なフロー情報から帯域制御対象を特定し、必要以上に帯域を制御してユーザのスループットを低下させずに最適な制御度合いで帯域制御を行うことができる。
【００５８】
本発明は、フローを中継する通信装置を有する制御対象ネットワークにおいて、発生した輻輳の要因となる悪性フローを制御する輻輳制御装置であって、前記制御対象ネットワーク内で輻輳の発生した前記通信装置である輻輳装置を検知する輻輳検知部と、前記輻輳検知部が検知した前記輻輳装置から、前記制御対象ネットワークのトポロジを参照してユーザ端末と前記輻輳装置を結ぶ経路上にある悪性フローの通過装置を特定する通過装置特定部と、前記通過装置特定部が特定した前記通過装置に関するフロー計測結果をもとに、悪性フローを特定する悪性フロー特定部と、前記悪性フロー特定部により特定された悪性フローの通信制御を前記通信装置に対して実行する通信制御部と、を有することを特徴とする。
【００５９】
これにより、公平に帯域を利用しているユーザまで規制してしまうことなく、悪性フローの特徴的なフロー情報から帯域制御対象を特定し、必要以上に帯域を制御してユーザのスループットを低下させずに最適な制御度合いで帯域制御を行うことができる。
【００６０】
本発明は、前記悪性フロー特定部が複数の悪性フローを特定した場合、前記通信制御部が制御する悪性フローの順序を特定する制御順序特定部を、さらに有することを特徴とする。
【００６１】
これにより、輻輳に影響を与えている度合いの高い悪性フローを優先的に制御することで、輻輳を回復するまでの時間が短縮化する。
【発明の効果】
【００６２】
本発明では、輻輳の検知結果を悪性フローの特定処理にフィードバックする。つまり、輻輳が起きてから、悪性フロー特定機能が、悪性フローの候補が通過すると推定される通信装置が収集したフローレートや持続時間、バーストサイズなどの悪性フローに共通する特徴的なフロー情報から帯域制御対象を特定する。
【００６３】
これにより、制御すべき対象に的を絞ることができ、公平に帯域を利用しているユーザまで通信を制限せずに済む。換言すると、ポート番号から制御すべきフローを特定したり、最適な制御度合いが分からず必要以上に帯域を制御してユーザのスループットが低下することを抑制できる。
【発明を実施するための最良の形態】
【００６４】
以下に、本発明が適用される輻輳制御システムの一実施形態について、図面を参照して詳細に説明する。まず、本実施形態の輻輳制御システムの構成について、図１から図５を参照して説明する。
【００６５】
図１は、制御対象ネットワーク１０を示す構成図である。制御対象ネットワーク１０は、輻輳を制御する通信網であり、コアルータ１４およびエッジルータ１６を接続する。そして、ユーザ端末１８は、通信装置１２を介して通信を行う端末であり、悪性フローか良性フローを発生させる。
【００６６】
コアルータ１４は、制御対象ネットワーク内の通信装置１２であり、制御対象ネットワーク１０の外部とは接続しない。輻輳の発生したコアルータ１４を輻輳装置とする。そして、コアルータ１４は、輻輳が発生したら、パケットに付されたエッジルータ１６を識別するタグをカウントすることで、ＬＳＰ（Label‐Switched Path）または回線単位のフロー計測を行う。
【００６７】
エッジルータ１６は、制御対象ネットワーク内の通信装置１２であり、制御対象ネットワーク１０の外部との接続回線を有する。悪性フローが通過するエッジルータ１６を通過装置とし、通過装置は悪性フローを発生させるユーザ端末１８と輻輳装置とを結ぶ経路上に位置する。エッジルータ１６は、自装置を識別するタグを通過するフローに付ける。
【００６８】
図２は、制御対象ネットワーク１０で発生する輻輳を制御する輻輳制御装置１を示す構成図である。
【００６９】
輻輳制御装置１は、演算処理を行う際に用いられる記憶手段としてのメモリと、前記演算処理を行う演算処理装置とを少なくとも備えるコンピュータとして構成される。なお、メモリは、ＲＡＭ（Random Access Memory）などにより構成される。演算処理は、ＣＰＵ（Central Processing Unit）によって構成される演算処理装置が、メモリ上のプログラムを実行することで、実現される。
【００７０】
輻輳制御装置１は、輻輳検知部２０と、通過装置特定部３０と、悪性フロー特定部４０と、通信制御部７０とを有する。さらに、輻輳制御装置１は、制御順序特定部６０を有していてもよい。まず、輻輳検知部２０は、制御対象ネットワーク１０からデータ収集して輻輳を検知する。次に、通過装置特定部３０は、輻輳検知部２０が推定した輻輳から、輻輳に関する悪性フローの通過装置を特定する。そして、悪性フロー特定部４０は、通過装置特定部３０が特定した通過装置から悪性フローを特定する。さらに、制御順序特定部６０は、悪性フロー特定部４０によって特定された悪性フローに対して通信制御の順序を決定する。そして、通信制御部７０は、通信制御の指示に従い、悪性フローの通信制御を行う。以下、輻輳制御装置１の各構成要素を、具体的に説明する。
【００７１】
通過装置特定部３０は、タグと網内通信装置１２との対応データベースを持つ。データベースを参照して悪性フローを制御するための指示を出すべき悪性フロー特定部４０に通知する。悪性フローの通過装置の候補を推定し、輻輳発生を関係のある悪性フロー特定部４０に情報通知・指示を行う。
【００７２】
図３は、輻輳検知部２０を示す構成図である。輻輳検出情報管理部２２は、輻輳検出に必要なフロー情報を制御対象ネットワーク１０のコアルータ１４から定期的に収集して保持する。フロー情報は、例えば、コアルータ１４から定期的に収集した入力パケット情報、および、破棄パケット情報である。通過装置分析部２４は、輻輳検出情報管理部２２の情報を基にして通過装置を特定するアルゴリズムを備え、収集した情報を基に悪性フローの通過装置の候補を特定する。
【００７３】
図３の通信装置管理部２６は、通信装置１２の装置ＩＤ（IDentifier）と悪性フロー特定部４０との対応データベースを持ち、通過装置分析部２４が分析した、悪性フローの通過装置の候補から、輻輳発生を通知すべき悪性フロー特定部４０を決定する。輻輳発生通知部２８は、通信装置管理部２６が決定した悪性フロー特定部４０に輻輳発生を通知する。制御インターフェース２９は、外部と情報を送受信するための制御インターフェースである。
【００７４】
なお、輻輳発生通知部２８は、悪性フロー特定部４０の他に、経路計算手段にも、輻輳発生を通知してもよい。経路計算手段は、ルーティングプロトコルなどを動作させて、通信装置１２がフローを中継する経路を示す経路表（ルーティングテーブル）を作成する。経路計算手段は、輻輳発生の通知を受けることにより、輻輳装置や輻輳が発生したネットワークを通過しないように、経路を計算する。経路計算手段は、輻輳が発生した網内にあってもよいし、別の事業者網にあってもよい。
【００７５】
図４は、悪性フロー特定部４０を示す構成図である。トリガ制御部４２は、悪性フローの通過装置の候補に関する情報の通知を通過装置特定部３０から受け、フロー計測開始トリガをエッジルータヘ通知する。フロー情報管理部４４は、エッジルータ１６から収集したフロー毎のパケットカウント情報を保持する。悪性フロー分析部４６は、フロー毎のパケットカウント情報を基にして悪性フローを特定するアルゴリズムを備え、収集したフロー情報から悪性フローを特定する。
【００７６】
図４の分析アルゴリズム管理部４８は、悪性フロー分析部４６が悪性フローを特定する場合に使用するアルゴリズムを保持する。悪性フロー通知部５０は、特定した悪性フローを制御順序特定部６０、または、通信制御部７０に通知する。制御指示部５２は、悪性フロー制御を通信制御部７０に指示する。なお、悪性フローが複数検出されたときには、その悪性フローの制御順序は、制御順序分析部６４が決定した順序に従ってもよい。制御インターフェース５４は、外部と情報を送受信するための制御インターフェースである。
【００７７】
図５は、制御順序特定部６０を示す構成図である。悪性フロー情報管理部６２は、悪性フロー特定部４０から収集した悪性フロー情報を保持する。制御順序分析部６４は、悪性フロー情報管理部６２の悪性フロー情報を基にして、悪性フローを制御する順番と制御度合いを決定するアルゴリズムを備える。制御インターフェース６８は、外部と情報を送受信するための制御インターフェースである。
【００７８】
図５の輻輳状態確認部６６は、輻輳検知部２０から輻輳状態の情報を収集する。輻輳状態の情報は、悪性フローの通信制御を行うか否か、行う場合には制御度合いなどを決定するために参照される。輻輳状況を確認して引き続き通信制御が必要だと判断した場合には、悪性フロー特定部４０が次の悪性フローを通信制御するよう指示する。これにより、最適な制御度合いが分からず必要以上に帯域を制御してユーザのスループットが低下することを抑制する。
【００７９】
以上説明した輻輳制御装置１により行われる輻輳制御処理を、図６のフローチャートに示す。
【００８０】
まず、ユーザ端末１８と制御対象ネットワーク１０との間にあるエッジルータ１６は、通過するフローに自装置を識別するタグを書き込む（Ｓ１１）。タグの実現例としては、ＩＰ（Internet Protocol）ヘッダのＴｏＳ（Type of Service）フィールドでもいいし、ＩＰｖ６ヘッダのフローラベル、またはＭＰＬＳ（Multi-Protocol Label Switching）ラベルなどがある。
【００８１】
次に、輻輳検知部２０は、制御対象ネットワーク１０内のコアルータ１４からフロー情報を収集して、輻輳が発生しているか否かを定期的にチェックする（Ｓ１２）。輻輳発生をチェックする方法としては、通信装置１２が持つフロー情報を収集してパケット損失率などを計算して輻輳か否かを判断するパッシブ方式、ｐｉｎｇなどの試験パケットを網内に流し、戻ってきた時の遅延や損失から輻輳か否かを判断するアクティブ方式、などがある。そして、輻輳検知部２０は、制御対象ネットワーク１０内で輻輳発生（Ｓ１３）を検出すると（Ｓ１４）、検出情報を通過装置特定部３０に通知する（Ｓ１５）。
【００８２】
そして、通過装置特定部３０は、通知を受け、悪性フローの通過装置を特定するために、通過装置の特定情報を取得する（Ｓ１６）。通過装置の特定情報は、例えば、輻輳装置が保持するパケットの装置ＩＤタグカウント情報である。
【００８３】
さらに、通過装置特定部３０は、取得した通過装置の特定情報をもとに、通信装置管理部２６を参照して、悪性フローの通過装置の候補を特定する（Ｓ１７）。なお、通信装置１２の数が多いようなネットワーク構成では、悪性フロー特定部４０を複数設置し、各悪性フロー特定部４０に担当する通信装置１２を割り当てるような分散処理の構成をとることとしてもよい。そのときには、輻輳制御装置１は通信装置１２の装置ＩＤと、担当する悪性フロー特定部４０との対応をデータベースに格納する。そして、通過装置特定部３０は、Ｓ１７で特定した通過装置に対応する悪性フロー特定部４０を、データベースから取得する。データベースからの取得は、悪性フロー特定部４０と通信装置１２の数が多い場合などは、最終的に悪性フローを特定するためのフロー計測を行う通過装置までさかのぼるために、数回にわたって絞り込みを行ってもよい。
【００８４】
そして、通過装置特定部３０は、Ｓ１７で特定した悪性フロー特定部４０に、輻輳発生と、該当通信装置１２の情報を通知する（Ｓ１８）。そして、悪性フロー特定部４０は、通知を受け、悪性フローの通過装置であるエッジルータ１６に、悪性フローを特定するためのフロー計測を開始させるトリガを出す（Ｓ１９）。さらに、エッジルータ１６は、トリガを受けてフロー計測を開始し、所定時間のフロー計測結果を悪性フロー特定部４０に渡す（Ｓ２０）。そして、悪性フロー特定部４０は、フロー計測結果を受け取り、受け取った情報から悪性フローを特定する（Ｓ２１）。
【００８５】
さらに、悪性フロー特定部４０は、悪性フローを特定したら、そのフローの特徴的な情報（悪性フローのレートや持続時間、アドレスなど）を制御順序特定部６０に通知して（Ｓ２２）、制御する順番の決定を依頼する。そして、制御順序特定部６０は、通知された悪性フローについて、制御する順番を決める（Ｓ２３）。悪性フローを制御する順番は、例えば、悪性フロー特定部４０から受け取ったフロー情報でサイズが大きいフロー順、辞書列順（アドレスの番号の若い順、情報が到着した時間順など）、ラウンドロビンのアルゴリズムによって算出された順、制御順序特定部６０が収集した網情報から決める順、が挙げられる。図７は、輻輳に対して順番に行う通信制御処理を示す説明図である。
【００８６】
そして、悪性フロー特定部４０は、制御順序特定部６０が決めた順番に従って、通信制御部７０に特定した悪性フローを通信制御するように指示する（Ｓ２４）。そして、通信制御部７０は、悪性フローの通信（帯域など）を制御する（Ｓ２５）。
【００８７】
以下、悪性フローの通過装置の特定処理（Ｓ１６、Ｓ１７）の方式を具体的に説明する。輻輳制御装置１は、以下の方式のいずれかの方式により、通過装置を特定する。
【表１】
2006319746.tif 000003
【００８８】
方式１−Ａは、タグ付けされたパケットから通過装置を特定する手法である。つまり、輻輳装置であるコアルータ１４は、輻輳発生後からＸ時間の間に到着したパケット全てのタグを参照してタグ数をカウントする。通過装置特定部３０は、輻輳装置がカウントしたタグ数の情報を受け取り、数が多いタグに対応する通信装置１２を通過装置と特定し、保持しているタグ値と通信装置１２のアドレスとのデータベースを参照することで、通過装置を特定する（図８参照）。
【００８９】
通信装置１２がタグを付与する場合、タグは全パケットに書き込んでもいいし、サイズの大きいフローのパケットにだけ書き込んでもよい。タグには通信装置１２に付属する通信制御部７０が識別できる情報を書き込んでもよい。本方式を段階的に行うことで最終的に通過装置を特定してもよい。タグの例としては、ＭＰＬＳ網でのラベル、ＩＰｖ４ヘッダのＴｏＳフィールド、ＩＰｖ６ヘッダのフローラベルなどがある。
【００９０】
方式１−Ｂは、カプセリングされたパケットから通過装置を特定する手法である。つまり、通信装置１２を通過するフローにその通信装置１２のアドレスをユーザ端末ＩＰアドレスの上にカプセリングし、輻輳装置において、輻輳発生後からＸ時間の間に到着したパケット全てのカプセリングしたアドレスを参照してアドレス毎にカウントし、通過装置特定部３０は、輻輳装置がカウントしたアドレス数の情報を受け取り、数が多いアドレスに対応する通信装置１２を通過装置と特定する。
【００９１】
通信装置１２がカプセリングを行う場合、カプセリングは全パケットに行ってもいいし、サイズの大きいフローのパケットにだけ行ってもよい。カプセリングするアドレスは通信装置１２に付属する通信制御部７０のアドレスでもよい。カプセリングの例としては、ＭＰＬＳ網でのラベル、ＩＰｏｖｅｒＩＰ等がある。
【００９２】
方式１−Ｃは、パケットのユーザ端末ＩＰアドレスから通過装置を特定する手法である。つまり、輻輳装置において、輻輳発生後からＸ時間の間に到着したパケット全てのユーザ端末ＩＰアドレスを参照してＩＰアドレス毎にカウントし、通過装置特定部３０は、輻輳装置がカウントしたＩＰアドレス数の情報を受け取り、経路計算手段が保持するルーティングデータベースを参照することで、数が多いＩＰアドレスから輻輳装置までの経路を確認し、予め保持している、通信制御部７０を有する通信装置１２のデータベースと比較することで、その経路上にある通過装置を特定する。
【００９３】
方式１−Ｄは、オーバーフローキュー内のパケットから通過装置を特定する手法である。つまり、輻輳装置において輻輳発生後Ｘ時間の間に到着したパケットを全て参照する代わりに、破棄されたパケットをオーバーフローキューに溜める手段を通信装置１２に持たせ、輻輳が起きた通信装置１２が、そのオーバーフローキューに格納されたパケットを対象として、方式１−Ａ〜方式１−Ｃのいずれかの方法によって通過装置を特定する（図９参照）。
【００９４】
方式１−Ｅは、コピーキュー内のパケットから通過装置を特定する手法である。つまり、輻輳装置において輻輳発生後Ｘ時間の間に到着したパケットを全て参照する代わりに、キューに格納されている直近Ｘ時間内のパケットをコピーキューにコピーする手段を通信装置１２に持たせ、輻輳が起きた通信装置１２が、そのコピーキューに格納されたパケットを対象として、方式１−Ａ〜方式１−Ｃのいずれかの方法によって通過装置を特定する（図９参照）。
【００９５】
方式１−Ｆは、閾値超えキュー内のパケットから通過装置を特定する手法である。つまり、輻輳装置において輻輳発生後Ｘ時間の間に到着したパケットを全て参照する代わりに、通信装置１２のキューに閾値を設けて、閾値を超えるパケットがキューに溜まった後にキューに到着したパケットを閾値超えキューにコピーする手段を通信装置１２に持たせ、輻輳が起きた通信装置１２が、その閾値超えキューに格納されたパケットのアドレスを対象として、方式１−Ａ〜方式１−Ｃのいずれかの方法によって通過装置を特定する（図９参照）。
【００９６】
なお、方式１−Ａ〜方式１−Ｆでは、参照した全アドレスに対応する通信装置１２を通過装置の対象としてもよいし、上位Ｘ個を通過装置の対象としてもよい。
【００９７】
ここで、フローがＬＳＰ内を通過するようなコネクション型のネットワークにおいて、通過するフローが悪性フローであるか否かを判定するための特徴について説明する。なお、コネクション型のネットワークには、ＡＴＭ（Asynchronous Transfer Mode)網や、ＭＰＬＳ網などが挙げられる。ＬＳＰを流れる悪性フローの特徴として、全体のフロー数における悪性フロー数は少ないが、悪性フローの帯域占有率は大きいことが挙げられる。
【００９８】
キューを通過したパケットは、そのアドレス毎にあて先に向かうＬＳＰに振り分けられる。ある所定時間のＬＳＰを見ると、サイズが大きく悪性フローになりやすいフローを多く収容するＬＳＰ（図１０（ａ）参照）、少数のサイズが大きいフローと数多くの通常フローとを収容するＬＳＰ（図１０（ｂ）参照）、通常サイズのフローを収容するＬＳＰ（図１０（ｃ）参照）など、様々なパターンのＬＳＰが存在する。
【００９９】
方式１−Ｇでは、以下の特徴を活用する。パケットがキューに入りきらないなどして輻輳が起きると、パケットの優先度が全て等しい場合にはランダムにパケットが破棄される為、フローサイズが大きい程破棄されるパケット数が増える。そこで、破棄されたパケットの統計を取ればサイズが大きいフローを特定することができる。
【０１００】
そこで、方式１−Ｇは、ＬＳＰ両端の通信装置１２のフローの通信総量の差分が所定値より大きいＬＳＰから通過装置を特定する手法である。つまり、制御対象ネットワーク１０がコネクション型網の場合、通過装置特定部３０が、予め保持している網のＬＳＰとその始終点通信装置データベースとを参考にして、該当網のＬＳＰ両端の始終点通信装置１２が持つＬＳＰ流入フローの通信総量とＬＳＰ流出フローの通信総量を収集してその差分を計算することで網内で損失したフローの通信総量を求め、値が閾値以上の場合にそのＬＳＰが経由する通信装置１２で輻輳が起きたと判断し、そのＬＳＰの始点通信装置１２を通過装置と特定する（図１１参照）。
【０１０１】
方式１−Ｈでは、以下の特徴を活用する。ある所定時間でノードから出力されるパケット数には限りがある為、輻輳原因となるフローを収容したＬＳＰは、平均フローサイズが大きい。なお、平均フローサイズは、（フローの通信総量／フロー数）の商である。
【０１０２】
そこで、方式１−Ｈは、平均フローサイズが所定値より大きいＬＳＰから通過装置を特定する手法である。つまり、制御対象ネットワーク１０がコネクション型網の場合、通過装置特定部３０が、予め保持している網のＬＳＰとその経路情報のデータベースを参考にして、輻輳が起きた通信装置１２を通過するＬＳＰを通るフローの通信総量とフロー数の情報とを、輻輳が起きた通信装置１２またはＬＳＰ端の通信装置１２から収集し、平均フローサイズが大きいＬＳＰの始点通信装置１２を通過装置と特定する（図１２参照）。
【０１０３】
なお、方式１−Ｇ、方式１−Ｈにおいて、上位Ｘ本の始点を通過装置としてもよいし、閾値以上のＬＳＰ全ての始点を通過装置としてもよい。さらに、方式１−Ｇまたは方式１−Ｈと、方式１−Ａ〜方式１−Ａのいずれかの方式とを併用して、最終的に通過装置を特定してもよい。
【０１０４】
以下、悪性フローの特定処理（Ｓ２１）の方式を具体的に説明する。輻輳制御装置１は、以下の方式のいずれかの方式により、悪性フローを特定する。
【表２】
2006319746.tif 000004
【０１０５】
方式２−Ａは、パラメータが閾値以上のフローを悪性フローと特定する手法である。つまり、悪性フロー特定部４０は、悪性フローの通過装置の候補において測定されたフロー情報の中から、予め決めたパラメータが閾値以上のフロー全て、または閾値以上のフローの上位Ｘ個を、悪性フローと特定する。
【０１０６】
方式２−Ｂは、パラメータが閾値かつ輻輳装置を通過するフローを悪性フローと特定する手法である。つまり、悪性フロー特定部４０は、悪性フローの通過装置の候補において測定したフロー情報の中から、予め決めたパラメータが閾値以上のフロー全て、または閾値以上のフローの上位Ｘ個を選択し、該当フローの経路情報を、ルーティングデータベースを持つ経路計算部が持つ経路情報を参照して、該当フローが輻輳装置を通過しているかを確認して、その結果から、予め決めたパラメータが閾値以上でかつ輻輳装置を通過しているフローを、悪性フローと特定する。
【０１０７】
方式２−Ｂでは、例えば、悪性フローの通過装置の候補において測定したフロー情報を悪性フロー特定部４０が収集し、その情報の中から、予め決めたパラメータが閾値データベースに保持している閾値よりも大きいフロー全て、または上位Ｘ個を選択し、ルーティングデータベースを持つ経路計算部が持つ経路情報を参照して、該当フローが輻輳装置を通過しているかを確認して、その結果から、予め決めたパラメータが閾値以上でかつ輻輳装置を通過しているフローを、悪性フローと特定する。
【０１０８】
方式２−Ｃは、パラメータが閾値かつパケットのアドレスが一致するフローを悪性フローと特定する手法である。つまり、悪性フロー特定部４０は、輻輳発生の前後に輻輳装置のキューに溜まっていたパケットの情報を保持する手段からそのパケット情報を受け取り、その情報と、悪性フローの通過装置の候補から収集したフロー情報の中で予め決めたパラメータが閾値データベースに保持している閾値よりも大きいフロー全て、または上位Ｘ個のフローの情報とを照合する。
【０１０９】
そして、方式２−Ｃでは、輻輳装置のパケット情報に含まれるパケットのアドレスと、通過装置の候補が計測したフロー情報に含まれるパケットのアドレスが一致した場合、悪性フローの候補が輻輳装置を通過していると判断し、予め決めたパラメータが閾値データベースに保持している閾値よりも大きく、かつ輻輳装置を通過しているフローを、悪性フローと特定する。
【０１１０】
なお、方式２−Ａ〜方式２−Ｃにおいて、パラメータの例としては、あるＸ分間の間に到着するパケット数をサンプリング率ｆでカウントした値がある。ある所定時間の間にエッジルータ１６に到着するパケット数が多いフローは、帯域占有率が大きいと確率論的に推定して、パケットカウント値が閾値以上のフローを悪性フローと特定する。パラメータの他の例としては、バーストサイズや持続時間などがある。
【０１１１】
以下、悪性フローの制御処理（Ｓ２５）の方式を具体的に説明する。輻輳制御装置１は、以下の方式のいずれかの方式により、悪性フローを制御する。
【表３】
2006319746.tif 000005
【０１１２】
方式３−Ａは、通信制御部７０がＮ個の悪性フローを順番に制御する手法である。つまり、特定したＮ個の悪性フローを通信制御する場合に、制御順序特定部６０が、Ｎ個の悪性フローの情報を悪性フロー特定部４０から受け取り、通信制御する順番を決めて、その順番に従って悪性フロー特定部４０に指示を出し、悪性フロー特定部４０が対象の通信制御部７０に指示を出し、通信制御部７０が通信制御を行う。制御順序特定部６０はその間に輻輳検知部２０から輻輳状況に関する情報を受け取り、輻輳が緩和されるまで順番に通信制御を指示する。輻輳が緩和されなければ次の順番の通信制御部７０に対応する悪性フロー特定部４０に指示を出す。
【０１１３】
方式３−Ｂは、通信制御部７０がＮ個の悪性フローを一括して制御した後、順番に制御する手法である。つまり、特定したＮ個の悪性フローを通信制御する場合に、制御順序特定部６０が、Ｎ個の悪性フローを通信制御する順番を決めて、始めにＮ個のフロー全てを所定量通信制御して、その後に方式３−Ａによって悪性フロー特定部４０に指示を出す。
【０１１４】
方式３−Ｃは、通信制御部７０が輻輳緩和されるまで、フローレートの算出とそのフローレートでの制御を繰り返す手法である。つまり、特定したＮ個の悪性フローを通信制御する場合に、制御順序特定部６０は、輻輳検知部２０が確認する輻輳状態の情報を制御順序特定部６０が参照して、その情報と、悪性フロー特定部４０から受け取る悪性フロー情報とをパラメータとして、フローレート計算アルゴリズムを用いて各悪性フローの制御後のフローレートを決定し、そのフローレートで通信制御するように悪性フロー特定部４０に指示を出し、そこからさらに悪性フロー特定部４０は通信制御部７０に指示を出す。
【０１１５】
具体的には、通信制御部７０が通信制御を行う間に、輻輳状態確認部６６が輻輳装置から取得した最新の輻輳状態を確認しながら、輻輳状態が解消するまで、順番に通信制御の指示を通信制御部７０に出す。なお、フローレート計算アルゴリズムは、例えば、以下の数式１である。数式１の変数について、Ｒがフローレート［ｂｐｓ］、Ｄが受信したデータ量［ｂｉｔ］、Ｔがカウント時間［秒］である。
Ｒ＝Ｄ／Ｔ…（数式１）
【０１１６】
方式３−Ｄは、通信制御部７０がモニタリングパケットで輻輳状態を監視し、輻輳状態に適したフローレートで制御する手法である。つまり、特定したＮ個の悪性フローを通信制御する場合に、悪性フローの通過装置からｐｉｎｇなどのモニタリングパケットを飛ばして、悪性フロー特定部４０が網の輻輳状態を監視しながら輻輳緩和に適したフローレートを前記フローレート計算アルゴリズムを用いて計算して、悪性フローを通信制御する。
【０１１７】
方式３−Ｅは、通信制御部７０がパケット損失率から算出したフローレートで制御する手法である。つまり、特定したＮ個の悪性フローを通信制御する場合に、輻輳検知部２０が定期的に測定する輻輳装置のパケット損失率の情報を制御順序特定部６０が参照し、そこから前記フローレート計算アルゴリズムを用いて制御すべきフローレートＸ［ｂｐｓ］を算出することで、適切なフローレートで悪性フローを通信制御する。
【０１１８】
なお、方式３−Ａ〜方式３−Ｅにおいて、複数の通信制御が並列に行われてもよいし、制御順序特定部６０が決めた順番に従って行われてもよい。
【０１１９】
以上説明した本発明は、以下のようにその趣旨を逸脱しない範囲で広く変形実施することができる。
【０１２０】
例えば、フロー計測（Ｓ２０）は、トリガの発行（Ｓ１９）を契機に行うこととしたが、トリガの有無に関わらず、バックグラウンド処理として、事前にフロー計測を行っていてもよい。これにより、フロー計測（Ｓ２０）に関するレスポンスが早くなり、輻輳制御によるネットワークの復旧にかかる時間を短縮できる。
【０１２１】
また、悪性フローを制御するための順序決定処理（Ｓ２２、Ｓ２３）は、省略してもよい。省略することが必要な一例として、悪性フローが１つしか見つからない場合、悪性フローを１つずつ順に制御するだけの復旧時間もとれないほどの緊急の普及を要する場合が挙げられる。そして、順序決定を省略したときには、複数の悪性フローに対して一斉に通信制御する（Ｓ２４）。これにより、輻輳制御によるネットワークの復旧にかかる時間を短縮できる。
【０１２２】
さらに、図２の輻輳制御装置１は、各構成要素を１台の筐体に収容することとしたが、この構成はあくまで一例にすぎず、輻輳制御装置１を構成する筐体の台数を複数として構成し、各構成要素を分散して配置してもよい。そして、輻輳制御装置１の各構成要素は、同じネットワーク内にあっても、異なるネットワークにあってもいい。ネットワークが異なる場合、それらのネットワークは同一の事業者でも異なる事業者でもいい。異なる事業者のネットワークに各機能がある場合、その間にアドレス変換機能を持つエージェントがある。これにより、複数の輻輳制御装置１のＣＰＵがそれぞれ演算を行うので、負荷分散を実現することができる。
【０１２３】
また、輻輳制御装置１の各構成要素と、別の機能を有する装置とを同じ筐体に収容してもよい。例えば、通信制御部７０を通信装置１２に内蔵し（図１７参照）、通信制御処理（Ｓ２４）のメッセージパッシングを、筐体外のネットワーク回線ではなく筐体内の内部バス上で実現したり、通信制御部７０に加えて制御順序特定部６０も、通信装置１２に内蔵するようにしてもよい（図１８参照）。同様に、悪性フロー特定部４０をエッジルータ１６に内蔵し、フロー計測（Ｓ１９、Ｓ２０）のメッセージパッシングを、筐体外のネットワーク回線ではなく筐体内の内部バス上で実現する。これにより、内部バスの高速通信およびネットワーク回線の負荷回避を実現できる。
【０１２４】
なお、本明細書では、輻輳制御装置１が、コアルータで１４もなくエッジルータ１６でもない、第三の装置として、ネットワーク上に存在する図１のような構成を集中型とし、輻輳制御装置の少なくとも１つの構成要素が、通信装置（コアルータ１４またはエッジルータ１６）に内蔵されている図１７または図１８のような構成を分散型とする。
【０１２５】
さらに、輻輳制御装置１の各構成要素は、ＣＰＵが各構成要素の専用装置に記憶されたプログラムを実行することで実現されるようになっていてもよいし、通信装置１２の機能ブロックに記憶されたプログラムを実行することで実現されるようになっていてもよい。
【０１２６】
また、輻輳制御装置１の各構成要素は、プロセスを複数起動するなどして、複数存在することとしてもよい。複数の構成要素それぞれに、担当する通信装置１２を割り当てる。これにより、通信装置１２が多いときでも、複数の構成要素間でのデータ並列処理が実現でき、輻輳を抑制するのに要する時間を短縮化できるとともに、処理相手として通信を行う通信装置数が減るため、装置数に対するスケーラビリティが上がり、管理がしやすい、という利点がある。
【０１２７】
ここで、輻輳制御装置１の各構成要素と、担当する通信装置１２との対応情報は、動的に作成してもよいし、静的に作成することとしてもよい。動的に作成する一例としては、同一機能を有する複数の構成要素のうち、他の構成要素よりも現在の計算負荷が小さい構成要素に、優先的に通信装置１２を割り当てる方式が挙げられる。一方、静的に作成する一例としては、管理者があらかじめ作成しておいた構成要素と通信装置１２との対応情報を格納するデータベースを参照する方式が挙げられる。
【０１２８】
さらに、制御対象ネットワーク１０の形式（回線種別や通信プロトコルなど）は、特定のものに限定されることはない。例えば、制御対象ネットワーク１０は、ＴＤＭ（Time Division Multiplexing）やＷＤＭ（Wavelength Division Multiplexing）などの回線交換ネットワーク、またはＩＰ（Internet Protocol）やイーサネット（登録商標）、ＩＰのパケットにラベルをつけて転送するＭＰＬＳのネットワークとしてもよい。各通信装置同士はそのノードが存在するネットワークレイヤよりも相対的に下位に位置する下位レイヤのパスを設定することで提供される論理パスで接続される。この通信装置１２は、例えば、ＭＰＬＳ網のＭＰＬＳルータでも、パケット網のルータでもよい。
【図面の簡単な説明】
【０１２９】
【図１】本発明の一実施形態に関する制御対象ネットワークを示す構成図である。
【図２】本発明の一実施形態に関する輻輳制御装置を示す構成図である。
【図３】本発明の一実施形態に関する輻輳検知部を示す構成図である。
【図４】本発明の一実施形態に関する悪性フロー特定部を示す構成図である。
【図５】本発明の一実施形態に関する制御順序特定部を示す構成図である。
【図６】本発明の一実施形態に関する輻輳制御処理を示すフローチャートである。
【図７】本発明の一実施形態に関する輻輳に対して順番に行う通信制御処理を示す説明図である。
【図８】本発明の一実施形態に関するタグが付されたパケットを示す構成図である。
【図９】本発明の一実施形態に関する通信装置によるキューイングを示す説明図である。
【図１０】本発明の一実施形態に関するＬＳＰが収容するフローを示す説明図である。
【図１１】本発明の一実施形態に関するＬＳＰ両端におけるフローの通信総量の差分の算出を示す説明図である。
【図１２】本発明の一実施形態に関するＬＳＰ内のフローの評価を示す説明図である。
【図１３】所定量のシェーピング処理を示す説明図である。
【図１４】ポート番号を指定した帯域制御処理を示す説明図である。
【図１５】所定量のシェーピング処理における問題点を示す説明図である。
【図１６】ポート番号を指定した帯域制御処理における問題点を示す説明図である。
【図１７】本発明の一実施形態に関する分散型の輻輳制御装置を示す構成図である。
【図１８】本発明の一実施形態に関する分散型の輻輳制御装置を示す構成図である。
【符号の説明】
【０１３０】
１      輻輳制御装置
１０    制御対象ネットワーク
１２    通信装置
１８    ユーザ端末
２０    輻輳検知部
３０    通過装置特定部
４０    悪性フロー特定部
６０    制御順序特定部
７０    通信制御部
【図１】
2006319746.tif 000006
【図２】
2006319746.tif 000007
【図３】
2006319746.tif 000008
【図４】
2006319746.tif 000009
【図５】
2006319746.tif 000010
【図６】
2006319746.tif 000011
【図７】
2006319746.tif 000012
【図８】
2006319746.tif 000013
【図９】
2006319746.tif 000014
【図１０】
2006319746.tif 000015
【図１１】
2006319746.tif 000016
【図１２】
2006319746.tif 000017
【図１３】
2006319746.tif 000018
【図１４】
2006319746.tif 000019
【図１５】
2006319746.tif 000020
【図１６】
2006319746.tif 000021
【図１７】
2006319746.tif 000022
【図１８】
2006319746.tif 000023