JP2016144144A - 負荷分散システム及び負荷分散方法 - Google Patents

負荷分散システム及び負荷分散方法 Download PDF

Info

Publication number
JP2016144144A
JP2016144144A JP2015020455A JP2015020455A JP2016144144A JP 2016144144 A JP2016144144 A JP 2016144144A JP 2015020455 A JP2015020455 A JP 2015020455A JP 2015020455 A JP2015020455 A JP 2015020455A JP 2016144144 A JP2016144144 A JP 2016144144A
Authority
JP
Japan
Prior art keywords
packet transfer
virtual
tunnel
virtual machine
load
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.)
Pending
Application number
JP2015020455A
Other languages
English (en)
Inventor
浩明 前田
Hiroaki Maeda
浩明 前田
久史 小島
Hisashi Kojima
久史 小島
正夫 相原
Masao Aihara
正夫 相原
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 JP2015020455A priority Critical patent/JP2016144144A/ja
Publication of JP2016144144A publication Critical patent/JP2016144144A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】サーバ輻輳時とネットワーク帯域輻輳時双方に対処して負荷を分散させること。【解決手段】広域ネットワーク11内に存在するパケット転送装置21〜23、データセンタ41,51が備える仮想マシン44,54と仮想パケット転送装置43,53、及びゲートウェイ45,55を有するシステムで、仮想マシンの負荷を監視する負荷監視装置32と、負荷が集中した仮想マシンの検知時に他のデータセンタに仮想マシンを複製し、パケット転送装置21〜23間、及び各仮想マシン44,54が接続された仮想パケット転送装置43,53間にそれぞれGREトンネルを設定し、GREトンネルを介して任意のパケットを任意のトンネルで転送するフローエントリを登録するネットワーク制御装置31とを有し、複数の仮想マシン44,54で負荷を分散して処理する。【選択図】図1

Description

