JP2008060747A - Layer 2 load balancing system, layer 2 load balancer, and layer 2 load balancing method for the same - Google Patents
Layer 2 load balancing system, layer 2 load balancer, and layer 2 load balancing method for the same Download PDFInfo
- Publication number
- JP2008060747A JP2008060747A JP2006232914A JP2006232914A JP2008060747A JP 2008060747 A JP2008060747 A JP 2008060747A JP 2006232914 A JP2006232914 A JP 2006232914A JP 2006232914 A JP2006232914 A JP 2006232914A JP 2008060747 A JP2008060747 A JP 2008060747A
- Authority
- JP
- Japan
- Prior art keywords
- layer
- mac address
- server
- load
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明はレイヤ2負荷分散システム、レイヤ2負荷分散装置及びそれらに用いるレイヤ2負荷分散方法に関し、特にサーバコンピュータ群の負荷分散に関する。
The present invention relates to a
従来、ある任意のサービスを提供するサーバコンピュータ群を負荷分散するためには、一般に、サーバコンピュータ群とクライアントコンピュータ群との通信の間に配置された負荷分散装置によって、インタネットプロトコル中のIP(Internet Protocol)アドレスをサーバ(例えば、図1のサーバ2−1等)毎に固有に用意された別のIPアドレスに変換し、IP層(レイヤ3)またはアプリケーション層で中継を行うことで、クライアント(例えば、図1のクライアント3−1等)からの要求をサーバコンピュータ群に分散配送している。 2. Description of the Related Art Conventionally, in order to load balance a server computer group that provides an arbitrary service, generally, an IP (Internet) in an Internet protocol is used by a load balancer arranged between a server computer group and a client computer group. (Protocol) address is converted into another IP address uniquely prepared for each server (for example, server 2-1 in FIG. 1) and relayed at the IP layer (layer 3) or the application layer, so that the client ( For example, requests from the client 3-1 in FIG. 1) are distributed and distributed to the server computer group.
しかしながら、従来の負荷分散方法では、IPプロトコル上で動作するアプリケーションプロトコルにおいて、IPアドレスが変換されたことに起因して正常に動作できないものもある。例えば、IPSEC(IP SECurity protocol)がこれに該当する。 However, in the conventional load distribution method, there are some application protocols that operate on the IP protocol that cannot operate normally due to the IP address being converted. For example, IPSEC (IP SECurity protocol) corresponds to this.
また、従来の負荷分散方法では、画像配信サービス等において、サーバからの配信データ量が多いため、IPアドレス変換処理やIP層以上の中継処理がボトルネックとなり、負荷分散装置の能力がシステム全体のサービス能力を制限することがある。 In addition, in the conventional load distribution method, the amount of distribution data from the server is large in the image distribution service, etc., so IP address conversion processing and relay processing above the IP layer become a bottleneck. May limit service capacity.
この負荷分散装置の能力を向上させるために、クライアントから送られてきたIPアドレスをそれに対応するMAC(Media Access Control)アドレスに変換し、そのMACアドレス宛てにクライアントからの要求を送信する方法が提案されている(例えば、特許文献1参照)。
上述した従来の負荷分散方法では、負荷分散装置の能力を向上させるために、クライアントから送られてきたIPアドレスをそれに対応するMACアドレスに変換しているので、変換テーブルを事前に負荷分散装置に設定しておく、またはIPアドレスの存在を認識させておく必要があるという課題がある。つまり、従来の負荷分散方法では、管理者が各サーバのIPアドレスを設定する等の煩雑な作業が必要になるという課題がある。 In the conventional load distribution method described above, the IP address sent from the client is converted into the corresponding MAC address in order to improve the capacity of the load distribution apparatus. There is a problem that it is necessary to set or recognize the presence of an IP address. That is, the conventional load balancing method has a problem that an administrator needs complicated work such as setting the IP address of each server.
そこで、本発明の目的は上記の問題点を解消し、IPプロトコル以上への影響の排除と処理の軽減による広帯域負荷分散処理とを実現することができ、その際に負荷分散装置の管理者が必要とする設定作業を軽減することができるレイヤ2負荷分散システム、レイヤ2負荷分散装置及びそれらに用いるレイヤ2負荷分散方法を提供することにある。
Therefore, the object of the present invention is to solve the above-mentioned problems, and to realize wideband load distribution processing by eliminating the influence on the IP protocol or more and reducing the processing. It is an object of the present invention to provide a
本発明によるレイヤ2負荷分散システムは、複数のクライアント装置から構成されるクライアントコンピュータ群と、ネットワークを介して接続される前記クライアントコンピュータ群にサービスを提供する複数のサーバ装置から構成されるサーバコンピュータ群と、前記サーバコンピュータ群のサービス処理の負荷分散を行うレイヤ2負荷分散装置とを含むレイヤ2負荷分散システムであって、
前記レイヤ2負荷分散装置は、前記サーバ装置と前記ネットワークとの間の通信のMAC(Media Access Control)アドレスを変換する手段と、前記サービスのために用意されたIP(Internet Protocol)アドレスに対して代理応答しながら負荷分散通信を実現する手段と、前記サーバコンピュータ群のMACアドレスを学習する手段とを備えている。
The
The
本発明によるレイヤ2負荷分散装置は、複数のクライアント装置から構成されるクライアントコンピュータ群にネットワークを介して接続され、前記クライアントコンピュータ群にサービスを提供する複数のサーバ装置から構成されるサーバコンピュータ群のサービス処理の負荷分散を行うレイヤ2負荷分散装置であって、
前記サーバ装置と前記ネットワークとの間の通信のMAC(Media Access Control)アドレスを変換する手段と、前記サービスのために用意されたIP(Internet Protocol)アドレスに対して代理応答しながら負荷分散通信を実現する手段と、前記サーバコンピュータ群のMACアドレスを学習する手段とを備えている。
A
Means for converting a MAC (Media Access Control) address for communication between the server device and the network, and load balancing communication while performing proxy response to an IP (Internet Protocol) address prepared for the service Means for realizing and means for learning the MAC address of the server computer group.
本発明によるレイヤ2負荷分散方法は、複数のクライアント装置から構成されるクライアントコンピュータ群と、ネットワークを介して接続される前記クライアントコンピュータ群にサービスを提供する複数のサーバ装置から構成されるサーバコンピュータ群と、前記サーバコンピュータ群のサービス処理の負荷分散を行うレイヤ2負荷分散装置とを含むシステムに用いられるレイヤ2負荷分散方法であって、
前記レイヤ2負荷分散装置が、前記サーバ装置と前記ネットワークとの間の通信のMAC(Media Access Control)アドレスを変換する処理と、前記サービスのために用意されたIP(Internet Protocol)アドレスに対して代理応答しながら負荷分散通信を実現する処理と、前記サーバコンピュータ群のMACアドレスを学習する処理とを実行している。
The
The
すなわち、本発明のレイヤ2負荷分散装置は、レイヤ2スイッチ(Layer 2 Switch)技術をベースにした負荷分散装置であり、サーバ、ネットワーク間の通信のMAC(Media Access Control)アドレスを変換し、サービスのために用意されたIPアドレスに対して代理応答しながら負荷分散通信を実現している。
That is, the
より具体的に説明すると、本発明のレイヤ2負荷分散装置では、インタネットプロトコル及びイーサネット(登録商標)プロトコルによって任意のネットワークに接続され、ある任意のサービスを提供するサーバコンピュータ群においてIP(Internet Protocol)アドレスの変換なしに、クライアントコンピュータ群のサービス処理要求について負荷分散処理を実現するとともに、サーバコンピュータ群のMACアドレスを自動学習することによって、他の負荷分散装置に比べ、レイヤ2負荷分散装置への管理者による設定作業を簡単に実現している。
More specifically, in the
本発明のレイヤ2負荷分散装置では、ネットワークからサーバへの方向において、イーサネット(登録商標)プロトコルにおける宛先MACアドレスをレイヤ2負荷分散装置固有のMACアドレスから、分散先サーバのMACアドレスへの変換を行い、サーバからネットワークへの方向において、上記と同様に、送信元MACアドレスをサーバ毎の固有MACアドレスからレイヤ2負荷分散装置固有のMACアドレスへと変換している。また、サービスのために用意されたIPアドレスについては、レイヤ2負荷分散装置、各サーバがそれぞれ保持している。
In the
本発明のレイヤ2負荷分散装置では、ネットワーク側からのARP(Address Resolution Protocol)プロトコルによる問い合わせに対して、レイヤ2負荷分散装置固有のMACアドレスを用いて応答し、反対にサーバコンピュータ群に対してARPプロトコルを用いて各サーバ装置固有のMACアドレスで問い合わせることで、各サーバ装置固有のMACアドレスを学習し、かつ応答を分析して接続されているサーバ装置数を学習する。
The
さらに、本発明のレイヤ2負荷分散装置では、ネットワーク中にあるIPアドレスをサーバが解決する場合、ARP要求に対する応答をレイヤ2負荷分散装置固有のMACアドレス宛に送信しているが、これを各サーバにコピー配送することで、応答を中継することが可能となる。これによって、本発明のレイヤ2負荷分散装置では、ネットワーク/サーバ間のレイヤ2通信を矛盾無く行うとともに、分散処理を実現している。
Furthermore, in the
上述したように、本発明のレイヤ2負荷分散装置では、IPアドレスを変換またはIP層以上での中継をせずに、レイヤ2プロトコルであるイーサネット(登録商標)プロトコルのMACアドレスを変換し、レイヤ2の中継をすることで、アプリケーションプロトコル動作に影響を与えず、サーバの負荷分散を実現している。
As described above, in the
また、本発明のレイヤ2負荷分散装置では、MACアドレス変換処理及びレイヤ2の中継処理がIPアドレス変換処理及びIP層以上の中継処理に対して処理負荷が少ないため、レイヤ2負荷分散装置の処理能力を従来より向上させている。
Further, in the
さらに、本発明のレイヤ2負荷分散装置では、従来、負荷分散装置の設定に、管理者が各サーバのIPアドレスを設定する等の煩雑な作業が必要であるが、変換対象となるサーバのMACアドレス及び接続されたサーバ装置数を自動学習することで、レイヤ2負荷分散装置の管理者が必要とする設定作業を軽減することが可能となる。
Furthermore, in the
本発明は、上記のような構成及び動作とすることで、IPプロトコル以上への影響の排除と処理の軽減による広帯域負荷分散処理とを実現することができ、その際に負荷分散装置の管理者が必要とする設定作業を軽減することができるという効果が得られる。 By adopting the configuration and operation as described above, the present invention can realize wideband load distribution processing by eliminating the influence on the IP protocol or higher and reducing the processing. At that time, the administrator of the load distribution device The effect that it is possible to reduce the setting work required by the is obtained.
次に、本発明の実施例について図面を参照して説明する。図1は本発明の一実施例によるレイヤ2負荷分散システムの構成を示すブロック図である。図1において、本発明の一実施例によるレイヤ2負荷分散システムは、レイヤ2(Layer 2)負荷分散装置1と、サーバ2−1〜2−n(nは正の整数)からなるサーバコンピュータ群と、クライアント3−1〜3−m(mは正の整数)からなるクライアントコンピュータ群と、レイヤ2負荷分散装置1とクライアントコンピュータ群とを接続するネットワーク100とから構成されている。
Next, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the configuration of a
本実施例では、レイヤ2負荷分散装置1において、インタネットプロトコル及びイーサネット(登録商標)プロトコルによって任意のネットワーク100に接続され、ある任意のサービスを提供するサーバコンピュータ群(サーバ2−1〜2−n)をIPアドレスの変換なしに、クライアントコンピュータ群(クライアント3−1〜3−n)のサービス処理要求について負荷分散処理を実現している。
In this embodiment, in the
また、本実施例では、レイヤ2負荷分散装置1において、サーバコンピュータ群(サーバ2−1〜2−n)のMACアドレスを自動学習することによって、他のレイヤ2負荷分散装置に比べ、レイヤ2負荷分散装置1への管理者による設定作業を簡単に実現している。
In the present embodiment, the
本実施例は、レイヤ2スイッチ(Layer 2 Switch)技術をベースにした負荷分散装置であり、サーバ2−1〜2−nとネットワーク100との間の通信のMAC(Media Access Control)アドレスを変換し、サービスのために用意されたIP(Internet Protocol)アドレスに対して代理応答しながら負荷分散通信を実現している。
The present embodiment is a load balancer based on the
図2は本発明の一実施例によるレイヤ2負荷分散システムにおける通信操作を示す図であり、図3は本発明の一実施例によるレイヤ2負荷分散システムの動作を示すシーケンスチャートである。これら図1〜図3を参照して本発明の一実施例によるレイヤ2負荷分散システムの動作について説明する。
FIG. 2 is a diagram showing a communication operation in the
尚、以下の説明では、クライアント3とサーバ2との間の通信操作例について述べる。また、以下の説明では、クライアント3のIPアドレスを「IP4」、MACアドレスを「M4」とし、ネットワーク100のクライアント3側のMACアドレスを「M3a」、サーバ2側のMACアドレスを「M3b」とし、レイヤ2負荷分散装置1のIPアドレスを「IP1」、MACアドレスを「M1」とし、サーバ2のIPアドレスを「IP2」、MACアドレスを「M2」としている。
In the following description, an example of communication operation between the
クライアント3からネットワーク100に対して、ヘッダ情報としてMACdest(destination):Ma3,MACsrc(source):M4,IPdest:IP1,IPsrc:IP4が付加されたパケットが送られると[図2(ア)]、ネットワーク100はクライアント3からのパケットのヘッダ情報のうち、MACdest:M3aをMACdest:M1とし、MACsrc:M4をMACsrc:M3bとしてレイヤ2負荷分散装置1に送る[図2(イ)]。この場合、ヘッダ情報のIPdest:IP1,IPsrc:IP4は変更されない。
When a packet with MACdes (destination): Ma3, MACsrc (source): M4, IPdest: IP1, IPsrc: IP4 added as header information is sent from the
レイヤ2負荷分散装置1はネットワーク100からパケットのヘッダ情報のうち、MACdest:M1をMACdest:M2としてサーバ2に送る[図2(ウ)]。この場合、ヘッダ情報のMACsrc:M3b,IPdest:IP1,IPsrc:IP4は変更されない。
The
一方、サーバ2からレイヤ2負荷分散装置1に対して、ヘッダ情報としてMACdest:M3b,MACsrc:M2,IPdest:IP4,IPsrc:IP1が付加されたパケットが送られると[図2(エ)]、レイヤ2負荷分散装置1はサーバ2からのパケットのヘッダ情報のうち、MACscr:M2をMACscr:M1としてネットワーク100に送る[図2(オ)]。この場合、ヘッダ情報のMACdest:M3b,IPdest:IP4,IPsrc:IP1は変更されない。
On the other hand, when a packet with MACdest: M3b, MACsrc: M2, IPdest: IP4, IPsrc: IP1 added as header information is sent from the
ネットワーク100はレイヤ2負荷分散装置1からのパケットのヘッダ情報のうち、MACdest:M3bをMACdest:M4とし、MACsrc:M1をMACsrc:M3aとしてクライアント3に送る[図2(カ)]。この場合、ヘッダ情報のIPdest:IP4,IPsrc:IP1は変更されない。
Of the header information of the packet from the
つまり、ネットワーク100からサーバ2の方向へは、イーサネット(登録商標)プロトコルにおける宛先MACアドレス(MACdest)をレイヤ2負荷分散装置1固有のMACアドレスM1から、分散先のサーバ2のMACアドレスM2への変換を行い、サーバ2からネットワーク100の方向へは、上記と同様に、送信元MACアドレス(MACsrc)をサーバ2毎の固有のMACアドレスM2からレイヤ2負荷分散装置1固有のMACアドレスM1へと変換する。また、サービスのために用意されたIPアドレス(IP1)については、レイヤ2負荷分散装置1、各サーバ2がそれぞれ保持している。
That is, in the direction from the
次に、レイヤ2負荷分散装置1におけるサーバコンピュータ群(サーバ2−1〜2−n)のMACアドレスの自動学習について、図3を参照して説明する。
レイヤ2負荷分散装置1は、ネットワーク100側からのARP(Address Resolution Protocol)プロトコルによる問い合わせに対して(図3のa1)、レイヤ2負荷分散装置1のMACアドレスM1を用いて応答する(図3のa4)。
Next, automatic learning of the MAC address of the server computer group (servers 2-1 to 2-n) in the
The
反対に、レイヤ2負荷分散装置1は、サーバコンピュータ群に対してARPプロトコルを用いて各サーバ2固有のMACアドレスM2で問い合わせることで(図3のa2)、各サーバ2のMACアドレスM2を学習し(図3のa3)、かつ応答を分析して接続されているサーバ装置数を学習する。
Conversely, the
さらに、ネットワーク100中にあるIPアドレス(IP3b)をサーバ2が解決する場合(図3のa5)、ARP要求に対する応答がレイヤ2負荷分散装置1のMACアドレスM1宛に送信されるが(図3のa6)、レイヤ2負荷分散装置1はその応答を各サーバ2にコピー配送することで(図3のa7,a8)、応答をサーバ2に中継することができる。
Further, when the
これによって、本実施例では、ネットワーク100とサーバ2との間のレイヤ2通信を矛盾無く行うとともに、各サーバ2への分散処理を実現することができる。
Thus, in this embodiment,
このように、本実施例では、IPアドレスを変換せずに、またはIP層以上での中継をせずに、レイヤ2プロトコルであるイーサネット(登録商標)プロトコルのMACアドレスを変換し、レイヤ2の中継を行うことで、アプリケーションプロトコル動作に影響を与えず、サーバ2の負荷分散を実現している。
As described above, in this embodiment, the MAC address of the Ethernet (registered trademark) protocol, which is the
MACアドレス変換処理及びレイヤ2の中継処理は、IPアドレス変換処理及びIP層以上の中継処理に対して処理負荷が少ないため、レイヤ2負荷分散装置1の処理能力を従来よりも向上させることができる。
Since the MAC address translation process and the
また、レイヤ2負荷分散装置1の設定には、管理者が各サーバ2のIPアドレスを設定する等の煩雑な作業が必要であるが、レイヤ2負荷分散装置1が変換対象となるサーバ2のMACアドレス及び接続されたサーバ装置数を自動学習することで、レイヤ2負荷分散装置1の管理者が必要とする設定作業を軽減することができる。
In addition, the setting of the
図4は本発明の一実施例によるレイヤ2負荷分散装置1の詳細な構成を示すブロック図である。図4において、レイヤ2負荷分散装置1はレイヤ2インバンド処理部11と、レイヤ2アウトバンド処理部12と、ARP受信フィルタ部13と、ARP応答部14と、ARP発信部15と、IPアドレス保存部16と、サーバ送受信部17と、クライアント送受信部18と、装置管理機能19と、サーバMACアドレス一覧部20とから構成されている。サーバ送受信部17は個別サーバ送受信部171〜17nを備えている。
FIG. 4 is a block diagram showing a detailed configuration of the
レイヤ2インバウンド処理部11は、ネットワーク100から送信されたパケット情報を参照し、宛先MACアドレスとパケット種別とを確認する。レイヤ2インバウンド処理部11は、ARPパケットではなく、レイヤ2負荷分散装置1宛(MACアドレスM1)であれば、後述する負荷分散アルゴリズムに基づいて選択したサーバ2−1〜2−n固有のMACアドレス(M2−1〜M2−n)へ変換した後、関連するサーバ送受信部17へ転送する。レイヤ2インバウンド処理部11は、ARPパケットの場合または宛先MACアドレスがレイヤ2負荷分散装置1宛(MACアドレスM1)でなければ、ARP受信フィルタ部13へ転送する。
The
レイヤ2アウトバウンド処理部12では、各サーバ2−1〜2−nから送信されたパケットをサーバ送受信部17から受信し、パケットがARP応答であれば、ARP発信部15へ転送する。レイヤ2アウトバウンド処理部12は、パケットがARP応答以外であれば、送信元MACアドレスをレイヤ2負荷分散装置1固有のMACアドレスM1に変換し、パケットをクライアント送受信部18へ転送する。
The
ARP受信フィルタ部13では、レイヤ2インバウンド処理部11から転送されてきたパケットが、サービス固有のIPアドレス(IP1)を対象としたARP要求であれば、ARP応答部14に該当する応答を行うように指示する。上記に該当しない場合、パケットがARP応答であれば、サーバMACアドレス一覧部20に記録されている全サーバ2−1〜2−nについて、パケットのコピーを行い、その宛先MACアドレスを各サーバのMACアドレスにそれぞれに変換した上で、サーバ送受信部17に転送する。また、ARP受信フィルタ部13は、宛先MACアドレスがブロードキャストを現すフレームであれば、サーバ送受信部17に対してパケットを転送する。
If the packet transferred from the
ARP応答部14では、ARP受信フィルタ部13からの指示に基づいて、サービス固有のIPアドレスIP1がレイヤ2負荷分散装置1のMACアドレスM1である旨のARP応答を作成し、クライアント送受信部18に転送する。
ARP発信部15では、サーバ2−1〜2−nの接続情報を得るため、定期的に、例えば1分に1回、ARP要求を発信する。ARP要求はサービス固有のIPアドレスIP1についてのARPプロトコルの問い合わせをサーバ送受信部17に対して発信する。
Based on the instruction from the ARP
In order to obtain connection information of the servers 2-1 to 2-n, the
また、ARP発信部15は、レイヤ2アウトバウンド処理部12経由で受信したARP応答を受信し、IPアドレスIP1を所持しているサーバ群のMACアドレス(M2−1〜M2−n)を特定する。この時、応答を返すサーバは負荷分散対象となるサーバ(1〜複数のサーバ)であり、それぞれのサーバは固有のMACアドレス値を保持している。図2中ではそのMACアドレス値の代表をM2として記述したが、n台のサーバ2−1〜2−nが接続されている場合、MACアドレス値としてM2−1〜M2−nの応答がある。ARP発信部15はこの応答からM2−1〜M2−n及びその装置数nを求め、サーバMACアドレス一覧部20に記録する。
Further, the
サーバ送受信部17は、配下に個別サーバ送受信部171〜17nを持ち、サーバ2−1〜2−nのイーサネット(登録商標)回線の間でパケット情報の入出力処理を行う。各サーバ2−1〜2−nはサーバ自身の誤動作を防止するため、それぞれ別の個別サーバ送受信部171〜17nに接続することが望ましい。本要素の処理は一般的なレイヤ2スイッチ処理と類似の処理である。
The server transmission /
サーバ送受信部17は、ARP受信フィルタ部13、レイヤ2インバウンド処理部11、ARP発信部15から転送されたパケット情報について、宛先MACアドレスがブロードキャストであれば、配下の全ての個別サーバ送受信部171〜17nに対してコピーして転送する。宛先MACアドレスが特定のMACアドレスである場合、サーバ送受信部17は、個別サーバ送受信部171〜17nのうち、そのMACアドレスを学習しているものに対して転送を行う。サーバ送受信部17は、該当するものがなければパケット情報の破棄を行う。
If the destination MAC address is broadcast for the packet information transferred from the ARP
イーサネット(登録商標)回線からのパケット受信時、サーバ送受信部17は、各サーバ2−1〜2−nからのパケット情報を個別サーバ送受信部171〜17nで受信する。その時、サーバ送受信部17は、送信元MACアドレス(M2−1〜M2−n)を各個別サーバ送受信部171〜17nで記録することで、いずれのサーバが接続されているかを学習する。また、個別サーバ送受信部171〜17nは、一般に、複数個のサーバ2−1〜2−nのMACアドレスについて学習可能である。受信したパケット情報はレイヤ2アウトバンド処理部12に転送する。
When receiving a packet from the Ethernet (registered trademark) line, the server transmission /
クライアント送受信部18では、レイヤ2アウトバウンド処理部ヌフまたはARP応答部14から転送されたパケット情報をネットワーク100に接続されたイーサネット(登録商標)回線に出力する。また、クライアント送受信部18は、そのイーサネット(登録商標)回線から入力されたパケット情報をレイヤ2インバウンド処理部11に転送する。
The client transmitting / receiving
IPアドレス保存部16は、サービス固有のIPアドレス(図2のIP1)を保有し、この情報をARP受信フィルタ部13、ARP応答部14、ARP発信部15に提供する。その情報は装置管理機能19によって設定される。
The IP
サーバMACアドレス一覧部20は、ARP発信部15から記録されたサーバMACアドレスの一覧情報とサーバ装置数nの情報とを持つ。この情報はレイヤ2インバウンド処理11、ARP受信フィルタ部13によって参照される。一覧情報は整列され、1〜nの位置を指定することによって任意のサーバMACアドレスを得ることができる。
The server MAC
装置管理機能19は、一般的なネットワーク機器の装置管理機能に相当するものであり、管理者がシリアル端末等を使用して操作を行う。この装置管理機能19によって、IPアドレス保存部16に対して、サービス固有のIPアドレス(図2のIP1)を設定する。
The
図5は図4のレイヤ2負荷分散装置の動作を示す図である。この図5を参照して本発明の一実施例によるレイヤ2負荷分散装置1の動作について説明する。レイヤ2負荷分散装置1の主要な挙動は、サーバ2−1〜2−nの検出動作、ネットワーク100へのARP代理応答動作、サーバ2−1〜2−nからのARP代理要求動作、レイヤ2インバウンド負荷分散動作、レイヤ2アウトバウンド動作の5つの動作からなる。これらは並列して動作してもかまわない。
FIG. 5 is a diagram showing the operation of the
サーバ検出動作は、ARP発信部15の定期的なARP要求発信動作によって開始される。ARP発信部15は一定周期(例えば、1分周期)毎に、サービス固有のIPアドレス(図2のIP1)についてのARP要求をサーバ送受信部17に転送する(図5のb1)。ARP要求はブロードキャストフレームであるため、個別サーバ送受信部171〜17nに接続されている全サーバ2−1〜2−nに対して送信される。全サーバ2−1〜2−nには予めIPアドレスIP1を登録しておく。
The server detection operation is started by a periodic ARP request transmission operation of the
ARP要求を受信したサーバ2−1〜2−nは、サーバ固有のMACアドレス情報(M2−1〜M2−n)とともに、ARP応答を返す。これはサーバ送受信部17によってパケット情報としてレイヤ2アウトバウンド処理部12に転送される(図5のb2)。レイヤ2アウトバウンド処理部12は、パケット情報がARP応答であるため、そのパケットをARP発信部15に転送する(図5のb3)。
The servers 2-1 to 2-n that have received the ARP request return an ARP response together with server-specific MAC address information (M2-1 to M2-n). This is transferred to the
ARP発信部15は先のARP要求に対する応答であることを判断し、得られたサーバ2−1〜2−nのMACアドレス(M2−1〜M2−n)の一覧を作成する。ARP発信部15はARP要求発行後、一定期間(例えば、5秒)待ち合わせ、その時間に応答してきたサーバ2−1〜2−nのMACアドレス一覧とその装置数とをサーバMACアドレス一覧部20に記録する(図5のb4)。
The
ネットワーク100へのARP代理応答動作は、ネットワーク100からサービス固有のIPアドレスIP1に対するARP要求のパケットがクライアント送受信部18に到着することを契機に開始される。クライアント送受信部18はネットワーク100から到着したパケット情報をレイヤ2インバウンド処理部11に転送する。レイヤ2インバウンド処理部11では、パケット情報中の宛先MACアドレスを参照する。
The ARP proxy response operation to the
レイヤ2インバウンド処理部11は、ARP要求パケットの宛先MACアドレスがブロードキャストであるため、パケットをARP受信フィルタ部13に転送する(図5のb7)。ARPフィルタ部13では、そのパケットがサービス固有のIPアドレスIP1に対応するものであるか否かを判断し、サービス固有のIPアドレスIP1に対応するものであれば、ARP応答を返すようにARP応答部14に指示を出す(図5のb8)。
Since the destination MAC address of the ARP request packet is broadcast, the
ARP応答部14はARPフィルタ部13からの指示を受け、IPアドレス保存部16の情報と、レイヤ2負荷分散装置1のMACアドレスM1とからARP応答を作成し、宛先をネットワーク100とした上でクライアント送受信部18に転送する(図5のb9)。クライアント送受信部18は、ARP応答のパケット情報をネットワーク100とつながったイーサネット(登録商標)回線に出力する。これによって、ネットワーク100からの一連のARP要求処理を行い、IPアドレスIP1をMACアドレスM1として解決することができる。
Upon receiving an instruction from the
サーバ2−1〜2−nからのARP代理要求処理は、サーバ2−1〜2−nのうちの任意の1台から、ネットワーク100中にいるレイヤ3の通信相手、例えばルータ装置(図示せず)が保持するIPアドレスに対応した装置のMACアドレス(例えば、図2のM3b)を決定するためのARP要求パケットが個別サーバ送受信部171〜17nによって受信されたことを契機に起動する。
The ARP proxy request processing from the servers 2-1 to 2-n is performed from any one of the servers 2-1 to 2-n to a communication partner of
個別サーバ送受信部171〜17nはイーサネット(登録商標)回線からパケットを受信すると、そのパケットの送信元MACアドレスを学習する。また、個別サーバ送受信部171〜17nはそのパケット情報をサーバ送受信部17を経由して、レイヤ2アウトバンド処理部12へ転送する(図5のb2)。ここで、レイヤ2アウトバウンド処理部12はパケットがARP応答ではないため、送信元MACアドレスをレイヤ2負荷分散装置1のMACアドレスM1に変換し、クライアント送受信部18へ転送する(図5のb11)。
When the individual server transmission /
クライアント送受信部18はこのパケット情報をネットワーク100に接続されたイーサネット(登録商標)回線に出力する。このARP要求パケットは、ネットワーク100中に存在する該当IPアドレスを保有するルータ装置等によって処理され、ARP応答パケットがレイヤ2負荷分散装置1に対して送信されてくる。この時の宛先はレイヤ2負荷分散装置1のMACアドレスM1である。
The client transmission /
このパケット情報はクライアント送受信部18によって受信され、レイヤ2インバウンド処理部11に転送される(図5のb6)。レイヤ2インバウンド処理部11ではARP応答パケットであるため、そのパケットをARP受信フィルタ部13に転送する(図5のb7)。
This packet information is received by the client transmitting / receiving
ARP受信フィルタ13では、パケット情報がARP応答パケットであるため、サーバMACアドレス一覧部20の情報を参照し、全サーバ2−1〜2−nのMACアドレスについて、パケット情報のコピーを行い、宛先MACアドレスをそれぞれのサーバ2−1〜2−nのMACアドレスに変換してサーバ送受信部17に転送する(図5のb12)。
In the
サーバ送受信部17は各パケットの宛先MACアドレスにしたがって、そのMACアドレスを学習している個別サーバ送受信部171〜17nにパケット情報を転送する。そのパケット情報は、イーサネット(登録商標)回線を通じてサーバ2−1〜2−nにARP応答として転送され、目的のMACアドレスM3bを決定することができる。
The server transmission /
レイヤ2インバウンド負荷分散動作は、ネットワーク100からARP以外のパケットがレイヤ2負荷分散装置1に送信されてきた場合に開始される。パケット情報はイーサネット(登録商標)回線からクライアント送受信部17によって受信され、レイヤ2インバウンド処理部11に転送される(図5のb6)。
The
レイヤ2インバウンド処理部11ではパケット情報がARPではないこと、ブロードキャストではないことを確認した後、後述する負荷分散アルゴリズムに基づいてサーバMACアドレス一覧部20の記録から、サーバ2−1〜2−nのうちのある1台のMACアドレスM2(これは、M2−1〜M2−nのうちの任意の一つ)を選択する。
After the
レイヤ2インバウンド処理部11は、パケット情報の宛先MACアドレスをMACアドレスM2に変換した後、サーバ送受信部17へ転送する。その後、サーバ送受信部17は、上述した方式によって、1台のサーバ2−1〜2−nにパケットを送信する。受信したサーバ2−1〜2−nはそのパケット情報を基にサービスを提供する。
The
負荷分散アルゴリズムについては、一般に、サーバ2−1〜2−nの負荷分散技術として用いられている様々なサーバ選択方式を本発明に適用することが可能である。例えば、負荷分散アルゴリズムでは、パケット情報中のIPソースアドレスを参照し、このアドレス値とサーバMACアドレス一覧部20が保持しているサーバ装置数の剰余iを求め、サーバMACアドレス一覧部20からi番目のMACアドレスを選択する方式があげられる。
As for the load distribution algorithm, various server selection methods generally used as load distribution techniques of the servers 2-1 to 2-n can be applied to the present invention. For example, in the load distribution algorithm, the IP source address in the packet information is referred to, and the address value and the remainder i of the number of server devices held by the server MAC
レイヤ2アウトバウンド動作では、サーバ2−1〜2−nのうちの任意の1台から、ARP応答以外のパケット情報が個別サーバ送受信部171〜17nによって受信されたことを契機に開始される。個別サーバ送受信部171〜17nは、受信したパケット情報をサーバ送受信部17を経由して、レイヤ2アウトバウンド処理部12に転送する(図5のb2)。
In the
レイヤ2アウトバウンド処理部12では、パケット情報がARP応答以外であることを確認した後、そのパケット情報をクライアント送受信部18に転送する(図5のb11)。クライアント送受信部18はパケット情報をネットワーク100に接続されたイーサネット(登録商標)回線に出力する。パケット情報はネットワーク100中のルータ装置をはじめとした種々のネットワーク装置を経由して目的のクライアント3−1〜3−nに転送される。
After confirming that the packet information is other than the ARP response, the
このように、本実施例では、パケットを分散転送するために宛先IPアドレスを変換せず、宛先MACアドレスを変換することで、IPプロトコル上で動作しているアプリケーションの動作に一切影響を与えないことである。 As described above, in this embodiment, the destination IP address is not converted to distribute and transfer the packet, and the destination MAC address is converted, so that the operation of the application operating on the IP protocol is not affected at all. That is.
また、本実施例では、MACアドレス変換処理がIPアドレス変換処理よりも処理負荷が少ないため、レイヤ2負荷分散装置1の処理能力を向上させ、画像配信サービス等のサーバ2−1〜2−nからの配信データ量が多いサービスに適用した場合に、より高い転送帯域を確保することができる。
In this embodiment, since the MAC address conversion process has a smaller processing load than the IP address conversion process, the processing capability of the
さらに、本実施例では、分散対象のサーバ2−1〜2−nのMACアドレス(M2−1〜M2−n)を自動的に学習するため、レイヤ2負荷分散装置1の管理者の設定作業を軽減することができる。
Furthermore, in this embodiment, the setting work of the administrator of the
さらにまた、本実施例では、分散対象のサーバ2−1〜2−nのサービスを提供するIPアドレス(IP1)を全て同じにすることができるため、サーバ2−1〜2−n間での設定作業を共通化することができ、これによってサーバ2−1〜2−nの管理者の設定作業を軽減することができる。 Furthermore, in this embodiment, since the IP addresses (IP1) for providing the services of the servers 2-1 to 2-n to be distributed can all be the same, Setting work can be made common, thereby reducing the setting work of the administrators of the servers 2-1 to 2-n.
図6は本発明の他の実施例によるレイヤ2負荷分散装置の構成を示すブロック図である。図6において、レイヤ2負荷分散装置4はサーバ送受信部17と、クライアント送受信部18と、サーバMACアドレス一覧部20と、拡張レイヤ2インバンド処理部41とから構成されている。サーバ送受信部17は個別サーバ送受信部171〜17nを備え、拡張レイヤ2インバンド処理部41は基本レイヤ2インバンド処理部42と、IPフロー識別部43と、分散判断部44と、フロー記録部45とを備えている。
FIG. 6 is a block diagram showing a configuration of a
本実施例では、その基本的構成は上記の本発明の一実施例と同様であるが、レイヤ2インバウンド処理についてさらに工夫している。本発明の他の実施例によるレイヤ2インバウンド処理以外の処理は、基本的構成と変わらないため、図4との差異のある動作以外の部分は記述を省略してある。
In this embodiment, the basic configuration is the same as that of the above-described embodiment of the present invention, but the
本発明の一実施例では、IPソースアドレス値に対する装置数の剰余で分散先のサーバ2−1〜2−nを決定していたため、レイヤ2負荷分散装置1に接続するサーバ2−1〜2−nの装置数の増減にしたがって、転送先のサーバが変動するが、この動作が問題となるアプリケーションも存在する。本実施例では、拡張レイヤ2インバウンド処理部41において、フロー識別機能を持つことで、基本的構成におけるサーバ2−1〜2−nの装置数の増減に伴う転送先のサーバの変更動作を抑止する。
In one embodiment of the present invention, the distribution destination servers 2-1 to 2-n are determined based on the remainder of the number of devices with respect to the IP source address value, and thus the servers 2-1 to 2-2 connected to the
基本レイヤ2インバウンド処理部42の処理はレイヤ2インバウンド処理部11のレイヤ2インバウンド動作における負荷分散の転送先サーバ決定方式に変更を加えたものであり、他の動作はレイヤ2インバウンド処理部11とほぼ同様であるので、その説明については省略する。
The processing of the
まず、負荷分散動作のため、転送先サーバを決定する時には、IPフロー識別部43に対してパケット情報を転送する。IPフロー識別部43はIPソースアドレス、デスティネーションアドレス情報を参照し、該当のアドレスの組み合わせがフロー記録部45に記録されているかどうかを確認する[判断(1)]。
First, for load balancing operation, packet information is transferred to the IP
IPフロー識別部43は該当のアドレスの組み合わせがフロー記録部45に記憶されている場合、同時にフロー記録部45に保存されている転送先MACアドレスについて、保存してあるサーバのMACアドレス一覧情報に該当するものがあるかどうかを確認する[判断(2)]。
When the combination of the corresponding addresses is stored in the
さらに、MACアドレス一覧情報に該当するものがある場合、基本レイヤ2インバウンド処理部42は、上記のレイヤ2インバウンド処理部11と同様に、該当MACアドレスに宛先MACアドレスを変換してサーバ送受信部17に転送する。
Further, when there is a corresponding MAC address list information, the
上記の[判断(1)]においてフロー記録部45に該当アドレスの組み合わせがない場合、または[判断(2)]において、該当MACアドレスがサーバのMACアドレス一覧情報にない場合、IPフロー識別部43はパケット情報を分散判断部44に転送する。
If there is no corresponding address combination in the
分散判断部44では、基本的構成のレイヤ2インバウンド処理部11と同様に、IPソースアドレス値に対するサーバの装置数の剰余から分散先サーバのMACアドレスを決定し、そのアドレス情報を添えてパケット情報をIPフロー識別部43に転送する。IPフロー識別部43では、そのフロー情報と転送先MACアドレス情報とをフロー記録部45に保存し、さらにその情報を基本レイヤ2インバウンド処理部42に転送する。これ以降、上記と同様に、サーバ送受信部17に転送する。
Similar to the
もし、フロー記録部45の容量が上限に達した時には、フロー記録部45内の不要なフロー情報を破棄する。その際に使用する破棄アルゴリズムは、メモリ管理等で用いられる一般的なエージングアルゴリズムを用いることができる。
If the capacity of the
1,4 レイヤ2負荷分散装置
2−1〜2−n サーバ
3−1〜3−m クライアント
11 レイヤ2インバンド処理部
12 レイヤ2アウトバンド処理部
13 ARP受信フィルタ部
14 ARP応答部
15 ARP発信部
16 IPアドレス保存部
17 サーバ送受信部
18 クライアント送受信部
19 装置管理機能
20 サーバMACアドレス一覧部
41 拡張レイヤ2インバンド処理部
42 基本レイヤ2インバンド処理部
43 IPフロー識別部
44 分散判断部
100 ネットワーク
171〜17n 個別サーバ送受信部
1, 4
11
12
13 ARP reception filter section
14 ARP response section
15 ARP transmitter
16 IP address storage
17 Server transceiver
18 Client transceiver
19 Device management function
20 Server MAC address list section
41
42
43 IP flow identification part
44 Dispersion judgment unit
100
Claims (18)
前記レイヤ2負荷分散装置は、前記サーバ装置と前記ネットワークとの間の通信のMAC(Media Access Control)アドレスを変換する手段と、前記サービスのために用意されたIP(Internet Protocol)アドレスに対して代理応答しながら負荷分散通信を実現する手段と、前記サーバコンピュータ群のMACアドレスを学習する手段とを有することを特徴とするレイヤ2負荷分散システム。 A client computer group composed of a plurality of client devices, a server computer group composed of a plurality of server devices that provide services to the client computer group connected via a network, and service processing of the server computer group A layer 2 load balancing system including a layer 2 load balancing device for load balancing,
The layer 2 load balancer converts a MAC (Media Access Control) address for communication between the server device and the network, and an IP (Internet Protocol) address prepared for the service. A layer 2 load distribution system comprising means for realizing load distribution communication while performing proxy response, and means for learning a MAC address of the server computer group.
前記サーバ装置と前記ネットワークとの間の通信のMAC(Media Access Control)アドレスを変換する手段と、前記サービスのために用意されたIP(Internet Protocol)アドレスに対して代理応答しながら負荷分散通信を実現する手段と、前記サーバコンピュータ群のMACアドレスを学習する手段とを有することを特徴とするレイヤ2負荷分散装置。 Layer 2 load that distributes service processing load of a server computer group that is connected to a client computer group composed of a plurality of client devices via a network and that provides services to the client computer group A dispersing device,
Means for converting a MAC (Media Access Control) address for communication between the server device and the network, and load balancing communication while performing proxy response to an IP (Internet Protocol) address prepared for the service A layer 2 load balancer comprising means for realizing and means for learning a MAC address of the server computer group.
前記レイヤ2負荷分散装置が、前記サーバ装置と前記ネットワークとの間の通信のMAC(Media Access Control)アドレスを変換する処理と、前記サービスのために用意されたIP(Internet Protocol)アドレスに対して代理応答しながら負荷分散通信を実現する処理と、前記サーバコンピュータ群のMACアドレスを学習する処理とを実行することを特徴とするレイヤ2負荷分散方法。 A client computer group composed of a plurality of client devices, a server computer group composed of a plurality of server devices that provide services to the client computer group connected via a network, and service processing of the server computer group A layer 2 load balancing method used in a system including a layer 2 load balancing device that performs load balancing,
The layer 2 load balancer converts a MAC (Media Access Control) address for communication between the server device and the network, and an IP (Internet Protocol) address prepared for the service. A layer 2 load distribution method, comprising: executing a process for realizing load distribution communication while performing a proxy response; and a process for learning a MAC address of the server computer group.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006232914A JP2008060747A (en) | 2006-08-30 | 2006-08-30 | Layer 2 load balancing system, layer 2 load balancer, and layer 2 load balancing method for the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006232914A JP2008060747A (en) | 2006-08-30 | 2006-08-30 | Layer 2 load balancing system, layer 2 load balancer, and layer 2 load balancing method for the same |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008060747A true JP2008060747A (en) | 2008-03-13 |
Family
ID=39243026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006232914A Pending JP2008060747A (en) | 2006-08-30 | 2006-08-30 | Layer 2 load balancing system, layer 2 load balancer, and layer 2 load balancing method for the same |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008060747A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009253578A (en) * | 2008-04-04 | 2009-10-29 | Nec Corp | Network load distribution device, network load distribution method, and program |
JP2012044403A (en) * | 2010-08-18 | 2012-03-01 | Nippon Telegr & Teleph Corp <Ntt> | Service allocation method and service allocation device |
WO2012133290A1 (en) | 2011-03-31 | 2012-10-04 | 日本電気株式会社 | Computer system, and communication method |
WO2013141340A1 (en) | 2012-03-23 | 2013-09-26 | 日本電気株式会社 | Control device, communication device, communication system, communication method, and program |
-
2006
- 2006-08-30 JP JP2006232914A patent/JP2008060747A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JP2012044403A (en) * | 2010-08-18 | 2012-03-01 | Nippon Telegr & Teleph Corp <Ntt> | Service allocation method and service allocation device |
WO2012133290A1 (en) | 2011-03-31 | 2012-10-04 | 日本電気株式会社 | Computer system, and communication method |
WO2013141340A1 (en) | 2012-03-23 | 2013-09-26 | 日本電気株式会社 | Control device, communication device, communication system, communication method, and program |
US9590905B2 (en) | 2012-03-23 | 2017-03-07 | Nec Corporation | Control apparatus and a communication method, apparatus, and system to perform path control of a network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4664143B2 (en) | Packet transfer apparatus, communication network, and packet transfer method | |
JP3898498B2 (en) | Server load balancing system | |
US20070233844A1 (en) | Relay device and communication system | |
JP2007531166A (en) | Method and system for providing WEB browsing through a firewall in a peer-to-peer network | |
US20190215308A1 (en) | Selectively securing a premises network | |
US8045566B2 (en) | Automated router load balancing | |
JP2007096826A (en) | Information processing system, tunnel communication apparatus, and tunnel communication method | |
EP2815564A1 (en) | Load balancing using dns in a ipv4/ipv6 environment | |
JP2007096827A (en) | Information processing system, tunnel communication apparatus, tunnel communication method, proxy response apparatus, and proxy response method | |
US20090043889A1 (en) | Communication system, data processing apparatus, server, data processing method, program that executes the data processing method, and recording medium to record the program | |
US11621917B2 (en) | Transparent multiplexing of IP endpoints | |
US9697173B2 (en) | DNS proxy service for multi-core platforms | |
US20220166715A1 (en) | Communication system and communication method | |
US20100332631A1 (en) | Communication apparatus, address setting method, and address setting program | |
US11595304B2 (en) | Communication device, communication control system, communication control method, and communication control program | |
JP2008060747A (en) | Layer 2 load balancing system, layer 2 load balancer, and layer 2 load balancing method for the same | |
US20080310319A1 (en) | Server, network system, and network connection method used for the same | |
US20130254425A1 (en) | Dns forwarder for multi-core platforms | |
JP2010226665A (en) | Load distribution system, apparatus and method | |
US20110235641A1 (en) | Communication apparatus, method of controlling the communication apparatus,and program | |
JP2008010934A (en) | Gateway apparatus, communication control method, program, and storage medium with the program stored | |
CN116436731B (en) | Multi-internal network two-layer data stream communication method | |
JP2011239082A (en) | Communication apparatus and address conversion method | |
JP5987832B2 (en) | Agent device and communication relay method | |
US11855898B1 (en) | Methods for traffic dependent direct memory access optimization and devices thereof |