(57)【特許請求の範囲】
【請求項１】
複数のルータを含むラベルスイッチングネットワークにおいて、ラベルスイッチドパスを設定するパス設定装置であって、
設定済みラベルスイッチドパスの経路上のルータのリストを格納する格納手段と、
通過経路上のルータのリストを含むラベル要求を受け取ったとき、前記格納手段を検索して、該ラベル要求の通過経路と同じ経路を有する設定済みラベルスイッチドパスがあるか否かを判別する判別手段と、
前記同じ経路を有する設定済みラベルスイッチドパスがあるとき、前記ラベル要求に対して、該設定済みラベルスイッチドパスのラベルと同じラベルを割り当てるラベル割当て手段
を備えることを特徴とするパス設定装置。
【請求項２】
前記判別手段は、前記ラベル要求の通過経路と設定済みラベルスイッチドパスの経路の間で、入口ルータと出口ルータの組合せと、該入口ルータと該出口ルータの間のルータが一致するとき、該ラベル要求の通過経路は該設定済みラベルスイッチドパスの経路と同じであると判断することを特徴とする請求項１記載のパス設定装置。
【請求項３】
複数のルータを含むラベルスイッチングネットワークにおいて、ラベルスイッチドパスを設定するパス設定装置であって、
ラベル要求を受け取ったとき、該ラベル要求に対応する経路と同じ経路を有する設定済みラベルスイッチドパスがあるか否かを判別する判別手段と、
前記同じ経路を有する設定済みラベルスイッチドパスがあるとき、前記ラベル要求に対して、該設定済みラベルスイッチドパスのラベルと同じラベルを割り当てるラベル割当て手段と、
ラベルを再度割り当てる処理を行うラベル再割当て手段を備え、
前記ラベル割当て手段は、複数のフォワーディングイクイバレンスクラスに対して同じラベルを割り当て、該複数のフォワーディングイクイバレンスクラスのうちの１つに対して、前記ラベルスイッチングネットワークに変化が発生したとき、該ラベル再割当て手段は、入口ルータと出口ルータの間に割り当てられたラベルを一旦解放し、該入口ルータと新たな出口ルータの間でラベル割当てをやり直すための処理を行うことを特徴とするパス設定装置。
【請求項４】
複数のルータを含むラベルスイッチングネットワークにおいて、ラベルスイッチドパスを設定するパス設定装置であって、
ラベル要求を受け取ったとき、該ラベル要求に対応する経路と同じ経路を有する設定済みラベルスイッチドパスがあるか否かを判別する判別手段と、
前記同じ経路を有する設定済みラベルスイッチドパスがあるとき、前記ラベル要求に対して、該設定済みラベルスイッチドパスのラベルと同じラベルを割り当てるラベル割当て手段と、
前記設定済みラベルスイッチドパスのラベルと同じラベルを通知されたルータから該同じラベルの解放要求を受け取ったとき、前記同じ経路に対応するラベル要求に対して、該設定済みラベルスイッチドパスのラベルとは別のラベルを割り当てるための処理を行う別ラベル割当て手段
を備えることを特徴とするパス設定装置。
【請求項５】
同じラベルの割当てができない経路を自動的に学習し、学習した経路における同じラベルの割当てを禁止する経路学習手段をさらに備え、前記同じラベルの解放要求を受け取ったとき、前記別ラベル割当て手段は、前記同じ経路を該経路学習手段に通知し、該経路学習手段は、通知された経路を該同じラベルの割当てができない経路として学習することを特徴とする請求項４記載のパス設定装置。
【請求項６】
複数のルータを含むラベルスイッチングネットワークにおいて、ラベルスイッチドパスを設定するコンピュータのためのプログラムを記録した記録媒体であって、
通過経路上のルータのリストを含むラベル要求を受け取ったとき、設定済みラベルスイッチドパスの経路上のルータのリストを格納する格納手段を検索して、該ラベル要求の通過経路と同じ経路を有する設定済みラベルスイッチドパスがあるか否かを判別し、
前記同じ経路を有する設定済みラベルスイッチドパスがあるとき、前記ラベル要求に対して、該設定済みラベルスイッチドパスのラベルと同じラベルを割り当てる
処理を前記コンピュータに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項７】
複数のルータを含むラベルスイッチングネットワークにおいて、ラベルスイッチドパスを設定するパス設定方法であって、
通過経路上のルータのリストを含むラベル要求を受け取ったとき、設定済みラベルスイッチドパスの経路上のルータのリストを格納する格納手段を検索して、該ラベル要求の通過経路と同じ経路を有する設定済みラベルスイッチドパスがあるか否かを判別し、
前記同じ経路を有する設定済みラベルスイッチドパスがあるとき、前記ラベル要求に対して、該設定済みラベルスイッチドパスのラベルと同じラベルを割り当て、
前記同じ経路を有する設定済みラベルスイッチドパスがないとき、前記ラベル要求に対して、新たなラベルを割り当てる
ことを特徴とするパス設定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ラベルスイッチングネットワークにおいてラベルスイッチドパス（Label Switched Path ，ＬＳＰ）を設定する装置および方法に関し、さらに詳しくは、複数のラベルスイッチングルータ（Label Switching Router，ＬＳＲ）で構成されるＩＰ（Internet Protocol ）網において、距離ベクタ型ルーティングプロトコルを用いてＬＳＰを設定する装置および方法に関する。
【０００２】
【従来の技術】
図４３は、ＩＰ網における従来のＩＰパケット転送を示している。図４３において、ルータ＃１、＃２、および＃３によりＩＰパケット転送を行う場合、各ルータは、ＩＰパケットに設定された宛先アドレスを参照して、ＯＳＩ（Open Systems Interconnection）の基本参照モデル（basic reference model ）の第３層において、ソフトウェアによる転送処理を行う。
【０００３】
これに対して、現在、標準化が行われつつあるマルチプロトコルラベルスイッチング（Multi-Protocol Label Switching，ＭＰＬＳ）では、フォワーディングイクイバレンスクラス（Forwarding Equivalence Class，ＦＥＣ）により指定されるＩＰパケットフローに対して、２０ビットの固定長ラベルが割り当てられる。
【０００４】
ＦＥＣは、例えば、個別のアプリケーションのＩＰパケットフローや同一の宛先ネットワークを持つＩＰパケットフローのような、ＩＰパケットのグループを指定する。そして、各ルータは、第２．５層において、ハードウェアにより、固定長ラベルを用いたスイッチングを行う。このようなラベルスイッチングネットワークにおいて、ラベルを用いてパケット転送を行うことのできるパスは、ＬＳＰと呼ばれる。
【０００５】
図４４は、ＭＰＬＳ用ルータによるＩＰパケット転送を示している。図４４において、ルータ＃１、ルータ＃２、およびルータ＃３は、それぞれ、入口（Ingress ）ＬＳＲ、中継（Transit ）ＬＳＲ、および出口（Egress）ＬＳＲに相当する。
【０００６】
ここで、入口ＬＳＲとは、ラベルなしパケットにラベルを付加するＬＳＲのことであり、ＬＳＰの入口に位置する。また、出口ＬＳＲとは、ラベル付きパケットからラベルを取り除くＬＳＲのことであり、ＬＳＰの出口に位置する。中継ＬＳＲは、入口ＬＳＲと出口ＬＳＲの間に位置し、ラベル付きパケットを転送する。
【０００７】
例えば、ルータ＃１は、入力されたラベルなしＩＰパケット１にラベル＃ａを付けてルータ＃２に転送し、ルータ＃２は、受け取ったＩＰパケット２のラベルを＃ｂに付け替えてルータ＃３に転送する。そして、ルータ＃３は、受け取ったＩＰパケット３からラベルを取り除いて、ラベルなしＩＰパケット４を宛先ネットワークに転送する。このように、固定長ラベルを用いたスイッチングを行うことで、ＩＰパケットを高速に転送することができる。
【０００８】
このＭＰＬＳは、ルーティングプロトコルと連携することにより、ネットワークのトポロジを認識し、自動的にＬＳＰを設定することができる。ルータは、ＭＰＬＳ機能の設定を有効にするだけで高速ルーティングの恩恵を得ることができるため、この機能は益々の需要が期待されており、今後、ルータの標準機能となる見込みである。
【０００９】
ＭＰＬＳと連携するルーティングプロトコルとしては、ＯＳＰＦ（Open Shortest Path First）やルーティング情報プロトコル（Routing Information Protocol，ＲＩＰ）等が挙げられる。
【００１０】
ＯＳＰＦは、例えば、図４５のようなネットワーク構成において、図４６のような最短パスツリーを生成することにより、宛先ネットワークに対する最短ルートを計算する。図４５において、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、およびＦはルータを表し、ａ、ｂ、ｃ、ｄ、ｅ、ｆ、およびｇはルータ間のネットワークを表す。また、各ネットワークの付随する数値は、そのネットワークの転送コストを示している。
【００１１】
また、図４６の最短パスツリーは、ルータＡ内に設けられ、ルータＡから他のルータにＩＰパケットを転送する場合に、コストが最低となる最短ルートを保持する。例えば、ルータＡからルータＣへの最短ルートは、Ａ−Ｂ−Ｃであり、そのコストは２０である。この値は、ルータＡ、Ｂ間のネットワークａのコストと、ルータＢ、Ｃ間のネットワークｃのコストを合算することで、求められる。他のルータにも、同様の最短パスツリーが設けられる。
【００１２】
このＯＳＰＦとＭＰＬＳを連携させた場合、各ルータは、最短パスツリーを参照することにより、同一ルータに収容されるネットワークに対して単一のＬＳＰを設定することができる。したがって、ＬＳＰ数の増加を防ぐことが可能となる。
【００１３】
一方、ＲＩＰは、距離ベクタ型ルーティングプロトコルに属する。距離ベクタ型ルーティングプロトコルは、フレーム（ＩＰパケット）を宛先ネットワークに到達させるために転送すべき次のルータ（次ホップ）と、宛先ネットワークに到達するまでの距離（ホップ数）のみを管理するルーティングプロトコルである。
【００１４】
ＲＩＰは、図４５のネットワークにおいて、図４７のようなルーティングテーブルを生成することにより、次ホップを決定する。図４７のルーティングテーブルは、ルータＡ内に設けられ、宛先ネットワーク毎に、次ホップとコストを管理している。ここでは、コストとして、図４５のコスト値の代わりに、ホップ数が用いられている。ＲＩＰは、その管理および実装の容易さから、現在、最も使用されているプロトコルであり、今後も継続して使用されるものと考えられる。
【００１５】
【発明が解決しようとする課題】
しかしながら、上述した従来のルーティングプロトコルには、次のような問題がある。
【００１６】
ＯＳＰＦは、その仕様の複雑さから、運用時の管理が非常に困難である。このため、現在、あまり普及していない。また、実装自体が困難であるため、ＭＰＬＳとの連携においてもかなりの複雑さを伴う。
【００１７】
一方、ＲＩＰのような距離ベクタ型ルーティングプロトコルをＭＰＬＳと連携させた場合、入口ＬＳＲにおいて、宛先ネットワークを収容するルータを判別することができない。このため、同一の出口ＬＳＲ配下のネットワークであっても、ネットワークアドレス毎にＬＳＰが設定され、異なるラベルが割り当てられる。したがって、ルータに収容されるネットワークの数が多いと大量のラベルが使用されることになる。
【００１８】
ところで、ＭＰＬＳでは、中継ＬＳＲにおいてラベルを付け替えるために、例えば、入力されたＩＰパケットのラベル（入ラベル）から、次ホップへ出力するＩＰパケットのラベル（出ラベル）を検索するラベル検索テーブルを用いることが考えられる。
【００１９】
しかし、上述のように大量のラベルが使用されると、ラベル検索テーブルのエントリが増えるため、検索処理に要する時間も増大し、ネットワークの転送能力が低下する。
【００２０】
本発明の課題は、ラベルスイッチングネットワーク、例えば、ＭＰＬＳのようなラベルスイッチングと距離ベクタ型ルーティングプロトコルとを連携させて用いるラベルスイッチングネットワークにおいて、使用ラベル数を削減することにより転送能力を向上させるパス設定装置およびその方法を提供することである。
【００２１】
【課題を解決するための手段】
図１は、本発明のパス設定装置の原理図である。図１のパス設定装置は、判別手段１１およびラベル割当て手段１２を備え、複数のルータを含むラベルスイッチングネットワークにおいて、ＬＳＰを設定する。
【００２２】
判別手段１１は、ラベル要求を受け取ったとき、そのラベル要求に対応する経路と同じ経路を有する設定済みＬＳＰがあるか否かを判別する。ラベル割当て手段１２は、同じ経路を有する設定済みＬＳＰがあるとき、ラベル要求に対して、その設定済みＬＳＰのラベルと同じラベルを割り当てる。
【００２３】
パス設定装置は、例えば、各ルータ内に設けられ、新たなフローに対するＬＳＰの設定時に、他のルータからラベル要求を受け取る。判別手段１１は、そのラベル要求に含まれる情報から新たなフローの経路を求め、既に設定されたＬＳＰの経路を参照して、新たなフローの経路と同じ経路を有するＬＳＰがあるか否かを判別し、判別結果をラベル割当て手段１２に通知する。ラベル割当て手段１２は、受け取った判別結果に基づき、そのようなＬＳＰがあれば、そのＬＳＰと同じラベルを割り当て、そのようなＬＳＰがなければ、新たなラベルを割り当てる。
【００２４】
このようなパス設定装置によれば、距離ベクタ型ルーティングプロトコルを用いた場合でも、同一ルータに収容される複数のネットワーク宛のフローに対して、同じラベルを割り当てることが可能になる。これにより、使用ラベル数が減少し、ネットワークの転送能力が向上する。
【００２５】
例えば、図１の判別手段１１およびラベル割当て手段１２は、それぞれ、後述する図３の同一経路判別処理部２８およびラベル管理部２３に対応する。
【００２６】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
本実施形態においては、距離ベクタ型ルーティングプロトコルを用いるラベルスイッチングネットワークにおいて、同一経路となる複数のＦＥＣに対して同一ラベルを割り当てる。これにより、使用ラベル数が減少し、ネットワークの転送能力が向上する。
【００２７】
図２は、ＬＳＲにおいて、ＭＰＬＳと距離ベクタ型ルーティングプロトコルとを連携させた場合のラベル制御を示している。ＭＰＬＳ処理部２１は、ラベル管理部２３にラベルの割当て／解放を要求し、ラベル管理部２３は、要求された処理の結果をＭＰＬＳ処理部２１に通知する。また、ＭＰＬＳ処理部２１は、スイッチ設定部２２にＬＳＰの設定を依頼し、スイッチ設定部２２は、依頼されたＬＳＰを設定する。ルーティングプロトコル処理部２４は、ルーティング情報をＭＰＬＳ処理部２１に通知する。
【００２８】
図３は、図２のラベル制御において、複数のＦＥＣに対して同一ラベルを割り当てて使用ラベル数を削減するための構成を示している。図３においては、経路学習部２５が追加され、ＭＰＬＳ処理部２１には、ラベル再割当て処理部２６および別ラベル割当て処理部２７が設けられ、ラベル管理部２３には、同一経路判別処理部２８が設けられている。
【００２９】
新たなＦＥＣが追加されるとき、出口ＬＳＲがラベル要求（Label Request ）メッセージを受信すると、ＭＰＬＳ処理部２１は、ラベル管理部２３にラベルの割当てを要求する。ラベル管理部２３は、同一経路判別処理部２８に、同一経路のＬＳＰが存在するかどうかを問い合わせる。
【００３０】
ここで、経路とは、フレームの通り道を意味し、入口ＬＳＲと出口ＬＳＲの間に複数の経路が存在する場合、それぞれの経路上にＬＳＰが存在し得る。このうち、１つの経路上に複数のＬＳＰが存在すれば、それらのＬＳＰは、同一経路のＬＳＰと呼ばれる。これに対して、別の経路上のＬＳＰは、異経路のＬＳＰと呼ばれる。
【００３１】
同一経路判別処理部２８は、既に設定済みのＬＳＰを検索して、その経路とラベル要求メッセージに含まれる経路とを比較し、それらが同一経路かどうかを自動的に判別する。ここで、２つの経路が同一とは、入口ＬＳＲと出口ＬＳＲの組合せ（ペア）が同一であり、かつ、入口ＬＳＲから出口ＬＳＲに至る経路上のＬＳＲが同一であることを意味する。
【００３２】
同一経路のＬＳＰが存在しなければ、ラベル管理部２３は、新たなラベルを割り当て、それをＭＰＬＳ処理部２１に通知する。同一経路のＬＳＰが存在すれば、ラベル管理部２３は、そのＬＳＰと同一のラベルを割り当ててよいかどうかを、経路学習処理部２５に問い合わせる。
【００３３】
経路学習処理部２５は、同一ラベル割当て不可の経路を自動的に学習し、問い合わされた経路が同一ラベル割当て可であるかどうかを回答する。経路学習処理部２５からの回答が同一ラベル割当て可か不可かに応じて、ラベル管理部２３は、同一ラベルまたは別ラベルを割り当て、それをＭＰＬＳ処理部２１に通知する。
【００３４】
ＭＰＬＳ処理部２１は、ラベル管理部２３から通知されたラベルに基づいて、ＬＳＰの設定をスイッチ設定部２２に依頼し、スイッチ設定部２２は、スイッチにＬＳＰを設定する。また、ＭＰＬＳ処理部２１は、ラベルマッピング（Label Mapping ）メッセージによりラベルを他のＬＳＲに通知し、そのメッセージを受信したＬＳＲのスイッチ設定部２２は、通知されたラベルに基づいてＬＳＰを設定する。
【００３５】
このように、同一経路判別処理部２８を設けて、追加されるＦＥＣと同一経路のＬＳＰが存在するかどうかをチェックし、追加されるＦＥＣに、既に存在するＬＳＰと同一のラベルを割り当てることで、複数のＦＥＣに同一ラベルを割り当てることが可能となる。これにより、使用ラベル数が減少する。
【００３６】
また、ＭＰＬＳ処理部２１は、同一ラベルを共有している複数のＦＥＣのうち、ある１つのＦＥＣについてトポロジ変化が発生した場合に、ラベル再割当て処理部２６を用いて、入口ＬＳＲからのラベル割当てを再度やり直す処理を行う。
【００３７】
出口ＬＳＲにおいて、複数のＦＥＣに同一ラベルが割り当てられているときに、トポロジ変化が発生してあるＦＥＣの経路が変化した場合、ラベル再割当て処理部２６は、ラベルとＦＥＣの対応関係を変更する。
【００３８】
そして、ＭＰＬＳ処理部２１は、上流のＬＳＲへラベル取消（Label Withdraw）メッセージを送信して、出口ＬＳＲから入口ＬＳＲまでにおけるそのＦＥＣのすべてのラベルを一旦解放し、入口ＬＳＲに対してＬＳＰ設定をやり直すように促す。これにより、入口ＬＳＲと新たな出口ＬＳＲの間で再度ラベル割当てが行われる。このように、ラベル再割当て処理部２６を設けることにより、ネットワークのトポロジ変化に対応することができ、ＬＳＰ再設定後のラベル共有が可能となる。
【００３９】
また、ＭＰＬＳ処理部２１は、同一ラベル割当て機能をサポートしていないＬＳＲからラベル解放（Label Release ）メッセージを受信した場合、別ラベル割当て処理部２７を用いて、同一経路に関する次回からのラベル要求メッセージに対しては、異なるラベルを割り当てる処理を行う。
【００４０】
出口ＬＳＲにおいて、同一ラベルを割り当てたラベルマッピングメッセージを送信した後に、相手ＬＳＲからラベル解放メッセージを受信した場合、ＭＰＬＳ処理部２１は、その経路上に同一ラベル割当て機能を持たないＬＳＲが存在するものと判断する。そして、別ラベル割当て処理部２７は、経路学習処理部２５にその経路を通知する。
【００４１】
この場合、経路学習処理部２５は、通知された経路を、同一ラベル割当て不可の経路として登録し、ラベル管理部２３からの問合せに対して、登録された経路は同一ラベル割当て不可であると回答する。したがって、その経路に関する次回のラベル要求メッセージに対しては、別ラベルが割り当てられる。このように、別ラベル割当て処理部２７を設けることにより、同一ラベル割当て機能をサポートしないＬＳＲとの間でＬＳＰ設定が可能となる。
【００４２】
さらに、経路学習処理部２５は、同一ラベル割当て機能をサポートしないＬＳＲを自動的に学習することもできる。この場合、経路学習処理部２５は、別ラベル割当て処理部２７から通知された経路をツリー構造の形で保存しておく。そして、ラベル管理部２３からの問合せがあったとき、このツリーを検索することで、問い合わされた経路に同一ラベルを割り当てることができるかどうかをチェックし、結果を通知する。
【００４３】
このとき、経路学習処理部２５は、問い合わされた経路の少なくとも一部がツリーに登録されていれば、同一ラベル割当て不可と回答する。これにより、このような経路については、１回目のラベル要求メッセージから異なるラベルが割り当てられるので、同一ラベル割当ての失敗を未然に防ぐことが可能となる。
【００４４】
図４は、上述したようなＬＳＲの構成図である。図４のＬＳＲは、媒体ドライブ３１、ＣＰＵ（中央処理装置）３２、メモリ３３、回線インタフェース３４、３６、スイッチ３５、検索ＬＳＩ（Large Scale Integration ）３７、および検索テーブルメモリ３８を備える。
【００４５】
回線インタフェース３４は、入力側のネットワークの回線から受信したフレームをスイッチ３５に渡し、回線インタフェース３６は、スイッチ３５から受け取ったフレームを出力側のネットワークの回線上に送信する。
【００４６】
スイッチ３５は、受信フレームのラベル（入ラベル）を検索ＬＳＩ３７に渡し、送信フレーム用のラベル（出ラベル）を問い合わせる。そして、検索ＬＳＩ３７から渡されたラベルを送信フレームに付けて、それを回線インタフェース３６に渡す。
【００４７】
検索テーブルメモリ３８は、入ラベルから出ラベルを検索するためのラベル検索テーブルを保持する。検索ＬＳＩ３７は、ラベル検索テーブルを参照して、スイッチ３５から受け取った入ラベルに対応する出ラベルを決定し、それをスイッチ３５に渡す。
【００４８】
メモリ３３は、例えば、ＲＯＭ（read only memory）、ＲＡＭ（random access memory）等を含み、ＣＰＵ３２が処理に用いるプログラムとデータを格納する。ＣＰＵ３２は、メモリ３３を利用してプログラムを実行することにより、必要な処理を行う。
【００４９】
この場合、図３のＭＰＬＳ処理部２１、スイッチ設定部２２、ラベル管理部２３、ルーティングプロトコル処理部２４、経路学習部２５、ラベル再割当て処理部２６、別ラベル割当て処理部２７、および同一経路判別処理部２８は、プログラムにより記述されたソフトウェアコンポーネントとしてメモリ３３に格納される。また、メモリ３３は、出口（Egress）動作ＬＳＰに対応するラベル等の情報をラベルテーブルとして保持する。出口動作ＬＳＰについては、後述することにする。
【００５０】
媒体ドライブ３１は、可搬記録媒体３９を駆動し、その記録内容にアクセスする。可搬記録媒体３９としては、メモリカード、フロッピーディスク、ＣＤ−ＲＯＭ（compact disk read only memory ）、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。例えば、ユーザまたは管理者は、この可搬記録媒体３９に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ３３にロードして使用する。
【００５１】
次に、図５から図３７までを参照しながら、図３および図４の構成に基づくＬＳＲの動作について、より詳細に説明する。まず、図５から図１１までは、ＭＰＬＳと距離ベクタ型ルーティングプロトコルの連携における同一ラベル割当ての例を示している。
【００５２】
図５のようなネットワーク構成において、最初にネットワークＡへの経路のみが存在し、その後、ネットワークＢへの経路が追加される場合を考える。この場合、ＬＳＲ＃１、ＬＳＲ＃２、およびＬＳＲ＃３は、それぞれ、入口ＬＳＲ、中継ＬＳＲ、および出口ＬＳＲに相当し、ＬＳＲ＃３は、ネットワークＡ、Ｂ、およびＣを収容している。図６は、このときＬＳＲ間でやり取りされるメッセージのシーケンスを示している。
【００５３】
まず、ＬＳＲ＃１は、ネットワークＡ宛のフロー（ＦＥＣ）に対するラベル要求（Label Request ）メッセージを送信する。このラベル要求メッセージには、宛先ネットワークの識別情報Ａと、そのメッセージが通過したＬＳＲのリストを表すパスベクタ（Path Vector TLV ）が含まれている。ＴＬＶ（Type-Length-Value ）は、エンコードされたデータに対応する。
【００５４】
ＬＳＲのリストは、例えば、ＩＰアドレスのようなＬＳＲの識別情報のリストとして記述される。ここでは、ＬＳＲ＃１、ＬＳＲ＃２、およびＬＳＲ＃３の識別情報は、それぞれ、＃１、＃２、および＃３であり、ＬＳＲ＃３が受け取るパスベクタは、＃２−＃１のように記述される。
【００５５】
ラベル要求メッセージを受信したＬＳＲ＃３のＭＰＬＳ処理部２１は、そのメッセージに含まれているＬＳＲのリストを経路情報としてラベル管理部２３に渡し、対応するフローに対してラベルの割当てを要求する。この時点では、ＬＳＲ＃３においてＬＳＰが設定されていないため、メモリ３３のラベルテーブルには、ラベルは登録されていない。
【００５６】
経路情報を受け取ったラベル管理部２３の同一経路判別処理部２８は、受け取ったＬＳＲのリストの先頭にＬＳＲ＃３を付加し、リストの向きを逆にして、経路＃１−＃２−＃３を生成する。次に、ラベルテーブルを検索し、生成された経路と同一経路のＬＳＰが存在しないことを確認する。そして、ラベル管理部２３は、新規にラベル＃ａを割り当てることをＭＰＬＳ処理部２１に通知し、そのラベル＃ａをラベルテーブルに追加する。
【００５７】
ＭＰＬＳ処理部２１は、ＬＳＰの設定をスイッチ設定部２２に依頼し、ラベルマッピング（Label Mapping ）メッセージを、ＬＳＲ＃２を介してＬＳＲ＃１に送信する。このラベルマッピングメッセージには、宛先ネットワークの識別情報Ａと割り当てられたラベル＃ａが含まれている。この時点における各ＬＳＲのラベルテーブルは、図７のようになる。
【００５８】
図７においては、３つのＬＳＲのラベルテーブルがまとめて記載されているが、実際には、各ＬＳＲに対応する行の情報のみがそのＬＳＲのラベルテーブルに格納される。ここでは、ＬＳＲ＃３により設定されたＬＳＰは、ＬＳＲ＃３においてのみ出口動作を行い、ＬＳＲ＃１とＬＳＲ＃２においては出口動作を行わないので、ＬＳＲ＃１とＬＳＲ＃２のラベルテーブルには情報が格納されず、ＬＳＲ＃３のラベルテーブルに、ラベル＃ａと、対応するＬＳＰの経路とＦＥＣが格納される。
【００５９】
ＬＳＲ＃３のラベルテーブルにおいて、経路の欄の“＃１−＃２−＃３”は、ラベル＃ａの経路が、フレームをＬＳＲ＃１、ＬＳＲ＃２、ＬＳＲ＃３の順に転送する経路であることを表す。また、ＦＥＣの欄の“Ａ”は、そのＦＥＣがネットワークＡ宛のフローを指定していることを表す。
【００６０】
また、このとき、各ＬＳＲのスイッチ設定部２２は、検索テーブルメモリ３８に、図８のようなラベル検索テーブルを設定する。これにより、ＬＳＰが設定される。図８においても、３つのＬＳＲのラベル検索テーブルがまとめて記載されているが、実際には、図７と同様に、各ＬＳＲに対応する行の情報のみがそのＬＳＲのラベル検索テーブルに格納される。
【００６１】
ここでは、ＬＳＲ＃１は入口ＬＳＲに対応するので、そのラベル検索テーブルには出ラベルのみが格納される。また、ＬＳＲ＃３は出口ＬＳＲに対応するので、そのラベル検索テーブルには入ラベルのみが格納される。また、ＬＳＲ＃２は中継ＬＳＲに対応するので、そのラベル検索テーブルには入ラベルと出ラベルが格納される。
【００６２】
この場合、ラベル＃ａを用いて設定されたＬＳＰは、入口ＬＳＲ＃１では、入口（Ingress ）動作ＬＳＰと呼ばれ、中継ＬＳＲ＃２では、中継（Transit ）動作ＬＳＰと呼ばれ、出口ＬＳＲ＃３では、出口（Egress）動作ＬＳＰと呼ばれる。
【００６３】
次に、ＬＳＲ＃１は、ネットワークＢへの経路を追加するために、ネットワークＡ宛のフローの場合と同様に、ネットワークＢ宛のフローに対するラベル要求メッセージを送信する。そのメッセージを受信したＬＳＲ＃３のＭＰＬＳ処理部２１は、メッセージに含まれているＬＳＲのリストをラベル管理部２３に渡し、ラベルの割当てを要求する。
【００６４】
次に、同一経路判別処理部２８は、図７のラベルテーブルを検索し、受け取った経路情報と同一経路のＬＳＰが存在すると判断する。そこで、ラベル管理部２３は、経路学習処理部２５に、同一ラベルの割当てが可能かどうかを問い合わせる。
【００６５】
経路学習処理部２５は、同一ラベル割当て機能を持たないＬＳＲが途中に存在するような経路によって構成される同一ラベル割当て不可経路ツリーを保持している。そして、ラベル管理部２３からの問合せに応じてこのツリーを検索し、問い合わされた経路がツリー上に存在しなければ、同一ラベルの割当てが可能であると判断し、その旨をラベル管理部２３に通知する。この検索処理の詳細については、後述することにする。
【００６６】
ラベル管理部２３は、経路学習処理部２５から同一ラベル割当て可という回答を受け取ると、ネットワークＢ宛のフローに対して、ネットワークＡ宛のフローと同一のラベル＃ａを割り当てることを決定する。そして、ＭＰＬＳ処理部２１にそのラベルを通知し、ラベルテーブルを更新する。
【００６７】
また、ＭＰＬＳ処理部２１は、宛先Ｂとラベル＃ａを含むラベルマッピングメッセージを、ＬＳＲ＃２を介してＬＳＲ＃１に送信する。この時点における各ＬＳＲのラベルテーブルは、図９のようになる。
【００６８】
図９において、ＬＳＲ＃１とＬＳＲ＃２のラベルテーブルには変化がなく、ＬＳＲ＃３のラベルテーブルのＦＥＣとして、“Ｂ”が追加されている。これにより、２つの異なるＦＥＣに対して同一ラベルが割り当てられたことになる。また、新たなラベルが割り当てられなかったため、図８のラベル検索テーブルは変化しない。
【００６９】
図１０は、ラベル要求メッセージを受信したＭＰＬＳ処理部２１が行う処理のフローチャートである。ＭＰＬＳ処理部２１は、まず、ラベル管理部２３にラベル割当てを要求し、割り当てられたラベルを受け取る（ステップＳ１）。そして、受け取ったラベルが新たなラベルかどうかをチェックする（ステップＳ２）。
【００７０】
受け取ったラベルが新たなラベルであれば、スイッチ設定部２２にＬＳＰの設定を要求し（ステップＳ３）、ラベルマッピングメッセージを送信して（ステップＳ４）、処理を終了する。また、受け取ったラベルが新たなラベルでなければ、そのままステップＳ４の処理を行って、処理を終了する。
【００７１】
図１１は、図１０のステップＳ１において、ラベル割当て要求を受け取ったラベル管理部２３が行う処理のフローチャートである。まず、ラベル管理部２３の同一経路判別処理部２８は、ラベルテーブルを検索して、ラベル要求メッセージに含まれる経路と同一経路のＬＳＰが存在するかどうかをチェックする（ステップＳ１１）。同一経路のＬＳＰが存在すれば、次に、そのＬＳＰと同一のラベルを割り当ててよいかどうかを、経路学習処理部２５に問い合わせ（ステップＳ１２）、回答をチェックする（ステップＳ１３）。
【００７２】
同一ラベル割当て可であれば、同一ラベルを割り当て（ステップＳ１４）、そのラベルをラベルテーブルに登録する（ステップＳ１５）。そして、登録されたラベルをＭＰＬＳ処理部２１に通知して（ステップＳ１６）、処理を終了する。
【００７３】
ステップＳ１１において、同一経路のＬＳＰが存在しなければ、新たなラベルを割り当て（ステップＳ１７）、ステップＳ１５およびＳ１６の処理を行って、処理を終了する。
【００７４】
次に、図１２から図２２までは、同一ラベル割当て時にトポロジ変化が発生した場合のラベル再割当ての例を示している。
図１２のようなネットワーク構成において、ネットワークＡ宛のフローおよびネットワークＢ宛のフローに対して、既にＬＳＰが設定され、同一ラベルが割当てられているものとする。この場合、ＬＳＲ＃１、ＬＳＲ＃２、およびＬＳＲ＃３は、それぞれ、入口ＬＳＲ、中継ＬＳＲ、および出口ＬＳＲに相当し、ＬＳＲ＃３はネットワークＡおよびＢを収容し、ＬＳＲ＃４はネットワークＢを収容している。
【００７５】
続いて、ＬＳＲ＃３とネットワークＢの間で断線が発生し、ネットワーク構成が変化した場合を考える。図１３は、この例において、ＬＳＲ間でやり取りされるメッセージのシーケンスを示している。
【００７６】
図１３において、断線が発生する時点までのシーケンスは、図６と同様である。この時点における各ＬＳＲのラベルテーブルおよびラベル検索テーブルは、それぞれ、図１４および図１５のようになる。図１４のＬＳＲ＃３のラベルテーブルにおいては、図９と同様に、２つのＦＥＣに対して同一ラベル＃ａが割り当てられている。
【００７７】
ここで、ＬＳＲ＃３が断線の発生を検出し、ルーティングプロトコル処理部２４が経路の変化をＭＰＬＳ処理部２１に通知すると、ＭＰＬＳ処理部２１は、ネットワークＢ宛のフローのラベルを解放するようにラベル管理部２３に要求する。
【００７８】
ラベル管理部２３は、宛先Ｂをキーとして、図１４のラベルテーブルを検索し、対応するラベルを解放する。このとき、複数のＦＥＣがそのラベルのＬＳＰを共有しているので、ラベル＃ａのエントリ自体は削除せずに、そのエントリのＦＥＣの欄からＢだけを削除する。そして、解放したラベル＃ａをＭＰＬＳ処理部２１に通知する。この時点における各ＬＳＲのラベルテーブルは、図１６のようになる。
【００７９】
ＭＰＬＳ処理部２１は、ラベルとＦＥＣの対応関係を管理するために、ラベル−ＦＥＣテーブルをメモリ３３に保持しており、ラベル管理部２３によるラベル割当ての結果に基づいて、このテーブルを更新する。この時点におけるＬＳＲ＃３のラベル−ＦＥＣテーブルは、図１７のようになる。
【００８０】
ここで、ラベル管理部２３からラベル＃ａの解放を通知されると、ＭＰＬＳ処理部２１のラベル再割当て処理部２６は、図１７のラベル−ＦＥＣテーブルを参照して、ラベル＃ａのエントリのＦＥＣの欄からＢを削除する。そして、ＬＳＰを解放する必要がないことを確認する。
【００８１】
次に、ＭＰＬＳ処理部２１は、宛先Ｂとラベル＃ａを含むラベル取消（Label Withdraw）メッセージを送信し、ＬＳＲ＃１に対してＬＳＰの再設定を行うように促す。ラベル取消メッセージを受信したＬＳＲ＃１は、ラベル解放（Label Release ）メッセージを送信する。
【００８２】
次に、ＬＳＲ＃１は、ネットワークＢ宛のフローに対するラベル要求メッセージを送信する。このメッセージを受信したＬＳＲ＃４の同一経路判別処理部２８は、そのメッセージに含まれているＬＳＲのリスト＃３−＃２−＃１の先頭にＬＳＲ＃４を付加し、リストの向きを逆にして、経路＃１−＃２−＃３−＃４を生成する。次に、ラベルテーブルを検索し、その経路と同一経路のＬＳＰが存在しないことを確認する。そして、ラベル管理部２３は、新規にラベル＃ｂを割り当てる。
【００８３】
そして、ＭＰＬＳ処理部２１は、宛先Ｂとラベル＃ｂを含むラベルマッピングメッセージを送信する。これにより、経路＃１−＃２−＃３−＃４上に新たなＬＳＰが確立される。この時点における各ＬＳＲのラベルテーブルおよびラベル検索テーブルは、それぞれ、図１８および図１９のようになる。
【００８４】
図２０は、ルーティングプロトコル処理部２４から経路変更を通知されたＭＰＬＳ処理部２１が行う処理のフローチャートである。ＭＰＬＳ処理部２１は、まず、変更された経路の情報に基づいて、ラベルの解放をラベル管理部２３に要求する（ステップＳ２１）。次に、解放されたラベルに対応する情報をラベル−ＦＥＣテーブルから削除するように、ラベル再割当て処理部２６に要求する（ステップＳ２２）。そして、ラベル取消メッセージを送信して（ステップＳ２３）、処理を終了する。
【００８５】
図２１は、図２０のステップＳ２１において、ＭＰＬＳ処理部２１からラベル解放要求を受け取ったラベル管理部２３が行う処理のフローチャートである。ラベル管理部２３は、まず、ラベルテーブルを検索して（ステップＳ３１）、解放すべきラベルが複数のＦＥＣに割り当てられているかどうかをチェックする（ステップＳ３２）。
【００８６】
そのラベルが複数のＦＥＣに割り当てられていれば、そのラベルのエントリから変更に対応するＦＥＣを削除し（ステップＳ３３）、ラベルをＭＰＬＳ処理部２１に通知して（ステップＳ３４）、処理を終了する。また、そのラベルが単一のＦＥＣに割り当てられていれば、そのラベルのエントリをラベルテーブルから削除し（ステップＳ３５）、ステップＳ３４の処理を行って、処理を終了する。
【００８７】
図２２は、図２０のステップＳ２２において、ＭＰＬＳ処理部２１から削除要求を受け取ったラベル再割当て処理部２６が行う処理のフローチャートである。ラベル再割当て処理部２６は、まず、ラベル−ＦＥＣテーブルを検索して（ステップＳ４１）、解放されたラベルが複数のＦＥＣに割り当てられているかどうかをチェックする（ステップＳ４２）。
【００８８】
そのラベルが単一のＦＥＣに割り当てられていれば、対応するＬＳＰの解放をスイッチ設定部２２に要求し（ステップＳ４３）、そのラベルのエントリをラベル−ＦＥＣテーブルから削除して（ステップＳ４４）、処理を終了する。また、そのラベルが複数のＦＥＣに割り当てられていれば、そのラベルのエントリから変更に対応するＦＥＣを削除して（ステップＳ４５）、処理を終了する。
【００８９】
次に、図２３から図２８までは、経路上に同一ラベル割当て機能を持たないＬＳＲが存在する場合のラベル割当ての例を示している。
図５に示したようなネットワーク構成において、ＬＳＲ＃２が同一ラベル割当て機能を持たない場合を考える。最初にネットワークＡへの経路のみが存在し、既に対応するＬＳＰが設定されているときに、ネットワークＢへの経路が追加されるものとする。図２３は、この例において、ＬＳＲ間でやり取りされるメッセージのシーケンスを示している。
【００９０】
図２３において、ネットワークＡに対するＬＳＰが設定される時点までのシーケンスは、図６と同様である。この時点における各ＬＳＲのラベルテーブルおよびラベル検索テーブルは、それぞれ、図７および図８のようになる。
【００９１】
次に、ネットワークＢ宛のフローに対するラベル要求メッセージを受信すると、ＬＳＲ＃３は、図６の場合と同様に、ネットワークＡ宛のフローと同じラベル＃ａを割り当て、ラベルマッピングメッセージを送信する。この時点における各ＬＳＲのラベルテーブルは、図９のようになる。
【００９２】
しかし、ＬＳＲ＃２は、同一ラベル割当て機能を持たないので、ラベル＃ａの割当てを行うことができず、宛先Ｂを含むラベル解放メッセージをＬＳＲ＃３に送信する。そして、ラベル解放メッセージを受信したＬＳＲ＃３のＭＰＬＳ処理部２１は、ラベル＃ａの経路に対して同一ラベルを割り当てることが不可能と判断し、ラベル管理部２３にラベル解放を要求する。
【００９３】
これを受けて、ラベル管理部２３は、図７のラベルテーブルを検索して、対応するラベル＃ａを解放し、その経路＃１−＃２−＃３をＭＰＬＳ処理部２１に通知する。次に、ＭＰＬＳ処理部２１の別ラベル割当て処理部２７は、その経路を経路学習処理部２５に通知し、経路学習処理部２５は、通知された経路の情報を同一ラベル割当て不可経路ツリーに追加する。
【００９４】
この同一ラベル割当て不可経路ツリーは、それを保持するＬＳＲ（自ノード）をルートとして、同一ラベルを割当てることのできない経路をツリー構造で表したものである。ここでは、ＬＳＲ＃３をルートノードとして、図２４のような同一ラベル割当て不可経路ツリーが生成される。
【００９５】
その後、ＬＳＲ＃３は、ネットワークＢ宛のフローに対して別のラベルＢを割り当て、再度、ラベルマッピングメッセージを送信する。こうして、各ＬＳＲには、図２５のようなラベルテーブルと図２６のようなラベル検索テーブルが設定される。
【００９６】
図２７は、ラベル解放メッセージを受信したＭＰＬＳ処理部２１が行う処理のフローチャートである。ＭＰＬＳ処理部２１は、まず、ラベル解放メッセージに基づいて、ラベルの解放をラベル管理部２３に要求する（ステップＳ５１）。次に、解放されたラベルに対応する情報をラベル−ＦＥＣテーブルから削除するように、ラベル再割当て処理部２６に要求する（ステップＳ５２）。
【００９７】
そして、同一ラベル割当て不可経路の通知を別ラベル割当て処理部２７に要求して（ステップＳ５３）、処理を終了する。ステップＳ５１におけるラベル管理部２３の処理は、図２１と同様であり、ステップＳ５２におけるラベル再割当て処理部２６の処理は、図２２と同様である。
【００９８】
図２８は、図２７のステップＳ５３において、ＭＰＬＳ処理部２１から経路通知要求を受け取った別ラベル割当て処理部２７が行う処理のフローチャートである。別ラベル割当て処理部２７は、ラベル管理部２３から通知された経路を登録するように、経路学習部２５に要求して（ステップＳ６１）、処理を終了する。これを受けて、経路学習部２５は、その経路を同一ラベル割当て不可経路ツリーに登録する。
【００９９】
次に、図２９から図３１までは、経路上に同一ラベル割当て機能を持たないＬＳＲが存在することを経路学習部２５が学習済みである場合のラベル割当ての例を示している。
【０１００】
図５のネットワーク構成において、図２３のメッセージのシーケンスにより、既にネットワークＡ宛のフローおよびネットワークＢ宛のフローに対するＬＳＲ＃１からのＬＳＰが設定されており、経路＃１−＃２−＃３上に同一ラベル割当て機能を持たないＬＳＲが存在することを学習しているものとする。そして、ネットワークＣへの経路が新たに追加される場合を考える。図２９は、この例において、ＬＳＲ間でやり取りされるメッセージのシーケンスを示している。
【０１０１】
ＬＳＲ＃３のＭＰＬＳ処理部２１は、ネットワークＣ宛のフローに対するラベル要求メッセージを受信し、ラベル管理部２３にラベル割当てを要求する。ラベル管理部２３は、同一経路判別処理部２８による検索の結果、ラベル要求メッセージの経路＃１−＃２−＃３と同一経路のＬＳＰが存在することを認識し、経路学習処理部２５に同一ラベルを割当ててよいかどうかを問い合わせる。
【０１０２】
経路学習処理部２５は、図２４の同一ラベル割当て不可経路ツリーを保持しており、このツリーをルートから順に検索して、経路＃１−＃２−＃３が登録されていることを認識する。そして、同一ラベル割当て不可であることをラベル管理部２３に通知する。
【０１０３】
その結果、ラベル管理部２３は、新規にラベル＃ｃを割り当てて、ＭＰＬＳ処理部２１へ通知し、ラベルテーブルを更新する。ＭＰＬＳ処理部２１は、ＬＳＰの設定をスイッチ設定部２２に依頼し、宛先Ｃとラベル＃ｃを含むラベルマッピングメッセージを送信する。こうして、各ＬＳＲには、図３０のようなラベルテーブルと図３１のようなラベル検索テーブルが設定される。
【０１０４】
次に、図３２から図３７までは、経路学習処理部２５による同一ラベル割当て不可経路ツリーの登録／検索処理の例を示している。
図３２のようなネットワーク構成において、ＬＳＲ＃３が同一ラベル割当て機能を持たない場合を考える。まず、ＬＳＲ＃２からネットワークＡ宛のフローに対するＬＳＰを設定するときに、同一ラベルが割り当てられなかったとすると、ＬＳＲ＃４の同一ラベル割当て不可経路ツリーは、図３３のようになる。図３３では、ＬＳＲ＃４がルートノードに対応する。
【０１０５】
次に、ＬＳＲ＃１−ＬＳＲ＃２−ＬＳＲ＃３−ＬＳＲ＃４間にＬＳＰを設定するとき、ラベル要求メッセージのパスベクタに基づいて、図３３の同一ラベル割当て不可経路ツリーを検索すると、経路＃２−＃３−＃４がツリーにヒットする。この場合、ＬＳＰを設定しようとしている経路と同一ラベル割当て不可経路ツリーの経路は完全には一致しないが、後者は前者の部分集合になっている。このような場合にも、経路学習処理部２５は、同一ラベル割当て不可と判断する。
【０１０６】
続いて、ＬＳＲ＃５−ＬＳＲ＃３−ＬＳＲ＃４間にＬＳＰを設定するとき、その経路のうち＃３−＃４の部分は、同一ラベル割当て不可経路ツリーの経路と一致する。しかし、ＬＳＲ＃３は末端ノードではなく、子ノードＬＳＲ＃２を持っているため、経路学習処理部２５は、経路＃５−＃３−＃４がツリーにヒットしたとはみなさず、同一ラベル割当て可と判断する。
【０１０７】
ここで、ＬＳＲ＃４はラベルマッピングメッセージを送信するが、ＬＳＲ＃３は同一ラベルを割り当てることができないため、ラベル解放メッセージを送信する。ラベル解放メッセージを受信したＬＳＲ＃４の別ラベル割当て処理部２７は、経路＃５−＃３−＃４を同一ラベル割当て不可経路ツリーに登録するように、経路学習処理部２５に要求する。この時点で、同一ラベル割当て不可経路ツリーは、図３４のようになる。
【０１０８】
最後に、ＬＳＲ＃３−ＬＳＲ＃４間にＬＳＰを設定するとき、図３４の同一ラベル割当て不可経路ツリーが検索され、ＬＳＲ＃３まで辿ったところで、＃３−＃４の部分と一致する。しかし、ＬＳＲ＃３には２つの子ノードが存在するので、経路＃３−＃４が同一ラベル割当て不可と断定することはできない。そこで、経路学習処理部２５は、同一ラベル割当て可と判断する。
【０１０９】
ここで、ＬＳＲ＃４はラベルマッピングメッセージを送信するが、ＬＳＲ＃３は同一ラベルを割り当てることができないため、再び、ラベル解放メッセージを送信する。そして、ＬＳＲ＃４の別ラベル割当て処理部２７は、経路＃３−＃４を同一ラベル割当て不可経路ツリーに登録するように、経路学習処理部２５に要求する。
【０１１０】
このとき、経路学習処理部２５は、既に経路＃３−＃４がツリー上に存在することを知って、ＬＳＲ＃３の子ノードをすべて削除する。この時点で、同一ラベル割当て不可経路ツリーは、図３５のようになる。
【０１１１】
図３６は、図１１のステップＳ１２において、ラベル管理部２３から問合せを受けた経路学習処理部２５による同一ラベル割当て不可経路ツリーの検索処理のフローチャートである。経路学習処理部２５は、まず、ツリーのルートノードをツリーポインタで指し（ステップＳ７１）、問い合わされた経路に対応するラベル要求メッセージのパスベクタを検索リストとして用いて、ツリーポインタで指されたノードが、検索リストの先頭と一致する子ノードを持っているかどうかをチェックする（ステップＳ７２）。
【０１１２】
ツリーポインタで指されたノードがそのような子ノードを持っていれば、検索リストの先頭のＬＳＲを削除し（ステップＳ７３）、一致した子ノードにツリーポインタを移動する（ステップＳ７４）。そして、検索リストが残っているかどうかをチェックし（ステップＳ７５）。検索リストが残っていれば、ステップＳ７２以降の処理を繰り返す。
【０１１３】
ステップＳ７２において、ツリーポインタで指されたノードが、検索リストの先頭と一致する子ノードを持っていなければ、次に、そのノードが末端ノードかどうかをチェックする（ステップＳ７６）。ここでは、子ノードをまったく持たないノードが末端ノードとみなされる。
【０１１４】
そして、ツリーポインタで指されたノードが末端ノードであれば、問い合わされた経路はツリーに登録されているため、同一ラベル割当て不可と判断して（ステップＳ７７）、処理を終了する。また、ツリーポインタで指されたノードが末端ノードでなければ、問い合わされた経路はツリーに登録されていないので、同一ラベル割当て可と判断して（ステップＳ７８）、処理を終了する。ステップＳ７４において、検索リストが残っていなければ、ステップＳ７６以降の処理を行う。
【０１１５】
例えば、図３３の同一ラベル割当て不可経路ツリーが保持されているときに、経路＃１−＃２−＃３−＃４に関する問合せがあったとき、経路学習処理部２５は、対応するパスベクタ＃３−＃２−＃１を検索リストとして用いて、ツリーを検索する。
【０１１６】
まず、ツリーポインタがルートノード＃４を指しているとき、このノードは、検索リストの先頭のデータ＃３を子ノードとして持っているので、検索リストからデータ＃３が削除され、検索リストは＃２−＃１のようになる。また、ツリーポインタは子ノード＃３に移動する。
【０１１７】
次に、ノード＃３は、検索リストの先頭のデータ＃２を子ノードとして持っているので、検索リストからデータ＃２が削除され、検索リストは＃１のようになる。また、ツリーポインタは子ノード＃２に移動する。そして、ノード＃２は末端ノードであるので、同一ラベル割当て不可と判断される。
【０１１８】
図３７は、図２８のステップＳ６１において、経路登録要求を受け取った経路学習処理部２５による同一ラベル割当て不可経路ツリーの登録処理のフローチャートである。経路学習処理部２５は、まず、ツリーのルートノードをツリーポインタで指し（ステップＳ８１）、通知された経路に対応するラベル要求メッセージのパスベクタを登録リストとして用いて、ツリーポインタで指されたノードが、登録リストの先頭と一致する子ノードを持っているかどうかをチェックする（ステップＳ８２）。
【０１１９】
ツリーポインタで指されたノードがそのような子ノードを持っていれば、登録リストの先頭のＬＳＲを削除し（ステップＳ８３）、一致した子ノードにツリーポインタを移動する（ステップＳ８４）。そして、登録リストが残っているかどうかをチェックし（ステップＳ８５）、登録リストが残っていれば、ステップＳ８２以降の処理を繰り返す。
【０１２０】
ステップＳ８２において、ツリーポインタで指されたノードが、登録リストの先頭と一致する子ノードを持っていなければ、登録リストの先頭を子ノードとして追加し（ステップＳ８６）、ステップＳ８３以降の処理を行う。また、ステップＳ８４において、検索リストが残っていなければ、次に、ツリーポインタで指されたノードが末端ノードかどうかをチェックする（ステップＳ８７）。
【０１２１】
そして、ツリーポインタで指されたノードが末端ノードであれば、そのまま処理を終了する。また、そのノードが末端ノードでなければ、その子ノードをすべて削除して（ステップＳ８８）、処理を終了する。
【０１２２】
例えば、図３４の同一ラベル割当て不可経路ツリーが保持されているときに、経路＃３−＃４の登録要求を受け取ったとき、経路学習処理部２５は、対応するパスベクタ＃３を登録リストとして用いて、ツリーを検索する。
【０１２３】
まず、ツリーポインタがルートノード＃４を指しているとき、このノードは、登録リストの先頭のデータ＃３を子ノードとして持っているので、登録リストからデータ＃３が削除され、登録リストのデータはなくなる。また、ツリーポインタは子ノード＃３に移動する。そして、ノード＃３は末端ノードではないので、その子ノード＃２と＃５が削除され、図３５のようなツリーが残される。
【０１２４】
次に、図３８から図４２までを参照しながら、本発明のＬＳＰ設定と従来のＲＩＰを使用したＬＳＰ設定において、必要となるＬＳＰの数を比較してみる。
まず、入口ＬＳＲと出口ＬＳＲが直接接続されており、出口ＬＳＲがｍ個のネットワークを収容している場合、従来のＲＩＰを使用したＬＳＰ設定では、入口ＬＳＲ−出口ＬＳＲ間に設定されるＬＳＰの数はｍ個である。これに対して、本発明のＬＳＰ設定では、１個で済むので、ＬＳＰの数は１／ｍに削減される。
【０１２５】
次に、より複雑なネットワーク構成におけるＬＳＰの数を比較してみる。図３８は、６台のＬＳＲをスター接続してＭＰＬＳドメインを形成し、その周辺の各ＬＳＲがそれぞれｍ個の非ＭＰＬＳドメイン向けのネットワークを収容しているようなネットワーク構成を示している。ここで、問題をより一般化して、ｎ台のＬＳＲがスター接続された場合を考え、その中心となるＬＳＲ＃１に関して必要となるＬＳＰの数を算出することにする。
【０１２６】
まず、従来のＲＩＰを使用したＬＳＰ設定では、非ＭＰＬＳドメイン向けのネットワーク同士の組合せの数は、m(n-1)Ｃ2 ＝ｍ（ｎ−１）｛ｍ（ｎ−１）−１｝／２である。そのうち、同一ＬＳＲ配下のネットワーク同士の組合せの数は、mＣ2 ×（ｎ−１）＝ｍ（ｍ−１）（ｎ−１）／２である。したがって、ＬＳＲ＃１において非ＭＰＬＳドメイン向けに必要とする中継動作ＬＳＰの数は、次式により算出される。
中継動作ＬＳＰ数
＝［ｍ（ｎ−１）｛ｍ（ｎ−１）−１｝／２］×２
−［ｍ（ｍ−１）（ｎ−１）／２］×２
＝ｍ2 ｎ2 −３ｍ2 ｎ＋２ｍ2                                     （１）
また、非ＭＰＬＳドメイン向けに必要とする入口動作ＬＳＰの数は、次式により算出される。
入口動作ＬＳＰ数
＝ｍ（ｎ−１）                                                  （２）
（１）、（２）式より、非ＭＰＬＳドメイン向けに必要とするＬＳＰの数は、次式のようになる。
ｍ2 （ｎ2 −３ｎ＋２）＋ｍ（ｎ−１）
＝ｍ2 ｎ2 −３ｍ2 ｎ＋ｍｎ＋２ｍ2 −ｍ                          （３）
また、周辺のＬＳＲ＃２，．．．，ＬＳＲ＃ｎからＭＰＬＳドメイン内のネットワークに対するＬＳＰに関しては、ＬＳＲ＃１は出口動作を行うので、必要とするＬＳＰの数は次式により算出される。
出口動作ＬＳＰ数
＝（ｎ−２）×（ｎ−１）
＝ｎ2 −３ｎ＋２                                                （４）
よって、ＬＳＲ＃１が必要とするＬＳＰの総数は、（３）式と（４）式の和で与えられ、次式のようになる。
ｍ2 ｎ2 −３ｍ2 ｎ＋ｍｎ＋２ｍ2 −ｍ＋ｎ2 −３ｎ＋２
＝（ｍ2 ＋１）ｎ2 −（３ｍ2 −ｍ＋３）ｎ＋２ｍ2 −ｍ＋２        （５）
これに対して、本発明のＬＳＰ設定では、ＬＳＲ＃１において、他のＬＳＲとの間で送信用および受信用にそれぞれ１つのＬＳＰを必要とするので、このために必要とするＬＳＰの数は、次式により算出される。
入口動作ＬＳＰ数＋出口動作ＬＳＰ数
＝（ｎ−１）＋（ｎ−１）＝２ｎ−２                              （６）
また、ＬＳＲ＃１以外のＬＳＲ同士の組合せの数は、(n-1)Ｃ2 ＝（ｎ−１）（ｎ−２）／２なので、それらのＬＳＲ間で中継動作を行うために必要となるＬＳＰの数は、次式により算出される。
中継動作ＬＳＰ数
＝［（ｎ−１）（ｎ−２）／２］×２
＝ｎ2 −３ｎ＋２                                                （７）
よって、ＬＳＲ＃１が必要とするＬＳＰの総数は、（６）式と（７）式の和で与えられ、次式のようになる。
２ｎ−２＋ｎ2 −３ｎ＋２
＝ｎ2 −ｎ                                                      （８）
図３９は、ｍ＝５として、ｎ＝１０，２０，３０，４０，５０の場合の従来技術および本発明のＬＳＰ数を算出した結果を示している。従来技術のＬＳＰ数は（５）式により算出され、本発明のＬＳＰ数は（８）式により算出されている。ここで、従来技術のＬＳＰ数／本発明のＬＳＰ数をａとおくと、本発明においては、ＬＳＰ数が１／ａに削減されるため、ラベル検索テーブルの検索時間も同様の比率で短縮される。図３９の結果を折れ線グラフで表すと、図４０のようになる。
【０１２７】
また、図４１は、ｍ＝１０として、ｎ＝１０，２０，３０，４０，５０の場合の従来技術および本発明のＬＳＰ数を算出した結果を示している。図４１の結果を折れ線グラフで表すと、図４２のようになる。
【０１２８】
図４０および図４２から分かるように、より複雑なネットワーク構成においても、本発明のＬＳＰ設定により、必要なＬＳＰの数が大きく削減される。ＬＳＰ数を減らすことにより、使用ラベル数が減少し、ラベル検索テーブルのエントリ数も減少するため、パケット転送時のラベル検索時間が短縮される。その結果、パケット転送処理にかかる負荷を軽減することが可能となる。
【０１２９】
図３の同一経路判別処理部２８によるラベルテーブルの検索と、経路学習処理部２５による同一ラベル割当て不可経路ツリーの検索は、ＬＳＰの設定時にのみ行われるため、これらの検索に要する時間は、パケットの転送時間には影響しない。
【０１３０】
また、本実施形態では、管理対象のＬＳＰの数が少なくなるため、ＬＳＰの保守・管理が容易となり、ネットワーク全体を把握することが容易となる。例えば、図４１において、ＬＳＲ数が１０の場合、必要なＬＳＰ数は、従来技術では７３６２になるのに対して、本発明では９０である。また、設定可能なＬＳＰ数が少ない安価なＬＳＲを使用することができるので、システムの導入コスト削減が可能となる。
【０１３１】
上述の実施形態では、主として、ＩＰ網におけるパケット転送の例について説明したが、本発明は、それ以外の任意のラベルスイッチングネットワークにも適用可能である。
【０１３２】
【発明の効果】
本発明によれば、ラベルスイッチングネットワークにおいて、使用ラベル数が削減され、パケット転送処理の負荷が軽減されるため、ネットワークの転送能力が向上する。したがって、運用時の管理が困難なＯＳＰＦの代わりに、比較的管理が容易な距離ベクタ型ルーティングプロトコルを用いて、実用的なラベルスイッチングネットワークを構築することが可能となる。また、ＬＳＰの保守・管理が容易となり、システムの導入コストが削減される。
【図面の簡単な説明】
【図１】本発明のパス設定装置の原理図である。
【図２】第１のラベル制御を示す図である。
【図３】第２のラベル制御を示す図である。
【図４】ＬＳＲの構成図である。
【図５】第１のネットワーク構成を示す図である。
【図６】第１のメッセージシーケンスを示す図である。
【図７】第１のラベルテーブルを示す図である。
【図８】第１のラベル検索テーブルを示す図である。
【図９】第２のラベルテーブルを示す図である。
【図１０】ＭＰＬＳ処理部による第１の処理のフローチャートである。
【図１１】ラベル管理部による第１の処理のフローチャートである。
【図１２】第２のネットワーク構成を示す図である。
【図１３】第２のメッセージシーケンスを示す図である。
【図１４】第３のラベルテーブルを示す図である。
【図１５】第２のラベル検索テーブルを示す図である。
【図１６】第４のラベルテーブルを示す図である。
【図１７】ラベル−ＦＥＣテーブルを示す図である。
【図１８】第５のラベルテーブルを示す図である。
【図１９】第３のラベル検索テーブルを示す図である。
【図２０】ＭＰＬＳ処理部による第２の処理のフローチャートである。
【図２１】ラベル管理部による第２の処理のフローチャートである。
【図２２】ラベル再割当て処理部の処理のフローチャートである。
【図２３】第３のメッセージシーケンスを示す図である。
【図２４】第１の同一ラベル割当て不可経路ツリーを示す図である。
【図２５】第７のラベルテーブルを示す図である。
【図２６】第５のラベル検索テーブルを示す図である。
【図２７】ＭＰＬＳ処理部による第３の処理のフローチャートである。
【図２８】別ラベル割当て処理部の処理のフローチャートである。
【図２９】第４のメッセージシーケンスを示す図である。
【図３０】第８のラベルテーブルを示す図である。
【図３１】第６のラベル検索テーブルを示す図である。
【図３２】第３のネットワーク構成を示す図である。
【図３３】第２の同一ラベル割当て不可経路ツリーを示す図である。
【図３４】第３の同一ラベル割当て不可経路ツリーを示す図である。
【図３５】第４の同一ラベル割当て不可経路ツリーを示す図である。
【図３６】検索処理のフローチャートである。
【図３７】登録処理のフローチャートである。
【図３８】第４のネットワーク構成を示す図である。
【図３９】第１のＬＳＰ数を示す図である。
【図４０】第１のグラフを示す図である。
【図４１】第２のＬＳＰ数を示す図である。
【図４２】第２のグラフを示す図である。
【図４３】従来のＩＰパケット転送を示す図である。
【図４４】ＭＰＬＳによるＩＰパケット転送を示す図である。
【図４５】ネットワークとコストを示す図である。
【図４６】最短パスツリーを示す図である。
【図４７】ルーティングテーブルを示す図である。
【符号の説明】
１、２、３、４  ＩＰパケット
１１  判別手段
１２  ラベル割当て手段
２１  ＭＰＬＳ処理部
２２  スイッチ設定部
２３  ラベル管理部
２４  ルーティングプロトコル処理部
２５  経路学習処理部
２６  ラベル再割当て処理部
２７  別ラベル割当て処理部
２８  同一経路判別処理部
３１  媒体ドライブ
３２  ＣＰＵ
３３  メモリ
３４、３６  回線インタフェース
３５  スイッチ
３７  検索ＬＳＩ
３８  検索テーブルメモリ
３９  記録媒体
//
【図１】
0004388667.tif 000002
【図２】
0004388667.tif 000003
【図３】
0004388667.tif 000004
【図４】
0004388667.tif 000005
【図５】
0004388667.tif 000006
【図６】
0004388667.tif 000007
【図７】
0004388667.tif 000008
【図８】
0004388667.tif 000009
【図９】
0004388667.tif 000010
【図１０】
0004388667.tif 000011
【図１１】
0004388667.tif 000012
【図１２】
0004388667.tif 000013
【図１３】
0004388667.tif 000014
【図１４】
0004388667.tif 000015
【図１５】
0004388667.tif 000016
【図１６】
0004388667.tif 000017
【図１７】
0004388667.tif 000018
【図１８】
0004388667.tif 000019
【図１９】
0004388667.tif 000020
【図２０】
0004388667.tif 000021
【図２１】
0004388667.tif 000022
【図２２】
0004388667.tif 000023
【図２３】
0004388667.tif 000024
【図２４】
0004388667.tif 000025
【図２５】
0004388667.tif 000026
【図２６】
0004388667.tif 000027
【図２７】
0004388667.tif 000028
【図２８】
0004388667.tif 000029
【図２９】
0004388667.tif 000030
【図３０】
0004388667.tif 000031
【図３１】
0004388667.tif 000032
【図３２】
0004388667.tif 000033
【図３３】
0004388667.tif 000034
【図３４】
0004388667.tif 000035
【図３５】
0004388667.tif 000036
【図３６】
0004388667.tif 000037
【図３７】
0004388667.tif 000038
【図３８】
0004388667.tif 000039
【図３９】
0004388667.tif 000040
【図４０】
0004388667.tif 000041
【図４１】
0004388667.tif 000042
【図４２】
0004388667.tif 000043
【図４３】
0004388667.tif 000044
【図４４】
0004388667.tif 000045
【図４５】
0004388667.tif 000046
【図４６】
0004388667.tif 000047
【図４７】
0004388667.tif 000048