(57)【要約】【課題】アプリケーションの要求等に従いつつ、ネットワーク全体として効率的な通信を実現するルータ選択方法及びルータ装置を提供する。【解決手段】自己の識別子を定期的にマルチキャストするマルチキャストパケット送信部２０１と、受信したデータパケットを他のセグメントのルータに中継するか否かを決定する中継決定部２０５と、他のルータからのマルチキャストパケットに含まれる情報に基づいて転送するルータを決定する順番決定部２０７と、中継しない場合、順番決定部２０７により選択されたルータを中継先として送信元へ通知するとともに、選択されたルータへ転送するパケット中継部２０６とを有することにより、パケットを中継するのに適したルータが最終的には選択され、また、この中継ルータの切換はルータのリダイレクトのみによって行われるので、端末への新たな機能追加が必要ない。【選択図】図２
2005130476.tif 000002
【特許請求の範囲】
【請求項１】
外部ネットワークとの中継を行う複数のルータを含むローカルエリアネットワークにおけるルータ選択方法であって、
同一セグメント内の全ルータが自己の識別子を含むマルチキャストパケットを定期的にマルチキャストするステップと、
前記ルータが同一セグメント内の他のルータから受信した、前記マルチキャストパケットに含まれる情報に基づいて、同一セグメント内の前記複数のルータ間でデータパケットを転送するルータを選択するルータ選択ステップと、
各ルータが同一セグメント内のノードあるいはルータから受信したデータパケットをあらかじめ決められた条件に従って他のセグメントへ中継するか否かを決定するステップと、前記データパケットを受信したルータが前記データパケットを他のセグメントへ中継しない場合に、前記選択されたルータを中継先にするように前記データパケットの送信元へ指示するリダイレクトを行うとともに、前記選択されたルータへ前記データパケットを転送するか、または破棄する転送ステップと、
前記リダイレクトを受信した前記送信元ノードが、前記データパケットとそれ以降のデータパケットを前記指示されたルータへ送信するステップと
を有し、
前記転送ステップが、中継可能なルータに受信されるまで繰り返されることを特徴とするルータ選択方法。
【請求項２】
外部ネットワークとの中継を行う複数のルータを含むローカルエリアネットワークにおけるルータ選択方法であって、
同一セグメント内の全ルータが自己の識別子を含むマルチキャストパケットを定期的にマルチキャストするステップと、
前記ルータが同一セグメント内の他のルータから受信した、前記マルチキャストパケットに含まれる情報に基づいて、同一セグメント内の前記複数のルータ間でデータパケットを転送するルータを選択するステップと、
各ルータが同一セグメント内のノードあるいはルータから受信したデータパケットをあらかじめ決められた条件に従って他のセグメントへ中継するか否かを決定するステップと、前記ルータが受信した前記データパケットを他のセグメントへ中継しないと決定した場合に、前記データパケットを前記選択されたルータへ転送するステップと、
前記ルータが受信した前記データパケットを他のセグメントへ中継する場合に、前記データパケットが送信元のノードから直接受信したものではなく、他のルータから転送された転送パケットである場合、当該ルータ自身が前記転送パケットを中継可能であることを示す中継報告情報を転送元のルータへ送信するステップと、
前記転送元のルータが前記中継報告情報を受信したときに、自己が当該中継報告情報の対象とするデータパケットを転送した最初のルータであるか否かを判定し、自己が最初のルータである場合、前記データパケットの送信元ノードへ、中継可能なルータを指示するリダイレクトを送信し、自己が最初のルータでない場合、前記中継報告情報の対象とするデータパケットの転送元であったルータへ、前記中継報告情報を転送するステップと、
を有するルータ選択方法。
【請求項３】
前記マルチキャストパケットに記載された情報は、各ルータの識別子であることを特徴とする請求項１あるいは２に記載のルータ選択方法。
【請求項４】
前記ルータ選択ステップにおけるルータを選択する順番は、前記マルチキャストパケットに含まれる前記情報のみを使用することを特徴とする請求項３に記載のルータ選択方法。
【請求項５】
前記選択されるルータを決定する順番は、同一セグメントへのルータの追加、あるいは削
除に応じて更新されることを特徴とする請求項１あるいは２に記載のルータ選択方法。
【請求項６】
前記マルチキャストパケットは各ルータから定期的に送信され、前記マルチキャストパケットが未受信のルータから受信された場合に、前記ルータが同一セグメントへ追加されたものとして前記順番に追加することを特徴とする請求項５に記載のルータ選択方法。
【請求項７】
さらに、一定時間特定のルータからのマルチキャストパケットが送信されない場合に、前記特定のルータがＬＡＮから削除されたものとして前記順番から削除することを特徴とする請求項６に記載のルータ選択方法。
【請求項８】
自己の識別子を含むマルチキャストパケットを定期的にマルチキャストするマルチキャストパケット送信部と、
同一セグメント内のノードあるいはルータから受信した、他のセグメントへ中継すべきデータパケットを、あらかじめ決められた条件に従って他のセグメントのルータに中継するか否かを決定する中継決定部と、
同一セグメント内の他のルータから受信した前記マルチキャストパケットに含まれる情報に基づいて、同一セグメント内のルータの中から前記データパケットを転送するルータを決定する順番決定部と、
前記中継決定部からの中継不可の通知を受けて、前記順番決定部により選択された前記ルータへ前記データパケットを転送するとともに、当該転送先のルータを、前記データパケットの中継先として前記データパケットの送信元へ通知するか、または前記データパケットを破棄するパケット中継部と
を有するルータ装置。
【請求項９】
自己の識別子を含むマルチキャストパケットを定期的にマルチキャストするマルチキャストパケット送信部と、
同一セグメント内のノードあるいはルータから受信した、他のセグメントへ中継すべきデータパケットを、あらかじめ決められた条件に従って他のセグメントのルータに中継するか否かを決定する中継決定部と、
同一セグメント内の他のルータから受信した前記マルチキャストパケットに含まれる情報に基づいて、同一セグメント内のルータの中から、前記データパケットを転送するルータを決定する順番決定部と、
前記中継決定部からの中継不可の通知を受けて、前記順番決定部により選択されたルータへ前記データパケットを転送するとともに、当該データパケットの送信元がノードであった場合は少なくとも当該データパケットを特定するパケット識別子と送信元を特定するデバイス識別子とを関連づけてヘッダ情報記憶部に記憶するパケット中継部と、前記パケット中継部からの要求で、自己がパケットを中継する旨を報告する中継報告メッセージを生成する中継報告生成部と、
他のルータから受信した前記中継報告メッセージを前記データパケットの転送元のルータへ転送する中継報告転送部と、
を有し、
前記パケット中継部は他のルータから受信した前記中継報告メッセージの対象とする前記データパケットが、前記ヘッダ情報記憶部に記憶したものと同一である場合、前記デバイス識別子の示す送信元ノードへ前記データパケットを中継するルータを通知することを特徴とするルータ装置。
【請求項１０】
前記順番決定部は、前記マルチキャストパケットに含まれる前記識別子を用いてルータの選択順位を決定することを特徴とする請求項８あるいは９に記載のルータ装置。
【請求項１１】
前記順番決定部は、前記マルチキャストパケットに含まれるフラグ情報をさらに用いてル
ータの選択順位を決定することを特徴とする請求項１０に記載のルータ装置。
【請求項１２】
前記順番決定部は、前記選択順位に含まれないルータからマルチキャストパケットを受信した場合に前記選択順位に追加し、前記選択順位に含まれるルータから規定時間マルチキャストパケットを受信しない場合に選択順位から削除する順番更新部を有することを特徴とする請求項１１に記載のルータ装置。
【請求項１３】
前記条件が前記データパケットの種別、ルータにおける輻輳状態、伝送能力、前記中継決定部で中継しないと判断した回数、あるいは通信コスト、またはこれらの条件のうちいずれかの組み合わせであることを特徴とする請求項８あるいは９に記載のルータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はルータに関し、特に外部ネットワークへの接続機能を持つ２台以上のルータ装置が存在するローカルエリアネットワーク（ＬＡＮ）において、特定のパケットフローに対応するルータを決定するルータ選択方法及びルータ装置に関する。
【背景技術】
【０００２】
従来より、このルータ選択方法としては、非特許文献１に記載されているようなものがあった。
【０００３】
この非特許文献１に記載の方法では、仮想ルータと呼ばれるルータの集合が一つのＩＰアドレスを共有し、マスタルータである一台のルータがＬＡＮのデフォルトルータとして動作し、その他のルータはバックアップルータとして待機する。各ルータには優先度が設定される。
【０００４】
マスタルータが何らかの理由によりＬＡＮのデフォルトルータとしての動作が不可能になると、バックアップルータの中から最も優先度の高いルータが次にマスタルータとして動作し始める。
【０００５】
ルータのパケットの転送能力の高い順に優先度を設定すれば、ＬＡＮ全体として通信効率を向上することが可能である。
【０００６】
しかし、この方法では常に仮想ルータの中で使用できるルータは一台のみであり、目的に応じて適切なルータを選択することはできない。
【０００７】
このため、無線ＬＡＮへのアクセスインタフェースを持つルータ(無線ＬＡＮルータ)と、セルラ網へのアクセスインタフェースを持つルータ(セルラルータ)があった場合に、広帯域が必要なＦＴＰを行うためには無線ＬＡＮルータ、信頼性が必要なＩＰ電話を使用するためにはセルラルータを使用する等、アプリケーションの要求によって最適なアクセスインタフェースを持つルータを選択して使用することができなかった。
【０００８】
この課題を解決する方法として、例えば特許文献１に記載されているようなものがあった。図２８は、この特許文献１に記載の方法を示す構成図である。図２８において、アクセス選定１５１は、いずれかのアクセス網へのインタフェースを備えるルータの本アクセスに関する情報１５３に設定されたアクセス能力と端末のユーザプリファレンス１５２に設定されたユーザの要求するアクセス能力とを比較し、端末が最適なルータを決定する。
【特許文献１】特表２００３−５１４４４２号公報（第１４−１６頁、図２）
【非特許文献１】Ｓ. Ｋｎｉｇｈｔ他,  "Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ  Ｒｅｄｕｎｄａｎｃｙ  Ｐｒｏｔｏｃｏｌ",  ＲＦＣ２３３８（ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２３３８．ｔｘｔ)
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記従来の構成では、端末がルータを選択するため、ルータだけでなく、端末にも特別な機能を備える必要があるという課題を有していた。一般に端末の通信機能はルータの通信機能と比べて低く、上記のような機能追加はコストや機器サイズの面から現実的ではない。また、端末が個別にルータを選択するため、複数の端末が一台のルータを選択してしまうと、負荷が集中して効率的な通信ができないという課題も有していた。
【００１０】
本発明は、上記従来の課題を解決するもので、アプリケーションの要求等に従いつつ、ネットワーク全体として効率的な通信を実現するルータ選択方法及びルータ装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係るルータ選択方法は、外部ネットワークとの中継を行う複数のルータを含むローカルエリアネットワークにおけるものであって、同一セグメント内の全ルータが自己の識別子を含むマルチキャストパケットを定期的にマルチキャストするステップと、ルータが同一セグメント内の他のルータから受信した、マルチキャストパケットに含まれる情報に基づいて、同一セグメント内の複数のルータ間でデータパケットを転送するルータを選択するルータ選択ステップと、各ルータが同一セグメント内のノードあるいはルータから受信したデータパケットをあらかじめ決められた条件に従って他のセグメントへ中継するか否かを決定するステップと、データパケットを受信したルータがこのデータパケットを他のセグメントへ中継しない場合に、選択されたルータを中継先にするようにデータパケットの送信元へ指示するリダイレクトを行うとともに、前記選択されたルータへデータパケットを転送するか、または破棄する転送ステップと、リダイレクトを受信した前記送信元ノードが、データパケットとそれ以降のデータパケットを指示されたルータへ送信するステップとを有し、転送ステップが、中継可能なルータに受信されるまで繰り返されることを特徴としている。
【００１２】
これによって、パケットを中継するのに適したルータが最終的には選択される。また、ルータ選択はルータのリダイレクトのみによって行われるので、端末への新たな機能追加を不要にすることができる。
【００１３】
本発明に係るルータ選択方法は、外部ネットワークとの中継を行う複数のルータを含むローカルエリアネットワークにおけるものであって、同一セグメント内の全ルータが自己の識別子を含むマルチキャストパケットを定期的にマルチキャストするステップと、ルータが同一セグメント内の他のルータから受信した、マルチキャストパケットに含まれる情報に基づいて、同一セグメント内の複数のルータ間でデータパケットを転送するルータを選択するステップと、各ルータが同一セグメント内のノードあるいはルータから受信したデータパケットをあらかじめ決められた条件に従って他のセグメントへ中継するか否かを決定するステップと、ルータが受信したデータパケットを他のセグメントへ中継しないと決定した場合に、データパケットを選択されたルータへ転送するステップと、ルータが受信したこのデータパケットを他のセグメントへ中継する場合に、このデータパケットが送信元のノードから直接受信したものではなく、他のルータから転送された転送パケットである場合、当該ルータ自身が転送パケットを中継可能であることを示す中継報告情報を転送元のルータへ送信するステップと、転送元のルータが中継報告情報を受信したときに、自己が当該中継報告情報の対象とするデータパケットを転送した最初のルータであるか否かを判定し、自己が最初のルータである場合、このデータパケットの送信元ノードへ、中継可能なルータを指示するリダイレクトを送信し、自己が最初のルータでない場合、中継報告情報の対象とするデータパケットの転送元であったルータへ、中継報告情報を転送するステップとを有している。
【００１４】
これによって、パケットを中継するのに適したルータが最終的には選択される。また、ルータ選択はルータのリダイレクトのみによって行われるので、端末への新たな機能追加を不要にすることができる。さらに、リダイレクトパケットは中継可能なルータが決定した時点でのみ送信されるため、リダイレクトパケットの増加によるネットワーク負荷の増大を抑制できる。また端末が経路変更をする回数が１回で済むため、端末の処理負荷を低減できる。
【００１５】
また、本発明に係るルータ選択方法におけるマルチキャストパケットに記載された情報は、各ルータの識別子であることを特徴としている。これにより、手動で順番を設定することが不要となる。また、例えば識別子の昇順/降順によって順番を決定することで、重複のない順番を決定することができる。
【００１６】
また、本発明に係るルータ選択方法は、ルータ選択ステップにおけるルータを選択する順番が、マルチキャストパケットに含まれる情報のみを使用することを特徴としている。これにより、前記データパケットが本発明に係るルータ選択方法に対応していないルータに転送された場合に、その後の順番のルータに一切転送されない状態に陥り、前記本発明に対応していないルータに負荷が集中してしまうことを防止することができる。
【００１７】
また、本発明に係るルータ選択方法における選択されるルータを決定する順番は、同一セグメントへのルータの追加、あるいは削除に応じて更新されることを特徴としている。これにより、ルータの追加時には追加されたルータを含めたルータ選択、ルータの削除時には削除されたルータを除いたルータ選択が可能となる。
【００１８】
また、本発明に係るルータ選択方法におけるマルチキャストパケットは、各ルータから定期的に送信され、マルチキャストパケットが未受信のルータから受信された場合に、ルータが同一セグメントへ追加されたものとして順番に追加することを特徴としている。これにより、ルータが追加されたときにも手動で順番を更新する必要がなくなる。
【００１９】
また、本発明に係るルータ選択方法は、一定時間特定のルータからのマルチキャストパケットが送信されない場合に、特定のルータがＬＡＮから削除されたものとして順番から削除することを特徴としている。これにより、ルータの削除時にも手動で順番を更新する必要がなくなる。
【００２０】
本発明に係るルータ装置は、自己の識別子を含むマルチキャストパケットを定期的にマルチキャストするマルチキャストパケット送信部と、同一セグメント内のノードあるいはルータから受信した、他のセグメントへ中継すべきデータパケットを、あらかじめ決められた条件に従って他のセグメントのルータに中継するか否かを決定する中継決定部と、同一セグメント内の他のルータから受信した前記マルチキャストパケットに含まれる情報に基づいて、同一セグメント内のルータの中から前記データパケットを転送するルータを決定する順番決定部と、この中継決定部からの中継不可の通知を受けて、順番決定部により選択されたルータへデータパケットを転送するとともに、当該転送先のルータを、データパケットの中継先としてデータパケットの送信元へ通知するか、またはデータパケットを破棄するパケット中継部とを有している。
【００２１】
これにより、ルータは、自己の保持する情報のみによりパケットを中継すべきかどうかを決定でき、自己の保持する情報を他の端末やルータに伝える必要がないため、中継決定のための条件をルータ毎に自由に設定できる。また、パケットを中継するのに適したルータが最終的には選択される。この中継ルータの切換はルータのリダイレクトのみによって行われるので、端末への新たな機能追加が必要ない。
【００２２】
本発明に係るルータ装置は、自己の識別子を含むマルチキャストパケットを定期的にマルチキャストするマルチキャストパケット送信部と、同一セグメント内のノードあるいはルータから受信した、他のセグメントへ中継すべきデータパケットを、あらかじめ決められた条件に従って他のセグメントのルータに中継するか否かを決定する中継決定部と、同一セグメント内の他のルータから受信したこのマルチキャストパケットに含まれる情報に基づいて、同一セグメント内のルータの中から、このデータパケットを転送するルータを
決定する順番決定部と、この中継決定部からの中継不可の通知を受けて、順番決定部により選択されたルータへこのデータパケットを転送するとともに、当該データパケットの送信元がノードであった場合は少なくとも当該データパケットを特定するパケット識別子と送信元を特定するデバイス識別子とを関連づけてヘッダ情報記憶部に記憶するパケット中継部と、このパケット中継部からの要求で、自己がパケットを中継する旨を報告する中継報告メッセージを生成する中継報告生成部と、他のルータから受信した中継報告メッセージをデータパケットの転送元のルータへ転送する中継報告転送部とを有し、パケット中継部は他のルータから受信した中継報告メッセージの対象とするデータパケットが、ヘッダ情報記憶部に記憶したものと同一である場合、デバイス識別子の示す送信元ノードへデータパケットを中継するルータを通知することを特徴としている。
【００２３】
これにより、ルータは、自己の保持する情報のみによりパケットを中継すべきかどうかを決定でき、自己の保持する情報を他の端末やルータに伝える必要がないため、中継決定のための条件をルータ毎に自由に設定できる。また、パケットを中継するのに適したルータが最終的には選択される。この中継ルータの切換はルータのリダイレクトのみによって行われるので、端末への新たな機能追加が必要ない。さらに、リダイレクトパケットは中継可能なルータが決定した時点でのみ送信されるため、リダイレクトパケットの増加によるネットワーク負荷の増大を抑制できる。また端末が経路変更をする回数が１回で済むため、端末の処理負荷を低減できる。
【００２４】
本発明に係るルータ装置の順番決定部は、マルチキャストパケットに含まれる識別子を用いてルータの選択順位を決定する。これにより、手動で順番を設定することが不要となる。また、例えば識別子の昇順/降順によって順番を決定することで、重複のない順番を決定することができる。
【００２５】
本発明に係るルータ装置の順番決定部は、マルチキャストパケットに含まれるフラグ情報をさらに用いてルータの選択順位を決定する。これにより、本発明に係るルータではないルータを選択するルータの順番に含めることを防ぐことができ、これにより、本発明に係るルータにデータパケットが転送された際にその後の転送が行われないことによる負荷の集中を防止することができる。
【００２６】
また、本発明に係るルータ装置の順番決定部は、選択順位に含まれないルータからマルチキャストパケットを受信した場合に選択順位に追加し、この選択順位に含まれるルータから規定時間マルチキャストパケットを受信しない場合に選択順位から削除する順番更新部を有している。これにより、ルータが追加されたときや、削除されたときにも手動で順番を更新する必要がなくなる。
【００２７】
また、本発明に係るルータ装置の中継決定部による中継可否条件は、前記データパケットの種別、ルータにおける輻輳状態、伝送能力、前記中継決定部で中継しないと判断した回数、あるいは通信コスト、またはこれらの条件のうちいずれかの組み合わせである。これにより、ルータがアクセスする回線の状況を判断して可否決定が行なわれるので、パケットを中継するのに適したルータが最終的には選択される。また、中継するのに適したルータが決定せずに何度もルータ間をパケットが転送されている場合には、その他の条件を緩和して中継する等の処理を行うことで、ネットワーク負荷の増大を防止できる。
【発明の効果】
【００２８】
本発明のルータ選択方法によれば、種々の目的に応じたルータ選択をルータのみの制御で実現することができる。
【００２９】
また、各ルータのアクセス能力はルータ自身が保持していればよく、他のルータや端末
に伝える必要がないため、アクセス能力情報交換のためのメッセージが不要であり、トラフィックの削減と共にアクセス能力情報自体の自由度も向上する。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００３１】
（実施の形態１）
図１は、本発明の実施の形態におけるネットワークの構成を示す図である。
【００３２】
図１において、ルータ１１、１２、１３はＬＡＮ１と外部ネットワーク２の通信を中継し、第３世代セルラ（帯域：３６４ｋｂｐｓ、パケット課金）３、ＰＨＳ（帯域：６４ｋｂｐｓ、定額）４、無線ＬＡＮ(帯域：５Ｍｂｐｓ、定額)５とのアクセスインタフェースを備える。端末１４、１５はＬＡＮ１に属し、外部端末１６、１７は外部ネットワーク２に接続している。ルータ１１〜１３はアクセスインタフェースの他にＬＡＮインタフェースを備え、同じＬＡＮインタフェースを持つ端末１４，１５と接続されている。
【００３３】
図２は本実施の形態におけるルータ１１、１２、１３の構成を示すブロック図である。図２において、ＬＡＮインタフェース２０８はＬＡＮ１に接続されている端末１４、１５及び他のルータとの通信における物理層処理及びデータリンク層処理を行うものである。アクセスインタフェース２０９は外部ネットワークとの通信における物理層処理及びデータリンク層処理を行うものである。
【００３４】
ＲＡ生成部２０１は自己を識別する識別子を含むルータアドバタイズメント（Ｒｏｕｔｅｒ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ）パケット（以下、ＲＡパケットという。）を生成するものである。このＲＡ生成部２０１とＬＡＮインタフェース２０８との構成により、マルチキャストパケット送信部を構成している。
【００３５】
また、順番表更新部２０２は同一セグメント内の端末から受信したデータパケットを他のセグメントへ中継する同一セグメント内のルータを選択する順番が記載された順番表にルータを登録、あるいは削除といった更新をするものであり、更新された順番表は順番表記憶部２０４に格納され、次の更新時に読み出される。そして、ルータ決定部２０３はこの順番表から該当するルータを決定するものである。これら順番表更新部２０２、ルータ決定部２０３、および順番表記憶部２０４が順番決定部２０７を構成している。
【００３６】
また、中継決定部２０５はＬＡＮインタフェース２０８を介して受信したデータパケットを、あらかじめ設定されているアクセスする回線の輻輳状態や、伝送能力といった条件を判断し、他のセグメントのルータへ中継するか否かを決定するものである。また、中継決定部２０５は送信元アドレス及び送信先アドレスの等しいパケット群をフローとして管理するフロー表も有している。
【００３７】
パケット中継部２０６はルーティングテーブルを有しており、中継決定部２０５への問い合わせ結果に従って、データパケットをこのルーティングテーブルに従って中継先のルータへ転送したり、データパケットの送信元へ中継を行うルータの変更を指示するものである。
【００３８】
以下に、上記の各機能ブロックの動作について説明する。
【００３９】
図６はＲＡ生成部２０１の動作を説明するフロー図である。
【００４０】
ＲＡ生成部２０１はルータ間でＲＡパケット送信時刻が同期することを防止するため、
一定時間＋ランダム時間待機して（ステップＳ６１）、ＬＡＮインタフェース２０８を介してＲＡパケットをマルチキャストする（ステップＳ６２）。この一定時間は通常５秒と設定されている。ここで、ＲＡパケットのフォーマットを図１２に示す。送信元アドレスフィールド（１２１）には、ＲＡパケットを送信するルータのアドレスが設定されている。
【００４１】
図７は順番決定部２０７の動作を説明するフロー図である。
【００４２】
順番表更新部２０２は他のルータからＬＡＮインタフェース２０８を介してＲＡパケットを受信したか否かをチェックし（ステップＳ７１）、受信しない場合、前回到着時刻から一定時間を越えてＲＡパケットが到着しないルータが、既に登録されたルータ中にあるか否かをチェックする（ステップＳ７２）。該当するルータがあった場合、順番表更新部２０２は順番表から当該ルータを削除し（ステップＳ７３）、ステップＳ７１へ戻る。該当するルータがない場合も、ステップＳ７１へ戻る。
【００４３】
一方、ＲＡパケットを受信していた場合、順番表更新部２０２は受信したＲＡパケットの送信元アドレスを参照し、順番表に登録済みであるか否かをチェックする（ステップＳ７４）。登録済みである場合は、当該ルータがエントリした前回到着時刻を更新し（ステップＳ７５）、登録済みでない場合は順番表に追加する（ステップＳ７６）。この順番表への追加は、送信元アドレスフィールド（１２１）を参照して行われ、ルータのホストアドレスの昇順に登録される。なお、このアドレスの昇順に登録する指示は、それぞれのルータに対してあらかじめ設定が行われている。
【００４４】
ここで、ルータ１１、１２、１３が図４に示す順序でＲＡパケットをマルチキャストした場合の、ルータ１１における順番表の遷移を図５（ａ）乃至（ｃ）に示す。
【００４５】
ルータ１１は他のルータからＲＡパケットを受信していない場合（ステップＳ２１）、図５（ａ）のように自己のアドレスのみを含む順番表を保持している。
【００４６】
次にルータ１３からのＲＡパケットを受信すると(ステップＳ２２)、図５（ｂ）のようにルータ１３のアドレスを順番表に追加する。この時、前回到着時刻欄にＲＡパケットの受信時刻が記入される。
【００４７】
最後にルータ１２からのＲＡパケットを受信すると(ステップＳ２３)、図５（ｃ）のようにルータ１２のアドレスを順番表に追加する。ここではアドレスの昇順に順番表を作成することとしているので、ルータ１１とルータ１３との間にルータ１２のアドレスを追加している。なお、順番表の最後のエントリの次は最初のエントリであるとする。
【００４８】
このようにして、順番表がルータ毎に作成され保持される。また、順番表を作成するための規則は全ルータで共通であるので、この順番表はＲＡパケットの前回到着時刻（１４１）を除いて、全ルータで同じ内容のものを保持する。なお、本実施の形態では順番表をルータのアドレスの昇順にしているが、降順でもよいし、その他の規則に従っていてもよい。
【００４９】
以上のＲＡ生成部２０１と順番決定部２０７とにより、ルータ１１乃至１３は定期的にＲＡ生成部２０１が生成したＲＡパケットを、ＬＡＮインタフェース２０８を介してマルチキャストして自己の識別情報を通知する。そして、それと共に、順番決定部２０７がＬＡＮインタフェースを介して受信した他のルータの識別情報から順番表を常時更新する。
【００５０】
図９乃至図１１はそれぞれルータ１１乃至１３の中継決定部２０５の動作を説明するフ
ロー図である。また、図１４（ａ）は上記の順番表にエントリされたルータの状態を示すものである。
【００５１】
初めに、図９を用いてルータ１１の中継決定部２０５の動作について説明する。このルータ１１は第３世代セルラ通信のアクセスインタフェースを備え、使用頻度を低く抑えるために、初回の転送要求は必ず同一セグメントの他のルータへ回すように設定されている。
【００５２】
まず、中継決定部２０５は、パケット中継部２０６からの問い合わせにより起動し、到着パケットの送信元アドレス及び送信先アドレスを参照し、フロー表にエントリがあるか否かをチェックする（ステップＳ９１）。なお、パケットヘッダの１以上のフィールドの値が等しい一連のパケット群を一つのフローであるとする。すなわち、ここでは送信元アドレス及び送信先アドレスの等しいパケット群をフローと定義する。これは、特定のホスト間通信を構成するパケット群を意味している。到着パケットのフローに関するエントリがない場合、フロー表に送信元アドレス、宛先アドレスを設定した後、状態欄にリダイレクト（Ｒｅｄｉｒｅｃｔｅｄ）としてエントリを追加し（ステップＳ９２）、中継不可と判断する（ステップＳ９３）。
【００５３】
一方、フロー表にエントリがある場合、フロー表の状態がリダイレクトか否かをチェックし（ステップＳ９４）、リダイレクト状態でなければ中継可と判断する（ステップＳ９７）。フロー表の状態がリダイレクトの場合、アクセスインタフェースが輻輳しているか否かをチェックする（ステップＳ９５）。輻輳していない場合、状態をアクティブに設定し（ステップＳ９６）、中継可と判断し（ステップＳ９７）パケット中継部２０６に応答を返す。アクセスインタフェースが輻輳している場合、中継不可（ステップＳ９３）と判断し、パケット中継部２０６に応答を返す。なお、アクセスインタフェースの輻輳状態は、パケットバッファに待機中のパケット数等で判断することができる。
【００５４】
なお、一定時間パケットが到着しないエントリをフロー表から削除するといった手続きを加えることも可能である。
【００５５】
次に、図１０を用いてルータ１２の中継決定部２０５の動作について説明する。このルータ１２はＰＨＳとの通信のアクセスインタフェースを備えている。
【００５６】
まず、中継決定部２０５は、パケット中継部２０６からの問い合わせにより起動し、アクセスインタフェースが輻輳しているか否かをチェックする（ステップＳ１０１）。ここで輻輳していない場合、中継可と判定し（ステップＳ１０２）パケット中継部２０６へ応答を返して終了する。
【００５７】
一方、輻輳している場合（ステップＳ１０２）は、受信したデータパケットが音声パケットであるか否かをチェックする（ステップＳ１０３）。ここで音声パケットであれば、中継可と判定し（ステップＳ１０２）終了する。もし、音声パケットでなければ、中継不可と判定して（ステップＳ１０４）終了する。なお、データパケットが音声パケットであるか否かは、ＴＣＰ／ＵＤＰのポート番号を参照すること等により、判断が可能である。ここで音声パケットか否かを判断したのは、ルータ１２の接続するＰＨＳは伝送帯域が６４ｋｂｐｓあり、音声のような転送速度の比較的低い伝送であれば、たとえ輻輳していても音声が途切れることなしに伝送する能力を有しているからである。
【００５８】
次に、図１１を用いてルータ１３の中継決定部２０５の動作について説明する。このルータ１３は無線ＬＡＮのアクセスインタフェースを備えている。
【００５９】
まず、中継決定部２０５は、パケット中継部２０６からの問い合わせにより起動し、アクセスインタフェースが輻輳しているか否かをチェックし（ステップＳ１１１）、輻輳してない場合、中継可と判定し（ステップＳ１１２）終了する。一方、輻輳していない場合、中継不可と判定し（ステップＳ１１３）パケット中継部２０６へ応答を返して終了する。
【００６０】
このようにして、各ルータ１１乃至１３の中継決定部２０５において、他のセグメントへの中継を行うか否かが決定される。なお、本実施の形態では、中継を行うか否かの条件は、回線の輻輳状態や伝送能力、及びパケットフローの種類としたが、これに限らず、各通信回線の伝送コストで判断することも可能である。
【００６１】
また、アクセスインタフェース２０９が接続する外部ネットワークの性質に基づいて中継を行うか否かを決定してもよい。この場合について図１５及び図１６を用いて説明する。
【００６２】
図１５は本発明におけるルータ装置３台（１６１〜１６３）、及び３種類の端末（ムービー端末１６４、ＩＰ電話１６５、ラップトップＰＣ１６６）から構成されるＬＡＮを示す図である。
【００６３】
各ルータのアクセスインタフェース２０９が接続する外部ネットワークは、図１５に示すような特徴を持つ。すなわち、ルータ１６１が接続する外部ネットワーク１６７は料金が１パケット当たり１円、通信帯域が３２４ｋｂｐｓ、セキュリティが高く、損出率が低い。また、ルータ１６２が接続する外部ネットワーク１６８は料金が定額、通信帯域が６４ｋｂｐｓ、セキュリティが高く、損出率が中レベルである。また、ルータ１６３が接続する外部ネットワーク１６９は料金が定額、通信帯域が５Ｍｂｐｓ、セキュリティが低く、損出率が高い。そこで、各ルータ１６１乃至１６３が中継するか否かの条件を下記のように決定するものとする。
・ルータ１６１の条件：動画フローを優先的に中継する。これは、動画がある程度の帯域、低い損失率、高いセキュリティを必要とするためである。
・ルータ１６２の条件：音声フローを優先的に中継する。これは、音声フローが動画ほどの帯域、損失率の低さを要求しないためである。
・ルータ１６３の条件：音声、動画以外のフローを中継するが、他のルータに転送して再度同じフロー（データパケット）が到着した場合は、中継する。
【００６４】
このような条件の下で各端末が通信を開始したとき、本発明の方法によれば、図１５に示すように、各端末の送信するフローに適したルータが選択されるまでリダイレクトされ、図１６に示すように各端末のフローを中継するルータが決定する。
【００６５】
すなわち、ムービー端末１６４がルータ１６１へ送信したデータパケット１５０１は、ルータ１６１の条件と合致するため、外部ネットワーク１６７へそのまま中継されるが、ＩＰ電話１６５がルータ１６１へ送信したデータパケット１５０２はルータ１６１の条件に合致しないため、ルータ１６２へ転送１５０３される。このとき、ルータ１６１からＩＰ電話１６５へルータ１６８が中継する旨のリダイレクトメッセージが送信されるので、図１６に示すように、ＩＰ電話１６５は以降、ルータ１６２へ送信１６０１する。
【００６６】
また、同様にラップトップＰＣ１６６は初め、ルータ１６１へデータパケット１５０４を送信するが、条件が合致しないため、次の転送順位であるルータ１６２へ転送１５０５される。ルータ１６２もこのデータパケットを中継する条件に合致しないので、さらにルータ１６３へ転送１５０６される。そして、ルータ１６３は条件が合致するので、ネットワーク１６９へ送信する。このとき、ルータ１６１からラップトップＰＣ１６６へリダイ
レクトメッセージが送信され、ラップトップＰＣ１６６はルータ１６２へデータパケット１５０７を送信するが、ルータ１６２の条件に合致しないためルータ１６３へ転送１５０６される。そして、ルータ１６２も同様にラップトップＰＣ１６６へルータ１６３が中継する旨のリダイレクトメッセージを送信する。ラップトップＰＣ１６６はこれを受けて、図１６に示すように、以降ルータ１６３へ直接データパケット１６０２を送信する。
【００６７】
なお、デフォルトルータはルータ１６１であり、転送順番は、ルータ１６１、ルータ１６２、ルータ１６３とする。  図８はパケット中継部２０６の動作を説明するフロー図である。
【００６８】
まず、パケット中継部２０６はＬＡＮインタフェース２０８から外部ネットワークの端末宛のパケットを受信すると（ステップＳ８１）、ＩＰｖ６ヘッダのホップリミット（ＨｏｐＬｉｍｉｔ）フィールドの値を１減算する（ステップＳ８２）。減算した結果、ホップリミットフィールドの値が’０’であるか否かをチェックし（ステップＳ８３）、’０’である場合パケットを破棄する（ステップＳ８４）。
【００６９】
ホップリミットフィールドの値が０より大きい場合は、中継決定部２０５に中継するか否かを問い合わせる（ステップＳ８５）。
【００７０】
中継決定部２０５から中継を指示された場合（ステップＳ８６）、パケット中継部２０６はルーティングテーブルに従って、アクセスインタフェース２０９を介して、他のセグメントである外部ネットワークの転送先ルータへパケットを送信する（ステップＳ８７）。
【００７１】
一方、中継を指示されなかった場合には、順番決定部２０７に同一セグメント内のどのルータへ受信データパケットを転送すべきかを問い合わせる（ステップＳ８８）。
【００７２】
次に、パケット中継部２０６は順番決定部２０７から指示されたルータへパケットを転送し（ステップＳ８９）、送信元の端末へは新たな中継先とするべきルータを記述したリダイレクトパケットを送信する（ステップＳ９０）。このリダイレクトパケットのデータフォーマットを図１３に示す。
【００７３】
これはインターネットコントロールメッセージプロトコルバージョン６（ＩＣＭＰｖ６）リダイレクトパケットのフォーマットである。
【００７４】
図１３において、リダイレクトパケットの送信元であるルータのアドレスは送信元アドレス（Ｓｒｃ  Ａｄｄｒｅｓｓ）フィールド（１３１）、リダイレクトの対象となるパケットの送信元である端末のアドレスは宛先（Ｄｓｔ  Ａｄｄｒｅｓｓ）フィールド（１３２）、リダイレクト先のルータのアドレスはターゲットアドレス（Ｔａｒｇｅｔ  Ａｄｄｒｅｓｓ）フィールド（１３３）、リダイレクトの対象となるパケットの宛先アドレスはリダイレクト宛先（Ｄｓｔ  Ａｄｄｒｅｓｓ）フィールド（１３４）にそれぞれ書き込まれる。なお、本実施の形態ではＩＣＭＰｖ６を使用することとしたが、インターネットコントロールメッセージプロトコルバージョン４（ＩＣＭＰｖ４）を使用することも可能である。
【００７５】
その後、ステップＳ８１へ戻るが、転送されたパケットはどのルータも中継せずに転送され続けると、転送の度にステップＳ８２において、ホップリミットフィールドの値は減算される。そして、ホップリミットフィールドの値が「０」になったパケットは、ステップＳ８４で破棄されることになる。
【００７６】
以上の中継決定部２０５とパケット中継部２０６と順番決定部２０７とにより、ルータ１１乃至１３のデータパケット中継処理とリダイレクト処理が行われる。
【００７７】
すなわち、パケット中継部２０６が同一セグメントの端末１４、１５から他のセグメントの外部端末１６、１７へのデータパケットを、ＬＡＮインタフェースを介して受信すると、中継の可否を中継決定部２０５へ問い合わせる。中継決定部２０５は所定の条件に従って中継の可否を決定する。パケット中継部２０６はこの決定に従い、中継する場合はルーティングテーブルによってアクセスインタフェース２０９を介して外部ネットワークのルータへ転送する。中継しない場合は、次に中継ルータとなるべき同一セグメントのルータをルータ決定部２０３へ問い合わせる。ルータ決定部２０３は順番表に従って中継ルータを決定する。パケット中継部２０６はこの決定されたルータへデータパケットを、ＬＡＮインタフェース２０８を介して転送するとともに、送信元の端末にリダイレクトを送信する。
【００７８】
また、アクセスインタフェース２０９によりパケットを受信した場合には、パケット中継部２０６においてＬＡＮ１内の端末宛のパケットであるかどうかの確認後、ＬＡＮインタフェース２０８から前記パケットを送信する。
【００７９】
次に、端末１４が外部端末１６にＦＴＰによるデータ送信(通信速度不定。回線容量に応じて速度が変化する)を行い、端末１５が外部端末１７と音声通信（通信速度：６０ｋｂｐｓ）及び動画像通信(通信速度：３００ｋｂｐｓ)を行った場合の動作について説明する。本実施の形態におけるネットワークはインターネットプロトコルバージョン６（ＩＰｖ６）ネットワークであるとして、以下の説明を行うが、ＩＰｖ６に限定するものではなく、インターネットプロトコルバージョン４（ＩＰｖ４）でも動作可能である。また、簡単のため、ルータ１１、１２、１３のＬＡＮインタフェースのＩＰｖ６アドレスをｆｅ８０：：１１、ｆｅ８０：：１２、ｆｅ８０：：１３であるとし、端末１４、１５及び外部端末１６、１７のＩＰｖ６アドレスをそれぞれ３：：１４、３：：１５、及び４：：１６、４：：１７であるとする。
【００８０】
なお、上記で述べた各アクセスインタフェース及びＬＡＮインタフェースは有線、無線のいずれであってもかまわない。
【００８１】
各ルータは図４や図６に示したようにＲＡパケットを定期的に送信するが、順番はルータの起動時刻やその他の原因によって異なる。
【００８２】
ルータ１１が最初にＲＡパケットをマルチキャストする（ステップＳ２１）。ルータ１１が送信したＲＡパケットを受信した端末１４及び１５はルータ１１をデフォルトルータとして設定する。従って、最初に必ずルータ１１を中継先としてパケットを送信する。
【００８３】
次にルータ１３がＲＡパケットを送信し（ステップＳ２２）、最後にルータ１２がＲＡパケットを送信する（ステップＳ２３）。これにより、各ルータは図５（ｃ）に示すような順番表を作成する。
【００８４】
図３は、端末１４及び端末１５が通信する際のシーケンスを示した図である。
【００８５】
まず、端末１４が外部端末１６とＦＴＰによる通信を開始し、データパケットをデフォルトゲートウェイであるルータ１１へ送信する（ステップＳ３１）。ルータ１１はフロー表にエントリがないので、フロー表にエントリを追加する（図１４（ａ））。しかし、通信コストが高いため、あらかじめ設定された条件によりフロー表の状態欄にリダイレクトを設定して、必ず最初に到着したパケットを他のルータへ転送する。これは図５（ｃ）の
順番表に従って行われ、ルータ１１はルータ１２へ受信したデータパケットを転送する。また、同時にルータ１１はルータ１２を中継先として指定するリダイレクトパケットを端末１４へ送信する（ステップＳ３２）。
【００８６】
端末１４はこのリダイレクトパケットを受信し、ルータ１２を新たな中継先として次のパケットをルータ１２へ送信し、通信を継続する（ステップＳ３３）。
【００８７】
次に、端末１５は外部端末１７と音声通信（６０ｋｂｐｓ）を開始し、パケットをデフォルトゲートウェイであるルータ１１へ送信する（ステップＳ３４）。ルータ１１はフロー表にエントリがないので、フロー表にエントリを追加して（図１４（ｂ））、ステップＳ３２と同様にルータ１２へリダイレクトパケットを端末１５へ送信する（ステップＳ３５）。
【００８８】
端末１５はこのリダイレクトパケットを受信し、ルータ１２へデータパケットを送信して、通信を続行しようとする（ステップＳ３６）。ところが、既に端末１４がルータ１２を介して通信しており、ルータ１２へデータパケットが集中して輻輳が発生する（ステップＳ３７）。ルータ１２は、輻輳時に音声通信パケット以外のパケットをリダイレクトするよう設定されているので、ＦＴＰ通信を行っている端末１４に対し、ルータ１３へのリダイレクトパケットを送信する（ステップＳ３８）。この中継ルータの選択も、図５（ｃ）の順番表に従って行われる。
【００８９】
端末１４はこのリダイレクトパケットを受信し、次に中継先としてルータ１３を使用して通信を続行する（ステップＳ３９）。
【００９０】
次に、端末１５は外部端末１７との音声通信を終了し（ステップＳ４０）、同じ外部端末１７と動画通信（３００ｋｂｐｓ）を開始するため、データパケットをルータ１２へ送信する（ステップＳ４１）。ところが、動画通信は６０ｋｂｐｓの音声通信と異なり、３００ｋｂｐｓの速度でパケットを送信する必要があるため、ルータ１２の回線容量６４ｋｂｐを超え、輻輳が発生する（ステップＳ４２）。
【００９１】
ルータ１２は輻輳が発生したため、図５（ｃ）の順番表に従ってルータ１３へ端末１５から受信したデータパケットを転送すると共に、ルータ１３へのリダイレクトパケットを端末１５へ送信する（ステップＳ４３）。
【００９２】
次に、端末１５はこのリダイレクトパケットを受信し、ルータ１３を中継先として通信を続行しようとする（ステップＳ４４）が、既に端末１４と外部端末１６間のＦＴＰ通信によりルータ１３の回線容量が使い切られており、輻輳が発生する（ステップＳ４５）。このため、ルータ１３は図５（ｃ）の順番表に従ってルータ１１へ端末１５から受信したデータパケットをさらに転送すると共に、ルータ１１へのリダイレクトパケットを端末１５へ送信する（ステップＳ４６）。
【００９３】
次に、端末１５がこのリダイレクトパケットを受信し、ルータ１１へパケットを送信する（ステップＳ４７）。ルータ１１はフロー表（図１４（ｂ））を参照し、エントリ２に端末１５の情報があり、状態欄がリダイレクトであり、かつ、アクセスインタフェースは輻輳していないので、フロー表の状態をアクティブ（図１４（ｃ））にして、中継を行う。これにより、端末１５はルータ１１を中継先として通信を続行する。
【００９４】
なお、上記のシーケンスでは、ルータが中継不可と判断したとき、新たな中継先となるルータに受信したデータパケットを転送したが、これに限らず、この受信したデータパケットを破棄することも可能である。この場合にはICMPエラーメッセージ等により送信元端
末へパケットを破棄したことを伝える必要がある。
【００９５】
以上のように、本発明によれば、ルータが他のルータから受信したＲＡパケットを基に各ルータ共通の順番表を作成し、アクセスする回線の輻輳状態や伝送能力に応じて、受信したデータパケットを順番表に従って同一セグメントの他のルータへ転送する。このため、最終的には外部ネットワークへのデータパケットの転送に適するルータが選択される。また、端末はルータのリダイレクトメッセージのみによりルータ選択を行えばよいので、端末に新たな機能を追加する必要がない。さらに、各ルータは自己の特性に応じて中継判断処理を備えているだけでよく、他のルータの特性を予め取得する必要がない。これにより、ルータの追加、削除時に設定を変更する必要がない。また、これにより、アクセス能力情報自体の自由度も向上する。すなわち、あるルータではアクセスインタフェースの輻輳状態のみをアクセス能力と定義し、別のルータではアクセス網のパケット損失率をアクセス能力と定義する、といったことが可能になる。
【００９６】
（実施の形態２）
本実施の形態におけるネットワーク構成が図１に示した実施の形態１と異なる点は、本発明におけるルータ選択方法に対応するルータと対応していないルータ（以下、未対応ルータという。）が同じＬＡＮ内に存在する点である。本実施の形態においては、本発明に対応するルータ（以下、対応ルータという。）のみで順番表を作成し、未対応ルータは別途記憶しておき、対応ルータの中で中継するルータが決定しない場合にのみ未対応ルータへ転送する。
【００９７】
まず、本実施の形態におけるルータの構成及び動作について、実施の形態１と異なる点を説明する。
【００９８】
図１８は本実施の形態におけるルータの構成を示すブロック図である。
【００９９】
実施の形態１におけるルータの構成（図２）とは未対応ルータ記憶部２１０を有している点が異なる。
【０１００】
この未対応ルータ記憶部２１０は、未対応ルータからのＲＡパケットを受信した際に、未対応ルータリストとして記憶するための記憶装置である。
【０１０１】
図１９は本実施の形態における順番決定部２０７の動作を説明するフロー図である。
【０１０２】
順番表更新部２０２はＲＡパケットを受信すると（ステップＳ７１）、送信元のルータが本発明に対応しているかどうかを確認する（ステップＳ２００２）。
【０１０３】
本実施の形態で使用するＲＡパケットのフォーマットの例を図１７に示す。実施の形態１におけるＲＡパケット（図１２）との違いはＲ（Ｒｅｄｉｒｅｃｔ）フラグ１８１を有している点である。本Ｒフラグは本発明に対応していることを示すためのフラグであり、ＲＡパケットの送信時にＲフラグ１８１に「１」を設定してマルチキャストする。
【０１０４】
従って、本発明に対応しているルータであるかどうかの確認（ステップＳ２００２）はＲフラグ１８１が「１」であるかどうかを調べることにより行う。
【０１０５】
送信元のルータが対応ルータである場合には、図７のステップＳ７４〜Ｓ７６と同様の順番表更新処理（ステップＳ２００３）を行う。
【０１０６】
一方、未対応ルータである場合には、ステップＳ７４〜Ｓ７６とほぼ同様の未対応リス
ト更新処理（ステップＳ２００４）を行う。これは、未対応ルータのアドレスをリストとして未対応ルータ記憶部２１０に記憶する処理であり、新たな未対応ルータからのＲＡパケットを受信した際には、順番表更新部２０２がリストに追加し、既にリストにある未対応ルータからのＲＡパケットを受信した際には、前回到着時刻を更新する。
【０１０７】
ＲＡパケットを受信していない際（ステップＳ７１）には、順番表更新部２０２が一定時間ＲＡパケットを受信していないルータのエントリを順番表及び未対応ルータリストから消去する（ステップＳ７２、Ｓ２００１）。
【０１０８】
次に、本実施の形態におけるパケット中継部２０６の動作を図８を用いて説明する。
【０１０９】
本実施の形態におけるパケット中継部２０６の動作が実施の形態１における動作と異なるのは、転送先問合せ処理（ステップＳ８８）である。
【０１１０】
実施の形態１においては順番表から対応ルータを転送先として選択するが、本実施の形態においては、既定の条件を満たす場合には未対応ルータリストから転送先を選択する。
【０１１１】
この既定の条件とは、例えば下記のようなものである。
【０１１２】
（１）ＩＰｖ６ヘッダにおけるホップリミット（Ｈｏｐ  Ｌｉｍｉｔ）フィールドがあらかじめ規定した閾値を下回っている。
【０１１３】
（２）既定の回数以上、同じパケットが転送されてきた。
【０１１４】
すなわち、対応ルータの中に前記パケットを中継できるルータが存在せず、何度も転送されている可能性が高い場合には、未対応ルータに対して転送する。なお、未対応ルータリストから転送先を選択する方法は特に制限はないが、例えばランダムに選択したり、アドレスの番号の小さなものから選択する等の方法を用いることができる。このとき、特定の未対応ルータに選択が集中しないようにすることが負荷分散の点で好ましい。
【０１１５】
以上のように構成されたルータにより、パケットがどのように転送されるかについて、図２０を用いて説明する。ここでは、ＬＡＮ１内に対応ルータが３台（対応ルータ１１〜１３）、未対応ルータが２台（未対応ルータ２１、２２）存在している。また、対応ルータ１１〜１３は互いのＲＡパケットを用いて順番表を作成し、未対応ルータ２１、２２から送信されるＲＡパケットを用いて未対応ルータリストを作成し、記憶している。
【０１１６】
まず、対応ルータ１１にパケット２００１が到着した場合に、対応ルータ１１〜１３のいずれもパケットを中継することができないとき、パケットは対応ルータ１１から対応ルータ１２へ、対応ルータ１２から対応ルータ１３へ、対応ルータ１３から対応ルータ１１へと転送される。そして、再び、対応ルータ１１から対応ルータ１２へ転送されたとき（ステップＳ２１０１）、対応ルータ１２がホップリミットフィールドの値を閾値以下と判断し、未対応ルータ２１へ転送する（ステップＳ２１０２）。そして、未対応ルータ２１は受信したパケットを中継可能か判断し、可能な場合は外部ネットワークへ送信し、不可能な場合はパケットを破棄する。
【０１１７】
同様に、パケットが対応ルータ１２に到着した場合も、転送され続けた後（ステップＳ２１０３）、今度は対応ルータ１３が未対応ルータ２２へパケットをリダイレクトする（ステップＳ２１０４）。
【０１１８】
以上のように本発明によれば、ＬＡＮ内のルータに本発明に対応していないものが含ま
れていても、あらかじめ規定した条件に応じてパケットがその未対応ルータへ転送されるので、中継処理による負荷を分散させることができる。
【０１１９】
（実施の形態３）
本実施の形態におけるルータ選択方法は、パケットを他のルータへ転送中は送信元の端末へリダイレクトメッセージを送信せず、中継処理を行うルータが確定した時点で初めて送信するものである  図２１は、本実施の形態におけるルータの構成を示すブロック図である。図２に示した実施の形態１におけるルータの構成と異なるのは、ヘッダ情報記憶部２１１、中継報告転送部２１２、および中継報告生成部２１３を有する点である。
【０１２０】
ヘッダ情報記憶部２１１は、ヘッダ情報を記憶するものであり、中継決定部２０５がデータパケットを中継しないと決定したときに、自己が最初の転送元ルータである場合にそのデータパケットのヘッダ情報を記憶する。
【０１２１】
また、中継報告生成部２１３は、自己がパケットを中継することを報告するための中継報告メッセージを生成するものである。この中継報告メッセージの構成を図２７（ａ）、（ｂ）に示す。
【０１２２】
図２７（ａ）、（ｂ）において、ＩＰヘッダ２８１には、送信元、送信先のＩＰアドレスを設定する。また、ＵＤＰヘッダ２８２には、本メッセージのポート番号を設定する。ただし、ＵＤＰヘッダ２８２は、ＴＣＰヘッダを使用してもよいし、ＴＣＰ、ＵＤＰいずれのヘッダも使用しなくてもよい。
【０１２３】
中継ルータ情報２８３には中継すると決定したルータの情報を設定する。これは、例えば、中継ルータのＩＰアドレス、ＭＡＣアドレス等を含まれる。なお、この中継ルータ情報２８３は、最初にデータパケットを転送したルータが送信元端末へ送信するリダイレクトパケットにリダイレクト先として設定するために使用される。ただし、ＩＰヘッダ２８１に中継すると決定したルータのＩＰアドレスを設定し、中継報告メッセージを転送するルータが、ＩＰヘッダの変更をしないようにすれば、中継ルータ情報２８３におけるＩＰアドレスの情報は不要である。
【０１２４】
さらに、パケットヘッダ情報２８４は、データパケットのヘッダ情報が記載され、送信元、送信先ＩＰアドレスやその他のＩＰヘッダに記述されている情報、及びＴＣＰ、ＵＤＰヘッダに記述されている情報等のうち、必要な情報が設定される。なお、このパケットヘッダ情報２８４は、ルータ自身がリダイレクトパケットを送信すべきルータであるか否かを判定するために使用される。
【０１２５】
中継報告転送部２１２は、この中継報告メッセージを受信した際に、中継報告メッセージに含まれるデータパケットのヘッダ情報がヘッダ情報記憶部２１１に記憶されている場合に、自身が最初の転送元ルータであるとしてパケット中継部２０６へリダイレクトパケットの送信を指示し、ヘッダ情報がヘッダ情報記憶部２１１に記憶されていない場合には、転送元ルータへ中継報告メッセージを転送するものである。
【０１２６】
また、本実施の形態におけるルータの保持する順番表の構成を図２２に示す。実施の形態１における構成（図５）に加えて、ルータの物理層アドレス（例えばＭＡＣアドレス）を記憶する。これは、データパケットの転送元がルータであるか、端末であるかを判断するために必要であり、データパケットの送信元物理層アドレスが順番表に記憶されていれば、ルータであり、記憶されていなければ、端末であると判断できる。ネットワークアドレス（例えばＩＰアドレス）のみでは、前記の判断ができないためである。
【０１２７】
次に、本実施の形態におけるルータの動作を図２３〜図２５を用いて説明する。
【０１２８】
図２３はパケット中継動作を説明するフロー図である。
【０１２９】
パケット中継部２０６がＬＡＮインタフェース２０８からパケットを受信すると（ステップＳ２４１）、そのパケットが端末から外部端末宛のパケットであれば（ステップＳ２４２）端末パケット処理（ステップＳ２４３）を行い、端末から外部端末宛のパケットでない場合は（ステップＳ２４２）、中継報告メッセージ処理（ステップＳ２４４）を実行する。
【０１３０】
なお、パケット中継部２０６がアクセスインタフェース２０９からパケットを受信した場合には、そのパケットがＬＡＮ１内の端末宛のパケットであるかどうかの確認後、ＬＡＮインタフェース２０８から送信する。
【０１３１】
図２４は上記の端末パケット処理（ステップＳ２４３）を示すフロー図である。
【０１３２】
図２４において、ステップＳ２５１乃至Ｓ２５５は、実施の形態１の図８に示したステップＳ８２乃至Ｓ８７の処理と同一である。
【０１３３】
ステップＳ２５５において、パケット中継部２０６がアクセスインタフェース２０９から次転送先ルータへデータパケットを送信した後、その送信したパケットが他のルータから転送されたものであるか否かをチェックする（ステップＳ２６１）。他のルータから転送されたものである場合、パケット中継部２０６は中継報告生成部２１３へ指示して、自己が中継する旨を報告する中継報告メッセージを生成する。そして、パケット中継部２０６はその中継報告メッセージをそのパケットの転送元ルータへ送信する（ステップＳ２６２）。
【０１３４】
このパケットがルータから転送されたものであるかどうかは、パケット中継部２０６がパケットの送信元ＭＡＣアドレスと順番表（図２２）に記載の自己の一つ前の順番のルータのＭＡＣアドレスとを比較することで判断できる。一致すれば、パケットはルータから転送されたものであり、一致しない場合には、端末から直接受信したものであると判断する。中継報告メッセージの送信先も、同様に自己の一つ前の順番のルータである。
【０１３５】
一方、ステップＳ２５４において、パケットを中継しない場合には、順番決定部２０７に同一セグメント内のどのルータへ転送すべきかを問い合わせ（ステップＳ２５７）、転送先として指定されたルータへパケットを転送する（ステップＳ２５８）。この処理は実施の形態１の図８に示したステップＳ８８とＳ８９と同一である。
【０１３６】
次に、パケット中継部２０６は自己が最初の転送元ルータであるか否かをチェックし（ステップＳ２５９）、最初の転送元ルータである場合は、パケットのヘッダ情報をヘッダ情報記憶部２１１に保存する（ステップＳ２６０）。
【０１３７】
ここで、自己が最初の転送元ルータであるかどうかは、パケットの送信元ＭＡＣアドレスと順番表（図２２）に記載の自己の一つ前の順番のルータのＭＡＣアドレスとを比較することで判断できる。すなわち、一致しない場合は自己は最初の転送元ルータであり、一致する場合は、最初の転送元ルータではないと判断する。
【０１３８】
図２５は中継報告メッセージ処理（ステップＳ２４４）を示すフロー図である。
【０１３９】
図２５において、パケット中継部２０６は受信したパケットが中継報告メッセージであ
る場合、そのメッセージに含まれるデータパケットのパケットヘッダ情報２８４と一致するものがヘッダ情報記憶部２１１にあるか否かをチェックする（ステップＳ２７１）。ヘッダ情報記憶部２１１にあれば、パケット中継部２０６は自己が当該パケットの最初の転送元であると判断し、パケットヘッダ情報２８４に記載の送信元端末へ、中継ルータ情報２８３に記載のルータを中継ルータと指定するリダイレクトパケットを送信する（ステップＳ２７２）。
【０１４０】
一方、一致するものがない場合には、パケット中継部２０６は自己が最初の転送元ルータではないと判断し、順番表における順番が一つ前のルータへ中継報告メッセージを転送する（ステップＳ２７３）。
【０１４１】
以上のように構成されたルータにより、端末から外部端末へデータパケットを送信するときの動作を以下に説明する。
【０１４２】
図２６はデータパケット及びリダイレクトパケットの送信シーケンスを示す図である。
【０１４３】
図２６において、まず、端末１４が外部端末１６と通信するために、デフォルトゲートウェイであるルータ１１へデータパケットを送信する（ステップＳ２８１）。ルータ１１は、これを受信すると、この場合、中継しないと決定し、転送先であるルータ１２へパケットを転送する（ステップＳ２８２）。このとき、ルータ１１は転送したパケットが端末１４から直接受信したものであるため、パケットのヘッダ情報を保存する。
【０１４４】
次に、ルータ１１からパケットを転送されたルータ１２についてもルータ１１と同様にしてパケットを転送する（ステップＳ２８３）。このとき、ルータ１２はパケットの送信元ＭＡＣアドレスがルータ１１のものであることを認識するので、ヘッダ情報を保存することはしない。
【０１４５】
次に、ルータ１２からパケットを転送されたルータ１３は、この場合、パケットの中継を決定してパケットを中継する。このとき、ルータ１３は、中継したパケットの送信元ＭＡＣアドレスと順番表とからルータ１２から転送されたパケットであることを認識する。そして、ルータ１３は中継報告メッセージ（図２７（ａ））をルータ１２に向けて送信する（ステップＳ２８４）。
【０１４６】
次に、中継報告メッセージを受信したルータ１２は、このメッセージに含まれるヘッダ情報が保存されているものと一致しているかどうかを確認し、一致しないため、ルータ１１へ中継報告メッセージ（図２７（ｂ））を転送する（ステップＳ２８５）。
【０１４７】
次に、ルータ１２から転送された中継報告メッセージを受信したルータ１１は、同様に、このメッセージに含まれる情報が保存されているものと一致するか否かをチェックし、一致するため、自己が当該パケットの最初の転送元であると判断する。そして、ルータ１３はこの中継報告メッセージに含まれる中継ルータ情報からルータ１３を中継ルータとして指定するリダイレクトパケットを作成し、端末１４へ送信する（ステップＳ２８６）。
【０１４８】
次に、このリダイレクトパケットを受信した端末１４は、データパケットの中継ルータをルータ１１からルータ１３へ変更して、通信を続行する（ステップＳ２８７）。
【０１４９】
以上のように本発明によれば、ルータは外部ネットワークへ中継を要求されたパケットを中継せずに、他のルータへ転送するときは、送信元の端末へリダイレクトメッセージを送信せず、中継するルータが決定した際に、中継報告メッセージが最初の転送元ルータに向けて送信される。そして、この中継報告メッセージを受信した、最初に対象のパケット
を転送したルータが中継ルータを指示する旨のリダイレクトパケットを送信元端末へ送信する。これにより、リダイレクトパケットは一度しか送信元端末へ送信されないため、ＬＡＮ上に流れるパケット数を少なくでき、ネットワークの負荷を低減できる。
【０１５０】
また、送信元端末は、中継先ルータの変更が一度ですむため、送信処理の負荷を低減できる。
【産業上の利用可能性】
【０１５１】
本発明にかかるルータ選択方法は、アプリケーションの要求等に応じて適するルータを選択するネットワーク転送に有用であり、通信のＱｏＳ制御に適用できる。また、ルータの負荷分散等の用途にも適用できる。
【図面の簡単な説明】
【０１５２】
【図１】本発明の実施の形態１および実施の形態３における通信システムの構成図
【図２】本発明の実施の形態１におけるルータの構成図
【図３】本発明の実施の形態１におけるデータパケット及びリダイレクトパケットの送信シーケンスを示す図
【図４】本発明の実施の形態１および実施の形態３におけるルータアドバタイズメントパケットの送信シーケンスを示す図
【図５】（ａ）乃至（ｃ）本発明の実施の形態１におけるルータの保持する順番表の構成を示す図
【図６】本発明の実施の形態１乃至３におけるルータのルータアドバタイズメントパケットの送信処理のフロー図
【図７】本発明の実施の形態１および実施の形態３におけるルータの順番表維持処理のフロー図
【図８】本発明の実施の形態１および実施の形態２におけるルータの端末からのパケット処理のフロー図
【図９】本発明の実施の形態１乃至３におけるルータの中継判断処理のフロー図
【図１０】本発明の実施の形態１乃至３におけるルータの中継判断処理のフロー図
【図１１】本発明の実施の形態１乃至３におけるルータの中継判断処理のフロー図
【図１２】本発明の実施の形態１および実施の形態３におけるルータアドバタイズメントパケットのフォーマット図
【図１３】本発明の実施の形態１乃至３におけるリダイレクトパケットのフォーマット図
【図１４】（ａ）乃至（ｃ）本発明の実施の形態１乃至３におけるルータ１１の保持するフロー表の構成を示す図
【図１５】本発明の実施の形態１または２におけるルータの特性と中継判断処理の対応例を示すための図
【図１６】本発明の実施の形態１または２におけるルータの特性と中継判断処理の対応例を示すための図
【図１７】本発明の実施の形態２におけるルータアドバタイズメントパケットのフォーマット図
【図１８】本発明の実施の形態２におけるルータの構成図
【図１９】本発明の実施の形態２におけるルータの順番表維持処理のフロー図
【図２０】本発明の実施の形態２におけるルータのリダイレクト先を説明するためのシーケンス図
【図２１】本発明の実施の形態３におけるルータの構成図
【図２２】本発明の実施の形態３におけるルータの保持する順番表の構成を示す図
【図２３】本発明の実施の形態３におけるルータの端末からのパケット処理及び中継報告メッセージ処理のフロー図
【図２４】本発明の実施の形態３におけるルータの端末からのパケット処理及び中継報告メッセージ処理のフロー図
【図２５】本発明の実施の形態３におけるルータの端末からのパケット処理及び中継報告メッセージ処理のフロー図
【図２６】本発明の実施の形態３におけるデータパケット及びリダイレクトパケットの送信シーケンスを示す図
【図２７】（ａ）、（ｂ）本発明の実施の形態３における中継報告メッセージのフォーマット図
【図２８】従来のルータ選択方法を説明するための構成図
【符号の説明】
【０１５３】
１  ローカルエリアネットワーク
２  外部ネットワーク
１１、１２、１３  ルータ
１４、１５  端末
１６、１７  外部端末
２１、２２  未対応ルータ
１５１  アクセス選定
１５２  ユーザプリファレンス
１５３  本アクセスに関連する情報
１６１〜１６３  ルータ
１６４  ムービー端末
１６５  ＩＰ電話端末
１６６  ラップトップＰＣ
２０１  ＲＡ生成部
２０２  順番更新部
２０３  ルータ決定部
２０４  順番表記憶部
２０５  中継決定部
２０６  パケット中継部
２０７  順番決定部
２０８  ＬＡＮインタフェース
２０９  アクセスインタフェース
２１０  未対応ルータ記憶部
２１１  ヘッダ情報記憶部
２１２  中継報告転送部
２１３  中継報告生成部
【図１】
2005130476.tif 000003
【図２】
2005130476.tif 000004
【図３】
2005130476.tif 000005
【図４】
2005130476.tif 000006
【図５】
2005130476.tif 000007
【図６】
2005130476.tif 000008
【図７】
2005130476.tif 000009
【図８】
2005130476.tif 000010
【図９】
2005130476.tif 000011
【図１０】
2005130476.tif 000012
【図１１】
2005130476.tif 000013
【図１２】
2005130476.tif 000014
【図１３】
2005130476.tif 000015
【図１４】
2005130476.tif 000016
【図１５】
2005130476.tif 000017
【図１６】
2005130476.tif 000018
【図１７】
2005130476.tif 000019
【図１８】
2005130476.tif 000020
【図１９】
2005130476.tif 000021
【図２０】
2005130476.tif 000022
【図２１】
2005130476.tif 000023
【図２２】
2005130476.tif 000024
【図２３】
2005130476.tif 000025
【図２４】
2005130476.tif 000026
【図２５】
2005130476.tif 000027
【図２６】
2005130476.tif 000028
【図２７】
2005130476.tif 000029
【図２８】
2005130476.tif 000030