JP2016144144A - System and method for load distribution - Google Patents

System and method for load distribution 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
Japanese (ja)
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/en
Publication of JP2016144144A publication Critical patent/JP2016144144A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To distribute a load to cope with both cases of server congestion and network band congestion.SOLUTION: A system includes packet transfer devices 21-23 existent in a wide area network 11, virtual machines 44, 54 and virtual packet transfer devices 43, 53 respectively provided in data centers 41, 51 and gateways 45, 55. The system further includes: a load monitoring device 32 which monitors each load of the virtual machines; and a network control device 31 which, on detecting a virtual machine having a concentrated load, duplicates a virtual machine in another data center, sets GRE tunnels between the packet transfer devices 21-23 and between each virtual packet transfer device 43, 53 to which each virtual machine 44, 54 is connected, respectively, and registers a flow entry to transfer, through the GRE tunnels, an arbitrary packet in an arbitrary tunnel. Thus, the load is distributed and processed in the plurality of virtual machines 44, 54.SELECTED DRAWING: Figure 1

Description

本発明は、サーバ輻輳時とネットワーク帯域輻輳時の双方を考慮した広域ネットワークでの負荷分散システム及び負荷分散方法に関する   The present invention relates to a load distribution system and a load distribution method in a wide area network in consideration of both server congestion and network bandwidth congestion.

輻輳によりネットワークサービスが停止するパターンとしては、アクセスの集中によりサーバリソースが枯渇することに起因するものと、例えばサーバへの帯域占有型DDoS(Distributed Denial of Service attack)攻撃により発生する、大量のトラフィックによりサーバまでの経路におけるネットワーク帯域が枯渇することに起因するものの2つが存在する。   As a pattern in which network service is stopped due to congestion, a large amount of traffic is generated due to the exhaustion of server resources due to concentration of access and, for example, a band-occupied DDoS (Distributed Denial of Service attack) attack on the server. There are two causes due to the depletion of the network bandwidth in the route to the server.

前者の場合は、例えばVMware DRS(Distributed Resource Scheduler)(非特許文献1)、Brocade Application Resource Broker(非特許文献2)等の技術を用いた、仮想サーバの負荷増加に応じてリソースを追加で割り当てる等の制御による対処が検討されている。   In the former case, for example, resources such as VMware DRS (Distributed Resource Scheduler) (Non-patent Document 1), Brocade Application Resource Broker (Non-patent Document 2) are used, and resources are additionally allocated according to an increase in the load on the virtual server. Coping with such control is being studied.

後者の場合は、サーバのリソース追加ではサーバまでの経路上のネットワーク帯域の輻輳は解消されないので、同様の方法では対処できない。   In the latter case, the network bandwidth congestion on the route to the server cannot be eliminated by adding the server resource, and thus cannot be dealt with by the same method.

また、後者について、広域ネットワークでWebサーバの負荷分散を実現する手法であるDNS(Domain Name System)ラウンドロビン(非特許文献3)が存在する。   As for the latter, there is a DNS (Domain Name System) round robin (Non-Patent Document 3), which is a method for realizing load distribution of a Web server in a wide area network.

このDNSラウンドロビンを用いた手法では、
(1) DNSのキャッシュ等の仕組みにより、DNSの設定を変更してから、ネットワーク全体に設定が浸透するまでに、例えば数時間から数日程度の時間がかかる場合があるため、迅速な対処ができない。
(2) ネットワーク帯域輻輳の原因がサーバへのDDoS攻撃の場合、クライアントをどのサーバにアクセスさせるかをネットワーク側から完全には制御できないため、攻撃者がサーバのIPアドレスを直接指定して攻撃してきた場合には対処できない。
という不具合がある。
In the method using this DNS round robin,
(1) Due to the DNS cache mechanism etc., it may take several hours to several days from the time the DNS settings are changed until the settings penetrate the entire network. Can not.
(2) If the cause of network bandwidth congestion is a DDoS attack on the server, it is not possible to completely control which server the client accesses from the network side, so an attacker can attack by specifying the server IP address directly. We cannot cope with it.
There is a problem that.

http://www.vmware.com/files/jp/pdf/drs_datasheet.pdf(平成27年1月29日確認)http: // www. vmware. com / files / jp / pdf / drs_datasheet. pdf (confirmed January 29, 2015) http://www.brocadejapan.com/docs/pdf/BR_ARB_Flyer.pdf(平成27年1月29日確認)http: // www. brocadejapan. com / docs / pdf / BR_ARB_Flyer. pdf (confirmed January 29, 2015) http://technet.microsoft.com/en−us/library/cc787484%28v=ws.10%29.aspx(平成27年1月29日確認)http: // technet. Microsoft. com / en-us / library / cc787484% 28v = ws. 10% 29. aspx (confirmed January 29, 2015)

ネットワーク帯域の輻輳の場合、従来検討されてきたような仮想マシンを動的にリソース割り当てするだけでは対処できず、ネットワーク帯域の輻輳によるサービス停止に対処するための従来技術であるDNSラウンドロビンを用いた場合でも、前述した2つの課題があり、結局のところ対処することができない。   In the case of network bandwidth congestion, it is not possible to cope with the dynamic allocation of virtual machines as previously studied, but DNS round robin, which is a conventional technology for coping with service stoppage due to network bandwidth congestion, is used. Even if there is a problem, there are two problems mentioned above, which cannot be dealt with in the end.

本発明は前記のような実情に鑑みてされたもので、その目的とするところは、サーバ輻輳時とネットワーク帯域輻輳時の双方に対処することが可能な負荷分散システム及び負荷分散方法を提供することにある。   The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a load distribution system and a load distribution method capable of coping with both server congestion and network bandwidth congestion. There is.

本発明の一態様は、広域ネットワーク内に存在する任意のパケット転送装置、任意のデータセンタが備える仮想マシンと仮想パケット転送装置、及びゲートウェイを有するシステムにおいて、前記仮想マシンの負荷を監視する負荷監視装置と、前記負荷監視装置により負荷が集中した仮想マシンの検知時に当該仮想マシンとは異なる他のデータセンタに仮想マシンを複製する複製手段、前記パケット転送装置間、及び前記各仮想マシンが接続された仮想パケット転送装置間にそれぞれトンネリングプロトコルによるトンネルを設定する設定手段、及び前記トンネルを介して任意のパケットを任意のトンネルで転送するフローエントリを登録する登録手段を備えるネットワーク制御装置と、を有し、前記複数の仮想マシンで負荷を分散して処理することを特徴とする。   One aspect of the present invention is a load monitor that monitors a load of a virtual machine in a system including an arbitrary packet transfer device existing in a wide area network, a virtual machine and a virtual packet transfer device included in an arbitrary data center, and a gateway. A replication unit that replicates a virtual machine to another data center that is different from the virtual machine upon detection of a virtual machine on which a load is concentrated by the load monitoring device, the packet transfer device, and the virtual machines are connected A network control device comprising setting means for setting tunnels according to the tunneling protocol between the virtual packet transfer devices, and registration means for registering flow entries for transferring arbitrary packets through the tunnels via the tunnels. And processing by distributing the load among the plurality of virtual machines And wherein the Rukoto.

本発明によれば、サーバ輻輳時とネットワーク帯域輻輳時の双方に対処することが可能となる。   According to the present invention, it is possible to cope with both server congestion and network bandwidth congestion.

本発明の一実施形態に係るネットワークの構成を示す図。The figure which shows the structure of the network which concerns on one Embodiment of this invention. 同実施形態に係るネットワーク制御装置の回路構成を説明するブロック図。The block diagram explaining the circuit structure of the network control apparatus which concerns on the same embodiment. 同実施形態に係るパケット転送装置の回路構成を説明するブロック図。The block diagram explaining the circuit structure of the packet transfer apparatus which concerns on the same embodiment. 同実施形態に係る物理サーバの回路構成を示すブロック図。The block diagram which shows the circuit structure of the physical server which concerns on the same embodiment. 同実施形態に係る仮想パケット転送装置の回路構成を説明するブロック図。FIG. 3 is an exemplary block diagram illustrating a circuit configuration of the virtual packet transfer apparatus according to the embodiment. 同実施形態に係る攻撃検知に伴って仮想マシンを複製する手順の一例を示すシーケンス図。The sequence diagram which shows an example of the procedure which duplicates a virtual machine with the attack detection which concerns on the embodiment. 同実施形態に係るGREトンネルの設定する手順の一例を示すシーケンス図。The sequence diagram which shows an example of the procedure which sets the GRE tunnel which concerns on the embodiment. 同実施形態に係る初期フローエントリを設定する手順の一例を示すシーケンス図。FIG. 5 is a sequence diagram showing an example of a procedure for setting an initial flow entry according to the embodiment. 同実施形態に係るユーザ端末から仮想マシンへのアクセスがあった際の負荷分散処理の手順の一例を示すシーケンス図。FIG. 5 is a sequence diagram showing an example of a load distribution process procedure when there is an access to a virtual machine from a user terminal according to the embodiment.

以下、本発明の一実施形態について図面等を参照して詳細に説明する。
図1は、本実施形態に係るネットワーク構成を示す図である。
ここでは、一例として、ISP(Internet Service Provider)網/キャリア網11内にあるデータセンタ41,51内に、物理サーバ42,52が存在し、その中でWebサービスを提供する仮想マシン44,54が動作している環境を想定する。
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a diagram illustrating a network configuration according to the present embodiment.
Here, as an example, physical servers 42 and 52 exist in data centers 41 and 51 in an ISP (Internet Service Provider) network / carrier network 11, and virtual machines 44 and 54 that provide Web services therein. Assume an environment where is running.

第1乃至第3のパケット転送装置21〜23は、インターネット等との境界に設置されたルータ、スイッチ等に相当し、インターネット等を通じて、PC、スマートフォン等の任意のユーザ端末から仮想マシンにアクセスする際に、必ずいずれかの装置を通過する。   The first to third packet transfer apparatuses 21 to 23 correspond to routers, switches, and the like installed at the boundary with the Internet and the like, and access the virtual machine from an arbitrary user terminal such as a PC or a smartphone through the Internet or the like. Always pass one of the devices.

また、第1のゲートウェイ装置45は、第1のデータセンタ41とISP網/キャリア網11の境界に設置されたルータ、スイッチ等に相当し、第2のゲートウェイ装置55は、第2のデータセンタ51とISP網/キャリア網11の境界に設置されたルータ、スイッチ等に相当する。   The first gateway device 45 corresponds to a router, a switch, or the like installed at the boundary between the first data center 41 and the ISP network / carrier network 11, and the second gateway device 55 is a second data center. This corresponds to a router, a switch, or the like installed at the boundary between 51 and the ISP network / carrier network 11.

ISP網/キャリア網11にネットワーク制御装置31と共に設けられた負荷監視装置32は、パケット転送装置21〜23やゲートウェイ装置45,55、仮想マシン44,54、仮想パケット転送装置43,53等から、例えばCPU負荷、メモリ負荷、通信ポート毎の通信量等の負荷情報を収集して異常検知を行なう装置であり、SIEM(Security Information and Event Management)等に相当する。   The load monitoring device 32 provided together with the network control device 31 in the ISP network / carrier network 11 includes packet transfer devices 21 to 23, gateway devices 45 and 55, virtual machines 44 and 54, virtual packet transfer devices 43 and 53, and the like. For example, a device that collects load information such as a CPU load, a memory load, and a communication amount for each communication port to detect an abnormality, and corresponds to SIEM (Security Information and Event Management) or the like.

例えば、仮想マシンに対して大量のパケットが送信されたことにより、第1のゲートウェイ装置45で処理しきれないデータ量の通信が到達した場合には、負荷監視装置32がネットワーク制御装置31に対して、大量通信の原因となっている仮想マシンのIPアドレス等の関連する機器情報と併せて異常を通知する。   For example, when a large amount of packets are transmitted to the virtual machine and communication of an amount of data that cannot be processed by the first gateway device 45 arrives, the load monitoring device 32 sends to the network control device 31. Thus, an abnormality is notified together with related device information such as the IP address of the virtual machine causing the mass communication.

次に図2により前記ネットワーク制御装置31の回路構成を説明する。
ネットワーク制御装置31は、前記第1乃至第3のパケット転送装置21〜23、前記データセンタ41,51内の物理サーバ42,52(仮想パケット転送装置43,53)、負荷監視装置32との通信を行なう通信機能部130を備える。
Next, the circuit configuration of the network control device 31 will be described with reference to FIG.
The network control device 31 communicates with the first to third packet transfer devices 21 to 23, the physical servers 42 and 52 (virtual packet transfer devices 43 and 53) in the data centers 41 and 51, and the load monitoring device 32. A communication function unit 130 is provided.

ネットワーク制御装置31は、前記通信機能部130の他に処理部110、記憶部120を備え、処理部110内のトンネル制御部111、及び負荷分散処理部112により、記憶部120に記憶しているネットワーク(NW)構成情報管理テーブル121、全トンネル情報管理用テーブル122、負荷分散処理適用装置情報テーブル123の内容を用いて輻輳の発生を防ぐべく後述する分散処理を実行させる。   The network control device 31 includes a processing unit 110 and a storage unit 120 in addition to the communication function unit 130, and is stored in the storage unit 120 by the tunnel control unit 111 and the load distribution processing unit 112 in the processing unit 110. Using the contents of the network (NW) configuration information management table 121, the all-tunnel information management table 122, and the load distribution processing application device information table 123, the distribution processing described later is executed to prevent the occurrence of congestion.

ネットワーク構成情報管理テーブル121は、前記表1に示すように、ネットワーク制御装置31の管理下にある全てのネットワーク装置の情報を格納するためのテーブルであり、各ネットワーク装置のハードウェア情報、ソフトウェア情報、及びネットワーク・トポロジ情報等で構成される。
これらの情報の取得方法は任意だが、例えば、本装置の管理者による手動入力や各ネットワーク装置で構成が変更された際にネットワーク制御装置31への自動通知等が考えられる。
As shown in Table 1, the network configuration information management table 121 is a table for storing information on all network devices under the management of the network control device 31, and includes hardware information and software information of each network device. And network topology information.
The information acquisition method is arbitrary, but for example, manual input by an administrator of the apparatus, automatic notification to the network control apparatus 31 when the configuration is changed in each network apparatus, and the like are conceivable.

負荷分散処理適用装置情報テーブル123は、この表2に示すように、負荷分散を実施する仮想マシンの情報を格納するためのテーブルであり、仮想マシンを一意に識別可能な識別子、MACアドレス、IPアドレス、及び仮想マシンの接続している仮想パケット転送装置のIPアドレス等の情報で構成される。   As shown in Table 2, the load distribution processing application device information table 123 is a table for storing information on a virtual machine that performs load distribution, and an identifier, a MAC address, and an IP that can uniquely identify the virtual machine. It consists of information such as an address and the IP address of a virtual packet transfer apparatus connected to the virtual machine.

全トンネル情報管理用テーブル122は、この表3に示すように、このネットワーク制御装置31の管理下にあるパケット転送装置と仮想パケット転送装置間で設定されたすべてのトンネルの情報を格納するためのテーブルであり、管理下のトンネルを一意に識別可能な識別子、トンネルの始点となる装置のIPアドレス、トンネルの終点となる装置のIPアドレス、(設定する場合は)トンネルの鍵で構成される。   As shown in Table 3, the all-tunnel information management table 122 stores information on all tunnels set up between the packet transfer device and the virtual packet transfer device under the management of the network control device 31. This table includes an identifier that can uniquely identify a managed tunnel, an IP address of a device that is a start point of the tunnel, an IP address of a device that is an end point of the tunnel, and a tunnel key (when set).

処理部110の負荷分散処理部112は、前記負荷監視装置32から通知される、大量通信の原因となっている仮想マシンのIPアドレス等の情報と、ネットワーク構成情報管理テーブル121に記憶しているテーブル内容とに基づいて負荷分散を実施する仮想マシン44を判断し、前記表2で示した負荷分散処理適用装置情報テーブル123に、仮想マシン44の識別子やIPアドレス、MACアドレス、仮想マシンの接続している仮想パケット転送装置のIPアドレス等の情報を登録する機能を有する。   The load distribution processing unit 112 of the processing unit 110 stores information such as the IP address of the virtual machine that causes mass communication and the network configuration information management table 121 notified from the load monitoring device 32. The virtual machine 44 that performs load balancing is determined based on the table contents, and the identifier, IP address, MAC address, and virtual machine connection of the virtual machine 44 are added to the load balancing processing application device information table 123 shown in Table 2 above. It has a function of registering information such as the IP address of the virtual packet transfer device that is being used.

また、負荷分散処理部112は、任意のパケット転送装置、任意の仮想パケット転送装置からパケットが転送されてきた際に、そのパケットの宛先IPアドレスが前記負荷分散処理適用装置情報テーブル123に記載されているかを確認し、記載されている場合には前記表3の全トンネル情報管理用テーブル122を参照して、当該パケット転送装置、当該仮想パケット転送装置間で設定済みのトンネリングプロトコルであるGRE(Generic Routing Encapsulation)トンネルの中から、パケットの転送に用いるGREトンネルを選択する機能を有する。   Further, when a packet is transferred from an arbitrary packet transfer device or an arbitrary virtual packet transfer device, the load distribution processing unit 112 describes the destination IP address of the packet in the load distribution processing application device information table 123. If it is described, the tunnel information management table 122 shown in Table 3 is referred to and the tunneling protocol GRE (GRE () set between the packet transfer device and the virtual packet transfer device is referred to. It has a function of selecting a GRE tunnel to be used for packet transfer from a Generic Routing Encapsulation) tunnel.

ここで、GREトンネルを選択するアルゴリズムは、ラウンドロビン等の任意の負荷分散アルゴリズムが利用可能であり、特定の仮想マシンにアクセスが集中しないように選択する。また、負荷分散処理部112は、選択したGREトンネルを用いて当該パケットを転送するための往路用、及び復路用のフローエントリを生成し、生成したフローエントリをパケット転送装置や仮想パケット転送装置へ通知する機能を有する。   Here, as an algorithm for selecting a GRE tunnel, an arbitrary load balancing algorithm such as round robin can be used, and selection is made so that access is not concentrated on a specific virtual machine. Further, the load distribution processing unit 112 generates forward and backward flow entries for transferring the packet using the selected GRE tunnel, and sends the generated flow entries to the packet transfer device and the virtual packet transfer device. It has a function to notify.

トンネル制御部111は、任意のパケット転送装置と任意の仮想パケット転送装置の間で、GREトンネルを設定するために必要な、トンネルの識別子、トンネルの始点となるパケット転送装置のIPアドレス、トンネルの終点となる仮想パケット転送装置のIPアドレス、(トンネルに設定する場合は)鍵情報等の情報を任意のパケット転送装置と任意の仮想パケット転送装置に通知する機能、及び前記表3で示した全トンネル情報管理用テーブル122に登録する機能を有する。   The tunnel control unit 111 includes a tunnel identifier, an IP address of a packet transfer device that is a start point of the tunnel, and a tunnel information necessary for setting up a GRE tunnel between an arbitrary packet transfer device and an arbitrary virtual packet transfer device. The function of notifying information such as the IP address of the virtual packet transfer device serving as the end point, information (such as key information) to any packet transfer device and any virtual packet transfer device (when set in the tunnel), It has a function of registering in the tunnel information management table 122.

ここで、トンネルを一意に識別するためのトンネル識別子は、新規トンネル設定時にトンネル制御部111によって生成される。トンネル識別子の生成方法は問わないが、例えば「1」から順に割り振ることが考えられる。なお、本実施形態では、パケット転送装置を始点として仮想パケット転送装置を終点とするトンネルの設定を記載しているが、仮想パケット転送装置を始点としてパケット転送装置を終点とするようなトンネルを設定しても良い。   Here, a tunnel identifier for uniquely identifying a tunnel is generated by the tunnel control unit 111 when a new tunnel is set. The generation method of the tunnel identifier is not limited, but for example, it is conceivable that the tunnel identifier is allocated in order from “1”. In this embodiment, a tunnel setting is described in which the packet transfer device is the starting point and the virtual packet transfer device is the end point. However, the virtual packet transfer device is the starting point and the packet transfer device is the end point. You may do it.

図3は、パケット転送装置21(22,23)の回路構成を説明するブロック図である。同図でパケット転送装置21は、前記ネットワーク制御装置31、ゲートウェイ装置45,55、他のパケット転送装置22,23、仮想パケット転送装置43,53、PC、スマートフォン等の任意のユーザ端末等と通信する通信機能部230を備える。   FIG. 3 is a block diagram illustrating a circuit configuration of the packet transfer device 21 (22, 23). In the figure, the packet transfer device 21 communicates with the network control device 31, gateway devices 45 and 55, other packet transfer devices 22 and 23, virtual packet transfer devices 43 and 53, arbitrary user terminals such as a PC and a smartphone. The communication function unit 230 is provided.

パケット転送装置21は、前記通信機能部230の他に処理部210、記憶部220を備え、処理部210内のトンネル設定機能部211、及びフローエントリ情報設定機能部212により、記憶部220に記憶しているフローテーブル221、及びトンネル情報テーブル222の内容を用いてデータパケットの転送処理を実行させる。   The packet transfer apparatus 21 includes a processing unit 210 and a storage unit 220 in addition to the communication function unit 230. The packet transfer device 21 stores the data in the storage unit 220 by the tunnel setting function unit 211 and the flow entry information setting function unit 212 in the processing unit 210. The data packet transfer process is executed using the contents of the flow table 221 and the tunnel information table 222.

フローテーブル221は、この表4に示すように、条件にマッチするパケットの処理方法を定めたフローエントリを格納するためのテーブルであり、例えば、宛先IPアドレスが「10.10.10.10.」にマッチするパケットをネットワーク制御装置31に転送する、といったフローエントリを登録可能である。   As shown in Table 4, the flow table 221 is a table for storing a flow entry that defines a method for processing a packet that matches a condition. For example, the destination IP address is “10.10.10.10. ”Can be registered such that a packet matching“ ”is forwarded to the network control device 31.

トンネル情報テーブル222は、この表5に示すように、このパケット転送装置21(22,23)に設定されたトンネルの情報を格納するためのテーブルであり、トンネル識別子、トンネルの始点IPアドレス、トンネルの終点IPアドレス、及び(設定する場合は)鍵の情報を保持する。   As shown in Table 5, the tunnel information table 222 is a table for storing tunnel information set in the packet transfer device 21 (22, 23), and includes a tunnel identifier, a tunnel start point IP address, a tunnel And the key information (if set).

前記通信機能部230は、前記表4に示したフローテーブル221に記載されたフローエントリに基づいて、受信したパケットを処理する。   The communication function unit 230 processes the received packet based on the flow entry described in the flow table 221 shown in Table 4.

処理部210のフローエントリ情報設定機能部212は、ネットワーク制御装置31から通知されたフローエントリを前記フローテーブル221に登録する。   The flow entry information setting function unit 212 of the processing unit 210 registers the flow entry notified from the network control device 31 in the flow table 221.

トンネル設定機能部211は、ネットワーク制御装置31から通知されたトンネル設定に必要な、トンネルの識別子、トンネルの始点となるパケット転送装置のIPアドレス(自身のIPアドレスに相当)、トンネルの終点となる仮想パケット転送装置のIPアドレス、(登録する場合は)鍵情報等の情報を、前記表5で示したトンネル情報テーブル222に登録する。   The tunnel setting function unit 211 is a tunnel identifier, an IP address of a packet transfer device that is a starting point of the tunnel (corresponding to its own IP address), and an end point of the tunnel, which are necessary for the tunnel setting notified from the network control device 31. Information such as the IP address of the virtual packet transfer device and key information (if registered) is registered in the tunnel information table 222 shown in Table 5 above.

またフローエントリ情報設定機能部212は、トンネル情報テーブル222に登録したトンネル情報に基づいて、GREトンネルを設定する。   The flow entry information setting function unit 212 sets a GRE tunnel based on the tunnel information registered in the tunnel information table 222.

さらにフローエントリ情報設定機能部212は、GREトンネルを介して送信するパケットを設定に基づいてGREヘッダでカプセル化する他、GREトンネルを介して受信した、カプセル化されたパケットのGREヘッダを取り外す。   Further, the flow entry information setting function unit 212 encapsulates a packet to be transmitted through the GRE tunnel with a GRE header based on the setting, and removes the GRE header of the encapsulated packet received through the GRE tunnel.

図4は、前記第1のデータセンタ41内の第1の物理サーバ42(第2のデータセンタ51内の第2の物理サーバ52)の回路構成を例示するブロック図である。
第1の物理サーバ42は、第1のゲートウェイ装置45、負荷監視装置32、ネットワーク制御装置31等との通信を行なう物理サーバ通信機能部451を備える。この物理サーバ通信機能部451が、仮想マシン管理機能部452と接続され、さらにこの仮想マシン管理機能部452が仮想マシン情報管理テーブル453、及び第1の仮想マシン441、及び第2の仮想マシン442と接続される。
FIG. 4 is a block diagram illustrating a circuit configuration of the first physical server 42 in the first data center 41 (second physical server 52 in the second data center 51).
The first physical server 42 includes a physical server communication function unit 451 that performs communication with the first gateway device 45, the load monitoring device 32, the network control device 31, and the like. The physical server communication function unit 451 is connected to the virtual machine management function unit 452, and the virtual machine management function unit 452 further includes the virtual machine information management table 453, the first virtual machine 441, and the second virtual machine 442. Connected.

仮想マシン情報管理テーブル453は、この表6に示すように、物理サーバ42にインストールされた仮想マシン情報を格納するためのテーブルであり、仮想マシンを一意に識別可能な識別子、MACアドレス、IPアドレス、接続している仮想パケット転送装置のIPアドレスやポート等の情報で構成される。   As shown in Table 6, the virtual machine information management table 453 is a table for storing virtual machine information installed in the physical server 42, and an identifier, MAC address, and IP address that can uniquely identify the virtual machine. , And is composed of information such as the IP address and port of the connected virtual packet transfer apparatus.

前記仮想マシン管理機能部452は、仮想マシン441,442に対して、複製、削除、仮想スイッチの論理ポートとの接続等の各種制御を行なう他、仮想マシンの複製等を行なった際に、前記仮想マシン情報管理テーブル453の情報を更新する。   The virtual machine management function unit 452 performs various controls such as duplication, deletion, connection to the logical port of the virtual switch, and the like when the virtual machine is duplicated. Information in the virtual machine information management table 453 is updated.

図5は、仮想パケット転送装置43(,53)の回路構成を例示するブロック図である。同図で仮想パケット転送装置43は、論理ポートである通信機能部530を介して、各仮想マシン441,442と接続され、また前記物理サーバ通信機能部451を介して、外部のネットワーク装置と通信可能である。   FIG. 5 is a block diagram illustrating a circuit configuration of the virtual packet transfer device 43 (53). In the figure, a virtual packet transfer device 43 is connected to each virtual machine 441 and 442 via a communication function unit 530 which is a logical port, and communicates with an external network device via the physical server communication function unit 451. Is possible.

仮想パケット転送装置43は、前記通信機能部530の他に処理部510、記憶部520を備え、処理部510内のトンネル設定機能部511、及びフローエントリ情報設定機能部512により、記憶部520に記憶しているフローテーブル521、及びトンネル情報テーブル522の内容を用いてデータパケットの転送処理を実行させる。   The virtual packet transfer apparatus 43 includes a processing unit 510 and a storage unit 520 in addition to the communication function unit 530. The virtual packet transfer device 43 stores the storage unit 520 in the tunnel setting function unit 511 and the flow entry information setting function unit 512 in the processing unit 510. Data packet transfer processing is executed using the contents of the stored flow table 521 and tunnel information table 522.

仮想パケット転送装置43は、物理サーバ通信機能部451で受信したパケットをフローテーブル521の内容に従って、任意の仮想マシンに転送する機能を有する。例えば、「10.10.10.10」宛のパケットを受信した場合、IPアドレスが「10.10.10.10」の仮想マシンが接続する論理ポートに対してパケットを転送するフローエントリを設定しておくことで、仮想マシンにパケットを届けることが可能となる。その他の機能については、前記図3に示したパケット転送装置21(〜23)と同様である。   The virtual packet transfer device 43 has a function of transferring a packet received by the physical server communication function unit 451 to an arbitrary virtual machine according to the contents of the flow table 521. For example, when a packet addressed to “10.10.10.10” is received, a flow entry is set that forwards the packet to the logical port connected to the virtual machine whose IP address is “10.10.10.10.” This makes it possible to deliver a packet to the virtual machine. Other functions are the same as those of the packet transfer device 21 (˜23) shown in FIG.

次に前記実施形態の動作について説明する。
図6は、攻撃検知に伴って仮想マシンを複製する場合の、主としてパケット転送装置21、ネットワーク制御装置31と第1の物理サーバ42、第2の物理サーバ52等で実施される手順の一例を示すシーケンス図である。
Next, the operation of the embodiment will be described.
FIG. 6 shows an example of a procedure performed mainly by the packet transfer apparatus 21, the network control apparatus 31, the first physical server 42, the second physical server 52, and the like when a virtual machine is replicated along with attack detection. FIG.

その当初に負荷監視装置32は、ゲートウェイ装置45,55や仮想マシン44での負荷が増加するのを検知する(ステップS101)。   Initially, the load monitoring device 32 detects an increase in load on the gateway devices 45 and 55 and the virtual machine 44 (step S101).

負荷監視装置32は、ネットワーク制御装置31に対して負荷増加の検知を通知する(ステップS102)。この際に負荷監視装置32は、アクセスの集中している仮想マシン44のIPアドレスを併せてネットワーク制御装置31に通知する。   The load monitoring device 32 notifies the network control device 31 of an increase in load (step S102). At this time, the load monitoring device 32 notifies the network control device 31 of the IP address of the virtual machine 44 to which access is concentrated.

通知を受けたネットワーク制御装置31は、通知されたIPアドレスと前記表1で示したネットワーク構成情報管理テーブル121の情報から、仮想マシンの構成情報を取得する(ステップS103)。   Upon receiving the notification, the network control device 31 acquires the configuration information of the virtual machine from the notified IP address and the information in the network configuration information management table 121 shown in Table 1 (step S103).

ネットワーク制御装置31の負荷分散処理部112は、前記表2で示した負荷分散処理適用装置情報テーブル123に、取得した仮想マシンの構成情報を格納する(ステップS104)。   The load distribution processing unit 112 of the network control device 31 stores the acquired configuration information of the virtual machine in the load distribution processing application device information table 123 shown in Table 2 (step S104).

ネットワーク制御装置31は、取得した仮想マシンの構成情報に基づき、任意のデータセンタの任意の物理サーバ、例えば第2のデータセンタ51の仮想マシン管理機能部452に対して、仮想マシンの複製を要求する(ステップS105)。   Based on the acquired virtual machine configuration information, the network control device 31 requests the virtual machine replication to any physical server in any data center, for example, the virtual machine management function unit 452 of the second data center 51. (Step S105).

ここで仮想マシンを複製するデータセンタや物理サーバの選択方法は任意であり、例えば、複製元の仮想マシンの存在するデータセンタから地理的に離れたデータセンタを選択し、非常用に確保した物理サーバ内に仮想マシンを複製する等が考えられる。   Here, the method for selecting the data center or physical server for replicating the virtual machine is arbitrary. For example, a data center that is geographically separated from the data center where the virtual machine of the copy source exists is selected, and the physical center secured for emergency use is selected. A virtual machine can be replicated in the server.

ネットワーク制御装置31から選択され、要求を受けた第2の物理サーバ52の仮想マシン管理機能部452は、要求された仮想マシンを複製し、前記表6に示した仮想マシン情報管理テーブル453に、複製した仮想マシンの識別子、MACアドレス、IPアドレス、接続している仮想パケット転送機能のIPアドレス等の対応情報を格納する(ステップS106)。   The virtual machine management function unit 452 of the second physical server 52 selected from the network control device 31 and receiving the request duplicates the requested virtual machine, and stores it in the virtual machine information management table 453 shown in Table 6 above. Correspondence information such as the identifier of the copied virtual machine, the MAC address, the IP address, and the IP address of the connected virtual packet transfer function is stored (step S106).

この際、複製先の仮想マシンのIPアドレスは複製元の仮想マシンのIPアドレスと同じものを設定する。   At this time, the IP address of the replication destination virtual machine is set to be the same as the IP address of the replication source virtual machine.

仮想マシンの複製方法は任意であり、例えば、複製元の仮想マシンのディスクイメージ、構成情報をデータとして保管しておき、そのデータを任意の物理サーバでコピーして実行する等が考えられる。   Any method can be used for replicating the virtual machine. For example, it is possible to store the disk image and configuration information of the source virtual machine as data, and copy and execute the data on an arbitrary physical server.

続いて同仮想マシン管理機能部452は、ネットワーク制御装置31に対して、仮想マシンの複製完了の応答を送信する(ステップS107)。この際、仮想マシン管理機能部452は複製した仮想マシンの構成情報をネットワーク制御装置31に通知する。   Subsequently, the virtual machine management function unit 452 transmits a virtual machine replication completion response to the network control device 31 (step S107). At this time, the virtual machine management function unit 452 notifies the network control device 31 of the configuration information of the copied virtual machine.

これを受けたネットワーク制御装置31は、複製した仮想マシンの構成情報を前記表1で示すネットワーク構成情報管理テーブル121に格納する(ステップS108)。   Receiving this, the network control device 31 stores the configuration information of the replicated virtual machine in the network configuration information management table 121 shown in Table 1 (step S108).

なお、仮想マシンを複製する台数は任意であり、本システムの運用者による手動設定や前記図6乃至後述する図9までの一連の負荷分散処理実施後に、あらためてゲートウェイ装置45,55や複製した仮想マシン54の負荷を測定し、所望の負荷未満になるまで複製の仮想マシンを順次作成する処理を繰り返す等が考えられる。   The number of virtual machines to be replicated is arbitrary, and after manual setting by the operator of this system and a series of load distribution processing from FIG. 6 to FIG. 9 described later, the gateway devices 45 and 55 and the replicated virtual It is conceivable to repeat the process of measuring the load on the machine 54 and sequentially creating duplicate virtual machines until the load is less than the desired load.