本発明は、サーバ輻輳時とネットワーク帯域輻輳時の双方を考慮した広域ネットワークでの負荷分散システム及び負荷分散方法に関する
輻輳によりネットワークサービスが停止するパターンとしては、アクセスの集中によりサーバリソースが枯渇することに起因するものと、例えばサーバへの帯域占有型DDoS(Distributed Denial of Service attack)攻撃により発生する、大量のトラフィックによりサーバまでの経路におけるネットワーク帯域が枯渇することに起因するものの2つが存在する。
前者の場合は、例えばVMware DRS(Distributed Resource Scheduler)(非特許文献1)、Brocade Application Resource Broker(非特許文献2)等の技術を用いた、仮想サーバの負荷増加に応じてリソースを追加で割り当てる等の制御による対処が検討されている。
後者の場合は、サーバのリソース追加ではサーバまでの経路上のネットワーク帯域の輻輳は解消されないので、同様の方法では対処できない。
また、後者について、広域ネットワークでWebサーバの負荷分散を実現する手法であるDNS(Domain Name System)ラウンドロビン(非特許文献3)が存在する。
このDNSラウンドロビンを用いた手法では、
(1) DNSのキャッシュ等の仕組みにより、DNSの設定を変更してから、ネットワーク全体に設定が浸透するまでに、例えば数時間から数日程度の時間がかかる場合があるため、迅速な対処ができない。
(2) ネットワーク帯域輻輳の原因がサーバへのDDoS攻撃の場合、クライアントをどのサーバにアクセスさせるかをネットワーク側から完全には制御できないため、攻撃者がサーバのIPアドレスを直接指定して攻撃してきた場合には対処できない。
という不具合がある。
http://www.vmware.com/files/jp/pdf/drs_datasheet.pdf(平成27年1月29日確認) http://www.brocadejapan.com/docs/pdf/BR_ARB_Flyer.pdf(平成27年1月29日確認) http://technet.microsoft.com/en−us/library/cc787484%28v=ws.10%29.aspx(平成27年1月29日確認)
ネットワーク帯域の輻輳の場合、従来検討されてきたような仮想マシンを動的にリソース割り当てするだけでは対処できず、ネットワーク帯域の輻輳によるサービス停止に対処するための従来技術であるDNSラウンドロビンを用いた場合でも、前述した2つの課題があり、結局のところ対処することができない。
本発明は前記のような実情に鑑みてされたもので、その目的とするところは、サーバ輻輳時とネットワーク帯域輻輳時の双方に対処することが可能な負荷分散システム及び負荷分散方法を提供することにある。
本発明の一態様は、広域ネットワーク内に存在する任意のパケット転送装置、任意のデータセンタが備える仮想マシンと仮想パケット転送装置、及びゲートウェイを有するシステムにおいて、前記仮想マシンの負荷を監視する負荷監視装置と、前記負荷監視装置により負荷が集中した仮想マシンの検知時に当該仮想マシンとは異なる他のデータセンタに仮想マシンを複製する複製手段、前記パケット転送装置間、及び前記各仮想マシンが接続された仮想パケット転送装置間にそれぞれトンネリングプロトコルによるトンネルを設定する設定手段、及び前記トンネルを介して任意のパケットを任意のトンネルで転送するフローエントリを登録する登録手段を備えるネットワーク制御装置と、を有し、前記複数の仮想マシンで負荷を分散して処理することを特徴とする。
本発明によれば、サーバ輻輳時とネットワーク帯域輻輳時の双方に対処することが可能となる。
本発明の一実施形態に係るネットワークの構成を示す図。 同実施形態に係るネットワーク制御装置の回路構成を説明するブロック図。 同実施形態に係るパケット転送装置の回路構成を説明するブロック図。 同実施形態に係る物理サーバの回路構成を示すブロック図。 同実施形態に係る仮想パケット転送装置の回路構成を説明するブロック図。 同実施形態に係る攻撃検知に伴って仮想マシンを複製する手順の一例を示すシーケンス図。 同実施形態に係るGREトンネルの設定する手順の一例を示すシーケンス図。 同実施形態に係る初期フローエントリを設定する手順の一例を示すシーケンス図。 同実施形態に係るユーザ端末から仮想マシンへのアクセスがあった際の負荷分散処理の手順の一例を示すシーケンス図。
以下、本発明の一実施形態について図面等を参照して詳細に説明する。
図1は、本実施形態に係るネットワーク構成を示す図である。
ここでは、一例として、ISP(Internet Service Provider)網/キャリア網11内にあるデータセンタ41,51内に、物理サーバ42,52が存在し、その中でWebサービスを提供する仮想マシン44,54が動作している環境を想定する。
第1乃至第3のパケット転送装置21〜23は、インターネット等との境界に設置されたルータ、スイッチ等に相当し、インターネット等を通じて、PC、スマートフォン等の任意のユーザ端末から仮想マシンにアクセスする際に、必ずいずれかの装置を通過する。
また、第1のゲートウェイ装置45は、第1のデータセンタ41とISP網/キャリア網11の境界に設置されたルータ、スイッチ等に相当し、第2のゲートウェイ装置55は、第2のデータセンタ51とISP網/キャリア網11の境界に設置されたルータ、スイッチ等に相当する。
ISP網/キャリア網11にネットワーク制御装置31と共に設けられた負荷監視装置32は、パケット転送装置21〜23やゲートウェイ装置45,55、仮想マシン44,54、仮想パケット転送装置43,53等から、例えばCPU負荷、メモリ負荷、通信ポート毎の通信量等の負荷情報を収集して異常検知を行なう装置であり、SIEM(Security Information and Event Management)等に相当する。
例えば、仮想マシンに対して大量のパケットが送信されたことにより、第1のゲートウェイ装置45で処理しきれないデータ量の通信が到達した場合には、負荷監視装置32がネットワーク制御装置31に対して、大量通信の原因となっている仮想マシンのIPアドレス等の関連する機器情報と併せて異常を通知する。
次に図2により前記ネットワーク制御装置31の回路構成を説明する。
ネットワーク制御装置31は、前記第1乃至第3のパケット転送装置21〜23、前記データセンタ41,51内の物理サーバ42,52(仮想パケット転送装置43,53)、負荷監視装置32との通信を行なう通信機能部130を備える。
ネットワーク制御装置31は、前記通信機能部130の他に処理部110、記憶部120を備え、処理部110内のトンネル制御部111、及び負荷分散処理部112により、記憶部120に記憶しているネットワーク(NW)構成情報管理テーブル121、全トンネル情報管理用テーブル122、負荷分散処理適用装置情報テーブル123の内容を用いて輻輳の発生を防ぐべく後述する分散処理を実行させる。
ネットワーク構成情報管理テーブル121は、前記表1に示すように、ネットワーク制御装置31の管理下にある全てのネットワーク装置の情報を格納するためのテーブルであり、各ネットワーク装置のハードウェア情報、ソフトウェア情報、及びネットワーク・トポロジ情報等で構成される。
これらの情報の取得方法は任意だが、例えば、本装置の管理者による手動入力や各ネットワーク装置で構成が変更された際にネットワーク制御装置31への自動通知等が考えられる。
負荷分散処理適用装置情報テーブル123は、この表2に示すように、負荷分散を実施する仮想マシンの情報を格納するためのテーブルであり、仮想マシンを一意に識別可能な識別子、MACアドレス、IPアドレス、及び仮想マシンの接続している仮想パケット転送装置のIPアドレス等の情報で構成される。
全トンネル情報管理用テーブル122は、この表3に示すように、このネットワーク制御装置31の管理下にあるパケット転送装置と仮想パケット転送装置間で設定されたすべてのトンネルの情報を格納するためのテーブルであり、管理下のトンネルを一意に識別可能な識別子、トンネルの始点となる装置のIPアドレス、トンネルの終点となる装置のIPアドレス、(設定する場合は)トンネルの鍵で構成される。
処理部110の負荷分散処理部112は、前記負荷監視装置32から通知される、大量通信の原因となっている仮想マシンのIPアドレス等の情報と、ネットワーク構成情報管理テーブル121に記憶しているテーブル内容とに基づいて負荷分散を実施する仮想マシン44を判断し、前記表2で示した負荷分散処理適用装置情報テーブル123に、仮想マシン44の識別子やIPアドレス、MACアドレス、仮想マシンの接続している仮想パケット転送装置のIPアドレス等の情報を登録する機能を有する。
また、負荷分散処理部112は、任意のパケット転送装置、任意の仮想パケット転送装置からパケットが転送されてきた際に、そのパケットの宛先IPアドレスが前記負荷分散処理適用装置情報テーブル123に記載されているかを確認し、記載されている場合には前記表3の全トンネル情報管理用テーブル122を参照して、当該パケット転送装置、当該仮想パケット転送装置間で設定済みのトンネリングプロトコルであるGRE(Generic Routing Encapsulation)トンネルの中から、パケットの転送に用いるGREトンネルを選択する機能を有する。
ここで、GREトンネルを選択するアルゴリズムは、ラウンドロビン等の任意の負荷分散アルゴリズムが利用可能であり、特定の仮想マシンにアクセスが集中しないように選択する。また、負荷分散処理部112は、選択したGREトンネルを用いて当該パケットを転送するための往路用、及び復路用のフローエントリを生成し、生成したフローエントリをパケット転送装置や仮想パケット転送装置へ通知する機能を有する。
トンネル制御部111は、任意のパケット転送装置と任意の仮想パケット転送装置の間で、GREトンネルを設定するために必要な、トンネルの識別子、トンネルの始点となるパケット転送装置のIPアドレス、トンネルの終点となる仮想パケット転送装置のIPアドレス、(トンネルに設定する場合は)鍵情報等の情報を任意のパケット転送装置と任意の仮想パケット転送装置に通知する機能、及び前記表3で示した全トンネル情報管理用テーブル122に登録する機能を有する。
ここで、トンネルを一意に識別するためのトンネル識別子は、新規トンネル設定時にトンネル制御部111によって生成される。トンネル識別子の生成方法は問わないが、例えば「1」から順に割り振ることが考えられる。なお、本実施形態では、パケット転送装置を始点として仮想パケット転送装置を終点とするトンネルの設定を記載しているが、仮想パケット転送装置を始点としてパケット転送装置を終点とするようなトンネルを設定しても良い。
図3は、パケット転送装置21(22,23)の回路構成を説明するブロック図である。同図でパケット転送装置21は、前記ネットワーク制御装置31、ゲートウェイ装置45,55、他のパケット転送装置22,23、仮想パケット転送装置43,53、PC、スマートフォン等の任意のユーザ端末等と通信する通信機能部230を備える。
パケット転送装置21は、前記通信機能部230の他に処理部210、記憶部220を備え、処理部210内のトンネル設定機能部211、及びフローエントリ情報設定機能部212により、記憶部220に記憶しているフローテーブル221、及びトンネル情報テーブル222の内容を用いてデータパケットの転送処理を実行させる。
フローテーブル221は、この表4に示すように、条件にマッチするパケットの処理方法を定めたフローエントリを格納するためのテーブルであり、例えば、宛先IPアドレスが「10.10.10.10.」にマッチするパケットをネットワーク制御装置31に転送する、といったフローエントリを登録可能である。
トンネル情報テーブル222は、この表5に示すように、このパケット転送装置21(22,23)に設定されたトンネルの情報を格納するためのテーブルであり、トンネル識別子、トンネルの始点IPアドレス、トンネルの終点IPアドレス、及び(設定する場合は)鍵の情報を保持する。
前記通信機能部230は、前記表4に示したフローテーブル221に記載されたフローエントリに基づいて、受信したパケットを処理する。
処理部210のフローエントリ情報設定機能部212は、ネットワーク制御装置31から通知されたフローエントリを前記フローテーブル221に登録する。
トンネル設定機能部211は、ネットワーク制御装置31から通知されたトンネル設定に必要な、トンネルの識別子、トンネルの始点となるパケット転送装置のIPアドレス(自身のIPアドレスに相当)、トンネルの終点となる仮想パケット転送装置のIPアドレス、(登録する場合は)鍵情報等の情報を、前記表5で示したトンネル情報テーブル222に登録する。
またフローエントリ情報設定機能部212は、トンネル情報テーブル222に登録したトンネル情報に基づいて、GREトンネルを設定する。
さらにフローエントリ情報設定機能部212は、GREトンネルを介して送信するパケットを設定に基づいてGREヘッダでカプセル化する他、GREトンネルを介して受信した、カプセル化されたパケットのGREヘッダを取り外す。
図4は、前記第1のデータセンタ41内の第1の物理サーバ42(第2のデータセンタ51内の第2の物理サーバ52)の回路構成を例示するブロック図である。
第1の物理サーバ42は、第1のゲートウェイ装置45、負荷監視装置32、ネットワーク制御装置31等との通信を行なう物理サーバ通信機能部451を備える。この物理サーバ通信機能部451が、仮想マシン管理機能部452と接続され、さらにこの仮想マシン管理機能部452が仮想マシン情報管理テーブル453、及び第1の仮想マシン441、及び第2の仮想マシン442と接続される。
仮想マシン情報管理テーブル453は、この表6に示すように、物理サーバ42にインストールされた仮想マシン情報を格納するためのテーブルであり、仮想マシンを一意に識別可能な識別子、MACアドレス、IPアドレス、接続している仮想パケット転送装置のIPアドレスやポート等の情報で構成される。
前記仮想マシン管理機能部452は、仮想マシン441,442に対して、複製、削除、仮想スイッチの論理ポートとの接続等の各種制御を行なう他、仮想マシンの複製等を行なった際に、前記仮想マシン情報管理テーブル453の情報を更新する。
図5は、仮想パケット転送装置43(,53)の回路構成を例示するブロック図である。同図で仮想パケット転送装置43は、論理ポートである通信機能部530を介して、各仮想マシン441,442と接続され、また前記物理サーバ通信機能部451を介して、外部のネットワーク装置と通信可能である。
仮想パケット転送装置43は、前記通信機能部530の他に処理部510、記憶部520を備え、処理部510内のトンネル設定機能部511、及びフローエントリ情報設定機能部512により、記憶部520に記憶しているフローテーブル521、及びトンネル情報テーブル522の内容を用いてデータパケットの転送処理を実行させる。
仮想パケット転送装置43は、物理サーバ通信機能部451で受信したパケットをフローテーブル521の内容に従って、任意の仮想マシンに転送する機能を有する。例えば、「10.10.10.10」宛のパケットを受信した場合、IPアドレスが「10.10.10.10」の仮想マシンが接続する論理ポートに対してパケットを転送するフローエントリを設定しておくことで、仮想マシンにパケットを届けることが可能となる。その他の機能については、前記図3に示したパケット転送装置21(〜23)と同様である。
次に前記実施形態の動作について説明する。
図6は、攻撃検知に伴って仮想マシンを複製する場合の、主としてパケット転送装置21、ネットワーク制御装置31と第1の物理サーバ42、第2の物理サーバ52等で実施される手順の一例を示すシーケンス図である。
その当初に負荷監視装置32は、ゲートウェイ装置45,55や仮想マシン44での負荷が増加するのを検知する(ステップS101)。
負荷監視装置32は、ネットワーク制御装置31に対して負荷増加の検知を通知する(ステップS102)。この際に負荷監視装置32は、アクセスの集中している仮想マシン44のIPアドレスを併せてネットワーク制御装置31に通知する。
通知を受けたネットワーク制御装置31は、通知されたIPアドレスと前記表1で示したネットワーク構成情報管理テーブル121の情報から、仮想マシンの構成情報を取得する(ステップS103)。
ネットワーク制御装置31の負荷分散処理部112は、前記表2で示した負荷分散処理適用装置情報テーブル123に、取得した仮想マシンの構成情報を格納する(ステップS104)。
ネットワーク制御装置31は、取得した仮想マシンの構成情報に基づき、任意のデータセンタの任意の物理サーバ、例えば第2のデータセンタ51の仮想マシン管理機能部452に対して、仮想マシンの複製を要求する(ステップS105)。
ここで仮想マシンを複製するデータセンタや物理サーバの選択方法は任意であり、例えば、複製元の仮想マシンの存在するデータセンタから地理的に離れたデータセンタを選択し、非常用に確保した物理サーバ内に仮想マシンを複製する等が考えられる。
ネットワーク制御装置31から選択され、要求を受けた第2の物理サーバ52の仮想マシン管理機能部452は、要求された仮想マシンを複製し、前記表6に示した仮想マシン情報管理テーブル453に、複製した仮想マシンの識別子、MACアドレス、IPアドレス、接続している仮想パケット転送機能のIPアドレス等の対応情報を格納する(ステップS106)。
この際、複製先の仮想マシンのIPアドレスは複製元の仮想マシンのIPアドレスと同じものを設定する。
仮想マシンの複製方法は任意であり、例えば、複製元の仮想マシンのディスクイメージ、構成情報をデータとして保管しておき、そのデータを任意の物理サーバでコピーして実行する等が考えられる。
続いて同仮想マシン管理機能部452は、ネットワーク制御装置31に対して、仮想マシンの複製完了の応答を送信する(ステップS107)。この際、仮想マシン管理機能部452は複製した仮想マシンの構成情報をネットワーク制御装置31に通知する。
これを受けたネットワーク制御装置31は、複製した仮想マシンの構成情報を前記表1で示すネットワーク構成情報管理テーブル121に格納する(ステップS108)。
なお、仮想マシンを複製する台数は任意であり、本システムの運用者による手動設定や前記図6乃至後述する図9までの一連の負荷分散処理実施後に、あらためてゲートウェイ装置45,55や複製した仮想マシン54の負荷を測定し、所望の負荷未満になるまで複製の仮想マシンを順次作成する処理を繰り返す等が考えられる。
図7は、続いて例えば第1パケット転送装置21と第1の仮想パケット転送装置43,53、及び第2の仮想パケット転送装置53間で実行される、GREトンネルの設定の実施手順の一例を示すシーケンス図である。
その処理当初、ネットワーク制御装置31のトンネル制御部111は、任意のパケット転送装置、例えば第1のパケット転送装置21に対して、負荷分散を行なう仮想マシン(オリジナル・複製版)の接続されている任意の仮想パケット転送装置、例えば第1の仮想パケット転送装置43との間にGREトンネルを設定するよう要求する(ステップS201)。
この際、トンネル制御部111はトンネルの終点となる任意の仮想パケット転送装置のIPアドレスとGREトンネル識別子を通知する。
例えば、第1のパケット転送装置21と第1の仮想パケット転送装置43の間でGREトンネルを設定したい場合、トンネル制御部111は第1のパケット転送装置21に対してGREトンネル設定要求を送信し、その際に、第1の仮想パケット転送装置43のIPアドレスとGREトンネル識別子(例えば「1」)を送信する。
ネットワーク制御装置31のトンネル制御部111から要求を受けた第1のパケット転送装置21のトンネル設定機能部211は、自身のIPアドレスと通知された仮想パケット転送装置のIPアドレスを用いて、GREトンネルを設定する(ステップS202)。
第1のパケット転送装置21のトンネル設定機能部211は、設定したGREトンネル情報を前記表5で示した自身の記憶部220のトンネル情報テーブル222に格納する(ステップS203)。
格納処理後、第1のパケット転送装置21のトンネル設定機能部211は、ネットワーク制御装置31に対して、GREトンネルの設定完了を通知する(ステップS204)。
これを受けたネットワーク制御装置31のトンネル制御部111は、トンネルの終点となる第1の仮想パケット転送装置43に対して、第1のパケット転送装置21との間にGREトンネルを設定するよう要求する(ステップS205)。この際、ネットワーク制御装置31はトンネルの始点となる第1のパケット転送装置21のIPアドレスとGREトンネル識別子を通知する。
例えば、先ほどと同様、第1のパケット転送装置21と第1の仮想パケット転送装置43の間でGREトンネルを設定したい場合、ネットワーク制御装置31のトンネル制御部111は、仮想パケット転送装置53に対してGREトンネル設定要求を送信し、その際に、第1のパケット転送装置21のIPアドレスとGREトンネル識別子(先ほどと同じ「1」)を送信する。
ネットワーク制御装置31からの要求を受けた第1の仮想パケット転送装置43のトンネル設定機能部511は、自身のIPアドレスと通知された第1のパケット転送装置21のIPアドレスを用いて、GREトンネルを設定する(ステップS206)。
続いて第1の仮想パケット転送装置43のトンネル設定機能部511は、設定したGREトンネル情報を自身の記憶部520に保有する、前記表6に示したトンネル情報テーブル522に格納する(ステップS207)。
第1の仮想パケット転送装置43のトンネル設定機能部511は、ネットワーク制御装置31に対して、GREトンネルの設定完了を通知する(ステップS208)。
これを受けたネットワーク制御装置31のトンネル制御部111は、前記表3で示した記憶部120の全トンネル情報管理用テーブル122に、あらためて通知のあったGREトンネル情報を格納する(ステップS209)。
ネットワーク制御装置31のトンネル制御部111は、前記ステップS201〜S209の処理に処理を負荷分散対象の仮想マシン(オリジナル・複製版)が接続する他の仮想パケット転送装置に対しても実施する。
例えば、前記ステップS201〜S209の処理を第2の仮想パケット転送装置53に対しても適用することで、第1のパケット転送装置21第1の仮想パケット転送装置43間を接続するGREトンネルと、第1のパケット転送装置21と第2の仮想パケット転送装置53間を接続するGREトンネルが設定されることになる(ステップS210)。
前記ステップS201〜S210の処理をネットワーク制御装置31のトンネル制御部111の制御の下に任意の台数のパケット転送装置に対して実施する(ステップS211)。
前記本手順を実施するパケット転送装置の台数や、どのパケット転送装置に実施するかは任意だが、例えば、仮想マシン宛のすべての通信に対して負荷分散を適用したい場合には、ISP網/キャリア網11のエッジ部分に設置されたすべてのパケット転送装置21〜23に対して本手順を実施することが考えられる。
図8は、例えば第1のパケット転送装置21及び第1の仮想パケット転送装置43への初期フローエントリを設定する場合の手順の一例を示すシーケンス図である。
前記GREトンネルの設定完了後、以下に示す手順で、GREトンネルを設定した、例えば第1のパケット転送装置21と第1の仮想パケット転送装置43に対して、初期フローエントリを設定する。
まずネットワーク制御装置31は、任意のパケット転送装置、例えば第1のパケット転送装置21に対して、そのフローテーブル221に未登録の送信元IPアドレス、かつ負荷分散対象の仮想マシンのIPアドレス宛のパケットが到達した場合、ネットワーク制御装置31に送信するというフローエントリの登録を要求する(ステップS301)。
要求を受けた第1のパケット転送装置21のフローエントリ情報設定機能部212は、自身の保有する、前記表4で示したフローテーブル221に通知されたフローエントリを格納する(ステップS302)。
第1のパケット転送装置21のフローエントリ情報設定機能部212は、ネットワーク制御装置31に対して、フローエントリの登録が完了した通知を送信する(ステップS303)。
これを受けたネットワーク制御装置31は、負荷分散対象の仮想マシン(オリジナル・複製版)が接続する任意の仮想パケット転送装置、例えば第1の仮想パケット転送装置43に対して、仮想マシン54のIPアドレス宛のパケットが到達した場合、その仮想マシンの接続しているポートに出力するというフローエントリの登録を要求する(ステップS304)。
要求を受けた第1の仮想パケット転送装置43のフローエントリ情報設定機能部512は、自身の保有する、前記表4で示したフローテーブル521に通知されたフローエントリを格納する(ステップS305)。
第1の仮想パケット転送装置43のフローエントリ情報設定機能部512は、ネットワーク制御装置31に対して、フローエントリの登録が完了した通知を送信する(ステップS306)。
前記ステップS301〜S306の処理を、トンネルを設定したすべてのパケット転送装置と仮想パケット転送装置に対して実施する(ステップS307)。
以上、図6〜図8の手順を実行することにより、負荷分散を実施するために事前に必要な、仮想マシンの複製、GREトンネルの設定、及び初期フローエントリの登録が完了する。
図9は、続いてPCやスマートフォンなどのユーザ端末から仮想マシンへのアクセスがあった際の負荷分散処理の手順の一例を示すシーケンス図である。
ここでは、ユーザ端末から負荷分散対象の仮想マシンへの初回通信が発生した状況を想定して説明するものとする。
その当初、ユーザ端末から仮想マシンのIPアドレス宛の通信が発生し、任意のパケット転送装置、例えば第1のパケット転送装置21にパケットが到達する(ステップS401)。
これを受けた第1のパケット転送装置21は、事前に設定されたフローエントリに従い、ネットワーク制御装置31に対してパケットを転送する(ステップS402)。
ネットワーク制御装置31の負荷分散処理部112は、転送されてきたパケットの宛先IPアドレスが、前記表2で示した負荷分散処理適用装置情報テーブル123に登録されているかを確認する(ステップS403)。ここで登録されていることを確認した場合、以降の処理を実施する。
すなわちネットワーク制御装置31の負荷分散処理部112は、前記表3で示した全トンネル情報管理用テーブル122に基づいて、パケット転送装置の利用可能なGREトンネル情報を取得する(ステップS404)。ここでは、例えば、トンネル識別子「1」とトンネル識別子「2」のトンネルが利用可能とする。
ネットワーク制御装置31の負荷分散処理部112は、負荷分散アルゴリズムに従って、パケットを転送するGREトンネルを選択する(ステップS405)。
ここで前記負荷分散アルゴリズムは、任意のアルゴリズムを利用可能であり、オリジナルの仮想マシンと複製した仮想マシン間で、通信が集中しないように任意のアルゴリズムを用いて振り分ける。
ネットワーク制御装置31の負荷分散処理部112は、受信したパケットを選択したGREトンネルで転送するための往路用及び復路用の各フローエントリを作成する(ステップS406)。
往路用のフローエントリの一例としては、「送信元IPアドレスがユーザ端末のIPアドレス、かつ宛先IPアドレスが負荷分散対象の仮想マシンのIPアドレスの場合、トンネル識別子「1」のGREトンネルで転送する」というものが考えられる。
また、前記に対応する復路用のフローエントリの一例としては、「送信元IPアドレスが負荷分散対象の仮想マシンのIPアドレス、かつ宛先IPアドレスがユーザ端末のIPアドレスの場合、トンネル識別子「1」のGREトンネルで転送する」というものが考えられる。
ネットワーク制御装置31の負荷分散処理部112は、選択されたトンネルの終点となる仮想パケット転送装置、例えば第1の仮想パケット転送装置43に対して、当該パケットに対する復路用のフローエントリの登録要求を送信する(ステップS407)。
要求を受けた第1の仮想パケット転送装置43のフローエントリ情報設定機能部512は、前記表4で示した自身の保有するフローテーブル521に通知されたフローエントリを格納する(ステップS408)。
第1の仮想パケット転送装置43のフローエントリ情報設定機能部512は、ネットワーク制御装置31に対して、フローエントリの登録完了応答を送信する(ステップS409)。
これを受けたネットワーク制御装置31の負荷分散処理部112は、選択されたトンネルの始点となるパケット転送装置(当該パケットを送信してきたパケット転送装置)、例えば第1のパケット転送装置21に対して、当該パケットに対する往路用のフローエントリの登録要求を送信する(ステップS410)。
要求を受けた第1のパケット転送装置21のフローエントリ情報設定機能部212は、前記表4で示した、自身の保有するフローテーブル221に通知されたフローエントリを格納する(ステップS411)。
続けて第1のパケット転送装置21のフローエントリ情報設定機能部212は、ネットワーク制御装置31に対して、フローエントリの登録完了応答を送信する(ステップS412)。
ネットワーク制御装置31の負荷分散処理部112は、第1のパケット転送装置21に対して、前記ステップS402で受信したパケットを返送する(ステップS413)。
パケットの返送を受けた第1のパケット転送装置21は、フローエントリ情報設定機能部212の制御に従い、選択されたGREトンネルでパケットを転送する。この際、オリジナルのパケットをGREヘッダでカプセル化する(ステップS414)。
GREトンネルの終点となっている、例えば第1の仮想パケット転送装置43は、カプセル化されたパケットのGREヘッダを取り外し、フローエントリに従い、オリジナルのパケットを第2の物理サーバ52の仮想マシン54に転送する(ステップS415)。
パケットを受信した仮想マシン54は、パケットを処理する(ステップS416)。
仮想マシン54からユーザ端末のIPアドレス宛の通信が発生し、第1の仮想パケット転送装置43に到達する(ステップS417)。
第1の仮想パケット転送装置43は、フローエントリ情報設定機能部512に従い、往路と同じGREトンネルで第1のパケット転送装置21までパケットを転送する。この際、オリジナルのパケットをGREヘッダでカプセル化する(ステップS418)。
これを受けた第1のパケット転送装置21は、GREトンネル経由で受信した、カプセル化されたパケットのGREヘッダを取り外し、オリジナルのパケットに記載された、ユーザ端末宛のIPアドレス宛にパケットを転送する(ステップS419)。
以上の動作において説明した如く、アクセスの集中している仮想マシンを別のデータセンタに複製し、それらの間で負荷の分散を図ることが可能になり、仮想マシンの負荷が増加した場合に負荷を分散することが可能となると共に、ネットワーク帯域の負荷が増加した場合にも負荷を迅速に分散することが可能になる。
また、DDoS攻撃に関して、仮想マシンのIPアドレスは1つのままで、ネットワーク側で任意の仮想マシンにトラフィックを振り分けることが可能になるため、仮想マシンのIPアドレスを直接指定して実施されるDDoS攻撃にも対処できる。
以上詳述した如く本実施形態によれば、サーバやネットワーク帯域の負荷が増加した際の双方に対処して広域ネットワークでの負荷を確実に分散させることが可能になり、サービスの可用性が向上する。
その他、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成を削除してもよい。さらに、異なる実施形態例に亘る構成要素を適宜組み合わせてもよい。
11…ISP網/キャリア網、
21〜23…パケット転送装置、
31…ネットワーク制御装置、
32…負荷監視装置、
41…第1のデータセンタ、
42…第1物理サーバ、
43…第1の仮想パケット転送装置、
44…仮想マシン、
45…第1のゲートウェイ装置、
51…第2のデータセンタ、
52…第2物理サーバ、
53…第2の仮想パケット転送装置、
54…複製した仮想マシン、
55…第2のゲートウェイ装置、
110…処理部、
111…トンネル制御部、
112…負荷分散処理部、
120…記憶部、
121…ネットワーク(NW)構成情報管理テーブル、
122…全トンネル情報管理用テーブル、
123…負荷分散処理適用装置情報テーブル、
130…通信機能部、
210…処理部、
211…トンネル設定機能部、
212…フローエントリ情報設定機能部、
220…記憶部、
221…フローテーブル、
222…トンネル情報テーブル、
230…通信機能部、
441…第1の仮想マシン、
442…第2の仮想マシン、
451…物理サーバ通信機能部、
452…仮想マシン管理機能部、
453…仮想マシン情報管理テーブル、
510…処理部、
511…トンネル設定機能部、
512…フローエントリ情報設定機能部、
520…記憶部、
521…フローテーブル、
522…トンネル情報テーブル、
530…通信機能部。

Claims (6)

  1. 広域ネットワーク内に存在する任意のパケット転送装置、任意のデータセンタが備える仮想マシンと仮想パケット転送装置、及びゲートウェイを有するシステムにおいて、
    前記仮想マシンの負荷を監視する負荷監視装置と、
    前記負荷監視装置により負荷が集中した仮想マシンの検知時に当該仮想マシンとは異なる他のデータセンタに仮想マシンを複製する複製手段、前記パケット転送装置間、及び前記各仮想マシンが接続された仮想パケット転送装置間にそれぞれトンネリングプロトコルによるトンネルを設定する設定手段、及び前記トンネルを介して任意のパケットを任意のトンネルで転送するフローエントリを登録する登録手段を備えるネットワーク制御装置と、
    を有し、前記複数の仮想マシンで負荷を分散して処理することを特徴とする負荷分散システム。
  2. 前記ネットワーク制御装置は、前記任意のパケット転送装置、及び前記任意の仮想パケット転送装置との間で、前記トンネルの識別子を生成し、トンネルの端点となる任意のパケット転送装置のIPアドレス、及びトンネルの端点となる任意の仮想パケット転送装置のIPアドレスを取得し、生成した識別子、及び取得した各IPアドレスを通信することを特徴とする請求項1記載の負荷分散システム。
  3. 前記ネットワーク制御装置は、前記複数の仮想マシン間での負荷が略均等化するように前記任意のパケットを転送するトンネルを選択可能に設定することを特徴とする請求項1記載の負荷分散システム。
  4. 前記ネットワーク制御装置は、前記パケット転送装置及び仮想パケット転送装置から任意のパケットを転送するためにどのトンネルを利用するかの問合せを受付けて応答することを特徴とする請求項1記載の負荷分散システム。
  5. 前記ネットワーク制御装置は、前記複数の仮想マシンに対して同一のIPアドレスを設定して任意の仮想マシンにトラフィックを振り分けることを特徴とする請求項1記載の負荷分散システム。
  6. 広域ネットワーク内に存在する任意のパケット転送装置、任意のデータセンタが備える仮想マシンと仮想パケット転送装置、及びゲートウェイを有するシステムで実行される負荷分散方法において、
    前記仮想マシンの負荷を監視する負荷監視工程と、
    前記負荷監視工程で負荷が集中した仮想マシンの検知時に当該仮想マシンとは異なる他のデータセンタに仮想マシンを複製する複製工程と、
    前記パケット転送装置間、及び前記各仮想マシンが接続された仮想パケット転送装置間にそれぞれトンネリングプロトコルによるトンネルを設定する設定工程と、
    前記トンネルを介して任意のパケットを任意のトンネルで転送するフローエントリを登録する登録工程と
    を有し、前記複数の仮想マシンで負荷を分散して処理することを特徴とする負荷分散方法。
