(57)【要約】      （修正有）【課題】クライアントから受信する要求パケットに含まれるポート番号と、クライアントへ送信する応答パケットに含まれるポート番号との同一性を保つことが可能な負荷分散システムを提供する。【解決手段】複数のサーバと、複数のサーバのうちから転送先サーバを選択して、クライアントから受信する要求パケットのヘッダ情報を転送先サーバを示すヘッダ情報へ書き換えた転送要求パケットを生成して転送先サーバへ送信する負荷分散部と、転送先サーバから応答パケットをクライアント端末へ転送する中継変換部と、を具備する。【選択図】図２
2010226665.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバと、
前記複数のサーバのうちから転送先サーバを選択して、クライアントから受信する要求パケットのヘッダ情報を前記転送先サーバを示すヘッダ情報へ書き換えた転送要求パケットを生成して、前記転送要求パケットを前記転送先サーバへ送信する前記負荷分散部と、
前記転送先サーバから応答パケットを前記クライアント端末へ転送する中継変換部と、
を備え、
前記負荷分散部は、前記転送要求パケットのヘッダ情報を第一アドレステーブルへ記憶し、
前記中継変換部は、
前記第一アドレステーブルから前記転送要求パケットのヘッダ情報を取得して、第二アドレステーブルへ記録する同期部と、
前記応答パケットを受信すると、前記応答パケットのヘッダ情報が、前記第二アドレステーブルに記録されたヘッダ情報と一致するか否かを判定するパケット検査部と、
一致する場合、前記応答パケットのヘッダ情報を、予め定められたヘッダ情報へ書き換えて変換後応答パケット生成して、前記変換後応答パケットを前記クライアントへ送信する変換部と、
を具備する負荷分散システム。
【請求項２】
請求項１に記載の負荷分散システムであって、
前記ヘッダ情報は、宛先ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスと、宛先ポート番号と、送信元ＩＰアドレスと、送信元ポート番号とを含み、
前記パケット検査部は、前記応答パケットのヘッダ情報における送信元ＩＰアドレス情報、及び送信元ポート番号が、前記転送要求パケットの宛先ＩＰアドレスと、宛先ポート番号と一致するか否かを判定する
負荷分散システム。
【請求項３】
請求項２に記載の負荷分散システムであって、
前記同期部は、前記第一アドレステーブルに記録された宛先ＩＰアドレス、及び宛先ポート番号を送信元ＩＰアドレス、及び送信元ポート番号として前記第二アドレステーブルへ記録して、前記第一アドレステーブルに記録された送信元ＩＰアドレス、及び送信元ポート番号を宛先ＩＰアドレス、及び宛先ポート番号として前記第二アドレステーブルへ記録し、
前記パケット検査部は、前記応答パケットのヘッダ情報における送信元ＩＰアドレス情報、及び送信元ポート番号が、前記第二アドレステーブルに記録された送信元ＩＰアドレスと、送信元ポート番号と一致するか否かを判定する
負荷分散システム。
【請求項４】
請求項２または請求項３に記載の負荷分散システムであって、
前記負荷分散部は、前記転送要求パケットの宛先ポート番号に任意のポート番号を設定する
負荷分散システム。
【請求項５】
請求項２または請求項３に記載の負荷分散システムであって、
前記複数のサーバの各々は、唯一の指定ポート番号を割り当てられており、
前記負荷分散部は、前記転送要求パケットの宛先ポート番号に、前記転送先サーバの前記指定ポート番号を設定する
負荷分散システム。
【請求項６】
請求項１から請求項５までのいずれかに記載の負荷分散システムであって、
前記複数のサーバは、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバである、
負荷分散システム。
【請求項７】
請求項６に記載の負荷分散システムであって、
前記変換部は、前記変換後応答パケットの送信元ポート番号をＤＨＣＰサーバを示すポート番号を設定する
負荷分散システム。
【請求項８】
請求項１から請求項７までのいずれかに記載の負荷分散システムで使用される負荷分散部と中継変換部とを備える負荷分散装置。
【請求項９】
複数のサーバと、
前記複数のサーバのうちから転送先サーバを選択して、クライアントから受信する要求パケットのヘッダ情報を前記転送先サーバを示すヘッダ情報へ書き換えた転送要求パケットを生成して、前記転送要求パケットを前記転送先サーバへ送信する前記負荷分散部と、
前記転送先サーバから応答パケットを前記クライアント端末へ転送する中継変換部と、
を備える負荷分散システムにおいて、
前記転送要求パケットのヘッダ情報を第一アドレステーブルへ記憶するステップと、
前記第一アドレステーブルから前記転送要求パケットのヘッダ情報を取得して、第二アドレステーブルへ記録するステップと、
前記応答パケットを受信すると、前記応答パケットのヘッダ情報が、前記第二アドレステーブルに記録されたヘッダ情報と一致するか否かを判定するステップと、
一致する場合、前記応答パケットのヘッダ情報を、予め定められたヘッダ情報へ書き換えて変換後応答パケット生成して、前記変換後応答パケットを前記クライアントへ送信するステップと、
を具備する負荷分散方法。
【請求項１０】
請求項９に記載の負荷分散方法であって、
前記ヘッダ情報は、宛先ＩＰアドレスと、宛先ポート番号と、送信元ＩＰアドレスと、送信元ポート番号とを含み、
前記ヘッダ情報と一致するか否かを判定するステップは、
前記応答パケットのヘッダ情報における送信元ＩＰアドレス情報、及び送信元ポート番号が、前記転送要求パケットの宛先ＩＰアドレスと、宛先ポート番号と一致するか否かを判定するステップ
を含む負荷分散方法。
【請求項１１】
請求項１０に記載の負荷分散方法であって、
前記第二アドレステーブルへ記録するステップは、
前記第一アドレステーブルに記録された宛先ＩＰアドレス、及び宛先ポート番号を送信元ＩＰアドレス、及び送信元ポート番号として前記第二アドレステーブルへ記録して、前記第一アドレステーブルに記録された送信元ＩＰアドレス、及び送信元ポート番号を宛先ＩＰアドレス、及び宛先ポート番号として前記第二アドレステーブルへ記録するステップ
を含み、
前記ヘッダ情報と一致するか否かを判定するステップは、
前記応答パケットのヘッダ情報における送信元ＩＰアドレス情報、及び送信元ポート番号が、前記第二アドレステーブルに記録された送信元ＩＰアドレスと、送信元ポート番号と一致するか否かを判定するステップ
を含む負荷分散方法。
【請求項１２】
請求項１０または請求項１１に記載の負荷分散方法であって、
前記転送要求パケットの宛先ポート番号に任意のポート番号を設定するステップ
をさらに備える負荷分散方法。
【請求項１３】
請求項１０または請求項１１に記載の負荷分散方法であって、
前記複数のサーバの各々は、唯一の指定ポート番号を割り当てられており、
前記転送要求パケットの宛先ポート番号に、前記転送先サーバの前記指定ポート番号を設定するステップ
をさらに備える負荷分散方法。
【請求項１４】
請求項９から請求項１３までのいずれかに記載の負荷分散方法であって、
前記複数のサーバは、ＤＨＣＰサーバである、
負荷分散方法。
【請求項１５】
請求項１４に記載の負荷分散方法であって、
前記クライアントへ送信するステップは、
前記変換後応答パケットの送信元ポート番号をＤＨＣＰサーバを示すポート番号を設定するステップ
を含む負荷分散方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷分散システムに関する。
【背景技術】
【０００２】
負荷分散装置（ロードバランサ）は、同一の機能を有した複数のサーバを備えるサーバシステムにおいて、複数のサーバの各々に対するトラヒックを分散して、各サーバの負荷分散を図る装置である。
【０００３】
例えば、複数のＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバとロードバランサとを備えるサーバシステムを考える。クライアントは、まず、ロードバランサへ要求パケットを送信する。ロードバランサは、要求パケットを受信すると、複数のＤＨＣＰサーバのうちから所定の処理に基づいて１つのＤＨＣＰサーバを選択して、要求パケットを転送する。選択されたＤＨＣＰサーバは、所定の処理を行って応答パケットを生成し、ロードバランサへ送信する。ロードバランサは、応答パケットを入力すると、クライアントへ応答パケットを転送する。このように、ロードバランサは、クライアントからの要求を複数のＤＨＣＰサーバへ分散させることによって、各ＤＨＣＰサーバにおける処理負荷を軽減している。
【０００４】
ここで、ロードバランサは、クライアントからの要求パケットを選択したＤＨＣＰサーバへ転送するときに、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｉｏｎ）機能により、要求パケットの宛先ＩＰ(Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ)アドレスと宛先ポート番号を、動的に割り当てる。しかし、ロードバランサは、ＤＨＣＰサーバからの応答パケットに対する送信元ポート番号の変換を行わない。そのため、クライアントは、応答パケットを受信したときに、要求パケットの宛先ポート番号と応答パケットの送信元ポート番号とが一致しないという状態が発生する。クライアントは、受信した応答パケットがＤＨＣＰサーバからのパケットであることを認識できず、応答パケットを不正なパケットとみなして受信を拒否してしまうという課題がある。ＩＰアドレスやポート番号の変換を行う関連技術として、以下のような技術が開示されている。
【０００５】
特許文献１は、構内ネットワーク上のサーバへポート割当要求に対してグローバルポート番号を動的に取得して割り当てるアドレス変換装置を開示している。特許文献１のアドレス変換装置は、第１のネットワークと第２のネットワークとを接続するアドレス変換装置であって、トランスポート層より高位のプロトコルにおいて交換される第２のネットワークの第２のポート番号を第１のネットワークの第１ポート番号に差し替えることを特徴とする。特許文献１のアドレス変換装置によれば、構内ネットワーク上のサーバへのポート割当要求に対してグローバルポート番号を動的に取得して割り当てるという効果が得られる。
【０００６】
特許文献２は、アドレス変換情報がどこにあるのかわからぬようにしながら、異なる複数のＩＰパケット網間で相互に送受信されるＩＰパケットのＩＰアドレス変換を行うことができるパケット中継装置を開示している。特許文献２のパケット中継装置は、ＩＰアドレスを持たず、他から見るとパケット中継装置の存在は隠蔽されている。パケット中継装置は、他から存在を隠蔽しつつ、ＩＰパケット網間を接続し、所定条件に基づきＩＰアドレス変換を行うためのＩＰアドレス変換条件リストを持ち、自パケット中継装置を通過するパケットのうち所定条件を満たすＩＰパケットまたはＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）パケットの双方について、所定条件に従い、ＩＰアドレス変換を行い、所定条件の出力先であるＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）またはＶＣ（Ｖｉｒｔｕａｌ  Ｃｏｎｅｃｔｉｏｎ）などに出力するものである。特許文献２のパケット中継装置によれば、アドレス変換情報がどこにあるかをわからぬようにしながら、異なる複数のＩＰパケット網間で相互に送受信されるＩＰパケットのＩＰアドレス変換を行うことができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−０７２２９１号公報
【特許文献２】特開２００７−２５１３７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、クライアントから受信する要求パケットに含まれるポート番号と、クライアントへ送信する応答パケットに含まれるポート番号との同一性を保つことが可能な負荷分散システムを提供することである。
【課題を解決するための手段】
【０００９】
本発明の負荷分散システムは、複数のサーバと、複数のサーバのうちから転送先サーバを選択して、クライアントから受信する要求パケットのヘッダ情報を転送先サーバを示すヘッダ情報へ書き換えた転送要求パケットを生成して、転送要求パケットを転送先サーバへ送信する負荷分散部と、転送先サーバから応答パケットをクライアント端末へ転送する中継変換部と、を備え、負荷分散部は、転送要求パケットのヘッダ情報を第一アドレステーブルへ記憶し、中継変換部は、第一アドレステーブルから転送要求パケットのヘッダ情報を取得して、第二アドレステーブルへ記録する同期部と、応答パケットを受信すると、応答パケットのヘッダ情報が、第二アドレステーブルに記録されたヘッダ情報と一致するか否かを判定するパケット検査部と、一致する場合、応答パケットのヘッダ情報を、予め定められたヘッダ情報へ書き換えて変換後応答パケット生成して、変換後応答パケットをクライアントへ送信する変換部と、を具備する。
【００１０】
本発明の負荷分散装置は、上述の負荷分散システムで使用される負荷分散部と中継変換部とを備える。
【００１１】
本発明の負荷分散方法は、複数のサーバと、複数のサーバのうちから転送先サーバを選択して、クライアントから受信する要求パケットのヘッダ情報を転送先サーバを示すヘッダ情報へ書き換えた転送要求パケットを生成して、転送要求パケットを転送先サーバへ送信する負荷分散部と、転送先サーバから応答パケットをクライアント端末へ転送する中継変換部と、を備える負荷分散システムにおいて、転送要求パケットのヘッダ情報を第一アドレステーブルへ記憶するステップと、第一アドレステーブルから転送要求パケットのヘッダ情報を取得して、第二アドレステーブルへ記録するステップと、応答パケットを受信すると、応答パケットのヘッダ情報が、第二アドレステーブルに記録されたヘッダ情報と一致するか否かを判定するステップと、一致する場合、応答パケットのヘッダ情報を、予め定められたヘッダ情報へ書き換えて変換後応答パケット生成して、変換後応答パケットをクライアントへ送信するステップと、を具備する。
【発明の効果】
【００１２】
本発明によれば、クライアントから受信する要求パケットに含まれるポート番号と、クライアントへ送信する応答パケットに含まれるポート番号との同一性を保つことが可能な負荷分散システムを提供することができる。そのため、クライアントが受信した応答パケットを不正なパケットとみなして受信を拒否することを防ぐことができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態における負荷分散システムの構成を示す図である。
【図２】本実施形態における負荷分散装置３の構成を示す機能ブロック図である。
【図３】本実施形態におけるアドレステーブルＡ３１１を示す図である。
【図４】本実施形態におけるアドレステーブルＢ３２４を示す図である。
【図５】本実施形態の負荷分散システムにおいて送受信されるパケットの流れとヘッダ情報とを示す図である。
【図６】本実施形態におけるクライアント１から要求パケットを受信した負荷分散装置の動作フローである。
【図７】本実施形態における負荷分散装置３によるアドレステーブルの同期処理の動作フローである。
【図８】本実施形態における負荷分散装置３が転送先ＤＨＣＰサーバから応答パケットを受信したときの動作フローである。
【発明を実施するための形態】
【００１４】
添付図面を参照して、本発明の実施形態による負荷分散システムを以下に説明する。なお、本実施形態における負荷分散システムは、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバに対する負荷分散処理を行うものとして説明を行う。
【００１５】
［構成の説明］
はじめに、本実施形態における負荷分散システムの構成の説明を行う。図１は、本実施形態における負荷分散システムの構成を示す図である。本実施形態の負荷分散システムは、クライアント１と、インターネット２と、負荷分散装置３と、ＤＨＣＰサーバ群４とを備える。
【００１６】
クライアント１は、パーソナルコンピュータ（以下、ＰＣ）のような情報端末である。クライアント１は、インターネット２と接続されており、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）等のネットワークプロトコルを用いて、インターネットにおいて通信が可能である。なお、クライアント１は、ＤＨＣＰリレーエージェント機能を備えたプロキシ（代理）サーバや、ネットワークルータを介してインターネット２と接続されている場合がある。この場合は、プロキシサーバや、ネットワークルータは、配下のクライアント１からの通信をインターネット２へ転送する。クライアント１は、ＤＨＣＰサーバ群４へ、要求パケットを送信する。要求パケットは、宛先ＩＰアドレス、送信元ＩＰアドレス、宛先ポート番号、送信元ポート番号を含む。
【００１７】
インターネット２は、クライアント１と負荷分散装置３とを接続する。インターネット２は、クライアント１と負荷分散装置３との間の通信の転送を行う。なお、本実施形態では、クライアント１と負荷分散装置２との間をインターネット２により接続している。しかし、クライアント１と負荷分散装置２との間を接続するネットワークは、インターネット２に限定せず、他の代替可能なネットワークを用いて接続を行っても良い。
【００１８】
ＤＨＣＰサーバ群４は、ＤＨＣＰサーバ４１〜４３を備える。なお、本実施形態ではＤＨＣＰサーバは３台であるが、これは一例であり、ＤＨＣＰサーバの台数は３台に限定しない。ＤＨＣＰサーバ４１〜４３は、クライアント１からの要求パケットを受信すると、所定の処理を行って応答パケットを生成し、応答パケットをクライアント１へ送信する。ここで、所定の処理とは、クライアント１からの要求に応じて、任意のＩＰアドレスをクライアント１へ割り当てる処理である。このようなＤＨＣＰサーバによるＩＰアドレスの割り当て処理は周知の技術であるため、詳細な説明を省略する。なお、負荷分散装置３とＤＨＣＰサーバ群４のＤＨＣＰサーバ４１〜４３との間の通信は、図示されないネットワークスイッチによって、それぞれ転送される。また、ＤＨＣＰサーバ４１〜４３は、予め任意のプライベートアドレスが設定されている。
【００１９】
負荷分散装置３は、クライアント１とＤＨＣＰサーバ群４との間で行われる通信に対する負荷分散処理を行う。負荷分散装置３は、インターネット２を介してクライアント１から要求パケットを受信すると、ＤＨＣＰサーバ群４のＤＨＣＰサーバ４１〜４３のうちから任意の１台を転送先（以下、転送先ＤＨＣＰサーバと呼ぶ場合がある。）として選択して、要求パケットを転送する。負荷分散装置３は、転送先ＤＨＣＰサーバから要求パケットに対する応答パケットを受信すると、応答パケットをクライアント１へ転送する。
【００２０】
図２を用いて、本実施形態における負荷分散装置３の構成を説明する。図２は、本実施形態における負荷分散装置３の構成を示す機能ブロック図である。負荷分散装置３は、負荷分散部３１と、中継変換部３２と、通信部Ａ３３と、通信部Ｂ３４とを備える。
【００２１】
負荷分散部３１は、クライアント１から要求パケットを受信して、負荷分散処理を行う。負荷分散部３１は、クライアントから要求パケットを受信すると、ＤＨＣＰサーバ群４のＤＨＣＰサーバ４１〜４３のうちから所定の方法により、１台の転送先ＤＨＣＰサーバを選択する。負荷分散部３１が、ＤＨＣＰ４１〜４３のうちから転送先ＤＨＣＰサーバを選択する所定の方法は、周知の技術によるため、ここでは説明を省略する。負荷分散部３１は、転送先ＤＨＣＰサーバを選択すると、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｉｏｎ）機能により、要求パケットのヘッダの書き換えを行う。負荷分散部３１は、要求パケットの宛先ＩＰアドレスを転送先ＤＨＣＰサーバのＩＰアドレスに書き換え、また要求パケットの宛先ポート番号に任意に割り当てるポート番号を設定し、転送先ＤＨＣＰサーバへ送信する。なお、負荷分散部３１は、ＤＨＣＰサーバ４１〜４３に対応するポート番号を予め決定しており、ＤＨＣＰサーバ４１〜４３のうちから選択した転送先ＤＨＣＰサーバに対応するポート番号を要求パケットへ設定する場合がある。また、以下において、区別のために、負荷分散部３１により、ヘッダの書き換えが行われた要求パケットを、転送要求パケットと表記する。
【００２２】
負荷分散部３１は、アドレステーブルＡ３１１を備える。負荷分散部３１は、転送要求パケットを転送先ＤＨＣＰサーバへ転送するときに、転送要求パケットのヘッダ情報をアドレステーブルＡ３１１に記録する。図３は、本実施形態におけるアドレステーブルＡ３１１を示す図である。負荷分散部３１は、アドレステーブルＡ３１１に、転送要求パケットの宛先ＩＰアドレス、送信元ＩＰアドレス、宛先ポート番号、送信元ポート番号を記録する。以下、宛先ＩＰアドレス、送信元ＩＰアドレス、宛先ポート番号、送信元ポート番号をまとめて、ヘッダ情報と呼ぶ場合がある。
【００２３】
中継変換部３２は、ＤＨＣＰサーバ４１〜４３から応答パケットを受信して、応答パケットのヘッダ情報の変換を行って、クライアント１へ変換後の応答パケット（以下、変換後応答パケット）を転送する。中継変換部３２は、同期部３２２と、パケット検査部３２１と、変換部３２３とを備える。
【００２４】
同期部３２２は、アドレステーブルＢ３２４を備える。図４は、本実施形態におけるアドレステーブルＢ３２４を示す図である。同期部３２２は、負荷分散部３１のアドレステーブルＡ３１１に記録された転送要求パケットのヘッダ情報を取得して、アドレステーブルＢ３２４へ記録する。同期部３２２は、転送要求パケットのヘッダ情報をアドレステーブルＢ３２４へ記録するときに、宛先と送信元とを入れ替えて記録する。すなわち、同期部３２２は、アドレステーブルＡ３１１に記録された転送要求パケットの宛先ＩＰアドレスと宛先ポート番号を、送信元ＩＰアドレスと送信元ポート番号としてアドレステーブルＢ３２４へ記録する。また、同期部３２２は、アドレステーブルＡ３１１に記録された転送要求パケットの送信元ＩＰアドレスと送信元ポート番号を、宛先ＩＰアドレスと宛先ポート番号としてアドレステーブルＢ３２４へ記録する。
【００２５】
パケット検査部３２１は、応答パケットに対する一致判定を行う。パケット検査部３２１は、ＤＨＣＰサーバ群４のＤＨＣＰサーバ４１〜４３から通信部３４を介して応答パケットを入力する。パケット検査部３２１は、応答パケットのヘッダ情報と、同期部３２２のアドレステーブルＢ３２４に記録された転送要求パケットのヘッダ情報とを参照して、アドレステーブルＢ３２４に記録された転送要求パケットのヘッダ情報に、応答パケットのヘッダ情報と一致する情報があるか否かを判定する。具体的には、パケット検査部３２１は、応答パケットのヘッダに含まれる送信元ＩＰアドレス、送信元ポート番号を参照して、アドレステーブルＢ３２４に記録された転送要求パケットのヘッダ情報の送信元ＩＰアドレス、送信元ポート番号と一致する情報があるか否かを判定する。
【００２６】
変換部３２３は、パケット検査部３２１が一致判定において、アドレステーブルＢ３２４に記録された情報に、応答パケットのヘッダ情報と一致する情報があると判定した場合、応答パケットのヘッダ情報の変換処理を行う。具体的には、変換部３２３は、応答パケットのヘッダに含まれる送信元ＩＰアドレスと、送信元ポート番号とを、負荷分散装置のＩＰアドレスと、ＤＨＣＰサーバを示すポート番号「６７」とへ変換を行う。変換部３２４は、ヘッダ情報の変換後の応答パケット（以下、変換後応答パケット）を通信部３２２へ出力する。
【００２７】
通信部Ａ３３と通信部Ｂ３４は、パケットの送受信を行う。通信部Ａ３３は、グローバルＩＰアドレスが設定されている。通信部Ａ３３は、グローバルＩＰアドレスを用いて、インターネット２を介して、クライアント１と通信を行うことが可能である。通信部Ａ３３は、クライアント１から要求パケットを受信して、負荷分散部３１へ出力する。また、通信部Ａ３３は、中継変換部３２から変換後応答パケットを入力して、クライアント１へ送信する。通信部Ｂ３４は、プライベートＩＰアドレスが設定されている。通信部Ｂ３４は、プライベートＩＰアドレスを用いて、ＤＨＣＰサーバ群４のＤＨＣＰサーバ４１〜４３と通信を行うことが可能である。通信部Ｂ３４は、負荷分散部３１から転送要求パケットを入力して、ＤＨＣＰサーバ群４のＤＨＣＰサーバ３１〜３４のうちの転送先ＤＨＣＰサーバへ送信する。また、通信部Ｂ３４は、転送先ＤＨＣＰサーバから応答パケットを受信して、中継変換部３２へ出力する。
【００２８】
以上が、本実施形態における負荷分散システムの構成の説明である。
【００２９】
［動作方法の説明］
次に、図２から図８までを用いて、本実施形態における負荷分散システムの動作方法の説明を行う。はじめに、図２、図３、図５、及び図６を用いて、本実施形態における負荷分散装置３がクライアント１から要求パケットを受信したときの動作方法の説明を行う。図５は、本実施形態の負荷分散システムにおいて送受信されるパケットの流れとヘッダ情報とを示す図である。図６は、本実施形態におけるクライアント１から要求パケットを受信した負荷分散装置の動作フローである。
【００３０】
（ステップＳ１０）
クライアント１が、要求パケットを送信する。要求パケットは、ＤＨＣＰクライアントからＤＨＣＰサーバに対するＩＰアドレスの割り当て要求を行うパケットである。本実施形態においてクライアント１は、インターネット向けのグローバルＩＰアドレスとして「端末ＩＰ」を設定されている。クライアント１は、要求パケットの送信元ＩＰアドレスに「端末ＩＰ」を、送信元ポート番号にＤＨＣＰクライアントを示す「６８」を設定する。また、本実施形態において、負荷分散装置３は、インターネット向けのグローバルＩＰアドレスとして、「ＶＩＰ」を設定している。クライアント１は、要求パケットの宛先ＩＰアドレスに「ＶＩＰ」を設定し、宛先ポートにＤＨＣＰサーバを示す「６７」を設定する。図５のヘッダ情報１００は、このように設定された要求パケットのヘッダ情報を示している。クライアント１は、要求パケットを、インターネット２を介して、負荷分散装置３へ送信する。インターネット３は、クライアント１の送信した要求パケットを、負荷分散装置３へ転送する。
【００３１】
（ステップＳ２０）
負荷分散部３１は、ＤＨＣＰサーバ群４から任意に転送先ＤＨＣＰサーバを選択する。負荷分散装置３の通信部Ａ３３は、インターネット２を介して、クライアントの送信した要求パケットを受信する。通信部Ａ３３は、要求パケットを負荷分散部３１へ出力する。負荷分散部３１は、要求パケットを入力すると、ＤＨＣＰサーバ群４のＤＨＣＰサーバ４１〜４３のうちから、任意に転送先ＤＨＣＰサーバを選択する。以下において、負荷分散部３１は、ＤＨＣＰサーバ４１を転送先ＤＨＣＰサーバとして選択したとして説明を行う。なお、負荷分散部３１が転送先ＤＨＣＰサーバを選択する動作方法は、周知の技術によるため説明を省略する。
【００３２】
（ステップＳ３０）
負荷分散部３１は、転送要求フレームのヘッダ情報を記録する。負荷分散部３１は、転送先ＤＨＣＰサーバを選択すると、転送先ＤＨＣＰサーバのＩＰアドレスを用いて、ＮＡＴ変換を行う。ＤＨＣＰサーバ４１〜４３は、ローカルネットワーク向けのプライベートＩＰアドレスとして、それぞれ、「ＤＨＣＰ＃１〜＃３」を設定している。負荷分散部３１は、要求パケットの宛先ＩＰアドレスを「ＶＩＰ」から「ＤＨＣＰ＃１」へ変換する。また、負荷分散部３１は、要求パケットの宛先ポート番号を「６７」から任意に選択した「ＰｏｒｔＡ」へ変換する。負荷分散部３１は、このように要求パケットのヘッダ情報を変換して、転送要求パケットを生成する。図５のヘッダ情報１０１は、このように設定された転送要求パケットのヘッダ情報を示している。仮に、負荷分散部３１が転送先サーバにＤＨＣＰサーバ４２を選択したとすると、転送要求パケットは、宛先ＩＰアドレス「ＤＨＣＰ＃２」で、宛先ポート番号「ＰｏｒｔＢ」を、設定することになる。また、負荷分散部３１が転送先サーバにＤＨＣＰサーバ４３を選択したとすると、転送要求パケットは、宛先ＩＰアドレス「ＤＨＣＰ＃３」で、宛先ポート番号「ＰｏｒｔＣ」を、設定することになる。ここで、「ＰｏｒｔＡ〜Ｃ」は、負荷分散部３１が任意に選択しても良いし、あるいは、ＤＨＣＰサーバ４１〜４３の各々に対応するポート番号を予め決定していてもよい。負荷分散部３１は、転送要求パケットのヘッダ情報を、アドレステーブルＡ３１１へ記録する。本説明において、負荷分散部３１は、ＤＨＣＰサーバ４１を転送先ＤＨＣＰサーバとして選択しており、アドレステーブルＡ３１１に記録されるヘッダ情報は、前述した図３に示す通りとなる。負荷分散部３１は、転送要求パケットを、通信部Ｂ３４を介して、ＤＨＣＰサーバ４１へ送信する。
【００３３】
（ステップＳ４０）
転送先ＤＨＣＰサーバは、所定の処理を実行する。転送先ＤＨＣＰサーバであるＤＨＣＰサーバ４１は、負荷分散装置３から転送要求パケットを受信する。ＤＨＣＰサーバ４１は、転送要求パケットに基づいて、所定のＩＰアドレス割当処理を実行する。なお、ＤＨＣＰサーバによるＩＰアドレス割当処理は、周知の技術によるため、説明を省略する。
【００３４】
以上が、本実施形態における負荷分散システムの動作方法の説明である。
【００３５】
次に、図２、図３、図４、及び図７を用いて、本実施形態における負荷分散装置３によるアドレステーブルの同期処理の動作方法の説明を行う。図７は、本実施形態における負荷分散装置３によるアドレステーブルの同期処理の動作フローである。
【００３６】
（ステップＳ１００）
同期部３２２は、アドレステーブルＡ３１１とアドレステーブルＢ３２４との同期をとる。負荷分散装置３の中継変換装置３２の同期部３２２は、定期的にアドレステーブルＡ３１１とアドレステーブルＢ３２４との同期処理を行って、アドレステーブルＡ３１１とアドレステーブルＢ３２４とのデータを一致させる。同期部３２２は、アドレステーブルＡ３１１とアドレステーブルＢ３２４との同期処理を行うときに、宛先ＩＰアドレスと宛先ポート番号とを、送信元ＩＰアドレスと送信元ポート番号と入れ替える。図３は、前述の通り、クライアント１からの要求パケットを記録したアドレステーブルＡ３１１である。図３のアドレステーブルＡ３１１は、送信元アドレスに「端末ＩＰ」、送信元ポート番号に「６８」を記録しており、宛先ＩＰアドレスに「ＤＨＣＰ＃１」、宛先ポート番号に「ＰｏｒｔＡ」を記録している。前述の図４は、同期部３２２が同期処理を行った後のアドレステーブルＢ３２４である。図４のアドレステーブルＢ３２４は、送信元アドレスに「ＤＨＣＰ＃１」、送信元ポート番号に「ＰｏｒｔＡ」を記録しており、宛先ＩＰアドレスに「端末ＩＰ」、宛先ポート番号に「６８」を記録している。このように同期部３２２は、アドレステーブルＡ３１１とアドレステーブルＢ３２４との宛先と送信元の記録を入れ替えて記録する。
【００３７】
以上が、本実施形態における負荷分散装置３によるアドレステーブルの同期処理の動作方法の説明である。
【００３８】
次に、図２、図４、図５、及び図８を用いて、本実施形態における負荷分散装置３が転送先ＤＨＣＰサーバから応答パケットを受信したときの動作方法を説明する。図８は、本実施形態における負荷分散装置３が転送先ＤＨＣＰサーバから応答パケットを受信したときの動作フローである。
【００３９】
（ステップＳ２００）
転送先ＤＨＣＰサーバが、応答パケットを送信する。転送先ＤＨＣＰサーバであるＤＨＣＰサーバ４１は、所定の処理を完了すると、クライアント１に向けて応答パケットを送信する。ＤＨＣＰサーバ４１は、応答パケットの送信元ＩＰアドレスに「ＤＨＣＰ＃１」を、送信元ポート番号に「ＰｏｒｔＡ」を設定し、宛先ＩＰアドレスに「端末ＩＰ」を、宛先ポート番号に「６８」を設定して送信する。ＤＨＣＰサーバ４１は、負荷分散部３１で変換されたパケットを受信しており、応答パケットを送信するときには、自ノード（ＤＨＣＰサーバ４１）に設定されたＩＰアドレスと、指定されたポート番号を、それぞれ送信元に設定する。なお、応答パケットに含まれるデータには、クライアント１に割り当てられるＩＰアドレス等が含まれるが、これらは従来の技術であり説明を省略する。図５のヘッダ情報１０２は、このように設定された転送要求パケットのヘッダ情報を示している。仮に、転送先サーバがＤＨＣＰサーバ４２である場合、応答パケットは、送信元ＩＰアドレス「ＤＨＣＰ＃２」と、送信元ポート番号「ＰｏｒｔＢ」とを、設定することになる。また、転送先サーバがＤＨＣＰサーバ４３である場合、応答パケットは、送信元ＩＰアドレス「ＤＨＣＰ＃３」と、送信元ポート番号「ＰｏｒｔＣ」とを、設定することになる。
【００４０】
（ステップＳ２１０）
パケット検査部３２１は、応答パケットのヘッダ情報に対する一致判定を行う。負荷分散装置３の通信部Ｂ３４は、転送先ＤＨＣＰサーバであるＤＨＣＰサーバ４１から応答パケットを受信する。通信部Ｂ３４は、応答パケットをパケット検査部３２１へ出力する。パケット検査部３２１は、応答パケットのヘッダ情報と、アドレステーブルＢ３２４に記録されたデータを用いて、一致判定を行う。具体的には、パケット検査部３２１は、応答パケットのヘッダ情報に含まれる送信元ＩＰアドレスと、送信元ポート番号とに一致するデータが、アドレステーブルＢ３２４に記録されているかを判定する。
【００４１】
（ステップＳ２２０）
パケット検査部３２１による一致判定において、一致したと判定された場合、ステップＳ２４０へ進む。一方、一致しないと判定された場合、ステップＳ２３０へ進む。なお、本実施形態では、転送先ＤＨＣＰサーバから受信した応答パケットのヘッダ情報は、送信元ＩＰアドレスに「ＤＨＣＰ＃１」、送信元ポート番号に「ＰｏｒｔＡ」が設定されている。パケット検査部３２１は、アドレステーブルＢ３２４を参照して、送信元ＩＰアドレス「ＤＨＣＰ＃１」、送信元ポート番号「ＰｏｒｔＡ」と記録されたデータを検知することができる。そのためパケット検査部３２１は、一致したと判定する。
【００４２】
（ステップＳ２３０）
同期部３２２は、アドレステーブルＡ３１１とアドレステーブルＢ３２４との同期を取る。パケット検査部３２１による一致判定において、一致しないと判定された場合、同期部３２２は、アドレステーブルＡ３１１とアドレステーブルＢ３２４との同期を取る。まだ、アドレステーブルＢ３２４に反映されていないデータが存在する可能性があるためである。この場合、アドレステーブルＡ３１１とアドレステーブルＢ３２４との同期を完了すると、ステップＳ２１０へ戻る。なお、このように同期部３２２が再度、同期処理を行ったとしても一致判定において一致しない場合が考えられる。その場合、例えば、後述する当該パケットに対する変換処理を行うことなく、通信部Ａ３３を介して宛先ＩＰアドレス宛に送信する動作としても良いし、あるいは、当該パケットを破棄する動作としてもよい。負荷分散装置３は、ローカルネットワーク側から応答パケット以外のパケットを受信することもあるためである。
【００４３】
（ステップＳ２４０）
変換部３２３は、応答パケットのヘッダ情報を変換する。変換部３２３は、パケット検査部３２１による一致判定において、一致したと判定された場合、応答パケットのヘッダ情報を変換する。具体的に、変換部３２３は、応答パケットのヘッダ情報に含まれる送信元ＩＰアドレスと、送信元ポート番号を、負荷分散装置３に設定されたグローバルＩＰアドレス「ＶＩＰ」と、ＤＨＣＰサーバを示すポート番号「６７」へ変換する。本実施形態では、応答パケットの送信元ＩＰアドレスに「ＤＨＣＰ＃１」が設定され、送信元ポート番号に「ＰｏｒｔＡ」が設定されている。変換部３２３は、送信元ＩＰアドレスを「ＤＨＣＰ＃１」から「ＶＩＰ」へ、また送信元ポート番号を「ＰｏｒｔＡ」から「６７」へ変換する。変換部３２３は、このようにして、受信した応答パケットのヘッダ情報が転送要求パケットのヘッダ情報を一致した場合、応答パケットのヘッダ情報を変換して変換後応答パケットを生成する。
【００４４】
（ステップＳ２５０）
変換部３２３は、変換後応答パケットを送信する。変換部３２３は、生成した変換後応答パケットを、通信部Ａ３３を介して、クライアント１へ送信する。図５のヘッダ情報１０３は、負荷分散装置３から送信された変換後応答パケットのヘッダ情報を示している。要求パケットのヘッダ情報１００と比較すると理解できるように、要求パケットの宛先ＩＰアドレス、及び宛先ポート番号と、変換後応答パケットの送信元ＩＰアドレス、及び送信元ポート番号とは一致している。そのため、クライアント１は変換号応答パケットを受信すると、当該パケットは自身がＤＨＣＰクライアントとして送信した要求に対するＤＨＣＰサーバからの応答であると検知することができる。
【００４５】
以上が、本実施形態における負荷分散装置３が転送先ＤＨＣＰサーバから応答パケットを受信したときの動作方法の説明である。
【００４６】
ここまで、本実施形態の説明を行ってきた。本発明の負荷分散システムによれば
、負荷分散装置３の負荷分散部３１は、クライアント１から要求パケットを受信すると、複数のＤＨＣＰサーバのうちから転送先ＤＨＣＰサーバを割り当てて、要求パケットのヘッダ情報を変換して転送要求パケットを生成する。負荷分散部３１は、転送要求パケットを送信するときに、転送要求パケットのヘッダ情報をアドレステーブルＡ３１１へ記録する。負荷分散装置３の中継変換部３２は、予めアドレステーブルＡ３１１とアドレステーブルＢ３２４との同期処理を行って、記録されたデータを一致させておく。中継変換部３２は、転送先ＤＨＣＰサーバから応答パケットを受信すると、応答パケットのヘッダ情報がアドレステーブルＢ３２４に記録されたデータと一致するか一致判定を行う。中継変換部３２は、一致判定において一致すると判定された場合、応答パケットのヘッダ情報の変換処理を行って変換後応答パケットを生成してクライアントへ送信する。そのため、負荷分散装置３１からクライアント１へ送信される変換後応答パケットの送信元ＩＰアドレス、及び送信元ポート番号は、クライアント１から送信された要求パケットの宛先ＩＰアドレス、及び宛先ポート番号とを一致させることができる。
【００４７】
なお、本実施形態では、複数のＤＨＣＰサーバに対する負荷分散システムとして説明を行ってきたが、本発明は、例えば、ＤＮＳやその他のサーバに対する負荷分散システムとしても適用が可能である。その場合、中継変換部３２による変換後の送信元ポート番号は、サーバシステムの種類に対応するポート番号となるようにしても良い。あるいは、中継変換部３２は、要求パケットの宛先ポート番号へ、応答パケットの送信元ポート番号を変換しても良い。
【００４８】
また、負荷分散部３１と、中継変換部３２とは、負荷分散装置３の備える構成として説明を行ったが、それぞれ独立した装置として設置されてもよい。また、本実施形態では、転送要求パケットの宛先ＩＰアドレス、及び宛先ポート番号と、応答パケットの送信元ＩＰアドレス、及び送信元ポート番号とを一致判定の対象としているが、これに加えて、転送要求パケットの送信元ＩＰアドレス、及び送信元ポート番号と、応答パケットの宛先ＩＰアドレス、及び宛先ポート番号とを一致判定の対象に含めても良い。
【００４９】
以上、実施の形態を参照して本発明を説明したが、本発明は上記実施の形態に限定されるものではない、本発明の構成や詳細には、本発明の範囲内で当業者が理解し得る様々な変更を行うことができる。
【符号の説明】
【００５０】
１  クライアント
２  インターネット
３  負荷分散装置
４  ＤＨＣＰサーバ群
３１  負荷分散部
３２  中継変換部
３３  通信部Ａ
３４  通信部Ｂ
４１  ＤＨＣＰサーバ
４２  ＤＨＣＰサーバ
４３  ＤＨＣＰサーバ
１００  ヘッダ情報
１０１  ヘッダ情報
１０２  ヘッダ情報
１０３  ヘッダ情報
３１１  アドレステーブルＡ
３２１  パケット検査部
３２２  同期部
３２３  変換部
３２４  アドレステーブルＢ
【図１】
2010226665.tif 000003
【図２】
2010226665.tif 000004
【図３】
2010226665.tif 000005
【図４】
2010226665.tif 000006
【図５】
2010226665.tif 000007
【図６】
2010226665.tif 000008
【図７】
2010226665.tif 000009
【図８】
2010226665.tif 000010