図7は、続いて例えば第1パケット転送装置21と第1の仮想パケット転送装置43,53、及び第2の仮想パケット転送装置53間で実行される、GREトンネルの設定の実施手順の一例を示すシーケンス図である。   FIG. 7 shows an example of an implementation procedure for setting a GRE tunnel, which is subsequently executed between the first packet transfer device 21, the first virtual packet transfer devices 43 and 53, and the second virtual packet transfer device 53, for example. FIG.

その処理当初、ネットワーク制御装置31のトンネル制御部111は、任意のパケット転送装置、例えば第1のパケット転送装置21に対して、負荷分散を行なう仮想マシン(オリジナル・複製版)の接続されている任意の仮想パケット転送装置、例えば第1の仮想パケット転送装置43との間にGREトンネルを設定するよう要求する(ステップS201)。   At the beginning of the processing, the tunnel control unit 111 of the network control device 31 is connected to a virtual machine (original / replicated version) that performs load distribution to an arbitrary packet transfer device, for example, the first packet transfer device 21. A request is made to set up a GRE tunnel with an arbitrary virtual packet transfer device, for example, the first virtual packet transfer device 43 (step S201).

この際、トンネル制御部111はトンネルの終点となる任意の仮想パケット転送装置のIPアドレスとGREトンネル識別子を通知する。   At this time, the tunnel control unit 111 notifies the IP address and the GRE tunnel identifier of an arbitrary virtual packet transfer apparatus that is the end point of the tunnel.

例えば、第1のパケット転送装置21と第1の仮想パケット転送装置43の間でGREトンネルを設定したい場合、トンネル制御部111は第1のパケット転送装置21に対してGREトンネル設定要求を送信し、その際に、第1の仮想パケット転送装置43のIPアドレスとGREトンネル識別子(例えば「1」)を送信する。   For example, when a GRE tunnel is to be set between the first packet transfer device 21 and the first virtual packet transfer device 43, the tunnel control unit 111 transmits a GRE tunnel setting request to the first packet transfer device 21. At that time, the IP address of the first virtual packet transfer device 43 and the GRE tunnel identifier (for example, “1”) are transmitted.

ネットワーク制御装置31のトンネル制御部111から要求を受けた第1のパケット転送装置21のトンネル設定機能部211は、自身のIPアドレスと通知された仮想パケット転送装置のIPアドレスを用いて、GREトンネルを設定する(ステップS202)。   The tunnel setting function unit 211 of the first packet transfer device 21 that has received the request from the tunnel control unit 111 of the network control device 31 uses the IP address of the virtual packet transfer device notified of itself and the GRE tunnel. Is set (step S202).

第1のパケット転送装置21のトンネル設定機能部211は、設定したGREトンネル情報を前記表5で示した自身の記憶部220のトンネル情報テーブル222に格納する(ステップS203)。   The tunnel setting function unit 211 of the first packet transfer apparatus 21 stores the set GRE tunnel information in the tunnel information table 222 of its own storage unit 220 shown in Table 5 (step S203).

格納処理後、第1のパケット転送装置21のトンネル設定機能部211は、ネットワーク制御装置31に対して、GREトンネルの設定完了を通知する(ステップS204)。   After the storing process, the tunnel setting function unit 211 of the first packet transfer device 21 notifies the network control device 31 of the completion of setting the GRE tunnel (step S204).

これを受けたネットワーク制御装置31のトンネル制御部111は、トンネルの終点となる第1の仮想パケット転送装置43に対して、第1のパケット転送装置21との間にGREトンネルを設定するよう要求する(ステップS205)。この際、ネットワーク制御装置31はトンネルの始点となる第1のパケット転送装置21のIPアドレスとGREトンネル識別子を通知する。   Upon receiving this request, the tunnel control unit 111 of the network control device 31 requests the first virtual packet transfer device 43 serving as the end point of the tunnel to set up a GRE tunnel with the first packet transfer device 21. (Step S205). At this time, the network control device 31 notifies the IP address and the GRE tunnel identifier of the first packet transfer device 21 that is the starting point of the tunnel.

例えば、先ほどと同様、第1のパケット転送装置21と第1の仮想パケット転送装置43の間でGREトンネルを設定したい場合、ネットワーク制御装置31のトンネル制御部111は、仮想パケット転送装置53に対してGREトンネル設定要求を送信し、その際に、第1のパケット転送装置21のIPアドレスとGREトンネル識別子(先ほどと同じ「1」)を送信する。   For example, as before, when a GRE tunnel is to be set between the first packet transfer device 21 and the first virtual packet transfer device 43, the tunnel control unit 111 of the network control device 31 sends a virtual packet transfer device 53 to the virtual packet transfer device 53. The GRE tunnel setting request is transmitted, and at this time, the IP address of the first packet transfer device 21 and the GRE tunnel identifier (the same “1” as before) are transmitted.

ネットワーク制御装置31からの要求を受けた第1の仮想パケット転送装置43のトンネル設定機能部511は、自身のIPアドレスと通知された第1のパケット転送装置21のIPアドレスを用いて、GREトンネルを設定する(ステップS206)。   The tunnel setting function unit 511 of the first virtual packet transfer device 43 that has received the request from the network control device 31 uses the IP address of the first packet transfer device 21 notified of itself and the GRE tunnel. Is set (step S206).

続いて第1の仮想パケット転送装置43のトンネル設定機能部511は、設定したGREトンネル情報を自身の記憶部520に保有する、前記表6に示したトンネル情報テーブル522に格納する(ステップS207)。   Subsequently, the tunnel setting function unit 511 of the first virtual packet transfer device 43 stores the set GRE tunnel information in its own storage unit 520 in the tunnel information table 522 shown in Table 6 (step S207). .

第1の仮想パケット転送装置43のトンネル設定機能部511は、ネットワーク制御装置31に対して、GREトンネルの設定完了を通知する(ステップS208)。   The tunnel setting function unit 511 of the first virtual packet transfer device 43 notifies the network control device 31 of the completion of setting of the GRE tunnel (step S208).

これを受けたネットワーク制御装置31のトンネル制御部111は、前記表3で示した記憶部120の全トンネル情報管理用テーブル122に、あらためて通知のあったGREトンネル情報を格納する(ステップS209)。   Receiving this, the tunnel control unit 111 of the network control device 31 stores the notified GRE tunnel information in the all tunnel information management table 122 of the storage unit 120 shown in Table 3 (step S209).

ネットワーク制御装置31のトンネル制御部111は、前記ステップS201〜S209の処理に処理を負荷分散対象の仮想マシン(オリジナル・複製版)が接続する他の仮想パケット転送装置に対しても実施する。   The tunnel control unit 111 of the network control device 31 performs the processing of the above steps S201 to S209 also for other virtual packet transfer devices to which the load balancing target virtual machine (original / replicated version) is connected.

例えば、前記ステップS201〜S209の処理を第2の仮想パケット転送装置53に対しても適用することで、第1のパケット転送装置21第1の仮想パケット転送装置43間を接続するGREトンネルと、第1のパケット転送装置21と第2の仮想パケット転送装置53間を接続するGREトンネルが設定されることになる(ステップS210)。   For example, by applying the processing of steps S201 to S209 also to the second virtual packet transfer device 53, the GRE tunnel connecting the first packet transfer device 21 and the first virtual packet transfer device 43; A GRE tunnel connecting the first packet transfer device 21 and the second virtual packet transfer device 53 is set (step S210).

前記ステップS201〜S210の処理をネットワーク制御装置31のトンネル制御部111の制御の下に任意の台数のパケット転送装置に対して実施する(ステップS211)。   The processes in steps S201 to S210 are performed on an arbitrary number of packet transfer apparatuses under the control of the tunnel control unit 111 of the network control apparatus 31 (step S211).

前記本手順を実施するパケット転送装置の台数や、どのパケット転送装置に実施するかは任意だが、例えば、仮想マシン宛のすべての通信に対して負荷分散を適用したい場合には、ISP網/キャリア網11のエッジ部分に設置されたすべてのパケット転送装置21〜23に対して本手順を実施することが考えられる。   The number of packet transfer apparatuses that implement the procedure and the packet transfer apparatus to be executed are arbitrary. For example, when it is desired to apply load balancing to all communications addressed to a virtual machine, an ISP network / carrier It is conceivable to carry out this procedure for all the packet transfer apparatuses 21 to 23 installed at the edge portion of the network 11.

図8は、例えば第1のパケット転送装置21及び第1の仮想パケット転送装置43への初期フローエントリを設定する場合の手順の一例を示すシーケンス図である。   FIG. 8 is a sequence diagram illustrating an example of a procedure for setting an initial flow entry to the first packet transfer device 21 and the first virtual packet transfer device 43, for example.

前記GREトンネルの設定完了後、以下に示す手順で、GREトンネルを設定した、例えば第1のパケット転送装置21と第1の仮想パケット転送装置43に対して、初期フローエントリを設定する。   After the setting of the GRE tunnel is completed, an initial flow entry is set for the first packet transfer device 21 and the first virtual packet transfer device 43, for example, for which the GRE tunnel has been set by the following procedure.

まずネットワーク制御装置31は、任意のパケット転送装置、例えば第1のパケット転送装置21に対して、そのフローテーブル221に未登録の送信元IPアドレス、かつ負荷分散対象の仮想マシンのIPアドレス宛のパケットが到達した場合、ネットワーク制御装置31に送信するというフローエントリの登録を要求する(ステップS301)。   First, the network control device 31 sends an arbitrary packet transfer device, for example, the first packet transfer device 21 to the source IP address not registered in the flow table 221 and to the IP address of the load balancing target virtual machine. When the packet arrives, registration of a flow entry to be transmitted to the network control device 31 is requested (step S301).

要求を受けた第1のパケット転送装置21のフローエントリ情報設定機能部212は、自身の保有する、前記表4で示したフローテーブル221に通知されたフローエントリを格納する(ステップS302)。   Upon receiving the request, the flow entry information setting function unit 212 of the first packet transfer apparatus 21 stores the flow entry notified to the flow table 221 shown in Table 4 held by itself (step S302).

第1のパケット転送装置21のフローエントリ情報設定機能部212は、ネットワーク制御装置31に対して、フローエントリの登録が完了した通知を送信する(ステップS303)。   The flow entry information setting function unit 212 of the first packet transfer device 21 transmits a notification that the registration of the flow entry is completed to the network control device 31 (step S303).

これを受けたネットワーク制御装置31は、負荷分散対象の仮想マシン(オリジナル・複製版)が接続する任意の仮想パケット転送装置、例えば第1の仮想パケット転送装置43に対して、仮想マシン54のIPアドレス宛のパケットが到達した場合、その仮想マシンの接続しているポートに出力するというフローエントリの登録を要求する(ステップS304)。   Upon receiving this, the network control device 31 sends the IP of the virtual machine 54 to any virtual packet transfer device, for example, the first virtual packet transfer device 43, to which the load balancing target virtual machine (original / replicated version) is connected. When a packet addressed to the address arrives, registration of a flow entry is requested to be output to the port to which the virtual machine is connected (step S304).

要求を受けた第1の仮想パケット転送装置43のフローエントリ情報設定機能部512は、自身の保有する、前記表4で示したフローテーブル521に通知されたフローエントリを格納する(ステップS305)。   Upon receiving the request, the flow entry information setting function unit 512 of the first virtual packet transfer apparatus 43 stores the flow entry notified to the flow table 521 shown in Table 4 held by itself (step S305).

第1の仮想パケット転送装置43のフローエントリ情報設定機能部512は、ネットワーク制御装置31に対して、フローエントリの登録が完了した通知を送信する(ステップS306)。   The flow entry information setting function unit 512 of the first virtual packet transfer device 43 transmits a notification that the registration of the flow entry is completed to the network control device 31 (step S306).

前記ステップS301〜S306の処理を、トンネルを設定したすべてのパケット転送装置と仮想パケット転送装置に対して実施する(ステップS307)。   The processes in steps S301 to S306 are performed on all packet transfer apparatuses and virtual packet transfer apparatuses that have set tunnels (step S307).

以上、図6〜図8の手順を実行することにより、負荷分散を実施するために事前に必要な、仮想マシンの複製、GREトンネルの設定、及び初期フローエントリの登録が完了する。   As described above, by executing the procedures of FIGS. 6 to 8, the replication of the virtual machine, the setting of the GRE tunnel, and the registration of the initial flow entry, which are necessary in advance to implement load distribution, are completed.

図9は、続いてPCやスマートフォンなどのユーザ端末から仮想マシンへのアクセスがあった際の負荷分散処理の手順の一例を示すシーケンス図である。
ここでは、ユーザ端末から負荷分散対象の仮想マシンへの初回通信が発生した状況を想定して説明するものとする。
FIG. 9 is a sequence diagram illustrating an example of a procedure for load distribution processing when a user terminal such as a PC or a smartphone subsequently accesses the virtual machine.
Here, it is assumed that the first communication from the user terminal to the load balancing target virtual machine has occurred.

その当初、ユーザ端末から仮想マシンのIPアドレス宛の通信が発生し、任意のパケット転送装置、例えば第1のパケット転送装置21にパケットが到達する(ステップS401)。   Initially, communication addressed to the IP address of the virtual machine occurs from the user terminal, and the packet reaches an arbitrary packet transfer device, for example, the first packet transfer device 21 (step S401).

これを受けた第1のパケット転送装置21は、事前に設定されたフローエントリに従い、ネットワーク制御装置31に対してパケットを転送する(ステップS402)。   Receiving this, the first packet transfer device 21 transfers the packet to the network control device 31 in accordance with the preset flow entry (step S402).

ネットワーク制御装置31の負荷分散処理部112は、転送されてきたパケットの宛先IPアドレスが、前記表2で示した負荷分散処理適用装置情報テーブル123に登録されているかを確認する(ステップS403)。ここで登録されていることを確認した場合、以降の処理を実施する。   The load distribution processing unit 112 of the network control device 31 confirms whether the destination IP address of the transferred packet is registered in the load distribution processing application device information table 123 shown in Table 2 (step S403). If it is confirmed that it is registered here, the following processing is performed.

すなわちネットワーク制御装置31の負荷分散処理部112は、前記表3で示した全トンネル情報管理用テーブル122に基づいて、パケット転送装置の利用可能なGREトンネル情報を取得する(ステップS404)。ここでは、例えば、トンネル識別子「1」とトンネル識別子「2」のトンネルが利用可能とする。   That is, the load distribution processing unit 112 of the network control device 31 acquires GRE tunnel information that can be used by the packet transfer device based on the all-tunnel information management table 122 shown in Table 3 (step S404). Here, for example, tunnels with tunnel identifier “1” and tunnel identifier “2” can be used.

ネットワーク制御装置31の負荷分散処理部112は、負荷分散アルゴリズムに従って、パケットを転送するGREトンネルを選択する(ステップS405)。   The load distribution processing unit 112 of the network control device 31 selects a GRE tunnel for transferring packets according to the load distribution algorithm (step S405).

ここで前記負荷分散アルゴリズムは、任意のアルゴリズムを利用可能であり、オリジナルの仮想マシンと複製した仮想マシン間で、通信が集中しないように任意のアルゴリズムを用いて振り分ける。   Here, an arbitrary algorithm can be used as the load balancing algorithm, and distribution is performed using an arbitrary algorithm so that communication is not concentrated between the original virtual machine and the copied virtual machine.

ネットワーク制御装置31の負荷分散処理部112は、受信したパケットを選択したGREトンネルで転送するための往路用及び復路用の各フローエントリを作成する(ステップS406)。   The load distribution processing unit 112 of the network control device 31 creates forward and backward flow entries for transferring the received packet through the selected GRE tunnel (step S406).

往路用のフローエントリの一例としては、「送信元IPアドレスがユーザ端末のIPアドレス、かつ宛先IPアドレスが負荷分散対象の仮想マシンのIPアドレスの場合、トンネル識別子「1」のGREトンネルで転送する」というものが考えられる。
また、前記に対応する復路用のフローエントリの一例としては、「送信元IPアドレスが負荷分散対象の仮想マシンのIPアドレス、かつ宛先IPアドレスがユーザ端末のIPアドレスの場合、トンネル識別子「1」のGREトンネルで転送する」というものが考えられる。
As an example of the flow entry for the forward path, “when the source IP address is the IP address of the user terminal and the destination IP address is the IP address of the virtual machine to be load-balanced, transfer is performed through the GRE tunnel with the tunnel identifier“ 1 ”. Can be considered.
An example of the return flow entry corresponding to the above is “when the source IP address is the IP address of the load balancing target virtual machine and the destination IP address is the IP address of the user terminal, the tunnel identifier“ 1 ”. Can be transferred through the GRE tunnel.