JP2015020455A 2015-02-04 2015-02-04 負荷分散システム及び負荷分散方法 Pending JP2016144144A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015020455A JP2016144144A (ja) 2015-02-04 2015-02-04 負荷分散システム及び負荷分散方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015020455A JP2016144144A (ja) 2015-02-04 2015-02-04 負荷分散システム及び負荷分散方法

Publications (1)

Publication Number Publication Date
JP2016144144A true JP2016144144A (ja) 2016-08-08

Family

ID=56570903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015020455A Pending JP2016144144A (ja) 2015-02-04 2015-02-04 負荷分散システム及び負荷分散方法

Country Status (1)

Country Link
JP (1) JP2016144144A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7410804B2 (ja) 2020-06-11 2024-01-10 日立Astemo株式会社 車両制御システム、車両制御方法及び車両制御装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013129207A1 (ja) * 2012-03-02 2013-09-06 株式会社エヌ・ティ・ティ・ドコモ 移動体通信システム、通信システム、ノード、フロー制御ネットワーク及び通信制御方法
WO2013190688A1 (ja) * 2012-06-21 2013-12-27 富士通株式会社 情報処理システム,情報処理方法,通信装置
JP2014039141A (ja) * 2012-08-15 2014-02-27 Nec Corp アプリケーション通信制御システムおよびアプリケーション通信制御方法
JP2014048900A (ja) * 2012-08-31 2014-03-17 Hitachi Ltd 計算機システム及びパケット転送方法
JP2014158242A (ja) * 2013-02-18 2014-08-28 Nippon Telegr & Teleph Corp <Ntt> キャリア網仮想化システム及び方法
WO2014136864A1 (ja) * 2013-03-07 2014-09-12 日本電気株式会社 パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム
WO2014157512A1 (ja) * 2013-03-29 2014-10-02 日本電気株式会社 仮想マシン提供システム、経路決定装置、経路制御方法及びプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013129207A1 (ja) * 2012-03-02 2013-09-06 株式会社エヌ・ティ・ティ・ドコモ 移動体通信システム、通信システム、ノード、フロー制御ネットワーク及び通信制御方法
WO2013190688A1 (ja) * 2012-06-21 2013-12-27 富士通株式会社 情報処理システム,情報処理方法,通信装置
JP2014039141A (ja) * 2012-08-15 2014-02-27 Nec Corp アプリケーション通信制御システムおよびアプリケーション通信制御方法
JP2014048900A (ja) * 2012-08-31 2014-03-17 Hitachi Ltd 計算機システム及びパケット転送方法
JP2014158242A (ja) * 2013-02-18 2014-08-28 Nippon Telegr & Teleph Corp <Ntt> キャリア網仮想化システム及び方法
WO2014136864A1 (ja) * 2013-03-07 2014-09-12 日本電気株式会社 パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム
WO2014157512A1 (ja) * 2013-03-29 2014-10-02 日本電気株式会社 仮想マシン提供システム、経路決定装置、経路制御方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7410804B2 (ja) 2020-06-11 2024-01-10 日立Astemo株式会社 車両制御システム、車両制御方法及び車両制御装置

