(57)【特許請求の範囲】
【請求項１】
第１の出力回線と第２の出力回線とを収容し、パケットのスイッチングのために用いられるラベルとパケットの通信品質の識別情報とが含まれているヘッダとデータとを含んで構成されるパケットを転送するパケット転送装置におけるパケット転送方法であって、
前記第１の出力回線に障害が発生していない場合に、
第１のパケットを受信すると、前記第１のパケットのヘッダ内のラベルを第１のラベルに書き換え、そのラベルが書き換えられたパケットを前記第１の出力回線に出力し、
第２のパケットを受信すると、前記第２のパケットのヘッダ内のラベルを第２のラベルに書き換え、そのラベルが書き換えられたパケットを前記第１の出力回線に出力し、
前記第１の出力回線に障害が発生した場合に、
前記第１のパケットを受信すると、前記第１のパケットのヘッダ内の通信品質の識別情報をコピーし、コピーした通信品質の識別情報と第３のラベルとを含む第１のヘッダを前記第１のパケットに付加し、前記第１のパケットが付加されたパケットを前記第２の出力回線に出力し、
前記第２のパケットを受信すると、前記第２のパケットのヘッダ内の通信品質の識別情報をコピーし、コピーした通信品質の識別情報と前記第３のラベルとを含む第２のヘッダを前記第２のパケットに付加し、前記第２のパケットが付加されたパケットを前記第２の出力回線に出力することを特徴とするパケット転送方法。
【請求項２】
請求項１に記載のパケット転送方法であって、
前記第１の出力回線に障害が発生した場合に、
前記第１のパケットを受信すると、前記第１のパケットヘッダ内のラベルを前記第１のラベルに書き換え、
前記第２のパケットを受信すると、前記第２のパケットヘッダ内のラベルを前記第２のラベルに書き換えることを特徴とするパケット転送方法。
【請求項３】
請求項１又は２に記載のパケット転送方法であって、
前記ヘッダは、Ｒｅｑｕｅｓｔ ｆｏｒ Ｃｏｍｍｅｎｔｓ（ＲＦＣ）３０３２に記述されているＳｈｉｍヘッダであり、前記通信品質の識別情報は、Ｅｘｐｅｒｉｍｅｎｔａｌ Ｕｓｅ（ＥＸＰ）フィールドの値であることを特徴とするパケット転送方法。
【請求項４】
請求項３に記載のパケット転送方法であって、
前記第１のヘッダ及び前記第２のヘッダはＲｅｑｕｅｓｔ ｆｏｒ Ｃｏｍｍｅｎｔｓ（ＲＦＣ）３０３２に記述されているＳｈｉｍヘッダであり、前記第１のパケットのヘッダ内のＥｘｐｅｒｉｍｅｎｔａｌ Ｕｓｅ（ＥＸＰ）フィールドの値が前記第１のヘッダ内のＥｘｐｅｒｉｍｅｎｔａｌ Ｕｓｅ（ＥＸＰ）フィールドにコピーされ、前記第２のパケットのヘッダ内のＥｘｐｅｒｉｍｅｎｔａｌ Ｕｓｅ（ＥＸＰ）フィールドの値が前記第２のヘッダ内のＥｘｐｅｒｉｍｅｎｔａｌ Ｕｓｅ（ＥＸＰ）フィールドにコピーされることを特徴とするパケット転送方法。
【請求項５】
入力されたパケットに付加されているラベルと、そのパケットを出力するときに付加するラベルとの対応テーブルを有し、入力回線から入力されたパケットを、そのパケットに付与されているラベルに応じた出力回線にスイッチングするパケット転送装置におけるパケット転送方法であって、
第１のラベルとパケットの通信品質の識別情報が含まれている第１のヘッダがデータの前に付加され、第２のラベルと前記通信品質の識別情報とが含まれている第２のヘッダが前記第１のヘッダの前に付加されたパケットを受信し、
前記第２のヘッダ内の前記通信品質の識別情報に基づきパケット転送の優先制御を行うことを特徴とするパケット転送方法。
【請求項６】
請求項５に記載のパケット転送方法であって、
前記第２のラベルに基づき前記テーブルを検索することにより出力ラベルを求め、
前記第２のラベルを前記出力ラベルに書き換え、出力回線に出力することを特徴とするパケット転送方法。
【請求項７】
請求項５に記載のパケット転送方法であって、
前記受信パケットから前記第２のヘッダを取り除き、
前記第２のヘッダが取り除かれたパケットを出力回線に出力することを特徴とするパケット転送方法。
【請求項８】
請求項５に記載のパケット転送方法であって、
前記第１及び第２のヘッダは、Ｒｅｑｕｅｓｔ ｆｏｒ Ｃｏｍｍｅｎｔｓ（ＲＦＣ）３０３２に記述されているＳｈｉｍヘッダであり、前記通信品質の識別情報は前記第１のヘッダのＥｘｐｅｒｉｍｅｎｔａｌ Ｕｓｅ（ＥＸＰ）フィールドの値であり、前記第１のヘッダのＥＸＰフィールドの値と前記第２のヘッダのＥＸＰフィールドの値が等しいことを特徴とするパケット転送方法。
【請求項９】
第１の出力回線と第２の出力回線とを収容し、パケットのスイッチングのために用いられるラベルとパケットの通信品質の識別情報とが含まれているヘッダとデータとを含んで構成されるパケットを転送するパケット転送装置であって、
前記第１の出力回線に障害が発生していない場合に、
第１のパケットを受信すると、前記第１のパケットのヘッダ内のラベルを第１のラベルに書き換え、そのラベルが書き換えられたパケットを前記第１の出力回線に出力し、
第２のパケットを受信すると、前記第２のパケットのヘッダ内のラベルを第２のラベルに書き換え、そのラベルが書き換えられたパケットを前記第１の出力回線に出力し、
前記第１の出力回線に障害が発生した場合に、
前記第１のパケットを受信すると、前記第１のパケットのヘッダ内の通信品質の識別情報をコピーし、コピーした通信品質の識別情報と第３のラベルとを含む第１のヘッダを前記第１のパケットに付加し、前記第１のパケットが付加されたパケットを前記第２の出力回線に出力し、
前記第２のパケットを受信すると、前記第２のパケットのヘッダ内の通信品質の識別情報をコピーし、コピーした通信品質の識別情報と前記第３のラベルとを含む第２のヘッダを前記第２のパケットに付加し、前記第２のパケットが付加されたパケットを前記第２の出力回線に出力することを特徴とするパケット転送装置。
【請求項１０】
入力されたパケットに付加されているラベルと、そのパケットを出力するときに付加するラベルとの対応テーブルを有し、入力回線から入力されたパケットを、そのパケットに付与されているラベルに応じた出力回線にスイッチングするパケット転送装置であって、
第１のラベルとパケットの通信品質の識別情報が含まれている第１のヘッダがデータの前に付加され、第２のラベルと前記通信品質の識別情報とが含まれている第２のヘッダが前記第１のヘッダの前に付加されたパケットを受信し、
前記第２のヘッダ内の前記通信品質の識別情報に基づきパケット転送の優先制御を行うことを特徴とするパケット転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパケット転送方法及びその装置に関し、特にMulti Protocol Label Switchingに対応したパケット転送方法及びその装置に関する。
【０００２】
【従来の技術】
Internet Protocol（IP）ネットワークはその低コスト性から、電話網に代わる重要な社会インフラの一つになりつつある。それに伴い、従来の電話網で実現されていたネットワーク障害発生時の復旧等の高信頼性の実現、低遅延時間や低廃棄率等の通信品質(QoS：Quality of Service)の保証が要求されている。
【０００３】
ネットワーク障害の回復方式としては、例えば、Multi Protocol Label Switching(MPLS)を用いた高速パス切換え技術がある。MPLSに関しては、Internet Engineering Task Force(IETF)のRFC3031に記載されている。また、MPLSを用いた高速パス切換え技術に関しては、IETFのInternet draft、draft-swallow-rsvp-bypass-label-01.txtに記載されている。
【０００４】
まず、MPLSの概要について説明する。MPLSは、ルータがパケットに付与されたラベルの値に基づきパケットの転送先を決定するパケット転送方式である。
図1を用いてMPLSを用いたパケット転送の概要を説明する。
【０００５】
図1のMPLSネットワーク100は、ネットワークの出入り口に位置するエッジルータER1(141)、ER2(142)、ER3(143)、ER4(144)、MPLSネットワーク100内に位置するコアルータCR1(151)、CR2(152)、CR3(153)から構成されている。
【０００６】
各エッジルータはMPLSネットワークを介して相互接続する複数のネットワークNA(161)、NB(162)、NC(163)、ND(164)を収容する。各エッジルータは、前記収容するネットワークからパケットを受信し、受信パケットをMPLSカプセルヘッダでカプセル化し、MPLSネットワーク100内に転送する。図1では、表記を簡単にするため、前記MPLSカプセルヘッダの内容のうち、ラベルのみを図示している。例えば、エッジルータER1はネットワークNAから受信したパケットP1(171)をラベルL11(111)を含むMPLSカプセルヘッダでカプセル化し、CR1へ転送する。この際、出力回線181、ラベルL11等のMPLSカプセルヘッダは、パケットP1の第3層の転送プロトコル(例えばIP)等のヘッダ内の情報を用いて決定される。
【０００７】
コアルータCR1、CR2は、MPLSカプセルヘッダを用いて出力回線と出力用の新しいカプセルヘッダを決定する。例えば、パケットP1を受信したCR1は、パケットP1に付与されているラベルL11の値を用いてCR1内に保持しているラベルテーブルを検索し、出力回線1020-1、出力用のラベルL12(112)を決定する。CR1は、パケットP1に付与されていたラベルL11を出力用のラベルL12に置き換え、出力回線1020-1へパケットを送信する。以下、受信パケットに付与されているラベルを入力ラベル、送信時にルータが新たに付与するラベルを出力ラベルと呼ぶ。CR2も同様にして、入力ラベルL12が付与されたパケットP1の出力回線182、出力ラベルL13(113)を決定し、入力ラベルL12を出力ラベルL13で置き換え、出力回線182へパケットを送信する。
【０００８】
エッジルータER3は、ラベルL13が付与されたパケットP1を受信すると、ラベルL13のみ、あるいはラベルL13とパケットP1の第3層の転送プロトコル(例えばIP)ヘッダ内の情報を用いて、転送先(図1ではネットワークNC)と、出力回線183とを決定し、MPLSカプセルヘッダを除去して回線183へパケットP1を送信する。パケットP2の転送も上記と同様に行われる。
【０００９】
上述のように、パケットP1は、ルータER1とCR1を結ぶ経路、CR1とCR2とを結ぶ経路、及びCR2とER3とを結ぶ経路をラベルL11、L12、L13を用いて転送される。また、パケットP2は、ルータER2とCR1とを結ぶ経路、CR1とCR2とを結ぶ経路、及びCR2とER4とを結ぶ経路をラベルL21、L22、L23を用いて転送される。これらの経路をLabel Switched Path(LSP)と呼ぶ。LSPは、ラベル分配プロトコル、あるいはネットワーク管理者の手動設定により設定される。ラベル分配プロトコルにはLabel Distribution Protocol(LDP)、Constraint-based Routing Label Distribution Protocol(CR-LDP)、Extensions to Resource Reservation Protocol for LSP Tunnels(RSVP-TE)等がある。LDPに関してはIETFのRFC3036に、CR-LDPに関してはInternet Draft、draft-ietf-mpls-cr-ldp-04.txtに、RSVP-TEは関してはInternet Draft、draft-ietf-mpls-rsvp-lsp-tunnel-08.txtにそれぞれ記載されている。
【００１０】
MPLSでは、LSPを明示的に設定することが可能であるため、トラフィック毎の要求通信品質に基づいた経路の提供や、ネットワーク内の経路の負荷分散を行うトラフィックエンジニアリングが可能になるという利点がある。
【００１１】
次に、図2、図3を用いて、draft-swallow-rsvp-bypass-label-01.txtに記載されているMPLSを用いた高速パス切換え技術を説明する。
【００１２】
この高速パス切換え技術では、同一回線上に設定されている複数のLSPに対し、前記回線に障害が発生した場合の切換え用LSPを1つだけ設定する。以下、障害時の切換え用LSPを予備LSPと呼び、正常時のLSPを現用LSPと呼ぶ。また、その高速パス切換え技術では、予備LSPの終点ルータでの出力ラベルと出力回線を決定するためのラベルテーブルのエントリ数を節約するため、2つ以上のラベルを付与するラベルスタック技術が用いられる。
【００１３】
図2、図3は図1のMPLSネットワーク100のみを抜き出したものであり、ネットワークNA、NB、NC、NDは省略されている。
【００１４】
図2は、回線1020-1が正常な場合のパケット転送動作を示す。また、図3は、回線1020-1に障害が発生した場合(図3の回線1020-1上に「X」と表す)のパケット転送動作を示す。
【００１５】
図2において、回線1020-1が正常な場合にパケットP1が転送されるLSPをLSP1、パケットP2が転送されるLSPをLSP2とする。転送に用いられるラベルは図1と同様である。LSP1で用いられるラベルは、ER1-CR1間のラベルL11(111)、CR1-CR2間のラベルL12(112)、CR2-ER3間のラベルL13(113)となる。また、LSP2で用いられるラベルは、ER2-CR1間のラベルL21(121)、CR1-CR2間のラベルL22(122)、CR2-ER4間のラベルL23(123)となる。
【００１６】
図3では、回線1020-1上に設定されているLSP1用及びLSP2用の予備LSP3が、CR1-CR3間の回線1020-2上とCR3-CR2間の回線184上とに設定されている。CR1-CR3間で使用するラベルをL31(131)、CR3-CR2間で使用するラベルをL32(132)とする。
【００１７】
図3を用いて回線1020-1に障害が発生した場合のパケットP1の転送方法を説明する。図3のコアルータCR1は、回線1020-1に障害が発生したことを検知すると、ラベルテーブル内の入力ラベルL11に対する出力ラベルをL12一つから、L12、L31の二つに変更する。また、出力回線を回線1020-1から回線1020-2に変更する。パケットP1を受信したルータCR1は、入力ラベルL11から、出力ラベルL12、L31と、出力回線1020-2を決定する。その後、パケットP1から入力ラベルL11を除去し、ラベルスタック機能を用いて前記2つの出力ラベルを付与する。この際、予備LSPで用いるラベルL31を、現用LSP1で用いるラベルL12の上位(データとして先に転送される位置)に付与する。その後、CR1はパケットP1を回線1020-2へ送信する。前記パケットP1を受信したCR3は、パケットP1に付与されている2つのラベルのうち、上位に付与されているラベルL31のみを用いて、出力回線184と、出力ラベルL32を決定する。CR3は、パケットP1の入力ラベルのうち上位に付与されているラベルL31のみを出力L32で置換え、回線184へ送信する。CR3から送信されたパケットP1を受信したCR2は、パケットP1に付与されている2つのラベルのうち、上位に付与されているラベルL32の値から、自分が予備LSP3の終点であることを認識し、ラベルL32の下位に付与されているラベルL12を用いて出力回線と出力ラベルを決定すべきであることを判断する。その後、CR2はラベルL12を用いて出力回線182、出力用のラベルL13を決定する。CR2は、パケットP1に付与されているラベルL32を除去し、ラベルL12を出力ラベルL13で置換え、回線182へ送信する。
【００１８】
パケットP2の転送方法も、パケットP1の場合と同様である。ただし、CR1で付与される2つの出力ラベルのうち、上位に付与されるラベルL31はP1の場合と同一だが、もう一方のラベルがL22である点が異なる。また、CR2での出力ラベルが、ラベルL23である点が異なる。以上説明したように、現用LSP1で転送されていたパケットP1も、現用LSP2で転送されていたパケットP2も、LSP3では同等に転送される。
【００１９】
また、図3において、予備LSPの終点であるCR2は、上位のラベルL32を用いて、自分が予備LSP3の終点であり、L32の下位に付与されているラベル(L12あるいはL22)を用いて出力回線と出力ラベルを決定すべきであると判定している。この場合、CR2では、ラベルテーブルの検索方式によってはラベルテーブルを2度検索する必要があり、処理時間がかかる。この問題を回避する方式として、予備LSPの終点から一つ手前のルータで、予め上位に付与されたラベルを除去する方式(Penultimate Hop Popping；以下、PHP方式)がある。図4を用いて本方式を説明する。
【００２０】
図4において、ラベルの付与方式、パケットの転送方式は図3で説明した方式とほぼ同等である。ただし、予備LSP3の終点ルータCR2の一つ手前のルータCR3でのラベル付与方式が異なる。CR2は、受信パケットP1、P2の上位に付与されているラベルL31を用いて、自分が予備LSP3の終点から一つ手前のルータであることを認識する。ラベルL31の下位に付与されているラベルL12、L22は、予備LSP3の終点ルータCR2においては現用LSPの転送に用いられているラベルと同一ラベルである。したがって、CR2はこのラベルを使用すれば現用LSPと同一の出力回線、出力ラベルを決定することができる。このため、CR3は上位に付与されているラベルL31の除去のみを行い、パケットを出力回線184へ送信する。前記パケットを受信するルータCR2は、一つだけ付与されているラベルL12、L22を用いて、出力回線、出力ラベルを決定する。以上説明したPHP方式を用いることにより、CR2におけるラベルテーブルの検索は一回行うだけでよく、処理時間は現用LSPを用いた転送処理と同等になる。
【００２１】
【発明が解決しようとする課題】
上述した従来技術では、同一回線内に設定されている複数のLSPに対し、一つの共通LSPを設定するため、複数LSPに対し一対一に予備LSPを設定する方式に比べて、MPLSネットワーク内のルータが管理するLSP数を少なくすることができる。たとえば、ある回線内に設定されているLSP数をNとすると、従来技術1では、(N+1)のLSPを管理すればよいのに比べ、一対一に予備LSPを設定する場合は、2NのLSPを管理する必要がある。
【００２２】
しかし、上述の従来技術では、予備LSPでの通信品質保証に関して検討がなされていない。以下で、予備LSPでの通信品質保証に関する課題について説明する。
【００２３】
例えば、図2において、LSP1を用いて転送されるパケットP1の集合(以下、トラフィック1と呼ぶ)が、電子メールやWebデータ等のBest Effortで転送してもよいデータであると仮定する。また、LSP2を用いて転送されるパケットP2の集合(以下、トラフィック2と呼ぶ)が、遅延や遅延揺らぎを最小にしたいデータ、例えばリアルタイム系のデータ、Voice Over IP等のデータであると仮定する。
【００２４】
図2においては、各ルータは、ラベルを含むMPLSカプセルヘッダの情報から、LSP1とLSP2が満たすべき通信品質を判定し、LSP2をLSP1に比べて優先的に転送する等の通信品質制御処理を行うことが可能である。しかし、回線障害が発生した場合(図3あるいは図4)、現用LSP1、LSP2を用いて転送されるトラフィック1、トラフィック2は両方とも同一のラベルを使用するLSP3を用いて転送される。この場合、LSP3上のルータCR3は、現用LSPの通信品質を認識することができないので、LSP2をLSP1に比べて優先的に転送することができ。そのため、現用LSP2を用いて転送されていたトラフィック2に対する通信品質保証を、予備LSP3上で実現することが不可能となる。
【００２５】
したがって、パケットの品質保証制御（QoS制御）を行うには、現用LSPでの通信品質を予備LSP上のルータが認識できる仕組みが必要となる。
【００２６】
【課題を解決するための手段】
本発明の一側面は、第1の出力回線と第2の出力回線とを収容し、パケットのスイッチングのために用いられるラベルとパケットの通信品質情報とが含まれているヘッダとデータとを含んで構成されるパケットを転送するパケット転送装置におけるパケット転送方法に関する。前記第1の回線に障害が発生していない場合には、第1のパケットの受信すると、前記第1のパケットのヘッダ内のラベルを第1のラベルに書き換え、そのラベルが書き換えられたパケットを前記第1の出力回線に出力し、第２のパケットの受信すると、前記第２のパケットのヘッダ内のラベルを第２のラベルに書き換え、そのラベルが書き換えられたパケットを前記第１の出力回線に出力する。前記第1の回線に障害が発生した場合には、前記第1のパケットを受信すると、前記第1のパケットのヘッダ内の通信品質情報をコピーし、コピーした優先度情報と前記第３のラベルとを含む第1のヘッダを前記第1のパケットに付加し、前記第1のパケットが付加されたパケットを前記第2の出力回線に出力し、前記第２のパケットを受信すると、前記第２のパケットのヘッダ内の通信品質情報をコピーし、コピーした優先度情報と前記第３のラベルとを含む第２のヘッダを前記第２のパケットに付加し、前記第２のパケットが付加されたパケットを前記第2の出力回線に出力する。
【００２７】
本発明のその他側面については、発明の実施の形態の欄及び図面により明らかにされる。
【００２８】
【発明の実施の形態】
まず、図5、図6を用いて、MPLSカプセル化されたパケットのデータフォーマットと、MPLSカプセルヘッダフォーマットについて説明する。図5に、MPLSカプセル化されたパケットのデータフォーマットを示す。MPLSカプセル化されたパケットは、PPPやEthernet等の第2層プロトコルのヘッダであるLayer2ヘッダ部200、MPLSカプセルヘッダ部210、パケットデータであるデータ部220から構成される。MPLSカプセルヘッダ部210は、n個(nは1以上の整数)のShimヘッダ、Shimヘッダ1からShimヘッダn(210-1〜210-n)から構成される。データ部220は、例えば、IP等の第3層プロトコルヘッダによりカプセル化されたデータである。
【００２９】
図6に、MPLSカプセルヘッダ部を構成するShimヘッダのフォーマットを示す。ShimヘッダのフォーマットはShimヘッダ1からShimヘッダnに関して共通のフォーマットである。ルータが出力回線と出力ラベルを決定するために用いるラベルフィールド211、MPLS内ネットワーク内のパケットの通信品質を示すExperimental Use (EXP)フィールド212、2つ以上のShimヘッダを付与する(以下、Shimヘッダを付与することを「PUSHする」と記述する)場合の最下位に位置するラベルであることを示すSビットフィールド（Bottom of Stackフィールド）213、ネットワーク内で通過可能なルータ数を示すTime to Live (TTL) フィールド214から構成される。図６に示すフォーマットは、RFC3032、３ページ、図１に記載されているものと同様である。
【００３０】
MPLSカプセル化されたパケットを受信したルータは、ラベルフィールド211の値を検索キーとしてラベルテーブルを検索し、出力回線と1つ以上の出力ラベルを決定する。また、ルータはEXPの値に基づきパケットの通信品質を判定し、通信品質を保証するための優先転送制御を行う。さらに、ルータは入力Shimヘッダ内のTTLフィールド214の値を1だけ減算し、その値を出力Shimヘッダ内のTTLフィールドに設定する。
【００３１】
次に、図7から図9を用いて本発明のルータを用いて構成したMPLSネットワークにおけるパケットの転送動作を説明する。図7から図9は、本発明を適用したルータを用いたネットワークの一構成例である。図7、図8、図9はそれぞれ、図2、図3、図4と対応している。すなわち、図7は回線1020-1が正常な場合を示し、図8、図9は回線1020-2に障害が発生した場合を示している。また、図9は、ルータCR3がPHP方式を用いた場合のパケット転送動作を示している。また、図7から図9ではShimヘッダ内の情報として、ラベルの値に加えてEXPの値(191〜193)を図示している。
【００３２】
図7から図9では、ER1-CR1-CR2-ER3間にLSP1が設定されており、ER2-CR1-CR2-EF4間にLSP2が設定されている。また、回線1020-1に障害が発生した場合のLSP1、LSP2共通の予備LSPとしてCR1-CR3-CR2間にLSP3が設定されている。LSP2上には、2つの異なる通信品質保証を必要とする2つのトラフィック(パケットP2(172)、パケットP3(173))が転送されており、EXP値として、E2(192)、E3(193)が設定されている。また、LSP1のEXP値はE2、E3とは異なるE1(194)が設定されている。各EXP値が示す優先度は、優先度の高い順にE1、E2、E3とする。例えば、パケットP1はVoice Over IPのデータであり、パケットP2はリアルタイム系のデータであり、パケットP3は電子メールのデータとする。
【００３３】
図7を用いて、回線1020-1が正常な場合のパケットP1の転送処理を説明する。エッジルータER1によってMPLSカプセル化されたパケットP1を受信したCR1は、入力ラベルL11、入力EXP値E1を検索キーにしてラベルテーブルを検索し、出力回線1020-1、出力ラベルL12、装置内通信品質を決定する。また、入力EXP値E1を出力EXP値として出力Shimヘッダ内EXPフィールドにコピーする。出力Shimヘッダを、「(ラベル値、EXP値)」という表記を用いて表すことにすると、パケットP1に対する出力Shimヘッダは(L12、E1)となる。その後、CR1は、パケットP1から入力Shimヘッダ(L11、E1)を一つ除去し(以下、Shimヘッダを除去することを「POPする」と呼ぶ)、出力Shimヘッダ(L12、E1)を一つPUSHして、回線1020-1から送信する。回線1020-1へ送信する際、CR1は装置内通信品質に従い、他のパケットとの間で優先転送制御を行う。本例では、E1は一番優先度が高いので、他のパケットに対して優先的に送信されることになる。CR2でのパケットP1の転送処理も同様に行われ、出力Shimヘッダは(L13、E1)となる。CR2からのパケットP1を受信したER2は、入力ラベルL13の値から、パケットP1からShimヘッダを除去し、出力ラベルを一つもPUSHしないことを決定する。パケットP1がIPプロトコルで転送されるIPパケットの場合は、IPのルーティングテーブルを検索し、出力回線を決定する。その後、ER2はパケットP1からShimヘッダをPOPし、IPパケットとして出力回線へ送信する。
【００３４】
回線1020-1が正常な場合のパケットP2、P3の転送処理もパケットP1の転送処理と同様に処理される。
【００３５】
次に、図8を用いて、回線1020-1に障害が発生した場合のパケットP1の転送処理を説明する。CR1内の回線状態監視部は、回線1020-1に障害が発生したことを検知すると、制御部に通知する。制御部は、ラベルテーブル内の入力ラベルL11に対する出力ラベルをL12から、L12とL31との二つに変更する。また、出力回線を現用LSP1で用いる回線1020-1から予備LSP3で用いる回線1020-2に変更する。エッジルータER1によってMPLSカプセル化されたパケットP1を受信したCR1は、入力ラベルL11、入力EXP値E1を検索キーにしてラベルテーブルを検索し、出力回線1020-2、二つの出力ラベルL12、L31、装置内通信品質を決定する。また、入力EXP値E1を出力EXP値として二つの出力Shimヘッダ内EXPフィールドにコピーする。したがって、パケットP1に対する二つの出力Shimヘッダは(L31、E1)、(L12、E1)となる。その後、CR1は、パケットP1から入力Shimラベル(L11、E1)を一つ除去し、出力Shimヘッダを二つPUSHして、回線1020-2から送信する。この際、PUSHするShimヘッダの順序は、データとして先に転送される位置を先頭とすると、先頭がShimヘッダ(L31、E1)、その次がShimヘッダ(L12、E1)となる。また、回線1020-2へ送信する際、CR1は装置内通信品質に従い、他のパケットとの間で優先転送制御を行う。本実施例では、E1は一番優先度が高いので、他のパケットに対して優先的に送信されることになる。
【００３６】
CR1によって二つのShimヘッダをPUSHされたパケットP1を受信したCR3は、先頭にPUSHされている入力Shimヘッダ内の入力ラベルL31、入力EXP値E1を検索キーにしてラベルテーブルを検索し、出力回線184、一つの出力ラベルL32、装置内通信品質を決定する。また、入力EXP値E1を出力EXP値として一つの出力Shimヘッダ内EXPフィールドにコピーする。したがって、パケットP1に対する出力Shimヘッダは(L32、E1)となる。その後、CR3は、パケットP1にPUSHされている二つの入力Shimヘッダのうち、先頭のShimヘッダ(L31、E1)を一つだけ除去し、出力Shimヘッダ(L32、E1)を一つPUSHして、回線184から送信する。また、回線184へ送信する際、CR3は装置内通信品質に従い、他のパケットの間で優先転送制御を行う。
【００３７】
CR3から送信されたパケットP1を受信したCR2は、先頭にPUSHされている入力Shimヘッダ内の入力ラベルL32、入力EXP値E1を検索キーにしてラベルテーブルを検索し、先頭の入力Shimヘッダ(L31、E1)をPOPし、もう一つの入力Shimヘッダ(L12、E1)で再度ラベルテーブルを検索する必要があることを認識する。再度入力ラベルL12、入力EXP値E1を検索キーにしてラベルテーブルを検索し、出力回線182、一つの出力ラベルL13、装置内通信品質を決定する。また、2番目の入力Shimヘッダ内に格納されていた入力EXP値E1を出力EXP値として一つの出力Shimヘッダ内EXPフィールドにコピーする。したがって、パケットP1に対する一つの出力Shimヘッダは(L13、E1)となる。その後、CR2は、パケットP1にPUSHされている二つの入力Shimヘッダ(L32、E1)、(L12、E1)を二つとも除去し、出力Shimヘッダ(L13、E1)を一つPUSHして、回線182から送信する。CR2からのパケットP1を受信したER2のパケット転送処理は、回線1020-1が正常な場合と同様である。
【００３８】
回線1020-1に障害が発生した場合のパケットP2、P3の転送処理も、パケットP1の転送処理と同様である。
【００３９】
次に、図9を用いて、ルータCR3がPHP方式を用いた場合について説明する。図9のパケットの転送方式は図8で説明した方式と同様である。ただし、予備LSP3の終点ルータCR2の一つ手前のルータCR3でのShimヘッダの付与方式と、CR2でのラベルテーブル検索が異なる。以下、CR3とCR2のパケットP1の転送処理について説明する。
【００４０】
PHP方式を適用する場合、CR1によって二つのShimヘッダをPUSHされたパケットP1を受信したCR3は、先頭にPUSHされている入力Shimヘッダ内の入力ラベルL31、入力EXP値E1を検索キーにしてラベルテーブルを検索する。この結果、出力回線184、装置内通信品質を決定するのは図8の場合と同様である。ただし、出力ラベルとしては意味のある値を決定することはせず、先頭の入力ShimヘッダをPOPすることだけを決定する。したがって、パケットP1に対する出力Shimヘッダは存在しないことになる。その後、CR3は、パケットP1にPUSHされている二つの入力Shimヘッダのうち、先頭のShimヘッダ(L31、E1)を一つだけ除去し、回線184へ送信する。また、回線184へ送信する際、CR3は装置内通信品質に従い、他のパケットの間で優先転送制御を行う。以上説明したとおり、CR3のShimヘッダ処理は、受信したパケットP1の先頭ShimヘッダをPOPするのみであり、図8の場合とは異なる。
【００４１】
PHP方式を適用する場合、CR3から送信されたパケットP1を受信したCR2は、一つだけPUSHされている入力Shimヘッダ内の入力ラベルL12、入力EXP値E1を検索キーにしてラベルテーブルを検索し、出力回線182、一つの出力ラベルL13、装置内通信品質を決定する。また、入力Shimヘッダ内に格納されていた入力EXP値E1を出力EXP値として一つの出力Shimヘッダ内EXPフィールドにコピーする。したがって、パケットP1に対する一つの出力Shimヘッダは(L13、E1)となる。その後、CR2は、パケットP1にPUSHされている一つの入力Shimヘッダ(L12、E1)を除去し、出力Shimヘッダ(L13、E1)を一つPUSHして、回線182から送信する。以上説明したとおり、CR2は、図8のように2回ラベルテーブルを検索する必要はなく、一回のみの検索で出力回線、出力Shimヘッダを決定することができる。
【００４２】
以上、本発明のルータを用いて構成したMPLSネットワークにおけるパケットの転送動作を説明した。本発明のルータを用いることにより、回線に障害が発生し、パケットが予備LSPを用いて転送される場合でも、予備LSP上のルータが、現用LSPで通信品質の判定に使用するEXP値を用いて通信品質の判定を行うことが可能である。したがって、予備LSPにおいても、現用LSPと同等の通信品質の保証が可能になる。例えば、Voice Over IPのデータであるパケットP1は、現用LSPでも予備LSPでも最優先で転送されることになり、障害発生時でも通信品質が保証される。
【００４３】
次に、本発明のルータの一実施例を図10から図14を用いて説明する。図10は本発明のルータの一構成例である。ルータ1000はパケットが入力するN本の入力回線1010-i(i=1〜N)とパケットの受信処理を行うパケット受信処理部1100-iと、パケット転送処理部1200と、パケットの出力回線を判定するルーティング処理部1300と、パケットをスイッチングするスイッチ1400と、出力回線毎の優先転送制御を行うパケット送信処理部1500-jと、回線状態を監視する回線状態監視部1600-jと、パケットが出力されるN本の出力回線1020-jと、ルータ全体の制御およびルーティング処理を行う制御部1700より構成される。制御部1700はルーティング処理部内の各テーブルの設定、各回線状態監視部からの障害通知の処理等を行う。
【００４４】
図11は、ルータ1000内部におけるパケットフォーマットの一実施例を示す。ルータ1000内部におけるパケットのフォーマットはMPLSネットワークにおけるパケットのフォーマットに内部ヘッダ部230が付加される。この内部ヘッダ部230は、パケットが入力された回線の識別子である入力回線番号231と、パケットが出力される回線の識別子である出力回線番号232と、パケットの装置内での通信品質を示す装置内QoS情報233から構成される。なお図11では、MPLSネットワークにおけるパケットのフォーマットからLayer2ヘッダ部200を除いているが、Layer2ヘッダ部を加えてもよい。
【００４５】
ルータ1000の入力回線1010-iよりパケットが入力されると、パケット受信回路1100-iは内部ヘッダ部230を付加し、パケットが入力された入力回線1010-iの回線番号iを入力回線番号231に書き込み、パケット転送処理部1200へパケットを送信する。なお、この時点では出力回線番号232、装置内QoS情報233は無意味な値となっている。
【００４６】
パケット転送処理部1200はパケットを受信するとMPLSカプセルヘッダ部210、データ部220、内部ヘッダ部230の全てを蓄積し、MPLSカプセルヘッダ情報210と内部ヘッダ情報230を抽出してルーティング処理部1300へ送信する。
【００４７】
ルーティング処理部1300は、前記MPLSカプセルヘッダ情報210と内部ヘッダ情報230を用いてラベルテーブル検索処理を行い、出力回線(例えば回線1020-j)、出力Shimヘッダ、POP数、PUSH数、パケットの装置内の通信品質を示す装置内QoS情報を決定し、それらの情報をパケット転送処理部1200に通知する。なお、ルーティング処理部1300の構成および動作については後に詳細に述べる。
【００４８】
パケット転送処理部1200は出力回線1020-jの回線番号jを内部ヘッダ内の出力回線番号232に書き込み、装置内QoS情報を内部ヘッダ内の装置内QoS情報233に書き込む。また、出力Shimヘッダと、POP数、PUSH数を用いて、MPLSカプセルヘッダ部210内のShimヘッダを書き換える。入力時のMPLSカプセルヘッダ部210のデータ長と、出力時のMPLSカプセルヘッダ部のデータ長は、POP数、PUSH数により異なる場合がある。その場合はPOP数、PUSH数に従いMPLSカプセルヘッダ部のデータ長を再調整する。その後、パケット転送処理部1200は内部パケットをスイッチ1400に送信する。
【００４９】
スイッチ1400は出力回線番号232に従いパケットをスイッチングし、出力回線毎のパケット送信処理部1500-jに送信する。パケット送信処理部1500-jは装置内QoS情報233に従いパケットの優先度に対応した送信制御を行い、内部ヘッダ部230を削除し、出力回線1020-jにパケットを送信する。
【００５０】
以上、本発明のルータの一実施例を説明した。
【００５１】
次に、図12から図14を用いて、ルーティング処理部1300の一実施例を説明する。図12に、ルーティング処理部1300の一構成例を示す。ルーティング処理部1300は、ヘッダ情報蓄積部1310と、ラベルテーブル1320と、前記ラベルテーブル1320を検索するラベルテーブル検索処理部1330と、ヘッダ内情報抽出部1340と、TTL減算部1350と、出力Shimヘッダ生成部1360から構成される。
【００５２】
ヘッダ情報蓄積部1310は、パケット転送処理部1200から受信したMPLSカプセルヘッダ部210と内部ヘッダ部230を蓄積する。ヘッダ内情報抽出部は、ヘッダ情報蓄積部に蓄積された入力Shimヘッダ内のEXP値とTTL値を抽出し、EXP値を出力Shimヘッダ生成部1360へ出力し(1371)、TTL値をTTL減算部1350に出力する(1372)。TTL減算部は入力Shimヘッダ内のTTL値を1だけ減算し、計算結果(1373)を出力Shimヘッダ生成部1360へ出力する。
【００５３】
ラベルテーブル1320の一構成例を図13に示す。ラベルテーブル1320の各エントリは、検索キーであるラベル1321およびEXP1322と、それに対応する検索結果1323から構成されている。検索結果1323は、入力ShimヘッダのPOP数1324、出力ShimヘッダのPUSH数1325、PUSH数分の0個以上の出力ラベル1326、出力回線番号1327、装置内QoS情報1328から構成される。図13では、ルータ1000を図7のCR1に適用した場合のテーブル設定値を示している。この場合、入力ラベルL11、L21に対応するPOP数は1、PUSH数は1、出力ラベルはラベル1フィールド(1326-1)内にそれぞれL12、L22の一つのみ設定され、出力回線は”1”となる。また、入力EXP値に対応する装置内QoS情報を設定するため、入力ラベルL21に対応するエントリはEXP値がE2とE3の2つ分用意されている。
【００５４】
また、図14に、ルータ1000を図8あるいは図9のCR1に適用した場合のテーブル設定値を示す。この場合、ラベルL11、L21に対応するPOP数は1、PUSH数は2、出力ラベルはラベル1、ラベル2の二つ設定され、出力回線は”2”となる。
【００５５】
次に、ルーティング処理部1300の動作について述べる。まず、ラベルテーブル検索処理部1330が、ヘッダ情報蓄積部1310に蓄積されている情報の内、ラベルテーブル検索に必要な情報を検索キーとしてラベルテーブル1320を検索する。検索の結果、検索キーに対応する入力ShimヘッダのPOP数1324、出力ShimヘッダのPUSH数1325、PUSH数分の出力ラベル1326、出力回線番号1327、装置内QoS情報1328を決定する。このうち、POP数、PUSH数、出力回線番号、装置内QoS情報は、パケット転送処理部1200へそのまま出力する(図12の1374)。また、POP数、PUSH数、出力ラベルは出力Shimヘッダ生成部1360へ出力する(図12の1375)。ラベルテーブル検索と並行して、ヘッダ内情報抽出部1340は、ヘッダ情報蓄積部1310に蓄積されている情報のうち、入力Shimヘッダ内のEXP値、TTL値と抽出し、EXP値は出力Shimヘッダ生成部へ出力し、TTL値はTTL減算処理部1350へ出力する(図12の1377)。TTL減算処理部はTTL値を1だけ減算し、計算結果を出力Shimヘッダ生成部1360へ転送する(図12の1373)。
【００５６】
出力Shimヘッダ生成部は、ラベルテーブル検索処理部1330からPOP数、PUSH数、出力ラベルを受信し(図12の1375)、ヘッダ内情報抽出部からEXP値と受信し、TTL減算処理部からTTL値の減算結果を受信すると、出力Shimヘッダ生成処理を行う。この際、ラベル値としては、ラベルテーブル検索処理部から受信したラベル値を用いる。複数の出力ShimヘッダのEXP値としては、ヘッダ内情報抽出部1340から受信した入力Shimヘッダ内のEXP値を用いる。また、TTL値はTTL減算処理部1350で減算された値を用いる。出力Shimヘッダ生成部は、PUSH数分の出力Shimヘッダを生成し、パケット転送処理部1200に送信する。
【００５７】
以上、ルーティング処理部1300の一実施例を説明した。
【００５８】
次に、回線障害発生時のルータ1000の動作例について、図10と図13、図14を用いて説明する。図10の各回線毎の回線状態監視部1600は出力回線の状態を常に監視する。回線に障害が発生した場合は、回線状態監視部1600は、制御部1700に障害が発生したことを通知する。回線障害の通知を受けた制御部1700は、ルーティング処理部1300内のラベルテーブル1320の変更動作を行う。
【００５９】
例えば、ルータ1000を、図7から図9のCR1に適用した場合について説明する。回線1020-1が正常な場合のラベルテーブル1320の設定は図13のとおりとする。また、回線1020-1に障害が発生した場合のラベルテーブル1320の設定は図14のとおりとする。回線1020-１の状態を監視する回線状態監視部1600-1は、回線1020-1に障害が発生したことを検知すると、障害が発生したことを制御部1700に通知する。制御部1700は回線1020-1が障害状態になったことを認識し、回線1020-1を検索結果として用いているラベルテーブルエントリを図13から図14の設定値のとおりに変更する。ラベルテーブル変更後に処理されるパケットに関しては、図14の設定値に従って転送処理が行われる。
【００６０】
以上、回線障害発生時のルータ1000の動作について説明した。以上では、障害通知を制御部1700が受信した後、ラベルテーブルを変更するという方式について説明した。
【００６１】
他の実施例として、高速テーブル切換え方式について、図15から図17を用いて説明する。図15は本方式を適用したルーティング処理部1300の一構成例である。図15のルーティング処理部1300は、図12の構成要素に加え、現用予備判定部1380と回線状態テーブル1390から構成される。回線状態テーブル1390は、ルータ1000が所持する全回線に対し、正常か障害発生かを示すビットを保持するテーブルである。図16に回線状態テーブル1390の一構成例を示す。図16は回線番号1391と回線状態1392から構成される。回線状態は、正常の場合”0”、障害発生時の場合”1”に設定するとする。また、本方式を適用したラベルテーブルの一構成例を図17に示す。図17のラベルテーブルは、検索キーであるラベルとEXPの組に対し、現用の検索結果1323-1と、予備の検索結果1323-2を両方とも保持する。各検索結果の内容は、図13、図14と同様である。
【００６２】
高速テーブル切換え方式を適用したルーティング処理部1300の動作について述べる。まず、ラベルテーブル検索処理部1330が、ヘッダ情報蓄積部1310に蓄積されている情報の内、ラベルテーブル検索に必要な情報を検索キーとしてラベルテーブル1330を検索する。検索の結果、検索キーに対応する現用の検索結果1323-1と予備の検索結果1323-2を得る。ラベルテーブル検索処理部1330は、これら2組の検索結果を現用予備判定部1380に出力する。現用予備判定部1380は、受信した2組の検索結果のうち、現用の出力回線番号と予備の出力回線番号を検索キーとして回線状態テーブル1390を検索し、現用の出力回線と予備の出力回線の状態を読み出す。この結果、現用の出力回線が正常の場合は、現用の検索結果1323-1を選択し、パケット転送処理部1200と出力Shimヘッダ生成部1360へ必要な情報を出力する。前記必要な情報は図12において説明したものと同様である。現用の出力回線に障害が発生しており、予備の出力回線が正常の場合は、予備の検索結果1323-2を選択し、パケット転送処理部1200と出力Shimヘッダ生成部1360へ必要な情報を出力する。現用の出力回線、予備の出力回線ともに障害が発生している場合は、パケットを廃棄する指示をパケット転送処理部1200へ通知する。また、EXPのコピー処理、TTL減算処理は図12において説明したものと同様である。
【００６３】
以上、高速テーブル切換え方式を適用したルーティング処理部1300の動作について説明した。以上説明したように、ラベルテーブルエントリに現用の検索結果と予備の検索結果を予め両方用意しておき、さらに回線状態テーブルを保持することにより、回線障害が発生した際、制御部は回線テーブルの障害が発生した回線番号の状態を書き換えるだけで、テーブルを切換えることができる。したがって、テーブルの変更時間の短縮を実現することができる。
【００６４】
以上説明したように、ルータ1000は、入力Shimヘッダ内のEXP値をPUSH数分の出力Shimヘッダ内のEXP値にコピーすることが可能であるため、本ルータを現用LSPと予備LSPの切換えポイント(図7から図9のCR1)に適用することにより、予備LSP上のルータも現用LSPと同等の通信品質を保証することが可能になる。
【００６５】
【発明の効果】
本発明のルータを現用LSPと予備LSPの切換えポイントに適用することにより、予備LSP上のルータも現用LSPと同等の通信品質を保証することが可能になる。従って、障害発生時でも、正常時と同等の通信品質保証を提供することが可能になる。
【図面の簡単な説明】
【図１】  MPLSのパケット転送概要を説明する図である。
【図２】従来のMPLSを用いた高速パス切り替え技術を説明する図である。
【図３】従来のMPLSを用いた高速パス切り替え技術を説明する図である。
【図４】従来のMPLSを用いた高速パス切り替え技術を示す図である。
【図５】  MPLSネットワークにおけるパケットのフォーマットの一例を示す図である。
【図６】  MPLSカプセルヘッダであるShimヘッダのフォーマットの一例を示す図である。
【図７】本発明のルータを適用したMPLSネットワークの一構成例を示す図である。
【図８】本発明のルータを適用したMPLSネットワークの一構成例を示す図である。
【図９】本発明のルータを適用したMPLSネットワークの一構成例を示す図である。
【図１０】本発明のルータの一構成例を示す図である。
【図１１】本発明のルータ1000内部におけるパケットのフォーマットの一例を示す図である。
【図１２】ルーティング処理部1300の一構成例を示す図である。
【図１３】ラベルテーブル1320の一構成例を示す図である。
【図１４】ラベルテーブル1320の一構成例を示し、図１３とは設定値が異なる図である。
【図１５】ルーティング処理部1300の図12とは別の構成例を示す図である。
【図１６】回線状態テーブルの一構成例を示す図である。
【図１７】ラベルテーブル1320の図13、図14とは別の構成例を示す図である。
【符号の説明】
100…MPLSネットワーク、141〜144…エッジルータ、151〜153…コアルータ、1000…本発明のルータ、1100…パケット受信処理部、1200…パケット転送処理部、1300…ルーティング処理部、1310…ヘッダ情報蓄積部、1320…ラベルテーブル、1330…ラベルテーブル検索処理部、1340…ヘッダ内情報抽出部、1360…出力Shimヘッダ生成部、1400…スイッチ、1400…スイッチ、1400…スイッチ、1500…パケット送信処理部、1600…回線状態監視部、1700…制御部。
【図１】
0004161557.tif 000002
【図２】
0004161557.tif 000003
【図３】
0004161557.tif 000004
【図４】
0004161557.tif 000005
【図５】
0004161557.tif 000006
【図６】
0004161557.tif 000007
【図７】
0004161557.tif 000008
【図８】
0004161557.tif 000009
【図９】
0004161557.tif 000010
【図１０】
0004161557.tif 000011
【図１１】
0004161557.tif 000012
【図１２】
0004161557.tif 000013
【図１３】
0004161557.tif 000014
【図１４】
0004161557.tif 000015
【図１５】
0004161557.tif 000016
【図１６】
0004161557.tif 000017
【図１７】
0004161557.tif 000018