(57)【要約】【課題】移動体通信に係るゲートウェイ装置において、リンクアグリゲーションされた複数のインタフェースポート間の負荷をなるべく均等になるようにする。【解決手段】複数のＩ／Ｆポートを有する１または複数の回線収容部と、移動体通信におけるユーザ端末に関するユーザデータパケットを処理するパケット処理部と、ユーザデータパケットのルーティング処理を行うスイッチ部とを備えたゲートウェイ装置であって、スイッチ部が、同装置内のパケット処理部が出力するユーザデータパケットに付加されたユーザ端末に対応する情報を抽出し、その情報を用いて出力Ｉ／Ｆポートを決定する。【選択図】  図３
2014230011.tif 000002
【特許請求の範囲】
【請求項１】
複数のＩ／Ｆポートを有する１または複数の回線収容部と、
移動体通信におけるユーザ端末に関するユーザデータパケットを処理するパケット処理部と、
前記ユーザデータパケットのルーティング処理を行うスイッチ部と、を備えたゲートウェイ装置であって、
前記スイッチ部は、前記パケット処理部から出力される前記ユーザデータパケットから前記ユーザ端末に対応する情報を抽出し、前記ユーザ端末に対応する情報を用いて前記ユーザデータパケットを出力する回線収容部とＩ／Ｆポートを決定することを特徴とするゲートウェイ装置。
【請求項２】
請求項１に記載のゲートウェイ装置であって、
複数の前記Ｉ／Ｆポートのうち、２つ以上のＩ／Ｆポートが、リンクアグリゲーションされることを特徴とするゲートウェイ装置。
【請求項３】
請求項１に記載のゲートウェイ装置であって、
前記ユーザデータパケットはＩＰカプセル化されており、前記ゲートウェイ装置と他のゲートウェイ装置のＩＰアドレスを含む第１のＩＰヘッダと、前記ユーザ端末のＩＰアドレスと前記ユーザ端末の通信相手のＩＰアドレスを含む第２のＩＰヘッダを含み、
前記スイッチ部は、前記第２のＩＰヘッダを用いて前記ユーザデータパケットを出力する回線収容部とＩ／Ｆポートを決定することを特徴とするゲートウェイ装置。
【請求項４】
請求項３に記載のゲートウェイ装置であって、
前記スイッチ部を設定する制御部を備え、
前記制御部は、前記移動体通信で用いる前記ＩＰカプセル化の通信プロトコル情報と、前記ユーザデータパケットにおける前記第２のＩＰヘッダの位置をあらかじめ前記スイッチ部に設定することを特徴とするゲートウェイ装置。
【請求項５】
請求項４に記載のゲートウェイ装置であって、
前記制御部は、リンクアグリゲーションされたＩ／Ｆポートの対向に位置するネットワーク装置に対して、前記移動体通信で用いる前記ＩＰカプセル化の前記通信プロトコル情報と、前記ユーザデータパケットにおける前記第２のＩＰヘッダの位置を通知することを特徴とするゲートウェイ装置。
【請求項６】
請求項１に記載のゲートウェイ装置であって、
前記パケット処理部は、前記ユーザデータパケットを出力する際に、前記ゲートウェイ装置内での転送用の内部ヘッダに、前記ユーザ端末に対応する情報を付加し、
前記スイッチ部は、前記内部ヘッダに付加された前記ユーザ端末に対応する情報を抽出し、前記ユーザ端末に対応する情報を用いて前記ユーザデータパケットを出力する回線収容部とＩ／Ｆポートを決定することを特徴とするゲートウェイ装置。
【請求項７】
請求項６に記載のゲートウェイ装置であって、
前記スイッチ部を設定する制御部を備え、
前記制御部は、定期的に前記スイッチ部から前記リンクアグリゲーションされたＩ／Ｆポートの転送量の統計情報を取得し、前記転送量が閾値以上のＩ／Ｆポートが存在する場合には、前記Ｉ／Ｆポート間の転送量を均等化するように、前記スイッチ部のルーティングテーブルを設定することを特徴とするゲートウェイ装置。
【請求項８】
請求項１に記載のゲートウェイ装置であって、
前記パケット処理部は、前記ユーザデータパケットを出力する際に、前記ユーザデータパケットのイーサヘッダに、前記ユーザ端末に対応する情報を付加し、
前記スイッチ部は、前記イーサヘッダに付加された前記ユーザ端末に対応する情報を抽出し、前記ユーザ端末に対応する情報を用いて前記ユーザデータパケットを出力する回線収容部とＩ／Ｆポートを決定することを特徴とするゲートウェイ装置。
【請求項９】
複数のＩ／Ｆポートを有する１、または複数の回線収容部と、移動体通信におけるユーザ端末に関するユーザデータパケットを処理するパケット処理部と、前記ユーザデータパケットのルーティング処理を行うスイッチ部と、を備えたゲートウェイ装置におけるパケット通信方法であって、
前記スイッチ部は、前記パケット処理部から出力される前記ユーザデータパケットから前記ユーザ端末に対応する情報を抽出し、前記ユーザ端末に対応する情報を用いて前記ユーザデータパケットを出力する回線収容部とＩ／Ｆポートを決定することを特徴とするパケット通信方法。
【請求項１０】
請求項９に記載のパケット通信方法であって、
前記ユーザデータパケットはＩＰカプセル化されており、前記ゲートウェイ装置と他のゲートウェイ装置のＩＰアドレスを含む第１のＩＰヘッダと、前記ユーザ端末のＩＰアドレスと前記ユーザ端末の通信相手のＩＰアドレスを含む第２のＩＰヘッダを含み、
前記スイッチ部は、前記第２のＩＰヘッダを用いて前記ユーザデータパケットを出力する回線収容部とＩ／Ｆポートを決定することを特徴とするパケット通信方法。
【請求項１１】
請求項１０に記載のパケット通信方法であって、
前記ゲートウェイ装置は、前記移動体通信で用いる前記ＩＰカプセル化の通信プロトコル情報と、前記ユーザデータパケットにおける前記第２のＩＰヘッダの位置をあらかじめ前記スイッチ部に設定することを特徴とするパケット通信方法。
【請求項１２】
請求項１１に記載のパケット通信方法であって、
前記ゲートウェイ装置は、リンクアグリゲーションされたＩ／Ｆポートの対向に位置するネットワーク装置に対して、前記移動体通信で用いる前記ＩＰカプセル化の前記通信プロトコル情報と、前記ユーザデータパケットにおける前記第２のＩＰヘッダの位置を通知することを特徴とするパケット通信方法。
【請求項１３】
請求項９に記載のパケット通信方法であって、
前記パケット処理部は、前記ユーザデータパケットを出力する際に、前記ゲートウェイ装置内での転送用の内部ヘッダに、前記ユーザ端末に対応する情報を付加し、
前記スイッチ部は、前記内部ヘッダに付加された前記ユーザ端末に対応する情報を抽出し、前記ユーザ端末に対応する情報を用いて前記ユーザデータパケットを出力する回線収容部とＩ／Ｆポートを決定することを特徴とするパケット通信方法。
【請求項１４】
請求項１３に記載のパケット通信方法であって、
前記ゲートウェイ装置は、定期的に前記スイッチ部から前記リンクアグリゲーションされたＩ／Ｆポートの転送量の統計情報を取得し、前記転送量が閾値以上のＩ／Ｆポートが存在する場合には、前記Ｉ／Ｆポート間の転送量を均等化するように、前記スイッチ部のルーティングテーブルを設定することを特徴とするパケット通信方法。
【請求項１５】
請求項９に記載のパケット通信方法であって、
前記パケット処理部は、前記ユーザデータパケットを出力する際に、前記ユーザデータパケットのイーサヘッダに、前記ユーザ端末に対応する情報を付加し、
前記スイッチ部は、前記イーサヘッダに付加された前記ユーザ端末に対応する情報を抽出し、前記ユーザ端末に対応する情報を用いて前記ユーザデータパケットを出力する回線収容部とＩ／Ｆポートを決定することを特徴とするパケット通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲートウェイ装置、およびパケット通信方法に係わり、特に、移動体通信システムにおいて、パケットを出力するインタフェースポートの負荷を分散するゲートウェイ装置、およびパケット通信方法に関する。
【背景技術】
【０００２】
３ＧＰＰ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ）  ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）／ＬＴＥ−Ａｄｖａｎｓｅｄや、ＩＥＥＥ（ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）  ８０２．１６ｍといった規格に代表される移動体通信システムのコアネットワークでは、ユーザ端末の移動先である基地局やユーザが所望するサービス網に向けてのユーザデータパケットは、各ユーザのデータフローごとにＩＰ（Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ）カプセル化技術を用いて適切に転送される。ＩＰカプセル化のプロトコルには、Ｍｏｂｉｌｅ  ＩＰ、ＧＲＥ（Ｇｅｎｅｒｉｃ  Ｒｏｕｔｉｎｇ  Ｅｎｃａｐｓｕｌａｔｉｏｎ）、ＧＴＰ（ＧＰＲＳ  Ｔｕｎｎｅｌｉｎｇ  Ｐｒｏｔｏｃｏｌ）などを用いる。コアネットワークの構成要素であるゲートウェイ装置は、このパケット転送を中継し、ＩＰカプセル化のプロトコル変換、適当な装置／ネットワークへのルーティング、課金、トラヒックコントロールなどのゲートウェイ処理を行う。
【０００３】
図１は、移動体通信システムの一例である。システムの詳細については後述するが、ユーザ端末（１００−１、１００−２）と対向装置１０７との間の通信に関するユーザデータパケットを、間に存在する基地局（１０１−１、１０１−２）とアクセスゲートウェイ装置１０３、サービス網ゲートウェイ装置１０５が、上述したＩＰカプセル化を施して転送することで、ユーザ端末の移動を追従することができる。
【０００４】
図２は、サービス網ゲートウェイ装置１０５からアクセスゲートウェイ装置１０３に向けて出力されたユーザデータパケットである。パケットの先頭には、レイヤ２転送に関わるイーサヘッダ２０１と、ゲートウェイ装置（ＧＷ：Ｇａｔｅｗａｙ）間のレイヤ３転送に関わるＩＰヘッダ２０２が存在する。さらに、ＩＰカプセル化に関する情報を含んだカプセルヘッダ２０３が存在する。その後ろに、ユーザ端末と対向装置のＩＰアドレスを含んだＩＰヘッダ２０４と、ユーザデータ２０５が存在する。
【０００５】
ところで、移動体通信システムにおいては、上記ゲートウェイ装置では大量のユーザデータパケットを転送することになる。この対策の１つとして、ゲートウェイ装置においてリンクアグリゲーション技術を適用し、ネットワーク接続される入出力インタフェース（Ｉ／Ｆ：Ｉｎｔｅｒｆａｃｅ）ポートの容量拡張を図る。リンクアグリゲーションとは、複数のＩ／Ｆポートを集約して、１つのＩ／Ｆポートに見せかける技術である。これにより、あるサブネット宛てのパケット出力スループットをリンク速度（たとえば１０Ｇｂｐｓなど）以上に拡張できる。また、Ｉ／Ｆポートの利用効率向上にもつながる。たとえば、３つのＩ／Ｆポートを集約した場合に、１つのＩ／Ｆポートが故障しても、負荷が６６％以下であれば他のＩ／Ｆポートが肩代わりすることができ、出力スループットを落とさずに通信することが可能となる。１つを稼働系とし、もう１つを予備系とするような運用形態（すなわち、負荷が５０％）よりも、出力スループットと利用効率を高めることができる。
【０００６】
リンクアグリゲーションにおいて、どのパケットをどのＩ／Ｆポートから出力するかを決定するアルゴリズムは装置ベンダごとに異なるが、大きく２つの方式に分けられる。１つは、出力するＩ／Ｆポートをパケットごとに順番に選択するラウンドロビン方式である。この方式はＩ／Ｆポートごとの負荷は均等化されるが、パケットの順番が入れ替わる場合がある。もう１つは、パケットのヘッダから情報を抽出してハッシュ値を計算し、出力Ｉ／Ｆポートを決定するハッシュ方式である。この方式においてヘッダから抽出する情報は下記の通りである。
・イーサヘッダの送信先／送信元ＭＡＣ（Ｍｅｄｉａ Ａｃｃｅｓｓ Ｃｏｎｔｒｏｌ）アドレス
・ＩＰヘッダの送信先／送信元ＩＰアドレス
・ＴＣＰ／ＵＤＰヘッダの送信先／送信元ポート番号
非特許文献１には、リンクアグリゲーションを適用する際にハッシュ方式によって出力Ｉ／Ｆポートを選択する方法が記載されている。また、特許文献１には、出力Ｉ／Ｆポートを選択する方法として、ハッシュ方式と同様のアルゴリズムを適用する方法が記載されている。具体的には、同一のサブネットに対してパケットを中継可能なゲートウェイを２つ以上設定しておき、ヘッダ情報を用いて関数を計算し、この関数値に基づいて中継に使用するゲートウェイを選択し、そのゲートウェイが接続されているポートからパケットを送信する方法が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−２７４４４１号公報
【非特許文献】
【０００８】
【非特許文献１】アラクサラネットワークス株式会社、「ＡＸ６７００Ｓ・ＡＸ６６００Ｓ・ＡＸ６３００Ｓソフトウェアマニュアル  コンフィグレーションガイドＶｏｌ．１  ＡＸ６３Ｓ−Ｓ００１−９０（第１０版）」、３３３−３３４ページ、１６．１．５節、２００９年１２月発行
【発明の概要】
【発明が解決しようとする課題】
【０００９】
移動体通信システムでのゲートウェイ装置では、リンクアグリゲーションを適用した際に、上述のラウンドロビン方式を採ることはできない。これは、あるユーザ端末に対するユーザデータパケットの順番が入れ替わると、ユーザに不要な課金を発生させてしまうからである。最低でも、同じユーザ端末に対するユーザデータパケットは、同じＩ／Ｆポートから出力されなければならない。
【００１０】
また、移動体通信システムでのゲートウェイ装置においては、非特許文献１や特許文献１に記載されるハッシュ方式ではＩ／Ｆポート間の負荷が偏る可能性が高くなる。上述したように、移動体通信システムにおけるゲートウェイ装置間転送のパケットフォーマットは図２のようになる。出力Ｉ／Ｆポートを決定するハッシュ値の計算には、図２のイーサヘッダ２０１とＩＰヘッダ２０２が抽出対象となる。このとき、あるリンクアグリゲーションされたＩ／Ｆポートからのパケット出力を想定すると、イーサヘッダ２０１の送信先／送信元、ＩＰヘッダの送信元は、ユーザ端末に関わらず同じ値となる。すなわち、ＩＰヘッダ２０２の送信先の値だけが、ハッシュ値計算の分散に寄与する。ところが、移動体通信システムではゲートウェイ装置の台数は数十台程度に限られるため、計算されるハッシュ値の分散性が悪くなり、その結果出力Ｉ／Ｆポート間の負荷が偏る可能性が高くなる。すなわち、図１のアクセスゲートウェイ装置１０２とサービス網ゲートウェイ装置１０５の間でのユーザデータパケットの転送について、各ゲートウェイ装置の出力Ｉ／Ｆポート間の負荷が偏ることになる。負荷の偏りが大きくなると、Ｉ／Ｆポートの利用効率が低下してしまい、装置全体での出力スループットも低下してしまう。また、同じ宛先のパケットは同じＩ／Ｆポートから出力されるため、あるゲートウェイ装置に対する出力スループットが１つのリンク速度以下に制限されてしまう。
【００１１】
本発明は、このような事情に鑑みてなされたものであり、リンクアグリゲーションされた複数のＩ／Ｆポート間の負荷をなるべく均等になるようにする方法、及びそれを実現する装置、システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記の通りである。
【００１３】
複数のＩ／Ｆポートを有する１または複数の回線収容部と、移動体通信におけるユーザ端末に関するユーザデータパケットを処理するパケット処理部と、ユーザデータパケットのルーティング処理を行うスイッチ部と、を備えたゲートウェイ装置である。スイッチ部は、パケット処理部から出力されるユーザデータパケットからユーザ端末に対応する情報を抽出し、ユーザ端末に対応する情報を用いてユーザデータパケットを出力する回線収容部とＩ／Ｆポートを決定する。
【発明の効果】
【００１４】
本発明によれば、リンクアグリゲーションされた複数のＩ／Ｆポート間の出力負荷をなるべく均等にすることができる。
【００１５】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１６】
【図１】本発明を適用する通信システム例の構成図である。
【図２】移動体通信システムにおけるゲートウェイ装置間転送のユーザデータパケット構成図の例である。
【図３】ゲートウェイ装置のハードウェア構成図の例である。
【図４】スイッチユニットのソフトウェア構成図の例である。
【図５】パケット処理カードのソフトウェア構成図の例である。
【図６】制御ユニットのソフトウェア構成図の例である。
【図７】実施例１に係る、サービス網ゲートウェイ装置を設定するシーケンス図の例である。
【図８】リンクアグリゲーション管理テーブルのデータ構成図の例である。
【図９】実施例１に係る、プロトコル管理テーブルのデータ構成図の例である。
【図１０】実施例１に係る、対向スイッチ設定要求のメッセージフォーマット図の例である。
【図１１】実施例１、または、実施例３に係る、ルーティングテーブルのデータ構成図の例である。
【図１２】実施例１に係る、アクセスゲートウェイ装置にユーザデータパケットを送信するシーケンス図の例である。
【図１３】ユーザ端末情報テーブルのデータ構成図の例である。
【図１４】実施例１に係る、アクセスゲートウェイ装置からユーザデータパケットを受信するシーケンス図の例である。
【図１５】実施例１に係る、制御ユニットにおける設定処理のフローチャートの例である。
【図１６】実施例１に係る、スイッチユニットにおけるパケット転送処理のフローチャートの例である。
【図１７】実施例２に係る、サービス網ゲートウェイ装置を設定するシーケンス図の例である。
【図１８（ａ）】実施例２に係る、ルーティングテーブルのデータ構成図の例である。
【図１８（ｂ）】実施例２に係る、Ｉ／Ｆポートの負荷に応じて動的に設定された後のルーティングテーブルのデータ構成図の例である。
【図１９】実施例２に係る、アクセスゲートウェイ装置にユーザデータパケットを送信するシーケンス図の例である。
【図２０（ａ）】実施例２に係る、パケット処理カードが出力するユーザデータパケット構成図の例である。
【図２０（ｂ）】実施例２に係る、スイッチユニットが出力するユーザデータパケット構成図の例である。
【図２１】実施例２に係る、Ｉ／Ｆポートの負荷に応じてルーティングテーブルを動的に設定するシーケンス図の例である。
【図２２】実施例２に係る、Ｉ／Ｆ統計情報テーブルのデータ構成図の例である。
【図２３】実施例２に係る、パケット処理カードにおけるユーザデータパケット出力処理のフローチャートの例である。
【図２４】実施例２に係る、スイッチユニットにおけるパケット転送処理のフローチャートの例である。
【図２５】実施例２に係る、制御ユニットにおけるルーティングテーブル動的設定処理のフローチャートの例である。
【図２６】実施例３に係る、サービス網ゲートウェイ装置を設定するシーケンス図の例である。
【図２７】実施例３に係る、ＭＡＣアドレステーブルのデータ構成図の例である。
【図２８】実施例３に係る、アクセスゲートウェイ装置にユーザデータパケットを送信するシーケンス図の例である。
【図２９（ａ）】実施例３に係る、パケット処理カードが出力するユーザデータパケット構成図の例である。
【図２９（ｂ）】実施例３に係る、スイッチユニットが出力するユーザデータパケット構成図の例である。
【図３０】実施例３に係る、パケット処理カードにおけるユーザデータパケット出力処理のフローチャートの例である。
【図３１】実施例３に係る、スイッチユニットにおけるパケット転送処理のフローチャートの例である。
【発明を実施するための形態】
【００１７】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互い無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明などの関係にある。各実施の形態は、個別で実施してもよいが、組合せて実施してもよい。
【００１８】
また、以下の実施の形態において、要素の数など（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合及び原理的に明らかに特定の数に限定される場合などを除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよいものとする。
【００１９】
さらに、以下の実施の形態において、その構成要素（要素ステップなどを含む）は、特に明示した場合及び原理的に明らかに必須であると考えられる場合などを除き、必ずしも必須のものではないことは言うまでもない。
【００２０】
同様に、以下の実施の形態において、構成要素などの形状、位置関係等に言及するときは、特に明示した場合及び原理的に明らかにそうでないと考えられる場合などを除き、実質的にその形状などに近似または類似するものなどを含むものとする。このことは前記数値及び範囲についても同様である。
【実施例１】
【００２１】
第１の実施例として、パケット通信システムの場合のゲートウェイ装置、及びパケット通信方法を、そのシステム、処理の順に説明する。
【００２２】
＜システム＞
はじめに、図１を用いて本発明が適用される通信システムの構成例を説明する。ここでは３ＧＰＰ  ＬＴＥにおける移動体通信システムを例にとる。ユーザ端末（１００−１、１００−２）は、無線インタフェースを介して、無線信号を有線信号に相互変換する基地局（１０１−１、１０１−２）と通信を行う。基地局（１０１−１、１０１−２）は、ルータやスイッチで構成されるＩＰ網であるアクセス網１０２を介して、アクセスゲートウェイ装置１０３とユーザデータトラヒックの通信を行う。ユーザデータトラヒックとは、ユーザデータパケットが流れるトラヒックのことである。また、アクセスゲートウェイ装置１０３とは、ユーザ端末が属する適切な基地局に対して、ユーザデータトラフィックを転送する装置である。アクセスゲートウェイ装置１０３は、ルータやスイッチで構成されるＩＰ網であるコア網１０４を介して、サービス網ゲートウェイ装置１０５とユーザデータトラヒックの通信を行う。サービス網ゲートウェイ装置１０５は、ユーザデータトラヒックを適切なサービス網１０６に転送する装置である。サービス網１０６とは、インターネットや企業網などのことである。対向装置１０７は、サービス網１０６に接続し、上記説明した移動体通信システムを介して、端末（１００−１、１００−２）とエンド−エンド間の通信を行う。さらに、移動管理装置１０８は、基地局（１０１−１、１０１−２）、アクセスゲートウェイ装置１０３、およびサービス網ゲートウェイ装置１０５と制御信号の通信を行う。移動管理装置１０８は、端末の無線接続状況を管理するとともに、基地局とアクセスゲートウェイ装置１０３とサービス網ゲートウェイ装置１０５の間のユーザデータトラヒックの経路を制御する装置である。アクセスゲートウェイ装置１０３、サービス網ゲートウェイ装置１０５、移動管理装置１０８は、図１では１台ずつであるが、通信システムの規模に応じて、複数台存在しても良い。
【００２３】
前述したように、ユーザ端末（１００−１、１００−２）と対向装置１０７との間の通信に関するユーザデータパケットを、間に存在する基地局（１０１−１、１０１−２）とアクセスゲートウェイ装置１０３、サービス網ゲートウェイ装置１０５が、ＩＰカプセル化を施して転送することで、ユーザ端末の移動を追従することができる。
【００２４】
本実施例において述べるゲートウェイ装置とは、アクセスゲートウェイ装置１０３とサービス網ゲートウェイ装置１０５である。本実施の形態では、便宜上、サービス網ゲートウェイ装置１０５を本発明適用対象として説明するが、アクセスゲートウェイ装置１０３にも適用することは可能である。また、本実施の形態では各ゲートウェイ装置と移動管理装置１０８は別装置としているが、これらは物理的に同一の装置であっても良い。
【００２５】
次に、図３を用いて、本実施の形態のゲートウェイ装置のハードウェア構成例を説明する。ゲートウェイ装置１０５は、ネットワーク接続を終端する１枚または複数枚のラインカード（３００、３１０）（回線収容部）と、ルーティング処理を行うスイッチユニット３２０と、ユーザデータパケットを処理する１枚または複数枚のパケット処理カード（３３０、３４０）と、スイッチユニット３２０やラインカード（３００、３１０）の設定を行う制御ユニット３５０から構成される。なお、どのパケット処理カードがどのユーザデータパケットを処理するかは、ユーザ端末ごとに異なる。すなわち、同一のユーザ端末のユーザデータパケットは、同一のパケット処理カードにおいて処理される。
【００２６】
ラインカード１（３００）は、インタフェース（Ｉ／Ｆ：Ｉｎｔｅｒｆａｃｅ）ポート（３０１−１、３０１−２）、ネットワークプロセッサ（ＮＰ：Ｎｅｔｗｏｒｋ  Ｐｒｏｃｅｓｓｏｒ）３０２、メモリ３０３、内部接続コネクタ３０４を備える。Ｉ／Ｆポート（３０１−１、３０１−２）は装置外部と接続されており、装置外部とのパケットの送受信を行う。ＮＰ３０２は、装置外部から受信したユーザデータパケットを処理できる適切なパケット処理カードを選択し、スイッチユニットに渡す。メモリ３０３には、そのパケット処理カードの選択に必要なユーザ端末情報が保持される。内部接続コネクタ３０４は、スイッチユニット３２０と接続される。ラインカード２（３１０）もラインカード１（３００）と同様の構成である。複数あるＩ／Ｆポート（３０１−１、３０１−２、３１１−１、３１１−２）のうち２つ以上を選択し、リンクアグリゲーションを用いて装置外部と接続する。
【００２７】
スイッチユニット３２０は、ＣＰＵ３２１、メモリ３２２、内部接続コネクタ（３２３、３２４−１〜３２４−４）、スイッチチップ３２５から構成される。ＣＰＵ３２１は、メモリ３２２内に展開されたソフトウェアプログラムを順次読み出して実行し、スイッチチップ３２５の設定を行う。メモリ３２２内に展開されるソフトウェアプログラムは、制御ユニット３５０から設定される。内部接続コネクタ３２３は、制御ユニット３５０と接続される。また、内部接続コネクタ（３２４−１〜３２４−４）は、ラインカード（３００、３１０）やパケット処理カード（３３０、３４０）と接続される。スイッチチップ３２５は、パケットのルーティング処理と、各カード間のパケットの受け渡し、ラインカード（３００、３１０）上の各Ｉ／Ｆポート（３０１−１、３０１−２、３１１−１、３１１−２）を通過する入出力パケット量の計測を行う。
【００２８】
パケット処理カード１（３３０）は、ＣＰＵ３３１、内部接続コネクタ３３２、メモリ３３３、ＦＲＯＭ（Ｆｌａｓｈ  Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）３３４から構成される。ユーザデータパケットを処理する機能を提供するためのソフトウェアプログラムはＦＲＯＭ３３４に記憶されており、装置の起動時にメモリ３３３に展開される。ＣＰＵ３３１は、メモリ３３３内に展開されたソフトウェアプログラムを順次読み出して実行する。内部接続コネクタ３３２は、スイッチユニット３２０と接続される。パケット処理カード２（３４０）もパケット処理カード１（３３０）と同様の構成である。
【００２９】
制御ユニット３５０は、ＣＰＵ３５１、メモリ３５２、ＦＲＯＭ３５３、内部接続コネクタ３５４から構成される。スイッチユニット３２０を設定する機能を提供するためのソフトウェアプログラムはＦＲＯＭ３５３に記憶されており、装置の起動時にメモリ３５２に展開される。ＣＰＵ３５１は、メモリ３５２内に展開されたソフトウェアプログラムを順次読み出して実行する。内部接続コネクタ３５４は、スイッチユニット３２０と接続される。
【００３０】
図４は、スイッチユニット３２０内で展開されるソフトウェアプログラムの構成図である。本実施のソフトウェアプログラムは、機能ブロックを示すプログラム領域４００とデータを示すテーブル領域４１０から構成される。プログラム領域４００は、スイッチチップ３２５にテーブル情報を設定するスイッチチップ設定部４０１と、スイッチチップ３２５が計測するＩ／Ｆポートのパケット量を統計情報として取得するＩ／Ｆ統計情報取得部４０２から構成される。
【００３１】
また、テーブル領域４１０は、ルーティング情報を格納するルーティングテーブル４１１、Ｉ／Ｆポートとその先のネットワークに接続された機器のＭＡＣアドレスとの静的対応情報を格納したＭＡＣアドレステーブル４１２、どのＩ／Ｆポートがリンクアグリゲーションされているかの情報を格納したリンクアグリゲーション（ＬＡ：Ｌｉｎｋ Ａｇｇｒｅｇａｔｉｏｎ）管理テーブル４１３、移動体通信システムにおいて使用するＩＰカプセル化のプロトコル情報を格納したプロトコル管理テーブル４１４、スイッチチップ３２５から取得したＩ／Ｆポート通過パケット量の統計情報を格納するＩ／Ｆ統計情報テーブル４１５から構成される。これらのテーブルのうち、ルーティングテーブル４１１、ＭＡＣアドレステーブル４１２、リンクアグリゲーション管理テーブル４１３、プロトコル管理テーブル４１４がスイッチチップ３２５に反映される設定情報になる。なお、各テーブルのデータ構成については、＜処理（シーケンス）＞にて詳細を後述する。
【００３２】
図５は、パケット処理カード（３３０、３４０）内で展開されるソフトウェアプログラムの構成図である。ここでは、パケット処理カード１（３３０）を例にとって説明する。本実施のソフトウェアプグラムは、プログラム領域５００とテーブル領域５１０から構成される。なお、パケット処理カード２（３４０）もパケット処理カード１（３３０）と同様の構成である。プログラム領域５００は、受信したユーザデータパケットのユーザ端末を特定してパケット課金やトラヒック制御などの移動体通信に係る処理を行うモバイル処理部５０１と、スイッチユニット３２０とラインカード（３００、３１０）を介して装置外部とユーザデータパケットをやり取りするパケット送受信部５０２から構成される。また、テーブル領域５１０は、移動体通信に係る処理に必要なユーザ端末情報を格納するユーザ端末情報テーブル５１１から構成される。なお、テーブルのデータ構成については、＜処理（シーケンス）＞にて詳細を後述する。
【００３３】
図６は、制御ユニット３５０内で展開されるソフトウェアプログラムの構成図である。本実施のソフトウェアプグラムは、プログラム領域６００とテーブル領域６１０から構成される。プログラム領域６００は、スイッチユニット３２０にテーブル情報を設定するスイッチユニット設定部６０１と、スイッチユニット３２０が持つＩ／Ｆ統計情報テーブル４１５を定期的に取得して監視するＩ／Ｆ統計情報監視部６０２から構成される。
【００３４】
また、テーブル領域６１０は、ルーティング情報を格納するルーティングテーブル６１１、Ｉ／Ｆポートとその先のネットワークに接続された機器のＭＡＣアドレスとの静的対応情報を格納したＭＡＣアドレステーブル６１２、どのＩ／Ｆポートがリンクアグリゲーションされているかの情報を格納したリンクアグリゲーション管理テーブル６１３、移動体通信システムにおいて使用するＩＰカプセル化のプロトコル情報を格納したプロトコル管理テーブル６１４、スイッチユニット３２０から取得したＩ／Ｆポート通過パケット量の統計情報を格納するＩ／Ｆ統計情報テーブル６１５から構成される。これらのテーブルのうち、ルーティングテーブル６１１、ＭＡＣアドレステーブル６１２、リンクアグリゲーション管理テーブル６１３、プロトコル管理テーブル６１４がスイッチユニット３２０のメモリ３２２に展開される設定情報になる。すなわち、これらのテーブルの内容は、ルーティングテーブル４１１、ＭＡＣアドレステーブル４１２、リンクアグリゲーション管理テーブル４１３、プロトコル管理テーブル４１４と等価である。なお、各テーブルのデータ構成については、＜処理（シーケンス）＞にて詳細を後述する。
【００３５】
以上が、本実施の形態のシステムである。
【００３６】
＜処理（シーケンス）＞
本実施の形態のサービス網ゲートウェイ装置において、スイッチユニットが、パケット処理カードの出力するユーザデータパケットに付加されたユーザ端末に対応する情報を抽出し、その情報を用いて出力Ｉ／Ｆポートを決定する処理について、３つの手順を説明する。具体的には、（Ａ）サービス網ゲートウェイ装置を設定する処理、（Ｂ）アクセスゲートウェイ装置にユーザデータパケットを送信する処理、（Ｃ）アクセスゲートウェイ装置からユーザデータパケットを受信する処理の手順である。
【００３７】
（Ａ）サービス網ゲートウェイ装置を設定する処理
図７は、制御ユニット３５０からサービス網ゲートウェイ装置１０５内のラインカード２（３１０）とスイッチユニット３２０を設定する手順である。ここでは一例として、ラインカード２（３１０）の有する複数のＩ／Ｆポートがリンクアグリゲーションされ、コア網を構成する対向スイッチ１０４−１にネットワーク接続されているものとする。まず、管理者がコマンド等を投入し、制御ユニット３５０においてリンクアグリゲーションの設定を構成する（ステップ７００）。制御ユニット３５０は、その設定に基づいて、スイッチユニット３２０に対してリンクアグリゲーション管理テーブル４１３のテーブル設定要求を行う（ステップ７０１）。
【００３８】
図８は、スイッチユニット３２０が保持するリンクアグリゲーション管理テーブル４１３のデータ構成の一例を示す図である。リンクアグリゲーション管理テーブル４１３は、リンクアグリゲーション番号８００、Ｉ／Ｆポート番号８０１、ラインカード情報８０２の項目から構成される。さらにラインカード情報８０２は、ラインカード識別番号８０３と内部Ｉ／Ｆポート番号８０４の項目を下位に持つ。たとえば、ＬＡ１のリンクアグリゲーションに関して、Ｐ１、Ｐ２、Ｐ３の３つのＩ／Ｆポートから構成されることを表す。さらに、Ｐ１のＩ／Ｆポートは、物理的には番号＃２のラインカードに存在し、そのラインカード中の内部番号＃１のＩ／Ｆポートであることを表す。
【００３９】
図７に戻る。スイッチユニット３２０は、リンクアグリゲーションの設定を制御ユニットから受信すると、ラインカード２（３１０）を介して、対向になるコア網を構成する対向スイッチ１０４−１との間で、リンクアグリゲーションのネゴシエーションを行う（ステップ７０２）。このプロトコルには、たとえば、ＬＡＣＰ（Ｌｉｎｋ  Ａｇｇｒｅｇａｔｉｏｎ  Ｃｏｎｔｏｒｏｌ  Ｐｒｏｔｏｃｏｌ）を用いる。次に、再び管理者がコマンド等を投入し、制御ユニット３５０において、移動体通信で用いるＩＰカプセル化のプロトコルの設定を構築する（ステップ７０３）。制御ユニット３５０は、その設定に基づいて、スイッチユニット３２０に対してプロトコル管理テーブル４１４のテーブル設定要求を行う（ステップ７０４）。
【００４０】
図９は、スイッチユニット３２０が保持するプロトコル管理テーブル４１４のデータ構成の一例を示す図である。プロトコル管理テーブル４１４は、出力Ｉ／Ｆポート番号９００、送信元ＩＰアドレス９０１、送信先ＩＰアドレス９０２、使用プロトコル９０３、リンクアグリゲーションハッシュ計算アルゴリズム９０４、ユーザデータのＩＰヘッダ位置９０５の項目から構成される。
【００４１】
出力Ｉ／Ｆポート番号９００は、ユーザデータパケットを出力するＩ／Ｆポート番号を表す。送信元ＩＰアドレス９０１は、サービス網ゲートウェイ装置１０５自身のＩＰアドレスを表す。送信先ＩＰアドレス９０２は、アクセス網ゲートウェイ装置１０３のＩＰアドレスを表す。たとえば、図９の１番目のエントリは、出力するＩ／ＦポートがＬＡ１である場合に、ユーザデータパケット２００のＩＰヘッダ２０２の送信元がサービス網ゲートウェイ自身である３．０．０．１で、ＩＰヘッダ２０２の送信先がアクセスゲートウェイ装置である１．１．１．１であれば、使用するＩＰカプセル化のプロトコルはＧＲＥであり、出力Ｉ／Ｆの物理ポートを決定するリンクアグリゲーションのハッシュ計算アルゴリズムとしてユーザデータパケット２００のＩＰヘッダ２０４も含めることを指定し、そのＩＰヘッダ２０４がＩＰパケットの３３バイト目から始まることを指定する。
【００４２】
移動体通信システムでは、ゲートウェイ装置ごとに使用するＩＰカプセル化のプロトコルが異なる場合がある。また、ユーザデータパケット２００のカプセルヘッダ２０３のヘッダ長もゲートウェイ装置ごとに異なる場合がある。プロトコル管理テーブル４１４において、上記のように設定しておくことで、スイッチユニット３２０は、ユーザパケット２００のＩＰヘッダ２０４の位置を特定することが可能となる。これによって、スイッチユニット３２０は、ユーザデータパケット２００から、ユーザ端末に対応する情報であるユーザ端末のＩＰアドレスを抽出することができる。
【００４３】
図７に戻る。コア網を構成する対向スイッチ１０４−１がリンクアグリゲーションハッシュ計算アルゴリズムを任意に設定できる機能を有する場合に、制御ユニット３５０は、さらに対向スイッチ１０４−１に対してＩＰカプセル化で使用するプロトコル情報を通知することを決定する（ステップ７０５）。そして、スイッチユニット３２０とラインカード２（３１０）を介してコア網を構成する対向スイッチ１０４−１に対向スイッチ設定要求メッセージを送信する（ステップ７０６〜７０８）。これによって、コア網を構成する対向スイッチ１０４−１におけるリンクアグリゲーションハッシュ計算アルゴリズムを設定できる。上記設定を行うことによって、リンクアグリゲーションされた複数のＩ／Ｆポート間の出力負荷をなるべく均等にするのみならず、Ｉ／Ｆポート間の入力負荷もなるべく均等にすることができる。
【００４４】
図１０は、対向スイッチ設定要求のメッセージフォーマットの一例を示す図である。対向スイッチ設定要求メッセージ１０００は、対象送信元ＩＰアドレス１００１、対象送信先ＩＰアドレス１００２、使用カプセル化プロトコル１００３、リンクアグリゲーションハッシュ計算アルゴリズム１００４、ユーザデータのＩＰヘッダ位置１００５の項目から構成される。ここで、対象送信元ＩＰアドレス１００１は、アクセスゲートウェイ装置１０３のＩＰアドレスを表す。対象送信先ＩＰアドレス１００２は、サービス網ゲートウェイ装置１０５自身のＩＰアドレスを表す。したがって、この例のメッセージは、アクセスゲートウェイ装置１０３からサービス網ゲートウェイ装置１０５に転送されるユーザデータパケットに対して、送信元ＩＰアドレスがアクセスゲートウェイ装置である１．１．１．１で、送信先ＩＰアドレスがサービス網ゲートウェイ自身である３．０．０．１であれば、使用するＩＰカプセル化のプロトコルはＧＲＥであり、入力するＩ／Ｆの物理ポートを決定するリンクアグリゲーションのハッシュ計算アルゴリズムとしてユーザ端末のＩＰアドレスを含むＩＰヘッダを含めることを指定し、そのＩＰヘッダがＩＰパケットの３３バイト目から始まることを指定する。
【００４５】
図７に戻る。再び管理者がコマンド等を投入し、制御ユニット３５０において、ルーティングテーブルの設定を構成する（ステップ７０９）。制御ユニット３５０は、その設定に基づいて、スイッチユニット３２０に対してルーティングテーブル４１１のテーブル設定要求を行う（ステップ７１０）。
【００４６】
図１１は、本実施例において、スイッチユニット３２０が保持するルーティングテーブル４１１のデータ構成の一例を示す図である。ルーティングテーブル４１１は、経路１１００、出力Ｉ／Ｆポート番号１１０１、出力Ｉ／ＦポートのＭＡＣアドレス１１０２、次ホップのルータのＭＡＣアドレス１１０３の項目から構成される。たとえば１番目のエントリは、サブネット１．１．０．０／１６の経路に一致するパケットに対して、ＬＡ１を出力Ｉ／Ｆポートとし、出力するパケットの送信元ＭＡＣアドレスに０１：００：００：００：００：０１を代入し、出力するパケットの送信先ＭＡＣアドレスに００：３３：００：００：００：０３を代入することを表す。
【００４７】
以上で、サービス網ゲートウェイ装置の設定が完了する。
【００４８】
（Ｂ）アクセスゲートウェイ装置にユーザデータパケットを送信する処理
図１２は、サービス網ゲートウェイ装置１０５からアクセスゲートウェイ装置１０３にユーザデータパケットを転送する手順である。ここでは、サービス網ゲートウェイ装置１０５のラインカード１（３００）が、図１に示したサービス網１０６にネットワーク接続されているとする。また、ラインカード２（３１０）が図１に示したコア網１０４にネットワーク接続されているとする。
【００４９】
まず、対向装置１０７から特定のユーザ端末宛てのユーザデータパケットが、ラインカード１（３００）に届く（ステップ１２００）。ラインカード１（３００）は、そのユーザデータパケットを処理可能なパケット処理カード１（３３０）を特定する（ステップ１２０１）。ここでは、ユーザ端末宛てのユーザデータパケットからＩＰアドレスとドメイン情報を特定し、特定されたＩＰアドレスとドメイン情報に基づいて、以前に同じユーザのデータパケットを処理したパケット処理カードを特定する。ラインカード１（３００）はユーザデータパケットをパケット処理カード１（３３０）宛てに送信する（ステップ１２０２）。パケット処理カード１（３３０）は、スイッチユニット３２０を介してユーザデータパケットを受信する（ステップ１２０３）。パケット処理カード１（３３０）は、ユーザ端末情報テーブル５１１を参照し、移動体通信に係る処理を行い、ユーザデータパケットを転送すべきアクセスゲートウェイ装置１０３を特定する（ステップ１２０４）。ここでは、ユーザデータパケットからＩＰアドレスとドメイン情報を特定し、ユーザ端末情報テーブル５１１を参照することで呼番号を特定する。特定された呼番号に基づいて、アクセスゲートウェイ装置を特定する。
【００５０】
図１３は、パケット処理カード１（３３０）が保持するユーザ端末情報テーブル５１１のデータ構成の一例を示す図である。ユーザ端末情報テーブル５１１は、呼番号１３００とユーザ端末情報１３０１の項目から構成される。さらに、ユーザ端末情報１３０１は、下位にＩＰアドレス１３０２、ドメイン情報１３０３、ＩＰカプセル情報１３０４の項目を持つ。ユーザ端末情報１３０１は、パケット課金情報やトラヒック制御情報なども含むが、ここでは省略する。呼番号１３００は、サービス網ゲートウェイ装置内で各ユーザ端末に付けた通し番号を表す。ＩＰアドレス１３０２は、ユーザ端末のＩＰアドレスを表す。ドメイン情報１３０３は、サービス網１０６での転送で用いられるＶＬＡＮ（Ｖｉｒｔｕａｌ Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）タグ番号などを表す。ＩＰカプセル情報１３０４は、ユーザデータパケットの転送先／転送元になるアクセスゲートウェイ装置のＩＰアドレスやカプセルヘッダに付ける識別子などを表す。
【００５１】
ユーザ端末情報テーブル５１１の各エントリは、ユーザ端末が電源を入れたり、基地局をハンドオーバしたりしたことを契機に、図１に示した基地局（１０１−１、１０１−２）、アクセスゲートウェイ装置１０３、サービス網ゲートウェイ装置１０５、移動管理装置１０８の間で制御信号をやり取りすることで作成、および変更される。この方法に関しては、移動体通信システムに係る当該事業者には既知のものであり、ここでは詳細については割愛する。
【００５２】
図１２に戻る。パケット処理カード１（３３０）は、図２に示したパケットフォーマットの形にユーザデータパケットをＩＰカプセル化し、スイッチユニット３２０に送信する（ステップ１２０５）。スイッチユニット３２０は、図１１のルーティングテーブル４１１の経路１１００を検索し、出力Ｉ／Ｆポートを決定する（ステップ１２０６）。
【００５３】
出力Ｉ／Ｆポートがリンクアグリゲーションされたものである場合、図９のプロトコル管理テーブル４１４の出力Ｉ／Ｆポート番号９００、送信元ＩＰアドレス９０１、送信先ＩＰアドレス９０２を検索して、リンクアグリゲーションハッシュ計算アルゴリズムを決定し、ハッシュ値を計算する（ステップ１２０７）。図９に示すリンクアグリゲーションハッシュ計算アルゴリズムは、ユーザデータのＩＰヘッダを含めるものであるため、図２で示すイーサヘッダ２０１、ＩＰヘッダ２０２、ＩＰヘッダ２０４を抽出して、ハッシュ値を計算する。
【００５４】
その後、図８のリンクアグリゲーション管理テーブル４１３のリングアグリゲーション番号８００を検索し、構成する出力Ｉ／Ｆの物理ポート情報を取得する。上記計算したハッシュ値を出力Ｉ／Ｆ物理ポート数で割った剰余を計算して、出力すべきラインカード２（３１０）と出力Ｉ／Ｆの物理ポート番号を決定し、ユーザデータパケットをラインカード２（３１０）に渡す（ステップ１２０８）。例えば図８を例に説明すると、計算したハッシュ値を出力Ｉ／Ｆ物理ポート数である３で割った剰余を計算し、剰余が０なら出力Ｉ／Ｆの物理ポート番号をＰ１とし、剰余が１なら出力Ｉ／Ｆの物理ポート番号をＰ２とし、剰余が２なら出力Ｉ／Ｆの物理ポート番号をＰ３とする。ラインカード２（３１０）は、スイッチユニット３２０に指示されたＩ／Ｆポートからユーザデータパケットを、アクセスゲートウェイ装置１０３に向けて送信する（ステップ１２０９）。
【００５５】
以上の手順を踏むことで、サービス網ゲートウェイ装置内のスイッチユニットが、同装置内のパケット処理カードが出力するユーザデータパケットに付加されたユーザ端末に対応する情報を抽出し、その情報を用いて出力Ｉ／Ｆポートを決定することが可能になる。ユーザ端末ごとに出力Ｉ／Ｆポートを割り当てることになり、リンクアグリゲーションされた複数のＩ／Ｆポート間の出力負荷の均等化に大きく貢献する。これによって、リンクアグリゲーションを正しく機能させ、サービス網ゲートウェイ装置におけるＩ／Ｆポートの利用効率を向上し、また装置全体の総出力スループットを向上することができる。また、あるアクセスゲートウェイ装置に対する出力スループットをリンク速度以上にすることができる。
【００５６】
（Ｃ）アクセスゲートウェイ装置からユーザデータパケットを受信する処理
図１４は、アクセスゲートウェイ装置１０３からサービス網ゲートウェイ装置１０５にユーザデータパケットを転送する手順である。ここでは、サービス網ゲートウェイ装置１０５のラインカード１（３００）が、図１に示したサービス網１０６にネットワーク接続されているとする。また、ラインカード２（３１０）が図１に示したコア網１０４にネットワーク接続されているとする。
【００５７】
まず、アクセスゲートウェイ装置１０３から、特定のユーザ端末の発信したユーザデータパケットが送信される（ステップ１４００）。このユーザデータパケットは、当然ＩＰカプセル化されており、その宛先はサービス網ゲートウェイ装置１０５である。コア網１０４を構成するルータ／スイッチ群のうち、サービス網ゲートウェイ装置に対向する対向スイッチ１０４−１は、図７のステップ７０５〜７０８であらかじめ受け取った対向スイッチ設定要求に従って、サービス網ゲートウェイ装置１０５に入力するＩ／Ｆポートを決定する（ステップ１４０１）。このとき、対向スイッチ１０４−１は、図１０の対向スイッチ設定要求１０００で指定されたリンクアグリゲーションハッシュ計算アルゴリズムを用いてハッシュ値を計算し、サービス網ゲートウェイ装置１０５との間で接続するリンクアグリゲーションの構成Ｉ／Ｆポートの中から、上記ハッシュ値に応じて入力すべきＩ／Ｆポートを決定する。その後、対向スイッチ１０４−１は、上記決定したラインカード２（３１０）のＩ／Ｆに対して、ユーザデータパケットを送信する（ステップ１４０２）。
【００５８】
以上の手順を踏むことで、サービス網ゲートウェイ装置の対向スイッチが、ユーザデータパケットに付加されたユーザ端末に対応する情報を抽出し、その情報を用いて入力Ｉ／Ｆポートを決定することが可能になる。ユーザ端末ごとに入力Ｉ／Ｆポートを割り当てることになり、リンクアグリゲーションされた複数のＩ／Ｆポート間の入力負荷の均等化に大きく貢献する。これによって、出力だけでなく入力に関してもリンクアグリゲーションを正しく機能させ、サービス網ゲートウェイ装置におけるＩ／Ｆポートの利用効率を向上することができる。
【００５９】
図１４に戻る。ラインカード２（３１０）は、ユーザデータパケットを受信すると、そのユーザデータパケットを処理可能なパケット処理カード１（３３０）を特定する（ステップ１４０３）。ラインカード２（３１０）はユーザデータパケットをパケット処理カード１（３３０）宛てに送信する（ステップ１４０４）。パケット処理カード１（３３０）は、スイッチユニット３２０を介してユーザデータパケットを受信する（ステップ１４０５）。パケット処理カード１（３３０）は、ユーザ端末情報テーブル５１１を参照し、移動体通信に係る処理を行い、ユーザデータパケットのＩＰカプセル化を解除する（ステップ１４０６）。パケット処理カード１（３３０）は、スイッチユニット３２０に送信する（ステップ１４０７）。スイッチユニット３２０は、図１１のルーティングテーブル４１１の経路１１００を検索し、出力Ｉ／Ｆポートを決定する（ステップ１４１０）。
【００６０】
出力Ｉ／Ｆポートがリンクアグリゲーションされたものである場合、図９のプロトコル管理テーブル４１４を検索する。しかし、ここでは既にＩＰカプセル化が解除されており、エントリには一致しない。そのため、背景技術にて述べた通常のリンクアグリゲーションハッシュ計算アルゴリズムを用いて、ハッシュ値を計算する（ステップ１４１１）。つまり、ＩＰヘッダ２０２とカプセルヘッダ２０３がないため、イーサヘッダ２０１、ＩＰヘッダ２０４を抽出して、ハッシュ値を計算する。その後、図８のリンクアグリゲーション管理テーブル４１３のリングアグリゲーション番号８００を検索し、構成する出力Ｉ／Ｆの物理ポート情報を取得する。上記計算したハッシュ値を出力Ｉ／Ｆ物理ポート数で割った剰余を計算して、出力すべきラインカード１（３００）と出力Ｉ／Ｆの物理ポート番号を決定し、ユーザデータパケットをラインカード１（３００）に渡す（ステップ１４１２）。ラインカード１（３００）は、スイッチユニット３２０に指示されたＩ／Ｆポートからユーザデータパケットを、対向装置１０７に向けて送信する（ステップ１４１３）。
【００６１】
＜処理（フローチャート）＞
本実施の形態のサービス網ゲートウェイ装置は２つの動作から成る。具体的には、制御ユニットにおける設定処理の動作、スイッチユニットにおけるパケット転送処理の動作である。以下、図１５〜１６を用いて、サービス網ゲートウェイ装置の動作の処理フローを説明する。
【００６２】
図１５は、制御ユニット３５０における設定処理のフローチャートである。管理者のコマンド投入等によって、設定を開始する（ステップ１５００）。まず、スイッチユニット３２０に対してリンクアグリゲーション管理テーブル４１３を設定する（ステップ１５０１）。また、スイッチユニット３２０に対して図９のプロトコル管理テーブル４１３を設定する（ステップ１５０１）。次に、リンクアグリゲーションを設定したＩ／Ｆポートの対向スイッチがリンクアグリゲーションハッシュ計算アルゴリズムを任意に設定できる、すなわちプログラマブルである場合（ステップ１５０３）、その対向スイッチに対して図１０の対向スイッチ設定要求メッセージ１０００を送信する（ステップ１５０４）。その後、スイッチユニット３２０に対して図１１のルーティングテーブル４１１を設定し（ステップ１５０５）、設定処理を終了する（ステップ１５０６）。
【００６３】
図１６は、スイッチユニット３２０におけるパケット転送処理のフローチャートである。まず、いずれかのラインカード、またはパケット処理カードからユーザデータパケットを受信する（ステップ１６００）。図１１のルーティングテーブル４１１を検索し、出力Ｉ／Ｆポート番号を取得する（ステップ１６０１）。その出力Ｉ／Ｆポート番号がリンクアグリゲーションされたものでない場合（ステップ１６０２）、ルーティングテーブルに従ってユーザデータパケットを送信し（ステップ１６０６）、処理を終了する（ステップ１６０７）。
【００６４】
ステップ１６０２に戻り、取得した出力Ｉ／Ｆポート番号がリンクアグリゲーションされたものである場合、受信したユーザデータパケットがパケット処理カードからのパケットであるかを判定する（ステップ１６０３）。そうでない場合、すなわちラインカードから受信した場合は、ルーティングテーブルに従ってパケット処理カードにユーザデータパケットを送信し（ステップ１６０６）、処理を終了する（ステップ１６０７）。
【００６５】
ステップ１６０３に戻り、受信したユーザデータパケットがパケット処理カードからのパケットである場合、図９のプロトコル管理テーブル４１４を検索して、リンクアグリゲーションハッシュ計算アルゴリズムを決定する（ステップ１６０４）。その後、図８のリンクアグリゲーション管理テーブル４１３を検索して、構成する出力Ｉ／Ｆの物理ポート情報を取得する。そして、計算したハッシュ値を出力Ｉ／Ｆ物理ポート数で割った剰余を計算して、出力すべきラインカードと出力Ｉ／Ｆの物理ポート番号を決定する（ステップ１６０５）。上記決定したラインカードと出力Ｉ／Ｆの物理ポート番号に従い、ラインカカードにユーザデータパケットを送信し（ステップ１６０６）、処理を終了する（ステップ１６０７）。
【００６６】
以上の手順を踏むことで、サービス網ゲートウェイ装置内のスイッチユニットが、同装置内のパケット処理カードが出力するユーザデータパケットに付加されたユーザ端末に対応する情報を抽出し、その情報を用いて出力Ｉ／Ｆポートを決定することが可能になる。ユーザ端末ごとに出力Ｉ／Ｆポートを割り当てることになり、リンクアグリゲーションされた複数のＩ／Ｆポート間の出力負荷の均等化に大きく貢献する。これによって、リンクアグリゲーションを正しく機能させ、サービス網ゲートウェイ装置におけるＩ／Ｆポートの利用効率を向上し、また装置全体の総出力スループットを向上することができる。また、あるアクセスゲートウェイ装置に対する出力スループットをリンク速度以上にすることができる。
【実施例２】
【００６７】
第２の実施例として、パケット通信システムの場合のゲートウェイ装置、及びパケット通信方法を、そのシステム、処理の順に説明する。本実施例では、パケット処理カードが、ユーザ端末に対応する情報（例えば、呼番号を用いて計算されるハッシュ値）を内部ヘッダに付加し、スイッチユニットがその情報に基づいて出力Ｉ／Ｆポートを決定することを特徴とする。これにより、複数のＩ／Ｆポート間の出力負荷の分散性を向上させることができる。
【００６８】
＜システム＞
本発明が適用される通信システムの構成、ゲートウェイ装置のハードウェア構成、ゲートウェイ装置内部のスイッチユニット、パケット処理カード、および制御ユニットのソフトウェア構成は、実施例１と同様である。ただし、実施例２では、スイッチユニット３２０において、図９のプロトコル管理テーブル４１４の内容をスイッチチップ３２５に設定する必要がないため、スイッチチップ３２５のハードウェア構成を簡略化することが可能となる。
【００６９】
＜処理（シーケンス）＞
本実施の形態のサービス網ゲートウェイにおいて、スイッチユニットが、パケット処理カードの出力するユーザデータパケットに付加されたユーザ端末に対応する情報を抽出し、その情報を用いて出力Ｉ／Ｆポートを決定する処理について、３つの手順を説明する。具体的には、（Ａ）サービス網ゲートウェイ装置を設定する処理、（Ｂ）アクセスゲートウェイ装置にユーザデータパケットを送信する処理、（Ｃ）Ｉ／Ｆポートの負荷に応じてルーティングテーブルを動的に設定する処理の手順である。
【００７０】
（Ａ）サービス網ゲートウェイ装置を設定する処理
図１７は、制御ユニット３５０からサービス網ゲートウェイ装置１０５内のラインカード２（３１０）とスイッチユニット３２０を設定する手順である。ここでは一例として、ラインカード２（３１０）の有する複数のＩ／Ｆポートがリンクアグリゲーションされ、コア網を構成する対向スイッチ１０４−１にネットワーク接続されているものとする。
【００７１】
まず、管理者がコマンド等を投入し、制御ユニット３５０においてリンクアグリゲーションの設定を構成する（ステップ１７００）。制御ユニット３５０は、その設定に基づいて、スイッチユニット３２０に対して図８のリンクアグリゲーション管理テーブル４１３のテーブル設定要求を行う（ステップ１７０１）。スイッチユニット３２０は、リンクアグリゲーションの設定をもらうと、ラインカード２（３１０）を介して、対向になるコア網を構成する対向スイッチ１０４−１との間で、リンクアグリゲーションのネゴシエーションを行う（ステップ１７０２）。このプロトコルには、たとえば、ＬＡＣＰを用いる。再び管理者がコマンド等を投入し、制御ユニット３５０において、ルーティングテーブルの設定を構成する（ステップ１７０３）。制御ユニット３５０は、その設定に基づいて、スイッチユニット３２０に対してルーティングテーブル４１１のテーブル設定要求を行う（ステップ１７０４）。
【００７２】
図１８（ａ）は、本実施例において、スイッチユニット３２０が保持するルーティングテーブル４１１のデータ構成の一例を示す図である。ルーティングテーブル４１１は、経路１８００、入力Ｉ／Ｆポート番号１８０１、出力Ｉ／Ｆポート番号１８０２、出力Ｉ／ＦポートのＭＡＣアドレス１８０３、次ホップのルータのＭＡＣアドレス１８０４の項目から構成される。ここで、入力Ｉ／Ｆポート番号１８０１にある値は、物理Ｉ／Ｆポートとしては存在しない仮想的なＩ／Ｆポート番号になる。各経路１８００に対して、仮想的な入力Ｉ／Ｆポート１８０１のエントリを用意し、それぞれに出力Ｉ／Ｆポート番号１８０２を割り当てる。この出力Ｉ／Ｆポート番号１８０２には、あるリンクアグリゲーションの構成要素となるＩ／Ｆポートの番号を代入する。たとえば、図８のリンクアグリゲーション管理テーブル４１３に従うと、リングアグリゲーション番号ＬＡ１は、Ｐ１〜Ｐ３のＩ／Ｆポートから構成されるので、Ｐ１〜Ｐ３のいずれかを代入する。ここでは便宜上、図１８（ａ）に示した例のように代入する。たとえば１番目のエントリは、サブネット１．１．０．０／１６の経路に一致するパケットに対して、入力Ｉ／ＦポートがＶ１であれば、Ｐ１を出力Ｉ／Ｆポートとし、出力するパケットの送信元ＭＡＣアドレスに０１：００：００：００：００：０１を代入し、出力するパケットの送信先ＭＡＣアドレスに００：３３：００：００：００：０３を代入することを表す。
【００７３】
以上で、サービス網ゲートウェイ装置の設定が完了する。
【００７４】
（Ｂ）アクセスゲートウェイ装置にユーザデータパケットを送信する処理
図１９は、サービス網ゲートウェイ装置１０５からアクセスゲートウェイ装置１０３にユーザデータパケットを転送する手順である。ここでは、サービス網ゲートウェイ装置１０５のラインカード１（３００）が、図１に示したサービス網１０６にネットワーク接続されているとする。また、ラインカード２（３１０）が図１に示したコア網１０４にネットワーク接続されているとする。
【００７５】
まず、対向装置１０７から特定のユーザ端末宛てのユーザデータパケットが、ラインカード１（３００）に届く（ステップ１９００）。ラインカード１（３００）は、そのユーザデータパケットを処理可能なパケット処理カード１（３３０）を特定する（ステップ１９０１）。ラインカード１（３００）はユーザデータパケットをパケット処理カード１（３３０）宛てに送信する（ステップ１９０２）。パケット処理カード１（３３０）は、スイッチユニット３２０を介してユーザデータパケットを受信する（ステップ１９０３）。パケット処理カード１（３３０）は、図１３のユーザ端末情報テーブル５１１を参照し、移動体通信に係る処理を行い、ユーザデータパケットを転送すべきアクセスゲートウェイ装置１０３を特定する（ステップ１９０４）。
【００７６】
また、パケット処理カード１（３３０）は、ユーザ端末情報テーブル５１１から呼番号も取得する。パケット処理カード１（３３０）は、この呼番号をハッシュ関数Ｈにかけてハッシュ値を計算し、スイッチユニット３２０とパケットをやり取りするために付加する内部通信用の内部ヘッダに、ハッシュ値を付加する（ステップ１９０５）。
【００７７】
図２０（ａ）は、本実施例において、パケット処理カード１（３３０）がスイッチユニット３２０に対して出力するユーザデータパケット構成の一例を示す図である。ユーザデータパケット２０００は、先頭から、内部ヘッダ２００１、イーサヘッダ２００２、ＩＰヘッダ２００３、カプセルヘッダ２００４、ＩＰヘッダ２００５、ユーザデータ２００６から構成される。すなわち、図２のパケットフォーマットに内部ヘッダ２００１が付加された形になる。ただし、イーサヘッダ２００２の送信先／送信元ＭＡＣアドレスは、スイッチユニット３２０のルーティング処理後に正しく付けられるため、この時点ではデフォルトの規定値が代入されている。内部ヘッダ２００１には、入力Ｉ／Ｆポート番号と出力Ｉ／Ｆポート番号を付加することができる。この入力Ｉ／Ｆポート番号の部分に上記で計算したＨ（呼番号）の値を代入する。したがって、この入力Ｉ／Ｆポート番号は仮想的なＩ／Ｆポートの番号となる。
【００７８】
図１９に戻る。パケット処理カード１（３３０）は、図２０（ａ）に示したパケットフォーマットの形にユーザデータパケットを加工し、スイッチユニット３２０に送信する（ステップ１９０６）。スイッチユニット３２０は、内部ヘッダ２００１から入力Ｉ／Ｆポート番号を抽出する。抽出した入力Ｉ／Ｆポート番号に基づいて図１８のルーティングテーブル４１１の経路１１００と入力Ｉ／Ｆポート番号１８０１を検索し、出力Ｉ／Ｆポートを決定する（ステップ１９０７）。スイッチユニット３２０は、ユーザデータパケットを出力Ｉ／Ｆポートを持つラインカード２（３１０）に渡す（ステップ１９０８）。
【００７９】
図２０（ｂ）は、本実施例において、スイッチユニット３２０がラインカード２（３１０）に対して出力するユーザデータパケット構成の一例を示す図である。パケットヘッダの構成は、図２０（ａ）と同様である。スイッチユニット３２０は、ステップ１９０７で決定した出力Ｉ／Ｆポートに従って、内部ヘッダ２００１の出力Ｉ／Ｆポート番号と、イーサヘッダ２００２の送信先／送信元ＭＡＣアドレスを補完する。
【００８０】
図１９に戻る。ラインカード２（３１０）は、スイッチユニット３２０に指示された出力Ｉ／Ｆポートからユーザデータパケットを、アクセスゲートウェイ装置１０３に向けて送信する（ステップ１９０９）。
【００８１】
以上の手順を踏むことで、サービス網ゲートウェイ装置内のパケット処理カードは、同装置内のスイッチユニットが抽出できる形態でユーザ端末に対応する情報を付加することが可能になる。そして、スイッチユニットは、そのユーザ端末に対応する情報を抽出し、その情報を用いて出力Ｉ／Ｆポートを決定することが可能になる。ユーザ端末ごとに出力Ｉ／Ｆポートを割り当てることになり、リンクアグリゲーションされた複数のＩ／Ｆポート間の出力負荷の均等化に大きく貢献する。これによって、リンクアグリゲーションを正しく機能させ、サービス網ゲートウェイ装置におけるＩ／Ｆポートの利用効率を向上し、また装置全体の総出力スループットを向上することができる。また、あるアクセスゲートウェイ装置に対する出力スループットをリンク速度以上にすることができる。
【００８２】
なお、上記ではユーザ端末に対応する情報として呼番号を用いたが、ユーザ端末のＩＰアドレスや電話番号、端末個体番号など、ユーザ端末に対して一貫性のある値であれば代替できる。
【００８３】
（Ｃ）Ｉ／Ｆポートの負荷に応じてルーティングテーブルを動的に設定する処理
上記シーケンス（Ｂ）の段階で、ユーザ端末個別の要素を加えることで、リンクアグリゲーションハッシュ計算の分散性は十分に良くなる。しかしながら、トラヒックの変動により、リンクアグリゲーションを構成するＩ／Ｆポート間の負荷が偏ってしまう確率は低いもののゼロにはならない。そこで、さらにＩ／Ｆポートの通過パケット量によって負荷を均等化する。
【００８４】
図２１は、Ｉ／Ｆポートの負荷に応じて、制御ユニット３５０がスイッチユニット３２０のルーティングテーブルを動的に設定する手順である。まず、制御ユニット３５０は、スイッチユニット３２０から定期的にＩ／Ｆポートの通過パケット量の統計情報取得を実行する（ステップ２１００）。統計情報を取得するため、制御ユニット３５０は、スイッチユニット３２０に対してＩ／Ｆ統計情報取得要求を行う（ステップ２１０１）。その後、スイッチユニット３２０からＩ／Ｆ統計情報取得応答を受け取り、Ｉ／Ｆ統計情報テーブル６１５を更新する（ステップ２１０２）。ステップ２１００〜２１０２は、定期的に繰り返し実行される。
【００８５】
図２２は、制御ユニット３５０が保持するＩ／Ｆ統計情報テーブル６１５のデータ構成の一例を示す図である。Ｉ／Ｆ統計情報テーブル６１５は、入力Ｉ／Ｆポート番号２２００と出力Ｉ／Ｆポート番号２２０１のマトリクスになる。スイッチユニット３２０は、図２０（ｂ）に示した内部ヘッダ２００１の入力と出力Ｉ／Ｆポート番号の組と通過パケット量を計測している。制御ユニット３５０は、この情報を取得し、たとえば移動平均として秒間パケット量を記録する。たとえば、入力Ｖ２→出力Ｐ２に流れた秒間パケット量は５Ｇｂｐｓであり、入力Ｖ３→出力Ｐ２に流れた秒間パケット量は４Ｇｂｐｓである。このとき、Ｉ／Ｆポート番号Ｐ２の総出力は９Ｇｂｐｓになっている。
【００８６】
図２１に戻る。制御ユニット３５０は、Ｉ／Ｆ統計情報テーブル６１５を検査して、リンクアグリゲーションを構成するＩ／Ｆポート間で負荷の偏りの発生を検知する（ステップ２１０３）。制御ユニット３５０は、負荷の偏りを解消すべく、ルーティングテーブルの設定の変更を決定し（ステップ２１０４）、スイッチユニット３２０に対してテーブル設定要求を行う（ステップ２１０５）。
【００８７】
図１８（ｂ）は、スイッチユニット３２０が保持する、Ｉ／Ｆポートの負荷に応じて動的に変更された後のルーティングテーブル４１１のデータ構成の一例を示す図である。図２２のＩ／Ｆ統計情報テーブル６１５によれば、出力Ｉ／Ｆポート番号Ｐ２の負荷が高くなっている。そこで、図１８（ｂ）のルーティングテーブル４１１のように、１．１．０．０／１６の経路における入力Ｉ／Ｆポート番号Ｖ３のエントリについて、出力Ｉ／Ｆポート番号がＰ２からＰ３に変更する。これによりＰ２の出力Ｉ／Ｆポートの負荷が減り、Ｐ３の出力Ｉ／Ｆポートの負荷が増えることになり、結果としてＰ１〜Ｐ３のＩ／Ｆポート間の負荷が均等化される。
【００８８】
以上の手順を踏むことで、出力Ｉ／Ｆポート間の負荷に応じて、動的にルーティングテーブルを変更することが可能になる。これにより、リンクアグリゲーションされた複数のＩ／Ｆポート間の出力負荷の更なる均等化に大きく貢献する。
【００８９】
＜処理（フローチャート）＞
本実施の形態のサービス網ゲートウェイ装置は３つの動作から成る。具体的には、パケット処理カードにおけるユーザデータパケット出力処理の動作、スイッチユニットにおけるパケット転送処理の動作、制御ユニットにおけるルーティングテーブル動的設定処理の動作である。以下、図２３〜２５を用いて、サービス網ゲートウェイ装置の動作の処理フローを説明する。
【００９０】
図２３は、パケット処理カード１（３３０）におけるユーザデータパケット出力処理のフローチャート図である。まず、スイッチユニット３２０を介して、ユーザデータパケットを受信する（ステップ２３００）。ユーザデータパケットのヘッダ情報から図１３のユーザ端末情報テーブルを検索し、ユーザ端末情報を取得する（ステップ２３０１）。そして、ユーザデータパケットの次の転送先を特定する（ステップ２３０２）。転送先がアクセスゲートウェイ装置１０３である場合、ユーザデータパケットのＩＰカプセル化を行う（ステップ２３０３）。その後、図２０（ａ）のように内部ヘッダ２００１も付加し、呼番号のハッシュ値を計算して内部ヘッダに代入する（ステップ２３０４）。最後に、そのユーザデータパケットをスイッチユニット３２０に送信して（２３０６）、処理を終了する（ステップ２３０７）。
【００９１】
ステップ２３０２に戻り、転送先が対向装置１０７である場合、ユーザデータパケットに対して、ゲートウェイ装置間転送のＩＰヘッダを削除してＩＰカプセル化を解除する（ステップ２３０５）。最後に、そのユーザデータパケットをスイッチユニット３２０に送信して（２３０６）、処理を終了する（ステップ２３０７）。
【００９２】
図２４は、スイッチユニット３２０におけるパケット転送処理のフローチャートである。まず、いずれかのラインカード、またはパケット処理カードからユーザデータパケットを受信する（ステップ２４００）。ユーザデータパケットに付加された内部ヘッダから入力Ｉ／Ｆポート番号を抽出する（ステップ２４０１）。ユーザデータパケットのヘッダ情報と抽出した入力Ｉ／Ｆポート番号から図１８（ａ）、または図１８（ｂ）のルーティングテーブル４１１を検索し、出力Ｉ／Ｆポート番号を取得する（ステップ２４０２）。ルーティングテーブルに従ってユーザデータパケットを送信し（ステップ２４０３）、処理を終了する（ステップ２４０４）。
【００９３】
以上の手順を踏むことで、サービス網ゲートウェイ装置内のパケット処理カードは、同装置内のスイッチユニットが抽出できる形態でユーザ端末に対応する情報を付加することが可能になる。そして、スイッチユニットは、そのユーザ端末に対応する情報を抽出し、その情報を用いて出力Ｉ／Ｆポートを決定することが可能になる。ユーザ端末ごとに出力Ｉ／Ｆポートを割り当てることになり、リンクアグリゲーションされた複数のＩ／Ｆポート間の出力負荷の均等化に大きく貢献する。これによって、リンクアグリゲーションを正しく機能させ、サービス網ゲートウェイ装置におけるＩ／Ｆポートの利用効率を向上し、また装置全体の総出力スループットを向上することができる。また、あるアクセスゲートウェイ装置に対する出力スループットをリンク速度以上にすることができる。
【００９４】
なお、上記ではユーザ端末に対応する情報として呼番号を用いたが、ユーザ端末のＩＰアドレスや電話番号、端末個体番号など、ユーザ端末に対して一貫性のある値であれば代替できる。
【００９５】
図２５は、制御ユニット３５０におけるルーティングテーブル動的設定処理のフローチャート図である。本処理は、繰り返し実行されるものである。まず処理を開始する（ステップ２５００）。定期的にスイッチユニット３２０からＩ／Ｆポートの通過パケット量統計情報を取得して移動平均を計算し、図２２のＩ／Ｆ統計情報テーブル６１５を逐次更新する（ステップ２５０１）。Ｉ／Ｆ統計情報テーブル６１５の各出力Ｉ／Ｆポートの総出力合計値を検査して、リンクアグリゲーションを構成するＩ／Ｆポート間で負荷の偏りの発生を検出する。具体的には、負荷が事前設定した閾値（たとえば１０Ｇｂｐｓのリンク速度に対して閾値８Ｇｂｐｓなど）を超えた出力Ｉ／Ｆポートが存在するかを調べる（ステップ２５０２）。存在しない場合には、ステップ２５０１の処理に戻る。一方、存在する場合には、閾値を超えていない他の出力Ｉ／Ｆポートにパケット出力を割り振って、負荷を均等化するようにルーティングテーブル４１１の設定を変更する（ステップ２５０３）。変更後のルーティングテーブル４１１は、たとえば図１８（ｂ）である。図２２のＩ／Ｆ統計情報テーブル６１５によれば、出力Ｉ／Ｆポート番号Ｐ２の負荷が高くなっている。そこで、図１８（ｂ）のルーティングテーブル４１１のように、１．１．０．０／１６の経路における入力Ｉ／Ｆポート番号Ｖ３のエントリについて、出力Ｉ／Ｆポート番号をＰ２からＰ３に変更する。これによりＰ２の出力Ｉ／Ｆポートの負荷が減り、Ｐ３の出力Ｉ／Ｆポートの負荷が増えることになり、結果としてＰ１〜Ｐ３のＩ／Ｆポート間の負荷が均等化される。以上の処理を繰り返し実行する（ステップ２５０４）。
【００９６】
以上の手順を踏むことで、出力Ｉ／Ｆポート間の負荷に応じて、動的にルーティングテーブルを変更することが可能になる。これにより、リンクアグリゲーションされた複数のＩ／Ｆポート間の出力負荷のさらなる均等化に大きく貢献する。
【実施例３】
【００９７】
第３の実施例として、パケット通信システムの場合のゲートウェイ装置、及びパケット通信方法を、そのシステム、処理の順に説明する。本実施例では、パケット処理カードが、ユーザ端末に対応する情報（例えば、呼番号）をイーサヘッダに付加し、スイッチユニットがその情報を用いてハッシュ値を計算することで、出力Ｉ／Ｆポートを決定することを特徴とする。これにより、複数のＩ／Ｆポート間の出力負荷の分散性を向上させることができる。
【００９８】
＜システム＞
本発明が適用される通信システムの構成、ゲートウェイ装置のハードウェア構成、ゲートウェイ装置内部のスイッチユニット、パケット処理カード、および制御ユニットのソフトウェア構成は、実施例１と同様である。ただし、実施例３では、スイッチユニット３２０において、図９のプロトコル管理テーブル４１４の内容をスイッチチップ３２５に設定する必要がないため、スイッチチップ３２５のハードウェア構成を簡略化することが可能となる。
【００９９】
＜処理（シーケンス）＞
本実施の形態のサービス網ゲートウェイにおいて、スイッチユニットが、パケット処理カードの出力するユーザデータパケットに付加されたユーザ端末に対応する情報を抽出し、その情報を用いて出力Ｉ／Ｆポートを決定するする処理について、２つの手順を説明する。具体的には、（Ａ）サービス網ゲートウェイ装置を設定する処理、（Ｂ）アクセスゲートウェイ装置にユーザデータパケットを送信する処理の手順である。
【０１００】
（Ａ）サービス網ゲートウェイ装置を設定する処理
図２６は、制御ユニット３５０からサービス網ゲートウェイ装置１０５内のラインカード２（３１０）とスイッチユニット３２０を設定する手順である。ここでは一例として、ラインカード２（３１０）の有する複数のＩ／Ｆポートがリンクアグリゲーションされ、コア網を構成する対向スイッチ１０４−１にネットワーク接続されているものとする。まず、管理者がコマンド等を投入し、制御ユニット３５０においてリンクアグリゲーションの設定を構成する（ステップ２６００）。制御ユニット３５０は、その設定に基づいて、スイッチユニット３２０に対して図８のリンクアグリゲーション管理テーブル４１３のテーブル設定要求を行う（ステップ２６０１）。スイッチユニット３２０は、リンクアグリゲーションの設定をもらうと、ラインカード２（３１０）を介して、対向になるコア網を構成する対向スイッチ１０４−１との間で、リンクアグリゲーションのネゴシエーションを行う（ステップ２６０２）。このプロトコルには、たとえば、ＬＡＣＰを用いる。再び管理者がコマンド等を投入し、制御ユニット３５０において、一部のＭＡＣアドレスについて静的なＭＡＣアドレステーブルの設定を構成する（ステップ２６０３）。制御ユニット３５０は、その設定に基づいて、スイッチユニット３２０に対してＭＡＣアドレステーブル４１２のテーブル設定要求を行う（ステップ２６０４）。
【０１０１】
図２７は、スイッチユニット３２０が保持するＭＡＣアドレステーブル４１２のデータ構成の一例を示す図である。ＭＡＣアドレステーブル４１２は、ＭＡＣアドレス２７００、登録状態２７０１、Ｉ／Ｆポート番号２７０２の項目からなる。ＭＡＣアドレステーブルとは、本来、あるＩ／Ｆポートから入力したパケットの送信元ＭＡＣアドレスを動的に学習し、どのＩ／Ｆポートの先にどのＭＡＣアドレスの機器が接続されているかを記したテーブルである。ここでは、動的学習ではなく、登録状態２７０１をあらかじめ静的に設定をしている。Ｉ／Ｆポート番号２７０２には、物理的には存在しないダミーの番号を代入している。このようなＭＡＣアドレステーブル４１２を設定する効果については、シーケンス（Ｂ）にて後述する。
【０１０２】
図２６に戻る。再び管理者がコマンド等を投入し、制御ユニット３５０において、ルーティングテーブルの設定を構成する（ステップ２６０５）。制御ユニット３５０は、その設定に基づいて、スイッチユニット３２０に対して図１１のルーティングテーブル４１１のテーブル設定要求を行う（ステップ２６０６）。
【０１０３】
以上で、サービス網ゲートウェイ装置の設定が完了する。
【０１０４】
（Ｂ）アクセスゲートウェイ装置にユーザデータパケットを送信する処理
図２８は、サービス網ゲートウェイ装置１０５からアクセスゲートウェイ装置１０３にユーザデータパケットを転送する手順である。ここでは、サービス網ゲートウェイ装置１０５のラインカード１（３００）が、図１に示したサービス網１０６にネットワーク接続されているとする。また、ラインカード２（３１０）が図１に示したコア網１０４にネットワーク接続されているとする。
【０１０５】
まず、対向装置１０７から特定のユーザ端末宛てのユーザデータパケットが、ラインカード１（３００）に届く（ステップ２８００）。ラインカード１（３００）は、そのユーザデータパケットを処理可能なパケット処理カード１（３３０）を特定する（ステップ２８０１）。ラインカード１（３００）はユーザデータパケットをパケット処理カード１（３３０）宛てに送信する（ステップ２８０２）。パケット処理カード１（３３０）は、スイッチユニット３２０を介してユーザデータパケットを受信する（ステップ２８０３）。パケット処理カード１（３３０）は、図１３のユーザ端末情報テーブル５１１を参照し、移動体通信に係る処理を行い、ユーザデータパケットを転送すべきアクセスゲートウェイ装置１０３を特定する（ステップ２８０４）。また、ユーザ端末情報テーブル５１１から呼番号も取得する。パケット処理カード１（３３０）は、この呼番号をハッシュ関数Ｈにかけてハッシュ値を計算し、ユーザデータパケットのイーサヘッダに付加する（ステップ２８０５）。
【０１０６】
図２９（ａ）は、本実施例において、パケット処理カード１（３３０）がスイッチユニット３２０に対して出力するユーザデータパケット構成の一例を示す図である。ユーザデータパケット２９００は、先頭から、内部ヘッダ２９０１、イーサヘッダ２９０２、ＩＰヘッダ２９０３、カプセルヘッダ２９０４、ＩＰヘッダ２９０５、ユーザデータ２９０６から構成される。すなわち、図２のパケットフォーマットに内部ヘッダ２９０１が付加された形になる。ただし、イーサヘッダ２９０２の送信先／送信元ＭＡＣアドレスは、スイッチユニット３２０のルーティング処理後に正しく付けられるため、この時点ではデフォルトの規定値、または任意の値が代入されている。ここで、送信元ＭＡＣアドレスには、上記で計算したＨ（呼番号）の値をＭＡＣアドレスとして代入する。具体的には、たとえば、以下のようにＭＡＣアドレスを算出する。
【０１０７】
ＭＡＣ（呼番号）＝（０２：０２：０２：００：００：００）＋Ｈ（呼番号）  （ただし関数Ｈの出力バイト数は３バイト）
上記のようにイーサヘッダ２９０２の送信元ＭＡＣアドレスは、実際には実在しない仮想的なＭＡＣアドレスのものとなる。そのため、ＭＡＣ（呼番号）が取り得る値に対して、図２７のようにＭＡＣアドレステーブル４１２を静的に設定しておくことで、スイッチユニット３２０が、実在しない仮想的なＭＡＣアドレスを誤って毎回学習しないようにする。
【０１０８】
図２８に戻る。パケット処理カード１（３３０）は、図２９（ａ）に示したパケットフォーマットの形にユーザデータパケットを加工し、スイッチユニット３２０に送信する（ステップ２８０６）。スイッチユニット３２０は、図１１のルーティングテーブル４１１の経路１１００を検索し、出力Ｉ／Ｆポートを決定する（ステップ２８０７）。出力Ｉ／Ｆポートがリンクアグリゲーションされたものである場合、図８のリンクアグリゲーション管理テーブル４１３のリングアグリゲーション番号８００を検索し、構成する出力Ｉ／Ｆの物理ポート情報を取得する。背景技術にて述べた通常のリンクアグリゲーションハッシュ計算アルゴリズムを用いてハッシュ値を計算する（ステップ２８０８）。つまり、イーサヘッダ２０１、ＩＰヘッダ２０２を抽出して、ハッシュ値を計算する。このハッシュ計算の入力パラメータには、ＭＡＣ（呼番号）を含むことになり、ハッシュ値の分散性が向上する。スイッチユニット３２０は、上記ハッシュ値を出力Ｉ／Ｆ物理ポート数で割った剰余を計算して、出力すべきラインカード２（３１０）と出力Ｉ／Ｆの物理ポート番号を決定し、ユーザデータパケットをラインカード２（３１０）に渡す（ステップ２８０９）。
【０１０９】
図２９（ｂ）は、スイッチユニット３２０がラインカード２（３１０）に対して出力するユーザデータパケット構成の一例を示す図である。パケットヘッダの構成は、図２９（ａ）と同様である。スイッチユニット３２０は、内部ヘッダ２９０１の出力Ｉ／Ｆポート番号と、イーサヘッダ２９０２の送信先／送信元ＭＡＣアドレスを補完する。
【０１１０】
図２８に戻る。ラインカード２（３１０）は、スイッチユニット３２０に指示された出力Ｉ／Ｆポートからユーザデータパケットを、アクセスゲートウェイ装置１０３に向けて送信する（ステップ２８１０）。
【０１１１】
以上の手順を踏むことで、サービス網ゲートウェイ装置内のパケット処理カードは、同装置内のスイッチユニットが抽出できる形態でユーザ端末に対応する情報を付加することが可能になる。そして、スイッチユニットは、そのユーザ端末に対応する情報を抽出し、その情報を用いて出力Ｉ／Ｆポートを決定することが可能になる。ユーザ端末ごとに出力Ｉ／Ｆポートを割り当てることになり、リンクアグリゲーションされた複数のＩ／Ｆポート間の出力負荷の均等化に大きく貢献する。これによって、リンクアグリゲーションを正しく機能させ、サービス網ゲートウェイ装置におけるＩ／Ｆポートの利用効率を向上し、また装置全体の総出力スループットを向上することができる。また、あるアクセスゲートウェイ装置に対する出力スループットをリンク速度以上にすることができる。
【０１１２】
なお、上記ではユーザ端末に対応する情報として呼番号を用いたが、ユーザ端末のＩＰアドレスや電話番号、端末個体番号など、ユーザ端末に対して一貫性のある値であれば代替できる。
【０１１３】
＜処理（フローチャート）＞
本実施の形態のサービス網ゲートウェイ装置は２つの動作から成る。具体的には、パケット処理カードにおけるユーザデータパケット出力処理の動作、スイッチユニットにおけるパケット転送処理の動作である。以下、図３０〜３１を用いて、サービス網ゲートウェイ装置の動作の処理フローを説明する。
【０１１４】
図３０は、パケット処理カード１（３３０）におけるユーザデータパケット出力処理のフローチャート図である。まず、スイッチユニット３２０を介して、ユーザデータパケットを受信する（ステップ３０００）。ユーザデータパケットのヘッダ情報から図１３のユーザ端末情報テーブルを検索し、ユーザ端末情報を取得する（ステップ３００１）。そして、ユーザデータパケットの次の転送先を特定する（ステップ３００２）。転送先がアクセスゲートウェイ装置１０３である場合、ユーザデータパケットのＩＰカプセル化を行う（ステップ３００３）。その後、図２９（ａ）のように呼番号のハッシュ値から仮想的なＭＡＣアドレスを計算してイーサヘッダ２９０２の送信元ＭＡＣアドレスに代入する（ステップ３００４）。最後に、そのユーザデータパケットをスイッチユニット３２０に送信して（３００６）、処理を終了する（ステップ３００７）。
【０１１５】
ステップ３００２に戻り、転送先が対向装置１０７である場合、ユーザデータパケットに対して、ゲートウェイ装置間転送のＩＰヘッダを削除してＩＰカプセル化を解除する（ステップ３００５）。最後に、そのユーザデータパケットをスイッチユニット３２０に送信して（３００６）、処理を終了する（ステップ３００７）。
【０１１６】
図３１は、スイッチユニット３２０におけるパケット転送処理のフローチャート図である。まず、いずれかのラインカード、またはパケット処理カードからユーザデータパケットを受信する（ステップ３１００）。ユーザデータパケットのヘッダ情報から図１１のルーティングテーブル４１１を検索し、出力Ｉ／Ｆポート番号を取得する（ステップ３１０１）。その出力Ｉ／Ｆポート番号がリンクアグリゲーションされたものでない場合（ステップ３１０２）、ルーティングテーブルに従ってユーザデータパケットを送信し（ステップ３１０４）、処理を終了する（ステップ３１０５）。
【０１１７】
ステップ３１０２に戻り、取得した出力Ｉ／Ｆポート番号がリンクアグリゲーションされたものである場合、図８のリンクアグリゲーション管理テーブル４１３を検索して、構成する出力Ｉ／Ｆの物理ポート情報を取得する。そして、背景技術で述べた通常のリンクアグリゲーションハッシュ計算を行う。ハッシュ値を出力Ｉ／Ｆ物理ポート数で割った剰余を計算して、出力すべきラインカードと出力Ｉ／Ｆの物理ポート番号を決定する（ステップ３１０３）。上記決定したラインカードと出力Ｉ／Ｆの物理ポート番号に従い、ラインカカードにユーザデータパケットを送信し（ステップ３１０４）、処理を終了する（ステップ３１０５）。
【０１１８】
以上の手順を踏むことで、サービス網ゲートウェイ装置内のパケット処理カードは、同装置内のスイッチユニットが抽出できる形態でユーザ端末に対応する情報を付加することが可能になる。そして、スイッチユニットは、そのユーザ端末に対応する情報を抽出し、その情報を用いて出力Ｉ／Ｆポートを決定することが可能になる。ユーザ端末ごとに出力Ｉ／Ｆポートを割り当てることになり、リンクアグリゲーションされた複数のＩ／Ｆポート間の出力負荷の均等化に大きく貢献する。これによって、リンクアグリゲーションを正しく機能させ、サービス網ゲートウェイ装置におけるＩ／Ｆポートの利用効率を向上し、また装置全体の総出力スループットを向上することができる。また、あるアクセスゲートウェイ装置に対する出力スループットをリンク速度以上にすることができる。
【０１１９】
なお、上記ではユーザ端末に対応する情報として呼番号を用いたが、ユーザ端末のＩＰアドレスや電話番号、端末個体番号など、ユーザ端末に対して一貫性のある値であれば代替できる。
【符号の説明】
【０１２０】
１００−１  ユーザ端末
１０１−１  基地局
１０２  アクセス網
１０３  アクセス網ゲートウェイ装置
１０４  コア網
１０５  サービス網ゲートウェイ装置
１０６  サービス網
１０７  対向装置
１０８  移動管理装置
３００  ラインカード１
３１０  ラインカード２
３２０  スイッチユニット
３３０  パケット処理カード１
３４０  パケット処理カード２
３５０  制御ユニット
４１１  ルーティングテーブル
４１２  ＭＡＣアドレステーブル
４１３  リンクアグリゲーション管理テーブル
４１４  プロトコル管理テーブル
５１１  ユーザ端末情報テーブル
６１５  Ｉ／Ｆ統計情報テーブル
１０００  対向スイッチ設定要求メッセージ
【図１】
2014230011.tif 000003
【図２】
2014230011.tif 000004
【図３】
2014230011.tif 000005
【図４】
2014230011.tif 000006
【図５】
2014230011.tif 000007
【図６】
2014230011.tif 000008
【図７】
2014230011.tif 000009
【図８】
2014230011.tif 000010
【図９】
2014230011.tif 000011
【図１０】
2014230011.tif 000012
【図１１】
2014230011.tif 000013
【図１２】
2014230011.tif 000014
【図１３】
2014230011.tif 000015
【図１４】
2014230011.tif 000016
【図１５】
2014230011.tif 000017
【図１６】
2014230011.tif 000018
【図１７】
2014230011.tif 000019
【図１８（ａ）】
2014230011.tif 000020
【図１８（ｂ）】
2014230011.tif 000021
【図１９】
2014230011.tif 000022
【図２０（ａ）】
2014230011.tif 000023
【図２０（ｂ）】
2014230011.tif 000024
【図２１】
2014230011.tif 000025
【図２２】
2014230011.tif 000026
【図２３】
2014230011.tif 000027
【図２４】
2014230011.tif 000028
【図２５】
2014230011.tif 000029
【図２６】
2014230011.tif 000030
【図２７】
2014230011.tif 000031
【図２８】
2014230011.tif 000032
【図２９（ａ）】
2014230011.tif 000033
【図２９（ｂ）】
2014230011.tif 000034
【図３０】
2014230011.tif 000035
【図３１】
2014230011.tif 000036