(57)【要約】【課題】ゲートウェイの負荷を適切に分散するレイヤ３スイッチを提供する。【解決手段】ＯＳＩ第３層でネットワーク間のパケットの中継動作を行うために、受信したパケット１０に格納されている第３層のヘッダ情報１１に基づいて前記パケットを中継するレイヤ３スイッチにおいて、同一のサブネットに対してパケットを中継可能なゲートウェイを２つ以上設定しておき、前記ヘッダ情報１１を用いて２値以上をとる関数を計算し、この関数値（ハッシュ０〜３）に基づいて中継に使用するゲートウェイを選択し、そのゲートウェイが接続されているポートから前記パケットを送信する。【選択図】        図１
2004274441.tif 000002
【特許請求の範囲】
【請求項１】
ＯＳＩ第３層でネットワーク間のパケットの中継動作を行うために、受信したパケットに格納されている第３層のヘッダ情報に基づいて前記パケットを中継するレイヤ３スイッチにおいて、同一のサブネットに対してパケットを中継可能なゲートウェイを２つ以上設定しておき、前記ヘッダ情報を用いて２値以上をとる関数を計算し、この関数値に基づいて中継に使用するゲートウェイを選択し、このゲートウェイが接続されているポートから前記パケットを送信することを特徴とするレイヤ３スイッチ。
【請求項２】
前記関数は、前記ヘッダ情報のうち宛先アドレスとも送信元アドレスとも異なる情報を１つ以上含んだ情報を入力とするハッシュ関数であることを特徴とする請求項１記載のレイヤ３スイッチ。
【請求項３】
前記関数の取り得る値の個数よりも前記設定されたゲートウェイの個数が少ないことを特徴とする請求項１又は２記載のレイヤ３スイッチ。
【請求項４】
前記設定された２つ以上のゲートウェイにそれぞれ異なる番号を付与し、サブネットアドレス毎にハッシュ関数値毎のゲートウェイ番号を登録した経路テーブルを設けると共に、ゲートウェイ番号毎にそのゲートウェイのＭＡＣアドレスとそのゲートウェイが接続されているポートの番号とを登録したゲートウェイテーブルを設け、前記ヘッダ情報に含まれるサブネットアドレスと前記ヘッダ情報から計算したハッシュ関数値とで前記経路テーブルを参照してゲートウェイ番号を選択し、この選択されたゲートウェイ番号で前記ゲートウェイテーブルを参照してパケットの送信先となるゲートウェイのＭＡＣアドレスとそのパケットを送信するポートとを決定することを特徴とする請求項１〜３いずれか記載のレイヤ３スイッチ。
【請求項５】
前記経路テーブルの同一サブネットアドレスに登録されている同一ゲートウェイ番号の個数を変化させることにより、当該ゲートウェイが選択される確率を変化させる確率変化手段を設けたことを特徴とする請求項４記載のレイヤ３スイッチ。
【請求項６】
前記確率変化手段は、当該ゲートウェイを介した通信のトラフィック量が大きいときには当該ゲートウェイが選択される確率が小さくなるように同一ゲートウェイ番号の個数を変化させることを特徴とする請求項５記載のレイヤ３スイッチ。
【請求項７】
前記ゲートウェイ番号毎にトラフィック量を記憶するトラフィック量記憶部を設け、ゲートウェイ番号が参照されるたびにそのゲートウェイ番号に対応したトラフィック量を更新することを特徴とする請求項１〜６いずれか記載のレイヤ３スイッチ。
【請求項８】
前記トラフィック量は、当該ゲートウェイを使用した回数又は当該ゲートウェイを使用して送信したパケットの情報量であることを特徴とする請求項７記載のレイヤ３スイッチ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＯＳＩ第３層でネットワーク間のパケットの中継動作を行うレイヤ３スイッチに係り、特に、ゲートウェイの負荷を適切に分散するレイヤ３スイッチ（以後、Ｌ３スイッチと略称する）に関するものである。
【０００２】
【従来の技術】
ＯＳＩ（開放型システム間相互接続）の第３層ネットワーク層でネットワーク間のパケットの中継動作を行う中継装置としてＬ３スイッチ（ルータと呼ばれることもある）が知られている。
【０００３】
従来のＬ３スイッチは、受信したパケットに格納されている第３層のヘッダ情報のうち宛先ＩＰアドレスに基づいて前記パケットの中継に使用するゲートウェイ（異種プロトコル間の中継装置）を決定する。宛先ＩＰアドレスは、その宛先となっているホストが接続されているサブネット（部分的なネットワーク）のアドレスとそのサブネットの中で宛先ホストを特定するホストアドレスとを含んでいる。そこで、Ｌ３スイッチは、受信したパケットに対してサブネットマスクを適用して当該パケットに格納されているサブネットアドレスを抽出し、そのサブネットアドレスに基づいてそのサブネットへ中継可能なゲートウェイを特定し、そのゲートウェイ宛に前記パケットを送信する。
【０００４】
サブネットへ中継可能なゲートウェイを特定するために、従来のＬ３スイッチは、サブネットアドレスと、そのサブネットへ中継可能なゲートウェイのＭＡＣアドレスとを対応付けたテーブルを備えている。Ｌ３スイッチは、このテーブルからパケットの中継に使用するゲートウェイを決定し、受信したパケットにゲートウェイのＭＡＣアドレスを含むヘッダを付加して各ポートより送信する。従って、同一サブネットを宛先とするパケットは、必ず同じゲートウェイが中継することになる。
【０００５】
【特許文献１】
特開２０００−３３２８１７号公報
【０００６】
【発明が解決しようとする課題】
ところで、上記従来技術では、同一サブネットに宛てられたパケットが大量に受信される場合、同じゲートウェイに負荷が集中し、そのゲートウェイでは他のパケットを処理する余力が欠乏することがある。
【０００７】
そこで、同一サブネットに対してパケットを中継可能なゲートウェイを複数設定できるものと仮定する。こうすれば、同一サブネットに宛てられたパケットを複数のゲートウェイに分配することができ、負荷は分散される。しかし、その場合、上記テーブルに登録するＭＡＣアドレスの個数が多くなって膨大な容量を必要とするため、メモリの利用効率が悪くなる。
【０００８】
また、単に中継可能なゲートウェイが複数あっても、その中からどのゲートウェイを選ぶかを合理的に（負荷が適切に分散されるように）決定しなければならない。例えば、宛先ＩＰアドレスと送信元ＩＰアドレスとの排他的論理和をゲートウェイの個数で割り、その余りをゲートウェイの選択に使用するものとする。この方法により、不特定多数の宛先ＩＰアドレスと送信元ＩＰアドレスとに対しては各ゲートウェイに公平かつランダムにパケットが分配される。しかし、この方法では、除算回路を必要とする。除算は、処理に時間が掛かるので、時間的効率が低下することになる。また、同じ２つのホスト間で通信されるパケットは、宛先ＩＰアドレスも送信元ＩＰアドレスも同じであるため、同じゲートウェイが選択され、負荷分散が不十分になる。
【０００９】
そこで、本発明の目的は、上記課題を解決し、ゲートウェイの負荷を適切に分散するＬ３スイッチを提供することにある。
【００１０】
【課題を解決するための手段】
上記目的を達成するために本発明は、ＯＳＩ第３層でネットワーク間のパケットの中継動作を行うために、受信したパケットに格納されている第３層のヘッダ情報に基づいて前記パケットを中継するＬ３スイッチにおいて、同一のサブネットに対してパケットを中継可能なゲートウェイを２つ以上設定しておき、前記ヘッダ情報を用いて２値以上をとる関数を計算し、この関数値に基づいて中継に使用するゲートウェイを選択し、このゲートウェイが接続されているポートから前記パケットを送信するものである。
【００１１】
前記関数は、前記ヘッダ情報のうち宛先アドレスとも送信元アドレスとも異なる情報を１つ以上含んだ情報を入力とするハッシュ関数であってもよい。
【００１２】
前記関数の取り得る値の個数よりも前記設定されたゲートウェイの個数が少なくてもよい。
【００１３】
前記設定された２つ以上のゲートウェイにそれぞれ異なる番号を付与し、サブネットアドレス毎にハッシュ関数値毎のゲートウェイ番号を登録した経路テーブルを設けると共に、ゲートウェイ番号毎にそのゲートウェイのＭＡＣアドレスとそのゲートウェイが接続されているポートの番号とを登録したゲートウェイテーブルを設け、前記ヘッダ情報に含まれるサブネットアドレスと前記ヘッダ情報から計算したハッシュ関数値とで前記経路テーブルを参照してゲートウェイ番号を選択し、この選択されたゲートウェイ番号で前記ゲートウェイテーブルを参照してパケットの送信先となるゲートウェイのＭＡＣアドレスとそのパケットを送信するポートとを決定してもよい。
【００１４】
前記経路テーブルの同一サブネットアドレスに登録されている同一ゲートウェイ番号の個数を変化させることにより、当該ゲートウェイが選択される確率を変化させる確率変化手段を設けてもよい。
【００１５】
前記確率変化手段は、当該ゲートウェイを介した通信のトラフィック量が大きいときには当該ゲートウェイが選択される確率が小さくなるように同一ゲートウェイ番号の個数を変化させてもよい。
【００１６】
前記ゲートウェイ番号毎にトラフィック量を記憶するトラフィック量記憶部を設け、ゲートウェイ番号が参照されるたびにそのゲートウェイ番号に対応したトラフィック量を更新してもよい。
【００１７】
前記トラフィック量は、当該ゲートウェイを使用した回数又は当該ゲートウェイを使用して送信したパケットの情報量であってもよい。
【００１８】
【発明の実施の形態】
以下、本発明の一実施形態を添付図面に基づいて詳述する。
【００１９】
図１に示されるように、本発明に係るＬ３スイッチは、複数のポート（図示せず）と、いずれかのポートで受信されたパケット１０のヘッダ情報１１に含まれるサブネットアドレスを参照するサブネットアドレス参照手段１と、前記ヘッダ情報１１のうち宛先アドレス１２とも送信元アドレス１３とも異なる情報を１つ以上含んだ情報を入力とするハッシュ関数を計算するハッシュ関数計算手段２と、同一のサブネットに対してパケットを中継可能なゲートウェイを２つ以上設定してこれらのゲートウェイにそれぞれ異なる番号を付与し、サブネットアドレス毎にハッシュ関数値毎のゲートウェイ番号を登録した経路テーブル３と、ゲートウェイ番号毎にそのゲートウェイのＭＡＣアドレスとそのゲートウェイが接続されているポートの番号とを登録し、さらにその登録ごとにトラフィック量のカウンタを付加したゲートウェイテーブル４とを有し、前記ヘッダ情報１１に含まれるサブネットアドレスと前記ヘッダ情報１１から計算したハッシュ関数値とで前記経路テーブル３を参照してゲートウェイ番号を選択し、この選択されたゲートウェイ番号で前記ゲートウェイテーブル４を参照してパケットの送信先となるゲートウェイのＭＡＣアドレスとそのパケットを送信するポートとを決定することができると共に、トラフィック量に応じて経路テーブル３の同一サブネットアドレスに登録されている同一ゲートウェイ番号の個数を変化させる確率変化手段５を有するものである。
【００２０】
本実施形態では、ハッシュ関数を計算するＩＰアドレス以外のヘッダ情報１１として、第４層トランスポート層の情報を用いる。第４層のヘッダ情報には、ＴＣＰ（トランスミッション・コントロール・プロトコル）或いはＵＤＰ（ユーザ・データグラム・プロトコル）がある。ここでは、受信されるパケットがＴＣＰパケット１０であるものとする。ＴＣＰパケット１０は、ヘッダ情報１１として、宛先ＩＰアドレス１２、送信元ＩＰアドレス１３、宛先ＴＣＰポート１４、送信元ＴＣＰポート１５を含んでいる。そこで、ハッシュ関数計算手段２には、宛先ＩＰアドレス１２、送信元ＩＰアドレス１３、宛先ＴＣＰポート１４、送信元ＴＣＰポート１５を入力することにする。これらのうち、宛先ＴＣＰポート１４、送信元ＴＣＰポート１５は、ＴＣＰにおいて定義されるものであり、ここではその内容（本来的な使用用途）について言及はしない。後に明らかになるように、ＩＰアドレスとは異なる情報を取り込んでハッシュ関数を演算する目的は、同じ２つのホスト間で通信されるパケットについて、いつも演算結果が同じにはならないことである。
【００２１】
ハッシュ関数は２値以上をとる関数であればよいが、本実施形態では０〜３の４値をとるものとする。従って、ハッシュ関数値は２ビットのデータである。ハッシュ関数計算手段２は、宛先ＩＰアドレス、送信元ＩＰアドレス、宛先ＴＣＰポート、送信元ＴＣＰポートのそれぞれを数値として或いは論理値として、数値演算或いは論理演算して最終的に２ビットのデータを得るものである。
【００２２】
ここで、ハッシュ関数の演算に用いる具体的な入力数値とハッシュ関数の具体例を２種類例示して説明しておく。
【００２３】
送信元ＩＰアドレス    Ｓ１．Ｓ２．Ｓ３．Ｓ４
宛先ＩＰアドレス      Ｄ１．Ｄ２．Ｄ３．Ｄ４
送信元ＴＣＰポート    Ｓｐ
宛先ＴＣＰポート      Ｄｐ
とする。このとき、ハッシュ関数を、
｛Ｓ１＾（Ｓ１＞＞２）＾（Ｓ１＞＞４）＾（Ｓ１＞＞６）＾
Ｓ２＾（Ｓ２＞＞２）＾（Ｓ２＞＞４）＾（Ｓ２＞＞６）＾
Ｓ３＾（Ｓ３＞＞２）＾（Ｓ３＞＞４）＾（Ｓ３＞＞６）＾
Ｓ４＾（Ｓ４＞＞２）＾（Ｓ４＞＞４）＾（Ｓ４＞＞６）＾
Ｄ１＾（Ｄ１＞＞２）＾（Ｄ１＞＞４）＾（Ｄ１＞＞６）＾
Ｄ２＾（Ｄ２＞＞２）＾（Ｄ２＞＞４）＾（Ｄ２＞＞６）＾
Ｄ３＾（Ｄ３＞＞２）＾（Ｄ３＞＞４）＾（Ｄ３＞＞６）＾
Ｄ４＾（Ｄ４＞＞２）＾（Ｄ４＞＞４）＾（Ｄ４＞＞６）＾
Ｓｐ＾（Ｓｐ＞＞２）＾（Ｓｐ＞＞４）＾（Ｓｐ＞＞６）＾
（Ｓｐ＞＞８）＾（Ｓｐ＞＞１０）＾（Ｓｐ＞＞１２）＾
（Ｓｐ＞＞１４）＾
Ｄｐ＾（Ｄｐ＞＞２）＾（Ｄｐ＞＞４）＾（Ｄｐ＞＞６）＾
（Ｄｐ＞＞８）＾（Ｄｐ＞＞１０）＾（Ｄｐ＞＞１２）＾
（Ｓｐ＞＞１４）｝＆３                                …（１）
とする。
ただし、演算Ａ＞＞Ｂは、ＡをＢビット右シフトを意味し、
演算Ａ＆Ｂは、ＡとＢの論理積を意味し、
演算Ａ＾Ｂは、ＡとＢの排他的論理和を意味する。
【００２４】
或いは、関数Ｘを
｛Ｓ１＾Ｓ２＾Ｓ３＾Ｓ４＾Ｄ１＾Ｄ２＾Ｄ３＾Ｄ４＾
Ｓｐ＾（Ｓｐ＞＞８）＾Ｄｐ＾（Ｄｐ＞＞８）｝        …（２）
とし、ハッシュ関数を、
｛Ｘ＾（Ｘ＞＞２）＾（Ｘ＞＞４）＾（Ｘ＞＞６）｝＆３  …（３）
とする。
【００２５】
以上のほかにもハッシュ関数は無限に考えられるが、好適なハッシュ関数の条件は、入力数値が変化したときに、できるだけ均一な分布を持ったハッシュ関数値が出力されること、及び実装（プログラムを組んで組み込むこと）が容易であることなどである。
【００２６】
送信元ＩＰアドレス    １０．０．０．１
宛先ＩＰアドレス      １９２．１６８．０．１
送信元ＴＣＰポート    １２３４
宛先ＴＣＰポート      ８０８０
としたとき（上記アドレス各桁及びポートの値は１０進表記）、式（２）を適用すると、
2004274441.tif 000003
となる（２つ目の等号以下は１６進表記、ｘは０の連続を表す）。このとき、式（３）のハッシュ関数値は、
2004274441.tif 000004
となる。
【００２７】
図１の経路テーブル３には、このＬ３スイッチから通信可能なサブネットのサブネットアドレスが全て登録されている。また、経路テーブル３は、各サブネットアドレスに対応させて、そのサブネットアドレスを抽出するためのサブネットマスクが登録されている。図示例では、“サブネット１”から“サブネット４”までのサブネットアドレスと、これらに対応する“ネットマスク１”から“ネットマスク４”までのサブネットマスクが登録されている。受信したＴＣＰパケット１０の宛先ＩＰアドレス１２に対して、例えば、“ネットマスク１”を適用すると、宛先ＩＰアドレス１２中のホストアドレスが除去され、“ネットマスク１”のビット長分のサブネットアドレスが残る。即ち、サブネットアドレス参照手段１は、経路テーブル３に登録されているサブネットマスクを、受信したＴＣＰパケット１０の宛先ＩＰアドレス１２に適用することで、サブネットアドレスを抽出するものである。この抽出されたサブネットアドレスと使用したサブネットマスクに対応して登録されているサブネットアドレスとを比較し、両者が一致した欄があれば、爾後のゲートウェイ番号の選択に際し、その欄に対応するゲートウェイ番号の欄をハッシュ関数値により参照することになる。
【００２８】
経路テーブル３には、１つのサブネットアドレスに対応して複数のゲートウェイ番号を登録する欄が設けられている。欄の個数はハッシュ関数の取り得る値の個数に等しい。前述のようにハッシュ関数が４値をとるものとしたので、１つのサブネットアドレスに対応してゲートウェイ番号を登録する欄は４つ設けられている。
【００２９】
Ｌ３スイッチから通信可能なゲートウェイは、２つ以上いくつあってもよいが、ここでは４つ存在するものとし、“ＧＷ１”から“ＧＷ４”までの番号を付与した。経路テーブル３には、同一のサブネットに対してパケットを中継可能なゲートウェイが全て登録される。例えば、“サブネット１”で特定されるサブネットに対してパケットを中継可能なゲートウェイは、“ＧＷ１”，“ＧＷ２”，“ＧＷ３”の３つであるとする。そこで、経路テーブル３の“サブネット１”に対応する欄のうち、例えば、ハッシュ関数値が０に対応する欄（以下、ハッシュ０と表現する）とハッシュ１には“ＧＷ１”が登録され、ハッシュ２には“ＧＷ２”が登録され、ハッシュ３には“ＧＷ３”が登録されている。また、“サブネット２”で特定されるサブネットに対してパケットを中継可能なゲートウェイは、“ＧＷ２”，“ＧＷ３”の２つであるとしたので、“サブネット２”に対応する欄のうち、ハッシュ０に“ＧＷ２”が登録され、ハッシュ１，ハッシュ２，ハッシュ３に“ＧＷ３”が登録されている。このように、同一のサブネットに対してパケットを中継可能なゲートウェイの個数とハッシュ関数の取り得る値の個数とは同じではなく、ハッシュ関数の取り得る値の個数のほうが大きい。従って、同一のサブネットに対してパケットを中継可能なゲートウェイの個数より、そのゲートウェイ番号を登録する欄の個数のほうが多くなり、複数のハッシュ関数値に重複して登録されるゲートウェイが存在する。
【００３０】
ゲートウェイテーブル４には、Ｌ３スイッチから通信可能なゲートウェイが全て番号で登録される。ここでは、“ゲートウェイ１”から“ゲートウェイ４”までの番号を付与した。これらの番号は、“ＧＷ１”から“ＧＷ４”までの番号に１対１で対応したものである。そして、ゲートウェイテーブル４には、１つのゲートウェイ番号について、そのゲートウェイのＭＡＣアドレスを登録する欄、そのゲートウェイが接続されているポートの番号を登録する欄、トラフィック量を表すカウンタ値を記憶する欄が設けられている。例えば、“ゲートウェイ１”のゲートウェイについて、“ＭＡＣアドレス１”，“Ａポート”が登録されており、“カウンタ１”が設けられている。
【００３１】
以下、図１のＬ３スイッチの動作を説明する。
【００３２】
Ｌ３スイッチのいずれかのポートにＴＣＰパケット１０が受信されると、サブネットアドレス参照手段１は、経路テーブル３に登録されているサブネットマスクを宛先ＩＰアドレス１２に適用してサブネットアドレスを抽出し、そのサブネットアドレスと経路テーブル３に登録されているサブネットアドレスとを比較する。両者が一致したとき、その欄に対応するゲートウェイ番号の欄をハッシュ関数値により参照する。ここでは、例として、“サブネット１”が一致したものとする。
【００３３】
一方、ハッシュ関数計算手段２は、宛先ＩＰアドレス、送信元ＩＰアドレス、宛先ＴＣＰポート、送信元ＴＣＰポートのそれぞれを数値として或いは論理値として、数値演算或いは論理演算して２ビットのハッシュ関数値を得る。例として、ハッシュ関数値は０だったとする。
【００３４】
経路テーブルの“サブネット１”に対応するハッシュ０には、“ＧＷ１”が登録されている。従って、“ＧＷ１”が選択される。即ち、“サブネット１”で特定されるサブネットに対してパケットを中継可能な３つのゲートウェイ“ＧＷ１”，“ＧＷ２”，“ＧＷ３”のうち“ＧＷ１”がハッシュ関数値によって選択されたことになる。
【００３５】
次に、このゲートウェイ番号“ＧＷ１”に対応するゲートウェイ番号“ゲートウェイ１”でゲートウェイテーブルを検索すると、“ＭＡＣアドレス１”，“Ａポート”が得られる。従って、ＴＣＰパケットの送信先となるゲートウェイのＭＡＣアドレスは“ＭＡＣアドレス１”となり、そのパケットを送信するポートは“Ａポート”となる。もちろんこれは、前述した“サブネット１”かつハッシュ０の場合のことである。仮に、“サブネット１”かつハッシュ３であったら、ゲートウェイ番号“ＧＷ３”が選択されるので、ＴＣＰパケットの送信先となるゲートウェイのＭＡＣアドレスは“ＭＡＣアドレス３”となり、そのパケットを送信するポートは“Ｃポート”となる。つまり、ハッシュ関数値によって使用されるゲートウェイが異なる。
【００３６】
以上の処理を複数のＴＣＰパケット１０に適用したとき、宛先ＩＰアドレスや送信元ＩＰアドレスが同じであっても、ハッシュ関数値は同じとはならないから、使用されるゲートウェイも同じとはならない。ハッシュ関数値がランダムに０〜３の値をとるとすれば、“サブネット１”で特定されるサブネットへのパケット中継には、“ＧＷ１”，“ＧＷ２”，“ＧＷ３”のゲートウェイが２：１：１の頻度で使用されるであろう。従来は、宛先ＩＰアドレスが同じパケットは必ず同じゲートウェイが中継していた。また、仮に中継可能なゲートウェイが複数あっても、ゲートウェイの選択に偏りがあると、同じ２つのホスト間で通信されるパケットにはいつも同じゲートウェイが選択され、負荷分散が不十分になった。しかし、本発明では、同じ２つのホスト間で通信されるパケットであっても、さまざまのゲートウェイが選択されることになり、負荷分散が達成される。
【００３７】
本発明では、さらに、ゲートウェイテーブル４をゲートウェイ番号で検索したとき、そのゲートウェイ番号に対応したカウンタ値を更新する。カウンタ値が当該ゲートウェイを使用した回数であれば、カウンタ値を１つ増すことで、今回の使用をカウントしたことになる。カウンタ値が当該ゲートウェイを使用して送信したパケットの情報量であれば、図示しないパケット長カウンタで計測したパケット長（例えば、バイト量）をカウンタ値に加算することで、今回の情報量を追加したことになる。
【００３８】
カウンタ値が大きいゲートウェイは、他のゲートウェイに比べて使用される頻度或いは中継する情報量が多いことになる。そこで、カウンタ値が大きいゲートウェイについては、経路テーブル３の登録内容を変更する。例えば、“サブネット４”に対応するゲートウェイ番号は、ハッシュ０及びハッシュ１が“ＧＷ２”であり、ハッシュ２及びハッシュ３が“ＧＷ１”である。つまり、当該サブネットに対してパケットを中継可能なゲートウェイは２つ設定されており、２つのゲートウェイが選択される確率は、ハッシュ関数値がランダムに０〜３の値をとるとすれば、２：２である。しかし、何かの原因で選択が偏り、例えば、“ＧＷ２”のゲートウェイを介した通信のトラフィック量が大きいときには、確率変化手段５が当該ゲートウェイの選択される確率が小さくなるように同一ゲートウェイ番号の個数を減らす。例えば、ハッシュ１の内容を“ＧＷ１”に書き替えて“ＧＷ２”の個数を減らす。その結果、２つのゲートウェイが選択される確率は、ランダムなハッシュ関数値に対して３：１となり、“ＧＷ２”のゲートウェイが選択される確率は小さくなる。よって、“ＧＷ２”のゲートウェイを介した通信のトラフィック量が大きいという状況が改善される。
【００３９】
このように、本発明では、ゲートウェイが選択される確率を変化させる確率変化手段５を設けると共にゲートウェイ毎のトラフィック量を計測可能にし、そのトラフィック量に応じて上記確率を変化させるようにしたので、負荷分散の均等化をより積極的に行うことができる。
【００４０】
【発明の効果】
本発明は次の如き優れた効果を発揮する。
【００４１】
（１）同一のサブネットに対してパケットを中継可能なゲートウェイを２つ以上設定しておき、２値以上をとる関数値に基づいて中継に使用するゲートウェイを選択するようにしたので、各ゲートウェイに公平かつランダムにパケットが分配される。
【００４２】
（２）宛先アドレスとも送信元アドレスとも異なる情報を１つ以上含んだ情報から関数値を生成するので、同じ２つのホスト間で通信されるパケットであっても、さまざまのゲートウェイが選択されることになり、理想的な負荷分散が達成される。
【００４３】
（３）ゲートウェイが選択される確率を変化させる確率変化手段を設けると共にゲートウェイ毎のトラフィック量を計測可能にし、そのトラフィック量に応じて上記確率を変化させるようにしたので、負荷分散の均等化をより積極的に行うことができる。
【図面の簡単な説明】
【図１】本発明の一実施形態を示すＬ３スイッチにおけるゲートウェイ選択原理図である。
【符号の説明】
１  サブネットアドレス参照手段
２  ハッシュ関数計算手段
３  経路テーブル
４  ゲートウェイテーブル
５  確率変化手段
１０  パケット（ＴＣＰパケット）
１１  ヘッダ情報
１２  宛先アドレス
１３  送信元アドレス
１４  宛先ＴＣＰポート
１５  送信元ＴＣＰポート
【図１】
2004274441.tif 000005