説明

経路サーバ、転送装置、経路制御方法およびネットワークシステム

【課題】転送装置間のリンクに障害が生じたとき、経路サーバによる経路計算を待つことなく、経路の切り換えが可能な経路サーバ、転送装置、経路制御方法およびネットワークシステムを提供することを課題とする。
【解決手段】経路サーバ1は、経路情報300として、プライマリ経路情報301と、経路の障害発生時に使用するバックアップ経路情報302と、を計算し、各転送装置2へ配信し、各転送装置2は、経路サーバ1から配信されたプライマリ経路情報301と、バックアップ経路情報302と、を記憶し、経路に障害が発生すると、参照する経路情報300を、プライマリ経路情報301から、バックアップ経路情報302に切り換えて、パケットの転送を行うことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、経路サーバ、転送装置、経路制御方法およびネットワークシステムの技術に関する。
【背景技術】
【0002】
ネットワーク事業者において、転送網の機能追加や拡張を適宜行い、新たなネットワークサービスをフレキシブルかつ低コストに実現することは重要である。現在の一般的な転送装置(ルータなど)は、経路計算機能などを提供する制御系の機能と、実際にパケット転送を行うデータ転送系が同一筐体内に物理的に統合された構造となっている。そのため、ネットワークに要求される機能追加・拡張などに対し、フレキシブルに対応できないという課題がある。
【0003】
このような問題点を解決する方法として、制御系機能とデータ転送系機能とを物理的に分離させてネットワーク上に分散配備するアーキテクチャが提案されている(例えば、非特許文献1参照)。
図19は、従来のネットワークシステムの例を示す図であり、(a)は自律分散型のネットワークシステムであり、(b)は非特許文献1に記載のアーキテクチャによるネットワークシステムを示す図である。
【0004】
図19(a)に示す自律分散型のネットワークシステム1901では、各々の転送装置1902が経路情報の計算および格納を行っている。
これに対し、図19(b)に示す非特許文献1に記載の制御系とデータ系を分離したネットワークシステム1951では経路計算機能やネットワーク情報収集などの制御系機能が経路サーバ1952に集中配備され、データ転送機能のみが転送装置1953に配備されることとなる。経路サーバ1952はすべての転送装置1953の経路情報1954を計算し、各転送装置1953へ、この経路情報を配信する。
【0005】
転送装置1953は経路サーバ1952から受信した経路情報1954に従ってデータ転送(パケット転送)を行う。図19(b)のアーキテクチャにおいて、制御プロトコルの拡張や経路計算方式の変更などの機能追加は、制御系機能に対してのみ影響を与えるため、機能追加や拡張は転送装置に対して行うのではなく、経路サーバ1952に対してのみ行えばよい。このため、図19(b)のネットワークシステム1951によれば、新たなネットワークサービスをフレキシブルかつ低コストに実現できる。また、図19(a)に示すアーキテクチャでは評価目的などのため、商用の転送装置1902に研究段階の機能の追加を行うことが困難であるが、制御系とデータ系を分離したアーキテクチャ(図19(b))ではキャリアが管理する経路サーバ1952に対して機能追加を行えばよいため、試験等が行いやすいというメリットがある。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】M. Caesar, D. Caldwell, N. Feamster, J. Rexford, A. Shaikh, and J. V. D. Merwe, “Design and Implementation of a Routing Control Platform,” in proceedings of NSDI 2005.
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、非特許文献1に記載のアーキテクチャでは、ネットワークを構成するノード(転送装置)やリンクの障害が発生した場合、経路サーバ1952は障害発生後のネットワーク情報を収集し、経路計算を行い、再度すべての転送装置に配信する必要がある。このとき、経路サーバ1952はすべての転送装置の経路情報の計算と経路情報の作成を行う必要があるため処理負荷が増加する。例えば、図19(a)に示すアーキテクチャのように経路計算機能を転送装置1902に配備した場合、各転送装置1902が自身の経路情報のみを作成すればよいのに対し、制御系とデータ系を分離した図19(b)のアーキテクチャでは、経路サーバ1952がノード(転送装置1953)分の経路情報を計算する必要があるため、図19(a)のアーキテクチャと比べて計算負荷が増加する。このため、図19(b)における制御系とデータ系を分離したアーキテクチャでは障害などの網状態変化に対する経路の即時切換が行えないという課題がある。
また、図19(b)に示すアーキテクチャでは、経路サーバ1952に障害が発生した場合、経路の切換自体が行えなくなるという問題がある。
【0008】
つまり、図19(b)(非特許文献1)の制御系とデータ系を分離した(つまり、経路サーバ1952に経路情報の計算を集中させた)アーキテクチャでは制御系機能とデータ転送系機能を物理的に分離させてネットワーク上に分散配備することで、制御系の機能追加・拡張に対する柔軟性や低コスト性を提供することができる。一方で、経路サーバが全転送装置の経路情報を管理・計算する必要があるため、障害などの網状態変化に対する経路の即時切換が困難となるという問題がある。
【0009】
このような背景に鑑みて本発明がなされたのであり、本発明は、転送装置間のリンクに障害が生じたとき、経路サーバによる経路計算を待つことなく、経路の切り換えが可能な経路サーバ、転送装置、経路制御方法およびネットワークシステムを提供することを課題とする。
【課題を解決するための手段】
【0010】
本発明は、前記課題を解決するために創案されたものであり、請求項1に記載の経路サーバは、転送装置から前記転送装置間の隣接関係に関する情報である隣接情報を収集し、収集した前記隣接情報を基に、通信データの転送路である経路情報を計算し、前記計算した経路情報を前記転送装置それぞれへ配信する経路サーバであって、前記経路情報として、前記転送装置間をつなぐ経路の障害発生前に使用するプライマリ経路情報と、前記経路の障害発生時に使用する1以上のバックアップ経路情報と、を計算する経路情報計算部と、計算した前記プライマリ経路情報と、前記バックアップ経路情報と、を前記各転送装置へ配信する経路設定部と、を有することを特徴とする。
【0011】
かかる発明によれば、障害が発生したときのためのバックアップ経路情報を各転送装置へ配信しておくことで、転送装置間のリンクで障害が発生しても経路サーバによる経路情報の再計算を待つことなく、経路を切り換えることができる。
【0012】
また、請求項2に記載の転送装置は、自身の記憶部に格納されている経路情報を参照して、受信した通信データを転送する転送装置であって、前記経路サーバから配信されたプライマリ経路情報と、前記1以上のバックアップ経路情報と、を格納している記憶部と、前記経路に障害が発生すると、参照する経路情報を、前記プライマリ経路情報から、前記バックアップ経路情報に切り換えて、前記通信データの転送を行うパケット制御部と、を有することを特徴とする。
【0013】
かかる発明によれば、転送装置間のリンクに障害が発生しても、参照する経路情報をプライマリ経路情報から、バックアップ経路情報へ切り換えることで、経路サーバによる経路情報の再計算を待つことなく、経路を切り換えることができる。また、経路サーバに障害が発生して、障害発生時の経路情報の再計算ができない状態となっても、バックアップ経路情報を参照することができるので、通信データの転送を継続することができる。
【0014】
また、請求項3に記載の転送装置は、請求項2における転送装置であって、前記パケット制御部は、前記バックアップ経路情報によって前記通信データの転送を行っているときに、前記経路に障害が発生した場合、受信した通信データを破棄することを特徴とする。
【0015】
かかる発明によれば、バックアップ経路情報が使用されている状態から、他のバックアップ経路情報へ切り換えることで生じ得る通信データのループを防止することができる。
【0016】
また、請求項4に記載の経路制御方法は、経路サーバが、転送装置から前記転送装置間の隣接関係に関する情報である隣接情報を収集し、収集した前記隣接情報を基に、通信データの転送路である経路情報を計算し、前記計算した経路情報を前記転送装置それぞれへ配信し、前記転送装置が、前記配信された経路情報を参照して、受信した通信データの転送を行うネットワークシステムによる経路制御方法であって、前記経路サーバは、前記経路情報として、前記転送装置間をつなぐ経路の障害発生前に使用するプライマリ経路情報と、前記経路の障害発生時に使用する1以上のバックアップ経路情報と、を計算し、前記各転送装置へ配信し、前記各転送装置は、前記経路サーバから配信されたプライマリ経路情報と、前記バックアップ経路情報と、を記憶部に格納し、前記経路に障害が発生すると、参照する経路情報を、前記プライマリ経路情報から、前記バックアップ経路情報に切り換えて、前記通信データの転送を行うことを特徴とする。
【0017】
かかる発明によれば、転送装置間のリンクに障害が発生しても、参照する経路情報をプライマリ経路情報から、バックアップ経路情報へ切り換えることで、経路サーバによる経路情報の再計算を待つことなく、経路を切り換えることができる。また、経路サーバに障害が発生して、障害発生時の経路情報の再計算ができない状態となっても、バックアップ経路情報を参照することができるので、通信データの転送を継続することができる。
【0018】
また、請求項5に記載の経路制御方法は、請求項4における経路制御方法であって、前記ネットワークシステムは、複数のエリアに分割されており、どの前記経路サーバが、どの前記エリアに属する転送装置へ前記経路情報の配信を行うかが設定されており、複数の前記経路サーバのそれぞれが、自身が前記経路情報の配信対象としている前記エリア内の転送装置へ配信する前記プライマリ経路情報および前記バックアップ経路情報を計算し、前記計算したプライマリ経路情報およびバックアップ経路情報を、前記経路情報の配信対象としている前記エリア内の転送装置へ配信することを特徴とする。
【0019】
かかる発明によれば、経路情報の計算を複数の経路サーバに分散させることで、1台あたりの経路サーバの処理負荷を軽減することができる。
【0020】
また、請求項6に記載の経路制御方法は、請求項5における経路制御方法であって、前記複数のエリアは、前記複数の経路サーバのうちの1つであるマスタ経路サーバが経路情報の配信対象としている第1のエリアと、前記マスタ経路サーバとは別の経路サーバであるサブ経路サーバが経路情報の配信対象としている第2のエリアと、を有しており、前記サブ経路サーバは、前記第2のエリアに属する転送装置から隣接情報を収集し、収集した前記隣接情報を基に、前記第2のエリアにおける転送装置の配置に関する情報であるトポロジ情報を計算し、計算した前記トポロジ情報を前記マスタ経路サーバへ送信し、前記マスタ経路サーバは、前記第1のエリアに属する転送装置から隣接情報を収集するとともに、前記サブ経路サーバから、前記第2のエリアのトポロジ情報を収集し、前記収集した第1のエリアの隣接情報および前記第2のエリアのトポロジ情報を基に、前記第1のエリアおよび前記第2のエリアを合わせた全エリアのトポロジ情報を計算し、前記サブ経路サーバへ、前記全エリアのトポロジ情報を配信し、前記マスタ経路サーバおよび前記サブ経路サーバのそれぞれは、前記全エリアののトポロジ情報を基に、前記経路情報の配信対象としている前記エリアに属する前記転送装置の経路情報を計算することを特徴とする。
【0021】
かかる発明によれば、すべてのエリア内の隣接情報の収集が1台の経路サーバに集中することがないため、隣接情報を収集する際の通信負荷を軽減することができる。また、各経路サーバ間で送受信される情報はトポロジ情報であるので、各経路サーバ間の通信負荷も軽減することができる。
【0022】
請求項7に記載の経路制御方法は、請求項6に記載の経路制御方法であって、前記マスタ経路サーバは、前記第1のエリアにおける転送装置間の障害が生じている転送装置の情報を含む障害情報を受信すると、自身の記憶部に格納されている第2のエリアのトポロジ情報と、前記受信した障害情報と、を基に、前記第1のエリアおよび前記サブエリアを合わせた全エリアのトポロジ情報を計算し、前記サブ経路サーバへ、前記全エリアのトポロジ情報を配信し、前記マスタ経路サーバおよび前記サブ経路サーバは、前記全エリアのトポロジ情報を基に、前記経路情報の配信対象の前記エリアに属する前記転送装置のプライマリ経路情報を計算することを特徴とする。
【0023】
また、請求項8の経路制御方法は、請求項6に記載の経路制御方法であって、前記サブ経路サーバは、前記経路情報の配信対象としている前記第2のエリアにおける転送装置間の障害が生じている転送装置間の接続情報を含む障害情報を受信すると、当該障害情報を含む情報をマスタ経路サーバへ送信し、前記マスタ経路サーバは、自身の記憶部に格納されている第2のエリアのトポロジ情報と、前記送信された障害情報と、を基に、前記第1のエリアおよび前記サブエリアを合わせた全エリアのトポロジ情報を計算し、前記サブ経路サーバへ、前記全エリアのトポロジ情報を配信し、前記マスタ経路サーバおよび前記サブ経路サーバは、前記全エリアののトポロジ情報を基に、前記経路情報の配信対象としている前記エリアに属する前記転送装置のプライマリ経路情報を計算することを特徴とする。
【0024】
請求項7および請求項8に記載の発明によれば、各エリアに障害が生じても、請求項6の効果を維持しつつ、新たなプライマリ経路を計算し、配信することができる。
【0025】
請求項9に記載のネットワークシステムは、経路サーバが、転送装置から前記転送装置間の隣接関係に関する情報である隣接情報を収集し、収集した前記隣接情報を基に、通信データの転送路である経路情報を計算し、前記計算した経路情報を前記転送装置それぞれへ配信し、前記転送装置が、前記配信された経路情報を参照して、受信した通信データの転送を行うネットワークシステムであって、前記経路サーバは、前記経路情報として、前記転送装置間をつなぐ経路の障害発生前に使用するプライマリ経路情報と、前記経路の障害発生時に使用する1以上のバックアップ経路情報と、を計算し、前記各転送装置へ配信し、前記各転送装置は、前記経路サーバから配信されたプライマリ経路情報と、前記バックアップ経路情報と、を記憶部に格納し、前記経路に障害が発生すると、参照する経路情報を、前記プライマリ経路情報から、前記バックアップ経路情報に切り換えて、前記通信データの転送を行うことを特徴とする。
【0026】
かかる発明によれば、経路情報の計算を複数の経路サーバに分散させることで、1台あたりの経路サーバの処理負荷を軽減することができる。
【0027】
請求項10に記載のネットワークシステムは、請求項9に記載のネットワークシステムであって、前記ネットワークシステムは、複数のエリアに分割されており、どの前記経路サーバが、どの前記エリアに属する転送装置へ前記経路情報の配信を行うかが設定されており、前記経路サーバのそれぞれは、前記エリア内の転送装置に対する前記プライマリ経路情報および前記バックアップ経路情報を計算し、前記計算したプライマリ経路情報およびバックアップ経路情報を、前記経路情報の配信対象としている前記エリア内の転送装置へ配信することを特徴とする。
【0028】
かかる発明によれば、経路情報の計算を複数の経路サーバに分散させることで、1台あたりの経路サーバの処理負荷を軽減することができる。
【発明の効果】
【0029】
本発明によれば、転送装置間のリンクに障害が生じたとき、経路サーバによる経路計算を待つことなく、経路の切り換えが可能な経路サーバ、転送装置、経路制御方法およびネットワークシステムを提供することができる。
【図面の簡単な説明】
【0030】
【図1】第1実施形態に係るネットワークシステムの例を示す図である。
【図2】第1実施形態に係る経路サーバの構成を示す図である。
【図3】第1実施形態に係る転送装置の構成例を示す図である。
【図4】第1実施形態で使用する各種情報に関する内容を表に示したものである。
【図5】第1実施形態に係るトポロジ情報の例を示す図である。
【図6】第1実施形態に係る経路情報の例を示す図である。
【図7】経路情報配信の概要を示す図である。
【図8】第1実施形態に係る経路切換の概要を示す図である(その1)。
【図9】第1実施形態に係る経路切換の概要を示す図である(その2)。
【図10】第1実施形態に係る通常時における経路情報の計算処理の流れを示すフローチャートである。
【図11】第1実施形態に係る障害発生時における経路情報の計算処理の流れを示すフローチャートである。
【図12】第1実施形態に係る転送装置における経路情報受信・設定処理の流れを示すフローチャートである。
【図13】第1実施形態に係る転送処理の流れを示すフローチャートである。
【図14】第2実施形態に係るネットワークシステムの構成例を示す図である。
【図15】第2実施形態に係るマスタ経路サーバにおける経路情報計算処理(通常時)の流れを示すフローチャートである。
【図16】第2実施形態に係るサブ経路サーバにおける経路情報計算処理(通常時)の流れを示すフローチャートである。
【図17】第2実施形態に係るマスタ経路サーバにおける経路情報計算処理(障害発生時)の流れを示すフローチャートである。
【図18】第2実施形態に係るサブ経路サーバにおける経路情報計算処理(障害発生時)の流れを示すフローチャートである。
【図19】従来におけるネットワークシステムの構成例を示す図である。
【発明を実施するための形態】
【0031】
次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
【0032】
[第1実施形態]
まず、図1〜図13を参照して、本発明の第1実施形態について説明する。
(ネットワークシステム)
図1は、第1実施形態に係るネットワークシステムの例を示す図である。
ネットワークシステム10は、ルータなどの転送装置2と、これらの転送装置2に対する経路情報300を計算し、計算した経路情報300を各転送装置2へ配信する経路サーバ1とを有している。
なお、経路サーバ1は、基準となる(経路の障害発生前に使用する)経路情報300(プライマリ経路情報301と称する)を計算するプライマリ経路計算部(経路情報計算部)102の他に、ネットワークに障害が生じたときに使用する予備の経路情報300(バックアップ経路情報302と称する)を転送装置2毎に計算するバックアップ経路計算部(経路情報計算部)103を有し、計算した経路情報300(以下、経路情報300と記載する場合は、プライマリ経路情報301とバックアップ経路情報302との両方を指すものとする)を、対応する転送装置2へ配信する。なお、図1における破線矢印は経路情報300の配信を示している。
【0033】
各転送装置2間の接続をリンクと称する。転送装置2間にはトラヒックが発生しており、このトラヒックは通信データであるIP(Internet Protocol)パケット(以下、パケットと称する)の単位で、リンクを介して転送先の転送装置2に到着するものとする。
なお、図1において、バックアップ経路情報302が複数(図1では2つ)存在するのは、経路サーバ1は、各々の障害パターンに対応したバックアップ経路情報302を、転送装置2毎に計算するため、1つの転送装置2に対応・格納するバックアップ経路情報302は複数となることを示している。
【0034】
(経路サーバの構成)
図2は、第1実施形態に係る経路サーバの構成を示す図である。適宜、図1を参照する。
経路サーバ1は、処理部100と、記憶部であるトポロジ情報DB(Data Base)110、プライマリ経路情報DB120、バックアップ経路情報DB130とを有している。
処理部100は、トポロジ情報処理部101、プライマリ経路計算部102、バックアップ経路計算部103、経路設定部104、障害・復帰情報受信部105、オペレータI/F(Interface)部106とを有している。
トポロジ情報処理部101は、各転送装置2から送信される隣接情報を収集し、収集した隣接情報を基に、ネットワークシステム10内の転送装置2の配置情報であるトポロジ情報を計算し、計算したトポロジ情報をトポロジ情報DB110に格納する。
プライマリ経路計算部102は、計算したトポロジ情報に基づいて、転送経路の計算を行うことで各転送装置2に対応したプライマリ経路情報301を計算すると、このプライマリ経路情報301をプライマリ経路情報DB120に格納する
バックアップ経路計算部103は、計算したトポロジ情報に基づいて、あらゆる障害パターンに備えた迂回経路であるバックアップ経路の情報であるバックアップ経路情報302を、転送装置2毎に計算し、このバックアップ経路情報DB130に格納する。
経路設定部104は、計算した経路情報300(プライマリ経路情報301およびバックアップ経路情報302)を対応する転送装置2に送信する。
オペレータI/F部106は、管理者とのインタフェースであり、サーバメンテナンスやバックアップ経路情報302の計算契機を用いるPC(Personal Computer)などの端末に入力する。
【0035】
トポロジ情報DB110に格納されているトポロジ情報、プライマリ経路情報DB120に格納されているプライマリ経路情報301、およびバックアップ経路情報DB130に格納されているバックアップ経路情報302については、後記して説明する。
【0036】
なお、経路サーバ1はPCなどで実現されるものであり、処理部100および処理部100における各部101〜106は、図示しないROM(Read Only Memory)や、HDD(Hard Disk Drive)に格納されたプログラムが、RAM(Random Access Memory)に展開され、CPU(Central Processing Unit)によって実行されることによって具現化する。
【0037】
(転送装置)
図3は、第1実施形態に係る転送装置の構成例を示す図である。適宜、図1を参照する。
転送装置2は、動作制御部200、パケット制御部210、プライマリ経路情報DB(記憶部)220およびバックアップ経路情報DB(記憶部)230を有している。
動作制御部200は、経路情報300に関する設定を行うものであり、隣接情報送信部201、障害・復帰情報送信部202、経路情報受信部203およびハードウェア管理部204を有している。パケット制御部210は、パケット400の転送などに関する処理を行うものであり、状態変化検出部211、パケット転送部212を有している。
【0038】
隣接情報送信部201は、自身に接続している転送装置2との隣接関係の情報である隣接情報を送信する。
障害・復帰情報送信部202は、状態変化検出部211が検出した障害(リンクの不通)の情報である障害情報や、復帰の情報である復帰情報を経路サーバ1へ送信する。障害情報や復帰情報は、例えば、自身のノードID(Identification)と、不通となっている相手先の転送装置2のノードIDとの組の情報である。
経路情報受信部203は、経路サーバ1から配信される経路情報300(プライマリ経路情報301およびバックアップ経路情報302)を受信する。
ハードウェア管理部204は、配信された経路情報300をプライマリ経路情報DB220や、バックアップ経路情報DB230に格納する。また、ハードウェア管理部204は、自身のリセットなどを行うメンテナンス機能も有する。
【0039】
状態変化検出部211は、リンクの障害や、リンクの復帰を検出し、障害情報や復帰情報を生成する。
パケット転送部212は、経路情報300を参照することによって、パケット400を次の転送装置2へ転送する。また、障害が検出された場合には、適切なバックアップ経路情報302への切り換えを行う。
【0040】
なお、プライマリ経路情報DB220に格納されているプライマリ経路情報301、およびバックアップ経路情報DB230に格納されているバックアップ経路情報302については、後記して説明する。
また、図3に示すようにパケット400には、ヘッダ部に後記して説明する経路IDが付されている。
【0041】
転送装置2における動作制御部200、パケット制御部210および各部201〜204,211,212は、ROMなどに格納されたプログラムが、CPUによって実行されることによって具現化する。
【0042】
(各種情報)
図4は、第1実施形態で使用する各種情報に関する内容を表に示したものである。
トポロジ情報は、情報要素としてノードとリンクの接続関係を有しており、経路サーバ1のトポロジ情報処理部101が各転送装置2から収集し、トポロジ情報DB110に格納される情報である。
プライマリ経路情報301は、障害が検出されていない状態のときに使用される経路情報300であり、情報要素として経路ID、パケットの宛先アドレス、および転送装置2の出力インタフェース(I/F)を有する。ここで、出力インタフェースはネクストホップアドレスとしてもよい。プライマリ経路情報301は、トポロジ情報を基に、経路サーバ1のプライマリ経路計算部102が各転送装置2毎に計算し、対応する転送装置2に配信する情報である。なお、経路IDは、経路を一意に識別するためのIDであり、プライマリ経路情報301には「0」が設定される。
【0043】
バックアップ経路情報302は、障害発生後に使用される経路情報300であり、情報要素として経路ID、宛先アドレス、および出力インタフェース(I/F)を有する。出力インタフェースはネクストホップアドレスでもよい。前記したように、バックアップ経路情報302は、トポロジ情報を基に、経路サーバ1のバックアップ経路計算部103が、障害の各転送装置2毎に計算し、対応する転送装置2に配信される情報である。バックアップ経路情報302の経路IDは「0」以外の値が格納される。
【0044】
なお、転送装置2のプライマリ経路情報DB220およびバックアップ経路情報DB230は、ハードウェア転送を高速化するためにCAM(Content‐Addressable Memory)などとしてもよい。
【0045】
(トポロジ情報)
図5は、第1実施形態に係るトポロジ情報の例を示す図である。
トポロジ情報は、始点ノードID、終点ノードID、接続状態、リンクコストなどを有する。リンクコストは、使用されるルーティングプロトコルによって規定される値である。なお、ノードとは転送装置2のことであり、以降、転送装置2をノードと適宜称することがある。
言い換えれば、トポロジ情報はすべての転送装置2における隣接関係を記述した情報であり、接続関係にない転送装置2間では、接続の欄に「なし」が登録されることとなる。
【0046】
(経路情報)
図6は、第1実施形態に係る経路情報の例を示す図である。ここで示す経路情報300の構成はプライマリ経路情報301およびバックアップ経路情報302に共通のものである。
経路情報300は、経路情報300を区別する経路IDと、宛先アドレスと、出力インタフェース(I/F)とを有する。前記したように、出力インタフェース(I/F)は、ネクストホップアドレスでもよい。
【0047】
(概要)
ここで、図7〜図9を参照して、第1実施形態の概要を説明する。
図7は、経路情報配信の概要を示す図である。図7(a)は非特許文献1に記載の技術(比較例)による経路情報300配信の概要図であり、図7(b)は本実施形態に係る経路情報300配信の概要図である。
図7(a)に示すように、非特許文献1に記載の技術では、1つの転送装置2に対し、1つの経路情報300が配信されるのに対し、図7(b)に示す本実施形態では、1つの転送装置2に対し、プライマリ経路情報301、バックアップ経路情報302といった複数の経路情報300が配信される。そして、各経路情報300(経路)は経路IDで区別される。言い換えれば、各経路情報300は経路IDによってカプセル化されている。
【0048】
図8および図9は、第1実施形態に係る経路切換の概要を示す図である。
図8では、転送装置2aから転送装置2cに対しパケット400(図3)を送信する場合を示す。なお、図3に示すようにパケット400には使用する経路IDが記述されている。
図8(a)に示すように、プライマリ経路(経路ID「0」)では、転送装置2a→転送装置2b→転送装置2cの順にパケット400が送信される(矢印801)が、転送装置2b,2c間のリンクの障害が検出されると、転送装置2aから送信されたパケット400は、転送装置2bでとまる(矢印802)。転送装置2bは、バックアップ経路情報302から適切なものを選択する(経路ID「1」が選択されたとする)と、パケット400内の経路IDを「0」から「1」に書き換え、選択されたバックアップ経路情報302に従う新たな転送装置2へ、書き換えたパケット400を送信する。図8(a)の場合、転送装置2bは、パケット400を転送装置2aへ返す(矢印803)。
【0049】
経路IDを書き換えられたパケット400を受信した転送装置2aは、パケット400に記述されている経路IDをキーとして、バックアップ経路情報302(経路ID「1」)をバックアップ経路情報DB230から取得すると、そのバックアップ経路情報302に従ってパケット400を送信する(転送装置2a→転送装置2d→転送装置2e→転送装置2f→転送装置2c:矢印804)。
【0050】
転送装置2bは、リンクの遮断を検出するとともに、経路サーバ1へ転送装置2b,2c間のリンクに障害が発生している旨の障害情報を送る。障害情報は、転送装置2における定期的な生存確認において、確認相手から生存情報が送られてこなかった場合に、転送装置2が経路サーバ1へ送る情報であり、自転送装置2のノードIDと、確認先のノードIDとが組となった情報である。このように障害情報には、隣接情報と同様に自身の転送装置2のノードIDと、リンク先の転送装置2のノードIDが記述されているので、経路サーバ1は、この障害情報を基に、プライマリ経路情報301の再計算を行う。そして、経路サーバ1は、再計算したプライマリ経路情報301(転送装置2a→転送装置2d→転送装置2e→転送装置2f→転送装置2c)を各転送装置2へ配信する。各転送装置2は、自身のプライマリ経路情報DB220に格納しているプライマリ経路情報301を新たに受信したプライマリ経路情報301に更新し、更新したプライマリ経路情報301に従ってパケット400の転送を行う(破線矢印805)。
【0051】
図8(b)のように、再計算されたプライマリ経路情報301に従って各転送装置2がパケット400の転送を行っているときに(矢印805)、転送装置2b,2c間のリンクの復帰が検出されると、転送装置2bは転送装置2b,2c間のリンクが復帰した旨の復帰情報を経路サーバ1に送信する。復帰情報は、転送装置2における定期的な生存確認において、生存確認できていなかった確認相手から生存情報が送られてくるようになった場合に、転送装置2が経路サーバ1へ送る情報であり、自転送装置2のノードIDと、確認先のノードIDとが組となった情報である。このように復帰情報には、隣接情報と同様に自身のノードIDと、リンク先のノードIDとを含んでいるので、復帰情報を受信した経路サーバ1は、復帰情報を基に、プライマリ経路情報301の再々計算を行う。そして、経路サーバ1は、再々計算したプライマリ経路情報301(転送装置2a→転送装置2b→転送装置2c)を各転送装置2へ配信し、各転送装置2は新たに受信したプライマリ経路情報301に従ってパケット400の転送を行う(破線矢印806)。なお、転送装置2は復帰を検知しても、バックアップ経路情報302へ切り換えることは行わない。これは、復帰時の経路切り換えは緊急を要するものではないためである。
【0052】
図9は、第1実施形態に係る経路切換の概要を示す図である。
図9(a)は、プライマリ経路情報301(経路ID「0」)の例を示す図であり、転送装置2A→転送装置2B→転送装置2Cの順にパケット400を送信する経路が記述されていることを示す。
図9(b)は、バックアップ経路情報302(経路ID「1」)の例を示す図であり、このバックアップ経路には、転送装置2A,2B間のリンクに障害が発生した際の経路として、転送装置2A→転送装置2D→転送装置2B→転送装置2Cの経路が記述されている。
図9(c)は、別のバックアップ経路情報302(経路ID「2」)の例を示す図であり、このバックアップ経路には、転送装置2B,2C間のリンクが遮断した際の経路として、転送装置2A→転送装置2D→転送装置2E→転送装置2Cの経路が記述されている。なお、図9(c)において、パケット400が転送装置2Bに送信された後、転送装置2Aに戻っているが、これは図8でも記載したように、転送装置2Bまで送られたパケット400は、転送装置2Bによって経路IDを「0」から「2」に書き換えられ、書き換えられたバックアップ経路情報302に従う新たな転送装置2へパケット400が送信された結果、転送装置2Aに戻されることを示している。
【0053】
<処理>
次に、図2および図3を参照しつつ、図10〜図13を参照して本実施形態に係る処理を説明する。
(経路情報計算処理(通常時))
図10は、第1実施形態に係る通常時における経路情報の計算処理の流れを示すフローチャートである。ここで通常時の処理とは、ネットワーク始動時、および転送装置2の除去・追加などネットワーク状態が変化したときに、管理者がオペレータI/F部106を介して経路サーバ1に情報を入力することによって、経路サーバ1が行う処理のことである。
まず、トポロジ情報処理部101が、各転送装置2の隣接情報送信部201から隣接情報を収集する(S101)。
そして、トポロジ情報処理部101が、収集した隣接情報を基に、トポロジ情報を計算する(S102)。
次に、プライマリ経路計算部102が、計算したトポロジ情報を基に、各転送装置2に対応したプライマリ経路情報301を転送装置2毎に計算する(S103)。
さらに、バックアップ経路計算部103が、取得したトポロジ情報を基に、バックアップ経路情報302を転送装置2毎に計算する(S104)。前記したように、バックアップ経路情報302は、どのリンクが1ヶ所切断しても、すべての転送装置2へデータが送れるよう計算される。従って、1つの転送装置2に対して生成されるバックアップ経路情報302は複数となる。
そして、経路設定部104が、計算した経路情報300(プライマリ経路情報301およびバックアップ経路情報302)を、それぞれ該当する転送装置2へ配信する(S105)。
【0054】
(経路情報計算処理(障害発生時))
図11は、第1実施形態に係る障害発生時における経路情報の計算処理の流れを示すフローチャートである。この処理は、経路サーバ1が行う処理である。
まず、障害・復帰情報受信部105が、転送装置2から障害情報を受信したか否かを判定する(S201)。
ステップS201の結果、障害情報を受信していない場合(S201→No)、障害・復帰情報受信部105は、ステップS205へ処理を進める。
【0055】
ステップS201の結果、障害情報を受信した場合(S201→Yes)、前記したように障害情報には、障害が生じているリンクの隣接情報が含まれているので、トポロジ情報処理部101が、受信した障害情報を基に、トポロジ情報を更新する(S202)。具体的には、障害情報に含まれている2つのノードIDの接続情報を「あり」から「なし」に変更する。
そして、プライマリ経路計算部102が、更新したトポロジ情報に従って新たなプライマリ経路情報301を転送装置2毎に再計算すると(S203)、経路設定部104が新たなプライマリ経路情報301を各転送装置2へ配信する(S204)。
【0056】
次に、障害・復帰情報受信部105が、転送装置2から復帰情報を受信したか否かを判定する(S205)。
ステップS205の結果、復帰情報を受信していない場合(S205→No)、障害・復帰情報受信部105は、ステップS201へ処理を戻す。
【0057】
ステップS205の結果、障害情報を受信した場合(S205→Yes)、復帰情報には、復帰したリンクの隣接情報が含まれているので、トポロジ情報処理部101が、受信した復帰情報を基に、トポロジ情報を更新する(S206)。具体的には、復帰情報に含まれている2つのノードIDの接続情報を「なし」から「あり」に変更する。
そして、プライマリ経路計算部102が、更新したトポロジ情報に従って新たなプライマリ経路情報301を転送装置2毎に再々計算すると(S207)、経路設定部104が新たなプライマリ経路情報301を各転送装置2へ配信する(S208)。
【0058】
(経路情報受信・設定)
図12は、第1実施形態に係る転送装置における経路情報受信・設定処理の流れを示すフローチャートである。
まず、経路情報受信部203が、図10のステップS105で配信された経路情報300(プライマリ経路情報301およびバックアップ経路情報302)を受信し、ハードウェア管理部204が受信した経路情報300をプライマリ経路情報DB220およびバックアップ経路情報DB230に格納することで経路情報300の設定を行う(S301)。
転送装置2の状態変化検出部211は、隣接する転送装置2に生存確認情報を定期的に送信し、リンクの状態を監視している。つまり、状態変化検出部211が、隣接する転送装置2からの生存確認応答を受信しなかったことでリンクの障害を検知したか否かを判定している(S302)。
ステップS302の結果、障害を検知しなかった場合(S302→No)、状態変化検出部211はステップS302へ処理を戻す。
【0059】
ステップS302の結果、障害を検知した場合(S302→Yes)、障害・復帰情報送信部202は、自転送装置2のノードIDと、生存確認応答を得ることがてきなかった相手先の転送装置2のノードIDとを対の情報とした障害情報を経路サーバ1へ送信する(S303)。
そして、経路情報受信部203は、経路サーバ1から図11のステップS204で配信されたプライマリ経路情報301を受信したか否かを監視する(S304)。
ステップS304の結果、プライマリ経路情報301を受信していない場合(S304→No)、経路情報受信部203はステップS304へ処理を戻す。なお、経路サーバ1からのプライマリ経路情報301を受信していないうちに、パケット400を受信した場合は、後記する図13のステップS404で「No」の処理が行われ、経路はバックアップ経路情報302による経路へ切り換えられることとなる。
【0060】
ステップS304の結果、プライマリ経路情報301を受信した場合(S304→Yes)、ハードウェア管理部204が、プライマリ経路情報DB20に保持しているプライマリ経路情報301を、受信したプライマリ経路情報301に更新する(S305)。以降、ステップS305で更新されたプライマリ経路情報301に従ってパケット400の転送が行われる。つまり、バックアップ経路情報302は、プライマリ経路情報301が再計算されている間のための緊急用の経路情報300である。
【0061】
そして、状態変化検出部211が、隣接する転送装置2からの生存確認応答を受信したことでリンクの復帰を検知したか否かを判定する(S306)。
ステップS306の結果、復帰を検知しなかった場合(S306→No)、状態変化検出部211はステップS306へ処理を戻す。
【0062】
ステップS306の結果、復帰を検知した場合(S306→Yes)、障害・復帰情報送信部202は、自転送装置2のノードIDと、生存確認応答を得ることができた相手先の転送装置2のノードIDとを対の情報とした復帰情報を経路サーバ1へ送信する(S307)。
そして、経路情報受信部203は、経路サーバ1から図11のステップS208で配信されたプライマリ経路情報301を受信したか否かを監視する(S308)。
ステップS308の結果、プライマリ経路情報301を受信していない場合(S308→No)、経路情報受信部203はステップS308へ処理を戻す。
【0063】
ステップS308の結果、プライマリ経路情報301を受信した場合(S308→Yes)、ハードウェア管理部204が、プライマリ経路情報DB220に保持しているプライマリ経路情報301を、受信したプライマリ経路情報301に更新する(S309)。
【0064】
(転送処理)
図13は、第1実施形態に係る転送処理の流れを示すフローチャートである。この処理は、各転送装置2が行う処理である。
パケット転送部212は、パケット400を受信したか否かを判定する(S401)。
ステップS401の結果、パケット400を受信していない場合(S401→No)、パケット転送部212はステップS401へ処理を戻す。
ステップS401の結果、パケット400を受信すると(S401→Yes)、パケット転送部212がパケット400のヘッダに記述されている経路IDを取得し(S402)、取得した経路IDに対応した経路情報300(プライマリ経路情報301もしくはバックアップ経路情報302)をプライマリ経路情報DB220あるいはバックアップ経路情報DB230から取得する(S403)。
【0065】
次に、パケット転送部212は、取得した経路情報300において、パケット400の宛先アドレスへ転送するための出力インタフェースに障害が発生しているか否かを判定することにより、パケット400が転送可か否かを判定する(S404)。
ステップS404の結果、パケット400が転送可であれば(S404→Yes)、パケット転送部212は、取得した経路情報300に記述されている出力インタフェースを介して、パケット400を転送し(S405)、ステップS401へ処理を戻す。
ステップS404の結果、パケット400の転送が不可であれば(S404→No)、パケット転送部212は、パケット400のヘッダに記述されている経路IDが「0」であるか否か(つまり、現在使用している経路情報300がプライマリ経路情報301であるか否か)を判定する(S406)。
ステップS406の結果、経路IDが「0」ではない場合(SS406→No)、つまり、現在使用している経路情報300がすでにバックアップ経路情報302である場合、パケット転送部212は、そのパケット400を破棄し(S407)、パケット転送部212はステップS401へ処理を戻す。これは、すでにバックアップ経路情報302を使用している状態で、さらに他のバックアップ経路情報302へ経路情報300を変更した際に生じ得る転送ループを防止するためである。
【0066】
ステップS406の結果、経路IDが「0」である場合(S406→Yes)、パケット転送部212は、適切なバックアップ経路情報302を選択する(S408)。このとき、バックアップ経路情報302には、どのリンクに障害が発生したときには、どのバックアップ経路情報302を使用するといった情報が記述されているので、パケット転送部212は、その情報を基にバックアップ経路情報302を選択する。
そして、パケット転送部212は、パケット400のヘッダに記述されている経路IDをステップS408で選択したバックアップ経路情報302の経路IDに書き換え(S409)、そのパケット400を、経路IDに従う新たな転送先となる転送装置2へ送信する(S410)。返信されたパケット400を受信した転送装置2(パケット送信元)は、ステップS401以下の処理に従って、該パケット400を転送する。
【0067】
また、復帰前のプライマリ経路情報301(再計算したプライマリ経路情報301)に従ってパケット400の転送を行っているときに、さらに障害が発生した場合、経路サーバ1が警告表示を行って管理者に通知し、管理者の指示によって図15の経路情報300の計算処理が行われてもよい。
そして、経路情報300を配信する方法は任意のプロトコルを用いてよく、例えばForCESなどを使用してもよい(例えば、A. Doria, R. Haas, J. H. Salim, H. Khosravi, and W. M. Wang, “ForCES Protocol Specification,”IETF Internet draft draft-ietf-forces-protocol-22, Mar. 2009.を参照)
【0068】
(第1実施形態のまとめ)
各転送装置2にリンクの障害発生時に使用するバックアップ経路情報302を設定することにより、リンクの障害発生時に経路サーバ1による経路情報300の再計算を待つことなく、経路を切り換えることができる。
また、経路サーバ1に障害が発生して、経路情報300の再計算が不可能となっても、バックアップ経路情報302によってパケット400の転送を継続することができる。
さらに、バックアップ経路情報302に従って、パケット400の転送を行っているときにリンクの障害が発生した場合、パケット400を破棄(通信を停止)することで、バックアップ経路情報302が使用されている状態から、他のバックアップ経路情報302へ切り換えることで生じ得るルーティングのループを防止することができる。
また、障害発生時や、復帰時に再計算される経路情報300は、プライマリ経路情報301のみであるので、経路サーバ1における経路情報300の計算負荷や、転送装置2への経路情報300の配信時における通信負荷を無駄に増加させることがない。
【0069】
[第2実施形態]
次に、図14〜図18を参照して本発明の第2実施形態を説明する。
第2実施形態では、ネットワークシステム10aを複数のエリアに分割し、各エリアを経路情報300(図1)の配信対象とする経路サーバ1を複数用意することで、第1実施形態の効果を維持しつつ、経路情報300の計算処理負荷を軽減する。
【0070】
(システム構成)
図14は、第2実施形態に係るネットワークシステムの構成例を示す図である。
ここでは、ネットワークシステム10aをバックボーンエリア(第1のエリア)1411とサブエリア(第2のエリア)1412とに分割し、さらにサブエリア1412をサブエリア1412aおよびサブエリア1412bに分割している。サブエリア1412は、いくつ設定してもよいが、マスタ経路サーバ1411はネットワークシステム10aに1つだけ設定される。それぞれのエリアにおける転送装置2を配信対象としている経路サーバ1(マスタ経路サーバ1401、サブ経路サーバ1402a,1402b)を設置する。図14において、マスタ経路サーバ1401はバックボーンエリア1411を配信対象とし、サブ経路サーバ1402aはサブエリア1412aを配信対象とし、サブ経路サーバ1402bはサブエリア1412bを配信対象としている。
【0071】
サブ経路サーバ1402aはサブエリア1412aにおける転送装置2の隣接情報(以下、サブエリア1412aの隣接情報と称する。サブエリア1412bおよびバックボーンエリア1411に対しても同様)を収集し、この隣接情報を基に計算したトポロジ情報をマスタ経路サーバ1401へ送信する。同様に、サブ経路サーバ1402bはサブエリアbの隣接情報を収集し、この隣接情報を基に計算したトポロジ情報をマスタ経路サーバ1401へ送信する。
なお、サブ経路サーバ1402からマスタ経路サーバ1401へ送信される情報は、トポロジ情報に限らず、すでに一度トポロジ情報を受信している場合は、差分情報である各転送装置2から取得した隣接情報としてもよい。
サブ経路サーバ1402a,1402bよりサブエリア1412a,1412bのトポロジ情報を収集したマスタ経路サーバ1401は、自身が収集したバックボーンエリア1411の隣接情報と、サブエリア1412a,1412bのトポロジ情報を基に、すべてのエリア(バックボーンエリア1411、サブエリア1412a,1412b)のトポロジ情報を計算し、計算したすべてのエリアのトポロジ情報をサブ経路サーバ1402a,1402bに送信する。
【0072】
すべてのエリアのトポロジ情報を有するようになった各経路サーバ1は、自身が配信対象とするエリア毎に経路情報300(プライマリ経路情報301およびバックアップ経路情報302)を計算する。
つまり、マスタ経路サーバ1401は、転送装置2o,2p,2qに対応した経路情報300を計算し、サブ経路サーバ1402aは、転送装置2r,2s,2tに対応した経路情報300を計算し、サブ経路サーバ1402bは、転送装置2u,2v,2wに対応した経路情報300を計算し、それぞれの転送装置2へ配信する。
【0073】
なお、マスタ経路サーバ1401およびサブ経路サーバ1402の構成は図2に示す経路サーバ1の構成と同様であり、転送装置2の構成は図3に示す転送装置2の構成と同様であるため、ここでは説明を省略する。
【0074】
以下、図2、図3および図14を参照しつつ、図15から図18を参照して第2実施形態における各経路サーバ1の動作を説明する。なお、転送装置2の動作は第1実施形態と同様であるため説明および図示を省略する。
(経路情報計算処理(通常時:マスタ経路サーバ))
図15は、第2実施形態に係るマスタ経路サーバにおける経路情報計算処理(通常時)の流れを示すフローチャートである。なお、図15および図16における通常時の処理とは、ネットワーク始動時、および転送装置2の除去・追加などネットワーク状態が変化したときに、管理者が経路サーバ1に情報を入力することによって、マスタ経路サーバ1401および各サブ経路サーバ1402が行う処理のことである。
まず、マスタ経路サーバ1401のトポロジ情報処理部101が、バックバーンエリア内の転送装置2の隣接情報送信部201から隣接情報を収集する(S501)。
次に、マスタ経路サーバ1401のトポロジ情報処理部101が、各サブ経路サーバ1402から各サブエリア1402のトポロジ情報を収集する(S502)。
そして、トポロジ情報処理部101が、ステップS501で収集したバックボーンエリア1411の隣接情報およびステップS502で収集した各サブエリア1412のトポロジ情報から、全エリアのトポロジ情報を計算する(S503)。具体的には、トポロジ情報処理部101は、バックボーンエリア1411の隣接情報を基に、バックボーンエリア1411のトポロジ情報を計算すると、バックボーンエリア1411のトポロジ情報と、各サブエリア1412のトポロジ情報とを併せる。なお、各エリアの境界に存在する転送装置2(図14における転送装置2p−転送装置2rなど)間の接続情報は、各エリアのトポロジ情報内に記述されている。
【0075】
そして、トポロジ情報処理部101は、各サブ経路サーバ1402へ計算した全エリアのトポロジ情報を配信する(S504)。このとき、サブ経路サーバ1402へ送信するトポロジ情報は、バックボーンエリア1411および各サブエリア1412を含むすべてのトポロジ情報でもよいし、必要なトポロジ情報だけ配信してもよい。例えば、図14のサブ経路サーバ1402aにサブエリア1412aのトポロジ情報を配信しても意味がないので、サブ経路サーバ1402aへはバックボーンエリア1411およびサブエリア1412bのトポロジ情報のみを送信するようにしてもよい。
【0076】
次に、マスタ経路サーバ1401のプライマリ経路計算部102およびバックアップ経路計算部103が、計算した全エリアのトポロジ情報を基に、バックボーンエリア1411内の転送装置2(図14の転送装置2o〜2q)に対するプライマリ経路情報301およびバックアップ経路情報302(経路情報300)を計算する(S505)。
次に、マスタ経路サーバ1401の経路設定部104が、バックボーンエリア1411内の転送装置2へ計算したプライマリ経路情報301を配信する(S506)。
【0077】
(経路情報計算処理(サブ経路サーバ))
図16は、第2実施形態に係るサブ経路サーバにおける経路情報計算処理(通常時)の流れを示すフローチャートである。
まず、サブ経路サーバ1402のトポロジ情報処理部101が、自身が経路情報300の配信対象としているサブエリア1412に属する転送装置2の隣接情報送信部201からサブエリア1412の隣接情報を収集する(S601)。
次に、トポロジ情報処理部101は、収集した隣接情報から、自身が経路情報300の配信対象としているサブエリア1412におけるトポロジ情報を計算する(S602)。
続いて、トポロジ情報処理部101が、マスタ経路サーバ1401へ計算したサブエリア1412のトポロジ情報を送信する(S603)。
【0078】
そして、トポロジ情報処理部101が、図15のステップS504でマスタ経路サーバ1401から配信された全エリアのトポロジ情報を受信する(S604)。前記したように、このとき受信するトポロジ情報は、バックボーンエリア1411および各サブエリア1412すべてのトポロジ情報でもよいし、必要なトポロジ情報だけを受信してもよい。
【0079】
そして、サブ経路サーバ1402のプライマリ経路計算部102およびバックアップ経路計算部103が、受信した全エリアのトポロジ情報を基に、サブエリア1412内の転送装置2(図14の転送装置2r〜2t、あるいは転送装置2u〜2w)に対するプライマリ経路情報301およびバックアップ経路情報302(経路情報300)を計算する(S605)。
次に、サブ経路サーバ1402の経路設定部104が、自身が経路情報300の配信対象としているサブエリア1412内の転送装置2へ計算したプライマリ経路情報301を配信する(S606)。
【0080】
(経路情報計算処理(障害発生時:マスタ経路サーバ))
図17は、第2実施形態に係るマスタ経路サーバにおける経路情報計算処理(障害発生時)の流れを示すフローチャートである。
まず、マスタ経路サーバ1401の障害・復帰情報受信部105またはトポロジ情報処理部101が、自身に対応するバックボーンエリア1411におけるいずれかの転送装置2から障害情報を受信したか、あるいはサブ経路サーバ1402からトポロジ情報を受信したか否かを判定する(S701)。
ステップS701の結果、障害情報およびトポロジ情報を受信していない場合(S701→No)、障害・復帰情報受信部105およびトポロジ情報処理部101は、ステップS706へ処理を進める。
ステップS701の結果、障害情報あるいはトポロジ情報を受信した場合(S701→Yes)、トポロジ情報処理部101が、受信した障害情報あるいはサブ経路サーバ1402から受信したトポロジ情報を基に全エリアのトポロジ情報を計算する(S702)。
そして、トポロジ情報処理部101は、各サブ経路サーバ1402へ計算した全エリアのトポロジ情報を配信する(S703)。
そして、プライマリ経路計算部102が、全エリアのトポロジ情報を基に、バックボーンエリア1411内のプライマリ経路情報301を再計算する(S704)。
続いて、経路設定部104が、バックボーンエリア1411内の転送装置2へ再計算したプライマリ経路情報301を配信する(S705)。
【0081】
次に、マスタ経路サーバ1401の障害・復帰情報受信部105が、ステップS701において、バックボーンエリア1411から障害情報を受信した場合は復帰情報を受信した否かを判定し、ステップS701においてサブ経路サーバ1402からトポロジ情報を受信した場合は、マスタ経路サーバ1401のトポロジ情報処理部101がサブ経路サーバ1402から再度送られたトポロジ情報を受信したか否かを判定する(S706)。
ステップS706の結果、復帰情報およびトポロジ情報を受信していない場合(S706→No)、障害・復帰情報受信部105は、ステップS701へ処理を戻す。
【0082】
ステップS706の結果、復帰情報あるいはトポロジ情報を受信している場合(S706→Yes)、トポロジ情報処理部101が、受信した障害情報あるいはトポロジ情報を基に全エリアのトポロジ情報を計算する(S707)。全エリアのトポロジ情報の計算方法は、図15のステップS503と同様である。
そして、トポロジ情報処理部101は、各サブ経路サーバ1402へ計算した全エリアのトポロジ情報を配信する(S708)。
そして、プライマリ経路計算部102が、全エリアのトポロジ情報を基に、バックボーンエリア1411内のプライマリ経路情報301を再々計算する(S709)。
続いて、経路設定部104が、バックボーンエリア1411内の転送装置2へ再々計算したプライマリ経路情報301を配信する(S710)。
【0083】
(経路情報計算処理(障害発生時:サブ経路サーバ))
図18は、第2実施形態に係るサブ経路サーバにおける経路情報計算処理(障害発生時)の流れを示すフローチャートである。
まず、サブ経路サーバ1402の障害・復帰情報受信部105が、自身に対応するサブエリア1412の転送装置2のいずれかから障害情報を受信した否かを判定する(S801)。
ステップS801の結果、障害情報を受信していない場合(S801→No)、処理部100はステップS804へ処理を進める。
ステップS801の結果、障害情報を受信している場合(S801→Yes)、トポロジ情報処理部101は、受信した障害情報を基にトポロジ情報を更新し(S802)、マスタ経路サーバ1401へ更新したトポロジ情報を送信する(S803)。障害情報を基にトポロジ情報を更新する処理は第1実施形態で行われた処理と同様である。
【0084】
続いて、障害・復帰情報受信部105が、自身に対応するサブエリア1412の転送装置2にいずれかから復帰情報を受信した否かを判定する(S804)。
ステップS804の結果、復帰情報を受信していない場合(S804→No)、処理部100はステップS807へ処理を進める。
ステップS804の結果、復帰情報を受信している場合(S804→Yes)、トポロジ情報処理部101は、受信した障害情報を基に、トポロジ情報を更新し(S805)、マスタ経路サーバ1401へ更新したトポロジ情報を送信する(S806)。復帰情報を基にトポロジ情報を更新する処理は第1実施形態で行われた処理と同様である。
【0085】
次に、トポロジ情報処理部101が、マスタ経路サーバ1401から図17のステップS703またはステップS708で配信された全エリアのトポロジ情報を受信したか否かを判定する(S807)。
ステップS807の結果、全エリアのトポロジ情報を受信していない場合(S807→No)、処理部100はステップS801へ処理を戻す。
ステップS807の結果、全エリアのトポロジ情報を受信している場合(S807→Yes)、プライマリ経路計算部102が、受信した全エリアのトポロジ情報を基に、経路情報300の配信対象としているサブエリア1412内のプライマリ経路情報301を計算する(S808)。
そして、経路設定部104が、経路情報300の配信対象としているサブエリア1412内の転送装置2へ計算したプライマリ経路情報301を配信し(S809)、処理部100はステップS801へ処理を戻す。
【0086】
なお、第2実施形態において、転送装置2の処理は第1実施形態と同様であるため、図示および説明を省略する。
【0087】
第2実施形態によれば、経路サーバ1は、自身が対応しているエリアの転送装置2に対して経路情報300を計算すればよいので、経路情報300の計算処理負荷を軽減することができる。
さらに、第1実施形態では、ネットワークシステム10a内のすべての隣接情報を1つの経路サーバ1が収集する必要があったが、第2実施形態では、自身が対応しているエリア内の隣接情報を収集すればよいので、通信の効率を向上させることができる。
さらに、各経路サーバ1間の通信は、トポロジ情報のみであるため、各経路サーバ1間の通信負荷は軽微なものとすることができる。
【0088】
なお、第2実施形態において、サブエリア1412のリンクに障害が発生した場合、障害情報を受信したサブ経路サーバ1402が、障害が発生したサブエリア1412のトポロジ情報を計算して、そのトポロジ情報をマスタ経路サーバ1401へ送信しているが、サブ経路サーバ1402は受信した障害情報のみをマスタ経路サーバ1401へ送信してもよい。このとき、マスタ経路サーバ1401は、受信した障害情報を基に全エリアのトポロジ情報を更新する。このようにすると、サブ経路サーバ1402は障害情報のみをマスタ経路サーバ1401へ転送すればよく、またマスタ経路サーバ1401も障害情報に記述されているリンクの接続を「あり」から「なし」に更新すればよいので、マスタ経路サーバ1401およびサブ経路サーバ1402の計算負荷が、図17および図18に記載の方法よりさらに軽減され、また通信負荷も図17および図18に記載の方法よりさらに軽減される。
なお、復帰の際の処理も同様に行うことができる。
【符号の説明】
【0089】
1 経路サーバ
2,2a〜2f,2o〜2q,2A〜2E 転送装置
10,10a ネットワークシステム
100 処理部
101 トポロジ情報処理部
102 プライマリ経路計算部(経路情報計算部)
103 バックアップ経路計算部(経路情報計算部)
104 経路設定部
105 状態変化検出部
106 オペレータI/F部
110 トポロジ情報DB
120 プライマリ経路情報DB
130 バックアップ経路情報DB
200 動作制御部
201 隣接情報送信部
202 障害・復帰情報送信部
203 経路情報受信部
204 ハードウェア管理部
210 パケット制御部
211 状態変化検出部
212 パケット転送部
220 プライマリ経路情報DB(記憶部)
230 バックアップ経路情報DB(記憶部)
300 経路情報
301 プライマリ経路情報
302 バックアップ経路情報
400 パケット(通信データ)
1401 マスタ経路サーバ
1402,1402a,1402b サブ経路サーバ
1411 バックボーンエリア(第1のエリア)
1412,1412a,1412b サブエリア(第2のエリア)

