JP6053032B2 - COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM - Google Patents

COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM Download PDF

Info

Publication number
JP6053032B2
JP6053032B2 JP2013256483A JP2013256483A JP6053032B2 JP 6053032 B2 JP6053032 B2 JP 6053032B2 JP 2013256483 A JP2013256483 A JP 2013256483A JP 2013256483 A JP2013256483 A JP 2013256483A JP 6053032 B2 JP6053032 B2 JP 6053032B2
Authority
JP
Japan
Prior art keywords
virtual
address
load balancer
destination
communication
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
JP2013256483A
Other languages
Japanese (ja)
Other versions
JP2015115781A (en
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 JP2013256483A priority Critical patent/JP6053032B2/en
Publication of JP2015115781A publication Critical patent/JP2015115781A/en
Application granted granted Critical
Publication of JP6053032B2 publication Critical patent/JP6053032B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信制御装置、通信制御方法及び通信制御プログラムに関する。   The present invention relates to a communication control device, a communication control method, and a communication control program.

従来、商用クラウド環境を提供する事業者が仮想ロードバランサ(例えば、LBaaS :Load Balancer as a Service)サービスを提供する際、顧客(ユーザ)が各自で構築するクラウド環境上のシステムに仮想ロードバランサを導入する技術が知られている。仮想ロードバランサは、例えば、ユーザがWebサービスの提供等を目的として商用クラウド環境上に複数の仮想マシンを構築している場合において、当該仮想マシンに対する負荷が均一となるような負荷分散を行う。ユーザは、仮想ロードバランサに対して負荷分散対象となる仮想マシンのグループや負荷分散アルゴリズムを設定可能である。   Conventionally, when a provider providing a commercial cloud environment provides a virtual load balancer (for example, LBaAS: Load Balancer as a Service) service, a customer (user) installs a virtual load balancer in a system on the cloud environment that the customer (user) constructs. The technology to introduce is known. For example, when a user constructs a plurality of virtual machines on a commercial cloud environment for the purpose of providing a web service or the like, the virtual load balancer performs load distribution so that the load on the virtual machine is uniform. The user can set a group of virtual machines to be load balanced and a load balancing algorithm for the virtual load balancer.

ここで、あるネットワーク構成に対して仮想ロードバランサを導入する場合の方式として、Two-Arm方式とOne-Arm方式が存在する。Two-Arm方式は、負荷分散対象となる通信が着信するネットワークと負荷分散先となるリアルサーバが存在するネットワークのセグメントが分離されており、それぞれのネットワークに対してロードバランサがインタフェースを持つ。一方、One-Arm方式ではロードバランサは1つのインタフェースしか持たず、負荷分散対象となる通信が着信するネットワークとリアルサーバが存在するネットワークは同一である。   Here, as a method for introducing a virtual load balancer to a certain network configuration, there are a two-arm method and a one-arm method. In the Two-Arm method, a network segment in which a communication to be a load distribution target arrives and a network in which a real server as a load distribution destination exists are separated, and a load balancer has an interface for each network. On the other hand, in the One-Arm system, the load balancer has only one interface, and the network where the communication to be load-balanced is received and the network where the real server exists are the same.

仮想ロードバランサは、仮想環境上のシステムにおいてロードバランサの機能をソフトウェアで実現するものである。仮想ロードバランサを用いることで、ユーザはクラウドサービスなどでロードバランサを含む任意の仮想的なシステムをオンデマンドで構築することができる。   The virtual load balancer implements the load balancer function in software in a system on a virtual environment. By using a virtual load balancer, a user can construct an arbitrary virtual system including a load balancer on-demand with a cloud service or the like.

一般的に、すでに構築済みの仮想環境上のシステムに対してTwo-Arm方式で仮想ロードバランサを追加する場合には、新しい仮想ネットワークの作成や、仮想ロードバランサで仮想ルータを置き換える等のネットワーク構成変更を行う。そのため、ユーザにとって一時的にネットワークが切り離されて通信が遮断されてしまう等のリスクが発生する。これはユーザがスモールスタートから徐々に仮想環境の規模を拡大していく際に仮想ロードバランサを導入する、といったユースケースで障害となる。   In general, when adding a virtual load balancer using the two-arm method to a system on a virtual environment that has already been constructed, a network configuration such as creating a new virtual network or replacing a virtual router with a virtual load balancer Make a change. Therefore, there is a risk for the user that the network is temporarily disconnected and communication is blocked. This becomes an obstacle in use cases where a virtual load balancer is introduced when the user gradually expands the scale of the virtual environment from the small start.

One-Arm方式であれば既存のネットワークに新たに仮想ロードバランサを接続するだけで負荷分散が実現可能であるが、通信が適切に行えない場合がある。つまり、既にあるネットワーク構成に仮想ロードバランサを追加する場合には、仮想マシン(リアルサーバ)のデフォルトGWは通常同じネットワークに属する仮想ルータに設定されている。そのため、仮想ロードバランサから仮想マシンに振り分けられた通信は、復路において仮想ロードバランサではなくデフォルトGWの仮想ルータを経由して接続要求元のクライアントに到達しようとする。   With the One-Arm method, load distribution can be achieved simply by connecting a new virtual load balancer to an existing network, but communication may not be performed properly. That is, when a virtual load balancer is added to an existing network configuration, the default GW of the virtual machine (real server) is usually set to a virtual router belonging to the same network. Therefore, the communication distributed from the virtual load balancer to the virtual machine tries to reach the connection request source client via the default GW virtual router instead of the virtual load balancer in the return path.

ところが、クライアントは受信パケットの送信元IPアドレスが仮想ロードバランサのものではないことから、自分の通信ではないと判断して当該パケットを破棄してしまうため、通信が適切に行えない。一方で、仮想ロードバランサをデフォルトGWとした場合は外部向けの全ての通信が仮想ロードバランサを介してしまうため、無駄なトラフィックが大量に発生してしまう。   However, since the transmission source IP address of the received packet is not that of the virtual load balancer, the client determines that it is not its own communication and discards the packet, so communication cannot be performed properly. On the other hand, when the virtual load balancer is used as the default GW, all external communication passes through the virtual load balancer, so a lot of useless traffic occurs.

そこで、仮想ロードバランサで通信をSNAT(Source Network Address Translation)することでOne-Arm方式においてもロードバランスが実現可能である。パケットの送信元IPアドレスがSNATによって仮想ロードバランサのIPアドレスに書き換えられるため、負荷分散先の仮想マシンは通信に対する応答を仮想ロードバランサに向けて送信するようになる。仮想ロードバランサは再度SNATし、送信元IPアドレスを自身のIPアドレスに書き換えてクライアントに送信することで通信が確立される。   Therefore, load balancing can be realized even in the One-Arm system by performing communication SNAT (Source Network Address Translation) with a virtual load balancer. Since the packet source IP address is rewritten by the SNAT to the virtual load balancer IP address, the load balancing destination virtual machine transmits a response to the communication to the virtual load balancer. The virtual load balancer performs SNAT again, and the communication is established by rewriting the source IP address to its own IP address and transmitting it to the client.

また、ロードバランサの主な転送方式に、NAT方式とDSR方式が存在する。NAT方式は通信をNATし、通信の往路ではパケットの宛先IPアドレスをロードバランサのIPアドレスから負荷分散先の仮想マシンのIPアドレスに変換し、復路では送信元IPアドレスを仮想マシンのアドレスからロードバランサのアドレスに変換してクライアントに送り返す。なお、このようにNAT方式では、通信の往路と復路ともにロードバランサを経由することが前提となる。   There are a NAT method and a DSR method as main transfer methods of the load balancer. The NAT method NATs the communication, converts the destination IP address of the packet from the IP address of the load balancer to the IP address of the virtual machine that is the load distribution destination on the outgoing path of the communication, and loads the source IP address from the virtual machine address on the return path It is converted to a balancer address and sent back to the client. As described above, in the NAT system, it is assumed that both the outbound and inbound communication passes through the load balancer.

一方、DSR方式は、クライアントからロードバランサを経由して各仮想マシンに負荷分散された通信の復路が、仮想マシンからロードバランサを介さずに直接クライアントに戻る方式である。ロードバランサはNATするのではなく、宛先MACアドレスのみを振り分け先の仮想マシンのアドレスに変換して転送する。復路のNATを行わないため、NAT方式と比較して大幅にロードバランサの負荷が少なくなる。   On the other hand, the DSR method is a method in which a return path of communication load-distributed to each virtual machine from a client via a load balancer returns directly to the client without going through the load balancer. The load balancer does not perform NAT, but converts only the destination MAC address into the address of the destination virtual machine and transfers it. Since the return path NAT is not performed, the load of the load balancer is significantly reduced as compared with the NAT system.

仮想ロードバランサは、ハードウェアのアプライアンス製品として提供されている市中のロードバランサと比較すると一般的に処理性能が低いため、負荷が少なく高い処理性能が期待できるDSR(Direct Server Return)方式で導入するユースケースが考えられる。   The virtual load balancer is generally installed with a direct server return (DSR) method that can reduce the load and expect high processing performance because the processing performance is generally lower than the load balancers in the city that are provided as hardware appliance products. Use cases that can be considered.

NETWORKGEEKSTUFF、“Basic Load-Balancer Scenarios Explained”、[online]、[平成25年11月29日検索]、インターネット<http://networkgeekstuff.com/networking/basic-load-balancer-scenarios-explained/>NETWORKGEEKSTUFF, “Basic Load-Balancer Scenarios Explained”, [online], [November 29, 2013 search], Internet <http://networkgeekstuff.com/networking/basic-load-balancer-scenarios-explained/> Security Akademeia、“ロードバランサの配置の種類”、[online]、[平成25年11月29日検索]、インターネット<http://akademeia.info/index.php?%A5%ED%A1%BC%A5%C9%A5%D0%A5%E9%A5%F3%A5%B5#oc261ef8>Security Akademeia, “Types of load balancer placement”, [online], [Searched on November 29, 2013], Internet <http://akademeia.info/index.php?%A5%ED%A1%BC% A5% C9% A5% D0% A5% E9% A5% F3% A5% B5 # oc261ef8>

しかしながら、従来技術では、One-Arm方式およびDSR方式を利用するための負担が大きく、また、サービス提供の支障となる場合があるという課題があった。つまり、上記のOne-Arm方式において仮想ロードバランサでSNATする技術では、仮想ロードバランサでSNATすることで、ユーザの仮想マシンにサービス利用者であるクライアントのIPアドレスが通知されなくなってしまう。このため、クライアントのIPアドレスを何らかの形で利用するようなサービス(例えば、掲示板の書き込み規制など)を提供することができなくなる場合があり、サービス提供の支障となる場合があった。   However, the prior art has a problem that the burden for using the One-Arm method and the DSR method is large, and it may hinder service provision. In other words, in the technique of performing the SNAT with the virtual load balancer in the One-Arm method, the IP address of the client as the service user is not notified to the user's virtual machine by performing the SNAT with the virtual load balancer. For this reason, it may not be possible to provide a service that uses the client's IP address in any way (for example, restrictions on writing on a bulletin board), which may hinder service provision.

なお、仮想ロードバランサにて通信ログを取得するという方法も考えられるが、事業者側の負担が増大してしまう。つまり、ログをユーザの保管ポリシーに合わせて保管し、ユーザが自由にアクセスして閲覧可能な状態に保つためには、事業者が大きな設備投資と管理責任を負担する必要が生じてしまい、事業者側の負担が増大してしまう。   In addition, although the method of acquiring a communication log with a virtual load balancer is also considered, the burden on a provider side will increase. In other words, in order to store the log according to the user's storage policy and keep it in a state where the user can freely access and view it, the operator needs to bear a large capital investment and management responsibility. The burden on the person side will increase.

また、仮想ロードバランサをDSR方式で導入するためには、ユーザが作成する仮想マシンに対する個別の設定を行う。具体的には、仮想マシンのループバックデバイスに仮想ロードバランサのIPアドレスを設定し、かつ当該IPアドレス宛のARPに仮想マシンが応答しないように設定する。しかし、このようにユーザの仮想マシンに対して個別設定を行う場合、ユーザは各自の責任において適切な設定を行う必要があり、事業者はユーザがDSR方式で仮想ロードバランサを導入できるよう支援するために多大な手間がかかる。   In order to introduce a virtual load balancer using the DSR method, individual settings are made for a virtual machine created by a user. Specifically, the virtual load balancer IP address is set in the loopback device of the virtual machine, and the virtual machine is set not to respond to the ARP addressed to the IP address. However, when individual settings are made for the user's virtual machine in this way, the user needs to make appropriate settings at his / her own responsibility, and the operator supports the user to introduce a virtual load balancer using the DSR method. This takes a lot of time and effort.

そこで、この発明は、One-Arm方式およびDSR方式を利用するため負担を軽減し、適切にサービスを提供することを目的とする。   Accordingly, an object of the present invention is to provide a service appropriately by reducing the burden because the One-Arm method and the DSR method are used.

上述した課題を解決し、目的を達成するため、開示の通信制御装置は、クライアント端末から送信された往路データを複数の仮想マシンのうちのいずれかの仮想マシンに転送するロードバランサが接続される仮想ネットワークを形成する通信機器に対して、前記往路データの送信先IPアドレスがロードバランサのIPアドレスであって、かつ、送信先MACアドレスがロードバランサのMACアドレスでない場合には、前記送信先IPアドレスを前記仮想マシンのIPアドレスに書き換える往路ルールを設定する往路設定部と、前記クライアント端末から送信された往路データの送信先がロードバランサである場合には、前記通信機器に対して、復路データの送信元IPアドレスをロードバランサのIPアドレスに書き換える復路ルールを設定する復路設定部と、を備えることを特徴とする。   In order to solve the above-described problems and achieve the object, the disclosed communication control apparatus is connected to a load balancer that transfers the forward data transmitted from the client terminal to any one of a plurality of virtual machines. For a communication device forming a virtual network, if the destination IP address of the outbound data is the IP address of the load balancer and the destination MAC address is not the MAC address of the load balancer, the destination IP When the outbound route setting unit that sets the outbound route rule that rewrites the address to the IP address of the virtual machine and the destination of outbound data transmitted from the client terminal is a load balancer, return data to the communication device The return route rule to rewrite the source IP address of the IP address to the IP address of the load balancer Characterized in that it comprises a return setting unit for constant, the.

また、開示の通信制御方法は、通信制御装置で実行される通信制御方法であって、クライアント端末から送信された往路データを複数の仮想マシンのうちのいずれかの仮想マシンに転送するロードバランサが接続される仮想ネットワークを形成する通信機器に対して、前記往路データの送信先IPアドレスがロードバランサのIPアドレスであって、かつ、送信先MACアドレスがロードバランサのMACアドレスでない場合には、前記送信先IPアドレスを前記仮想マシンのIPアドレスに書き換える往路ルールを設定する往路設定工程と、前記クライアント端末から送信された往路データの送信先がロードバランサである場合には、前記通信機器に対して、復路データの送信元IPアドレスをロードバランサのIPアドレスに書き換える復路ルールを設定する復路設定工程と、を含んだことを特徴とする。   The disclosed communication control method is a communication control method executed by a communication control device, and includes a load balancer that transfers outbound data transmitted from a client terminal to one of a plurality of virtual machines. For a communication device forming a connected virtual network, when the destination IP address of the outbound data is the IP address of the load balancer and the destination MAC address is not the MAC address of the load balancer, An outbound route setting step for setting an outbound route rule for rewriting the destination IP address to the IP address of the virtual machine, and when the outbound destination of outbound data transmitted from the client terminal is a load balancer, , Rewrite the source IP address of the return route data to the IP address of the load balancer Characterized in that it includes a return path setting step of setting a road rules, the.

また、開示の通信制御プログラムは、クライアント端末から送信された往路データを複数の仮想マシンのうちのいずれかの仮想マシンに転送するロードバランサが接続される仮想ネットワークを形成する通信機器に対して、前記往路データの送信先IPアドレスがロードバランサのIPアドレスであって、かつ、送信先MACアドレスがロードバランサのMACアドレスでない場合には、前記送信先IPアドレスを前記仮想マシンのIPアドレスに書き換える往路ルールを設定する往路設定ステップと、前記クライアント端末から送信された往路データの送信先がロードバランサである場合には、前記通信機器に対して、復路データの送信元IPアドレスをロードバランサのIPアドレスに書き換える復路ルールを設定する復路設定ステップと、をコンピュータに実行させることを特徴とする。   Further, the disclosed communication control program provides communication devices that form a virtual network to which a load balancer that transfers outbound data transmitted from a client terminal to any one of a plurality of virtual machines is connected. When the destination IP address of the forward path data is the IP address of the load balancer and the destination MAC address is not the MAC address of the load balancer, the forward path for rewriting the destination IP address with the IP address of the virtual machine A forward setting step for setting a rule, and if the destination of the forward data transmitted from the client terminal is a load balancer, the IP address of the load balancer is set as the IP address of the load balancer for the communication device Return path setting step to set the return path rule to be rewritten to And characterized by causing a computer to execute the.

本願に開示する通信制御装置、通信制御方法及び通信制御プログラムは、One-Arm方式およびDSR方式を利用するための負担を軽減し、適切にサービスを提供することが可能である。   The communication control device, the communication control method, and the communication control program disclosed in the present application can reduce the burden for using the One-Arm method and the DSR method, and can provide services appropriately.

図1は、第一の実施形態に係る通信システムの構成の一例を示す図である。FIG. 1 is a diagram illustrating an example of a configuration of a communication system according to the first embodiment. 図2は、第一の実施形態に係る仮想NWコントローラの構成を示すブロック図である。FIG. 2 is a block diagram showing the configuration of the virtual NW controller according to the first embodiment. 図3は、第一の実施形態に係る仮想LB情報記憶部に記憶される情報の一例を示す図である。FIG. 3 is a diagram illustrating an example of information stored in the virtual LB information storage unit according to the first embodiment. 図4は、第一の実施形態に係る通信システムにおいて仮想LBを追加する処理について説明する図である。FIG. 4 is a diagram illustrating processing for adding a virtual LB in the communication system according to the first embodiment. 図5は、第一の実施形態に係る通信システムにおいて仮想NWコントローラへ仮想LBの情報を登録する処理について説明する図である。FIG. 5 is a diagram illustrating processing for registering virtual LB information in the virtual NW controller in the communication system according to the first embodiment. 図6は、第一の実施形態に係る通信システムにおいて仮想NWへルールを追加する処理について説明する図である。FIG. 6 is a diagram illustrating processing for adding a rule to the virtual NW in the communication system according to the first embodiment. 図7は、第一の実施形態に係る通信システムにおいて仮想NWへ往路NAT用ルールを追加する処理について説明する図である。FIG. 7 is a diagram illustrating processing for adding a forward NAT rule to the virtual NW in the communication system according to the first embodiment. 図8は、第一の実施形態に係る通信システムにおいてクライアントから仮想ルータに送信されるパケットに関する通信処理について説明する図である。FIG. 8 is a diagram illustrating communication processing regarding a packet transmitted from a client to a virtual router in the communication system according to the first embodiment. 図9は、第一の実施形態に係る通信システムにおいて仮想ルータを経由して仮想NWに到達したパケットの通信処理について説明する図である。FIG. 9 is a diagram for explaining communication processing of a packet that has reached the virtual NW via the virtual router in the communication system according to the first embodiment. 図10は、第一の実施形態に係る通信システムにおいて仮想NWへ復路NAT用ルールを追加する処理について説明する図である。FIG. 10 is a diagram illustrating processing for adding a return NAT rule to the virtual NW in the communication system according to the first embodiment. 図11は、第一の実施形態に係る通信システムにおいて仮想NWへ既知クライアントIP用ルールを追加する処理について説明する図である。FIG. 11 is a diagram illustrating processing for adding a known client IP rule to a virtual NW in the communication system according to the first embodiment. 図12は、第一の実施形態に係る通信システムにおいて仮想LBから仮想NWへ送信されるパケットに関する通信処理について説明する図である。FIG. 12 is a diagram illustrating a communication process regarding a packet transmitted from the virtual LB to the virtual NW in the communication system according to the first embodiment. 図13は、第一の実施形態に係る通信システムにおいて仮想NWから仮想マシンへ送信されるパケットに関する通信処理について説明する図である。FIG. 13 is a diagram illustrating communication processing regarding a packet transmitted from the virtual NW to the virtual machine in the communication system according to the first embodiment. 図14は、第一の実施形態に係る通信システムにおいて仮想マシンから仮想NWへ送信されるパケットに関する通信処理について説明する図である。FIG. 14 is a diagram illustrating a communication process regarding a packet transmitted from the virtual machine to the virtual NW in the communication system according to the first embodiment. 図15は、第一の実施形態に係る通信システムにおいて仮想NWから仮想ルータへ送信されるパケットに関する通信処理について説明する図である。FIG. 15 is a diagram illustrating communication processing regarding a packet transmitted from the virtual NW to the virtual router in the communication system according to the first embodiment. 図16は、第一の実施形態に係る通信システムにおいて仮想ルータからクライアントへ送信されるパケットに関する通信処理につて説明する図である。FIG. 16 is a diagram illustrating a communication process regarding a packet transmitted from the virtual router to the client in the communication system according to the first embodiment. 図17は、第一の実施形態に係る仮想NWコントローラにおける往路設定処理の流れを説明するためのフローチャートである。FIG. 17 is a flowchart for explaining the flow of the forward path setting process in the virtual NW controller according to the first embodiment. 図18は、第一の実施形態に係る仮想NWコントローラにおける復路設定処理の流れを説明するためのフローチャートである。FIG. 18 is a flowchart for explaining the flow of return path setting processing in the virtual NW controller according to the first embodiment. 図19は、第一の実施形態に係る通信システムの概要を説明する図である。FIG. 19 is a diagram for explaining the outline of the communication system according to the first embodiment. 図20は、通信制御プログラムを実行するコンピュータを示す図である。FIG. 20 is a diagram illustrating a computer that executes a communication control program.

以下に図面を参照して、この発明に係る通信制御装置、通信制御方法及び通信制御プログラムの実施形態を詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。   Embodiments of a communication control device, a communication control method, and a communication control program according to the present invention will be described below in detail with reference to the drawings. In addition, this invention is not limited by this embodiment.

[第一の実施形態]
以下の実施形態では、第一の実施形態に係る通信システムの構成、仮想NWコントローラの構成、通信システムによる通信処理の流れ及び仮想NWコントローラによる通信制御処理の流れを順に説明し、最後に第一の実施形態による効果を説明する。
[First embodiment]
In the following embodiments, the configuration of the communication system according to the first embodiment, the configuration of the virtual NW controller, the flow of communication processing by the communication system, and the flow of communication control processing by the virtual NW controller will be described in order, and finally the first Effects of the embodiment will be described.

[システムの構成]
まず、第一の実施形態に係る通信システム100の構成の一例を説明する。図1は、第一の実施形態に係る通信システムの構成の一例を示す図である。図1に示すように、通信システム100は、仮想NW(NetWork:ネットワーク)コントローラ10と、仮想ルータ20と、複数の仮想マシン30A〜30Cと、クライアント40と、仮想LB(Load Balancer)70とを有する。なお、ここでは、仮想マシン30B、30Cおよび仮想LB70は、後から追加されたものとして、図1では点線で示している。
[System configuration]
First, an example of the configuration of the communication system 100 according to the first embodiment will be described. FIG. 1 is a diagram illustrating an example of a configuration of a communication system according to the first embodiment. As shown in FIG. 1, the communication system 100 includes a virtual NW (NetWork) controller 10, a virtual router 20, a plurality of virtual machines 30 </ b> A to 30 </ b> C, a client 40, and a virtual LB (Load Balancer) 70. Have. Here, the virtual machines 30B and 30C and the virtual LB 70 are assumed to be added later, and are indicated by dotted lines in FIG.

また、第一の実施形態に係る通信システム100において、仮想ルータ20とクライアント40とは、外部NW50を介して接続され、仮想NWコントローラ10と、仮想ルータ20と、複数の仮想マシン30A〜30Cと、仮想LB70とは、仮想NW60を介して接続されている。なお、複数の仮想マシン30A〜30Cについて、特に区別することなく説明する場合には、「仮想マシン30」と記載する。また、図1に例示した各装置の設置数は、あくまで一例であり、これに限定されるものではない。   In the communication system 100 according to the first embodiment, the virtual router 20 and the client 40 are connected via the external NW 50, and the virtual NW controller 10, the virtual router 20, and a plurality of virtual machines 30A to 30C are connected. The virtual LB 70 is connected via a virtual NW 60. Note that the virtual machines 30 </ b> A to 30 </ b> C are described as “virtual machine 30” when they are described without particular distinction. Moreover, the installation number of each apparatus illustrated in FIG. 1 is an example to the last, and is not limited to this.

仮想NWコントローラ10は、通信機器や仮想マシンを管理する通信制御装置である。この仮想NWコントローラ10は、物理装置で実現されてもよく、仮想マシンで実現されてもよい。なお、仮想NWコントローラ10についての具体的な構成や処理については、後に詳述する。   The virtual NW controller 10 is a communication control device that manages communication devices and virtual machines. The virtual NW controller 10 may be realized by a physical device or a virtual machine. A specific configuration and processing for the virtual NW controller 10 will be described in detail later.

仮想ルータ20は、ユーザが任意に作成している仮想ルータである。仮想ルータ20は、外部NW50からの着信をNATし、クライアント40と仮想LB70や仮想マシン30A〜30Cとの通信を確立する。また、仮想ルータ20は、配下の仮想NW60や仮想マシン30A〜30Cのデフォルトゲートウェイである。また、ここでユーザとは、クライアント40に対してサービスを提供するため、サーバとなる仮想マシン30A〜30Cをはじめとした通信システム100を構築しているユーザである。なお、ユーザは、通信システム100を構築するためにクラウドサービスを利用しているものとする。また、この仮想ルータ20は、物理装置で実現されてもよく、仮想マシンで実現されてもよい。   The virtual router 20 is a virtual router that is arbitrarily created by the user. The virtual router 20 NATs an incoming call from the external NW 50 and establishes communication between the client 40 and the virtual LB 70 and the virtual machines 30A to 30C. The virtual router 20 is a default gateway of the subordinate virtual NW 60 and the virtual machines 30A to 30C. Here, the user is a user who has constructed the communication system 100 including the virtual machines 30 </ b> A to 30 </ b> C serving as servers in order to provide services to the client 40. It is assumed that the user uses a cloud service to construct the communication system 100. Further, the virtual router 20 may be realized by a physical device or a virtual machine.

仮想マシン30A〜30Cは、ユーザによって任意に作成された仮想マシンであって、外部NW50に接続されたクライアント40に対するWebサービス等を提供するサーバとして機能する。なお、仮想LB70が追加された場合には、これらの仮想マシン30A〜30Cが負荷分散先のサーバ(リアルサーバ)となる。   The virtual machines 30 </ b> A to 30 </ b> C are virtual machines arbitrarily created by the user and function as a server that provides a web service or the like for the client 40 connected to the external NW 50. When the virtual LB 70 is added, these virtual machines 30A to 30C become load distribution destination servers (real servers).

また、クライアント40は、ユーザが提供するサービスの利用者が所有する端末である。図1では、クライアント40について、1台のみを図示しているが、不特定多数存在するものとする。また、外部NW50は、クライアント40が存在するネットワークであって、例えば、インターネットなどの仮想環境外部のネットワークである。   The client 40 is a terminal owned by a user of a service provided by the user. In FIG. 1, only one client 40 is illustrated, but it is assumed that there are many unspecified clients. The external NW 50 is a network in which the client 40 exists, and is a network outside the virtual environment such as the Internet, for example.

仮想NW60は、ソフトウェアによって仮想的に構築されているネットワークであり、ユーザによって任意に作成されたネットワークである。なお、仮想NW60については、例えばOpen Flowが用いられて実現されているものとし、動的にNW構成を制御することで、仮想マシンや仮想ルータにとって、仮想NW60が1台のスイッチのように振る舞うものとする。   The virtual NW 60 is a network constructed virtually by software, and is a network arbitrarily created by a user. The virtual NW 60 is realized by using, for example, Open Flow. By dynamically controlling the NW configuration, the virtual NW 60 behaves like a single switch for a virtual machine or a virtual router. Shall.

仮想LB70は、仮想マシン30A〜30Cがリアルサーバとして設定されており、ソフトウェアによって様々な負荷分散アルゴリズムに基づいた負荷分散を行う。また、仮想LB70は、One-Arm方式なので、インタフェース(IPアドレス)が一つである。仮想LB70は、このIPアドレスおよび指定した待受ポートに着信した通信をリアルサーバに負荷分散する。また、第一の実施形態に係る通信システム100では、DSR方式を採用しており、リアルサーバからクライアントへの戻りの通信(復路)である場合には、仮想LB70を経由せずに、仮想ルータ20を経由して直接要求元のクライアント40にデータが送信される。   In the virtual LB 70, the virtual machines 30A to 30C are set as real servers, and perform load distribution based on various load distribution algorithms by software. Moreover, since the virtual LB 70 is the One-Arm system, there is one interface (IP address). The virtual LB 70 distributes the load of communication received at this IP address and designated standby port to the real server. Further, in the communication system 100 according to the first embodiment, the DSR method is adopted, and in the case of the return communication (return path) from the real server to the client, the virtual router is not passed through the virtual LB 70. The data is transmitted directly to the requesting client 40 via 20.

また、第一の実施形態に係る通信システム100では、ユーザが当初、仮想マシン30Aのみでサービスを提供していたが、サービス利用者の増加によって仮想マシン30Aの負荷が高まり、処理速度の低下などでサービスに支障が出たものとする。そこで、新たに同じサービスを提供する仮想マシン30B、30Cおよび仮想LB70を導入し、3台の仮想マシン30A〜30Cにクライアント40からのリクエストを負荷分散することで解決しようとしている状況であるものとして、以下説明する。   In the communication system 100 according to the first embodiment, the user originally provided the service only with the virtual machine 30A. However, the load on the virtual machine 30A increases due to an increase in service users, and the processing speed decreases. It is assumed that the service has been hindered. Therefore, it is assumed that the situation is going to be solved by newly introducing virtual machines 30B and 30C and virtual LB 70 that provide the same service and distributing the requests from the client 40 to the three virtual machines 30A to 30C. This will be described below.

[仮想NWコントローラの構成]
次に、図2を用いて、図1に示した仮想NWコントローラ10の構成を説明する。図2は、第一の実施形態に係る仮想NWコントローラの構成を示すブロック図である。図2に示すように、仮想NWコントローラ10は、通信処理部11、制御部12および記憶部13を有する。
[Configuration of virtual NW controller]
Next, the configuration of the virtual NW controller 10 shown in FIG. 1 will be described with reference to FIG. FIG. 2 is a block diagram showing the configuration of the virtual NW controller according to the first embodiment. As illustrated in FIG. 2, the virtual NW controller 10 includes a communication processing unit 11, a control unit 12, and a storage unit 13.

通信処理部11は、接続される仮想NW60との間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部11は、仮想NW60から仮想LB70宛てのパケットを受信する。   The communication processing unit 11 controls communication regarding various information exchanged with the connected virtual NW 60. For example, the communication processing unit 11 receives a packet addressed to the virtual LB 70 from the virtual NW 60.

記憶部13は、図2に示すように、仮想LB情報記憶部13aを有する。記憶部13は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。   As shown in FIG. 2, the storage unit 13 includes a virtual LB information storage unit 13a. The storage unit 13 is, for example, a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk.

仮想LB情報記憶部13aは、仮想LB70のIPアドレスおよび待受ポートを記憶する。ここで、図3の例を用いて、仮想LB情報記憶部13aに記憶される情報の一例を説明する。図3は、第一の実施形態に係る仮想LB情報記憶部に記憶される情報の一例を示す図である。   The virtual LB information storage unit 13a stores the IP address and standby port of the virtual LB 70. Here, an example of information stored in the virtual LB information storage unit 13a will be described using the example of FIG. FIG. 3 is a diagram illustrating an example of information stored in the virtual LB information storage unit according to the first embodiment.

図3に示すように、仮想LB情報記憶部13aは、仮想LB70を識別するための名称である「仮想LB名」と、仮想LB70自身のIPアドレスである「IPアドレス」と、仮想LB70の待受ポートである「待受ポート」とを対応付けて記憶する。具体的な例を挙げて説明すると、例えば、仮想LB情報記憶部13aは、仮想LB名「仮想LB1」、IPアドレス「10.0.0.101」と、待受ポート「80」とが対応付けて記憶されている。   As illustrated in FIG. 3, the virtual LB information storage unit 13 a includes a “virtual LB name” that is a name for identifying the virtual LB 70, an “IP address” that is the IP address of the virtual LB 70 itself, and a waiting time for the virtual LB 70. The reception port “standby port” is stored in association with each other. For example, the virtual LB information storage unit 13a stores a virtual LB name “virtual LB1”, an IP address “10.0.0.101”, and a standby port “80” in association with each other. ing.

図2に戻って、制御部12は、受信部12a、往路設定部12bおよび復路設定部12cを有する。ここで、制御部12は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路やASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路である。   Returning to FIG. 2, the control unit 12 includes a receiving unit 12 a, an outward path setting unit 12 b, and a return path setting unit 12 c. Here, the control unit 12 is an electronic circuit such as a CPU (Central Processing Unit) or MPU (Micro Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

受信部12aは、仮想NW60に仮想LB70が新たに接続されると、該仮想LB70のIPアドレスおよび待受ポート番号を受信し、該IPアドレスおよび待受ポート番号を仮想LB情報記憶部13aに格納する。また、受信部12aは、仮想NW60を形成する通信機器から仮想LB70が送信先であるデータを受信する。   When a virtual LB 70 is newly connected to the virtual NW 60, the receiving unit 12a receives the IP address and standby port number of the virtual LB 70, and stores the IP address and standby port number in the virtual LB information storage unit 13a. To do. In addition, the receiving unit 12a receives data in which the virtual LB 70 is a transmission destination from communication devices that form the virtual NW 60.

ここで、図4を用いて、通信システム100において仮想LBを追加する際の処理例について説明する。図4は、第一の実施形態に係る通信システムにおいて仮想LBを追加する処理について説明する図である。   Here, a processing example when adding a virtual LB in the communication system 100 will be described with reference to FIG. FIG. 4 is a diagram illustrating processing for adding a virtual LB in the communication system according to the first embodiment.

図4に示すように、通信システム100において、ユーザが作成した仮想LB70が新たに追加され、仮想NW60に接続される。ここで通信システム100は、One-Arm方式であるため、既存のシステム構成を崩す(例えば、仮想ルータ20と仮想NW60の接続を切断して仮想LB70に付け替えを行う等)ことなく追加が可能である。   As shown in FIG. 4, in the communication system 100, a virtual LB 70 created by the user is newly added and connected to the virtual NW 60. Here, since the communication system 100 uses the One-Arm method, it can be added without breaking the existing system configuration (for example, disconnecting the connection between the virtual router 20 and the virtual NW 60 and replacing the virtual LB 70). is there.

また、図4に示すように、仮想マシン30Aには、IPアドレス「10.0.0.1」が設定され、仮想マシン30Bには、IPアドレス「10.0.0.2」が設定され、仮想マシン30Cには、IPアドレス「10.0.0.3」が設定され、仮想LB70には、IPアドレス「10.0.0.101」が設定され、仮想ルータ20には、IPアドレス「10.0.0.254」が設定されているものとする。   As shown in FIG. 4, an IP address “10.0.0.1” is set for the virtual machine 30A, an IP address “10.0.0.2” is set for the virtual machine 30B, and an IP address is set for the virtual machine 30C. Assume that the address “10.0.0.3” is set, the IP address “10.0.0.101” is set in the virtual LB 70, and the IP address “10.0.0.254” is set in the virtual router 20.

また、仮想ルータ20には、仮想マシン30Aに対応する外部NW50側IPアドレス「x.x.x.x」と、仮想LB70のIPアドレス「10.0.0.101」に関してNATルールが設定されている。具体的には、仮想ルータ20には、NATルールとして、IPアドレス「x.x.x.x」宛てに着信した通信は宛先を「10.0.0.101」宛てにDNATを行い、仮想LB70から外部への通信は送信元IPアドレスを「x.x.x.x」にSNATを行うルールが設定されている。   In the virtual router 20, NAT rules are set for the external NW 50 side IP address “x.x.x.x” corresponding to the virtual machine 30 A and the IP address “10.0.0.101” of the virtual LB 70. Specifically, in the virtual router 20, as a NAT rule, the communication received to the IP address “xxxx” is subjected to DNAT to the destination “10.0.0.101”, and the communication from the virtual LB 70 to the outside is the source IP. A rule for performing SNAT with the address “xxxx” is set.

なお、通信システム100では、全ての仮想マシン30A〜30Cのデフォルトゲートウェイは、仮想ルータ(10.0.0.254)に設定されているものとする。また、仮想NW60は、1つのスイッチとして振る舞うが、パケットの宛先が当該仮想NW60内に存在しない場合、または、宛先がどこに存在するか不明の場合は、仮想ルータ20にパケットを転送するように設定されているものとする。   In the communication system 100, the default gateway of all the virtual machines 30A to 30C is set to the virtual router (10.0.0.254). Further, the virtual NW 60 behaves as one switch, but is set to forward the packet to the virtual router 20 when the destination of the packet does not exist in the virtual NW 60 or when the destination is unknown. It is assumed that

続いて、図5を用いて、仮想LB70が追加された後において、仮想NWコントローラ10へ仮想LB70の情報を登録する処理について説明する。図5は、第一の実施形態に係る通信システムにおいて仮想NWコントローラへ仮想LBの情報を登録する処理について説明する図である。通信システム100では、ユーザの操作により仮想LB70を追加する設定が行われると、上位装置(図示省略)から自動的に仮想NWコントローラ10に通知される。   Next, a process of registering information on the virtual LB 70 in the virtual NW controller 10 after the virtual LB 70 is added will be described with reference to FIG. FIG. 5 is a diagram illustrating processing for registering virtual LB information in the virtual NW controller in the communication system according to the first embodiment. In the communication system 100, when a setting for adding the virtual LB 70 is performed by a user operation, the virtual NW controller 10 is automatically notified from a higher-level device (not shown).

図5に例示するように、仮想NWコントローラ10は、仮想LB70の宛先IP「10.0.0.101」と宛先ポート「80」とを受信する。仮想NWコントローラ10は、仮想LB70の宛先IP「10.0.0.101」と宛先ポート「80」とを、前述した仮想LB情報記憶部13aにおける「IPアドレス」と「待受ポート」として登録することで、宛先IP「10.0.0.101」、宛先ポート「80」の通信は仮想LB70に対する通信であることを判別できるようになる。   As illustrated in FIG. 5, the virtual NW controller 10 receives the destination IP “10.0.0.101” and the destination port “80” of the virtual LB 70. The virtual NW controller 10 registers the destination IP “10.0.0.101” and the destination port “80” of the virtual LB 70 as the “IP address” and the “standby port” in the virtual LB information storage unit 13a described above. It becomes possible to determine that the communication of the destination IP “10.0.0.101” and the destination port “80” is to the virtual LB 70.

図2に戻って、往路設定部12bは、クライアント40から送信された往路データを複数の仮想マシン30A〜30Cのうちのいずれかの仮想マシン30に転送する仮想LB70が接続される仮想NW60を形成する通信機器に対して、往路データの送信先IPアドレスが仮想LB70のIPアドレスであって、かつ、送信先MACアドレスが仮想LB70のMACアドレスでない場合には、送信先IPアドレスを仮想マシン30のIPアドレスに書き換える往路ルールを設定する。   Returning to FIG. 2, the outbound route setting unit 12b forms a virtual NW 60 to which a virtual LB 70 that transfers outbound data transmitted from the client 40 to any one of the virtual machines 30A to 30C is connected. If the destination IP address of the outbound data is the IP address of the virtual LB 70 and the destination MAC address is not the MAC address of the virtual LB 70, the destination IP address of the virtual machine 30 is Set a forward rule to be rewritten to an IP address.

また、往路設定部12bは、仮想NW60の通信機器に対して、送信先IPアドレスが仮想LB70のIPアドレスであるパケットを受信した場合には、仮想LB70にパケットを転送するとともに、該パケットを自仮想NWコントローラ10に対して転送する転送ルールをさらに設定する。具体的には、往路設定部12bは、仮想LB情報記憶部13aに記憶されたIPアドレスおよび待受ポートを用いて、転送ルールを設定する。   Further, when the outbound route setting unit 12b receives a packet whose destination IP address is the IP address of the virtual LB 70 from the communication device of the virtual NW 60, the forward path setting unit 12b transfers the packet to the virtual LB 70 and automatically transmits the packet. A transfer rule to be transferred to the virtual NW controller 10 is further set. Specifically, the forward path setting unit 12b sets a transfer rule using the IP address and the standby port stored in the virtual LB information storage unit 13a.

ここで、図6を用いて、仮想NW60に新たなルール(転送ルール)を追加する場合の例について説明する。図6は、第一の実施形態に係る通信システムにおいて仮想NWへルールを追加する処理について説明する図である。図6に示すように、仮想NWコントローラ10は、図5の説明において登録された仮想LB70の情報を元に、仮想NW60を制御して、転送ルール(Open Flowではフローテーブルという)を追加する。   Here, an example in which a new rule (transfer rule) is added to the virtual NW 60 will be described with reference to FIG. FIG. 6 is a diagram illustrating processing for adding a rule to the virtual NW in the communication system according to the first embodiment. As shown in FIG. 6, the virtual NW controller 10 controls the virtual NW 60 based on the information of the virtual LB 70 registered in the description of FIG. 5, and adds a transfer rule (referred to as a flow table in Open Flow).

具体的には、仮想NWコントローラ10は、転送ルールとして、「未知の送信元IPアドレスから仮想LB70宛てのパケットを受信した場合には、パケットを仮想LB70に転送しつつ、仮想NWコントローラ10にも同じパケットを送信すること」というルールを仮想NW60に追加する。   Specifically, the virtual NW controller 10 has a transfer rule “When a packet addressed to the virtual LB 70 is received from an unknown source IP address, the virtual NW controller 10 also transfers the packet to the virtual LB 70 and A rule “send the same packet” is added to the virtual NW 60.

例えば、図6の例では、転送ルールとして、「宛先IP:10.0.0.101 宛先ポート:80の仮想LBに対する通信は、仮想LBにルーティングするだけでなく、コントローラにもパケットを転送すること」というルールを仮想NW60に追加する。   For example, in the example of FIG. 6, as a transfer rule, a rule that “communication to the virtual LB of the destination IP: 10.0.0.101 destination port: 80 not only routes to the virtual LB but also transfers the packet to the controller”. Is added to the virtual NW 60.

次に、図7を用いて、仮想NW60へ往路NAT用ルール(往路ルール)を追加する処理について説明する。図7は、第一の実施形態に係る通信システムにおいて仮想NWへ往路NAT用ルールを追加する処理について説明する図である。図7に示すように、仮想NWコントローラ10は、登録された仮想LB70の情報を元に、仮想NW60を制御して、往路ルール(Open Flowではフローテーブル)を追加する。   Next, processing for adding a forward NAT rule (outward rule) to the virtual NW 60 will be described with reference to FIG. FIG. 7 is a diagram illustrating processing for adding a forward NAT rule to the virtual NW in the communication system according to the first embodiment. As illustrated in FIG. 7, the virtual NW controller 10 controls the virtual NW 60 based on the registered virtual LB 70 information, and adds a forward rule (a flow table in Open Flow).

仮想NWコントローラ10は、往路ルールとして、「宛先IPが仮想LB70のIPであるが、宛先MACアドレスが仮想LBでないパケットは、仮想LB70からDSR方式でリアルサーバに転送されているパケットと見なし、宛先IPアドレスを宛先MACに対応するものであって、仮想LBのIPアドレスからいずれかの仮想マシン30のIPアドレスに書き換える」というルールを仮想NW60に追加する。   The virtual NW controller 10 determines that a packet whose destination IP address is a virtual LB 70 but whose destination MAC address is not a virtual LB is a packet that has been transferred from the virtual LB 70 to the real server by the DSR method, A rule that “the IP address corresponds to the destination MAC and is rewritten from the IP address of the virtual LB to the IP address of one of the virtual machines 30” is added to the virtual NW 60.

例えば、図7の例では、往路ルールとして、「宛先IP:10.0.0.101 宛先MAC:仮想マシン30Aの通信は、宛先IPを10.0.0.1に書き換えて仮想マシン30Aに転送する」というルールを仮想NW60に追加する。また、「宛先IP:10.0.0.101 宛先MAC:仮想マシン30Bの通信は、宛先IPを10.0.0.2に書き換えて仮想マシン30Bに転送する。」というルールを仮想NW60に追加する。また、「宛先IP:10.0.0.101 宛先MAC:仮想マシン30Cの通信は、宛先IPを10.0.0.3に書き換えて仮想マシン30Cに転送する」というルールを仮想NW60に追加する。   For example, in the example of FIG. 7, as a forward route rule, a rule “destination IP: 10.0.0.101 destination MAC: communication of the virtual machine 30A rewrites the destination IP to 10.0.0.1 and transfers it to the virtual machine 30A”. Add to. In addition, a rule “Destination IP: 10.0.0.101 Destination MAC: The communication of the virtual machine 30B rewrites the destination IP to 10.0.0.2 and transfers it to the virtual machine 30B” is added to the virtual NW 60. Also, a rule “Destination IP: 10.0.0.101 Destination MAC: Rewrite destination IP to 10.0.0.3 and transfer to virtual machine 30C for communication of virtual machine 30C” is added to virtual NW 60.

上記のように転送ルールおよび往路ルールが追加された場合の通信処理の流れについて図8および図9を用いて説明する。図8は、第一の実施形態に係る通信システムにおいてクライアントから仮想ルータに送信されるパケットに関する通信処理について説明する図である。図9は、第一の実施形態に係る通信システムにおいて仮想ルータを経由して仮想NWに到達したパケットの通信処理について説明する図である。   A flow of communication processing when the transfer rule and the forward route rule are added as described above will be described with reference to FIGS. 8 and 9. FIG. 8 is a diagram illustrating communication processing regarding a packet transmitted from a client to a virtual router in the communication system according to the first embodiment. FIG. 9 is a diagram for explaining communication processing of a packet that has reached the virtual NW via the virtual router in the communication system according to the first embodiment.

図8に示すように、クライアント40からの要求パケットが外部NW50を介して仮想ルータ20の外部IPアドレス「x.x.x.x」に着信する(図8の(1)参照)。ここで、着信したパケットのヘッダには、図8に例示するように、宛先IPとして「x.x.x.x」と、宛先ポートとして「80」と、宛先MACとして仮想ルータのMACアドレスと、送信元IPアドレスとして「a.a.a.a」と、送信元ポートとして「5000」と、送信元MACとしてクライアントのMACアドレスとが含まれる。   As shown in FIG. 8, the request packet from the client 40 arrives at the external IP address “x.x.x.x” of the virtual router 20 via the external NW 50 (see (1) in FIG. 8). Here, as illustrated in FIG. 8, the header of the incoming packet includes “xxxx” as the destination IP, “80” as the destination port, the MAC address of the virtual router as the destination MAC, and the source IP address. “Aaaa”, “5000” as the transmission source port, and the MAC address of the client as the transmission source MAC are included.

そして、仮想ルータ20は、着信したパケットをDNAT(Destination Network Address Translation)し、宛先IPアドレスを仮想LBのIPアドレスに変更する。例えば、仮想ルータ20は、パケットヘッダにおける宛先IPを「10.0.0.101」に変更し、宛先MACを「仮想LB」のMACアドレスに変更し、送信元MACを「仮想ルータ」のMACアドレスに変更する。   Then, the virtual router 20 performs DNAT (Destination Network Address Translation) on the received packet, and changes the destination IP address to the virtual LB IP address. For example, the virtual router 20 changes the destination IP in the packet header to “10.0.0.101”, changes the destination MAC to the MAC address of “virtual LB”, and changes the source MAC to the MAC address of “virtual router”. .

続いて、図9に示すように、クライアント40からの通信は仮想ルータ20を経由し、仮想NW60に到達する。そして、仮想NW60は、上記した転送ルールに基づき、パケットを仮想LB70に転送するとともに、仮想NWコントローラ10に転送する。そして、仮想NWコントローラ10が受け取ったパケットのヘッダ情報の宛先IPおよび宛先ポートが、仮想LB情報記憶部13aに記憶されているIPアドレスおよび待受ポートと一致する場合には、後述する図10を用いて詳述するが、復路ルールを仮想NW60に対して追加する。   Subsequently, as shown in FIG. 9, communication from the client 40 reaches the virtual NW 60 via the virtual router 20. Then, the virtual NW 60 transfers the packet to the virtual LB 70 and also transfers it to the virtual NW controller 10 based on the transfer rule described above. When the destination IP and the destination port of the header information of the packet received by the virtual NW controller 10 match the IP address and the standby port stored in the virtual LB information storage unit 13a, FIG. As will be described in detail, a return route rule is added to the virtual NW 60.

復路設定部12cは、クライアント40から送信された往路データの送信先が仮想LB70である場合には、仮想NW60の通信機器に対して、復路データの送信元IPアドレスを仮想LB70のIPアドレスに書き換える復路ルールを設定する。具体的には、復路設定部12cは、受信部12aによって往路データの送信先が仮想LB70である往路データが受信された場合には、仮想NW60の通信機器に対して、復路データの送信元IPアドレスを仮想LB70のIPアドレスに書き換える復路ルールを設定する。   The return path setting unit 12 c rewrites the transmission source IP address of the return path data to the IP address of the virtual LB 70 for the communication device of the virtual NW 60 when the transmission destination of the forward path data transmitted from the client 40 is the virtual LB 70. Set the return route rule. Specifically, the return route setting unit 12c, when receiving the forward route data whose destination of the forward route data is the virtual LB 70 is received by the receiving unit 12a, sends the return route data source IP to the communication device of the virtual NW 60. A return path rule for rewriting the address to the IP address of the virtual LB 70 is set.

ここで、図10を用いて、通信システムにおいて仮想NWへ復路NAT用ルール(復路ルール)を追加する処理について説明する。図10は、第一の実施形態に係る通信システムにおいて仮想NWへ復路NAT用ルールを追加する処理について説明する図である。なお、図10では、往路のパケットを仮想NW60が受信した場合に、復路NAT用ルール(復路ルール)を設定する処理について説明する。図10に示すように、仮想NWコントローラ10は、パケットを受信すると、例えば、受信したパケットのヘッダ情報の宛先IPおよび宛先ポートが、仮想LB情報記憶部13aに記憶されているIPアドレスおよび待受ポートと一致するか判別する。そして、仮想NWコントローラ10は、一致する場合には、つまり、仮想LB宛のパケットであった場合には、復路ルールを仮想NW60に追加する。   Here, a process of adding a return NAT rule (return route rule) to the virtual NW in the communication system will be described with reference to FIG. FIG. 10 is a diagram illustrating processing for adding a return NAT rule to the virtual NW in the communication system according to the first embodiment. In FIG. 10, processing for setting a return NAT rule (return route rule) when the virtual NW 60 receives a forward packet will be described. As illustrated in FIG. 10, when the virtual NW controller 10 receives a packet, for example, the destination IP and the destination port of the header information of the received packet are the IP address stored in the virtual LB information storage unit 13a and the standby port. Determine if it matches the port. The virtual NW controller 10 adds a return path rule to the virtual NW 60 if they match, that is, if the packet is addressed to the virtual LB.

仮想NWコントローラ10は、復路ルールとして、「クライアント宛の戻りの通信は、送信元IPアドレスを仮想LB70のIPに書き換えること」という復路ルールを仮想NW60に追加する。つまり、書き換えなければ仮想ルータ20で送信元IPアドレスがいずれかの仮想マシンのIPのままx.x.x.xにNATされず、別のNATルールによってクライアント40が要求を送信したIPとは異なるIPにNATされてしまい、クライアント40側に到達した時点で破棄されてしまう。このため、クライアント宛の戻りの通信は、送信元IPアドレスを仮想LB70のIPに書き換える復路ルールを仮想NW60に追加することで、クライアント側で破棄されることを防止し、適切に通信を行えるようにすることが可能である。   The virtual NW controller 10 adds a return path rule “return communication addressed to the client is to rewrite the source IP address to the IP of the virtual LB 70” as a return path rule to the virtual NW 60. That is, unless rewritten, the source IP address of the virtual router 20 is not NATed to xxxx in the virtual router 20 but is NATed to an IP different from the IP from which the client 40 sent the request by another NAT rule. Therefore, it is discarded when it reaches the client 40 side. For this reason, the return communication addressed to the client can be prevented from being discarded on the client side by adding a return route rule for rewriting the source IP address to the IP of the virtual LB 70 to the virtual NW 60 so that the communication can be performed appropriately. It is possible to

例えば、図10の例では、仮想NWコントローラ10は、復路ルールとして、「宛先IP:a.a.a.a 宛先ポート:5000 送信元ポート:80の通信は、仮想LBで負荷分散された通信の復路パケットであると見なし、送信元IPアドレスを10.0.0.101に書き換えること」という復路ルールを仮想NW60に追加する。   For example, in the example of FIG. 10, the virtual NW controller 10 indicates that the communication of “destination IP: aaaa, destination port: 5000, transmission source port: 80 is a return packet of communication load-distributed by virtual LB as a return route rule. A return path rule that “rewrites the source IP address to 10.0.0.101” is added to the virtual NW 60.

次に、図11を用いて、仮想NWコントローラ10が受け取ったパケットのヘッダ情報から、仮想NWコントローラ10に対する不要なパケット転送を抑止するために、仮想NWへ既知クライアントIP用ルールを追加する処理について説明する。図11は、第一の実施形態に係る通信システムにおいて仮想NWへ既知クライアントIP用ルールを追加する処理について説明する図である。   Next, with reference to FIG. 11, processing for adding a known client IP rule to the virtual NW in order to suppress unnecessary packet transfer to the virtual NW controller 10 from the header information of the packet received by the virtual NW controller 10. explain. FIG. 11 is a diagram illustrating processing for adding a known client IP rule to a virtual NW in the communication system according to the first embodiment.

図11に示すように、仮想NWコントローラ10は、復路ルールの追加が完了した後、仮想NW60に対して、「戻りパケット用ルール追加が完了した、既知クライアント(送信元IPアドレス)からの通信に関しては、仮想LB宛の通信であってもコントローラへ転送しないこと」という既知クライアントIP用ルールを追加する。つまり、図6に例示したように、仮想LB70宛てのパケットを転送する転送ルールを追加する処理を行ったが、仮想LB70宛てのパケットを受信すれば必要な設定が仮想NW60にされているので、2回目以降のパケット転送は不要である。このため、仮想NWコントローラ10は、復路ルール追加が完了した後、既知クライアントからの通信に関しては、仮想LB宛の通信であってもコントローラへ転送しないという既知クライアントIP用ルールを仮想NW60に追加する。   As shown in FIG. 11, the virtual NW controller 10, after completing the addition of the return route rule, notifies the virtual NW 60 about “communication from the known client (source IP address) that has completed the addition of the return packet rule”. Does not forward to the controller even if the communication is addressed to the virtual LB "is added. That is, as illustrated in FIG. 6, a process for adding a transfer rule for transferring a packet addressed to the virtual LB 70 is performed. However, if a packet addressed to the virtual LB 70 is received, a necessary setting is set in the virtual NW 60. Second and subsequent packet transfers are not necessary. For this reason, the virtual NW controller 10 adds a known client IP rule to the virtual NW 60 that does not transfer to the controller even if it is communication addressed to the virtual LB with respect to communication from the known client after the return route rule addition is completed. .

次に、前述した往路ルールおよび復路ルールが仮想NW60に追加された後の通信システム100において、クライアント40から仮想マシン30Aへ送信されるパケットの通信処理について、図12および図13を用いて説明する。図12は、第一の実施形態に係る通信システムにおいて仮想LBから仮想NWへ送信されるパケットに関する通信処理について説明する図である。図13は、第一の実施形態に係る通信システムにおいて仮想NWから仮想マシンへ送信されるパケットに関する通信処理について説明する図である。   Next, communication processing of packets transmitted from the client 40 to the virtual machine 30A in the communication system 100 after the aforementioned forward route rule and return route rule have been added to the virtual NW 60 will be described using FIG. 12 and FIG. . FIG. 12 is a diagram illustrating a communication process regarding a packet transmitted from the virtual LB to the virtual NW in the communication system according to the first embodiment. FIG. 13 is a diagram illustrating communication processing regarding a packet transmitted from the virtual NW to the virtual machine in the communication system according to the first embodiment.

図12に示すように、仮想LB70は、外部NW50および仮想ルータ20を経由して受信したクライアント40のパケットを80番ポートから受信する。そして、仮想LB70は、80番ポートに着信したパケットを、負荷分散アルゴリズムに基づいて、リアルサーバ(仮想マシン30A)に転送する。ここでは、負荷分散先として、仮想マシン30Aに振り分けるよう選択したこととする。   As illustrated in FIG. 12, the virtual LB 70 receives the packet of the client 40 received via the external NW 50 and the virtual router 20 from the 80th port. Then, the virtual LB 70 transfers the packet arriving at the 80th port to the real server (virtual machine 30A) based on the load distribution algorithm. Here, it is assumed that the load distribution destination is selected to be distributed to the virtual machine 30A.

また、DSR方式なので、パケットの宛先IPは、仮想LB70のIPアドレスのままNATされずにリアルサーバに転送される。つまり、仮想LB70では、NATを行わないことで、通信負荷を低く抑えることができる。ただし、宛先MACがリアルサーバのMACアドレスに変更される。例えば、図12の例では、仮想ルータ20から仮想LB70に送信されたパケットのヘッダに含まれる宛先MACが「仮想LB」から「仮想マシン30A」に変更され、送信元MACについても「仮想ルータ」から「仮想LB」に変更される。   Further, because of the DSR method, the destination IP address of the packet is transferred to the real server without being NATed with the IP address of the virtual LB 70. That is, in the virtual LB 70, the communication load can be reduced by not performing NAT. However, the destination MAC is changed to the MAC address of the real server. For example, in the example of FIG. 12, the destination MAC included in the header of the packet transmitted from the virtual router 20 to the virtual LB 70 is changed from “virtual LB” to “virtual machine 30A”, and the source MAC is also “virtual router”. To “virtual LB”.

次に、図13に示すように、仮想LB70から転送されたパケットが仮想NW60を介して仮想マシン30Aに到達する。ここで、仮想NW60をパケットが経由する際、仮想NW60は、前述の図7の説明において設定された往路ルールに基づき、パケットの宛先IPを宛先MACに対応する仮想マシン30AのIPにDNATしたうえで当該仮想マシン30Aに転送する。つまり、仮想マシン30AにDSR方式向けの設定をしていないため、宛先IPが仮想マシン30Aのものと異なっているとパケットが破棄されてしまうためである。このため、第一の実施形態に係る通信システム100では、例えば、DSR方式向けの設定として、仮想マシン30のループバックデバイスに仮想LB70のIPアドレスを設定し、かつ当該IPアドレス宛のARPに仮想マシン30が応答しないようにする等の設定を仮想マシン30に対して個別に行わなくてもよい。   Next, as illustrated in FIG. 13, the packet transferred from the virtual LB 70 reaches the virtual machine 30 </ b> A via the virtual NW 60. Here, when a packet passes through the virtual NW 60, the virtual NW 60 performs DNAT on the destination IP of the packet to the IP of the virtual machine 30A corresponding to the destination MAC based on the forward route rule set in the description of FIG. To transfer to the virtual machine 30A. That is, since the virtual machine 30A is not set for the DSR method, the packet is discarded if the destination IP is different from that of the virtual machine 30A. For this reason, in the communication system 100 according to the first embodiment, for example, as the setting for the DSR method, the IP address of the virtual LB 70 is set in the loopback device of the virtual machine 30, and the ARP addressed to the IP address is virtual. Settings such as preventing the machine 30 from responding do not have to be performed individually for the virtual machines 30.

例えば、図13の例では、往路ルールとして「宛先IP:10.0.0.101 宛先MAC:仮想マシン30Aの通信は、仮想LB70で負荷分散された往路パケットであると見なし、宛先IPを宛先MACに対応するリアルサーバ(仮想マシン30A)のアドレス10.0.0.1に書き換えて仮想マシン30Aに転送」するというルールに従って、パケットのヘッダに含まれる宛先IPを「10.0.0.101」を「10.0.0.1」に変更する。   For example, in the example of FIG. 13, the destination rule is “destination IP: 10.0.0.101 destination MAC: the communication of the virtual machine 30A is considered to be a forward packet that is load-distributed by the virtual LB 70, and the destination IP corresponds to the destination MAC. The destination IP included in the header of the packet is changed from “10.0.0.101” to “10.0.0.1” in accordance with the rule “rewrite to the address 10.0.0.1 of the real server (virtual machine 30A) and transfer to the virtual machine 30A”.

次に、前述した往路ルールおよび復路ルールが仮想NW60に追加された後の通信システム100において、仮想マシン30Aからクライアント40へ送信されるパケットの通信処理について、図14〜図16を用いて説明する。図14は、第一の実施形態に係る通信システムにおいて仮想マシンから仮想NWへ送信されるパケットに関する通信処理について説明する図である。図15は、第一の実施形態に係る通信システムにおいて仮想NWから仮想ルータへ送信されるパケットに関する通信処理について説明する図である。図16は、第一の実施形態に係る通信システムにおいて仮想ルータからクライアントへ送信されるパケットに関する通信処理について説明する図である。   Next, communication processing of packets transmitted from the virtual machine 30A to the client 40 in the communication system 100 after the aforementioned forward route rule and return route rule are added to the virtual NW 60 will be described with reference to FIGS. . FIG. 14 is a diagram illustrating a communication process regarding a packet transmitted from the virtual machine to the virtual NW in the communication system according to the first embodiment. FIG. 15 is a diagram illustrating communication processing regarding a packet transmitted from the virtual NW to the virtual router in the communication system according to the first embodiment. FIG. 16 is a diagram illustrating communication processing regarding a packet transmitted from the virtual router to the client in the communication system according to the first embodiment.

図14に示すように、リアルサーバである仮想マシン30Aは、仮想LB70からのパケットを受信し、それに対する応答として、図14の(5)に例示するヘッダを持つパケットを送信する。なお、これは送信元のIPとポートに向けて応答を返そうとする、一般的な動作であり、デフォルトゲートウェイは仮想ルータなので、宛先MACは仮想ルータのものとなっている。   As illustrated in FIG. 14, the virtual machine 30 </ b> A that is a real server receives a packet from the virtual LB 70, and transmits a packet having a header illustrated in FIG. 14 (5) as a response thereto. This is a general operation for returning a response toward the source IP and port. Since the default gateway is a virtual router, the destination MAC is that of the virtual router.

次に、図15に示すように、仮想マシン30Aからのパケットが仮想NW60を経由し、仮想ルータ20に到達する際の処理について説明する。ここで、仮想NW60を経由する際、仮想NW60は、前述の図10の説明において設定された復路ルールに基づき、送信元IPアドレスを仮想マシン30AのIPから仮想LB70のIPに書き換えて転送する。これは、送信元IPアドレスが仮想LB70のIPでなければ仮想ルータ20で正しくNATされず、クライアント40側に到達した時点でパケットが破棄されてしまうため、送信元IPアドレスを仮想マシン30AのIPから仮想LB70のIPに書き換えてパケットが破棄されないようにしている。   Next, processing when a packet from the virtual machine 30A reaches the virtual router 20 via the virtual NW 60 as shown in FIG. 15 will be described. Here, when passing through the virtual NW 60, the virtual NW 60 rewrites and transfers the transmission source IP address from the IP of the virtual machine 30A to the IP of the virtual LB 70 based on the return path rule set in the description of FIG. This is because if the source IP address is not the IP of the virtual LB 70, the virtual router 20 does not perform NAT correctly, and the packet is discarded when it reaches the client 40 side, so the source IP address is set to the IP of the virtual machine 30A. To rewrite the IP of the virtual LB 70 so that the packet is not discarded.

例えば、図15の例では、送信元IPアドレスを仮想マシン30Aに対応する「10.0.0.1」から仮想LB70に対応する「10.0.0.101」に変更する。これにより、仮想ルータ20では、「10.0.0.101」から「x.x.x.x」に正しくNATされ、クライアント40側に到達した時点でパケットが破棄されることがなく、適切に通信を行うことが可能である。   For example, in the example of FIG. 15, the transmission source IP address is changed from “10.0.0.1” corresponding to the virtual machine 30A to “10.0.0.101” corresponding to the virtual LB 70. As a result, the virtual router 20 is correctly NATed from “10.0.0.101” to “x.x.x.x”, and when reaching the client 40 side, the packet is not discarded, and appropriate communication can be performed.

つまり、例えば、送信元IPアドレスが仮想マシン30Aのアドレスのままでは、図10に例示するように仮想マシン30Aに対応する外部NW側IPである「y.y.y.y」にNATされ、クライアント40が送信元IPアドレス「x.x.x.x」と違うIPから受信することとなり、破棄されるからである。これに対して、第一の実施形態に係る通信システム100では、送信元IPアドレスを仮想マシン30Aに対応する「10.0.0.1」から仮想LB70に対応する「10.0.0.101」に変更することで、送信元IPアドレスを「10.0.0.101」から「x.x.x.x」に正しくNATしているので、パケットが破棄されることはなく、適切に通信を行うことができる。   That is, for example, if the source IP address remains the address of the virtual machine 30A, as illustrated in FIG. 10, NAT is performed to “yyyy”, which is the external NW side IP corresponding to the virtual machine 30A, and the client 40 receives the source IP address. This is because it is received from an IP different from the address “xxxx” and discarded. In contrast, in the communication system 100 according to the first embodiment, by changing the transmission source IP address from “10.0.0.1” corresponding to the virtual machine 30A to “10.0.0.101” corresponding to the virtual LB 70, Since the source IP address is correctly NATed from “10.0.0.101” to “xxxx”, the packet is not discarded and communication can be performed appropriately.

次に、図16に示すように、仮想ルータ20は、仮想マシン30Aからクライアント40に宛てた復路のパケットを受信すると、図15を用いて前述したように、パケットの送信元IPアドレスが仮想LB70のIPに書き換えられているため、仮想ルータ20は自身のNATテーブルに従って送信元IPアドレスを仮想マシン30Aに対応する外部NW側IPであるx.x.x.xにSNATしてクライアント40に転送する。図16に例示するように、仮想ルータ20は、送信元IPアドレスが「10.0.0.101」から「x.x.x.x」に、SNATしてクライアント40に転送する。   Next, as illustrated in FIG. 16, when the virtual router 20 receives a return packet addressed to the client 40 from the virtual machine 30A, as described above with reference to FIG. 15, the transmission source IP address of the packet is the virtual LB 70. Therefore, the virtual router 20 performs SNAT on the source IP address according to its own NAT table to xxxx which is the external NW side IP corresponding to the virtual machine 30A and transfers the IP address to the client 40. As illustrated in FIG. 16, the virtual router 20 performs SNAT on the transmission source IP address from “10.0.0.101” to “x.x.x.x” and transfers it to the client 40.

このように、第一の実施形態に係る通信システム100では、仮想NW60による動的な経路制御を併用することで、One-Arm方式を採用した仮想LB70を導入可能とする。また、通信システム100による方式では、ユーザが任意に作成してリアルサーバとして利用する仮想マシン30に対して、仮想LB70をOne-Arm方式で利用するための個別設定が不要であり、さらにクライアントのIPアドレスをリアルサーバに通知可能とする。このように第一の実施形態に係る通信システム100では、One-Arm方式を利用するための設定にかかる負担を軽減することが可能である。   As described above, in the communication system 100 according to the first embodiment, the virtual LB 70 adopting the One-Arm method can be introduced by using the dynamic route control by the virtual NW 60 together. Further, in the method using the communication system 100, individual setting for using the virtual LB 70 in the One-Arm method is not required for the virtual machine 30 that is arbitrarily created by the user and used as a real server, and further the client's An IP address can be notified to a real server. As described above, in the communication system 100 according to the first embodiment, it is possible to reduce the burden on the setting for using the One-Arm method.

また、通信システム100では、仮想NW60による動的な経路制御を併用し、DSR方式を採用した仮想LB70を導入可能とする。通信システム100の方式では、ユーザが任意に作成してリアルサーバとして利用する仮想マシン30に対して、DSR方式を利用するための個別設定が不要であり、DSR方式を利用するための設定にかかる負担を軽減することが可能である。   Further, in the communication system 100, it is possible to introduce the virtual LB 70 adopting the DSR method by using the dynamic route control by the virtual NW 60 together. In the method of the communication system 100, individual setting for using the DSR method is not required for the virtual machine 30 that is arbitrarily created by the user and used as a real server, and setting for using the DSR method is required. It is possible to reduce the burden.

仮想NWコントローラ10は、仮想NW60に対して「宛先IPが仮想ロードバランサのIPだが、宛先MACが仮想ロードバランサでないパケットは、仮想ロードバランサからDSR方式で仮想マシン宛に転送されているパケットと見なし、宛先IPアドレスを宛先MACに対応する仮想マシンのIPアドレスに書き換える」という往路ルール(Open Flowにおけるフローテーブルに相当)を追加する。これにより、仮想マシンに特別な設定をせずとも、仮想マシンが仮想ロードバランサから転送(負荷分散)されてきたパケットを自分宛のものとして正常に処理することが可能となる。   The virtual NW controller 10 regards the virtual NW 60 as “a packet whose destination IP is a virtual load balancer but whose destination MAC is not a virtual load balancer is a packet transferred from the virtual load balancer to the virtual machine by the DSR method. , Rewrite the destination IP address to the IP address of the virtual machine corresponding to the destination MAC ”(corresponding to the flow table in Open Flow). As a result, it is possible to normally process the packet transferred from the virtual load balancer (load distribution) to the virtual machine as being addressed to the virtual machine without any special setting for the virtual machine.

また、仮想NWコントローラ10は、仮想LB70宛のパケットを検知したとき、仮想NW60に対して復路ルールを追加し、負荷分散先の仮想マシンからクライアントへ戻るパケット(通信の復路)が正しく仮想ルータでNATされ、クライアント40が正常に受け取れるようにする。具体的には、「宛先IP、宛先ポートが仮想LB宛パケット(往路における仮想LB宛パケット)の送信元IPアドレス、送信元ポートに一致しており、送信元ポートが仮想LBの待ち受けポートに一致している通信は、仮想LB70で負荷分散された通信の復路パケットであると見なし、送信元IPアドレスを仮想ロードバランサのIPアドレスに書き換える」という復路ルールを仮想ネットワークに追加する。なお、この復路ルールが無い場合、仮想ルータ20で復路パケットの送信元IPアドレスをクライアント40からの往路パケットの宛先IPアドレス(つまり、仮想ルータのNATルールで仮想ロードバランサの内部IPと対応付けられているIPアドレス)に変換することができず、別のNATルールによってクライアントが要求を送信したIPとは異なるIPにNATされてしまい、復路パケットがクライアント40側に到達した時点で破棄されてしまうという問題が起こる。   When the virtual NW controller 10 detects a packet addressed to the virtual LB 70, the virtual NW controller 10 adds a return route rule to the virtual NW 60, and the packet (communication return route) returned from the load balancing destination virtual machine to the client is correctly transmitted by the virtual router. NATed so that the client 40 can receive normally. Specifically, “the destination IP and the destination port match the source IP address and the source port of the packet destined for the virtual LB (the packet destined for the virtual LB in the forward path), and the source port matches the standby port of the virtual LB. The received communication is regarded as a return packet of the communication whose load is distributed by the virtual LB 70, and a return route rule “rewrite the source IP address to the IP address of the virtual load balancer” is added to the virtual network. If there is no return route rule, the virtual router 20 associates the source IP address of the return route packet with the destination IP address of the forward route packet from the client 40 (that is, the virtual router's NAT rule matches the internal IP of the virtual load balancer). The IP address is different from the IP to which the client sent the request due to another NAT rule, and the return packet is discarded when it reaches the client 40 side. The problem occurs.

[仮想NWコントローラ10による処理]
次に、図17および図18を用いて、第一の実施形態に係る仮想NWコントローラ10による処理を説明する。図17は、第一の実施形態に係る仮想NWコントローラにおける往路設定処理の流れを説明するためのフローチャートである。図18は、第一の実施形態に係る仮想NWコントローラにおける復路設定処理の流れを説明するためのフローチャートである。
[Processing by Virtual NW Controller 10]
Next, processing performed by the virtual NW controller 10 according to the first embodiment will be described with reference to FIGS. 17 and 18. FIG. 17 is a flowchart for explaining the flow of the forward path setting process in the virtual NW controller according to the first embodiment. FIG. 18 is a flowchart for explaining the flow of return path setting processing in the virtual NW controller according to the first embodiment.

まず、図17を用いて、仮想NWコントローラ10における往路設定処理の流れを説明する。図17に示すように、仮想NWコントローラ10は、仮想LB70の情報を受信したか否かを判定する(ステップ101)。例えば、仮想NWコントローラ10は、仮想LB70の情報として、仮想NW60に新たに接続された仮想LB70のIPアドレスおよび待受ポート番号を受信したか否かを判定する。この結果、仮想NWコントローラ10は、仮想LB70の情報を受信すると(ステップ101肯定)、「未知の送信元IPアドレスから仮想LB70宛のパケットを受信した場合、パケットを仮想LB70に転送しつつ、自コントローラにも同じパケットを送信する」というルール(転送ルール)を仮想NW60に追加する(ステップ102)。   First, the flow of the forward path setting process in the virtual NW controller 10 will be described with reference to FIG. As illustrated in FIG. 17, the virtual NW controller 10 determines whether information on the virtual LB 70 has been received (step 101). For example, the virtual NW controller 10 determines whether or not the IP address and the standby port number of the virtual LB 70 newly connected to the virtual NW 60 have been received as the virtual LB 70 information. As a result, when the virtual NW controller 10 receives the information of the virtual LB 70 (Yes at Step 101), “If a packet addressed to the virtual LB 70 is received from an unknown source IP address, the virtual NW controller 10 automatically transfers the packet to the virtual LB 70 while receiving the packet. A rule (transfer rule) “send the same packet to the controller” is added to the virtual NW 60 (step 102).

そして、仮想NWコントローラ10は、宛先IPが仮想LB70のIPであるが、宛先MACが仮想LB70でないパケットは、仮想LB70からDSR方式でリアルサーバ(仮想マシン30)に転送されているパケットと見なし、宛先IPアドレスを宛先MACに対応するもの(仮想LB70のIPアドレスからいずれかの仮想マシンのIPアドレス)に書き換えるというルール(往路ルール)を仮想NW60に追加する(ステップ103)。   The virtual NW controller 10 regards a packet whose destination IP is the virtual LB 70 IP but whose destination MAC is not the virtual LB 70 as a packet transferred from the virtual LB 70 to the real server (virtual machine 30) by the DSR method. A rule (outbound path rule) of rewriting the destination IP address to the one corresponding to the destination MAC (from the IP address of the virtual LB 70 to the IP address of any virtual machine) is added to the virtual NW 60 (step 103).

次に、図18を用いて、仮想NWコントローラ10における復路設定処理の流れを説明する。図18に示すように、仮想NWコントローラ10は、仮想NW60から往路のパケットを受信すると(ステップ201肯定)、受信した往路のパケットが仮想LB70宛てのパケットであるか否かを判定する(ステップ202)。具体的には、仮想NWコントローラ10は、受信した往路のパケットのヘッダに含まれる宛先IPおよび宛先ポートが仮想LB情報記憶部13aに記憶されたIPアドレスおよび待受ポートと一致するか否かを判定する。   Next, the flow of the return path setting process in the virtual NW controller 10 will be described with reference to FIG. As illustrated in FIG. 18, when the virtual NW controller 10 receives a forward packet from the virtual NW 60 (Yes in Step 201), the virtual NW controller 10 determines whether the received forward packet is a packet addressed to the virtual LB 70 (Step 202). ). Specifically, the virtual NW controller 10 determines whether the destination IP and the destination port included in the header of the received forward packet match the IP address and the standby port stored in the virtual LB information storage unit 13a. judge.

この結果、仮想NWコントローラ10は、受信した往路のパケットが仮想LB70宛てのパケットであると判定した場合には(ステップ202肯定)、「クライアント宛ての戻り通信は、送信元IPアドレスを仮想LB70のIPに書き換える」というルール(復路ルール)を仮想NW60に追加する(ステップ203)。また、仮想NWコントローラ10は、受信したパケットが仮想LB70宛てのパケットでないと判定した場合には(ステップ202否定)、そのまま処理を終了する。   As a result, when the virtual NW controller 10 determines that the received forward packet is a packet addressed to the virtual LB 70 (Yes in Step 202), “the return communication addressed to the client sets the source IP address of the virtual LB 70. The rule “rewrite to IP” (return route rule) is added to the virtual NW 60 (step 203). If the virtual NW controller 10 determines that the received packet is not a packet addressed to the virtual LB 70 (No at step 202), the virtual NW controller 10 ends the process as it is.

[第一の実施形態の効果]
上述してきたように、第一の実施形態に係る通信システム100の仮想NWコントローラ10は、クライアント40から送信された往路データを複数の仮想マシン30A〜30Cのうちのいずれかの仮想マシン30に転送する仮想LB70が接続される仮想NW60を形成する通信機器に対して、往路データの送信先IPアドレスが仮想LB70のIPアドレスであって、かつ、送信先MACアドレスが仮想LB70のMACアドレスでない場合には、送信先IPアドレスを仮想マシン30のIPアドレスに書き換える往路ルールを設定する。そして、仮想NWコントローラ10は、クライアント40から送信された往路データの送信先が仮想LB70である場合には、通信機器に対して、復路データの送信元IPアドレスを仮想LB70のIPアドレスに書き換える復路ルールを設定する。このため、One-Arm方式およびDSR方式を利用するため負担を軽減し、適切にサービスを提供することが可能である。
[Effect of the first embodiment]
As described above, the virtual NW controller 10 of the communication system 100 according to the first embodiment transfers the outbound data transmitted from the client 40 to any one of the virtual machines 30A to 30C. When the destination IP address of the outbound data is the IP address of the virtual LB 70 and the destination MAC address is not the MAC address of the virtual LB 70, for a communication device forming the virtual NW 60 to which the virtual LB 70 to be connected is connected Sets a forward rule for rewriting the destination IP address to the IP address of the virtual machine 30. When the destination of the forward path data transmitted from the client 40 is the virtual LB 70, the virtual NW controller 10 rewrites the transmission source IP address of the return path data to the IP address of the virtual LB 70 for the communication device. Set rules. For this reason, since the One-Arm method and the DSR method are used, it is possible to reduce a burden and provide a service appropriately.

つまり、上述したように、第一の実施形態に係る通信システム100では、仮想NW60による動的な経路制御を併用することで、One-Arm方式を採用した仮想LB70を導入可能とする。例えば、図19に例示するように、ユーザが、サービスを提供中の仮想マシンの負荷が大きくなってきたので、仮想ロードバランサを導入して負荷分散したい場合に、ユーザが任意に作成してリアルサーバとして利用する仮想マシン30に対して、仮想LB70をOne-Arm方式で利用するための個別設定が不要である。このため、第一の実施形態に係る通信システム100では、One-Arm方式を利用するための設定にかかる負担を軽減することが可能である。   That is, as described above, in the communication system 100 according to the first embodiment, the virtual LB 70 adopting the One-Arm method can be introduced by using the dynamic route control by the virtual NW 60 together. For example, as illustrated in FIG. 19, since the load of a virtual machine that is providing a service has increased, the user can arbitrarily create a virtual load balancer and create a real For the virtual machine 30 used as a server, individual setting for using the virtual LB 70 by the One-Arm method is not necessary. For this reason, in the communication system 100 according to the first embodiment, it is possible to reduce the burden on the setting for using the One-Arm method.

また、通信システム100では、仮想NW60による動的な経路制御を併用し、DSR方式を採用した仮想LB70を導入可能とする。通信システム100の方式では、ユーザが任意に作成してリアルサーバとして利用する仮想マシン30に対して、DSR方式を利用するための個別設定が不要であり、DSR方式を利用するための設定にかかる負担を軽減することが可能である。このように、既存の仮想環境の構成を変更せずに、処理性能の高いDSR方式で仮想ロードバランサを追加可能となる。   Further, in the communication system 100, it is possible to introduce the virtual LB 70 adopting the DSR method by using the dynamic route control by the virtual NW 60 together. In the method of the communication system 100, individual setting for using the DSR method is not required for the virtual machine 30 that is arbitrarily created by the user and used as a real server, and setting for using the DSR method is required. It is possible to reduce the burden. In this way, it is possible to add a virtual load balancer using the DSR method with high processing performance without changing the configuration of the existing virtual environment.

つまり、仮想LB70でSNATをしない場合、あるいはユーザが作成した負荷分散先の仮想マシン30に個別の設定をしない場合であっても、仮想ロードバランサをOne-Arm方式で導入することが可能となるため、既存のネットワーク構成への影響を抑えつつ簡単に導入することが可能である。また、ユーザの仮想マシン30に個別の設定をすることなくDSR方式のロードバランスを実現することができるため、仮想LB70の負荷を低く抑え、高速な負荷分散が可能となる。従って、ユーザは既存の仮想環境上システムに対して簡単に仮想LB70を導入することが可能というOne-Arm方式のメリットを享受でき、事業者はDSR方式によるユーザエクスペリエンスの向上とデータセンタ内の計算資源やネットワーク資源の消費抑制というメリットが得られる。   In other words, even when the virtual LB 70 does not perform SNAT or when individual settings are not made for the load balancing destination virtual machine 30 created by the user, the virtual load balancer can be introduced by the One-Arm method. Therefore, it can be easily introduced while suppressing the influence on the existing network configuration. In addition, since the load balance of the DSR method can be realized without making individual settings in the user's virtual machine 30, the load on the virtual LB 70 can be kept low and high-speed load distribution can be achieved. Therefore, the user can enjoy the benefits of the One-Arm method that allows the user to easily introduce the virtual LB70 into the system on the existing virtual environment, and the operator can improve the user experience by the DSR method and calculate in the data center. The advantage of reducing consumption of resources and network resources can be obtained.

このように、ユーザが仮想環境上に構築したシステムに、One-Arm方式かつDSR方式を採用した仮想LB70を導入する際にSNATや仮想マシンに対する特別な設定が必要であったが、仮想NW60による動的な経路制御を利用することでSNATと仮想マシンへの設定をすることなく導入が可能となった。これによって、既存の仮想環境上システムに対する影響を最小限に抑えつつ、低い負荷で高速な負荷分散が可能な仮想ロードバランサが実現されるため、ユーザエクスペリエンス向上や、クラウド事業者の計算資源、ネットワーク資源の効率的な利用が可能となる。   As described above, when the virtual LB 70 adopting the One-Arm method and the DSR method is introduced into the system constructed on the virtual environment by the user, special settings for the SNAT and the virtual machine are necessary. Using dynamic path control, it is possible to install without setting to SNAT and virtual machine. As a result, a virtual load balancer capable of high-speed load balancing with low load while minimizing the impact on the system in the existing virtual environment is realized, improving the user experience, computing resources of the cloud operator, network Efficient use of resources becomes possible.

[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、往路設定部12bと復路設定部12cとを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[System configuration, etc.]
Each component of each illustrated device is functionally conceptual and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. For example, the outbound path setting unit 12b and the inbound path setting unit 12c may be integrated. Further, all or any part of each processing function performed in each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic.

また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。   In addition, among the processes described in the present embodiment, all or part of the processes described as being performed automatically can be performed manually, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedure, control procedure, specific name, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.

[プログラム]
また、上記実施形態において説明した仮想NWコントローラ10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、第一の実施形態に係る仮想NWコントローラ10が実行する処理をコンピュータが実行可能な言語で記述した通信制御プログラムを作成することもできる。この場合、コンピュータが通信制御プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる通信制御プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録され通信制御プログラムをコンピュータに読み込ませて実行することにより上記第一の実施形態と同様の処理を実現してもよい。以下に、図2に示した仮想NWコントローラ10と同様の機能を実現する通信制御プログラムを実行するコンピュータの一例を説明する。
[program]
In addition, it is possible to create a program in which the processing executed by the virtual NW controller 10 described in the above embodiment is described in a language that can be executed by a computer. For example, it is possible to create a communication control program in which processing executed by the virtual NW controller 10 according to the first embodiment is described in a language that can be executed by a computer. In this case, when the computer executes the communication control program, it is possible to obtain the same effect as in the above embodiment. Further, the communication control program is recorded on a computer-readable recording medium, and the same processing as in the first embodiment is realized by recording the communication control program on the recording medium and causing the computer to read and execute the communication control program. May be. Hereinafter, an example of a computer that executes a communication control program that realizes the same function as the virtual NW controller 10 illustrated in FIG. 2 will be described.

図20は、通信制御プログラムを実行するコンピュータ1000を示す図である。図20に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。   FIG. 20 is a diagram illustrating a computer 1000 that executes a communication control program. As illustrated in FIG. 20, the computer 1000 includes, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.

メモリ1010は、図20に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図20に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、図20に例示するように、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、図20に例示するように、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、図20に例示するように、例えばディスプレイ1130に接続される。   The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012 as illustrated in FIG. The ROM 1011 stores a boot program such as BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1090 as illustrated in FIG. The disk drive interface 1040 is connected to the disk drive 1100 as illustrated in FIG. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100. The serial port interface 1050 is connected to a mouse 1110 and a keyboard 1120, for example, as illustrated in FIG. The video adapter 1060 is connected to a display 1130, for example, as illustrated in FIG.

ここで、図20に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の通信制御プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。   Here, as illustrated in FIG. 20, the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the communication control program is stored in, for example, the hard disk drive 1090 as a program module in which a command executed by the computer 1000 is described.

また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種処理手順を実行する。   In addition, various data described in the above embodiment is stored as program data in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as necessary, and executes various processing procedures.

なお、通信制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、通信制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。   Note that the program module 1093 and the program data 1094 related to the communication control program are not limited to being stored in the hard disk drive 1090, but are stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive or the like. Also good. Alternatively, the program module 1093 and the program data 1094 related to the communication control program are stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.), and the network interface 1070 is stored. Via the CPU 1020.

10 仮想NWコントローラ
11 通信処理部
12 制御部
12a 受信部
12b 往路設定部
12c 復路設定部
13 記憶部
13a 仮想LB情報記憶部
20 仮想ルータ
30A〜30C 仮想マシン
40 クライアント
50 外部NW
60 仮想NW
70 仮想LB
100 通信システム
DESCRIPTION OF SYMBOLS 10 Virtual NW controller 11 Communication processing part 12 Control part 12a Receiving part 12b Outbound path setting part 12c Return path setting part 13 Memory | storage part 13a Virtual LB information memory | storage part 20 Virtual router 30A-30C Virtual machine 40 Client 50 External NW
60 virtual network
70 virtual LB
100 communication system

Claims (5)

クライアント端末から送信された往路データを複数の仮想マシンのうちのいずれかの仮想マシンに転送するロードバランサが接続される仮想ネットワークを形成する通信機器に対して、前記往路データの送信先IPアドレスがロードバランサのIPアドレスであって、かつ、送信先MACアドレスがロードバランサのMACアドレスでない場合には、前記送信先IPアドレスを前記仮想マシンのIPアドレスに書き換える往路ルールを設定する往路設定部と、
前記クライアント端末から送信された往路データの送信先がロードバランサである場合には、前記通信機器に対して、復路データの送信元IPアドレスをロードバランサのIPアドレスに書き換える復路ルールを設定する復路設定部と、
を備えることを特徴とする通信制御装置。
For a communication device forming a virtual network to which a load balancer that transfers outbound data transmitted from a client terminal to any one of a plurality of virtual machines is connected, the destination IP address of the outbound data is A forward path setting unit for setting a forward path rule for rewriting the destination IP address to the IP address of the virtual machine when the IP address of the load balancer and the destination MAC address is not the MAC address of the load balancer;
When the destination of the forward path data transmitted from the client terminal is a load balancer, a return path setting for setting a return path rule for rewriting the source IP address of the return path data to the IP address of the load balancer for the communication device And
A communication control apparatus comprising:
前記往路設定部は、前記通信機器に対して、送信先IPアドレスがロードバランサのIPアドレスであるデータを受信した場合には、前記ロードバランサに前記データを転送するとともに、該データを自通信制御装置に対して転送する転送ルールをさらに設定し、
前記通信機器から前記ロードバランサが送信先であるデータを受信する受信部をさらに備え、
前記復路設定部は、前記受信部によって前記データが受信された場合には、前記通信機器に対して、復路データの送信元IPアドレスをロードバランサのIPアドレスに書き換える復路ルールを設定することを特徴とする請求項1に記載の通信制御装置。
The forward path setting unit, when receiving data whose destination IP address is the IP address of the load balancer for the communication device, transfers the data to the load balancer and controls the data for self-communication Set further transfer rules to transfer to the device,
A receiving unit that receives data from the communication device that is the destination of the load balancer;
The return path setting unit sets a return path rule for rewriting the transmission source IP address of the return path data to the IP address of the load balancer for the communication device when the data is received by the receiving unit. The communication control device according to claim 1.
前記受信部は、さらに、前記仮想ネットワークにロードバランサが新たに接続されると、該ロードバランサのIPアドレスを受信し、該IPアドレスを記憶部に格納し、
前記往路設定部は、前記記憶部に記憶されたIPアドレスを用いて、前記転送ルールを設定することを特徴とする請求項2に記載の通信制御装置。
The receiving unit further receives an IP address of the load balancer when a load balancer is newly connected to the virtual network, stores the IP address in a storage unit,
The communication control apparatus according to claim 2, wherein the forward path setting unit sets the transfer rule using an IP address stored in the storage unit.
通信制御装置で実行される通信制御方法であって、
クライアント端末から送信された往路データを複数の仮想マシンのうちのいずれかの仮想マシンに転送するロードバランサが接続される仮想ネットワークを形成する通信機器に対して、前記往路データの送信先IPアドレスがロードバランサのIPアドレスであって、かつ、送信先MACアドレスがロードバランサのMACアドレスでない場合には、前記送信先IPアドレスを前記仮想マシンのIPアドレスに書き換える往路ルールを設定する往路設定工程と、
前記クライアント端末から送信された往路データの送信先がロードバランサである場合には、前記通信機器に対して、復路データの送信元IPアドレスをロードバランサのIPアドレスに書き換える復路ルールを設定する復路設定工程と、
を含んだことを特徴とする通信制御方法。
A communication control method executed by a communication control device,
For a communication device forming a virtual network to which a load balancer that transfers outbound data transmitted from a client terminal to any one of a plurality of virtual machines is connected, the destination IP address of the outbound data is A forward path setting step of setting a forward path rule for rewriting the destination IP address to the IP address of the virtual machine when the IP address of the load balancer and the destination MAC address is not the MAC address of the load balancer;
When the destination of the forward path data transmitted from the client terminal is a load balancer, a return path setting for setting a return path rule for rewriting the source IP address of the return path data to the IP address of the load balancer for the communication device Process,
The communication control method characterized by including.
クライアント端末から送信された往路データを複数の仮想マシンのうちのいずれかの仮想マシンに転送するロードバランサが接続される仮想ネットワークを形成する通信機器に対して、前記往路データの送信先IPアドレスがロードバランサのIPアドレスであって、かつ、送信先MACアドレスがロードバランサのMACアドレスでない場合には、前記送信先IPアドレスを前記仮想マシンのIPアドレスに書き換える往路ルールを設定する往路設定ステップと、
前記クライアント端末から送信された往路データの送信先がロードバランサである場合には、前記通信機器に対して、復路データの送信元IPアドレスをロードバランサのIPアドレスに書き換える復路ルールを設定する復路設定ステップと、
をコンピュータに実行させるための通信制御プログラム。
For a communication device forming a virtual network to which a load balancer that transfers outbound data transmitted from a client terminal to any one of a plurality of virtual machines is connected, the destination IP address of the outbound data is A forward path setting step for setting a forward path rule for rewriting the destination IP address to the IP address of the virtual machine when the IP address of the load balancer and the destination MAC address is not the MAC address of the load balancer;
When the destination of the forward path data transmitted from the client terminal is a load balancer, a return path setting for setting a return path rule for rewriting the source IP address of the return path data to the IP address of the load balancer for the communication device Steps,
Communication control program for causing a computer to execute.
JP2013256483A 2013-12-11 2013-12-11 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM Active JP6053032B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013256483A JP6053032B2 (en) 2013-12-11 2013-12-11 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013256483A JP6053032B2 (en) 2013-12-11 2013-12-11 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM

Publications (2)

Publication Number Publication Date
JP2015115781A JP2015115781A (en) 2015-06-22
JP6053032B2 true JP6053032B2 (en) 2016-12-27

Family

ID=53529208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013256483A Active JP6053032B2 (en) 2013-12-11 2013-12-11 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM

Country Status (1)

Country Link
JP (1) JP6053032B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6505171B2 (en) 2016-08-25 2019-04-24 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation Method and system for handling DSR load balancing utilizing a loopback interface in a virtual network environment
JP6505172B2 (en) 2016-08-25 2019-04-24 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation Method and system for handling load balancing utilizing virtual switches in a virtual network environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5660049B2 (en) * 2009-12-17 2015-01-28 日本電気株式会社 Load distribution system, load distribution method, apparatus and program constituting load distribution system
JP5645139B2 (en) * 2010-01-05 2014-12-24 日本電気株式会社 Network system, controller, and network control method
JP5648926B2 (en) * 2010-02-01 2015-01-07 日本電気株式会社 Network system, controller, and network control method

Also Published As

Publication number Publication date
JP2015115781A (en) 2015-06-22

Similar Documents

Publication Publication Date Title
US11381507B2 (en) Virtual network device and related method
CA3106407C (en) Multi-cloud connectivity using srv6 and bgp
CN109937401B (en) Live migration of load-balancing virtual machines via traffic bypass
US10225137B2 (en) Service node selection by an inline service switch
US9509615B2 (en) Managing link aggregation traffic in a virtual environment
US10120729B2 (en) Virtual machine load balancing
JP6538986B2 (en) Virtual machine packet control
KR101371993B1 (en) Method and apparatus for transparent cloud computing with a virtualized network infrastructure
US8923296B2 (en) System and methods for managing network packet forwarding with a controller
CN110417924B (en) Message processing method in distributed equipment and distributed equipment
US10375193B2 (en) Source IP address transparency systems and methods
US20180139101A1 (en) Flow sate transfer for live migration of virtual machine
US20130268646A1 (en) Techniques for providing scalable application delivery controller services
CN105577723B (en) Virtualize the method and apparatus that load balancing is realized in network
WO2012127886A1 (en) Network system, and policy route configuration method
KR20180108708A (en) Message Generation Method and Load Balancer Based on Server Clusters
US9350666B2 (en) Managing link aggregation traffic in a virtual environment
US9578126B1 (en) System and method for automatically discovering wide area network optimized routes and devices
US9686178B2 (en) Configuring link aggregation groups to perform load balancing in a virtual environment
US10009282B2 (en) Self-protecting computer network router with queue resource manager
WO2019184653A1 (en) Link configuration method and controller
US10181031B2 (en) Control device, control system, control method, and control program
JP6693925B2 (en) Server, communication control system, and communication control method
US20220166715A1 (en) Communication system and communication method
US11595304B2 (en) Communication device, communication control system, communication control method, and communication control program

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151001

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151005

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161125

R150 Certificate of patent or registration of utility model

Ref document number: 6053032

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150