ネットワーク制御装置31の負荷分散処理部112は、選択されたトンネルの終点となる仮想パケット転送装置、例えば第1の仮想パケット転送装置43に対して、当該パケットに対する復路用のフローエントリの登録要求を送信する(ステップS407)。   The load distribution processing unit 112 of the network control device 31 sends a request for registration of a flow entry for the return path to the packet to the virtual packet transfer device that is the end point of the selected tunnel, for example, the first virtual packet transfer device 43. Transmit (step S407).

要求を受けた第1の仮想パケット転送装置43のフローエントリ情報設定機能部512は、前記表4で示した自身の保有するフローテーブル521に通知されたフローエントリを格納する(ステップS408)。   The flow entry information setting function unit 512 of the first virtual packet transfer device 43 that has received the request stores the notified flow entry in the flow table 521 owned by itself shown in Table 4 (step S408).

第1の仮想パケット転送装置43のフローエントリ情報設定機能部512は、ネットワーク制御装置31に対して、フローエントリの登録完了応答を送信する(ステップS409)。   The flow entry information setting function unit 512 of the first virtual packet transfer device 43 transmits a flow entry registration completion response to the network control device 31 (step S409).

これを受けたネットワーク制御装置31の負荷分散処理部112は、選択されたトンネルの始点となるパケット転送装置(当該パケットを送信してきたパケット転送装置)、例えば第1のパケット転送装置21に対して、当該パケットに対する往路用のフローエントリの登録要求を送信する(ステップS410)。   In response to this, the load distribution processing unit 112 of the network control device 31 responds to the packet transfer device (packet transfer device that has transmitted the packet) serving as the start point of the selected tunnel, for example, the first packet transfer device 21. Then, a request for registering a forward flow entry for the packet is transmitted (step S410).

要求を受けた第1のパケット転送装置21のフローエントリ情報設定機能部212は、前記表4で示した、自身の保有するフローテーブル221に通知されたフローエントリを格納する(ステップS411)。   Upon receiving the request, the flow entry information setting function unit 212 of the first packet transfer apparatus 21 stores the notified flow entry in its own flow table 221 shown in Table 4 (step S411).

続けて第1のパケット転送装置21のフローエントリ情報設定機能部212は、ネットワーク制御装置31に対して、フローエントリの登録完了応答を送信する(ステップS412)。   Subsequently, the flow entry information setting function unit 212 of the first packet transfer device 21 transmits a flow entry registration completion response to the network control device 31 (step S412).

ネットワーク制御装置31の負荷分散処理部112は、第1のパケット転送装置21に対して、前記ステップS402で受信したパケットを返送する(ステップS413)。   The load distribution processing unit 112 of the network control device 31 returns the packet received in step S402 to the first packet transfer device 21 (step S413).

パケットの返送を受けた第1のパケット転送装置21は、フローエントリ情報設定機能部212の制御に従い、選択されたGREトンネルでパケットを転送する。この際、オリジナルのパケットをGREヘッダでカプセル化する(ステップS414)。   Upon receiving the packet return, the first packet transfer device 21 transfers the packet through the selected GRE tunnel according to the control of the flow entry information setting function unit 212. At this time, the original packet is encapsulated with a GRE header (step S414).

GREトンネルの終点となっている、例えば第1の仮想パケット転送装置43は、カプセル化されたパケットのGREヘッダを取り外し、フローエントリに従い、オリジナルのパケットを第2の物理サーバ52の仮想マシン54に転送する(ステップS415)。   For example, the first virtual packet transfer device 43 that is the end point of the GRE tunnel removes the GRE header of the encapsulated packet, and sends the original packet to the virtual machine 54 of the second physical server 52 according to the flow entry. Transfer (step S415).

パケットを受信した仮想マシン54は、パケットを処理する(ステップS416)。   The virtual machine 54 that has received the packet processes the packet (step S416).

仮想マシン54からユーザ端末のIPアドレス宛の通信が発生し、第1の仮想パケット転送装置43に到達する(ステップS417)。   Communication addressed to the IP address of the user terminal occurs from the virtual machine 54, and reaches the first virtual packet transfer apparatus 43 (step S417).

第1の仮想パケット転送装置43は、フローエントリ情報設定機能部512に従い、往路と同じGREトンネルで第1のパケット転送装置21までパケットを転送する。この際、オリジナルのパケットをGREヘッダでカプセル化する(ステップS418)。   The first virtual packet transfer device 43 transfers the packet to the first packet transfer device 21 through the same GRE tunnel as the forward path in accordance with the flow entry information setting function unit 512. At this time, the original packet is encapsulated with the GRE header (step S418).

これを受けた第1のパケット転送装置21は、GREトンネル経由で受信した、カプセル化されたパケットのGREヘッダを取り外し、オリジナルのパケットに記載された、ユーザ端末宛のIPアドレス宛にパケットを転送する(ステップS419)。   Upon receiving this, the first packet transfer device 21 removes the GRE header of the encapsulated packet received via the GRE tunnel, and transfers the packet to the IP address addressed to the user terminal described in the original packet. (Step S419).

以上の動作において説明した如く、アクセスの集中している仮想マシンを別のデータセンタに複製し、それらの間で負荷の分散を図ることが可能になり、仮想マシンの負荷が増加した場合に負荷を分散することが可能となると共に、ネットワーク帯域の負荷が増加した場合にも負荷を迅速に分散することが可能になる。   As explained in the above operation, it is possible to replicate a virtual machine with concentrated access to another data center and distribute the load among them, and load when the load on the virtual machine increases. Can be distributed, and even when the load on the network bandwidth increases, the load can be quickly distributed.

また、DDoS攻撃に関して、仮想マシンのIPアドレスは1つのままで、ネットワーク側で任意の仮想マシンにトラフィックを振り分けることが可能になるため、仮想マシンのIPアドレスを直接指定して実施されるDDoS攻撃にも対処できる。   In addition, regarding a DDoS attack, since the virtual machine IP address remains one and traffic can be distributed to any virtual machine on the network side, a DDoS attack that is performed by directly specifying the virtual machine IP address. Can also deal with.

以上詳述した如く本実施形態によれば、サーバやネットワーク帯域の負荷が増加した際の双方に対処して広域ネットワークでの負荷を確実に分散させることが可能になり、サービスの可用性が向上する。   As described above in detail, according to the present embodiment, it is possible to reliably distribute the load in the wide area network by coping with both when the load of the server and the network bandwidth increases, and the availability of the service is improved. .

その他、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成を削除してもよい。さらに、異なる実施形態例に亘る構成要素を適宜組み合わせてもよい。   In addition, the present invention is not limited to the above-described embodiments as they are, and can be embodied by modifying the constituent elements without departing from the scope in the implementation stage. Moreover, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some configurations may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different example embodiments may be combined as appropriate.

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…通信機能部。
11 ... ISP network / carrier network,
21-23 ... Packet transfer device,
31 ... Network control device,
32 ... Load monitoring device,
41 ... first data center,
42 ... first physical server,
43. First virtual packet transfer device,
44 ... Virtual machine,
45. First gateway device,
51 ... Second data center,
52 ... the second physical server,
53. Second virtual packet transfer device,
54 ... Replicated virtual machine,
55. Second gateway device,
110 ... processing unit,
111 ... Tunnel control unit,
112 ... Load distribution processing unit,
120 ... storage part,
121 ... Network (NW) configuration information management table,
122 ... All tunnel information management table,
123 ... Load distribution processing application device information table,
130 ... communication function part,
210 ... processing unit,
211 ... Tunnel setting function unit,
212 ... Flow entry information setting function unit,
220 ... storage unit,
221 ... Flow table,
222: Tunnel information table,
230 ... communication function unit,
441 ... the first virtual machine,
442 ... the second virtual machine,
451 ... Physical server communication function unit,
452 ... Virtual machine management function part,
453 ... Virtual machine information management table,
510... Processing unit,
511 ... Tunnel setting function part,
512 ... flow entry information setting function unit,
520 ... storage unit,
521 ... Flow table,
522 ... Tunnel information table,
530: Communication function unit.

Claims (6)

広域ネットワーク内に存在する任意のパケット転送装置、任意のデータセンタが備える仮想マシンと仮想パケット転送装置、及びゲートウェイを有するシステムにおいて、
前記仮想マシンの負荷を監視する負荷監視装置と、
前記負荷監視装置により負荷が集中した仮想マシンの検知時に当該仮想マシンとは異なる他のデータセンタに仮想マシンを複製する複製手段、前記パケット転送装置間、及び前記各仮想マシンが接続された仮想パケット転送装置間にそれぞれトンネリングプロトコルによるトンネルを設定する設定手段、及び前記トンネルを介して任意のパケットを任意のトンネルで転送するフローエントリを登録する登録手段を備えるネットワーク制御装置と、
を有し、前記複数の仮想マシンで負荷を分散して処理することを特徴とする負荷分散システム。
In a system having an arbitrary packet transfer device existing in a wide area network, a virtual machine and a virtual packet transfer device provided in an arbitrary data center, and a gateway,
A load monitoring device for monitoring the load of the virtual machine;
Duplicating means for duplicating a virtual machine to another data center different from the virtual machine when detecting a virtual machine on which the load is concentrated by the load monitoring apparatus, between the packet transfer apparatuses, and a virtual packet to which the virtual machines are connected A network control device comprising setting means for setting tunnels according to a tunneling protocol between transfer devices, and registration means for registering a flow entry for transferring an arbitrary packet through the tunnel via the tunnel;
And a load distribution system that distributes and processes loads on the plurality of virtual machines.
前記ネットワーク制御装置は、前記任意のパケット転送装置、及び前記任意の仮想パケット転送装置との間で、前記トンネルの識別子を生成し、トンネルの端点となる任意のパケット転送装置のIPアドレス、及びトンネルの端点となる任意の仮想パケット転送装置のIPアドレスを取得し、生成した識別子、及び取得した各IPアドレスを通信することを特徴とする請求項1記載の負荷分散システム。   The network control device generates an identifier of the tunnel between the arbitrary packet transfer device and the arbitrary virtual packet transfer device, an IP address of an arbitrary packet transfer device serving as a tunnel end point, and a tunnel 2. The load distribution system according to claim 1, wherein an IP address of an arbitrary virtual packet transfer apparatus serving as an end point of the virtual packet transfer apparatus is acquired, and the generated identifier and each acquired IP address are communicated. 前記ネットワーク制御装置は、前記複数の仮想マシン間での負荷が略均等化するように前記任意のパケットを転送するトンネルを選択可能に設定することを特徴とする請求項1記載の負荷分散システム。   The load distribution system according to claim 1, wherein the network control device is configured to select a tunnel for transferring the arbitrary packet so that loads between the plurality of virtual machines are substantially equalized. 前記ネットワーク制御装置は、前記パケット転送装置及び仮想パケット転送装置から任意のパケットを転送するためにどのトンネルを利用するかの問合せを受付けて応答することを特徴とする請求項1記載の負荷分散システム。   2. The load distribution system according to claim 1, wherein the network control device receives and responds to an inquiry as to which tunnel is used to transfer an arbitrary packet from the packet transfer device and the virtual packet transfer device. . 前記ネットワーク制御装置は、前記複数の仮想マシンに対して同一のIPアドレスを設定して任意の仮想マシンにトラフィックを振り分けることを特徴とする請求項1記載の負荷分散システム。   The load distribution system according to claim 1, wherein the network control apparatus sets the same IP address for the plurality of virtual machines and distributes traffic to an arbitrary virtual machine. 広域ネットワーク内に存在する任意のパケット転送装置、任意のデータセンタが備える仮想マシンと仮想パケット転送装置、及びゲートウェイを有するシステムで実行される負荷分散方法において、
前記仮想マシンの負荷を監視する負荷監視工程と、
前記負荷監視工程で負荷が集中した仮想マシンの検知時に当該仮想マシンとは異なる他のデータセンタに仮想マシンを複製する複製工程と、
前記パケット転送装置間、及び前記各仮想マシンが接続された仮想パケット転送装置間にそれぞれトンネリングプロトコルによるトンネルを設定する設定工程と、
前記トンネルを介して任意のパケットを任意のトンネルで転送するフローエントリを登録する登録工程と
を有し、前記複数の仮想マシンで負荷を分散して処理することを特徴とする負荷分散方法。
In a load distribution method executed in a system having an arbitrary packet transfer device existing in a wide area network, a virtual machine and a virtual packet transfer device provided in an arbitrary data center, and a gateway,
A load monitoring step of monitoring the load of the virtual machine;
A replication step of replicating a virtual machine to another data center different from the virtual machine when detecting a virtual machine with a concentrated load in the load monitoring step;
A setting step for setting a tunnel by a tunneling protocol between the packet transfer apparatuses and between the virtual packet transfer apparatuses to which the virtual machines are connected;
And a registration step of registering a flow entry for transferring an arbitrary packet through the tunnel through the tunnel, wherein the load is distributed and processed by the plurality of virtual machines.
JP2015020455A 2015-02-04 2015-02-04 System and method for load distribution Pending JP2016144144A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015020455A JP2016144144A (en) 2015-02-04 2015-02-04 System and method for load distribution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015020455A JP2016144144A (en) 2015-02-04 2015-02-04 System and method for load distribution

Publications (1)

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

Family

ID=56570903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015020455A Pending JP2016144144A (en) 2015-02-04 2015-02-04 System and method for load distribution

Country Status (1)

Country Link
JP (1) JP2016144144A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7410804B2 (en) 2020-06-11 2024-01-10 日立Astemo株式会社 Vehicle control system, vehicle control method, and vehicle control device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013129207A1 (en) * 2012-03-02 2013-09-06 株式会社エヌ・ティ・ティ・ドコモ Mobile communication system, communication system, node, flow-control network, and communication-control method
WO2013190688A1 (en) * 2012-06-21 2013-12-27 富士通株式会社 Information processing system, information processing method, and communication device
JP2014039141A (en) * 2012-08-15 2014-02-27 Nec Corp System and method for application communication control
JP2014048900A (en) * 2012-08-31 2014-03-17 Hitachi Ltd Computer system, and packet transfer method
JP2014158242A (en) * 2013-02-18 2014-08-28 Nippon Telegr & Teleph Corp <Ntt> Carrier network virtualization system and method
WO2014136864A1 (en) * 2013-03-07 2014-09-12 日本電気株式会社 Packet rewriting apparatus, control apparatus, communication system, packet transmitting method and program
WO2014157512A1 (en) * 2013-03-29 2014-10-02 日本電気株式会社 System for providing virtual machines, device for determining paths, method for controlling paths, and program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013129207A1 (en) * 2012-03-02 2013-09-06 株式会社エヌ・ティ・ティ・ドコモ Mobile communication system, communication system, node, flow-control network, and communication-control method
WO2013190688A1 (en) * 2012-06-21 2013-12-27 富士通株式会社 Information processing system, information processing method, and communication device
JP2014039141A (en) * 2012-08-15 2014-02-27 Nec Corp System and method for application communication control
JP2014048900A (en) * 2012-08-31 2014-03-17 Hitachi Ltd Computer system, and packet transfer method
JP2014158242A (en) * 2013-02-18 2014-08-28 Nippon Telegr & Teleph Corp <Ntt> Carrier network virtualization system and method
WO2014136864A1 (en) * 2013-03-07 2014-09-12 日本電気株式会社 Packet rewriting apparatus, control apparatus, communication system, packet transmitting method and program
WO2014157512A1 (en) * 2013-03-29 2014-10-02 日本電気株式会社 System for providing virtual machines, device for determining paths, method for controlling paths, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7410804B2 (en) 2020-06-11 2024-01-10 日立Astemo株式会社 Vehicle control system, vehicle control method, and vehicle control device

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
CN110896371B (en) Virtual network equipment 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 (en) System and method for preventing denial of service (dos) attack on system designed for middleware and application execution, and system and method for supporting reliable connection (rc) based on subnet administrator (sa) access in system designed for middleware and application execution
EP2922246B1 (en) Method and data center network for cross-service zone communication
KR102213122B1 (en) Methods and devices for business migration
EP2939401B1 (en) Method for guaranteeing service continuity in a telecommunication network and system thereof
JP5866083B1 (en) Control method, control apparatus and processor in software definition network
CN112583618B (en) Method, device and computing equipment for providing network service for business
EP3788772B1 (en) On-node dhcp implementation for virtual machines
WO2018068588A1 (en) Method and software-defined networking (sdn) controller for providing multicast service
WO2015131757A1 (en) Channel between software defined networking device and controller
WO2020057445A1 (en) Communication system, method, and device
US20190199679A1 (en) Dynamically defining encryption spaces across multiple data centers
JP2016144144A (en) System and method for load distribution
JP5580766B2 (en) Server apparatus, packet transmission system, packet transmission method and program
JP2016213604A (en) Communication device and management method
US11218918B2 (en) Fast roaming and uniform policy for wireless clients with distributed hashing
CN109417513B (en) System and method for dynamically detecting opposite terminal in software defined network
JP6204256B2 (en) Distributed processing system, distributed data management apparatus, and distributed data management method
Fujikawa et al. Automatic construction of name-bound virtual networks for IoT
JP6153903B2 (en) Service chaining system, service chaining policy control apparatus, and service chaining method
EP3843342A1 (en) Communication method and related device

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