説明

通信ネットワーク、ネットワークノード、通信経路制御方式、及び通信経路制御プログラム

【課題】障害時に備えて保持される代替経路表を計算するための計算量、及び、記憶するためのメモリサイズを抑えつつ高速に通信経路の切り替えを行うことが可能な通信ネットワークを提供する。
【解決手段】ネットワークノードの各々は、複数のインターフェイスと、経路情報を記録した主経路表と、主経路表に基づいてパケットを転送するルーティング処理部と、ネットワークリソースの障害時に主経路表の経路情報を更新する代替経路情報を記録した代替経路表を記憶する代替経路表記憶部と、特定のネットワークリソースに障害が発生したときに当該ネットワークリソースに対応する代替経路表を作成するか否かを決定する代替経路表判定部と、代替経路情報を計算する代替経路表計算部と、障害の発生したネットワークリソースに対応する代替経路表を用いて主経路表を更新する経路表更新部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動的に経路制御を行う通信ネットワークにおいて高速に経路切替を行う技術に関する。
【背景技術】
【0002】
通信ネットワークの安定性向上が急務となっている。インターネットに代表される通信ネットワーク技術が広く普及するのに伴い、通信ネットワークの障害が社会へ与える影響度も増している。
【0003】
通信ネットワークは、データを転送するネットワークノード(以下、ノード)と、ノード間を接続するリンクとで構成される。通常、通信ネットワークは、通信ネットワークを構成するネットワークリソースであるノードとリンクを冗長構成にすることでネットワークの信頼性の向上を計っている。動的に経路制御を行う通信ネットワークでは、各ノードにおいて最適な経路情報を制御する経路制御プロトコルが動作している。このような動的経路制御を行うネットワークにおいて各ノードは、通信ネットワークを構成する他のノードとの間で経路情報を交換して、取得された経路情報に基づいて最適な経路情報を自律的に形成する。例えば、自ノードに接続されたリンクや当該リンクを介して接続されるノードに障害が発生した場合、障害を検知したノードは、他のノードに障害を通知する。障害を通知されたノードは、障害の発生したノード、あるいはリンクを除いた状態で経路計算を行い、新たな経路情報を決定する。このように、動的経路制御を行う通信ネットワークは、通信ネットワーク内に障害が発生しても、他のノードやリンクを用いたデータ転送経路を自律的に形成することより通信を継続することを可能としている。
【0004】
動的経路制御を行う経路制御プロトコルの一つとして、OSPF(Open Shortest Path First)が知られている(非特許文献1)。OSPFは、IETF(Internet Engineering Task Force)で標準化されている代表的なリンクステートアルゴリズムである。OSPFが動作する通信ネットワークにおいて、各ノードは、互いに、ネットワークのトポロジー情報を交換し合う。このトポロジー情報は、通信ネットワーク内のノードやリンクの接続関係を示しており、各ノードは、トポロジー情報に基づいて経路情報を計算する。各ノードは、トポロジー情報に基づいて計算された経路情報により、受信されるパケットの宛先に対する最適な次転送先を決定することができる。
【0005】
通信ネットワーク内のノードやリンクに障害が発生した場合、以下のフェーズで通信の復旧が行われる。まず、障害の発生したノードやリンクに隣接するノードがその障害を検知する障害検知フェーズ。次に、検知した障害を通信ネットワーク中の他のノードへ通知する通知フェーズ。さらに、障害発生後のトポロジーに基づいて、転送経路の再計算を行う経路計算フェーズ。そして、各ノードが、経路計算結果を経路表へ更新する経路表更新フェーズ。以上の4つのフェーズである。通信ネットワークの安定のためには、障害の発生を検知してから各ノードの経路表が更新されるまでの時間が短いほうがよい。しかし、通信ネットワークが大規模になると、前述の経路計算フェーズに時間がかかってしまうために、通信の復旧までに長い時間を要してしまう。そこで、障害発生から通信復旧までの時間を短縮するために、通信ネットワーク中のリンクもしくはノードに障害が発生した場合に備えて、各ノードが、予め障害時に使用する経路表を計算して、代替経路表として保持しておく技術が以下の通り検討されている。
【0006】
特許文献1は、代替経路のループ判定を行い、ループとならない経路のみを用いる高速経路切替方式を開示している。特許文献1の高速経路切替方式を実施するルータ装置は、ネットワークインターフェイスと、パケット転送部と、主経路計算部と、代替経路表計算部と、切替部とを少なくとも備え、さらにループ経路判定部を備える。ネットワークインターフェイスは、他のルータと接続される。パケット転送部は、予め主経路表に格納された経路情報に基づいてネットワークインターフェイス経由で受信したパケットのルーティング処理を行う。主経路計算部は、主経路表に格納する経路情報を計算する。代替経路表計算部は、ネットワークインターフェイスに接続するリンクもしくは隣接するルータ装置の障害を検知したときに使用する代替経路を計算して代替経路表に格納する。ネットワークインターフェイスに接続するリンクもしくは隣接するルータ装置の障害を検知したときに代替経路表に格納されている経路情報への入替処理を行う。ループ経路判定部は、代替経路表計算部により代替経路表に代替経路情報を格納する際に代替経路がループとなるか否かの判定を行って、ループとならないと判定された代替経路を代替経路表に格納する。
【0007】
特許文献1の高速経路切替方式によれば、リンク障害時の高速経路切替を行う際にループとなる経路を切り替え対象から除外することができ、転送パケットのループの発生を防止し、ルータ装置の負荷を軽減しつつ、高速経路切替が実現できる。
【0008】
しかし、このような高速切替方式においては、各ノードが障害の可能性のある全てのノード及びリンクに対応する代替経路表を予め用意しておくことになり、代替経路表を計算する計算量、および、代替経路表を保持しておくための記憶メモリの容量の点から現実的ではなかった。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2006−279482号公報
【非特許文献】
【0010】
【非特許文献1】”OSPF Version2”,J.Moy,RFC2328,InternetEngineering Task Force,April 1998
【発明の概要】
【発明が解決しようとする課題】
【0011】
本発明の目的は、障害時に備えて保持される代替経路表を計算するための計算量、及び、記憶するためのメモリサイズを抑えつつ高速に通信経路の切り替えを行うことが可能な通信ネットワークを提供することである。
【課題を解決するための手段】
【0012】
本発明の通信ネットワークは、複数のネットワークノードを具備する通信ネットワークであって、複数のネットワークノードの各々は、複数のインターフェイスと、通信ネットワークにおける経路情報を記録した主経路表と、主経路表に基づいて複数のインターフェイスから入力されるパケットを転送するルーティング処理部と、通信ネットワークを構成するネットワークリソースに対応して設けられて、ネットワークリソースの障害時に主経路表に記録された経路情報のうちで更新されるべき経路情報の代替経路情報を記録した代替経路表を記憶する代替経路表記憶部と、ネットワークリソースは、複数のネットワークノード、および複数のネットワークノードの間を接続するリンクを含み、ネットワークリソースのうちから選択する選択ネットワークリソースに障害が発生したときに、主経路表の経路情報の更新が必要であるか否かに基づいて、選択ネットワークリソースに対応する代替経路表を作成するか否かを決定する代替経路表判定部と、代替経路表を作成すると決定された選択ネットワークリソースに対応する選択代替経路表に記録されるべき代替経路情報を計算する代替経路表計算部と、障害を検知すると障害の発生したネットワークリソースに対応する代替経路表に記録された代替経路情報を用いて主経路表の経路情報を更新する経路表更新部とを備える。
【0013】
本発明のネットワークノードは、上述の通信ネットワークを構成する。
【0014】
本発明の通信経路制御方式は、複数のネットワークノードを具備する通信ネットワークにおいて、通信ネットワークにおける経路情報を記録するステップと、主経路表に基づいて複数のインターフェイスから入力されるパケットを転送するステップと、通信ネットワークを構成するネットワークリソースに対応して設けられて、ネットワークリソースの障害時に主経路表に記録された前記経路情報のうちで更新されるべき経路情報の代替経路情報を記録した代替経路表を記憶するステップと、ネットワークリソースは、複数のネットワークノード、および複数のネットワークノードの間を接続するリンクを含み、ネットワークリソース選択する選択ネットワークリソースに障害が発生したときに、主経路表の経路情報の更新が必要であるか否かに基づいて、選択ネットワークリソースに対応する代替経路表を作成するか否かを決定するステップと、代替経路表を作成すると決定されたネットワークリソースに対応する選択代替経路表に記録されるべき代替経路情報を計算するステップと、障害を検知すると障害の発生したネットワークリソースに対応する代替経路表に記録された代替経路情報を用いて主経路表の経路情報を更新するステップとを備える。
【0015】
本発明のコンピュータプログラムは、上述の通信経路制御方式をコンピュータに実行させる。
【発明の効果】
【0016】
本発明によれば、障害時に備えて保持される代替経路表を計算するための計算量、及び、記憶するためのメモリサイズを抑えつつ高速に通信経路の切り替えを行うことが可能な通信ネットワークを提供することができる。
【図面の簡単な説明】
【0017】
【図1】第1実施形態におけるノード1の構成を示す図である。
【図2A】第1実施形態における主経路表122の一例を示す図である。
【図2B】第1実施形態における代替経路表1311〜131nの一例を示す図である。
【図3】第1実施形態における代替経路表を作成する動作フローを示している。
【図4】第1実施形態における代替経路表1311〜131nを作成するべきリンクを抽出する動作フローである。
【図5A】第1実施形態における主経路計算部112の生成した最短パスツリーの一例を示す図である。
【図5B】第1実施形態における代替経路表判定部113が最短パスツリーから抽出したパス62を示す図である。
【図6】第1実施形態におけるリンクekの障害時に主経路表122の経路情報の更新が必要であるか否かを判定する動作フローである。
【図7】第2実施形態におけるノード1の構成を示す図である。
【図8A】第2実施形態における作成指示メッセージのペイロードを示す図である。
【図8B】従来のOSPFにおける「Network LSA」のペイロードの構成を示す図である。
【図9】第2実施形態における代替経路表を作成する動作フローである。
【図10】第2実施形態における計算指定ノードを特定する動作フローである。
【図11】第2実施形態における他のノードから作成指示メッセージを受信した場合の動作フローを示している。
【発明を実施するための形態】
【0018】
添付図面を参照して、本発明の実施形態による通信ネットワークを以下に説明する。
【0019】
(第1実施形態)
はじめに、本発明の第1実施形態における通信ネットワークの説明を行う。
【0020】
本実施形態の通信ネットワークは、通信ネットワークを構成する各ネットワークノード(以下、ノード)が、通信ネットワーク内に存在する各ノード間を接続するリンクの障害に備えて、各リンクに障害が発生した場合に使用するべき代替経路表を、各リンクに対応させて予め作成しておく。各ノードは、障害発生時において、障害の発生したリンクに対応する代替経路表を用いて、通常時に使用される主経路表を更新する。各ノードは、代替経路表を作成するときに、当該リンクに障害が発生したと想定した場合に、主経路表に記録された経路情報の更新が必要となるか否かを判定する。各ノードは、この判定において、主経路表の更新が必要と判定された場合にのみ、当該リンクに対応する代替経路表を作成する。このように、各ノードは、必要と判定された代替経路表のみを作成するため、代替経路表を計算する計算量、及び代替経路表を記憶するメモリ量を抑えることが可能となる。
【0021】
[構成の説明]
まず、本実施形態における通信ネットワークを構成するノードの構成を説明する。図1は、本実施形態におけるノード1の構成を示す図である。本実施形態のノード1は、経路制御部11と、パケット転送部12と、代替経路表管理部13と、ネットワークインターフェイス(以下、IF)21〜2nを備える。
【0022】
本実施形態の通信ネットワークは、図1に示すようなノード1を複数備えており、各ノード1は、IF21〜2nに接続されたリンク31〜3nにより他のノードと接続されて通信ネットワークを構成する。
【0023】
はじめに、パケット転送部12の説明を行う。パケット転送部12は、ルーティング処理部121と、主経路表122とを備える。
【0024】
まず、主経路表122は、経路情報を記録したデータテーブルである。図2Aは、本実施形態における主経路表122の一例を示す図である。図2Aを参照すると、主経路表122は、宛先41、マスク長42、次転送先43、及びインターフェイス44を一組に対応させて記録している。宛先41は、ノード1が受信するパケットのヘッダに記録された宛先IP(Internet Protocol)アドレスと対応されるべきネットワークアドレスである。マスク長42は、宛先41のネットワークアドレスにおけるサブネットマスクである。次転送先43は、宛先41のネットワークアドレスに対応する受信パケットの転送先のノード1のIPアドレスである。インターフェイス44は、次転送先43がリンクを介して接続されているIF21〜2nの番号である。なお、図2Aは、IPv4の場合を示しているが、これはIPv6であっても良い。
【0025】
次に、ルーティング処理部121は、受信されたパケットの転送処理を行う。ルーティング処理部121は、IF21〜2nを介して受信されたパケットのヘッダに格納された宛先IPアドレスと、主経路表122の宛先41及びマスク長42とを参照して次転送先43を特定する。ルーティング処理部121は、特定された次転送先43に対応するインターフェイス44へパケットを送出する。
【0026】
次に、経路制御部11の説明を行う。経路制御部11は、トポロジー情報交換部111と、主経路計算部112と、代替経路表判定部113と、代替経路表計算部114とを備える。
【0027】
まず、トポロジー情報交換部111は、OSPFなどの経路制御プロトコルを使用して、隣接ノードとの間でトポロジー情報の交換を行う。ここで、トポロジー情報とは、通信ネットワーク内に存在するノードと、ノード間を接続するリンクとがどのような接続関係となっているかを示す情報である。また、隣接ノードとは、IF21〜2nに接続されたリンク31〜3nを介して接続されたノードである。トポロジー情報交換部111は、取得したトポロジー情報を、主経路計算部112、代替経路表判定部113、及び代替経路表計算部114とへ出力する。
【0028】
また、トポロジー情報交換部111は、障害通知を送受信する。障害通知は、リンク31〜3nに障害が発生した場合や、ノード1内に障害が発生した場合に、トポロジー情報交換部111によりパケット転送部12を介して隣接ノードへ送信される。トポロジー情報交換部111は、障害通知を受信すると通信ネットワーク内の障害を検知して、通信ネットワーク内のトポロジーに変化が発生したことを検知する。トポロジー情報交換部111は、障害発生前後における通信ネットワークのトポロジー情報の変化分を抽出して、隣接ノードへ通知する。また、トポロジー情報交換部111は、障害通知を主経路計算部112と、代替経路表判定部113と、代替経路表計算部114と、経路表更新部132へ出力する。
【0029】
なお、トポロジー情報交換部111は、トポロジー情報や障害通知を、パケット転送部12と、IF31〜3nとを介して隣接ノード1と交換する。
【0030】
次に、主経路計算部112は、主経路表122へ記録するべき経路情報を計算する。主経路計算部112は、トポロジー情報交換部111からトポロジー情報を入力すると、トポロジー情報に基づいて経路情報を計算して、主経路表122の経路情報を更新する。主経路計算部112は、一般的なIGP(Interior Gateway Protocol)を用いて経路情報を計算する。IGPには、前述したOSPFが含まれる。
【0031】
次に、代替経路表判定部113は、代替経路表を作成するべきか否かを判定する。代替経路表判定部113は、通信ネットワーク中の全てのリンクに対して、各リンクに障害が発生した場合に、各リンクに対応する代替経路表を作成するべきか否かを判定する。代替経路表判定部113は、トポロジー情報取得部111からトポロジー情報を入力したとき、あるいは、所定の時間毎に、各リンクに対応する代替経路表を作成するべきか否かの判定を行う。代替経路表判定部113は、判定結果を代替経路表計算部114へ通知する。判定結果は、代替経路表を作成するべきと判定されたリンクを含んでいる。
【0032】
次に、代替経路表計算部114は、代替経路情報を計算する。代替経路表計算部114は、代替経路表判定部113から判定結果を入力すると、判定結果に含まれるリンクに対応する代替経路表に記録するべき代替経路情報を計算する。代替経路表計算部114は、代替経路情報を計算するべきリンクに、障害が発生したと想定して、代替経路情報を計算する。代替経路表計算部114は、後述する代替経路表管理部13の代替経路表記録部131において、代替経路情報の計算されたリンクに対応した代替経路表へ計算された代替経路情報を記録する。
【0033】
次に、代替経路表管理部13の説明を行う。代替経路表管理部13は、代替経路表記憶部131と、経路表更新部132とを備える。
【0034】
まず、代替経路表記憶部131は、代替経路表1311〜131nを記録している。代替経路表1311〜131nは、通信ネットワーク内で障害が発生したときに、主経路表に記録された経路情報を更新するための代替経路情報を記録している。代替経路表1311〜131nは、通信ネットワークに存在する各リンクに対応して設けられる。本実施形態において代替経路表記憶部131は、通信ネットワークに存在する全てのリンクに対応する代替経路表1311〜131nを記憶しているわけではない。代替経路表記憶部131は、代替経路表判定部113の判定結果に基づいて、代替経路表1311〜131nを作成するべきと判定されたリンクに対応する代替経路表1311〜131nのみが記憶されている。
【0035】
図2Bは、本実施形態における代替経路表1311〜131nの一例を示す図である。代替経路表1311〜131nは、主経路表122と同様の項目が記録されている。すなわち、代替経路表1311〜131nは、宛先51、マスク長52、次転送先53、インターフェイス54の項目を備える。これらはそれぞれ、主経路表122における宛先41、マスク長42、次転送先43、インターフェイス44の各項目と同様であるので重ねての説明を省略する。
【0036】
経路表更新部132は、代替経路表1311〜131nを用いて主経路表122を更新する。経路表更新部132は、経路制御部11のトポロジー情報交換部111から障害通知を入力する。経路表更新部132は、通信ネットワーク内の特定のリンクに障害が発生したことを検知すると、障害の発生したリンク(以下、障害リンク)に対応する代替経路表(以下、選択代替経路表)を代替経路表記憶部131から特定して、選択代替経路表を用いて主経路表122を更新する。すなわち、主経路表131の経路情報は、障害リンクに対応する選択代替経路表に記録された代替経路情報により更新される。
【0037】
なお、経路表更新部132は、主経路表122に記録された経路情報のうち、選択代替経路表に記録された代替経路情報に対応する経路情報のみを更新する。例えば、図2Bを選択代替経路表として説明すると、図2Bに、宛先51として、「192.168.1.0」と「192.168.12.0」のみが記録されているとする。この場合、図2Aの主経路表122では、「192.168.1.0」と「192.168.12.0」に対応する情報のみが更新される。そのため、主経路表122における宛先41「192.168.10.0」や、その他の図示されない宛先41については更新されない。宛先41「192.168.10.0」は、この情報のまま、主経路表122に残ることになり、このままルーティング処理部121により使用される。
【0038】
以上が、本実施形態における通信ネットワークの構成の説明である。本実施形態では、経路制御部11の代替経路表判定部113が、通信ネットワーク内の各リンクに対して、代替経路表1311〜131nを作成するべきか否かを判定する。代替経路表計算部114は、代替経路表1311〜131nを作成すべきと判定されたリンクに対応する代替経路表1311〜131nのみを作成して、代替経路表管理部13の代替経路表記憶部131へ記憶させる。このように、必要と判定された代替経路表1311〜131nのみを作成して、また、記憶するので、代替経路表計算部114の計算量を抑えることができ、また、代替経路表記憶部131のメモリ容量も抑えることが可能となる。
【0039】
[動作方法の説明]
次に、本実施形態における通信ネットワークの動作方法の説明を行う。はじめに、図3を用いて、本実施形態における代替経路表を作成する動作方法の説明を行う。図3は、本実施形態における代替経路表を作成する動作フローを示している。
【0040】
(ステップS10)
代替経路表判定部113は、ネットワーク中の全リンクのうちから、代替経路表1311〜131nを作成するべきリンクを抽出する。代替経路表判定部113は、抽出されたリンクの集合をNuとする。
【0041】
(ステップS11)
代替経路表計算部114は、集合Nuに含まれる各リンクに対して、当該リンクに障害が発生したと想定して代替経路情報を計算する。
【0042】
(ステップS12)
代替経路表計算部114は、計算された代替経路情報を、代替経路表管理部13の代替経路記憶部131の対応する代替経路表1311〜131nへ記録する。
【0043】
以上が、本実施形態における代替経路表を作成する動作方法の説明である。このようにして、代替経路表1311〜131nは作成され、代替経路表記憶部131へ記憶される。
【0044】
次に、本実施形態における代替経路表1311〜131nを作成するべきリンクを抽出する動作方法を説明する。本動作方法は、前述のステップS10の詳細な動作方法を説明するものである。図4は、本実施形態における代替経路表1311〜131nを作成するべきリンクを抽出する動作フローを示している。
【0045】
(ステップS20)
代替経路表判定部113は、空集合NuとNnとを生成する。集合Nuは、代替経路表を作成するべきと判定されたリンクの登録されるべき集合である。一方、集合Nnは、代替経路表を作成する必要はないと判定されたリンクの登録されるべき集合である。
【0046】
(ステップS21)
代替経路表判定部113は、最短パスツリーから、自ノードをルートノードとしてまだ以降の処理が行われていない任意のリーフノードへのパスを抽出する。代替経路表判定部113は、主経路計算部112から、最短パスツリーを取得する。ここで、最短パスツリーは、トポロジー情報に基づいて生成される有効グラフであり、主経路計算部112は、最短パスツリーを用いて主経路表122へ記録するべき経路情報を計算する。代替経路表判定部113は、最短パスツリーから、本ステップ以降の処理を行っていない任意のリーフノードを一つ選択する。ここで、リーフノードとは、最短パスツリーの末端に位置するノード1である。代替経路表判定部113は、最短パスツリーにおいて自ノードから選択されたリーフノードまでのパスを抽出する。
【0047】
図5Aは、本実施形態における主経路計算部112の生成した最短パスツリーの一例を示す図である。図5Aにおいて、符号60は、ルートノードである自ノードである。ここでルートノードとは、最短パスツリーの最上位のノード1である。図5Aにおいて、符号61−1〜5は、リーフノードである。代替経路表判定部113は、リーフノード61−1を選択したとする。この場合、代替経路表判定部113は、ルートノード(自ノード)60からリーフノード61−1までのパス62を抽出する。
【0048】
(ステップS22)
代替経路表判定部113は、最短パスツリーから抽出したパスにおいて、自ノードからリーフノードまで、自ノードから近い順にリンクを「e1,e2,e3・・・em」とする。
【0049】
図5Bは、本実施形態における代替経路表判定部113が最短パスツリーから抽出したパス62を示す図である。図5Bに示すように、ルートノード(自ノード)60からリーフノード61−1へ向けて、ルートノード60に近い順にリンクが「e1,e2,e3・・・em」とされている。
【0050】
(ステップS23)
代替経路表判定部113は、変数iを生成して、iに「1」を代入する。
【0051】
(ステップS24)
代替経路表判定部113は、リンクeiが集合Nuの要素であるか否かを判定する。つまり、代替経路表判定部113は、リンクeiが代替経路表を作成するべきと判定されたリンクの集合Nuに含まれるか否かを判定する。リンクeiが集合Nuの要素である場合、ステップS25へ進む。一方、リンクeiが集合Nuの要素でない場合、ステップS26へ進む。
【0052】
(ステップS25)
代替経路表判定部113は、リンクeiが集合Nuの要素である場合、iを「i=i+1」とインクリメントする。この後、ステップS24へ戻る。
【0053】
ステップS24、S25において、代替経路表判定部113は、自ノードに近いリンクeiから集合Nuの要素であるか否かを判定している。図5Bを参照すると、代替経路表判定部113は、ルートノード(自ノード)60に近いリンクから順に、リンクeiが代替経路表を作成するべきと判定されたリンクの集合Nuに含まれるか否かを判定することになる。これは、自ノードに近いリンクほど、障害が発生した場合に自ノードへの影響が大きく、主経路表122に記録された経路情報を更新する必要性が高くなることによる。
【0054】
(ステップS26)
代替経路表判定部113は、リンクeiが集合Nuの要素でない場合、変数jを生成して、jに「m」を代入する。
【0055】
(ステップS27)
代替経路表判定部113は、リンクejが集合Nnの要素であるか否かを判定する。つまり、代替経路表判定部113は、リンクejが代替経路表を作成する必要はないと判定されたリンクの集合Nnに含まれるか否かを判定する。リンクejが集合Nnの要素である場合、ステップS28へ進む。一方、リンクejが集合Nnの要素でない場合、ステップS29へ進む。
【0056】
(ステップS28)
代替経路表判定部113は、リンクemが集合Nnの要素である場合、jを「i=j−1」とデクリメントする。この後、ステップS27へ戻る。
【0057】
ステップS27、S28において、代替経路表判定部113は、自ノードに遠い(リーフノードに近い)リンクejから集合Nnの要素であるか否かを判定している。図5Bを参照すると、代替経路表判定部113は、リーフノード61−1に近いリンクから順に、リンクeiが代替経路表を作成する必要はないと判定されたリンクの集合Nnに含まれるか否かを判定することになる。これは、自ノードから遠い(リーフノードに近い)リンクほど、障害が発生した場合の自ノードへの影響が少なく、主経路表122に記録された経路情報を更新する必要性が低くなることによる。
【0058】
(ステップS29)
代替経路表判定部113は、リンクeiが集合Nuの要素でない場合、変数kを生成して、現在のiとjとの相加平均をとってその値を超えない最大の整数を代入する。すなわち、代替経路表判定部113は、「k=[(i+j)/2]」を計算する。
【0059】
本ステップの時点で最短パスツリーから抽出されたパスに含まれるリンクのうち、「リンクei〜リンクej」に対して経路更新が必要であるか否かの判定が行われていない。前述したように、自ノードに近いリンクほど、当該リンク障害時に主経路表122の経路情報を更新する必要が高くなり、自ノードから遠いリンクほど、当該リンクの障害時に主経路表122の経路情報を更新する必要が低くなる。以下のステップにおいて、代替経路表判定部113は、特定のリーフノードへのパスにおいて、図5Bに示すように、特定のリンクの障害時に主経路表122の経路情報を更新する必要の有無の分岐点となるリンクを探す処理を行う。
【0060】
(ステップS30)
代替経路表判定部113は、リンクekの障害時に主経路表122の経路情報の更新が必要であるか否かを判定する。本ステップの詳細な動作は、後述する。経路情報の更新が必要である場合、ステップS31へ進む。一方、経路情報の更新が必要でない場合、ステップS33へすすむ。
【0061】
(ステップS31)
代替経路表判定部113は、リンクekの障害時に主経路表122の経路情報の更新が必要である場合、リンクei〜リンクekを集合Nuの要素に追加する。つまり、特定のリーフノードへのパスにおいて、リンクekの障害時に主経路表122の経路情報の更新が必要と判定すると、リンクekより自ノード側の全てのリンクを、各リンクに障害が発生した場合に主経路表122の経路情報の更新が必要なリンクと決定する。これは、前述の通り、自ノードに近いリンクであればあるほど、障害時に主経路表122の経路情報を更新する必要が高くなることによる。本実施形態では、このように処理を行うことで、代替経路表判定部113は、判定のための計算量を減少させることができる。
【0062】
(ステップS32)
代替経路表判定部113は、iを「i=k+1」とする。この後、ステップS35へ進む。
【0063】
(ステップS33)
代替経路表判定部113は、リンクekの障害時に主経路表122の経路情報の更新が必要ない場合、リンクek〜リンクejを集合Nnの要素に追加する。つまり、特定のリーフノードへのパスにおいて、リンクekの障害時に主経路表122の経路情報の更新が必要でない判定すると、リンクekよりリーフノード側のリンクを全て、各リンクに障害が発生した場合に主経路表122の経路情報の更新が必要でないと決定する。これは、前述の通り、自ノードから遠いリンクであればあるほど、障害時に主経路表122の経路情報を更新する必要が低くなることによる。このように処理を行うことで、代替経路表判定部113は、判定のための計算量を減少させることができる。
【0064】
(ステップS34)
代替経路表判定部113は、jを「j=k−1」とする。この後、ステップS35へ進む。
【0065】
(ステップS35)
代替経路表判定部113は、iの値がjの値を超えているか、「i>j」を判定する。iの値がjの値を超えていれば当該パスに含まれる全てのリンクに対して処理が完了したことになる。一方、iの値がjの値を超えていない場合、当該パスに含まれる全てのリンクに対して、まだ、処理が完了していないことになる。iの値がjの値を超えている場合、ステップS36へ進む。一方、iの値がjの値を超えていない場合、ステップS29へ戻る。
【0066】
(ステップS36)
代替経路表判定部113は、iの値がjの値を超えている場合、最短パスツリーに含まれる全てのリーフノードへのパスに対する処理が完了したか否かを判定する。最短パスツリーに含まれる全てのリーフノードへのパスに対する処理が完了していない場合、他のリーフノードへのパスに対する処理を行うために、ステップS21へ戻る。一方、最短パスツリーに含まれる全てのリーフノードへのパスに対する処理が完了した場合、本動作方法は終了となる。この時点で、集合Nuに含まれるリンクが、代替経路表1311〜131nを作成するべきリンクとなる。
【0067】
以上が、本実施形態における代替経路表1311〜131nを作成するべきリンクを抽出する動作方法の説明である。このようにして、代替経路表1311〜131nを作成するべきリンクが抽出される。
【0068】
次に、リンクekの障害時に主経路表122の経路情報の更新が必要であるか否かを判定する動作方法を説明する。本動作方法は、前述のステップS30の詳細な動作方法を説明するものである。図6は、本実施形態におけるリンクekの障害時に主経路表122の経路情報の更新が必要であるか否かを判定する動作フローを示している。
【0069】
(ステップS40)
代替経路表判定部113は、現在、主経路表122に記録されている経路情報を取得する。
【0070】
(ステップS41)
代替経路表計算部114は、リンクekに障害が発生したと想定して、経路情報(以下、本説明において、障害時経路情報)を計算する。代替経路表計算部114は、主経路計算部112と同様の方法により、障害時経路情報を計算する。代替経路表計算部114は、計算された障害時経路情報を、代替経路表判定部113へ出力する。
【0071】
(ステップS42)
代替経路表判定部113は、ステップS40において主経路計算部112から取得した現在の経路情報と、ステップS41において代替経路表計算部114により計算されたリンクekの障害時の障害時経路情報とを比較する。
【0072】
(ステップS43)
代替経路表判定部113は、ステップS42の比較において、リンクekの障害前後で次転送先が異なる宛先ネットワークが存在するか否かを判定する。リンクekの障害前後で次転送先が異なる宛先ネットワークが一つでも存在する場合、ステップS44へ進む。一方、リンクekの障害前後で次転送先が異なる宛先ネットワークが一つも存在しない場合、ステップS45へ進む。
【0073】
(ステップS44)
代替経路表判定部113は、リンクekの障害前後で次転送先が異なる宛先ネットワークが存在する場合、リンクek対する経路更新が必要であると判定する。このため、前述により、リンクekは集合Nuに属することになり、リンクekに対応する代替経路表1311〜131nが作成されることになる。この場合、本動作方法は、終了となる。
【0074】
(ステップS45)
代替経路表判定部113は、リンクekの障害前後で次転送先が異なる宛先ネットワークが存在しない場合、リンクekに対する経路更新が必要ではないと判定する。このため、前述により、リンクekは、集合Nnに属することとなり、リンクekに対応する代替経路表1311〜131nは作成されないことになる。以上で、動作方法は終了となる。
【0075】
以上が、リンクekの障害時に主経路表122の経路情報の更新が必要であるか否かを判定する動作方法の説明である。
【0076】
以上が、本実施形態における通信ネットワークの説明である。
【0077】
(第2実施形態)
次に、第2実施形態の通信ネットワークの説明を行う。
【0078】
本実施形態の通信ネットワークは、通信ネットワークを構成する各ノードが、代替経路表を作成するか否かを判定するリンクの対象が第1実施形態と異なる。第1実施形態では、各ノードは、通信ネットワーク内の全てのリンクに対して代替経路表を作成するか否かを判定していた。本実施形態において各ノードは、自ノードに接続されたリンクについてのみ代替経路表を作成するか否かを判定する。また、本実施形態では各ノードが自ノードのみではなく、他のノードが代替経路表を作成するべきリンクを特定して、当該リンクを他のノードに通知する点が第1実施形態と異なる。これにより、各ノードは、自ノードに接続されたリンクに対する判定処理を行って、代替経路表の作成が必要と判定されたリンクに対する代替経路表の作成し、また、他のノードから通知を受けた代替経路表を作成するべきリンクに対する代替経路表とを作成すればよいため、代替経路表を計算する計算量、及び代替経路表を記憶するメモリ量を抑えることが可能となる。
【0079】
[構成の説明]
まず、本実施形態における通信ネットワークを構成するノードの構成を説明する。図7は、本実施形態におけるノード1の構成を示す図である。本実施形態におけるノード1は、第1実施形態とほぼ同様の構成である。そのため、第1実施形態と同様の部分については重ねての説明を省略し、異なる部分を中心に説明を行う。また、第1実施形態と同様の構成については、同様の符号を付与して説明を行う。
【0080】
本実施形態のノード1は、第1実施形態と同様に、経路制御部11と、パケット転送部12と、代替経路表管理部13と、ネットワークインターフェイス(以下、IF)21〜2nを備え、さらに、本実施形態では、作成指示通信部14を備える。
【0081】
なお、本実施形態の通信ネットワークは、第1実施形態と同様に、図7に示すようなノード1を複数備えており、各ノード1は、IF21〜2nに接続されたリンク31〜3nにより他のノードと接続されて通信ネットワークを構成する。
【0082】
はじめに、経路制御部11の説明を行う。経路制御部11は、第1実施形態と同様に、トポロジー情報交換部111と、主経路計算部112と、代替経路表計算部114とを備え、さらに、本実施形態では、代替経路表判定部113に替わり、接続リンク代替経路表115を備える。
【0083】
まず、トポロジー情報交換部111は、第1実施形態と同様である。すなわち、トポロジー情報交換部111は、OSPFなどの経路制御プロトコルを使用して、隣接ノードとの間でトポロジー情報の交換を行う。また、トポロジー情報交換部111は、障害通知を入力すると、通信ネットワークのトポロジーに変化が発生したことを検知して、トポロジー情報の変化分を隣接ノードへ通知する。
【0084】
次に、主経路計算部112は、第1実施形態と同様である。すなわち、主経路計算部112は、トポロジー情報に基づいて主経路表122へ記録するべき経路情報を計算して、主経路表122の経路情報を更新する。
【0085】
次に、接続リンク代替経路表判定部115は、代替経路表を作成するべきか否かを判定する。接続リンク代替経路表判定部115は、IF21〜2nに接続されたリンク31〜3nの各々に対して代替経路表1311〜131nを作成するべきか否かを判定する。つまり、接続リンク代替経路表判定部115は、自ノードに接続されたリンクに対してのみ、代替経路表1311〜131nを作成するべきか否かの判定を行う。接続リンク代替経路表判定部115は、判定結果を代替経路表計算部114へ通知する。判定結果は、代替経路表を作成するべきと判定されたリンクを含んでいる。
【0086】
また、接続リンク代替経路表判定部115は、リンク31〜3nに対応する代替経路表1311〜131nを作成するべき他のノードを特定する。接続リンク代替経路表判定部115は、リンク31〜3nのうちの特定のリンク(以下、選択接続リンク)に対する代替経路表1311〜131nを作成するべきと特定された他のノード(以下、計算指定ノード)に対する作成指示メッセージを作成指示通信部14へ出力する。
【0087】
作成指示メッセージは、選択接続リンクに対応する代替経路表1311〜131nの作成を、計算指定ノードへ要求するメッセージである。図8Aは、本実施形態における作成指示メッセージのペイロードを示す図である。作成指示メッセージは、図8Aに示すように「Network Address」フィールド70および「Network Subnet Mask」フィールド71をペイロードに格納している。作成指示メッセージは、ペイロードに、IPヘッダと、TCPヘッダあるいはUDPヘッダを付与したパケットとして送信される。なお、通信プロトコルはこれらに限定はしない。「Network Address」フィールド70および「Network Subnet Mask」フィールド71へは、図2Aに示した主経路表122において、インターフェイス44(選択接続リンク)に対応する宛先41およびマスク長42がそれぞれ記録される。「Network Address」フィールド70および「Network Subnet Mask」フィールド71に記録するべき情報は、OSPFが動作するネットワークの場合、トポロジー情報を送受信するための「Network LSA」を参照することで取得できる。参考までに、従来のOSPFにおける「Network LSA」のペイロードの構成を図8Bに示す。図8B中の「Link」 State ID」フィールド72に、「Network Address」フィールド70に対応する情報が格納され、また、図8B中の「Network Subnet Mask」フィールド73に、「Network Subnet Mask」フィールド71に対応する情報が格納されている。
【0088】
次に、代替経路表計算部114は、第1実施形態と同様に、代替経路表1311〜131nへ記録するべき代替経路情報を計算する。代替経路表計算部114は、接続リンク代替経路表判定部115が代替経路表1311〜131nを作成するべきと判定したリンクに対応する代替経路表1311〜131nへ記録するべき代替経路情報を計算する。代替経路表計算部114は、代替経路表1311〜131nを作成するべきリンクに、障害が発生した場合を想定して、代替経路情報を計算する。代替経路表計算部114は、計算された代替経路情報を、後述する代替経路表管理部13の代替経路表記録部131における対応する代替経路表1311〜131nへ記録する。
【0089】
また、代替経路表計算部114は、後述する作成指示通信部14から作成指示メッセージを入力する。代替経路表計算部114は、作成指示メッセージに格納された情報に基づいて代替経路表1311〜131nを作成するべきリンクを特定する。代替経路表計算部114は、特定されたリンクに障害が発生したと想定した場合の代替経路情報を計算して、代替経路表記録部131の対応する代替経路表1311〜131nへ計算された代替経路情報を記録する。
【0090】
次に、作成指示通信部14の説明を行う。作成指示通信部14は、作成指示送信部141と、作成指示受信部142とを備える。
【0091】
まず、作成指示送信部141は、接続リンク代替経路表判定部115から入力される作成指示メッセージを、計算指定ノードへ、パケット転送部12を介して送信する。
【0092】
次に、作成指示受信部142は、パケット転送部12を介して、他のノードから受信される作成指示メッセージを代替経路表計算部114へ出力する。
【0093】
次に、パケット転送部12の説明を行う。パケット転送部12は、第1実施形態と同様である。すなわち、パケット転送部12は、ルーティング処理部121と、主経路表122とを備える。主経路表122は、経路情報を記録したデータテーブルである。次に、ルーティング処理部121は、主経路表122に基づいて受信されたパケットの転送処理を行う。
【0094】
次に、代替経路表管理部13の説明を行う。代替経路表管理部13は、第1実施形態と同様である。すなわち、代替経路表管理部13は、代替経路表記憶部131と、経路表更新部132とを備える。代替経路表記憶部131は、代替経路表1311〜131nを記録しており、代替経路表1311〜131nは、通信ネットワーク内で障害が発生したときに、主経路表に記録された経路情報を更新するための代替経路情報を記録している。経路表更新部132は、トポロジー情報交換部111から障害通知を入力すると、代替経路表1311〜131nを用いて主経路表122を更新する。
【0095】
以上が、本実施形態における通信ネットワークの構成の説明である。このように、本実施形態において各ノード1の接続リンク代替経路表判定部115は、IF21〜2nに接続されたリンク31〜3nのみに対して代替経路表1311〜131nを作成するべきか否かを判定する。また、代替経路計算部114は、接続リンク代替経路表判定部115の判定結果において、代替系経路表1311〜131nを作成するべきと判定されたリンクと、作成指示受信部142の受信した他のノードからの作成指示メッセージに含まれるネットワークアドレスに対応するリンクとにそれぞれ対応する代替経路表1311〜131nのみを作成する。そのため、接続リンク代替経路表判定部115、及び代替経路表計算部114の計算量を抑えることができ、また、代替経路表1311〜131nを記憶する代替経路表記憶部131のメモリ容量も抑えることが可能となる。
【0096】
[動作方法の説明]
次に、本実施形態における通信ネットワークの動作方法の説明を行う。はじめに、図9を用いて、本実施形態における代替経路表を作成する動作方法の説明を行う。図9は、本実施形態における代替経路表を作成する動作フローを示している。
【0097】
(ステップS50)
接続リンク代替経路表判定部115は、IF21〜2nに接続されているリンク31〜3nのうちから、本動作方法による判定処理を行っていない任意のリンク(以下、選択接続リンク)を一つ選択する。接続リンク代替経路表判定部115は、選択接続リンクを、ekとする。
【0098】
(ステップS51)
代替経路計算部114は、接続リンク代替経路表判定部115によって選択された選択接続リンクekに障害が発生したと想定した場合に主経路表122へ記録されるべき代替経路情報を計算する。代替経路計算部114は、計算された代替経路情報をリンクekに対応する代替経路表1311〜131nに記録する。なお、本ステップでは、選択接続リンクekに障害が発生したときに、選択接続リンクekの障害発生前後でリーフノードに対する経路情報に変更が発生するか否かを判定していない。これは、図5Bで説明を行ったとおり、自ノードに近いリンクであればあるほど障害時に自ノードの経路情報に影響を及ぼす可能性が高く、まして、選択接続リンクekは、自ノードに直接接続されたリンクであるため、選択接続リンクekの障害時には、必ず主経路表122の経路情報を更新する必要があると考えられるためである。なお、第1実施形態で説明を行ったとおり、選択接続リンクekに対して主経路表122の経路情報を更新する必要あるか否かを判定する動作方法としてもよい。
【0099】
(ステップS52)
代替経路計算部114は、選択接続リンクekの代替経路情報の計算過程で生成する最短パスツリー(以下、障害時最短パスツリー)を、接続リンク代替経路表判定部115へ出力する。
【0100】
(ステップS53)
接続リンク代替経路表判定部115は、主経路計算部112から、主経路表122へ記録するべき経路情報の計算過程で生成する最短パスツリーを取得する。この最短パスツリーは、通信ネットワーク内の全てのリンクに障害が発生してない状態で生成されたものである。
【0101】
(ステップS54)
接続リンク代替経路表判定部115は、代替経路計算部114から取得した障害時最短パスツリーと、主経路計算部112から取得した最短パスツリーとに基づいて、通信ネットワーク内に存在する他のノード1のうちで、代替経路情報の計算が必要となるノード(以下、計算指定ノード)を特定する。なお、計算指定ノードの特定方法は、後述する。
【0102】
(ステップS55)
接続リンク代替経路表判定部115は、接続選択リンクekに対する代替経路表の作成を指示する作成指示メッセージを生成して、作成指示通信部14の作成指示送信部141へ出力する。作成指示送信部141は、作成指示メッセージを、計算指定ノードへパケット転送部12を介して送信する。
【0103】
(ステップS56)
接続リンク代替経路表判定部115は、リンク31〜3nの全てに対して、本動作方法による判定処理を行ったかを判定する。全てのリンク31〜3nに大して判定処理が完了していない場合、新たに任意の選択接続リンクekに対する判定処理を行うために、ステップS50へもどる。一方、全てのリンク31〜3nに対して判定処理を行った場合、本動作方法は終了となる。
【0104】
以上が、本実施形態における代替経路表を作成する動作方法の説明である。本実施形態では、このようにしてリンク31〜3nから選択された接続選択リンクekに対応する代替経路表1311〜131nが作成され、また、選択接続リンクekに対応する代替経路表1311〜131nを作成する必要のある計算指定ノードを特定して、計算指定ノードへ選択接続リンクekに対応する代替経路表1311〜131nを作成するように作成指示メッセージを送信する。
【0105】
次に、本実施形態における選択接続リンクekに対応する代替経路表1311〜131nを作成する必要のあるノード(計算指定ノード)の特定方法について説明を行う。本説明は、前述のステップS54の動作方法を詳細に説明するものである。図10は、本実施形態における計算指定ノードを特定する動作フローである。
【0106】
(ステップS60)
接続リンク代替経路表判定部115は、前述のステップS50で選択された選択接続リンクekにおいて、自ノード(以下、本説明においてノードr)を終点とする逆方向の最短パスツリーTを生成する。
【0107】
(ステップS61)
接続リンク代替経路表判定部115は、計算指定ノードの集合である集合Vuを生成してVuを初期化する。
【0108】
(ステップS62)
接続リンク代替経路表判定部115は、ステップS53で取得した、主経路表122に記録されている現在の(選択接続リンクekに障害発生前の)最短パスツリー(以下、最短パスツリーT)に基づいて、当該経路情報において、次転送先が選択接続リンクekを介して接続している宛先ノードを処理対象として抽出する。つまり、ここでは、主経路表122に記録された宛先ノードのうちで、選択接続リンクekに障害が発生することにより、次転送先の変更が必要となる宛先ノードが処理対象となる。接続リンク代替経路表判定部115は、抽出された処理対象のノード(以下、処理対象ノード)のうちから、本動作方法における以降の処理を実行していない任意のノードdを選択する。
【0109】
(ステップS63)
接続リンク代替経路表判定部115は、前述のステップS52で取得した障害時最短パスツリー(以下、障害時最短パスツリーTi)に基づいて、ノードr(自ノード)からノードdまでのパスを抽出する。接続リンク代替経路表判定部115は、抽出されたパスにおいて、自ノードrの次のノードを特定し、ノードnとする。
【0110】
(ステップS64)
接続リンク代替経路表判定部115は、障害時最短パスツリーTiにおけるノードrからノードdまでのパスのコストから障害前の最短パスツリーTにおけるノードrからノードdまでのパスのコストを減算した値Cdを計算する。
【0111】
(ステップS65)
接続リンク代替経路表判定部115は、障害前の最短パスツリーTにおけるノードrからノードnまでのパスのコストと、逆方向の最短パスツリーTにおけるノードnからノードrまでのパスのコストとを合計した値Cnを計算する。
【0112】
(ステップS66)
接続リンク代替経路表判定部115は、CnとCdとの値の大小を比較する。CnがCd以下の場合、ステップS67へ進む。一方、CnがCdより大きい場合、ステップS69へ進む。
【0113】
(ステップS67)
接続リンク代替経路表判定部115は、CnがCd以下の場合、ノードnを、代替経路表の作成が必要な指定計算ノードであると特定する。接続リンク代替経路表判定部115は、ノードnを集合Vuへ追加する。
【0114】
(ステップS68)
接続リンク代替経路表判定部115は、障害時最短パスツリーTiに基づいて、ノードrからノードdへのパスにおいて、ノードnの次に位置するノードを特定して、当該ノードをノードnとする。この後、ステップS65へ戻る。
【0115】
(ステップS69)
接続リンク代替経路表判定部115は、CnがCdより大きい場合、ステップS62で抽出した全ての処理対象ノードに対する判定処理が完了したかを判定する。全ての処理対象ノードに対して判定処理が完了していない場合、新たなノードdを選択するために、ステップS62へ戻る。一方、全ての処理対象ノードに対して判定勝利が完了している場合、本動作フローは終了となる。この時点で、集合Vuに含まれているノードが代替経路表の作成が必要と判断された計算指定ノードとなる。
【0116】
以上が、本実施形態における計算指定ノードの特定方法について説明を行う。本実施形態において、計算指定ノードはこのようにして計算される。なお、計算指定ノードの特定方法は、上述した方法に限定はしない。
【0117】
次に、本実施形態において、他のノードから作成指示メッセージを受信した場合の動作方法の説明を行う。図11は、本実施形態における他のノードから作成指示メッセージを受信した場合の動作フローを示している。
【0118】
(ステップS70)
作成指示受信部142は、パケット転送部12を介して他ノードのから作成指示メッセージを受信する。代替経路表計算部114は、作成指示メッセージに格納された代替経路表1311〜131nを作成するべきリンクに関する情報を抽出する。
【0119】
(ステップS71)
代替経路表計算部114は、作成指示メッセージから抽出されたリンクに対して、当該リンクに障害が発生した場合に使用される代替経路情報を計算する。
【0120】
(ステップS72)
代替経路表計算部114は、代替経路表記憶部131の作成指示メッセージから抽出されたリンクに対応する代替経路表1311〜131nへ、計算された代替経路情報を記録する。
【0121】
以上が、他のノードから作成指示メッセージを受信した場合の動作方法の説明である。このようにして、受信された作成指示メッセージに格納されたリンクに対応する代替経路表1311〜131nが作成される。
【0122】
以上が、本実施形態における通信ネットワークの説明である。
【0123】
ここまで、本発明の通信ネットワークの説明を行ってきた。本発明の通信ネットワークの第1実施形態によれば、通信ネットワークを構成する各ノード1において、代替経路表判定部113が、通信ネットワーク内に存在するリンクに対して、代替経路表1311〜131nを作成するか否かを判定する。代替経路表計算部114は、代替経路表1311〜131nを作成すると判定されたリンクに対応する代替経路表1311〜131nのみを作成する。そのため、代替経路表計算部114の計算量を抑えることができ、また代替経路表1311〜131nを記憶する代替経路記憶部131のメモリ容量も抑えることができる。
【0124】
また、本発明の通信ネットワークの第2実施形態によれば、各ノード1は、自ノード1に接続されたリンクについてのみ代替経路表1311〜131nを作成するか否かを判定する。また、本実施形態では各ノード1が自ノード1のみではなく、他のノード1が代替経路表を作成するべきリンクを特定して、当該リンクを他のノード1に通知する。これにより、各ノード1は、自ノード1に接続されたリンクに対する判定処理を行って、代替経路表1311〜131nの作成が必要と判定されたリンクに対する代替経路表1311〜131nの作成し、また、他のノード1から通知を受けた代替経路表1311〜131nを作成するべきリンクに対する代替経路表1311〜131nとを作成すればよいため、代替経路表1311〜131nを計算する計算量、及び代替経路表1311〜131nを記憶するメモリ量を抑えることが可能となる。
【0125】
第1実施形態、及び第2実施形態は、それぞれ独立してのみ実施可能ではない。それぞれ組み合わせて実現することも可能である。また、各実施形態では、リンクに障害が発生した場合のみを説明しているが、ノードに障害が発生した場合にも、適用が可能である。この場合、各ノードに対応した代替経路表が作成される。また、図4では、ステップS21において抽出したパス中に含まれるリンクに対して処理を行っている。ノード障害を扱う場合には、ステップS22において各リンクを「e1,e2,・・・em」とする代わりに、パス中に含まれる各ノードをそれぞれ「n1,n2・・・nm」して以降の処理を行う。つまり、パス中の各リンクを対象とする代わりに、パス中の各ノードを対象として処理を行えばよい。また、図6では、ステップS41において、リンクekに障害の発生を想定しているが、これをノードnkおよびノードnkに接続される全てのリンクに障害が発生したと想定して経路情報を作成すればよい。また、実際に使用する代替経路表を作成する際も、ノードnkおよびノードnkに接続される全てのリンクに障害が発生したと想定した経路情報を作成すればよい。さらに、作成指示メッセージには、「Network Address」フィールド70の代わりに、ノードnkを一意に識別することが可能な情報を格納する。ノードnkを一意に識別することが可能な情報とは、例えば、ノードnkのIPアドレスである。このような、変更を行うことで、本願発明をノード障害に適応することが可能である。つまり、本発明は、ノードとリンクを含む通信ネットワークを構成するネットワークリソースに対して適用が可能である。
【0126】
また、代替経路表記憶部131は、通信ネットワークのトポロジーの変化に伴い、代替経路表1311〜131nが不要となった場合に、不要になった代替経路表1311〜131n、あるいは、不要になった代替経路表1311〜131n記録された代替経路情報を削除しても構わない。これにより、メモリ容量をより抑えることが可能となる。
【0127】
なお、本発明の通信ネットワークが備える各ネットワークノードは、実行するべき機能をハードウェアによっても実現可能であるし、ソフトウェアによっても実現可能である。ソフトウェアで実現される場合には、各ネットワークノードへ導入されるコンピュータプログラムは、例えばCD−R(Compact Disc Recordable)やHDD(Hard Disk Drive)のような情報記録媒体に記録することが可能である。コンピュータプログラムは、このような記録媒体を用いて、各ネットワークノードへの導入が可能である。
【0128】
以上、実施形態を参照して本願発明を説明したが、本願発明は、上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解し得る様々な変更を行うことが可能である。
【符号の説明】
【0129】
1 ノード
11 経路制御部
12 パケット転送部
13 代替経路表管理部
14 作成指示通信部
21〜2n ネットワークインターフェイス
31〜3n リンク
41 宛先
42 マスク長
43 次転送先
44 インターフェイス
51 宛先
52 マスク長
53 次転送先
54 インターフェイス
60 ルートノード
61−1〜5 リーフノード
62 パス
70 Network Address フィールド(作成指示メッセージ)
71 Network Subnet Mask フィールド(作成指示メッセージ)
72 Link State IDフィールド(Network LSA)
73 Network Subnet Maskフィールド(Network LSA)
111 トポロジー情報交換部
112 主経路計算部
113 代替経路表判定部
114 代替経路表計算部
115 接続リンク代替経路表判定部
121 ルーティング処理部
122 主経路表
131 代替経路表記憶部
132 経路表更新部
141 作成指示送信部
142 作成指示受信部
1311〜131n 代替経路表

【特許請求の範囲】
【請求項1】
複数のネットワークノードを具備する通信ネットワークであって、
前記複数のネットワークノードの各々は、
複数のインターフェイスと、
前記通信ネットワークにおける経路情報を記録した主経路表と、
前記主経路表に基づいて前記複数のインターフェイスから入力されるパケットを転送するルーティング処理部と、
前記通信ネットワークを構成するネットワークリソースに対応して設けられて、前記ネットワークリソースの障害時に前記主経路表に記録された前記経路情報のうちで更新されるべき経路情報の代替経路情報を記録した代替経路表を記憶する代替経路表記憶部と、
前記ネットワークリソースは、前記複数のネットワークノード、および前記複数のネットワークノードの間を接続するリンクを含み、
前記ネットワークリソースのうちから選択する選択ネットワークリソースに障害が発生したときに、前記主経路表の前記経路情報の更新が必要であるか否かに基づいて、前記選択ネットワークリソースに対応する前記代替経路表を作成するか否かを決定する代替経路表判定部と、
前記代替経路表を作成すると決定された前記選択ネットワークリソースに対応する選択代替経路表に記録されるべき前記代替経路情報を計算する代替経路表計算部と、
前記障害を検知すると前記障害の発生した前記ネットワークリソースに対応する前記代替経路表に記録された前記代替経路情報を用いて前記主経路表の前記経路情報を更新する経路表更新部と
を備える通信ネットワーク。
【請求項2】
請求項1に記載の通信ネットワークであって、
前記代替経路表判定部は、前記主経路表から前記経路情報を取得して、前記選択ネットワークリソースに障害が発生したと想定した場合に前記主経路表へ記録されるべき障害時経路情報を算出して、前記障害時経路情報と前記経路情報とが異なるか否かに基づいて前記選択ネットワークリソースに対応する前記代替経路表を作成するか否かを決定する
通信ネットワーク。
【請求項3】
請求項2に記載の通信ネットワークであって、
前記障害時経路情報と前記経路情報とを比較して、前記障害時経路情報と前記経路情報とのそれぞれに含まれる同一の宛先ネットワークに対応する次転送先ネットワークノードが異なっている場合に、前記選択ネットワークリソースに対応する前記代替経路表を作成すると決定する
通信ネットワーク。
【請求項4】
請求項1から請求項3までのいずれかに記載の通信ネットワークであって、
前記ネットワークにおける隣接ネットワークノードと前記通信ネットワークのトポロジー情報を送受信するトポロジー情報交換部と、
前記トポロジー情報に基づいて前記ネットワークの最短パスツリーを生成して、前記最短パスツリーに基づいて前記主経路表に記録された経路情報を更新する主経路計算部と
をさらに備え、
前記代替経路表判定部は、前記最短パスツリーに含まれるリーフノードのうちから任意の選択リーフノードを選択して、前記選択リーフノードまでのパスを前記最短パスツリーから抽出して、前記パスに含まれる前記ネットワークリソースのうちから前記選択ネットワークリソースを選択する
通信ネットワーク。
【請求項5】
請求項4に記載の通信ネットワークであって、
前記代替経路表判定部は、前記選択ネットワークリソースが前記代替経路表を作成するべき前記ネットワークリソースと決定すると、前記パスに存在する前記ネットワークリソースのうちで、前記選択ネットワークリソースより自身のネットワークノードに近い全ての前記ネットワークリソースに対して、前記代替経路表を作成すると決定する
通信ネットワーク。
【請求項6】
請求項4または請求項5に記載の通信ネットワークであって、
前記代替経路表判定部は、前記選択ネットワークリソースが前記代替経路表を作成する必要がない前記ネットワークリソースと決定すると、前記パスに存在する前記ネットワークリソースのうちで、前記選択ネットワークリソースより前記選択リーフノードに近い全ての前記ネットワークリソースに対して、前記代替経路表を作成する必要がないと決定する
通信ネットワーク。
【請求項7】
請求項1から請求項6までのいずれかに記載の通信ネットワークであって、
前記代替経路表判定部は、前記複数のインターフェイスに接続された前記リンクのうちから前記選択ネットワークリソースを選択する
通信ネットワーク。
【請求項8】
請求項7に記載の通信ネットワークであって、
前記選択ネットワークリソースに対応する前記代替経路表の作成を指示する作成指示メッセージを送受信する作成指示通信部
をさらに備え、
前記代替経路表判定部は、前記複数のネットワークノードのうちから、前記選択ネットワークリソースに障害が発生したと想定した場合に前記選択ネットワークリソースに対応する前記代替経路表を作成するべき計算指定ネットワークノードを特定し、
前記作成指示通信部は、前記計算指定ネットワークノードへ前記作成指示メッセージを送信する
通信ネットワーク。
【請求項9】
請求項8に記載の通信ネットワークであって、
前記作成指示通信部は、前記複数のネットワークノードから前記作成指示メッセージを受信して、
前記代替計算表計算部は、前記作成指示メッセージに格納された情報に基づいて前記代替経路表を作成するべき前記選択ネットワークリソースを特定して、前記選択ネットワークリソースに対応する代替経路表に記録されるべき前記代替経路情報を計算して、前記代替経路情報を前記選択ネットワークリソースに対応する前記代替経路表へ記録する
通信ネットワーク。
【請求項10】
請求項8または請求項9に記載の通信ネットワークであって、
前記作成指示メッセージは、前記主経路表において、前記選択ネットワークリソースとして選択された前記リンクに対応する宛先ネットワークアドレスと、前記宛先ネットワークアドレスのサブネットマスクを記録しており、
前記代替経路表計算部は、前記宛先ネットワークアドレスと、前記宛先ネットワークアドレスのサブネットマスクに基づいて、前記選択ネットワークリソースとして選択された前記リンクを特定する
通信ネットワーク。
【請求項11】
請求項1から請求項10までのいずれかに記載の通信ネットワークを構成するネットワークノード。
【請求項12】
複数のネットワークノードを具備する通信ネットワークにおいて、
前記通信ネットワークにおける経路情報を記録するステップと、
前記主経路表に基づいて複数のインターフェイスから入力されるパケットを転送するステップと、
前記通信ネットワークを構成するネットワークリソースに対応して設けられて、前記ネットワークリソースの障害時に前記主経路表に記録された前記経路情報のうちで更新されるべき経路情報の代替経路情報を記録した代替経路表を記憶するステップと、
前記ネットワークリソースは、前記複数のネットワークノード、および前記複数のネットワークノードの間を接続するリンクを含み、
前記ネットワークリソース選択する前記選択ネットワークリソースに障害が発生したときに、前記主経路表の前記経路情報の更新が必要であるか否かに基づいて、前記選択ネットワークリソースに対応する前記代替経路表を作成するか否かを決定するステップと、
前記代替経路表を作成すると決定された前記ネットワークリソースに対応する選択代替経路表に記録されるべき前記代替経路情報を計算するステップと、
前記障害を検知すると前記障害の発生した前記ネットワークリソースに対応する前記代替経路表に記録された前記代替経路情報を用いて前記主経路表の前記経路情報を更新するステップと
を備える通信経路制御方式。
【請求項13】
請求項12に記載の通信経路制御方式であって、前記選択ネットワークリソースに対応する前記代替経路表を作成するか否かを決定するステップは、
前記経路情報を取得するステップと、
前記選択ネットワークリソースに障害が発生したと想定した場合に前記主経路表へ記録されるべき障害時経路情報を算出するステップと、
前記選択ネットワークリソースに対応する前記代替経路表を作成するか否かを前記障害時経路情報と前記経路情報とが異なるか否かに基づいて決定するステップと
を含む通信経路制御方式。
【請求項14】
請求項13に記載の通信経路制御方式であって、前記障害時経路情報と前記経路情報とが異なるか否かに基づいて決定するステップは、
前記障害時経路情報と前記経路情報とを比較するステップと、
前記障害時経路情報と前記経路情報とのそれぞれに含まれる同一の宛先ネットワークに対応する次転送先ネットワークノードが異なっている場合に、前記選択ネットワークリソースに対応する前記代替経路表を作成すると決定するステップと
を含む通信経路制御方式。
【請求項15】
請求項12から請求項14までのいずれかに記載の通信経路制御方式であって、
前記ネットワークにおける隣接ネットワークノードと前記通信ネットワークのトポロジー情報を送受信するステップと、
前記トポロジー情報に基づいて前記ネットワークの最短パスツリーを生成するステップと、
前記最短パスツリーに基づいて前記主経路表に記録された経路情報を更新するステップと
をさらに備え、
前記選択ネットワークリソースに対応する前記代替経路表を作成するか否かを決定するステップは、
前記最短パスツリーに含まれるリーフノードのうちから任意の選択リーフノードを選択するステップと、
前記選択リーフノードまでのパスを前記最短パスツリーから抽出するステップと、
前記パスに含まれる前記ネットワークリソースのうちから前記選択ネットワークリソースを選択するステップと
を含む通信経路制御方式。
【請求項16】
請求項15に記載の通信経路制御方式であって、前記選択ネットワークリソースに対応する前記代替経路表を作成するか否かを決定するステップは、
前記選択ネットワークリソースが前記代替経路表を作成するべき前記ネットワークリソースと決定すると、前記パスに存在する前記ネットワークリソースのうちで、前記選択ネットワークリソースより自身のネットワークノードに近い全ての前記ネットワークリソースに対して、前記代替経路表を作成すると決定するステップ
を含む通信経路制御方式。
【請求項17】
請求項15または請求項16に記載の通信経路制御方式であって、前記選択ネットワークリソースに対応する前記代替経路表を作成するか否かを決定するステップは、
前記選択ネットワークリソースが前記代替経路表を作成する必要がない前記ネットワークリソースと決定すると、前記パスに存在する前記ネットワークリソースのうちで、前記選択ネットワークリソースより前記選択リーフノードに近い全ての前記ネットワークリソースに対して、前記代替経路表を作成する必要がないと決定するステップ
を含む通信経路制御方式。
【請求項18】
請求項12から請求項17までのいずれかに記載の通信経路制御方式であって、前記選択ネットワークリソースに対応する前記代替経路表を作成するか否かを決定するステップは
前記複数のインターフェイスに接続された前記リンクのうちから前記選択ネットワークリソースを選択するステップ
を含む通信経路制御方式。
【請求項19】
請求項18に記載の通信経路制御方式であって、
前記選択ネットワークリソースに対応する前記代替経路表の作成を指示する作成指示メッセージを送受信するステップ
をさらに備え、
前記選択ネットワークリソースに対応する前記代替経路表を作成するか否かを決定するステップは、
前記複数のネットワークノードのうちから、前記選択ネットワークリソースに障害が発生したと想定した場合に前記選択ネットワークリソースに対応する前記代替経路表を作成するべき計算指定ネットワークノードを特定するステップ
を含み、
前記作成指示メッセージを送受信するステップは、
前記計算指定ネットワークノードへ前記作成指示メッセージを送信するステップ
を含む通信経路制御方式。
【請求項20】
請求項19に記載の通信経路制御方式であって、前記作成指示メッセージを送受信するステップは、
前記複数のネットワークノードから前記作成指示メッセージを受信するステップ
を含み、
前記代替経路情報を計算するステップは、
前記作成指示メッセージに格納された情報に基づいて前記代替経路表を作成するべき前記選択ネットワークリソースを特定するステップと、
前記選択ネットワークリソースに対応する代替経路表に記録されるべき前記代替経路情報を計算するステップと、
前記代替経路情報を前記選択ネットワークリソースに対応する前記代替経路表へ記録するステップと
を含む通信経路制御方式。
【請求項21】
請求項20に記載の通信経路制御方式であって、
前記作成指示メッセージは、前記主経路表において、前記選択ネットワークリソースとして選択された前記リンクに対応する宛先ネットワークアドレスと、宛先ネットワークアドレスのサブネットマスクを記録しており、
前記代替経路表を作成するべき前記選択ネットワークリソースを特定するステップは、
宛先ネットワークアドレスと、宛先ネットワークアドレスのサブネットマスクに基づいて前記選択ネットワークリソースとして選択された前記選択リンクを特定するステップ
を含む通信経路制御方式。
【請求項22】
請求項12から請求項21までのいずれかに記載の通信経路制御方式をコンピュータに実行させるコンピュータプログラム。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate