(57)【特許請求の範囲】
【請求項１】
複数の中継機器によって構成されたリングネットワークを介して各ホスト間でパケット通信を行うＩＰネットワークシステムにおいて、
各中継機器は、受信したパケットに含まれる転送方向情報に基づき、このパケットをリングネットワークの右回りおよび左回り経路を介して送信先ホストにそれぞれ転送し、
複数のホストおよび前記リングネットワークに接続され、送信元ホストが送信したパケットに基づいてカプセル化およびデカプセル化を行いトンネルパケットを生成するとともにトンネルパケットを複製し、これらのトンネルパケットに前記転送方向情報を付加し前記リングネットワークの右回り方向および左回り方向に送信する複数のトンネリング装置を備えることを特徴とするＩＰネットワークシステム。
【請求項２】
複数の中継機器によって構成されたリングネットワークを介して各ホスト間でパケット通信を行うＩＰネットワークシステムにおいて、
各中継機器は、受信したパケットに含まれる転送方向情報に基づき、このパケットをリングネットワークの右回りおよび左回り経路を介して送信先ホストにそれぞれ転送し、
前記各中継機器は、
前記受信したパケットのカプセル化およびデカプセル化を行いトンネルパケットを生成するとともにトンネルパケットを複製し、これらのトンネルパケットに前記転送方向情報を付加し前記リングネットワークでトンネリング通信を行うことを特徴とするＩＰネットワークシステム。
【請求項３】
前記各トンネリング装置は、
パケット通信を行う通信部と、
自機と接続している各中継機器および前記各ホストの少なくともいずれか一つのネットワークアドレスを記憶する記憶部と、
送信元ホストから受信したパケットをカプセル化してトンネルパケットを生成複製し、
複製したトンネルパケットに前記転送方向情報と送信先中継機器のネットワークアドレスとを付加し、これらのトンネルパケットを前記通信部を制御して所定方向の経路を介して送信先トンネリング装置に転送し、
送信先トンネリング装置として受信したトンネルパケットをデカプセル化してカプセル化前のパケットを再生し、再生したパケットに含まれる送信先ホスト情報に基づき、前記通信部を制御して前記送信先ホストに前記再生したパケットを転送するとともに前記記憶部に記憶する演算制御部とから構成されることを特徴とする
請求項１記載のＩＰネットワークシステム。
【請求項４】
前記演算制御部は、
再生したパケットが既に前記記憶部に記憶されている場合は、このパケットを破棄することを特徴とする
請求項３記載のＩＰネットワークシステム。
【請求項５】
前記各中継機器は、
パケット通信を行う通信部と、
自機と接続している他の中継機器および前記各ホストの少なくともいずれか一つのネットワークアドレスを記憶する記憶部と、
受信したパケットを解析し、このパケットに含まれる転送方向情報および送信先ホスト情報に基づき前記通信部を制御して所定方向の経路に前記パケットを転送する演算制御部
とから構成されることを特徴とする
請求項１または請求項２記載のＩＰネットワークシステム。
【請求項６】
前記演算制御部は、
送信元ホストから受信したパケットをカプセル化してトンネルパケットを生成複製し、
複製したトンネルパケットに前記転送方向情報と送信先中継機器のネットワークアドレスとを付加し、これらのトンネルパケットを前記通信部を制御して所定方向の経路を介して送信先中継機器に転送し、
送信先中継機器として受信したトンネルパケットをデカプセル化してカプセル化前のパケットを再生し、再生したパケットに含まれる送信先ホスト情報に基づき、前記通信部を制御して前記送信先ホストに前記再生したパケットを転送するとともに前記記憶部に記憶することを特徴とする
請求項５記載のＩＰネットワークシステム。
【請求項７】
前記演算制御部は、
再生したパケットが既に前記記憶部に記憶されている場合は、このパケットを破棄することを特徴とする
請求項６記載のＩＰネットワークシステム。
【請求項８】
複数の中継機器によって構成されたリングネットワークを介して各ホスト間でパケット通信を行うＩＰネットワークシステムにおいて、
各中継機器は、受信したパケットに含まれる転送方向情報に基づき、このパケットをリングネットワークの右回りおよび左回り経路を介して送信先ホストにそれぞれ転送し、
前記各中継機器は、
転送方向を設定する方向設定パケットを同一リングネットワークに接続する他の中継機器に送信し、転送方向を他の中継機器と共有することを特徴とするＩＰネットワークシステム。
【請求項９】
前記各中継機器は、
転送方向を設定する方向設定パケットを同一リングネットワークに接続する他の中継機器に送信し、転送方向を他の中継機器と共有することを特徴とする
請求項２または請求項３に記載のＩＰネットワークシステム
【請求項１０】
前記各中継機器は、
パケット通信を行う通信部と、
自機と接続している他の中継機器および前記各ホストの少なくともいずれか一つのネットワークアドレスを記憶する記憶部と、
前記方向設定パケットを同一リングネットワークに接続されている他の中継機器に送信し、一方の通信インタフェースで他の中継機器から前記方向設定パケットを受信するとこの通信インタフェースを左回りにパケットを送信するインタフェースとして設定し、他方の通信インタフェースを右回りにパケットを送信するインタフェースとして設定することを特徴とする
請求項９記載のＩＰネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰネットワークシステムに関し、詳しくは、ネットワークに障害が発生した場合でもＩＰパケットを宛先に確実に到達させることに関する。
【背景技術】
【０００２】
従来のＩＰ（Internet Protocol）を用いてデータを伝送するＩＰネットワークシステムでは、ルータは送信すべきパケットを複数個複製し、これらの複製したパケットをそれぞれ複数の経路を経由して送信先に転送することにより、いずれかの経路で障害が発生したとしても送信元からのいずれかのパケットが確実に送信先に到達するように構成されている。
【０００３】
従来のＩＰネットワークシステムに関連する先行技術文献としては次のようなものがある。
【０００４】
【特許文献１】特開２００５−２１８１１２号公報
【０００５】
図２６は従来のＩＰネットワークシステムの一例を示す構成ブロック図である。図２６において、ホスト１、４は、ＩＰ（Internet Protocol）を用いてパケットを伝送する通信機能を有している。ルータ２、３は、通信機能と、パケットを転送すべき経路を選択する経路選択機能を有している。ホスト１はルータ２と相互に接続され、ルータ２およびルータ３はスイッチやルータなどの複数の中継機器を介して構成されるような複雑なネットワークＮＷ１００を介して相互に接続されている。また、ルータ３はホスト４と相互に接続されている。
【０００６】
なお、図２６では、ルータ２がネットワークＮＷ１００内の経路Ａを経由してルータ３にパケットを送信するパケット通信ＤＦ１００の流れと、ルータ２がネットワークＮＷ１００内の経路Ｂを経由してルータ３にパケットを送信するパケット通信ＤＦ１０１の流れを示している。
【０００７】
図２７はＩＰネットワークシステムの動作を説明するフロー図である。まず、ステップＳ１０１において、ホスト１は、最終的な宛先がホスト４であって測定データなどのデータを含むパケットを生成し、このパケットをルータ２に送信する。
【０００８】
ステップＳ１０２において、ルータ２はホスト１から受信したパケットを複製する。たとえば、図２６に示すように２つの経路Ａ、Ｂを介してパケットを転送する場合は、ルータ２はホスト１から受信したパケットから２つのパケット（たとえば複製パケットＰＫＴ―Ａ、複製パケットＰＫＴ―Ｂ）を複製する。
【０００９】
ステップＳ１０３において、ルータ１はあらかじめ設定された経路情報に基づき、ネットワークＮＷ１００を介して複製した２つのパケットをルータ３に転送する。
【００１０】
ルータ２は、たとえば図２６のパケット通信ＤＦ１００の流れに示すように複製パケットＰＫＴ―Ａを経路Ａに沿ってルータ３に転送し、パケット通信ＤＦ１０１の流れに示すように複製パケットＰＫＴ―Ｂを経路Ｂに沿ってルータ３に転送する。
【００１１】
また、ルータ３は、ルータ２から受信したパケット（たとえば複製パケットＰＫＴ―ＡもしくはＰＫＴ―Ｂ）をホスト４にそれぞれ転送する。
【００１２】
このように、ルータは送信元からのパケットを複製し、これらの複製パケットを複数の経路を介してそれぞれ転送するため、いずれかの経路に障害が発生してパケット通信が行えなくなっても、他の経路を介して複製パケットが転送されることにより、送信元ホストからのパケットは送信先ホストに到達することができる。
【００１３】
ところで、このようなＩＰネットワークシステムでは、各ルータのルーティングによっては、たとえば経路Ａ、ＢがともにルータＸを必ず通過するなど、各経路が互いに同じルータを経由することが考えられる。この場合、ルータＸに障害が発生すると、全ての経路でパケット通信が行えなくなってしまう。
【００１４】
あるルータに障害が発生すると全経路でのパケット通信が行えなくなることを防ぐために、各経路が互いに同じルータを経由しないように設定する必要がある。そこで、全てのルータのルーティングの設定をあらかじめ厳密に設計した上で、全てのルータのルーティングテーブルを管理・設定することが行われている。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、各経路が互いに同じルータを経由しないように各ルータのルーティングを設定する方法では、システム構成を変更する度に各ルータのルーティングを設定しなければならないという問題点がある。またこのような方法では、全てのルータのルーティングテーブルを管理しなければならないので、メンテナンスに長時間かかってしまうという問題点もある。
【００１６】
本発明は上述の問題点を解決するものであり、その目的は、いずれかの経路に障害が発生しても確実にパケットが到達するＩＰネットワークシステムを実現することにある。
【課題を解決するための手段】
【００１７】
このような課題を解決するために、本発明のうち請求項１記載の発明は、
複数の中継機器によって構成されたリングネットワークを介して各ホスト間でパケット通信を行うＩＰネットワークシステムにおいて、
各中継機器は、受信したパケットに含まれる転送方向情報に基づき、このパケットをリングネットワークの右回りおよび左回り経路を介して送信先ホストにそれぞれ転送し、
複数のホストおよび前記リングネットワークに接続され、送信元ホストが送信したパケットに基づいてカプセル化およびデカプセル化を行いトンネルパケットを生成するとともにトンネルパケットを複製し、これらのトンネルパケットに前記転送方向情報を付加し前記リングネットワークの右回り方向および左回り方向に送信する複数のトンネリング装置を備える。
【００１８】
請求項２記載の発明は、
複数の中継機器によって構成されたリングネットワークを介して各ホスト間でパケット通信を行うＩＰネットワークシステムにおいて、
各中継機器は、受信したパケットに含まれる転送方向情報に基づき、このパケットをリングネットワークの右回りおよび左回り経路を介して送信先ホストにそれぞれ転送し、
前記各中継機器は、
前記受信したパケットのカプセル化およびデカプセル化を行いトンネルパケットを生成するとともにトンネルパケットを複製し、これらのトンネルパケットに前記転送方向情報を付加し前記リングネットワークでトンネリング通信を行うことを特徴とする。
【００１９】
請求項３記載の発明は、
請求項１記載のＩＰネットワークシステムにおいて、
前記各トンネリング装置は、
パケット通信を行う通信部と、
自機と接続している各中継機器および前記各ホストの少なくともいずれか一つのネットワークアドレスを記憶する記憶部と、
送信元ホストから受信したパケットをカプセル化してトンネルパケットを生成複製し、
複製したトンネルパケットに前記転送方向情報と送信先中継機器のネットワークアドレスとを付加し、これらのトンネルパケットを前記通信部を制御して所定方向の経路を介して送信先トンネリング装置に転送し、
送信先トンネリング装置として受信したトンネルパケットをデカプセル化してカプセル化前のパケットを再生し、再生したパケットに含まれる送信先ホスト情報に基づき、前記通信部を制御して前記送信先ホストに前記再生したパケットを転送するとともに前記記憶部に記憶する演算制御部とから構成されることを特徴とする。
【００２０】
請求項４記載の発明は、
請求項３記載のＩＰネットワークシステムにおいて、
前記演算制御部は、
再生したパケットが既に前記記憶部に記憶されている場合は、このパケットを破棄することを特徴とする。
【００２１】
請求項５記載の発明は、
請求項１または請求項２記載のＩＰネットワークシステムにおいて、
前記各中継機器は、
パケット通信を行う通信部と、
自機と接続している他の中継機器および前記各ホストの少なくともいずれか一つのネットワークアドレスを記憶する記憶部と、
受信したパケットを解析し、このパケットに含まれる転送方向情報および送信先ホスト情報に基づき前記通信部を制御して所定方向の経路に前記パケットを転送する演算制御部
とから構成されることを特徴とする。
【００２２】
請求項６記載の発明は、
請求項５記載のＩＰネットワークシステムにおいて、
前記演算制御部は、
送信元ホストから受信したパケットをカプセル化してトンネルパケットを生成複製し、
複製したトンネルパケットに前記転送方向情報と送信先中継機器のネットワークアドレスとを付加し、これらのトンネルパケットを前記通信部を制御して所定方向の経路を介して送信先中継機器に転送し、
送信先中継機器として受信したトンネルパケットをデカプセル化してカプセル化前のパケットを再生し、再生したパケットに含まれる送信先ホスト情報に基づき、前記通信部を制御して前記送信先ホストに前記再生したパケットを転送するとともに前記記憶部に記憶することを特徴とする
【００２３】
請求項７記載の発明は、
請求項６記載のＩＰネットワークシステムにおいて、
前記演算制御部は、
再生したパケットが既に前記記憶部に記憶されている場合は、このパケットを破棄することを特徴とする。
請求項８記載の発明は、
複数の中継機器によって構成されたリングネットワークを介して各ホスト間でパケット通信を行うＩＰネットワークシステムにおいて、各中継機器は、受信したパケットに含まれる転送方向情報に基づき、このパケットをリングネットワークの右回りおよび左回り経路を介して送信先ホストにそれぞれ転送し、前記各中継機器は、転送方向を設定する方向設定パケットを同一リングネットワークに接続する他の中継機器に送信し、転送方向を他の中継機器と共有することを特徴とする。
請求項９記載の発明は、
請求項２または３記載のＩＰネットワークシステムにおいて、
前記各中継機器は、転送方向を設定する方向設定パケットを同一リングネットワークに接続する他の中継機器に送信し、転送方向を他の中継機器と共有することを特徴とする。
請求項１０記載の発明は、
請求項９記載のＩＰネットワークシステムにおいて、
前記各中継機器は、パケット通信を行う通信部と、自機と接続している他の中継機器および前記各ホストの少なくともいずれか一つのネットワークアドレスを記憶する記憶部と、前記方向設定パケットを同一リングネットワークに接続されている他の中継機器に送信し、一方の通信インタフェースで他の中継機器から前記方向設定パケットを受信するとこの通信インタフェースを左回りにパケットを送信するインタフェースとして設定し、他方の通信インタフェースを右回りにパケットを送信するインタフェースとして設定することを特徴とする。
【発明の効果】
【００２４】
本発明によれば、ルータやトンネリング装置などの各中継機器は送信元ホストから受信したパケットにカプセル化処理を行ってトンネルパケットを複製し、各トンネルパケットを各中継機器が構成するリングネットワークにそれぞれ右回り方向および左回り方向に送信し、各中継機器は受信したトンネルパケットを右回り方向および左回り方向にそれぞれ転送するので、いずれかの経路に障害が発生しても、パケットは確実に送信先ホストに到達できる。
【発明を実施するための最良の形態】
【００２５】
本発明のＩＰネットワークシステムは、主にルータなどのルーティング機能を有する中継機器が構成するリングネットワークを介して各ホストがパケット通信を行うものであるが、説明を簡単にするために、以下複数のルータがリングネットワークを構成するものとして説明する。
【００２６】
図１は、本発明に係るＩＰネットワークシステムの一実施例を示す構成ブロック図である。図１において、ホスト１１はトンネリング装置１２と相互に接続され、トンネリング装置１２はルータ１３および１５と相互に接続されている。ルータ１４はルータ１３と１５およびトンネリング装置１６と相互に接続されている。トンネリング装置１６はルータ１４と１５およびホスト１７と相互に接続されている。ルータ１８はルータ１５および１９と相互に接続され、ルータ２０はルータ１３および２１と相互に接続されている。
【００２７】
ルータ１３〜１５は第１のリングネットワークＲＩＮＧ１を構成し、ルータ１５と１８と１９は第２のリングネットワークＲＩＮＧ２を構成し、ルータ１３と２０と２１は第３のリングネットワークＲＩＮＧ３を構成している。
【００２８】
ホスト１１および１７は、主にＩＰｖ６（Internet Protocol Version 6）を用いてパケットを伝送する通信機能を有している。
【００２９】
トンネリング装置１２および１６は、通信機能をはじめ、主にホスト１１および１７からのパケットにＩＰヘッダや各種拡張ヘッダを付加してカプセル化処理を行ってトンネリング通信用のトンネルパケットを生成するトンネルパケット生成機能と、トンネルパケットにデカプセル化処理を行ってパケットを抽出するトンネルパケット解除機能、パケットを複製するパケット複製機能、受信したパケットが既に転送済みか否かを判定する転送判断機能などを有している。
【００３０】
ルータ１３〜１５および１８〜２１は、通信機能とパケットを転送すべき経路を選択して転送する経路選択機能を有している。
【００３１】
また、各ルータの通信部は複数の通信インタフェースを有しており、２つの通信インタフェースが同じリングネットワークに接続され、それぞれＩＰｖ６アドレスが割り当てられている。本実施例では、ルータ１３にはＩＰｖ６アドレス「Ａ::１」と「Ｃ::１」が、ルータ１４にはＩＰｖ６アドレス「Ａ::２」と「Ｂ::２」が、ルータ１５にはＩＰｖ６アドレス「Ｂ::３」と「Ｃ::３」がそれぞれ割り当てられているものとする。
【００３２】
さらに、図１では、リングネットワーク内でルータ１３と１４を介してトンネリング装置１６にパケットを転送する「右回り経路ＲＰ２００」と、ルータ１５を介してトンネリング装置１６にパケットを転送する「左回り経路ＬＰ２０１」を示している。
【００３３】
ここで、トンネリング装置１２からルータ１３と１４を介してトンネリング装置１６にパケットを転送する経路方向を「右回り方向」、トンネリング装置１２からルータ１５を介してトンネリング装置１６にパケットを転送する経路方向を「左回り方向」という。そして、右回り方向に転送されるパケットを「右回りパケット」、左回り方向に転送されるパケットを「左回りパケット」という。
【００３４】
なお、図１においてルータ１３〜１５、１８〜２１を用いて説明しているが、ルーティング機能を有する中継機器を用いるものであってもよい。また、リングネットワークは各ルータにより構成されると説明しているが、ルーティング機能を有する中継機器がリングネットワークを構成するものであってもよい。
【００３５】
図２は図１のトンネリング装置１２の具体例を示す構成ブロック図である。図２において、通信部１２１は演算制御部１２２に接続され、演算制御部１２２は記憶部１２３に接続されている。通信部１２１は主にホスト１１やルータ１３、１５との間で通信を行う。演算制御部１２２は各部の動作を制御するものであり、たとえばＣＰＵ（Central Processing Unit）が用いられる。記憶部１２３はＯＳ（Operating System）やトンネリング装置として動作させるためのプログラムや経路情報、各種情報などを格納する。なお、トンネリング装置１６もトンネリング装置１２と同様に構成されている。
【００３６】
図３は、図２のトンネリング装置を構成する演算制御部１２２の機能ブロック例図である。パケット送受部１２２１は、主にホスト１１、１７からのパケットやトンネルパケットなどのパケットの送受信を行う。トンネルパケット生成部１２２２は、トンネル作成情報格納部１２２３に格納されたトンネル作成情報に基づきホスト１１からのパケットにリングネットワークの右回りおよび左回り方向を示す転送方向情報を付加するとともに、ＩＰヘッダや各種拡張ヘッダを付加するカプセル化処理を行ってトンネリング装置間でトンネリング通信を行うためのトンネルパケットを生成する。
【００３７】
トンネル作成情報格納部１２２３は、トンネルパケットをトンネリング装置１２から送信先のホスト機器１７まで転送する経路情報やトンネルパケットを生成するためのトンネル作成情報を格納する。パケット複製部１２２４は、トンネルパケットを複製するとともに、複製したトンネルパケットの転送方向情報を複製元トンネルパケットの転送方向情報（たとえば右回り方向）とは逆向きの方向（たとえば左回り方向）に設定する。
【００３８】
トンネル受信処理部１２２５は、パケット送受部１２２１が各ルータから受信したトンネルパケットを解析して送信先、送信元、カプセル化前のパケット情報などの「トンネルパケット情報」をパケット情報格納部１２２６に格納する。パケット情報格納部１２２６は、トンネル受信処理分１２２５が解析した「トンネルパケット情報」と、トンネリング装置１２から最終的な送信先であるホストに転送したパケットに関する情報である「転送済みパケット情報」を格納する。
【００３９】
パケット生成部１２２７は、パケット情報格納部１２２６に記憶されたトンネルパケット情報に基づき、デカプセル化処理を行ってカプセル化前のパケット、言い換えれば送信元ホストから送信されたパケットを再生する。転送判断部１２２８は、送信元ホストから受信したトンネルパケットと同一のパケットがパケット情報格納部１２２６に記憶されているか否かによって、このパケットが既にデカプセル化処理が行われて再生されたパケットを最終的な送信先であるホストに転送したか否かを判断し、まだ転送していない場合は再生したパケットを最終的な送信先であるホストに転送する。
【００４０】
パケット破棄部１２２９は、転送判断部１２２８が送信元ホストから受信したトンネルパケットと同一のパケットがパケット情報格納部１２２６に記憶されている場合は、トンネルパケットや再生したパケットなどのパケットを破棄する。方向設定部１２３０は、右回りパケット、左回りパケットの転送先アドレスを取得し、設定する。
【００４１】
図４は、トンネル作成情報格納部に格納されるトンネル作成情報の一例を表す説明図である。トンネリング装置１２、１６のトンネル作成情報格納部は、図４に示すように、トンネルパケットを作成するための複数の「経路情報」フィールドを複数有している。
【００４２】
これらの経路情報フィールドは、トンネルパケットの最終的な送信先を格納する「宛先アドレス」（たとえば「ホスト機器１７のＩＰｖ６アドレス」）、トンネリング通信の送信先を格納する「トンネル終点アドレス」（たとえば「トンネリング装置１６のＩＰｖ６アドレス」）、各リングネットワークの識別情報を格納する「リングＩＤ」（たとえば「ＲＩＮＧ１」）、トンネルパケットの識別情報を格納する「パケットＩＤ」（たとえば「ＰＫＴ０」）、右回りパケットを転送するルータのアドレスなどを格納する「右回りパケット転送先」（たとえばルータ１３のＩＰｖ６アドレス「Ｃ::１」）、左回りパケットを転送するルータのアドレスなどを格納する「左回りパケット転送先」（たとえばルータ１５のＩＰｖ６アドレス「Ｃ::３」）などのフィールドを有している。
【００４３】
図５は、パケット情報格納部に格納される転送済みパケット情報の一例を表す説明図である。図５に示すように、トンネリング装置１２、１６のパケット情報格納部は、複数の「転送済みパケット情報」フィールドを複数有し、これらの転送済みパケット情報は、トンネリング通信の始点となるトンネリング装置からリングネットワークを介してトンネルパケットを受信した時刻を格納する「タイムスタンプ」（たとえば「20070910-22:30:10.113591」）、受信したトンネルパケットの始点であるトンネリング装置のアドレスを格納する「トンネル始点アドレス」（たとえば「トンネリング装置１２のＩＰｖ６アドレス」）、最終的な送信先ホストに転送したパケットの識別情報を格納する「パケットＩＤ」（たとえば「ＰＫＴ０」）などのフィールドを有している。
【００４４】
図６は図１のルータ１３の構成ブロック図である。図６において、通信部１３１は演算制御部１３２に接続され、演算制御部１３２は記憶部１３３に接続されている。通信部１３１は図示しない複数の通信インタフェース（たとえば通信インタフェースＩＦ１３０、ＩＦ１３１など）を有し、主にトンネリング装置１２やルータ１４との間で通信を行う。演算制御部１３２は、主にＣＰＵなどであって各部の動作を制御する。記憶部１３３にはＯＳやルータとして動作させるためのプログラムや経路情報、各種情報などが格納されている。ルータ１４、１５、１８〜２１もルータ１３と同様に構成されている。
【００４５】
なお、ルータ１３の通信部の複数の通信インタフェースには、たとえば右回りパケットを送信し左回りパケットを受信する動作や、左回りパケットを送信し右回りパケットを受信する動作が割り当てられる。
【００４６】
図７は図４のルータ１３を構成する演算制御部１３２の機能ブロック例図である。パケット送受部１３２１は、主にトンネルパケットなどのパケットの送受信を行う。転送判断部１３２２は、主にトンネリング装置１２から受信したトンネルパケットを右回り方向もしくは左回り方向のどちらに転送するかを判断する。マスタルータ検出部１３２３は、マスタルータの探索・検出を行う。マスタルータ動作部１３２４は、自機をマスタルータとして動作させる。
【００４７】
転送設定部１３２５は、自機の通信部における各通信インタフェースの動作を設定し、リングネットワークにおけるパケットの転送方向を設定・共有するための「方向決定パケット」を他のルータに送信する。転送情報格納部１３２６は、ホストや他のルータへの経路情報、右回りパケットおよび左回りパケットを転送するルータやトンネリング装置などのネットワークアドレスや通信部の通信インタフェースの動作を設定する設定情報などの「転送情報」や自機が接続されるリングネットワークのマスタルータや転送先などの「リングネットワーク情報」を格納する。
【００４８】
転送情報格納部１３２６の転送情報は、各通信インタフェースのインタフェース名や、各通信インタフェースが右回りパケットおよび左回りパケットを送受信するのかを定義するための情報を含む。転送情報は、たとえば右回りパケットを送信する通信インタフェースにインタフェース名「ＩＦ−ＲＩＧＨＴ」を設定し、左回りパケットを送信する通信インタフェースにインタフェース名「ＩＦ−ＬＥＦＴ」を設定する情報を含んでいる。この場合、右回りパケットはＩＦ−ＬＥＦＴによって受信されてＩＦ−ＲＩＧＨＴから転送され、左回りパケットはＩＦ−ＲＩＧＨＴによって受信されてＩＦ−ＬＥＦＴから転送されることになる。
【００４９】
図８は、各ルータの転送情報格納部に格納されるリングネットワーク情報の一例を表す説明図である。図８に示すように、ルータ１３〜１５の転送情報格納部は、複数のルータが構成する各リングネットワークの転送情報である複数の「リング」フィールドを有している。
【００５０】
これらの「リング」フィールドは、リングネットワークの識別情報を格納する「リングＩＤ」（たとえば「ＲＩＮＧ１」）、リングネットワークに割り当てられた第１の通信インタフェース情報を格納する「割り当てＩＦ−１」（たとえば「通信インタフェースＩＦ１３０」）、リングネットワークに割り当てられた第２の通信インタフェース情報を格納する「割り当てＩＦ−２」（たとえば「通信インタフェースＩＦ１３１」）、リングネットワーク内で用いるルータの識別情報であって、上記割り当てＩＦ−１、ＩＦ−２に設定されたＩＰｖ６アドレスのうち最も小さいアドレスを格納する「ｍｙＲＩＤ」、マスタルータを選択するために使用されリングネットワーク内で最も小さい値の識別情報を有するルータに関する情報を格納する「ｍｉｎＲＩＤ受信情報」、マスタルータの識別情報を格納する「マスタルータＩＤ」（たとえば「Ａ::１」）などを有している。
【００５１】
各ルータの識別情報であるルータＩＤ（以下、ＲＩＤという）には、ルータに割り当てられているＩＰｖ６アドレスを使用する。なお、ルータに複数のＩＰｖ６アドレスが割り当てられている場合には、最も値が若いＩＰｖ６アドレスをＲＩＤとして使用する。ただし、ＲＩＤはオペレータが任意に設定するものであってもよい。
【００５２】
さらに、「リング」フィールドは、右回りパケットを送信する「ＩＦ−ＲＩＧＨＴ」が設定されている通信インタフェース情報を格納する「ＩＦ−ＲＩＧＨＴ割り当てＩＦ」（たとえば「ＩＦ１３０」）、左回りパケットを送信する「ＩＦ−ＬＥＦＴ」が設定されている通信インタフェース情報を格納する「ＩＦ−ＬＥＦＴ割り当てＩＦ」（たとえば「ＩＦ１３１」）、右回りパケットを転送するルータやトンネリング装置などのアドレスを格納する「右回りパケット転送先」（たとえばルータ１４のＩＰｖ６アドレス「Ａ::２」）、左回りパケットを転送するルータやトンネリング装置などのアドレスを格納する「左回りパケット転送先」（たとえばルータ１５のＩＰｖ６アドレス「Ｃ::３」）などのフィールドを有している。
【００５３】
「ｍｉｎＲＩＤ受信情報」は、このルータが認識しているリングネットワーク内で最も小さい値のルータの識別情報を格納する「ｍｉｎＲＩＤ」（たとえば「Ａ::１」）、インタフェースＩＦ−１が受信した広告パケットの転送回数を格納する「受信したホップ数（ＩＦ−１用）」（たとえば「０」）、インタフェースＩＦ−２が受信した広告パケットの転送回数を格納する「受信したホップ数（ＩＦ−２用）」（たとえば「２」）などのフィールドを有している。
【００５４】
ここで、広告パケットは、リングネットワークを構成する各ルータからマスタルータを選出するために、転送情報格納部１３２６に格納しているｍｉｎＲＩＤ（各ルータが認識しているリングネットワーク内で最小のルータの識別情報）を通知するパケットであり、リングネットワーク内で最小の識別情報を有するルータがマスタルータとして選出されるものとする。
【００５５】
なお、各ルータは２個以上の通信インタフェースを有することもあるので、１個以上のリングネットワークに参加することができる。この場合、リング毎に転送に必要な情報が異なるので１個以上の「リング」フィールドを有している。
【００５６】
本発明のＩＰネットワークシステムの動作について、図９のパケット通信の流れを示す説明図、図１０のフロー図および図１１〜図１３に示すＩＰネットワークシステムで利用するパケットフォーマット例を用いて説明する。説明を簡単にするために、ホスト１１とホスト１７とがルータ１３〜１５で構成されるリングネットワークＲＩＮＧ１を介してパケット通信する動作について説明する。
【００５７】
図９において、パケット通信ＤＦ２００はホスト１１がトンネリング装置１２にパケットを送信する流れを示し、パケット通信ＤＦ２０１はトンネリング装置１２がルータ１３にパケットを送信する流れを示し、パケット通信ＤＦ２０２はトンネリング装置１２がルータ１５にパケットを送信する流れを示し、通信経路ＣＰ２００はホスト１１からトンネリング装置１２、ルータ１３、１４、トンネリング装置１６を介してホスト１７にパケットが到達する流れを示し、通信経路ＣＰ２０１はホスト１１からトンネリング装置１２、ルータ１５、トンネリング装置１６を介してホスト１７にパケットが到達する流れを示している。
【００５８】
図１０のステップＳ２０１において、ホスト１１の図示しない演算制御部は図示しない記憶部に格納されているＯＳなどを起動し、このＯＳ上でプログラムを読み出し実行してホスト１１全体を制御するとともに、最終的な宛先がホスト１７である測定データなどを含むパケットを生成し、通信部を制御してこのパケットをトンネリング装置１２に送信する。ホスト１１は、たとえば図９のパケット通信ＤＦ２００の流れに示すように、トンネリング装置１２にパケット（たとえば図１１のパケットＰ１０）を送信する。
【００５９】
図１１はホスト１１が生成するパケットＰ１０のフォーマット例図である。パケットＰ１０はＩＰｖ６ヘッダ、ペイロードなどのフィールドを有し、ＩＰｖ６ヘッダには始点ＩＰアドレスの値（たとえば「ホスト１１のＩＰｖ６アドレス」）や終点ＩＰアドレスの値（たとえば「ホスト１７のＩＰｖ６アドレス」）が設定され、ペイロードにはアプリケーションデータなどのデータが格納される。
【００６０】
ステップＳ２０２において、トンネリング装置１２の演算制御部１２２は、記憶部１２３に格納されているＯＳなどを起動し、このＯＳ上で格納されたプログラムを読み出し実行することにより、トンネリング装置１２全体を制御してホスト１１からのパケットにカプセル化処理を行い、トンネルパケットを生成する。なお、トンネリング装置１２の演算制御部１２２が記憶部１２３に格納されたプログラムを読み出し実行して各部を制御する動作については、他のトンネリング装置についても同様であるので以下省略する。
【００６１】
演算制御部１２２のトンネルパケット作成部１２２２は、たとえばホスト１１からのパケットＰ１０とトンネル作成情報（たとえば図４の「経路１」）に基づいて、トンネリング装置１２から送信先ホスト１７に到達するまでに利用するトンネリング通信のトンネル終点アドレス（たとえばトンネリング装置１６のＩＰｖ６アドレス）を検索し、パケットＰ１０にこのトンネル終点アドレスを付加してトンネルパケットＰ２０を生成するとともに、トンネルパケットの識別子であるパケットＩＤ（たとえば「ＰＫＴ０」）を作成してトンネルパケットＰ２０に付加する。
【００６２】
図１２はトンネルパケット作成部１２２２が生成するパケットＰ２０のフォーマット例図である。トンネルパケットＰ２０は、図１１に示したパケットＰ１０にＩＰｖ６ヘッダ（１）とホップバイホップオプションヘッダと宛先オプションヘッダを付加したものである。
【００６３】
ＩＰｖ６ヘッダ（１）は、送信元トンネリング装置のネットワークアドレスを格納する「始点ＩＰアドレス」や、送信先トンネリング装置のネットワークアドレスを格納する「終点ＩＰアドレス」などのフィールドを有している。ホップバイホップオプションヘッダは、リングネットワークにおける右回り方向や左回り方向を格納する「経路方向」と、リングネットワークの識別子を格納する「リングＩＤ」フィールドを有している。宛先オプションヘッダは、トンネルパケットの識別子を格納する「パケットＩＤ」フィールドを有している。なお、図１２では、パケットＰ２０におけるパケットＰ１０のＩＰｖ６ヘッダをＩＰｖ６ヘッダ（２）として示している。
【００６４】
具体的には、トンネルパケット作成部１２２２は、図１２のようにパケットＰ１０とトンネルパケット作成情報に基づき、ＩＰｖ６ヘッダ（１）の始点ＩＰアドレスの値（たとえば「トンネリング装置１２のＩＰｖ６アドレス」）、終点ＩＰアドレスの値（たとえば「トンネリング装置１６のＩＰｖ６アドレス」）、ホップバイホップオプションヘッダの経路方向の値（たとえば「０（右回り）」）、リングＩＤ（たとえば「ＲＩＮＧ１」）、宛先オプションヘッダのパケットＩＤの値（たとえば「ＰＫＴ０」）を設定したトンネルパケットＰ２０を生成している。
【００６５】
ステップＳ２０３において、トンネリング装置１２の演算制御部１２２のパケット複製部１２２４は、生成したトンネルパケット（たとえば図１２のパケットＰ２０）とトンネル作成情報に基づいて、トンネルパケットを複製する（たとえば図１３のパケットＰ２１）。
【００６６】
トンネルパケットの複製にあたり、トンネルパケット作成部１２２２は、たとえば図１３のトンネルパケットＰ２１のように、ホップバイホップオプションヘッダの経路方向の値を複製元トンネルパケット（たとえば図１２のパケットＰ２０）の経路方向とは逆方向（たとえば「１（左回り）」）に設定する。
【００６７】
ステップＳ２０４において、トンネリング装置１２の演算制御部１２２のパケット送受部１２２１は、各トンネルパケットに設定されているリングＩＤ、経路方向、終点ＩＰアドレスと記憶部１２３のトンネルパケット作成情報に基づいて各トンネルパケットをルータ１３、１５に送信する。
【００６８】
具体的には、トンネリング装置１２のパケット送受部１２２１は、トンネルパケットＰ２０、Ｐ２１に設定されたリングＩＤ（ＲＩＮＧ１）に基づき、トンネルパケット作成情報におけるＲＩＮＧ１に関わる経路情報を検索する。
【００６９】
そして、パケット送受部１２２１は、たとえば図４の経路情報の右回りパケット転送先（ルータ１３のアドレス「Ｃ::１」）、左回りパケット転送先（ルータ１５のアドレス「Ｃ::３」）やトンネルパケットＰ２０の経路方向（右回り）、トンネルパケットＰ２１の経路方向（左回り）、終点ＩＰアドレス（たとえばトンネリング装置１６のＩＰｖ６アドレス）に基づいて、パケットＰ２０をルータ１３に送信し、パケットＰ２１をルータ１５に送信する。
【００７０】
なお、トンネリング装置１２の演算制御部１２２が記憶部１２３に格納されたプログラムを読み出し実行して各部を制御する動作については、他のトンネリング装置についても同様であるので以下省略する。また、トンネリング装置１２がトンネルパケットをルータ１３に転送した場合はステップＳ２０５に移行し、ルータ１５に転送した場合はステップＳ２０６に移行する。
【００７１】
ステップＳ２０５において、ルータ１３の演算制御部１３２は、記憶部１３３に格納されているＯＳなどを起動し、このＯＳ上でプログラムを読み出し実行することによりルータ１３全体を制御し、トンネルパケットの経路方向、終点ＩＰアドレスと転送情報格納部１３２６の転送情報に基づきトンネリング装置１２から受信したトンネルパケットをルータ１４に転送する。
【００７２】
具体的には、ルータ１３は、通信部１３１のＩＦ−ＬＥＦＴ割り当てインタフェースＩＦ１３０を介してトンネルパケットＰ２０を受信する。そして、演算制御部１３２の転送判断部１３２２は、トンネルパケットＰ２０の経路方向（たとえば右回り方向）、終点ＩＰアドレス（たとえばトンネリング装置１６のＩＰｖ６アドレス）と転送情報の右回りパケット転送先（たとえばルータ１４のアドレス「Ａ::２」）に基づいて、ＩＦ―ＲＩＧＨＴ割り当てインタフェースＩＦ１３０を制御し、トンネリング装置１２から受信したトンネルパケット（たとえばＰ２０）をルータ１４に転送する。
【００７３】
なお、ルータ１３の演算制御部１３２が記憶部１３３に格納されたプログラムを読み出し実行してトンネルパケットを転送する動作については、他のルータについても同様であるので以下省略する。
【００７４】
ステップＳ２０６において、ルータ１４もしくは１５の図示しない演算制御部の転送判断部は、受信したトンネルパケット（たとえばトンネルパケットＰ２０、Ｐ２１）の経路方向ヘッダの値、終点ＩＰアドレス（たとえばトンネリング装置１６のＩＰｖ６アドレス）と図示しない転送情報格納部にあらかじめ格納されている転送情報の「右回りパケット転送先」や「左回りパケット転送先」に基づいて、ルータ１３もしくはトンネリング装置１２から受信したトンネルパケットをトンネリング装置１６に転送する。
【００７５】
このようにトンネリング装置１２から送信されたトンネルパケットは、ルータ１３〜１５が構成するリングネットワークを介してトンネリング装置１６に転送される。
【００７６】
ところで、トンネリング装置１６は、ルータ１４から転送されるトンネルパケットＰ２０をルータ１５から転送されるトンネルパケットＰ２１よりも先に受信したものとする。
【００７７】
ステップＳ２０７において、トンネリング装置１６の演算制御部のトンネル受信処理部はルータ１３、１４もしくはルータ１５を介して受信したトンネルパケット（たとえばトンネルパケットＰ２０）を解析し、転送判断部はパケット情報格納部に記憶されている転送済みパケット情報に基づいて、この受信したトンネルパケット（たとえばＰ２０）をホスト１７にまだ転送していないか否かを判断する。トンネリング装置１６が受信したトンネルパケットをまだホスト１７に転送していない場合はステップＳ２０８に移行する。
【００７８】
トンネリング装置１６の転送判断部は、たとえばトンネルパケット（たとえばＰ２０）の始点アドレス（たとえばホスト１１）、宛先オプションヘッダのパケットＩＤ（たとえばＰＫＴ０）を利用して、同一のトンネルパケットがパケット情報格納部に記憶されていなければ、まだホスト１７に転送していないものと判断する。
【００７９】
ステップＳ２０８において、トンネリング装置１６の演算制御部のトンネル受信処理部は、ルータ１３、１４もしくはルータ１５を介して受信したトンネルパケットを解析し、たとえばトンネルパケットのペイロードフィールドに格納されたホスト１１から送信されたデータ、ＩＰｖ６（１）ヘッダの始点アドレス（たとえば「トンネリング装置１２のＩＰｖ６アドレス」）、宛先オプションヘッダのパケットＩＤの値（たとえば「ＰＫＴ０」）、トンネルパケットを受信した時刻などをパケット情報格納部に格納する。パケット生成部は、トンネルパケットからＩＰヘッダや拡張ヘッダなどのトンネル用のヘッダを取り除いてホスト１１から送信されたパケット（たとえばパケットＰ１０）と同じ構成のパケットを生成する。パケット送受部はこのパケットをホスト１７に転送する。
【００８０】
一方、トンネリング装置１６は、トンネルパケットＰ２０を転送した後にトンネルパケットＰ２１を受信したものとする。すなわちトンネルパケットＰ２１と同一のトンネルパケット情報（たとえばトンネルパケットＰ２０のトンネル始点アドレス、宛先オプションヘッダのパケットＩＤ）がパケット情報格納部に記憶されている場合は、ステップＳ２０７において、トンネリング装置１６は受信したトンネルパケット（たとえばＰ２１）を既にホスト１７に転送しているものと判断し、ステップＳ２０９に移行する。ステップＳ２０９において、トンネリング装置１６の演算制御部のパケット破棄部は、受信したトンネルパケット（たとえばＰ２１）を破棄する。
【００８１】
このように構成することにより、ルータやトンネリング装置などの各中継機器は送信元ホストから受信したパケットにカプセル化処理を行ってトンネルパケットを複製し、各トンネルパケットを各中継機器が構成したリングネットワークにそれぞれ右回り方向、左回り方向に送信し、各中継機器は受信したトンネルパケットを右回り方向、左回り方向にそれぞれ転送し、複製されたトンネルパケットが互いに同じ中継機器を経由することはないので、パケットはいずれかの経路に障害が発生しても確実に送信先に到達できる。
【００８２】
たとえば、ルータ１５に障害が発生して図１の左回り経路ＬＰ２０１を介してパケット通信ができないような場合であっても、トンネリング装置１２はホスト１１からのパケットに基づいて生成したトンネルパケットを複製し、複製したパケットを左回り方向、右回り方向に送信し、ルータ１３、１４は右回りパケット（パケットＰ２０）を右回り経路ＲＰ２００に沿って転送し、トンネリング装置１６は右回りパケットをホスト１７に転送するので、ホスト１１から送信されたパケットは確実にホスト１７に到達できる。
【００８３】
ところで、各ルータは、リングネットワーク内で右回り方向および左回り方向などの統一された転送方向を共有し把握している必要がある。このような場合は、オペレータなどが手動で各ルータの右回り・左回り方向の向きを設定してもよいが、各ルータの中からマスタルータを一台選定し、このマスタルータが決定した方向の向きの定義に他の全てのルータが従って自動的に設定してもよい。
【００８４】
このようにマスタルータがリングネットワークを構成する各ルータの右回り方向および左回り方向の向きを統一して設定する動作について、図１４のマスタルータを選定する動作を説明するフロー図、図１５の広告パケットのパケットフォーマット、図１６〜図１８の各ルータが広告パケットを転送する動作説明図、図１９のマスタルータが方向決定パケットを各ルータに転送する動作を説明するフロー図、図２０の方向決定パケットフォーマット、図２１の方向決定拒否パケットフォーマットを用いて説明する。
【００８５】
なお、説明を簡単にするためにルータ１３からルータ１４、１５に広告パケットを送信してマスタルータを選定する例を用いて説明する。まず、図１４のステップＳ３０１において、ルータ１３の演算処理部１３２は、記憶部１３３に格納されているＯＳなどを起動し、このＯＳ上で格納されたプログラムを読み出し実行することにより、ルータ１３全体を制御するとともに、演算制御部１３２のマスタ検出部１３２３はマスタルータを検索するためのマスタ検索パケットをルータ１４、１５に送信する。このルータ１３の演算制御部１３２が記憶部１３３に格納されたプログラムを読み出し実行して各部を制御する動作については、他のルータについても同様であるので以下省略する。
【００８６】
ステップＳ３０２において、ルータ１３はマスタルータを検出できたかどうかを判断する。ルータ１３は、まだマスタルータが選定されてないためにマスタルータを検出できないと判断した場合にはステップＳ３０３に移行する。またルータ１３は、マスタルータからのマスタ検索パケットに対する返信などによってマスタルータを検出したものとして図１９の「Ａ」に移行する。
【００８７】
ステップＳ３０３において、ルータ１３は転送情報格納部１３２６に格納されているｍｉｎＲＩＤ（ルータ１３が認識しているリングネットワーク内で最も小さい値のルータの識別情報）を通知するため、広告パケット（たとえば図１５のパケットＰ３０）を事前に割り当てられているリンクローカルマルチキャストアドレスに（図１の場合はルータ１４、１５に）送信する。このとき、ルータ１３は通信インタフェースＩＦ１３０およびＩＦ１３１を介して広告パケットを送信することとする。
【００８８】
図１５に示すように、パケットＰ３０はＩＰｖ６ヘッダ、ペイロードなどの各フィールドを有し、ＩＰｖ６ヘッダに「始点ＩＰアドレス」、「終点ＩＰアドレス」などのフィールド、ペイロードに「メッセージタイプ」、「リングＩＤ」、ルータ１３の転送情報格納部１３２６に格納されているｍｉｎＲＩＤである「ルータＩＤ」、「ホップ数」を有している。
【００８９】
図１５のようにルータ１３は、たとえば始点ＩＰアドレスの値（たとえばルータ１３のＩＰｖ６アドレス「Ａ::１」）、終点ＩＰアドレスの値（たとえばリングネットワーク内のリンクローカルマルチキャストアドレス「ｆｆ０２::１００」）、メッセージタイプの値（たとえば「広告」）、リングＩＤの値（たとえば「ＲＩＮＧ１」）、ルータＩＤの値（ルータ１３の転送情報格納部１３２６に格納されているｍｉｎＲＩＤ「Ａ::１」）、ホップ数（初期値「０」）を設定した広告パケットをルータ１４、１５に送信する。そしてルータ１４はルータ１３からの広告パケットを通信インタフェースＩＦ１４０を介して受信するものとする。
【００９０】
具体的には、ルータ１３は、図１６に示すようにルータ１３からルータ１４へのパケット通信ＤＦ３００の流れ、ルータ１３からルータ１５へのパケット通信ＤＦ３０１の流れに示すように広告パケットをルータ１４、１５にそれぞれ送信する。
【００９１】
ステップＳ３０４において、ルータ１４はルータ１３から受信した広告パケットに基づいて、広告パケットのルータＩＤの値とルータ１４の転送情報格納部に格納されているｍｉｎＲＩＤの値とを比較する。広告パケットのルータＩＤに格納されているルータ１３のｍｉｎＲＩＤの値（たとえば「Ａ::１」）がルータ１４のｍｉｎＲＩＤの値（たとえば「Ａ::２」）よりも小さい場合は、ステップＳ３０５に移行する。ただし、ＩＰｖ６アドレスおよびＲＩＤの大小関係は９::１＜Ａ::１＜Ａ::２＜Ｂ::２＜Ｂ::３＜Ｃ::１＜Ｃ::３とする。
【００９２】
ステップＳ３０５において、ルータ１４の演算制御部は、ルータ１３から受信した広告パケットのルータＩＤの値を転送情報格納部のｍｉｎＲＩＤフィールドに格納する。
【００９３】
ステップＳ３０６において、ルータ１４は、ルータ１３から受信した広告パケットのホップ数に「１」加算して転送情報格納部の受信したホップ数（ＩＦ１４０用）フィールドに格納する（たとえば「１」）。
【００９４】
ステップＳ３０７において、ルータ１４の演算制御部のマスタルータ検出部は、転送情報格納部に格納されているｍｙＲＩＤの値とｍｉｎＲＩＤの値とが等しい場合、もしくは転送情報格納部に格納されている受信したホップ数（ＩＦ１４０用）が「０」より大きい値の場合はステップＳ３０８に移行する。
【００９５】
ステップＳ３０８において、ルータ１４の演算制御部のマスタルータ検出部は、転送情報格納部に格納されている転送情報（たとえばｍｉｎＲＩＤの値「Ａ::１」、ホップ数「１」）に基づいて広告パケットを生成し、リングネットワークに接続している他方の通信インタフェース（たとえば「ＩＦ１４１」）を介して広告パケットをルータ１５に転送する。そして、ステップＳ３０８の処理が終了した後に図１９の「Ａ」に移行する。
【００９６】
具体的には、ルータ１４は、図１７のルータ１４からルータ１５へのパケット通信ＤＦ３０２の流れに示すように、ルータ１５に広告パケットを送信する。なお、ルータ１５もルータ１４と同じ動作を行って、ルータ１５からルータ１４へのパケット通信ＤＦ３０３の流れに示すように広告パケットをルータ１４に送信する。
【００９７】
さらに、ルータ１５は、図１８のルータ１５からルータ１３へのパケット通信ＤＦ３０４の流れに示すように、ルータ１４から受信した広告パケットに基づいて広告パケットをルータ１３に送信する。またルータ１４は、図１８のルータ１４からルータ１３へのパケット通信ＤＦ３０５の流れに示すように、ルータ１５から受信した広告パケットに基づいて広告パケットをルータ１３に送信する。
【００９８】
一方、ステップＳ３０７においてルータ１４の演算制御部のマスタルータ検出部は、転送情報格納部に格納されているｍｙＲＩＤの値とｍｉｎＲＩＤの値とが等しくない場合や転送情報格納部に格納されている受信したホップ数（ＩＦ１４０用）が「０」より大きい値ではない場合も図１９の「Ａ」に移行する。
【００９９】
他方、ルータ１５が図１８のパケット通信ＤＦ３０４の流れに示すように広告パケットをルータ１３に広告パケットを送信するような場合は、ステップＳ３０４において、ルータ１３のマスタルータ検出部１３２３は受信した広告パケットのルータＩＤの値（たとえば「Ａ::１」）がルータ１３の転送情報格納部１３２６に格納されているｍｉｎＲＩＤの値（たとえば「Ａ::１」）よりも小さくない場合は、ステップＳ３０９に移行する。このとき、ルータ１３はルータ１５からの広告パケットを通信インタフェースＩＦ１３１を介して受信することとする。
【０１００】
ステップＳ３０９において、ルータ１３は受信した広告パケットのルータＩＤに格納されている値と転送情報格納部１３２６に格納されているｍｉｎＲＩＤの値とが等しいか否か判断する。ルータ１３は受信した広告パケットのルータＩＤに格納されている値とｍｉｎＲＩＤの値とが等しい場合はステップＳ３１０に移行する。
【０１０１】
また、ステップＳ３０９において、ルータ１３は受信した広告パケットのルータＩＤに格納されている値とｍｉｎＲＩＤの値とが等しくない場合は、ステップＳ３０３に移行する。
【０１０２】
ステップＳ３１０において、ルータ１３の演算制御部１３２６のマスタルータ検出部は、転送情報格納部に格納されているｍｙＲＩＤの値とｍｉｎＲＩＤの値とが等しい場合、ステップＳ３１１に移行する。
【０１０３】
ステップＳ３１１において、ルータ１３の演算制御部のマスタルータ検出部は、転送情報格納部に格納されている受信したホップ数（ＩＦ１３１用）が「１」以上であるか判断する。転送情報格納部に格納されている受信したホップ数（ＩＦ１３１用）が「１」以上である場合はステップＳ３１２に移行する。
【０１０４】
また、ステップＳ３１１において、ルータ１３の転送情報格納部に格納されたホップ数（ＩＦ１３１用）が「１」以上ではない場合は、図１９の「Ａ」に移行する。
【０１０５】
ステップＳ３１２において、ルータ１３の演算制御部１３２のマスタルータ検出部１３２３は、ルータ１５から受信した広告パケットのホップ数に「１」加算して転送情報格納部１３２６の受信したホップ数（ＩＦ１３１用）フィールドに、たとえば「１」を格納し、マスタルータ動作部１３２４はマスタルータとしての動作を開始する。そして、ステップＳ３１２の処理後に図１９の「Ａ」に移行する。
【０１０６】
一方、ステップＳ３１０において、ルータ１３の転送情報格納部１３２６に格納されているｍｙＲＩＤの値とｍｉｎＲＩＤの値とが等しくない場合は、ステップＳ３１３に移行する。ステップＳ３１３において、ルータ１３の演算制御部１３２のマスタルータ検出部１３２３は、ルータ１５から受信した広告パケットのホップ数に「１」加算して転送情報格納部１３２６のホップ数フィールドに、たとえば「１」を格納する。そして、ステップＳ３１３の処理後に図１９の「Ａ」に移行する。
【０１０７】
このように、各ルータは、認識しているｍｉｎＲＩＤを付加した広告パケットを送信し、受信した広告パケットのｍｉｎＲＩＤとこれまで認識していたｍｉｎＲＩＤのうち小さい値をｍｉｎＲＩＤとして記憶するとともに広告パケットに付加して他のルータに転送し、受信した広告パケットのｍｉｎＲＩＤとこれまで認識していたｍｉｎＲＩＤの値が等しく、かつそれらがｍｙＲＩＤと同じルータがマスタルータとして動作することで、リングネットワークを構成する各ルータの中からマスタルータを選定することができる。
【０１０８】
次に、マスタルータは方向決定パケットを各ルータに送信して、各ルータのインタフェースとパケットの転送方向との関連付けを行う。具体的には、図１９のステップＳ４０１において、ルータ１３の演算制御部１３２は記憶部１３３に格納されたプログラムを読み出し実行することにより、各部を制御してマスタルータとして動作し、演算制御部１３２の転送設定部１３２５はパケットの転送方向を決定するための「方向決定パケット」（たとえば図２０の方向決定パケットＰ４０）を事前に割り当てられているリンクローカルマルチキャストアドレスに送信する。
【０１０９】
方向決定パケットＰ４０は、図２０に示すようにＩＰｖ６ヘッダ、ペイロードなどの各フィールドを有し、ＩＰｖ６ヘッダに「始点ＩＰアドレス」、「終点ＩＰアドレス」、ペイロードに「メッセージタイプ」、リングネットワークの識別情報である「リングＩＤ」、マスタルータのルータＩＤである「ルータＩＤ」、転送されたルータの数である「ホップ数」などのフィールドを有している。
【０１１０】
ルータ１３は、たとえば図２０のように始点ＩＰアドレスの値（たとえばルータ１３のアドレス「Ａ::１」）、終点ＩＰアドレスの値（たとえばルータ１４のアドレス「Ａ::２」）、メッセージタイプの値（たとえば「方向決定」）、リングＩＤ（たとえば「ＲＩＮＧ１」）、ルータＩＤ（たとえばルータ１３のＲＩＤ「Ａ::１」）、ホップ数の値（たとえば「０」）を設定した方向決定パケットをルータ１４に送信する。
【０１１１】
ところで、ルータ１３からの方向決定パケットをルータ１４が受信した場合の動作について以下説明する。ステップＳ４０２において、ルータ１４の演算制御部のマスタルータ検出部は、ルータ１３から受信した方向決定パケットに基づいて、方向決定パケットのルータＩＤ（たとえばルータ１３のＲＩＤ「Ａ::１」）と送情報格納部に格納されているｍｉｎＲＩＤの値とが等しいか否かを判断する。方向決定パケットのルータＩＤの値と転送情報格納部に格納されているｍｉｎＲＩＤの値とが等しい場合は、ステップＳ４０３に移行する。
【０１１２】
ステップＳ４０３において、ルータ１４の演算制御部のマスタルータ検出部は、転送情報格納部のマスタルータＩＤフィールドに、方向決定パケットのルータＩＤを格納する。ルータ１４のマスタルータ検出部は、たとえば転送格納部に格納されているマスタルータＩＤフィールドに方向決定パケットのルータＩＤ「Ａ::１」を格納する。
【０１１３】
ステップＳ４０４において、ルータ１４の演算制御部の転送設定部は、ルータ１３から方向決定パケットを受信した通信インタフェース（たとえば通信インタフェース「ＩＦ１４０」）をＩＦ−ＬＥＦＴ、もう一方の通信インタフェース（たとえば通信インタフェース「ＩＦ１４１」）をＩＦ−ＲＩＧＨＴとして設定し、転送情報格納部の「ＩＦ−ＬＥＦＴ割り当てＩＦ」、「ＩＦ−ＲＩＧＨＴ割り当てＩＦ」にインタフェース情報をそれぞれ格納する。
【０１１４】
ステップＳ４０５において、ルータ１４の演算制御部の転送設定部は、ＩＦ−ＲＩＧＨＴが設定された通信インタフェース（たとえば通信インタフェース「ＩＦ１４１」）を制御してルータ１３から受信した方向決定パケットをルータ１５に転送する。このときルータ１４の転送設定部はホップ数に「１」加算して方向決定パケットをルータ１５に送信する。
【０１１５】
そして、ルータ１５は上述のステップＳ４０２〜Ｓ４０４と同様の処理を行い、ルータ１５のマスタルータ検出部はマスタルータＩＤフィールドに方向決定パケットのルータＩＤ「Ａ::１」を格納し、ルータ１５の演算制御部の転送設定部は、ルータ１４から方向決定パケットを受信した通信インタフェース（たとえば通信インタフェース「ＩＦ１５０」）をＩＦ−ＬＥＦＴ、もう一方の通信インタフェース（たとえば通信インタフェース「ＩＦ１５１」）をＩＦ−ＲＩＧＨＴとして設定し、転送情報格納部の「ＩＦ−ＬＥＦＴ割り当てＩＦ」、「ＩＦ−ＲＩＧＨＴ割り当てＩＦ」にインタフェース情報をそれぞれ格納する。
【０１１６】
一方、ステップＳ４０２において、ルータ１４は、たとえばマスタルータ１３のルータＩＤよりも小さいｍｉｎＲＩＤを認識している場合は、方向決定パケットのルータＩＤ（たとえばルータ１３のＲＩＤ「Ａ::１」）と転送情報格納部に格納されているｍｉｎＲＩＤの値（たとえばＲＩＤ「Ａ::０」）とが等しくないと判断してステップＳ４０６に移行する。
【０１１７】
ステップＳ４０６において、ルータ１４の演算制御部のマスタルータ検出部は、方向決定を拒否する旨を通知する方向決定拒否パケット（たとえば図２１のパケットＰ４１）をマスタルータであるルータ１３に送信する。
【０１１８】
方向決定拒否パケットＰ４１は、図２１に示すようにＩＰｖ６ヘッダ、ペイロードなどのフィールドを有し、ＩＰｖ６ヘッダに「始点ＩＰアドレス」、方向決定パケットの送信元ユニキャストアドレスを格納する「終点ＩＰアドレス」、ペイロードに「メッセージタイプ」、リングネットワークの識別情報を格納する「リングＩＤ」、ルータが認識しているリングネットワーク内での最小ルータＩＤを格納する「最小ルータＩＤ」、転送されたルータの数である「ホップ数」などのフィールドを有している。
【０１１９】
ルータ１４は、たとえば始点ＩＰアドレスの値（たとえば「ルータ１４」）、終点ＩＰアドレスの値（たとえば「ルータ１３」）、メッセージタイプの値（たとえば「方向決定拒否」）、リングＩＤ（たとえば「ＲＩＮＧ１」）、最小ルータＩＤ（たとえば「９::１」）、ホップ数の値（たとえば「１」）を設定した方向決定拒否パケットをルータ１２に送信する。
【０１２０】
そして、ルータ１３は、受信した方向決定拒否パケットの「最小ルータＩＤ」の値を転送情報格納部１３２６のｍｉｎＲＩＤに格納する。またステップＳ４０６の処理後、図１４の「Ｂ」に移行する。
【０１２１】
また、ルータ１５は、これらのルータ１４の動作と同様にルータ１４からの方向決定パケットに基づいて各通信インタフェースとパケットの転送方向との関連付けを行うことになる。
【０１２２】
このように、マスタルータは方向決定パケットを各ルータに送信し、各ルータは方向決定パケットを他のルータに転送するとともに受信した通信インタフェースをＩＦ−ＬＥＦＴ、送信する通信インタフェースをＩＦ−ＲＩＧＨＴとして設定することにより、各ルータの通信インタフェースとパケットの転送方向との関連付けを行うことができる。
【０１２３】
また、上記実施例において、トンネリング装置は右回りパケット転送先、左回りパケット転送先のアドレスを把握している必要がある。このような場合、オペレータなどが手動で各トンネリング装置の右回りおよび左回り転送先アドレスを設定するものであってもよいが、各トンネリング装置がネットワークを介して自動的に右回りおよび左回り転送先アドレスを取得し設定するものであってもよい。
【０１２４】
このようにトンネリング装置が右回りおよび左回り転送先アドレスを取得して設定する動作について、フロー図である図２２、方向検索パケット、方向設定パケットのパケットフォーマットである図２３、図２４を用いて説明する。
【０１２５】
図２２のステップＳ５０１において、トンネリング装置１２は右回りパケット、左回りパケットを送信すべきルータのアドレスを取得するための「方向検索パケット」（たとえば図２３の方向検索パケットＰ５０）を事前に割り当てられているリンクローカルマルチキャストアドレスに送信する。
【０１２６】
図２３に示すように、方向決定パケットＰ５０はＩＰｖ６ヘッダ、ペイロードなどの各フィールドを有し、ＩＰｖ６ヘッダに「始点ＩＰアドレス」、「終点ＩＰアドレス」、ペイロードに「メッセージタイプ」、リングネットワークの識別情報である「リングＩＤ」などのフィールドを有している。
【０１２７】
トンネリング装置１２は、たとえば始点ＩＰアドレスの値（たとえば「トンネリング装置１２のＩＰｖ６アドレス」）、終点ＩＰアドレスの値（たとえばリングネットワーク内の「リンクローカルマルチキャストアドレス」）、メッセージタイプの値（たとえば「方向検索」）、リングＩＤ（たとえば「ＲＩＮＧ１」）を設定した方向検索パケットをルータ１３、１５に送信する。
【０１２８】
以下、トンネリング装置１２からの方向検索パケットをルータ１３が受信した場合の動作を例として説明する。このとき、ルータ１３は、通信部の通信インタフェースＩＦ１３１を介して方向検索パケットを受信するものとする。
【０１２９】
ステップＳ５０２において、ルータ１３の演算制御部１３２の転送設定部１３２５は、受信した方向検索パケットに基づいて、方向検索パケットのリングＩＤがルータ１３の参加しているリングＩＤと等しいか否かを判断する。方向検索パケットのリングＩＤがルータ１３の参加しているリングＩＤと等しい場合はステップＳ５０３に移行する。
【０１３０】
ステップＳ５０３において、ルータ１３の演算制御部１３２の転送設定部１３２５は、パケットの転送方向を通知するための「方向設定パケット」（たとえば図２４の方向設定パケットＰ５１）を生成してトンネリング装置１２に送信する。
【０１３１】
方向決定パケットＰ５１は、図２４に示すようにＩＰｖ６ヘッダ、ペイロードなどの各フィールドを有し、ＩＰｖ６ヘッダに「始点ＩＰアドレス」、「終点ＩＰアドレス」、ペイロードに「メッセージタイプ」、リングネットワークの識別情報である「リングＩＤ」、方向検索パケットを受信した通信インタフェースのインタフェース名（ＩＦ−ＲＩＧＨＴ、ＩＦ−ＬＥＦＴなど）である「インタフェース名」、方向検索パケットを受信したインタフェースに割り振られたＩＰｖ６アドレスである「アドレス」などのフィールドを有している。
【０１３２】
ルータ１３は、たとえば始点ＩＰアドレスの値（たとえばルータ１３のＩＰｖ６アドレス「Ｃ::１」）、終点ＩＰアドレスの値（たとえば「トンネリング装置１２のＩＰｖ６アドレス」）、メッセージタイプの値（たとえば「方向設定」）、リングＩＤの値（たとえば「ＲＩＮＧ１」）、インタフェース名（たとえば「ＩＦ−ＬＥＦＴ」）、アドレスの値（たとえば「Ｃ::１」）を設定した方向検索パケットをトンネリング装置１２のユニキャストアドレスに送信する。
【０１３３】
ステップＳ５０４において、トンネリング装置１２の演算制御部１２２の方向設定部１２３０は、受信した方向設定パケットに基づいて、トンネル作成情報格納部１２２３の「右回りパケット送信先」フィールドに方向設定パケットのアドレスの値（たとえば「Ｃ::１」）を格納する。すなわち、トンネリング装置１２の方向設定部１２３０は、ルータ１３のＩＦ―ＬＥＦＴのアドレス（たとえば「Ｃ::１」）に右回りパケットを送信するように設定することになる。
【０１３４】
またトンネリング装置１２は、ルータ１３と同時に、ルータ１５にも方向検索パケットを送信することになるため、上述のステップＳ５０１〜Ｓ５０４の処理と同様に動作して、左回りパケット転送先のアドレスについてもネットワークを介して自動的に取得できる。
【０１３５】
このように、トンネリング装置は方向検索パケットをマルチキャストを用いて各ルータに送信し、各ルータは方向検索パケットを受信した通信インタフェース名（たとえば「ＩＦ−ＲＩＧＨＴ」、「ＩＦ−ＬＥＦＴ」）とこのインタフェースに割り当てられたアドレスとを含む方向設定パケットをトンネリング装置に送信することにより、トンネリング装置は右回りパケット転送先、左回りパケット転送先のアドレスを取得することができる。
【０１３６】
なお、上記実施例では、ルータ１３〜１５がリングネットワークを構成しているが、特にこれに限定するものではなく、複数のルータが複数のリングネットワークを構成するものであってもよい。
【０１３７】
また、上記実施例では、トンネリング装置１２、１６が各ホストから受信したパケットをカプセル化してトンネルパケットを生成し各ルータに転送し、各ルータから受信したトンネルパケットをデカプセル化してカプセル化前のパケットを再生して送信先ホストに転送しているが、特にこれに限定するものではなく、各ホスト、各ルータやルーティング機能を有する中継機器がトンネリング装置の機能を有するものであっても構わない。
【０１３８】
たとえば、リングネットワークを構成する各ルータがトンネリング装置の機能を有する場合は、送信元ホストに接続しているルータは、送信元ホストから受信したパケットをカプセル化してトンネルパケットを生成するとともに複製し、この複製したトンネルパケットにリングネットワークの右回り方向および左回り方向を示す転送方向を付加して、リングネットワークの右回りおよび左回り経路に送信する。
【０１３９】
そして、送信先ホストに接続しているルータは、他のルータから受信したトンネルパケットをデカプセル化してカプセル化前のパケットを再生し、再生したパケットに含まれる送信先ホストのネットワークアドレスに基づき、再生したパケットを送信先ホストに転送する。
【０１４０】
また、各ホストがトンネリング装置の機能を有する場合は、送信元ホストは、送信先ホスト宛のパケットをカプセル化してトンネルパケットを生成するとともに複製し、この複製したトンネルパケットにリングネットワークの右回り方向および左回り方向を示す転送方向情報を付加して、リングネットワークの右回りおよび左回り経路に送信する。
【０１４１】
そして、送信先ホストは、各ルータから受信したトンネルパケットをデカプセル化してカプセル化前のパケットを再生し、再生したパケットに含まれる送信先ホストのネットワークアドレスに基づき、再生したパケットを送信先ホストに転送する。
【０１４２】
また、上記実施例では、ホスト１１とホスト１７とのパケット通信はトンネリング装置１２、１６によるトンネリング通信を利用して行われていると説明しているが、送信元ホストからリングネットワークの右回りおよび左回り経路を介して送信先ホストにそれぞれ送信することが可能であればトンネリング装置を設置せずトンネリング通信を利用しないものであってもよい。
【０１４３】
たとえば、ルータなどの各中継機器は、送信元ホストからパケットを受信した場合は、受信したパケットに転送方向情報を付加してリングネットワークの右回り方向および左回り方向に送信し、他のルータからパケットを受信した場合は、受信したパケットを解析し、受信したパケットに含まれる転送方向情報と送信先ホストのネットワークアドレスに基づき、受信したパケットの転送方向情報が右回り方向の場合は自機と右回り方向に接続されている他の中継機器もしくは送信先ホストにパケットを転送し、受信したパケットの転送方向情報が左回り方向の場合は自機と左回り方向に接続されている他の中継機器もしくは送信先ホストにパケットを転送する。
【０１４４】
また、上記実施例では、ホスト１１とホスト１７とがルータ１３〜１５によって構成されるリングネットワークを介してパケット通信を行うものとして説明しているが、特にこれに限定するものではなく、２個以上のホストが２個以上のリングネットワークを介してそれぞれパケット通信を行うものであってもよい。
【０１４５】
また、上記実施例では、トンネリング装置１２、１６がリングネットワークを介してトンネリング通信を行うものとして説明しているが、特にこれに限定するものではなく、２個以上のトンネリング装置が２個以上のリングネットワークを介してそれぞれトンネリング通信を行うものであってもよい。
【０１４６】
また、本発明におけるパケットは、ＲＦＣ２４６０（Internet Protocol Version ６（ＩＰｖ６） Specification）で規定されているＩＰｖ６ヘッダ、ホップバイホップオプションヘッダ、宛先オプションヘッダを使用するものでよい。
【０１４７】
図２５はマスタルータを選定する動作のその他のフロー図である。まず、図２５のステップＳ６０１において、ルータ１４の演算処理部は、記憶部に格納されているＯＳなどを起動し、このＯＳ上で格納されたプログラムを読み出し実行することにより、ルータ１４全体を制御するとともに、演算制御部のマスタ検出部はマスタルータを検索するためのマスタ検索パケットをルータ１３、１５に送信する。このルータ１４の演算制御部が記憶部に格納されたプログラムを読み出し実行して各部を制御する動作については、他のルータについても同様であるので以下省略する。
【０１４８】
ステップＳ６０２において、ルータ１４はマスタルータを検出できたかどうかを判断する。ルータ１４は、まだマスタルータが選定されてないためにマスタルータを検出できないと判断した場合にはステップＳ６０３に移行する。またルータ１４は、マスタルータからのマスタ検索パケットに対する返信などによってマスタルータを検出したものと判断した場合には、ステップＳ６０４に移行する。
【０１４９】
ステップＳ６０３において、ルータ１４は転送情報格納部１３２６に格納されているｍｉｎＲＩＤ（ルータ１４が認識しているリングネットワーク内で最も小さい値のルータの識別情報）を通知するため、広告パケット（たとえば図１５のパケットＰ３０）を事前に割り当てられているリンクローカルマルチキャストアドレス（図１の場合はルータ１３、１５）に送信する。このとき、ルータ１４は通信インタフェースＩＦ１４０およびＩＦ１４１を介して広告パケットを送信することとする。
【０１５０】
ステップＳ６０４において、ルータ（たとえば、ルータ１４）は、他のルータ（たとえば、ルータ１３）から広告パケットを受信する
【０１５１】
ステップＳ６０５において、ルータ１４はルータ１３から受信した広告パケットに基づいて、広告パケットのルータＩＤの値とルータ１４の転送情報格納部に格納されているｍｉｎＲＩＤの値とを比較する。広告パケットのルータＩＤに格納されているルータ１３のｍｉｎＲＩＤの値（たとえば「Ａ::１」）がルータ１４のｍｉｎＲＩＤの値（たとえば「Ａ::２」）よりも小さい場合は、ステップＳ６０６に移行する。ただし、ＩＰｖ６アドレスおよびＲＩＤの大小関係は９::１＜Ａ::１＜Ａ::２＜Ｂ::２＜Ｂ::３＜Ｃ::１＜Ｃ::３とする。
【０１５２】
ステップＳ６０６において、ルータ１４の演算制御部は、ルータ１３から受信した広告パケットのルータＩＤの値を転送情報格納部のｍｉｎＲＩＤフィールドに格納する。
【０１５３】
ステップＳ６０７において、ルータ１４は、ルータ１３から受信した広告パケットのホップ数に「１」加算して転送情報格納部の受信したホップ数（ＩＦ１４０用）フィールドに格納する（たとえば「１」）。
【０１５４】
ステップＳ６０８において、ルータ１４の演算制御部のマスタルータ検出部は、転送情報格納部に格納されている受信したホップ数（ＩＦ１４０用）が「０」より大きい値の場合は、転送情報格納部に格納されている転送情報（たとえばｍｉｎＲＩＤの値「Ａ::１」、ホップ数「１」）に基づいて広告パケットを生成し、リングネットワークに接続している他方の通信インタフェース（たとえば「ＩＦ１４１」）を介して広告パケットをルータ１５に転送する。なお、ステップＳ６０８の処理が終了した後はステップＳ６０４に移行する。
【０１５５】
一方、ステップＳ６０５において、ルータ１４のマスタルータ検出部は、受信した広告パケットのルータＩＤの値（たとえば「Ａ::１」）が転送情報格納部に格納されているｍｉｎＲＩＤの値（たとえば「Ａ::１」）よりも小さくない場合は、ステップＳ６０９に移行する。
【０１５６】
ステップＳ６０９において、ルータ１４は受信した広告パケットのルータＩＤに格納されている値と転送情報格納部に格納されているｍｉｎＲＩＤの値とが等しいか否か判断する。ルータ１４は受信した広告パケットのルータＩＤに格納されている値とｍｉｎＲＩＤの値とが等しい場合はステップＳ６１０に移行する。
【０１５７】
また、ステップＳ６０９において、ルータ１４は受信した広告パケットのルータＩＤに格納されている値とｍｉｎＲＩＤの値とが等しくない場合は、ステップＳ６０３に移行する。
【０１５８】
ステップＳ６１０において、ルータ１４のマスタルータ検出部は、転送情報格納部に格納されているｍｙＲＩＤの値とｍｉｎＲＩＤの値とが等しい場合、ステップＳ６１１に移行する。
【０１５９】
ステップＳ６１１において、ルータ１４の演算制御部のマスタルータ検出部は、転送情報格納部に格納されている受信したホップ数が「１」以上であるか判断する。転送情報格納部に格納されている受信したホップ数が「１」以上である場合はステップＳ６１２に移行する。
【０１６０】
また、ステップＳ６１１において、ルータ１４の転送情報格納部に格納されたホップ数が「１」以上ではない場合は、ステップＳ６０４に移行する。
【０１６１】
ステップＳ６１２において、ルータ１４のマスタルータ検出部は、他のルータから受信した広告パケットのホップ数に「１」加算して転送情報格納部の受信したホップ数フィールドに、たとえば「１」を格納し、マスタルータ動作部はマスタルータとしての動作を開始する。そして、ステップＳ６１２の処理後に図１９の「Ａ」に移行する。
【０１６２】
一方、ステップＳ６１０において、ルータ１４の転送情報格納部に格納されているｍｙＲＩＤの値とｍｉｎＲＩＤの値とが等しくない場合は、ステップＳ６１３に移行する。ステップＳ６１３において、ルータ１４のマスタルータ検出部は、他のルータから受信した広告パケットのホップ数に「１」加算して転送情報格納部のホップ数フィールドに、たとえば「１」を格納する。そして、ステップＳ６１３の処理後にステップＳ６０８に移行する。
【０１６３】
このように、各ルータは、認識しているｍｉｎＲＩＤを付加した広告パケットを送信し、受信した広告パケットのｍｉｎＲＩＤとこれまで認識していたｍｉｎＲＩＤのうち小さい値をｍｉｎＲＩＤとして記憶するとともに広告パケットに付加して他のルータに転送し、受信した広告パケットのｍｉｎＲＩＤとこれまで認識していたｍｉｎＲＩＤの値が等しく、かつそれらがｍｙＲＩＤと同じルータがマスタルータとして動作することで、リングネットワークを構成する各ルータの中からマスタルータを選定することができる。
【０１６４】
以上説明したように、本発明によれば、いずれかの経路に障害が発生しても確実にパケットが到達するＩＰネットワークシステムを実現できるとともに、各ルータはリングネットワーク内で右回り方向および左回り方向などの転送方向を自動的に把握でき、トンネリング装置は右回りパケット転送先、左回りパケット転送先のアドレスを自動的に取得することができる。
【図面の簡単な説明】
【０１６５】
【図１】本発明に係るＩＰネットワークシステムの一実施例を示す構成ブロック図である。
【図２】図１のトンネリング装置１２の構成ブロック図である。
【図３】図２のトンネリング装置を構成する演算制御部１２２の機能ブロック例図である。
【図４】トンネル作成情報格納部に格納されているトンネル作成情報の一例である。
【図５】パケット情報格納部に格納されている転送済みパケット情報の一例である。
【図６】図１のルータ１３の構成ブロック図である。
【図７】図４のルータ１３を構成する演算制御部１３２の機能ブロック例図である。
【図８】各ルータの転送情報格納部に格納されるリングネットワーク情報の一例である。
【図９】本発明のＩＰネットワークシステムの動作をパケット通信の流れを示す説明図である。
【図１０】本発明のＩＰネットワークシステムの動作を説明するフロー図である。
【図１１】ＩＰネットワークシステムで利用するパケットフォーマット例である。
【図１２】ＩＰネットワークシステムで利用するパケットフォーマット例である。
【図１３】ＩＰネットワークシステムで利用するパケットフォーマット例である。
【図１４】マスタルータを選定する動作のフロー図である。
【図１５】広告パケットのパケットフォーマットである。
【図１６】各ルータが広告パケットを転送する動作の説明図である。
【図１７】各ルータが広告パケットを転送する動作の説明図である。
【図１８】各ルータが広告パケットを転送する動作の説明図である。
【図１９】マスタルータが方向決定パケットを各ルータに転送する動作のフロー図である。
【図２０】方向決定パケットのパケットフォーマットである。
【図２１】方向決定拒否パケットのパケットフォーマットである。
【図２２】トンネリング装置が転送先のアドレスを取得し設定する動作のフロー図である。
【図２３】方向検索パケットのパケットフォーマットである。
【図２４】方向設定パケットのパケットフォーマットである。
【図２５】マスタルータを選定する動作のその他のフロー図である。
【図２６】従来のＩＰネットワークシステムの一例を示す構成ブロック図である。
【図２７】ＩＰネットワークシステムの動作を説明するフロー図である。
【符号の説明】
【０１６６】
１、４、１１、１７  ホスト
２、３、１３、１４、１５、１８、１９、２０、２１  ルータ
１２、１６  トンネリング装置
１２１、１３１  通信部
１２２、１３２  演算制御部
１２３、１３３  記憶部
１２２１、１３２１  パケット送受部
１２２２  トンネルパケット生成部
１２２３  トンネル作成情報格納部
１２２４  パケット複製部
１２２５  トンネル受信処理部
１２２６  パケット情報格納部
１２２７  転送判断部
１２２８  パケット生成部
１２２９  パケット破棄部
１２３０  方向設定部
１３２２  転送判断部
１３２３  マスタルータ検出部
１３２４  マスタルータ動作部
１３２５  転送設定部
１３２６  転送情報格納部
【図１】
0005115819.tif 000002
【図２】
0005115819.tif 000003
【図３】
0005115819.tif 000004
【図４】
0005115819.tif 000005
【図５】
0005115819.tif 000006
【図６】
0005115819.tif 000007
【図７】
0005115819.tif 000008
【図８】
0005115819.tif 000009
【図９】
0005115819.tif 000010
【図１０】
0005115819.tif 000011
【図１１】
0005115819.tif 000012
【図１２】
0005115819.tif 000013
【図１３】
0005115819.tif 000014
【図１４】
0005115819.tif 000015
【図１５】
0005115819.tif 000016
【図１６】
0005115819.tif 000017
【図１７】
0005115819.tif 000018
【図１８】
0005115819.tif 000019
【図１９】
0005115819.tif 000020
【図２０】
0005115819.tif 000021
【図２１】
0005115819.tif 000022
【図２２】
0005115819.tif 000023
【図２３】
0005115819.tif 000024
【図２４】
0005115819.tif 000025
【図２５】
0005115819.tif 000026
【図２６】
0005115819.tif 000027
【図２７】
0005115819.tif 000028