【特許請求の範囲】
【請求項1】
転送装置から前記転送装置間の隣接関係に関する情報である隣接情報を収集し、収集した前記隣接情報を基に、通信データの転送路である経路情報を計算し、前記計算した経路情報を前記転送装置それぞれへ配信する経路サーバであって、
前記経路情報として、前記転送装置間をつなぐ経路の障害発生前に使用するプライマリ経路情報と、前記経路の障害発生時に使用する1以上のバックアップ経路情報と、を計算する経路情報計算部と、
計算した前記プライマリ経路情報と、前記バックアップ経路情報と、を前記各転送装置へ配信する経路設定部と、
を有することを特徴とする経路サーバ。
【請求項2】
自身の記憶部に格納されている経路情報を参照して、受信した通信データを転送する転送装置であって、
前記経路サーバから配信されたプライマリ経路情報と、前記1以上のバックアップ経路情報と、を格納している記憶部と、
前記経路に障害が発生すると、参照する経路情報を、前記プライマリ経路情報から、前記バックアップ経路情報に切り換えて、前記通信データの転送を行うパケット制御部と、
を有することを特徴とする転送装置。
【請求項3】
前記パケット制御部は、
前記バックアップ経路情報によって前記通信データの転送を行っているときに、前記経路に障害が発生した場合、受信した通信データを破棄する
ことを特徴とする請求項2に記載の転送装置。
【請求項4】
経路サーバが、転送装置から前記転送装置間の隣接関係に関する情報である隣接情報を収集し、収集した前記隣接情報を基に、通信データの転送路である経路情報を計算し、前記計算した経路情報を前記転送装置それぞれへ配信し、
前記転送装置が、前記配信された経路情報を参照して、受信した通信データの転送を行うネットワークシステムによる経路制御方法であって、
前記経路サーバは、
前記経路情報として、前記転送装置間をつなぐ経路の障害発生前に使用するプライマリ経路情報と、前記経路の障害発生時に使用する1以上のバックアップ経路情報と、を計算し、前記各転送装置へ配信し、
前記各転送装置は、
前記経路サーバから配信されたプライマリ経路情報と、前記バックアップ経路情報と、を記憶部に格納し、
前記経路に障害が発生すると、参照する経路情報を、前記プライマリ経路情報から、前記バックアップ経路情報に切り換えて、前記通信データの転送を行う
ことを特徴とする経路制御方法。
【請求項5】
前記ネットワークシステムは、複数のエリアに分割されており、
どの前記経路サーバが、どの前記エリアに属する転送装置へ前記経路情報の配信を行うかが設定されており、
複数の前記経路サーバのそれぞれが、自身が前記経路情報の配信対象としている前記エリア内の転送装置へ配信する前記プライマリ経路情報および前記バックアップ経路情報を計算し、
前記計算したプライマリ経路情報およびバックアップ経路情報を、前記経路情報の配信対象としている前記エリア内の転送装置へ配信する
ことを特徴とする請求項4に記載の経路制御方法。
【請求項6】
前記複数のエリアは、
前記複数の経路サーバのうちの1つであるマスタ経路サーバが経路情報の配信対象としている第1のエリアと、
前記マスタ経路サーバとは別の経路サーバであるサブ経路サーバが経路情報の配信対象としている第2のエリアと、
を有しており、
前記サブ経路サーバは、
前記第2のエリアに属する転送装置から隣接情報を収集し、収集した前記隣接情報を基に、前記第2のエリアにおける転送装置の配置に関する情報であるトポロジ情報を計算し、計算した前記トポロジ情報を前記マスタ経路サーバへ送信し、
前記マスタ経路サーバは、前記第1のエリアに属する転送装置から隣接情報を収集するとともに、前記サブ経路サーバから、前記第2のエリアのトポロジ情報を収集し、前記収集した第1のエリアの隣接情報および前記第2のエリアのトポロジ情報を基に、前記第1のエリアおよび前記第2のエリアを合わせた全エリアのトポロジ情報を計算し、
前記サブ経路サーバへ、前記全エリアのトポロジ情報を配信し、
前記マスタ経路サーバおよび前記サブ経路サーバのそれぞれは、前記全エリアののトポロジ情報を基に、前記経路情報の配信対象としている前記エリアに属する前記転送装置の経路情報を計算する
ことを特徴とする請求項5に記載の経路制御方法。
【請求項7】
前記マスタ経路サーバは、
前記第1のエリアにおける転送装置間の障害が生じている転送装置の情報を含む障害情報を受信すると、
自身の記憶部に格納されている第2のエリアのトポロジ情報と、前記受信した障害情報と、を基に、前記第1のエリアおよび前記サブエリアを合わせた全エリアのトポロジ情報を計算し、
前記サブ経路サーバへ、前記全エリアのトポロジ情報を配信し、
前記マスタ経路サーバおよび前記サブ経路サーバは、前記全エリアのトポロジ情報を基に、前記経路情報の配信対象の前記エリアに属する前記転送装置のプライマリ経路情報を計算する
ことを特徴とする請求項6に記載の経路制御方法。
【請求項8】
前記サブ経路サーバは、
前記経路情報の配信対象としている前記第2のエリアにおける転送装置間の障害が生じている転送装置間の接続情報を含む障害情報を受信すると、
当該障害情報を含む情報をマスタ経路サーバへ送信し、
前記マスタ経路サーバは、
自身の記憶部に格納されている第2のエリアのトポロジ情報と、前記送信された障害情報と、を基に、前記第1のエリアおよび前記サブエリアを合わせた全エリアのトポロジ情報を計算し、
前記サブ経路サーバへ、前記全エリアのトポロジ情報を配信し、
前記マスタ経路サーバおよび前記サブ経路サーバは、前記全エリアののトポロジ情報を基に、前記経路情報の配信対象としている前記エリアに属する前記転送装置のプライマリ経路情報を計算する
ことを特徴とする請求項6に記載の経路制御方法。
【請求項9】
経路サーバが、転送装置から前記転送装置間の隣接関係に関する情報である隣接情報を収集し、収集した前記隣接情報を基に、通信データの転送路である経路情報を計算し、前記計算した経路情報を前記転送装置それぞれへ配信し、
前記転送装置が、前記配信された経路情報を参照して、受信した通信データの転送を行うネットワークシステムであって、
前記経路サーバは、
前記経路情報として、前記転送装置間をつなぐ経路の障害発生前に使用するプライマリ経路情報と、前記経路の障害発生時に使用する1以上のバックアップ経路情報と、を計算し、前記各転送装置へ配信し、
前記各転送装置は、
前記経路サーバから配信されたプライマリ経路情報と、前記バックアップ経路情報と、を記憶部に格納し、
前記経路に障害が発生すると、参照する経路情報を、前記プライマリ経路情報から、前記バックアップ経路情報に切り換えて、前記通信データの転送を行う
ことを特徴とするネットワークシステム。
【請求項10】
前記ネットワークシステムは、複数のエリアに分割されており、
どの前記経路サーバが、どの前記エリアに属する転送装置へ前記経路情報の配信を行うかが設定されており、
前記経路サーバのそれぞれは、前記エリア内の転送装置に対する前記プライマリ経路情報および前記バックアップ経路情報を計算し、
前記計算したプライマリ経路情報およびバックアップ経路情報を、前記経路情報の配信対象としている前記エリア内の転送装置へ配信する
ことを特徴とする請求項9に記載のネットワークシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate