(57)【特許請求の範囲】
【請求項１】
接続されている複数のノードを有するリングネットワークにおけるルーティング方法であって、
前記リングネットワーク上の各ノードは、前記リングネットワークのトポロジー情報を取得し、他のノードがリング外ネットワークから学習したリング外経路情報を取得し、取得された前記リングネットワークのトポロジー情報およびリング外経路情報に基づいて、自ノードから各リング外経路へのメインパスおよびバックアップパスを算出して、リング外経路、リング外経路に対応する間接次ホップ、自ノードから間接次ホップへのメインパス、バックアップパスの対応関係表を生成し、さらに、リングネットワーク上の任意の１つのリンクに故障が発生する場合に自ノードから各間接次ホップへの高速迂回（ＦＲＲ）切り替えテーブルを生成し、前記リングネットワークに故障が発生した場合、ＦＲＲ切り替えテーブルに基づいて、メインパスとバックアップパスとの間で切り替える、
ことを含むことを特徴とする方法。
【請求項２】
前記リングネットワークのトポロジー情報を取得することは、
前記リングネットワークのマスターノードが、あるコネクションを介してリング発見メッセージを送信し、
前記リングネットワークの各スレーブノードが、前記リング発見メッセージを受信した後、該スレーブノード自身の情報を前記リング発見メッセージに追加し、該スレーブノード自身の情報が追加されたリング発見メッセージを転送し、
前記マスターノードが、他のコネクションから受信されたリング発見メッセージ内の情報に基づいて、前記リングネットワークのトポロジーを決定し、リング広告メッセージを介して、前記リングネットワークのトポロジー情報を、前記リングネットワーク上の各ノードに送信する、
ことを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記リング発見メッセージには、送信元の識別子、ホップ数、および前記リング発見メッセージの経由する各ノードの情報が付けられることを特徴とする請求項２に記載の方法。
【請求項４】
前記リング広告メッセージを介して、前記リングネットワークのトポロジー情報を、前記リングネットワーク上の各ノードに送信することは、
前記マスターノードが、あるコネクションを介して、前記マスターノードの識別子、総ホップ数、第２ホップ数、および前記リングネットワーク上の全てのノードの情報が付けられているリング広告メッセージを送信し、
各スレーブノードが、前記リング広告メッセージを受信した後、受信されたリング広告メッセージに付けられている情報を記録し、受信されたリング広告メッセージに付けられている第２ホップ数を１加算し、第２ホップ数が１加算された前記リング広告メッセージを次のノードに送信する、
ことを含むことを特徴とする請求項２に記載の方法。
【請求項５】
前記マスターノードが、リング広告メッセージを周期的に送信し、
各スレーブノードが、前記リング広告メッセージを受信した後、前記リング広告メッセージに付けられているノード情報に該スレーブノード自身の情報が含まれないと判断した場合、受信されたリング広告メッセージに更新マークを追加し、更新マークが追加された前記リング広告メッセージを次のノードに送信し、
前記マスターノードが、更新マークが付けられているリング広告メッセージを受信した場合、再びリング発見メッセージを送信して、前記リングネットワークの新たなトポロジーを取得する、
ことをさらに含むことを特徴とする請求項２に記載の方法。
【請求項６】
前記リングネットワークのトポロジー情報を取得することは、
前記リングネットワーク上の各ノードが、自ノードの識別子とホップ数とが付けられているリング広告メッセージを双方向に送信し、各リング広告メッセージを受信した後、受信されたリング広告メッセージにおけるホップ数を１加算し、ホップ数が１加算された前記リング広告メッセージを次のノードに送信するように、各リング広告メッセージを処理し、
前記リングネットワーク上の各ノードが、受信された各リング広告メッセージに付けられている情報に基づいて、前記リングネットワークのトポロジーを決定する、
ことを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記他のノードがリング外ネットワークから学習したリング外経路を取得することは、
前記リングネットワーク上の各ノードが、あるコネクションを介して、自ノードの識別子と、自ノードがリング外ネットワークから学習したリング外経路とが付けられている経路広告メッセージを送信し、各経路広告メッセージを受信した後、受信された経路広告メッセージに付けられているリング外経路を記録し、受信された経路広告メッセージを次のノードに転送するように、各経路広告メッセージを処理する、
ことを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記取得された前記リングネットワークのトポロジー情報に基づいて、自ノードから各リング外経路へのメインパスおよびバックアップパスを算出することは、
前記リングネットワーク上の各ノードが、他のノードに対応する各リング外経路に対して、メインパスおよびバックアップパスを算出し、ここで、１つのリング外経路に対して、該リング外経路に対応するノードへの左手コネクションのホップ数と、該リング外経路に対応するノードへの右手コネクションのホップ数とを算出し、算出された２つのホップ数が等しくない場合、ホップ数が小さい一方を該リング外経路へのメインパスとして、他方を該リング外経路へのバックアップパスとして選択し、算出された２つのホップ数が等しい場合、所定の規則に従って、左手コネクションと右手コネクションの片方をメインパスとして、他方をバックアップパスとして選択する、
ことを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記ＦＲＲ切り替えテーブルを生成することは、
前記リングネットワーク上の各ノードが、前記リングネットワーク上の各リンクに対して、該リンクが自ノードからあるリング外経路に対応するノードへのメインパスに含まれるかどうかを判断し、該リンクが前記メインパスに含まれると判断した場合、前記ＦＲＲ切り替えテーブルにおいて、該リンクに故障が発生したときにメインパスとバックアップパスとの切り替えを行う必要があると標記し、該リンクが前記メインパスに含まれないと判断した場合、前記ＦＲＲ切り替えテーブルにおいて、切り替えを行う必要がないと標記する、
ことを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記リングネットワーク上の各ノードが、自ノードに接続されているリンク状態をリアルタイムに検出し、１つのリンクにおいて故障を検出した場合、他のリンクを介して故障通告メッセージを送信して、前記リングネットワークに故障リンクがある旨を他のノードに通知し、
前記リングネットワークに故障リンクがある旨を通知された各ノードが、ＦＲＲ切り替えテーブルに基づいて、メインパスとバックアップパスとの間で切り替える、
ことをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１１】
前記リングネットワーク上の各ノードが、リング広告メッセージの受信に基づいて、前記リングネットワーク上のあるリンクに故障が発生したかどうかを判断し、同じノードのリング広告メッセージが一方向で受信された場合、前記リングネットワーク上のあるリンクに故障が発生したと決定することを特徴とする請求項６に記載の方法。
【請求項１２】
前記リングネットワークのマスターノードが、あるコネクションを介して、リング広告メッセージを周期的に送信し、本来前記マスターノードから送信されたリング広告メッセージが、他のコネクションを介して受信された場合、リンク回復メッセージを送信して、故障したリンクが回復した旨を、前記リングネットワーク上の他のノードに通知し、または、
前記リングネットワーク上の各ノードが、自ノードに接続されているリンク状態をリアルタイムに検出し、故障したリンクが回復したことを検出した場合、故障回復メッセージを送信して、該リンクが回復した旨を他のノードに通知する、
ことをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記リングネットワーク上の各ノードが、同じノードのリング広告メッセージが双方向で受信されたかどうかを判断し、同じノードのリング広告メッセージが双方向で受信されたと判断した場合、故障したリンクが回復したと決定する、
ことをさらに含むことを特徴とする請求項６に記載の方法。
【請求項１４】
前記リングネットワーク上の各ノードが、故障したリンクが回復した後、自ノードで以前に使用されていたパスに切り替え戻す、
ことをさらに含むことを特徴とする請求項１、１２または１３のいずれか１項に記載の方法。
【請求項１５】
接続されている複数のノードを有するリングネットワーク上のノードであって、
前記リングネットワークのトポロジー情報を取得するトポロジー情報取得モジュールと、
他のノードがリング外ネットワークから学習したリング外経路情報を取得する経路情報取得モジュールと、
前記トポロジー情報取得モジュールにより提供された前記リングネットワークのトポロジー情報と、前記経路情報取得モジュールにより提供されたリング外経路情報とに基づいて、自ノードから各リング外経路へのメインパスおよびバックアップパスを算出して、リング外経路、リング外経路に対応する間接次ホップ、自ノードから間接次ホップへのメインパス、バックアップパスの対応関係表を生成し、さらに、リングネットワーク上の任意の１つのリンクに故障が発生する場合に自ノードから各間接次ホップへの高速迂回（ＦＲＲ）切り替えテーブルを生成するＦＲＲ生成モジュールと、
前記リングネットワークに故障が発生した場合、前記ＦＲＲ生成モジュールにより提供されたＦＲＲ切り替えテーブルに基づいて、メインパスとバックアップパスとの間で切り替える経路切り替えモジュールと、
前記各モジュールを制御する制御ユニットと、
を含むことを特徴とするノード。
【請求項１６】
前記ＦＲＲ生成モジュールは、
他の各ノードに対応する各リング外経路に対して、メインパスおよびバックアップパスを算出し、ここで、１つのリング外経路に対して、該リング外経路に対応するノードへの左手コネクションのホップ数と、該リング外経路に対応するノードへの右手コネクションのホップ数とを算出し、算出された２つのホップ数が等しくない場合、ホップ数が小さい一方を該リング外経路へのメインパスとして、他方を該リング外経路へのバックアップパスとして選択し、算出された２つのホップ数が等しい場合、所定の規則に従って、左手コネクションと右手コネクションの片方をメインパスとして、他方をバックアップパスとして選択するメインバックアップパス生成モジュールと、
前記リングネットワーク上の各リンクに対して、該リンクが自ノードからある間接次ホップへのメインパスに含まれるかどうかを判断し、該リンクが前記メインパスに含まれると判断した場合、前記ＦＲＲ切り替えテーブルにおいて、該リンクに故障が発生したときにメインパスとバックアップパスとの切り替えを行う必要があると標記し、該リンクが前記メインパスに含まれないと判断した場合、前記ＦＲＲ切り替えテーブルにおいて、切り替えを行う必要がないと標記するＦＲＲ切り替えテーブル生成モジュールと、
を含むことを特徴とする請求項１５に記載のノード。
【請求項１７】
前記経路切り替えモジュールは、さらに、故障したリンクが回復した場合、切り替えられたパスを、自ノードで故障発生前に使用されていたパスに回復することを特徴とする請求項１５に記載のノード。
【請求項１８】
コンピュータ実行可能プログラムであって、
コンピュータプログラムコードを有し、前記コードがコンピュータにおいて実行される場合、請求項１から１４のいずれか１項に記載の方法が前記コンピュータにより実現されることを可能にすることを特徴とするコンピュータ実行可能プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はリングネットワーク技術に関し、特に、リングネットワークルーティング方法およびリングネットワークノードに関する。
【背景技術】
【０００２】
リングネットワークは、直列に接続されてリング状構成になる若干のノードを有し、保護切り替えが速く、故障の自己修復能力が高いなどのメリットがあり、金融や教育などの多くの業界のネットワーク構成に幅広く応用されている。ネットワークが構築された後、メッセージの正常な転送を確保するために、ネットワーク内の各ノード間でルーティングプロトコルを運用する必要がある。これにより、ノードは、転送を指示するための経路情報を学習することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、現在、従来技術にはリングネットワークに対する専用のルーティングプロトコルがない。例えば、ＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）プロトコル、ＲＩＰ（Ｒｏｕｔｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）プロトコル、ＩＳＩＳ（Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｓｙｓｔｅｍ−ｔｏ−Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｓｙｓｔｅｍ）通信プロトコルなどのような従来の様々なルーティングプロトコルは全てが汎用ルーティングプロトコルであり、異なるネットワーキング環境に適用しているが、リングネットワークに対して専門的に設計されたものではない。これらの汎用ルーティングプロトコルをリングネットワークに応用すると、実現が複雑であるだけではなく、リングネットワークのリンクに故障が発生した場合に高速収束が実現できない。
【０００４】
本発明は上記に鑑みてなされたものであって、リングネットワークルーティング方法およびリングネットワークノードを提供することにより、リングネットワークに簡単なルーティング実現方式を提供し、リンクに故障が発生した場合、高速収束を実現することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達するため、本発明に係る解決手段は以下の通りである。
【０００６】
接続されている複数のノードを有するリングネットワークにおけるルーティング方法であって、前記リングネットワーク上の各ノードは、前記リングネットワークのトポロジー情報を取得し、他のノードがリング外ネットワークから学習したリング外経路を取得し、取得された前記リングネットワークのトポロジー情報に基づいて、自ノードから各リング外経路へのメインパスおよびバックアップパスを算出し、高速迂回（ＦＲＲ）切り替えテーブルを生成し、前記リングネットワークに故障が発生した場合、ＦＲＲ切り替えテーブルに基づいて、メインパスとバックアップパスとの間で切り替える、ことを含む。
【０００７】
接続されている複数のノードを有するリングネットワーク上のノードであって、前記リングネットワークのトポロジー情報を取得するトポロジー情報取得モジュールと、他のノードがリング外ネットワークから学習したリング外経路を取得する経路情報取得モジュールと、前記トポロジー情報取得モジュールにより提供された前記リングネットワークのトポロジー情報と、前記経路情報取得モジュールにより提供されたリング外経路とに基づいて、自ノードから各リング外経路へのメインパスおよびバックアップパスを算出し、さらに、高速迂回（ＦＲＲ）切り替えテーブルを生成するＦＲＲ生成モジュールと、前記リングネットワークに故障が発生した場合、前記ＦＲＲ生成モジュールにより提供されたＦＲＲ切り替えテーブルに基づいて、メインパスとバックアップパスとの間で切り替える経路切り替えモジュールと、前記各モジュールを制御する制御ユニットと、を含む。
【０００８】
コンピュータプログラムプロダクトであって、コンピュータにおいて実行されると、接続されている複数のノードを有するリングネットワークにおけるルーティング方法が前記コンピュータにより実現されることを可能にするコンピュータプログラムコードを有する。該方法において、前記リングネットワーク上の各ノードは、前記リングネットワークのトポロジー情報を取得し、他のノードがリング外ネットワークから学習したリング外経路を取得し、取得された前記リングネットワークのトポロジー情報に基づいて、自ノードから各リング外経路へのメインパスおよびバックアップパスを算出し、高速迂回（ＦＲＲ）切り替えテーブルを生成し、前記リングネットワークに故障が発生した場合、ＦＲＲ切り替えテーブルに基づいて、メインパスとバックアップパスとの間で切り替える、ことを含む。
【発明の効果】
【０００９】
上記からわかるように、本発明はリングネットワークトポロジーの特徴を考慮した上で、簡単かつ効果的なルーティング実現方式を提供している。また、リングネットワークのリンクに故障が発生した場合、本発明に係る解決手段によれば、高速収束を実現することができ、切り替え時間をミリ秒オーダーに抑えることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例に係るリングネットワークの構成を示す図である。
【図２】本発明の実施例に係るリングネットワークノードの構成を示す図である。
【発明を実施するための形態】
【００１１】
本発明の基本思想は、リングネットワークトポロジーの特性を考慮した上で、簡単なルーティング実現方式を提供し、リングネットワークトポロジーに基づいて高速迂回（ＦＲＲ：Ｆａｓｔ  Ｒｅｒｏｕｔｅ）切り替えテーブルを算出し、リングネットワークに故障が発生した場合、ＦＲＲ切り替えテーブルに基づいて経路切り替えを迅速に実行することである。ここで、上記故障は、ノードまたはリンクにおいて発生しうる。
【００１２】
本発明の目的、解決手段およびメリットをさらに明確にするため、以下、図面を参照して実施例を挙げながら、本発明についてさらに詳しく説明する。
【００１３】
図１に示すリングネットワーク構成を参照すると、ノードＲ１、Ｒ２、Ｒ３、Ｒ４が直列に接続されてリングがなされ、各ノード間を接続するリンクがそれぞれＬ１、Ｌ２、Ｌ３、Ｌ４であり、かつノードＲ１、Ｒ２、Ｒ３、Ｒ４がそれぞれのインターネットプロトコル（ＩＰ：Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークＩＰ１、ＩＰ２、ＩＰ３、ＩＰ４に接続されている。
【００１４】
説明の便宜のため、以下、いくつかの概念を明確にしておく。
【００１５】
１）ノード：リング上の各ルータそれぞれが１つのノードを構成する。各ノードはいずれも２つのコネクションを有し、各コネクションはいずれも１つのＩＰアドレスを有する。
【００１６】
２）ノード識別子（ＩＤ）：リング上の各ノードはいずれも、ノードを一意に識別するための唯一無二の識別子を有する。図１において、リング上の各ノードの識別子はそれぞれＲ１、Ｒ２、Ｒ３、Ｒ４であり、各ノードのＩＰアドレスで表されるようにしてもよい。
【００１７】
３）コネクション：リング上の各ノード間のリンクがコネクションと呼ばれ、１つのリングネットワークにおいて、コネクション数はノード数と同じであり、かつ各ノードそれぞれは、左手コネクションおよび右手コネクションと呼ばれる２つのコネクションに対応する。図１に示すように、Ｌ１、Ｌ２、Ｌ３、Ｌ４という４つのコネクションがあり、ここで、Ｌ１はＲ１の左手コネクションでもあり、Ｒ２の右手コネクションでもある。１つのコネクションの両端のノードのＩＰアドレスは、普通、同一のネットワークセグメントにあり、例えば、Ｌ１の両端のＩＰアドレスはそれぞれ２０２．１０．１．１および２０２．１０．１．２である。
【００１８】
３）マスターノード（Ｍａｓｔｅｒ）：同じ時刻において、１つのリング上に１つのみのマスターノードがあり、他のノードはスレーブノード（Ｓｌａｖｅ）と呼ばれる。
【００１９】
本発明に係るリングネットワークルーティング方法は主に以下の部分を含む。
【００２０】
１、トポロジー構築過程：主にリングネットワーク全体のトポロジーをリング上の各ノードに知らせる。
【００２１】
２、経路配信過程：主に各ノードのリング外（ｕｎｄｅｒ−ｒｉｎｇ）経路をリング上において拡散する。
【００２２】
３、ＦＲＲ生成過程：主にＦＲＲ保護パスを算出し、即ちリング上の各ノードに対してメインパスおよびバックアップパスを算出し、ＦＲＲ切り替えテーブルを生成する。
【００２３】
４、故障切り替え過程：主にリンクまたはノードの故障を検出して、迅速にリング全体まで拡散し、リング上のノードがＦＲＲ切り替えテーブルに基づいて、経路を迅速に切り替える。
【００２４】
５、故障回復過程：主に故障が回復した後、切り替えられた経路を回復する。
【００２５】
以上の各部分のいずれも具体的な実現方法が１つだけではなく、本文ではただよくある１つまたはいくつかの実現方法を列挙する。具体的な紹介は以下の通りである。
【００２６】
１、トポロジー構築過程
【００２７】
トポロジー構築過程は、主にリング上の各ノードの識別子および位置を含むリング全体の状況をリング上の全てのノードに知らせるためのものである。
【００２８】
実現方法の１つとして、リング上のマスターノードからリング発見メッセージを送信し、途中のスレーブノードは、このメッセージを受信した後、自ノードの情報を該メッセージに追加し、最後にこのメッセージはマスターノードに戻り、マスターノードはリング全体の情報を知り、かつリング広告メッセージを介してこのリング全体の情報を送信し、これにより、途中のスレーブノードは、マスターノードと同じようにリング全体の情報を知ることができる。
【００２９】
図１を参照して、マスターノードがＲ１であると仮定する。
【００３０】
Ｒ１は、自ノードの左手コネクションを介して、リング発見メッセージを送信する。該リング発見メッセージの内容は｛Ｒ１，１，Ｒ１｝を含む。ここで、一番目のＲ１は送信元であるマスターノードを代表し、１はホップ数を表し、その後のＲ１はマスターノード自身のＩＤである。Ｒ１からのリング発見メッセージを受信したＲ２は、メッセージ内のホップ数に１を加えて、自ノードの識別子もメッセージに追加し、次いで変更後のメッセージ｛Ｒ１，２，Ｒ１、Ｒ２｝を次のノードＲ３に送信する。Ｒ３、Ｒ４は、リング発見メッセージに対する処理がＲ２と同じである。最後に、リング発見メッセージは、Ｒ１の右手コネクションを介してＲ１に戻り、その中に付けられている内容が｛Ｒ１，４，Ｒ１、Ｒ２、Ｒ３、Ｒ４｝と変更されている。このように、Ｒ１は、リング上に合わせて４つのノードがあり、かつ順次にＲ１、Ｒ２、Ｒ３、Ｒ４であることを知ることができる。
【００３１】
その後、Ｒ１は、左手コネクションを介して、リング広告メッセージを送信する。該リング広告メッセージの内容は｛Ｒ１，４，１，Ｒ１、Ｒ２、Ｒ３、Ｒ４｝を含む。ここで、一番目のＲ１は送信元であるマスターノードを表し、４は、リング上に合わせて４つのノードがあることを表し、１は、該リング広告メッセージの経由したノード数を指示するためのホップ数を表し、その後のＲ１〜Ｒ４は順次にリング上の各ノードを表す。該メッセージを受信したＲ２は、その中に付けられている情報を記録し、メッセージ内のホップ数に１を加えて、該メッセージの内容を｛Ｒ１，４，２，Ｒ１、Ｒ２、Ｒ３、Ｒ４｝に変更し、変更後のリング広告メッセージを次のノードＲ３に送信する。Ｒ３、Ｒ４は、該メッセージに対する処理がＲ２と同じである。最後にＲ１に戻るリング広告メッセージは、｛Ｒ１，４，４，Ｒ１、Ｒ２、Ｒ３、Ｒ４｝となる。該処理過程を経た後、リング上の全てのノードは、図１に示すリングネットワークのトポロジー情報を知る。
【００３２】
上記説明からわかるように、リングネットワークがリング状である特性によると、マスターノードはリング発見メッセージを一方向に送信するだけで、リングネットワーク全体のトポロジー情報を取得することができ、実現が非常に簡単である。さらに、マスターノードは、リングネットワークのトポロジー情報を取得した後、リング広告メッセージを一方向に送信することによって、リングネットワーク全体のトポロジー情報を各スレーブノードに迅速に拡散できる。これにより、リング上の全てのノードは、リングネットワーク全体のトポロジー情報を便利に取得することができる。
【００３３】
また、ネットワークのトポロジーの変化を適時に発見するために、マスターノードはリング広告メッセージを周期的に送信し、リング上の各ノードは該メッセージに基づいてネットワーク状況を検査する。あるノードは、ネットワークのトポロジーが変化した（例えば、あるノードのＩＤが変化し、またはリング上に新たに追加されたノードがある）ことで、リング広告メッセージに付けられているノード情報に自ノードの識別子がないことを発見した場合、受信されたリング広告メッセージに対して更新マークを追加して転送する。更新マークが付けられているリング広告メッセージを受信したマスターノードは、リングネットワークのトポロジーが安定になるまで、リング発見メッセージを開始してリング発見を再び行う。例えば、図１において、Ｒ３のＩＤがＲ３＊に変化したとすると、マスターノードＲ１からのリング広告メッセージを受信したＲ３は、メッセージを｛Ｒ１，４，３，Ｒ１、Ｒ２、Ｒ３、Ｒ４，Ｆｌａｇ＝更新｝に変更して、変更後のメッセージをＲ４に送信し、最後に該メッセージはＲ４を介してマスターノードＲ１に戻り、更新マークが付けられているメッセージを受信したＲ１は、トポロジーが安定になるまで、リング発見を再び行う。
【００３４】
トポロジー構築過程の別の実現方法として、リング上のマスターノードまたはスレーブノードを区分することなく、リング上の各ノードはいずれも、自ノードの識別子およびホップ数が付けられている第１広告メッセージを、それぞれ左手コネクションおよび右手コネクションを介して定期的に送信し、リング上の他のノードからの第１広告メッセージを受信した後、メッセージ内のホップ数を１加算して次のノードに転送する。最後に、該メッセージは、最初に該メッセージを送信したノードに戻る。次いで、リング上の各ノードは、他の各ノードから受信された第１広告メッセージに付けられている情報に基づいて、リングネットワークのトポロジーを決定する。
【００３５】
以下、図１を参照して例を挙げながら説明する。
【００３６】
Ｒ２を例として、Ｒ２は、右手コネクションを介して、｛Ｒ２，１｝のような第１広告メッセージを送信し、左手コネクションを介してこのメッセージを受信したＲ１は、その中に付けられているホップ数に１を加えて、該メッセージの内容を｛Ｒ２，２｝に変更し、次いで｛Ｒ２，２｝を、右手コネクションを介して転送する。Ｒ４、Ｒ３は、該メッセージに対する処理がＲ１と同じである。最後に、該メッセージは、｛Ｒ２，４｝となる内容でＲ３からＲ２に戻る。左手コネクションを介して該メッセージを受信したＲ２は、該メッセージを転送せずに、そのまま破棄する。一方、Ｒ２は、また、左手コネクションを介して、第１広告メッセージ｛Ｒ２，１｝を送信する。該メッセージは、リング上における伝送過程が、方向が反対である以外に上記過程と同じである。リング上の他のノードが第１広告メッセージを送信する処理はＲ２と同じであり、ここで説明を省略する。
【００３７】
リング上の任意のノードにとって、リング上の他の各ノードからの第１広告メッセージを受信した後、これらメッセージに付けられている情報に基づいて、リングネットワーク全体のトポロジーを構築することができる。例えば、Ｒ３を例として、Ｒ３は、右手コネクションを介して｛Ｒ２，１｝を受信し、左手コネクションを介して｛Ｒ２，３｝を受信したことになる。このように、Ｒ３は、リング上に合わせて１＋３＝４ホップ、即ち合わせて４つのノードがあり、かつＲ２が自ノードから、右手コネクションで１ホップ、左手コネクションで３ホップの位置にあることを知ることができる。また、Ｒ３は、右手コネクションを介して｛Ｒ１，２｝を受信し、左手コネクションを介して｛Ｒ１，２｝を受信したことになる。このように、Ｒ３は同様に、リング上に合わせて２＋２＝４ホップがあり、かつＲ１が自ノードから、右手コネクションで２ホップ、左手コネクションで２ホップの位置にあることを知ることができる。また、Ｒ３は、右手コネクションを介して｛Ｒ４，１｝を受信し、左手コネクションを介して｛Ｒ４，３｝を受信したことになる。このように、Ｒ３は同様に、リング上に合わせて３＋１＝４ホップがあり、かつＲ４が自ノードから、右手コネクションで３ホップ、左手コネクションで１ホップの位置にあることを知ることができる。最後に、Ｒ３では、表１に示すようなリング上ノードホップ数テーブルを形成することができる。
【００３８】
【表１】
0004847557.tif 000002
【００３９】
２、経路配信過程
【００４０】
リングネットワークのトポロジー情報を取得した後、経路配信過程を開始することができる。
【００４１】
実際に、経路配信過程は、リング上の各ノードが、自ノードがリング外ネットワークから取得したリング外経路情報（リング外インターフェースで運用される他のルーティングプロトコルから取得した経路情報であってよい）をリングの各ノードに配信することである。これにより、各ノードは全てが経路情報全体を取得することができる。
【００４２】
実現方法の１つとして、リング上の各ノードは、自ノードの経路広告メッセージを送信する。例えば、図１において、Ｒ２は、自ノードの左手コネクションを介して、経路広告メッセージを外へ送信する。該経路広告メッセージに付けられている内容は、｛Ｒ２，ＩＰ２｝を含む。ここで、Ｒ２は送信元を代表し、即ちその後のこれら経路がいずれもＲ２によって配信されたことを表す。ＩＰ２は、Ｒ２がリング外パスから学習した全ての経路情報の集合を代表し、普通、ＩＰ／Ｍａｓｋの形で記憶され、具体的に図１のようなネットワーク構成の場合、１２２．０．０．０／８，１３５．１１０．０．０／１６，１３５．１２０．０．０／１６，  ．．．のようなリストで表されることができる。経路情報が１つのメッセージに格納できないほど多すぎる場合、複数の経路広告メッセージを使用するようにしてもよい。Ｒ２からの経路広告メッセージを受信したＲ３は、Ｒ２から配信された経路情報、即ち、受信された経路広告メッセージに付けられている経路情報を記録してから、メッセージを次のノードＲ４に送信する。Ｒ４は、該メッセージに対する処理がＲ３と同じである。最後に、Ｒ２からの経路広告メッセージは、Ｒ３、Ｒ４、Ｒ１を経てから、Ｒ２に戻る。このように、Ｒ２は、リング上の他のノードへの自ノードの経路情報の配信に既に成功したことを知る。同様に、ノードＲ１、Ｒ３、Ｒ４も、Ｒ２のように、自ノードの経路情報を配信することができる。このように、リング上の全てのノードは、他のノードの経路情報を便利に学習することができる。
【００４３】
取得された全ての経路情報について、図１のようなネットワーク構成の場合、リング上の各ノードは、表２に示す基礎経路情報テーブルの形で記憶するようにしてもよい。
【００４４】
【表２】
0004847557.tif 000003
【００４５】
ここで、第１列のＲ１〜Ｒ４は、第２列の相応経路の間接次ホップ（ｉｎｄｉｒｅｃｔ  ｎｅｘｔ  ｈｏｐ）を代表する。例えば、Ｒ２は、宛先が５５．１．１．１であるメッセージを受信した場合、上記の表２によると、このメッセージに対応する経路がＲ４によって配信されたものであるため、このメッセージがまずＲ４に送信されるべきであることを知ることができる。
【００４６】
以上の情報は全体の基礎経路情報テーブルを構成し、次のＦＲＲ生成および経路高速切り替えの基礎となる。
【００４７】
３、ＦＲＲ生成過程
【００４８】
上記全体の基礎経路情報テーブルがあると、規則に従って最終的なＦＲＲ切り替えテーブルを生成し、最後に、故障が発生した場合に高速切り替えを行う目的を達することができる。
【００４９】
リングネットワークの特徴によると、リング上の１つのノードから他のノードへのパスが実際に２つあり、パスを如何に選択するかが解決すべき課題になる。実現方法の１つとして、リング上の各ノードは、宛先ネットワークへの左手コネクションのホップ数と、宛先ネットワークへの右手コネクションのホップ数とをそれぞれ算出し、その中からホップ数の少ない一方を選択して宛先ネットワークへのメインパスとし、他方をバックアップパスとする。メッセージを受信した後、ノードはメインパスを優先的に選択してメッセージを転送するが、メインパスが故障した場合、バックアップパスに切り替えて転送する。
【００５０】
図１を参照し、Ｒ２を例として、宛先がＩＰ１であると仮定すると、Ｒ２は、ＩＰ１への左手コネクションのホップ数と、ＩＰ１への右手コネクションのホップ数とをそれぞれ算出し、得られた結果がそれぞれ３と１であり、右手コネクションの経由したホップ数が少ないことが明らかであるため、Ｒ２は、右手コネクションＬ１をＩＰ１へのメインパスとし、左手コネクションＬ２をＩＰ１へのバックアップパスとする。Ｒ２からＩＰ３、ＩＰ４へのメインパスおよびバックアップパスの決定はＩＰ１と同じである。左手コネクションでの転送と右手コネクションでの転送との経由したホップ数が等しい場合、所定の規則（例えば左手コネクション優先）に基づいて、左手コネクションおよび右手コネクションの片方を選択してメインパスとし、他方をバックアップパスとする。例えば、図１において、Ｒ２は、ＩＰ４への左手コネクションまたは右手コネクションのホップ数は両方とも２であり、左手コネクション優先の規則を採用すると、Ｒ２は、左手コネクションＬ２を選択してメインパスとし、右手コネクションＬ１をバックアップパスとする。
【００５１】
算出されたメインパスおよびバックアップパスについて、Ｒ２は、表３に示す経路次ホップバックアップ関係テーブルの形で記憶するようにしてもよい。リング外パスから学習した経路ＩＰ２（表３に示す経路“１２２．０．０．０／８  １３５．１１０．０．０／１６  １３５．１２０．０．０／１６  ．．．”）に対して、Ｒ２は、元の経路情報をそのまま保持し、ローカルリンクのみがあり、ＩＰ２に対応するバックアップパスがない。
【００５２】
【表３】
0004847557.tif 000004
【００５３】
表３からわかるように、外部から導入された経路が比較的に安定する場合、表３も基本的に変化しない。同じノードによって配信された全ての経路は、対応の間接次ホップ、メインパス、バックアップパスが実際に同じである。リング上のリンクに故障が発生した場合、間接次ホップが実際に変化しないため、現在のパス状況に基づいて、いずれのパスを選択するかを考慮するだけでよい。即ち、リンク故障の場合、表２に基づいてメインパスとバックアップパスとの間で切り替えるだけでよい。このように、切り替え速度は速い。説明の便宜のために、表３において、［Ｒ１］、［Ｒ２］、［Ｒ３］、［Ｒ４］を用いて間接次ホップを表記する。ノードをＮ個有するネットワークにおいて、１つのノードにとって、間接次ホップがＮ個あり、かつそのうち１つはローカル次ホップであり、リング外パスを代表する。
【００５４】
例を挙げて説明する。表４は、ノードＲ２を例として、リンクＬ１〜Ｌ４のいずれかに故障が発生した場合のＲ２のＦＲＲ切り替えテーブルを示す。表３を参照すると、Ｒ２から［Ｒ１］へのメインパスがＬ１であるため、Ｌ１に故障が発生した場合、メインバックアップ切り替えを行って、［Ｒ１］へのメインパスをＬ２に切り替える必要がある。Ｒ２から［Ｒ３］へのメインパスがＬ２であるため、Ｌ２に故障が発生した場合、Ｒ２は、［Ｒ３］へのメインパスをＬ１に切り替える必要がある。Ｒ２から［Ｒ４］へのメインパスがＬ２、Ｌ３を経由するため、Ｌ２またはＬ３に故障が発生した場合、Ｒ２は、［Ｒ４］へのメインパスをＬ１に切り替える必要がある。上記の切り替え過程により、全てのメッセージが故障リンクを経由することなく、ネットワークの接続性が確保されている。
【００５５】
【表４】
0004847557.tif 000005
【００５６】
リング上の他のノードの処理はＲ２と同じであり、ここでは説明を省略する。
【００５７】
４、故障切り替え過程
【００５８】
リングネットワークの正常な運用を保障するために、リング上の各ノードは、自ノードに接続されているリンク状態をリアルタイムに検出し、あるノードは、自ノードに接続されている一方側のリンクに故障が発生したことを発見すると、他方側の正常なリンクを介して逆方向に故障通告メッセージを送信して、リング上に故障リンクがある旨を他のノードに通知する。
【００５９】
例えば、図１において、Ｒ２は、Ｌ２に故障が発生したことを発見すると、Ｌ１を介して故障通告メッセージを送信する。該故障通告メッセージに付けられている内容は、（Ｒ２，Ｒ３）を含み、Ｒ２が故障を発見し、故障リンクがＲ２からＲ３へのリンク、即ちＬ２であることを表す。そして、Ｒ２は、表４の切り替え関係に従って、間接次ホップ［Ｒ３］へのパスをＬ２からＬ１に切り替え、間接次ホップ［Ｒ４］へのパスをＬ２からＬ１に切り替える。
【００６０】
故障通告メッセージを受信したＲ１は、該メッセージを次のノードＲ４に転送し、同様に、表４に類似する自ノードのＦＲＲ切り替えテーブルに基づいて、ＦＲＲ切り替えを行う。Ｒ４が故障通告メッセージを受信した後の処理はＲ１と同じである。最後に、該メッセージはＲ３まで伝送される。同様に、Ｌ２に故障が発生した場合、Ｒ３は同様に検出することができ、このとき、Ｒ３もＲ２に類似する処理を実行し、正常なリンクＬ３を介して故障通告メッセージを送信する。該メッセージに付けられている内容は（Ｒ３，Ｒ２）を含む。最後に、Ｒ３からの故障通告メッセージは、Ｒ４、Ｒ１を経由してＲ２に到着する。
【００６１】
また、トポロジー構築過程において、リング上の各ノードは、第１広告メッセージを双方向に送信することによって、リングネットワークのトポロジーを取得するのであれば、リングネットワークのリンクに故障が発生した場合、故障通告メッセージを送信せずに、第１広告メッセージの受信状況によって、リンクに故障が発生したかどうかを決定するようにしてもよい。これは、１つのリンクが壊れると、リング上の全てのノードは、同じノードの第１広告メッセージを一方向からしか受信できず、各ノードの第１広告メッセージの受信状況を比較することによって、いずれのリンクに故障が発生したかを知ることができるからである。図１を例として、Ｌ２に故障が発生したと仮定すると、Ｒ１は、左手コネクションを介してＲ２の第１広告メッセージしか受信できず、右手コネクションを介してＲ３、Ｒ４の第１広告メッセージしか受信できないことを発見し、リングネットワークのトポロジーも考慮すると、Ｒ２、Ｒ３の間のリンクＬ２に故障が発生したことを決定することができる。
【００６２】
５、故障回復過程
【００６３】
リングネットワークのリンク故障が回復した後、リング上の各ノードは、故障時に切り替えられた経路を元の経路（即ち、故障発生前に使用されていた経路）に切り替え戻すべきである。ここで、リンク故障が回復したかどうかの判断は以下の方式で行うことができる。
【００６４】
（１）マスターノードは、一方側（即ち、左手コネクションまたは右手コネクション）からリング広告メッセージを定期的に送信し、リンクに故障が発生した場合、自ノードによって送信されたリング広告メッセージを他方側から受信できなくなることが明らかである。一旦故障が回復したら、マスターノードは、自ノードによって送信されたリング広告メッセージを他方側から受信できるようになる。このとき、マスターノードは、外へリンク回復メッセージを送信して、リンクが正常に回復した旨をリング上の他のノードに通知する。リンクが正常に回復したことを知ると、リング上の各ノードは、切り替えられた経路を元の経路（即ち、故障発生前に使用されていた経路）に回復して、ネットワークを正常な状態に回復させる。
【００６５】
（２）リング上の各ノードは、自ノードに接続されているリンク状態をリアルタイムに検出し、リンクが正常に回復したことを検出した場合、リング上の他のノードに故障回復メッセージを送信して、元に故障していたリンクが再び正常に回復した旨を他のノードに通知する。
【００６６】
（３）トポロジー構築過程において、リング上の各ノードが、第１広告メッセージを双方向に送信することによって、リングネットワークのトポロジーを取得するのであれば、以下の方式を採用して故障を回復するようにしてもよい。リング上の各ノードはいずれも、左手コネクションと右手コネクションの両方を介して第１広告メッセージを定期的に送信するため、左手コネクションと右手コネクションの両方を介して同じノードの第１広告メッセージを受信できるかどうかを判断することで、リングネットワークのリンク故障が回復したかどうかを決定することができる。左手コネクションと右手コネクションの両方を介して同じノードの第１広告メッセージを受信できる場合、リングネットワークのリンクが正常に回復したことを決定し、故障時に切り替えられた経路を元の経路に切り替え戻す。
【００６７】
上記説明からわかるように、リングネットワークに故障が発生した場合、最終的な切り替え時間は主に故障検出時間、故障伝播時間およびＦＲＲ切り替え時間によって決定される。実際の応用では、故障検出が、普通、ハードウェアによって実行されるため、故障検出時間は、通常、ミリ秒オーダーに抑えられることができる。故障伝播時間は、転送行為およびリングサイズの影響で、普通、Ｋ１＊Ｎ／２より小さいと考えられ、ここで、Ｋ１は１ホップ当たりの伝播時間を代表し、普通、それもミリ秒オーダーであり、Ｎはリング上のノード数を代表する。故障が発生した場合、ＦＲＲメインバックアップ切り替えの発生回数が（Ｎ／２＋１）以下であるため、ＦＲＲ切り替え時間はＫ２＊（Ｎ／２＋１）より小さいと考えられ、Ｋ２は１ＦＲＲエントリ当たりの切り替え時間を代表し、それもミリ秒オーダーである。最終的に、ネットワークに故障が発生した場合の切り替え時間は、やはりミリ秒オーダーに抑えられることができ、普通、５０ｍｓ以内に抑えられることが容易である。要するに、本発明に係るルーティング方法は、実現が簡単であるだけではなく、リングに故障が発生した場合に高速収束を実現することができる。
【００６８】
相応に、本発明は、接続されている複数のノードを有するリングネットワークに位置するリングネットワークノードも提供している。その例示的な構成は図２に示す通りである。
【００６９】
該リングネットワークノードは、
前記リングネットワークのトポロジー情報を取得するトポロジー情報取得モジュールと、
他のノードがリング外ネットワークから学習したリング外経路を取得する経路情報取得モジュールと、
前記トポロジー情報取得モジュールにより提供された前記リングネットワークのトポロジー情報と、前記経路情報取得モジュールにより提供されたリング外経路とに基づいて、自ノードから各リング外経路へのメインパスおよびバックアップパスを算出し、さらに、高速迂回（ＦＲＲ）切り替えテーブルを生成するＦＲＲ生成モジュールと、
前記リングネットワークに故障が発生した場合、前記ＦＲＲ生成モジュールにより提供されたＦＲＲ切り替えテーブルに基づいて、メインバックアップパス切り替えを行う（メインパスとバックアップパスとの間で切り替える）経路切り替えモジュールと、
前記各モジュールを制御する制御ユニットと、を含む。
【００７０】
ここで、前記ＦＲＲ生成モジュールは、
他の各ノードに対応する各リング外経路に対して、該リング外経路に対応する間接次ホップ（即ち、ノード）への左手コネクションのホップ数と、該リング外経路に対応する間接次ホップへの右手コネクションのホップ数とを算出し、左手コネクションと右手コネクションの中から、ホップ数が小さい一方を該リング外経路へのメインパスとして、他方をバックアップパスとして選択し、算出された２つのホップ数が等しい場合、所定の規則に従って、左手コネクションと右手コネクションの片方をメインパスとして、他方をバックアップパスとして選択するメインバックアップパス生成モジュールと、
リング上の各リンクに対して、該リンクが自ノードからある間接次ホップへのメインパスに含まれるかどうかを判断し、該リンクが前記メインパスに含まれると判断した場合、前記ＦＲＲ切り替えテーブルにおいて、該リンクに故障が発生したときにメインバックアップパス切り替えを行う必要があると標記し、該リンクが前記メインパスに含まれないと判断した場合、前記ＦＲＲ切り替えテーブルにおいて、切り替えを行う必要がないと標記するＦＲＲ切り替えテーブル生成モジュールと、を含む。
【００７１】
ここで、前記経路切り替えモジュールは、さらに、リングネットワークのリンクが回復した場合、切り替えられたパスを、自ノードで故障発生前に使用されていたパスに回復する。
【００７２】
上記は、本発明の目的、解決手段および有益効果をさらに詳しく説明している。理解すべきものとして、上記は本発明を限定するものではなく、本発明の精神と原則内で行われる種々の修正、均等置換え、改善などは全て本発明の保護範囲内に含まれるべきである。
【符号の説明】
【００７３】
ＩＰ１，ＩＰ２，ＩＰ３，ＩＰ４    インターネットプロトコルネットワーク
Ｌ１，Ｌ２，Ｌ３，Ｌ４            リンク
Ｒ１，Ｒ２，Ｒ３，Ｒ４            ノード
【図１】
0004847557.tif 000006
【図２】
0004847557.tif 000007