JP6407092B2 - 負荷分散装置、負荷分散方法及びプログラム - Google Patents

負荷分散装置、負荷分散方法及びプログラム Download PDF

Info

Publication number
JP6407092B2
JP6407092B2 JP2015087207A JP2015087207A JP6407092B2 JP 6407092 B2 JP6407092 B2 JP 6407092B2 JP 2015087207 A JP2015087207 A JP 2015087207A JP 2015087207 A JP2015087207 A JP 2015087207A JP 6407092 B2 JP6407092 B2 JP 6407092B2
Authority
JP
Japan
Prior art keywords
route
nodes
ddos attack
traffic
link
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.)
Active
Application number
JP2015087207A
Other languages
English (en)
Other versions
JP2016208243A (ja
Inventor
浩明 前田
浩明 前田
小島 久史
久史 小島
正夫 相原
正夫 相原
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 JP2015087207A priority Critical patent/JP6407092B2/ja
Publication of JP2016208243A publication Critical patent/JP2016208243A/ja
Application granted granted Critical
Publication of JP6407092B2 publication Critical patent/JP6407092B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、負荷分散装置、負荷分散方法及びプログラムに関し、特に、DDoS(Distributed Denial of Service attack)攻撃対策の際の経路の輻輳を回避するための負荷分散装置、負荷分散方法及びプログラムに関する。
ISP(Internet Service Provider)等が接続される広域ネットワークでは、DDoS攻撃対策装置が、ネットワーク内のルータ、スイッチ、サーバ等の通信機器から定期的に収集したトラヒック情報やフロー情報を解析することで、サーバを標的とするDDoS攻撃を検知し、標的となっているサーバ(以後、標的サーバと表記)のトラヒックをDDoS攻撃対策装置に迂回させて検査し、標的サーバからDDoS攻撃のトラヒックを遮断することでDDoS攻撃に対処している(非特許文献1参照)。
一方で、近年、数100Gクラスの大規模なDDoS攻撃が発生しており、DDoS攻撃対策装置へ標的サーバ宛のトラヒックを転送する際の通信の経路が偏る場合、経路が輻輳して、他の通信サービスにも影響を及ぼす恐れがある。このため、複数の経路に適切にトラヒックを分散させながら、標的サーバ宛のトラヒックをDDoS攻撃対策装置まで転送する必要があるが、その実現には、攻撃発生時点のネットワーク全体の利用可能帯域を考慮して、利用する経路や各経路へ収容するトラヒック量を迅速に決定する技術が必要になる。
ルータ、スイッチ、サーバ等の通信機器に接続されるエッジノードを含めて複数のノード間をつなぐケーブルをリンクとし、ネットワークをノードとリンクの集合で構成されるグラフで表現し、リンクの利用可能帯域やネットワークのトポロジ情報、ノード間(例えば、標的サーバ宛のトラヒックが流入するエッジルータとDDoS攻撃対策装置間)のトラヒック需要(例えば、標的サーバ宛のトラヒック量)が与えられた際に、特定リンクに対するトラヒック集中を回避するように、利用する経路と各経路へのトラヒックの振り分け量を決定する問題は、ネットワークフローの割り当て問題としてモデル化でき、線形計画法のアルゴリズムを用いて解くことができる(非特許文献2参照)。具体的には、例えば、次のような手順で経路を逐次生成しながら線形計画問題を解くことで、複数の候補経路の中から最適な経路の組み合わせと各経路へのトラヒック量を算出できる。
1.始点ノードと終点ノードで表される各ノードペア間で1つの経路(ここでは、これをデフォルトルートと呼ぶ)を設定し、与えられたトラヒック需要が収容できるかを、線形計画問題を解くことで判定する(なお、ノードペアは複数存在しうる)。
2.トラヒック需要が収容しきれない場合は、ボトルネックとなるリンクを除外した状態で、各ノードペア間の別の経路を求め、新たな経路とする(例えば、ダイクストラ法により新しい経路を導出可能)。
3.デフォルトルートと新しい経路を入力として与えた線形計画問題を解き、トラヒック需要の収容可否を判定する。
4.以後、トラヒック需要が収容されるまで、2の新しい経路の生成と3の線形計画問題の求解を繰り返す。
一方で、トラヒック需要が与えられるノードペア数をn∈N(Nはネットワークの総ノード数)、mをネットワークの総リンク数とすると、線形計画問題の計算量は、単体法で解く場合、おおよそO(nm)、すなわち、n×mのオーダーになる。また、新しい経路の算出時の計算量は、ダイクストラ法で解く場合、おおよそO(nN2)、すなわち、n×N2のオーダーになる。従って、トラヒック需要が与えられるノードペア数nやネットワークの総ノード数N、ネットワークの総リンク数mが増加するに従い、計算量が増加する。
このため、ネットワークの規模が大きい場合やDDoS攻撃のように攻撃が多数のエッジノードから流入する場合には計算量が増加し、経路探索と各経路への適切なトラヒック量の算出が迅速にできない。また、DDoS攻撃の場合は、時間とともに攻撃量や攻撃の流入地点が変化する可能性があり、それに伴いネットワークの状態も変化するため、頻繁に輻輳回避処理を実行する必要があるが、既存方式では計算量が多くなり、迅速な対応ができない。
水口孝則他,"トラフィック解析システムSAMURAIとサービス展開," NTT技術ジャーナル,2008.7 KDDI, "ネットワーク性能の解析評価技術の実際",P.18-25,信学会ソサイエティ大会 チュートリアル講演 BT-2 , 2006.
大規模なDDoS攻撃に対して、DDoS攻撃対策装置へ標的サーバ宛のトラヒックを転送して対処する従来技術を適用する場合において、転送に用いる経路が偏ることでの輻輳を回避するためには、複数の経路を用いて適切にトラヒックを分散させながら、標的サーバ宛のトラヒックをDDoS攻撃対策装置まで転送できる必要があるが、その実現には、攻撃発生時点のネットワーク全体の利用可能帯域を考慮して、利用する経路や各経路へ収容するトラヒック量を迅速に決定する技術が必要になる。
しかし、経路を逐次生成しながら線形計画法によって解を求める従来方式では、ネットワークの規模(ノード数、リンク数)が大きい場合や、DDoS攻撃での多地点からネットワークにトラヒックが流入する場合には、計算量が増加し、迅速な求解ができない。さらに、DDoS攻撃は、時間とともに攻撃量や攻撃の流入地点が変化する可能性があり、それに伴いネットワークの状態も変化するため、頻繁に輻輳回避処理を実行する必要があるが、従来方式ではネットワークの変化に連動した迅速な輻輳回避ができない。
本発明は、標的サーバに対するDDoS攻撃が発生した場合、攻撃トラヒックをDDoS攻撃対策装置へ転送する際に発生する輻輳を迅速に回避することを目的とする。
本発明の一形態に係る負荷分散装置は、
DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するための負荷分散装置であって、
前記標的サーバに対する前記DDoS攻撃の発生を検知する攻撃検知機能部と、
前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定する経路設定機能部と、
前記経路設定機能部において設定された経路上のリンクの輻輳を検知するネットワーク輻輳検知機能部と、
前記ネットワーク輻輳検知機能部で輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記ネットワーク輻輳検知機能部で輻輳と検知されたリンクを経由しない新しい経路を探索するトポロジ管理機能部と、
を有し、
前記トポロジ管理機能部は、前記抽出された両端のノード間において、既に前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路として利用されているリンクを除き、当該両端のノードに接続されたノードを列挙し、当該両端のノードのそれぞれからホップ数の少ない順にノードを探索し、共通するノードを発見した場合に、当該両端のノードのそれぞれから共通するノードまでの経路を組み合わせて新しい経路を生成することを特徴とする。
また、本発明の一形態に係る負荷分散装置は、
DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するための負荷分散装置であって、
前記標的サーバに対する前記DDoS攻撃の発生を検知する攻撃検知機能部と、
前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定する経路設定機能部と、
前記経路設定機能部において設定された経路上のリンクの輻輳を検知するネットワーク輻輳検知機能部と、
前記ネットワーク輻輳検知機能部で輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記ネットワーク輻輳検知機能部で輻輳と検知されたリンクを経由しない新しい経路を探索するトポロジ管理機能部と、
を有し、
前記トポロジ管理機能部は、元の経路に含まれるリンクの利用可能帯域及び新しい経路に含まれるリンクの利用可能帯域に基づいて、元の経路及び新しい経路のそれぞれへの標的サーバ宛のトラヒックの振り分け量を算出することを特徴とする。
また、本発明の一形態に係る負荷分散装置は、
DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するための負荷分散装置であって、
前記標的サーバに対する前記DDoS攻撃の発生を検知する攻撃検知機能部と、
前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定する経路設定機能部と、
前記経路設定機能部において設定された経路上のリンクの輻輳を検知するネットワーク輻輳検知機能部と、
前記ネットワーク輻輳検知機能部で輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記ネットワーク輻輳検知機能部で輻輳と検知されたリンクを経由しない新しい経路を探索するトポロジ管理機能部と、
を有し、
前記トポロジ管理機能部は、前記ネットワーク輻輳検知機能部で輻輳と検知されたリンクと直接つながる両端のノードと、前記新しい経路に含まれるノードと、前記両端のノード及び前記新しい経路に含まれるノードで囲まれる領域の内側に存在するノードとで、局所的なトポロジを構築し、線形計画法によって、新しい経路を決定し直し、元の経路及び新しい経路のそれぞれへの標的サーバ宛のトラヒックの振り分け量を算出することを特徴とする。
本発明の一形態に係る負荷分散方法は、
DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するための負荷分散装置における負荷分散方法であって、
前記標的サーバに対する前記DDoS攻撃の発生を検知するステップと、
前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定するステップと、
前記設定された経路上のリンクの輻輳を検知するステップと、
前記輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記輻輳と検知されたリンクを経由しない新しい経路を探索するステップと、
を有し、
前記新しい経路は、前記抽出された両端のノード間において、既に前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路として利用されているリンクを除き、当該両端のノードに接続されたノードを列挙し、当該両端のノードのそれぞれからホップ数の少ない順にノードを探索し、共通するノードを発見した場合に、当該両端のノードのそれぞれから共通するノードまでの経路を組み合わせることによって生成されることを特徴とする。
また、本発明の一形態に係る負荷分散方法は、
DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するための負荷分散装置における負荷分散方法であって、
前記標的サーバに対する前記DDoS攻撃の発生を検知するステップと、
前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定するステップと、
前記設定された経路上のリンクの輻輳を検知するステップと、
前記輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記輻輳と検知されたリンクを経由しない新しい経路を探索するステップと、
元の経路に含まれるリンクの利用可能帯域及び新しい経路に含まれるリンクの利用可能帯域に基づいて、元の経路及び新しい経路のそれぞれへの標的サーバ宛のトラヒックの振り分け量を算出するステップと、
を有することを特徴とする。
また、本発明の一形態に係る負荷分散方法は、
DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するための負荷分散装置における負荷分散方法であって、
前記標的サーバに対する前記DDoS攻撃の発生を検知するステップと、
前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定するステップと、
前記設定された経路上のリンクの輻輳を検知するステップと、
前記輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記輻輳と検知されたリンクを経由しない新しい経路を探索するステップと、
前記輻輳と検知されたリンクと直接つながる両端のノードと、前記新しい経路に含まれるノードと、前記両端のノード及び前記新しい経路に含まれるノードで囲まれる領域の内側に存在するノードとで、局所的なトポロジを構築し、線形計画法によって、新しい経路を決定し直し、元の経路及び新しい経路のそれぞれへの標的サーバ宛のトラヒックの振り分け量を算出するステップと、
を有することを特徴とする。
本発明の一形態に係るプログラムは、
DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するために、コンピュータを、
前記標的サーバに対する前記DDoS攻撃の発生を検知する攻撃検知機能手段、
前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定する経路設定機能手段、
前記経路設定機能手段において設定された経路上のリンクの輻輳を検知するネットワーク輻輳検知機能手段、及び
前記ネットワーク輻輳検知機能手段で輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記ネットワーク輻輳検知機能手段で輻輳と検知されたリンクを経由しない新しい経路を探索するトポロジ管理機能手段、
として機能させ
前記トポロジ管理機能手段は、前記抽出された両端のノード間において、既に前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路として利用されているリンクを除き、当該両端のノードに接続されたノードを列挙し、当該両端のノードのそれぞれからホップ数の少ない順にノードを探索し、共通するノードを発見した場合に、当該両端のノードのそれぞれから共通するノードまでの経路を組み合わせて新しい経路を生成することを特徴とする。
また、本発明の一形態に係るプログラムは、
DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するために、コンピュータを、
前記標的サーバに対する前記DDoS攻撃の発生を検知する攻撃検知機能手段、
前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定する経路設定機能手段、
前記経路設定機能手段において設定された経路上のリンクの輻輳を検知するネットワーク輻輳検知機能手段、及び
前記ネットワーク輻輳検知機能手段で輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記ネットワーク輻輳検知機能手段で輻輳と検知されたリンクを経由しない新しい経路を探索するトポロジ管理機能手段、
として機能させ、
前記トポロジ管理機能手段は、元の経路に含まれるリンクの利用可能帯域及び新しい経路に含まれるリンクの利用可能帯域に基づいて、元の経路及び新しい経路のそれぞれへの標的サーバ宛のトラヒックの振り分け量を算出することを特徴とする。
また、本発明の一形態に係るプログラムは、
DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するために、コンピュータを、
前記標的サーバに対する前記DDoS攻撃の発生を検知する攻撃検知機能手段、
前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定する経路設定機能手段、
前記経路設定機能手段において設定された経路上のリンクの輻輳を検知するネットワーク輻輳検知機能手段、及び
前記ネットワーク輻輳検知機能手段で輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記ネットワーク輻輳検知機能手段で輻輳と検知されたリンクを経由しない新しい経路を探索するトポロジ管理機能手段、
として機能させ、
前記トポロジ管理機能手段は、前記ネットワーク輻輳検知機能手段で輻輳と検知されたリンクと直接つながる両端のノードと、前記新しい経路に含まれるノードと、前記両端のノード及び前記新しい経路に含まれるノードで囲まれる領域の内側に存在するノードとで、局所的なトポロジを構築し、線形計画法によって、新しい経路を決定し直し、元の経路及び新しい経路のそれぞれへの標的サーバ宛のトラヒックの振り分け量を算出することを特徴とする。

本発明によれば、標的サーバに対するDDoS攻撃が発生した場合、攻撃トラヒックをDDoS攻撃対策装置へ転送する際に発生する輻輳を迅速に回避することが可能になる。
本発明の一実施形態における負荷分散装置を含む全体構成図 ネットワーク情報収集・攻撃/輻輳検知装置の構成の一例 ネットワーク負荷分散装置の構成の一例 トポロジ情報テーブルの一例 リンク情報テーブルの一例 各ノードのトラヒック情報テーブルの一例(ノードDの場合) 各ノードにおける標的サーバ宛通信用の経路情報テーブルの一例(ノードDの場合) 本発明の一実施形態における負荷分散装置の動作手順例を示すフローチャート
以下、図面を参照して本発明の実施形態について説明する。
本発明の実施形態では、DDoS攻撃が発生し、DDoS攻撃の標的となっている標的サーバへのDDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するための負荷分散装置について説明する。
本発明の実施形態における負荷分散装置では、任意のサーバを標的としたDDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送して処理する場合において、最初に攻撃を検知した際は任意の経路で転送を行う。その後、ネットワーク内の任意のリンクで輻輳が発生した際に(厳密にはリンクが輻輳しそうなことを検知した場合)、そのリンクの近隣ノードのみを抽出して、標的となるサーバ(標的サーバ)宛のトラヒックを分散させるための新しい経路の探索および各経路に収容するトラヒック量の算出を行い、その結果をノードの転送設定に反映する。このように、輻輳と検知されたリンクの近隣ノードのみで新しい経路を探索することで、ネットワークの大きさ(ノード数、リンク数)にほぼ依存することなく、迅速な輻輳回避が可能になる。すなわち、輻輳の予兆が観測されたリンクを回避するための経路を局所的な探索だけで発見可能であるため、迅速な輻輳回避が可能になる。
例えば、輻輳と検知されたリンクを回避するための新しい経路を探索する際には、輻輳と検知されたリンクの両端のノードを基準として、輻輳と検知されたリンクおよび既に輻輳の回避に利用しているリンク以外で接続された各ノードの隣接ノードを1ホップずつ列挙し、共通のノードに到達した際に、共通のノードに至るための前記輻輳と検知されたリンクの両端の各々のノードからの経路を組み合わせることにより、局所的な探索だけで、2ノード間での新しい経路を発見することができる。このように、本発明の実施形態によれば、ネットワーク全体を対象として探索する従来方式と比べて高速な経路探索が可能になる。
<本発明の一実施形態における負荷分散装置の構成>
図1に、本発明の一実施形態における負荷分散装置10を含む全体構成図を示す。
ここでは、一例として、ネットワーク(ISP網等)内にある第2のデータセンタ内のサーバがDDoS攻撃の標的(標的サーバ)となり、第1のデータセンタに存在するDDoS攻撃対策装置に標的サーバ宛のトラヒックを転送して対処することを想定するが、エッジルータ等から標的サーバが存在するデータセンタを経由せずにDDoS攻撃対策装置までDDoS攻撃のトラヒックを転送することも考えられる。また、ルータ、スイッチ、サーバ等の通信機器を繋ぐエッジノードと他のノード間をつなぐケーブルをリンクとし、ネットワークをノードとリンクの集合で構成されるグラフで表現する。
図1では、一例として、後述のネットワーク情報収集機能部111、攻撃検知機能部113、ネットワーク輻輳検知機能部115を1つのネットワーク情報収集・攻撃/輻輳検知装置100として表現し、経路設定機能部211、トポロジ管理機能部213を1つのネットワーク負荷分散装置200として表現し、さらに、ネットワーク情報収集・攻撃/輻輳検知装置100及びネットワーク負荷分散装置200を1つの負荷分散装置10として表現しているが、それぞれの機能の組み合わせおよび実装方法は任意である。
負荷分散装置10は、DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するための装置である。負荷分散装置10は、プロセッサ等のCPU(Central Processing Unit)、RAM(Random Access Memory)やROM(Read Only Memory)等のメモリ装置、ハードディスク等の記憶装置等から構成されたコンピュータでもよい。例えば、負荷分散装置10の機能及び処理は、記憶装置又はメモリ装置に格納されているデータやプログラムをCPUが実行することによって実現される。
図2に、ネットワーク情報収集・攻撃/輻輳検知装置100の構成の一例を示す。ネットワーク情報収集・攻撃/輻輳検知装置100は、処理部110としてのネットワーク情報収集機能部111と、攻撃検知機能部113と、ネットワーク輻輳検知機能部115とを含む。また、ネットワーク情報収集・攻撃/輻輳検知装置100は、記憶部120に格納されるテーブルとしてのリンク情報テーブル123と、各ノードのトラヒック情報テーブル125とを含む。更に、ネットワーク情報収集・攻撃/輻輳検知装置100は、ネットワーク負荷分散装置200、ISP網等と通信するための通信機能部130を含む。
ネットワーク情報収集機能部111は、ネットワーク内に存在するノード(ルータ、スイッチ、サーバ等の通信機器)および攻撃検知機能部113、ネットワーク輻輳検知機能部115、ネットワーク負荷分散装置200の各機能と、通信機能部130を介して通信する機能を有する。
ネットワーク情報収集機能部111は、ネットワーク内の各リンクの利用可能帯域情報を任意のタイミングで収集し、リンク情報テーブル123に格納するとともに、リンク情報テーブル123の情報を、ネットワーク輻輳検知機能部115とネットワーク負荷分散装置200のトポロジ管理機能部213に通知する。また、各ノードにおける、任意のIPアドレス宛のトラヒックの各ポートからの流入量・流出量を任意のタイミングで収集し、各ノードのトラヒック情報テーブル125に格納するとともに、各ノードのトラヒック情報テーブル125の情報を、経路設定機能部211とトポロジ管理機能部213に通知する。
また、ネットワーク情報収集機能部111は、フロー情報(IPアドレス・ポート番号・プロトコル番号・TCPフラグ情報とフロー毎の通信量)等を定期的に収集し、攻撃検知機能部113に通知する。ここで、情報収集とデータの格納は、管理者等が手動で操作を実行する場合や事前設定された時間間隔、攻撃検知時等に自動収集等、任意のタイミングで実施可能である。また、情報の収集自体は、ポートミラーリング等のパケットレベルの収集技術やNetFlow、OpenFlow等のフローレベル等での収集技術等を用いて実現することも可能である。
攻撃検知機能部113は、ネットワーク情報収集機能部111から通知されたフロー情報を解析することで、任意のサーバに対するDDoS攻撃の発生を検知する機能を有する。
また、攻撃検知機能部113は、ネットワーク負荷分散装置200の経路設定機能部211とトポロジ管理機能部213に、標的サーバの情報(IPアドレス等)を通知する。なお、フロー情報に基づくDDoS攻撃の検知は、SAMURAI(非特許文献1参照)等の技術を用いて実現することも可能である。
ネットワーク輻輳検知機能部115は、ネットワーク情報収集機能部111から通知されたリンク情報テーブル123に格納された情報(リンクの最大容量、リンクの利用可能帯域、リンクの輻輳検知のための閾値)に基づき、DDoS攻撃対策装置への経路上のリンクの輻輳を検知する。
また、ネットワーク輻輳検知機能部115は、トポロジ管理機能部213に、輻輳と検知されたリンクのリンク識別子を通知する。
図3に、ネットワーク負荷分散装置200の構成の一例を示す。ネットワーク負荷分散装置200は、処理部210としての経路設定機能部211と、トポロジ管理機能部213とを含む。また、ネットワーク負荷分散装置200は、記憶部220に格納されるテーブルとしてのトポロジ情報テーブル221と、リンク情報テーブル223と、各ノードのトラヒック情報テーブル225と、各ノードにおける標的サーバ宛通信用の経路情報テーブル227とを含む。更に、ネットワーク負荷分散装置200は、ネットワーク情報収集・攻撃/輻輳検知装置100、ISP網等と通信するための通信機能部230を含む。
経路設定機能部211は、攻撃検知機能部113から通知された標的サーバの情報(IPアドレス等)とネットワーク情報収集機能部111から通知された各ノードのトラヒック情報テーブル225の情報に基づき、標的サーバ宛トラヒックの流入元のノード(例えば、エッジルータ)を抽出し、当該ノードに対して、標的サーバ宛のトラヒックをDDoS攻撃対策装置(すなわち、DDoS攻撃対策装置の設置されたデータセンタの入り口ノード宛、または直接DDoS攻撃対策装置)に任意の経路で転送する設定を適用する。
また、経路設定機能部211は、後述で述べるトポロジ管理機能部213から通知された各ノードにおける標的サーバ宛通信用の経路情報テーブル227の情報(標的サーバ宛のトラヒックの転送に用いる経路と各経路への振り分け量)をノードの転送設定に反映し、標的サーバ宛のトラヒックをDDoS攻撃対策装置に転送する。なお、経路設定と経路制御は、MPLS(Multi-Protocol Label Switching)やOpenFlow等の任意の技術を利用可能とする。
トポロジ管理機能部213は、ネットワーク輻輳検知機能部115から通知された輻輳と検知されたリンクのリンク識別子と、自身の保有するトポロジ情報テーブル221に格納された情報に基づき、輻輳と検知されたリンクと直接つながる両端のノード間において、輻輳と検知されたリンクを経由しない新しい経路を探索する。具体的には、輻輳と検知されたリンクのリンク識別子と直接繋がる両端のノードを抽出し、抽出された両端のノード間において、既にDDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路として利用されているリンクを除く。例えば、当該両端のノードのそれぞれについて、輻輳と検知されたリンクと、自身で保有する各ノードにおける標的サーバ宛通信用の経路情報テーブル227に格納された情報から、既に標的サーバ宛通信用の経路として登録されているリンクを除く。リンクを除いた後に、当該両端のノードに接続されたノードを列挙し、両端のノードのそれぞれからホップ数の少ない順にノードを探索し、両ノード間で共通するノードが見つかった場合は探索を終了する。具体的には、両ノード間の1ホップ目のノードで共通するノードがない場合は、2ホップ目のノード、3ホップ目のノード、・・・と列挙していき、共通するノードを発見した時点で探索を終了する。共通するノードを発見した場合に、各ノードから共通するノードまでの経路を組み合わせることで、両ノード間の新しい経路を生成する。
トポロジ管理機能部213は、あるノードの任意のリンクが、既に標的サーバ宛通信用の経路として登録されているかを判断する。具体的には、攻撃検知機能部113から通知された標的サーバの情報(IPアドレス等)および自身の保有するトポロジ情報テーブル221と、自身の保有する各ノードにおける標的サーバ宛通信用の経路情報テーブル227に格納された情報に基づき、標的サーバのIPアドレスの利用経路にそのリンクが含まれているかの判定を行うことで判断する。
トポロジ管理機能部213は、輻輳と検知されたリンクと直接繋がる両端のノードのどちらが始点ノードで、どちらが終点ノードかを判断する。例えば、自身の保有するトポロジ情報テーブル221に含まれるノードの地理情報に基づき、DDoS攻撃対策装置の設置されたデータセンタの入り口ノードに近い方を終点ノード、データセンタの入り口ノードに遠い方を始点ノードと判断することや、輻輳と検知されたリンクと直接つながる両端のノードのポートにおける標的サーバ宛通信の向きをネットワーク情報収集機能部111から通知された各ノードのトラヒック情報テーブル225から抽出することで、輻輳と検知されたリンクに流出させているノードを始点ノード、輻輳と検知されたリンクから流入しているノードを終点ノードと判断することが考えられる。
トポロジ管理機能部213は、ネットワーク情報収集機能部111から通知されたリンク情報テーブル223から、新しく生成された経路に含まれるリンクの帯域情報と元の経路に含まれるリンクの利用可能帯域を抽出する。
トポロジ管理機能部213は、攻撃検知機能部113から通知された標的サーバの情報(IPアドレス等)とネットワーク情報収集機能部111から通知された各ノードのトラヒック情報テーブル225から、始点ノードへの標的サーバ宛通信の流入量を抽出する。
トポロジ管理機能部213は、抽出した情報と始点ノードから終点ノードまでの経路情報(元の経路と新しく生成した経路)を用いて、各経路への標的サーバ宛のトラヒックの振り分け量を算出する。
トポロジ管理機能部213は、決定した経路と振り分け量を自身の保有する各ノードにおける標的サーバ宛通信用の経路情報テーブル227に格納するとともに、標的サーバ宛通信用の経路情報テーブル227の情報を経路設定機能部211に対して通知する。なお、各経路への標的サーバ宛のトラヒックの振り分け量の決定方法は、元の経路に含まれるリンクの利用可能帯域及び新しい経路に含まれるリンクの利用可能帯域に基づいて算出してもよい。例えば、それぞれの経路に含まれるリンクのうち、最も利用可能帯域の小さいリンクを抽出し、各リンクの利用可能帯域をそれぞれの経路の利用可能帯域最小リンクの利用可能帯域の総和で割った割合ずつで標的サーバ宛のトラヒックを分散させることが考えられる。具体的には、利用可能な経路がaとbの2種類で、各経路において最も利用可能帯域の小さいリンクを1、2と仮定すると、経路aは(1の利用可能帯域)÷(1の利用可能帯域+2の利用可能帯域)、経路bは(2の利用可能帯域)÷(1の利用可能帯域+2の利用可能帯域)の割合で標的サーバ宛のトラヒックを分散させる。その他の決定方法としては、抽出した情報と始点ノードから終点ノードまでの経路情報(元の経路と新しく生成した経路)およびトポロジ情報を入力として与えて、ネットワークフローの割り当て問題としてモデル化した線形計画問題を解くことで各経路への振り分け量を決定することが考えられる。この時の制約条件としては、非特許文献2で解説されているように、需要収容制約、フロー保存制約、リンク容量使用率制約等が利用可能である。また、線形計画問題の目的関数は任意であり、例えば、帯域利用効率を重視して、始点ノードに対する標的サーバ宛のトラヒック需要を利用可能な経路に収容した際に、全てのリンクの利用率が最小になるようにトラヒックを分散すること等が考えられる。
なお、輻輳を回避するための経路と標的サーバ宛のトラヒックの振り分け量の決定方法としては、前述したもの以外にも、輻輳と検知されたリンクと接続される両端のノードと新しく算出した経路に含まれるノードおよびこれらのノードで囲まれる領域の内側に存在するノード(自身の保有するトポロジ情報テーブル221に基づき判断)で局所的なトポロジを構築し(以降、この局所的なトポロジに含まれるノードの集合をノード群と呼ぶ)、各ノードにおいて、ノード群のどのノードとも接続されていないリンクから流入する標的サーバ宛のトラヒック量と自身から流入する標的サーバ宛のトラヒック量、および各リンクの最大容量・現在の利用可能帯域、トラヒックの転送に利用可能な経路情報等を入力として与え、局所的なトポロジを対象とした多品種フロー問題を線形計画法の任意のアルゴリズムによって解くことで、輻輳回避のために利用する新しい経路を決定し直し、各経路またはリンクへのトラヒックの振り分け量を決定するという方法も利用可能であり、任意の方法を選択できる。この時の制約条件としては、非特許文献2で解説されているように、需要収容制約、フロー保存制約、リンク容量使用率制約等が利用可能である。また、多品種フロー問題の目的関数は、任意であり、例えば、帯域利用効率を重視して、局所的なトポロジを構成する各ノードに対する標的サーバ宛のトラヒック需要を利用可能な経路に収容した際に、全てのリンクの利用率が最小になるようにトラヒックを分散することや、計算速度を重視して、局所的なトポロジの各ノードに対する標的サーバ宛のトラヒック需要を利用可能な経路に収容した際に、全てのリンクの利用率が閾値以下になるようにする等が考えられる。なお、本処理以前に実行した輻輳回避処理において、ノード群に含まれるノードを対象に輻輳回避処理を実行していた場合は、そのノードにおける以前の輻輳回避処理による設定をリセットしてから本処理を実行しても良い。また、輻輳と検知されたリンクと接続される両端のノードと新しく算出した経路に含まれるノードで囲まれる領域の内側に存在するノードを局所的なトポロジに含めるかは任意に決定して良い。
なお、図2及び図3に示す構成例では、ネットワーク情報収集・攻撃/輻輳検知装置100の記憶部120にリンク情報テーブル123及び各ノードのトラヒック情報テーブル125が存在し、ネットワーク負荷分散装置200の記憶部220にトポロジ情報テーブル221、リンク情報テーブル223、各ノードのトラヒック情報テーブル225及び各ノードにおける標的サーバ通信用の経路情報テーブル227が存在するが、これらのテーブルの実装方法は任意であり、例えば、負荷分散装置10内の記憶部、負荷分散装置10に接続した記憶装置等に設けられてもよい。
次に、図4〜図7を参照して、各種情報を格納するためのテーブルについて説明する。
図4は、ネットワーク全体のトポロジ情報を管理するためのトポロジ情報テーブル221の一例である。本テーブルは、ノードを一意に識別可能なノード識別子、各ノードの全ポートに関する接続先のリンク・接続先のノード、ノードの存在する地理情報等で構成される。なお、これらの情報の取得方法は任意であるが、例えば、ネットワークの管理者が各ノードの情報を事前に登録する等が考えられる。
図5は、ネットワーク内の全てのリンクの情報を管理するためのリンク情報テーブル123及び223の一例である。本テーブルは、リンクを一意に識別可能なリンク識別子、リンクの最大容量、リンクの観測時点の利用可能帯域、リンクの輻輳検知のための閾値等で構成される。リンクの利用可能帯域は、定期的または管理者等の操作に従い、ネットワーク情報収集機能部111により収集されて随時更新される。また、リンクの輻輳検知のための閾値は、図5のように、値ベースで設定することや、利用可能帯域が最大容量の80%を超えた場合等の割合ベース等、任意の形式で設定することができる。閾値の値は、管理者が個々のリンクに値を設定するほか、リンクの最大容量の80%等の割合等で全てのリンクに自動設定することもできる。
図6は、ネットワークに存在する各ノードで任意の宛先IPアドレスのトラヒックがどのポートから流入・流出しているかを管理するための各ノードのトラヒック情報テーブル125及び225の一例である。図6にはノードDの例が示されている。本テーブルは、ノードを一意に識別可能なノード識別子、パケットの宛先IPアドレス、それらのトラヒックがノードのどのポート番号から流入・流出しているかと、その通信量等の情報で構成される。これらの情報は、定期的または管理者等の操作に従い、ネットワーク情報収集機能部111により収集されて随時更新される。
図7は、ネットワーク内に存在するノード毎に標的サーバ宛のトラヒックの転送経路を管理するための各ノードにおける標的サーバ宛通信用の経路情報テーブル227の一例である。図7にはノードDの例が示されている。本テーブルは、ノードを一意に識別可能なノード識別子、標的サーバのIPアドレス、転送に利用する経路、その経路へのトラヒックの分散の割合等で構成されている。なお、各経路へのトラヒックの分散は、図7に示すような割合ベースの他に、10Gbps等の値を登録して、その値を上限として分散する等の設定も可能である。また、利用経路と分散の割合は、トポロジ管理機能部213によって算出されるほか、管理者が事前に手動設定する等も可能である。
<本発明の一実施形態における負荷分散装置における動作手順例>
次に、図8を参照して、本発明の一実施形態における動作手順例を説明する。
ネットワーク情報収集機能部111は、ネットワーク内の各リンクの利用可能帯域情報を定期的に収集し、リンク情報テーブル123に格納するとともに、リンク情報テーブル123の情報をネットワーク輻輳検知機能部115、トポロジ管理機能部213に通知する。また、各ノードにおける、任意のIPアドレス宛のトラヒックの各ポートからの流入量・流出量を任意のタイミングで収集し、各ノードのトラヒック情報テーブル125に格納するとともに、トラヒック情報テーブル125の情報を経路設定機能部211、トポロジ管理機能部213に通知する。さらに、フロー情報(IPアドレス・ポート番号・プロトコル番号・TCPフラグ情報とフロー毎の通信量等)等を定期的に収集し、攻撃検知機能部113に通知する。
以降、ネットワーク情報収集機能部111の情報に基づき、攻撃検知機能部113が攻撃を検知するところからの動作手順を説明する。
ステップS101において、攻撃検知機能部113は、ネットワーク情報収集機能部111から通知されたフロー情報を解析することで、サーバに対するDDoS攻撃の発生を検知し、経路設定機能部211とトポロジ管理機能部213に対して、標的サーバの情報(IPアドレス等)を通知する。
ステップS103において、経路設定機能部211は、攻撃検知機能部113から通知された標的サーバの情報(IPアドレス等)とネットワーク情報収集機能部111から通知された各ノードのトラヒック情報テーブル225に基づき、標的サーバ宛のトラヒックの流入元のノード(エッジルータ等)を抽出し、当該ノードに対して、標的サーバ宛のトラヒックをDDoS攻撃対策装置の設置されたデータセンタの入り口ノード宛に任意の経路で転送する設定を適用する。
ここでは、一例として、標的サーバ宛のトラヒックをDDoS攻撃対策装置の設置されたデータセンタの入り口ノードに対して転送し、入り口ノードとDDoS攻撃対策装置間の転送は、入り口ノードにおける任意の方法(例えば、OpenFlow等)で転送することを想定している。
ステップS105において、ネットワーク輻輳検知機能部115は、ネットワーク情報収集機能部111から通知されたリンク情報テーブル123に格納された情報(リンクの最大容量、リンクの利用可能帯域、リンクの輻輳検知のための閾値)に基づき、リンクの輻輳を検知し、トポロジ管理機能部213に、輻輳と検知されたリンクのリンク識別子を通知する。
なお、複数リンクで輻輳が発生している場合は、例えば、DDoS攻撃対策装置から地理的に遠いまたは近いリンクから処理を行う等、任意のリンクから輻輳回避処理を実施可能である。
ステップS107において、トポロジ管理機能部213は、ネットワーク輻輳検知機能部115から通知された輻輳と検知されたリンクのリンク識別子と自身の保有するトポロジ情報テーブル221に格納された情報に基づき、輻輳と検知されたリンクと直接繋がる両端のノードを抽出し、当該ノードのそれぞれについて、輻輳と検知されたリンクと既に標的サーバ宛通信用の転送経路として登録されているリンク以外で直接接続されたノードを列挙する。両ノード間で、共通するノードが存在する場合は探索を終了し、両ノード間の1ホップ目のノードで共通するノードがない場合は、2ホップ目のノード、3ホップ目のノード、・・・と列挙していき、共通するノードを発見した時点で探索を終了する。各ノードから共通するノードまでの経路を組み合わせることで、両ノード間の新しい経路を生成する。例えば、図1のトポロジにおいて、リンク7が輻輳したと仮定すると、リンク7の両端のノードリンクDとGのそれぞれから輻輳リンクを除いたリンクでつながる1ホップ目のノードを列挙する。ノードDの1ホップ目のノードは、BとFであり、リンクGの1ホップ目のノードは、EとFであり、1ホップ目の探索において、共通するノードFが得られたため、個々で探索を終了し、ノードD→ノードF、ノードG→ノードFという経路を組み合わせることで、ノードD→ノードF→ノードGという新しい経路を生成する。
あるノードの任意のリンクが、既に標的サーバ宛通信用の転送経路として登録されているかは、攻撃検知機能部113から通知された標的サーバの情報(IPアドレス等)および自身の保有するトポロジ情報テーブル221と各ノードにおける標的サーバ宛通信用の経路情報テーブル227に格納された情報に基づき、標的サーバのIPアドレスの利用経路にそのリンクが含まれている場合は、既に登録されていると判断する。
輻輳と検知されたリンクと直接繋がる両端のノードのどちらが始点ノードで、どちらが終点ノードかは、例えば、自身の保有するトポロジ情報テーブル221に含まれるノードの地理情報に基づき、DDoS攻撃対策装置の設置されたデータセンタの入り口ノードに近い方を終点ノード、データセンタの入り口ノードに遠い方を始点ノードとして設定することや、輻輳と検知されたリンクと直接つながる両端のノードのポートにおける標的サーバ宛のトラヒックの向きをネットワーク情報収集機能部111から通知された各ノードのトラヒック情報テーブル225から抽出することで、輻輳と検知されたリンクに流出させているノードを始点ノード、輻輳と検知されたリンクから流入しているノードを終点ノードと設定すること等が考えられる。
ノードの利用可能なリンクが2本未満の場合、探索時間を削減するために、2本以上の利用可能なリンクを持つノードまで1ステップで探索しても良い。
生成した経路の途中に、DDoS攻撃対策装置の設置されたデータセンタの入り口ノードが含まれている場合、終点ノードをデータセンタ入口ノードに置き換えて、始点ノードからデータセンタ入口ノードまでの経路を探索する。
ステップS109において、トポロジ管理機能部213は、ネットワーク情報収集機能部111から通知されたリンク情報テーブル223から、新しく生成された経路に含まれるリンクの帯域情報と元の経路に含まれるリンクの利用可能帯域を抽出する。また、攻撃検知機能部113から通知された標的サーバの情報(IPアドレス等)とネットワーク情報収集機能部111から通知された各ノードのトラヒック情報テーブル225から、始点ノードへの標的サーバ宛のトラヒックの流入量を抽出する。これらの情報と始点ノードから終点ノードまでの経路情報(元の経路と新しく生成した経路)を用いることで、各経路への標的サーバ宛のトラヒックの振り分け量を算出する。
各経路に対して標的サーバ宛のトラヒックを再割り当てするため、振り分け量の計算前に、始点ノードから各経路に含まれるリンクに流出している標的サーバ宛のトラヒックがある場合は、そのリンクの利用可能帯域に標的サーバ宛のトラヒックで利用している分のトラヒック量を加算する。
各経路への標的サーバ宛のトラヒックの振り分け量の決定方法は、例えば、それぞれの経路に含まれるリンクのうち、最も利用可能帯域の小さいリンクを抽出し、各リンクの利用可能帯域をそれぞれの経路の利用可能帯域最小リンクの利用可能帯域の総和で割った割合ずつで標的サーバ宛のトラヒックを分散させることが考えられる。具体的には、利用可能な経路がaとbの2種類で、各経路において最も利用可能帯域の小さいリンクを1、2と仮定すると、経路aは(1の利用可能帯域)÷(1の利用可能帯域+2の利用可能帯域)、経路bは(2の利用可能帯域)÷(1の利用可能帯域+2の利用可能帯域)の割合で標的サーバ宛のトラヒックを分散させる。他の方法としては、抽出した情報と始点ノードから終点ノードまでの経路情報(元の経路と新しく生成した経路)およびトポロジ情報を入力として与えて、ネットワークフローの割り当て問題としてモデル化した線形計画問題を解くことで各経路へのトラヒックの振り分け量を決定することが考えられる。この時の制約条件としては、非特許文献2で解説されているように、需要収容制約、フロー保存制約、リンク容量使用率制約等が利用可能である。また、線形計画問題の目的関数は任意であり、例えば、帯域利用効率を重視して、始点ノードに対する標的サーバ宛通信需要を利用可能な経路に収容した際に、全てのリンクの利用率が最小になるようにトラヒックを分散すること等が考えられる。
新しく生成した経路において、始点ノードへの標的サーバ宛のトラヒックの流入が全て、始点ノード(ノードXとする)と直接リンクでつながる隣接ノード(ノードYとする)から流出したものである場合、トラヒックがノードXとノードY間を往復するのを避けるために、始点ノードを前述のノードYに置き換えて元々のノードXを経路から除外した新しい経路に変換し、ノードYから終点ノードまでの元の経路(ノードYで過去に輻輳回避処理が実行されていない場合、ノードYからノードXまでの経路とノードXから終点ノードまでの元の経路を組み合わせたもの)と新しい経路を経路情報として用いて、ノードYにおける標的サーバ宛のトラヒックをそれらの経路に分散させる量を決定し、ノードXでの処理の代わりに、ノードYで輻輳回避処理を実行しても良い。
ステップS111において、トポロジ管理機能部213は、決定した経路と振り分け量を各ノードにおける標的サーバ宛通信用の経路情報テーブル227に格納するとともに、経路設定機能部211に対して通知する。
ステップS113において、経路設定機能部211は、トポロジ管理機能部213から通知された標的サーバ宛のトラヒックの転送に用いる経路と各経路へのトラヒックの振り分け量をノードの転送設定に反映し、輻輳回避処理を完了する。
経路設定と経路制御は、決定した経路を用いて、標的サーバ宛のトラヒックをDDoS攻撃対策装置の設置されたデータセンタ入口ノードまで転送可能な如何なる技術を利用してもよく、MPLSやOpenFlow等の任意の技術が利用可能である。
なお、ステップS109において、輻輳と検知されたリンクと接続される両端のノードと新しく算出した経路に含まれるノードおよびこれらのノードで囲まれる領域の内側に存在するノード(自身の保有するトポロジ情報テーブル211に基づき判断)で局所的なトポロジを構築し(以降、この局所的なトポロジに含まれるノードの集合をノード群と呼ぶ)、各ノードにおいて、ノード群のどのノードとも接続されていないリンクから流入する標的サーバ宛のトラヒック量と自身から流入する標的サーバ宛のトラヒック量、および各リンクの最大容量・現在の利用可能帯域、トラヒックの転送に利用可能な経路情報等を入力として与え、局所的なトポロジを対象とした多品種フロー問題を線形計画法の任意のアルゴリズムによって解くことで、利用する経路および各経路またはリンクへのトラヒック量を決定しても良い。この時の制約条件としては、非特許文献2で解説されているように、需要収容制約、フロー保存制約、リンク容量使用率制約等が利用可能である。また、多品種フロー問題の目的関数は、任意であり、例えば、帯域利用効率を重視して、局所的なトポロジを構成する各ノードに対する標的サーバ宛のトラヒック需要を利用可能な経路に収容した際に、全てのリンクの利用率が最小になるようにトラヒックを分散することや、計算速度を重視して、局所的なトポロジの各ノードに対する標的サーバ宛のトラヒック需要を利用可能な経路に収容した際に、全てのリンクの利用率が閾値以下になるようにする等が考えられる。なお、本処理以前に実行した輻輳回避処理において、ノード群に含まれるノードを対象に輻輳回避処理を実行していた場合は、そのノードにおける以前の輻輳回避処理による設定をリセットしてから本処理を実行しても良い。また、輻輳と検知されたリンクと接続される両端のノードと新しく算出した経路に含まれるノードで囲まれる領域の内側に存在するノードを局所的なトポロジに含めるかは任意に決定して良い。また、本手順による輻輳回避を行う場合は、必要に応じて、ステップS111及びステップS113において、輻輳と検知されたノード以外においても算出した経路で転送を行うための設定の通知と適用を行う。
<本発明の実施形態の効果>
以上のように、本発明の実施形態によれば、標的サーバに対するDDoS攻撃が発生した場合、攻撃トラヒックをDDoS攻撃対策装置へ転送する際に発生する輻輳を迅速に回避することが可能になる。
具体的には、DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する際にリンクが輻輳しそうなことを検知した場合、輻輳しそうなリンクの両端のノードを基準とした局所的な探索だけで新しい経路を発見することができ、ネットワーク全体を対象として探索する従来方式と比べて高速な経路探索が可能になる。
このように、任意のサーバを標的とした大規模なDDoS攻撃発生時に、トラヒックをDDoS攻撃対策装置へ転送して処理する際の経路の輻輳を迅速に回避可能になることで、経路が輻輳して他の通信サービスに影響を与える可能性を低減できる。
また、ネットワークへDDoS攻撃が流入する地点や攻撃の流量が変動し、ネットワークの輻輳箇所が変化する場合にもリアルタイムで追従して輻輳を回避することが可能になり、経路が輻輳して他の通信サービスに影響を与える可能性を低減できる。
さらに、本発明の実施形態を利用しない場合と比べて、より多くの量のDDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送することができる。
説明の便宜上、本発明の実施形態に係る負荷分散装置は機能的なブロック図を用いて説明しているが、本発明の実施形態に係る負荷分散装置は、ハードウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。例えば、本発明の実施形態は、コンピュータに対して本発明の実施形態に係る負荷分散装置の各機能を実現させるプログラム、コンピュータに対して本発明の実施形態に係る方法の各手順を実行させるプログラム等により、実現されてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。また、本発明の実施形態に係る方法は、実施形態に示す順序と異なる順序で実施されてもよい。
以上、標的サーバに対するDDoS攻撃が発生した場合、攻撃トラヒックをDDoS攻撃対策装置へ転送する際に発生する輻輳を迅速に回避するための手法について説明したが、本発明は、上記の実施形態に限定されることなく、特許請求の範囲内において、種々の変更・応用が可能である。
10 負荷分散装置
100 ネットワーク情報収集・攻撃/輻輳検知装置
110 処理部
111 ネットワーク情報収集機能部
113 攻撃検知機能部
115 ネットワーク輻輳検知機能部
120 記憶部
123 リンク情報テーブル
125 各ノードのトラヒック情報テーブル
130 通信機能部
200 ネットワーク負荷分散装置
210 処理部
211 経路設定機能部
213 トポロジ管理機能部
220 記憶部
221 トポロジ情報テーブル
223 リンク情報テーブル
225 各ノードのトラヒック情報テーブル
227 各ノードにおける標的サーバ宛通信用の経路情報テーブル
230 通信機能部

Claims (11)

  1. DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するための負荷分散装置であって、
    前記標的サーバに対する前記DDoS攻撃の発生を検知する攻撃検知機能部と、
    前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定する経路設定機能部と、
    前記経路設定機能部において設定された経路上のリンクの輻輳を検知するネットワーク輻輳検知機能部と、
    前記ネットワーク輻輳検知機能部で輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記ネットワーク輻輳検知機能部で輻輳と検知されたリンクを経由しない新しい経路を探索するトポロジ管理機能部と、
    を有し、
    前記トポロジ管理機能部は、前記抽出された両端のノード間において、既に前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路として利用されているリンクを除き、当該両端のノードに接続されたノードを列挙し、当該両端のノードのそれぞれからホップ数の少ない順にノードを探索し、共通するノードを発見した場合に、当該両端のノードのそれぞれから共通するノードまでの経路を組み合わせて新しい経路を生成する、負荷分散装置。
  2. DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するための負荷分散装置であって、
    前記標的サーバに対する前記DDoS攻撃の発生を検知する攻撃検知機能部と、
    前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定する経路設定機能部と、
    前記経路設定機能部において設定された経路上のリンクの輻輳を検知するネットワーク輻輳検知機能部と、
    前記ネットワーク輻輳検知機能部で輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記ネットワーク輻輳検知機能部で輻輳と検知されたリンクを経由しない新しい経路を探索するトポロジ管理機能部と、
    を有し、
    前記トポロジ管理機能部は、元の経路に含まれるリンクの利用可能帯域及び新しい経路に含まれるリンクの利用可能帯域に基づいて、元の経路及び新しい経路のそれぞれへの標的サーバ宛のトラヒックの振り分け量を算出する、負荷分散装置。
  3. DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するための負荷分散装置であって、
    前記標的サーバに対する前記DDoS攻撃の発生を検知する攻撃検知機能部と、
    前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定する経路設定機能部と、
    前記経路設定機能部において設定された経路上のリンクの輻輳を検知するネットワーク輻輳検知機能部と、
    前記ネットワーク輻輳検知機能部で輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記ネットワーク輻輳検知機能部で輻輳と検知されたリンクを経由しない新しい経路を探索するトポロジ管理機能部と、
    を有し、
    前記トポロジ管理機能部は、前記ネットワーク輻輳検知機能部で輻輳と検知されたリンクと直接つながる両端のノードと、前記新しい経路に含まれるノードと、前記両端のノード及び前記新しい経路に含まれるノードで囲まれる領域の内側に存在するノードとで、局所的なトポロジを構築し、線形計画法によって、新しい経路を決定し直し、元の経路及び新しい経路のそれぞれへの標的サーバ宛のトラヒックの振り分け量を算出する、負荷分散装置。
  4. 前記トポロジ管理機能部は、前記新しい経路と、前記標的サーバ宛のトラヒックの振り分け量とを経路情報テーブルに格納し、前記経路設定機能部に通知する、請求項又はに記載の負荷分散装置。
  5. 前記経路設定機能部は、前記経路情報テーブルに基づいて、前記標的サーバ宛のトラヒックをDDoS攻撃対策装置に転送する、請求項に記載の負荷分散装置。
  6. DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するための負荷分散装置における負荷分散方法であって、
    前記標的サーバに対する前記DDoS攻撃の発生を検知するステップと、
    前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定するステップと、
    前記設定された経路上のリンクの輻輳を検知するステップと、
    前記輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記輻輳と検知されたリンクを経由しない新しい経路を探索するステップと、
    を有し、
    前記新しい経路は、前記抽出された両端のノード間において、既に前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路として利用されているリンクを除き、当該両端のノードに接続されたノードを列挙し、当該両端のノードのそれぞれからホップ数の少ない順にノードを探索し、共通するノードを発見した場合に、当該両端のノードのそれぞれから共通するノードまでの経路を組み合わせることによって生成される、負荷分散方法。
  7. DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するための負荷分散装置における負荷分散方法であって、
    前記標的サーバに対する前記DDoS攻撃の発生を検知するステップと、
    前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定するステップと、
    前記設定された経路上のリンクの輻輳を検知するステップと、
    前記輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記輻輳と検知されたリンクを経由しない新しい経路を探索するステップと、
    元の経路に含まれるリンクの利用可能帯域及び新しい経路に含まれるリンクの利用可能帯域に基づいて、元の経路及び新しい経路のそれぞれへの標的サーバ宛のトラヒックの振り分け量を算出するステップと、
    を有する負荷分散方法。
  8. DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するための負荷分散装置における負荷分散方法であって、
    前記標的サーバに対する前記DDoS攻撃の発生を検知するステップと、
    前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定するステップと、
    前記設定された経路上のリンクの輻輳を検知するステップと、
    前記輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記輻輳と検知されたリンクを経由しない新しい経路を探索するステップと、
    前記輻輳と検知されたリンクと直接つながる両端のノードと、前記新しい経路に含まれるノードと、前記両端のノード及び前記新しい経路に含まれるノードで囲まれる領域の内側に存在するノードとで、局所的なトポロジを構築し、線形計画法によって、新しい経路を決定し直し、元の経路及び新しい経路のそれぞれへの標的サーバ宛のトラヒックの振り分け量を算出するステップと、
    を有する負荷分散方法。
  9. DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するために、コンピュータを、
    前記標的サーバに対する前記DDoS攻撃の発生を検知する攻撃検知機能手段、
    前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定する経路設定機能手段、
    前記経路設定機能手段において設定された経路上のリンクの輻輳を検知するネットワーク輻輳検知機能手段、及び
    前記ネットワーク輻輳検知機能手段で輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記ネットワーク輻輳検知機能手段で輻輳と検知されたリンクを経由しない新しい経路を探索するトポロジ管理機能手段、
    として機能させ
    前記トポロジ管理機能手段は、前記抽出された両端のノード間において、既に前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路として利用されているリンクを除き、当該両端のノードに接続されたノードを列挙し、当該両端のノードのそれぞれからホップ数の少ない順にノードを探索し、共通するノードを発見した場合に、当該両端のノードのそれぞれから共通するノードまでの経路を組み合わせて新しい経路を生成する、プログラム。
  10. DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するために、コンピュータを、
    前記標的サーバに対する前記DDoS攻撃の発生を検知する攻撃検知機能手段、
    前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定する経路設定機能手段、
    前記経路設定機能手段において設定された経路上のリンクの輻輳を検知するネットワーク輻輳検知機能手段、及び
    前記ネットワーク輻輳検知機能手段で輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記ネットワーク輻輳検知機能手段で輻輳と検知されたリンクを経由しない新しい経路を探索するトポロジ管理機能手段、
    として機能させ、
    前記トポロジ管理機能手段は、元の経路に含まれるリンクの利用可能帯域及び新しい経路に含まれるリンクの利用可能帯域に基づいて、元の経路及び新しい経路のそれぞれへの標的サーバ宛のトラヒックの振り分け量を算出する、プログラム。
  11. DDoS(Distributed Denial of Service)攻撃が発生し、前記DDoS攻撃の標的となっている標的サーバへの前記DDoS攻撃のトラヒックをDDoS攻撃対策装置へ転送する経路の輻輳を回避するために、コンピュータを、
    前記標的サーバに対する前記DDoS攻撃の発生を検知する攻撃検知機能手段、
    前記標的サーバ宛の前記DDoS攻撃のトラヒックをDDoS攻撃対策装置に転送する経路を設定する経路設定機能手段、
    前記経路設定機能手段において設定された経路上のリンクの輻輳を検知するネットワーク輻輳検知機能手段、及び
    前記ネットワーク輻輳検知機能手段で輻輳と検知されたリンクと直接つながる両端のノードを抽出し、当該両端のノード間において、前記ネットワーク輻輳検知機能手段で輻輳と検知されたリンクを経由しない新しい経路を探索するトポロジ管理機能手段、
    として機能させ、
    前記トポロジ管理機能手段は、前記ネットワーク輻輳検知機能手段で輻輳と検知されたリンクと直接つながる両端のノードと、前記新しい経路に含まれるノードと、前記両端のノード及び前記新しい経路に含まれるノードで囲まれる領域の内側に存在するノードとで、局所的なトポロジを構築し、線形計画法によって、新しい経路を決定し直し、元の経路及び新しい経路のそれぞれへの標的サーバ宛のトラヒックの振り分け量を算出する、プログラム。
JP2015087207A 2015-04-22 2015-04-22 負荷分散装置、負荷分散方法及びプログラム Active JP6407092B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015087207A JP6407092B2 (ja) 2015-04-22 2015-04-22 負荷分散装置、負荷分散方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015087207A JP6407092B2 (ja) 2015-04-22 2015-04-22 負荷分散装置、負荷分散方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2016208243A JP2016208243A (ja) 2016-12-08
JP6407092B2 true JP6407092B2 (ja) 2018-10-17

Family

ID=57487883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015087207A Active JP6407092B2 (ja) 2015-04-22 2015-04-22 負荷分散装置、負荷分散方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6407092B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10754866B2 (en) * 2015-04-30 2020-08-25 Hitachi, Ltd. Management device and management method
CN113923164A (zh) * 2021-09-30 2022-01-11 中国电信股份有限公司 链路拥塞检测方法及相关设备
CN114513467B (zh) * 2022-04-18 2022-07-15 苏州浪潮智能科技有限公司 一种数据中心的网络流量负载均衡方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003092593A (ja) * 2001-09-19 2003-03-28 Nec Eng Ltd 輻輳制御を考慮した経路選択制御機能付きノード及びこれを適用したネットワークにおける経路選択制御方式
JP2007129482A (ja) * 2005-11-02 2007-05-24 Nippon Telegr & Teleph Corp <Ntt> ネットワーク攻撃防御方法、ネットワーク攻撃防御システム、中継装置、防御装置、中継装置用プログラムおよび防御装置用プログラム
JP2007325039A (ja) * 2006-06-01 2007-12-13 Nippon Telegr & Teleph Corp <Ntt> 攻撃パケット対処システム、ルータ、トンネル設定装置および攻撃パケット対処方法
JP2009290589A (ja) * 2008-05-29 2009-12-10 Fujitsu Ltd 通信システム、ルータ及び通信経路の変更方法

Also Published As

Publication number Publication date
JP2016208243A (ja) 2016-12-08

Similar Documents

Publication Publication Date Title
JP6165728B2 (ja) スプリットアーキテクチャシステムにおける制御トラフィックの自己修復ルーティングのための方法及び装置
EP2817928B1 (en) Controller placement for fast failover in the split architecture
TWI521924B (zh) 藉由鏈路利用作為回饋至平局決勝機制的多協定標籤交換〈mpls〉技術之自動化的訊務工程
CN108243111B (zh) 确定传输路径的方法和装置
JP5850068B2 (ja) 制御装置、通信システム、通信方法およびプログラム
WO2011155510A1 (ja) 通信システム、制御装置、パケットキャプチャ方法およびプログラム
RU2612599C1 (ru) Устройство управления, система связи, способ управления коммутаторами и программа
Xie et al. Designing a disaster-resilient network with software defined networking
US11843615B2 (en) Attack response point selecting apparatus and attack response point selecting method
JP6407092B2 (ja) 負荷分散装置、負荷分散方法及びプログラム
Park et al. Efficient routing for traffic offloading in software-defined network
Gkounis Cross-domain DoS link-flooding attack detection and mitigation using SDN principles
Al Mtawa et al. Migrating from legacy to software defined networks: A network reliability perspective
CN108075928B (zh) 网络流量通用仿真模型及方法
Kannan et al. Adaptive routing mechanism in SDN to limit congestion
JP6421088B2 (ja) 負荷分散装置、負荷分散システム、負荷分散方法及びプログラム
Vanamoorthy et al. Congestion-free transient plane (CFTP) using bandwidth sharing during link failures in SDN
JP2013187656A (ja) 分散型クラウドインフラのための網制御システム及び経路管理サーバ及び網制御方法及びプログラム
JP5756049B2 (ja) マルチキャスト経路計算方法及び装置
JP7056207B2 (ja) トポロジ決定装置、トポロジ決定方法、トポロジ決定プログラムおよび通信システム
JP4222567B2 (ja) 輻輳制御方法および輻輳制御装置
CN105007234A (zh) 一种用于全局ip调度的负载均衡方法
Zainiar et al. Robustness metrics for optical networks
WO2020017460A1 (ja) DDoS対処装置、DDoS対処方法、及びプログラム
JP2004248166A (ja) 最適迂回ルート制御システムと方法、およびそのプログラムと記録媒体、ならびに通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180604

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180918

R150 Certificate of patent or registration of utility model

Ref document number: 6407092

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150