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