Similar Documents

Publication Publication Date Title
US11895154B2 (en) Method and system for virtual machine aware policy management
US11336715B2 (en) Load balancing method, apparatus and system
EP3404878B1 (en) Virtual network apparatus, and related method
US10129152B2 (en) Setting method, server device and service chain system
EP2731313B1 (en) Distributed cluster processing system and message processing method thereof
JP2019134461A (ja) ミドルウェアおよびアプリケーションの実行のための設計されたシステムに対するサービス妨害(dos:denial of service)攻撃を防止するためのシステムおよび方法、ならびに、ミドルウェアおよびアプリケーションの実行のための設計されたシステムにおいてサブネットアドミニストレータ(sa:subnet administrator)アクセスに基づいて信頼性のある接続(rc:reliable connection)をサポートするためのシステムおよび方法
EP2922246B1 (en) Method and data center network for cross-service zone communication
KR102213122B1 (ko) 비즈니스 마이그레이션을 위한 방법 및 장치
EP2939401B1 (en) Method for guaranteeing service continuity in a telecommunication network and system thereof
JP5866083B1 (ja) ソフトウェア定義ネットワークにおける制御方法、制御装置およびプロセッサ
CN112583618B (zh) 为业务提供网络服务的方法、装置和计算设备
WO2018068588A1 (zh) 提供组播业务的方法和软件定义网络控制器
WO2015131757A1 (en) Channel between software defined networking device and controller
WO2020057445A1 (zh) 一种通信***、方法及装置
US10708223B2 (en) Dynamically defining encryption spaces across multiple data centers
JP2016144144A (ja) 負荷分散システム及び負荷分散方法
JP5580766B2 (ja) サーバ装置、パケット伝送システム、パケット伝送方法及びプログラム
JP2016213604A (ja) 通信装置及び管理方法
US20200359273A1 (en) Fast roaming and uniform policy for wireless clients with distributed hashing
CN109417513B (zh) 软件定义网络中动态检测对端的***和方法
Fujikawa et al. Automatic construction of name-bound virtual networks for IoT
JP2015207256A (ja) 分散処理システム、分散データ管理装置および分散データ管理方法
JP6153903B2 (ja) サービスチェイニングシステム、サービスチェイニングポリシ制御装置、及びサービスチェイニング方法
EP3843342A1 (en) Communication method and related device
JP6194568B2 (ja) アプリケーション通信制御システムおよびアプリケーション通信制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171128

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180109