(57)【要約】【課題】ＭＰＬＳの多数のパスを設定する場合にルータのＣＰＵの負荷の軽減とパス設定時間の短縮を図る。ルータに搭載するメモリ量を削減する。【解決手段】ルーティングプロトコルを拡張し、ルーティングプロトコルを用いてＭＰＬＳのラベル付きパケットを転送するために用いるＭＰＬＳ転送表の作成に必要な情報を広告させ、ルーティングプロトコルが広告する情報を元にＭＰＬＳ転送表の作成を行う。【選択図】  図１
2004193644.tif 000002
【特許請求の範囲】
【請求項１】
ＭＰＬＳ（Ｍｕｌｔｉ  Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）ネットワークに設置されたルータにおいて、
ルーティングプロトコルにおける広告情報にＭＰＬＳのパスにおける各ホップでのラベル値の決定に用いる情報を付加する手段を備えたことを特徴とするルータ。
【請求項２】
前記付加する手段は、隣接ルータを判別可能な情報とその隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する手段を備えた請求項１記載のルータ。
【請求項３】
前記付加する手段は、隣接ルータを判別可能な情報とネットワーク内で自ルータを識別可能な情報と隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する手段を備えた請求項１記載のルータ。
【請求項４】
自他の広告情報に基づき宛先アドレスとＭＰＬＳラベルとの対応関係を記録したＭＰＬＳ転送表を作成する手段を備えた請求項２または３記載のルータ。
【請求項５】
前記ＭＰＬＳラベルには、前記ポートを識別可能な情報を含む請求項２または４記載のルータ。
【請求項６】
前記ＭＰＬＳラベルには、ネットワーク内でルータを識別可能な情報と前記ポートを識別可能な情報とを含む請求項３または４記載のルータ。
【請求項７】
前記ＭＰＬＳ転送表を参照してＭＰＬＳパスの起点から終点までの各ホップにおけるラベル値を選択する手段と、
当該起点から転送されるパケットに当該各ホップにおけるラベル値を多段にスタックさせる手段と、
当該パケットを受け取り多段にスタックされた前記ラベル値の最上位にあるラベル値で宛先方路を決定しこのラベル値を削除した上で次ホップ先のルータに当該パケットを転送する手段と
を備えた請求項１ないし６のいずれかに記載のルータ。
【請求項８】
ルーティングプロトコルによりパス設定に必要な情報を広告するのに先立って自ルータが前記ＭＰＬＳ転送表を作成する手段を有することを広告する手段を備え、
当該広告により前記ＭＰＬＳ転送表を作成する手段を有することを確認したルータに対するルーティングプロトコルにおける広告情報に前記付加する手段によりＭＰＬＳのパスにおける各ホップでのラベル値の決定に用いる情報を付加する手段を備えた請求項１または４記載のルータ。
【請求項９】
ＭＰＬＳパスの起点から終点までの間に２経路以上のパスが存在するときには、
前記ＭＰＬＳ転送表を作成する手段は、自他の広告情報に基づき１つの宛先アドレスに対応する複数のＭＰＬＳラベルの対応関係を記録したＭＰＬＳ転送表を作成する手段を備え、
当該複数のＭＰＬＳラベルの内のいずれかを現用とし他を予備として障害発生に応じて切り替える手段を備えた
請求項４記載のルータ。
【請求項１０】
ＭＰＬＳ（Ｍｕｌｔｉ  Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）ネットワークにおけるパス設定方法において、
ルーティングプロトコルにおける広告情報にＭＰＬＳのパスにおける各ホップでのラベル値の決定に用いる情報を付加することを特徴とするパス設定方法。
【請求項１１】
隣接ルータを判別可能な情報とその隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する請求項１０記載のパス設定方法。
【請求項１２】
隣接ルータを判別可能な情報とネットワーク内で自ルータを識別可能な情報と隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する請求項１０記載のパス設定方法。
【請求項１３】
自他の広告情報に基づき宛先アドレスとＭＰＬＳラベルとの対応関係を記録したＭＰＬＳ転送表を作成する請求項１１または１２記載のパス設定方法。
【請求項１４】
前記ＭＰＬＳラベルには、前記ポートを識別可能な情報を含む請求項１１または１３記載のパス設定方法。
【請求項１５】
前記ＭＰＬＳラベルには、ネットワーク内でルータを識別可能な情報と前記ポートを識別可能な情報とを含む請求項１２または１３記載のパス設定方法。
【請求項１６】
前記ＭＰＬＳ転送表を参照してＭＰＬＳパスの起点から終点までの各ホップにおけるラベル値を選択し、
当該起点から転送されるパケットに当該各ホップにおけるラベル値を多段にスタックさせ、
当該パケットを受け取り多段にスタックされた前記ラベル値の最上位にあるラベル値で宛先方路を決定しこのラベル値を削除した上で次ホップ先のルータに当該パケットを転送する
請求項１０ないし１５のいずれかに記載のパス設定方法。
【請求項１７】
ルーティングプロトコルによりパス設定に必要な情報を広告するのに先立って自ルータが前記ＭＰＬＳ転送表を作成する能力を有することを広告し、
当該広告により前記ＭＰＬＳ転送表を作成する能力を有することを確認したルータに対するルーティングプロトコルにおける広告情報にＭＰＬＳのパスにおける各ホップでのラベル値の決定に用いる情報を付加する
請求項１０または１３記載のパス設定方法。
【請求項１８】
ＭＰＬＳパスの起点から終点までの間に２経路以上のパスが存在するときには、
自他の広告情報に基づき１つの宛先アドレスに対応する複数のＭＰＬＳラベルの対応関係を記録したＭＰＬＳ転送表を作成し、
当該複数のＭＰＬＳラベルの内のいずれかを現用とし他を予備として障害発生に応じて切り替える
請求項１３記載のパス設定方法。
【請求項１９】
請求項１ないし９のいずれかに記載のルータを備えたことを特徴とするＭＰＬＳネットワーク。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信網に収容されるパスまたはコネクションの設定を行う方法および装置に関する。本発明は、パケットに固定長のラベルを付与してパケットの転送方路を決定することにより通信網内のパケット転送を実現するＭＰＬＳ（ＭｕｌｔｉＰｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）ネットワークに利用する。
【０００２】
【従来の技術】
近年、インターネットやＬＡＮの急速な普及から、ＩＰトラヒックを含めたデータトラヒックが指数関数的に増加している。トラヒックの増加に対応するため、バックボーンネットワークにおける高速なＩＰパケットの転送と高度なサービスを提供するメカニズムが求められている。このような要求に対応するため、これまでにＭＰＬＳが提案されている。
【０００３】
ＭＰＬＳは、転送するパケットに固定長のラベルを付与し、このラベルをもとに通信網内の各ノードでは転送する方路を決定する。このＭＰＬＳをＩＰバックボーンネットワークに導入することにより高速なＩＰ転送と高度なＴｒａｆｆｉｃ  Ｅｎｇｉｎｅｅｒｉｎｇが可能となる。
ＭＰＬＳネットワークにおいてパケットを転送するためには事前にパス設定を行う必要があるが、これを行うためにはルーティングプロトコルでネットワークのトポロジ情報を収集し、ＣＲ−ＬＤＰやＲＳＶＰ−ＴＥ等のＭＰＬＳシグナリングプロトコルによってＭＰＬＳのパスを設定する（例えば、非特許文献１、２、３参照）。
【０００４】
【非特許文献１】
宮村  崇、栗本  崇、青木  道宏，“Ａ  Ｓｃａｌａｂｌｅ  Ｍｕｌｔｉｐａｔｈ  Ａｌｇｏｒｉｔｈｕｍ  ｉｎ  Ｈｉｅｒａｃｈｉｃａｌ  ＭＰＬＳ  Ｎｅｔｗｏｒｋｓ”，Ｐｒｏｃ．ｏｆ  ＷＴＣ／ＩＳＳ２００２．
【非特許文献２】
Ｒ．Ｃｏｌｔｕｎ，“Ｔｈｅ  ＯＳＰＦ  Ｏｐａｑｕｅ  ＬＳＡ  Ｏｐｔｉｏｎ”，ＩＥＴＦ  ＲＦＣ２３７０．
【非特許文献３】
Ｂ．Ｓ．Ｄａｖｉｅ  ａｎｄ  Ｙ．Ｒｅｋｈｔｅｒ，“ＭＰＬＳ：Ｔｅｃｈｎｏｌｏｇｙ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ”，Ｍｏｒｇａｎ  Ｋａｕｆｍａｎｎ  Ｐｕｂｌｉｓｈｅｒ，２００２．
【０００５】
【発明が解決しようとする課題】
通常、各リンクで使用するＭＰＬＳラベルの値はそのリンクで固有の値であれば基本的に制限がなく、対向するルータ同士でシグナリングプロトコルを用いて決定する。
【０００６】
図１２は従来例を説明するためのネットワークの構成例を示す図であるが、例えば、図１２のようにＭＰＬＳを用いてルータ１がルータ３、ルータ４にパケットを送信するケースを考える。ルータ２はルータ１から受信したパケットの宛先がルータ３かルータ４か、ラベルを見て判断する。そのため、ルータ１とルータ２の間であらかじめ、各ラベルの値と送信先をシグナリングプロトコル等を用いて決定する必要があり、ＭＰＬＳではパス設定するためにはシグナリングは不可欠である。
【０００７】
しかし、多数のパスを収容する大規模なＭＰＬＳネットワークでは、パスを設定する際にシグナリングメッセージが大量に発生するため、ルータのＣＰＵ負荷が増大し、パス設定時間が増大するという問題点がある。
【０００８】
また、ルータのＣＰＵ資源の大半をシグナリングプロトコルが消費するため、他のプロトコルや装置管理等の処理ができなくなるという問題点が存在する。
【０００９】
また、ルーティングプロトコルとシグナリングプロトコルを常時動作させる必要があるため、必要とするＣＰＵの処理能力やメモリ量が大きい点も問題である。
【００１０】
本発明は、このような背景に行われたものであって、シグナリングプロトコルを用いることなくＭＰＬＳのパス設定が可能となるため、多数のパスを設定するような場合にルータのＣＰＵの負荷の軽減とパス設定時間の短縮が図れ、また、各ルータにシグナリングプロトコルを実装する必要がないため、ルータに搭載するメモリ量を削減することができるルータおよびパス設定方法およびネットワークを提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明では、ルーティングプロトコルを拡張し、ルーティングプロトコルを用いてＭＰＬＳのラベル付きパケットを転送するために用いるＭＰＬＳ転送表の作成に必要な情報を広告させ、ルーティングプロトコルが広告する情報を元にＭＰＬＳ転送表の作成を行うことを特徴とする。
【００１２】
すなわち、本発明の第一の観点は、ＭＰＬＳネットワークに設置されたルータであって、本発明の特徴とするところは、ルーティングプロトコルにおける広告情報にＭＰＬＳのパスにおける各ホップでのラベル値の決定に用いる情報を付加する手段を備えたところにある。
【００１３】
前記付加する手段は、隣接ルータを判別可能な情報とその隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する手段を備えたり、あるいは、前記付加する手段は、隣接ルータを判別可能な情報とネットワーク内で自ルータを識別可能な情報と隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する手段を備えることが望ましい。
【００１４】
自他の広告情報に基づき宛先アドレスとＭＰＬＳラベルとの対応関係を記録したＭＰＬＳ転送表を作成する手段を備えることが望ましい。
【００１５】
前記ＭＰＬＳラベルの一例として、前記ポートを識別可能な情報を含むことにより、例えば、目的の宛先アドレスに到達するために通過するルータのポート番号を認識することができる。あるいは、前記ＭＰＬＳラベルの一例として、ネットワーク内でルータを識別可能な情報と前記ポートを識別可能な情報とを含むことにより、例えば、目的の宛先アドレスに到達するために通過するルータおよび当該ルータのポート番号を認識することができる。
【００１６】
前者の例では、宛先アドレスとそこに行くためのポート番号が認識できるので、とりあえず、ＭＰＬＳパスを設定することができる。後者の例では、宛先アドレスとそこに行くためのポート番号に加えてルータが認識できるので、ラベル付きパケットが誤ったルータに誤配された場合にはこれを検出することができる。
【００１７】
例えば、前記ＭＰＬＳ転送表を参照してＭＰＬＳパスの起点から終点までの各ホップにおけるラベル値を選択する手段と、当該起点から転送されるパケットに当該各ホップにおけるラベル値を多段にスタックさせる手段と、当該パケットを受け取り多段にスタックされた前記ラベル値の最上位にあるラベル値で宛先方路を決定しこのラベル値を削除した上で次ホップ先のルータに当該パケットを転送する手段とを備えることにより、ＭＰＬＳによるパケット転送を実現することができる。
【００１８】
また、ルーティングプロトコルによりパス設定に必要な情報を広告するのに先立って自ルータが前記ＭＰＬＳ転送表を作成する手段を有することを広告する手段を備え、当該広告により前記ＭＰＬＳ転送表を作成する手段を有することを確認したルータに対するルーティングプロトコルにおける広告情報に前記付加する手段によりＭＰＬＳのパスにおける各ホップでのラベル値の決定に用いる情報を付加する手段を備えれば、ＭＰＬＳによるパケット転送が可能な能力を持つルータと持たないルータとを区別し、無効となる広告情報を無くすことができるため、効率の良い広告を行うことができる。
【００１９】
また、ＭＰＬＳパスの起点から終点までの間に２経路以上のパスが存在するときには、前記ＭＰＬＳ転送表を作成する手段は、自他の広告情報に基づき１つの宛先アドレスに対応する複数のＭＰＬＳラベルの対応関係を記録したＭＰＬＳ転送表を作成する手段を備え、当該複数のＭＰＬＳラベルの内のいずれかを現用とし他を予備として障害発生に応じて切り替える手段を備えれば、障害箇所を迂回する経路によりパケット転送が行えるため、信頼性の高いＭＰＬＳネットワークを実現することができる。
【００２０】
本発明の第二の観点は、ＭＰＬＳネットワークにおけるパス設定方法であって、本発明の特徴とするところは、ルーティングプロトコルにおける広告情報にＭＰＬＳのパスにおける各ホップでのラベル値の決定に用いる情報を付加するところにある。
【００２１】
例えば、隣接ルータを判別可能な情報とその隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する、あるいは、隣接ルータを判別可能な情報とネットワーク内で自ルータを識別可能な情報と隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する。
【００２２】
自他の広告情報に基づき宛先アドレスとＭＰＬＳラベルとの対応関係を記録したＭＰＬＳ転送表を作成することが望ましい。
【００２３】
このとき、例えば、前記ＭＰＬＳラベルには、前記ポートを識別可能な情報を含む、あるいは、前記ＭＰＬＳラベルには、ネットワーク内でルータを識別可能な情報と前記ポートを識別可能な情報とを含む。
【００２４】
前記ＭＰＬＳ転送表を参照してＭＰＬＳパスの起点から終点までの各ホップにおけるラベル値を選択し、当該起点から転送されるパケットに当該各ホップにおけるラベル値を多段にスタックさせ、当該パケットを受け取り多段にスタックされた前記ラベル値の最上位にあるラベル値で宛先方路を決定しこのラベル値を削除した上で次ホップ先のルータに当該パケットを転送すれば、ＭＰＬＳによるパケット転送を実現することができる。
【００２５】
また、ルーティングプロトコルによりパス設定に必要な情報を広告するのに先立って自ルータが前記ＭＰＬＳ転送表を作成する能力を有することを広告し、当該広告により前記ＭＰＬＳ転送表を作成する能力を有することを確認したルーティングに対するルーティングプロトコルにおける広告情報にＭＰＬＳのパスにおける各ホップでのラベル値の決定に用いる情報を付加することにすれば、無効となる広告を無くすことができ、効率の良い広告を行うことができる。
【００２６】
また、ＭＰＬＳパスの起点から終点までの間に２経路以上のパスが存在するときには、自他の広告情報に基づき１つの宛先アドレスに対応する複数のＭＰＬＳラベルの対応関係を記録したＭＰＬＳ転送表を作成し、当該複数のＭＰＬＳラベルの内のいずれかを現用とし他を予備として障害発生に応じて切り替えることにすれば、障害箇所を迂回した経路を速やかに設定でき、信頼性の高いＭＰＬＳネットワークを実現することができる。
【００２７】
本発明の第三の観点は、本発明のルータを備えたことを特徴とするＭＰＬＳネットワークである。
【００２８】
【発明の実施の形態】
本発明実施例のルータを図１、図３、図７、図１１を参照して説明する。図１は本実施例のルータのブロック構成図である。図３、図７、図１１は本実施例のＭＰＬＳ転送表の構成例を示す図である。
【００２９】
本実施例は、ＭＰＬＳネットワークに設置されたルータであって、本実施例の特徴とするところは、図１に示す広告部１１から送出されるルーティングプロトコルにおける広告情報（図１３）にＭＰＬＳのパスにおける各ホップでのラベル値の決定に用いる情報を付加するＭＰＬＳ情報付加部１２を備えたところにある。この広告内容を図２に示す。
【００３０】
ＭＰＬＳ情報付加部１２は、図３に示すように、隣接ルータを判別可能な情報とその隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する。あるいは、図７に示すように、ＭＰＬＳ情報付加部１２は、隣接ルータを判別可能な情報とネットワーク内で自ルータを識別可能な情報と隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する。
【００３１】
すなわち、自他の広告情報に基づき、図３および図７に示すような、宛先アドレスとＭＰＬＳラベルとの対応関係を記録したＭＰＬＳ転送表１４を作成するＭＰＬＳ転送表作成部１３を備える。ＭＰＬＳラベルには、図３に示すように、ポートを識別可能な情報としてのポート番号を含む。あるいは、ＭＰＬＳラベルには、図７に示すように、ネットワーク内でルータを識別可能な情報とポートを識別可能な情報とを含む。
【００３２】
このようなＭＰＬＳ転送表１４を参照してＭＰＬＳパスの起点から終点までの各ホップにおけるラベル値を選択し、当該起点から転送されるパケットに当該各ホップにおけるラベル値を多段にスタックさせるＭＰＬＳパケット生成部１５と、当該パケットを受け取り多段にスタックされた前記ラベル値の最上位にあるラベル値で宛先方路を決定しこのラベル値を削除した上で次ホップ先のルータに当該パケットを転送するＭＰＬＳパケット処理部１６とを備える。
【００３３】
また、ＭＰＬＳ情報付加部１２は、ルーティングプロトコルによりパス設定に必要な情報を広告するのに先立って自ルータがＭＰＬＳ転送表作成部３を有することを広告部１１により広告（これを能力広告という）し、ＭＰＬＳ情報付加部１２は、当該能力広告によりＭＰＬＳ転送表作成部１３を有することを確認したルータに対するルーティングプロトコルにおける広告情報にＭＰＬＳのパスにおける各ホップでのラベル値の決定に用いる情報を付加する。
【００３４】
また、ＭＰＬＳパスの起点から終点までの間に２経路以上のパスが存在するときには、ＭＰＬＳ転送表作成部１３は、自他の広告情報に基づき、図１１に示すように、１つの宛先アドレスに対応する複数のＭＰＬＳラベル（プライマリ、セカンダリ）の対応関係を記録したＭＰＬＳ転送表を作成し、ＭＰＬＳパケット生成部１５は、当該複数のＭＰＬＳラベルの内のいずれかを現用とし他を予備として障害発生に応じて切り替える。
【００３５】
以下では、本実施例をさらに詳細に説明する。
【００３６】
通常のルーティングプロトコルでは、広告部１１は、図１３のように情報を広告するルータのアドレスと自身が接続しているルータのインタフェースのＩＰアドレス（またはルータＩＤ）とそのルータまでのコスト（距離）を含んだ情報を広告する。
【００３７】
本実施例では、図２のように広告部１１が従来広告している情報に加えて、ＭＰＬＳ情報付加部１２により、接続しているルータのポート番号やラインカード番号のようなルータ内部の物理的な情報をＭＰＬＳラベルの値にエンコードして広告する。つまり、各ルータのポート番号やラインカード番号とＭＰＬＳラベルの値を一対一で対応させる。通常のＯＳＰＦと同様に自ルータの接続構成に変化が生じるとこの情報を広告する。
【００３８】
各ルータのＭＰＬＳ転送表作成部１３は、上述の情報を含んだメッセージを受信すると、それを元にＭＰＬＳ転送表１４を作成する。図３はＭＰＬＳ転送表１４の一例である。図３のようにＭＰＬＳ転送表作成部１３はパケットの宛先アドレスと付与すべきラベルが対応付けられた表を作成する。
【００３９】
このＭＰＬＳ転送表１４の作成方法について説明する。ＭＰＬＳ転送表作成部１３は、まず、通常のルーティングプロトコルを用いてネットワーク全体のトポロジを作成し、Ｄｉｊｋｓｔｒａアルゴリズム等の最短経路算出アルゴリズムを用いて宛先までに通過するルータを特定する。次に広告された情報を元に通過するポート番号を求める。
【００４０】
例えば、図４のようなネットワーク構成の場合で、ルータ１が宛先アドレスＡ宛てのＭＰＬＳ転送表１４を作成する例を考える。まず、最短経路算出アルゴリズムを用いて、通過するルータを求める。次に各ルータが広告した情報を元に付与すべきラベルを特定する。この場合に、ルータ１からアドレスＡまでの間にルータ２とルータ３を通過する。ルータ２のポート３番がルータ３と接続しており、ルータ３はポート２番を通してアドレスＡと接続している。ルータ１は宛先アドレスに近いラベル値を順に並べることでＭＰＬＳ転送表１４を作成する。この場合には、ポート３番、ポート２番の順に通過するので、図３のようにアドレスＡに対応するＭＰＬＳ転送表１４内のラベル値は３、２となる。
【００４１】
図５は転送するラベル付きパケットの例である。ルータ１にアドレスＡ宛てのパケットが到着した場合に、ＭＰＬＳパケット生成部１５は、まず、ＭＰＬＳ転送表１４を検索し、付与すべきラベル値が３と２であることを確認し、到着したパケットにラベル値３と２の２つのラベルを多段に付与する。
【００４２】
次に、ルータ１はラベル付きパケットをルータ２に送信する。ラベル付きパケットを受信したルータ２のＭＰＬＳパケット処理部１６は、最も上位にあるラベルの値を元に、出力すべき自ルータのポート番号を求めてから、最上位のラベルを削除（Ｈｏｐ）して、出力先ポートにパケットを送出する。
【００４３】
次に、ルータ３がこのパケットを受信すると、ＭＰＬＳパケット処理部１６は、同様に最上位のラベルから出力先のポート番号を求めて、このラベルを削除した後に、出力先ポートへと出力する。このようにして、ルータ１からアドレスＡが属するネットワークまでパケットが送信される。
【００４４】
ここでは、さらに具体的な実施例として、本発明をＯＳＰＦ、ＩＳ−ＩＳ等のリンク状態型プロトコルを用いて実施した例について記述する。ここでは、特にＯＳＰＦが動作しているネットワークについて記述するが、ＩＳ−ＩＳやＲＩＰ、ＢＧＰ等の他ルーティングプロトコルが動作するネットワークにも本発明は適用可能である。
【００４５】
ネットワーク内の各ルータでは、ＯＳＰＦが動作しており、まず各ルータがリンクにより接続されると、ＯＳＰＦの隣接発見の段階を経て、ＯＳＰＦの隣接関係が確立され、各ルータはネットワークのトポロジを学習し、それを元にＩＰパケットのＩＰ転送表を作成する。
【００４６】
上記の一連の処理が終わると、ＯＳＰＦによるラベル配布が可能な能力を持つルータはＩＥＴＦのＲＦＣ２３７０で規定されているＯｐａｑｕｅＬＳＡを用いて、自ルータがＯＳＰＦを用いてラベル配布可能を能力を持つことを広告部１１により広告する。ここで、使用するＯｐａｑｕｅＬＳＡのＬｉｎｋ−ｓｔａｔｅｔｙｐｅは“９”、つまりリンクローカル・スコープで、隣接ルータのみに広告する。これは広告する範囲を制限することで、ネットワーク内に流通するＯＳＰＦの制御メッセージ量を削減するためである。ただし、小規模ネットワークの場合には、Ｌｉｎｋ−ｓｔａｔｅ  ｔｙｐｅが“１０”のエリアローカル・スコープで自ルータが所属するエリア全体に広告してもよい。
【００４７】
上記プロセスにより、ＭＰＬＳ情報付加部１２は、隣接するルータの中でＯＳＰＦによるラベル配布が可能な能力を持つルータのリストを作成する。次に各ルータのＭＰＬＳ情報付加部１２は、ＭＰＬＳ設定に必要な広告情報を作成する。基本的には、作成したラベル配布能力を持つルータのリスト内に入っているルータと接続しているポート番号に関する情報を広告する。具体的には、自ルータがポートを特定可能なルータ内部でのみ使用する内部識別子等を広告する。内部識別子としては、ＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）のインタフェース番号やスイッチングに用いる内部ヘッダのタグの番号などが利用可能である。最終的に広告する情報を最低限以下のものを含む。
【００４８】
・ラベル配布能力を持つ隣接ルータのルータＩＤもしくはインタフェースのＩ
Ｐアドレス
・接続しているリンクのリンクコスト
・ラベル情報（接続しているポートを特定可能な内部識別子）
ここで、ＭＰＬＳのラベルは２０ｂｉｔであるが、２０ｂｉｔ全てのポートを特定可能な内部識別子のエンコードに使用することも可能であるが、２０ｂｉｔの中の上位数ｂｉｔ（例えば、８ｂｉｔ）でネットワーク内で自ルータを識別可能な情報（以下、ルータ識別子と呼ぶ）をエンコードし、残りのｂｉｔ（例え、１２ｂｉｔ）でポートを特定可能な内部識別子をエンコードしてもよい。ここで、ネットワーク内でルータを識別する情報は、ネットワークの運用者がネットワーク内で固有な値を各ルータにあらかじめ付与しておく。
【００４９】
このようにＭＰＬＳラベル内にルータを判別する情報とポートを識別する情報を併せて入れることにより、何らかの要因でラベル付きパケットが誤配された場合に、誤配先のルータで自ルータとは異なるルータ識別子のコードが付けられていることから誤配先を検出し、該当パケットを廃棄するなどの適切な処理が可能になる。
【００５０】
また、このラベル配布能力を持つ隣接ルータのルータＩＤおよびラベル情報を含んだ広告情報（これを以下、ラベル拡張ＬＳＡと呼ぶ）は、自ルータが所属するＯＳＰＦエリア全体に広告する。通常のＯＳＰＦと同様に自ルータの隣接構成に変化が生じると上述のラベル情報を含めた情報を広告する。
【００５１】
各ルータのＭＰＬＳ転送表作成部１３は、上述の情報を含んだメッセージを受信すると、それを元にＭＰＬＳパケットの転送に必要なＭＰＬＳ転送表１４を作成する。図７は、図６のネットワークにおけるルータ１のＭＰＬＳパケットのＭＰＬＳ転送表１４の一例である。図のようにネットワーク内の各ルータはパケットの宛先アドレスと付与すべきラベルが対応付けられたＭＰＬＳ転送表１４を作成する。
【００５２】
一連のＭＰＬＳ転送表作成までの処理をまとめたものが図８の処理フローである。すなわち、ＭＰＬＳ情報付加部１２は、他ルータからのルーティングプロトコルにおける広告に基づき、ルーティングプロトコルの隣接関係を確立する（ステップ１）。続いて、広告部１１によりラベル配布の能力があることを広告する（ステップ２）。この広告は、ＭＰＬＳ情報付加部１２の指示に基づき広告部１１が行ってもよいし、広告部１１が自律的に行ってもよい。ＭＰＬＳ情報付加部１２は、隣接ルータの中でラベル配布能力を持つルータのリストを作成し（ステップ３）、ラベル配布能力を持つルータに対して、通常の広告情報に加えて、付与すべきラベル情報を広告する（ステップ４）。ＭＰＬＳ転送表作成部１３は、隣接ルータからラベル情報を含んだリンク状態広告を受信すると、それをもとにＭＰＬＳ転送表１４を作成する（ステップ５）。
【００５３】
以下、ＭＰＬＳ転送表１４の作成方法の具体例について説明する。まず、ＭＰＬＳ転送表作成部１３は、通常のルーティングプロトコルを用いてネットワーク全体のトポロジを作成し、Ｄｉｊｋｓｔｒａアルゴリズム等の最短経路算出アルゴリズムを用いて宛先までに通過するルータを特定する。次に広告された情報を元に通過する各ルータで転送に用いるラベルのラベル値を求める。
【００５４】
ルータ１が宛先ＩＰアドレス１０．８．／１６宛てのＭＰＬＳ転送表１４を作成する例を考える。最短経路算出アルゴリズムを用いて、自ルータから宛先アドレスまでに通過するルータを特定する。基本的に通過する経路はＯＳＰＦが選択する経路と同じとなるが、途中通過するルータを指定する明示的経路指定（Ｅｘｐｌｉｃｉｔ  ｒｏｕｔｉｎｇ）も可能である。
【００５５】
次に各ルータが広告したラベル拡張ＬＳＡを元に付与すべきＭＰＬＳラベルを決定する。この場合には、ルータ１から宛先アドレスまでの間にルータ２とルータ３を通過する。ルータ２のポート３番がルータ３と接続しており、ルータ３はポート５番を通してルータ４と接続している。ルータ１は宛先アドレスに近いラベル値を順に並べることでＭＰＬＳ転送表１４を作成する。この場合には、図７のように、ＭＰＬＳ転送表は“２：３，３：５”となる。ここで、“２：３”で一つのＭＰＬＳラベルを表し、この例では“：”の前がルータを判別する情報のルータ識別子、“：”の後がポートを識別するポート識別子となっている。例では、１０進表記でラベル値が記述されているが、実際にラベルとして付与する場合には、それぞれの値を２進数に変換してラベルを付与する。はじめから、２進数でＭＰＬＳ転送表１４を作成することも可能である。また、ラベルに通過するポート番号を識別する情報のみを載せる場合は、宛先アドレスに対するラベル値は“３，５”となる。このような手順により、各ルータは各宛先ＩＰアドレスに対して付与すべきラベルを決定し、ＭＰＬＳ転送表１４を完成させる。ＭＰＬＳ転送表１４が完成したルータはＭＰＬＳパケットが転送可能となる。
【００５６】
次に、各ルータでのＭＰＬＳパケットの転送方法を説明する。図９はルータ１から宛先アドレス１０．８．／１６に転送するラベル付きパケットの例である。ルータ１に該当宛先アドレス宛てのパケットが到着した場合には、ＭＰＬＳパケット生成部１５は、まずＭＰＬＳ転送表１４を検索し、付与すべきラベル値が“３：５”と“２：３”であることを確認し、到着したパケットにラベル値“３：５”と“２：３”のラベルを順にスタックさせて付与する。
【００５７】
次にルータ１はこのラベル付きパケットをルータ２に送信する。このラベル付きパケットを受信したルータ２のＭＰＬＳパケット処理部１６は、最も上位にあるラベルの値（２：３）を検索し、まずルータ識別子の情報から自ルータを通過するパケットであることを確認した上で、出力ポートをポート識別子から出力すべきポート番号を求める。最上位のラベルを削除（Ｈｏｐ）して、出力先ポートにパケットを送出する。
【００５８】
次にルータ３がこのパケットを受信すると、ＭＰＬＳパケット処理部１６により、同様に最上位のラベル値（“３：５”）から自ルータを通過すべきパケットであることを確認した上で、出力先のポートを求めて、このラベルを削除した後に、該当ポートへと出力する。このようにして、ルータ１から宛先ＩＰアドレス１０．８．／１６が属するネットワークまでパケットが送信される。
【００５９】
次にネットワーク内にリンク故障やルータ故障等の障害が発生したケースを考える。図１０のように、ルータ１からＩＰアドレス１０．８．／１６のネットワークまでＭＰＬＳを用いてパケットを転送する例を考える。通常の方式では、障害発生後、再びＯＳＰＦによりトポロジ情報を学習し、その上でＭＰＬＳのＭＰＬＳ転送表を作成するため、障害発生後の通信再開に要する時間が大きいという問題がある。この問題を以下の方法により解決する。
【００６０】
宛先アドレスには、ルータ３を通過する経路と、ルータ２とルータ４を通過する経路の２経路が存在する。ＭＰＬＳ転送表作成部１３は、それぞれの経路に対するラベル値を求めて、あらかじめ１つのアドレスに対して、図１１のように２つのＭＰＬＳの経路のラベル値を持つＭＰＬＳ転送表１４を作成する。ＭＰＬＳパケット生成部１５は、通常はより宛先までのコストが小さいルータ３を経由するプライマリのラベル値“３：５”のＭＰＬＳラベルを付与して送信する。
【００６１】
プライマリの経路上に何らかの障害が発生し、その情報がルータ１に伝達されると、障害情報を受信したルータ１のＭＰＬＳパケット生成部１５は、は正常に通信可能なセカンダリのラベル“２：１，４：２”を付与し、この経路上を転送する。
【００６２】
この経路切替方式の利点は、あらかじめ、通常転送する経路に対するバックアップの経路に対するラベル値を作成しておくことで、障害発生後に瞬時に通信を再開することが可能であるところにある。
【００６３】
【発明の効果】
以上説明したように、本発明によれば、シグナリングプロトコルを用いることなくＭＰＬＳのパス設定が可能となるため、多数のパスを設定するような場合にルータのＣＰＵの負荷の軽減とパス設定時間の短縮が図れる。また、各ルータにシグナリングプロトコルを実装する必要がないため、ルータに搭載するメモリ量を削減することができる。
【図面の簡単な説明】
【図１】本実施例のルータのブロック構成図。
【図２】本実施例におけるルーティングプロトコルの広告情報の一例を示す図。
【図３】本実施例のＭＰＬＳ転送表の構成例を示す図。
【図４】本実施例のネットワーク構成例を示す図。
【図５】本実施例のラベル付きパケットの一例を示す図。
【図６】本実施例のネットワーク構成例を示す図。
【図７】本実施例のＭＰＬＳ転送表の構成例を示す図。
【図８】本実施例の処理フローを示すフローチャート。
【図９】本実施例のラベル付きパケットの一例を示す図。
【図１０】本実施例のネットワークの構成例を示す図。
【図１１】本実施例のＭＰＬＳ転送表の構成例を示す図。
【図１２】従来例を説明するためのネットワークの構成例を示す図。
【図１３】従来のルーティングプロトコルの広告情報
【符号の説明】
１〜４  ルータ
１１  広告部
１２  ＭＰＬＳ情報付加部
１３  ＭＰＬＳ転送表作成部
１４  ＭＰＬＳ転送表
１５  ＭＰＬＳパケット生成部
１６  ＭＰＬＳパケット処理部
【図１】
2004193644.tif 000003
【図２】
2004193644.tif 000004
【図３】
2004193644.tif 000005
【図４】
2004193644.tif 000006
【図５】
2004193644.tif 000007
【図６】
2004193644.tif 000008
【図７】
2004193644.tif 000009
【図８】
2004193644.tif 000010
【図９】
2004193644.tif 000011
【図１０】
2004193644.tif 000012
【図１１】
2004193644.tif 000013
【図１２】
2004193644.tif 000014
【図１３】
2004193644.tif 000015