JP6693925B2 - Server, communication control system, and communication control method - Google Patents

Server, communication control system, and communication control method Download PDF

Info

Publication number
JP6693925B2
JP6693925B2 JP2017192773A JP2017192773A JP6693925B2 JP 6693925 B2 JP6693925 B2 JP 6693925B2 JP 2017192773 A JP2017192773 A JP 2017192773A JP 2017192773 A JP2017192773 A JP 2017192773A JP 6693925 B2 JP6693925 B2 JP 6693925B2
Authority
JP
Japan
Prior art keywords
packet
mac address
session
server
switch
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
JP2017192773A
Other languages
Japanese (ja)
Other versions
JP2019068297A (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 JP2017192773A priority Critical patent/JP6693925B2/en
Publication of JP2019068297A publication Critical patent/JP2019068297A/en
Application granted granted Critical
Publication of JP6693925B2 publication Critical patent/JP6693925B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明は、通信装置、通信制御システム、および、通信制御方法に関する。   The present invention relates to a communication device, a communication control system, and a communication control method.

例えば、ロードバランサやファイアウォール等のL3(レイヤ3)終端を行う通信装置が性能の限界を超えた際の対応策として、当該通信装置を追加する(スケールアウトする)方法がある。ここで、例えば、ロードバランサのスケールアウトを行いう場合、各ロードバランサ間での負荷分散を行うため、DNSラウンドロビンを用いる方法がある。DNSラウンドロビンを用いる場合、同じドメインに対し、各ロードバランサに異なるVIPを設定する。また、ロードバランサごとに、当該ロードバランサが負荷分散処理を行うサーバ群を割り当てておく。   For example, there is a method of adding (scaling out) a communication device that terminates L3 (layer 3) such as a load balancer or a firewall as a countermeasure when the performance limit is exceeded. Here, for example, when performing scale-out of the load balancer, there is a method of using DNS round robin in order to perform load distribution among the load balancers. When using DNS round robin, set different VIPs for each load balancer for the same domain. In addition, a server group in which the load balancer performs load distribution processing is assigned to each load balancer.

そして、例えば、DNSラウンドロビンによりパケットの転送先のロードバランサが決定されると、当該パケットを受信したロードバランサは自身のロードバランサに割り当てられたいずれかのサーバへパケットを転送する。   Then, for example, when the load balancer of the packet transfer destination is determined by the DNS round robin, the load balancer receiving the packet transfers the packet to any server assigned to its own load balancer.

ここで、ロードバランサは、例えば、VIPを物理サーバのIPアドレスにNATしたり、DH(ディフィー・ヘルマン)鍵交換方式のSSL/TSLを終端させたり、L7(レイヤ7)ロードバランスを実行したりする、ステートフルな装置である。そのため、サーバへのパケット(上りパケット)も当該サーバからの応答パケット(下りパケット)も同じロードバランサを経由する必要がある。ここで、DNSラウンドロビンを用いる方法の場合、上記のようにロードバランサごとにサーバ群を割り当てることで、上りパケットと下りパケットとで同じロードバランサを経由させることができる。   Here, the load balancer NATs the VIP to the IP address of the physical server, terminates the SSL / TSL of the DH (Diffie-Hellman) key exchange method, or executes the L7 (layer 7) load balancing, for example. It is a stateful device. Therefore, both the packet to the server (upstream packet) and the response packet from the server (downstream packet) need to pass through the same load balancer. Here, in the case of the method using the DNS round robin, by assigning a server group for each load balancer as described above, it is possible to allow the same load balancer to pass through for upstream packets and downstream packets.

Maglev、[平成29年9月7日検索]、インターネット<URL:https://research.***.com/pubs/pub44824.html>Maglev, [September 7, 2017 search], Internet <URL: https://research.***.com/pubs/pub44824.html>

しかし、ロードバランサのスケールアウトに上記のDNSラウンドロビンを用いる場合、追加されたロードバランサに対するサーバ群の新規割り当てや各ロードバランサに割り当てるサーバ群の収容替えを要するため、設定作業に手間やコストがかかるという問題がある。そこで、本発明は、前記した問題を解決し、例えば、ロードバランサ等、L3終端を行う通信装置のスケールアウトのための設定作業の手間やコストを低減することを課題とする。   However, when the above-mentioned DNS round robin is used for the scale-out of the load balancer, it is necessary to newly allocate the server group to the added load balancer or replace the accommodation of the server group to be allocated to each load balancer. There is a problem of this. Therefore, it is an object of the present invention to solve the above-mentioned problems and reduce the labor and cost of the setting work for scale-out of a communication device that performs L3 termination, such as a load balancer.

前記した課題を解決するため、本発明は、L2(レイヤ2)スイッチにより接続され、L3(レイヤ3)終端を行ういずれかの第1の通信装置経由でパケットの送受信を行う第2の通信装置であって、前記L2スイッチ経由でいずれかの第1の通信装置から、送信元MACアドレスにパケットの送信元の第1の通信装置のMACアドレスが設定されたパケットを受信するパケット受信部と、前記受信したパケットに設定された送信元MACアドレスを、セッションテーブルにおける前記受信したパケットのセッションのセッション情報に記録する記録部と、前記受信したパケットに対する返信パケットを送信する場合、前記セッションテーブルにおける前記受信したパケットのセッションのセッション情報に示される送信元MACアドレスを、前記返信パケットの宛先MACアドレスに設定し、前記L2スイッチ経由で送信するパケット送信部と、を備えることを特徴とする。   In order to solve the above-mentioned problem, the present invention provides a second communication device which is connected by an L2 (layer 2) switch and which transmits / receives a packet via one of the first communication devices that terminates L3 (layer 3). A packet receiving unit that receives a packet in which the MAC address of the first communication device that is the transmission source of the packet is set in the transmission source MAC address from any one of the first communication devices via the L2 switch; A recording unit that records the source MAC address set in the received packet in the session information of the session of the received packet in the session table, and in the case of transmitting a reply packet to the received packet, in the session table, Set the source MAC address shown in the session information of the session of the received packet The set the destination MAC address of the reply packet, characterized in that it comprises the a packet transmission unit that transmits via the L2 switch.

本発明によれば、L3終端を行う通信装置のスケールアウトのための設定作業の手間やコストを低減することができる。   ADVANTAGE OF THE INVENTION According to this invention, the effort and cost of the setting operation for the scale-out of the communication apparatus which performs L3 termination can be reduced.

図1Aは、通信制御システム(システム)の基本的な構成例を示す図である。FIG. 1A is a diagram showing a basic configuration example of a communication control system (system). 図1Bは、システムの概要を説明するための図である。FIG. 1B is a diagram for explaining the outline of the system. 図2は、システムの概要を説明するための図である。FIG. 2 is a diagram for explaining the outline of the system. 図3は、サーバの構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of the server. 図4は、サーバの処理手順の例を示す図である。FIG. 4 is a diagram illustrating an example of a processing procedure of the server. 図5は、システムの処理手順の具体例を説明する図である。FIG. 5 is a diagram illustrating a specific example of the processing procedure of the system. 図6は、ロードバランサのスケールアップおよびDNSラウンドロビンによるロードバランサのスケールアウトの一例を示す図である。FIG. 6 is a diagram illustrating an example of scale-up of the load balancer and scale-out of the load balancer by DNS round robin. 図7は、通信制御プログラムを実行するコンピュータを示す図である。FIG. 7 is a diagram illustrating a computer that executes a communication control program.

以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。本発明は、本実施形態に限定されない。   Hereinafter, modes (embodiments) for carrying out the present invention will be described with reference to the drawings. The present invention is not limited to this embodiment.

まず、本実施形態のシステムの基本的な構成例を、図1Aを用いて説明する。システムは、例えば、スケールアウトの対象となる通信装置(第1の通信装置)と、この第1の通信装置経由でパケットの送受信を行う通信装置(第2の通信装置)とを備える。この第1の通信装置は、例えば、L3(レイヤ3)スイッチ20経由でクライアント10と接続される。また、第1の通信装置は、例えば、L2(レイヤ2)スイッチ40経由で第2の通信装置と接続される。   First, a basic configuration example of the system of this embodiment will be described with reference to FIG. 1A. The system includes, for example, a communication device (first communication device) that is a scale-out target and a communication device (second communication device) that transmits and receives packets via the first communication device. The first communication device is connected to the client 10 via the L3 (layer 3) switch 20, for example. Further, the first communication device is connected to the second communication device via the L2 (layer 2) switch 40, for example.

なお、以下では、スケールアウトの対象となる通信装置(第1の通信装置)は、ロードバランサ30であり、第1の通信装置経由でパケットの送受信を行う通信装置(第2の通信装置)はサーバ50である場合について説明する。また、この第1の通信装置および第2の通信装置は、L3終端を行う通信装置であれば、ロードバランサ30やサーバ50に限定されない。例えば、第1の通信装置および第2の通信装置は、Carrier Grade NATやVPN装置、Web Application Firewall等であってもよい。   In the following, the communication device (first communication device) targeted for scale-out is the load balancer 30, and the communication device (second communication device) that transmits and receives packets via the first communication device is The case of the server 50 will be described. The first communication device and the second communication device are not limited to the load balancer 30 and the server 50 as long as they are L3 terminated communication devices. For example, the first communication device and the second communication device may be carrier grade NAT, a VPN device, a Web Application Firewall, or the like.

[概要]
まず、図1Bおよび図2を用いて、本実施形態のシステムの概要を説明する。システムは、例えば、クライアント10と、L3スイッチ20と、1以上のロードバランサ30と、L2スイッチ40と、1以上のサーバ50(サーバ群)とを備える。ここでは、L3スイッチ20とL2スイッチ40との間には3台のロードバランサ30(ロードバランサ30A,30B,30C)が設置される場合を例に説明する。なお、以下の説明において、クライアント10からサーバ50へのパケットを上りパケットと称し、サーバ50からクライアント10へのパケットを下りパケットと称する。
[Overview]
First, an outline of the system according to the present embodiment will be described with reference to FIGS. 1B and 2. The system includes, for example, a client 10, an L3 switch 20, one or more load balancers 30, an L2 switch 40, and one or more servers 50 (server group). Here, a case where three load balancers 30 (load balancers 30A, 30B, 30C) are installed between the L3 switch 20 and the L2 switch 40 will be described as an example. In the following description, a packet from the client 10 to the server 50 is called an upstream packet, and a packet from the server 50 to the client 10 is called a downstream packet.

クライアント10は、サーバ50との通信を行う装置である。L3スイッチ20は、受信パケットのルーティングを行う。例えば、L3スイッチ20は、クライアント10から受信したパケットを、自身に接続されるいずれかのロードバランサ30へ転送する。このL3スイッチ20は、例えば、per-flow ECMPにより、クライアント10からの受信パケットの転送先のロードバランサ30を決定する(図2参照)。   The client 10 is a device that communicates with the server 50. The L3 switch 20 routes received packets. For example, the L3 switch 20 transfers the packet received from the client 10 to one of the load balancers 30 connected to itself. The L3 switch 20 determines the load balancer 30 to which the received packet from the client 10 is transferred by, for example, per-flow ECMP (see FIG. 2).

ロードバランサ30は、サーバ群へのパケットの負荷分散処理を行う。このロードバランサには、例えば、それぞれ同じVIPが設定され、L3モードで動作する。また、ロードバランサ30は、例えば、自身のロードバランサ30に設定されたVIPをサーバ50のIPアドレスにNATしたり、L7(レイヤ7)ロードバランスを実行したりする、ステートフルな装置である。なお、各ロードバランサ30には同じVIPが設定される。また、各ロードバランサ30は、L2スイッチ40経由でサーバ群に接続される。   The load balancer 30 performs load distribution processing of packets to the server group. For example, the same VIP is set in each of the load balancers, and the load balancers operate in the L3 mode. The load balancer 30 is, for example, a stateful device that NATs the VIP set in its own load balancer 30 to the IP address of the server 50 and executes L7 (layer 7) load balancing. The same VIP is set for each load balancer 30. Further, each load balancer 30 is connected to the server group via the L2 switch 40.

各ロードバランサ30は、上りパケットをL2スイッチ40経由でサーバ50へ転送する際、当該上りパケットの送信元MAC(Media Access Control)アドレスに当該ロードバランサ30のMACアドレスを設定し、転送する。また、ロードバランサ30が、L2スイッチ40経由でサーバ50からの下りパケットを受け取った際には、当該下りパケットをL3スイッチ20経由で宛先のクライアント10等へ送信する。   When transferring the upstream packet to the server 50 via the L2 switch 40, each load balancer 30 sets the source MAC (Media Access Control) address of the upstream packet to the MAC address of the load balancer 30 and transfers the same. When the load balancer 30 receives a downlink packet from the server 50 via the L2 switch 40, the load balancer 30 transmits the downlink packet to the destination client 10 or the like via the L3 switch 20.

L2スイッチ40は、各ロードバランサ30とサーバ群とを接続する。このL2スイッチ40は、各ロードバランサ30からの上りパケットをサーバ50へ転送し、サーバ50からの下りパケットを宛先MACアドレスに対応するロードバランサ30へ転送する。   The L2 switch 40 connects each load balancer 30 and the server group. The L2 switch 40 transfers the upstream packet from each load balancer 30 to the server 50 and transfers the downstream packet from the server 50 to the load balancer 30 corresponding to the destination MAC address.

サーバ50は、例えば、クライアント10からの受信パケットに基づき種々の処理を行った後、当該受信パケットの返信パケットを、当該クライアント10へ送信する。ここで、サーバ50は、返信パケットを送信する際、当該受信パケットが経由したロードバランサ30を経由させる。具体的には、サーバ50は、受信パケットがどのロードバランサ30経由であるかを判定するため、受信パケットのL2ヘッダの送信元MACアドレスを用いる。例えば、サーバ50は、受信パケットのL2ヘッダに設定された送信元MACアドレスを、セッションテーブル531の当該受信パケットのセッションに関するセッション情報に記録しておく(図5参照)。   The server 50, for example, performs various processes based on the received packet from the client 10, and then transmits a reply packet of the received packet to the client 10. Here, when transmitting the reply packet, the server 50 causes the load balancer 30 through which the received packet has passed. Specifically, the server 50 uses the source MAC address of the L2 header of the received packet in order to determine which load balancer 30 the received packet is through. For example, the server 50 records the source MAC address set in the L2 header of the received packet in the session information about the session of the received packet in the session table 531 (see FIG. 5).

一例を挙げると、サーバ50における受信パケット(到着パケット)のIPヘッダのSrc IPアドレス(送信元IPアドレス)にはクライアント10のIPアドレスが設定され、Dst IPアドレス(宛先IPアドレス)にはサーバ50の物理IPアドレスが設定される。また、サーバ50における受信パケット(到着パケット)のL2ヘッダのSrc MACアドレス(送信元MACアドレス)には、ロードバランサ30(例えば、ロードバランサ30A)のMACアドレスが設定され、Dst MACアドレス(宛先MACアドレス)にはサーバ50のMACアドレスが設定される。   As an example, the IP address of the client 10 is set in the Src IP address (source IP address) of the IP header of the received packet (arrival packet) in the server 50, and the server 50 is set in the Dst IP address (destination IP address). The physical IP address of is set. The MAC address of the load balancer 30 (for example, the load balancer 30A) is set in the Src MAC address (source MAC address) of the L2 header of the received packet (arrival packet) in the server 50, and the Dst MAC address (destination MAC address) is set. The MAC address of the server 50 is set in (address).

よって、サーバ50は、受信パケットのL2ヘッダに設定された送信元MACアドレスにより、当該受信パケットが経由したロードバランサ30AのMACアドレスが分かるので、当該MACアドレスを当該受信パケットのセッションのセッション情報に記録しておく。そして、サーバ50は、受信パケットに対する返信パケットを送信する際、当該受信パケットのセッションのセッション情報に示される送信元MACアドレスを、返信パケットの宛先MACアドレスに設定し、L2スイッチ40経由で送信する。   Therefore, the server 50 knows the MAC address of the load balancer 30A through which the received packet has passed, based on the source MAC address set in the L2 header of the received packet, and uses the MAC address as the session information of the session of the received packet. Keep a record. Then, when transmitting the reply packet to the received packet, the server 50 sets the source MAC address indicated in the session information of the session of the received packet as the destination MAC address of the reply packet and transmits it via the L2 switch 40. ..

つまり、図2に示すように、サーバ50は、受信パケット(上りパケット)のL2ヘッダの送信元MACアドレスを用いて、上りパケットが経由したロードバランサ30を判定し、当該上りパケットに対する下りパケット(返信パケット)を上りパケットと同じロードバランサ30(例えば、ロードバランサ30A)へ送信する。   That is, as shown in FIG. 2, the server 50 uses the source MAC address of the L2 header of the received packet (upstream packet) to determine the load balancer 30 through which the upstream packet has passed, and the downstream packet ( The reply packet) is transmitted to the same load balancer 30 as the upstream packet (for example, the load balancer 30A).

これにより、システムにおいてロードバランサ30のスケールアウトが行われた場合でも、クライアント10からサーバ50への上りパケットと、当該サーバ50から当該クライアント10への下りパケットとで同じロードバランサ30を経由させることができる。例えば、システムにおいて、ロードバランサ30のスケールアウトによりロードバランサ30Aが追加された場合でも、ロードバランサ30Aを経由した上りパケットに対する下りパケットを、ロードバランサ30Aを経由させることができる。   As a result, even when the load balancer 30 is scaled out in the system, the upstream packet from the client 10 to the server 50 and the downstream packet from the server 50 to the client 10 are caused to pass through the same load balancer 30. You can For example, in the system, even when the load balancer 30A is added due to the scale-out of the load balancer 30, the downlink packet with respect to the uplink packet passing through the load balancer 30A can be passed through the load balancer 30A.

また、スケールアウトで追加されたロードバランサ30を含む各ロードバランサ30に同じVIPを設定しておき、L3スイッチ20は、例えば、図2に示すように、per-flow ECMPにより、各ロードバランサ30の中から、上りパケットの転送先のロードバランサ30を決定する。これにより、同じTCP(Transmission Control Protocol)コネクションの上りパケットを同じロードバランサ30に転送しつつ、上りパケットの負荷をできるだけ各ロードバランサ30に分散させることができる。   Further, the same VIP is set in each load balancer 30 including the load balancer 30 added by scale-out, and the L3 switch 20 uses the per-flow ECMP as shown in FIG. From among the above, the load balancer 30 to which the upstream packet is transferred is determined. As a result, it is possible to transfer the upstream packets of the same TCP (Transmission Control Protocol) connection to the same load balancer 30, while distributing the load of the upstream packets to each load balancer 30 as much as possible.

これにより、システムは、ロードバランサ30のスケールアウトを行う際に、上りパケットの負荷分散と、下りパケットと上りパケットとで同じロードバランサ30を経由させることを実現することができる。   As a result, the system can realize load distribution of upstream packets and allow downstream and upstream packets to pass through the same load balancer 30 when performing scale-out of the load balancer 30.

ここで、システムのロードバランサ30のスケールアウトを行う際、DNSサーバの設定変更や、追加されたロードバランサ30に対するサーバ群の新規割り当てや各ロードバランサ30に割り当てるサーバ群の収容替えは不要である。したがって、ロードバランサ30のスケールアウトのための設定作業の手間やコストを低減することができる。   Here, when the load balancer 30 of the system is scaled out, it is not necessary to change the settings of the DNS server, newly allocate a server group to the added load balancer 30, or replace the accommodation of the server group allocated to each load balancer 30. .. Therefore, the labor and cost of the setting work for scale-out of the load balancer 30 can be reduced.

[構成]
次に、図3を用いて、サーバ50の構成例を説明する。サーバ50は、通信部51と、入出力部52と、記憶部53と、制御部54とを備える。
[Constitution]
Next, a configuration example of the server 50 will be described with reference to FIG. The server 50 includes a communication unit 51, an input / output unit 52, a storage unit 53, and a control unit 54.

通信部51は、外部装置との通信インタフェースを司る。この通信部51は、例えば、L2スイッチ40経由で上りパケットを受信したり、制御部54から出力された下りパケットをL2スイッチ40経由で送信したりする。入出力部52は、当該サーバ50への各種情報の入出力を司る。入出力部52は、例えば、当該サーバ50への設定情報等の入力を受け付ける。   The communication unit 51 controls a communication interface with an external device. The communication unit 51 receives, for example, an upstream packet via the L2 switch 40, or transmits a downstream packet output from the control unit 54 via the L2 switch 40. The input / output unit 52 controls input / output of various information to / from the server 50. The input / output unit 52 receives, for example, input of setting information and the like to the server 50.

記憶部53は、制御部54が動作する際に参照する各種情報を記憶する。記憶部53は、例えば、セッションテーブル531を記憶する領域を備える。このセッションテーブル531は、当該サーバ50の受信パケットのセッションのセッション情報を示したテーブルである。   The storage unit 53 stores various information referred to when the control unit 54 operates. The storage unit 53 includes, for example, an area for storing the session table 531. The session table 531 is a table showing session information of the session of the packet received by the server 50.

セッション情報は、例えば、図5のセッションテーブル531に示すように、受信パケットのセッションの識別情報(例えば、「#1」)と、当該セッションの受信パケットの送信元IPアドレス(例えば、「IP‐C‐1」)、送信元ポート番号(例えば、「xxxx」)、プロトコル番号(例えば、「6(tcp)」)、送信元MACアドレス(例えば、「MC‐LB‐1」)等の情報を含む。なお、図5に示すセッション情報において、送信元MACアドレスは、返却用MACアドレスとして記録されている。このセッション情報は、制御部54により書き込まれる。また、このセッション情報は、制御部54が当該上りパケットに対する下りパケットを送信する際に参照される。   The session information is, for example, as shown in the session table 531 of FIG. 5, session identification information (for example, “# 1”) of the received packet and the transmission source IP address (for example, “IP- C-1 "), source port number (eg," xxxx "), protocol number (eg," 6 (tcp) "), source MAC address (eg," MC-LB-1 "), etc. Including. In the session information shown in FIG. 5, the source MAC address is recorded as the return MAC address. This session information is written by the control unit 54. Further, this session information is referred to when the control unit 54 transmits a downlink packet for the uplink packet.

制御部54は、サーバ50全体の制御を司る。この制御部54は、例えば、通信制御部541と、アプリケーション部545とを備える。   The control unit 54 controls the entire server 50. The control unit 54 includes, for example, a communication control unit 541 and an application unit 545.

通信制御部541は、パケットの送受信および受信パケットのセッション情報の記録を行う。この通信制御部541は、パケット受信部542と、記録部543と、パケット送信部544とを備える。   The communication control unit 541 transmits / receives packets and records session information of received packets. The communication control unit 541 includes a packet receiving unit 542, a recording unit 543, and a packet transmitting unit 544.

パケット受信部542は、通信部51経由で、当該サーバ50宛のパケット(上りパケット)を受信する。なお、この上りパケットの送信元MACアドレスには、当該上りパケットを転送したロードバランサ30のMACアドレスが設定される。   The packet receiving unit 542 receives a packet (uplink packet) addressed to the server 50 via the communication unit 51. The MAC address of the load balancer 30 that has transferred the upstream packet is set as the source MAC address of the upstream packet.

記録部543は、パケット受信部542が受信した上りパケットに設定された送信元MACアドレス(つまり、上りパケットが経由したロードバランサ30のMACアドレス)を、当該上りパケットのセッションのセッション情報に記録する。例えば、記録部543は、受信した上りパケットのIPヘッダおよびL2ヘッダから、当該受信パケットの送信元IPアドレス、送信元ポート番号、プロトコル番号、送信元MACアドレスを読み出し、セッションテーブル531に、当該受信パケットのセッション情報として記録する。   The recording unit 543 records the source MAC address set in the upstream packet received by the packet receiving unit 542 (that is, the MAC address of the load balancer 30 through which the upstream packet passed) in the session information of the session of the upstream packet. .. For example, the recording unit 543 reads the source IP address, the source port number, the protocol number, and the source MAC address of the received packet from the IP header and L2 header of the received upstream packet, and the session table 531 receives the received packet in the session table 531. Record as session information of the packet.

パケット送信部544は、上りパケットに対する下りパケット(返信パケット)を通信部51経由で送信する。例えば、パケット送信部544は、下りパケットの宛先MACアドレスに、セッションテーブル531に示される下りパケットと同じセッションのセッション情報(図5参照)に記載される送信元MACアドレス(返却用MACアドレス)を設定する。そして、パケット送信部544は、上記の宛先MACアドレスを設定した下りパケットを、通信部51経由で送信する。なお、上記の下りパケットに対する宛先MACアドレスの設定は、例えば、netfilterと呼ばれるLinux(登録商標) Kernelが持つAPIや、libnetfilter_queueと呼ばれる類似のライブラリ等を用いる。   The packet transmission unit 544 transmits a downlink packet (reply packet) for the uplink packet via the communication unit 51. For example, the packet transmitting unit 544 sets the destination MAC address of the downlink packet to the source MAC address (return MAC address) described in the session information (see FIG. 5) of the same session as the downlink packet shown in the session table 531. Set. Then, the packet transmission unit 544 transmits the downlink packet in which the above-mentioned destination MAC address is set, via the communication unit 51. To set the destination MAC address for the downlink packet, for example, an API called “netfilter” possessed by Linux (registered trademark) Kernel, a similar library called “libnetfilter_queue”, or the like is used.

アプリケーション部545は、受信パケットに対し種々の処理を行う。例えば、パケット受信部542で受信した上りパケットに対し種々の処理を行い、その処理結果をパケット送信部544へ出力する。   The application unit 545 performs various processes on the received packet. For example, various processes are performed on the upstream packet received by the packet receiving unit 542, and the processing result is output to the packet transmitting unit 544.

[処理手順]
次に、図4を用いて、サーバ50の処理手順の例を説明する。サーバ50のパケット受信部542がクライアント10からのパケットを受信すると(S1)、記録部543は、受信パケットのIPヘッダおよびL2ヘッダから、送信元IPアドレス、送信元ポート番号、プロトコル番号、送信元MACアドレスを読みとり、セッションテーブル531のセッション情報に記録する(S2)。
[Processing procedure]
Next, an example of the processing procedure of the server 50 will be described with reference to FIG. When the packet reception unit 542 of the server 50 receives the packet from the client 10 (S1), the recording unit 543 determines the transmission source IP address, the transmission source port number, the protocol number, the transmission source from the IP header and the L2 header of the reception packet. The MAC address is read and recorded in the session information of the session table 531 (S2).

S2の後、パケット送信部544が、S1で受信したパケットの返信パケットを送信する際には、セッションテーブル531から、S1で受信したパケットと同じセッションのセッション情報を読み出し、当該セッション情報における送信元MACアドレス(返却用MACアドレス)を宛先MACアドレスとしたパケットを、クライアント10へ送信する(S3)。   After S2, when the packet transmitting unit 544 transmits the reply packet of the packet received in S1, it reads the session information of the same session as the packet received in S1 from the session table 531 and determines the transmission source in the session information. A packet having the MAC address (return MAC address) as the destination MAC address is transmitted to the client 10 (S3).

なお、S3で送信されたパケットは、例えば、図2に示すL2スイッチ40を経由で、宛先MACアドレスに設定されたロードバランサ30(例えば、ロードバランサ30A)に到達し、その後、L3スイッチ20経由でクライアント10に到達する。つまり、サーバ50は、システムの上りパケットに対する下りパケットを、上りパケットが経由したロードバランサ30に戻すことができる。   The packet transmitted in S3 reaches the load balancer 30 (for example, the load balancer 30A) set to the destination MAC address via, for example, the L2 switch 40 shown in FIG. To reach the client 10. That is, the server 50 can return the downlink packet corresponding to the uplink packet of the system to the load balancer 30 through which the uplink packet has passed.

また、S3において、パケット送信部544が、セッションテーブル531から,S1で受信したパケットと同じセッションのセッション情報を特定するには、セッション情報における送信元IPアドレス、送信元ポート番号、プロトコル番号を用いればよい。つまり、送信元IPアドレス、送信元ポート番号、プロトコル番号があれば、1つのクライアント10の1つのTCPセッションを特定することができる。したがって、パケット送信部544は、S1で受信したパケットと同じセッションのセッション情報を特定するには、セッションテーブル531から、アプリケーション部545等から出力された返信パケットの宛先IPアドレス、宛先ポート番号およびプロトコル番号の組み合わせと同じ送信元IPアドレス、送信元ポート番号およびプロトコル番号のセッション情報を特定すればよい。   Further, in S3, the packet transmitting unit 544 uses the source IP address, the source port number, and the protocol number in the session information to specify from the session table 531 the session information of the same session as the packet received in S1. Good. That is, if there is the source IP address, the source port number, and the protocol number, one TCP session of one client 10 can be specified. Therefore, in order to identify the session information of the same session as the packet received in S1, the packet transmitting unit 544 uses the session table 531 to output the destination IP address, the destination port number, and the protocol of the reply packet output from the application unit 545 or the like. The session information having the same source IP address, source port number, and protocol number as the combination of numbers may be specified.

[処理手順の具体例]
次に、図5を用いて、システムの処理手順の具体例を説明する。システムには、N台のクライアント10が設置され、クライアント10それぞれのIPアドレスはIP‐C‐1〜N、MACアドレスはMC‐C‐1〜Nであるものとする。
[Specific example of processing procedure]
Next, a specific example of the processing procedure of the system will be described with reference to FIG. It is assumed that N clients 10 are installed in the system, the IP address of each client 10 is IP-C-1 to N, and the MAC address thereof is MC-C-1 to N.

また、L3スイッチ20のIPアドレスはIP−L3、MACアドレスはMC‐L3であるものとする。さらに、L3スイッチ20とL2スイッチ40との間には、ロードバランサ30A,30B,30Cが設置される。   The IP address of the L3 switch 20 is IP-L3 and the MAC address thereof is MC-L3. Further, load balancers 30A, 30B, 30C are installed between the L3 switch 20 and the L2 switch 40.

ロードバランサ30AのIPアドレスはIP−LB‐1、MACアドレスはMC‐LB‐1であり、ロードバランサ30BのIPアドレスはIP−LB‐2、MACアドレスはMC‐LB‐2であり、ロードバランサ30CのIPアドレスはIP−LB‐3、MACアドレスはMC‐LB‐3であるものとする。なお、ロードバランサ30A,30B,30CそれぞれのVIPはVPであるものとする。   The IP address of the load balancer 30A is IP-LB-1, the MAC address is MC-LB-1, the IP address of the load balancer 30B is IP-LB-2, the MAC address is MC-LB-2, and the load balancer is It is assumed that the IP address of 30C is IP-LB-3 and the MAC address is MC-LB-3. The VIP of each of the load balancers 30A, 30B, 30C is assumed to be VP.

また、サーバ50は3台設置され、サーバ50それぞれのIPアドレスはIP−SV‐1〜3、MACアドレスはMC‐SV‐1〜3であるものとする。それぞれのサーバ50は、L2スイッチ40経由でロードバランサ30A,30B,30Cに接続される。   Further, it is assumed that three servers 50 are installed, the IP address of each of the servers 50 is IP-SV-1 to 3, and the MAC address thereof is MC-SV-1 to 3. Each server 50 is connected to the load balancers 30A, 30B, 30C via the L2 switch 40.

なお、図5における「TO MAC」は、宛先MACアドレスを示し、「TO IP」は宛先IPアドレスを示し、「TO Port」は宛先ポート番号を示す。また、図5における「FM MAC」は、送信元MACアドレスを示し、「FM IP」は送信元IPアドレスを示し、「FM Port」は送信元ポート番号を示す。   In FIG. 5, “TO MAC” indicates a destination MAC address, “TO IP” indicates a destination IP address, and “TO Port” indicates a destination port number. Further, “FM MAC” in FIG. 5 indicates a source MAC address, “FM IP” indicates a source IP address, and “FM Port” indicates a source port number.

このようなシステムにおいて、L3スイッチ20がIPアドレス「IP−C‐1」のクライアント10から、VIP「VP」宛のパケット(上りパケット)を受信した場合を考える。この場合、まず、L3スイッチ20は、per-flow ECMPにより、当該パケットの転送先のロードバランサ30を決定する。これにより、上りパケットの処理負荷を各ロードバランサ30に分散させることができる。   In such a system, consider a case where the L3 switch 20 receives a packet (uplink packet) addressed to the VIP "VP" from the client 10 having the IP address "IP-C-1". In this case, first, the L3 switch 20 determines the load balancer 30 of the transfer destination of the packet by per-flow ECMP. As a result, the processing load of the upstream packet can be distributed to each load balancer 30.

ここで、例えば、L3スイッチ20が、当該パケットの転送先をロードバランサ30Aに決定した場合、L3スイッチ20は、符号501に示すヘッダ情報を当該パケットに設定してロードバランサ30Aに転送する。その後、ロードバランサ30Aは、転送されたパケットに符号502に示すヘッダ情報を設定してL2スイッチ40へ送信する。つまり、ロードバランサ30Aは、L3スイッチ20から転送されたパケットの宛先MACアドレスを「MC‐SV‐1」に変換し、宛先IPアドレスを「IP‐SV‐1」に変換し、送信元MACアドレスを「MC‐LB‐1」に変換して、L2スイッチ40へ送信する。   Here, for example, when the L3 switch 20 determines the transfer destination of the packet to be the load balancer 30A, the L3 switch 20 sets the header information indicated by reference numeral 501 in the packet and transfers the packet to the load balancer 30A. After that, the load balancer 30A sets the header information indicated by reference numeral 502 in the transferred packet and transmits it to the L2 switch 40. That is, the load balancer 30A converts the destination MAC address of the packet transferred from the L3 switch 20 into "MC-SV-1", the destination IP address into "IP-SV-1", and the source MAC address. Is converted to “MC-LB-1” and transmitted to the L2 switch 40.

そして、サーバ50がL2スイッチ40経由で当該パケット(上りパケット)を受信すると、当該上りパケットのIPヘッダおよびL2ヘッダから、送信元IPアドレス、送信元ポート番号、プロトコル番号、返却用MACアドレス(上りパケットの経由したロードバランサ30のMACアドレス)を学習する。つまり、サーバ50は、受信パケットのIPヘッダおよびL2ヘッダから、送信元IPアドレス、送信元ポート番号、プロトコル番号、送信元MACアドレス(返却用MACアドレス、受信パケットの経由したロードバランサ30のMACアドレス)を読み出し、これらの情報を受信パケットのセッションのセッション情報として、セッションテーブル531に記録する。   Then, when the server 50 receives the packet (uplink packet) via the L2 switch 40, the source IP address, the source port number, the protocol number, and the return MAC address (uplink packet) are determined from the IP header and the L2 header of the upstream packet. The MAC address of the load balancer 30 through which the packet has passed is learned. That is, the server 50 determines the source IP address, source port number, protocol number, source MAC address (return MAC address, MAC address of the load balancer 30 through which the received packet has passed) from the IP header and L2 header of the received packet. ) Is read, and these pieces of information are recorded in the session table 531 as session information of the session of the received packet.

その後、サーバ50がアプリケーション部545からの要求に応じて、上記の上りパケットに対する下りパケットを送信する際、サーバ50はセッションテーブル531から下りパケットと同じセッションのセッション情報を探す。例えば、サーバ50が、宛先IPアドレス「IP‐C‐1」、送信先ポート番号「xxxx」、プロトコル番号「6(tcp)」の下りパケットを送信する場合、セッションテーブル531から、送信元IPアドレス「IP‐C‐1」、送信元ポート番号「xxxx」、プロトコル番号「6(tcp)」のセッション情報を探す。   After that, when the server 50 transmits the downlink packet for the above-mentioned uplink packet in response to the request from the application unit 545, the server 50 searches the session table 531 for the session information of the same session as the downlink packet. For example, when the server 50 transmits a downlink packet having a destination IP address “IP-C-1”, a destination port number “xxxx”, and a protocol number “6 (tcp)”, the session table 531 indicates that the source IP address is Search for session information of "IP-C-1", source port number "xxxx", and protocol number "6 (tcp)".

そして、サーバ50は、符号503に示すヘッダ情報を下りパケットに設定してL2スイッチ40経由で送信する。つまり、サーバ50は下りパケットの宛先MACアドレスに、セッション情報に記載の返却用MACアドレス(例えば、上りパケットの経由したロードバランサ30AのMACアドレス「MC‐LB‐1」)を設定してL2スイッチ40経由で送信する。   Then, the server 50 sets the header information indicated by reference numeral 503 in the downlink packet and transmits it via the L2 switch 40. That is, the server 50 sets the return MAC address described in the session information (for example, the MAC address “MC-LB-1” of the load balancer 30A through which the upstream packet has passed) to the destination MAC address of the downstream packet and sets the L2 switch. Send via 40.

これにより、サーバ50から送信された下りパケットは、上りパケットの経由したロードバランサ30(例えば、ロードバランサ30A)に到達し、当該ロードバランサ30から、当該下りパケットの宛先のクライアント10(例えば、IPアドレス「IP‐C‐1」のクライアント10)に到達する。   As a result, the downlink packet transmitted from the server 50 reaches the load balancer 30 (for example, the load balancer 30A) through which the uplink packet has passed, and the load balancer 30 causes the client 10 (for example, IP The client 10) of the address "IP-C-1" is reached.

このようにすることで、システムは、上りパケットの負荷を各ロードバランサ30に分散させることができ、また、下りパケットについて、上りパケットと同じロードバランサ30を経由させることができる。これにより、システムは、ロードバランサ30のスケールアウトを実現することができる。また、ロードバランサ30のスケールアウトを行う際、サーバ50にゲートウェイの設定変更等の設定作業を行う必要がないので、ロードバランサ30のスケールアウトを行うための設定作業の手間やコストを低減することができる。   By doing so, the system can distribute the load of the upstream packet to each load balancer 30, and can also allow the downstream packet to pass through the same load balancer 30 as the upstream packet. As a result, the system can realize scale-out of the load balancer 30. Further, when performing scale-out of the load balancer 30, it is not necessary to perform setting work such as changing the setting of the gateway in the server 50, so that the labor and cost of the setting work for performing scale-out of the load balancer 30 can be reduced. You can

[効果]
次に、上記のシステムの効果を、既存技術であるロードバランサのスケールアップおよびDNSラウンドロビンによるロードバランサのスケールアウトと対比しながら説明する。
[effect]
Next, the effect of the above system will be described in comparison with the existing technology of scale-up of a load balancer and scale-out of a load balancer by DNS round robin.

ロードバランサのスケールアップは、例えば、図6(a)に示すように、既存のロードバランサ30Dをより性能の高いロードバランサ30Eにリプレースする、あるいは、既存のロードバランサ30Dに対しモジュールを追加することにより行われる。   For scale-up of the load balancer, for example, as shown in FIG. 6A, the existing load balancer 30D is replaced with a load balancer 30E having higher performance, or a module is added to the existing load balancer 30D. Done by.

また、DNSラウンドロビンによるロードバランサのスケールアウトは、図6(b)に示すように、同一ドメインに対する解決先VIP(例えば、VIP3)を増やし、DNSラウンドロビンによる負荷分散を行う。例えば、ロードバランサ30F(VIP1)、ロードバランサ30G(VIP2)に対し、ロードバランサ30Hを追加した場合、このロードバランサ30HにVIP3を設定する。また、ロードバランサ30Hを追加した場合、ロードバランサ30F,30G,30H間で、各ロードバランサ30の配下のサーバ群のグルーピングを再度行う。   Also, in the scale-out of the load balancer by the DNS round robin, as shown in FIG. 6B, the number of resolution destination VIPs (for example, VIP3) for the same domain is increased and the load is balanced by the DNS round robin. For example, when the load balancer 30H is added to the load balancer 30F (VIP1) and the load balancer 30G (VIP2), VIP3 is set to this load balancer 30H. Further, when the load balancer 30H is added, the group of servers under the control of each load balancer 30 is performed again among the load balancers 30F, 30G, 30H.

(1)設定作業および設定コストについて
上記のロードバランサ30Dのスケールアップを行う場合、サーバ群のゲートウェイの設定変更が必要であり、DNSラウンドロビンによりロードバランサ30のスケールアウトを行う場合、追加するロードバランサ30Hに割り当てるサーバ群の設定と、DNSサーバの設定変更が必要である。しかし、本実施形態のシステムの場合、上記の設定変更等は不要である。
(1) About setting work and setting cost When scaling up the above load balancer 30D, it is necessary to change the settings of the gateway of the server group, and when performing scale out of the load balancer 30 by DNS round robin, add the load It is necessary to set the server group assigned to the balancer 30H and change the DNS server setting. However, in the case of the system of the present embodiment, the above setting changes and the like are unnecessary.

(2)サーバ分割損について
上記のロードバランサ30Dのスケールアップを行う場合、サーバ群の再分割は発生しないのでいわゆるサーバの分割損は発生しないが、DNSラウンドロビンによりロードバランサ30のスケールアウトを行う場合、30F,30G,30Hに対し割り当てるサーバ群の再グルーピングを行う必要があるのでサーバの分割損が発生する。一方、本実施形態のシステムの場合、上記のサーバ分割損は発生しない。
(2) Server division loss When the above load balancer 30D is scaled up, so-called server division loss does not occur because re-division of the server group does not occur, but DNS round robin scales out the load balancer 30. In this case, since it is necessary to perform regrouping of the server group to be allocated to 30F, 30G, and 30H, server division loss occurs. On the other hand, in the case of the system of this embodiment, the above-mentioned server division loss does not occur.

(3)切り戻しについて
上記のロードバランサ30Dのスケールアップを行う場合において、切り戻しを行う際には長い時間を要する。また、DNSラウンドロビンによりロードバランサ30のスケールアウトを行う場合において、切り戻しを行う際には、DNSサーバのレコード削除とサーバの戻し作業が発生するため作業の手間がかかる。また、DNSサーバのキャッシュのTTL(Time To Live)があるため、作業結果の反映にも時間がかかる。一方、本実施形態のシステムの場合、切り戻しを行う際には、L3スイッチ20のルーティング情報を削除すればよいので切り戻しに要する作業は少ない。
(3) Switching back When performing scale-up of the load balancer 30D described above, it takes a long time to perform switching back. Further, when scale-out of the load balancer 30 is performed by the DNS round robin, when performing the switchback, the record deletion of the DNS server and the server return work are required, which takes time and effort. Further, since there is a TTL (Time To Live) in the cache of the DNS server, it takes time to reflect the work result. On the other hand, in the case of the system of the present embodiment, when performing the switchback, the routing information of the L3 switch 20 may be deleted, so that the switchback requires less work.

以上説明したとおり、本実施形態のシステムによれば、ロードバランサ30のスケールアウト時の設定作業および設定コストを低減することができる。また、ロードバランサ30の配下のサーバ群の分割損も発生せず、また切り戻しを行う際の設定作業および設定コストも低減することができる。   As described above, according to the system of the present embodiment, it is possible to reduce the setting work and the setting cost when the load balancer 30 is scaled out. Further, division loss of the server group under the load balancer 30 does not occur, and setting work and setting cost at the time of switching back can be reduced.

[その他の実施形態]
なお、典型的なクライアント〜サーバ間のネットワーク構成として、クライアント‐ファイアウォール‐ロードバランサ‐サーバという構成がある。このような構成において、ファイアウォールのスケールアウトを行う場合もある。ここで、ファイアウォールもステートフルな装置であるので、上記の構成においてファイアウォールのスケールアウトを行う場合に、ロードバランサに上記の実施形態で述べた技術を適用してもよい。つまり、図1Aに示したシステム構成図における、第1の通信装置をファイアウォール、第2の通信装置をロードバランサとしてもよい。
[Other Embodiments]
A typical client-server network configuration is a client-firewall-load balancer-server configuration. In such a configuration, the firewall may be scaled out. Since the firewall is also a stateful device, the technique described in the above embodiment may be applied to the load balancer when the firewall is scaled out in the above configuration. That is, in the system configuration diagram shown in FIG. 1A, the first communication device may be a firewall and the second communication device may be a load balancer.

この場合、第2の通信装置であるロードバランサは、ファイアウォール経由で受信したパケット(受信パケット)のL2ヘッダに設定された送信元MACアドレスにより、当該受信パケットの送信元MACアドレス(つまり、当該受信パケットが経由したファイアウォールのMACアドレス)を得る。そして、ロードバランサは、当該受信パケットの送信元MACアドレスを当該受信パケットのセッションのセッション情報に記録しておく。そして、ロードバランサは、当該受信パケットに対する返信パケットをファイアウォール側へ送信する際、当該受信パケットのセッションのセッション情報に示される送信元MACアドレスを、返信パケットの宛先MACアドレスに設定し、L2スイッチ40経由で送信する。これにより、返信パケット(下りパケット)は、当該受信パケット(上りパケット)が経由したファイアウォールと同じファイアウォールに到達する。つまり、システムにおいてファイアウォールのスケールアウトが行われた場合でも、上りパケットと下りパケットとで同じファイアウォールを経由させることができる。   In this case, the load balancer that is the second communication device uses the source MAC address set in the L2 header of the packet (reception packet) received via the firewall to determine the source MAC address of the reception packet (that is, the reception Get the MAC address of the firewall through which the packet passed. Then, the load balancer records the source MAC address of the received packet in the session information of the session of the received packet. Then, when transmitting the reply packet for the received packet to the firewall side, the load balancer sets the source MAC address indicated in the session information of the session of the received packet as the destination MAC address of the reply packet, and the L2 switch 40 Send via. As a result, the reply packet (downstream packet) reaches the same firewall as the firewall through which the received packet (upstream packet) passed. That is, even if the firewall is scaled out in the system, the upstream packet and the downstream packet can be passed through the same firewall.

[プログラム]
また、上記の各実施形態で述べたサーバ50、ロードバランサの機能を実現するプログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置をサーバ50、ロードバランサとして機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等がその範疇に含まれる。また、サーバ50、ロードバランサの機能を、クラウドサーバに実装してもよい。
[program]
Further, it can be implemented by installing a program that realizes the functions of the server 50 and the load balancer described in each of the above-described embodiments into a desired information processing device (computer). For example, the information processing apparatus can be caused to function as the server 50 and the load balancer by causing the information processing apparatus to execute the above program provided as package software or online software. The information processing apparatus mentioned here includes a desktop or notebook personal computer. Further, in addition to the above, the information processing apparatus includes a mobile communication terminal such as a smartphone, a mobile phone, a PHS (Personal Handyphone System), and a PDA (Personal Digital Assistant) in its category. Further, the functions of the server 50 and the load balancer may be implemented in the cloud server.

図7を用いて、上記のプログラム(通信制御プログラム)を実行するコンピュータの一例を説明する。図7に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。   An example of a computer that executes the above program (communication control program) will be described with reference to FIG. 7. As shown in FIG. 7, the computer 1000 has, 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は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。   The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012. The ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1090. The disk drive interface 1040 is connected to the disk drive 1100. A removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100. A mouse 1110 and a keyboard 1120 are connected to the serial port interface 1050, for example. A display 1130 is connected to the video adapter 1060, for example.

ここで、図7に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記の実施形態で説明した各種データや情報は、例えばハードディスクドライブ1090やメモリ1010に記憶される。   Here, as shown in FIG. 7, the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. The various data and information described in the above embodiments are stored in the hard disk drive 1090 or the memory 1010, for example.

そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。   Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the hard disk drive 1090 into the RAM 1012 as necessary, and executes the above-described procedures.

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

10 クライアント
20 L3スイッチ
30(30A,30B,30C) ロードバランサ
40 L2スイッチ
50 サーバ
51 通信部
52 入出力部
53 記憶部
54 制御部
531 セッションテーブル
541 通信制御部
542 パケット受信部
543 記録部
544 パケット送信部
545 アプリケーション部
10 client 20 L3 switch 30 (30A, 30B, 30C) load balancer 40 L2 switch 50 server 51 communication unit 52 input / output unit 53 storage unit 54 control unit 531 session table 541 communication control unit 542 packet receiving unit 543 recording unit 544 packet transmission Part 545 application part

Claims (4)

L2(レイヤ2)スイッチにより接続され、L3(レイヤ3)終端を行ういずれかの通信装置経由でパケットの送受信を行うサーバであって、
前記L2スイッチ経由でいずれかの前記通信装置から、送信元MACアドレスにパケットの送信元の通信装置のMACアドレスが設定されたパケットを受信するパケット受信部と、
前記受信したパケットに設定された送信元MACアドレスを、セッションテーブルにおける前記受信したパケットのセッションのセッション情報に記録する記録部と、
前記受信したパケットに対する返信パケットを送信する場合、前記セッションテーブルにおける前記受信したパケットのセッションのセッション情報に示される送信元MACアドレスを、前記返信パケットの宛先MACアドレスに設定し、前記L2スイッチ経由で送信するパケット送信部と、
を備えることを特徴とするサーバ
L2 are connected by (layer 2) switches, a server for transmitting and receiving packets via any of the communication device that performs L3 (Layer 3) termination,
From any of the communications device via the L2 switch, a packet receiving unit which receives packets MAC address is set in the transmission source communication apparatus of a packet the transmission source MAC address,
A recording unit for recording the source MAC address set in the received packet in the session information of the session of the received packet in the session table;
When transmitting a reply packet to the received packet, the transmission source MAC address indicated in the session information of the session of the received packet in the session table is set to the destination MAC address of the reply packet, and is transmitted via the L2 switch. A packet transmitting unit for transmitting,
A server comprising:
1以上の通信装置のうちいずれかの通信装置へパケットの転送を行うL3(レイヤ3)スイッチと、L3終端を行う前記1以上の通信装置と、L2(レイヤ2)スイッチにより接続されたいずれかの前記通信装置経由でパケットの送受信を行うサーバとを備える通信制御システムであって、
記通信装置それぞれは、
受信したパケットを転送する際、送信元MACアドレスに、自身の通信装置のMACアドレスを設定して転送する通信部を備え、
前記サーバそれぞれは、
前記L2スイッチ経由で前記通信装置からパケットを受信するパケット受信部と、
前記受信したパケットに設定された送信元MACアドレスを、前記パケットのセッションのセッション情報に記録する記録部と、
前記受信したパケットに対する返信パケットを送信する場合、前記受信したパケットのセッションのセッション情報に示される送信元MACアドレスを、前記返信パケットの宛先MACアドレスに設定し、前記L2スイッチ経由で送信するパケット送信部と、
を備えることを特徴とする通信制御システム。
1 or more L3 (Layer 3) for transferring packets to the one of communication devices of the communication device and the switch, and the one or more communication devices for performing L3 termination, is connected by L2 (Layer 2) switch and a communication control system and a server for transmitting and receiving packets over one of the communications device,
Each before Symbol communications equipment,
When transferring the received packet, the source MAC address, a communication unit for transferring and setting the MAC address of its own communication device,
Each of the servers
A packet receiving unit that receives a packet from the previous SL communications device via the L2 switch,
A recording unit for recording the source MAC address set in the received packet in session information of the session of the packet;
When transmitting a reply packet to the received packet, the source MAC address indicated in the session information of the session of the received packet is set to the destination MAC address of the reply packet, and the packet is transmitted via the L2 switch. Department,
A communication control system comprising:
記通信装置それぞれには、同じヴァーチャルIPアドレスが設定され、
前記L3スイッチは、
per-flow ECMPにより、受信パケットの転送先の前記通信装置を決定する転送制御部を備えることを特徴とする請求項2に記載の通信制御システム。
Each prior Symbol communications device, the same virtual IP address is set,
The L3 switch is
The per-flow ECMP, the communication control system according to claim 2, characterized in that it comprises a transfer control unit that determines a destination of the previous SL communications device of the received packet.
L2(レイヤ2)スイッチにより接続され、L3(レイヤ3)終端を行ういずれかの通信装置経由でパケットの送受信を行うサーバが、
前記L2スイッチ経由でいずれかの前記通信装置から、送信元MACアドレスにパケットの送信元の通信装置のMACアドレスが設定されたパケットを受信するステップと、
前記受信したパケットに設定された送信元MACアドレスを、セッションテーブルにおける前記受信したパケットのセッションのセッション情報に記録するステップと、
前記受信したパケットに対する返信パケットを送信する場合、前記セッションテーブルにおける前記受信したパケットのセッションのセッション情報に示される送信元MACアドレスを、前記返信パケットの宛先MACアドレスに設定し、前記L2スイッチ経由で送信するステップと、
を含んだことを特徴とする通信制御方法。
L2 are connected by (layer 2) switch, server to transmit and receive packets via any of the communication device that performs L3 (Layer 3) termination,
From any of the communications device via the L2 switch receiving a packet which MAC address is set in the transmission source communication apparatus of a packet the transmission source MAC address,
Recording the source MAC address set in the received packet in session information of the session of the received packet in a session table;
When transmitting a reply packet to the received packet, the transmission source MAC address shown in the session information of the session of the received packet in the session table is set to the destination MAC address of the reply packet, and is transmitted via the L2 switch. The step of sending,
A communication control method comprising:
JP2017192773A 2017-10-02 2017-10-02 Server, communication control system, and communication control method Active JP6693925B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017192773A JP6693925B2 (en) 2017-10-02 2017-10-02 Server, communication control system, and communication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017192773A JP6693925B2 (en) 2017-10-02 2017-10-02 Server, communication control system, and communication control method

Publications (2)

Publication Number Publication Date
JP2019068297A JP2019068297A (en) 2019-04-25
JP6693925B2 true JP6693925B2 (en) 2020-05-13

Family

ID=66339920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017192773A Active JP6693925B2 (en) 2017-10-02 2017-10-02 Server, communication control system, and communication control method

Country Status (1)

Country Link
JP (1) JP6693925B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020136743A (en) * 2019-02-13 2020-08-31 日本電信電話株式会社 Communication controller, communication control program, communication control system, and communication control method
JP7188602B2 (en) * 2019-08-06 2022-12-13 日本電信電話株式会社 L2 switch, communication control method, and communication control program
WO2022003883A1 (en) * 2020-07-01 2022-01-06 日本電信電話株式会社 L2 switch, communication control method, and communication control program
US20230353509A1 (en) * 2020-07-01 2023-11-02 Nippon Telegraph And Telephone Corporation L2 switch, communication control method, and communication control program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003009539A1 (en) * 2001-07-10 2003-01-30 Fujitsu Limited Mobile machine communication system and communication method
JP3898498B2 (en) * 2001-12-06 2007-03-28 富士通株式会社 Server load balancing system
US20100036903A1 (en) * 2008-08-11 2010-02-11 Microsoft Corporation Distributed load balancer
JP5782641B2 (en) * 2012-08-31 2015-09-24 株式会社日立製作所 Computer system and packet transfer method

Also Published As

Publication number Publication date
JP2019068297A (en) 2019-04-25

Similar Documents

Publication Publication Date Title
US11863448B2 (en) Method and apparatus for traffic optimization in virtual private networks (VPNs)
JP6693925B2 (en) Server, communication control system, and communication control method
US9544364B2 (en) Forwarding policies on a virtual service network
JP6452181B2 (en) Load balancing internet protocol security tunnel
EP3225014B1 (en) Source ip address transparency systems and methods
JP4730746B2 (en) Method, system, and computer program for bypassing a routing stack using a mobile internet protocol
US10412159B1 (en) Direct load balancing using a multipath protocol
JP5444227B2 (en) Method and apparatus for performing load balancing on a control plane of a mobile communication network
US20220045934A1 (en) Method and apparatus of automatic route optimization in a private virtual network for client devices of a local network
JP2016521097A (en) Method, system, and computer program for managing a firewall cluster in a network computing environment (regional firewall clustering in a network computing environment)
WO2013097484A1 (en) Method, server and system for balancing loads of virtual machine cluster
US11349751B2 (en) Method for prioritization of internet traffic by finding appropriate internet exit points
US10129209B2 (en) Method and communication device for network address translation traversal
US11895009B2 (en) Intelligently routing internet traffic
EP3113539A1 (en) Load balancing user plane traffic in a telecommunication network
CN104811383B (en) A kind of message forwarding method and equipment
Kogias et al. Bypassing the load balancer without regrets
US11595304B2 (en) Communication device, communication control system, communication control method, and communication control program
WO2016035644A1 (en) Control device, control system, control method, and control program
JP6053032B2 (en) COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM
WO2020166362A1 (en) Communication control device, communication control program, communication control system, and communication control method
CN111049754B (en) Data communication method, device, equipment and computer readable storage medium
US20240171504A1 (en) Multi-path architecture for hardware offloading
WO2021111523A1 (en) Control device, control method, and program
TWI565266B (en) A server system that prevents network congestion, and a connection method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200416

R150 Certificate of patent or registration of utility model

Ref document number: 6693925

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150