(57)【要約】【課題】冗長化された複数のＧＷ装置を含むネットワーク構成において、各ＧＷ装置に特別な機能を追加することなく負荷分散して、ユーザ端末と接続する。【解決手段】ユーザ端末と冗長化された複数のＧＷ装置とを収容する複数の回線インタフェースと、回線インタフェース間でのパケット転送を制御するプロトコル処理部とからなるパケット転送装置において、プロトコル処理部が、ユーザ端末から受信した接続開始要求パケットを上記複数のＧＷ装置に転送しておき、所定時間内にＧＷ装置から受信した複数の応答パケットのうち、負荷分散管理テーブルが示す各ＧＷ装置の接続負荷状態情報に従って選択された特定ＧＷ装置からの応答パケットのみを要求元ユーザ端末に転送する。【選択図】図２
2008113260.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザ端末と、インターネットへの中継網に接続される冗長化された複数のゲートウェイ（ＧＷ）装置との間に配置されるパケット転送装置であって、
上記各ユーザ端末との接続回線、または上記各ＧＷ装置との接続回線を収容する複数の回線インタフェースと、
上記複数の回線インタフェース間でのユーザパケットおよび通信制御パケットの転送を制御するプロトコル処理部とからなり、
上記プロトコル処理部が、上記各ＧＷ装置の識別情報と対応して接続負荷の状態情報を記憶した負荷分散管理テーブルを有し、
上記プロトコル処理部が、上記各ユーザ端末から受信した上記中継網への接続開始要求パケットを上記冗長化された複数のＧＷ装置に転送しておき、所定時間内に受信した上記接続開始要求パケットに対する複数の応答パケットのうち、上記負荷分散管理テーブルが示す接続負荷状態情報に従って選択された特定のＧＷ装置からの応答パケットのみを上記接続開始要求パケットの要求元ユーザ端末に転送し、上記要求元ユーザ端末からその後に受信した通信制御パケットとユーザパケットを上記特定ＧＷ装置に転送することを特徴とするパケット転送装置。
【請求項２】
前記負荷分散管理テーブルの接続負荷状態情報が、前記各ＧＷ装置に許容される最大接続数と現在の接続数とを含み、
前記プロトコル処理部が、上記最大接続数と現在の接続数とによって決まる接続比率に基いて、前記特定ＧＷ装置を選択することを特徴とする請求項１に記載のパケット転送装置。
【請求項３】
前記負荷分散管理テーブルの接続負荷状態情報が、前記各ＧＷ装置に許容される最大接続数と、現在の接続数と、上記最大接続数と現在の接続数とによって決まる接続比率と、接続優先度とを含み、
前記プロトコル処理部が、前記特定ＧＷ装置の選択の都度、上記負荷分散管理テーブルが示す上記特定ＧＷ装置の接続数と接続比率とを更新し、上記特定ＧＷ装置の更新後の接続比率と他のＧＷ装置の接続比率とに基いて、前記各ＧＷ装置の新たな選択優先度を決定して、上記負荷分散管理テーブルに記憶しておき、上記負荷分散管理テーブルが示す各ＧＷ装置の選択優先度に基いて、新たな接続開始要求パケットと対応する新たな特定ＧＷ装置を選択することを特徴とする請求項１に記載のパケット転送装置。
【請求項４】
前記負荷分散管理テーブルの接続負荷状態情報が、前記各ＧＷ装置の運用モードを示す運用優先度を含み、
前記プロトコル処理部が、第１の運用優先度をもつＧＷ装置の中から、前記特定ＧＷ装置を選択することを特徴とする請求項１〜請求項３の何れかに記載されたパケット転送装置。
【請求項５】
前記負荷分散管理テーブルにおいて、前記第１の運用優先度をもつ全てのＧＷ装置で接続数が最大接続数に達した場合、前記プロトコル処理部が、第２の運用優先度をもつＧＷ装置の中から、前記特定ＧＷ装置を選択することを特徴とする請求項４に記載のパケット転送装置。
【請求項６】
前記プロトコル処理部が、
前記各ユーザ端末の識別情報と対応して、予め該ユーザ端末に許容された最大接続数と現在の接続数とを示すマルチ接続管理テーブルを備え、
各接続開始要求パケットを受信した時、上記プロトコル処理部が、上記マルチ接続管理テーブルを参照し、上記接続開始要求パケットの送信元ユーザ端末の現在の接続数が最大接続数に達していた場合は、該接続開始要求パケットを廃棄し、現在の接続数が最大接続数未満の場合に、該接続開始要求パケットを前記冗長化された複数のＧＷ装置に転送すると共に、上記ユーザ端末の現在の接続数を更新することを特徴とする請求項１〜請求項４の何れかに記載されたパケット転送装置。
【請求項７】
前記プロトコル処理部が、
前記各接続開始要求パケットの送信元となるユーザ端末の識別情報と対応して、接続先候補となったＧＷ装置がもつ選択優先度を記憶するための接続管理テーブルを備え、
各接続開始要求パケットの受信時に、受信パケットのヘッダから抽出されたユーザ端末の識別情報を含む新たなテーブルエントリを上記接続管理テーブルに登録しておき、
上記接続開始要求パケットに対する応答パケットの受信の都度、前記負荷分散管理テーブルが示す上記応答パケットの送信元ＧＷ装置の選択優先度と、上記接続管理テーブルにおける上記応答パケットの宛先ユーザ端末と対応するテーブルエントリが示す選択優先度とを比較し、上記テーブルエントリに選択優先度が未登録の場合、または上記送信元ＧＷ装置の選択優先度が上記テーブルエントリに登録された選択優先度よりも高い場合に、上記送信元ＧＷ装置の選択優先度を上記テーブルエントリに登録すると共に、上記応答パケットを保持しておき、
前記所定時間が経過した時点で、保持してあった上記応答パケットを上記接続開始要求パケットの要求元ユーザ端末に転送することを特徴とする請求項３に記載のパケット転送装置。
【請求項８】
前記プロトコル処理部が、前記接続管理テーブルに新たなテーブルエントリを登録する時、該テーブルエントリに前記所定時間を計測するためのタイマ値を設定し、該タイマ値がタイムアウトとなった時、前記応答パケットを前記接続開始要求パケットの要求元ユーザ端末に転送することを特徴とする請求項７に記載のパケット転送装置。
【請求項９】
前記プロトコル処理部が、
前記複数の回線インタフェースに接続されたルーティング部と、
上記ルーティング部に結合された制御プロセッサとからなり、
上記ルーティング部が、前記各回線インタフェースから受信した通信制御パケットを上記制御プロセッサに転送し、
上記制御プロセッサが、前記負荷分散管理テーブルを参照して、前記特定ＧＷ装置を選択し、
上記ルーティング部が、上記各回線インタフェースから受信したユーザパケットと、上記制御プロセッサから受け取った通信制御パケットとをそれぞれのヘッダ情報に従って上記何れかの回線インタフェースにルーティングすることを特徴とする請求項１〜請求項８に記載されたパケット転送装置。
【請求項１０】
前記ルーティング部が、監視対象となる通信制御パケットの種類を示す監視パケットテーブルを備え、
上記ルーティング部が、前記各回線インタフェースから受信した通信制御パケットのうち、上記監視パケットテーブルで指定された通信制御パケットのみを前記制御プロセッサに転送し、上記監視パケットテーブルで指定されなかった通信制御パケットは、そのヘッダ情報に従って前記何れかの回線インタフェースにルーティングすることを特徴とする請求項９に記載のパケット転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットアクセス網を構成するパケット転送装置に関し、更に詳しくは、インターネットへの中継網に接続された複数のゲートウェイ装置のうちの１つを選択し、選択されたゲートウェイ装置を介してユーザ端末を上記中継網に接続するゲートウェイ負荷分散機能を備えたパケット転送装置に関する。
【背景技術】
【０００２】
現在、ユーザ端末をＡＤＳＬ（Asymmetric Digital Subscriber Line）、ＦＴＴＨ（Fiber To The Home）、無線ＬＡＮ等の高速アクセス回線を介して認証サーバに接続し、認証に成功したユーザ端末のみをインターネットに接続する認証型高速インターネット接続サービスが提供されている。
【０００３】
認証型高速インターネット接続サービスでは、ユーザ端末は、例えば、高速アクセス網を終端するゲートウェイ（ＧＷ）装置であるＢＡＳ（Broadband Access Server）等を介して、インターネットサービスプロバイダ：ＩＳＰ（Internet Services Provider）が管理する中継網に接続される。ユーザ端末が、ＲＦＣ２５１６（非特許文献１）で規定されたＰＰＰｏＥ（Point to Point Protocol over Ethernet）端末の場合、ＢＡＳは、ユーザ端末との接続プロトコルであるＰＰＰｏＥおよびＰＰＰを終端して、中継網にレイヤ３のパケットを転送する。
【０００４】
上述した高速アクセス網では、近年、ＩＰ電話サービスの開始に伴って、既存の電話網並みの高い通信品質が要求されている。そのため、障害が発生した時、ネットワークへの影響度が高いＢＡＳにおけるサービス停止時間を短縮すべく、中継網の入口に冗長化された複数のＢＡＳを設置し、各ユーザ端末と中継網との接続経路を冗長化した構成のアクセス網が構築されている。今後は、このような冗長化された複数のＢＡＳを含むアクセス網において、各ＢＡＳの接続負荷を適正に分散可能なアクセス網の提供が望まれている。
【０００５】
上述したレイヤ３レベルでのインターネット接続サービス以外に、近年では、レイヤ２レベルでの認証接続サービスも提供され始めている。レイヤ２レベルの認証接続サービスでは、ユーザの認証は、ＲＦＣ２２４８で規定されたＩＥＥＥ８０２．１Ｘ（非特許文献２）におけるＥＡＰ（PPP Extensible Authentication Protocol）に従って行われ、中継網は、イーサネット（Ethernet：登録商標）で構築される。ＥＡＰでは、サプリカント（認証要求者：ユーザ端末）とオーセンティケータ（認証者：ＧＷ装置）との間で、ＥＡＰＯＬ（EAP over LAN）パケットを交信することによって、ユーザ認証が行われる。オーセンティケータは、認証済みユーザ端末からパケットを受信すると、これを中継網にレイヤ２パケットとして転送する。
【０００６】
上記ＩＥＥＥ８０２．１Ｘを利用したレイヤ２レベルのインターネット接続サービスでは、各ユーザ端末（サプリカント）は、例えば、ＥＡＰ認証フェーズが完了すると、ＥＡＰ転送フェーズにおいて、ＩＳＰが管理するＤＨＣＰ（Dynamic Host Configuration Protocol）サーバにＩＰアドレスを要求し、使用すべきＩＰアドレスの割当てを受ける。ＩＥＥＥ８０２．１Ｘは、サプリカントとオーセンティケータとを１対１で接続することを基本としているため、オーセンティケータとなるＧＷ装置には、収容するサプリカントの個数に応じた複数の接続ポートを備える必要がある。
【０００７】
但し、複数のユーザ端末をＬ２ＳＷを介してオーセンティケータに収容しておき、各ユーザ端末が、ＥＡＰＯＬパケットにマルチキャスト用の特殊なＭＡＣアドレス（「01-80-C2-00-00-03」）を適用し、Ｌ２ＳＷが、このマルチキャスト用ＥＡＰＯＬパケットを透過するようにしておくことによって、オーセンティケータの１つの接続ポートに複数のサプリカントを収容することもできる。
【０００８】
レイヤ２レベルのインターネット接続サービスでも、上述したレイヤ３の接続サービスと同様、ＩＰ電話サービスの提供に伴って、ＧＷ装置（オーセンティケータ）の冗長化と負荷分散が求められている。
【０００９】
従来技術として、例えば、特開２００５−６４９３６号公報（特許文献１）には、それぞれが複数のＩＳＰに接続されている複数のＢＲＡＳ（Broadband Remote Access Server）と、ＰＰＰｏＥ端末との間にＰＰＰｏＥセッション管理装置を配置し、ＰＰＰｏＥ端末からＰＡＤＩパケットを受信した時、ＰＰＰｏＥセッション管理装置が、該ＰＰＰｏＥ端末を接続すべき最適なＢＲＡＳを選択し、この選択されたＢＲＡＳにＰＡＤＩパケットを転送するようにしたＰＰＰｏＥセッション分散システムおよび方法が提案されている。
【００１０】
【特許文献１】特開２００５−６４９３６号
【非特許文献１】ＲＦＣ２５１６  （ＰＰＰｏＥ）
【非特許文献２】ＩＥＥＥ８０２．１Ｘ（Port-Based Network Access Control）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
各ユーザ端末に中継網を介してＩＰ電話サービスを提供するためには、アクセス網および中継網の通信性能を既存の電話網並みに高める必要がある。ＰＰＰｏＥに従ったレイヤ３の接続サービスでは、上述したように、冗長化ＢＡＳ構成のアクセス網を構築できる。
【００１２】
冗長化ＢＡＳ構成のネットワークでは、ＰＰＰｏＥ端末からブロードキャストされたＰＡＤＩ（PPPoE Active Discovery Initiation）パケットに対して、複数のＢＡＳが応答パケット：ＰＡＤＯ（PPPoE Active Discovery Offer）を返信する。ＰＰＰｏＥ端末は、これらのＰＡＤＯパケットの送信元ＢＡＳのうちの１つを選択し、選択されたＢＡＳとの間で、ＰＰＰｏＥの接続手順に従ったＰＡＤＲ（PPPoE Active Discovery Request）パケット送信以降の通信制御手順を実行する。
【００１３】
但し、ＰＰＰｏＥ端末におけるＢＡＳの選択は、ＰＡＤＯパケットの受信タイミング、または各ＰＰＰｏＥ端末に実装されたＢＡＳ選択アルゴリズムに依存している。従って、ＰＰＰｏＥ端末がＢＡＳを選択する方式では、中継網を運営するＩＳＰ（または通信事業者）側で、冗長化した複数のＢＡＳの負荷分散を独自に制御することができない。そのため、例えば、複数のＢＡＳで接続負荷が均等になるようにＰＰＰｏＥ端末の接続先ＢＡＳを決める負荷分散型のＢＡＳ管理や、冗長化された複数のＢＡＳを現用系と予備系に分けたＢＡＳ運用ができないという問題がある。
【００１４】
特許文献１で提案されたＰＰＰｏＥセッション分散システムによれば、ＰＰＰｏＥセッション管理装置によって、負荷が複数のＢＲＡＳに分散される。
特許文献１のＰＰＰｏＥセッション管理装置は、各ＢＲＡＳがもっているＩＳＰ毎のＩＰアドレスの残数を記憶したＢＲＡＳ ＩＰアドレス管理テーブルと、端末ＭＡＣアドレスと接続先ＩＳＰとの対応関係を示すＩＳＰ ＰＰＰセッション対応テーブルとを備えている。
【００１５】
上記ＰＰＰｏＥセッション管理装置は、ユーザ端末からブロードキャストされたＰＡＤＩパケットを受信した時、ＩＳＰ ＰＰＰセッション対応テーブルを参照して接続先ＩＳＰを特定し、ＢＲＡＳ ＩＰアドレス管理テーブルを参照して、接続先ＩＳＰ用のＩＰアドレス残数が最も多いＢＲＡＳを選択し、選択されたＢＲＡＳに対して、ユニキャストパケットに変換されたＰＡＤＩパケットを送信している。
【００１６】
しかしながら、特許文献１では、ＰＰＰｏＥセッション管理装置が参照するＢＲＡＳ ＩＰアドレス管理テーブルの内容を適正化するために、ＰＰＰｏＥセッションを終端した各ＢＲＡＳが、現在自分が保持しているＰＰＰｏＥセッション数と残りＩＰアドレス数をＰＰＰｏＥセッション管理装置に報告し、ＰＰＰｏＥセッション管理装置が、各ＢＲＡＳからの報告データに従って、ＢＲＡＳ ＩＰアドレス管理テーブルを更新するようにしている。従って、特許文献１の負荷分散方式では、各ＢＲＡＳに、ＰＰＰｏＥセッション数と残りＩＰアドレス数のレポート機能を新たに追加する必要がある。
【００１７】
尚、ＰＰＰｏＥに従ったレイヤ３（またはＩＥＥＥ８０２．１Ｘに従ったレイヤ２）の接続サービスにおいて、本発明者等は、複数のユーザ端末と接続されたパケット中継装置が、各ユーザ端末から受信したＰＡＤＩパケット（またはＥＡＰＯＬ−Ｓｔａｒｔパケット）を中継網にマルチキャストし、これに応答して複数のＧＷ装置（ＢＡＳまたはオーセンティケータ）がＰＡＤＯ（またはＥＡＰ−Ｒｅｑｕｅｓｔ／ＩＤ要求）パケットを返信した時、パケット中継装置が、選択された特定ＧＷ装置からの応答パケットのみを接続要求元ユーザ端末に転送するようにした網構成を提案している（特願２００６−１６２０７４号）。上記網構成によれば、ＧＷ装置の機能を変更することなく、ＧＷ装置の冗長化が可能となる。但し、上記特許出願では、パケット中継装置による冗長化ＧＷ装置の負荷分散制御については述べていない。
【００１８】
本発明の目的は、複数のユーザ端末が接続されたアクセス網と、インターネットへの中継網とを冗長化された複数のＧＷ装置（ＢＡＳ、オーセンティケータ等）で接続したネットワーク構成において、各ＧＷ装置に特別な機能を追加することなく、これらのＧＷ装置の負荷を分散して、ユーザ端末とＧＷ装置とを接続できるパケット転送装置を提供することにある。
【課題を解決するための手段】
【００１９】
本発明によるパケット転送装置は、複数のユーザ端末と、インターネットへの中継網に接続される冗長化された複数のゲートウェイ（ＧＷ）装置との間に配置される。
上記目的を達成するため、本発明のパケット転送装置は、各ユーザ端末との接続回線、または各ＧＷ装置との接続回線を収容する複数の回線インタフェースと、上記複数の回線インタフェース間でのユーザパケットおよび通信制御パケットの転送を制御するプロトコル処理部とからなり、
上記プロトコル処理部が、上記各ＧＷ装置の識別情報と対応して接続負荷の状態情報を記憶した負荷分散管理テーブルを有し、上記各ユーザ端末から受信した上記中継網への接続開始要求パケットを上記冗長化された複数のＧＷ装置に転送しておき、所定時間内に受信した上記接続開始要求パケットに対する複数の応答パケットのうち、上記負荷分散管理テーブルが示す接続負荷状態情報に従って選択された特定のＧＷ装置からの応答パケットのみを上記接続開始要求パケットの要求元ユーザ端末に転送し、上記要求元ユーザ端末からその後に受信した通信制御パケットとユーザパケットを上記特定ＧＷ装置に転送することを特徴とする。
【００２０】
ここで、ユーザ端末が、例えば、ＰＰＰｏＥ端末の場合、上記接続開始要求パケットはＰＡＤＩパケット、ＧＷ装置（ＢＡＳ）からの応答パケットはＰＡＤＯパケットであり、ＰＡＤＩパケットの送信元端末は、パケット転送装置から転送されたＰＡＤＯパケットの送信元ＧＷ装置との間で、ＰＰＰｏＥに従ったその後の通信制御手順を実行する。
【００２１】
ユーザ端末が、例えば、ＩＥＥＥ８０２．１Ｘにおけるサプリカントの場合、上記接続開始要求パケットはＥＡＰＯＬ−Ｓｔａｒｔパケット、ＧＷ装置（オーセンティケータ）からの応答パケットはＥＡＰ−Ｒｅｑｕｅｓｔ／ＩＤ要求パケットであり、ＥＡＰＯＬ−Ｓｔａｒｔパケットの送信元サプリカントは、パケット転送装置から転送されたＥＡＰ−Ｒｅｑｕｅｓｔ／ＩＤ要求パケットの送信元ＧＷ装置との間で、ＩＥＥＥ８０２．１Ｘに従ったその後の通信制御手順を実行する。
【００２２】
本発明においてプロトコル処理部が参照する負荷分散管理テーブルは、上記接続負荷状態情報として、例えば、各ＧＷ装置に許容される最大接続数と現在の接続数とを含む。この場合、プロトコル処理部は、上記最大接続数と現在の接続数とによって決まる接続比率に基いて、特定ＧＷ装置を選択する。
【００２３】
本発明の１実施例では、上記負荷分散管理テーブルが、接続負荷状態情報として、各ＧＷ装置に許容される最大接続数と、現在の接続数と、上記最大接続数と現在の接続数とによって決まる接続比率と、接続優先度とを含む。この場合、プロトコル処理部は、特定ＧＷ装置の選択の都度、上記負荷分散管理テーブルが示す上記特定ＧＷ装置の接続数と接続比率とを更新し、上記特定ＧＷ装置の更新後の接続比率と他のＧＷ装置の接続比率とに基いて、前記各ＧＷ装置の新たな選択優先度を決定して、上記負荷分散管理テーブルに記憶しておき、上記負荷分散管理テーブルが示す各ＧＷ装置の選択優先度に基いて、新たな接続開始要求パケットと対応する新たな特定ＧＷ装置を選択する。
【００２４】
本発明の１実施例では、上記負荷分散管理テーブルの接続負荷状態情報が、各ＧＷ装置の運用モードを示す運用優先度を含み、プロトコル処理部が、第１の運用優先度をもつＧＷ装置の中から、特定ＧＷ装置を選択する。上記負荷分散管理テーブルにおいて、第１の運用優先度をもつ全てのＧＷ装置で接続数が最大接続数に達した場合、プロトコル処理部は、第２の運用優先度をもつＧＷ装置の中から、特定ＧＷ装置を選択する。このように、接続負荷状態情報に運用優先度を含めることによって、冗長化ＧＷ装置を現用系と待機系に分けた運用が可能となる。
【００２５】
更に詳述すると、本発明の１実施例では、プロトコル処理部が、各ユーザ端末の識別情報と対応して、予め該ユーザ端末に許容された最大接続数と現在の接続数とを示すマルチ接続管理テーブルを備える。上記マルチ接続管理テーブルを利用すると、接続開始要求パケットの受信時に、接続開始要求パケットの送信元ユーザ端末の現在の接続数が最大接続数に達していた場合は、プロトコル処理部に該接続開始要求パケットを廃棄させ、現在の接続数が最大接続数未満の場合にのみ、該接続開始要求パケットを冗長化された複数のＧＷ装置に転送させることが可能となる。
【００２６】
本発明の１実施例では、上記プロトコル処理部が、各接続開始要求パケットの送信元となるユーザ端末の識別情報と対応して、接続先候補となったＧＷ装置がもつ選択優先度を記憶するための接続管理テーブルを備える。この場合、プロトコル処理部は、各接続開始要求パケットの受信時に、受信パケットのヘッダから抽出されたユーザ端末の識別情報を含む新たなテーブルエントリを上記接続管理テーブルに登録しておき、上記接続開始要求パケットに対する応答パケットの受信の都度、前述した負荷分散管理テーブルが示す上記応答パケットの送信元ＧＷ装置の選択優先度と、上記接続管理テーブルにおける上記応答パケットの宛先ユーザ端末と対応するテーブルエントリが示す選択優先度とを比較し、上記テーブルエントリに選択優先度が未登録の場合、または上記送信元ＧＷ装置の選択優先度が上記テーブルエントリに登録された選択優先度よりも高い場合に、上記送信元ＧＷ装置の選択優先度を上記テーブルエントリに登録すると共に、上記応答パケットを保持しておき、所定時間が経過した時、上記応答パケットを上記接続開始要求パケットの要求元ユーザ端末に転送することができる。
【００２７】
本発明のパケット転送装置は、回線インタフェースとして、メタル回線インタフェース、光回線インタフェース、無線回線インタフェース、あるいは、受動光網ＰＯＮ（Passive Optical Network）の局側装置ＯＬＴ（Optical Line Terminal）機能を備えた回線インタフェースを適用することによって、Ｌ２ＳＷ、ＰＯＮシステム、無線アクセスポイント、または無線ブリッジとして機能できる。
【発明の効果】
【００２８】
本発明のパケット転送装置は、ユーザ端末から受信した接続開始要求パケットを冗長化された複数のＧＷ装置に転送し、これらのＧＷ装置から返信された複数の応答パケットの中から、各ＧＷ装置における接続負荷状態に基づいて選択した特定ＧＷ装置からの応答パケットをユーザ端末に転送するようにしているため、ユーザ端末に特殊なソフトウェアを実装することなく、且つ、各ＧＷ装置に特殊な機能を追加することなく、冗長化ＧＷ装置の負荷分散が可能となる。また、各ユーザ端末と接続される特定ＧＷ装置の選択アルゴリズムは、ＩＳＰ（または通信事業者）の要望に応じて変更できるため、ＩＳＰ（または通信事業者）にとって望ましい負荷分散が可能となる。
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照して、本発明によるパケット転送装置の実施例について説明する。
図１は、本発明のパケット転送装置が適用される通信ネットワークの構成例を示す。
ここに示した通信ネットワークは、有線アクセス網１Ｌと、無線アクセス網１Ｗと、通信事業者またはＩＳＰが管理する中継網２と、インターネット網３とからなっている。
【００３０】
有線アクセス網Ｌ１と無線アクセス網１Ｗは、それぞれ、例えば、ＩＥＥＥ８０２．１ＸやＰＰＰｏＥ等の異種プロトコルによる通信フレームの終端機能をもつゲートウェイ（ＧＷ）装置２０Ｌ（２０Ｌ−１、２０Ｌ−ｍ）、２０Ｗ（２０Ｗ−１、２０Ｗ−ｍ）を介して中継網２と接続されている。
【００３１】
有線アクセス網１Ｌは、それぞれＩＥＥＥ８０２．１ＸまたはＰＰＰｏＥ等によるセッション接続機能を備えた複数の有線ＬＡＮ端末４０（４０−１〜４０−ｎ）と、これらの有線ＬＡＮ端末４０を収容する複数のパケット転送装置１０Ｌ（１０Ｌ−１、１０Ｌ−ｎ）とからなる。各パケット転送装置１０Ｌは、冗長化された複数のＧＷ装置２０Ｌ（２０Ｌ−１、２０Ｌ−ｍ）と接続されている。
【００３２】
本発明によるパケット転送装置１０Ｌは、後述するように、受信パケットをレイヤ２ヘッダ情報に従って転送する一般的なＬ２ＳＷ機能の他に、各有線ＬＡＮ端末４０を冗長化された複数のＧＷ装置２０Ｌのうちの１つに選択的に接続するためのＧＷ選択機能を備えている。以下の説明では、特に後者の機能に着目して、パケット転送装置１０Ｌを「ＧＷ選択装置」と呼ぶことにする。本発明の第１実施例では、ＧＷ選択装置が、冗長化された複数のＧＷ装置２０Ｌ（２０Ｌ−１、２０Ｌ−ｍ）に負荷を分散させながら、有線ＬＡＮ端末４０との接続を制御する負荷分散制御機能を備えたことを特徴としている。
【００３３】
この図１に示した有線アクセス網１Ｌでは、ＧＷ選択装置１０Ｌ−１は、複数の有線ＬＡＮ端末４０（４０−１〜４０−ｋ）をそれぞれ個別のアクセス回線を介して収容しており、ＧＷ選択装置１０Ｌ−ｎは、複数の有線ＬＡＮ端末４０（４０−ｍ〜４０−ｎ）を受動光網ＰＯＮ（Passive Optical Network）を介して収容している。ＰＯＮは、複数の加入者接続装置ＯＮＵ（Optical Network Unit）４２（４２−１〜４２−ｎ）と、ＧＷ選択装置１０Ｌ−ｎに内蔵された局側装置ＯＬＴ（Optical Line Terminal）と、ＯＬＴに収容された１本の光ファイバをスターカプラ（Ｓ．Ｃ．）４３−１で複数の支線光ファイバに分岐した構造の光ファイバ網とからなっている。
【００３４】
一方、無線アクセス網１Ｗは、それぞれＩＥＥＥ８０２．１ＸまたはＰＰＰｏＥ等によるセッション接続機能を備えた複数の無線端末４１（４１−１〜４１−ｎ）と、これらの無線端末４１を収容する複数のパケット転送装置１０Ｗ（１０Ｗ−１、１０Ｗ−ｎ）とからなる。ここに示した例では、パケット転送装置１０Ｗ−１は、無線―有線変換機能を備えており、冗長化された複数のＧＷ装置２０Ｌ（２０Ｌ−１、２０Ｌ−ｍ）と接続されている。また、パケット転送装置１０Ｗ−ｎは、無線ハブ（周波数、フレーム変換等）機能を備えており、冗長化された複数のＧＷ装置２０Ｗ（２０Ｗ−１、２０Ｗ−ｍ）と接続されている。
【００３５】
無線アクセス網１Ｗを構成しているパケット転送装置１０Ｗ（１０Ｗ−１〜１０Ｗ−ｎ）も、各無線端末４１を冗長化された複数のＧＷ装置２０のうちの１つに選択的に接続するＧＷ選択機能を備えているため、以下の説明では、これらのパケット転送装置１０Ｗも「ＧＷ選択装置」と呼ぶことにする。
【００３６】
中継網２は、複数のレイヤ２スイッチ（Ｌ２ＳＷ）２１（２１−１〜２１−ｎ）と、ユーザ認証サーバ（ＲＡＤＩＵＳサーバ）２２と、ユーザ端末にＩＰアドレスを配布するためのＤＨＣＰサーバ２３と、該中継網をインターネット網３に接続するためのルータ２４とからなる。
【００３７】
図示した例では、Ｌ２ＳＷ２１−１は、ルータ２４および冗長化された１組のＧＷ装置（２０Ｌ−１〜２０Ｌ−ｍ）に接続され、Ｌ２ＳＷ２１−ｎは、ルータ２４および冗長化された他の１組のＧＷ装置（２０Ｗ−１〜２０Ｗ−ｍ）に接続されている。ここでは、ＲＡＤＩＵＳサーバ２２とＤＨＣＰサーバ２３が、Ｌ２ＳＷ２１−ｎに接続されているが、少なくとも一方をＬ２ＳＷ２１−１に接続してもよい。また、Ｌ２ＳＷ２１−１と２１−ｎの一方は、他方のＬ２ＳＷを経由してルータ２４に接続されていてもよい。
【００３８】
図２は、本発明のＧＷ選択装置１０Ｌ−１が備えるＧＷ選択機能を説明するための図である。他のＧＷ選択装置１０Ｌ−ｎ、１０Ｗ−１〜１０Ｗ−ｎも、ＧＷ選択装置１０Ｌ−１と同様のＧＷ選択機能を備えている。ここでは、ＧＷ選択装置１０Ｌ−１が冗長化された４台のＧＷ装置（２０ＬＰ−１〜２０ＬＰ−４）に接続され、ＰＰＰｏＥに従ったセッション接続手順を実行する有線ＬＡＮ端末４０−１〜４０−ｍから、セッション接続要求を受信した場合の動作について説明する。尚、図において、端末ブロックとＧＷブロックに付随する「MAC xx-xx-xx-xx-xx-xx」は、有線ＬＡＮ端末またはＧＷ装置のＭＡＣアドレスの値を例示している。
【００３９】
有線ＬＡＮ端末４０−１からＰＰＰｏＥによる接続要求を受信した場合、ＧＷ選択装置１０Ｌ−１は、有線ＬＡＮ端末４０−１をＰＰＰｏＥ端末とし、ＧＷ選択装置１０Ｌ−１に接続されたＧＷ装置をそれぞれＢＡＳ２０ＬＰ−１〜２０ＬＰ−４（図１では２０Ｌ−１〜２０Ｌ−ｍ）とみなして、接続制御手順を実行する。
【００４０】
これらのＧＷ装置（ＢＡＳ）から上記接続要求に対する応答を受信した時、ＧＷ選択装置１０Ｌ−１は、何れかのＧＷ装置、例えば、ＧＷ装置２０Ｌ−１を有線ＬＡＮ端末４０−１用の有効ＢＡＳとして選択して、その後の接続制御手順を続行する。ＰＰＰｏＥ端末４０−１と通信すべき有効ＢＡＳが決定すると、他のＧＷ装置２０Ｌ−２（２０ＬＰ−２）〜２０Ｌ−ｍ（２０ＬＰ−ｍ）は、ＰＰＰｏＥ端末４０−１のパケット転送には関与しない。
【００４１】
同様の方法で、ＧＷ選択装置１０Ｌ−１は、ＰＰＰｏＥ端末４０−２からの接続要求については、ＧＷ装置２０Ｌ−１（２０ＬＰ−１）を選択し、ＰＰＰｏＥ端末４０−ｍからの接続要求については、ＧＷ装置２０Ｌ−３（２０ＬＰ−３）を選択する。各ＰＰＰｏＥ端末４０は、ＧＷ選択装置１０Ｌ−１によって選択されたＧＷ装置２０を介して、インターネット３と通信する。ＰＰＰｏＥ端末からの接続要求を受信した時、ＧＷ選択装置１０Ｌ−１が行うＧＷ装置の選択（負荷分散）アルゴリズムについては、後で詳述する。
【００４２】
図３は、ＰＰＰｏＥで使用される通信制御フレームのフォーマットを示す。
図３（Ａ）は、有線ＬＡＮ端末４０からＧＷ装置２０に送信される接続開始パケット：ＰＡＤＩ（PPPoE Active Discovery Initiation）を示し、図３（Ｂ）は、ＧＷ装置２０から有線ＬＡＮ端末４０に送信される接続開始応答パケット：ＰＡＤＯ（PPPoE Active Discovery Offer）、図３（Ｃ）は、ＧＷ装置２０から有線ＬＡＮ端末４０に送信されるセッションＩＤ通知パケット：ＰＡＤＳ（PPPoE Active Discovery Session-Confirmation）、図３（Ｄ）は、有線ＬＡＮ端末４０またはＧＷ装置２０が発行する切断通知パケット：ＰＡＤＴ（PPPoE Active Discovery Terminate）のフォーマットを示す。これらの通信制御フレームには、イーサネットヘッダ９００とＰＰＰｏＥヘッダ９２０が付加されている。
【００４３】
ＰＡＤＩは、図３（Ａ）に示すように、ＭＡＣ−ＤＡ９０１にブロードキャストＭＡＣアドレス（Ｂ．Ｃ）、ＭＡＣ−ＳＡ９０２に、送信元となる有線ＬＡＮ端末４０のＭＡＣアドレスを含む。プロトコルタイプ９０３には、例えば、「0x8863」のようなＰＰＰｏＥを表す特定値が設定され、ＰＰＰｏＥヘッダのフレームタイプ９２１には、このフレームが「PADI」であることを示すコードが設定される。
【００４４】
ＰＡＤＯは、図３（Ｂ）に示すように、ＭＡＣ−ＤＡ９０１に、ＰＡＤＩの送信元である有線ＬＡＮ端末４０のＭＡＣアドレス、ＭＡＣ−ＳＡ９０２に、ＧＷ装置２０のＭＡＣアドレスを含み、プロトコルタイプ９０３は、ＰＰＰｏＥを表す特定値「0x8863」が設定される。ＰＰＰｏＥヘッダのフレームタイプ９２１には、このフレームが「PADO」であることを示すコードが設定される。
【００４５】
ＰＡＤＳは、図３（Ｃ）に示すように、ＭＡＣ−ＤＡ９０１に有線ＬＡＮ端末４０のＭＡＣアドレス、ＭＡＣ−ＳＡ９０２に、ＧＷ装置２０のＭＡＣアドレスを含み、プロトコルタイプ９０３には、ＰＰＰｏＥを表す特定値「0x8863」が設定される。ＰＰＰｏＥヘッダのフレームタイプ９２１には、このフレームが「PADS」であることを示すコードが設定され、セッションＩＤ９２２に、ＧＷ装置２０から有線ＬＡＮ端末４０に割り当てられたセッションＩＤの値が設定される。
【００４６】
ＰＡＤＴは、有線ＬＡＮ端末４０からＧＷ装置２０に送信する場合、図３（Ｄ）に示すように、ＭＡＣ−ＤＡ９０１にＧＷ装置２０のＭＡＣアドレス、ＭＡＣ−ＳＡ９０２に有線ＬＡＮ端末４０のＭＡＣアドレスを含み、プロトコルタイプ９０３には、「0X8863」等のようなＰＰＰｏＥを表す特定値が設定される。ＧＷ装置２０が有線ＬＡＮ端末４０にＰＡＤＴを送信する場合、ＭＡＣ−ＤＡ９０１とＭＡＣ−ＳＡ９０２との関係が逆になる。ＰＰＰｏＥヘッダのフレームタイプ９２１にはこのフレームが「PADT」であることを示すコードが設定され、セッションＩＤ９２２に、切断すべきセッションＩＤが設定される。
【００４７】
図４は、本発明によるパケット転送装置（ＧＷ選択装置）１０の第１実施例を示す。
ＧＷ選択装置１０は、それぞれ個別のポート番号（Port-1〜Port-n）が割り当てられた複数の回線インタフェース１１（１１−１〜１１−ｎ）と、これらの回線インタフェースに接続されたルーティング部１２と、通信制御パケット用の送信バッファ１３Ｔおよび受信バッファ１３Ｒと、制御プロセッサ１４と、メモリ１５からなる。
【００４８】
ルーティング部１２と制御プロセッサ１４は、上記回線インタフェース間でのパケット転送を制御するためのプロトコル処理部を構成している。メモリ１５には、プロセッサが実行する通信制御ルーチン１６と、監視パケットテーブル１５１、接続管理テーブル１５２、ポート管理テーブル１５３、マルチ接続管理テーブル１５４および負荷分散管理テーブル１５５が格納されている。
【００４９】
通信制御ルーチン１６には、図１０〜図１５で後述する各種の制御パケット受信処理ルーチンと、負荷分散処理ルーチンと、タイマ監視ルーチンとが含まれる。
監視パケットテーブル１５１は、制御プロセッサ１４で処理すべき通信制御パケットの種類を指定している。オペレータが制御端末５０を操作して、監視パケットテーブル１５１の内容を書き換えることにより、制御プロセッサ１４の動作モードを変更することができる。接続管理テーブル１５２とポート管理テーブル１５３については、図５、図６を参照して後述する。また、マルチ接続管理テーブル１５４と負荷分散管理テーブル１５５については、図７、図８を参照して後述する。
【００５０】
ＧＷ選択装置１０が、図１に示した有線アクセス網Ｌ１のＧＷ選択装置１０Ｌ−１の場合、回線インタフェース１１−１〜１１−ｎは、Ｅｔｈｅｒｎｅｔ、ＡＴＭ、ＰＯＳ（PPP over SONET）等、収容回線上で適用される通信プロトコルに対応したフレーム終端機能を備える。ＧＷ選択装置１０が、ＰＯＮを収容するＧＷ選択装置１０Ｌ−ｎの場合は、回線インタフェース１１−１〜１１−ｎは、例えば、ＧＥ−ＰＯＮ、Ｇ−ＰＯＮ、ＷＤＭ−ＰＯＮ等のＰＯＮフレームを終端するＯＬＴ機能を備えた構成となる。
【００５１】
ＧＷ選択装置１０が、図１に示した無線アクセス網１ＷのＧＷ選択装置１０Ｗ−１の場合、無線端末４１側の回線インタフェースは、例えば、ＩＥＥＥ８０２．１１ａ、ＩＥＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１ｇ、ＩＥＥＥ８０２．１６ａ、ＰＨＳ等、無線回線で適用される通信プロトコルに対応した無線インタフェース機能を備え、ＧＷ装置２０側の回線インタフェースは、Ｅｔｈｅｒｎｅｔ、ＡＴＭ、ＰＯＳ（PPP over SONET）、ＧＥ−ＰＯＮ、Ｇ−ＰＯＮ、ＷＤＭ−ＰＯＮ等、有線ＬＡＮ区間で適用される通信プロトコルに対応したインタフェース機能を備える。
また、ＧＷ選択装置１０が、図１に示したＧＷ選択装置１０Ｗ−ｎの場合、各回線インタフェースが、ＧＷ選択装置１０Ｗ−１の無線端末４１側の回線インタフェースと同様、無線回線で適用される通信プロトコルに対応した無線インタフェース機能を備える。
【００５２】
図５（Ａ）〜（Ｆ）は、接続管理テーブル１５２の構成と内容の推移を示す。
接続管理テーブル１５２は、端末が接続された回線インタフェースのポート番号（以下、端末ポート番号と言う）１５２１をもつ複数のテーブルエントリからなる。各テーブルエントリは、端末ポート番号１５２１と、端末ＭＡＣアドレス１５２２と、ＧＷが接続された回線インタフェースのポート番号（以下、ＧＷポート番号と言う）１５２３と、ＧＷのＭＡＣアドレス１５２４と、ステータス１５２５と、タイマ値１５２６と、優先度１５２７の対応関係を示している。
【００５３】
ＧＷ ＭＡＣ１５２４は、端末ＭＡＣ１５２２をもつ端末との接続候補となるＧＷ装置（以下、候補ＧＷと言う）のＭＡＣアドレスを示し、優先度１５２７は、図８で説明する負荷分散管理テーブル１５５で定義された候補ＧＷの選択優先度の値を示している。ステータス１５２５は、上記端末ＭＡＣアドレス１５２２をもつユーザ端末で実行中の通信制御手順における現在の状態を示しており、実施例では、受信待ちとなっている通信制御パケットの種類、またはセッションＩＤを示している。
【００５４】
図６は、ポート管理テーブル１５３の構成を示す。
ポート管理テーブル１５３は、回線インタフェース１１−１〜１１−ｎのポート番号１５３１と対応した複数のテーブルエントリからなり、各テーブルエントリは、ポート番号１５３１をもつ回線インタフェースがＧＷ装置との接続回線を収容したものか否かを示すＧＷ接続フラグ１５３２と、上記回線インタフェースから受信された各パケットの送信元ＭＡＣアドレス１５３３を示している。
【００５５】
ここに例示したポート管理テーブル１５３は、ポート番号１５３１の値、ＭＡＣアドレス１５３３の値から理解されるように、図２に模式的に示したネットワーク構成におけるＧＷ選択装置１０Ｌ−１と、ＰＰＰｏＥ端末４０−１〜４０−ｍと、ＧＷ装置２０ＬＰ−１〜２０ＬＰ−ｍの接続関係を表している。実際の応用において、ＧＷ選択装置１０Ｌ−１に接続された各ＧＷ装置が、オーセンティケータとＢＡＳの両方の機能を備える場合もあれば、何れか一方の機能しか備えていない場合もある。後者の場合、オーセンティケータ（またはＢＡＳ）として動作するＧＷ装置は、ＰＰＰｏＥ（またはＥＡＰＯＬ）の接続開始パケットに対して無応答となる。
【００５６】
図７は、マルチ接続管理テーブル１５４の構成を示す。
ユーザ端末と接続されるＧＷ装置は、接続開始要求発行時点での各ＧＷ装置の負荷状態によって決まるため、同一のユーザ端末が、時間をずらして複数の接続開始要求を発行した場合、このユーザ端末が、接続開始要求毎に異なったＧＷ装置に接続される場合もあれば、同じＧＷ装置に連続的に接続される場合もある。
【００５７】
例えば、２０Ｌ−１と２０Ｌ−２の２台のＧＷ装置に接続されたＧＷ選択装置１０が、ＧＷ装置毎に、各端末に許容される最大接続数を「２」に設定して、負荷分散（ＧＷ選択）を行った場合を想定する。例えば、第１、第２の接続開始要求でＧＷ装置２０Ｌ−１と接続されているユーザ端末４０−１が、第３の接続開始要求を発行した時、もし、ＧＷ装置２０Ｌ−２が選択されれば、ユーザ端末４０−１は、ＧＷ装置２０Ｌ−２を介してインターネットをアクセスできる。しかしながら、今回もＧＷ装置２０Ｌ−１が選択された場合、ユーザ端末４０−１の接続数は、既に最大接続数「２」となっているため、第３の接続開始要求は、最大接続数を超える接続要求として拒否される。
【００５８】
本実施例のマルチ接続管理テーブル１５４は、同一端末によるマルチ接続の要求数を制限するためのものであり、端末毎の接続数を示す複数のテーブルエントリからなる。各テーブルエントリは、端末ＭＡＣアドレス１５４１と、各端末毎に許容されている最大接続数１５４２と、端末毎の現在の接続数１５４３との対応関係を示している。このように、接続先となるＧＷ装置には無関係に、ユーザ端末毎にマルチ接続数を管理することによって、負荷分散によってどのＧＷ装置が選択された場合でも、ユーザ端末に公平なマルチ接続を許容できる。
【００５９】
尚、端末ＭＡＣ１５４１と最大接続数１５４２の値は、制御端末５０よって事前に設定される。最大接続数１５４２は、基本的には、端末ＭＡＣ１５４１で特定される端末毎に指定される。但し、或るテーブルエントリで、端末ＭＡＣ１５４１をＤ．Ｃ（Dont Care）にして、最大接続数１５４２を指定しておき、マルチ接続管理テーブル１５４に端末ＭＡＣが未登録の端末に関しては、上記Ｄ．Ｃエントリが示す最大接続数の範囲内で接続数を一括管理するようにしてもよい。マルチ接続管理テーブル１５４にＤ．Ｃエントリを設けない場合は、端末ＭＡＣがマルチ接続管理テーブル１５４に未登録の端末からの接続要求は廃棄される。
【００６０】
図８の（Ａ）〜（Ｄ）は、負荷分散管理テーブル１５５の構成と内容の推移を示す。
負荷分散管理テーブル１５５は、ＧＷ装置２０のＭＡＣアドレス１５５１を持つ複数のテーブルエントリからなる。各テーブルエントリは、ＧＷ ＭＡＣアドレス１５５１と、運用優先度１５５２と、選択優先度１５５３と、接続比率１５５４と、最大接続数１５５５と、接続数１５５６との対応関係を示している。ＧＷ ＭＡＣ１５５１、運用優先度１５５２、最大接続数１５５５の値は、制御端末５０よって事前に設定される。選択優先度１５５３は、端末からの接続開始要求に応じて行われるＧＷ選択の都度、その値が更新される可変値の優先度となっている。
【００６１】
上記負荷分散管理テーブル１５５を使用すると、例えば、運用優先度１５５２の値によって、負荷分散対象となる複数ＧＷ装置を高優先度ＧＷと低優先度ＧＷにグループ分けできる。この場合、低優先度ＧＷの接続数１５５６に依存することなく、高優先度ＧＷグループ内で接続負荷を分散することによって、高優先度ＧＷを現用系、低優先度ＧＷを予備系としたＧＷ運用が可能となる。
【００６２】
例えば、最も高い運用優先度「１」をもつＧＷを現用系、運用優先度が「２」と「３」のＧＷを予備系とすれば、現用系の何れかのＧＷに障害が発生した時、予備系ＧＷのうちで運用優先度の高いからものから順に、現用系に切替えることができる。また、運用優先度が「１」のＧＷを現用系として負荷分散しておき、現用系の全てのＧＷ装置で接続比率が１００％となった時、運用優先度が「２」のＧＷ装置を選択して、ユーザ端末と接続するようにしてもよい。
【００６３】
実施例では、現用系ＧＷグループ内でのＧＷ装置の選択の都度、例えば、接続比率１５５４または接続数１５５６の値に従って、各ＧＷ装置の選択優先度１５５３の値を変更しておき、この選択優先度の値に従って次のＧＷ装置を決定することによって、負荷分散型のＧＷ選択を実現している。
【００６４】
図４に戻って、ルーティング部１２は、回線インタフェース１１−１〜１１−ｎからパケットを受信すると、受信パケットの受信ポートの番号と送信元ＭＡＣアドレス（ＭＡＣ−ＳＡ９０２）との関係をポート管理テーブル１５３に登録し、受信パケットのヘッダ情報から、受信パケットが、図３に示したＰＰＰｏＥまたは図示していないＩＥＥＥ８０２．１Ｘ等の通信制御パケットか否かを判定する。
【００６５】
受信パケットが通信制御パケットの場合、ルーティング部１２は、受信パケットと受信ポート番号を受信バッファ１３Ｒを介して制御プロセッサ１４に転送する。制御プロセッサ１４は、受信バッファ１３Ｒから通信制御パケットと受信ポート番号を読み出し、後述するＧＷ選択と、通信プロトコルに従ったパケット処理を実行する。外部回線に転送すべき通信制御パケットは、制御プロセッサ１４から送信バッファ１３Ｔを介してルーティング部１２に転送される。
【００６６】
ルーティング部１２は、回線インタフェース１１−１〜１１−ｎから受信したユーザパケットと、送信バッファ１３Ｔを介して制御プロセッサ１４から受信した通信制御パケットをポート管理テーブル１５３に従って、ルーティングする。具体的に言うと、ルーティング部１２は、ポート管理テーブル１５３から、ＭＡＣアドレス１５３３が受信パケットの宛先ＭＡＣアドレス（ＭＡＣ−ＤＡ９０１）に一致するテーブルエントリを検索し、受信パケットを上記テーブルエントリのポート番号１５３１が示す特定の回線インタフェースに転送する。
【００６７】
もし、ポート管理テーブル１５３に宛先ＭＡＣアドレスに該当するテーブルエントリが未登録の場合、または、受信パケットの宛先アドレスがブロードキャストまたはマルチキャストアドレスとなっていた場合、ルーティング部１２は、受信パケットを受信ポート以外の全てのポート（回線インタフェース）に転送する。但し、送信バッファ１３Ｔから読み出した通信制御パケットが、接続開始要求パケット（ＥＡＰＯＬ−Startパケット、またはＰＡＤＩパケット）の場合、ルーティング部１２は、ポート管理テーブル１５３でＧＷ接続フラグ１５３２が「１」状態の全ポートにブロードキャストする。
【００６８】
制御プロセッサ１４で監視すべき通信制御パケットの種類は、監視パケットテーブル１５１で指定されている。制御プロセッサ１４は、受信バッファ１３Ｒから読み出した通信制御パケットが、監視対象か否かを判定し、監視対象になっていない通信制御パケットは、直ちに送信バッファ１３Ｔに出力する。受信バッファ１３Ｒから読み出した通信制御パケットが監視対象になっていた場合、制御プロセッサ１４は、通信制御ルーチン１６に従って接続管理テーブル１５２を更新した後、通信制御パケットを送信バッファ１３Ｔに出力する。
【００６９】
後述するように、第１実施例の制御プロセッサ１４は、接続開始要求に応答してＧＷ装置２０から返送された複数の応答パケットのうち、特定の１つを選択的にユーザ端末に転送し、残りを廃棄することによって、ＧＷ選択を実現する。
【００７０】
パケット転送装置（ＧＷ選択装置）１０におけるＧＷ選択方法としては、例えば、
（１）同一の接続開始要求（ＥＡＰＯＬ−StartまたはＰＡＤＩ）に対して、複数のＧＷ装置から応答パケット（ＥＡＰ−Request/ID要求またはＰＡＤＯ）を受信した場合に、最初に受信した応答パケットを有効とし、その後に受信した応答パケットは廃棄する方法、
（２）所定時間内に受信した複数の応答パケットのなかから、前回選択されたＧＷ装置とは異なる別のＧＷ装置からの応答パケットを有効とし、その他の応答パケットは廃棄する方法、
（３）冗長化された一群のＧＷ装置に優先度を与えておき、予定の時間内に受信した複数の応答パケットの中から、優先度が最も高いＧＷ装置が送信したものを選択する方法などがある。
【００７１】
冗長化された一群のＧＷ装置に負荷を分散するためには、（２）または（３）が有効となる。以下に説明する実施例では、ＧＷ選択装置は、各ＧＷ装置に与えた選択優先度に従って、（３）の方法でＧＷ装置を選択する。
【００７２】
次に、図５〜図１５を参照して、本発明のＧＷ選択装置によるＰＰＰｏＥの接続制御について説明する。
ここでは、図２に示したＧＷ選択装置１０Ｌ−１が、ＧＷ装置２０Ｌ−１〜２０Ｌ−４（ＢＡＳ２０ＬＰ−１〜２０ＬＰ−４）から受信した応答パケット（ＰＡＤＯ）のうち、選択優先度の最も高いＧＷ装置から受信したものを有効とし、かつ、今回選択したＧＷ装置の選択優先度を低い値に変更することによって、次の接続開始要求が発生した時、選択優先度が最も高い別のＧＷ装置からの応答パケットを有効にするＧＷ選択アルゴリズムを採用した場合について説明する。
【００７３】
図９に示すように、端末（ＰＰＰｏＥ端末）４０−２がＰＡＤＩパケットをブロードキャストすると（ＳＱ１１０）、ＰＰＰｏＥ接続フェーズＳＰ１がスタートする。ＧＷ選択装置１０Ｌ−１のルーティング部１２は、上記ＰＡＤＩパケットを受信すると、これを受信ポート番号「ｍ」と共に受信バッファ１３Ｒに出力する。
【００７４】
制御プロセッサ１４は、ＰＡＤＩパケットを受信すると、図１０に示すＰＡＤＩパケット受信処理ルーチン１３０を実行する。ＰＡＤＩパケット受信処理ルーチン１３０は、後述するＰＡＤＯパケット受信処理ルーチン１４０、ＰＡＤＳパケット受信処理ルーチン１５０、ＧＷ負荷分散処理ルーチン１６０、タイマ監視ルーチン１７０、ＰＡＤＴパケット受信処理ルーチン３００と共に、通信制御ルーチン１６の一部を構成している。
【００７５】
ＰＡＤＩパケット受信処理ルーチン１３０において、制御プロセッサ１４は、監視パケットテーブル１５１を参照して、ＰＡＤＩが監視対象パケットとして指定されているか否かを判定する（１３１）。もし、ＰＡＤＩが監視対象に指定されていなければ、制御プロセッサ１４は、受信したＰＡＤＩパケットを送信バッファ１３Ｔを介してルーティング部１２に転送し（１３８）、このルーチンを終了する。
【００７６】
本実施例では、ＰＡＤＩが監視対象として指定されていたと仮定する。この場合、制御プロセッサ１４は、マルチ接続管理テーブル１５４から、端末ＭＡＣアドレス１５４１が受信パケットの送信元ＭＡＣアドレス（ＭＡＣ−ＳＡ９０２）の値「00-00-00-00-00-02」と一致するテーブルエントリを検索する（１３２）。
【００７７】
テーブル検索の結果（１３３）、受信パケットのＭＡＣ−ＳＡに該当するテーブルエントリが見つからなかった場合、制御プロセッサ１４は、受信パケットを廃棄して（１３９）、このルーチンを終了する。受信パケットのＭＡＣ−ＳＡに該当するテーブルエントリが見つかった場合、制御プロセッサ１４は、同一のユーザがマルチ接続となる別の接続要求が送信したものと判断して、接続数１５４３と最大接続数１５４２とを比較し（１３４）、接続数１５４３が最大接続数１５４２以上となっていた場合は、受信パケットを廃棄して（１３９）、このルーチンを終了する。
【００７８】
接続数１５４３が最大接続数１５４２未満の場合、制御プロセッサ１４は、検索されたテーブルエントリの接続数１５４３の値に＋１を加算し（１３５）、接続管理テーブル１５２に新たなテーブルエントリＥＮｍを登録する（１３６）。上記テーブルエントリＥＮｍは、図５の（Ａ）に示すように、端末ポート１５２１としてルーティング部１２から通知された受信ポート番号「ｍ」、端末ＭＡＣ１５２２として受信パケットの送信元ＭＡＣアドレス「00-00-00-00-00-02」を含み、ステータス１５２５がＰＡＤＯ待ちとなっている。次に、制御プロセッサ１４は、上記テーブルエントリＥＮｍのタイマ値１５２６を所定値に初期化し、図１３で後述するタイマ監視ルーチン１７０を起動（１３７）した後、受信したＰＡＤＩパケットを送信バッファ１３Ｔに転送して（１３８）、このルーチンを終了する。
【００７９】
ルーティング部１２は、制御プロセッサ１４からＰＡＤＩパケットを受信すると、ポート管理テーブル１５３が示すＧＷ接続フラグ１５３２が「１」のテーブルエントリに従って、ＰＡＤＩパケットをＧＷに接続された複数の回線インタフェースにブロードキャストする（ＳＱ１１１−１〜ＳＱ１１１−４）。
【００８０】
ＢＡＳ２０ＬＰ−１〜２０ＬＰ−４は、上記ＰＡＤＩパケットに応答して、それぞれＰＡＤＯパケットを返信する（ＳＱ１１２−１〜ＳＱ１１２−４）。これらのＰＡＤＯパケットの宛先ＭＡＣアドレス（ＭＡＣ−ＤＡ９０１）は、ＰＰＰｏＥ端末４０−２のＭＡＣアドレス「00-00-00-00-00-02」となっている。
【００８１】
ＧＷ選択装置１０Ｌ−１のルーティング部１２は、ＧＷ（ＢＡＳ）２０ＬＰ−３から受信した最初のＰＡＤＯパケットを受信ポート番号「５」と共に受信バッファ１３Ｒに出力する。２番目に受信したＧＷ（ＢＡＳ）２０ＬＰ−２からのＰＡＤＯパケットは、受信ポート番号「ｎ」と共に受信バッファ１３Ｒに出力され、３番目に受信したＧＷ（ＢＡＳ）２０ＬＰ−１からのＰＡＤＯパケットは、受信ポート番号「４」と共に受信バッファ１３Ｒに出力され、最後に受信したＧＷ（ＢＡＳ）２０ＬＰ−４からのＰＡＤＯパケットは、受信ポート番号「ｋ」と共に受信バッファ１３Ｒに出力される。
【００８２】
制御プロセッサ１４は、受信バッファ１３Ｒから、ＧＷ（ＢＡＳ）２０ＬＰ−３が送信したＰＡＤＯパケットと受信ポート番号を読み出すと、図１１に示すＰＡＤＯパケット受信処理ルーチン１４０を実行し、先ず、接続管理テーブル１５２から、端末ＭＡＣ１５２２が上記ＰＡＤＯパケットの宛先ＭＡＣアドレス（ＭＡＣ−ＤＡ９０１）の値「00-00-00-00-00-02」と一致するテーブルエントリを検索する（１４１）。
【００８３】
検索の結果（１４２）、宛先ＭＡＣアドレスに一致するテーブルエントリＥＮｍが見つかった場合は、テーブルエントリＥＮｍのステータス１５２５がＰＡＤＯ待ち状態となっているか否かを判定する（１４４）。ステータス１５２５がＰＡＤＯ待ち状態以外の場合、制御プロセッサ１４は、受信したＰＡＤＯパケットを不正パケットと判断し、受信パケットを廃棄して（１４５）、このルーチンを終了する。
【００８４】
今回のケースでは、図５の（Ａ）に示すように、接続管理テーブル１５２から検索されたテーブルエントリＥＮｍでは、ステータス１５２５がＰＡＤＯ待ち状態となっている。この場合、制御プロセッサ１４は、図１２に示すＧＷ負荷分散処理ルーチン１６０を実行する。
【００８５】
尚、ＰＡＤＩが監視対象パケットとして指定されていなかった場合、図１０で説明したＰＡＤＩパケット受信処理ルーチン１３０において、端末ＭＡＣアドレス「00-00-00-00-00-02」をもつテーブルエントリＥＮｍの接続管理テーブル１５２への登録は無い。この場合、宛先ＭＡＣアドレスに一致する目的テーブルエントリの検索に失敗する。
【００８６】
接続管理テーブル１５２から目的テーブルエントリの検索に失敗した時、制御プロセッサ１４は、ＰＡＤＯパケットに基いて新たなテーブルエントリＥＮｍを生成し、これを接続管理テーブル１５２に登録（１４３）した後、ＧＷ負荷分散処理１６０を実行する。
【００８７】
この時点で生成されるテーブルエントリＥＮｍは、受信したＰＡＤＯパケットの宛先ＭＡＣアドレス（ＭＡＣ−ＤＡ９０１）の値「00-00-00-00-00-02」を端末ＭＡＣ１５２２、上記ＰＡＤＯパケットの送信元ＭＡＣアドレス（ＭＡＣ−ＳＡ９０２）の値「00-00-00-22-22-03」をＧＷ ＭＡＣ１５２４とし、ポート管理テーブル１５３が示す上記宛先ＭＡＣアドレス「00-00-00-00-00-02」と対応するポート番号「ｍ」を端末ポート１５２１としている。但し、端末ポート１５２１の値は省略してもよい。
【００８８】
図１２に示すように、ＧＷ負荷分散処理ルーチン１６０では、制御プロセッサ１４は、負荷分散管理テーブル１５５から、ＧＷ ＭＡＣ１５５１が受信パケット（ＰＡＤＯ）の送信元ＭＡＣアドレス（ＭＡＣ−ＳＡ９０２）の値「00-00-00-22-22-03」と一致するテーブルエントリを検索する（１６１）。
【００８９】
検索の結果（１６２）、送信元ＭＡＣアドレスに一致するテーブルエントリが見つからなかった場合、制御プロセッサ１４は、受信したＰＡＤＯパケットが未登録の不正ＧＷ装置からの受信パケットと判断し、受信パケットを廃棄して（１６７）、ＧＷ負荷分散処理ルーチン１６０を終了する。ＧＷ負荷分散処理ルーチン１６０が終了すると、図１１のＰＡＤＯパケット受信処理ルーチンも終了する。
【００９０】
負荷分散管理テーブル１５５から、受信パケットの送信元ＭＡＣアドレスに一致するテーブルエントリが見つかった場合、制御プロセッサ１４は、検索されたテーブルエントリで、運用優先度１５５２の値が最優先値「１」か否かを判定する（１６３）。運用優先度の値が「１」でない場合、制御プロセッサ１４は、受信パケットが予備系のＧＷ装置から送信されたものと判断し、受信パケットを廃棄して（１６７）、ＧＷ負荷分散処理ルーチン１６０を終了する。運用優先度の値が「１」の場合、制御プロセッサ１４は、上記テーブルエントリが示す選択優先度１５５３の値と、接続管理テーブル１５２が示す優先度１５２７の値とを比較する（１６４）。
【００９１】
今回のケースでは、運用優先度１５５２の値が最優先値「１」となっており、制御プロセッサ１４は、上記テーブルエントリが示す選択優先度１５５３の値と、接続管理テーブル１５２のテーブルエントリＥＮｍが示す優先度１５２７の値とを比較する（１６４）。
【００９２】
受信パケットが、端末４０−２（端末ＭＡＣ：「00-00-00-00-00-02」）宛の最初のＰＡＤＯパケットの時、図５の（Ａ）が示すように、テーブルエントリＥＮｍの優先度１５２７は値が未設定となっている。この場合、制御プロセッサ１４は、選択優先度１５５３の値が優先度１５２７の値よりも高いと判定し（１６５）、図５の（Ｂ）に示すように、上記テーブルエントリＥＮｍのＧＷ ＭＡＣ１５２４に、受信パケット（ＰＡＤＯ）の送信元ＭＡＣアドレス（ＭＡＣ−ＳＡ９０２）が示すＧＷ：２０ＬＰ−３のアドレス値「00-00-00-22-22-03」を登録し、優先度１５２７に選択優先度１５５３の値「１２」を設定し、ＧＷポート番号１５２３にＰＡＤＯパケットの受信ポート番号「５」を設定する（１６６）。
【００９３】
この時点では、ＧＷ（ＢＡＳ）２０ＬＰ−３が、端末４０−２の接続候補ＧＷとなり、制御プロセッサ１４は、ＧＷ（ＢＡＳ）２０ＬＰ−３から受信したＰＡＤＯパケットを保持した状態で、ＧＷ負荷分散処理ルーチンを終了する。
【００９４】
図９に示した例では、２番目のＰＡＤＯパケットとして、ＧＷ（ＢＡＳ）２０ＬＰ−２からのＰＡＤＯパケットが受信されている（ＳＱ１１２−２）。制御プロセッサ１４は、受信バッファ１３Ｒから、ＧＷ（ＢＡＳ）２０ＬＰ−２が送信したＰＡＤＯパケットと受信ポート番号を読み出すと、ＰＡＤＯパケット受信処理ルーチン１４０を実行し、最初のＰＡＤＯパケットの処理時と同様のプロセスを経て、ＧＷ負荷分散処理ルーチン１６０を実行する。
【００９５】
今回は、負荷分散管理テーブル１５５から、ＧＷ ＭＡＣ１５５１が「00-00-00-22-22-02」のテーブルエントリが検索される（１６１）。このテーブルエントリでは、ＧＷ（ＢＡＳ）２０ＬＰ−２の運用優先度１５５２が「２」となっているため、ステップ１６３での判定結果がＮＯとなり、制御プロセッサは、受信パケットを廃棄して（１６７）、ＧＷ負荷分散処理ルーチンを終了する。
【００９６】
同様に、受信バッファ１３Ｒから、３番目のＰＡＤＯパケットとして、ＧＷ（ＢＡＳ）２０ＬＰ−１からのＰＡＤＯパケットが読み出された時、負荷分散管理テーブル１５５からは、図８の（Ａ）に示すＧＷ ＭＡＣ１５５１＝「00-00-00-22-22-01」のテーブルエントリが検索される。上記テーブルエントリから、ＧＷ（ＢＡＳ）２０ＬＰ−１の運用優先度は「１」、選択優先度１５５３は「１１」であり、ＧＷ（ＢＡＳ）２０ＬＰ−１は、接続管理テーブル１５２に登録されている候補ＧＷの優先度１５２７の値「１２」よりも高い選択優先度をもっていることが判る。
【００９７】
従って、上記ＰＡＤＯパケットの受信時に実行されるＧＷ負荷分散処理ルーチン１６０において、制御プロセッサ１４は、ＧＷ（ＢＡＳ）２０ＬＰ−１をＧＷ（ＢＡＳ）２０ＬＰ−３に代わる新たな候補ＧＷに選択し、接続管理テーブル１５２のテーブルエントリＥＮｍで、ＧＷポート１５２３と、ＧＷ ＭＡＣ１５２４と、優先度１５２７の値を図５の（Ｃ）に示すように更新する（１６６）。この場合、制御プロセッサ１４は、それまで保持していたＧＷ（ＢＡＳ）２０ＬＰ−３からのＰＡＤＯパケットを破棄し、ＧＷ（ＢＡＳ）２０ＬＰ−１から受信したＰＡＤＯパケットを保持した状態で、ＧＷ負荷分散処理ルーチンを終了する。
【００９８】
受信バッファ１３Ｒから、第４番目のＰＡＤＯパケットとして、ＧＷ（ＢＡＳ）２０ＬＰ−４からのＰＡＤＯパケットが読み出された時、負荷分散管理テーブル１５５からは、図８の（Ａ）に示すＧＷ ＭＡＣ１５５１＝「00-00-00-22-22-04」のテーブルエントリが検索される。上記テーブルエントリから、ＧＷ（ＢＡＳ）２０ＬＰ−４の運用優先度は「１」、選択優先度１５５３は「１３」であり、ＧＷ：２０ＬＰ−４の選択優先度は、接続管理テーブル１５２のテーブルエントリＥＮｍが示す候補ＧＷの優先度１５２７の値「１１」よりも低いことが判る。
【００９９】
従って、上記ＰＡＤＯパケットの受信時に実行されるＧＷ負荷分散処理ルーチン１６０において、制御プロセッサ１４は、受信パケットを廃棄し（１６７）、ＧＷ（ＢＡＳ）２０ＬＰ−１から受信したＰＡＤＯパケットを保持した状態で、ＧＷ負荷分散処理ルーチンを終了する。
【０１００】
図１３は、タイマ監視ルーチン１７０のフローチャートを示す。
ＰＡＤＩパケット受信時に起動されたタイマ監視ルーチン１７０は、制御プロセッサ１４によって、上述したＰＡＤＯパケット受信処理ルーチン１４０およびＧＷ負荷分散処理ルーチン１６０と並行して周期的に実行される。
【０１０１】
タイマ監視ルーチン１７０では、制御プロセッサ１４は、接続管理テーブル１５２のテーブルエントリＥＮｍに設定されたタイマ値１５２６が「０」（タイムアウト）になるのを待つ（１７１）。タイマ値１５２６がタイムアウトになった時、制御プロセッサ１４は、負荷分散管理テーブル１５５において、今回選択されたＧＷ装置のＭＡＣアドレス、すなわち、接続管理テーブル１５２のテーブルエントリＥＮｍが示す候補ＧＷのＭＡＣアドレス１５２４と対応するテーブルエントリの接続数１５５６の値に＋１を加算し、接続比率１５５４を再計算する（１７２）。
【０１０２】
次に、制御プロセッサ１４は、負荷分散管理テーブル１５５に登録された運用優先度１５５２が「１」の複数のテーブルエントリにおいて、接続比率１５５４（または接続数１５５６）の少ない順に、選択優先度１５５３を再割当てする（１７３）。
【０１０３】
今回のケースでは、ステップ１７２を実行することによって、図８の（Ｂ）に示すように、候補ＧＷとして残ったＧＷ ＭＡＣ１５５１＝「00-00-00-22-22-01」のテーブルエントリで、接続数１５５６の値が「999」から「1000」に変更され、接続比率１５５４の値が「19.98」から「20.00」に変更される。また、ステップ１７３を実行することによって、図８の（Ｂ）に示すように、候補ＧＷとして残ったＧＷ ＭＡＣ１５５１＝「00-00-00-22-22-01」の選択優先度１５５３が、「11」から「13」に変更され、ＧＷ ＭＡＣ１５５１＝「00-00-00-22-22-03」、ＧＷ ＭＡＣ１５５１＝「00-00-00-22-22-04」の選択優先度１５５３が、それぞれ「12」から「11」、「13」から「12」に変更される。
【０１０４】
選択優先度１５５３を再割当てが完了すると、制御プロセッサ１４は、図５の（Ｄ）に示すように、接続管理テーブル１５２のテーブルエントリＥＮｍのステータス１５２５をＰＡＤＳ待ちに変更し（１７４）、保持してあった候補ＧＷからのＰＡＤＯパケットを送信バッファ１３Ｔに転送して（１７５）、このルーチンを終了する。
【０１０５】
尚、ステップ１７２の実行によって、負荷分散テーブル１５５が示す候補ＧＷの接続数１５５６が最大接続数１５５５に達した場合、候補ＧＷは、新たな接続要求を受け付けることができない。この場合は、接続数１５５６が減少する迄、選択優先度１５５３の値を最低レベル値にしておき、ＧＷ負荷分散処理ルーチン１６０のステップ１６３で、選択優先度の値を判定し、選択優先度が最低レベル値となっているＧＷからのＰＡＤＯは廃棄するようにすればよい。最低レベル値としては、例えば、「10」、「20」のように、一桁目が「０」の値を採用できる。
【０１０６】
図１２に示したＧＷ負荷分散処理ルーチン１６０では、運用優先度１５５２が「１」でないＧＷから受信したＰＡＤＯパケットは全て廃棄されるようになっているが、例えば、図８の（Ｃ）に示すように、運用優先度１５５２が「１」のＧＷ（現用系ＧＷ）の全てにおいて、接続数１５５６が最大接続数１５５５に達した場合（選択優先度が最低レベルとなった場合）、運用優先度が「２」のＧＷを負荷分散の対象ＧＷ群に加えるようにしてもよい。これは、ＧＷ負荷分散処理ルーチン１６０のステップ１６３で、判定結果がＮＯとなった時、負荷分散管理テーブル１５５における運用優先度１５５２が「１」のテーブルエントリについて、選択優先度１５５３の値をチェックし、全てのテーブルエントリで最低レベル値となっていた場合は、ステップ１６４を実行することを意味している。
【０１０７】
ルーティング部１２は、送信バッファ１３Ｔを介して、制御プロセッサ１４からＰＡＤＯパケットを受信すると、受信パケットの宛先ＭＡＣアドレス（ＭＡＣ−ＤＡ９０１）に基づいて、ポート管理テーブル１５３を参照する。今回の例では、ＰＡＤＯパケットの宛先ＭＡＣアドレスは「00-00-00-00-00-02」となっており、ポート管理テーブル１５３は、図６に示すように、ＭＡＣアドレス「00-00-00-00-00-02」と対応するポート番号１５３１として、ＰＰＰｏＥ端末４０−２の接続ポート番号「ｍ」を示している。従って、ルーティング部１２は、上記ＰＡＤＯパケットをポート番号「ｍ」の回線インタフェースから送信する（ＳＱ１１３）。
【０１０８】
ＰＰＰｏＥ端末４０−２は、上記ＰＡＤＯパケットを受信すると、該ＰＡＤＯパケットの送信元であるＧＷ（ＢＡＳ）２０ＬＰ−１宛にＰＡＤＲパケットを送信する（ＳＱ１１４）。本実施例では、図５の（Ｄ）に示すように、接続管理テーブル１５２において、端末４０−２と対応するテーブルエントリＥＮｍのステータス１５２５が、ＰＡＤＲへの応答パケットであるＰＡＤＳ待ち状態となっている。つまり、ＰＡＤＲパケットは、ＧＷ選択装置１０Ｌ−１での監視対象から除外されているため、ＧＷ選択装置１０Ｌ−１の制御プロセッサ１４は、ルーティング部１２から上記ＰＡＤＲパケットを受信すると、これを直ちにルーティング部１２に転送する。ルーティング部１２は、上記ＰＡＤＲパケットを受信すると、受信パケットをポート管理テーブル１５３に従ってルーティングする。
【０１０９】
上記ＰＡＤＯパケットの宛先ＭＡＣアドレス（ＭＡＣ−ＤＡ９０１）は、ＧＷ（ＢＡＳ）２０ＬＰ−１のＭＡＣアドレス「00-00-00-22-22-01」となっており、ポート管理テーブル１５３には、上記ＭＡＣアドレスと対応して、ＧＷ（ＢＡＳ）２０ＬＰ−１との接続回線のポート番号「４」が記憶されている。従って、ＰＡＤＲパケットは、回線インタフェース１１−４を介して、ＧＷ（ＢＡＳ）２０ＬＰ−１に転送される（ＳＱ１１５）。
【０１１０】
ＧＷ（ＢＡＳ）２０ＬＰ−１は、上記ＰＡＤＲに応答して、ＰＡＤＳパケットを返信する（ＳＱ１１６）。ＧＷ選択装置１０Ｌ−１ルーティング部１２は、上記ＰＡＤＳパケットを受信すると、これを受信ポート番号「４」と共に受信バッファ１３Ｒに出力する。
【０１１１】
制御プロセッサ１４は、ＰＡＤＳパケットを受信すると、図１４に示すＰＡＤＳパケット受信処理ルーチン１５０を実行する。ＰＡＤＳパケット受信処理ルーチン１５０では、制御プロセッサ１４は、ルーティング部１２から通知された受信ポート番号「４」と、受信パケットの宛先ＭＡＣアドレス（ＭＡＣ−ＤＡ９０１）の値「00-00-00-00-00-02」と、送信元ＭＡＣアドレス（ＭＡＣ−ＳＡ９０２）の値「00-00-00-22-22-01」を検索キーとして、接続管理テーブル１５２から、ＧＷポート１５２３、端末ＭＡＣ１５２２、ＧＷ ＭＡＣ１５５４が検索キーに一致するテーブルエントリを検索する（１５１）。
【０１１２】
検索の結果（１５２）、検索キーに一致するテーブルエントリＥＮｍが見つかると、制御プロセッサ１４は、図５（Ｅ）に示すように、受信したＰＡＤＳパケットが示すセッションＩＤの値（この例では、「1,000」）を上記テーブルエントリのステータス１５２５に設定し（１５３）、上記ＰＡＤＳを送信バッファ１３Ｔを介してルーティング部１２に転送して（１５４）、このルーティンを終了する。
【０１１３】
上記ＰＡＤＳパケットの宛先アドレス（ＭＡＣ−ＤＡ９０１）は「00-00-00-00-00-02」となっているため、ルーティング部１２は、上記ＰＡＤＳパケットを図６のポート管理テーブル１５３が示すポート番号「ｍ」の回線インタフェースに転送する。これによって、ＰＡＤＳパケットは、ＰＰＰｏＥ端末４０−２に送信される（ＳＱ１１７）。
【０１１４】
尚、接続管理テーブル１５２に検索キーに一致するテーブルエントリが無かった場合、制御プロセッサは、受信したＰＡＤＳをルーティング部１２に転送して（１５４）、このルーチンを終了する。この事象は、例えば、所定時間以上、通信が途絶えたセッションを検出して、テーブルエントリが自動的に削除された場合に発生する。
【０１１５】
ＰＰＰｏＥ端末４０−２がＰＡＤＳパケットを受信すると、ＰＰＰｏＥ接続フェーズＳＰ１からＰＰＰｏＥ転送フェーズＳＰ２に移行する。
ＰＰＰｏＥ転送フェーズＳＰ２において、ＧＷ選択装置１０Ｌ−１は、ＰＰＰｏＥ端末４０−２とＧＷ（ＢＡＳ）２０ＬＰ−１との間で交信されるユーザパケットの転送（ＳＱ２００）と、Keepaliveパケットの転送（ＳＱ２１０〜２１３）を行う。
【０１１６】
ＰＰＰｏＥ転送フェーズＳＰ２において、ＧＷ（ＢＡＳ）２０ＬＰ−１は、ＧＷ選択装置１０Ｌ−１を介してＰＰＰｏＥ端末４０−２から受信したＰＰＰｏＥパケット(ＳＱ２００)をルータ２４にＩＰパケットに変換して転送する（ＳＱ２０１）。また、ルータ２４から受信したＩＰパケット（ＳＱ２００）をＰＰＰｏＥパケットに変換して、ＧＷ選択装置１０Ｌ−１を介してＰＰＰｏＥ端末４０−２に転送する（ＳＱ２０１）。また、ＧＷ（ＢＡＳ）２０ＬＰ−１は、周期的にKeepalive requestパケットを発行し（ＳＱ２１０）、端末からの応答パケット（Keepalive acknowledge）を受信することによって、ＰＰＰｏＥ端末４０−２の動作状態を確認する。
【０１１７】
端末ユーザがインターネットアクセスを終了すると、ＰＰＰｏＥ端末４０−２からＧＷ（ＢＡＳ）２０ＬＰ−１宛に接続終了パケットＰＡＤＴが送信され（ＳＱ３１０）、ＰＰＰｏＥ転送フェーズＳＰ２からＰＰＰｏＥ切断フェーズＳＰ３に移行する。
ＧＷ選択装置１０Ｌ−１のルーティング部１２は、上記ＰＡＤＴパケットを受信すると、図１５に示すＰＡＤＴパケット受信処理ルーチン３００を実行する。ＰＡＤＴパケット受信処理ルーチン３００において、制御プロセッサ１４は、受信ポート番号「ｍ」と、受信パケットの送信元ＭＡＣアドレス（ＭＡＣ−ＳＡ９０２）の値「00-00-00-00-00-02」と、宛先ＭＡＣアドレス（ＭＡＣ−ＤＡ９０１）の値「00-00-00-22-22-01」を検索キーとして、接続管理テーブル１５２から、端末ポート１５２１、端末ＭＡＣ１５２２、ＧＷ ＭＡＣ１５２４が検索キーと一致するテーブルエントリＥＮｍを検索する（３０１）。但し、受信ポート番号は、検索キー項目から除外してもよい。
【０１１８】
検索の結果（３０２）、検索キーに一致したテーブルエントリＥＮｍが見つかると、制御プロセッサ１４は、上記テーブルエントリのステータス１５２５が示すセッションＩＤの値が、受信したＰＡＤＴパケットのセッションＩＤ９２２が示すセッションＩＤ値「1,000」と一致するか否かを判定する（３０５）。
【０１１９】
判定の結果（３０６）、２つのセッションＩＤが一致した場合、制御プロセッサ１４は、図５の（Ｆ）に示すように、接続管理テーブル１５２から上記テーブルエントリＥＮｍを削除し（３０７）、負荷分散管理テーブル１５５において、ＧＷ ＭＡＣ１５５１が「00-00-00-22-22-01」のテーブルエントリで、接続数１５５６の値を減算（−１）し、接続比率１５５４を再計算を行うと共に、接続数１５５６または接続比率１５５４の少ない順に、現用系ＧＷにおける選択優先度１５５３の再割当てを実行する（３０８）。
【０１２０】
負荷分散管理テーブル１５５が、例えば、図８の（Ｃ）の状態にあった時、上記ステップ３０８を実行することによって、図８の（Ｄ）に示すように、ＧＷ ＭＡＣ１５５１＝「00-00-00-22-22-01」のテーブルエントリで、選択優先度が「10」から「11」に変更される。
【０１２１】
制御プロセッサ１４は、この後、マルチ接続管理テーブル１５４における端末ＭＡＣ１５４１＝「00-00-00-00-00-01」のエントリで、接続数１５４３の値を−１減算し（３０９）、受信パケットを送信バッファ１３Ｔを介してルーティング部１２に転送して（３１２）、このルーチンを終了する。
【０１２２】
尚、判定ステップ３０６で、セッションＩＤが一致しなかった場合、制御プロセッサ１４は、宛先ＭＡＣアドレス（ＭＡＣ−ＤＡ９０１）の値「00-00-00-22-22-01」を検索キーとして、負荷分散管理テーブル１５５から、ＧＷ ＭＡＣ１５５１が検索キーと一致するテーブルエントリを検索する（３１０）。検索の結果（３１１）、目的のテーブルエントリが見つかった場合、制御プロセッサ１４は、前述したステップ３０９、３１２を実行する。もし、目的のテーブルエントリが見つからなかった場合、制御プロセッサ１４は、自装置に関係のないＰＡＤＴパケットが受信されたものと判断し、受信パケットを廃棄して（３１３）、このルーチンを終了する。
【０１２３】
受信パケットが、ＧＷ（ＢＡＳ）２０ＬＰ−１側から発行されたＰＡＤＴパケットの場合、接続管理テーブル１５２を検索した結果、判定ステップ３０２で、目的のテーブルエントリが接続管理テーブル１５２に存在しないことが判る。この場合、制御プロセッサ１４は、検索キー項目の組み合わせを変え、受信パケットの宛先ＭＡＣアドレス（ＭＡＣ−ＤＡ９０１）の値「00-00-00-00-00-02」、受信ポート番号「４」、送信元ＭＡＣアドレス（ＭＡＣ−ＳＡ９０２）の値「00-00-00-22-22-01」を検索キーとして、接続管理テーブル１５２から、端末ＭＡＣ１５２２、ＧＷポート１５２３、ＧＷ ＭＡＣ１５２４が検索キーと一致するテーブルエントリを検索する（３０３）。
【０１２４】
検索の結果（３０４）、目的のテーブルエントリが見つかった場合、制御プロセッサ１４は、前述したステップ３０５〜３１１を実行する。もし、目的のテーブルエントリが見つからなかった場合、制御プロセッサ１４は、送信元ＭＡＣアドレス（ＭＡＣ−ＳＡ９０２）の値「00-00-00-22-22-01」を検索キーとして、負荷分散管理テーブル１５５から、ＧＷ ＭＡＣ１５５１が検索キーと一致するテーブルエントリを検索し（３１０）、検索の結果に応じて、前述したステップ３０９と３１２、またはステップ３１３を実行して、このルーチンを終了する。
【０１２５】
ルーティング部１２は、制御プロセッサ１４からＰＡＤＴパケットを受信すると、ポート管理テーブル１５３から出力ポートのポート番号１５３１を特定し、上記ＰＡＤＴパケットをＢＡＳ２０ＬＰ−１に転送する（ＳＱ３１１）。
【０１２６】
上記実施例では、制御プロセッサ１４が、監視パケットテーブル１５１を参照して、受信パケットが監視対象の通信制御パケットか否かを判断しているが、この判断をルーティング部１２で行って、監視対象となっている通信制御パケットのみを選択的に制御プロセッサ１４に転送するようにしてもよい。また、実施例では、ＧＷ選択のための処理を制御プロセッサ１４で行ったが、ルーティング部１２の処理性能に問題がなければ、実施例で説明した制御プロセッサ１４の機能をルーティング部１２に実装してもよい。
【０１２７】
上述した実施例から理解できるように、本発明によれば、パケット転送装置（ＧＷ選択装置）が、ＰＰＰｏＥ端末４０から受信した接続開始要求パケットを複数のＧＷ装置（ＢＡＳ）にブロードキャストしておき、所定時間内に受信した複数の応答パケットのうち、ＧＷ選択（負荷分散）アルゴリズムに従って選択された特定ＧＷ装置からの応答パケットのみを有効にし、これを要求元端末に転送している。ＰＰＰｏＥ端末４０は、上記応答パケットの送信元ＧＷ装置との間で、その後の通信制御手順を実行する。従って、本発明のパケット転送装置（ＧＷ選択装置）によれば、ＰＰＰｏＥ端末４０の実装に依存することなく、ＧＷ装置（ＢＡＳ）の冗長化と負荷分散が可能となる。また、ＧＷ装置（ＢＡＳ）に、特許文献１のような特殊な機能を追加する必要がない。
【０１２８】
実施例では、ＰＰＰｏＥ端末４０と冗長化ＧＷ装置（ＢＡＳ）との間の接続制御手順について説明したが、本発明のＧＷ選択装置の特徴は、ＩＥＥＥ８０２．１Ｘにおけるサプリカント（ユーザ端末）とオーセンティケータ（ＧＷ装置）との間の接続制御手順にも適用できる。
【０１２９】
この場合、接続開始要求パケットはＥＡＰＯＬ−Ｓｔａｒｔパケット、ＧＷ装置（オーセンティケータ）からの応答パケットはＥＡＰ−Ｒｅｑｕｅｓｔ／ＩＤ要求パケット、切断要求パケットはＥＡＰＯＬ−Ｌｏｇｏｆｆパケットとなる。従って、プロトコル処理部には、ＰＡＤＩパケット受信処理ルーチン１３０に対応するＥＡＰＯＬ−Ｓｔａｒｔパケット受信処理ルーチンと、ＰＡＤＯパケット受信処理ルーチン１４０に対応するＥＡＰ−Ｒｅｑｕｅｓｔ／ＩＤ要求パケット受信処理ルーチンと、ＰＡＤＴパケット受信処理ルーチン３００に対応するＥＡＰＯＬ−Ｌｏｇｏｆｆパケット受信処理ルーチンとを用意すればよい。
【０１３０】
また、プロトコル処理部に、通信プロトコルの識別機能をもたせ、例えば、受信パケットがＰＡＤＩのようなＰＰＰｏＥパケットの場合は、ＰＰＰｏＥ用の処理ルーチンを実行し、受信パケットがＥＡＰＯＬ−ＳｔａｒｔパケットのようなＩＥＥＥ８０２．１Ｘ用のパケットの場合は、ＩＥＥＥ８０２．１Ｘ用の処理ルーチンを実行することによって、同一のレイヤ２アクセス網に、ＰＰＰｏＥ端末とＩＥＥＥ８０２．１ＸにおけるＥＡＰＯＬ端末（サプリカント）のように、通信プロトコルの異なる複数種類のユーザ端末の混在させることが可能となる。この場合、接続管理テーブル１５２には、図５に示したＰＰＰｏＥ用のテーブルエントリの他に、ＩＥＥＥ８０２．１Ｘ（ＥＡＰＯＬ）用のテーブルエントリを共存させてもよい。
【図面の簡単な説明】
【０１３１】
【図１】本発明のパケット転送装置（ＧＷ選択装置）が適用される通信ネットワークの構成例を示す図。
【図２】本発明のＧＷ選択装置が備えるＧＷ選択機能を説明するための図。
【図３】ＰＰＰｏＥで使用される通信制御フレームのフォーマットを示す図。
【図４】本発明のＧＷ選択装置１０の１実施例を示すブロック図。
【図５】ＧＷ選択装置１０が備える接続管理テーブル１５２の構成例と内容の推移を示す図。
【図６】ＧＷ選択装置１０が備えるポート管理テーブル１５３の構成例を示す図。
【図７】ＧＷ選択装置１０が備えるマルチ接続管理テーブル１５４の構成例を示す図。
【図８】ＧＷ選択装置１０が備える負荷分散管理テーブル１５５の構成例と内容の推移を示す図。
【図９】本発明のＧＷ選択装置１０によるＰＰＰｏＥ接続制御を示すシーケンス図。
【図１０】ＧＷ選択装置１０が実行するＰＡＤＩパケット受信処理ルーチン１３０のフローチャート。
【図１１】ＧＷ選択装置１０が実行するＰＡＤＯパケット受信処理ルーチン１４０のフローチャート。
【図１２】ＧＷ選択装置１０が実行する負荷分散処理ルーチン１６０のフローチャート。
【図１３】ＧＷ選択装置１０が実行するタイマ監視ルーチン１７０のフローチャート。
【図１４】ＧＷ選択装置１０が実行するＰＡＤＳパケット受信処理ルーチン１５０のフローチャート。
【図１５】ＧＷ選択装置１０が実行するＰＡＤＴパケット受信処理ルーチン３００のフローチャート。
【符号の説明】
【０１３２】
１Ｌ：有線アクセス網、１Ｗ：無線アクセス網、２：中継網、３：インターネット網、
１０：パケット転送装置（ＧＷ選択装置）、１１：回線インタフェース、１２：ルーティング部、１３（１３Ｔ、１３Ｒ）：送受信バッファ、１４：制御プロセッサ、１５：メモリ、１６：通信制御ルーチン、１５１：監視パケットテーブル、１５２：接続管理テーブル、１５３：ポート管理テーブル、１５４：マルチ接続管理テーブル、１５５：負荷分散管理テーブル、２０：ＧＷ装置、２１：Ｌ２ＳＷ、２２：ＲＡＤＩＵＳサーバ、２３：ＤＨＣＰサーバ、２４：ルータ、４０：有線ＬＡＮ端末、４１：無線端末、４２：ＯＮＵ、４３：スターカプラ、５０：制御端末。
【図１】
2008113260.tif 000003
【図２】
2008113260.tif 000004
【図３】
2008113260.tif 000005
【図４】
2008113260.tif 000006
【図５】
2008113260.tif 000007
【図６】
2008113260.tif 000008
【図７】
2008113260.tif 000009
【図８】
2008113260.tif 000010
【図９】
2008113260.tif 000011
【図１０】
2008113260.tif 000012
【図１１】
2008113260.tif 000013
【図１２】
2008113260.tif 000014
【図１３】
2008113260.tif 000015
【図１４】
2008113260.tif 000016
【図１５】
2008113260.tif 000017