JP2006277569A - Load distribution system, load distribution device, real server and load distribution method - Google Patents
Load distribution system, load distribution device, real server and load distribution method Download PDFInfo
- Publication number
- JP2006277569A JP2006277569A JP2005098687A JP2005098687A JP2006277569A JP 2006277569 A JP2006277569 A JP 2006277569A JP 2005098687 A JP2005098687 A JP 2005098687A JP 2005098687 A JP2005098687 A JP 2005098687A JP 2006277569 A JP2006277569 A JP 2006277569A
- Authority
- JP
- Japan
- Prior art keywords
- address
- packet
- registration
- data
- load balancer
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、クライアントからの要求を負荷分散装置で受けて当該要求を複数のサーバのいずれかに振り分けるのに好適な負荷分散システム、負荷分散装置、実サーバ及び負荷分散方法に関する。 The present invention relates to a load distribution system, a load distribution apparatus, a real server, and a load distribution method suitable for receiving a request from a client by a load distribution apparatus and distributing the request to any of a plurality of servers.
クライアント・サーバシステムでは、サーバ(サーバ計算機)の負荷がボトルネックになることが多いため、サーバ数を増強し、負荷を分散する方法が取られる。このシステムでは、複数台存在するサーバのうち、ある特定のサーバが過負荷とならないように、クライアント(クライアント計算機)からの要求を振り分ける機能を提供する負荷分散装置が使用される(例えば、特許文献1参照)。 In a client / server system, the load of a server (server computer) often becomes a bottleneck, and therefore, a method of increasing the number of servers and distributing the load is employed. In this system, a load balancer that provides a function to distribute requests from clients (client computers) is used so that a specific server among a plurality of servers does not become overloaded (for example, Patent Documents). 1).
負荷分散装置を使用したクライアント・サーバシステムにおけるクライアントからサーバへの通信データの流れは次の通りとなる。まずクライアントは、負荷分散装置上の仮想サーバのアドレスに対し通信データを送信する。このため、負荷分散装置は、実際にクライアントに対しサービスを提供するサーバ(以下、実サーバと称する)に代わりクライアントからの通信データを受信する。負荷分散装置は、受信した通信データの宛先IP(Internet Protocol)アドレスを実サーバのアドレスに変換し、負荷分散のアルゴリズムに基づき実サーバに分散して配信する。 The flow of communication data from the client to the server in the client / server system using the load balancer is as follows. First, the client transmits communication data to the address of the virtual server on the load balancer. For this reason, the load balancer receives communication data from the client instead of a server that actually provides services to the client (hereinafter referred to as a real server). The load distribution apparatus converts the destination IP (Internet Protocol) address of the received communication data into the address of the real server, and distributes and distributes to the real server based on the load distribution algorithm.
一方、上記システムにおける実サーバからクライアントへの通信データの流れは次の通りとなる。実サーバは、デフォルトゲートウェイを負荷分散装置自身のアドレス(仮想サーバのアドレスとは別のアドレス)に設定することで、クライアントへ送信する通信データが負荷分散装置を通過するようにする。負荷分散装置は、実サーバから送られたクライアント宛てパケットに対し、送信元アドレスを仮想サーバのアドレスに変換して、クライアントに送信する。 On the other hand, the flow of communication data from the real server to the client in the system is as follows. The real server sets the default gateway to the address of the load balancer itself (an address different from the address of the virtual server) so that communication data to be transmitted to the client passes through the load balancer. The load balancer converts the transmission source address to the virtual server address for the packet addressed to the client sent from the real server, and transmits it to the client.
このように、クライアントに対し負荷分散装置上の仮想サーバのアドレスと通信しているように見せることで、負荷分散装置は、実サーバに対する要求を受信し、負荷分散を行う。
上記した従来技術では、負荷分散装置に送受信の全パケットが集中する。このため、通信負荷が大きくなる可能性がある。また負荷分散装置は、送受信の全パケットに対しIPアドレス変換を行うため、処理の負荷が大きくなる可能性がある。 In the above-described prior art, all packets transmitted and received are concentrated on the load balancer. For this reason, communication load may become large. Moreover, since the load balancer performs IP address conversion for all packets sent and received, there is a possibility that the processing load will increase.
本発明は上記事情を考慮してなされたものでその目的は、クライアント・サーバ間の全通信データが負荷分散装置に集中することを防ぎ、且つ負荷分散装置上でのIPアドレス変換を不用にできる負荷分散システム、負荷分散装置、実サーバ及び負荷分散方法を提供することにある。 The present invention has been made in view of the above circumstances, and its purpose is to prevent all communication data between the client and the server from being concentrated on the load balancer and to eliminate the need for IP address conversion on the load balancer. To provide a load distribution system, a load distribution device, a real server, and a load distribution method.
本発明の1つの観点によれば、複数のクライアントにサービスを提供する複数の実サーバであって、当該複数の実サーバに共通の第1のIPアドレスを持つ複数の実サーバと、上記複数の実サーバとネットワークアドレスが同一のセグメントに存在し、上記複数のクライアントの各々からのサービス要求を上記複数の実サーバに割り振る負荷分散装置とを具備する負荷分散システムが提供される。上記負荷分散装置は、通信データを受信する受信手段であって、上記クライアントからの上記第1のIPアドレスを宛先IPアドレスとする実サーバ宛ての通信データを代理で受信する受信手段と、通信データを送信する第1の送信手段と、上記複数の実サーバの中から、上記受信手段によって代理で受信された通信データを転送すべき実サーバを選択する負荷分散処理手段と、上記受信手段によって代理で受信された通信データを上記負荷分散処理手段によって選択された実サーバの物理アドレス宛てに上記第1の送信手段によって転送させる転送処理手段とを有する。上記複数の実サーバの各々は、上記第1のIPアドレスとは異なるアドレス解決プロトコル要求送信用の第2のIPアドレスで上記クライアントの物理アドレスを取得するためのアドレス解決を行うアドレス解決プロトコル処理手段と、上記アドレス解決プロトコル処理手段による上記アドレス解決により決定された物理アドレスに対し上記第1のIPアドレスを送信元IPアドレスとする通信データを送信する第2の送信手段とを有する。 According to one aspect of the present invention, there are a plurality of real servers that provide services to a plurality of clients, the plurality of real servers having a first IP address common to the plurality of real servers, There is provided a load distribution system including a load distribution device in which a real server and a network address exist in the same segment, and a service request from each of the plurality of clients is allocated to the plurality of real servers. The load balancer is a receiving means for receiving communication data, the receiving means for receiving, by proxy, communication data addressed to a real server whose destination IP address is the first IP address from the client, and communication data A first transmission means for transmitting, a load distribution processing means for selecting a real server to which communication data received by the reception means as a proxy is selected from the plurality of real servers, and a proxy for the reception means. Transfer processing means for transferring the communication data received by the first transmission means to the physical address of the real server selected by the load distribution processing means. Each of the plurality of real servers includes address resolution protocol processing means for performing address resolution for acquiring the physical address of the client with a second IP address for transmitting an address resolution protocol request different from the first IP address. And second transmission means for transmitting communication data having the first IP address as the transmission source IP address with respect to the physical address determined by the address resolution by the address resolution protocol processing means.
このような構成においては、クライアントからの実サーバ宛ての通信データ(通信パケット)のみが負荷分散装置により複数の実サーバのうちのいずれかの実サーバに転送される。一方、実サーバが送信するクライアント宛ての通信データは負荷分散装置と関係なく、直接宛先のクライアントに送信される。このため、通信負荷を減らすことができる。また負荷分散装置では、クライアントからの実サーバ宛ての通信データを中継しながら、従来技術とは異なってIPアドレスの変換を必要としないため、アドレス変換の処理負荷が発生しないで済む。 In such a configuration, only communication data (communication packet) addressed to the real server from the client is transferred to any one of the plurality of real servers by the load balancer. On the other hand, the communication data addressed to the client transmitted by the real server is directly transmitted to the destination client regardless of the load balancer. For this reason, communication load can be reduced. In addition, the load balancer relays communication data addressed to the real server from the client and does not require IP address conversion unlike the prior art, so that no load processing load is required.
また実サーバは、上記第1のIPアドレスとは異なるアドレス解決プロトコル要求送信用の第2のIPアドレスで上記クライアントの物理アドレスを取得するためのアドレス解決を行う。これにより、負荷分散装置の代理アドレス解決プロトコルによって、クライアントまたはルータでアドレス解決プロトコルテーブル(ARPテーブル)に生成される、第1のIPアドレスと負荷分散装置の物理アドレスとを含むエントリデータが、第1のIPアドレスと実サーバの物理アドレスとを含むエントリデータに書き換えられることが防止される。 The real server performs address resolution for acquiring the physical address of the client using a second IP address for address resolution protocol request transmission different from the first IP address. Thus, the entry data including the first IP address and the physical address of the load balancer generated in the address resolution protocol table (ARP table) by the client or the router by the proxy address resolution protocol of the load balancer is The entry data including the IP address of 1 and the physical address of the real server is prevented from being rewritten.
ここで、上記負荷分散装置に、上記クライアントからの第1のIPアドレスに対するアドレス解決プロトコル要求に対して上記負荷分散装置の物理アドレスを含む代理アドレス解決プロトコル応答を返す代理アドレス解決プロトコル処理手段を追加し、上記負荷分散装置の上記受信手段が、上記代理アドレス解決プロトコル応答により上記クライアントに返された上記負荷分散装置の物理アドレス宛てに当該クライアントから上記第1のIPアドレスで通信データが送信された場合に、当該通信データを受信するようにすると良い。特に、上記サーバのアドレス解決プロトコル処理手段が、上記クライアントからの第1のIPアドレスに対するアドレス解決プロトコル要求に対して応答しないようにするならば、なお良い。 Here, a proxy address resolution protocol processing means for returning a proxy address resolution protocol response including a physical address of the load balancer in response to an address resolution protocol request for the first IP address from the client is added to the load balancer. Then, the receiving means of the load balancer sends communication data from the client to the physical address of the load balancer returned to the client by the proxy address resolution protocol response from the client with the first IP address. In this case, the communication data may be received. In particular, it is better if the address resolution protocol processing means of the server does not respond to an address resolution protocol request for the first IP address from the client.
このような構成においては、クライアントからの第1のIPアドレスに対するアドレス解決プロトコル要求に対して、負荷分散装置だけが、当該負荷分散装置の物理アドレスを通知することができる。これにより負荷分散装置は、クライアントからの第1のIPアドレスを用いた実サーバ宛ての通信データを代理で受信できる。 In such a configuration, only the load balancer can notify the physical address of the load balancer in response to an address resolution protocol request for the first IP address from the client. As a result, the load balancer can receive communication data addressed to the real server using the first IP address from the client as a proxy.
また、上記負荷分散装置に、サービス要求を割り振る対象となる上記複数の実サーバの物理アドレスと上記第1のIPアドレスとを含むエントリデータを格納する負荷分散装置側登録テーブルを追加し、上記負荷分散装置の負荷分散処理手段が、上記負荷分散装置側登録テーブルから、上記受信手段によって受信された通信データの宛先IPアドレスと一致するIPアドレスを含むエントリデータを抽出し、当該抽出されたエントリデータに含まれている物理アドレスの中から通信データを転送すべき実サーバの物理アドレスを選択する構成とするならば、複数のサーバに対して効率的に負荷分散が行える。 In addition, a load balancer side registration table for storing entry data including physical addresses of the plurality of real servers to which service requests are allocated and the first IP address is added to the load balancer. The load distribution processing means of the distribution apparatus extracts entry data including an IP address that matches the destination IP address of the communication data received by the reception means from the load distribution apparatus side registration table, and the extracted entry data If the physical address of the real server to which the communication data is to be transferred is selected from the physical addresses included in the server, the load can be distributed efficiently to a plurality of servers.
また、上記負荷分散装置の上記受信手段が、上記負荷分散装置のIPアドレスを宛先IPアドレスとする通信データをも受信する構成とする一方、上記負荷分散装置の上記転送処理手段に以下の各手段、即ち、上記受信手段によって通信データが受信された場合、当該通信データの宛先IPアドレスが上記負荷分散装置自身のIPアドレスと一致するか判定する手段と、上記負荷分散装置自身のIPアドレスと一致する場合、上記通信データをインターネットプロトコル層及び上位のプロトコル層に受け渡す手段と、上記負荷分散装置自身のIPアドレスと一致しない場合、上記通信データを上記負荷分散処理手段に渡して当該負荷分散処理手段により転送先の物理アドレスを選択させる手段と、上記通信データを転送すべき実サーバの物理アドレスが上記負荷分散処理手段によって選択できなかった場合、上記通信データを破棄する手段とを持たせると良い。
このような構成においては、負荷分散装置が自身のIPアドレスで通常の通信を行うこともできる。
The receiving means of the load balancer is configured to receive communication data whose destination IP address is the IP address of the load balancer, while the following means are included in the transfer processing means of the load balancer: That is, when communication data is received by the receiving means, the means for determining whether the destination IP address of the communication data matches the IP address of the load balancer itself, and the IP address of the load balancer itself If the communication data does not match the IP address of the load distribution device itself and the means for passing the communication data to the Internet protocol layer and the higher protocol layer, the communication data is passed to the load distribution processing means Means for selecting the physical address of the transfer destination by means, and physical of the real server to which the communication data is to be transferred If the dress is unable selected by the load distribution processing means, may be given a means for discarding said communication data.
In such a configuration, the load balancer can perform normal communication using its own IP address.
また、上記複数の実サーバの各々に、上記負荷分散装置の物理アドレスを含むエントリデータを格納するサーバ側登録テーブルと、TCP/IP通信におけるデータリンク層の処理を行うデータリンク層処理手段と、上記TCP/IP通信におけるIP層の処理を行うIP層処理手段とに加えて、上記データリンク層処理手段から上記IP層処理手段に送るべき通信データを当該IP層処理手段に代わり受信する第1の受信手段であって、受信された通信データがIPパケットの場合、上記サーバ側登録テーブルに登録されている物理アドレスを送信元アドレスとするパケットのみを上記IP層処理手段に送る第1の受信手段と、上記第2の送信手段を含み、上記IP層処理手段から上記データリンク層処理手段に送るべき通信データを上記データリンク層処理手段に代わり受信する第2の受信手段であって、受信された通信データがIPパケットの場合、当該IPパケットをそのまま上記データリンク層処理手段に送る第2の受信手段とを持たせると良い。ここでは更に、上記実サーバの上記アドレス解決プロトコル処理手段に以下の各手段、即ち、上記第1の受信手段によって受信された通信データがターゲットIPアドレス及びターゲット物理アドレスを含むアドレス解決プロトコル応答パケットであって、上記ターゲットIPアドレスが上記第2のIPアドレスで、且つターゲット物理アドレスが上記実サーバの物理アドレスである場合に、上記ターゲットIPアドレスを上記第1のIPアドレスに変換する手段と、上記ターゲットIPアドレスが上記第1のIPアドレスに変換されたアドレス解決プロトコル応答パケットを上記IP層処理手段に送る手段と、上記ターゲットIPアドレスが上記第2のIPアドレスでないか、或いは上記ターゲット物理アドレスが上記実サーバの物理アドレスでない場合に、上記アドレス解決プロトコル応答パケットを破棄する手段と、上記第2の受信手段によって受信された通信データがターゲットIPアドレス及びターゲット物理アドレスを含むアドレス解決プロトコル要求パケットであって、上記ターゲットIPアドレスが上記第1のIPアドレスで、且つターゲット物理アドレスが上記実サーバの物理アドレスである場合に、送信元IPアドレスを上記第2のIPアドレスに変換する手段と、上記ターゲットIPアドレスが上記第2のIPアドレスに変換されたアドレス解決プロトコル要求パケットを上記データリンク層処理手段に送る手段と、上記ターゲットIPアドレスが上記第1のIPアドレスでないか、或いは上記ターゲット物理アドレスが上記実サーバの物理アドレスでない場合に、上記アドレス解決プロトコル要求パケットを破棄する手段とを持たせると良い。 A server-side registration table that stores entry data including a physical address of the load balancer in each of the plurality of real servers; a data link layer processing unit that performs data link layer processing in TCP / IP communication; In addition to the IP layer processing means for performing the IP layer processing in the TCP / IP communication, the communication data to be sent from the data link layer processing means to the IP layer processing means is received instead of the IP layer processing means. First receiving means for transmitting only packets having a physical address registered in the server side registration table as a transmission source address to the IP layer processing means when the received communication data is an IP packet. And communication data to be sent from the IP layer processing means to the data link layer processing means. A second receiving means for receiving instead of the data link layer processing means, and when the received communication data is an IP packet, a second receiving means for sending the IP packet as it is to the data link layer processing means is provided. And good. Here, further, the following data is sent to the address resolution protocol processing means of the real server, that is, the communication data received by the first receiving means is an address resolution protocol response packet including a target IP address and a target physical address. And means for converting the target IP address to the first IP address when the target IP address is the second IP address and the target physical address is the physical address of the real server; Means for sending an address resolution protocol response packet in which the target IP address is converted to the first IP address to the IP layer processing means; and whether the target IP address is not the second IP address or the target physical address is Physical server physical address And if the communication data received by the second receiving means is an address resolution protocol request packet including a target IP address and a target physical address, and the target Means for converting the source IP address to the second IP address when the IP address is the first IP address and the target physical address is the physical address of the real server; Means for sending an address resolution protocol request packet converted to a second IP address to the data link layer processing means, and whether the target IP address is not the first IP address or the target physical address is the real server Not a physical address The case, may be given a means for discarding the Address Resolution Protocol request packet.
このような構成のサーバは、TCP/IP通信機能を標準的に有する通常のサーバに、特別のプログラムを実行させることにより簡単に実現でき、サーバ自体を専用装置とする必要がない。 The server having such a configuration can be easily realized by causing a normal server having a TCP / IP communication function as a standard to execute a special program, and the server itself does not need to be a dedicated device.
本発明によれば、クライアントからの実サーバ宛ての通信データをIPアドレスの変換を必要とすることなく負荷分散装置によって複数の実サーバのうちのいずれかの実サーバに転送でき、しかも実サーバが送信するクライアント宛ての通信データは負荷分散装置と関係なく、直接宛先のクライアントに送信できる。即ち本発明によれば、クライアント・サーバ間の全通信データが負荷分散装置に集中することを防ぎ、且つ負荷分散装置上でのIPアドレス変換を不用にできる。 According to the present invention, communication data addressed to a real server from a client can be transferred to any one of a plurality of real servers by a load balancer without requiring conversion of an IP address. Communication data addressed to the client to be transmitted can be transmitted directly to the destination client regardless of the load balancer. That is, according to the present invention, it is possible to prevent all communication data between the client and the server from being concentrated on the load balancer, and to make IP address conversion on the load balancer unnecessary.
以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係る負荷分散システムの基本構成と動作原理を説明するための図である。図1において、クライアント11と当該クライアント11を含む複数のクライアントにサービスを提供する複数の実サーバ、例えば実サーバ12-1,12-2及び12-3とは、ネットワークアドレスが異なる2つのネットワーク13及び14を介して接続されている。クライアント11はネットワーク13に接続され、実サーバ12-1乃至12-3はネットワーク14に接続されている。図1では作図の都合上、1台のクライアント11がネットワーク13に接続されているが、一般には多数のクライアントがネットワーク13に接続されている。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a diagram for explaining the basic configuration and operation principle of a load distribution system according to an embodiment of the present invention. In FIG. 1, a
ネットワーク13及び14はルータ15により接続されている。ルータ15は、この異なるネットワークアドレスのネットワーク13及び14間を接続するためのルーティング機能を有する。なお、ネットワーク13及び14のネットワークアドレスが同一であるならばルータ15を必要としない。
The
ネットワーク14には負荷分散装置16が接続されている。つまり負荷分散装置16は、ネットワークアドレスが同一のセグメント上に存在する。負荷分散装置16は、実サーバ12-1乃至12-3と異なるIPアドレス“192.168.10.10”を持つ。これに対して実サーバ12-1乃至12-3は、負荷分散装置16のIPアドレスとは異なるものの、全サーバに共通のIPアドレス“192.168.10.11”を持つ。
A
負荷分散装置16は、クライアント11から宛先IPアドレス“192.168.10.11”を用いた実サーバ宛ての通信データ(通信パケット)が送信されると(ステップS1)、当該実サーバ宛ての通信パケットを代理で受信する。負荷分散装置16は、代理で受信したパケットを、負荷分散のアルゴリズムに従い、実サーバ12-1乃至12-3のいずれかの実サーバに対して転送する(ステップS2)。
When the communication data (communication packet) addressed to the real server using the destination IP address “192.168.10.11” is transmitted from the client 11 (step S1), the
負荷分散装置16による負荷分散対象となる実サーバ12-1乃至12-3は、それぞれ専用装置120-1乃至120-3を含む。実サーバ12-1乃至12-3の専用装置120-1乃至120-3は、当該実サーバの全てに共通のIPアドレス“192.168.10.11”を設定し、負荷分散装置16から転送されるパケットのみを処理する。専用装置120-1乃至120-3は更に、実サーバ12-1乃至12-3が送信するパケットを負荷分散装置16を中継させずに、直接送信する(ステップS3)。
The real servers 12-1 to 12-3 that are load distribution targets by the
図1の負荷分散システムでは、クライアント11が送信するパケットのみ負荷分散装置16を通過する。これに対して、実サーバ12-i(i=1,2,3)が送信するパケットは負荷分散装置16を通過しない。このため、従来の負荷分散装置の問題である負荷分散装置上の通信負荷を減らすことができる。
In the load distribution system of FIG. 1, only packets transmitted by the
また図1の負荷分散システムでは、クライアント11は実サーバ12-iのIPアドレス宛に直接送信する。このため、負荷分散装置16におけるIPアドレスの変換が発生しない。これにより、既存の負荷分散装置の問題であるIPアドレス変換による処理の負荷を発生しないようにすることができる。
In the load distribution system of FIG. 1, the
次に、図1のシステムにおいて、クライアント11から負荷分散装置16を中継して実サーバ12-iに通信パケット(通信データ)を送信する方法について、図2(a)のデータ流れ図を参照して説明する。
Next, in the system of FIG. 1, a method for transmitting a communication packet (communication data) from the
負荷分散装置16は、予め実サーバ12-1乃至12-3に共通のIPアドレス“192.168.10.11”と当該実サーバ12-1乃至12-3のMAC(Media Access Control)アドレス(つまり物理アドレス)との組み合せを知っているものとする。
The
今、クライアント11から実サーバ12-1乃至12-3に共通のIPアドレス“192.168.10.11”に対するARP(Address Resolution Protocol;アドレス解決プロトコル)要求が送信されたものとする(ステップS11)。負荷分散装置16は、実サーバ宛てのパケット(IPアドレスが192.168.10.11のパケット)を代理で受信するため、実サーバのIPアドレスに対するARP要求に対し、代理ARPで応答する(ステップS12)。これにより負荷分散装置16は、クライアント11から実サーバ宛ての通信パケット(IPアドレスが192.168.10.11のパケット)が送信された場合(ステップS13)、当該実サーバ宛てのパケットを受信する。
Assume that an ARP (Address Resolution Protocol) request for a common IP address “192.168.10.11” is transmitted from the
負荷分散装置16は、受信した実サーバ宛てのパケット(例えばサービス要求のためのパケット)を、負荷分散のアルゴリズムに基づき、実サーバ12-1乃至12-3のうち負荷分散対象として決定された実サーバのMACアドレス宛てに転送する(ステップS14)。負荷分散のアルゴリズムに関しては、従来から種々知られており、且つ本発明に直接関係しないため説明を省略する。
The
実サーバ12-i上の専用装置120-iは、当該実サーバ12-iの通信を管理・制御する機能を持ち、予め負荷分散装置16のIPアドレス“192.168.10.10”と当該負荷分散装置16のMACアドレスを知っているものとする。
The dedicated device 120-i on the real server 12-i has a function of managing and controlling the communication of the real server 12-i, and the IP address “192.168.10.10” of the
実サーバ12-i上の専用装置120-iは、自身のIPアドレス“192.168.10.11”に対するARP要求と自身のアドレスのARP応答を破棄する機能を持つ。この機能により、実サーバ12-iはARP要求に応答しないため、クライアント11からの実サーバ宛てのパケットは、負荷分散装置16で受信される。また本実施形態では、全ての実サーバ12-i(i=1,2,3)が共通のIPアドレス“192.168.10.11”を設定するが、上記の破棄機能により、詳細を後述するように実サーバ間でIPアドレス競合が起こることを防ぐことができる。
The dedicated device 120-i on the real server 12-i has a function of discarding the ARP request for its own IP address “192.168.10.11” and the ARP response for its own address. With this function, since the real server 12-i does not respond to the ARP request, the packet addressed to the real server from the
実サーバ12-i上の専用装置120-iは、負荷分散装置16から転送された自身宛てのパケットを受信する。もし、受信パケットの送信元のMACアドレスが負荷分散装置16を示していれば、専用装置120-iは、実サーバ12-iのOSに受信パケットを渡す。これら対し、送信元のMACアドレスが負荷分散装置16以外の場合、専用装置120-iは受信パケットを破棄する。
The dedicated device 120-i on the real server 12-i receives the packet addressed to itself transferred from the
次に負荷分散装置16を中継せずに、実サーバ12-i(例えば実サーバ12-1)からクライアント11に通信パケット(通信データ)を送信する方法について、図2(b)のデータ流れ図を参照して説明する。
Next, regarding a method for transmitting a communication packet (communication data) from the real server 12-i (for example, the real server 12-1) to the
まず、実サーバ12-i上の専用装置120-iには、ARP要求送信用のIPアドレス“192.168.10.12”が予め設定されているものとする。実サーバ12-i上の専用装置120-iは、クライアント11に対し通信パケットを送信する場合、上記のIPアドレス“192.168.10.12”を使用してクライアント11に対するARP要求を送信する(ステップS21)。実サーバ12-i上の専用装置120-iは、このARP要求に対するクライアント11からのARP応答を受信する(ステップS22)、専用装置120-iは、ARP応答のデータに基づき、クライアント11宛ての通信パケットを、実サーバ12-1乃至12-3に共通の通信パケット送受信用のIPアドレス“192.168.10.11”を送信元IPアドレスとして送信する(ステップS23)。
First, it is assumed that the IP address “192.168.10.12” for ARP request transmission is set in advance in the dedicated device 120-i on the real server 12-i. When transmitting a communication packet to the
このように、実サーバ12-iが通信パケット送受信用のIPアドレスとARP要求用のIPアドレスとを切り替えて使用するのは、負荷分散装置16の代理ARPによりクライアント11のARPテーブル(ネットワーク13及びネットワーク14のネットワークアドレス、つまりセグメントが同一の場合)またはルータ15のARPテーブル(ネットワーク13及びネットワーク14のネットワークアドレス、つまりセグメントが異なる場合)に作成されたデータが、書き換えられないようにするためである。
As described above, the real server 12-i switches between the IP address for communication packet transmission / reception and the IP address for ARP request and uses them by the proxy ARP of the load balancer 16 (the
もし、実サーバ12-iのIPアドレス“192.168.10.11”でARP要求が送信されるならば、図3に示すように、代理ARPより負荷分散装置16のMACアドレスで作成されたARPテーブル110のデータが、実サーバ12-iのMACアドレスに書き換わる。この場合、次に送信される実サーバ宛てのパケットは、このARPテーブル110のデータに基づき、実サーバ12-iのMACアドレスに送信されてしまう。本実施形態では、実サーバ宛てパケットは全て負荷分散装置16を中継させる必要があるため問題である。
If an ARP request is transmitted with the IP address “192.168.10.11” of the real server 12-i, as shown in FIG. 3, the ARP table 110 created by the proxy ARP with the MAC address of the
そこで本実施形態では、上述のように、実サーバ12-i(上の専用装置120-i)は、ARP要求送信用のIPアドレス“192.168.10.12”を送信元IPアドレスとしてクライアント11に対してARP要求を送信する。この場合、クライアント11またはルータ15のARPテーブル110には、図4に示すようにARP要求送信用のIPアドレス“192.168.10.12”を含むエントリデータが追加登録される。このため、代理ARPにより負荷分散装置16のMACアドレスで作成されたデータは書き換えられない。この場合、次に送信される実サーバ宛てのパケットは、このARPテーブル110のデータに基づき、負荷分散装置16のMACアドレスに送信される。
Therefore, in the present embodiment, as described above, the real server 12-i (the dedicated device 120-i above) transmits to the
図1のシステムにおける上述の動作を整理して、図5のシーケンスチャートを参照して説明する。図5において、クライアント11は、実サーバ12-1乃至12-3に共通のIPアドレス“192.168.10.11”に対するARP要求を送信する(ステップS31)。
The above-described operation in the system of FIG. 1 will be organized and described with reference to the sequence chart of FIG. In FIG. 5, the
実サーバ12-i(上の専用装置120-i)は、負荷分散装置16を中継して通信を行うため、自身宛ての全てのARP要求に対し応答を停止する。代わりに負荷分散装置16が、クライアント11からのARP要求を受信すると代理ARP応答手段として機能し、当該ARP要求に対する応答を代理ARPによりクライアント11に返す(ステップS32)。これにより負荷分散装置16からクライアント11に対し、実サーバ12-iのMACアドレスではなくて、負荷分散装置16自身のMACアドレスが通知される。この結果、クライアント11またはルータ15のARPテーブル110には、実サーバ12-1乃至12-3に共通のIPアドレス“192.168.10.11”に対応付けて負荷分散装置16のMACアドレスが登録される。よって、クライアント11からの実サーバ宛ての通信データ(通信パケット)は負荷分散装置16のMACアドレスに送られることになり、負荷分散装置16が受信する(ステップS33)。
Since the real server 12-i (the dedicated device 120-i above) performs communication by relaying through the
負荷分散装置16は、実サーバ宛ての通信データを受信すると、予め登録されている実サーバ12-1乃至12-3の各々のMACアドレスから負荷分散のアルゴリズムに基づき通信データを転送すべき実サーバ12-iを決定し、受信した通信データを当該決定された実サーバ12-iのMACアドレス宛てに転送する(ステップS34)。
When receiving the communication data addressed to the real server, the
すると実サーバ12-i上の専用装置120-iは、クライアント11からの通信データ(通信パケット)を受信する。実サーバ12-iが通信データを送信する場合、送信元IPアドレスとして通信用のIPアドレス“192.168.10.11”が用いられる。実サーバ12-iが通信データをクライアント11に送信するためには、ARP要求により当該クライアント11のMACアドレスを取得する必要がある。しかし、このARP要求により、ステップS32で作成された、クライアント11またはルータ15のARPテーブル110上のデータ(IPアドレス“192.168.10.11”に対応付けられたMACアドレス)が書き換えられないようにしなければならない。そこで実サーバ12-i上の専用装置120-iは、通信用のIPアドレス“192.168.10.11に代えてARP送信用のIPアドレス“192.168.10.12”を使用して、クライアント11に対するARP要求を送信する(ステップS35)。するとクライアント11は、ARP要求に対するARP応答を実サーバ12-iに返す(ステップS36)。
Then, the dedicated device 120-i on the real server 12-i receives communication data (communication packet) from the
実サーバ12-i上の専用装置120-iは、クライアント11からのARP応答(ステップS36)を基に、通信用のIPアドレス“192.168.10.11”を送信元IPアドレスとして使用して、当該クライアント宛ての通信データを送信する(ステップS37)。 The dedicated device 120-i on the real server 12-i uses the communication IP address “192.168.10.11” as the transmission source IP address based on the ARP response from the client 11 (step S36). The communication data addressed is transmitted (step S37).
クライアント11は、当該クライアント11またはルータ15のARPテーブル110にデータが作成された後、通信データ(通信パケット)を送信する場合、当該ARPテーブル110のデータに基づき実サーバ宛ての通信パケットを送信する(ステップS38)。この際、実サーバ12-iからのARP要求に応じて(ステップS35)、ARPテーブル110上のデータが書き換えられることはないため、クライアント11からの実サーバ宛ての通信パケットは負荷分散装置16で受信される。
When the
負荷分散装置16は、負荷分散のアルゴリズムに基づき、実サーバ12-1乃至12-3の中から受信された通信パケットを転送すべき実サーバを決め、当該受信された通信パケットを、決定された実サーバの予め登録されているMACアドレスに転送する(ステップS39)。
The
次に負荷分散装置16上に、実サーバのIPアドレスとMACアドレスとの対を含むエントリデータ(アドレス情報)を保持するテーブルを自動で作成する方法について、図6のシーケンスチャートを参照して説明する。
Next, a method for automatically creating a table holding entry data (address information) including a pair of an IP address and a MAC address of a real server on the
実サーバ12-i上の専用装置120-iは、負荷分散装置16のMACアドレスを取得するため、ブロードキャストまたはマルチキャストでパケット転送要請(パケット転送要請パケット)を送信する(ステップS41)。このパケット転送要請は、IP層以上のパケットを使用し、少なくともパケット転送要請であると識別できるデータであればどんな形式で良く、ブロードキャストまたは、マルチキャストで送信される。1例として、パケット転送要請がICMP(Internet Control Message Protocol(インターネットコントロールメッセージプロトコル))のルータ請願(Router Solicitation)パケットでも構わない。 The dedicated device 120-i on the real server 12-i transmits a packet transfer request (packet transfer request packet) by broadcast or multicast in order to acquire the MAC address of the load balancer 16 (step S41). This packet transfer request may be in any format as long as it uses data of a packet higher than the IP layer and can be identified as at least a packet transfer request, and is transmitted by broadcast or multicast. As an example, the packet transfer request may be a router solicitation packet of ICMP (Internet Control Message Protocol).
負荷分散装置16は、パケット転送要請を受信した場合、受信したパケットのIPアドレス及びMACアドレスの送信元アドレスに対してパケット転送広告(パケット転送広告パケット)を送信する(ステップS42)。このパケット転送広告は、IP層以上のパケットを使用し、少なくともパケット転送広告であると識別できるデータであればどんな形式でも良く、パケット転送要請の送信元アドレスを使用して送信される。パケット転送広告の1例として、ICPMのルータ広告(Router Advertisement)パケットでも構わない。
When receiving the packet transfer request, the
実サーバ12-i上の専用装置120-iは、パケット転送広告を受信した場合、受信したパケットのIPアドレス及びMACアドレスの送信元アドレスに対して、パケット転送の登録要求(登録要求パケット)を送信する(ステップS43)。この登録要求は、IP層以上のパケットを使用する必要があると共に、有効期限の情報を含んでいる必要がある。ここで有効期限の値が0の登録要求(後述する登録解除要求)は、実サーバ12-i上の専用装置120-iが明示的にパケットの転送の停止を要請する場合に使用されるものとする。このような場合としては、実サーバ12-i上の専用装置120-iが当該実サーバ12-i上で障害を検知した場合が相当する。 When receiving the packet transfer advertisement, the dedicated device 120-i on the real server 12-i sends a packet transfer registration request (registration request packet) to the source address of the IP address and MAC address of the received packet. Transmit (step S43). This registration request needs to use a packet of an IP layer or higher and include information on an expiration date. Here, the registration request (deregistration request to be described later) with an expiration value of 0 is used when the dedicated device 120-i on the real server 12-i explicitly requests to stop packet transfer. And Such a case corresponds to a case where the dedicated device 120-i on the real server 12-i detects a failure on the real server 12-i.
負荷分散装置16は、実サーバ12-i上の専用装置120-iからの登録要求を受信した後、要求データが正当かどうかを判別する。負荷分散装置16は、要求データが正当な場合、登録成功として登録要求元の実サーバ12-iを負荷分散対象として新規登録、または登録の更新(既に登録済みの場合)を行う。その後、負荷分散装置16は登録要求のIPアドレス及びMACアドレスの送信元アドレスに対して、負荷分散のためのパケット転送の開始を示す登録応答(登録応答パケット)を送信する(ステップS44)。この登録応答は、IP層以上のパケットを使用する必要があると共に、登録成功または失敗を意味する情報を含んでいる必要がある。実サーバ12-i上の専用装置120-iは登録応答を受信すると、以後定期的に登録要求を負荷分散装置16に送信する。
After receiving the registration request from the dedicated device 120-i on the real server 12-i, the
図7は、パケット転送要請パケット71、パケット転送広告パケット72、登録要求パケット73及び登録応答パケット74の間のアドレスの流れを示す。図7中の矢印は、前のパケット中のアドレスをコピーすることにより次のパケットが生成されることを示す。
FIG. 7 shows an address flow among the packet
例えば、パケット転送広告パケット72のデータリンク層ヘッダの宛先MACアドレスには、パケット転送要請パケット71のデータリンク層ヘッダの送信元MACアドレス(実サーバ12-iのMACアドレス)が用いられる。同様に、パケット転送広告パケット72のIPヘッダの宛先IPアドレスには、パケット転送要請パケット71のIPヘッダの送信元IPアドレス(実サーバ12-iの通信パケット送受信用のIPアドレス)が用いられる。また、パケット転送広告パケット72の送信元MACアドレス及び送信元IPアドレスには、負荷分散装置16のMACアドレス及びIPアドレスが用いられる。
For example, as the destination MAC address of the data link layer header of the packet
また、登録要求パケット73のデータリンク層ヘッダの宛先MACアドレスには、パケット転送広告パケット72のデータリンク層ヘッダの送信元MACアドレス(負荷分散装置16のMACアドレス)が用いられる。同様に、登録要求パケット73のIPヘッダの宛先IPアドレスには、パケット転送広告パケット72のIPヘッダの送信元IPアドレス(負荷分散装置16のIPアドレス)が用いられる。また、登録要求パケット73の送信元MACアドレス及びIPアドレスには、実サーバ12-iのMACアドレス及びIPアドレスが用いられる。
The transmission source MAC address (the MAC address of the load balancer 16) of the data link layer header of the packet
また、登録応答パケット74のデータリンク層ヘッダの宛先MACアドレスには、登録要求パケット73のデータリンク層ヘッダの送信元MACアドレス(実サーバ12-iのMACアドレス)が用いられる。同様に、登録応答パケット74のIPヘッダの宛先IPアドレスには、登録要求パケット73のIPヘッダの送信元IPアドレス(実サーバ12-iのIPアドレス)が用いられる。また、登録応答パケット74の送信元MACアドレス及び送信元IPアドレスには、負荷分散装置16のMACアドレス及びIPアドレスが用いられる。
Further, as the destination MAC address of the data link layer header of the registration response packet 74, the transmission source MAC address (the MAC address of the real server 12-i) of the data link layer header of the
負荷分散装置16は、専用装置120-iから有効期限の値が0以外の登録要求パケットを受信した場合、IPアドレスとMACアドレスとの対を含むアドレス情報のテーブルにデータを追加登録する。このようにして登録された実サーバは、負荷分散装置16による負荷分散対象となり得るサーバの1台として扱われる。
When the
負荷分散装置16は、登録要求パケット内の有効期限を超過すると、当該登録要求パケットで指定されるデータを上記アドレス情報のテーブルから削除して、負荷分散の対象から外す。
When the expiration date in the registration request packet is exceeded, the
また負荷分散装置16は、有効期限の値が0の登録要求パケットを受信した場合には、当該登録要求パケットで指定されるデータを上記アドレス情報のテーブルから削除して、負荷分散の対象から外す。
Also, when receiving a registration request packet with an expiration value of 0, the
実サーバ12-i上の専用装置120-iは、登録応答パケットを受信して登録成功であることが確認できた場合、負荷分散装置16を中継した通信を開始する。また実サーバ12-i上の専用装置120-iは、それ以降、登録の有効期限以内の間隔で定期的に登録要求を負荷分散装置16に送信することにより、登録を維持する。
When the dedicated device 120-i on the real server 12-i receives the registration response packet and confirms that the registration is successful, the dedicated device 120-i starts communication relaying the
通常の通信では、アドレスによるARP要求/応答を使用してIPアドレスとMACアドレスの対を取得するのが一般的である。しかし本実施形態では、実サーバ12-iは通信パケット送受信用のIPアドレスによるARP要求/応答の送信は停止させられる。このため、最初から手動で登録しない限り、負荷分散装置16は実サーバ12-iのMACアドレスを知ることができない。また同様に、実サーバ12-iは負荷分散装置16のMACアドレスを知ることができない。ところが本実施形態では、図6及び図7に示す手順により、実サーバ12-iはARP要求/応答を使用しなくても、負荷分散装置16にMACアドレスとIPアドレスを知らせることができる。また実サーバ12-i自身も負荷分散装置16のMACアドレスとIPアドレスを取得することができる。
In normal communication, an ARP request / response by address is generally used to obtain an IP address and MAC address pair. However, in the present embodiment, the real server 12-i is stopped from transmitting the ARP request / response with the IP address for communication packet transmission / reception. For this reason, the
図8は負荷分散装置16の構成を示すブロック図である。負荷分散装置16は、ネットワークIF(ネットワークインタフェース)161と、データリンク層処理部162と、IP層処理部163と、トランスポート層処理部164と、登録テーブルTBL1と、セッション管理テーブルTBL2とを含む。負荷分散装置16はまた、パケット転送広告処理部165と、登録処理部166と、代理ARP処理部167と、パケット転送処理部168と、負荷分散処理部169とを含む。
FIG. 8 is a block diagram showing the configuration of the
ネットワークIF161は、負荷分散装置16が接続されているネットワーク14とのインタフェースをなす。ネットワークIF161は、IF入力部161aと、IF出力部161bとを有する。データリンク層処理部162は、データリンク入力部162aと、データリンク出力部162bとを有する。IP層処理部163は、IP入力部163aと、IP出力部163bとを有する。
The network IF 161 serves as an interface with the
次に、負荷分散装置16内の各部の動作を順次説明する。ネットワークIF161内のIF入力部161aは、ネットワーク14を介して入力された通信データ(通信パケット)を全てデータリンク層処理部162内のデータリンク入力部162aに送る。ネットワークIF161内のIF出力部161bは、データリンク層処理部162内のデータリンク出力部162bから出力された通信パケットをネットワーク14へ送信する。
Next, the operation of each unit in the
ここで、負荷分散装置16内のデータリンク入力部162aの動作について、図9のフローチャート及び図10のデータフォーマットを参照して説明する。まず、IF入力部161aからデータリンク入力部162aに入力される通信パケット(データリンク層パケット)は、データフォーマット上、図10(a)に示すパケット101と図10(b)に示すパケット102とに大別される。パケット101は、データリンク層ヘッダと、IPヘッダと、IPペイロードとを含む。IPヘッダとIPペイロードとから構成されるデータをIPパケットと呼ぶ。一方、パケット102は、データリンク層ヘッダと、ARP要求/応答(ARP要求またはARP応答)のデータとを含むARPパケット(ARP要求/応答パケット)である。パケット101及び102のデータリンク層ヘッダは、いずれも宛先MACアドレス及び送信元MACアドレスを含む。
Here, the operation of the data link input unit 162a in the
データリンク入力部162aは、IF入力部161aによって入力された通信パケットを受信すると、当該パケット(入力パケット)が図10(b)に示すフォーマットのARPパケット102であるかを判別する(ステップS51)。もし、入力パケットがARPパケット102であるならば、データリンク入力部162aは、当該ARPパケット102からデータリンク層ヘッダを除いた部分(ARP要求/応答)を、図10(c)に示すARPパケット103として代理ARP処理部167に送る(ステップS52)。
When the data link input unit 162a receives the communication packet input by the IF input unit 161a, the data link input unit 162a determines whether the packet (input packet) is the
一方、入力パケットがARPパケット102でないならば(ステップS51)、つまり図10(a)に示すフォーマットのパケット101であるならば、データリンク入力部162aは当該パケット101が、(図7に示すパケット転送要請パケット71に相当する)パケット転送要請パケットであるかを判定する(ステップS53)。もし、パケット101がパケット転送要請パケットであるならば、データリンク入力部162aは当該パケット101を、そのまま図10(d)に示すパケット転送要請パケット104としてパケット転送広告処理部165に送る(ステップS54)。パケット転送要請パケット104のIPペイロードは、パケット転送要請データを含む。
On the other hand, if the input packet is not the ARP packet 102 (step S51), that is, if it is the
また、パケット101がパケット転送要請パケットでもないならば(ステップS53)、データリンク入力部162aは当該パケット101が、(図7に示す登録要求パケット73に相当する)登録要求パケットであるかを判定する(ステップS55)。もし、パケット101が登録要求パケットであるならば、データリンク入力部162aは当該パケット101を、そのまま図10(e)に示す登録要求パケット105として登録処理部166に送る(ステップS56)。登録要求パケット105のIPペイロードには、有効期限(の値)を含む登録要求データが設定される。
If the
これに対し、パケット101が登録要求パケットでもないならば(ステップS55)、データリンク入力部162aは当該パケット101からデータリンク層ヘッダを除いた部分を、図10(f)に示すIPパケット106としてパケット転送処理部168に送る(ステップS57)。
On the other hand, if the
次に、負荷分散装置16内のデータリンク出力部162bの動作について、図11のフローチャート及び図12のデータフォーマットを参照して説明する。まずデータリンク出力部162bは、IP出力部163b、パケット転送広告処理部165、登録処理部166、代理ARP処理部167またはパケット転送処理部168から、図12に示すMACアドレス111とIPパケッ112とを受け取る。このMACアドレス111には、送信先MACアドレスが用いられる。データリンク出力部162bは、MACアドレス111とIPパケット112とから、データリンク層での通信に用いられる図12に示す通信パケット113を生成する(ステップS61)。このパケット113は、データリンク層ヘッダと、上記IPパケット112とから構成される。データリンク層ヘッダは、宛先MACアドレスと、送信元MACアドレスとを含む。データリンク出力部162bは生成された通信パケットをIF出力部161bに送る(ステップS62)。
Next, the operation of the data
次に負荷分散装置16内のパケット転送広告処理部165の動作について、図13のフローチャート及び図14のデータフォーマットを参照して説明する。パケット転送広告処理部165は、データリンク入力部162aから、図14に示すデータリンク層ヘッダを含むパケット転送要請パケット141を受信する。パケット転送広告処理部165は、受信されたパケット転送要請パケット141の送信元IPアドレス(実サーバ12-iのIPアドレス)を使用して、(図7に示すパケット転送広告パケット72に相当する)図14に示すパケット転送広告パケット143を生成する(ステップS71)。このパケット転送広告パケット143の宛先IPアドレスには、パケット転送要請パケット141の送信元IPアドレスが用いられ、当該パケット転送広告パケット143の送信元IPアドレスには負荷分散装置16のIPアドレスが用いられる。パケット転送広告処理部165は、生成されたパケット転送広告パケット143を、パケット転送要請パケット141の送信元に送信するため、当該パケット転送広告パケット143と、パケット転送要請パケット141のデータリンク層ヘッダに含まれている送信元MACアドレス(実サーバ12-iのMACアドレス)とを、データリンク出力部162bに送る(ステップS72)。
Next, the operation of the packet transfer
次に、負荷分散装置16内の登録処理部166の登録要求入力時の動作について、図15のフローチャート、図16の登録テーブルTBL1のデータ構造例及び図17のデータフォーマットを参照して説明する。登録処理部166は、データリンク入力部162aから(図7に示す登録要求パケット73または図10に示す登録要求パケット105に相当する)図17に示す登録要求パケット171が入力された場合、当該登録要求パケット171の示す登録要求が正当であるかを判定する(ステップS81)。登録要求が正当でない場合、登録処理部166は登録失敗を判定し、登録要求パケット171に設定されている送信元MACアドレスと送信元IPアドレスとの対を含むアドレス情報を登録テーブルTBL1から削除する(ステップS82)。登録要求が正当でない登録要求パケット171の例としては、予め定められた上限値(有効期限の最大値)を超える有効期限の値を含むものが挙げられる。なお、登録要求パケット171に設定されている送信元MACアドレスと送信元IPアドレスとに一致するMACアドレスとIPアドレスとを含むアドレス情報が登録テーブルTBL1に登録されていない場合、ステップS82では何も行われない。
Next, the operation at the time of registration request input of the
一方、登録要求パケット171の示す当該登録要求が正当である場合、登録処理部166は、登録要求パケット171中の登録要求データに含まれている有効期限の値が0であるかを判定する(ステップS83)。もし、有効期限の値が0であるならば、登録処理部166は、登録要求パケット171に設定されている送信元MACアドレス(実サーバ12-iのMACアドレス)と送信元IPアドレス(実サーバ12-iの通信パケット送受信用のIPアドレス、つまり実サーバ12-1乃至12-3に共通の通信パケット送受信用のIPアドレス)との対を含むアドレス情報を登録テーブルTBL1から削除する(ステップS82)。このことは、有効期限の値が0の登録要求パケット171が登録解除を要求するパケット(登録解除要求パケット)として用いられることを意味する。したがって実サーバ12-iは自身の障害が発生した場合に、この登録解除要求パケットを負荷分散装置16に送信して当該実サーバ12-iの障害を通知することで、クライアント11からの通信データが負荷分散装置16によって当該実サーバ12-iに転送されるのを防止できる。
On the other hand, when the registration request indicated by the
これに対して有効期限の値が0でないならば、登録処理部166は登録成功を判定し、登録要求パケット171に設定されている送信元MACアドレスと送信元IPアドレスとの対を含むアドレス情報を登録テーブルTBL1に追加登録する(ステップS84)。このアドレス情報は、登録要求パケット171の登録要求データ(IPペイロード)に含まれている有効期限のデータを含む。このように登録テーブルTBL1のエントリのデータは、MACアドレス、IPアドレス及び有効期限の項目を含む(図16参照)。有効期限は、負荷分散装置16による負荷分散の対象である実サーバにパケットを転送する期間を意味し、有効期限が超過すると当該有効期限を含むアドレス情報中のMACアドレスの実サーバに対するパケットの転送が停止される。なお、登録要求パケット171に設定されている送信元MACアドレスと送信元IPアドレスとに一致するMACアドレスとIPアドレスとを含むアドレス情報が既に登録テーブルTBL1に登録されている場合には、上記ステップS84では、当該アドレス情報の有効期限の値を、登録要求パケット171中の登録要求データに含まれている有効期限の値に変更(更新)する処理が行われる。
On the other hand, if the value of the expiration date is not 0, the
登録処理部166は、ステップS82またはS84を実行すると、登録要求パケット171の送信元IPアドレス(実サーバ12-iのアドレス)を使用して、(図7に示す登録応答パケット74のIPパケットに相当する)図17に示す登録応答パケット(IPパケット)173を生成する(ステップS85)。この登録応答パケット173のIPペイロードには、登録結果のデータを含む登録応答データが設定される。ここで、登録失敗の場合には、登録結果のデータとして有効期限に問題があることを示すデータが用いられる。これに対し、登録成功の場合には、登録結果のデータとして登録成功を示すデータが用いられる。また、有効期限の値が0の登録要求パケット171に対応する登録応答パケット173では、登録結果のデータとして登録解除成功を示すデータが用いられる。
When executing the step S82 or S84, the
登録応答パケット173の宛先IPアドレスには、登録要求パケット171の送信元IPアドレス(実サーバ12-iのIPアドレス)が用いられ、当該登録応答パケット173の送信元IPアドレスには負荷分散装置16のIPアドレスが用いられる。登録処理部166は、生成された登録応答パケット173を、登録要求パケット171の送信元に送信するため、当該登録応答パケット173と、図17に示す登録要求パケット171のデータリンク層ヘッダに含まれている送信元MACアドレス172、つまり登録要求パケット171の送信元MACアドレス172とを、データリンク出力部162bに送る(ステップS86)。
The source IP address of the registration request packet 171 (the IP address of the real server 12-i) is used as the destination IP address of the
図16の登録テーブルTBL1の例では、実サーバのIPアドレスとして、既に述べられている“192.168.10.11”の他に“192.168.10.110”も存在する。その理由について、図18を参照して説明する。 In the example of the registration table TBL1 in FIG. 16, “192.168.10.110” exists in addition to “192.168.10.11” already described as the IP address of the real server. The reason will be described with reference to FIG.
本実施形態では、負荷分散装置16による負荷分散の対象となる実サーバ群(実サーバの集合)として、図1中の実サーバ12-1乃至12-3を含む実サーバ群#1の他に、図18に示すように実サーバ群#2も存在するものとする。但し、図18では作図の都合上、実サーバ12-3は省略されている。実サーバ群#2は、実サーバ12-5及び12-6を含む。実サーバ群#1に属する実サーバ12-1及び12-2等は、それぞれ共通の通信パケット送受信用のIPアドレス“192.168.10.11”を持つ。一方、実サーバ群#2に属する実サーバ12-5及び12-6等は、それぞれ共通の通信パケット送受信用のIPアドレス“192.168.10.110”を持つ。
In the present embodiment, as a real server group (collection of real servers) to be subjected to load balancing by the
図18の例では、クライアント11からIPアドレス“192.168.10.11”宛ての通信パケット(通信データ)が矢印181で示されるように送信された場合、負荷分散装置16は当該通信データを実サーバ群#1に属するいずれかの実サーバに転送する。これに対して、クライアント11からIPアドレス“192.168.10.110”宛ての通信パケット(通信データ)が矢印182で示されるように送信された場合には、負荷分散装置16は当該通信データを実サーバ群#2に属するいずれかの実サーバに転送する。このように、実サーバ群毎に、その実サーバ群に属する全ての実サーバに共通の固有のIPアドレスが設定されることで、負荷分散装置16は各実サーバ群をそれぞれ負荷分散の対象として扱うことができる。
In the example of FIG. 18, when a communication packet (communication data) addressed to the IP address “192.168.10.11” is transmitted from the
登録処理部166は、定期的に登録テーブルTBL1を監視し、有効期限が0となっているエントリデータ(アドレス情報)を当該登録テーブルTBL1から削除する。この登録処理部166による登録テーブルTBL1の定期監視処理について図19のフローチャートを参照して説明する。ここでは、登録テーブルTBL1に登録されるエントリデータの有効期限の単位に秒が用いられ、当該テーブルTBL1の監視が1秒毎に実行されるものとする。
The
登録処理部166は登録テーブルTBL1からエントリデータ(アドレス情報)を1つ取り出す(ステップS91)。登録処理部166は取り出されたデータに含まれている有効期限の値が0であるかを判定する(ステップS92)。
The
もし、有効期限の値が0(0秒)の場合、登録処理部166は登録テーブルTBL1から該当するデータを削除する(ステップS93)。これに対し、有効期限の値が0でない場合、登録処理部166は登録テーブルTBL1の該当するデータに含まれている有効期限の値を1(1秒)減らす(ステップS94)。
登録処理部166は、上述の処理を、登録テーブルTBL1の全エントリデータに対して行い(ステップS95)、処理を終了する。
If the value of the expiration date is 0 (0 seconds), the
The
さて実サーバ12-iは、登録要求パケットに対して負荷分散装置16から返される登録応答パケットから登録成功が確認できた場合、前記したように登録の有効期限以内の間隔で定期的に登録要求パケットを負荷分散装置16に送信する。これにより実サーバ12-iは、登録テーブルTBL1から当該実サーバ12-iのMACアドレスとIPアドレスとを含むデータが削除されるのを防ぎ、当該実サーバ12-iの登録を維持することができる。もし、実サーバ12-iに障害が発生して、登録要求パケットを定期的に送信することができなくなると、当該実サーバ12-iのMACアドレスとIPアドレスとを含むデータの登録有効期限が切れるため、負荷分散装置16の登録処理部166は登録テーブルTBL1から当該データを削除する(ステップS93)。つまり負荷分散装置16は、障害が発生したために登録要求を定期的に送信できなくなった実サーバ12-iを検知できる。これにより、障害の発生した実サーバ12-iにクライアント11からの通信データを転送することが防止できる。
When the real server 12-i confirms the registration success from the registration response packet returned from the
次に、負荷分散装置16内の代理ARP処理部167の動作について、図20のフローチャート及び図21のデータフォーマットを参照して説明する。代理ARP処理部167はデータリンク入力部162aから(図10に示すARPパケット103に相当する)ARPパケットを受信した場合、当該ARPパケットがARP応答パケットであるかを判定する(ステップS101)。もし、ARP応答パケットの場合、代理ARP処理部167は当該ARP応答パケットをIP入力部163aに送り、通常のTCP/IP通信データとして処理させる(ステップS102)。
Next, the operation of the proxy
これに対し、ARPパケットがARP応答パケットでない場合、つまり図21に示すARP要求パケット211の場合、代理ARP処理部167は、当該ARP要求パケット211が、負荷分散装置16のIPアドレスに対するARP要求を示しているかを判定する(ステップS103)。このステップS103の判定は、ARP要求パケット211のターゲットIPアドレスが負荷分散装置16のアドレスと一致するかを判定することにより行われる。
In contrast, if the ARP packet is not an ARP response packet, that is, the
もし、ARP要求パケット211のターゲットIPアドレスが負荷分散装置16のアドレスと一致しているならば、代理ARP処理部167は当該ARP要求パケット211をそのままIP入力部163aに送り、通常のTCP/IP通信データとして処理させる(ステップS102)。
If the target IP address of the
一方、ARP要求パケット211のターゲットIPアドレスが負荷分散装置16のアドレスと一致していない場合、代理ARP処理部167は実サーバ12-iのIPアドレス(通信パケットの送受信用のIPアドレス、例えば“192.168.10.11”)に対するARP要求であるかを判定するために、登録テーブルTBL1上のIPアドレスをチェックする(ステップS104)。このステップS104において、代理ARP処理部167は、ARP要求パケット211のターゲットIPアドレスと一致するIPアドレスを含むデータを登録テーブルTBL1から探す。
On the other hand, if the target IP address of the
もし、ARP要求パケット211のターゲットIPアドレスと一致するIPアドレスを含むデータが存在する場合(ステップS105)、代理ARP処理部167はARP要求パケット211に対する図21に示すARP応答パケット213を作成する(ステップS106)。このARP応答パケット213には、送信元MACアドレスに負荷分散装置16のMACアドレスが設定され、送信元IPアドレスに登録テーブルTBL1で一致が判定されたIPアドレスが設定される。また、ターゲットMACアドレス及びターゲットIPアドレスには、それぞれARP要求パケット211の送信元MACアドレス及び送信元IPアドレスが設定される。
If there is data including an IP address that matches the target IP address of the ARP request packet 211 (step S105), the proxy
代理ARP処理部167はARP応答パケット213を作成すると、当該ARP応答パケット213を、ARP要求パケット211の送信元に送信するため、当該ARP応答パケット213と、ARP要求パケット211の送信元MACアドレス212とを、データリンク出力部162bに送る(ステップS107)。
When the proxy
一方、ARP要求パケット211のターゲットIPアドレスと一致するIPアドレスを含むデータが存在しない場合(ステップS105)、代理ARP処理部167はARP要求パケット211を破棄して処理を終了する(ステップS108)。
On the other hand, when there is no data including an IP address that matches the target IP address of the ARP request packet 211 (step S105), the proxy
次に、負荷分散装置16内のパケット転送処理部168の動作について、図22のフローチャート及び図23のデータフォーマットを参照して説明する。パケット転送処理部168はデータリンク入力部162aから(図10のIPパケット106に相当する)図23(a)に示すIPパケット231を受信した場合、当該パケット231の宛先IPアドレスをチェックし、負荷分散装置16宛てのパケットであるか否か(つまり実サーバに転送するパケットであるか)を判定する(ステップS111)。
Next, the operation of the packet
もし、IPパケット231が負荷分散装置16宛てであった場合、パケット転送処理部168は当該IPパケット231をそのままIP入力部163a送り、通常のTCP/IP通信データとして処理させる(ステップS112)。
If the
一方、IPパケット231が負荷分散装置16宛てではなくて、実サーバに転送するパケットである場合(ステップS111)、パケット転送処理部168は転送先(負荷分散先)の実サーバ12-iのMACアドレスを取得するために、当該IPパケット231を図23(b)に示すIPパケット232として負荷分散処理部169に送る(ステップS113)。
On the other hand, when the
パケット転送処理部168は、負荷分散処理部169から転送先のMACアドレスを図23に示すMACアドレス233として取得できた場合(ステップS114)、IPパケット231を図23(c)に示すIPパケット234として、取得されたMACアドレス233と共にデータリンク出力部162bに送る(ステップS115)。これに対し、転送先のMACアドレスの取得に失敗した場合、パケット転送処理部168はIPパケット231を破棄して処理を終了する(ステップS116)。
When the packet
このように本実施形態においては、負荷分散装置16をクライアント11からの実サーバ12-i宛ての通信データの中継だけでなく(ステップS115)、自身のアドレスで通常の通信を行わせることもできる(ステップS112)。
Thus, in this embodiment, the
次に、負荷分散装置16内の負荷分散処理部169の動作について、図24のフローチャート及び図25のセッション管理テーブルTBL2のデータ構造例を参照して説明する。負荷分散処理部169は、パケット転送処理部168から図23(b)のIPパケット232が送られると、当該IPパケット232の宛先IPアドレス(を含むアドレス情報)が登録テーブルTBL1上に存在するかをチェックすることにより、当該IPパケット232が負荷分散の対象となるパケットかを判定する(ステップS121)。
Next, the operation of the load
もし、IPパケット232の宛先アドレスが登録テーブルTBL1上に存在しない場合、パケット転送処理部168は当該IPパケット232が実サーバに転送されないようにするため、パケット転送処理部168にエラーを返して処理を終了する(ステップS122)。
If the destination address of the
一方、IPパケット232の宛先アドレスが登録テーブルTBL1上に存在する場合(ステップS121)、負荷分散処理部169は当該IPパケット232の転送先となる実サーバ12-iのMACアドレスを取得するため、セッション管理テーブルTBL2をチェックする(ステップS123)。
On the other hand, when the destination address of the
セッション管理テーブルTBL2はセッション管理のために用意される。セッション管理テーブルTBL2のエントリデータ(エントリの集合)は、図25に示すように、実サーバ(実サーバ群)の通信パケット送受信用のIPアドレス別に用意され、クライアントのアドレス、実サーバのMACアドレス及び有効期限の値を持つものとする。 The session management table TBL2 is prepared for session management. As shown in FIG. 25, entry data (a set of entries) in the session management table TBL2 is prepared for each IP address for communication packet transmission / reception of a real server (real server group), and includes a client address, a real server MAC address, and It shall have an expiration value.
セッション管理とは、コネクション型通信の場合、セッションが切れるまでの間同一のサーバに通信データを転送する必要があるため、当該セッションを保持しておく有効期限を設けて管理することを指す。有効期限の間に、クライアントからパケットの送信が無ければ、負荷分散処理部169はセッションが切れたと判断し、セッション管理テーブルTBL2から該当するエントリデータを削除する。またパケット転送処理部168から送られるIPパケット232が、TCPのFINパケットのように、明示的にセッション(コネクション)を停止(切断)するパケットの場合にも、負荷分散処理部169はセッションが切れたと判断して、セッション管理テーブルTBL2から該当するエントリデータを削除する。
In the case of connection-type communication, session management means that communication data needs to be transferred to the same server until the session expires, and therefore management is performed with an expiration date for retaining the session. If no packet is transmitted from the client during the expiration date, the load
さて、上記ステップS123において、負荷分散処理部169は、セッション管理テーブルTBL2のうち、パケット転送処理部168から送られるIPパケット232の宛先アドレスに該当するエントリの集合から、当該IPパケット232の送信元IPアドレスがクライアントのIPアドレスと一致するエントリのデータ(アドレス情報)を検索する。
In step S123, the load
もし、セッション管理テーブルTBL2に該当するエントリのデータ(アドレス情報)が存在する場合(ステップS123)、負荷分散処理部169は、パケット転送処理部168に転送先のMACアドレスを通知するため、当該エントリのデータからIPパケット232の送信元IPアドレスと対をなす実サーバ12-iのMACアドレスを取得する(ステップS124)。次に負荷分散処理部169は、IPパケット232がTCPのFINパケットであるかを判定する(ステップS125)。
If there is data (address information) corresponding to the entry in the session management table TBL2 (step S123), the load
もし、IPパケット232がFINパケットである場合、負荷分散処理部169はセッション管理テーブルTBL2から該当するエントリのデータを削除する(ステップS126)。これに対し、IPパケット232がFINパケットでない場合、負荷分散処理部169はセッション管理テーブルTBL2の該当するエントリのデータに含まれている有効期限の値を初期値に設定する(ステップS127)。この初期値は必ずしも固定値である必要はなく、負荷分散装置16で変更可能なパラメータとしても良い。例えば、負荷分散装置16の管理者が環境に合わせて手動にて初期値を設定する構成であっても構わない。またこの初期値は、後述するセッション管理テーブル登録時に使用しても良い。
If the
一方、セッション管理テーブルTBL2に該当するエントリのデータが存在しない場合(ステップS123)、負荷分散処理部169は、登録テーブルTBL1(図16参照)上でIPパケット232の宛先IPアドレス(例えば“192.168.10.11”)と一致するIPアドレスを含むエントリのデータの中から、当該IPパケット232を転送すべき実サーバ12-iに関するエントリのデータを選択(決定)する(ステップS128)。どの実サーバが最適な転送先(負荷分散先)であるかを決定する方法は、本発明とは直接関係しないが、従来から種々知られている。例えば、クライアントとの間でセッションを張っている数の最も少ないサーバを選択する方法が知られている。この方法を適用した場合、実サーバのMACアドレス毎の登録テーブルTBL1のデータ数を計算すれば、転送先として最適な実サーバを決定できる。
On the other hand, when there is no entry data corresponding to the session management table TBL2 (step S123), the load
負荷分散処理部169は転送先の実サーバ12-iを選択(決定)すると、当該実サーバ12-iのIPアドレスを含む登録テーブルTBL1のエントリのデータから当該実サーバ12-iのMACアドレスを取得する(ステップS129)。そして負荷分散処理部169は、この実サーバ12-iのMACアドレス、IPパケット232の送信元IPアドレス(クライアントのIPアドレス)及びセッションを保持する有効期限を含むエントリデータをセッション管理テーブルTBL2に追加登録する(ステップS130)。これにより、IPパケット232の送信元と実サーバ12-iとのセッションが開始されることになる。ここでセッション管理テーブルTBL2に登録される有効期限は、負荷分散装置16で変更可能なパラメータとし、負荷分散装置16の管理者が環境に合わせて手動にて設定されるものとする。この有効期限の値が、上記ステップS127で設定される初期値と同一であっても構わない。
When the load
負荷分散処理部169はステップS126,S127またはS130の後、MACアドレスをパケット転送処理部168に送って処理を終了する(ステップS131)。ここで、負荷分散処理部169からパケット転送処理部168に送られるMACアドレスは、IPパケット232の送信元IPアドレスがセッション管理テーブルTBL2に存在する場合(ステップS123のYESの場合)には、当該セッション管理テーブルTBL2から取得されたMACアドレスである。これに対し、IPパケット232の送信元IPアドレスがセッション管理テーブルTBL2に存在しない場合(ステップS123のNOの場合)には、負荷分散処理部169からパケット転送処理部168に送られるMACアドレスは、登録テーブルTBL1上から転送先として決定された実サーバ12-iのMACアドレスである。
After step S126, S127, or S130, the load
このように本実施形態では、負荷分散装置16においてセッション管理テーブルTBL2を用いることにより、レイヤ4のセッション管理が可能となる。特に本実施形態では、セッション管理テーブルTBL2に登録されるエントリデータが実サーバ群(実サーバの集合)毎に管理されるため、負荷分散装置16において複数の実サーバ群に対し負荷分散及びレイヤ4のセッション管理が可能となる。
As described above, in the present embodiment, by using the session management table TBL2 in the
負荷分散処理部169は、定期的にセッション管理テーブルTBL2を監視し、有効期限が0となっていエントリデータを当該セッション管理テーブルTBL2から削除する。この負荷分散処理部169によるセッション管理テーブルTBL2の定期監視処理について図26のフローチャートを参照して説明する。ここでは、セッション管理テーブルTBL2に登録されるエントリデータの有効期限の単位に秒が用いられ、当該テーブルTBL2の監視が1秒毎に実行されるものとする。
The load
負荷分散処理部169はセッション管理テーブルTBL2からエントリデータ(アドレス情報)を1つ取り出す(ステップS141)。負荷分散処理部169は取り出されたデータに含まれている有効期限の値が0であるかを判定する(ステップS142)。
The load
もし、有効期限の値が0(0秒)の場合、負荷分散処理部169はセッション管理テーブルTBL2から該当するデータを削除する(ステップS143)。これに対し、有効期限の値が0でない場合、負荷分散処理部169はセッション管理テーブルTBL2の該当するデータに含まれている有効期限の値を1(1秒)減らす(ステップS144)。
負荷分散処理部169は、上述の処理を、セッション管理テーブルTBL2の全エントリデータに対して行い(ステップS145)、処理を終了する。
If the value of the expiration date is 0 (0 seconds), the load
The load
さて、IP層処理部163内のIP入力部163a及びIP出力部163bと、上位プロトコル層の処理部であるトランスポート層処理部164とは、入力されたデータを通常のTCP/IP通信データとして処理する。これにより、負荷分散装置16のIPアドレスを使用した通常の通信が可能となる。
Now, the
図27は実サーバ12-iの構成を示すブロック図である。実サーバ12-iは、ネットワークIF(ネットワークインタフェース)121と、データリンク層処理部122と、IP層処理部123と、トランスポート層処理部124とを含む。また実サーバ12-iは、専用装置120-iと当該専用装置120-iによってアクセスされる登録テーブルTBL3とを含む。専用装置120-iは、実サーバ12-iのデータリンク層処理部122とIP層処理部123との中間に存在する。本実施形態における専用装置120-iは、当該実サーバ12-i上の通信を制御する専用のソフトウェアを、実サーバ12-i(のCPU)が読み取って実行することにより実現されるものとする。これにより、実サーバ12-i自体を専用装置としなくて済む。この専用装置120-iの存在により、従来の実サーバが有するデータリンク層処理部122及びIP層処理部123の間のパス、即ちデータリンク入力部122a及びIP入力部123aの間のパスと、IP出力部123b及びデータリンク出力部122bの間のパスは存在しない。
FIG. 27 is a block diagram showing the configuration of the real server 12-i. The real server 12-i includes a network IF (network interface) 121, a data link
ネットワークIF121は、実サーバ12-iが接続されているネットワーク14とのインタフェースをなす。ネットワークIF121は、IF入力部121aと、IF出力部121bとを有する。データリンク層処理部122は、データリンク入力部122aと、データリンク出力部122bとを有する。IP層処理部123は、IP入力部123aと、IP出力部123bとを有する。
The network IF 121 serves as an interface with the
専用装置120-iは、データリンク層処理部122(オリジナルのデータリンク層処理部122)に相当するデータリンク層処理部125とIP層処理部123(オリジナルのIP層処理部123)に相当するIP層処理部126とから構成される。データリンク層処理部125は、データリンク入力部125aと、データリンク出力部125bとを含む。IP層処理部126は、IP入力部126aと、IP出力部126bと、登録処理部126cと、ARP処理部126dとを含む。
The dedicated device 120-i corresponds to the data link
次に、実サーバ12-iの専用装置120-iを中心とする動作について説明する。専用装置120-iは、実サーバ12-i上のオリジナルのデータリンク層処理部122から通信パケット(データリンク層ヘッダを含むデータリンク層パケット)を受信して、当該専用装置120-i内部でデータ処理を行い、実サーバ12-iのオリジナルのIP層処理部123にIPパケットを送る。また専用装置120-iは、実サーバ12-iのオリジナルのIP層処理部123から、IPパケットまたはARP要求パケットを受信して、当該専用装置120-i内部でデータ処理を行い、実サーバ12-iのオリジナルのデータリンク層処理部122にデータリンク層パケットを送る。
Next, the operation centering on the dedicated device 120-i of the real server 12-i will be described. The dedicated device 120-i receives a communication packet (a data link layer packet including a data link layer header) from the original data link
次に、専用装置120-i内の各部の動作を順次説明する。
まず、専用装置120-i内のデータリンク入力部125aの動作について、図28のフローチャート、図29のデータフォーマット及び図30の登録テーブルTBL3のデータ構造例を参照して説明する。
Next, the operation of each unit in the dedicated device 120-i will be described sequentially.
First, the operation of the data
データリンク入力部125aは、実サーバ12-iのオリジナルのデータリンク層処理部122(のデータリンク入力部122a)から通信パケット(データリンク層パケット)を受け取る。データリンク入力部125aに入力される通信パケット(データリンク層パケット)は、データフォーマット上、図29(a)に示すパケット291と図29(b)に示すパケット292とに大別される。パケット291は、データリンク層ヘッダと、IPヘッダと、IPペイロードとを含む。IPヘッダとIPペイロードとから構成されるデータをIPパケットと呼ぶ。一方、パケット292は、データリンク層ヘッダと、ARP要求/応答(ARP要求またはARP応答)のデータとを含むARPパケット(ARP要求/応答パケット)である。パケット291及び292のデータリンク層ヘッダは、いずれも宛先MACアドレス及び送信元MACアドレスを含む。
The data
データリンク入力部125aは、データリンク入力部122aによって入力された通信パケット(入力パケット)を受信すると、当該パケットが図29(b)に示すフォーマットのARPパケット292であるかを判別する(ステップS151)。もし、入力パケットがARPパケット292であるならば、データリンク入力部125aは、当該ARPパケット292からデータリンク層ヘッダを除いた部分(ARP要求/応答)を、図29(c)に示すARPパケット293としてARP処理部126dに送る(ステップS152)。
When the data
一方、入力パケットがARPパケット292でないならば(ステップS151)、つまり図29(a)に示すフォーマットのパケット291であるならば、データリンク入力部125aは当該パケット291が、(図7に示すパケット転送広告パケット72に相当する)パケット転送広告パケットであるかを判定する(ステップS153)。もし、パケット291がパケット転送広告パケットであるならば、データリンク入力部125aは当該パケット291を、そのまま図29(d)に示すパケット転送広告パケット294として登録処理部126cに送る(ステップS154)。パケット転送広告パケット294のIPペイロードは、パケット転送広告データを含む。
On the other hand, if the input packet is not the ARP packet 292 (step S151), that is, if the
これに対し、パケット291がパケット転送広告パケットでないならば(ステップS153)、データリンク入力部125aは当該パケット291が登録応答パケットであるかを判定する(ステップS155)。もし、パケット291が登録応答パケットであるならば、データリンク入力部125aは当該パケット291を、そのまま図29(e)に示す登録応答パケット295として登録処理部126cに送る(ステップS154)。
On the other hand, if the
一方、パケット291が登録応答パケットでもないならば(ステップS155)、データリンク入力部125aは登録テーブルTBL3上のデータをチェックし、当該パケット291中の送信元MACドレスが、登録テーブルTBL3上に存在するかを判定する(ステップS156)。登録テーブルTBL3のエントリのデータは、図30に示すように、IPアドレス、MACアドレス及び有効期限の項目を含む。登録テーブルTBL3は、負荷分散装置16への登録に成功しているかを示すのに用いられる。登録に成功している場合、IPアドレス、MACアドレス及び有効期限を含むエントリデータが登録テーブルTBL3に設定される。
On the other hand, if the
もし、パケット291中の送信元MACドレスが、登録テーブルTBL3上に存在する場合、データリンク入力部125aは当該パケット291からデータリンク層ヘッダを除いた部分、つまりIPパケットを抽出して、図29(f)に示すIPパケット296としてIP入力部123aに送る(ステップS157)。これに対し、パケット291中の送信元MACドレスが、登録テーブルTBL3上に存在しない場合(ステップS156)、データリンク入力部125aは当該パケット291を破棄する(ステップS158)。
If the transmission source MAC address in the
次に、専用装置120-i内のデータリンク出力部125bの動作について、図31のフローチャート及び図32のデータフォーマットを参照して説明する。データリンク出力部125bは、IP出力部126b、登録処理部126cまたはARP処理部126dから、送信先のMACアドレスとIPパケットとを受け取り、オリジナルのデータリンク層処理部122(のデータリンク出力部122b)に、当該MACアドレスとIPパケットとを送る(ステップS161)。ここで、IP出力部126b及び登録処理部126cからデータリンク出力部125bへは、図32(a)に示す送信先のMACアドレス321とIPパケット322とが送られる。この場合、データリンク出力部125bは、送信先のMACアドレス321とIPパケット322とを、それぞれ図32(c)に示す送信先のMACアドレス325とIPパケット326としてデータリンク層処理部122に送る。一方、ARP処理部126dからデータリンク出力部125bへは、図32(b)に示す送信先のMACアドレス323とARPパケット324とが送られる。この場合、データリンク出力部125bは、送信先のMACアドレス323とARPパケット324とを、それぞれ図32(d)に示す送信先のMACアドレス327とARPパケット328としてデータリンク層処理部122に送る。
Next, the operation of the data
次に専用装置120-i内の登録処理部126cの動作について説明する。登録処理部126cは、主として以下の第1乃至第3の処理を行う。
(1)まず登録処理部126cは、負荷分散装置16への実サーバ12-iの登録を開始するため、専用装置120-iの起動時及び実サーバ12-iの管理者の操作により、パケット転送要請パケットを生成してデータリンク出力部125bに送信する(第1の処理)。
Next, the operation of the
(1) First, the
(2)また登録処理部126cは、データリンク入力部125aからデータを受け取り、当該データがパケット転送広告の場合に、登録要求パケットを生成してデータリンク出力部125bに送信する。登録処理部126cは、この登録要求パケットに対する登録応答(登録応答パケット)を受信した場合に、登録テーブルTBL3にエントリデータを登録する(第2の処理)。
(2) In addition, the
(3)また登録処理部126cは、登録テーブルTBL3を定期的に監視し、有効期限がある値以下(但し0より大)になった場合に登録要求パケットを送信し、有効期限が0となった場合に当該登録テーブルTBL3から該当するデータを削除する(第3の処理)。
(3) Further, the
次に、登録処理部126cによる上記第1の処理の詳細について、図33のフローチャート及び図34のデータフォーマットを参照して説明する。登録処理部126cは専用装置120-iの起動時に、負荷分散装置16への実サーバ12-iの登録を開始するため、図34に示すパケット転送要請パケット342を生成する(ステップS171)。このパケット転送要請パケット342のIPヘッダは、ブロードキャストまたはマルチキャストの宛先IPアドレスと送信元IPアドレスとを含む。この送信元IPアドレスには、専用装置120-iが置かれている実サーバ12-iの通信パケット送受信用のIPアドレスが用いられる。登録処理部126cは、生成されたパケット転送要請パケット342とブロードキャストのMACアドレス341とをデータリンク出力部125bに送る(ステップS172)。この処理は、上述した専用装置120-iの起動時だけでなく、実サーバ12-iの管理者が負荷分散装置16への登録が必要と判断した場合に特別の操作を行うことによっても実行される。
Next, details of the first processing by the
次に、登録処理部126cによる上記第2の処理の詳細について、図35のフローチャート並びに図36及び図37のデータフォーマットを参照して説明する。この処理は、登録処理部126cがデータリンク入力部125aから通信パケットを受信した場合に実行される。
Next, details of the second processing by the
登録処理部126cは、データリンク入力部125aから通信パケットを受信すると、当該パケットが(図29(d)の転送広告パケット294に相当する)図36に示すパケット転送広告パケット361であるか判定する(ステップS181)。もし、受信パケットがパケット転送広告パケット361である場合、登録処理部126cは当該パケット転送広告パケット361の送信元IPアドレス(負荷分散装置16のIPアドレス)を宛先IPアドレスに使用して、図36に示す登録要求パケット363を生成する(ステップS182)。この登録要求パケット363は、パケット転送の登録の有効期限の値を含む。この登録の有効期限の値を、実サーバ12-iの管理者が自身で判断して専用装置120-iに設定可能な構成とすることも可能である。
Upon receiving the communication packet from the data
登録処理部126cは登録要求パケット363を生成すると、受信パケット(パケット転送広告パケット361)の送信元MACアドレス(負荷分散装置16のMACアドレス)362と当該登録要求パケット363とを、データリンク出力部125bに送る(ステップS183)。
When the
一方、受信パケットがパケット転送広告パケット以外の場合、登録処理部126cは当該受信パケットが、(図29(e)の登録応答パケット295に相当する)図37に示す登録応答パケット371であるか判定する(ステップS184)。もし、受信パケットが登録応答パケット371以外の場合、登録処理部126cは当該受信パケットを破棄して処理を終了する(ステップS185)。
On the other hand, when the received packet is other than the packet transfer advertisement packet, the
これに対し、受信パケットが登録応答パケット371である場合、登録処理部126cは、当該登録応答パケット371の登録応答データに含まれている登録結果から登録成功かを判定する(ステップS186)。もし、登録成功の場合、登録処理部126cは、登録応答パケット371の送信元MACアドレス(負荷分散装置16のMACアドレス)と送信元IPアドレス(負荷分散装置16のIPアドレス)と有効期限とを含むエントリデータを登録テーブルTBL3に追加登録する(ステップS187)。ここで、有効期限には、上記ステップS183で登録要求パケット363を送信した際に当該パケット363に設定された値が用いられる。なお、登録解除成功の場合、登録処理部126cは上記ステップS187において、登録応答パケット371の送信元MACアドレスと送信元IPアドレスとを含むエントリデータを登録テーブルTBL3から削除する。
On the other hand, when the received packet is the
一方、登録失敗の場合で(ステップS186)、その登録失敗の要因が有効期限にある場合、即ち登録応答パケット371の登録応答データに含まれている登録結果が有効期限に問題があることを示している場合(ステップS188)、登録処理部126cは前回送信した登録要求パケットよりも有効期限が短く設定された図37に示す新たな登録要求パケット373を生成する(ステップS189)。ここで、有効期限を短くするのに、必ず毎回ある一定の値を差し引く引く処理を行っても、前回送信した有効期限の値の一定の割り合いの時間を差し引く処理を行っても構わない。
On the other hand, in the case of registration failure (step S186), if the cause of the registration failure is the expiration date, that is, the registration result included in the registration response data of the
登録処理部126cは、新たな登録要求パケット373を生成すると(ステップS189)、受信パケット(登録応答パケット371)の送信元MACアドレス(負荷分散装置16のMACアドレス)372と当該登録要求パケット373とを、データリンク出力部125bに送る(ステップS190)。また、登録失敗が、有効期限以外の理由の場合(ステップS188)、登録処理部126cは受信パケットを破棄して処理を終了する(ステップS185)。
When the
次に、登録処理部126cによる上記第3の処理の詳細について、図38のフローチャート及び図39の登録テーブルTBL3のデータと登録処理部126cからの出力データとの関係を示す図を参照して説明する。ここでは、登録テーブルTBL3に登録されるエントリデータの有効期限の単位に秒が用いられ、当該テーブルTBL3の監視が1秒毎に実行されるものとする。
Next, details of the third processing by the
登録処理部126cは登録テーブルTBL3からエントリデータ(アドレス情報)を1つ取り出す(ステップS191)。登録処理部126cは取り出されたデータに含まれている有効期限の値が0であるかを判定する(ステップS192)。
The
もし、有効期限の値が0(0秒)の場合、登録処理部126cは登録テーブルTBL3から該当するデータを削除する(ステップS193)。これに対し、有効期限の値が0でない場合、登録処理部166は有効期限の値がある一定の閾値、例えば10(10秒)以下であるかを判定する(ステップS194)。
If the value of the expiration date is 0 (0 seconds), the
もし、有効期限の値が0よりは大きいものの10以下であるならば、登録処理部126cは近い将来有効期限が到来して該当するエントリのデータが削除されるのを防止するために、新たな登録要求パケットを生成する(ステップS195)。これにより、図39の登録テーブルTBL3の例のように有効期限の値が9の場合であれば、登録要求パケット392が生成される。この登録要求パケット392の宛先IPアドレスには、登録テーブルTBL3中の該当するエントリのデータに含まれている負荷分散装置16のIPアドレスが用いられる。なお、新たな登録要求パケットを送信する条件となる有効期限の閾値は10秒に限らない。例えば、この閾値を有効期限の初期値の1/2としても構わない。
If the value of the expiration date is greater than 0 but less than or equal to 10, the
登録処理部126cは、登録テーブルTBL3中の該当するエントリのデータに含まれている負荷分散装置16のMACアドレス391と生成された登録要求パケット392とをデータリンク出力部125bに送る(ステップS196)。この登録要求パケット392が負荷分散装置16で受信されることにより、登録テーブルTBL1の該当するエントリのデータに設定されている有効期限の値を、当該登録要求パケット392中に設定されている値に更新することができる。
The
登録処理部126cは上記ステップS196を実行すると、登録テーブルTBL3の該当するデータに含まれている有効期限の値を1(1秒)減らす(ステップS197)。一方、有効期限の値が10よりも大きい場合には(ステップS194)、登録処理部126cは上記ステップS195及びS196をスキップして、上記ステップS197を実行する。
When executing the above step S196, the
次に、専用装置120-i内のARP処理部126dの動作について図40のフローチャート並びに図41及び図42のデータフォーマットを参照して説明する。ARP処理部126dには、IP出力部126bまたはデータリンク入力部125aから、ARPパケット(ARP要求パケットまたはARP応答パケット)が送られる。ARP処理部126dはARPパケットを受信すると、当該ARPパケットが図41に示すARP要求パケット411であるか或いは図42に示すARP応答パケット421であるかを判定する(ステップS201)。
Next, the operation of the ARP processing unit 126d in the dedicated device 120-i will be described with reference to the flowchart of FIG. 40 and the data format of FIGS. 41 and 42. An ARP packet (ARP request packet or ARP response packet) is sent from the
受信ARPパケットがARP要求パケット411である場合、当該ARP要求パケット411の送信元のMACアドレスとIPアドレスとが、実サーバ12-iのMACアドレスとIPアドレス(通信パケット送受信用のIPアドレス“192.168.10.11”)と一致するか判定する(ステップS202)。
When the received ARP packet is the
もし、MACアドレスとIPアドレスの各々が一致する場合、受信ARPパケットがIP出力部126bから送られてきたARP要求パケット411であることから、ARP処理部126dは当該ARP要求パケット411の送信元IPアドレスを通信パケット送受信用のIPアドレス“192.168.10.11”からARP送信用のIPアドレス“192.168.10.12”に書き換えることで、ARP要求パケット411を図41に示すARP要求パケット413に変換する(ステップS204)。ARP処理部126dは、このIPアドレスが書き換えられたARP要求パケット413とMACアドレス412とをデータリンク出力部125bに送る(ステップS204)。このMACアドレス412には、ARP要求であるためブロードキャストアドレスが用いられる。
If the MAC address and the IP address match, the received ARP packet is the
これに対し、受信ARP要求パケット411の送信元のMACアドレスが実サーバ12-iのMACアドレスと一致しないか、或いは受信ARP要求パケット411の送信元のIPアドレスが実サーバ12-iのIPアドレスと一致しない場合(ステップS202)、ARP処理部126dは当該ARP要求パケット411を破棄して処理を終了する(ステップS205)。
On the other hand, the MAC address of the source of the received
一方、受信ARPパケットがARP応答パケット421である場合(ステップS201)、当該ARP応答パケット421中のターゲットMACアドレス及びターゲットIPアドレスが、それぞれ実サーバ12-iのMACアドレス及びARP送信用のIPアドレス“192.168.10.12”と一致するか判定する(ステップS206)。もし、MACアドレス及びIPアドレスの各々が一致する場合、受信ARPパケットがデータリンク入力部125aから送られてきたARP応答パケット421であることから、ARP処理部126dは当該ARP応答パケット421のターゲットIPアドレスをARP送信用のIPアドレス“192.168.10.12”から通信パケット送受信用のIPアドレス“192.168.10.11”に書き換えることで、ARP応答パケット421を図42に示すARP応答パケット422に変換する(ステップS207)。ARP処理部126dは、このIPアドレスが書き換えられたARP応答パケット422をIP入力部126aに送る(ステップS208)。
On the other hand, when the received ARP packet is the ARP response packet 421 (step S201), the target MAC address and the target IP address in the
これに対し、受信ARP応答パケット421中のターゲットMACアドレスが実サーバ12-iのMACアドレスと一致しないか、或いは受信ARP応答パケット421中のターゲットIPアドレスが実サーバ12-iのARP送信用のIPアドレスと一致しない場合(ステップS206)、ARP処理部126dは当該ARP応答パケット421を破棄して処理を終了する(ステップS209)。
On the other hand, the target MAC address in the received
次に専用装置120-i内のIP入力部126aの動作について、図43のフローチャート及び図44のデータフォーマットを参照して説明する。IP入力部126aには、IP入力部126aまたはARP処理部126dから、それぞれ図44(a)に示すIPパケット441または(図42のARP応答パケット422に相当する)図44(b)に示すARP応答パケット442が送られる。
Next, the operation of the
IP入力部126aは、IP入力部126aまたはARP処理部126dから送られたIPパケット441またはARP応答パケット442を受信すると、当該IPパケット441またはARP応答パケット442を、それぞれ図44(c)に示すIPパケット443または図44(d)に示すARP応答パケット444として、実サーバ12-i上のオリジナルのIP層処理部123(のIP入力部123a)に送り処理を終了する(ステップS211)。
When the
次に専用装置120-i内のIP出力部126bの動作について、図45のフローチャート及び図46のデータフォーマットを参照して説明する。IP出力部126bには、実サーバ12-i上のオリジナルのIP層処理部123(のIP出力部123b)から、図46(a)に示すIPパケット462と送信先のMACアドレス461、または図46(b)に示すARP要求パケット464と送信先のMACアドレス462が送られる。
Next, the operation of the
IP出力部126bは、IP層処理部123から送られた通信パケットを受信すると、当該受信パケットがARPパケット(ARP要求パケット)であるか判定する(ステップS221)。
When receiving the communication packet sent from the IP
もし、受信パケットが図46(b)に示すARPパケット(ARP要求パケット)464である場合、IP出力部126bは当該ARPパケット(ARP要求パケット)464を図46(c)に示すARPパケット(ARP要求パケット)465としてARP処理部126dに送って処理を終了する(ステップS222)。
If the received packet is the ARP packet (ARP request packet) 464 shown in FIG. 46 (b), the
これに対し、受信パケットがARPパケットでない場合、即ち図46(a)に示すIPパケット462である場合、IP出力部126bは、IP層処理部123から受け取ったMACアドレス461及び当該IPパケット462を、それぞれ図46(d)に示すMACアドレス466及びIPパケット467としてデータリンク出力部125bに送って処理を終了する(ステップS223)。
On the other hand, if the received packet is not an ARP packet, that is, the
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。 Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Further, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment.
11…クライアント、12-1〜12-3,12-5,12-6,12-i…実サーバ、13,14…ネットワーク、16…負荷分散装置、121,161…ネットワークIF、122,125,162…データリンク層処理部、122a…IP入力部、122b…データリンク出力部、123,126,163…IP層処理部、123a,126a,163a…IP入力部、123b…IP出力部、124,164…トランスポート層処理部、125a…データリンク入力部(受信手段、第1の受信手段)、125b…データリンク出力部(送信手段、第2の送信手段)、126b…IP出力部(第2の受信手段)、126c,166…登録処理部、126d…ARP処理部、162a…データリンク入力部(受信手段)、162b…データリンク出力部(送信手段、第1の送信手段)、163b…IP出力部、165…パケット転送広告処理部、167…代理ARP処理部、168…パケット転送処理部、169…負荷分散処理部、TBL1,TBL3…登録テーブル、TBL2…セッション管理テーブル。
DESCRIPTION OF
Claims (19)
前記複数の実サーバとネットワークアドレスが同一のセグメントに存在し、前記複数のクライアントの各々からのサービス要求を前記複数の実サーバに割り振る負荷分散装置とを具備し、
前記負荷分散装置は、
通信データを受信する受信手段であって、前記クライアントからの前記第1のIPアドレスを宛先IPアドレスとする実サーバ宛ての通信データを代理で受信する受信手段と、
通信データを送信する第1の送信手段と、
前記複数の実サーバの中から、前記受信手段によって代理で受信された通信データを転送すべき実サーバを選択する負荷分散処理手段と、
前記受信手段によって代理で受信された通信データを前記負荷分散処理手段によって選択された実サーバの物理アドレス宛てに前記第1の送信手段によって転送させる転送処理手段とを有し、
前記複数の実サーバの各々は、
前記第1のIPアドレスとは異なるアドレス解決プロトコル要求送信用の第2のIPアドレスで前記クライアントの物理アドレスを取得するためのアドレス解決を行うアドレス解決プロトコル処理手段と、
前記アドレス解決プロトコル処理手段による前記アドレス解決により決定された物理アドレスに対し前記第1のIPアドレスを送信元IPアドレスとする通信データを送信する第2の送信手段とを有する
ことを特徴とする負荷分散システム。 A plurality of real servers that provide services to a plurality of clients, the plurality of real servers having a first IP address common to the plurality of real servers;
A load balancer that allocates service requests from each of the plurality of clients to the plurality of real servers, the network addresses of the plurality of real servers being in the same segment,
The load balancer is:
Receiving means for receiving communication data, the receiving means for receiving, on behalf of, communication data addressed to a real server having the first IP address from the client as a destination IP address;
First transmission means for transmitting communication data;
Load distribution processing means for selecting a real server to which communication data received on behalf of the receiving means is to be transferred from the plurality of real servers;
Transfer processing means for causing the first transmission means to transfer the communication data received on behalf of the reception means to the physical address of the real server selected by the load distribution processing means,
Each of the plurality of real servers is
Address resolution protocol processing means for performing address resolution for acquiring the physical address of the client with a second IP address for address resolution protocol request transmission different from the first IP address;
A second transmission unit configured to transmit communication data having the first IP address as a transmission source IP address with respect to the physical address determined by the address resolution by the address resolution protocol processing unit; Distributed system.
前記負荷分散装置の前記受信手段は、前記代理アドレス解決プロトコル応答により前記クライアントに返された前記負荷分散装置の物理アドレス宛てに当該クライアントから前記第1のIPアドレスで通信データが送信された場合に、当該通信データを受信する
ことを特徴とする請求項1記載の負荷分散システム。 The load balancer further includes a proxy address resolution protocol processing unit that returns a proxy address resolution protocol response including a physical address of the load balancer in response to an address resolution protocol request for the first IP address from the client. ,
The receiving unit of the load balancer receives communication data from the client to the physical address of the load balancer returned to the client by the proxy address resolution protocol response from the client using the first IP address. The load distribution system according to claim 1, wherein the communication data is received.
前記負荷分散装置の前記負荷分散処理手段は、前記負荷分散装置側登録テーブルから、前記受信手段によって受信された通信データの前記宛先IPアドレスと一致するIPアドレスを含むエントリデータを抽出し、当該抽出されたエントリデータに含まれている物理アドレスの中から前記通信データを転送すべき実サーバの物理アドレスを選択することを特徴とする請求項1記載の負荷分散システム。 The load balancer further includes a load balancer side registration table that stores entry data including physical addresses of the plurality of real servers to which service requests are allocated and the first IP address,
The load distribution processing means of the load distribution apparatus extracts entry data including an IP address that matches the destination IP address of the communication data received by the reception means from the load distribution apparatus side registration table, and extracts the data 2. The load distribution system according to claim 1, wherein a physical address of a real server to which the communication data is to be transferred is selected from physical addresses included in the entry data.
前記負荷分散装置の前記転送処理手段は、前記受信手段によって通信データが受信された場合、当該通信データの宛先IPアドレスが前記負荷分散装置自身のIPアドレスと一致するか判定する手段と、前記負荷分散装置自身のIPアドレスと一致する場合、前記通信データをインターネットプロトコル層及び上位のプロトコル層に受け渡す手段と、前記負荷分散装置自身のIPアドレスと一致しない場合、前記通信データを前記負荷分散処理手段に渡して当該負荷分散処理手段により転送先の物理アドレスを選択させる手段と、前記通信データを転送すべき実サーバの物理アドレスが前記負荷分散処理手段によって選択できなかった場合、前記通信データを破棄する手段とを含むことを特徴とする請求項4記載の負荷分散装置。 The receiving means of the load balancer also receives communication data having the IP address of the load balancer as a destination IP address;
The transfer processing means of the load balancer, when communication data is received by the receiving means, means for determining whether the destination IP address of the communication data matches the IP address of the load balancer itself, and the load Means for passing the communication data to the Internet protocol layer and higher protocol layers if the IP address of the distribution device itself matches, and the load distribution processing if the communication data does not match the IP address of the load distribution device itself Means for selecting a transfer destination physical address by the load distribution processing means, and when the physical address of a real server to which the communication data is to be transferred cannot be selected by the load distribution processing means, The load balancing apparatus according to claim 4, further comprising a discarding unit.
前記負荷分散装置の前記負荷分散処理手段は、前記負荷分散装置の前記転送処理手段から前記実サーバ宛ての通信データが受け渡された場合、当該通信データの送信元IPアドレスを含むエントリデータが前記セッション管理テーブルに存在するかを判定する手段と、前記通信データの送信元IPアドレスを含むエントリデータが前記セッション管理テーブルに存在しないならば、当該通信データの送信元IPアドレスと所定の有効期限を含むエントリデータを前記セッション管理テーブルに追加登録することでセッションの開始とする手段と、前記通信データの送信元IPアドレスを含むエントリデータが前記セッション管理テーブルに存在するならば、セッションが保持されているものとして当該エントリデータに含まれている有効期限の値を前記所定の有効期限の値に戻す手段と、前記通信データがセッション終了を意味するデータである場合、前記セッション管理テーブル上の該当するエントリデータを削除する手段とを含むことを特徴とする請求項5記載の負荷分散システム。 The load balancer includes an IP address of a transmission source of communication data addressed to a real server having the first IP address as a destination IP address, a physical address of a real server of a transfer destination of the communication data, and expiration date data. A session management table in which entry data including
When the communication data addressed to the real server is transferred from the transfer processing unit of the load distribution device, the load distribution processing unit of the load distribution device receives entry data including a transmission source IP address of the communication data. The means for determining whether or not the session management table exists, and entry data including the source IP address of the communication data do not exist in the session management table, the source IP address of the communication data and a predetermined expiration date If the entry data including the communication data transmission source IP address exists in the session management table, the session is held if the entry data including the entry data is additionally registered in the session management table. Expiration date included in the entry data as being Means for returning the value to the value of the predetermined expiration date, and means for deleting the corresponding entry data on the session management table when the communication data is data indicating session termination. The load distribution system according to claim 5.
前記セッション管理テーブルのエントリデータは、前記実サーバの集合毎に、当該集合に固有の前記第1のIPアドレスに関連付けられており、
前記負荷分散装置の前記負荷分散処理手段は、前記負荷分散装置の前記転送処理手段から前記実サーバ宛ての通信データが受け渡された場合、当該通信データの宛先IPアドレスに基づいて、前記負荷分散処理手段の前記判定する手段による判定のために参照すべき前記セッション管理テーブル内のエントリデータの集合を特定する
ことを特徴とする請求項6記載の負荷分散システム。 Aside from the set of a plurality of real servers having the first IP address, at least one set of a plurality of real servers having a common first IP address different from the first IP address is provided. ,
The entry data of the session management table is associated with the first IP address unique to the set for each set of the real servers,
When the communication data addressed to the real server is delivered from the transfer processing unit of the load distribution device, the load distribution processing unit of the load distribution device is configured to distribute the load distribution based on a destination IP address of the communication data. The load distribution system according to claim 6, wherein a set of entry data in the session management table to be referred to for determination by the determination unit of the processing unit is specified.
前記負荷分散装置の物理アドレスを含むエントリデータを格納するサーバ側登録テーブルと、
TCP/IP通信におけるデータリンク層の処理を行うデータリンク層処理手段と、
前記TCP/IP通信におけるIP層の処理を行うIP層処理手段と、
前記データリンク層処理手段から前記IP層処理手段に送るべき通信データを当該IP層処理手段に代わり受信する第1の受信手段であって、受信された通信データがIPパケットの場合、前記サーバ側登録テーブルに登録されている物理アドレスを送信元アドレスとするパケットのみを前記IP層処理手段に送る第1の受信手段と、
前記第2の送信手段を含み、前記IP層処理手段から前記データリンク層処理手段に送るべき通信データを前記データリンク層処理手段に代わり受信する第2の受信手段であって、受信された通信データがIPパケットの場合、当該IPパケットをそのまま前記データリンク層処理手段に送る第2の受信手段とを更に有し、
前記実サーバの前記アドレス解決プロトコル処理手段は、前記第1の受信手段によって受信された通信データがターゲットIPアドレス及びターゲット物理アドレスを含むアドレス解決プロトコル応答パケットであって、前記ターゲットIPアドレスが前記第2のIPアドレスで、且つターゲット物理アドレスが前記実サーバの物理アドレスである場合に、前記ターゲットIPアドレスを前記第1のIPアドレスに変換する手段と、前記ターゲットIPアドレスが前記第1のIPアドレスに変換された前記アドレス解決プロトコル応答パケットを前記IP層処理手段に送る手段と、前記ターゲットIPアドレスが前記第2のIPアドレスでないか、或いは前記ターゲット物理アドレスが前記実サーバの物理アドレスでない場合に、前記アドレス解決プロトコル応答パケットを破棄する手段と、前記第2の受信手段によって受信された通信データがターゲットIPアドレス及びターゲット物理アドレスを含むアドレス解決プロトコル要求パケットであって、前記ターゲットIPアドレスが前記第1のIPアドレスで、且つターゲット物理アドレスが前記実サーバの物理アドレスである場合に、送信元IPアドレスを前記第2のIPアドレスに変換する手段と、前記ターゲットIPアドレスが前記第2のIPアドレスに変換された前記アドレス解決プロトコル要求パケットを前記データリンク層処理手段に送る手段と、前記ターゲットIPアドレスが前記第1のIPアドレスでないか、或いは前記ターゲット物理アドレスが前記実サーバの物理アドレスでない場合に、前記アドレス解決プロトコル要求パケットを破棄する手段とを含む
ことを特徴とする請求項4記載の負荷分散システム。 Each of the plurality of real servers is
A server side registration table for storing entry data including a physical address of the load balancer;
Data link layer processing means for performing data link layer processing in TCP / IP communication;
IP layer processing means for processing the IP layer in the TCP / IP communication;
First receiving means for receiving communication data to be sent from the data link layer processing means to the IP layer processing means instead of the IP layer processing means, and when the received communication data is an IP packet, the server side First receiving means for sending only a packet having a physical address registered in a registration table as a transmission source address to the IP layer processing means;
A second receiving means for receiving communication data to be sent from the IP layer processing means to the data link layer processing means instead of the data link layer processing means, the second receiving means including the second sending means; A second receiving means for sending the IP packet as it is to the data link layer processing means when the data is an IP packet;
The address resolution protocol processing means of the real server is an address resolution protocol response packet in which the communication data received by the first receiving means includes a target IP address and a target physical address, and the target IP address is the first address. And a means for converting the target IP address into the first IP address when the target physical address is a physical address of the real server, and the target IP address is the first IP address. Means for sending the address resolution protocol response packet converted into the IP layer processing means, and the target IP address is not the second IP address or the target physical address is not the physical address of the real server , The address Means for discarding a resolution protocol response packet; and communication data received by the second reception means is an address resolution protocol request packet including a target IP address and a target physical address, and the target IP address is the first IP address. Means for converting a source IP address into the second IP address when the target physical address is a physical address of the real server, and the target IP address is converted into the second IP address. The address resolution protocol request packet sent to the data link layer processing means and the target IP address is not the first IP address, or the target physical address is not the physical server physical address, The address resolution Load balancing system according to claim 4, characterized in that it comprises a means for discarding protocol request packet.
前記実サーバと互いに物理アドレス及びIPアドレスの対を交換するため、ブロードキャストもしくはマルチキャストのIPパケットを含むパケット転送要請が送られた場合、前記パケット転送要請の送信元アドレスに対してIPパケットを含むパケット転送広告を前記第1の送信手段により送信させるパケット転送広告処理手段と、
前記パケット転送広告に応じて前記パケット転送要請の送信元の前記実サーバから登録要求が送られた場合、当該登録要求の送信元の前記実サーバの物理アドレスとIPアドレスとを含むエントリデータを前記負荷分散装置側登録テーブルに追加登録すると共に、当該登録の結果を前記パケット転送要請の送信元の前記サーバに通知するためのIPパケットを含む登録応答を前記第1の送信手段により送信させる登録処理手段とを更に有し、
前記実サーバは、前記負荷分散装置と互いに物理アドレス及びIPアドレスの対を交換するため、ブロードキャストもしくはマルチキャストのIPパケットを含む前記パケット転送要請を前記第2の送信手段により送信させると共に、前記パケット転送要請に応じて前記負荷分散装置から前記パケット転送広告が送られた場合、前記パケット転送広告の送信元IPアドレスを宛先IPアドレスとするIPパケットを含む前記登録要求を前記第2の送信手段により送信させ、前記登録要求に応じて前記負荷分散装置から前記登録応答が送られた場合、前記サーバ側登録テーブルに前記負荷分散装置の物理アドレスを含むエントリデータを登録する登録処理手段を更に有する
ことを特徴とする請求項9記載の負荷分散システム。 The load balancer is:
When a packet transfer request including a broadcast or multicast IP packet is sent to exchange a physical address and IP address pair with the real server, a packet including an IP packet with respect to the source address of the packet transfer request A packet transfer advertisement processing means for causing the first transmission means to transmit a transfer advertisement;
When a registration request is sent from the real server that is the transmission source of the packet transfer request in response to the packet transfer advertisement, the entry data including the physical address and IP address of the real server that is the transmission source of the registration request Registration processing for additionally registering in the load balancer side registration table and causing the first transmission means to transmit a registration response including an IP packet for notifying the server of the transmission source of the packet transfer request of the registration result And further comprising means
The real server exchanges a pair of a physical address and an IP address with the load balancer so that the packet transmission request including a broadcast or multicast IP packet is transmitted by the second transmission unit, and the packet transfer When the packet transfer advertisement is sent from the load balancer in response to the request, the registration request including the IP packet having the source IP address of the packet transfer advertisement as the destination IP address is transmitted by the second transmission unit. A registration processing means for registering entry data including a physical address of the load balancer in the server side registration table when the registration response is sent from the load balancer in response to the registration request. The load distribution system according to claim 9, wherein:
前記負荷分散装置の前記登録処理手段は、前記実サーバから前記登録要求が送られた場合、当該登録要求に含まれている前記有効期限のデータの示す値が正当であるならば、当該登録要求の送信元の前記実サーバの物理アドレスとIPアドレスと前記有効期限の値とを含むエントリデータを前記負荷分散装置側登録テーブルに追加登録し、当該登録要求の送信元の前記実サーバの物理アドレスとIPアドレスとを含むエントリデータが既に登録済みであれば当該エントリデータ中の有効期限の値を当該登録要求に含まれている前記有効期限のデータの示す値に変更する手段と、前記登録要求に含まれている前記有効期限のデータの示す値が正当でないならば、前記負荷分散装置側登録テーブルへの前記ユーザデータの登録を控え、当該登録要求の送信元の前記実サーバの物理アドレスとIPアドレスとを含むエントリデータが既に登録済みであれば当該エントリデータを前記負荷分散装置側登録テーブルから削除する手段と、前記第1の送信手段により送信させる前記登録応答として、前記負荷分散装置側登録テーブルへの登録の成功または失敗を表す登録結果のデータを含む前記登録応答を生成する手段とを含み、
前記実サーバの前記登録処理手段は、前記パケット転送要請に応じて前記負荷分散装置から前記パケット転送広告が送られた場合、前記有効期限のデータを含む前記登録要求を前記第2の送信手段により送信させる手段と、前記登録要求に応じて前記負荷分散装置から前記登録結果のデータを含む前記登録応答が送られた場合、当該登録応答の送信元の前記負荷分散装置の物理アドレスとIPアドレスと前記登録要求に含まれている前記有効期限の値とを含むエントリデータを前記サーバ側登録テーブルに追加登録し、当該登録応答の送信元の前記負荷分散装置の物理アドレスとIPアドレスとを含むエントリデータが既に登録済みであれば当該エントリデータ中の有効期限の値を前記登録要求に含まれている前記有効期限の値に変更する手段と、前記登録応答に含まれている前記登録結果のデータにより登録失敗が示されている場合、前記登録要求に含まれている有効期限より短い値に変更された新たな登録要求を前記第2の送信手段により再度送信させる手段とを含む
ことを特徴とする請求項10記載の負荷分散システム。 The registration request sent from the real server includes registration expiration data,
When the registration request is sent from the real server, the registration processing unit of the load distribution apparatus, if the value indicated by the expiration date data included in the registration request is valid, the registration request Entry data including the physical address, IP address, and value of the expiration date of the real server that is the source of the registration is additionally registered in the load balancer side registration table, and the physical address of the real server that is the source of the registration request Means for changing the value of the expiration date in the entry data to the value indicated by the expiration date data included in the registration request, if the entry data including the IP address is already registered, and the registration request If the value indicated by the expiration date data included in the data is not valid, the user data is not registered in the load balancer side registration table, and the registration If the entry data including the physical address and the IP address of the real server that is the transmission source has already been registered, the entry data is deleted from the load balancer side registration table, and transmitted by the first transmission unit. Generating the registration response including registration result data indicating success or failure of registration in the load balancer side registration table as the registration response to be performed,
When the packet transfer advertisement is sent from the load balancer in response to the packet transfer request, the registration processing unit of the real server sends the registration request including the expiration date data to the second transmission unit. When the registration response including the registration result data is sent from the load balancer in response to the registration request, a physical address and an IP address of the load balancer that is a transmission source of the registration response Entry data including the expiration date value included in the registration request is additionally registered in the server-side registration table, and an entry includes the physical address and IP address of the load balancer that is the transmission source of the registration response If the data has already been registered, it is possible to change the expiration date value in the entry data to the expiration date value included in the registration request. If the registration failure is indicated by the registration result data included in the registration response, a new registration request changed to a value shorter than the expiration date included in the registration request is sent to the second registration request. The load distribution system according to claim 10, further comprising means for retransmitting by the transmission means.
前記登録応答を生成する手段は、前記登録解除要求に対する前記登録応答として、登録解除成功を表す登録結果のデータを含む登録応答を生成し、
前記実サーバの前記登録処理手段は、前記登録解除要求を前記第2の送信手段により送信させる手段と、前記登録解除要求に応じて前記負荷分散装置から前記登録解除成功を表す登録結果のデータを含む前記登録応答が送られた場合、当該登録応答の送信元の前記負荷分散装置の物理アドレスとIPアドレスとを含むエントリデータを前記サーバ側登録テーブルから削除する手段とを含む
ことを特徴とする請求項11記載の負荷分散システム。 When a registration cancellation request is sent as a registration request indicating cancellation of registration from the real server, the registration processing means of the load distribution apparatus obtains the physical address and IP address of the real server that is the transmission source of the registration cancellation request. Means for deleting the entry data including from the load balancer side registration table,
The means for generating the registration response generates, as the registration response to the registration cancellation request, a registration response including registration result data indicating successful registration cancellation,
The registration processing means of the real server includes means for causing the registration cancellation request to be transmitted by the second transmission means, and data of a registration result indicating successful registration cancellation from the load balancer in response to the registration cancellation request. Means for deleting entry data including a physical address and an IP address of the load balancer that is a transmission source of the registration response from the server-side registration table when the registration response is transmitted. The load distribution system according to claim 11.
前記クライアントからの前記第1のIPアドレスに対するアドレス解決プロトコル要求に対して前記負荷分散装置の物理アドレスを含む代理アドレス解決プロトコル応答を返す代理アドレス解決プロトコル処理手段と、
通信データを受信する受信手段であって、前記代理アドレス解決プロトコル応答により前記クライアントに返された前記負荷分散装置の物理アドレス宛てに当該クライアントから前記第1のIPアドレスで通信データが送信された場合に、当該通信データを代理で受信する受信手段と、
通信データを送信する送信手段と、
前記複数の実サーバの中から、前記受信手段によって代理で受信された通信データを転送すべき実サーバを選択する負荷分散処理手段と、
前記受信手段によって代理で受信された通信データを前記負荷分散処理手段によって選択された実サーバの物理アドレス宛てに前記送信手段によって転送させる転送処理手段と
を具備することを特徴とする負荷分散装置。 A load distribution device for allocating service requests from each of the plurality of clients to the plurality of real servers, wherein a plurality of real servers that provide services to a plurality of clients have network addresses in the same segment,
Proxy address resolution protocol processing means for returning a proxy address resolution protocol response including a physical address of the load balancer in response to an address resolution protocol request for the first IP address from the client;
A receiving means for receiving communication data, when the communication data is transmitted from the client to the physical address of the load balancer returned to the client by the proxy address resolution protocol response from the client at the first IP address And receiving means for receiving the communication data on behalf of,
A transmission means for transmitting communication data;
Load distribution processing means for selecting a real server to which communication data received on behalf of the receiving means is to be transferred from the plurality of real servers;
A load distribution apparatus comprising: transfer processing means for causing the transmission means to transfer communication data received on behalf of the reception means to a physical address of a real server selected by the load distribution processing means.
前記クライアントからの前記第1のIPアドレスを宛先IPアドレスとする実サーバ宛ての通信データが前記負荷分散装置で代理で受信されて、当該負荷分散装置による振り分けで当該代理で受信された通信データが自身の物理アドレス宛てに送信された場合に、当該通信データを受信する受信手段と、
前記第1のIPアドレスとは異なるアドレス解決プロトコル要求送信用の第2のIPアドレスで前記クライアントの物理アドレスを取得するためのアドレス解決を行うアドレス解決プロトコル処理手段と、
前記アドレス解決プロトコル処理手段による前記アドレス解決により決定された物理アドレスに対し前記第1のIPアドレスを送信元IPアドレスとする通信データを送信する送信手段と
を具備することを特徴とする実サーバ。 A first IP address that is common to the load balancer and a network address that provides a service to the client in response to a service request from each of a plurality of clients allocated by the load balancer and that is in the same segment A real server belonging to a set of multiple real servers having
Communication data addressed to the real server having the first IP address as the destination IP address from the client is received by the load balancer as a proxy, and the communication data received by the proxy by the distribution by the load balancer is A receiving means for receiving the communication data when transmitted to its own physical address;
Address resolution protocol processing means for performing address resolution to obtain a physical address of the client with a second IP address for address resolution protocol request transmission different from the first IP address;
A real server comprising: a transmission unit configured to transmit communication data having the first IP address as a transmission source IP address with respect to a physical address determined by the address resolution by the address resolution protocol processing unit.
TCP/IP通信におけるデータリンク層の処理を行うデータリンク層処理手段と、
前記TCP/IP通信におけるIP層の処理を行うIP層処理手段と、
前記受信手段を含み、前記データリンク層処理手段から前記IP層処理手段に送るべき通信データを当該IP層処理手段に代わり受信する第1の受信手段であって、受信された通信データがIPパケットの場合、前記サーバ側登録テーブルに登録されている物理アドレスを送信元アドレスとするパケットのみを前記IP層処理手段に送る第1の受信手段と、
前記IP層処理手段から前記データリンク層処理手段に送るべき通信データを前記データリンク層処理手段に代わり受信する第2の受信手段であって、受信された通信データがIPパケットの場合、当該IPパケットをそのまま前記データリンク層処理手段に送る第2の受信手段とを更に具備し、
前記アドレス解決プロトコル処理手段は、前記第1の受信手段によって受信された通信データがターゲットIPアドレス及びターゲット物理アドレスを含むアドレス解決プロトコル応答パケットであって、前記ターゲットIPアドレスが前記第2のIPアドレスで、且つターゲット物理アドレスが前記実サーバの物理アドレスである場合に、前記ターゲットIPアドレスを前記第1のIPアドレスに変換する手段と、前記ターゲットIPアドレスが前記第1のIPアドレスに変換された前記アドレス解決プロトコル応答パケットを前記IP層処理手段に送る手段と、前記ターゲットIPアドレスが前記第2のIPアドレスでないか、或いは前記ターゲット物理アドレスが前記実サーバの物理アドレスでない場合に、前記アドレス解決プロトコル応答パケットを破棄する手段と、前記第2の受信手段によって受信された通信データがターゲットIPアドレス及びターゲット物理アドレスを含むアドレス解決プロトコル要求パケットであって、前記ターゲットIPアドレスが前記第1のIPアドレスで、且つターゲット物理アドレスが前記実サーバの物理アドレスである場合に、送信元IPアドレスを前記第2のIPアドレスに変換する手段と、前記ターゲットIPアドレスが前記第2のIPアドレスに変換された前記アドレス解決プロトコル要求パケットを前記データリンク層処理手段に送る手段と、前記ターゲットIPアドレスが前記第1のIPアドレスでないか、或いは前記ターゲット物理アドレスが前記実サーバの物理アドレスでない場合に、前記アドレス解決プロトコル要求パケットを破棄する手段とを含む
ことを特徴とする請求項16記載の実サーバ。 A server side registration table for storing entry data including a physical address of the load balancer;
Data link layer processing means for performing data link layer processing in TCP / IP communication;
IP layer processing means for processing the IP layer in the TCP / IP communication;
A first receiving means including the receiving means for receiving communication data to be sent from the data link layer processing means to the IP layer processing means instead of the IP layer processing means, wherein the received communication data is an IP packet; In this case, a first receiving means for sending only a packet having a physical address registered in the server side registration table as a transmission source address to the IP layer processing means,
Second receiving means for receiving, instead of the data link layer processing means, communication data to be sent from the IP layer processing means to the data link layer processing means, and when the received communication data is an IP packet, Second receiving means for sending the packet as it is to the data link layer processing means,
The address resolution protocol processing means is an address resolution protocol response packet in which the communication data received by the first receiving means includes a target IP address and a target physical address, and the target IP address is the second IP address. And when the target physical address is the physical address of the real server, the target IP address is converted to the first IP address, and the target IP address is converted to the first IP address. Means for sending said address resolution protocol response packet to said IP layer processing means, and said address resolution when said target IP address is not said second IP address or said target physical address is not a physical address of said real server Protoco Means for discarding the response packet; and communication data received by the second receiving means is an address resolution protocol request packet including a target IP address and a target physical address, and the target IP address is the first IP address. And when the target physical address is the physical address of the real server, means for converting the source IP address to the second IP address, and the target IP address is converted to the second IP address. Means for sending the address resolution protocol request packet to the data link layer processing means, and if the target IP address is not the first IP address or the target physical address is not a physical address of the real server, the address Resolution protocol request Real server of claim 16, characterized in that it comprises a means for discarding packets.
前記クライアントからの前記第1のIPアドレスを宛先IPアドレスとする実サーバ宛ての通信データを前記負荷分散装置が代理で受信するステップと、
前記代理で受信された通信データを転送すべき実サーバを、前記複数の実サーバの中から選択するステップと、
前記代理で受信された通信データを前記選択された実サーバの物理アドレス宛てに前記負荷分散装置が転送するステップと、
前記実サーバが、前記第1のIPアドレスとは異なるアドレス解決プロトコル要求送信用の第2のIPアドレスで前記クライアントの物理アドレスを取得するためのアドレス解決を行うステップと、
前記アドレス解決により決定された物理アドレスに対し前記第1のIPアドレスを送信元IPアドレスとする通信データを前記実サーバが送信するステップと
を具備することを特徴とする負荷分散方法。 A plurality of real servers that provide services to a plurality of clients, the plurality of real servers having a first IP address common to the plurality of real servers, and the network addresses of the plurality of real servers in the same segment A load distribution method applied to a load distribution system that includes a load distribution device that exists and allocates a service request from each of the plurality of clients to the plurality of real servers,
The load balancer receives, on behalf of, communication data addressed to a real server whose destination IP address is the first IP address from the client;
Selecting a real server to which communication data received on behalf of the proxy is to be transferred, from among the plurality of real servers;
Transferring the communication data received on behalf of the proxy to the physical address of the selected real server;
The real server performing address resolution for obtaining the physical address of the client with a second IP address for sending an address resolution protocol request different from the first IP address;
A load distribution method comprising: a step of transmitting communication data having the first IP address as a transmission source IP address with respect to a physical address determined by the address resolution.
前記クライアントからの前記第1のIPアドレスに対するアドレス解決プロトコル要求に対して前記複数のサーバの各々が応答しないステップと
を更に具備することを特徴とする請求項18記載の負荷分散方法。 In response to an address resolution protocol request for the first IP address from the client, the load balancer returns a proxy address resolution protocol response including a physical address of the load balancer;
The load balancing method according to claim 18, further comprising a step in which each of the plurality of servers does not respond to an address resolution protocol request for the first IP address from the client.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005098687A JP4177346B2 (en) | 2005-03-30 | 2005-03-30 | Load distribution system, real server, and load distribution method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005098687A JP4177346B2 (en) | 2005-03-30 | 2005-03-30 | Load distribution system, real server, and load distribution method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006277569A true JP2006277569A (en) | 2006-10-12 |
JP4177346B2 JP4177346B2 (en) | 2008-11-05 |
Family
ID=37212238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005098687A Expired - Fee Related JP4177346B2 (en) | 2005-03-30 | 2005-03-30 | Load distribution system, real server, and load distribution method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4177346B2 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008226127A (en) * | 2007-03-15 | 2008-09-25 | Toshiba Corp | Device and method for enhancing reliability of message in distributed processing |
JP2009080642A (en) * | 2007-09-26 | 2009-04-16 | Nippon Telegr & Teleph Corp <Ntt> | Load control method, device and program |
JP2009253578A (en) * | 2008-04-04 | 2009-10-29 | Nec Corp | Network load distribution device, network load distribution method, and program |
JP2011223295A (en) * | 2010-04-09 | 2011-11-04 | Hitachi Ltd | Frame transfer device and frame transfer method |
US8081580B2 (en) | 2007-03-15 | 2011-12-20 | Fujitsu Limited | Network verification system |
JP2014032530A (en) * | 2012-08-03 | 2014-02-20 | Nippon Telegr & Teleph Corp <Ntt> | Distribution processing system and distribution processing method |
WO2014192856A1 (en) * | 2013-05-30 | 2014-12-04 | 日本電気株式会社 | Control apparatus, communication system, relay apparatus control method and program |
JP2016515790A (en) * | 2013-04-16 | 2016-05-30 | アマゾン・テクノロジーズ・インコーポレーテッド | Open connection with distributed load balancer |
CN110933190A (en) * | 2019-10-18 | 2020-03-27 | 平安科技(深圳)有限公司 | Client address obtaining method and device, storage medium and computer equipment |
JP2022510306A (en) * | 2018-11-30 | 2022-01-26 | オラクル・インターナショナル・コーポレイション | How to distribute SIGTRAN connections among signal relay station (STP) message processors, systems, and readable media. |
-
2005
- 2005-03-30 JP JP2005098687A patent/JP4177346B2/en not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8081580B2 (en) | 2007-03-15 | 2011-12-20 | Fujitsu Limited | Network verification system |
JP2008226127A (en) * | 2007-03-15 | 2008-09-25 | Toshiba Corp | Device and method for enhancing reliability of message in distributed processing |
JP2009080642A (en) * | 2007-09-26 | 2009-04-16 | Nippon Telegr & Teleph Corp <Ntt> | Load control method, device and program |
JP4729549B2 (en) * | 2007-09-26 | 2011-07-20 | 日本電信電話株式会社 | Load control method, apparatus and program |
JP2009253578A (en) * | 2008-04-04 | 2009-10-29 | Nec Corp | Network load distribution device, network load distribution method, and program |
JP4683345B2 (en) * | 2008-04-04 | 2011-05-18 | 日本電気株式会社 | Network load balancing apparatus, network load balancing method, and program |
JP2011223295A (en) * | 2010-04-09 | 2011-11-04 | Hitachi Ltd | Frame transfer device and frame transfer method |
JP2014032530A (en) * | 2012-08-03 | 2014-02-20 | Nippon Telegr & Teleph Corp <Ntt> | Distribution processing system and distribution processing method |
JP2016515790A (en) * | 2013-04-16 | 2016-05-30 | アマゾン・テクノロジーズ・インコーポレーテッド | Open connection with distributed load balancer |
WO2014192856A1 (en) * | 2013-05-30 | 2014-12-04 | 日本電気株式会社 | Control apparatus, communication system, relay apparatus control method and program |
JPWO2014192856A1 (en) * | 2013-05-30 | 2017-02-23 | 日本電気株式会社 | CONTROL DEVICE, COMMUNICATION SYSTEM, RELAY DEVICE CONTROL METHOD, AND PROGRAM |
US10742539B2 (en) | 2013-05-30 | 2020-08-11 | Nec Corporation | Control apparatus, communication system, relay apparatus control method, and program |
JP2022510306A (en) * | 2018-11-30 | 2022-01-26 | オラクル・インターナショナル・コーポレイション | How to distribute SIGTRAN connections among signal relay station (STP) message processors, systems, and readable media. |
JP7336521B2 (en) | 2018-11-30 | 2023-08-31 | オラクル・インターナショナル・コーポレイション | A method, system, and computer readable program for distributing SIGTRAN connections among message processors of signaling transfer points (STPs) |
CN110933190A (en) * | 2019-10-18 | 2020-03-27 | 平安科技(深圳)有限公司 | Client address obtaining method and device, storage medium and computer equipment |
CN110933190B (en) * | 2019-10-18 | 2022-09-27 | 平安科技(深圳)有限公司 | Client address acquisition method and device, storage medium and computer equipment |
Also Published As
Publication number | Publication date |
---|---|
JP4177346B2 (en) | 2008-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4177346B2 (en) | Load distribution system, real server, and load distribution method | |
JP4163697B2 (en) | Load distribution system, real server, and load distribution method | |
US10797995B2 (en) | Request routing based on class | |
US20220174010A1 (en) | Updating routing information based on client location | |
US9608957B2 (en) | Request routing using network computing components | |
US7415536B2 (en) | Address query response method, program, and apparatus, and address notification method, program, and apparatus | |
US8892768B2 (en) | Load balancing apparatus and load balancing method | |
US8156243B2 (en) | Request routing | |
US8321586B2 (en) | Distributed storage system, node device, recording medium in which node processing program is recorded, and address information change notifying method | |
JP2007133896A (en) | Server load balancing system, server load balancing device, content management device, and server load balancing program | |
JP2007207231A (en) | Method for accessing distributed service in network | |
JP4910881B2 (en) | Communication system, node device, node processing program, and message transmission / reception method | |
WO2016133066A1 (en) | Name identification device, name identification method and recording medium | |
US10129145B2 (en) | Routing IPv6 packets between autonomous systems | |
JP2010226665A (en) | Load distribution system, apparatus and method | |
KR101598577B1 (en) | - Method for constructing publish-subscribe network and supporting communication using hash function | |
US20060209833A1 (en) | Communication apparatus and computer program product for communicating with other communication apparatus | |
WO2017121134A1 (en) | Method for node identification and service advertisement in communication networks | |
KR20210066641A (en) | Method for processing push data in icn system and apparatus for the same | |
JP5227984B2 (en) | Gateway system, communication method, accommodation management server device, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080507 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080627 |
|
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: 20080819 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080821 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |