JPH11243416A - ノード装置及びラベルスイッチングパスのループ検出方法 - Google Patents

ノード装置及びラベルスイッチングパスのループ検出方法

Info

Publication number
JPH11243416A
JPH11243416A JP504498A JP504498A JPH11243416A JP H11243416 A JPH11243416 A JP H11243416A JP 504498 A JP504498 A JP 504498A JP 504498 A JP504498 A JP 504498A JP H11243416 A JPH11243416 A JP H11243416A
Authority
JP
Japan
Prior art keywords
label
message
node
node device
switching path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP504498A
Other languages
English (en)
Other versions
JP3688877B2 (ja
Inventor
Yoshihiro Oba
義洋 大場
Junichi Takahashi
淳一 高橋
Shigeo Matsuzawa
茂雄 松澤
Yasuhiro Katsube
泰弘 勝部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP00504498A priority Critical patent/JP3688877B2/ja
Priority to CA 2244481 priority patent/CA2244481C/en
Priority to US09/131,361 priority patent/US6501754B1/en
Priority to EP19980114980 priority patent/EP0896494B1/en
Priority to DE1998633347 priority patent/DE69833347T2/de
Publication of JPH11243416A publication Critical patent/JPH11243416A/ja
Priority to US10/191,539 priority patent/US7120145B2/en
Application granted granted Critical
Publication of JP3688877B2 publication Critical patent/JP3688877B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • H04L49/309Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5619Network Node Interface, e.g. tandem connections, transit switching
    • H04L2012/562Routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5665Interaction of ATM with other protocols
    • H04L2012/5667IP over ATM

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【課題】 効率的かつ早期にラベルスイッチングパスの
ループを検出可能なノード装置を提供すること。 【解決手段】 入力されるパケットフローを識別可能な
ラベル情報と少なくとも出力側インタフェースを特定す
る情報との対応関係を参照して、入力されたパケットを
ラベルスイッチングするノード装置であって、前段ノー
ド装置から受信したラベルスイッチングパスの設定を要
求するラベル割り当てメッセージに基づいて、パケット
フローをネットワークグローバルに識別可能なフロー識
別子および該ラベルスイッチングパスの初段ノードに関
する初段ノード情報を記憶し、前記ラベル割り当てメッ
セージと同一のフロー識別子および初段ノード情報を含
むラベル割り当てメッセージを前記前段ノード装置とは
異なるノード装置から受信した場合には、ラベルスイッ
チングパスのループが形成されるものと判断する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ラベルスイッチン
グパスのループ検出機能を有するノード装置及びラベル
スイッチングパスのループ検出方法に関する。
【0002】
【従来の技術】NBMA(Non−Broadcast
Multiple Access)ネットワーク上で
IP(Internet Protocol)ノードが
相互接続されるようなネットワークレイヤプロトコルに
おいて、パケット転送を高速化するための手法として、
MPLS(Multi−Protocol Label
Switching)方式がある。
【0003】MPLSは、ノード間で特定のパケットフ
ローに特定の「ラベル」を割り当て、各ノードで入力側
のラベルと出力側のラベルとを関連付けて記憶してお
き、この情報を参照してラベルスイッチングを行うこと
により、IP処理を省略し、高速なパケット転送が可能
となる。例えば、リンクレイヤがATMの場合、VPI
(Virtual Path Identifier)
/VCI(Virtual Channel Iden
tifier)がラベルとして使用される。パケットフ
ローがラベルスイッチングされる経路をラベルスイッチ
ングパスと呼ぶ。
【0004】ラベルスイッチングパスを構成する場合に
は、ラベル割当てプロトコルが使用される。ラベル割当
てプロトコルは、パケットフローの経路上のノード間
で、ネットワークグローバルにパケットフローを識別す
るためのフロー識別子と、リンクローカルにパケットフ
ローを識別するためのラベルとの対応付けを通知するた
めに、ラベル割当てメッセージをやり取りする。
【0005】通常、IPパケットは、ノードを経由する
毎にそのパケットヘッダ内のTTL(Time To
Live)フィールド(あるいはホップリミット・フィ
ールドあるいはこれらに相当するもの)の値が1ずつデ
クリメントされ、TTL等が0になると、IPパケット
はそれ以上にフォワーディングされない。これにより経
路にループがあった場合もパケットがいつまでもネット
ワーク内に留まることを防止することができる。しかし
ながら、ラベルスイッチングパスで転送されるパケット
に対しては途中ノードでIP処理が行われないため、T
TL等をデクリメントすることができず、このため、ラ
ベルスイッチングパスにループができると、そのラベル
スイッチングパスからパケットが出ていかないようにな
ってしまう。このため、ラベル割当てプロトコルには、
ラベルスイッチングパスのループ検出機構、またはルー
プ回避機構が必要である。
【0006】
【発明が解決しようとする課題】従来のラベル割当てプ
ロトコルにおいては、(1)ラベル割当てメッセージの
中に、そのパケットフローに対するラベル割当てメッセ
ージを発信した初段ルータからのホップカウント情報を
含め、ホップカウントがしきい値を越えるとループであ
ると判断する方法、および(2)ラベル割当てメッセー
ジをフォワードする各ノードが自分のアドレスをラベル
割当てメッセージに追加して行き、受信したラベル割当
てメッセージに自分のアドレスがすでに書き込んであれ
ばループであると判断する方法、がある。
【0007】しかしながら、上記の(1)の方法は、ホ
ップカウントがしきい値を越えるまではループであるこ
とがわからないため、ループ検出までに時間がかかって
しまうという問題があった。なお、この場合、実際にル
ープが形成されたか否かはわからず、またループが形成
されたときでも、どのノードにおいてループが形成され
たかわからない。
【0008】また、上記の(2)の方法は、ラベル割当
てメッセージのサイズが大きくなってしまう、という問
題があった。
【0009】本発明は、上記事情を考慮してなされたも
ので、IPパケットのTTL(Tim To Liv
e)フィールドを用いた経路のループ検出ができないよ
うなラベルスイッチングパスを構成する場合に、効率的
かつ早期にラベルスイッチングパスのループを検出可能
なノード装置及びラベルスイッチングパスのループ検出
方法を提供することを目的とする。
【0010】
【課題を解決するための手段】本発明の一つの発明は、
ラベルスイッチングパスを設定するために上流から順に
流すメッセージに、初段ノード情報を含ませ、ラベルス
イッチングパスがループを形成する際には、同一のパケ
ットフローについて初段ノード情報を同じくするメッセ
ージを以前と異なる前段ノードから受信することにな
る、ということを利用する。
【0011】まず、本発明(請求項1)は、入力される
パケットフローを識別可能なラベル情報と少なくとも出
力側インタフェースを特定する情報との対応関係を参照
して、入力されたパケットをラベルスイッチングするノ
ード装置であって、前段ノード装置から受信した、ラベ
ルスイッチングパスの設定を要求するラベル割り当てメ
ッセージに基づいて、パケットフローをネットワークグ
ローバルに識別可能なフロー識別子および該ラベルスイ
ッチングパスの初段ノードに関する初段ノード情報を記
憶する手段と、前記ラベル割り当てメッセージと同一の
フロー識別子および初段ノード情報を含むラベル割り当
てメッセージを前記前段ノード装置とは異なるノード装
置から受信した場合には、ラベルスイッチングパスのル
ープが形成されるものと判断する手段とを備えたことを
特徴とする。
【0012】本発明(請求項2)は、出力されるパケッ
トフローを識別可能なラベル情報を使用して、ラベルス
イッチングされるべきパケットを送信するノード装置で
あって、ラベルスイッチングパスの設定を要求する、該
ラベルスイッチングパスの初段ノードに関する初段ノー
ド情報を少なくとも含むラベル割り当てメッセージであ
って、前記初段ノード情報が自ノードを指すものを受信
した場合には、ラベルスイッチングパスのループが形成
されるものと判断する手段を備えたことを特徴とする。
【0013】本発明(請求項3)は、入力されるパケッ
トフローを識別可能な入力側ラベル情報と出力されるパ
ケットフローを識別可能な出力側ラベル情報との対応関
係を参照して、入力されたパケットをラベルスイッチン
グするノード装置であって、パケットフローの経路上の
隣接ノード装置との間で、ラベルスイッチングパスの設
定を要求するラベル割り当てメッセージであって、該パ
ケットフローをネットワークグローバルに識別可能なフ
ロー識別子と該ラベルスイッチングパスの初段ノードに
関する初段ノード情報とを含むものを交換する手段と、
既存のラベルスイッチングパスに対して、前記フロー識
別子および前記初段ノード情報が一致し、かつ、前記入
力側ラベル情報を異ならせるようなラベル割当てメッセ
ージを受信した場合には、ラベルスイッチングパスのル
ープが形成されるものと判断する手段とを備えたことを
特徴とする。
【0014】本発明によれば、ホップカウントを用いる
場合に比べ、早期にループ検出が可能となる。
【0015】好ましくは、前記ラベルスイッチングパス
のループが形成されるものと判断された場合、受信した
前記ラベル割当てメッセージに対するラベル割当てのた
めの処理を行わないようにしてもよい。
【0016】好ましくは、前記ラベルスイッチングパス
のループが形成されるものと判断された場合、受信した
前記ラベル割当てメッセージの送信元である前段ノード
装置に対して、ラベル割当て失敗メッセージを送信する
ようにしてもよい。
【0017】好ましくは、後段ノード装置からラベル割
当て失敗メッセージを受信した場合、このラベル割当て
失敗メッセージに関係するラベル割当てメッセージを自
ノードに送信した前段ノード装置に対して、ラベル割当
て成功メッセージを送信する手段を更に具備するように
してもよい。
【0018】好ましくは、前記ラベル割り当てメッセー
ジは、このラベル割り当てメッセージの送信元である前
段ノード装置が割り当てた、前記ラベル情報の一部また
は全部を構成するラベル、もしくは、ラベルスイッチン
グパスの一部を構成する隣接ノード間のコネクションを
特定する識別子であって該ラベルを導出可能なものを含
むようにしてもよいし、あるいは前記ラベル割り当てメ
ッセージは、ラベルの割り当てを要求する識別子を含む
ものであり、受信したラベル割り当てメッセージに対す
るラベル割当て処理を行っても良いと判断された場合、
このラベル割り当てメッセージの送信元である前段ノー
ド装置へ、自ノードが割り当てた、前記ラベル情報の一
部または全部を構成するラベル、もしくは、ラベルスイ
ッチングパスの一部を構成する隣接ノード間のコネクシ
ョンを特定する識別子であって該ラベルを導出可能なも
のを含む、ラベル割り当て成功メッセージを返信する手
段を更に具備するようにしてもよい。
【0019】本発明(請求項9)は、入力されるパケッ
トフローを識別可能な入力側ラベル情報と出力されるパ
ケットフローを識別可能な一つまたは複数の出力側ラベ
ル情報との対応関係を参照して、入力されたパケットを
ラベルスイッチングするノード装置であって、パケット
フローの経路上の前段ノード装置との間、および、一つ
または複数の後段ノード装置それぞれとの間で、ラベル
スイッチングパスの設定を要求するラベル割り当てメッ
セージであって、該パケットフローをネットワークグロ
ーバルに識別可能なフロー識別子と該ラベルスイッチン
グパスの初段ノードに関する初段ノード情報とを含むも
のを交換する手段と、以前に交換したメッセージと同一
のフロー識別子及び初段ノード情報を含むメッセージを
以前とは異なる前段ノード装置から受信した場合、もし
くは、以前に交換したメッセージと同一のフロー識別子
及び初段ノード情報を含み前記入力側ラベル情報を異な
らせるようなメッセージを受信した場合には、ラベルス
イッチングパスのループが形成されるものと判断する手
段とを備えたことを特徴とする。
【0020】これにより、マルチキャストのラベルスイ
ッチングパスを設定する場合にも、ループ検出が可能と
なる。
【0021】本発明のもう一つの発明は、ラベルスイッ
チングパスを設定するためにメッセージを流す(初段か
ら下流へ向けて流す初段ノード主導でも、終段から上流
へ向けて流す終段ノード主導でもよい)際に、既に上流
もしくは下流にそのパケットフロー用のラベルスイッチ
ングパスが存在するノードに当たったならば、その既存
のラベルスイッチングパス上を、例えば更新メッセージ
を流すことにより、フローと同方向もしくは逆方向に辿
る。最後まで辿ってループが検出されなければ、ラベル
スイッチングパスを設定する。
【0022】この辿るときに使うメッセージに初段ノー
ド情報を含ませれば、ループが形成される際には同一の
パケットフローについて初段ノード情報を同じくするメ
ッセージを以前と異なる前段ノードから受信することに
なるため、これを利用してループが検出できる。あるい
は、メッセージを送受信するときに状態が未確定である
ことを示すフラグを立てておくことにすれば、ループが
形成される際には同一のパケットフローについてフラグ
が未確定を示しているノードにメッセージが到達するた
め、これを利用してループが検出できる。
【0023】すなわち、本発明(請求項10)は、入力
されるパケットフローを識別可能な一つまたは複数の入
力側ラベル情報と出力されるパケットフローを識別可能
な出力側ラベル情報との対応関係を参照して、入力され
たパケットをラベルスイッチングするノード装置であっ
て、パケットフローの経路上の隣接ノード装置との間
で、新たなラベルスイッチングパスを設定するためのメ
ッセージもしくは既存のラベルスイッチングパスを利用
するためのメッセージであって、該パケットフローをネ
ットワークグローバルに識別可能なフロー識別子と該ラ
ベルスイッチングパスの初段ノードに関する初段ノード
情報とを含むものを交換する手段と、以前に交換したメ
ッセージと同一のフロー識別子及び初段ノード情報を含
むメッセージを以前とは異なる前段ノード装置から受信
した場合、もしくは、以前に交換したメッセージと同一
のフロー識別子及び初段ノード情報を含み前記入力側ラ
ベル情報を異ならせるようなメッセージを受信した場合
には、ラベルスイッチングパスのループが形成されるも
のと判断する手段とを備えたことを特徴とする。
【0024】本発明によれば、ラベルのマージを行う場
合にも早期にループ検出が可能となる。
【0025】初段ノード主導の場合には、前記交換する
手段は、自装置の下流に前記パケットフロー用のラベル
スイッチングパスが存在しない場合に、新たなラベルス
イッチングパスを設定するためのメッセージとしてラベ
ル割り当てメッセージを後段ノード装置へ送信し、自装
置の下流に前記パケットフロー用のラベルスイッチング
パスが存在し、自装置の上流に対応するラベルスイッチ
ングパスを新たに設定しようとする場合に、既存のラベ
ルスイッチングパスを利用するためのメッセージとして
更新メッセージを後段ノード装置へ送信するものである
ようにするとよい。
【0026】終段ノード主導の場合には、前記交換する
手段は、自装置の下流に前記パケットフロー用のラベル
スイッチングパスが存在するが自装置の上流に対応する
ラベルスイッチングパスが存在しない場合に、新たなラ
ベルスイッチングパスを設定するためのメッセージとし
てラベル割り当てメッセージを後段ノード装置以外のノ
ード装置へ送信し、自装置の上流に前記パケットフロー
用のラベルスイッチングパスが存在するが自装置の下流
にあるべきラベルスイッチングパスが存在しない場合
に、新たなラベルスイッチングパスを設定するためのメ
ッセージとして照会メッセージを後段ノード装置へ送信
し、前段ノード装置から照会メッセージを受信し、自装
置の下流に前記パケットフロー用のラベルスイッチング
パスが存在する場合に、既存のラベルスイッチングパス
を利用するためのメッセージとして更新メッセージを後
段ノード装置へ送信するものであるようにするとよい。
【0027】終段ノード主導の場合には、さらに、前記
交換する手段は、後段ノード装置からラベル割り当てメ
ッセージを受信し、自装置の上流に前記パケットフロー
用のラベルスイッチングパスが存在しない場合に、ラベ
ル割り当て成功メッセージを後段ノード装置へ送信し、
前段ノード装置からラベル割り当て成功メッセージを受
信し、自装置の下流に前記パケットフロー用のラベルス
イッチングパスが存在する場合にも、前記更新メッセー
ジを後段ノード装置へ送信するものであるようにしても
よい。
【0028】以上の各発明において、後段ノード装置へ
送信するメッセージ(例えば、更新メッセージ、初段主
導の場合のラベル割り当てメッセージ、終段主導の場合
のラベル割り当て成功メッセージや照会メッセージ)中
にホップカウントをも含め、初段ノードからのホップカ
ウントがしきい値を越えた場合には、受信したメッセー
ジに関するラベルスイッチングパスの設定を行わないよ
うに処理するようにしてもよい。
【0029】本発明(請求項15)は、入力されるパケ
ットフローを識別可能な入力側ラベル情報と出力される
パケットフローを識別可能な出力側ラベル情報との対応
関係を参照して、入力されたパケットをラベルスイッチ
ングするとともに、同じネットワークグローバルなフロ
ー識別子を有するパケットフローに関し、一つの出力側
ラベル情報と複数の入力側ラベル情報とを対応させるこ
とによって、ラベルスイッチングパスのマージを行うノ
ード装置であって、ラベルスイッチングパスの設定を要
求する、フロー識別子、該ラベルスイッチングパスの初
段ノードに関する初段ノード情報およびホップカウント
値を少なくとも含むラベル割当てメッセージを受信した
場合、該ラベル割当てメッセージが既存のラベルスイッ
チングパスへのマージを伴うものであり、かつ、前記ホ
ップカウント値が既存のラベルスイッチングパスのホッ
プカウント値をより大きい値に更新させるものであるな
らば、直ちにはマージせず、該既存のラベルスイッチン
グパスにおける後段ノード装置に、前記フロー識別子、
マージした場合における初段ノード情報および更新され
たホップカウント値を少なくとも含むホップカウント更
新メッセージを送信する手段と、以前に前段ノード装置
から受信したラベル割り当てメッセージと同一のフロー
識別子および初段ノード情報を含むホップカウント更新
メッセージもしくはラベル割り当てメッセージを前記前
段ノード装置とは異なるノード装置から受信した場合に
は、ラベルスイッチングパスのループが形成されるもの
と判断する手段とを備えたことを特徴とする。
【0030】このようにホップカウントをメッセージに
含ませることで、例えば次に示すことも可能になる。
【0031】好ましくは、ループが形成されると判断さ
れた場合には、ホップカウント更新もしくはラベル割り
当てができないことを、ホップカウント更新もしくはラ
ベル割り当てメッセージを自ノードに送信した前段ノー
ド装置に通知する手段と、ホップカウント更新ができな
いことを通知された場合には、ラベル割り当てができな
いことを、ラベル割り当てメッセージを自ノードに送信
した前段ノード装置に通知する手段と、ラベル割り当て
ができないことを通知された場合には、ホップカウント
がしきい値を越えないならば、ホップカウント更新がで
きることを、ホップカウント更新メッセージを自ノード
に送信した前段ノード装置に通知する手段と、ホップカ
ウント更新ができることを通知された場合には、設定を
要求されたラベルスイッチングパスを既存のラベルスイ
ッチングパスにマージすることにより設定する手段とを
更に備えるようにしてもよい。
【0032】また、好ましくは、ラベルスイッチングパ
スの設定を要求する、フロー識別子、該ラベルスイッチ
ングパスの初段ノードに関する初段ノード情報およびホ
ップカウント値を少なくとも含むラベル割り当てメッセ
ージを受信した場合、該ラベルメッセージが既存のラベ
ルスイッチングパスへのマージを伴うものであり、か
つ、前記ホップカウント値が既存のラベルスイッチング
パスのホップカウント値をより大きい値に更新させるも
のでないならば、設定を要求されたラベルスイッチング
パスを既存のラベルスイッチングパスにマージすること
により設定する手段を更に備えるようにしてもよい。
【0033】また、好ましくは、前記送信する手段は、
更新されたホップカウント値に対応する初段ノードに関
する情報を、前記ホップカウント更新メッセージが含
む、マージした場合における初段ノード情報とし、マー
ジされたラベルスイッチングパスの一部が解放されマー
ジが行われなくなった場合に、解放されたパスに対応す
る初段ノード情報が前記ホップカウント更新メッセージ
に含まれていたならば、マージされなくなった場合にお
ける初段ノード情報とホップカウント値とを含むホップ
カウント更新メッセージを送信する手段を含むものであ
るようにしてもよい。
【0034】また、好ましくは、前記送信する手段は、
更新されたホップカウント値に対応する初段ノードもし
くは既存のラベルスイッチングパスの初段ノードに関す
る情報を、前記ホップカウント更新メッセージが含む、
マージした場合における初段ノード情報とし、マージさ
れたラベルスイッチングパスの一部が解放されマージが
行われなくなった場合に、解放されたパスに対応する初
段ノード情報が前記ホップカウント更新メッセージに含
まれていたならば、マージされなくなった場合における
初段ノード情報を含む更新メッセージを(たとえマージ
されなくなったことによってホップカウント値が変化し
なくても)送信する手段を含むものであるようにしても
よい。
【0035】以上の各発明において、前記初段ノード情
報として、初段ノードの出力インタフェースに対して割
り当てられるネットワークレイヤアドレスを用いるよう
にしてもよいし、あるいは前記初段ノード情報として、
初段ノードの出力インタフェースに対して割り当てられ
るネットワークレイヤアドレスと初段ノードの出力イン
タフェースローカルに割り当てられる識別子とからなる
組を用いるようにしてもよい。前者によれば、初段ノー
ドがネットワークグローバルに識別できるようになる。
あるいは後者によれば、1つの初段ノードから同一フロ
ーに対して複数のラベル割り当て要求を送信することが
できるようになり、ラベル割当てプロトコルがフレキシ
ブルになり、異なるラベル割当てプロトコルの間で相互
接続やマルチパスに対応したラベルスイッチングパスの
設定等が容易になる。
【0036】本発明(請求項22)は、入力されるパケ
ットフローを識別可能な一つまたは複数(複数の場合は
ラベルスイッチングパスのマージになる)の入力側ラベ
ル情報と出力されるパケットフローを識別可能な出力側
ラベル情報との対応関係を参照して、入力されたパケッ
トをラベルスイッチングするノード装置であって、パケ
ットフローの経路上の隣接ノード装置との間で、新たな
ラベルスイッチングパスを設定するためのメッセージも
しくは既存のラベルスイッチングパスを利用するための
メッセージであって、該パケットフローをネットワーク
グローバルに識別可能なフロー識別子を含むものを交換
する手段と、この交換されたメッセージに対応する返答
(成功もしくは失敗)メッセージを受信するまでは該メ
ッセージに対応するラベルスイッチングパスの設定が未
確定なものであることを示す情報を記憶する手段と、以
前に交換したメッセージと同一のフロー識別子を含むメ
ッセージを受信した場合に、このフロー識別子に対応し
て前記未確定なものであることを示す情報が記憶されて
いるならば、受信した前記メッセージに対応する失敗メ
ッセージを返送する手段とを備えたことを特徴とする。
【0037】なお、何らかの原因で一定時間いずれのメ
ッセージも返ってこない場合には、失敗メッセージを受
信したとみなして動作することが好ましい。
【0038】この発明によっても、早期にループを検出
することが可能となる。
【0039】初段ノード主導でラベルスイッチングパス
を設定し、ループ検出のためのメッセージをフローと同
方向に流す場合は、前記交換する手段は、自装置の下流
に前記パケットフロー用のラベルスイッチングパスが存
在しない場合に、新たなラベルスイッチングパスを設定
するためのメッセージとしてラベル割り当てメッセージ
を後段ノード装置へ送信し、自装置の下流に前記パケッ
トフロー用のラベルスイッチングパスが存在し、自装置
の上流に対応するラベルスイッチングパスを新たに設定
しようとする場合に、既存のラベルスイッチングパスを
利用するためのメッセージとして更新メッセージを後段
ノード装置へ送信するものであるようにすることができ
る。
【0040】初段ノード主導でラベルスイッチングパス
を設定し、ループ検出のためのメッセージをフローと逆
方向に流す場合は、前記交換する手段は、自装置の下流
に前記パケットフロー用のラベルスイッチングパスが存
在しない場合に、新たなラベルスイッチングパスを設定
するためのメッセージとしてラベル割り当てメッセージ
を後段ノード装置へ送信し、自装置の下流に前記パケッ
トフロー用のラベルスイッチングパスが存在し、自装置
の上流に対応するラベルスイッチングパスを新たに設定
しようとする場合に、新たなラベルスイッチングパスを
設定するためのメッセージとして照会メッセージを前段
ノード装置へ送信し、後段ノード装置から照会メッセー
ジを受信し、自装置の上流に前記パケットフロー用のラ
ベルスイッチングパスが存在する場合に、既存のラベル
スイッチングパスを利用するためのメッセージとして更
新メッセージを該上流のラベルスイッチングパスの前段
ノード装置へ送信するものであるようにすることができ
る。
【0041】終段ノード主導でラベルスイッチングパス
を設定し、ループ検出のためのメッセージをフローと同
方向に流す場合は、前記交換する手段は、自装置の下流
に前記パケットフロー用のラベルスイッチングパスが存
在するが自装置の上流に該ラベルスイッチングパスが存
在しない場合に、新たなラベルスイッチングパスを設定
するためのメッセージとしてラベル割り当てメッセージ
を後段ノード装置以外のノード装置へ送信し、自装置の
上流に前記パケットフロー用のラベルスイッチングパス
が存在するが自装置の下流にあるべきラベルスイッチン
グパスが存在しない場合に、新たなラベルスイッチング
パスを設定するためのメッセージとして照会メッセージ
を後段ノード装置へ送信し、前段ノード装置から照会メ
ッセージを受信し、自装置の下流に前記パケットフロー
用のラベルスイッチングパスが存在する場合に、既存の
ラベルスイッチングパスを利用するためのメッセージと
して更新メッセージを後段ノード装置へ送信するもので
あるようにすることができる。
【0042】終段ノード主導でラベルスイッチングパス
を設定し、ループ検出のためのメッセージをフローと逆
方向に流す場合は、前記交換する手段は、自装置の下流
に前記パケットフロー用のラベルスイッチングパスが存
在するが自装置の上流に該ラベルスイッチングパスが存
在しない場合に、新たなラベルスイッチングパスを設定
するためのメッセージとしてラベル割り当てメッセージ
を後段ノード装置以外のノード装置へ送信し、自装置の
上流に前記パケットフロー用のラベルスイッチングパス
が存在するが自装置の下流にあるべきラベルスイッチン
グパスが存在せずこれを新たに設定しようとする場合
に、既存のラベルスイッチングパスを利用するためのメ
ッセージとして更新メッセージを該上流のラベルスイッ
チングパスの前段ノード装置へ送信するものであるよう
にすることができる。
【0043】本発明(請求項27)は、入力されるパケ
ットフローを識別可能な入力側ラベル情報と出力される
パケットフローを識別可能な出力側ラベル情報との対応
関係を参照して、入力されたパケットをラベルスイッチ
ングすると共に、同じネットワークグローバルなフロー
識別子を有するパケットフローに関し、一つの出力側ラ
ベル情報と複数の入力側ラベル情報とを対応させること
によって、ラベルスイッチングパスのマージを行うノー
ド装置であって、ラベルスイッチングパスの設定を要求
する、フロー識別子とホップカウント値とを含むラベル
割り当てメッセージを受信した場合、該ラベル割り当て
メッセージが既存のラベルスイッチングパスへのマージ
を伴うものであり、かつ、前記ホップカウント値が既存
のラベルスイッチングパスのホップカウント値をより大
きい値に更新させるものであるならば、該既存のラベル
スイッチングパスにおける後段ノード装置に、前記フロ
ー識別子と更新されたホップカウント値を含むホップカ
ウント更新メッセージを送信する手段と、受信した前記
ラベル割り当てメッセージに基づいて前記フロー識別子
及び前記対応関係を記憶すると共に、前記ホップカウン
ト更新メッセージに対応する成功メッセージを受信する
までは、該対応関係の記憶が未確定なものであることを
示す情報を記憶する手段と、以前に受信したホップカウ
ント更新メッセージもしくはラベル割り当てメッセージ
と同一のフロー識別子を含むホップカウント更新メッセ
ージもしくはラベル割り当てメッセージを受信した場合
に、このフロー識別子に対応して前記対応関係の記憶が
未確定なものであることを示す情報が記憶されているな
らば、受信した前記ホップカウント更新メッセージもし
くはラベル割り当てメッセージに対応する失敗メッセー
ジを返送する手段とを備えたことを特徴とする。
【0044】なお、このようにホップカウントをメッセ
ージに含ませることにより、ホップカウント値をより大
きい値に更新させるものでない場合には、直ちにマージ
(「確定」として対応関係を記憶)することも可能にな
る。
【0045】本発明(請求項28)は、入力されるパケ
ットフローを識別可能なラベル情報と少なくとも出力側
インタフェースを特定する情報との対応関係を参照し
て、入力されたパケットをラベルスイッチングするノー
ド装置におけるラベルスイッチングパスのループ検出方
法であって、前段ノード装置から受信した、ラベルスイ
ッチングパスの設定を要求するラベル割り当てメッセー
ジに基づいて、前記ラベル情報と、このラベル情報にて
識別されるパケットフローをネットワークグローバルに
識別可能なフロー識別子、および該ラベルスイッチング
パスの初段ノードに関する初段ノード情報を設定した後
に、該ラベル割り当てメッセージと同一のフロー識別子
および初段ノード情報を含むラベル割り当てメッセージ
を前記前段ノード装置とは異なるノード装置から受信し
た場合には、ラベルスイッチングパスのループが形成さ
れるものと判断することを特徴とする。
【0046】本発明(請求項29)は、出力されるパケ
ットフローを識別可能なラベル情報を使用して、パケッ
トをラベルスイッチングするノード装置におけるラベル
スイッチングパスのループ検出方法であって、ラベルス
イッチングパスの設定を要求する、該ラベルスイッチン
グパスの初段ノードに関する初段ノード情報を少なくと
も含むラベル割り当てメッセージであって、前記初段ノ
ード情報が自ノードを指すものを受信した場合には、ラ
ベルスイッチングパスのループが形成されるものと判断
することを特徴とする。
【0047】本発明(請求項30)は、入力側リンクの
リンク識別子およびリンクローカルにパケットフローを
識別可能なラベルからなる入力側ラベル情報と、出力側
リンクのリンク識別子およびリンクローカルにパケット
フローを識別可能なラベルからなる出力側ラベル情報と
の対応関係を参照して、入力されたパケットをラベルス
イッチングするノード装置におけるラベルスイッチング
パスのループ検出方法であって、パケットフローの経路
上の隣接ノード装置との間で、ラベルスイッチングパス
の設定を要求するラベル割り当てメッセージであって、
該パケットフローをネットワークグローバルに識別可能
なフロー識別子と該ラベルスイッチングパスの初段ノー
ドに関する初段ノード情報とを含むものを交換するとと
もに、既存のラベルスイッチングパスに対して、前記フ
ロー識別子および前記初段ノード情報が一致し、かつ、
前記入力側ラベル情報を異ならせるようなラベル割当て
メッセージを受信した場合には、ラベルスイッチングパ
スのループが形成されるものと判断することを特徴とす
る。
【0048】本発明(請求項31)は、入力されるパケ
ットフローを識別可能な入力側ラベル情報と出力される
パケットフローを識別可能な一つまたは複数の出力側ラ
ベル情報との対応関係を参照して、入力されたパケット
をラベルスイッチングするノード装置におけるラベルス
イッチングパスのループ検出方法であって、パケットフ
ローの経路上の前段ノード装置との間、および、一つま
たは複数の後段ノード装置それぞれとの間で、ラベルス
イッチングパスの設定を要求するラベル割り当てメッセ
ージであって、該パケットフローをネットワークグロー
バルに識別可能なフロー識別子と該ラベルスイッチング
パスの初段ノードに関する初段ノード情報とを含むもの
を交換し、以前に交換したメッセージと同一のフロー識
別子及び初段ノード情報を含むメッセージを以前とは異
なる前段ノード装置から受信した場合、もしくは、以前
に交換したメッセージと同一のフロー識別子及び初段ノ
ード情報を含み前記入力側ラベル情報を異ならせるよう
なメッセージを受信した場合には、ラベルスイッチング
パスのループが形成されるものと判断することを特徴と
する。
【0049】本発明(請求項32)は、入力されるパケ
ットフローを識別可能な一つまたは複数の入力側ラベル
情報と出力されるパケットフローを識別可能な出力側ラ
ベル情報との対応関係を参照して、入力されたパケット
をラベルスイッチングするノード装置におけるラベルス
イッチングパスのループ検出方法であって、パケットフ
ローの経路上の隣接ノード装置との間で、新たなラベル
スイッチングパスを設定するためのメッセージもしくは
既存のラベルスイッチングパスを利用するためのメッセ
ージであって、該パケットフローをネットワークグロー
バルに識別可能なフロー識別子と該ラベルスイッチング
パスの初段ノードに関する初段ノード情報とを含むもの
を交換し、以前に交換したメッセージと同一のフロー識
別子及び初段ノード情報を含むメッセージを以前とは異
なる前段ノード装置から受信した場合、もしくは、以前
に交換したメッセージと同一のフロー識別子及び初段ノ
ード情報を含み前記入力側ラベル情報を異ならせるよう
なメッセージを受信した場合には、ラベルスイッチング
パスのループが形成されるものと判断することを特徴と
する。
【0050】本発明(請求項33)は、入力されるパケ
ットフローを識別可能な入力側ラベル情報と出力される
パケットフローを識別可能な出力側ラベル情報との対応
関係を参照して、入力されたパケットをラベルスイッチ
ングするとともに、同じネットワークグローバルなフロ
ー識別子を有するパケットフローに関し、一つの出力側
ラベル情報と複数の入力側ラベル情報とを対応させるこ
とによって、ラベルスイッチングパスのマージを行うノ
ード装置におけるラベルスイッチングパスのループ検出
方法であって、ラベルスイッチングパスの設定を要求す
る、フロー識別子、該ラベルスイッチングパスの初段ノ
ードに関する初段ノード情報およびホップカウント値を
少なくとも含むラベル割当てメッセージを受信した場
合、該ラベル割当てメッセージが既存のラベルスイッチ
ングパスへのマージを伴うものであり、かつ、前記ホッ
プカウント値が既存のラベルスイッチングパスのホップ
カウント値をより大きい値に更新させるものであるなら
ば、直ちにはマージせず、該既存のラベルスイッチング
パスにおける後段ノード装置に、前記フロー識別子、マ
ージした場合における初段ノード情報および更新された
ホップカウント値を少なくとも含むホップカウント更新
メッセージを送信するとともに、以前に前段ノード装置
から受信したラベル割り当てメッセージと同一のフロー
識別子および初段ノード情報を含むホップカウント更新
メッセージもしくはラベル割り当てメッセージを前記前
段ノード装置とは異なるノード装置から受信した場合に
は、ラベルスイッチングパスのループが形成されるもの
と判断することを特徴とする。
【0051】本発明(請求項34)は、入力されるパケ
ットフローを識別可能な一つまたは複数の入力側ラベル
情報と出力されるパケットフローを識別可能な出力側ラ
ベル情報との対応関係を参照して、入力されたパケット
をラベルスイッチングするノード装置におけるラベルス
イッチングパスのループ検出方法であって、パケットフ
ローの経路上の隣接ノード装置との間で、新たなラベル
スイッチングパスを設定するためのメッセージもしくは
既存のラベルスイッチングパスを利用するためのメッセ
ージであって、該パケットフローをネットワークグロー
バルに識別可能なフロー識別子を含むものを交換し、こ
の交換されたメッセージに対応する成功メッセージを受
信するまでは該メッセージに対応するラベルスイッチン
グパスの設定が未確定なものであることを示す情報を記
憶し、以前に交換したメッセージと同一のフロー識別子
を含むメッセージを受信した場合に、このフロー識別子
に対応して前記未確定なものであることを示す情報が記
憶されているならば、受信した前記メッセージに対応す
る失敗メッセージを返送することを特徴とする。
【0052】本発明(請求項35)は、入力されるパケ
ットフローを識別可能な入力側ラベル情報と出力される
パケットフローを識別可能な出力側ラベル情報との対応
関係を参照して、入力されたパケットをラベルスイッチ
ングすると共に、同じネットワークグローバルなフロー
識別子を有するパケットフローに関し、一つの出力側ラ
ベル情報と複数の入力側ラベル情報とを対応させること
によって、ラベルスイッチングパスのマージを行うノー
ド装置におけるラベルスイッチングパスのループ検出方
法であって、ラベルスイッチングパスの設定を要求す
る、フロー識別子とホップカウント値とを含むラベル割
り当てメッセージを受信した場合、該ラベル割り当てメ
ッセージが既存のラベルスイッチングパスへのマージを
伴うものであり、かつ、前記ホップカウント値が既存の
ラベルスイッチングパスのホップカウント値をより大き
い値に更新させるものであるならば、該既存のラベルス
イッチングパスにおける後段ノード装置に、前記フロー
識別子と更新されたホップカウント値を含むホップカウ
ント更新メッセージを送信し、受信した前記ラベル割り
当てメッセージに基づいて前記フロー識別子及び前記対
応関係を記憶すると共に、前記ホップカウント更新メッ
セージに対応する成功メッセージを受信するまでは、該
対応関係の記憶が未確定なものであることを示す情報を
記憶し、以前に受信したホップカウント更新メッセージ
もしくはラベル割り当てメッセージと同一のフロー識別
子を含むホップカウント更新メッセージもしくはラベル
割り当てメッセージを受信した場合に、このフロー識別
子に対応して前記対応関係の記憶が未確定なものである
ことを示す情報が記憶されているならば、受信した前記
ホップカウント更新メッセージもしくはラベル割り当て
メッセージに対応する失敗メッセージを返送することを
特徴とする。
【0053】なお、ホップカウント値をより大きい値に
更新させるものでない場合には、直ちにマージ(「確
定」として対応関係を記憶)して構わない。
【0054】なお、装置に係る本発明は方法に係る発明
としても成立し、方法に係る本発明は装置に係る発明と
しても成立する。
【0055】また、装置または方法に係る本発明は、コ
ンピュータに当該発明に相当する手順を実行させるため
の(あるいはコンピュータを当該発明に相当する手段と
して機能させるための、あるいはコンピュータに当該発
明に相当する機能を実現させるための)プログラムを記
録したコンピュータ読取り可能な記録媒体としても成立
する。
【0056】
【発明の実施の形態】以下、図面を参照しながら発明の
実施の形態を説明する。
【0057】本発明は、(1)初段ノード主導でラベル
スイッチングパスを生成する、すなわちラベル割り当て
メッセージが初段ノードから後段ノードの方向に送信さ
れ、ラベル割り当て成功/失敗メッセージが終段ノード
から前段ノードの方向に送信される場合(Ingres
s Controlと呼ぶ)にも、(2)終段ノード主
導でラベルスイッチングパスを生成する、すなわちラベ
ル割り当てメッセージが終段ノードから前段ノードの方
向に送信され、ラベル割り当て成功/失敗メッセージが
初段ノードから後段ノードの方向に送信される場合(E
gress Controlと呼ぶ)にも、適用可能で
ある。
【0058】本実施形態では、ラベルスイッチングパス
のループ検出のために、確定フラグを用いる手段と初段
ノード情報を用いる手段を提供する。
【0059】確定フラグは、ループ検出の目的以外で
も、ラベル割り当て要求メッセージまたは更新メッセー
ジを後段ノード/前段ノードに送信後、メッセージに対
するACK待ちの状態の時に別のラベル割り当て要求メ
ッセージまたは更新メッセージを上流ノード/下流ノー
ドから受信した場合には受信したメッセージを受付けな
いようにすることにより、各ノードがもつラベルスイッ
チングパスの状態をネットワーク全体で一貫性を保つた
めにも使用できる。
【0060】初段ノード情報は、確定フラグを用いた場
合よりも早期にループを検出するために使用できる。
【0061】初段ノード主導(Ingress Con
trol)の場合、ネットワークのノード全部がラベル
のマージを行なう場合には、確定フラグのみを用いたル
ープ検出が可能である。終段ノード主導(Egress
Control)の場合、ネットワークのノード全部
がラベルのマージを行なう場合にも、ネットワークのノ
ードの一部または全部がラベルのマージを行なわない場
合にも、確定フラグのみを用いたループ検出が可能であ
る。
【0062】初段ノード主導(Ingress Con
trol)の場合、ネットワークのノード全部がラベル
のマージを行なわない場合あるいはネットワークがラベ
ルのマージを行なうノードと行なわないノードとから構
成される場合には、ループ検出に初段ノード情報を用い
る方がよい。
【0063】本実施形態では、ホップカウントは、ルー
プを検出するためでなく、パスのホップ数に上限を設け
るために使用することができる。この結果、(1)IP
パケットのTTL(Time To Live)フィー
ルドをラベルスイッチングパスの入口または出口でパス
のホップ数の分だけデクリメントする制御、(2)ラベ
ルのマージを行なわない場合には、ホップ数が増え続け
るようなスパイラル状のループが構成されるのを防ぐ制
御(Ingress Controlの場合)、(3)
ラベルのマージを行なう場合には、初段からの最大のホ
ップ数が変化しないようなマージに対しては、後段ノー
ドに状態の変化を通知するメッセージを送信することな
くラベルのマージを行なう制御が可能になる。
【0064】なお、ラベルスイッチングパスのループ検
出の手順としては、これに用いる情報としてホップカウ
ントと初段ノード情報と確定フラグとを組み合わせて使
用する種々の手順が可能である。
【0065】同一のパケットフローとする形態には、
(1)宛先IPアドレスが同じパケットを同一のパケッ
トフローとする、(2)ネットワークマスクに対応する
宛先IPアドレスの部分(すなわち宛先IPアドレスの
上位の所定ビット)が同じパケットを同一のパケットフ
ローとする、(3)送信元IPアドレスと宛先IPアド
レスの組が同じパケットを同一のパケットフローとす
る、(4)第1のネットワークマスクに対応する送信元
IPアドレスの部分と第2のネットワークマスクに対応
する宛先IPアドレスの部分との組が同じパケットを同
一のパケットフローとする、(5)あるIPアドレスを
持つノードを通るパケットを同一のパケットフローとす
る、(6)上記の(1)〜(5)において、送信元およ
び/または宛先のポート番号をも組にしたものが同一で
あるパケットを同一のパケットフローとする、などが種
々のもの考えられる。本実施形態では、宛先IPアドレ
スが同じパケットは同一のパケットフローであるものと
する。
【0066】最初に、ラベル割り当てメッセージが初段
ノードから後段ノードの方向に送信され、ラベル割り当
て成功/失敗メッセージが終段ノードから前段ノードの
方向に送信される場合(Ingress Contro
l)について説明する。
【0067】(第1の実施形態)まず、本発明の第1の
実施形態に係るラベル割り当てプロトコルおよびこのラ
ベル割り当てプロトコルに従ってラベルスイッチングを
行うノード装置について説明する。なお、ここでは、ノ
ード装置が後段ノードにメッセージ送信後ACK信号待
ちのときに、前段ノードから状態の変更を伴うメッセー
ジを受信しないような排他制御を別に行っているものと
する。
【0068】図1に本実施形態に係るノード装置を接続
して構成されたネットワークの一例を示す。
【0069】図1では、本実施形態に係るノード装置R
1〜R5が接続されており、特にノード装置R2〜R5
でループが形成されている。なお、図1は、ネットワー
クの一部を切り出したもので、ノード装置R1〜R5の
全てまたは一部には図示しない他のノード装置が接続さ
れている。
【0070】ノード装置R1〜R5は、それぞれ、IP
(Internet Protocol)処理を行う機
能を持つとともに、本実施形態に係るラベル割り当てプ
ロトコルに従ってラベルスイッチングを行う機能を持
つ。また、末端に位置し中継を行わないノード装置以外
のノード装置は、ルータ機能を持つ。例えば、図1にお
いて、ノード装置R2〜R5はルータ機能を持ち、ルー
タ装置R1についてはこれが末端に位置し中継を行わな
いものである場合にはルータ機能は不要である。
【0071】また、本実施形態では、ネットワークの各
ノード装置ではラベルのマージは行わないものとする。
【0072】ラベルスイッチングパスは、初段ノード装
置を起点として、次々と後段ノード装置にラベル割り当
てメッセージを送信してゆくことで形成される。本実施
形態では、このラベル割り当てメッセージには、少なく
とも、初段ノード情報(Ingress)、フローID
(Flowid)、および、リンクID(Linki
d)が含まれる。リンクIDとして、ラベル(Labe
l)、レイヤ2コネクション識別子、ラベル割り当てメ
ッセージの送信ノードのアドレス、または、ラベル割当
てをラベル割り当てメッセージを受信した下流側ノード
が行なう場合(Downstream on dema
nd割当て)にはリクエスト識別子、またはこれらの2
つ以上の組合せが使用される。
【0073】初段ノード情報としては、初段ノード装置
の出力インターフェースに対して割り当てられたIPア
ドレスの一つを使用する。このIPアドレスは、ネット
ワークグローバルなアドレスである。
【0074】フローIDは、ネットワークグローバルに
パケットフローを識別する情報である。
【0075】メッセージに含まれるラベルは、リンクロ
ーカルにパケットフローを識別する情報であるものと
し、リクエスト識別子も同様とする。
【0076】実際にラベルスイッチングパスが確立する
のは、上記のラベル割り当てメッセージに対応して、終
段ノードから、次々と前段ノード装置にラベル割り当て
成功メッセージが返信された場合である。なお、ここで
は、ラベルスイッチングパスの終段ノードまでラベル割
り当てメッセージが届いた後に、そこから順々にラベル
割り当て成功メッセージが返ってくるラベル割り当てプ
ロトコルの例を主に説明するが、ラベルスイッチングパ
スの経路上の途中のノードが、ラベル割り当てメッセー
ジが終段ノードへ届き対応するラベル割り当て成功メッ
セージが返ってくるのを待たずに、前段ノード装置にラ
ベル割り当て成功メッセージを返すようなラベル割り当
てプロトコルを用いることも可能である。
【0077】本実施形態では、ラベル割当てをラベル割
り当てメッセージを送信するノード(上流側ノード)が
行なう場合(Upstream割当て)、すなわち、ラ
ベル割り当てメッセージに「ラベル」が含まれる場合を
例にとり説明するが、Downstream on d
emand割当ての場合には、ラベル割り当てメッセー
ジには「リクエスト識別子」が含まれ、これに対応して
返送されてくるラベル割り当て成功メッセージに「ラベ
ル」もしくは「レイヤ2コネクション識別子」が含まれ
ることになる。
【0078】各ノード装置は、隣接ノード装置に対する
入出力インタフェースを識別するインタフェースIDの
情報を持つ。あるパケットフローに対して自ノードの上
流に割り当てられたラベルと上流側のインタフェースI
Dとの組を入力側ラベルと呼び、そのパケットフローに
対して自ノードの下流に割り当てられたラベルと下流側
のインタフェースIDとの組を出力側ラベルと呼ぶ。な
お、インタフェースを一つしか持たないノードでは、イ
ンタフェースIDは用いなくても良い。ここで、説明の
ために、ノード装置R2のノード装置R1に対するイン
タフェースIDをi1、ノード装置R5に対するインタ
フェースIDをi5、ノード装置R3に対するインタフ
ェースIDをi3とする。
【0079】そして、確立されたラベルスイッチングパ
スを用いて実際にパケット転送を行う場合には、パケッ
トに含まれるラベルの情報に基づき、上記の入力側ラベ
ルと出力側ラベルの対応関係を参照して、IP処理を省
略したパケット転送(ラベルスイッチング)を行う。
【0080】前段ノードから送信されるラベル割り当て
メッセージもしくは自ノードが返信するラベル割り当て
成功メッセージに「ラベル」が含まれている場合には、
これが入力側ラベルを構成するラベルとなる。自ノード
が送信するラベル割り当てメッセージもしくは後段ノー
ドから返信されるラベル割り当て成功メッセージに「ラ
ベル」が含まれている場合には、これが出力側ラベルを
構成するラベルとなる。
【0081】一方、ラベル割り当てメッセージもしくは
ラベル割り当て成功メッセージに含まれるのが「ラベ
ル」ではなく、「レイヤ2コネクション識別子」の場合
は、このレイヤ2コネクション識別子に対応して別途求
められたラベルが、上記の入力側ラベルや出力側ラベル
を構成するラベルとなる。具体的には、リンクレイヤが
ATMで、隣接ノード間にATMスイッチが挟まれるネ
ットワーク構成の場合、「ラベル」として実際のスイッ
チングに使用されるのはVPI/VCIであるが、この
値は途中のATMスイッチで書き換えられてしまうた
め、隣接ノード間のATMコネクションを両端のノード
が一意に識別できるようにVCID(Virtual
Connection ID) と呼ばれる別の識別子
を用いる。このVCIDがラベル割り当てプロトコルに
含まれる「レイヤ2コネクション識別子」の一例であ
る。
【0082】メッセージに含まれる上記の「リンクI
D」と、メッセージを受信したインタフェースIDとを
組み合わせると、ラベル割り当てメッセージもしくは
(ホップカウント)更新メッセージを受信したノード
は、以前に同じフロー識別子、同じ初段ノード情報に対
するラベル割り当てメッセージを受信した際とは異なる
前段ノードからこれを受信したということを検出でき
る。そして、この場合にループと判断する。
【0083】なお、上流の隣接ノードが上記のループ検
出機能を持たない場合、以前と同じフロー識別子、同じ
初段ノード情報に対するラベル割り当てメッセージであ
って、異なるラベル(もしくはレイヤ2コネクション識
別子またはリクエスト識別子)を含むものを、以前と同
じ前段ノードから受信することがあり得る。その場合
は、これを受信したノードが、上流の隣接ノードに代わ
って、ループ検出をすることになる。したがって、ルー
プ検出機能を、同じフロー識別子及び初段ノード情報の
メッセージを以前と異なる前段ノードから受信したか否
かを陽に検出するのではなく、同じフロー識別子及び初
段ノード情報と以前と異なるラベル(もしくはレイヤ2
コネクション識別子またはリクエスト識別子)とを含む
メッセージを受信したか否かを検出するように、構成し
てもよい。こうすれば、一つの判断基準で、上流の隣接
ノードにループ検出機能が有れば、異なる前段ノードか
ら受信したかどうかを検出していることになり、上流の
隣接ノードにループ検出機能が無ければ、異なるラベル
を受信したかどうかで上流で見落としたループをも検出
していることになる。
【0084】以降の説明では、「ラベル」を「リンクI
D」として用いる場合について述べる。ラベル以外のも
のをリンクIDとして用いる場合には、以降の説明の
「ラベル」の部分を「レイヤ2コネクション識別子」、
「ラベル割り当てメッセージの送信ノードのアドレ
ス」、または「リクエスト識別子」、または、これらと
「ラベル」のうちの2つ以上の組合せに置き換えれば、
同様にループ検出ができる。例えば、上流の隣接ノード
から受信したメッセージに含まれる「レイヤ2コネクシ
ョン識別子」、「ラベル割り当てメッセージの送信ノー
ドのアドレス」、または「リクエスト識別子」と、上流
側のインタフェースIDとの組を、入力側ラベルと呼ぶ
ことになる。
【0085】但し、以降に説明する例においては、「入
力側ラベル」を、同一フロー識別子、同一初段ノード情
報に係るメッセージを以前と異なる前段ノードから受信
したか否かの検出(異なるならばループと判断)だけで
はなく、同一フロー識別子に係るメッセージを以前と同
一の前段ノードから異なる初段ノード情報に係るものと
して受信したか否かの区別(異なるならば新たなラベル
スイッチングパスの設定を続行)にも用いているため、
上流の隣接ノードがラベルのマージを行なわない場合に
は、「ラベル」を「ラベル割り当てメッセージの送信ノ
ードのアドレス」単独に置き換えるのではなく、「レイ
ヤ2コネクション識別子」もしくは「リクエスト識別
子」に置き換える(これらであれば単独でも構わない)
か、「ラベル割り当てメッセージの送信ノードのアドレ
ス」とその他のリンクIDとの組合せに置き換えるかす
ることが好ましい。
【0086】なお、上記及び以降の説明では、メッセー
ジに含まれる「リンクID」を用いて、同じフロー識別
子、同じ初段ノード情報に対するラベル割り当てメッセ
ージを異なる前段ノードから受信したことを検出(ルー
プと判断)するが、メッセージを受信した「インタフェ
ースID」だけでもこの検出が行える場合がある。それ
は、隣接ノード同士が、図2のようなバス型接続でな
く、図3のようなポイント−ポイントリンクで接続され
ている場合である。なお、このように入力側ラベルの代
わりにインターフェースID単独を用いて(リンクID
には依らずに)ループ検出するのは、上流の隣接ノード
がラベルのマージを行なう場合とすることが好ましい。
【0087】また、図2の場合には、リンクID(例え
ばラベル)を用いてループ検出するが、このラベルやリ
クエスト識別子は、下流側のノードから見て、異なる前
段ノードからのものはその値が異なっているように、上
流側のそれぞれのノードが割り当てる。
【0088】図1には、ノード装置R1からR2、R2
からR3、R3からR4、R4からR5、R5からR2
へそれぞれ送られるラベル割当てメッセージm1、m
2、m3、m4、m5を示してある。
【0089】なお、mi=(初段ノード(Ingres
s)=x1,フロー識別子(Fiowid)=x2,ラ
ベル(Label)=x3)は、ラベル割当てメッセー
ジmiに、初段ノード情報としてx1、フローIDとし
てx2、ラベルとしてx3が含まれることを示す。
【0090】ノード装置がラベル割当てメッセージを初
段として送信する契機には、例えば、次のような形態が
ある。 (1)各々のノード装置が、宛先destに対するルー
ティングテーブルが生成されたときを契機に、ラベル割
当てメッセージを送信する。 (2)各々のノード装置が、宛先destに対するルー
ティングテーブルが生成された後に宛先destに対す
るトラヒック量がしきい値を越えた場合を契機に、ラベ
ル割当てメッセージを送信する。 (3)宛先destに対するルーティングテーブルが生
成された後に、宛先destに対するトラヒック量がし
きい値を越え、かつ、トラヒック(データグラム)の前
段ノード装置が本実施形態に係るラベル割り当てプロト
コルをサポートしない、という条件をみたすノード装置
のみが、これを契機に自ノードを初段と判断してラベル
割当てメッセージを送信する(例えばINTERNET
−DRAFT <draft−ietf−rolc−n
hrp−l1.txt> NBMA Next Hop
Resolution Protocol(NHR
P)参照)。
【0091】次に、本実施形態のラベル割り当てプロト
コルに従った動作について説明する。
【0092】ここでは、ノード装置R1から宛先アドレ
スdest宛のパケットのルートが、ノード装置R1,
R2,R3,R4,R5,R2,R3,…とループして
いる場合を考えられる。
【0093】まず、ノード装置R1が、上記のように宛
先destに対するルーティングテーブルが生成された
ときなどを契機に、宛先destに対する自ノードの次
ホップノードであるノード装置R2への出力インタフェ
ースにおいて、新たなラベルaを割当て、ノード装置R
2に、(初段ノード=R1,フロー識別子=dest,
ラベル=a)のラベル割当てメッセージm1を送信す
る。また、ノード装置R1は、少なくとも、フロー識別
子、初段ノード情報、出力側ラベルを対応付けて記憶す
る。その際、保留を示す情報を付加しておく。
【0094】ノード装置R2は、ノード装置R1からの
ラベル割当てメッセージm1を受信すると、自ノードの
次ホップノードであるノード装置R3への出力インタフ
ェースにおいて新たなラベルbを割当て、ノード装置R
3に(初段ノード=R1,フロー識別子=dest,ラ
ベル=b)のラベル割当てメッセージm2を送信する。
また、ラベルスイッチング情報、すなわち少なくともフ
ロー識別子、初段ノード情報、入力側ラベル(受信した
ラベルとノード装置R1に対するリンク識別子)、出力
側ラベル(割当てたそのラベルとノード装置R3に対す
るリンク識別子)を対応付けて記憶するとともに、これ
に保留を示す情報を付加する。この時点で、ノード装置
R2内には、少なくともフロー識別子dest、初段ノ
ード情報R1、入力側ラベル(i1,a)、出力側ラベ
ル(i3,b)が対応付けて記憶されていることにな
る。
【0095】なお、上記各情報は、例えば1つまたは複
数のテーブル(例えば図13に例示するフローテーブ
ル)を用いて記憶する。また、上記各情報を記憶するタ
イミングについては、例えばラベル割当てメッセージm
2を送信する前後にまとめて記憶してもよいし、また例
えばラベル割当てメッセージm1を受信したときに、フ
ロー識別子、初段ノード情報、入力側ラベルを記憶し、
ラベルbを割当てた後に出力側ラベルを記憶するように
してもよい。
【0096】同様にして、ラベル割当てメッセージがノ
ード装置R3からR4、ノード装置R4からR5、そし
てノード装置R5からR2へとフォワードされていくと
ともに、各ノード装置R3〜R5において、出力インタ
フェースにおけるラベルの割当てやフロー識別子等の各
情報の記憶と保留を示す情報の付加が行われる。
【0097】次に、ノード装置R2が、ノード装置R5
から(初段ノード=R1,フロー識別子=dest,ラ
ベル=e)のラベル割当てメッセージm5を受信したと
き、すでにノード装置R1から受信したラベル割当てメ
ッセージm1の受信に応答して記憶したフロー識別子等
の情報の組に対して、入力側ラベルが異なっており(前
者が(i1,a)であるのに対して後者が(i5,
e))、かつ、初段ノード情報、フロー識別子ともに一
致するため、ノード装置R2はループであると判断し、
受信したラベル割当てメッセージm5を廃棄するか、ノ
ード装置R5に対してラベル割当て失敗メッセージを返
す。なお、ここでは、ループを検出したノード装置は、
ラベル割当て失敗メッセージを返すものとする。
【0098】ノード装置R5は、上記のようにしてラベ
ル割当てラベル割当て失敗メッセージを受信した場合、
フロー識別子等の情報の組のうち、ラベル割当てメッセ
ージm5を送信するにあたって記憶した出力側ラベルの
情報をキャンセルし、保留を示す情報を、確定を示す情
報に変更するとともに、前段ノード装置にラベル割当て
成功メッセージを送信する。
【0099】また、後段ノード装置からラベル割当て成
功メッセージを受信した初段以外のノード装置(ここで
はR4,R3,R2)は、前段ノード装置にラベル割当
て成功メッセージを送信する。また、ラベル割当て成功
メッセージを受信したノード装置(ここではR4,R
3,R2,R1)は、ラベル割当てメッセージに応答し
て記憶したフロー識別子等の情報の組に付加した保留を
示す情報を、確定を示す情報に変更する。
【0100】この結果、ノード装置R1,R2,R3,
R4,R5というラベルスイッチングパスが形成され
る。また、ノード装置R5からはIPパケットのTTL
(Time To Live)フィールドあるいはホッ
プリミット・フィールドあるいはこれらに相当するもの
を用いた通常のIP転送が行われる。
【0101】なお、このような状態は過渡的な状態であ
り、一定時間経過すると、正常なルートに回復するよう
にルーティングプロトコルは動作し、これに伴い、ラベ
ルスイッチングパスの変更も行われる。
【0102】もし、ループ検出なしに終段ノードまでラ
ベル割当てメッセージが到達した場合、この終段のノー
ド装置は、前段ノード装置にラベル割当て成功メッセー
ジを送信し、次々と前段ノード装置にラベル割当て成功
メッセージが伝えられ、最終的に初段ノード装置までラ
ベル割当て成功メッセージが到達し、ループのないラベ
ルスイッチングパスが形成される。
【0103】なお、上記実施形態において、従来のよう
にホップカウント(Hopcount)がしきい値を越
えた場合にループ検出とみなす方法を併用してもよい。
【0104】ところで、本ノード装置は、自ノードがラ
ベルスイッチングパスの終点ノードになった場合、その
後、適当なタイミングで繰り返しラベル割当てメッセー
ジを送信するようにするのが好ましい。ラベル割当て失
敗メッセージが送信される理由には、ループ検出や使用
可能なラベルがないなどの種々のケースが考えられる
が、ケースによっては、ルーティングテーブルが書き替
えられたことにより先に検出されたループが解消された
り、あるいは使用中のラベルが解放されたことにより使
用可能なラベルが確保できたりし、さらにラベルスイッ
チングパスを延ばすことができる可能性があるからであ
る。ただし、しきい値を越えたことがラベル割当て失敗
の理由であった場合には、適当なタイミングで繰り返し
ラベル割当て成功メッセージを送信することはしないも
のとする。なお、ラベル割当て失敗の理由については、
ノード装置がラベル割当て失敗メッセージに書き込んで
前段ノード装置に送信する方法が好ましい。
【0105】ここで、ノード装置がループであると判断
したときに受信したラベル割当てメッセージを廃棄する
場合について説明する。
【0106】ループを検出したノード装置(ここではR
2)に、そのきっかけとなったラベル割当てメッセージ
を送信したノード装置(ここではR5)は、ラベル割当
てメッセージを送信して一定時間経過後にラベル割当て
成功メッセージが返ってこなかったならばラベル割当て
メッセージを再送する手順を繰り返し行い、再送の繰り
返し回数がしきい値を越えたら、ラベル割当て失敗メッ
セージが返されたものとみなすものとする。なお、この
機能は、ノード装置がループであると判断したときにラ
ベル割当て失敗メッセージを返すように構成する場合に
も、備えるのが好ましい。
【0107】ループを検出したノード装置(ここではR
2)にそのきっかけとなったラベル割当てメッセージを
送信したノード装置(ここではR5)の上流側の各ノー
ド装置(ここではR4など)は、やはり、ラベル割当て
メッセージを送信して一定時間経過後にラベル割当て成
功メッセージが返ってこなかったので、ラベル割当てメ
ッセージを再送することになる。ここで、ノード装置
は、フロー識別子と入力側ラベルと初段ノード情報を同
じとするラベル割り当てメッセージ(ホップカウントを
併用する場合は、フロー識別子と入力側ラベルと初段ノ
ード情報とホップカウントを同じとするラベル割り当て
メッセージ)を受信したら、これに対してラベル割り当
て成功メッセージを返すようにするものとする。したが
って、例えば、ノード装置R4がラベル割当てメッセー
ジをノード装置R5に再送することで、ノード装置R4
はノード装置R5からラベル割当て成功メッセージを受
信することになる。
【0108】(第2の実施形態)次に、本発明の第2の
実施形態に係るラベル割り当てプロトコルおよびこのラ
ベル割り当てプロトコルに従ってラベルスイッチングを
行うノード装置について説明する。
【0109】本実施形態は、第1の実施形態と基本的に
は同様であるので、以下では相違する部分を中心に説明
する。
【0110】本実施形態では、第1の実施形態と同様
に、ノード装置は、IP(Internet Prot
ocol)処理を行う機能を持つとともに、本実施形態
に係るラベル割り当てプロトコルに従ってラベルスイッ
チングを行う機能(第1の実施形態のループ検出機能で
ホップカウントを併用するものをも含む)を持つ。ま
た、末端に位置し中継を行わないノード装置以外のノー
ド装置は、ルータ機能を持つ。また、ここでは、ノード
装置が後段ノードにメッセージ送信後ACK信号待ちの
ときに、前段ノードから状態の変更を伴うメッセージを
受信しないような排他制御を別に行っているものとす
る。
【0111】本実施形態が特に第1の実施形態と相違す
る点は、第1の実施形態においてはノード装置ではラベ
ルのマージは行わないものとしたが、本実施形態のノー
ド装置はフロー識別子が等しい複数の入力側ラベルに対
して同一の出力側ラベルを対応させることによりラベル
のマージを行う点である。すなわち、本実施形態のノー
ド装置は、ラベルスイッチングを行う機能として、ラベ
ルのマージに関する処理を行う機能を持つ。
【0112】なお、全てのノード装置がラベルのマージ
を行うのではなく、ラベルのマージを行わないノード装
置が混在していてもよい。ラベルのマージを行うノード
装置は、ラベル割り当てメッセージに応答して、ラベル
のマージに先だって、ホップカウント更新メッセージを
送信し、ホップカウント更新成功メッセージが返ってき
た場合にラベルのマージが成功となるような機能を持つ
点が、ラベルのマージを行わないノード装置と相違する
点である。
【0113】本実施形態では、ノード装置は、ラベル割
り当てメッセージを受信し、出力インタフェースにおい
てラベルを割り当て、後段のノード装置にラベル割り当
てメッセージを送信するにあたって、少なくとも初段ノ
ード情報、フロー識別子、入力側ラベル、出力側ラベ
ル、ホップカウント(すなわち初段からのホップ数)を
対応付けて記憶しておく。そして、ラベル割り当てメッ
セージに応答してラベルをマージしようとするノード装
置は、これからマージしようとする新たなパケットルー
トのホップカウントh1がすでにラベルスイッチングパ
スを設定したパケットルートのホップカウントh2以下
である場合にはマージを行うが、ホップカウントh1が
ホップカウントh2を越える場合には、マージに先だっ
て、少なくとも初段ノード情報、フロー識別子、ラベ
ル、ホップカウントを含むホップカウント更新メッセー
ジを次ホップノードに送信する。なお、当該ノード装置
においてすでに他のパスのマージが行われており、異な
る初段ノードに対するホップカウントが複数登録されて
いる場合には、その中で最大のホップカウントをhma
xとすると、これからマージしようとする新たなパケッ
トルートのホップカウントh1がホップカウントhma
x以下である場合にはマージを行い、ホップカウントh
1がホップカウントhmaxを越える場合には、マージ
に先だって、ホップカウント更新メッセージを送信する
ことになる。ホップカウント更新メッセージを受信した
ノード装置では、(第1の実施形態と同様の方法で)ル
ープを検出せずかつホップカウントがしきい値以下の場
合にはホップカウント更新メッセージを次ホップノード
に送信するが、記憶しているフロー識別子等の情報の組
に対して、フロー識別子と初段ノード情報が一致するが
入力側ラベルが相違するようなホップカウント更新メッ
セージを受信した場合、またはホップカウントがしきい
値を越える場合には、ループであると判断する。ただ
し、ラベルスイッチングパスの終点に位置するノード装
置がホップカウント更新メッセージを受信し、ループを
検出せずかつホップカウントがしきい値以下の場合に
は、ホップカウント更新メッセージの代わりにラベル割
り当てメッセージを次ホップノードに送信する。
【0114】ここでは、ホップカウントのしきい値を8
に設定するものとする。
【0115】第1の実施形態では、ノード装置間でやり
取りされるメッセージには、ラベル割当てメッセージ、
ラベル割当て成功メッセージ、ラベル割当て失敗メッセ
ージの3つがあったが、本実施形態では、これらに加え
て、マージのために容易されたホップカウント更新メッ
セージ、ホップカウント更新成功メッセージ、ホップカ
ウント更新失敗メッセージの3つがある。また、各メッ
セージには、ホップカウントが書き込まれる。なお、前
述したように、ラベルのマージを行わないノード装置
は、ホップカウント更新メッセージを送信する起点とは
ならないが、ホップカウント更新メッセージ、ホップカ
ウント更新成功メッセージ、ホップカウント更新失敗メ
ッセージを受信したときの処理を行う機能は有するもの
である。
【0116】本実施形態では、第1の実施形態と同様
に、宛先IPアドレスが同じパケットは同一のパケット
フローであるものとする。
【0117】初段ノード情報、フローID、ラベル、リ
ンク識別子、入力側ラベル、出力側ラベルは、第1の実
施形態と同様である。
【0118】次に、図4〜図7を参照しながら本実施形
態のラベル割り当てプロトコルに従った動作について説
明する。
【0119】ここでは、まず、第1の実施形態と同様
に、ノード装置R1から宛先アドレスdest宛のパケ
ットのルートが、ノード装置R1,R2,R3,R4,
R5,R2,R3,…とループしている場合に、ノード
装置R1,R2,R3,R4,R5というラベルスイッ
チングパスが形成され、その後、ノード装置R6,R
7,R8からノード装置R3への接続ができ、ノード装
置R3でラベルのマージが行われようとするケースにつ
いて説明する。なお、説明のために、ノード装置R3の
ノード装置R2に対するリンク識別子をi2、ノード装
置R4に対するリンク識別子をi4、ノード装置R8に
対するリンク識別子をi8とする。
【0120】まず、図4において、ノード装置R1が、
前述したように宛先destに対するルーティングテー
ブルが生成されたときなどを契機に、宛先destに対
する自ノードの次ホップノードであるノード装置R2へ
の出力インタフェースにおいて、新たなラベルaを割当
て、ノード装置R2に、(初段ノード=R1,フロー識
別子=dest,ラベル=a,ホップカウント=1)の
ラベル割当てメッセージm1を送信する。また、ノード
装置R1は、少なくとも、フロー識別子、初段ノード情
報、出力側ラベル、ホップカウント(=0)を対応付け
て記憶する。その際、保留を示す情報を付加しておく。
【0121】ノード装置R2は、ノード装置R1からの
ラベル割当てメッセージm1を受信すると、自ノードの
次ホップノードであるノード装置R3への出力インタフ
ェースにおいて新たなラベルbを割当て、受信したホッ
プカウントをインクリメントし、ノード装置R3に(初
段ノード=R1,フロー識別子=dest,ラベル=
b,ホップカウント=2)のラベル割当てメッセージを
送信する。また、適当なタイミングで、少なくともフロ
ー識別子(=dest)、初段ノード情報(=R1)、
入力側ラベル(=(i2,b))、出力側ラベル(=
(i4,c))、受信したホップカウント(=2)を対
応付けて記憶する。その際、保留を示す情報を付加して
おく。
【0122】同様にして、ラベル割当てメッセージがノ
ード装置R3からR4,ノード装置R4からR5,ノー
ド装置R5からR2へとフォワードされていくととも
に、各ノード装置R3〜R5において、出力インタフェ
ースにおけるラベルの割当てやフロー識別子等の情報の
組の記憶と保留を示す情報の付加が行われる。
【0123】次に、ノード装置R2が、ノード装置R5
から(初段ノード=R1,フロー識別子=dest,ラ
ベル=e,ホップカウント=5)のラベル割当てメッセ
ージm5を受信したとき、すでにノード装置R1から受
信したラベル割当てメッセージm1の受信に応答して記
憶した情報の組と、入力側ラベルが異なっており(前者
が(i1,a)であるのに対して後者が(i5,
e))、かつ、初段ノード情報、フロー識別子ともに一
致するため、ノード装置R2はループであると判断し、
受信したラベル割当てメッセージm5を廃棄するか、ノ
ード装置R5に対してラベル割当て失敗メッセージを返
す。
【0124】以降の処理は、第1の実施形態と同様であ
る。
【0125】この結果、ノード装置R1,R2,R3,
R4,R5というラベルスイッチングパスが形成され
る。また、ノード装置R5からはIPパケットのTTL
(Time To Live)フィールドあるいはホッ
プリミット・フィールドあるいはこれらに相当するもの
を用いた通常のIP転送が行われる。
【0126】なお、前述したように、このような状態は
過渡的な状態であり、一定時間経過すると、正常なルー
トに回復するようにルーティングプロトコルは動作し、
これに伴い、ラベルスイッチングパスの変更も行われ
る。
【0127】また、ホップカウントがしきい値を越える
場合にもループ検出とみなされ、この場合にも、ノード
装置は、受信したラベル割当てメッセージを廃棄する
か、前段のノード装置に対してラベル割当て失敗メッセ
ージを返す。
【0128】次に、図4のようにノード装置R1,R
2,R3,R4,R5というラベルスイッチングパスが
形成された状態から、新たにノード装置R6,R7,R
8が接続し、図5のようなトポロジーになり、ノード装
置R6がラベル割り当てメッセージを送信した場合を例
にとって、ラベルのマージを行う場合におけるループ検
出とラベルスイッチングパスの形成について説明する。
【0129】まず、ノード装置R6は、ノード装置R7
への出力インタフェースにおいて、新たなラベルfを割
り当て、R2に(初段ノード=R6,フロー識別子=d
est,ラベル=f,ホップカウント=1)のラベル割
当てメッセージm6を送信する。また、ノード装置R1
は、少なくとも、フロー識別子、初段ノード情報、出力
側ラベル、ホップカウント(=0)を対応付けて記憶す
る。その際、保留を示す情報を付加しておく。
【0130】ノード装置R7は、ノード装置R6からの
ラベル割当てメッセージm6を受信すると、自ノードの
次ホップノードであるノード装置R8への出力インタフ
ェースにおいて新たなラベルgを割当て、受信ホップカ
ウントをインクリメントし、ノード装置R8に、(初段
ノード=R6,フロー識別子=dest,ラベル=g,
ホップカウント=2)のラベル割当てメッセージm7を
送信する。また、適当なタイミングで、少なくともフロ
ー識別子、初段ノード情報、入力側ラベル、出力側ラベ
ル、受信したホップカウントを対応付けて記憶する。そ
の際、保留を示す情報を付加しておく。
【0131】ノード装置R8は、ノード装置R7からの
ラベル割当てメッセージm7を受信すると、自ノードの
次ホップノードであるノード装置R3への出力インタフ
ェースにおいて新たなラベルhを割当て、受信ホップカ
ウントをインクリメントし、ノード装置R3に、(初段
ノード=R6,フロー識別子=dest,ラベル=f,
ホップカウント=3)のラベル割当てメッセージm8を
送信する。また、適当なタイミングで、少なくともフロ
ー識別子、初段ノード情報、入力側ラベル、出力側ラベ
ル、受信したホップカウントを対応付けて記憶する。そ
の際、保留を示す情報を付加しておく。
【0132】次に、ノード装置R3がノード装置R8か
らのラベル割当てメッセージm8を受信したとき、すで
にノード装置R2から受信したラベル割当てメッセージ
m2に応答して記憶したフロー識別子等の情報の組(フ
ロー識別子=dest、初段ノード情報=R1、入力側
ラベル=(i2,b)、出力側ラベル=(i4,c)、
ホップカウント=2)があるが、フロー識別子が同一で
あり、入力側ラベルが異なっており、かつ、初段ノード
情報が異なっているため、マージを行う対象となる。し
かし、初段ノードからの最大のホップ数(ホップカウン
ト)が、2から3に増えるため、新たに受信したラベル
hと、すでに割当てている出力側のラベルcとの対応付
けをすぐには行わず、下流ノードのノード装置R4に、
初段ノード情報とホップカウントの更新のために、(初
段ノード=R6,フロー識別子=dest,ラベル=
c,ホップカウント=4)のホップカウント更新メッセ
ージm9を送信する。また、ノード装置R3は、少なく
ともフロー識別子(=dest)、初段ノード情報(=
R6)、入力側ラベル(=(i8,e))、出力側ラベ
ル(=(i4,c))、受信したホップカウント(=
3)を対応付けて記憶する。その際、保留を示す情報を
付加しておく。
【0133】なお、本実施形態では、ホップカウント更
新メッセージに書き込まれる初段ノード情報には、ホッ
プカウント更新メッセージを送信するノードよりも上流
にある初段ノードからのホップカウントが最大となるよ
うな初段ノードに関する初段ノード情報が設定されるこ
とになるが、共通の出力側ラベルを持つようなそのフロ
ーに対する任意のフローテーブルエントリ中の初段ノー
ド情報をホップカウント更新メッセージに書き込んで送
信してもループ検出が可能である。
【0134】ノード装置R4は、ノード装置R3からの
ホップカウント更新メッセージm9を受信すると、自ノ
ードの次ホップノードであるノード装置R5に、(初段
ノード=R6,フロー識別子=dest,ラベル=d,
ホップカウント=5)のホップカウント更新メッセージ
m10を送信する。また、ノード装置R4は、フロー識
別子等の情報の組を対応付けて記憶しこれに保留を示す
情報を付加するとともに、先にラベル割当てメッセージ
m3に応答して記憶したフロー識別子等の情報の組につ
いて、初段ノード情報の更新後の内容R6とホップカウ
ントの更新後の値4を保持し、更新保留を示す情報を付
加しておく。
【0135】ラベルスイッチングパスの終点にあたるノ
ード装置R5は、ノード装置R4からのホップカウント
更新メッセージm10を受信すると、自ノードの次ホッ
プノードであるノード装置R2に、(初段ノード=R
6,フロー識別子=dest,ラベル=e,ホップカウ
ント=6)のラベル割当てメッセージm11を送信す
る。また、ノード装置R5は、フロー識別子等の情報の
組を対応付けて記憶しこれに保留を示す情報を付加する
とともに、先にラベル割当てメッセージm4に応答して
記憶したフロー識別子等の情報の組について、初段ノー
ド情報の更新後の内容R6とホップカウントの更新後の
値5を保持し、更新保留を示す情報を付加しておく。
【0136】ノード装置R2は、ノード装置R5からの
ラベル割当てメッセージm11を受信すると、上記のノ
ード装置R3と同様に、すでにノード装置R1から受信
した同じフロー識別子に対する入力側ラベルaが存在す
るが、ホップカウント値がラベルaに対するホップカウ
ント値よりも大きいため、受信したラベル=eと出力側
のラベル=bとの対応はまだ行わず、自ノードの次ホッ
プノードであるR3へ、受信したホップカウントをイン
クリメントした(初段ノード=R6,フロー識別子=d
est,ラベル=b,ホップカウント=7)のホップカ
ウント更新メッセージm12を送信する。また、ノード
装置R2は、フロー識別子等の情報の組を対応付けて記
憶しこれに保留を示す情報を付加しておく。
【0137】ノード装置R2からこのホップカウント更
新メッセージm12を受信したノード装置R3は、初段
ノード=R6,フロー識別子=destであるようなラ
ベル割り当てメッセージを異なる入力側ラベル(i2,
b)と(i8,e)で受信したことになるため、ループ
であると判断し、このホップカウント更新メッセージm
12を廃棄して、ノード装置R2に対してホップカウン
ト更新失敗メッセージを送信する。
【0138】ノード装置R3からホップカウント更新失
敗メッセージを受信したノード装置R2は、自装置にホ
ップカウントが更新されるようなラベル割当てメッセー
ジm11を送信したノード装置R5に対してラベル割当
て失敗メッセージを送信するとともに、ラベル割当てメ
ッセージm11に応答して記憶したフロー識別子等の情
報の組をキャンセルする。
【0139】さて、以降、ノード装置R5からその上流
のノード装置に次々とメッセージが伝えられていくわけ
であるが(R5→R4→R3→R8→R7→R6)、こ
のための処理としてはいくつかのものが考えられる。以
下では、(1)ラベル割り当て失敗メッセージを受信し
たノード装置(本例ではR5)が上流のノード装置(本
例ではR4)に対してホップカウント更新失敗メッセー
ジを送信するようにした場合(マージさせない場合)
と、(2)ラベル割り当て失敗メッセージを受信したノ
ード装置(本例ではR5)が上流のノード装置(本例で
はR4)に対してホップカウント更新成功メッセージを
送信するようにした場合(マージさせる場合)について
それぞれ説明する。
【0140】まず、上記の(1)のラベル割り当て失敗
メッセージを受信したノード装置(本例ではR5)が上
流のノード装置(本例ではR4)に対してホップカウン
ト更新失敗メッセージを送信するようにした場合(マー
ジさせない場合)について説明する。
【0141】ノード装置R2からラベル割当て失敗メッ
セージを受信したノード装置R5は、自装置にホップカ
ウント更新メッセージm10を送信したノード装置R4
に対してホップカウント更新失敗メッセージを送信する
とともに、ホップカウント更新メッセージm10に応答
して記憶したフロー識別子等の情報の組をキャンセル
し、またラベル割当てメッセージm4に応答して記憶し
たフロー識別子等の情報の組については初段ノード情報
をもとの内容R1のままで、またホップカウントをもと
の値4のままで、更新保留を示す情報をクリアする。
【0142】ノード装置R5からホップカウント更新失
敗メッセージを受信したノード装置R4は、自装置にホ
ップカウント更新メッセージm9を送信したノード装置
R3に対してホップカウント更新失敗メッセージを送信
するとともに、ホップカウント更新メッセージm9に応
答して記憶したフロー識別子等の情報の組をキャンセル
し、またラベル割当てメッセージm3に応答して記憶し
たフロー識別子等の情報の組については初段ノード情報
をもとの内容R1のままで、またホップカウントをもと
の値3のままで、更新保留を示す情報をクリアする。
【0143】ノード装置R4からホップカウント更新失
敗メッセージを受信したノード装置R3は、自装置にホ
ップカウントが更新されるようなラベル割当てメッセー
ジm8を送信したノード装置R8に対してラベル割当て
失敗メッセージを送信するとともに、ラベル割当てメッ
セージm8に応答して記憶したフロー識別子等の情報の
組をキャンセルする。
【0144】以降、第1の実施形態で説明した手順と同
様に、ノード装置R3からラベル割当て失敗メッセージ
を受信したノード装置R8は、自装置にラベル割当てメ
ッセージm7を送信したノード装置R7に対してラベル
割当て成功メッセージを送信し、ノード装置R7は、自
装置にラベル割当てメッセージm6を送信したノード装
置R6に対してラベル割当て成功メッセージを送信す
る。また、ノード装置R7は、ラベル割当てメッセージ
m7を受信しラベル割当てメッセージm8を送信するに
あたって記憶したフロー識別子等の情報の組のうち出力
側ラベルの情報をキャンセルし、保留を示す情報を、確
定を示す情報に変更する。ノード装置R6,R7は、ラ
ベル割当てメッセージを送信するにあたって記憶したフ
ロー識別子等の情報に付加した保留を示す情報を確定を
示す情報に変更する。
【0145】この結果、図6の太線で示されるように、
ノード装置R1,R2,R3,R4,R5というラベル
スイッチングパスの他に、ノード装置R6,R7,R8
というループのないラベルスイッチングパスが形成され
る。
【0146】なお、すでに記憶してあるフロー識別子等
の情報のうちホップカウントの更新を伴ってラベル割当
てメッセージやホップカウント更新メッセージを送信し
たノード装置が、それに対するラベル割当て成功メッセ
ージやホップカウント更新成功メッセージを受信した場
合、自装置にホップカウントが更新されるようなラベル
割当てメッセージやホップカウント更新メッセージを送
信した前段のノード装置に対応するラベル割当て成功メ
ッセージやホップカウント更新成功メッセージを送信す
るとともに、ホップカウントを更新後の値に更新して更
新保留を示す情報をクリアし、その際に新たに記憶した
フロー識別子等の情報に付加した保留を示す情報を、確
定を示す情報に変更する。
【0147】次に、前述の(2)のラベル割り当て失敗
メッセージを受信したノード装置(本例ではR5)が上
流のノード装置(本例ではR4)に対してホップカウン
ト更新成功メッセージを送信するようにした場合(マー
ジさせる場合)について説明する。
【0148】ノード装置R2からラベル割り当て失敗メ
ッセージを受信したノード装置R5は、自装置にホップ
カウント更新メッセージm10を送信したノード装置R
4に対してホップカウント更新成功メッセージを送信す
るとともに、ホップカウント更新メッセージm10に応
答して記憶したフロー識別子等の情報の組を確定する。
【0149】ノード装置R5からホップカウント更新成
功メッセージを受信したノード装置R4は、自装置にホ
ップカウント更新メッセージm9を送信したノード装置
R3に対してホップカウント更新成功メッセージを送信
するとともに、ホップカウント更新メッセージm9に応
答して記憶したフロー識別子等の情報の組に付加した保
留を示す情報を、確定を示す情報に変更する。
【0150】ノード装置R4からホップカウント更新成
功メッセージを受信したノード装置R3は、自装置にホ
ップカウントが更新されるようなラベル割り当てメッセ
ージm8を送信したノード装置R8に対してラベル割り
当て成功メッセージを送信するとともに、ラベル割り当
てメッセージm8に応答して記憶したフロー識別子等の
情報の組に付加した保留を示す情報を、確定を示す情報
に変更する。
【0151】以降、第1の実施形態で説明した手順と同
様に、ノード装置R3からラベル割当て成功メッセージ
を受信したノードR8は、自装置にラベル割り当てメッ
セージm7を送信したノード装置R7に対してラベル割
り当て成功メッセージを送信し、ノード装置R7は、自
装置にラベル割り当てメッセージm6を送信したノード
装置R6に対してラベル割り当て成功メッセージを送信
する。また、ノード装置R8,R7,R6は、それぞ
れ、ラベル割り当てメッセージを受信しラベル割り当て
メッセージを送信するにあたって記憶したフロー識別子
等の情報の組に付加した保留を示す情報を、確定を示す
情報に変更する。
【0152】この結果、図7の太線に示されるように、
ノード装置R1,R2,R3,R4,R5というラベル
スイッチングパスと、ノード装置R6,R7,R8,R
3,R4,R5というラベルスイッチングパスの2つの
パスの共通部分であるR3,R4,R5の部分がマージ
された1つのツリー上のラベルスイッチングパスが生成
される。
【0153】なお、すでに記憶してあるフロー識別子等
の情報のうちホップカウントの更新を伴ってラベル割当
てメッセージやホップカウント更新メッセージを送信し
たノード装置が、それに対するラベル割当て成功メッセ
ージやホップカウント更新成功メッセージを受信した場
合、自装置にホップカウントが更新されるようなラベル
割当てメッセージやホップカウント更新メッセージを送
信した前段のノード装置に対応するラベル割当て成功メ
ッセージやホップカウント更新成功メッセージを送信す
るとともに、ホップカウントを更新後の値に更新して更
新保留を示す情報をクリアし、その際に新たに記憶した
フロー識別子等の情報に付加した保留を示す情報を、確
定を示す情報に変更する。
【0154】上記した例では、ホップカウントがしきい
値8を越える前にループが検出されたが、ホップカウン
トのしきい値が小さい場合には、ループの検出よりも前
にホップカウントがしきい値を越えたことにより更新失
敗と判断される場合もある。
【0155】さて、今まではホップカウントのしきい値
を8とした場合の動作であるが、ホップカウントのしき
い値が5以上の場合、すなわち、ノード装置R6の接続
に伴ってノード装置R3で生成されたホップカウント更
新メッセージのホップカウントが終段ノードであるノー
ド装置R5までしきい値を越えることなくフォワードさ
れ、かつ、ノード装置R5でもしきい値を越えない場合
には、ノード装置R5がノード装置R2に対してただち
にラベル割り当てメッセージを送信するかどうか、ま
た、ただちにラベル割り当てメッセージを送信する場合
にはその結果にかかわらず、ノード装置R5からノード
装置R4に対してはホップカウント更新成功メッセージ
が返される。
【0156】以下では、図5の状態でノード装置R6が
ラベル割り当てメッセージm6を送信した場合に、ホッ
プカウントのしきい値が4の場合について述べる。
【0157】ホップカウントのしきい値が4の場合に
も、ホップカウントのしきい値が5以上の場合と同様、
最初は、ラベルスイッチングパスR1,R2,R3,R
4,R5が生成される。
【0158】次に、ノード装置R6,R7,R8が接続
したときも、ホップカウントのしきい値が5以上の場合
と同様、最初、ノード装置R6から初段ノード=R6と
したラベル割り当てメッセージが送信されると、このメ
ッセージはホップカウントがインクリメントされながら
ノード装置R7,R8,R3へとフォワードされ、ノー
ド装置R3から下流へは初段ノード=R6としたホップ
カウント更新メッセージがホップカウントがインクリメ
ントされながらフォワードされる。
【0159】ホップカウント更新メッセージはホップカ
ウントがしきい値を越えることなくノード装置R5まで
フォワードされる。ホップカウント更新メッセージを受
信したノード装置R5は、受信したホップカウントがし
きい値を越えるため、ループであると判断し、ホップカ
ウント更新失敗メッセージをノード装置R4に返すとと
もに、ホップカウント更新メッセージに応答して記憶し
たフロー識別子等の情報の組をキャンセルする。
【0160】ノード装置R5からホップカウント更新失
敗メッセージを受信したノード装置R4は、自装置にホ
ップカウント更新メッセージm9を送信したノード装置
R3に対してホップカウント更新失敗メッセージを送信
するとともに、ホップカウント更新メッセージm9に応
答して記憶したフロー識別子等の情報の組に付加した保
留を示す情報をキャンセルする。
【0161】ノード装置R4からホップカウント更新失
敗メッセージを受信したノード装置R3は、自装置にホ
ップカウントが更新されるようなラベル割り当てメッセ
ージm8を送信したノード装置R8に対してラベル割り
当て失敗メッセージを送信するとともに、ラベル割り当
てメッセージm8に応答して記憶したフロー識別子等の
情報の組に付加した保留を示す情報をキャンセルする。
【0162】以降、第1の実施形態で説明した手順と同
様に、ノード装置R3からラベル割り当て失敗メッセー
ジを受信したノードR8は、自装置にラベル割り当てメ
ッセージm7を送信したノード装置R7に対してラベル
割り当て成功メッセージを送信するとともに、ラベル割
り当てメッセージm7を受信しラベル割り当てメッセー
ジm8を送信するにあたって記憶したフロー識別子等の
情報の組のうち、出力側ラベルの情報をキャンセルし、
保留を示す情報を、確定を示す情報に変更する。また、
ノード装置R7は、自装置にラベル割り当てメッセージ
m6を送信したノード装置R6に対してラベル割り当て
成功メッセージを送信する。ノード装置R7,R6は、
ラベル割り当てメッセージを受信しラベル割り当てメッ
セージを送信するにあたって記憶したフロー識別子等の
情報の組に付加した保留を示す情報を、確定を示す情報
に変更する。
【0163】以上、第2の実施形態についていくつかの
例を説明してきたが、以下ではいくつかの変形例につい
て説明する。
【0164】上記では、ノード装置R2からホップカウ
ント更新メッセージm12を受信したノード装置R3
は、ループを検出し、ノード装置R2に対してホップカ
ウント更新失敗メッセージを送信するものとしたが、ホ
ップカウント更新メッセージの受信によりループを検出
したノード装置は、ホップカウント更新メッセージを廃
棄し、ホップカウント更新失敗メッセージを送信しない
ものとしてもよい。
【0165】ところで、上記では、ノード装置R4から
ホップカウント更新失敗メッセージを受信したノード装
置R3は、ノード装置R8にラベル割り当て失敗メッセ
ージを送信するものとしたので、新たに形成されるラベ
ルスイッチングパスは、ノード装置R6,R7,R8の
ルートにとどまった。その代わりに、ノード装置R3
は、ラベルのマージは行わないが、ノード装置R8にラ
ベル割り当て成功メッセージを送信するとともに、先に
ラベル割当てメッセージm8に応答して記憶したフロー
識別子等の情報の組をすべてキャンセルしないで、出力
側ラベルのみをキャンセルし、自ノードが終点ノードと
なって、ノード装置R6,R7,R8,R3という新た
なラベルスイッチングパスを形成するようにしてもよ
い。
【0166】また、上記では、ラベルスイッチングパス
の終点にあたるノード装置(ここではR5)は、ホップ
カウント更新メッセージを受信すると、自ノードの次ホ
ップのノード装置に、ラベル割当てメッセージを送信し
た。
【0167】前述したようにノード装置は自ノードがラ
ベルスイッチングパスの終点ノードになったならば、そ
の後、適当なタイミングで繰り返しラベル割当てメッセ
ージを送信するように構成した場合には、R5がR4か
らホップカウント更新メッセージを受信したとき、所定
の条件を満たす場合に、R5がR2に対してラベル割り
当てメッセージを送信する代わりに、前段ノード装置に
ホップカウント更新メッセージを送信し、その後、適当
なタイミングで繰り返しラベル割当てメッセージを送信
するようにしてもよい。
【0168】次に、図8を参照しながら、第1の実施形
態や第2の実施形態において、本ラベル割り当てプロト
コルにより実際には経路のループができていない状況で
ループと判断される例について説明する。
【0169】図8に示すように、ノード装置R1から宛
先destに対してノード装置R1,R2,R3,R4
というラベルスイッチングパスが構成されていたとこ
ろ、ある時刻において、ノード装置R3がダウンしてノ
ード装置R1からdestへの経路が、ノード装置R
1,R2,R5,R4に変わったものとする。このと
き、ノード装置R2は、destへの次ホップノードで
あるノード装置R3に対するラベルbの割り当てを解放
するとともに、新たなdestへの次ホップノードであ
るノード装置R5に対して、(初段ノード=R1,フロ
ー識別子=dest,ラベル=d,ホップカウント=
2)のラベル割当てメッセージm1を送信する。また、
前述と同様に識別子等の情報の組の記憶を行う。
【0170】ノード装置R5は、ノード装置R2からの
ラベル割り当てメッセージm1を受信すると、ノード装
置R5の次ホップノードであるノード装置R4への出力
インタフェースにおいて新たなラベルdを割当て、受信
したホップカウントをインクリメントし、ノード装置R
4に(初段ノード=R1,フロー識別子=dest,ラ
ベル=e,ホップカウント=3)のラベル割当てメッセ
ージm2を送信する。また、前述と同様に識別子等の情
報の組の記憶を行う。
【0171】ノード装置R5からラベル割当てメッセー
ジm2を受信したノード装置R4は、もし、ノード装置
R3から割り当て要求されたラベルcがまだ解放されて
いないか、または、初段ノードからのホップカウントが
しきい値に達していれば、ラベルeとフロー識別子、初
段ノード情報等の対応を記憶せずに、ノード装置R5に
対してラベル割り当て失敗メッセージを返す。このと
き、ラベル割り当て失敗メッセージには、ラベル割り当
て失敗の理由を書き込む。
【0172】一方、ノード装置R5からラベル割り当て
メッセージを受信したノード装置R4は、もし、ノード
装置R3から割り当て要求されたラベルcがすでに解放
されており、かつ、初段ノードからのホップカウント値
がしきい値に達していなければ、ノード装置R5からの
ラベルとフロー識別子、初段ノード情報等の対応を記憶
するとともに、ノード装置R5に対してラベル割り当て
メッセージに対するラベル割り当て成功メッセージを返
す。
【0173】ノード装置R5は、ラベル割り当て失敗メ
ッセージを受信すると、ラベル割り当て失敗の理由がホ
ップカウントがしきい値を越えたため以外であれば、ノ
ード装置R4に対して定期的にラベル割り当てメッセー
ジを再送する。この結果、ノード装置R3とノード装置
R4の間のラベルcが解放されてから再送されるラベル
割り当てメッセージにより、ノード装置R1,R2,R
5,R4のラベルスイッチングパスが構成される。
【0174】このように、経路変更時には、実際にはル
ープ構成されていなくてもループ検出となる場合があ
る。この場合には、特定の(初段ノード情報、フロー識
別子)の組に対応するラベルは常に1つしか存在しない
ようにすることにより、ルーティングプロトコルの過渡
状態において経路が頻繁に変わるような状況で一時的に
不要なラベルスイッチングパスが幾つもできてしまう、
という問題を解決することができる。
【0175】(第3の実施形態)次に、本発明の第3の
実施形態に係るラベル割り当てプロトコルおよびこのラ
ベル割り当てプロトコルに従ってラベルスイッチングを
行うノード装置について説明する。
【0176】本実施形態では、第1の実施形態や第2の
実施形態において、初段ノード情報として、初段ノード
の出力インタフェースに対して割り当てられるネットワ
ークレイヤアドレスと、初段ノードの出力インタフェー
スローカルに割り当てられる識別子とを用いることがで
きるようにしてある。
【0177】以下、初段ノード情報として、初段ノード
の出力インタフェースに対して割り当てられるネットワ
ークレイヤアドレスと、初段ノードの出力インタフェー
スローカルに割り当てられる識別子とを用いて構成され
たラベルスイッチングパスの例を示す。
【0178】図9において、ノード装置R1,R2は、
従来のラベル割当てプロトコルを使用してラベルスイッ
チングパスを設定するノード装置であり、ノード装置R
4〜R6は、本ラベル割り当てプロトコルを使用してラ
ベルスイッチングパスを設定するノード装置である。ま
た、ノード装置R3は、従来のラベル割当てプロトコル
と、本ラベル割り当てプロトコルの両方をサポートし、
各々のプロトコルにより作られたラベルスイッチングパ
スを接続するノード装置である。
【0179】図9では、初段のノード装置R1,R2か
ら、宛先アドレスdestに対して2本のラベルスイッ
チングパス1´,2´が設定されている。このとき、ノ
ード装置R3は、ラベルスイッチングパス1´,2´の
終点ノードであるが、これらのラベルスイッチングパス
を、本ラベル割り当てプロトコルを用いて延長する。こ
のとき、ラベルスイッチングパス1´,2´は、初段ノ
ード情報を持っていないため、ノード装置R3は、2つ
のパスを区別するために、ノード装置R3の出力インタ
フェースでローカルなID=1,ID=2をラベルスイ
ッチングパス1´,2´に対してそれぞれ割り当て、こ
れを用いてノード装置R3を本ラベル割り当てプロトコ
ルによるラベルスイッチングパスの初段ノードとするラ
ベルスイッチングパス1,2を設定し、設定が完了する
と、ラベルスイッチングパス1´と1の間、およびラベ
ルスイッチングパス2´と2の間でラベルスイッチング
を行うことができる。
【0180】初段ノードの出力インターフェースローカ
ルに割り当てられる識別子を用いて構成されたラベルス
イッチングパスのもう一つの例を図10を用いて示す。
【0181】図10において、R1からR5への経路に
は、R1→R2→R3→R5という経路と、R1→R2
→R4→R5という経路が存在する。Flowid=R
5のフローに対してそれぞれの経路に対するラベルスイ
ッチングパスを形成する場合には、初段ノードR1か
ら、2つのラベルスイッチングパスが作られることにな
る。これらのパスを区別するために、同じIngres
s=R1に対してIngress LocalID=
1、Ingress Local ID=2の2つの異
なるIngress Local IDが使用される。
【0182】以下では、以上の各実施形態における、メ
ッセージのフォーマットの例、フローテーブルのフォー
マットの例、ノード装置の動作手順の例についてそれぞ
れ説明する。
【0183】図11、図12に、各メッセージのフォー
マットの一例を示す。
【0184】図11は、ラベル割り当てメッセージ、ラ
ベル割り当て成功メッセージ、ホップカウント更新メッ
セージ、ホップカウント更新成功メッセージ、ラベル解
放メッセージ、ラベル解放成功メッセージに使用し、図
12は、ラベル割り当て失敗メッセージ、ホップカウン
ト更新失敗メッセージ、ラベル解放失敗メッセージに使
用する。図11と図12とは、図12のメッセージにエ
ラーコードフィールドが付加されている点以外は同じで
ある。
【0185】なお、上流側ノードがラベルを割り当てる
場合には、リクエストIDフィールドは省略してもよ
い。
【0186】また、初段ノード情報を使用しない場合に
は、初段ノードアドレス、初段ノードローカルIDのフ
ィールドを省略してもよい。また、ホップカウントを使
用しない場合には、ホップカウントフィールドを省略し
てもよく、このとき、「ホップカウント更新メッセー
ジ」は、単に「更新メッセージ」と呼ぶ。
【0187】図11、図12において、メッセージタイ
プは、ラベル割り当てプロトコルで使用されるメッセー
ジの種類(ラベル割当てメッセージ、ラベル割当て成功
メッセージ、ラベル割当て失敗メッセージ、ホップカウ
ント更新メッセージ、ホップカウント更新成功メッセー
ジ、ホップカウント更新失敗メッセージ)を示す。
【0188】第1の実施形態では、ラベル割当てメッセ
ージ、ラベル割当て成功メッセージ、ラベル割当て失敗
メッセージが使用され、第2の実施形態では、ラベル割
当てメッセージ、ラベル割当て成功メッセージ、ラベル
割当て失敗メッセージ、ホップカウント更新メッセー
ジ、ホップカウント更新成功メッセージ、ホップカウン
ト更新失敗メッセージが使用される。
【0189】図11、図12において、メッセージle
ngthは、メッセージ全体の長さを示す。
【0190】送信ノードアドレス、受信ノードアドレス
は、それぞれ、このメッセージの送信側、受信側ノード
のネットワークアドレスである。
【0191】初段ノードアドレスは、最初にラベル割り
当てメッセージを生成したノードのアドレスである。ま
た、初段ノードローカルIDは、同じ初段ノードから同
一のフロー識別子に対するラベルスイッチングパスを設
定するために必要な初段ノードローカルのIDである。
【0192】第1および第2の実施形態では、初段ノー
ドアドレスが初段ノード情報である。なお、この場合、
初段ノードローカルIDのフィールドは不要である。第
3の実施形態では、初段ノードアドレスと初段ノードロ
ーカルIDの組が初段ノード情報である。
【0193】ホップカウントは、初段ノードからのホッ
プカウントを表す。
【0194】フロータイプは、フロー識別子の種類であ
る。フローID lengthは、フロー識別子のビッ
ト長である。フローIDは、フローID length
で指定されるビット長で表される、フローの識別子であ
る。
【0195】ラベルのフィールドには、上流側ノードが
ラベルを割り当てる場合には、上流側ノードが割り当て
たラベルが入り、下流側ノードがラベルを割り当てる場
合には、リクエストIDに対応して下流側ノードが割り
当てたラベルが入る(上流側ノードが下流に送るラベル
割り当てメッセージのラベルのフィールドは空欄とする
かもしくはラベルフィールドがなくてもよい)。また、
このラベルのフィールドには、レイヤ2コネクション識
別子が入ることもある。
【0196】図12のラベル割り当て失敗メッセージに
は、ラベル割り当てメッセージに含まれるフィールドに
加え、エラーコードフィールドが付加される。エラーコ
ードには、ラベル割り当てに失敗した場合の理由を書き
込む。ここでは、エラーコードとして、「リソース利用
不可」、「無効なラベル」、「無効なフロータイプ」、
「無効なフロー識別子」、「ポリシーによるラベル割り
当て拒否」、「ホップカウントがしきい値を越えた」、
「同じ初段ノード情報から同じフロー識別子に対して異
なるラベルを受信」の7種類のコードを定義している。
【0197】なお、ラベル割り当て失敗メッセージを受
信したノードは、エラーコードの値により、適当なタイ
ミングで繰り返しラベル割り当てメッセージを送信する
ようにするか、以降のラベル割り当てメッセージの送信
をやめるかのいずれかの動作を選択するようにしてもよ
い。例えば、エラーコードが「ホップカウントがしきい
値を越えた」である場合には、以降のラベル割り当てメ
ッセージの送信をやめるようにし、その他の場合には適
当なタイミングで繰り返しラベル割り当てメッセージを
送信するようにしてもよい。
【0198】次に、図13に、本ラベル割当てプロトコ
ルが動作するノード装置において使用されるフローテー
ブルのフォーマットの一例を示す。
【0199】フローテーブルは、現在、ラベルスイッチ
ングされているフローにおける、フロー識別子、初段ノ
ード情報(初段ノードアドレス、または初段ノードアド
レスと初段ノードローカルIDの組)、入力側ラベル
(リンク識別子、ラベル)、出力側ラベル(リンク識別
子、ラベル)、ホップカウント値、初段ノードかどうか
を示す初段ノードフラグ、終段ノードかかどうかを示す
終段ノードフラグが書き込まれる。なお、図13は、フ
ロー識別子が1種類の場合の例である。
【0200】また、第1および第2の実施形態では、初
段ノードローカルIDのフィールドは不要である。
【0201】第1の実施形態で、ホップカウントを併用
しない場合には、ホップカウント値のフィールドは不要
である。
【0202】また、初段ノードフラグは、初段ノード情
報に該当するノード装置が、ラベル割り当てメッセージ
を送信するにあたって、セットする。
【0203】終段ノードフラグは、自ノードがフロー識
別子で指定されるフローの宛先であるノード装置、また
は次ホップノードが本ラベル割り当てプロトコルをサポ
ートしていないようなノード装置が、例えばラベル割り
当てメッセージを受信した際に、セットする。
【0204】なお、各ノード装置は、隣接するノード装
置が本ラベル割り当てプロトコルをサポートするか否か
を、例えば予めまたは必要時に隣接ノード装置と通信す
ることによって知ることができる。
【0205】次に、図14に、第1の実施形態、第2の
実施形態においてラベル割り当てメッセージを受信した
ときのノード装置の動作の一例を示す。
【0206】ラベル割り当てメッセージを受信すると、
まず、ホップカウントの更新を示すフラグであるUpd
ateフラグをクリアし(ステップS1)、フローテー
ブルの先頭から順番にエントリを検索してゆく(ステッ
プS2,S3,S10,S11)。なお、フローテーブ
ルにエントリがない場合には、ステップS12に移る。
【0207】初段ノードでなく(初段フラグがオフ)、
かつ、エントリ中の入力側ラベルが受信メッセージ中の
ラベルと等しい場合には(ステップS4)、受信メッセ
ージ中のフロー識別子、初段ノード情報、ホップカウン
トがエントリ中の値と等しいかどうかをチェックし、す
べて一致していれば、前段ノードにラベル割当て成功メ
ッセージを返す(ステップS19,S20,S21,S
18)。そうでなければ、前段ノードにラベル割当て失
敗メッセージを返す(ステップS19,S20,S2
1,S22)。この場合、ラベル割当てメッセージ受信
処理は終了する。一方、初段ノードである(初段フラグ
がオン)、または、エントリ中の入力側ラベルが受信メ
ッセージ中のラベルと異なる場合には(ステップS
3)、フロー識別子をチェックする(ステップS5)。
フロー識別子が異なる場合には、次のフローテーブルエ
ントリを調べる。フロー識別子が等しい場合には、初段
ノード情報が等しいかどうかをチェックし(ステップS
6)、初段ノード情報が等しい場合には、前段ノードに
ラベル割り当て失敗メッセージを返す(ステップS2
2)。初段ノード情報が異なる場合には、ラベルマージ
をサポートし、かつ、受信メッセージ中のホップカウン
トがエントリ中のホップカウントより大きい場合には、
Updateフラグをセットし(ステップS7,S8,
S9)、次のフローテーブルエントリを調べる(ステッ
プS10,S11)。ラベルマージをサポートしない、
または、受信メッセージ中のホップカウントがエントリ
中のホップカウント以下の場合には(ステップS7,S
8)、Updateフラグはそのままで次のフローテー
ブルエントリを調べる(ステップS10,S11)。
【0208】フローテーブルの最後まで検索が終ると
(ステップS10)、受信メッセージ中のホップカウン
トをチェックする(ステップS12)。ホップカウント
がしきい値を越える場合には、前段ノードにラベル割当
て失敗メッセージを返す(ステップS22)。ホップカ
ウントがしきい値以下の場合には、新たにフローテーブ
ルエントリを作成し(ステップS13)、終段ノードで
ある(終段フラグがオンである)場合には、前段ノード
にラベル割当て成功メッセージを返す(ステップS1
8)。終段ノードでない(終段フラグがオフである)場
合には、Updateフラグをチェックし(ステップS
15)、Updateフラグがオンの場合には、後段ノ
ードにホップカウント更新メッセージを送信する(ステ
ップS17)。Updateフラグがオフの場合には、
後段ノードにラベル割当てメッセージを送信する(ステ
ップS16)。なお、ステップS16において、さらに
前段ノードにラベル割り当て成功メッセージを送信する
ようにしてもよい。
【0209】なお、ステップS13のフローテーブルエ
ントリの作成では、前述したように確定を保留してお
き、ラベル割り当て成功メッセージが返されて始めて確
定させる。
【0210】また、ホップカウントを使用しない場合に
は、図14のステップS7のYesの出力とステップS
9の入力とを直結し、ステップS2のNoの出力および
ステップS10のYesの出力とステップS13の入力
とを直結し、ステップS20のYesの出力とステップ
S18の入力とを直結すればよい。この場合には、終段
ノードでなければマージ点から常に後段ノードに対して
更新メッセージが送信されることになるため、ホップカ
ウントを用いない場合に比べて送信されるメッセージの
数が増加する。
【0211】次に、図15に、第2の実施形態において
ホップカウント更新メッセージを受信したときのノード
装置の動作の一例を示す。
【0212】ホップカウント更新メッセージを受信する
と、Findフラグ、Updateフラグを0に設定し
(ステップS31)、フローテーブルの先頭から順番に
エントリを検索してゆく(ステップS32,S33,S
37,S38)。なお、フローテーブルにエントリがな
い場合には、前段ノードにホップカウント更新失敗メッ
セージを返す(ステップS32,S45)。
【0213】初段ノードでなく(初期フラグがオフ)、
かつ、エントリ中の入力側ラベルが受信メッセージ中の
ラベルと等しい場合には(ステップS34)、Find
フラグを1に設定し(ステップS39)、受信メッセー
ジ中のフロー識別子がエントリ中の値と等しいかどうか
をチェックし(ステップS40)、一致していなけれ
ば、前段ノードにホップカウント更新失敗メッセージを
返す(ステップS45)。一致していれば、ホップカウ
ントがエントリ中の値と等しいかどうかをチェックし
(ステップS41)、ホップカウントが異なれば、Up
dateフラグを1に設定し(ステップS42)、次の
フローテーブルエントリを調べる(ステップS37,S
38)。
【0214】一方、初段ノードである(初段フラグがオ
ン)、または、エントリ中の入力側ラベルが受信メッセ
ージ中のラベルと異なる場合には(ステップS34)、
受信メッセージ中のフロー識別子がエントリ中の値と等
しいかどうかをチェックし(ステップS35)、一致し
ていなければ、次のフローテーブルエントリを調べる
(ステップS37,S8)。一致していれば、受信メッ
セージ中の初段ノード情報がエントリ中の値と等しいか
どうかをチェックし(ステップS36)、一致していれ
ば、前段ノードにホップカウント更新失敗メッセージを
渡す(ステップS45)。一致していなければ、次のフ
ローテーブルエントリを調べる(ステップS37,S3
8)。
【0215】すべてのフローテーブルエントリを調べ終
ったときに(ステップS37)、Findフラグが0の
ままであれば(ステップS43)、前段ノードにホップ
カウント更新失敗メッセージを返す(ステップS4
5)。Findフラグが1であれば(ステップS4
3)、受信メッセージ中のホップカウントがしきい値以
下であるかどうかをチェックし(ステップS44)、し
きい値を越えていれば、前段ノードにホップカウント更
新失敗メッセージを返す(ステップS45)。ホップカ
ウントがしきい値以下である場合には次にUpdate
フラグを調べる(ステップS46)。Updateフラ
グが0のままであれば、前段ノードにホップカウント更
新成功メッセージを送信する(ステップS49)。Up
dateフラグが1になっていれば、フローテーブルエ
ントリの初段ノード情報とホップカウントを更新するた
めの処理を行い(ステップS47)、終段ノードかどう
かを調べる(ステップS48)。終段ノードであれば、
前段ノードにホップカウント更新成功メッセージを送信
する(ステップS49)。終段ノードでなければ、出力
側ラベルが存在するかどうかを調べ(ステップS5
0)、存在する場合には、後段ノードにホップカウント
更新メッセージを送信し(ステップS52)、存在しな
い場合には、後段ノードにラベル割り当てメッセージを
送信する(ステップS51)。
【0216】なお、ステップS47のフローテーブルエ
ントリの初段ノード情報とホップカウントを更新するた
めの処理では、前述したように確定を保留しておき、ホ
ップカウント更新成功メッセージが返されて始めて確定
させる。
【0217】また、ホップカウントを使用しない場合に
は、図15のステップS43のYesの出力とステップ
S46の入力とを直結し、ステップS40のYesの出
力とステップS42の入力とを直結すればよい。この場
合には、Find=1かつ終段ノードでなければ常に後
段ノードに対してラベル割り当てメッセージまたは更新
メッセージが送信されることになるため、ホップカウン
トを用いない場合に比べて送信されるメッセージの数が
増加する。
【0218】ラベル割り当て成功メッセージ、ラベル割
り当て失敗メッセージ、ホップカウント更新成功メッセ
ージ、ホップカウント更新失敗メッセージを受信したと
きのノード装置の処理手順、初段のノード装置がラベル
割り当てメッセージを送信するときの処理手順等は、前
述した通りである。
【0219】次に、図16に、第1の実施形態、第2の
実施形態においてラベル割り当てメッセージを受信した
ときのノード装置の動作の一例を示す。
【0220】図16は、ホップカウントを併用するプロ
トコルに対応するものであり、ホップカウントを併用し
ない場合、図16においてステップS12を省き、ステ
ップS2とS10をステップS13に直結すればよい。
【0221】ただし、この例では、ホップカウントを使
用しない場合には、ループ検出に初段ノード情報を必ず
使用する。
【0222】なお、図15のような手順を持つ第2の実
施形態のノード装置を常にマージしないように設定する
ことにより、第1の実施形態のノード装置(ホップカウ
ントを併用するもの)として使用することができる。
【0223】ラベル割り当て成功メッセージ、ラベル割
り当て失敗メッセージを受信したときのノード装置の処
理手順、初段のノード装置がラベル割り当てメッセージ
を送信するときの処理手順等は、前述した通りである。
【0224】これまでのノード装置の動作手順の例で
は、ノード装置が後段ノードにメッセージ送信後ACK
信号待ちの状態のときに前段ノードから状態の変更を伴
うメッセージを受信しないような排他制御を別に行う場
合について述べたが、以降の例では、ACK待ちの状態
のときに前段ノードから状態の変更を伴うメッセージを
受信するような場合にラベルスイッチングパス全体の状
態の一貫性を保ような排他制御も行うような場合につい
て述べる。これから述べる例では、ノードがラベルのマ
ージを行うならば、初段ノード情報を用いなくてもルー
プ検出が可能である。
【0225】以下の例で用いるメッセージのフォーマッ
トについては、図11、図12を参照しながら説明した
ものと同様である。
【0226】図17に、本ラベル割当てプロトコルが動
作するノード装置において使用されるフローテーブルの
フォーマットの一例を示す。
【0227】フローテーブルは、現在、ラベルスイッチ
ングされているフローにおける、フロー識別子、初段ノ
ード情報(初段ノードアドレス、または初段ノードアド
レスと初段ノードローカルIDの組)、入力側ラベル
(リンク識別子、ラベル)、出力側ラベル(リンク識別
子、ラベル)、ホップカウント値、初段ノードかどうか
を示す初段ノードフラグ、終段ノードかどうかを示す終
段ノードフラグ、エントリが確定したかを示す確定フラ
グが書き込まれる。なお、図17は、フロー識別子が1
種類の場合の例である。
【0228】ループ検出に初段ノード情報を用いない場
合には、初段ノード情報用のフィールドはなくてもよい
が、ループ検出に初段ノード情報を用いる場合に比べ、
ループ検出をするためにラベル割り当てメッセージおよ
びホップカウント更新メッセージがより多くのノードを
経由する可能性がある。
【0229】また、第1および第2の実施形態では、初
段ノードローカルIDのフィールドは不要である。
【0230】第1の実施形態で、ホップカウントを併用
しない場合には、ホップカウント値のフィールドは不要
である。
【0231】また、初段ノードフラグは、初段ノード情
報に該当するノード装置が、ラベル割り当てメッセージ
を送信するにあたって、セットする。
【0232】終段ノードフラグは、自ノードがフロー識
別子で指定されるフローの宛先であるノード装置、また
は次ホップノードが本ラベル割り当てプロトコルをサポ
ートしていないようなノード装置が、例えばラベル割り
当てメッセージを受信した際に、セットする。
【0233】なお、各ノード装置は、隣接するノード装
置が本ラベル割り当てプロトコルをサポートするか否か
を、例えば予めまたは必要時に隣接ノード装置と通信す
ることによって知ることができる。
【0234】次に、図18に、第1の実施形態、第2の
実施形態においてラベル割り当てメッセージを受信した
ときのノード装置の動作の一例を示す。本例は、図14
の手順において、ラベル割り当てメッセージを受信した
時に常に1個のメッセージしか処理しないように修正し
たものである。
【0235】ラベル割り当てメッセージを受信すると、
まず、ホップカウントの更新を示すフラグであるUpd
ateフラグをクリアするとともに、自ノードでマージ
されたフローの本数を示すカウンタCntを0にリセッ
トし(ステップS1−1)、フローテーブルの先頭から
順番に検索してゆく(ステップS2,S3,S10,S
11)。なお、フローテーブルにエントリがない場合に
は、ステップ12に移る。
【0236】初段ノードでなく(初段フラグがオフ)、
かつ、エントリ中の入力側ラベルが受信メッセージ中の
ラベルと等しい場合には(ステップS4)、受信メッセ
ージ中のフロー識別子、初段ノード情報、ホップカウン
トがエントリ中の値と等しいかどうかをチェックし、い
ずれかが一致していなければ、前段ノードにラベル割り
当てメッセージを送信し、処理を終了する(ステップS
19〜S22)。
【0237】一方、すべて一致していれば、エントリ中
の確定フラグをチェックし、確定フラグがオンであれば
前段ノードにラベル割り当て成功メッセージを送信し
(ステップS19,S20,S21,S23,S2
8)、確定フラグがオフであれば、ラベル割り当てメッ
セージを廃棄するか、後段ノードにラベル割り当て失敗
メッセージを送信する(ステップS19,S20,S2
1,S23,S24)。後者の場合、ラベル割り当て受
信処理は終了する。
【0238】一方、初段ノードである(初段フラグがオ
ン)、または、エントリ中の入力側ラベルが受信メッセ
ージ中のラベルと異なる場合には(ステップS4)、フ
ロー識別子をチェックする(ステップS5)。フロー識
別子が異なる場合には、次のフローテーブルエントリを
調べる。フロー識別子が等しい場合には、初段ノード情
報が等しいかどうかをチェックし(ステップS6)、初
段ノード情報が等しい場合には、前段ノードにラベル割
り当て失敗メッセージを返す(ステップS22)。初段
ノード情報が異なる場合には、ラベルマージをサポート
する場合には、Cntを1だけインクリメントし(ステ
ップS7,S1−2)、さらに受信メッセージ中のホッ
プカウントがエントリ中のホップカウントより大きい場
合には(ステップS8)、確定フラグがオンか否か調べ
(ステップS200)、確定フラグがオンならば、Up
dateフラグをセットし(ステップS9)、次のフロ
ーテーブルエントリを調べる(ステップS10,S1
1)。ステップS200で確定フラグがオフならば、前
段ノードにラベル割り当てメッセージを送信し、処理を
終了する(ステップS22)。なお、ラベルマージをサ
ポートしない場合、または受信メッセージ中のホップカ
ウントがエントリ中のホップカウント以下の場合には
(ステップS7,S8)、Updateフラグはそのま
まで次のフローテーブルエントリを調べる(ステップS
10,S11)。
【0239】フローテーブルの最後まで検索が終ると
(ステップS10)、受信メッセージ中のホップカウン
トをチェックする(ステップS12)。ホップカウント
がしきい値を越える場合には、前段ノードにラベル割り
当て失敗メッセージを返す(ステップS22)。ホップ
カウントがしきい値以下の場合には、新たにフローテー
ブルエントリを作成し(ステップS13)、終段ノード
である(終段フラグがオン)場合には、確定フラグをオ
ンにするとともに前段ノードにラベル割り当て成功メッ
セージを送信する(ステップS18)。終段ノードでな
い(終段フラグがオフ)場合には、Updateフラグ
をチェックし(ステップS15)、Updateフラグ
がオンである場合には、確定フラグをオフにするととも
に後段ノードにホップカウント更新メッセージを送信す
る(ステップS27)。Updateフラグがオフの場
合には、Cnt=0(自ノードがマージポイントでな
い)ならば、確定フラグをオフにするとともに後段ノー
ドにラベル割り当てメッセージを送信し(ステップS2
5,S26)、Cnt>0(自ノードがマージポイント
である)ならば、確定フラグをオンにする(マージの設
定をする)とともに前段ノードにラベル割り当て成功メ
ッセージを送信する(ステップS25,S28)。な
お、Updateフラグがオフの場合には、Cnt=0
ならば、ステップS26において、上記に加えてさらに
前段ノードにラベル割り当て成功メッセージを送信する
ようにしてもよい。
【0240】なお、ステップS13のフローテーブルエ
ントリの作成では、前述したように確定を保留しておき
(確定フラグをオフに設定)、ラベル割り当て成功メッ
セージが返されて始めて確定させる(確定フラグをオン
に設定)。
【0241】また、ループ検出に初段ノード情報を用い
ない場合には、図18のステップS5のYesの出力と
ステップS7の入力とを直結し、ステップS19のYe
sの出力とステップS21の入力とを直結すればよい。
この場合には、ループ検出に初段ノード情報を用いる場
合に比べ、ループ検出をするためにラベル割り当てメッ
セージおよびホップカウント更新メッセージがより多く
のノードを経由することになる。
【0242】また、ホップカウントを使用しない場合に
は、図18のステップS1−2のYesの出力とステッ
プS200の入力とを直結し、ステップS2のNoの出
力およびステップS10のYesの出力とステップS1
3の入力とを直結し、ステップS20のYesの出力と
ステップS23の入力とを直結すればよい。この場合に
は、終段ノードでなければマージ点から常に後段ノード
に対してホップカウント更新メッセージが送信されるこ
とになるため、ホップカウントを用いない場合に比べて
送信されるメッセージの数が増加する。
【0243】また、ネットワーク内の全ノードがラベル
マージをサポートする場合には初段ノード情報、ホップ
カウント両方使用しないことも可能である。この場合の
フローチャートは、ループ検出に初段ノード情報を用い
ない場合のフローチャートと、ホップカウントを使用し
ない場合のフローチャートの共通部分になる。この場合
のフローチャートを図19に示す。
【0244】次に、図20に、第2の実施形態において
ホップカウント更新メッセージを受信したときのノード
装置の動作の一例を示す。本例は、図15の手順におい
て、ホップカウント更新メッセージを受信した時に常に
1個のメッセージしか処理しないように修正したもので
ある。
【0245】ホップカウント更新メッセージを受信する
と、Findフラグを0に、Updateフラグを1に
それぞれ設定し(ステップS31−1)、フローテーブ
ルの先頭から順番にエントリを検索してゆく(ステップ
S32,S33,S37,S38)。なお、フローテー
ブルにエントリがない場合には、前段ノードにホップカ
ウント更新失敗メッセージを返す(ステップS32,S
65−2)。
【0246】初段ノードでなく(初段フラグがオフ)、
かつ、エントリ中の入力側ラベルが受信メッセージ中の
ラベルと等しい場合には(ステップS34)、Find
フラグを1に設定し(ステップS39)、受信メッセー
ジ中のフロー識別子がエントリ中の値と等しいかどうか
をチェックし(ステップS40)、一致していなけれ
ば、前段ノードにホップカウント更新失敗メッセージを
返して処理を終了する(ステップS65−2)。一致し
ていれば、ホップカウントがエントリ中の値と等しいか
どうかをチェックし(ステップS41)、ホップカウン
トが等しければ、初段ノード情報が同じか否かチェック
し(ステップS63)、初段ノード情報が同じであれ
ば、確定フラグをオンにするとともに、前段ノードにホ
ップカウント更新成功メッセージを送信する(ステップ
S69)。ホップカウントが異なるか、または初段ノー
ド情報が同じでなければ、エントリ中の確定フラグをチ
ェックする(ステップS64)。確定フラグがオンであ
れば、次のフローテーブルエントリを調べる(ステップ
S37,S38)。確定フラグがオフであれば、受信メ
ッセージを廃棄するか前段ノードにホップカウント更新
失敗メッセージを送信し、処理を終了する(ステップS
65−1)。
【0247】一方、初段ノードである(初段フラグがオ
ン)、または、エントリ中の入力側ラベルが受信メッセ
ージ中のラベルと異なる場合には(ステップS34)、
受信メッセージ中のフロー識別子がエントリ中の値と等
しいかどうかをチェックし(ステップS35)、一致し
ていなければ、次のフローテーブルエントリを調べる
(ステップS37,S38)。一致していれば、受信メ
ッセージ中の初段ノード情報がエントリ中の値と等しい
かどうかをチェックし(ステップS36)、一致してい
れば、前段ノードにホップカウント更新失敗メッセージ
を渡す(ステップS65−2)。ステップS36で一致
していなければ、確定フラグがオフか否か調べ(ステッ
プS201)、確定フラグがオフならば、次のフローテ
ーブルエントリを調べる(ステップS37,S38)。
また、ステップS201で確定フラグがオンならば、U
pdateフラグを0にクリアしてから(ステップS2
02)、次のフローテーブルエントリを調べる(ステッ
プS37,S38)。
【0248】すべてのフローテーブルエントリを調べ終
ったときに(ステップS37)、Findフラグが0の
ままであれば(ステップS43)、前段ノードにホップ
カウント更新失敗メッセージを返す(ステップS65−
2)。Findフラグが1であれば(ステップS4
3)、受信メッセージ中のホップカウントがしきい値以
下であるかどうかをチェックし(ステップS44)、し
きい値を越えていれば、前段ノードにホップカウント更
新失敗メッセージを返す(ステップS65−2)。ホッ
プカウントがしきい値以下である場合には次にUpda
teフラグを調べる(ステップS46)。Update
フラグが0のままであれば、確定フラグをオンにすると
ともに、前段ノードにホップカウント更新成功メッセー
ジを送信する(ステップS69)。Updateフラグ
が1になっていれば、フローテーブルエントリの初段ノ
ード情報とホップカウントを更新するための処理を行な
い(ステップS67)、終段ノードかどうかを調べる
(ステップS48)。終段ノードであれば、確定フラグ
をオンにするとともに前段ノードにホップカウント更新
成功メッセージを送信する(ステップS69)。終段ノ
ードでなければ、出力側ラベルが存在するかどうかを調
べ(ステップS50)、存在する場合には、確定フラグ
をオフにするとともに後段ノードにホップカウント更新
メッセージを送信し(ステップS72)、存在しない場
合には、確定フラグをオフにするとともに後段ノードに
ラベル割り当てメッセージを送信する(ステップS7
1)。
【0249】ここで、終段ノード以外のノードは、更新
後のホップカウント値が更新前よりも小さくなるような
場合には、ステップS71またはS72を実行するとと
もに、前段ノードにホップカウント更新成功メッセージ
を送信してもよい。
【0250】なお、ステップS67のフローテーブルエ
ントリの初段ノード情報とホップカウントを更新するた
めの処理では、前述したように確定を保留しておき、ホ
ップカウント更新成功メッセージが返されて始めて確定
させる。
【0251】また、ループ検出に初段ノード情報を用い
ない場合には、図20のステップS35のYesの出力
とステップS201の入力とを直結し、ステップS41
のYesの出力とステップS69の入力とを直結すれば
よい。この場合には、ループ検出に初段ノード情報を用
いる場合に比べ、ループ検出をするためにラベル割り当
てメッセージおよびホップカウント更新メッセージがよ
り多くのノードを経由することになる。
【0252】また、ホップカウントを使用しない場合に
は、図20のステップS43のYesの出力とステップ
S46の入力とを直結し、ステップS40のYesの出
力とステップS64の入力とを直結すればよい(この結
果、ステップS63の処理は省かれることになる)。ま
た、マージポイント以降の既にラベルスイッチングパス
が存在する部分を転送されるメッセージはホップカウン
トを含まない「更新メッセージ」とすることができる。
この場合には、Find=1かつ終段ノードでなければ
常に後段ノードに対してラベル割り当てメッセージまた
はホップカウント更新メッセージが送信されることにな
るため、ホップカウントを用いない場合に比べて送信さ
れるメッセージの数が増加する。
【0253】また、ネットワーク内の全ノードがラベル
マージをサポートする場合には初段ノード情報、ホップ
カウント両方使用しないことも可能である。この場合の
フローチャートは、ループ検出に初段ノード情報を用い
ない場合のフローチャートと、ホップカウントを使用し
ない場合のフローチャートの共通部分になる。この場合
のフローチャートを図21に示す。
【0254】ラベル割り当て成功メッセージ、ラベル割
り当て失敗メッセージ、ホップカウント更新成功メッセ
ージ、ホップカウント更新失敗メッセージを受信したと
きのノード装置の処理手順、初段のノード装置がラベル
割り当てメッセージを送信するときの処理手順等は、前
述した通りである。
【0255】次に、図22に、第1の実施形態、第2の
実施形態においてラベル割り当てメッセージを受信した
ときのノード装置の動作の一例を示す。本例は、図16
の手順において、ラベル割り当てメッセージを受信した
時に常に1個のメッセージしか処理しないように修正し
たものである。
【0256】図22は、ホップカウントを併用するプロ
トコルに対応するものであり、ホップカウントを併用し
ない場合、図22においてステップS12を省き、ステ
ップS2とS10をステップS13に直結すればよい。
【0257】ただし、この例では、ホップカウントを使
用しない場合には、ループ検出に初段ノード情報を必ず
使用する。
【0258】なお、図20のような手順を持つ第2の実
施形態のノード装置を常にマージしないように設定する
ことにより、第1の実施形態のノード装置(ホップカウ
ントを併用するもの)として使用することができる。
【0259】ラベル割り当て成功メッセージ、ラベル割
り当て失敗メッセージを受信したときのノード装置の処
理手順、初段のノード装置がラベル割り当てメッセージ
を送信するときの処理手順等は、前述した通りである。
【0260】次に、マージ可能な場合にラベルスイッチ
ングパスを解放する場合のノード装置の動作について説
明する。ノード装置は、ラベルスイッチングパスを解放
する場合には、後段ノードに対して「ラベル解放メッセ
ージ」を送信する。「ラベル解放メッセージ」を送信し
たノードは、後段ノードから「ラベル解放成功メッセー
ジ」受信すると、該当するフローテーブルエントリを削
除するものとする。
【0261】図23に、第1の実施形態、第2の実施形
態においてラベル解放メッセージを受信したときのノー
ド装置の動作の一例を示す。
【0262】図23において、Edは、受信したラベル
解放メッセージに対応するフローテーブルエントリを記
憶するための変数、Euは、エントリEdを削除した後
の初段ノードからの最大のホップカウントを与えるフロ
ーテーブルのエントリを記憶するための変数、hmax
は、エントリEdを削除した後の初段ノードからの最大
のホップカウント値を記憶する変数である。
【0263】ラベル解放メッセージを受信したノード装
置は、EdおよびEuをNILに、hmaxを0に初期
化し(ステップS101)、次に、フローテーブルエン
トリの先頭から順番にエントリを検索してゆく(ステッ
プS102,S103,S110,S111)。なお、
フローテーブルエントリが存在しない場合には、前段ノ
ードにラベル解放成功メッセージを返す(ステップS1
16)。
【0264】各フローテーブルエントリの検索では以下
の処理を行なう。
【0265】まず、入力側ラベルが受信メッセージ中の
ラベル値と等しいかどうかをチェックし(ステップS1
04)、等しい場合には、メッセージ中のフロー識別子
および初段ノード情報がエントリ中の値と同じかどうか
をチェックし(ステップS119,S120)、どちら
も同じでない場合には、前段ノードにラベル解放失敗メ
ッセージを送信して処理を終了する(ステップS12
2)。フロー識別子および初段ノード情報ともにエント
リ中の値と同じ場合には、Edにこのエントリを設定し
(ステップS121)、次のエントリについて調べる
(ステップS110,S111)。
【0266】入力側ラベルが受信メッセージ中のラベル
値と異なる場合には、メッセージ中のフロー識別子がエ
ントリ中の値と同じかどうかをチェックし(ステップS
105)、異なる場合には次のエントリについて調べる
(ステップS110,S111)。フロー識別子が同じ
場合には、メッセージ中の初段ノード情報がエントリ中
の値と同じかどうかをチェックし(ステップS10
6)、同じ場合には前段ノードにラベル解放失敗メッセ
ージを送信して処理を終了する(ステップS122)。
初段ノード情報が異なる場合には、このノードがマージ
をサポートするかどうかを調べ(ステップS107)、
サポートしない場合には、次のエントリについて調べる
(ステップS110,S111)。
【0267】マージをサポートする場合には、hmax
>このエントリ中のホップカウントならば次のエントリ
について調べ(ステップS108,S110,S11
1)、hmax≦このエントリ中のホップカウントなら
ば、Euにこのエントリを設定し、hmaxにはこのエ
ントリ中のホップカウントを設定してから次のエントリ
について調べる(ステップS108,S109,S11
0,S111)。
【0268】フローテーブルエントリの検索が終了する
と、前段ノードにラベル解放成功メッセージを送信する
(ステップS128)。次に、EdがNILなら処理を
終了し(ステップS116)、そうでなければ、Euが
NILかどうかをチェックする(ステップS116,S
117)。EuがNILであれば、Edの確定フラグを
オフにして、後段ノードにラベル解放メッセージを送信
して処理を終了する(ステップS126)。EuがNI
Lでない場合には(ステップS118)、hmax>E
d中のホップカウントならば処理を終了し、hmax≦
Ed中のホップカウントならば(ステップS118)、
Euの確定フラグをオフにするとともに、後段ノードに
ホップカウント更新メッセージを送信し(ステップS1
18,S127)、処理を終了する。
【0269】ここで、送信するホップカウント更新メッ
セージ中のホップカウントおよび初段ノード情報には、
エントリEu中の値を書き込むようにする。
【0270】なお、ある出力側ラベルに対するラベル解
放成功メッセージ(ラベル解放失敗メッセージ)を受信
したノードは、その出力側ラベルに対するフローテーブ
ルエントリ中の確定フラグがオフである場合には、その
エントリを削除する。
【0271】以上の処理により、各ノードでラベル解放
後に、上流ノードの中で最大のホップカウント値を与え
る初段ノードが変わる場合にも更新後の初段ノード情報
およびホップカウント値を正しく保持することができ、
ラベルスイッチングパスの生成と解放が非同期に起こる
ような場合にもループの検出を行なうことができる。
【0272】なお、ループ検出に初段ノード情報を用い
ない場合には、図23のステップS105のYesの出
力とステップS107の入力を直結し、ステップS11
9のYesの出力とステップS121の入力を直結すれ
ばよい。
【0273】また、ホップカウントを使用しない場合に
は、図23のステップS109における「Euにこのエ
ントリを設定し、hmaxにはこのエントリ中のホップ
カウントを設定する」処理から「hmaxにはこのエン
トリ中のホップカウントを設定する」部分を省いて「E
uにこのエントリを設定する」処理に修正するとともに
(すなわち、「Eu:=このエントリ、hmax=この
エントリ中のホップカウント」を「Eu:=このエント
リ」に変更する:この変更した処理をステップS109
−1とする)、ステップS107のYesの出力とステ
ップS109−1の入力を直結し、ステップS117の
Noの出力とステップS127の入力を直結すればよ
い。この場合には、ホップカウントを用いない場合に比
べて送信されるメッセージの数が増加する。
【0274】なお、共通の出力側ラベルを持つようなそ
のフローに対する任意のフローテーブルエントリ中の初
段ノード情報をホップカウント更新メッセージに書き込
んで送信しループ検出する場合のラベルスイッチングパ
スの解放手続は、このホップカウントを使用しない場合
と同様にすればよい。
【0275】また、ネットワーク内の全ノードがラベル
マージをサポートする場合には初段ノード情報、ホップ
カウント両方使用しないことも可能である。この場合の
フローチャートは、ループ検出に初段ノード情報を用い
ない場合のフローチャートと、ホップカウントを使用し
ない場合のフローチャートの共通部分になる。この場合
のフローチャートを図24に示す。
【0276】なお、図18、図20、図22の手順に対
して確定フラグを用いないような修正を施したものが、
それぞれ、図14、図15、図16の手順であるが、同
様に、図23の手順に対して確定フラグを用いないよう
な修正を施すことも可能である。また、図23において
ホップカウントを使用しないようにした手順に対して確
定フラグを用いないような修正を施すことも可能であ
る。
【0277】次に、以上の実施形態において、マルチキ
ャストのラベルスイッチングパスのループ検出を行なう
場合の例を示す。マルチキャストの場合には、ラベルの
マージは行なわず、また、初段ノード主導でラベルスイ
ッチングパスを設定する。パケットフォーマットは、ユ
ニキャストの場合と同じであり、ラベルを上流側、下流
側どちらのノードで割り当ててもよい。
【0278】フロー識別子には、マルチキャストルーチ
ングテーブルのエントリがマルチキャストグループアド
レス毎に存在する場合には、マルチキャストグループア
ドレスが使用され、マルチキャストルーチングテーブル
のエントリがソースアドレスとマルチキャストグループ
アドレスの組毎に存在する場合には、ソースアドレスと
マルチキャストグループアドレスの組が使用される。
【0279】確定フラグを使用しない場合のフローテー
ブルのフォーマットは、図13において、出力側ラベル
フィールドが、自ノードのマルチキャストの各々の枝に
対する1つ以上の出力側ラベルフィールドに置き換わ
る。
【0280】また、確定フラグを使用する場合のフロー
テーブルのフォーマットは、図17において、出力側ラ
ベルフィールドが、自ノードのマルチキャストの各々の
出力の枝に対する1つ以上の出力側ラベルフィールドに
置き換わる。
【0281】次に、マルチキャストの場合のラベルスイ
ッチングパス生成時の動作について述べる。
【0282】まず、初段ノードは、ラベルスイッチング
パスの生成を起動する時に、自ノードのマルチキャスト
の各々の出力の枝に対してラベル割り当てメッセージを
送信する。
【0283】確定フラグを用いない場合には、ラベル割
り当てメッセージを受信したノードは、図16のフロー
チャートにしたがって、ユニキャストの場合と同様に動
作する。ただし、図16のステップS16が、「自ノー
ドのマルチキャストの各々の出力の枝に対してラベル割
り当てメッセージを送信する」に書き換わる。
【0284】確定フラグを用いる場合には、ラベル割り
当てメッセージを受信したノードは、図22のフローチ
ャートにしたがって、ユニキャストの場合と同様に動作
する。ただし、図22のステップS26が、「確定フラ
グオフ&自ノードのマルチキャストの各々の出力の枝に
対してラベル割り当てメッセージを送信する」に書き換
わる。
【0285】また、自ノードのマルチキャストの各々の
枝の下流隣接ノードからラベル割り当て成功メッセージ
またはラベル割り当て失敗メッセージをを受信したノー
ドは、以下のいずれかの動作を行なう。 (1)すべての枝の下流隣接ノードからラベル割り当て
成功メッセージを受信すると、上流隣接ノードにラベル
割り当て成功メッセージを返し、少なくとも1つの枝の
下流隣接ノードからラベル割り当て失敗メッセージを受
信すると、上流隣接ノードにラベル割り当て失敗メッセ
ージを返す(すべての枝に対してエンド−エンドでラベ
ルスイッチングパスが形成できるならば送信者から全て
のマルチキャスト受信者までのラベルスイッチングパス
を設定)。 (2)常に上流隣接ノードにラベル割り当て成功メッセ
ージを返す(下流がどうあれ、送信者から自ノードまで
のラベルスイッチングパスは設定)。 (3)少なくとも1つの枝の下流隣接ノードからラベル
割り当て成功メッセージを受信すると、上流隣接ノード
にラベル割り当て成功メッセージを返し、すべての枝の
下流隣接ノードからラベル割り当て失敗メッセージを受
信すると、上流隣接ノードにラベル割り当て失敗メッセ
ージを返す(ある枝に対してエンド−エンドでラベルス
イッチングパスが形成できるならば送信者からその受信
者までのラベルスイッチングパスは設定)。
【0286】次に、マルチキャストの場合のラベルスイ
ッチングパス解放時の動作について述べる。
【0287】まず、ラベルスイッチングパスの解放を起
動するノードは、自ノードのマルチキャストの各々の出
力の枝に対してラベル解放メッセージを送信する。
【0288】ホップカウントを用いる場合には、ラベル
解放メッセージを受信したノードは、図23のフローチ
ャートにしたがって、ユニキャストの場合と同様に動作
する。ただし、図23のステップS126が、「Edの
確定フラグオフ&自ノードのマルチキャストの各々の出
力の枝に対してラベル解放メッセージを送信する」に書
き換わる。また、この場合には、ステップS117でN
o分岐に入ることはない。
【0289】ホップカウントを用いない場合には、ラベ
ル解放メッセージを受信したノードは、図24のフロー
チャートにしたがって、ユニキャストの場合と同様に動
作する。ただし、図24のステップS126が、「Ed
の確定フラグオフ&自ノードのマルチキャストの各々の
出力の枝に対してラベル解放メッセージを送信する」に
書き換わる。また、この場合には、ステップS117で
No分岐に入ることはない。
【0290】また、自ノードのマルチキャストのすべて
の枝の下流隣接ノードからラベル解放成功メッセージを
受信したノードは、フローテーブルエントリを削除す
る。
【0291】以上の実施形態では、ラベル割り当てメッ
セージが初段ノードから後段ノードの方向に送信され、
ラベル割り当て成功/失敗メッセージが終段ノードから
前段ノードの方向に送信される場合(Ingress
Control)を示したが、本発明は、ラベル割り当
てメッセージが終段ノードから前段ノードの方向に送信
され、ラベル割り当て成功/失敗メッセージが初段ノー
ドから後段ノードの方向に送信される場合(Egres
s Control)にも、適用可能である。
【0292】なお、Ingress Control方
式の第1、第2の実施形態等で、ループ検出のための更
新メッセージをパスの向きと逆方向に流してもループ検
出は可能である。
【0293】この場合には、ラベル割り当てメッセージ
受信を契機として更新メッセージを送信することになっ
ているノードは、下流側隣接ノードに更新メッセージを
送信する代わりに、ラベル割り当てメッセージを送信し
たノードに対して「照会メッセージ」を送信するととも
に、確定フラグをオフにする。
【0294】照会メッセージを受信したノードは、入力
側ラベルが存在する上流側隣接ノードのそれぞれに更新
メッセージを送信し、確定フラグをオフにする。更新メ
ッセージは、入力側ラベルが存在する上流隣接ノードに
次々にフォワードされ、確定フラグがオフであるノード
が更新メッセージを受信した場合には、ループであると
判断し、更新失敗メッセージを返す。そうでなく、初段
ノードが更新メッセージを受信したときに確定フラグが
オンである場合には、更新成功メッセージを返す。少な
くとも一つの上流隣接ノードから更新失敗メッセージを
受信した場合には、下流隣接ノードに更新失敗メッセー
ジを返し、そうでない場合には、更新成功メッセージを
返す。いずれの場合も確定フラグをオンにする。
【0295】更新メッセージを最初に送信したノードが
更新失敗メッセージを受信すると、照会失敗メッセージ
を下流隣接ノードに送信し、更新成功メッセージを受信
すると照会成功メッセージを下流隣接ノードに送信す
る。いずれの場合も確定フラグをオンにする。照会成功
メッセージを受信したノードは、ラベルスイッチングが
可能となり、照会失敗メッセージを受信したノードは、
入力側ラベルを削除する。いずれの場合にも確定フラグ
をオンにする。
【0296】例えば、図5において、ノード装置R5が
ノード装置R2にラベル割り当てメッセージを送信した
場合には、ノード装置R2は、ノード装置R5に照会メ
ッセージを送信し、確定フラグをオフにする。ノード装
置R5は、ノード装置R2から照会メッセージを受信す
ると、ノード装置R4に更新メッセージを送信し、確定
フラグをオフにする。更新メッセージは、ノード装置R
4からノード装置R3、ノード装置R3からノード装置
R2とR8、ノード装置R8からノード装置R7、ノー
ド装置R7からノード装置R6へとフォワードされる。
ノード装置R2が更新メッセージを受信すると、確定フ
ラグがすでにオフであるため、ループであると判断し、
更新失敗メッセージをノード装置R3に返す。ノード装
置R6は、更新成功メッセージを送信し、これはノード
装置R3までフォワードされる。ノード装置R3は、ノ
ード装置R4に対して更新失敗メッセージを送信し、こ
れはノード装置R5までフォワードされる。ノード装置
R5は、更新失敗メッセージを受信すると、ノード装置
R2に照会失敗メッセージを返し、ノード装置R2とノ
ード装置R5との間ではラベルスイッチングは行なわれ
ない。
【0297】照会メッセージ、照会成功メッセージは図
11で示した例と同じで、照会失敗メッセージは、図1
2で示した例と同じである。ただし、これらのメッセー
ジにはラベルの値を指定する。
【0298】なお、これまでの説明では、一旦、ラベル
が割り当てられたパスに対しては、ラベル割り当てメッ
セージは送信しないようなハードステート型のプロトコ
ルを前提にしていたが、本発明は、いったんラベルが割
り当てられたパスに対しても、定期的にラベル割り当て
メッセージを送信するようなソフトステート型のプロト
コルに関しても有効である。ソフトステート型の場合に
は、一定期間ラベル割り当てメッセージを受信しない場
合にはラベルが解放される。
【0299】さて、これまでは、初段ノード主導でラベ
ルスイッチングパスを生成する場合のループ検出方法に
ついて説明してきたが、次に、終段ノード主導でラベル
スイッチングパスを設定する場合のループ検出方法につ
いて説明する。
【0300】終段ノード主導でラベルスイッチングパス
を設定する方法は、基本的に、文献「N.Feldma
n and A.Viswanathan,“ARIS
Specification”,Internet
Draft (work in progress),
draft−feldman−aris−spec−0
0.txt,Mar.,1997」にある方法を使用す
るが、ループ検出の方法が上記文献とは異なり、パス上
のノードのリストであるパスベクトルを使用しないた
め、パスベクトルを使用する場合に比べ、メッセージ長
を短くできる。
【0301】以下の説明において、ノード装置に関連す
る基本的な事項は、例えば、ノード装置がIP(Int
ernet Protocol)処理を行なう機能を持
つとともに本実施形態に係るラベル割り当てプロトコル
に従ってラベルスイッチングを行なう機能を持つ点、初
段ノード情報、フローID、リンクID、インタフェー
スID、入力側ラベル、出力側ラベルなどの語句もしく
はその定義に関する点などについては、第1の実施形態
や第2の実施形態などで説明したものと基本的には同様
である。
【0302】なお、ノード装置がラベル割当てメッセー
ジを終段として送信する契機には、例えば、次のような
形態がある。 (1)終段として登録された各々のノード装置が起動し
た時を契機に、ラベル割当てメッセージを送信する。 (2)終段として登録された各々のノード装置において
フロー(終段として登録されたノードを通過するパケッ
ト流)の通過トラヒック量がしきい値を越えた場合を契
機に、ラベル割当てメッセージを送信する。 (3)フロー(終段として登録されたノードを通過する
パケット流)に対するトラヒック量がしきい値を越え、
かつ、フローの次ホップノードが本実施形態に係るラベ
ル割り当てプロトコルをサポートしない、という条件を
満たすノードのみが、これを契機に自ノードを終段と判
断してラベル割当てメッセージを送信する。
【0303】終段として登録されるノードの一例とし
て、OSPFのエリアボーダールータやドメイン境界ル
ータ、隣接BGPルータなどがある。
【0304】なお、上記の(3)の場合には、終段とし
て登録されたノードと実際のラベルスイッチングパスの
終段となるノードは異なる。
【0305】さて、ラベルスイッチングパスを終段ノー
ド主導で生成する場合(Egress contro
l)には、終段ノードから、すべての上流隣接ノードに
対してラベル割り当てのための手順を起動し、終段以外
の各ノードはフローの次ホップノードからラベル割り当
てのための手順が起動されると、さらに上流隣接ノード
(次ホップ以外の隣接ノード)に対してラベル割り当て
のための手順を起動する。最終的に初段ノードでラベル
割り当てのための手順が起動されると、初段ノードから
終段ノードまでのラベルスイッチングパスができる。こ
れを初期生成手順と呼ぶ。このとき、ラベルスイッチン
グパスは、初段ノードを葉、終段ノードを根とするツリ
ー状になる。
【0306】なお、初期生成手順中にラベル割り当ての
ための手順を実行中のノードで経路変更が起こらない場
合には、パスの出口から順にパスを作ってゆくため、上
記手順によりループができないことが保証される(パス
の出口の存在が保証されるため)。
【0307】ただし、経路変更などにより、存在する出
力側のラベル割り当てを解放して、新たな次ホップノー
ドとの間でラベル割り当てを行う場合、すなわち、入力
側のラベルが存在する場合に新たに出力側のラベルを割
り当てる場合には、もし、新たな次ホップノードの下流
に自ノードが位置する場合にはループができてしまうた
め、新たな次ホップノードとの間でラベル割り当てを行
う前に、その次ホップノードの下流に自ノードが位置し
ないことを確認する必要がある。
【0308】このため、あるノードで入力側のラベルが
存在する場合に出力側ラベルを新たに割り当てる場合に
は、確定フラグをオフにしながらループ検出のためのメ
ッセージを下流ノードに流し、確定フラグがオフである
場合にこのメッセージを上流ノードから受信した場合に
はループがあると判断される。そうでなく、このメッセ
ージが終段ノードまで到達すると、ループがないと判断
される。初段ノード情報と、初段ノードからのホップカ
ウントをループ検出に用いる場合には、ループ検出のた
めのメッセージが、ループ上を1周する前にループ検出
することが可能である。
【0309】ループ検出のためのメッセージには、更新
メッセージが使用される。更新メッセージはループ検出
のためだけではなく、パスの状態が変わったことを下流
ノードに通知するためにも使用される。
【0310】本実施形態では、ホップカウントとして、
終段ノードからのホップ数を用いる場合を示すが、ホッ
プカウントは省略可能である。ここでの例は、すべてあ
るFloeid=Egress[R1](R1を終段ノ
ードとするパケットストリーム)のフローに関する動作
であるとする。
【0311】なお、本実施形態では、フローを識別する
ために使うノードのアドレス(Flowid=Egre
ss[R1]という表記におけるR1)と、実際のラベ
ルスイッチングパスの終段となっているノードは一致す
るが、一般にフローを識別するために使うノードのアド
レス、実際のラベルスイッチングパスの終段ノードは一
致していなくてもよい。例えば、図25において、ノー
ドR1の次ホップノードとして、終段として登録された
ノードR0が存在してもよく、このとき、Flowid
=Egress[R0]となるが、実際のラベルスイッ
チングパスの終段ノードはR1になる。
【0312】以下、終段ノード主導でラベルスイッチン
グパスを設定する場合のいくつかの例について説明す
る。
【0313】(第4の実施形態)最初に、初段ノード情
報を使わない方法について説明する。簡単のために、す
べてのノードはラベルのマージが可能であるとする。ラ
ベルのマージを行なわない場合については後述する。ま
た、各ノードは下流側主導のラベル割り当て(Down
streamラベル割り当て)を行なうものとするが、
上流側主導のラベル割り当て(Upstreamラベル
割り当て)も可能である。
【0314】まず、すべてのノードは確定フラグをオン
に初期化する。
【0315】終段ノードは、ホップカウント=1が指定
されたラベル割り当てメッセージをフローのすべての上
流隣接ノード(次ホップ以外の隣接ノード)に送信す
る。
【0316】終段以外のノードは、そのフローに対する
出力側ラベルが設定されると、終段ノードからのホップ
カウントを1だけインクリメントした値をホップカウン
トに指定したラベル割り当てメッセージをフローのすべ
ての上流隣接ノード(次ホップ以外の隣接ノード)に送
信する。入力側ラベルが存在しない上流隣接ノードに対
しては、ラベル割り当てメッセージが定期的に送信され
る。
【0317】ラベル割り当てメッセージを受信したノー
ド(Uとする)は、メッセージの送信ノード(Dとす
る)がそのフローに対する次ホップノードでない、また
は、受信ホップカウントがしきい値を越える、または、
確定フラグがオフである、または、終段ノードであれ
ば、ラベル割り当て失敗メッセージを返す。そうでな
く、もし、入力側ラベルが存在するのに出力側ラベルが
存在しないならば、確定フラグをオフにして、「照会メ
ッセージ」をノードDに送信する。そうでなければ、ノ
ードDにラベル割り当て成功メッセージを送信する。こ
のとき、出力側ラベルが存在しなければ、出力側ラベル
の割り当てを行ない、メッセージ中のホップカウントを
終段ノードからのホップカウントとして記憶する。
【0318】上流隣接ノードからラベル割り当て成功メ
ッセージを受信したノードは、終段ノードでなければ、
以降、入力側ラベルと出力側ラベルとの間でラベルスイ
ッチングが可能となる。
【0319】ラベル割り当て失敗メッセージを受信した
ノードは、入力側ラベルの登録をやめる。
【0320】パス上のノード(Uとする)で経路変更、
または経路の削除が起こった場合には、ノードUは、古
い経路の次ホップノード(Doldとする)に対して、
ラベル解放メッセージを送信するとともに、確定フラグ
をオフにする。
【0321】ラベル解放メッセージを受信したノードD
oldは、ノードUに対してラベル解放成功メッセージ
を送信し、ラベルを解放する。
【0322】ラベル解放成功メッセージを受信したノー
ドUは、確定フラグをオンにし、新しい経路に対する次
ホップノードDnewが存在すれば、ノードDnewに
対し、ラベル割り当てトリガメッセージを送信する。ラ
ベル割り当てトリガメッセージは、ノードDnewから
ラベル割り当てメッセージを受信するまで定期的に再送
される。
【0323】ラベル割り当てトリガメッセージを受信し
たノードDnewは、確定フラグがオンであり、かつ、
自身が終段ノードであるかまたは出力側ラベルが存在す
るならば、ノードUに対して終段ノードから自ノードま
でのホップカウントを1だけインクリメントした値をホ
ップカウントに指定したラベル割り当てメッセージを返
す。
【0324】ノードUから照会メッセージを受信したノ
ードDは、確定フラグがオフであれば、ノードUに照会
失敗メッセージを返し、入力側ラベルの登録を行なわな
い。そうでなく、もし、出力側ラベルが存在すれば、下
流隣接ノードに更新メッセージを送信し、確定フラグを
オフにする。そうでなければ、ノードUに照会成功メッ
セージを送信する。
【0325】上流隣接ノードから更新メッセージを受信
したノードは、確定フラグがオフであれば、更新失敗メ
ッセージを返す。そうでなく、もし、出力側ラベルが存
在すれば、下流隣接ノードに更新メッセージを送信し、
確定フラグをオフにする。そうでなければ、更新成功メ
ッセージを返す。
【0326】下流隣接ノードから更新成功メッセージを
受信したノードは、確定フラグをオンにし、更新メッセ
ージを送信した上流隣接ノードに対しては、更新成功メ
ッセージを返し、照会メッセージを送信した上流隣接ノ
ードに対しては、照会成功メッセージを送信する。
【0327】下流隣接ノードから更新失敗メッセージを
受信したノードは、確定フラグをオンにし、更新メッセ
ージを送信した上流隣接ノードに対しては、更新失敗メ
ッセージを返し、照会メッセージを送信した上流隣接ノ
ードに対しては、照会失敗メッセージを送信する。
【0328】ノードDから照会成功メッセージを受信し
たノードUは、出力側ラベルを登録し、確定フラグをオ
ンにする。以降、入力側ラベルと出力側ラベルとの間で
ラベルスイッチングが可能となる。
【0329】ノードDから照会失敗メッセージを受信し
たノードUは、確定フラグをオンにする。以降、入力側
ラベルと出力側ラベルとの間でラベルスイッチングは行
なわれない。
【0330】次に、図25を参照しながら、ラベルスイ
ッチングパス生成時の動作例を説明する。図25におい
て、R1は終段ノードとする。また、R2、R3、R
4、R5、R6の次ホップノードは、それぞれ、R1、
R2、R3、R2、R2とする。
【0331】ノード装置R1は、ノード装置R2に対し
て(Flowid=Egress[R1]、Label
=a、Hopcount=1)のラベル割り当てメッセ
ージm1を送信する。
【0332】ノード装置R2は、ノード装置R1からラ
ベル割り当てメッセージm1を受信すると、ノード装置
R1はこのフローの次ホップノードであり、確定フラグ
はオンであるため、Label=aを記憶し、ノード装
置R1にラベル割り当て成功メッセージを返す。次に、
ノード装置R2は、次ホップノード以外の隣接ノードで
あるノード装置R5、R3、R6に対して、(Flow
id=Egress[R1]、Label=b、Hop
count=2)、(Flowid=Egress[R
1]、Label=c、Hopcount=2)、(F
lowid=Egress[R1]、Label=d、
Hopcount=2)のラベル割り当てメッセージm
2、m3、m4をそれぞれ送信する。
【0333】ノード装置R5は、ノード装置R2からラ
ベル割り当てメッセージm2を受信すると、ノード装置
R2はこのフローの次ホップノードであり、確定フラグ
はオンであるため、Label=bを記憶し、ノード装
置R2にラベル割り当て成功メッセージを送信する。次
に、ノード装置R5は、次ホップノード以外の隣接ノー
ドR4に対して、(Flowid=Egress[R
1]、Label=g、Hopcount=3)のラベ
ル割り当てメッセージm7を送信する。
【0334】ノード装置R3は、ノード装置R2からラ
ベル割り当てメッセージm3を受信すると、ノード装置
R2はこのフローの次ホップノードであり、確定フラグ
はオンであるため、Label=cを記憶し、ノード装
置R2にラベル割り当て成功メッセージを送信する。次
に、ノード装置R3は、次ホップノード以外の隣接ノー
ドR4に対して、(Flowid=Egress[R
1]、Label=e、Hopcount=3)のラベ
ル割り当てメッセージm5を送信する。
【0335】ノード装置R6は、ノード装置R2からラ
ベル割り当てメッセージm4を受信すると、ノード装置
R2はこのフローの次ホップノードであり、確定フラグ
はオンであるため、Label=dを記憶し、ノード装
置R2にラベル割り当て成功メッセージを送信する。
【0336】ノード装置R4は、ノード装置R3からラ
ベル割り当てメッセージm5を受信すると、ノード装置
R3はこのフローの次ホップノードであり、確定フラグ
はオンであるため、Label=eを記憶し、ノード装
置R3にラベル割り当て成功メッセージを送信する。次
に、ノード装置R4は、次ホップノード以外の隣接ノー
ドR5に対して、(Flowid=Egress[R
1]、Label=f、Hopcount=4)のラベ
ル割り当てメッセージm6を送信する。
【0337】ノード装置R4は、ノード装置R5からラ
ベル割り当てメッセージm7を受信すると、ノード装置
R5はこのフローの次ホップノードでないため、ノード
装置R5に対してラベル割り当て失敗メッセージを返
す。
【0338】ノード装置R5は、ノード装置R4からラ
ベル割り当てメッセージm6を受信すると、ノード装置
R4はこのフローの次ホップノードでないため、ノード
装置R4に対してラベル割り当て失敗メッセージを返
す。
【0339】ノード装置R3は、ノード装置R4からラ
ベル割り当て成功メッセージを受信すると、入力側ラベ
ルLabel=eを登録し、以降、入力側ラベルLab
el=eと出力側ラベルLabel=cの間のスイッチ
ングが可能になる。
【0340】ノード装置R2は、ノード装置R5、R
3、およびR6からラベル割り当て成功メッセージを受
信すると、それぞれ、入力側ラベルLabel=b,L
abel=c,Label=dを登録し、以降、これら
の入力側ラベルと出力側ラベルLabel=aの間のス
イッチングが可能になる。
【0341】ノード装置R1は、ノード装置R2からラ
ベル割り当て成功メッセージを受信すると、入力側ラベ
ルLabel=aを登録する。
【0342】この結果、図26のようなマージされたラ
ベルスイッチングパスができる。
【0343】次に、経路変更時の動作例を示す。図26
において、ノードR5において、経路変更が起こり、F
lowid=Rgress[R1]に対する次ホップノ
ードがR2からR4に変わったとする。
【0344】このとき、経路変更に伴って図27に示す
ようなパケットのやりとりが行なわれる。図27におい
て、RELはラベル解放メッセージ、REL_ACKは
ラベル解放成功メッセージ、TRGはラベル割り当てト
リガメッセージ、SETUPはラベル割り当てメッセー
ジ、SET_ACKはラベル割り当て成功メッセージで
ある。
【0345】まず、ノード装置R5は、経路変更前の次
ホップノードR2に対してラベル解放メッセージを送信
するとともに、確定フラグをオフにする。
【0346】ノード装置R2は、ノード装置R5からラ
ベル解放メッセージを受信すると、ノード装置R5との
間のラベル割り当てを解放し、ラベル解放成功メッセー
ジをノード装置R5に返す。
【0347】ノード装置R5は、ノード装置R2からラ
ベル解放成功メッセージを受信すると、確定フラグをオ
ンにし、新しい経路上の次ホップノードR4に対してラ
ベル割り当てトリガメッセージを送信する。
【0348】ノード装置R4は、ノード装置R5からラ
ベル割り当てトリガメッセージを受信すると、ノード装
置R5に対し、ラベル割り当てメッセージを返す。
【0349】ノード装置R5は、ノード装置R4からラ
ベル割り当てメッセージを受信すると、ノード装置R4
はこのフローの次ホップノードであり、受信ホップカウ
ントがしきい値を越えず、確定フラグがオンであり、か
つ、終段ノードでなく、かつ、入力側ラベルが存在しな
いため、ノード装置R4との間に出力側ラベルを割り当
て、ノード装置R4にラベル割り当て成功メッセージを
送信する。
【0350】ノード装置R4は、ノード装置R5からラ
ベル割り当て成功メッセージを受信すると、ラベル割り
当て成功メッセージの応答待ちの状態を解除し、確定フ
ラグをオンにする。以降、ノード装置R4ではラベルス
イッチングが可能となる。
【0351】この結果、図28のようなラベルスイッチ
ングパスができる。
【0352】次に、図28の状態から、さらに経路変更
が起こり、ノードR2の次ホップノードがR1からR5
に変わったとする。このとき、Flowid=Egre
ss[R1]に対しては、R2→R5→R4→R3→R
2というループした経路となっている。
【0353】このとき、経路変更に伴って図29に示す
ようなパケットのやりとりが行なわれる。図29におい
て、RELはラベル解放メッセージ、REL_ACKは
ラベル解放成功メッセージ、TRGはラベル割り当てト
リガメッセージ、SETUPはラベル割り当てメッセー
ジ、SETUP_NACKはラベル割り当て失敗メッセ
ージ、UPDは更新メッセージ、UPD_ACKは更新
成功メッセージ、UPD_NACKは更新失敗メッセー
ジである。
【0354】まず、ノード装置R2は、経路変更前の次
ホップノードR1に対してラベル解放メッセージを送信
するとともに、確定フラグをオフにする。
【0355】ノード装置R1は、ノード装置R2からラ
ベル解放メッセージを受信すると、ノード装置R2との
間のラベル割り当てを解放し、ラベル解放成功メッセー
ジをノード装置R2に返す。
【0356】ノード装置R2は、ノード装置R1からラ
ベル解放成功メッセージを受信すると、確定フラグをオ
ンにし、新しい経路上の次ホップノードR5に対してラ
ベル割り当てトリガメッセージを送信する。
【0357】ノード装置R5は、ノード装置R2からラ
ベル割り当てトリガメッセージを受信すると、ノード装
置R2に対し、ラベル割り当てメッセージを返す。
【0358】ノード装置R2は、ノード装置R5からラ
ベル割り当てメッセージを受信すると、ノード装置R5
はこのフローに対する次ホップノードであり、受信ホッ
プカウントがしきい値を越えず、確定フラグがオンであ
り、かつ、終段ノードでないが、入力側ラベルが存在す
るのに出力側ラベルが存在しないため、ノード装置R5
に照会メッセージを送信し、確定フラグをオフにする。
【0359】ノード装置R2から照会メッセージを受信
したノード装置R5は、確定フラグをオフにし、出力側
ラベルが存在する隣接ノードR3に更新メッセージを送
信する。
【0360】ノード装置R5から更新メッセージを受信
したノード装置R4は、確定フラグをオフにし、出力側
ラベルが存在する隣接ノードR3に更新メッセージを送
信する。
【0361】ノード装置R3から更新メッセージを受信
したノード装置R2は、確定フラグがオフであるため、
ノード装置R3に更新失敗メッセージを返す。
【0362】ノード装置R2から更新失敗メッセージを
受信したノード装置R3は、ノード装置R4に更新失敗
メッセージを返し、確定フラグをオンにする。
【0363】ノード装置R3から更新失敗メッセージを
受信したノード装置R4は、ノード装置R5に更新失敗
メッセージを返し、確定フラグをオンにする。
【0364】ノード装置R4から更新失敗メッセージを
受信したノード装置R5は、ノード装置R2に照会失敗
メッセージを返し、確定フラグをオンにする。
【0365】ノード装置R5から照会失敗メッセージを
受信したノード装置R2は、ノード装置R5にラベル割
り当て失敗メッセージを返すとともに、確定フラグをオ
ンにする。
【0366】ノード装置R2からラベル割り当て失敗メ
ッセージを受信したノード装置R5は、ノード装置R2
との間の入力側ラベルを解放する。
【0367】この結果、経路がループしているにもかか
わらず、図30のようなループのないラベルスイッチン
グパスができる。
【0368】次に、図31に、ラベル割り当てメッセー
ジを受信したノードの処理手順を現したフローチャート
を示す。
【0369】受信メッセージ中のフロー識別子をFとす
る(ステップS301)。
【0370】まず、Fで識別されるパケットフローの次
ホップノードがラベル割り当てメッセージの送信ノード
と異なるか、受信ホップカウントがしきい値を越えてい
るか、自身が終段ノードであれば、ラベル割り当てメッ
セージの送信ノードにラベル割り当て失敗メッセージを
返す(ステップS302,S303,S304,S30
5)。
【0371】そうでなく、もし、フロー識別子=Fで、
かつ、出力側ラベルが割り当てられているようなフロー
テーブルエントリが存在する場合には、確定フラグがオ
フであれば、ラベル割り当てメッセージの送信ノードに
ラベル割り当て失敗メッセージを返し(ステップS30
6,S307,S305)、オンであれば、ラベル割り
当てメッセージの送信ノードにラベル割り当て成功メッ
セージを返す(ステップS306,S307,S30
9)。
【0372】そうでなく、もし、フロー識別子=Fで、
かつ、入力側ラベルが割り当てられているようなフロー
テーブルエントリが存在する場合には、フロー識別子=
Fで、かつ、入力側ラベルが割り当てられているような
フローテーブルエントリのそれぞれに対し、出力側ラベ
ルを割り当て、照会メッセージを送信し、確定フラグを
オフにする(ステップS306,S308,S31
0)。もし、フロー識別子=Fで、かつ、入力側ラベル
が割り当てられているようなフローテーブルエントリが
存在するものでない場合には、ラベル割り当てメッセー
ジの送信ノードにラベル割り当て成功メッセージを返す
(ステップS306,S308,S309)。
【0373】(第5の実施形態)次に、Egress
Controlの場合に、確定フラグに加え、初段ノー
ド情報と初段ノードからのホップカウントを用いてルー
プ検出する場合の例を示す。
【0374】まず、すべてのノードは確定フラグをオン
に初期化する。
【0375】終段ノードは、ホップカウント=1が指定
されたラベル割り当てメッセージをフローのすべての上
流隣接ノード(次ホップ以外の隣接ノード)に送信す
る。
【0376】終段以外のノードは、そのフローに対する
出力側ラベルが設定されると、終段ノードからのホップ
カウントを1だけインクリメントした値をホップカウン
トに指定したラベル割り当てメッセージをフローのすべ
ての上流隣接ノード(次ホップ以外の隣接ノード)に送
信する。入力側ラベルが存在しない上流隣接ノードに対
しては、ラベル割り当てメッセージが定期的に送信され
る。
【0377】ラベル割り当てメッセージを受信したノー
ド(Uとする)は、メッセージの送信ノード(Dとす
る)がそのフローに対する次ホップノードでない、また
は、受信ホップカウントがしきい値を越える、または、
確定フラグがオフである、または、終段ノードであれ
ば、ラベル割り当て失敗メッセージを返す。そうでな
く、もし、入力側ラベルが存在するのに出力側ラベルが
存在しないならば、確定フラグをオフにして、ノードU
が持つ初段ノード情報、初段ノードからのホップカウン
トを1だけインクリメントしたホップカウントを含む
「照会メッセージ」をノードDに対して送信する。そう
でなければ、ノードDにラベル割り当て成功メッセージ
送信する。このとき、出力側ラベルが存在しなければ、
出力側ラベルの割り当てを行ない、メッセージ中のホッ
プカウントを終段ノードからのホップカウントとして記
憶する。ただし、初段ノードがラベル割り当て成功メッ
セージを送信する場合には、自ノードのルータIDまた
は出力インタフェースのネットワークアドレスを初段ノ
ードアドレス、新たに割り当てた初段ノードノードロー
カルIDを初段ノードとし、ホップカウント=1を指定
する(初段情報の発信)。初段ノードでない場合には、
どちらも指定しない。
【0378】上流隣接ノードからラベル割り当て成功メ
ッセージを受信したノードは、終段ノードでなければ、
以降、入力側ラベルと出力側ラベルとの間でラベルスイ
ッチングが可能となる。受信メッセージに初段ノード情
報とホップカウントが指定されていれば、それらを入力
側ラベルと対応付けるとともに、もし、受信したホップ
カウントが現在の全入力側ラベルに対応するホップカウ
ントよりも大きく、かつ、自身が終段ノードでなけれ
ば、次ホップノードに受信した初段ノード情報、および
受信ホップカウントを1だけインクリメントしたホップ
カウントを含む更新メッセージを送信し、確定フラグを
オフにする(初段情報のフォワード)ラベル割り当て失
敗メッセージを受信したノードは、入力側ラベルの登録
をやめる。
【0379】パス上のノード(Uとする)で経路変更、
または経路の削除が起こった場合には、ノードUは、古
い経路の次ホップノード(Doldとする)に対して、
ラベル解放メッセージを送信するとともに、確定フラグ
をオフにする。
【0380】ラベル解放メッセージを受信したノードD
oldは、確定フラグがオフであれば、ラベル解放失敗
メッセージを返す。確定フラグがオンであれば、ノード
Uに対してラベル解放成功メッセージを送信し、ラベル
を解放する。さらに、ラベル解放後、最大のホップカウ
ントを持つ初段ノードが変わった場合には、確定フラグ
をオフにするとともに、変更後の(初段ノード、ホップ
カウント)を指定した更新メッセージを下流ノードに送
信する。
【0381】ラベル解放成功メッセージを受信したノー
ドUは、確定フラグをオンにし、新しい経路上の下流ノ
ードDnewが存在すれば、ノードDnewにラベル割
り当てトリガメッセージを送信する。ラベル割り当てト
リガメッセージは、ノードDnewからラベル割り当て
メッセージを受信するまで定期的に再送される。
【0382】ラベル割り当てトリガメッセージを受信し
たノードDnewは、確定フラグがオンであり、かつ、
自身が終段ノードであるかまたは出力側ラベルが存在す
るならば、ノードUに対して終段ノードから自ノードま
でのホップカウントを1だけインクリメントした値をホ
ップカウントに指定したラベル割り当てメッセージを返
す。
【0383】ノードUから照会メッセージを受信したノ
ードDは、受信した初段ノード情報がすでに他の入力側
ラベルと対応しているか、または、ノードDが受信した
初段ノード情報に関する初段ノードであるか、または、
まだ初段ノード情報が設定されていない入力側ラベルが
存在するか、または、確定フラグがオフであれば、ノー
ドUに照会失敗メッセージを返し、入力側ラベルの登録
を行なわない。そうでなく、もし、受信したホップカウ
ントが現在の全入力側ラベルに対応するホップカウント
よりも大きく、かつ、終段ノードでなければ、下流隣接
ノードに受信した初段ノード情報、および受信ホップカ
ウントを1だけインクリメントしたホップカウントを含
む更新メッセージを送信し、確定フラグをオフにする。
そうでなければ、ノードUに照会成功メッセージを送信
する。
【0384】上流隣接ノードから更新メッセージを受信
したノードは、受信した初段ノード情報がすでに他の入
力側ラベルと対応しているか、または、まだ初段ノード
情報が設定されていない入力側ラベルが存在するか、ま
たは、確定フラグがオフであれば、更新失敗メッセージ
を返す。そうでなく、もし、受信したホップカウントが
現在の全入力側ラベルに対応するホップカウントよりも
大きく、かつ、終段ノードでなければ、下流隣接ノード
に受信した初段ノード情報、および受信ホップカウント
を1だけインクリメントしたホップカウントを含む更新
メッセージを送信し、確定フラグをオフにする。そうで
なければ、更新成功メッセージを返し、初段ノード情
報、およびホップカウントの更新を行なう。
【0385】下流隣接ノードから更新成功メッセージを
受信したノードは、確定フラグをオンにし、初段ノード
情報、およびホップカウントの更新を確定する。次に、
更新メッセージの応答待ちの上流隣接ノードがあれば更
新成功メッセージを返し、照会メッセージを送信した上
流隣接ノードがあれば照会成功メッセージを返す。
【0386】下流隣接ノードから更新失敗メッセージを
受信したノードは、確定フラグをオンにし、初段ノード
情報、およびホップカウントの更新をやめる。次に、更
新メッセージの応答待ちの上流隣接ノードがあれば更新
失敗メッセージを返し、照会メッセージを送信した上流
隣接ノードがあれば照会失メッセージを返す。
【0387】ノードDから照会成功メッセージを受信し
たノードUは、出力側ラベルを登録し、確定フラグをオ
ンにする。以降、入力側ラベルと出力側ラベルとの間で
ラベルスイッチングが可能となる。
【0388】ノードDから照会失敗メッセージを受信し
たノードUは、確定フラグをオンにする。以降、入力側
ラベルと出力側ラベルとの間でラベルスイッチングは行
なわれない。
【0389】次に、ラベルスイッチングパス生成時の動
作例を示す。ここでは、初段ノード情報として、ノード
のルータIDを使用するものとする。
【0390】図32において、R1は終段ノードとす
る。また、R2、R3、R4、R5、R6、R7、R8
の次ホップノードは、それぞれ、R1、R2、R3、R
2、R3、R6、R7とする。図32は、まず、Egr
ess Controlの第4の実施形態と同様の初期
生成手順を経た後のパスの状態を表す。
【0391】なお、初段ノードR5、R4、R8は、第
4の実施形態と同様の初段ノード情報とホップカウント
をラベル割り当て成功メッセージに指定し、各ノードで
は、上流隣接ノードから受信したラベル割り当て成功メ
ッセージの中で最大のホップカウントを与える初段ノー
ド情報とそれに対するホップカウントを1だけインクリ
メントしたホップカウントを指定したラベル割り当て成
功メッセージを下流隣接ノードにフォワードする。この
結果、R5、R4、R8、R7、R6、R3、R2が下
流隣接ノードに通知する(初段ノード情報、ホップカウ
ント)は、それぞれ、(R5,1)、(R4,1)、
(R8,1)、(R8,2)、(R8,3)、(R8,
4)、(R8,5)となる。
【0392】次に、経路変更時の動作例を示す。図32
において、ノードR5において、経路変更が起こり、F
lowid=Egress[R1]に対する次ホップノ
ードがR2からR4に変わったとする。
【0393】このとき、経路変更に伴って図33に示す
ようなパケットのやりとりが行なわれる。図33におい
て、RELはラベル解放メッセージ、REL_ACKは
ラベル解放成功メッセージ、TRGはラベル割り当てト
リガメッセージ、SETUPはラベル割り当てメッセー
ジ、QRYは照会メッセージ、QRY_ACKは照会成
功メッセージ、UPDは更新メッセージ、UPD_AC
Kは更新成功メッセージである。
【0394】まず、ノード装置R5は、経路変更前の次
ホップノードR2に対してラベル解放メッセージを送信
するとともに、確定フラグをオフにする。
【0395】ノード装置R2は、ノード装置R5からラ
ベル解放メッセージを受信すると、ノード装置R5との
間のラベル割り当てを解放し、ラベル解放成功メッセー
ジをノード装置R5に返す。
【0396】ノード装置R5は、ノード装置R2からラ
ベル解放成功メッセージを受信すると、確定フラグをオ
ンにし、新しい経路上の次ホップノードR4に対してラ
ベル割り当てトリガメッセージを送信する。
【0397】ノード装置R4は、ノード装置R5からラ
ベル割り当てトリガメッセージを受信すると、ノード装
置R5に対し、ラベル割り当てメッセージを返す。
【0398】ノード装置R5は、ノード装置R4からラ
ベル割り当てメッセージを受信すると、ノード装置R5
はそのフローに対する次ホップノードであり、かつ、受
信ホップカウントがしきい値以下であり、かつ、確定フ
ラグがオンであり、かつ、終段ノードでなく、かつ、も
し、入力側ラベルが存在しないため、ノード装置R4に
ラベル割り当て成功メッセージを送信する。ラベル割り
当て成功メッセージには、(初段ノード情報、ホップカ
ウント)=(R5、1)を指定する。
【0399】ノード装置R4は、ノード装置R5からラ
ベル割り当て成功メッセージを受信すると、(初段ノー
ド情報、ホップカウント)=(R5、2)を指定した更
新メッセージを次ホップノードR3に送信し、確定フラ
グをオフにする。
【0400】ノード装置R3は、ノード装置R4から更
新メッセージを受信すると、最大のホップカウントを与
える初段ノードはR8であるため、受信した(初段ノー
ド情報、ホップカウント)=(R5、2)を入力側ラベ
ルLabel=dと対応付けるとともに、ノード装置R
3に更新成功メッセージを返す。
【0401】ノード装置R3は、ノード装置R2から更
新メッセージを受信すると、初段ノード情報とホップカ
ウントの更新を確定するとともに、確定フラグをオンに
して、ノード装置R4に更新成功メッセージを返す。
【0402】ノード装置R4は、ノード装置R3から更
新成功メッセージを受信すると、確定フラグをオンに
し、以降、入力側ラベルと出力側ラベルとの間でラベル
スイッチングが可能となる。
【0403】この結果、図34のようなラベルスイッチ
ングパスができる。
【0404】次に、図34の状態から、さらに経路変更
が起こり、ノードR2の次ホップノードがR1からR5
に変わったとする。このとき、Flowid=Egre
ss[R1]に対しては、R2→R5→R4→R3→R
2というループした経路となっている。
【0405】このとき、経路変更に伴って図35に示す
ようなパケットのやりとりが行なわれる。図35におい
て、RELはラベル解放メッセージ、REL_ACKは
ラベル解放成功メッセージ、TRGはラベル割り当てト
リガメッセージ、SETUPはラベル割り当てメッセー
ジ、QRYは照会メッセージ、QRY_NACKは照会
失敗メッセージである。
【0406】まず、ノード装置R2は、経路変更前の次
ホップノードR1に対してラベル解放メッセージを送信
するとともに、確定フラグをオフにする。
【0407】ノード装置R1は、ノード装置R2からラ
ベル解放メッセージを受信すると、ノード装置R2との
間のラベル割り当てを解放し、ラベル解放成功メッセー
ジをノード装置R2に返す。
【0408】ノード装置R2は、ノード装置R1からラ
ベル解放成功メッセージを受信すると、確定フラグをオ
ンにし、新しい経路上の次ホップノードR5に対してラ
ベル割り当てトリガメッセージを送信する。
【0409】ノード装置R5は、ノード装置R2からラ
ベル割り当てトリガメッセージを受信すると、ノード装
置R2に対し、ラベル割り当てメッセージを返す。
【0410】ノード装置R2は、ノード装置R5からラ
ベル割り当てメッセージを受信すると、ノード装置R5
に、照会メッセージを送信するとともに、確定フラグを
オフにする。照会メッセージには、(初段ノード情報、
ホップカウント)=(R8、5)を指定する。
【0411】ノード装置R5は、ノード装置R2から照
会メッセージを受信すると、次ホップノードR4に更新
メッセージを送信し、確定フラグをオフにする。更新メ
ッセージには、(初段ノード情報、ホップカウント)=
(R8、6)を指定する。
【0412】ノード装置R4は、ノード装置R5から更
新メッセージを受信すると、次ホップノードR3に更新
メッセージを送信し、確定フラグをオフにする。更新メ
ッセージには、(初段ノード情報、ホップカウント)=
(R8、7)を指定する。
【0413】ノード装置R3は、ノード装置R4から更
新メッセージを受信すると、受信した初段ノード情報R
8は、すでにノード装置R6との間で割り当てた出力側
ラベルLabel=eに対応しているため、ループであ
ると判断し、ノード装置R4に更新失敗メッセージを返
す。
【0414】ノード装置R4は、ノード装置R3から更
新失敗メッセージを受信すると、ノード装置R5に更新
失敗メッセージを返し、確定フラグをオンにする。
【0415】ノード装置R5は、ノード装置R4から更
新失敗メッセージを受信すると、ノード装置R2に照会
失敗メッセージを返し、確定フラグをオンにする。
【0416】ノード装置R2は、ノード装置R5から照
会失敗メッセージを受信すると、確定フラグを確定フラ
グをオンににする。以降、入力側ラベルと出力側ラベル
との間でラベルスイッチングは行なわれない。
【0417】この結果、経路がループしているにもかか
わらず、図36のようなループのないラベルスイッチン
グパスができる。
【0418】なお、本実施形態では、確定フラグに加
え、初段ノード情報と、初段ノードからのホップカウン
トを用いた場合について述べたが、第1、第2の実施形
態と同様にして、初段ノード情報と、ホップカウントの
いずれかを使用しないでループ検出を行なうことが可能
である。
【0419】次に、図37に、ラベル割り当てメッセー
ジを受信したノードの処理手順を現したフローチャート
を示す。
【0420】受信メッセージ中のフロー識別子をFとす
る(ステップS311)。
【0421】まず、フロー識別子=Fのフローテーブル
エントリで入力側ラベルが受信ラベルとマッチするエン
トリEを探す。これが見つからなければ、更新メッセー
ジの送信ノードに更新失敗メッセージを送信する(ステ
ップS312,S315)。そうでなく、もし、フロー
識別子=Fのフローテーブルエントリで初段ノード情報
が設定されていないエントリが存在すれば、更新メッセ
ージの送信ノードに更新失敗メッセージを送信する(ス
テップS313,S315)。そうでなく、エントリE
の確定フラグがオフであれば、更新メッセージの送信ノ
ードに更新失敗メッセージを送信する(ステップS31
4,S315)。
【0422】そうでない場合には、受信した初段ノード
情報および初段からのホップカウントをエントリEに登
録する(ステップS316)。
【0423】次に、受信ホップカウントがフロー識別子
=Fを持つような(エントリE以外の)全フローテーブ
ルエントリ中の初段からのホップカウントよりも大き
く、かつ、終段ノードでなければ、確定フラグをオフに
して後段ノードに更新メッセージを送信する(ステップ
S317,S318,S320)。そうでなければ、更
新メッセージの送信ノードに更新成功メッセージを返す
(ステップS317,S318,S319)。
【0424】次に、第4、第5の実施形態において、ル
ープ検出のための更新メッセージをパスの向きと逆方向
に流す場合について説明する。
【0425】この場合には、ラベル割り当てメッセージ
を送信したノードは、確定フラグをオフにし、照会メッ
セージを送信することになっているノードは、照会メッ
セージを送信する代わりに、更新メッセージを入力側ラ
ベルが存在する上流側隣接ノードに送信して確定フラグ
をオフにする。更新メッセージは、入力側ラベルが存在
する上流側隣接ノードに次々にフォワードされ、確定フ
ラグがオフであるノードが更新メッセージを受信した場
合には、ループであると判断し、更新失敗メッセージを
返す。そうでなく、初段ノードが更新メッセージを受信
した時に確定フラグがオンである場合には、更新成功メ
ッセージを返す。少なくとも一つの上流側隣接ノードか
ら更新失敗メッセージを受信した場合には、下流側隣接
ノードに更新失敗メッセージを返し、そうでない場合に
は、更新成功メッセージを返す。いずれの場合も確定フ
ラグをオンにする。更新メッセージを最初に送信ノード
が更新失敗メッセージを受信すると、ラベル割り当て失
敗メッセージを下流隣接ノードに送信し、更新成功メッ
セージを受信するとラベル割り当て成功メッセージを下
流隣接ノードに送信する。いずれの場合も確定フラグを
オンにする。ラベル割り当て成功メッセージを受信した
ノードはラベルスイッチングが可能となり、ラベル割り
当て失敗メッセージを受信したノードは、入力側ラベル
を削除する。いずれの場合にも確定フラグをオンにす
る。
【0426】例えば、図36において、ノード装置R5
は、確定フラグをオフにしてノード装置R5にラベル割
り当てメッセージを送信する。ノード装置R2は、ノー
ド装置R5からラベル割り当てメッセージを受信する
と、確定フラグをオフにしてノード装置R3に更新メッ
セージを送信する。この更新メッセージは、ノード装置
R3からノード装置R4とノード装置R6、ノード装置
R4からノード装置R5、ノード装置R6からノード装
置R7、ノード装置R7からノード装置R8へとフォワ
ードされ、ノード装置R5が更新メッセージを受信した
時、確定フラグがすでにオフであるため、ループである
と判断し、更新失敗メッセージをノード装置R4に返
す。ノード装置R4はノード装置R3に更新失敗メッセ
ージを返す。ノード装置R8からノード装置R3へは更
新成功メッセージがフォワードされる。ノード装置R3
は、ノード装置R2に更新失敗メッセージを返す。ノー
ド装置R2は更新失敗メッセージを受信すると、ノード
装置R5にラベル割り当て失敗メッセージを返す。
【0427】次に、第4、第5の実施形態において、ラ
ベルのマージを行なわないノードが存在する場合の動作
について説明する。
【0428】この場合には、各ノードでラベルフィール
ドをフロー識別フィールドと、初段識別用フィールドの
2つのフィールドに分割する。フロー識別用フィールド
は、フローを識別するために使用し、初段識別用フィー
ルドは、フロー毎に初段ノードを識別するために使用す
る。
【0429】ラベルスイッチングパスの生成手順は、第
4、第5の実施形態で説明したアルゴリズムとほぼ同じ
である。ただし、ラベルのマージを行なわないノードで
は、ラベル割り当てメッセージには、ラベルのフロー識
別用フィールドのみ値を指定し、初段識別用フィールド
には値を指定しないでおく。このようなラベルを「半割
り当てラベル」と呼ぶ。ラベルのマージを行なうノード
では、ラベル割り当てメッセージには、ラベルのフロー
識別用フィールドと初段識別用フィールド両方の値を指
定する。このようなラベルを「全割り当てラベル」と呼
ぶ。半割り当てラベルと全割り当てラベルの識別には、
ラベルの1ビットを使用する。
【0430】半割当てラベルが指定されたラベル割り当
てメッセージが初段ノードに到達すると、全割り当てラ
ベルの割り当てを行ない、割り当てられたラベルが初段
ノードから終段ノードに向けて通知される。通知には、
更新メッセージを使用する。更新メッセージを受信した
とき、メッセージ中の全割り当てラベルがまだ登録され
ていない場合には、受信した全割り当てラベルを入力側
ラベルとして登録し、さらに、入力側ラベルに対応する
出力側の全割り当てラベルの割り当てを行なった後、出
力側の全割り当てラベルを含んだ更新メッセージを下流
隣接ノードに送信するようにする。
【0431】さらに、半割り当てラベルが指定されたラ
ベル割り当てメッセージを受信したノードが次ホップノ
ードに照会メッセージを送信する場合には、フローに対
して割り当てられた全割り当ての入力側ラベルのそれぞ
れに対応して、メッセージ中のフロー識別用フィールド
をフロー識別用フィールドに使用した出力側の全割り当
てラベルを割り当て、割り当てた出力側ラベル毎にこれ
を含んだ照会メッセージを送信する。
【0432】また、更新メッセージが上流から下流に流
れる場合で、照会メッセージを受信したノードが更新メ
ッセージを送信する場合には、照会メッセージに記入さ
れた全割り当てラベルに対応して、メッセージ中のフロ
ー識別用フィールドをフロー識別用フィールドに使用し
た出力側の全割り当てラベルを割り当て、これを更新メ
ッセージに記入する。また、更新メッセージを受信した
ノードが更新メッセージを送信する場合には、更新メッ
セージに記入された全割り当てラベルに対応して、メッ
セージ中のフロー識別用フィールドをフロー識別用フィ
ールドに使用した出力側の全割り当てラベルを割り当
て、これを更新メッセージに記入する。
【0433】例えば、図29において、全ノードがラベ
ルのマージを行なわないとすると、ノード装置R2はノ
ード装置R5に対して、ノード装置R2とノード装置R
5の間で初段ノードがノード装置R6のパス用に割り当
てた全割り当てラベルを含んだ照会メッセージと、ノー
ド装置R2とノード装置R5の間で初段ノードがノード
装置R5のパス用に割り当てた全割り当てラベルを含ん
だ照会メッセージの2個の照会メッセージを送信する。
また、ノード装置R5、R4、R3は、それぞれ、ノー
ド装置R4、R3、R2に対して、隣接ノード間で初段
ノードがノード装置R6のパス用に割り当てた全割り当
てラベルを含んだ更新メッセージと、隣接ノード間で初
段ノードがノード装置R5のパス用に割り当てた全割り
当てラベルを含んだ更新メッセージを送信する。
【0434】一方、更新メッセージが下流から上流に流
れる場合で、ノードが更新メッセージを送信する場合に
は、更新メッセージにはすでに割り当てた半割り当てラ
ベルを記入する。
【0435】なお、半割り当てラベルは、Upstea
mラベル割り当て、Downstreamラベル割り当
ての両方が可能であり、全割り当てラベルは、Upst
reamラベル割り当てが望ましい。
【0436】また、ラベルとして、VCI/VPIを用
いる場合には、VPIまたはVCIをフロー識別用フィ
ールドまたは初段識別用フィールドとして使用する。
【0437】次に、Egress controlにお
いて、マルチパスに対するラベルスイッチングパスを生
成する場合について説明する。
【0438】マルチパスに対するラベルスイッチングパ
スを生成する場合には、マルチパスの分岐ノードにおい
て、マルチパスのそれぞれの下流隣接ノードからのラベ
ル割り当てメッセージに対して、別々のラベルを登録
し、各々の上流隣接ノードに別々のラベル割り当てメッ
セージを送信するようにする。
【0439】また、マルチパスの1つの経路が削除され
た場合には、各々の上流隣接ノードに削除された経路に
対応するラベルスイッチングパスを解放するためのラベ
ル解放メッセージを送信するようにする。このラベル解
放メッセージは初段ノードまでフォワードされる。
【0440】次に、以上の各実施形態における、メッセ
ージのフォーマットの例について説明する。
【0441】ラベル割り当てメッセージ、ラベル割り当
て成功メッセージ、ラベル割り当て失敗メッセージ、ラ
ベル解放メッセージ、ラベル解放成功メッセージ、ラベ
ル解放失敗メッセージ、更新メッセージ、更新成功メッ
セージ、更新失敗メッセージのフォーマットは、図1
1、または図12で示した例と同じである。ただし、更
新メッセージ、更新成功メッセージ、更新失敗メッセー
ジにはラベルの値を指定する。また、照会メッセージ、
照会成功メッセージは、図11で示した例と同じで、照
会失敗メッセージは、図12で示した例と同じである。
ただし、これらのメッセージにはラベルの値を指定す
る。さらに、上記メッセージにおいて、初段ノード情
報、または、ホップカウントを使用しない場合にはこれ
らのフィールドは省略してもよい。
【0442】また、ラベル割り当てトリガメッセージの
フォーマットは、図11において、初段ノードアドレ
ス、初段ノードローカルID、ホップカウント、ラベ
ル、および、リクエスト識別子フィールドを省略したも
のとなる。
【0443】なお、これまでの説明では、一旦、ラベル
が割り当てられたパスに対しては、ラベル割り当てメッ
セージは送信しないようなハードステート型のプロトコ
ルを前提にしていたが、本発明は、いったんラベルが割
り当てられたパスに対しても、定期的にラベル割り当て
メッセージを送信するようなソフトステート型のプロト
コルに関しても有効である。ソフトステート型の場合に
は、一定期間ラベル割り当てメッセージを受信しない場
合にはラベルが解放される。
【0444】なお、以上の各手順、手段、機能は、ハー
ドウェアとしてもソフトウェアとしても実現可能であ
る。また、ソフトウェアとして実現する場合、コンピュ
ータに上記各手順を実行させるための(あるいはコンピ
ュータを上記各手段として機能させるための、あるいは
コンピュータに上記各機能を実現させるための)プログ
ラムを記録したコンピュータ読取り可能な記録媒体とし
て実施することもできる。
【0445】本発明は、上述した実施の形態に限定され
るものではなく、その技術的範囲において種々変形して
実施することができる。
【0446】
【発明の効果】本発明によれば、ホップカウントを用い
る場合に比べ早期にループを検出することが可能とな
る。また、本発明によれば、ラベルのマージを行う場合
にも、早期にループを検出することが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るノード装置を説
明するための図
【図2】隣接ノード同士がバス型接続されている場合に
ついて説明するための図
【図3】隣接ノード同士がポイント−ポイントリンク接
続されている場合について説明するための図
【図4】本発明の第2の実施形態に係るノード装置を説
明するための図
【図5】同実施形態に係るノード装置を説明するための
【図6】同実施形態に係るノード装置を説明するための
【図7】同実施形態に係るノード装置を説明するための
【図8】本発明の第1および第2の実施形態に係るノー
ド装置を説明するための図
【図9】本発明の第3の実施形態に係るノード装置を説
明するための図
【図10】本発明の第3の実施形態に係る他のノード装
置を説明するための図
【図11】ラベル割り当てメッセージのフォーマットの
一例を示す図
【図12】ラベル割り当て失敗メッセージのフォーマッ
トの一例を示す図
【図13】フローテーブルのフォーマットの一例を示す
【図14】ラベル割り当てメッセージ受信時のノード装
置の動作の一例を示すフローチャート
【図15】ホップカウント更新メッセージ受信時のノー
ド装置の動作の一例を示すフローチャート
【図16】ラベル割り当てメッセージ受信時のノード装
置の動作の他の例を示すフローチャート
【図17】フローテーブルのフォーマットの他の例を示
す図
【図18】ラベル割り当てメッセージ受信時のノード装
置の動作のさらに他の例を示すフローチャート
【図19】ラベル割り当てメッセージ受信時のノード装
置の動作のさらに他の例を示すフローチャート
【図20】ホップカウント更新メッセージ受信時のノー
ド装置の動作の他の例を示すフローチャート
【図21】ホップカウント更新メッセージ受信時のノー
ド装置の動作のさらに他の例を示すフローチャート
【図22】ラベル割り当てメッセージ受信時のノード装
置の動作のさらに他の例を示すフローチャート
【図23】ラベル解放メッセージ受信時のノード装置の
動作の一例を示すフローチャート
【図24】ラベル解放メッセージ受信時のノード装置の
動作の他の例を示すフローチャート
【図25】本発明の第4の実施形態に係るノード装置を
説明するための図
【図26】同実施形態に係るノード装置を説明するため
の図
【図27】同実施形態に係るノード装置を説明するため
の図
【図28】同実施形態に係るノード装置を説明するため
の図
【図29】同実施形態に係るノード装置を説明するため
の図
【図30】同実施形態に係るノード装置を説明するため
の図
【図31】同実施形態に係るラベル割り当てメッセージ
受信時のノード装置の動作の一例を示すフローチャート
【図32】本発明の第5の実施形態に係るノード装置を
説明するための図
【図33】同実施形態に係るノード装置を説明するため
の図
【図34】同実施形態に係るノード装置を説明するため
の図
【図35】同実施形態に係るノード装置を説明するため
の図
【図36】同実施形態に係るノード装置を説明するため
の図
【図37】同実施形態に係るラベル割り当てメッセージ
受信時のノード装置の動作の一例を示すフローチャート
【符号の説明】
R1〜R8…ノード装置
【手続補正書】
【提出日】平成10年10月5日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 ノード装置及びラベルスイッチン
グパスのループ検出方法
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ラベルスイッチン
グパスのループ検出機能を有するノード装置及びラベル
スイッチングパスのループ検出方法に関する。
【0002】
【従来の技術】NBMA(Non−Broadcast
Multiple Access)ネットワーク上で
IP(Internet Protocol)ノードが
相互接続されるようなネットワークレイヤプロトコルに
おいて、パケット転送を高速化するための手法として、
MPLS(Multi−Protocol Label
Switching)方式がある。
【0003】MPLSは、ノード間で特定のパケットフ
ローに特定の「ラベル」を割り当て、各ノードで入力側
のラベルと出力側のラベルとを関連付けて記憶してお
き、この情報を参照してラベルスイッチングを行うこと
により、IP処理を省略し、高速なパケット転送が可能
となる。例えば、リンクレイヤがATMの場合、VPI
(Virtual Path Identifier)
/VCI(Virtual Channel Iden
tifier)がラベルとして使用される。パケットフ
ローがラベルスイッチングされる経路をラベルスイッチ
ングパスと呼ぶ。
【0004】ラベルスイッチングパスを構成する場合に
は、ラベル割当てプロトコルが使用される。ラベル割当
てプロトコルは、パケットフローの経路上のノード間
で、ネットワークグローバルにパケットフローを識別す
るためのフロー識別子と、リンクローカルにパケットフ
ローを識別するためのラベルとの対応付けを通知するた
めに、ラベル割当てメッセージをやり取りする。
【0005】通常、IPパケットは、ノードを経由する
毎にそのパケットヘッダ内のTTL(Time To
Live)フィールド(あるいはホップリミット・フィ
ールドあるいはこれらに相当するもの)の値が1ずつデ
クリメントされ、TTL等が0になると、IPパケット
はそれ以上にフォワーディングされない。これにより経
路にループがあった場合もパケットがいつまでもネット
ワーク内に留まることを防止することができる。しかし
ながら、ラベルスイッチングパスで転送されるパケット
に対しては途中ノードでIP処理が行われないため、T
TL等をデクリメントすることができず、このため、ラ
ベルスイッチングパスにループができると、そのラベル
スイッチングパスからパケットが出ていかないようにな
ってしまう。このため、ラベル割当てプロトコルには、
ラベルスイッチングパスのループ検出機構、またはルー
プ回避機構が必要である。
【0006】
【発明が解決しようとする課題】従来のラベル割当てプ
ロトコルにおいては、(1)ラベル割当てメッセージの
中に、そのパケットフローに対するラベル割当てメッセ
ージを発信した初段ルータからのホップカウント情報を
含め、ホップカウントがしきい値を越えるとループであ
ると判断する方法、および(2)ラベル割当てメッセー
ジをフォワードする各ノードが自分のアドレスをラベル
割当てメッセージに追加して行き、受信したラベル割当
てメッセージに自分のアドレスがすでに書き込んであれ
ばループであると判断する方法、がある。
【0007】しかしながら、上記の(1)の方法は、ホ
ップカウントがしきい値を越えるまではループであるこ
とがわからないため、ループ検出までに時間がかかって
しまうという問題があった。なお、この場合、実際にル
ープが形成されたか否かはわからず、またループが形成
されたときでも、どのノードにおいてループが形成され
たかわからない。
【0008】また、上記の(2)の方法は、ラベル割当
てメッセージのサイズが大きくなってしまう、という問
題があった。
【0009】本発明は、上記事情を考慮してなされたも
ので、IPパケットのTTL(Tim To Liv
e)フィールドを用いた経路のループ検出ができないよ
うなラベルスイッチングパスを構成する場合に、効率的
かつ早期にラベルスイッチングパスのループを検出可能
なノード装置及びラベルスイッチングパスのループ検出
方法を提供することを目的とする。
【0010】
【課題を解決するための手段】本発明の一つの発明は、
ラベルスイッチングパスを設定するために上流から順に
流すメッセージに、初段ノード情報を含ませ、ラベルス
イッチングパスがループを形成する際には、同一のパケ
ットフローについて初段ノード情報を同じくするメッセ
ージを以前と異なる前段ノードから受信することにな
る、ということを利用する。
【0011】まず、本発明(請求項1)は、入力される
パケットフローを識別可能なラベル情報と少なくとも出
力側インタフェースを特定する情報との対応関係を参照
して、入力されたパケットをラベルスイッチングするノ
ード装置であって、前段ノード装置から受信した、ラベ
ルスイッチングパスの設定を要求するラベル割り当てメ
ッセージに基づいて、パケットフローをネットワークグ
ローバルに識別可能なフロー識別子および該ラベルスイ
ッチングパスの初段ノードに関する初段ノード情報を記
憶する手段と、前記ラベル割り当てメッセージと同一の
フロー識別子および初段ノード情報を含むラベル割り当
てメッセージをどのノ−ド装置から受信したかに基づい
て(例えば、前記前段ノード装置とは異なるノード装置
から受信したかに基づいて)、ラベルスイッチングパス
のループが形成されるか否かを判断する手段とを備えた
ことを特徴とする。
【0012】本発明(請求項2)は、出力されるパケッ
トフローを識別可能なラベル情報を使用して、ラベルス
イッチングされるべきパケットを送信するノード装置で
あって、ラベルスイッチングパスの設定を要求する、該
ラベルスイッチングパスの初段ノードに関する初段ノー
ド情報を少なくとも含むラベル割り当てメッセージであ
って、前記初段ノード情報が自ノードを指すものを受信
した場合には、ラベルスイッチングパスのループが形成
されるものと判断する手段を備えたことを特徴とする。
【0013】本発明(請求項3)は、入力されるパケッ
トフローを識別可能な入力側ラベル情報と出力されるパ
ケットフローを識別可能な出力側ラベル情報との対応関
係を参照して、入力されたパケットをラベルスイッチン
グするノード装置であって、パケットフローの経路上の
隣接ノード装置との間で、ラベルスイッチングパスの設
定を要求するラベル割り当てメッセージであって、該パ
ケットフローをネットワークグローバルに識別可能なフ
ロー識別子と該ラベルスイッチングパスの初段ノードに
関する初段ノード情報とを含むものを交換する手段と、
既存のラベルスイッチングパスに対して、前記フロー識
別子および前記初段ノード情報が一致するラベル割当て
メッセージを受信した場合に、前記入力側ラベル情報の
内容に基づいて(例えば、前記入力側ラベル情報を異な
らせるようなラベル割当てメッセージであるか否かに基
づいて)、ラベルスイッチングパスのループが形成され
るか否かを判断する手段とを備えたことを特徴とする。
【0014】本発明によれば、ホップカウントを用いる
場合に比べ、早期にループ検出が可能となる。
【0015】好ましくは、前記ラベルスイッチングパス
のループが形成されるものと判断された場合、受信した
前記ラベル割当てメッセージに対するラベル割当てのた
めの処理を行わないようにしてもよい。
【0016】好ましくは、前記ラベルスイッチングパス
のループが形成されるものと判断された場合、受信した
前記ラベル割当てメッセージの送信元である前段ノード
装置に対して、ラベル割当て失敗メッセージを送信する
ようにしてもよい。
【0017】好ましくは、後段ノード装置からラベル割
当て失敗メッセージを受信した場合、このラベル割当て
失敗メッセージに関係するラベル割当てメッセージを自
ノードに送信した前段ノード装置に対して、ラベル割当
て成功メッセージを送信する手段を更に具備するように
してもよい。
【0018】好ましくは、前記ラベル割り当てメッセー
ジは、このラベル割り当てメッセージの送信元である前
段ノード装置が割り当てた、前記ラベル情報の一部また
は全部を構成するラベル、もしくは、ラベルスイッチン
グパスの一部を構成する隣接ノード間のコネクションを
特定する識別子であって該ラベルを導出可能なものを含
むようにしてもよいし、あるいは前記ラベル割り当てメ
ッセージは、ラベルの割り当てを要求する識別子を含む
ものであり、受信したラベル割り当てメッセージに対す
るラベル割当て処理を行っても良いと判断された場合、
このラベル割り当てメッセージの送信元である前段ノー
ド装置へ、自ノードが割り当てた、前記ラベル情報の一
部または全部を構成するラベル、もしくは、ラベルスイ
ッチングパスの一部を構成する隣接ノード間のコネクシ
ョンを特定する識別子であって該ラベルを導出可能なも
のを含む、ラベル割り当て成功メッセージを返信する手
段を更に具備するようにしてもよい。
【0019】本発明(請求項9)は、入力されるパケッ
トフローを識別可能な入力側ラベル情報と出力されるパ
ケットフローを識別可能な一つまたは複数の出力側ラベ
ル情報との対応関係を参照して、入力されたパケットを
ラベルスイッチングするノード装置であって、パケット
フローの経路上の前段ノード装置との間、および、一つ
または複数の後段ノード装置それぞれとの間で、ラベル
スイッチングパスの設定を要求するラベル割り当てメッ
セージであって、該パケットフローを識別可能なフロー
識別子と該ラベルスイッチングパスの初段ノードに関す
る初段ノード情報とを含むものを交換する手段と、以前
に交換したメッセージと同一のフロー識別子及び初段ノ
ード情報を含むメッセージを以前とは異なる前段ノード
装置から受信した場合、もしくは、以前に交換したメッ
セージと同一のフロー識別子及び初段ノード情報を含み
前記入力側ラベル情報を異ならせるようなメッセージを
受信した場合を検出し、この検出結果に基づいてラベル
スイッチングパスのループが形成されるか否かを判断す
る手段とを備えたことを特徴とする。
【0020】これにより、マルチキャストのラベルスイ
ッチングパスを設定する場合にも、ループ検出が可能と
なる。
【0021】本発明のもう一つの発明は、ラベルスイッ
チングパスを設定するためにメッセージを流す(初段か
ら下流へ向けて流す初段ノード主導でも、終段から上流
へ向けて流す終段ノード主導でもよい)際に、既に上流
もしくは下流にそのパケットフロー用のラベルスイッチ
ングパスが存在するノードに当たったならば、その既存
のラベルスイッチングパス上を、例えば更新メッセージ
を流すことにより、フローと同方向もしくは逆方向に辿
る。最後まで辿ってループが検出されなければ、ラベル
スイッチングパスを設定する。
【0022】この辿るときに使うメッセージに初段ノー
ド情報を含ませれば、ループが形成される際には同一の
パケットフローについて初段ノード情報を同じくするメ
ッセージを以前と異なる前段ノードから受信することに
なるため、これを利用してループが検出できる。あるい
は、メッセージを送受信するときに状態が未確定である
ことを示すフラグを立てておくことにすれば、ループが
形成される際には同一のパケットフローについてフラグ
が未確定を示しているノードにメッセージが到達するた
め、これを利用してループが検出できる。
【0023】すなわち、本発明(請求項10)は、入力
されるパケットフローを識別可能な一つまたは複数の入
力側ラベル情報と出力されるパケットフローを識別可能
な出力側ラベル情報との対応関係を参照して、入力され
たパケットをラベルスイッチングするノード装置であっ
て、パケットフローの経路上の隣接ノード装置との間
で、新たなラベルスイッチングパスを設定するためのメ
ッセージもしくは既存のラベルスイッチングパスを利用
するためのメッセージであって、該パケットフローを識
別可能なフロー識別子と該ラベルスイッチングパスの初
段ノードに関する初段ノード情報とを含むものを交換す
る手段と、以前に交換したメッセージと同一のフロー識
別子及び初段ノード情報を含むメッセージを以前とは異
なる前段ノード装置から受信した場合、もしくは、以前
に交換したメッセージと同一のフロー識別子及び初段ノ
ード情報を含み前記入力側ラベル情報を異ならせるよう
なメッセージを受信した場合を検出し、この検出結果に
基づいてラベルスイッチングパスのループが形成される
か否かを判断する手段とを備えたことを特徴とする。
【0024】本発明によれば、ラベルのマージを行う場
合にも早期にループ検出が可能となる。
【0025】初段ノード主導の場合には、前記交換する
手段は、自装置の下流に前記パケットフロー用のラベル
スイッチングパスが存在しない場合に、新たなラベルス
イッチングパスを設定するためのメッセージとしてラベ
ル割り当てメッセージを後段ノード装置へ送信し、自装
置の下流に前記パケットフロー用のラベルスイッチング
パスが存在し、自装置の上流に対応するラベルスイッチ
ングパスを新たに設定しようとする場合に、既存のラベ
ルスイッチングパスを利用するためのメッセージとして
更新メッセージを後段ノード装置へ送信するものである
ようにするとよい。
【0026】終段ノード主導の場合には、前記交換する
手段は、自装置の下流に前記パケットフロー用のラベル
スイッチングパスが存在するが自装置の上流に対応する
ラベルスイッチングパスが存在しない場合に、新たなラ
ベルスイッチングパスを設定するためのメッセージとし
てラベル割り当てメッセージを後段ノード装置以外のノ
ード装置へ送信し、自装置の上流に前記パケットフロー
用のラベルスイッチングパスが存在するが自装置の下流
に対応するラベルスイッチングパスが存在しない場合
に、新たなラベルスイッチングパスを設定するためのメ
ッセージとして照会メッセージを後段ノード装置へ送信
し、前段ノード装置から照会メッセージを受信し、自装
置の下流に前記パケットフロー用のラベルスイッチング
パスが存在する場合に、既存のラベルスイッチングパス
を利用するためのメッセージとして更新メッセージを後
段ノード装置へ送信するものであるようにするとよい。
【0027】終段ノード主導の場合には、さらに、前記
交換する手段は、後段ノード装置からラベル割り当てメ
ッセージを受信し、自装置の上流に前記パケットフロー
用のラベルスイッチングパスが存在しない場合に、ラベ
ル割り当て成功メッセージを後段ノード装置へ送信し、
前段ノード装置からラベル割り当て成功メッセージを受
信し、自装置の下流に前記パケットフロー用のラベルス
イッチングパスが存在する場合にも、前記更新メッセー
ジを後段ノード装置へ送信するものであるようにしても
よい。
【0028】以上の各発明において、後段ノード装置へ
送信するメッセージ(例えば、更新メッセージ、初段主
導の場合のラベル割り当てメッセージ、終段主導の場合
のラベル割り当て成功メッセージや照会メッセージ)中
にホップカウントをも含め、初段ノードからのホップカ
ウントがしきい値を越えた場合には、受信したメッセー
ジに関するラベルスイッチングパスの設定を行わないよ
うに処理するようにしてもよい。
【0029】本発明(請求項15)は、入力されるパケ
ットフローを識別可能な入力側ラベル情報と出力される
パケットフローを識別可能な出力側ラベル情報との対応
関係を参照して、入力されたパケットをラベルスイッチ
ングするとともに、同じフロー識別子を有するパケット
フローに関し、一つの出力側ラベル情報と複数の入力側
ラベル情報とを対応させることによって、ラベルスイッ
チングパスのマージを行うノード装置であって、ラベル
スイッチングパスの設定を要求する、パケットフローを
識別可能なフロー識別子、該ラベルスイッチングパスの
初段ノードに関する初段ノード情報およびホップカウン
ト値を少なくとも含むラベル割当てメッセージを受信し
た場合、該ラベル割当てメッセージが既存のラベルスイ
ッチングパスへのマージを伴うものであり、かつ、前記
ホップカウント値が既存のラベルスイッチングパスのホ
ップカウント値をより大きい値に更新させるものである
ならば、該既存のラベルスイッチングパスにおける後段
ノード装置に、マージした場合における初段ノード情報
および更新されたホップカウント値を少なくとも含むホ
ップカウント更新メッセージを送信する手段と、以前に
前段ノード装置から受信したラベル割り当てメッセージ
と同一のパケットフローにつき同一の初段ノード情報を
含むホップカウント更新メッセージもしくはラベル割り
当てメッセージをどのノード装置から受信したかに基づ
いて(例えば、前記前段ノード装置とは異なるノード装
置から受信したか否かに基づいて)、ラベルスイッチン
グパスのループが形成されるか否かを判断する手段とを
備えたことを特徴とする。
【0030】このようにホップカウントをメッセージに
含ませることで、例えば次に示すことも可能になる。
【0031】好ましくは、ループが形成されると判断さ
れた場合には、ホップカウント更新もしくはラベル割り
当てができないことを、ホップカウント更新もしくはラ
ベル割り当てメッセージを自ノードに送信した前段ノー
ド装置に通知する手段と、ホップカウント更新ができな
いことを通知された場合には、ラベル割り当てができな
いことを、ラベル割り当てメッセージを自ノードに送信
した前段ノード装置に通知する手段と、ラベル割り当て
ができないことを通知された場合には、ホップカウント
がしきい値を越えないならば、ホップカウント更新がで
きることを、ホップカウント更新メッセージを自ノード
に送信した前段ノード装置に通知する手段と、ホップカ
ウント更新ができることを通知された場合には、設定を
要求されたラベルスイッチングパスを既存のラベルスイ
ッチングパスにマージすることにより設定する手段とを
更に備えるようにしてもよい。
【0032】また、好ましくは、ラベルスイッチングパ
スの設定を要求する、フロー識別子、該ラベルスイッチ
ングパスの初段ノードに関する初段ノード情報およびホ
ップカウント値を少なくとも含むラベル割り当てメッセ
ージを受信した場合、該ラベルメッセージが既存のラベ
ルスイッチングパスへのマージを伴うものであり、か
つ、前記ホップカウント値が既存のラベルスイッチング
パスのホップカウント値をより大きい値に更新させるも
のでないならば、設定を要求されたラベルスイッチング
パスを既存のラベルスイッチングパスにマージすること
により設定する手段を更に備えるようにしてもよい。
【0033】また、好ましくは、前記送信する手段は、
更新されたホップカウント値に対応する初段ノードに関
する情報を、前記ホップカウント更新メッセージが含
む、マージした場合における初段ノード情報とし、マー
ジされたラベルスイッチングパスの一部が解放されマー
ジが行われなくなった場合に、解放されたパスに対応す
る初段ノード情報が前記ホップカウント更新メッセージ
に含まれていたならば、マージされなくなった場合にお
ける初段ノード情報とホップカウント値とを含むホップ
カウント更新メッセージを送信する手段を含むものであ
るようにしてもよい。
【0034】また、好ましくは、前記送信する手段は、
更新されたホップカウント値に対応する初段ノードもし
くは既存のラベルスイッチングパスの初段ノードに関す
る情報を、前記ホップカウント更新メッセージが含む、
マージした場合における初段ノード情報とし、マージさ
れたラベルスイッチングパスの一部が解放されマージが
行われなくなった場合に、解放されたパスに対応する初
段ノード情報が前記ホップカウント更新メッセージに含
まれていたならば、マージされなくなった場合における
初段ノード情報を含む更新メッセージを(たとえマージ
されなくなったことによってホップカウント値が変化し
なくても)送信する手段を含むものであるようにしても
よい。
【0035】以上の各発明において、前記初段ノード情
報として、初段ノードの出力インタフェースに対して割
り当てられるネットワークレイヤアドレスを用いるよう
にしてもよいし、あるいは前記初段ノード情報として、
初段ノードの出力インタフェースに対して割り当てられ
るネットワークレイヤアドレスと初段ノードの出力イン
タフェースローカルに割り当てられる識別子とからなる
組を用いるようにしてもよい。前者によれば、初段ノー
ドがネットワークグローバルに識別できるようになる。
あるいは後者によれば、1つの初段ノードから同一フロ
ーに対して複数のラベル割り当て要求を送信することが
できるようになり、ラベル割当てプロトコルがフレキシ
ブルになり、異なるラベル割当てプロトコルの間で相互
接続やマルチパスに対応したラベルスイッチングパスの
設定等が容易になる。
【0036】本発明(請求項22)は、入力されるパケ
ットフローを識別可能な一つまたは複数(複数の場合は
ラベルスイッチングパスのマージになる)の入力側ラベ
ル情報と出力されるパケットフローを識別可能な出力側
ラベル情報との対応関係を参照して、入力されたパケッ
トをラベルスイッチングするノード装置であって、パケ
ットフローの経路上の隣接ノード装置との間で、新たな
ラベルスイッチングパスを設定するためのメッセージも
しくは既存のラベルスイッチングパスを利用するための
メッセージであって、該パケットフローを識別可能なフ
ロー識別子を含むものを交換する手段と、この交換され
たメッセージに対応する返答(成功もしくは失敗)メッ
セージを受信するまでは該メッセージに対応するラベル
スイッチングパスの設定が未確定なものであることを示
す情報を記憶する手段と、以前に交換したメッセージに
基づき前記未確定なものであることを示す情報が記憶さ
れているラベルスイッチングパスに関してメッセージを
受信したか否かに基づいて、ラベルスイッチングパスの
ループが形成されるか否かを判断する手段とを備えたこ
とを特徴とする。
【0037】なお、何らかの原因で一定時間いずれのメ
ッセージも返ってこない場合には、失敗メッセージを受
信したとみなして動作することが好ましい。
【0038】この発明によっても、早期にループを検出
することが可能となる。
【0039】初段ノード主導でラベルスイッチングパス
を設定し、ループ検出のためのメッセージをフローと同
方向に流す場合は、前記交換する手段は、自装置の下流
に前記パケットフロー用のラベルスイッチングパスが存
在しない場合に、新たなラベルスイッチングパスを設定
するためのメッセージとしてラベル割り当てメッセージ
を後段ノード装置へ送信し、自装置の下流に前記パケッ
トフロー用のラベルスイッチングパスが存在し、自装置
の上流に対応するラベルスイッチングパスを新たに設定
しようとする場合に、既存のラベルスイッチングパスを
利用するためのメッセージとして更新メッセージを後段
ノード装置へ送信するものであるようにすることができ
る。
【0040】初段ノード主導でラベルスイッチングパス
を設定し、ループ検出のためのメッセージをフローと逆
方向に流す場合は、前記交換する手段は、自装置の下流
に前記パケットフロー用のラベルスイッチングパスが存
在しない場合に、新たなラベルスイッチングパスを設定
するためのメッセージとしてラベル割り当てメッセージ
を後段ノード装置へ送信し、自装置の下流に前記パケッ
トフロー用のラベルスイッチングパスが存在し、自装置
の上流に対応するラベルスイッチングパスを新たに設定
しようとする場合に、新たなラベルスイッチングパスを
設定するためのメッセージとして照会メッセージを前段
ノード装置へ送信し、後段ノード装置から照会メッセー
ジを受信し、自装置の上流に前記パケットフロー用のラ
ベルスイッチングパスが存在する場合に、既存のラベル
スイッチングパスを利用するためのメッセージとして更
新メッセージを該上流のラベルスイッチングパスの前段
ノード装置へ送信するものであるようにすることができ
る。
【0041】終段ノード主導でラベルスイッチングパス
を設定し、ループ検出のためのメッセージをフローと同
方向に流す場合は、前記交換する手段は、自装置の下流
に前記パケットフロー用のラベルスイッチングパスが存
在するが自装置の上流に対応するラベルスイッチングパ
スが存在しない場合に、新たなラベルスイッチングパス
を設定するためのメッセージとしてラベル割り当てメッ
セージを後段ノード装置以外のノード装置へ送信し、自
装置の上流に前記パケットフロー用のラベルスイッチン
グパスが存在するが自装置の下流に対応するラベルスイ
ッチングパスが存在しない場合に、新たなラベルスイッ
チングパスを設定するためのメッセージとして照会メッ
セージを後段ノード装置へ送信し、前段ノード装置から
照会メッセージを受信し、自装置の下流に前記パケット
フロー用のラベルスイッチングパスが存在する場合に、
既存のラベルスイッチングパスを利用するためのメッセ
ージとして更新メッセージを後段ノード装置へ送信する
ものであるようにすることができる。
【0042】終段ノード主導でラベルスイッチングパス
を設定し、ループ検出のためのメッセージをフローと逆
方向に流す場合は、前記交換する手段は、自装置の下流
に前記パケットフロー用のラベルスイッチングパスが存
在するが自装置の上流に対応するラベルスイッチングパ
スが存在しない場合に、新たなラベルスイッチングパス
を設定するためのメッセージとしてラベル割り当てメッ
セージを後段ノード装置以外のノード装置へ送信し、自
装置の上流に前記パケットフロー用のラベルスイッチン
グパスが存在するが自装置の下流にあるべきラベルスイ
ッチングパスが存在せずこれを新たに設定しようとする
場合に、既存のラベルスイッチングパスを利用するため
のメッセージとして更新メッセージを該上流のラベルス
イッチングパスの前段ノード装置へ送信するものである
ようにすることができる。
【0043】本発明(請求項27)は、入力されるパケ
ットフローを識別可能な入力側ラベル情報と出力される
パケットフローを識別可能な出力側ラベル情報との対応
関係を参照して、入力されたパケットをラベルスイッチ
ングすると共に、同じフロー識別子を有するパケットフ
ローに関し、一つの出力側ラベル情報と複数の入力側ラ
ベル情報とを対応させることによって、ラベルスイッチ
ングパスのマージを行うノード装置であって、ラベルス
イッチングパスの設定を要求する、パケットフローを識
別可能なフロー識別子とホップカウント値とを含むラベ
ル割り当てメッセージを受信した場合、該ラベル割り当
てメッセージが既存のラベルスイッチングパスへのマー
ジを伴うものであり、かつ、前記ホップカウント値が既
存のラベルスイッチングパスのホップカウント値をより
大きい値に更新させるものであるならば、該既存のラベ
ルスイッチングパスにおける後段ノード装置に、更新さ
れたホップカウント値を含むホップカウント更新メッセ
ージを送信する手段と、受信した前記ラベル割り当てメ
ッセージに基づいて前記フロー識別子及び前記対応関係
を記憶すると共に、前記ホップカウント更新メッセージ
に対応する成功メッセージを受信するまでは、該対応関
係の記憶が未確定なものであることを示す情報を記憶す
る手段と、以前に受信したラベル割り当てメッセージに
基づき前記未確定なものであることを示す情報が記憶さ
れている対応関係もしくはフロー識別子を示すホップカ
ウント更新メッセージもしくはラベル割り当てメッセー
ジを受信したか否かに基づいて、ラベルスイッチングパ
スのループが形成されるか否かを判断する手段とを備え
たことを特徴とする。
【0044】なお、このようにホップカウントをメッセ
ージに含ませることにより、ホップカウント値をより大
きい値に更新させるものでない場合には、直ちにマージ
(「確定」として対応関係を記憶)することも可能にな
る。
【0045】本発明(請求項28)は、入力されるパケ
ットフローを識別可能なラベル情報と少なくとも出力側
インタフェースを特定する情報との対応関係を参照し
て、入力されたパケットをラベルスイッチングするノー
ド装置におけるラベルスイッチングパスのループ検出方
法であって、前段ノード装置から受信した、ラベルスイ
ッチングパスの設定を要求するラベル割り当てメッセー
ジに基づいて、パケットフローをネットワークグローバ
ルに識別可能なフロー識別子および該ラベルスイッチン
グパスの初段ノードに関する初段ノード情報を記憶し、
前記ラベル割り当てメッセージと同一のフロー識別子お
よび初段ノード情報を含むラベル割り当てメッセージを
どのノ−ド装置から受信したかに基づいて(例えば、前
記前段ノード装置とは異なるノード装置から受信したか
に基づいて)、ラベルスイッチングパスのループが形成
されるか否かを判断することを特徴とする。
【0046】本発明(請求項29)は、出力されるパケ
ットフローを識別可能なラベル情報を使用して、ラベル
スイッチングされるべきパケットを送信するノード装置
におけるラベルスイッチングパスのループ検出方法であ
って、ラベルスイッチングパスの設定を要求する、該ラ
ベルスイッチングパスの初段ノードに関する初段ノード
情報を少なくとも含むラベル割り当てメッセージであっ
て、前記初段ノード情報が自ノードを指すものを受信し
た場合には、ラベルスイッチングパスのループが形成さ
れるものと判断することを特徴とする。
【0047】本発明(請求項30)は、入力されるパケ
ットフローを識別可能な入力側ラベル情報と出力される
パケットフローを識別可能な出力側ラベル情報との対応
関係を参照して、入力されたパケットをラベルスイッチ
ングするノード装置におけるラベルスイッチングパスの
ループ検出方法であって、パケットフローの経路上の隣
接ノード装置との間で、ラベルスイッチングパスの設定
を要求するラベル割り当てメッセージであって、該パケ
ットフローをネットワークグローバルに識別可能なフロ
ー識別子と該ラベルスイッチングパスの初段ノードに関
する初段ノード情報とを含むものを交換し、既存のラベ
ルスイッチングパスに対して、前記フロー識別子および
前記初段ノード情報が一致するラベル割当てメッセージ
を受信した場合に、前記入力側ラベル情報の内容に基づ
いて(例えば、前記入力側ラベル情報を異ならせるよう
なラベル割当てメッセージであるか否かに基づいて)、
ラベルスイッチングパスのループが形成されるか否かを
判断することを特徴とする。
【0048】本発明(請求項31)は、入力されるパケ
ットフローを識別可能な入力側ラベル情報と出力される
パケットフローを識別可能な一つまたは複数の出力側ラ
ベル情報との対応関係を参照して、入力されたパケット
をラベルスイッチングするノード装置におけるラベルス
イッチングパスのループ検出方法であって、パケットフ
ローの経路上の前段ノード装置との間、および、一つま
たは複数の後段ノード装置それぞれとの間で、ラベルス
イッチングパスの設定を要求するラベル割り当てメッセ
ージであって、該パケットフローを識別可能なフロー識
別子と該ラベルスイッチングパスの初段ノードに関する
初段ノード情報とを含むものを交換し、以前に交換した
メッセージと同一のフロー識別子及び初段ノード情報を
含むメッセージを以前とは異なる前段ノード装置から受
信した場合、もしくは、以前に交換したメッセージと同
一のフロー識別子及び初段ノード情報を含み前記入力側
ラベル情報を異ならせるようなメッセージを受信した場
合を検出し、この検出結果に基づいて、ラベルスイッチ
ングパスのループが形成されるか否かを判断することを
特徴とする。
【0049】本発明(請求項32)は、入力されるパケ
ットフローを識別可能な一つまたは複数の入力側ラベル
情報と出力されるパケットフローを識別可能な出力側ラ
ベル情報との対応関係を参照して、入力されたパケット
をラベルスイッチングするノード装置におけるラベルス
イッチングパスのループ検出方法であって、パケットフ
ローの経路上の隣接ノード装置との間で、新たなラベル
スイッチングパスを設定するためのメッセージもしくは
既存のラベルスイッチングパスを利用するためのメッセ
ージであって、該パケットフローを識別可能なフロー識
別子と該ラベルスイッチングパスの初段ノードに関する
初段ノード情報とを含むものを交換し、以前に交換した
メッセージと同一のフロー識別子及び初段ノード情報を
含むメッセージを以前とは異なる前段ノード装置から受
信した場合、もしくは、以前に交換したメッセージと同
一のフロー識別子及び初段ノード情報を含み前記入力側
ラベル情報を異ならせるようなメッセージを受信した場
合を検出し、この検出結果に基づいてラベルスイッチン
グパスのループが形成されるか否かを判断することを特
徴とする。
【0050】本発明(請求項33)は、入力されるパケ
ットフローを識別可能な入力側ラベル情報と出力される
パケットフローを識別可能な出力側ラベル情報との対応
関係を参照して、入力されたパケットをラベルスイッチ
ングするとともに、同じパケットフローに関し、一つの
出力側ラベル情報と複数の入力側ラベル情報とを対応さ
せることによって、ラベルスイッチングパスのマージを
行うノード装置におけるラベルスイッチングパスのルー
プ検出方法であって、ラベルスイッチングパスの設定を
要求する、パケットフローを識別可能なフロー識別子、
該ラベルスイッチングパスの初段ノードに関する初段ノ
ード情報およびホップカウント値を少なくとも含むラベ
ル割当てメッセージを受信した場合、該ラベル割当てメ
ッセージが既存のラベルスイッチングパスへのマージを
伴うものであり、かつ、前記ホップカウント値が既存の
ラベルスイッチングパスのホップカウント値をより大き
い値に更新させるものであるならば、該既存のラベルス
イッチングパスにおける後段ノード装置に、マージした
場合における初段ノード情報および更新されたホップカ
ウント値を少なくとも含むホップカウント更新メッセー
ジを送信し、以前に前段ノード装置から受信したラベル
割り当てメッセージと同一のパケットフローにつき同一
の初段ノード情報を含むホップカウント更新メッセージ
もしくはラベル割り当てメッセージをどのノード装置か
ら受信したかに基づいて(例えば、前記前段ノード装置
とは異なるノード装置から受信したか否かに基づい
て)、ラベルスイッチングパスのループが形成されるか
否かを判断することを特徴とする。
【0051】本発明(請求項34)は、入力されるパケ
ットフローを識別可能な一つまたは複数の入力側ラベル
情報と出力されるパケットフローを識別可能な出力側ラ
ベル情報との対応関係を参照して、入力されたパケット
をラベルスイッチングするノード装置におけるラベルス
イッチングパスのループ検出方法であって、パケットフ
ローの経路上の隣接ノード装置との間で、新たなラベル
スイッチングパスを設定するためのメッセージもしくは
既存のラベルスイッチングパスを利用するためのメッセ
ージであって、該パケットフローを識別可能なフロー識
別子を含むものを交換し、この交換されたメッセージに
対応する成功メッセージを受信するまでは該メッセージ
に対応するラベルスイッチングパスの設定が未確定なも
のであることを示す情報を記憶し、以前に交換したメッ
セージに基づき前記未確定なものであることを示す情報
が記憶されているラベルスイッチングパスに関してメッ
セージを受信したか否かに基づいて、ラベルスイッチン
グパスのループが形成されるか否かを判断することを特
徴とする。
【0052】本発明(請求項35)は、入力されるパケ
ットフローを識別可能な入力側ラベル情報と出力される
パケットフローを識別可能な出力側ラベル情報との対応
関係を参照して、入力されたパケットをラベルスイッチ
ングすると共に、同じパケットフローに関し、一つの出
力側ラベル情報と複数の入力側ラベル情報とを対応させ
ることによって、ラベルスイッチングパスのマージを行
うノード装置におけるラベルスイッチングパスのループ
検出方法であって、ラベルスイッチングパスの設定を要
求する、パケットフローを識別可能なフロー識別子とホ
ップカウント値とを含むラベル割り当てメッセージを受
信した場合、該ラベル割り当てメッセージが既存のラベ
ルスイッチングパスへのマージを伴うものであり、か
つ、前記ホップカウント値が既存のラベルスイッチング
パスのホップカウント値をより大きい値に更新させるも
のであるならば、該既存のラベルスイッチングパスにお
ける後段ノード装置に、更新されたホップカウント値を
含むホップカウント更新メッセージを送信し、受信した
前記ラベル割り当てメッセージに基づいて前記フロー識
別子及び前記対応関係を記憶すると共に、前記ホップカ
ウント更新メッセージに対応する成功メッセージを受信
するまでは、該対応関係の記憶が未確定なものであるこ
とを示す情報を記憶し、以前に受信したラベル割り当て
メッセージに基づき前記未確定なものであることを示す
情報が記憶されている対応関係もしくはフロー識別子を
示すホップカウント更新メッセージもしくはラベル割り
当てメッセージを受信したか否かに基づいて、ラベルス
イッチングパスのループが形成されるか否かを判断する
ことを特徴とする。
【0053】なお、ホップカウント値をより大きい値に
更新させるものでない場合には、直ちにマージ(「確
定」として対応関係を記憶)して構わない。
【0054】なお、装置に係る本発明は方法に係る発明
としても成立し、方法に係る本発明は装置に係る発明と
しても成立する。
【0055】また、装置または方法に係る本発明は、コ
ンピュータに当該発明に相当する手順を実行させるため
の(あるいはコンピュータを当該発明に相当する手段と
して機能させるための、あるいはコンピュータに当該発
明に相当する機能を実現させるための)プログラムを記
録したコンピュータ読取り可能な記録媒体としても成立
する。
【0056】
【発明の実施の形態】以下、図面を参照しながら発明の
実施の形態を説明する。
【0057】本発明は、(1)初段ノード主導でラベル
スイッチングパスを生成する、すなわちラベル割り当て
メッセージが初段ノードから後段ノードの方向に送信さ
れ、ラベル割り当て成功/失敗メッセージが終段ノード
から前段ノードの方向に送信される場合(Ingres
s Controlと呼ぶ)にも、(2)終段ノード主
導でラベルスイッチングパスを生成する、すなわちラベ
ル割り当てメッセージが終段ノードから前段ノードの方
向に送信され、ラベル割り当て成功/失敗メッセージが
初段ノードから後段ノードの方向に送信される場合(E
gress Controlと呼ぶ)にも、適用可能で
ある。
【0058】本実施形態では、ラベルスイッチングパス
のループ検出のために、確定フラグを用いる手段と初段
ノード情報を用いる手段を提供する。
【0059】確定フラグは、ループ検出の目的以外で
も、ラベル割り当て要求メッセージまたは更新メッセー
ジを後段ノード/前段ノードに送信後、メッセージに対
するACK待ちの状態の時に別のラベル割り当て要求メ
ッセージまたは更新メッセージを上流ノード/下流ノー
ドから受信した場合には受信したメッセージを受付けな
いようにすることにより、各ノードがもつラベルスイッ
チングパスの状態をネットワーク全体で一貫性を保つた
めにも使用できる。
【0060】初段ノード情報は、確定フラグを用いた場
合よりも早期にループを検出するために使用できる。
【0061】初段ノード主導(Ingress Con
trol)の場合、ネットワークのノード全部がラベル
のマージを行なう場合には、確定フラグのみを用いたル
ープ検出が可能である。終段ノード主導(Egress
Control)の場合、ネットワークのノード全部
がラベルのマージを行なう場合にも、ネットワークのノ
ードの一部または全部がラベルのマージを行なわない場
合にも、確定フラグのみを用いたループ検出が可能であ
る。
【0062】初段ノード主導(Ingress Con
trol)の場合、ネットワークのノード全部がラベル
のマージを行なわない場合あるいはネットワークがラベ
ルのマージを行なうノードと行なわないノードとから構
成される場合には、ループ検出に初段ノード情報を用い
る方がよい。
【0063】本実施形態では、ホップカウントは、ルー
プを検出するためでなく、パスのホップ数に上限を設け
るために使用することができる。この結果、(1)IP
パケットのTTL(Time To Live)フィー
ルドをラベルスイッチングパスの入口または出口でパス
のホップ数の分だけデクリメントする制御、(2)ラベ
ルのマージを行なわない場合には、ホップ数が増え続け
るようなスパイラル状のループが構成されるのを防ぐ制
御(Ingress Controlの場合)、(3)
ラベルのマージを行なう場合には、初段からの最大のホ
ップ数が変化しないようなマージに対しては、後段ノー
ドに状態の変化を通知するメッセージを送信することな
くラベルのマージを行なう制御が可能になる。
【0064】なお、ラベルスイッチングパスのループ検
出の手順としては、これに用いる情報としてホップカウ
ントと初段ノード情報と確定フラグとを組み合わせて使
用する種々の手順が可能である。
【0065】同一のパケットフローとする形態には、
(1)宛先IPアドレスが同じパケットを同一のパケッ
トフローとする、(2)ネットワークマスクに対応する
宛先IPアドレスの部分(すなわち宛先IPアドレスの
上位の所定ビット)が同じパケットを同一のパケットフ
ローとする、(3)送信元IPアドレスと宛先IPアド
レスの組が同じパケットを同一のパケットフローとす
る、(4)第1のネットワークマスクに対応する送信元
IPアドレスの部分と第2のネットワークマスクに対応
する宛先IPアドレスの部分との組が同じパケットを同
一のパケットフローとする、(5)あるIPアドレスを
持つノードを通るパケットを同一のパケットフローとす
る、(6)上記の(1)〜(5)において、送信元およ
び/または宛先のポート番号をも組にしたものが同一で
あるパケットを同一のパケットフローとする、などが種
々のもの考えられる。本実施形態では、宛先IPアドレ
スが同じパケットは同一のパケットフローであるものと
する。
【0066】最初に、ラベル割り当てメッセージが初段
ノードから後段ノードの方向に送信され、ラベル割り当
て成功/失敗メッセージが終段ノードから前段ノードの
方向に送信される場合(Ingress Contro
l)について説明する。
【0067】(第1の実施形態)まず、本発明の第1の
実施形態に係るラベル割り当てプロトコルおよびこのラ
ベル割り当てプロトコルに従ってラベルスイッチングを
行うノード装置について説明する。なお、ここでは、ノ
ード装置が後段ノードにメッセージ送信後ACK信号待
ちのときに、前段ノードから状態の変更を伴うメッセー
ジを受信しないような排他制御を別に行っているものと
する。
【0068】図1に本実施形態に係るノード装置を接続
して構成されたネットワークの一例を示す。
【0069】図1では、本実施形態に係るノード装置R
1〜R5が接続されており、特にノード装置R2〜R5
でループが形成されている。なお、図1は、ネットワー
クの一部を切り出したもので、ノード装置R1〜R5の
全てまたは一部には図示しない他のノード装置が接続さ
れている。
【0070】ノード装置R1〜R5は、それぞれ、IP
(Internet Protocol)処理を行う機
能を持つとともに、本実施形態に係るラベル割り当てプ
ロトコルに従ってラベルスイッチングを行う機能を持
つ。また、末端に位置し中継を行わないノード装置以外
のノード装置は、ルータ機能を持つ。例えば、図1にお
いて、ノード装置R2〜R5はルータ機能を持ち、ルー
タ装置R1についてはこれが末端に位置し中継を行わな
いものである場合にはルータ機能は不要である。
【0071】また、本実施形態では、ネットワークの各
ノード装置ではラベルのマージは行わないものとする。
【0072】ラベルスイッチングパスは、初段ノード装
置を起点として、次々と後段ノード装置にラベル割り当
てメッセージを送信してゆくことで形成される。本実施
形態では、このラベル割り当てメッセージには、少なく
とも、初段ノード情報(Ingress)、フローID
(Flowid)、および、リンクID(Linki
d)が含まれる。リンクIDとして、ラベル(Labe
l)、レイヤ2コネクション識別子、ラベル割り当てメ
ッセージの送信ノードのアドレス、または、ラベル割当
てをラベル割り当てメッセージを受信した下流側ノード
が行なう場合(Downstream on dema
nd割当て)にはリクエスト識別子、またはこれらの2
つ以上の組合せが使用される。
【0073】初段ノード情報としては、初段ノード装置
の出力インターフェースに対して割り当てられたIPア
ドレスの一つを使用する。このIPアドレスは、ネット
ワークグローバルなアドレスである。
【0074】フローIDは、ネットワークグローバルに
パケットフローを識別する情報である。
【0075】メッセージに含まれるラベルは、リンクロ
ーカルにパケットフローを識別する情報であるものと
し、リクエスト識別子も同様とする。
【0076】実際にラベルスイッチングパスが確立する
のは、上記のラベル割り当てメッセージに対応して、終
段ノードから、次々と前段ノード装置にラベル割り当て
成功メッセージが返信された場合である。なお、ここで
は、ラベルスイッチングパスの終段ノードまでラベル割
り当てメッセージが届いた後に、そこから順々にラベル
割り当て成功メッセージが返ってくるラベル割り当てプ
ロトコルの例を主に説明するが、ラベルスイッチングパ
スの経路上の途中のノードが、ラベル割り当てメッセー
ジが終段ノードへ届き対応するラベル割り当て成功メッ
セージが返ってくるのを待たずに、前段ノード装置にラ
ベル割り当て成功メッセージを返すようなラベル割り当
てプロトコルを用いることも可能である。
【0077】本実施形態では、ラベル割当てをラベル割
り当てメッセージを送信するノード(上流側ノード)が
行なう場合(Upstream割当て)、すなわち、ラ
ベル割り当てメッセージに「ラベル」が含まれる場合を
例にとり説明するが、Downstream on d
emand割当ての場合には、ラベル割り当てメッセー
ジには「リクエスト識別子」が含まれ、これに対応して
返送されてくるラベル割り当て成功メッセージに「ラベ
ル」もしくは「レイヤ2コネクション識別子」が含まれ
ることになる。
【0078】各ノード装置は、隣接ノード装置に対する
入出力インタフェースを識別するインタフェースIDの
情報を持つ。あるパケットフローに対して自ノードの上
流に割り当てられたラベルと上流側のインタフェースI
Dとの組を入力側ラベルと呼び、そのパケットフローに
対して自ノードの下流に割り当てられたラベルと下流側
のインタフェースIDとの組を出力側ラベルと呼ぶ。な
お、インタフェースを一つしか持たないノードでは、イ
ンタフェースIDは用いなくても良い。ここで、説明の
ために、ノード装置R2のノード装置R1に対するイン
タフェースIDをi1、ノード装置R5に対するインタ
フェースIDをi5、ノード装置R3に対するインタフ
ェースIDをi3とする。
【0079】そして、確立されたラベルスイッチングパ
スを用いて実際にパケット転送を行う場合には、パケッ
トに含まれるラベルの情報に基づき、上記の入力側ラベ
ルと出力側ラベルの対応関係を参照して、IP処理を省
略したパケット転送(ラベルスイッチング)を行う。
【0080】前段ノードから送信されるラベル割り当て
メッセージもしくは自ノードが返信するラベル割り当て
成功メッセージに「ラベル」が含まれている場合には、
これが入力側ラベルを構成するラベルとなる。自ノード
が送信するラベル割り当てメッセージもしくは後段ノー
ドから返信されるラベル割り当て成功メッセージに「ラ
ベル」が含まれている場合には、これが出力側ラベルを
構成するラベルとなる。
【0081】一方、ラベル割り当てメッセージもしくは
ラベル割り当て成功メッセージに含まれるのが「ラベ
ル」ではなく、「レイヤ2コネクション識別子」の場合
は、このレイヤ2コネクション識別子に対応して別途求
められたラベルが、上記の入力側ラベルや出力側ラベル
を構成するラベルとなる。具体的には、リンクレイヤが
ATMで、隣接ノード間にATMスイッチが挟まれるネ
ットワーク構成の場合、「ラベル」として実際のスイッ
チングに使用されるのはVPI/VCIであるが、この
値は途中のATMスイッチで書き換えられてしまうた
め、隣接ノード間のATMコネクションを両端のノード
が一意に識別できるようにVCID(Virtual
Connection ID) と呼ばれる別の識別子
を用いる。このVCIDがラベル割り当てプロトコルに
含まれる「レイヤ2コネクション識別子」の一例であ
る。
【0082】メッセージに含まれる上記の「リンクI
D」と、メッセージを受信したインタフェースIDとを
組み合わせると、ラベル割り当てメッセージもしくは
(ホップカウント)更新メッセージを受信したノード
は、以前に同じフロー識別子、同じ初段ノード情報に対
するラベル割り当てメッセージを受信した際とは異なる
前段ノードからこれを受信したということを検出でき
る。そして、この場合にループと判断する。
【0083】なお、上流の隣接ノードが上記のループ検
出機能を持たない場合、以前と同じフロー識別子、同じ
初段ノード情報に対するラベル割り当てメッセージであ
って、異なるラベル(もしくはレイヤ2コネクション識
別子またはリクエスト識別子)を含むものを、以前と同
じ前段ノードから受信することがあり得る。その場合
は、これを受信したノードが、上流の隣接ノードに代わ
って、ループ検出をすることになる。したがって、ルー
プ検出機能を、同じフロー識別子及び初段ノード情報の
メッセージを以前と異なる前段ノードから受信したか否
かを陽に検出するのではなく、同じフロー識別子及び初
段ノード情報と以前と異なるラベル(もしくはレイヤ2
コネクション識別子またはリクエスト識別子)とを含む
メッセージを受信したか否かを検出するように、構成し
てもよい。こうすれば、一つの判断基準で、上流の隣接
ノードにループ検出機能が有れば、異なる前段ノードか
ら受信したかどうかを検出していることになり、上流の
隣接ノードにループ検出機能が無ければ、異なるラベル
を受信したかどうかで上流で見落としたループをも検出
していることになる。
【0084】以降の説明では、「ラベル」を「リンクI
D」として用いる場合について述べる。ラベル以外のも
のをリンクIDとして用いる場合には、以降の説明の
「ラベル」の部分を「レイヤ2コネクション識別子」、
「ラベル割り当てメッセージの送信ノードのアドレ
ス」、または「リクエスト識別子」、または、これらと
「ラベル」のうちの2つ以上の組合せに置き換えれば、
同様にループ検出ができる。例えば、上流の隣接ノード
から受信したメッセージに含まれる「レイヤ2コネクシ
ョン識別子」、「ラベル割り当てメッセージの送信ノー
ドのアドレス」、または「リクエスト識別子」と、上流
側のインタフェースIDとの組を、入力側ラベルと呼ぶ
ことになる。
【0085】但し、以降に説明する例においては、「入
力側ラベル」を、同一フロー識別子、同一初段ノード情
報に係るメッセージを以前と異なる前段ノードから受信
したか否かの検出(異なるならばループと判断)だけで
はなく、同一フロー識別子に係るメッセージを以前と同
一の前段ノードから異なる初段ノード情報に係るものと
して受信したか否かの区別(異なるならば新たなラベル
スイッチングパスの設定を続行)にも用いているため、
上流の隣接ノードがラベルのマージを行なわない場合に
は、「ラベル」を「ラベル割り当てメッセージの送信ノ
ードのアドレス」単独に置き換えるのではなく、「レイ
ヤ2コネクション識別子」もしくは「リクエスト識別
子」に置き換える(これらであれば単独でも構わない)
か、「ラベル割り当てメッセージの送信ノードのアドレ
ス」とその他のリンクIDとの組合せに置き換えるかす
ることが好ましい。
【0086】なお、上記及び以降の説明では、メッセー
ジに含まれる「リンクID」を用いて、同じフロー識別
子、同じ初段ノード情報に対するラベル割り当てメッセ
ージを異なる前段ノードから受信したことを検出(ルー
プと判断)するが、メッセージを受信した「インタフェ
ースID」だけでもこの検出が行える場合がある。それ
は、隣接ノード同士が、図2のようなバス型接続でな
く、図3のようなポイント−ポイントリンクで接続され
ている場合である。なお、このように入力側ラベルの代
わりにインターフェースID単独を用いて(リンクID
には依らずに)ループ検出するのは、上流の隣接ノード
がラベルのマージを行なう場合とすることが好ましい。
【0087】また、図2の場合には、リンクID(例え
ばラベル)を用いてループ検出するが、このラベルやリ
クエスト識別子は、下流側のノードから見て、異なる前
段ノードからのものはその値が異なっているように、上
流側のそれぞれのノードが割り当てる。
【0088】図1には、ノード装置R1からR2、R2
からR3、R3からR4、R4からR5、R5からR2
へそれぞれ送られるラベル割当てメッセージm1、m
2、m3、m4、m5を示してある。
【0089】なお、mi=(初段ノード(Ingres
s)=x1,フロー識別子(Fiowid)=x2,ラ
ベル(Label)=x3)は、ラベル割当てメッセー
ジmiに、初段ノード情報としてx1、フローIDとし
てx2、ラベルとしてx3が含まれることを示す。
【0090】ノード装置がラベル割当てメッセージを初
段として送信する契機には、例えば、次のような形態が
ある。 (1)各々のノード装置が、宛先destに対するルー
ティングテーブルが生成されたときを契機に、ラベル割
当てメッセージを送信する。 (2)各々のノード装置が、宛先destに対するルー
ティングテーブルが生成された後に宛先destに対す
るトラヒック量がしきい値を越えた場合を契機に、ラベ
ル割当てメッセージを送信する。 (3)宛先destに対するルーティングテーブルが生
成された後に、宛先destに対するトラヒック量がし
きい値を越え、かつ、トラヒック(データグラム)の前
段ノード装置が本実施形態に係るラベル割り当てプロト
コルをサポートしない、という条件をみたすノード装置
のみが、これを契機に自ノードを初段と判断してラベル
割当てメッセージを送信する(例えばINTERNET
−DRAFT <draft−ietf−rolc−n
hrp−l1.txt> NBMA Next Hop
Resolution Protocol(NHR
P)参照)。
【0091】次に、本実施形態のラベル割り当てプロト
コルに従った動作について説明する。
【0092】ここでは、ノード装置R1から宛先アドレ
スdest宛のパケットのルートが、ノード装置R1,
R2,R3,R4,R5,R2,R3,…とループして
いる場合を考える。
【0093】まず、ノード装置R1が、上記のように宛
先destに対するルーティングテーブルが生成された
ときなどを契機に、宛先destに対する自ノードの次
ホップノードであるノード装置R2への出力インタフェ
ースにおいて、新たなラベルaを割当て、ノード装置R
2に、(初段ノード=R1,フロー識別子=dest,
ラベル=a)のラベル割当てメッセージm1を送信す
る。また、ノード装置R1は、少なくとも、フロー識別
子、初段ノード情報、出力側ラベルを対応付けて記憶す
る。その際、保留を示す情報を付加しておく。
【0094】ノード装置R2は、ノード装置R1からの
ラベル割当てメッセージm1を受信すると、自ノードの
次ホップノードであるノード装置R3への出力インタフ
ェースにおいて新たなラベルbを割当て、ノード装置R
3に(初段ノード=R1,フロー識別子=dest,ラ
ベル=b)のラベル割当てメッセージm2を送信する。
また、ラベルスイッチング情報、すなわち少なくともフ
ロー識別子、初段ノード情報、入力側ラベル(受信した
ラベルとノード装置R1に対するリンク識別子)、出力
側ラベル(割当てたそのラベルとノード装置R3に対す
るリンク識別子)を対応付けて記憶するとともに、これ
に保留を示す情報を付加する。この時点で、ノード装置
R2内には、少なくともフロー識別子dest、初段ノ
ード情報R1、入力側ラベル(i1,a)、出力側ラベ
ル(i3,b)が対応付けて記憶されていることにな
る。
【0095】なお、上記各情報は、例えば1つまたは複
数のテーブル(例えば図13に例示するフローテーブ
ル)を用いて記憶する。また、上記各情報を記憶するタ
イミングについては、例えばラベル割当てメッセージm
2を送信する前後にまとめて記憶してもよいし、また例
えばラベル割当てメッセージm1を受信したときに、フ
ロー識別子、初段ノード情報、入力側ラベルを記憶し、
ラベルbを割当てた後に出力側ラベルを記憶するように
してもよい。
【0096】同様にして、ラベル割当てメッセージがノ
ード装置R3からR4、ノード装置R4からR5、そし
てノード装置R5からR2へとフォワードされていくと
ともに、各ノード装置R3〜R5において、出力インタ
フェースにおけるラベルの割当てやフロー識別子等の各
情報の記憶と保留を示す情報の付加が行われる。
【0097】次に、ノード装置R2が、ノード装置R5
から(初段ノード=R1,フロー識別子=dest,ラ
ベル=e)のラベル割当てメッセージm5を受信したと
き、すでにノード装置R1から受信したラベル割当てメ
ッセージm1の受信に応答して記憶したフロー識別子等
の情報の組に対して、入力側ラベルが異なっており(前
者が(i1,a)であるのに対して後者が(i5,
e))、かつ、初段ノード情報、フロー識別子ともに一
致するため、ノード装置R2はループであると判断し、
受信したラベル割当てメッセージm5を廃棄するか、ノ
ード装置R5に対してラベル割当て失敗メッセージを返
す。なお、ここでは、ループを検出したノード装置は、
ラベル割当て失敗メッセージを返すものとする。
【0098】ノード装置R5は、上記のようにしてラベ
ル割当て失敗メッセージを受信した場合、フロー識別子
等の情報の組のうち、ラベル割当てメッセージm5を送
信するにあたって記憶した出力側ラベルの情報をキャン
セルし、保留を示す情報を、確定を示す情報に変更する
とともに、前段ノード装置にラベル割当て成功メッセー
ジを送信する。
【0099】また、後段ノード装置からラベル割当て成
功メッセージを受信した初段以外のノード装置(ここで
はR4,R3,R2)は、前段ノード装置にラベル割当
て成功メッセージを送信する。また、ラベル割当て成功
メッセージを受信したノード装置(ここではR4,R
3,R2,R1)は、ラベル割当てメッセージに応答し
て記憶したフロー識別子等の情報の組に付加した保留を
示す情報を、確定を示す情報に変更する。
【0100】この結果、ノード装置R1,R2,R3,
R4,R5というラベルスイッチングパスが形成され
る。また、ノード装置R5からはIPパケットのTTL
(Time To Live)フィールドあるいはホッ
プリミット・フィールドあるいはこれらに相当するもの
を用いた通常のIP転送が行われる。
【0101】なお、このような状態は過渡的な状態であ
り、一定時間経過すると、正常なルートに回復するよう
にルーティングプロトコルは動作し、これに伴い、ラベ
ルスイッチングパスの変更も行われる。
【0102】もし、ループ検出なしに終段ノードまでラ
ベル割当てメッセージが到達した場合、この終段のノー
ド装置は、前段ノード装置にラベル割当て成功メッセー
ジを送信し、次々と前段ノード装置にラベル割当て成功
メッセージが伝えられ、最終的に初段ノード装置までラ
ベル割当て成功メッセージが到達し、ループのないラベ
ルスイッチングパスが形成される。
【0103】なお、上記実施形態において、従来のよう
にホップカウント(Hopcount)がしきい値を越
えた場合にループ検出とみなす方法を併用してもよい。
【0104】ところで、本ノード装置は、自ノードがラ
ベルスイッチングパスの終点ノードになった場合、その
後、適当なタイミングで繰り返しラベル割当てメッセー
ジを送信するようにするのが好ましい。ラベル割当て失
敗メッセージが送信される理由には、ループ検出や使用
可能なラベルがないなどの種々のケースが考えられる
が、ケースによっては、ルーティングテーブルが書き替
えられたことにより先に検出されたループが解消された
り、あるいは使用中のラベルが解放されたことにより使
用可能なラベルが確保できたりし、さらにラベルスイッ
チングパスを延ばすことができる可能性があるからであ
る。ただし、しきい値を越えたことがラベル割当て失敗
の理由であった場合には、適当なタイミングで繰り返し
ラベル割当て成功メッセージを送信することはしないも
のとする。なお、ラベル割当て失敗の理由については、
ノード装置がラベル割当て失敗メッセージに書き込んで
前段ノード装置に送信する方法が好ましい。
【0105】ここで、ノード装置がループであると判断
したときに受信したラベル割当てメッセージを廃棄する
場合について説明する。
【0106】ループを検出したノード装置(ここではR
2)に、そのきっかけとなったラベル割当てメッセージ
を送信したノード装置(ここではR5)は、ラベル割当
てメッセージを送信して一定時間経過後にラベル割当て
成功メッセージが返ってこなかったならばラベル割当て
メッセージを再送する手順を繰り返し行い、再送の繰り
返し回数がしきい値を越えたら、ラベル割当て失敗メッ
セージが返されたものとみなすものとする。なお、この
機能は、ノード装置がループであると判断したときにラ
ベル割当て失敗メッセージを返すように構成する場合に
も、備えるのが好ましい。
【0107】ループを検出したノード装置(ここではR
2)にそのきっかけとなったラベル割当てメッセージを
送信したノード装置(ここではR5)の上流側の各ノー
ド装置(ここではR4など)は、やはり、ラベル割当て
メッセージを送信して一定時間経過後にラベル割当て成
功メッセージが返ってこなかったので、ラベル割当てメ
ッセージを再送することになる。ここで、ノード装置
は、フロー識別子と入力側ラベルと初段ノード情報を同
じとするラベル割り当てメッセージ(ホップカウントを
併用する場合は、フロー識別子と入力側ラベルと初段ノ
ード情報とホップカウントを同じとするラベル割り当て
メッセージ)を受信したら、これに対してラベル割り当
て成功メッセージを返すようにするものとする。したが
って、例えば、ノード装置R4がラベル割当てメッセー
ジをノード装置R5に再送することで、ノード装置R4
はノード装置R5からラベル割当て成功メッセージを受
信することになる。
【0108】(第2の実施形態)次に、本発明の第2の
実施形態に係るラベル割り当てプロトコルおよびこのラ
ベル割り当てプロトコルに従ってラベルスイッチングを
行うノード装置について説明する。
【0109】本実施形態は、第1の実施形態と基本的に
は同様であるので、以下では相違する部分を中心に説明
する。
【0110】本実施形態では、第1の実施形態と同様
に、ノード装置は、IP(Internet Prot
ocol)処理を行う機能を持つとともに、本実施形態
に係るラベル割り当てプロトコルに従ってラベルスイッ
チングを行う機能(第1の実施形態のループ検出機能で
ホップカウントを併用するものをも含む)を持つ。ま
た、末端に位置し中継を行わないノード装置以外のノー
ド装置は、ルータ機能を持つ。また、ここでは、ノード
装置が後段ノードにメッセージ送信後ACK信号待ちの
ときに、前段ノードから状態の変更を伴うメッセージを
受信しないような排他制御を別に行っているものとす
る。
【0111】本実施形態が特に第1の実施形態と相違す
る点は、第1の実施形態においてはノード装置ではラベ
ルのマージは行わないものとしたが、本実施形態のノー
ド装置はフロー識別子が等しい複数の入力側ラベルに対
して同一の出力側ラベルを対応させることによりラベル
のマージを行う点である。すなわち、本実施形態のノー
ド装置は、ラベルスイッチングを行う機能として、ラベ
ルのマージに関する処理を行う機能を持つ。
【0112】なお、全てのノード装置がラベルのマージ
を行うのではなく、ラベルのマージを行わないノード装
置が混在していてもよい。ラベルのマージを行うノード
装置は、ラベル割り当てメッセージに応答して、ラベル
のマージに先だって、ホップカウント更新メッセージを
送信し、ホップカウント更新成功メッセージが返ってき
た場合にラベルのマージが成功となるような機能を持つ
点が、ラベルのマージを行わないノード装置と相違する
点である。
【0113】本実施形態では、ノード装置は、ラベル割
り当てメッセージを受信し、出力インタフェースにおい
てラベルを割り当て、後段のノード装置にラベル割り当
てメッセージを送信するにあたって、少なくとも初段ノ
ード情報、フロー識別子、入力側ラベル、出力側ラベ
ル、ホップカウント(すなわち初段からのホップ数)を
対応付けて記憶しておく。そして、ラベル割り当てメッ
セージに応答してラベルをマージしようとするノード装
置は、これからマージしようとする新たなパケットルー
トのホップカウントh1がすでにラベルスイッチングパ
スを設定したパケットルートのホップカウントh2以下
である場合にはマージを行うが、ホップカウントh1が
ホップカウントh2を越える場合には、マージに先だっ
て、少なくとも初段ノード情報、フロー識別子、ラベ
ル、ホップカウントを含むホップカウント更新メッセー
ジを次ホップノードに送信する。なお、当該ノード装置
においてすでに他のパスのマージが行われており、異な
る初段ノードに対するホップカウントが複数登録されて
いる場合には、その中で最大のホップカウントをhma
xとすると、これからマージしようとする新たなパケッ
トルートのホップカウントh1がホップカウントhma
x以下である場合にはマージを行い、ホップカウントh
1がホップカウントhmaxを越える場合には、マージ
に先だって、ホップカウント更新メッセージを送信する
ことになる。ホップカウント更新メッセージを受信した
ノード装置では、(第1の実施形態と同様の方法で)ル
ープを検出せずかつホップカウントがしきい値以下の場
合にはホップカウント更新メッセージを次ホップノード
に送信するが、記憶しているフロー識別子等の情報の組
に対して、フロー識別子と初段ノード情報が一致するが
入力側ラベルが相違するようなホップカウント更新メッ
セージを受信した場合、またはホップカウントがしきい
値を越える場合には、ループであると判断する。ただ
し、ラベルスイッチングパスの終点に位置するノード装
置がホップカウント更新メッセージを受信し、ループを
検出せずかつホップカウントがしきい値以下の場合に
は、ホップカウント更新メッセージの代わりにラベル割
り当てメッセージを次ホップノードに送信する。
【0114】ここでは、ホップカウントのしきい値を8
に設定するものとする。
【0115】第1の実施形態では、ノード装置間でやり
取りされるメッセージには、ラベル割当てメッセージ、
ラベル割当て成功メッセージ、ラベル割当て失敗メッセ
ージの3つがあったが、本実施形態では、これらに加え
て、マージのために用意されたホップカウント更新メッ
セージ、ホップカウント更新成功メッセージ、ホップカ
ウント更新失敗メッセージの3つがある。また、各メッ
セージには、ホップカウントが書き込まれる。なお、前
述したように、ラベルのマージを行わないノード装置
は、ホップカウント更新メッセージを送信する起点とは
ならないが、ホップカウント更新メッセージ、ホップカ
ウント更新成功メッセージ、ホップカウント更新失敗メ
ッセージを受信したときの処理を行う機能は有するもの
である。
【0116】本実施形態では、第1の実施形態と同様
に、宛先IPアドレスが同じパケットは同一のパケット
フローであるものとする。
【0117】初段ノード情報、フローID、ラベル、リ
ンク識別子、入力側ラベル、出力側ラベルは、第1の実
施形態と同様である。
【0118】次に、図4〜図7を参照しながら本実施形
態のラベル割り当てプロトコルに従った動作について説
明する。
【0119】ここでは、まず、第1の実施形態と同様
に、ノード装置R1から宛先アドレスdest宛のパケ
ットのルートが、ノード装置R1,R2,R3,R4,
R5,R2,R3,…とループしている場合に、ノード
装置R1,R2,R3,R4,R5というラベルスイッ
チングパスが形成され、その後、ノード装置R6,R
7,R8からノード装置R3への接続ができ、ノード装
置R3でラベルのマージが行われようとするケースにつ
いて説明する。なお、説明のために、ノード装置R3の
ノード装置R2に対するリンク識別子をi2、ノード装
置R4に対するリンク識別子をi4、ノード装置R8に
対するリンク識別子をi8とする。
【0120】まず、図4において、ノード装置R1が、
前述したように宛先destに対するルーティングテー
ブルが生成されたときなどを契機に、宛先destに対
する自ノードの次ホップノードであるノード装置R2へ
の出力インタフェースにおいて、新たなラベルaを割当
て、ノード装置R2に、(初段ノード=R1,フロー識
別子=dest,ラベル=a,ホップカウント=1)の
ラベル割当てメッセージm1を送信する。また、ノード
装置R1は、少なくとも、フロー識別子、初段ノード情
報、出力側ラベル、ホップカウント(=0)を対応付け
て記憶する。その際、保留を示す情報を付加しておく。
【0121】ノード装置R2は、ノード装置R1からの
ラベル割当てメッセージm1を受信すると、自ノードの
次ホップノードであるノード装置R3への出力インタフ
ェースにおいて新たなラベルbを割当て、受信したホッ
プカウントをインクリメントし、ノード装置R3に(初
段ノード=R1,フロー識別子=dest,ラベル=
b,ホップカウント=2)のラベル割当てメッセージを
送信する。また、適当なタイミングで、少なくともフロ
ー識別子(=dest)、初段ノード情報(=R1)、
入力側ラベル(=(i2,b))、出力側ラベル(=
(i4,c))、受信したホップカウント(=1)を対
応付けて記憶する。その際、保留を示す情報を付加して
おく。
【0122】同様にして、ラベル割当てメッセージがノ
ード装置R3からR4,ノード装置R4からR5,ノー
ド装置R5からR2へとフォワードされていくととも
に、各ノード装置R3〜R5において、出力インタフェ
ースにおけるラベルの割当てやフロー識別子等の情報の
組の記憶と保留を示す情報の付加が行われる。
【0123】次に、ノード装置R2が、ノード装置R5
から(初段ノード=R1,フロー識別子=dest,ラ
ベル=e,ホップカウント=5)のラベル割当てメッセ
ージm5を受信したとき、すでにノード装置R1から受
信したラベル割当てメッセージm1の受信に応答して記
憶した情報の組と、入力側ラベルが異なっており(前者
が(i1,a)であるのに対して後者が(i5,
e))、かつ、初段ノード情報、フロー識別子ともに一
致するため、ノード装置R2はループであると判断し、
受信したラベル割当てメッセージm5を廃棄するか、ノ
ード装置R5に対してラベル割当て失敗メッセージを返
す。
【0124】以降の処理は、第1の実施形態と同様であ
る。
【0125】この結果、ノード装置R1,R2,R3,
R4,R5というラベルスイッチングパスが形成され
る。また、ノード装置R5からはIPパケットのTTL
(Time To Live)フィールドあるいはホッ
プリミット・フィールドあるいはこれらに相当するもの
を用いた通常のIP転送が行われる。
【0126】なお、前述したように、このような状態は
過渡的な状態であり、一定時間経過すると、正常なルー
トに回復するようにルーティングプロトコルは動作し、
これに伴い、ラベルスイッチングパスの変更も行われ
る。
【0127】また、ホップカウントがしきい値を越える
場合にもループ検出とみなされ、この場合にも、ノード
装置は、受信したラベル割当てメッセージを廃棄する
か、前段のノード装置に対してラベル割当て失敗メッセ
ージを返す。
【0128】次に、図4のようにノード装置R1,R
2,R3,R4,R5というラベルスイッチングパスが
形成された状態から、新たにノード装置R6,R7,R
8が接続し、図5のようなトポロジーになり、ノード装
置R6がラベル割り当てメッセージを送信した場合を例
にとって、ラベルのマージを行う場合におけるループ検
出とラベルスイッチングパスの形成について説明する。
【0129】まず、ノード装置R6は、ノード装置R7
への出力インタフェースにおいて、新たなラベルfを割
り当て、R7に(初段ノード=R6,フロー識別子=d
est,ラベル=f,ホップカウント=1)のラベル割
当てメッセージm6を送信する。また、ノード装置R6
は、少なくとも、フロー識別子、初段ノード情報、出力
側ラベル、ホップカウント(=0)を対応付けて記憶す
る。その際、保留を示す情報を付加しておく。
【0130】ノード装置R7は、ノード装置R6からの
ラベル割当てメッセージm6を受信すると、自ノードの
次ホップノードであるノード装置R8への出力インタフ
ェースにおいて新たなラベルgを割当て、受信ホップカ
ウントをインクリメントし、ノード装置R8に、(初段
ノード=R6,フロー識別子=dest,ラベル=g,
ホップカウント=2)のラベル割当てメッセージm7を
送信する。また、適当なタイミングで、少なくともフロ
ー識別子、初段ノード情報、入力側ラベル、出力側ラベ
ル、受信したホップカウントを対応付けて記憶する。そ
の際、保留を示す情報を付加しておく。
【0131】ノード装置R8は、ノード装置R7からの
ラベル割当てメッセージm7を受信すると、自ノードの
次ホップノードであるノード装置R3への出力インタフ
ェースにおいて新たなラベルhを割当て、受信ホップカ
ウントをインクリメントし、ノード装置R3に、(初段
ノード=R6,フロー識別子=dest,ラベル=h,
ホップカウント=3)のラベル割当てメッセージm8を
送信する。また、適当なタイミングで、少なくともフロ
ー識別子、初段ノード情報、入力側ラベル、出力側ラベ
ル、受信したホップカウントを対応付けて記憶する。そ
の際、保留を示す情報を付加しておく。
【0132】次に、ノード装置R3がノード装置R8か
らのラベル割当てメッセージm8を受信したとき、すで
にノード装置R2から受信したラベル割当てメッセージ
m2に応答して記憶したフロー識別子等の情報の組(フ
ロー識別子=dest、初段ノード情報=R1、入力側
ラベル=(i2,b)、出力側ラベル=(i4,c)、
ホップカウント=2)があるが、フロー識別子が同一で
あり、入力側ラベルが異なっており、かつ、初段ノード
情報が異なっているため、マージを行う対象となる。し
かし、初段ノードからの最大のホップ数(ホップカウン
ト)が、2から3に増えるため、新たに受信したラベル
hと、すでに割当てている出力側のラベルcとの対応付
けをすぐには行わず、下流ノードのノード装置R4に、
初段ノード情報とホップカウントの更新のために、(初
段ノード=R6,フロー識別子=dest,ラベル=
c,ホップカウント=4)のホップカウント更新メッセ
ージm9を送信する。また、ノード装置R3は、少なく
ともフロー識別子(=dest)、初段ノード情報(=
R6)、入力側ラベル(=(i8,e))、出力側ラベ
ル(=(i4,c))、受信したホップカウント(=
3)を対応付けて記憶する。その際、保留を示す情報を
付加しておく。
【0133】なお、本実施形態では、ホップカウント更
新メッセージに書き込まれる初段ノード情報には、ホッ
プカウント更新メッセージを送信するノードよりも上流
にある初段ノードからのホップカウントが最大となるよ
うな初段ノードに関する初段ノード情報が設定されるこ
とになるが、共通の出力側ラベルを持つようなそのフロ
ーに対する任意のフローテーブルエントリ中の初段ノー
ド情報をホップカウント更新メッセージに書き込んで送
信してもループ検出が可能である。
【0134】ノード装置R4は、ノード装置R3からの
ホップカウント更新メッセージm9を受信すると、自ノ
ードの次ホップノードであるノード装置R5に、(初段
ノード=R6,フロー識別子=dest,ラベル=d,
ホップカウント=5)のホップカウント更新メッセージ
m10を送信する。また、ノード装置R4は、フロー識
別子等の情報の組を対応付けて記憶しこれに保留を示す
情報を付加するとともに、先にラベル割当てメッセージ
m3に応答して記憶したフロー識別子等の情報の組につ
いて、初段ノード情報の更新後の内容R6とホップカウ
ントの更新後の値4を保持し、更新保留を示す情報を付
加しておく。
【0135】ラベルスイッチングパスの終点にあたるノ
ード装置R5は、ノード装置R4からのホップカウント
更新メッセージm10を受信すると、自ノードの次ホッ
プノードであるノード装置R2に、(初段ノード=R
6,フロー識別子=dest,ラベル=e,ホップカウ
ント=6)のラベル割当てメッセージm11を送信す
る。また、ノード装置R5は、フロー識別子等の情報の
組を対応付けて記憶しこれに保留を示す情報を付加する
とともに、先にラベル割当てメッセージm4に応答して
記憶したフロー識別子等の情報の組について、初段ノー
ド情報の更新後の内容R6とホップカウントの更新後の
値5を保持し、更新保留を示す情報を付加しておく。
【0136】ノード装置R2は、ノード装置R5からの
ラベル割当てメッセージm11を受信すると、上記のノ
ード装置R3と同様に、すでにノード装置R1から受信
した同じフロー識別子に対する入力側ラベルaが存在す
るが、ホップカウント値がラベルaに対するホップカウ
ント値よりも大きいため、受信したラベル=eと出力側
のラベル=bとの対応はまだ行わず、自ノードの次ホッ
プノードであるR3へ、受信したホップカウントをイン
クリメントした(初段ノード=R6,フロー識別子=d
est,ラベル=b,ホップカウント=7)のホップカ
ウント更新メッセージm12を送信する。また、ノード
装置R2は、フロー識別子等の情報の組を対応付けて記
憶しこれに保留を示す情報を付加しておく。
【0137】ノード装置R2からこのホップカウント更
新メッセージm12を受信したノード装置R3は、初段
ノード=R6,フロー識別子=destであるようなラ
ベル割り当てメッセージを異なる入力側ラベル(i2,
b)と(i8,e)で受信したことになるため、ループ
であると判断し、このホップカウント更新メッセージm
12を廃棄して、ノード装置R2に対してホップカウン
ト更新失敗メッセージを送信する。
【0138】ノード装置R3からホップカウント更新失
敗メッセージを受信したノード装置R2は、自装置にホ
ップカウントが更新されるようなラベル割当てメッセー
ジm11を送信したノード装置R5に対してラベル割当
て失敗メッセージを送信するとともに、ラベル割当てメ
ッセージm11に応答して記憶したフロー識別子等の情
報の組をキャンセルする。
【0139】さて、以降、ノード装置R5からその上流
のノード装置に次々とメッセージが伝えられていくわけ
であるが(R5→R4→R3→R8→R7→R6)、こ
のための処理としてはいくつかのものが考えられる。以
下では、(1)ラベル割り当て失敗メッセージを受信し
たノード装置(本例ではR5)が上流のノード装置(本
例ではR4)に対してホップカウント更新失敗メッセー
ジを送信するようにした場合(マージさせない場合)
と、(2)ラベル割り当て失敗メッセージを受信したノ
ード装置(本例ではR5)が上流のノード装置(本例で
はR4)に対してホップカウント更新成功メッセージを
送信するようにした場合(マージさせる場合)について
それぞれ説明する。
【0140】まず、上記の(1)のラベル割り当て失敗
メッセージを受信したノード装置(本例ではR5)が上
流のノード装置(本例ではR4)に対してホップカウン
ト更新失敗メッセージを送信するようにした場合(マー
ジさせない場合)について説明する。
【0141】ノード装置R2からラベル割当て失敗メッ
セージを受信したノード装置R5は、自装置にホップカ
ウント更新メッセージm10を送信したノード装置R4
に対してホップカウント更新失敗メッセージを送信する
とともに、ホップカウント更新メッセージm10に応答
して記憶したフロー識別子等の情報の組をキャンセル
し、またラベル割当てメッセージm4に応答して記憶し
たフロー識別子等の情報の組については初段ノード情報
をもとの内容R1のままで、またホップカウントをもと
の値4のままで、更新保留を示す情報をクリアする。
【0142】ノード装置R5からホップカウント更新失
敗メッセージを受信したノード装置R4は、自装置にホ
ップカウント更新メッセージm9を送信したノード装置
R3に対してホップカウント更新失敗メッセージを送信
するとともに、ホップカウント更新メッセージm9に応
答して記憶したフロー識別子等の情報の組をキャンセル
し、またラベル割当てメッセージm3に応答して記憶し
たフロー識別子等の情報の組については初段ノード情報
をもとの内容R1のままで、またホップカウントをもと
の値3のままで、更新保留を示す情報をクリアする。
【0143】ノード装置R4からホップカウント更新失
敗メッセージを受信したノード装置R3は、自装置にホ
ップカウントが更新されるようなラベル割当てメッセー
ジm8を送信したノード装置R8に対してラベル割当て
失敗メッセージを送信するとともに、ラベル割当てメッ
セージm8に応答して記憶したフロー識別子等の情報の
組をキャンセルする。
【0144】以降、第1の実施形態で説明した手順と同
様に、ノード装置R3からラベル割当て失敗メッセージ
を受信したノード装置R8は、自装置にラベル割当てメ
ッセージm7を送信したノード装置R7に対してラベル
割当て成功メッセージを送信し、ノード装置R7は、自
装置にラベル割当てメッセージm6を送信したノード装
置R6に対してラベル割当て成功メッセージを送信す
る。また、ノード装置R7は、ラベル割当てメッセージ
m6を受信しラベル割当てメッセージm7を送信するに
あたって記憶したフロー識別子等の情報の組のうち出力
側ラベルの情報をキャンセルし、保留を示す情報を、確
定を示す情報に変更する。ノード装置R6は、ラベル割
当てメッセージm6を送信するにあたって記憶したフロ
ー識別子等の情報の組に付加した保留を示す情報を確定
を示す情報に変更する。
【0145】この結果、図6の太線で示されるように、
ノード装置R1,R2,R3,R4,R5というラベル
スイッチングパスの他に、ノード装置R6,R7,R8
というループのないラベルスイッチングパスが形成され
る。
【0146】なお、すでに記憶してあるフロー識別子等
の情報の組のうちホップカウントの更新を伴ってラベル
割当てメッセージやホップカウント更新メッセージを送
信したノード装置が、それに対するラベル割当て成功メ
ッセージやホップカウント更新成功メッセージを受信し
た場合、自装置にホップカウントが更新されるようなラ
ベル割当てメッセージやホップカウント更新メッセージ
を送信した前段のノード装置に対応するラベル割当て成
功メッセージやホップカウント更新成功メッセージを送
信するとともに、ホップカウントを更新後の値に更新し
て更新保留を示す情報をクリアし、その際に新たに記憶
したフロー識別子等の情報に付加した保留を示す情報
を、確定を示す情報に変更する。
【0147】次に、前述の(2)のラベル割り当て失敗
メッセージを受信したノード装置(本例ではR5)が上
流のノード装置(本例ではR4)に対してホップカウン
ト更新成功メッセージを送信するようにした場合(マー
ジさせる場合)について説明する。
【0148】ノード装置R2からラベル割り当て失敗メ
ッセージを受信したノード装置R5は、自装置にホップ
カウント更新メッセージm10を送信したノード装置R
4に対してホップカウント更新成功メッセージを送信す
るとともに、ホップカウント更新メッセージm10に応
答して記憶したフロー識別子等の情報の組を確定する。
【0149】ノード装置R5からホップカウント更新成
功メッセージを受信したノード装置R4は、自装置にホ
ップカウント更新メッセージm9を送信したノード装置
R3に対してホップカウント更新成功メッセージを送信
するとともに、ホップカウント更新メッセージm9に応
答して記憶したフロー識別子等の情報の組に付加した保
留を示す情報を、確定を示す情報に変更する。
【0150】ノード装置R4からホップカウント更新成
功メッセージを受信したノード装置R3は、自装置にホ
ップカウントが更新されるようなラベル割り当てメッセ
ージm8を送信したノード装置R8に対してラベル割り
当て成功メッセージを送信するとともに、ラベル割り当
てメッセージm8に応答して記憶したフロー識別子等の
情報の組に付加した保留を示す情報を、確定を示す情報
に変更する。
【0151】以降、第1の実施形態で説明した手順と同
様に、ノード装置R3からラベル割当て成功メッセージ
を受信したノードR8は、自装置にラベル割り当てメッ
セージm7を送信したノード装置R7に対してラベル割
り当て成功メッセージを送信し、ノード装置R7は、自
装置にラベル割り当てメッセージm6を送信したノード
装置R6に対してラベル割り当て成功メッセージを送信
する。また、ノード装置R8,R7,R6は、それぞ
れ、ラベル割り当てメッセージを受信しラベル割り当て
メッセージを送信するにあたって記憶したフロー識別子
等の情報の組に付加した保留を示す情報を、確定を示す
情報に変更する。
【0152】この結果、図7の太線に示されるように、
ノード装置R1,R2,R3,R4,R5というラベル
スイッチングパスと、ノード装置R6,R7,R8,R
3,R4,R5というラベルスイッチングパスの2つの
パスの共通部分であるR3,R4,R5の部分がマージ
された1つのツリー上のラベルスイッチングパスが生成
される。
【0153】なお、すでに記憶してあるフロー識別子等
の情報のうちホップカウントの更新を伴ってラベル割当
てメッセージやホップカウント更新メッセージを送信し
たノード装置が、それに対するラベル割当て成功メッセ
ージやホップカウント更新成功メッセージを受信した場
合、自装置にホップカウントが更新されるようなラベル
割当てメッセージやホップカウント更新メッセージを送
信した前段のノード装置に対応するラベル割当て成功メ
ッセージやホップカウント更新成功メッセージを送信す
るとともに、ホップカウントを更新後の値に更新して更
新保留を示す情報をクリアし、その際に新たに記憶した
フロー識別子等の情報に付加した保留を示す情報を、確
定を示す情報に変更する。
【0154】上記した例では、ホップカウントがしきい
値8を越える前にループが検出されたが、ホップカウン
トのしきい値が小さい場合には、ループの検出よりも前
にホップカウントがしきい値を越えたことにより更新失
敗と判断される場合もある。
【0155】さて、今まではホップカウントのしきい値
を8とした場合の動作であるが、ホップカウントのしき
い値が5以上の場合、すなわち、ノード装置R6の接続
に伴ってノード装置R3で生成されたホップカウント更
新メッセージのホップカウントが終段ノードであるノー
ド装置R5までしきい値を越えることなくフォワードさ
れ、かつ、ノード装置R5でもしきい値を越えない場合
には、ノード装置R5がノード装置R2に対してただち
にラベル割り当てメッセージを送信するかどうか、ま
た、ただちにラベル割り当てメッセージを送信する場合
にはその結果にかかわらず、ノード装置R5からノード
装置R4に対してはホップカウント更新成功メッセージ
が返される。
【0156】以下では、図5の状態でノード装置R6が
ラベル割り当てメッセージm6を送信した場合に、ホッ
プカウントのしきい値が4の場合について述べる。
【0157】ホップカウントのしきい値が4の場合に
も、ホップカウントのしきい値が5以上の場合と同様、
最初は、ラベルスイッチングパスR1,R2,R3,R
4,R5が生成される。
【0158】次に、ノード装置R6,R7,R8が接続
したときも、ホップカウントのしきい値が5以上の場合
と同様、最初、ノード装置R6から初段ノード=R6と
したラベル割り当てメッセージが送信されると、このメ
ッセージはホップカウントがインクリメントされながら
ノード装置R7,R8,R3へとフォワードされ、ノー
ド装置R3から下流へは初段ノード=R6としたホップ
カウント更新メッセージがホップカウントがインクリメ
ントされながらフォワードされる。
【0159】ホップカウント更新メッセージはホップカ
ウントがしきい値を越えることなくノード装置R5まで
フォワードされる。ホップカウント更新メッセージを受
信したノード装置R5は、受信したホップカウントがし
きい値を越えるため、ループであると判断し、ホップカ
ウント更新失敗メッセージをノード装置R4に返すとと
もに、ホップカウント更新メッセージに応答して記憶し
たフロー識別子等の情報の組をキャンセルする。
【0160】ノード装置R5からホップカウント更新失
敗メッセージを受信したノード装置R4は、自装置にホ
ップカウント更新メッセージm9を送信したノード装置
R3に対してホップカウント更新失敗メッセージを送信
するとともに、ホップカウント更新メッセージm9に応
答して記憶したフロー識別子等の情報の組に付加した保
留を示す情報をキャンセルする。
【0161】ノード装置R4からホップカウント更新失
敗メッセージを受信したノード装置R3は、自装置にホ
ップカウントが更新されるようなラベル割り当てメッセ
ージm8を送信したノード装置R8に対してラベル割り
当て失敗メッセージを送信するとともに、ラベル割り当
てメッセージm8に応答して記憶したフロー識別子等の
情報の組に付加した保留を示す情報をキャンセルする。
【0162】以降、第1の実施形態で説明した手順と同
様に、ノード装置R3からラベル割り当て失敗メッセー
ジを受信したノードR8は、自装置にラベル割り当てメ
ッセージm7を送信したノード装置R7に対してラベル
割り当て成功メッセージを送信するとともに、ラベル割
り当てメッセージm7を受信しラベル割り当てメッセー
ジm8を送信するにあたって記憶したフロー識別子等の
情報の組のうち、出力側ラベルの情報をキャンセルし、
保留を示す情報を、確定を示す情報に変更する。また、
ノード装置R7は、自装置にラベル割り当てメッセージ
m6を送信したノード装置R6に対してラベル割り当て
成功メッセージを送信する。ノード装置R7,R6は、
ラベル割り当てメッセージを受信しラベル割り当てメッ
セージを送信するにあたって記憶したフロー識別子等の
情報の組に付加した保留を示す情報を、確定を示す情報
に変更する。
【0163】以上、第2の実施形態についていくつかの
例を説明してきたが、以下ではいくつかの変形例につい
て説明する。
【0164】上記では、ノード装置R2からホップカウ
ント更新メッセージm12を受信したノード装置R3
は、ループを検出し、ノード装置R2に対してホップカ
ウント更新失敗メッセージを送信するものとしたが、ホ
ップカウント更新メッセージの受信によりループを検出
したノード装置は、ホップカウント更新メッセージを廃
棄し、ホップカウント更新失敗メッセージを送信しない
ものとしてもよい。
【0165】ところで、上記では、ノード装置R4から
ホップカウント更新失敗メッセージを受信したノード装
置R3は、ノード装置R8にラベル割り当て失敗メッセ
ージを送信するものとしたので、新たに形成されるラベ
ルスイッチングパスは、ノード装置R6,R7,R8の
ルートにとどまった。その代わりに、ノード装置R3
は、ラベルのマージは行わないが、ノード装置R8にラ
ベル割り当て成功メッセージを送信するとともに、先に
ラベル割当てメッセージm8に応答して記憶したフロー
識別子等の情報の組をすべてキャンセルしないで、出力
側ラベルのみをキャンセルし、自ノードが終点ノードと
なって、ノード装置R6,R7,R8,R3という新た
なラベルスイッチングパスを形成するようにしてもよ
い。
【0166】また、上記では、ラベルスイッチングパス
の終点にあたるノード装置(ここではR5)は、ホップ
カウント更新メッセージを受信すると、自ノードの次ホ
ップのノード装置に、ラベル割当てメッセージを送信し
た。
【0167】前述したようにノード装置は自ノードがラ
ベルスイッチングパスの終点ノードになったならば、そ
の後、適当なタイミングで繰り返しラベル割当てメッセ
ージを送信するように構成した場合には、R5がR4か
らホップカウント更新メッセージを受信したとき、所定
の条件を満たす場合に、R5がR2に対してラベル割り
当てメッセージを送信する代わりに、前段ノード装置に
ホップカウント更新メッセージを送信し、その後、適当
なタイミングで繰り返しラベル割当てメッセージを送信
するようにしてもよい。
【0168】次に、図8を参照しながら、第1の実施形
態や第2の実施形態において、本ラベル割り当てプロト
コルにより実際には経路のループができていない状況で
ループと判断される例について説明する。
【0169】図8に示すように、ノード装置R1から宛
先destに対してノード装置R1,R2,R3,R4
というラベルスイッチングパスが構成されていたとこ
ろ、ある時刻において、ノード装置R3がダウンしてノ
ード装置R1からdestへの経路が、ノード装置R
1,R2,R5,R4に変わったものとする。このと
き、ノード装置R2は、destへの次ホップノードで
あるノード装置R3に対するラベルbの割り当てを解放
するとともに、新たなdestへの次ホップノードであ
るノード装置R5に対して、(初段ノード=R1,フロ
ー識別子=dest,ラベル=d,ホップカウント=
2)のラベル割当てメッセージm1を送信する。また、
前述と同様にフロー識別子等の情報の組の記憶を行う。
【0170】ノード装置R5は、ノード装置R2からの
ラベル割り当てメッセージm1を受信すると、ノード装
置R5の次ホップノードであるノード装置R4への出力
インタフェースにおいて新たなラベルdを割当て、受信
したホップカウントをインクリメントし、ノード装置R
4に(初段ノード=R1,フロー識別子=dest,ラ
ベル=e,ホップカウント=3)のラベル割当てメッセ
ージm2を送信する。また、前述と同様にフロー識別子
等の情報の組の記憶を行う。
【0171】ノード装置R5からラベル割当てメッセー
ジm2を受信したノード装置R4は、もし、ノード装置
R3から割り当て要求されたラベルcがまだ解放されて
いないか、または、初段ノードからのホップカウントが
しきい値に達していれば、ラベルeとフロー識別子、初
段ノード情報等の対応を記憶せずに、ノード装置R5に
対してラベル割り当て失敗メッセージを返す。このと
き、ラベル割り当て失敗メッセージには、ラベル割り当
て失敗の理由を書き込む。
【0172】一方、ノード装置R5からラベル割り当て
メッセージを受信したノード装置R4は、もし、ノード
装置R3から割り当て要求されたラベルcがすでに解放
されており、かつ、初段ノードからのホップカウント値
がしきい値に達していなければ、ノード装置R5からの
ラベルとフロー識別子、初段ノード情報等の対応を記憶
するとともに、ノード装置R5に対してラベル割り当て
メッセージに対するラベル割り当て成功メッセージを返
す。
【0173】ノード装置R5は、ラベル割り当て失敗メ
ッセージを受信すると、ラベル割り当て失敗の理由がホ
ップカウントがしきい値を越えたため以外であれば、ノ
ード装置R4に対して定期的にラベル割り当てメッセー
ジを再送する。この結果、ノード装置R3とノード装置
R4の間のラベルcが解放されてから再送されるラベル
割り当てメッセージにより、ノード装置R1,R2,R
5,R4のラベルスイッチングパスが構成される。
【0174】このように、経路変更時には、実際にはル
ープ構成されていなくてもループ検出となる場合があ
る。この場合には、特定の(初段ノード情報、フロー識
別子)の組に対応するラベルは常に1つしか存在しない
ようにすることにより、ルーティングプロトコルの過渡
状態において経路が頻繁に変わるような状況で一時的に
不要なラベルスイッチングパスが幾つもできてしまう、
という問題を解決することができる。
【0175】(第3の実施形態)次に、本発明の第3の
実施形態に係るラベル割り当てプロトコルおよびこのラ
ベル割り当てプロトコルに従ってラベルスイッチングを
行うノード装置について説明する。
【0176】本実施形態では、第1の実施形態や第2の
実施形態において、初段ノード情報として、初段ノード
の出力インタフェースに対して割り当てられるネットワ
ークレイヤアドレスと、初段ノードの出力インタフェー
スローカルに割り当てられる識別子とを用いることがで
きるようにしてある。
【0177】以下、初段ノード情報として、初段ノード
の出力インタフェースに対して割り当てられるネットワ
ークレイヤアドレスと、初段ノードの出力インタフェー
スローカルに割り当てられる識別子とを用いて構成され
たラベルスイッチングパスの例を示す。
【0178】図9において、ノード装置R1,R2は、
従来のラベル割当てプロトコルを使用してラベルスイッ
チングパスを設定するノード装置であり、ノード装置R
4〜R6は、本ラベル割り当てプロトコルを使用してラ
ベルスイッチングパスを設定するノード装置である。ま
た、ノード装置R3は、従来のラベル割当てプロトコル
と、本ラベル割り当てプロトコルの両方をサポートし、
各々のプロトコルにより作られたラベルスイッチングパ
スを接続するノード装置である。
【0179】図9では、初段のノード装置R1,R2か
ら、宛先アドレスdestに対して2本のラベルスイッ
チングパス1´,2´が設定されている。このとき、ノ
ード装置R3は、ラベルスイッチングパス1´,2´の
終点ノードであるが、これらのラベルスイッチングパス
を、本ラベル割り当てプロトコルを用いて延長する。こ
のとき、ラベルスイッチングパス1´,2´は、初段ノ
ード情報を持っていないため、ノード装置R3は、2つ
のパスを区別するために、ノード装置R3の出力インタ
フェースでローカルなID=1,ID=2をラベルスイ
ッチングパス1´,2´に対してそれぞれ割り当て、こ
れを用いてノード装置R3を本ラベル割り当てプロトコ
ルによるラベルスイッチングパスの初段ノードとするラ
ベルスイッチングパス1,2を設定し、設定が完了する
と、ラベルスイッチングパス1´と1の間、およびラベ
ルスイッチングパス2´と2の間でラベルスイッチング
を行うことができる。
【0180】初段ノードの出力インターフェースローカ
ルに割り当てられる識別子を用いて構成されたラベルス
イッチングパスのもう一つの例を図10を用いて示す。
【0181】図10において、R1からR5への経路に
は、R1→R2→R3→R5という経路と、R1→R2
→R4→R5という経路が存在する。Flowid=R
5のフローに対してそれぞれの経路に対するラベルスイ
ッチングパスを形成する場合には、初段ノードR1か
ら、2つのラベルスイッチングパスが作られることにな
る。これらのパスを区別するために、同じIngres
s=R1に対してIngress LocalID=
1、Ingress Local ID=2の2つの異
なるIngress Local IDが使用される。
【0182】以下では、以上の各実施形態における、メ
ッセージのフォーマットの例、フローテーブルのフォー
マットの例、ノード装置の動作手順の例についてそれぞ
れ説明する。
【0183】図11、図12に、各メッセージのフォー
マットの一例を示す。
【0184】図11は、ラベル割り当てメッセージ、ラ
ベル割り当て成功メッセージ、ホップカウント更新メッ
セージ、ホップカウント更新成功メッセージ、ラベル解
放メッセージ、ラベル解放成功メッセージに使用し、図
12は、ラベル割り当て失敗メッセージ、ホップカウン
ト更新失敗メッセージ、ラベル解放失敗メッセージに使
用する。図11と図12とは、図12のメッセージにエ
ラーコードフィールドが付加されている点以外は同じで
ある。
【0185】なお、上流側ノードがラベルを割り当てる
場合には、リクエストIDフィールドは省略してもよ
い。
【0186】また、初段ノード情報を使用しない場合に
は、初段ノードアドレス、初段ノードローカルIDのフ
ィールドを省略してもよい。また、ホップカウントを使
用しない場合には、ホップカウントフィールドを省略し
てもよく、このとき、「ホップカウント更新メッセー
ジ」は、単に「更新メッセージ」と呼ぶ。
【0187】図11、図12において、メッセージタイ
プは、ラベル割り当てプロトコルで使用されるメッセー
ジの種類(ラベル割当てメッセージ、ラベル割当て成功
メッセージ、ラベル割当て失敗メッセージ、ホップカウ
ント更新メッセージ、ホップカウント更新成功メッセー
ジ、ホップカウント更新失敗メッセージ)を示す。
【0188】第1の実施形態では、ラベル割当てメッセ
ージ、ラベル割当て成功メッセージ、ラベル割当て失敗
メッセージが使用され、第2の実施形態では、ラベル割
当てメッセージ、ラベル割当て成功メッセージ、ラベル
割当て失敗メッセージ、ホップカウント更新メッセー
ジ、ホップカウント更新成功メッセージ、ホップカウン
ト更新失敗メッセージが使用される。
【0189】図11、図12において、メッセージle
ngthは、メッセージ全体の長さを示す。
【0190】送信ノードアドレス、受信ノードアドレス
は、それぞれ、このメッセージの送信側、受信側ノード
のネットワークアドレスである。
【0191】初段ノードアドレスは、最初にラベル割り
当てメッセージを生成したノードのアドレスである。ま
た、初段ノードローカルIDは、同じ初段ノードから同
一のフロー識別子に対するラベルスイッチングパスを設
定するために必要な初段ノードローカルのIDである。
【0192】第1および第2の実施形態では、初段ノー
ドアドレスが初段ノード情報である。なお、この場合、
初段ノードローカルIDのフィールドは不要である。第
3の実施形態では、初段ノードアドレスと初段ノードロ
ーカルIDの組が初段ノード情報である。
【0193】ホップカウントは、初段ノードからのホッ
プカウントを表す。
【0194】フロータイプは、フロー識別子の種類であ
る。フローID lengthは、フロー識別子のビッ
ト長である。フローIDは、フローID length
で指定されるビット長で表される、フローの識別子であ
る。
【0195】ラベルのフィールドには、上流側ノードが
ラベルを割り当てる場合には、上流側ノードが割り当て
たラベルが入り、下流側ノードがラベルを割り当てる場
合には、リクエストIDに対応して下流側ノードが割り
当てたラベルが入る(上流側ノードが下流に送るラベル
割り当てメッセージのラベルのフィールドは空欄とする
かもしくはラベルフィールドがなくてもよい)。また、
このラベルのフィールドには、レイヤ2コネクション識
別子が入ることもある。
【0196】図12のラベル割り当て失敗メッセージに
は、ラベル割り当てメッセージに含まれるフィールドに
加え、エラーコードフィールドが付加される。エラーコ
ードには、ラベル割り当てに失敗した場合の理由を書き
込む。ここでは、エラーコードとして、「リソース利用
不可」、「無効なラベル」、「無効なフロータイプ」、
「無効なフロー識別子」、「ポリシーによるラベル割り
当て拒否」、「ホップカウントがしきい値を越えた」、
「同じ初段ノード情報から同じフロー識別子に対して異
なるラベルを受信」の7種類のコードを定義している。
【0197】なお、ラベル割り当て失敗メッセージを受
信したノードは、エラーコードの値により、適当なタイ
ミングで繰り返しラベル割り当てメッセージを送信する
ようにするか、以降のラベル割り当てメッセージの送信
をやめるかのいずれかの動作を選択するようにしてもよ
い。例えば、エラーコードが「ホップカウントがしきい
値を越えた」である場合には、以降のラベル割り当てメ
ッセージの送信をやめるようにし、その他の場合には適
当なタイミングで繰り返しラベル割り当てメッセージを
送信するようにしてもよい。
【0198】次に、図13に、本ラベル割当てプロトコ
ルが動作するノード装置において使用されるフローテー
ブルのフォーマットの一例を示す。
【0199】フローテーブルは、現在、ラベルスイッチ
ングされているフローにおける、フロー識別子、初段ノ
ード情報(初段ノードアドレス、または初段ノードアド
レスと初段ノードローカルIDの組)、入力側ラベル
(リンク識別子、ラベル)、出力側ラベル(リンク識別
子、ラベル)、ホップカウント値、初段ノードかどうか
を示す初段フラグ、終段ノードかかどうかを示す終段ノ
ードフラグが書き込まれる。なお、図13は、フロー識
別子が1種類の場合の例である。
【0200】また、第1および第2の実施形態では、初
段ノードローカルIDのフィールドは不要である。
【0201】第1の実施形態で、ホップカウントを併用
しない場合には、ホップカウント値のフィールドは不要
である。
【0202】また、初段ノードフラグは、初段ノード情
報に該当するノード装置が、ラベル割り当てメッセージ
を送信するにあたって、セットする。
【0203】終段ノードフラグは、自ノードがフロー識
別子で指定されるフローの宛先であるノード装置、また
は次ホップノードが本ラベル割り当てプロトコルをサポ
ートしていないようなノード装置が、例えばラベル割り
当てメッセージを受信した際に、セットする。
【0204】なお、各ノード装置は、隣接するノード装
置が本ラベル割り当てプロトコルをサポートするか否か
を、例えば予めまたは必要時に隣接ノード装置と通信す
ることによって知ることができる。
【0205】次に、図14に、第1の実施形態、第2の
実施形態においてラベル割り当てメッセージを受信した
ときのノード装置の動作の一例を示す。
【0206】ラベル割り当てメッセージを受信すると、
まず、ホップカウントの更新を示すフラグであるUpd
ateフラグをクリアし(ステップS1)、フローテー
ブルの先頭から順番にエントリを検索してゆく(ステッ
プS2,S3,S10,S11)。なお、フローテーブ
ルにエントリがない場合には、ステップS12に移る。
【0207】初段ノードでなく(初段フラグがオフ)、
かつ、エントリ中の入力側ラベルが受信メッセージ中の
ラベルと等しい場合には(ステップS4 YES)、受
信メッセージ中のフロー識別子、初段ノード情報、ホッ
プカウントがエントリ中の値と等しいかどうかをチェッ
クし、すべて一致していれば、前段ノードにラベル割当
て成功メッセージを返す(ステップS19,S20,S
21,S18)。そうでなければ、前段ノードにラベル
割当て失敗メッセージを返す(ステップS19,S2
0,S21,S22)。この場合、ラベル割当てメッセ
ージ受信処理は終了する。
【0208】一方、初段ノードである(初段フラグがオ
ン)、または、エントリ中の入力側ラベルが受信メッセ
ージ中のラベルと異なる場合には(ステップS3 N
O)、フロー識別子をチェックする(ステップS5)。
フロー識別子が異なる場合には、次のフローテーブルエ
ントリを調べる。フロー識別子が等しい場合には、初段
ノード情報が等しいかどうかをチェックし(ステップS
6)、初段ノード情報が等しい場合には、前段ノードに
ラベル割り当て失敗メッセージを返す(ステップS2
2)。初段ノード情報が異なる場合には、ラベルマージ
をサポートし、かつ、受信メッセージ中のホップカウン
トがエントリ中のホップカウントより大きい場合には、
Updateフラグをセットし(ステップS7,S8,
S9)、次のフローテーブルエントリを調べる(ステッ
プS10,S11)。ラベルマージをサポートしない、
または、受信メッセージ中のホップカウントがエントリ
中のホップカウント以下の場合には(ステップS7,S
8)、Updateフラグはそのままで次のフローテー
ブルエントリを調べる(ステップS10,S11)。
【0209】フローテーブルの最後まで検索が終ると
(ステップS10)、受信メッセージ中のホップカウン
トをチェックする(ステップS12)。ホップカウント
がしきい値を越える場合には、前段ノードにラベル割当
て失敗メッセージを返す(ステップS22)。ホップカ
ウントがしきい値以下の場合には、新たにフローテーブ
ルエントリを作成し(ステップS13)、終段ノードで
ある(終段フラグがオンである)場合には、前段ノード
にラベル割当て成功メッセージを返す(ステップS1
8)。終段ノードでない(終段フラグがオフである)場
合には、Updateフラグをチェックし(ステップS
15)、Updateフラグがオンの場合には、後段ノ
ードにホップカウント更新メッセージを送信する(ステ
ップS17)。Updateフラグがオフの場合には、
後段ノードにラベル割当てメッセージを送信する(ステ
ップS16)。なお、ステップS16において、さらに
前段ノードにラベル割り当て成功メッセージを送信する
ようにしてもよい。
【0210】なお、ステップS13のフローテーブルエ
ントリの作成では、前述したように確定を保留してお
き、ラベル割り当て成功メッセージが返されて始めて確
定させる。
【0211】また、ホップカウントを使用しない場合に
は、図14のステップS7のYesの出力とステップS
9の入力とを直結し、ステップS2のNoの出力および
ステップS10のYesの出力とステップS13の入力
とを直結し、ステップS20のYesの出力とステップ
S18の入力とを直結すればよい。この場合には、終段
ノードでなければマージ点から常に後段ノードに対して
更新メッセージが送信されることになるため、ホップカ
ウントを用いる場合に比べて送信されるメッセージの数
が増加する。
【0212】次に、図15に、第2の実施形態において
ホップカウント更新メッセージを受信したときのノード
装置の動作の一例を示す。
【0213】ホップカウント更新メッセージを受信する
と、Findフラグ、Updateフラグを0に設定し
(ステップS31)、フローテーブルの先頭から順番に
エントリを検索してゆく(ステップS32,S33,S
37,S38)。なお、フローテーブルにエントリがな
い場合には、前段ノードにホップカウント更新失敗メッ
セージを返す(ステップS32,S45)。
【0214】初段ノードでなく(初期フラグがオフ)、
かつ、エントリ中の入力側ラベルが受信メッセージ中の
ラベルと等しい場合には(ステップS34)、Find
フラグを1に設定し(ステップS39)、受信メッセー
ジ中のフロー識別子がエントリ中の値と等しいかどうか
をチェックし(ステップS40)、一致していなけれ
ば、前段ノードにホップカウント更新失敗メッセージを
返す(ステップS45)。一致していれば、ホップカウ
ントがエントリ中の値と等しいかどうかをチェックし
(ステップS41)、ホップカウントが異なれば、Up
dateフラグを1に設定し(ステップS42)、次の
フローテーブルエントリを調べる(ステップS37,S
38)。
【0215】一方、初段ノードである(初段フラグがオ
ン)、または、エントリ中の入力側ラベルが受信メッセ
ージ中のラベルと異なる場合には(ステップS34)、
受信メッセージ中のフロー識別子がエントリ中の値と等
しいかどうかをチェックし(ステップS35)、一致し
ていなければ、次のフローテーブルエントリを調べる
(ステップS37,S8)。一致していれば、受信メッ
セージ中の初段ノード情報がエントリ中の値と等しいか
どうかをチェックし(ステップS36)、一致していれ
ば、前段ノードにホップカウント更新失敗メッセージを
渡す(ステップS45)。一致していなければ、次のフ
ローテーブルエントリを調べる(ステップS37,S3
8)。
【0216】すべてのフローテーブルエントリを調べ終
ったときに(ステップS37)、Findフラグが0の
ままであれば(ステップS43)、前段ノードにホップ
カウント更新失敗メッセージを返す(ステップS4
5)。Findフラグが1であれば(ステップS4
3)、受信メッセージ中のホップカウントがしきい値以
下であるかどうかをチェックし(ステップS44)、し
きい値を越えていれば、前段ノードにホップカウント更
新失敗メッセージを返す(ステップS45)。ホップカ
ウントがしきい値以下である場合には次にUpdate
フラグを調べる(ステップS46)。Updateフラ
グが0のままであれば、前段ノードにホップカウント更
新成功メッセージを送信する(ステップS49)。Up
dateフラグが1になっていれば、フローテーブルエ
ントリの初段ノード情報とホップカウントを更新するた
めの処理を行い(ステップS47)、終段ノードかどう
かを調べる(ステップS48)。終段ノードであれば、
前段ノードにホップカウント更新成功メッセージを送信
する(ステップS49)。終段ノードでなければ、出力
側ラベルが存在するかどうかを調べ(ステップS5
0)、存在する場合には、後段ノードにホップカウント
更新メッセージを送信し(ステップS52)、存在しな
い場合には、後段ノードにラベル割り当てメッセージを
送信する(ステップS51)。
【0217】なお、ステップS47のフローテーブルエ
ントリの初段ノード情報とホップカウントを更新するた
めの処理では、前述したように確定を保留しておき、ホ
ップカウント更新成功メッセージが返されて始めて確定
させる。
【0218】また、ホップカウントを使用しない場合に
は、図15のステップS43のYesの出力とステップ
S46の入力とを直結し、ステップS40のYesの出
力とステップS42の入力とを直結すればよい。この場
合には、Find=1かつ終段ノードでなければ常に後
段ノードに対してラベル割り当てメッセージまたは更新
メッセージが送信されることになるため、ホップカウン
トを用いる場合に比べて送信されるメッセージの数が増
加する。
【0219】ラベル割り当て成功メッセージ、ラベル割
り当て失敗メッセージ、ホップカウント更新成功メッセ
ージ、ホップカウント更新失敗メッセージを受信したと
きのノード装置の処理手順、初段のノード装置がラベル
割り当てメッセージを送信するときの処理手順等は、前
述した通りである。
【0220】次に、図16に、第1の実施形態、第2の
実施形態においてラベル割り当てメッセージを受信した
ときのノード装置の動作の一例を示す。
【0221】図16は、ホップカウントを併用するプロ
トコルに対応するものであり、ホップカウントを併用し
ない場合、図16においてステップS12を省き、ステ
ップS2とS10をステップS13に直結すればよい。
【0222】ただし、この例では、ホップカウントを使
用しない場合には、ループ検出に初段ノード情報を必ず
使用する。
【0223】なお、図15のような手順を持つ第2の実
施形態のノード装置を常にマージしないように設定する
ことにより、第1の実施形態のノード装置(ホップカウ
ントを併用するもの)として使用することができる。
【0224】ラベル割り当て成功メッセージ、ラベル割
り当て失敗メッセージを受信したときのノード装置の処
理手順、初段のノード装置がラベル割り当てメッセージ
を送信するときの処理手順等は、前述した通りである。
【0225】これまでのノード装置の動作手順の例で
は、ノード装置が後段ノードにメッセージ送信後ACK
信号待ちの状態のときに前段ノードから状態の変更を伴
うメッセージを受信しないような排他制御を別に行う場
合について述べたが、以降の例では、ACK待ちの状態
のときに前段ノードから状態の変更を伴うメッセージを
受信するような場合にラベルスイッチングパス全体の状
態の一貫性を保ような排他制御も行うような場合につい
て述べる。これから述べる例では、ノードがラベルのマ
ージを行うならば、初段ノード情報を用いなくてもルー
プ検出が可能である。
【0226】以下の例で用いるメッセージのフォーマッ
トについては、図11、図12を参照しながら説明した
ものと同様である。
【0227】図17に、本ラベル割当てプロトコルが動
作するノード装置において使用されるフローテーブルの
フォーマットの一例を示す。
【0228】フローテーブルは、現在、ラベルスイッチ
ングされているフローにおける、フロー識別子、初段ノ
ード情報(初段ノードアドレス、または初段ノードアド
レスと初段ノードローカルIDの組)、入力側ラベル
(リンク識別子、ラベル)、出力側ラベル(リンク識別
子、ラベル)、ホップカウント値、初段ノードかどうか
を示す初段フラグ、終段ノードかどうかを示す終段ノー
ドフラグ、エントリが確定したかを示す確定フラグが書
き込まれる。なお、図17は、フロー識別子が1種類の
場合の例である。
【0229】ループ検出に初段ノード情報を用いない場
合には、初段ノード情報用のフィールドはなくてもよい
が、ループ検出に初段ノード情報を用いる場合に比べ、
ループ検出をするためにラベル割り当てメッセージおよ
びホップカウント更新メッセージがより多くのノードを
経由する可能性がある。
【0230】また、第1および第2の実施形態では、初
段ノードローカルIDのフィールドは不要である。
【0231】第1の実施形態で、ホップカウントを併用
しない場合には、ホップカウント値のフィールドは不要
である。
【0232】また、初段ノードフラグは、初段ノード情
報に該当するノード装置が、ラベル割り当てメッセージ
を送信するにあたって、セットする。
【0233】終段ノードフラグは、自ノードがフロー識
別子で指定されるフローの宛先であるノード装置、また
は次ホップノードが本ラベル割り当てプロトコルをサポ
ートしていないようなノード装置が、例えばラベル割り
当てメッセージを受信した際に、セットする。
【0234】なお、各ノード装置は、隣接するノード装
置が本ラベル割り当てプロトコルをサポートするか否か
を、例えば予めまたは必要時に隣接ノード装置と通信す
ることによって知ることができる。
【0235】次に、図18に、第1の実施形態、第2の
実施形態においてラベル割り当てメッセージを受信した
ときのノード装置の動作の一例を示す。本例は、図14
の手順において、ラベル割り当てメッセージを受信した
時に常に1個のメッセージしか処理しないように修正し
たものである。
【0236】ラベル割り当てメッセージを受信すると、
まず、ホップカウントの更新を示すフラグであるUpd
ateフラグをクリアするとともに、自ノードでマージ
されたフローの本数を示すカウンタCntを0にリセッ
トし(ステップS1−1)、フローテーブルの先頭から
順番に検索してゆく(ステップS2,S3,S10,S
11)。なお、フローテーブルにエントリがない場合に
は、ステップ12に移る。
【0237】初段ノードでなく(初段フラグがオフ)、
かつ、エントリ中の入力側ラベルが受信メッセージ中の
ラベルと等しい場合には(ステップS4)、受信メッセ
ージ中のフロー識別子、初段ノード情報、ホップカウン
トがエントリ中の値と等しいかどうかをチェックし、い
ずれかが一致していなければ、前段ノードにラベル割り
当て失敗メッセージを送信し、処理を終了する(ステッ
プS19〜S22)。
【0238】一方、すべて一致していれば、エントリ中
の確定フラグをチェックし、確定フラグがオンであれば
前段ノードにラベル割り当て成功メッセージを送信し
(ステップS19,S20,S21,S23,S2
8)、確定フラグがオフであれば、受信したラベル割り
当てメッセージを廃棄するか、前段ノードにラベル割り
当て失敗メッセージを送信する(ステップS19,S2
0,S21,S23,S24)。後者の場合、ラベル割
り当てメッセージ受信処理は終了する。
【0239】一方、初段ノードである(初段フラグがオ
ン)、または、エントリ中の入力側ラベルが受信メッセ
ージ中のラベルと異なる場合には(ステップS4)、フ
ロー識別子をチェックする(ステップS5)。フロー識
別子が異なる場合には、次のフローテーブルエントリを
調べる。フロー識別子が等しい場合には、初段ノード情
報が等しいかどうかをチェックし(ステップS6)、初
段ノード情報が等しい場合には、前段ノードにラベル割
り当て失敗メッセージを返す(ステップS22)。初段
ノード情報が異なる場合には、ラベルマージをサポート
する場合には、Cntを1だけインクリメントし(ステ
ップS7,S1−2)、さらに受信メッセージ中のホッ
プカウントがエントリ中のホップカウントより大きい場
合には(ステップS8)、確定フラグがオンか否か調べ
(ステップS200)、確定フラグがオンならば、Up
dateフラグをセットし(ステップS9)、次のフロ
ーテーブルエントリを調べる(ステップS10,S1
1)。ステップS200で確定フラグがオフならば、前
段ノードにラベル割り当てメッセージを送信し、処理を
終了する(ステップS22)。なお、ラベルマージをサ
ポートしない場合、または受信メッセージ中のホップカ
ウントがエントリ中のホップカウント以下の場合には
(ステップS7,S8)、Updateフラグはそのま
まで次のフローテーブルエントリを調べる(ステップS
10,S11)。
【0240】フローテーブルの最後まで検索が終ると
(ステップS10)、受信メッセージ中のホップカウン
トをチェックする(ステップS12)。ホップカウント
がしきい値を越える場合には、前段ノードにラベル割り
当て失敗メッセージを返す(ステップS22)。ホップ
カウントがしきい値以下の場合には、新たにフローテー
ブルエントリを作成し(ステップS13)、終段ノード
である(終段フラグがオン)場合には、確定フラグをオ
ンにするとともに前段ノードにラベル割り当て成功メッ
セージを送信する(ステップS18)。終段ノードでな
い(終段フラグがオフ)場合には、Updateフラグ
をチェックし(ステップS15)、Updateフラグ
がオンである場合には、確定フラグをオフにするととも
に後段ノードにホップカウント更新メッセージを送信す
る(ステップS27)。Updateフラグがオフの場
合には、Cnt=0(自ノードがマージポイントでな
い)ならば、確定フラグをオフにするとともに後段ノー
ドにラベル割り当てメッセージを送信し(ステップS2
5,S26)、Cnt>0(自ノードがマージポイント
である)ならば、確定フラグをオンにする(マージの設
定をする)とともに前段ノードにラベル割り当て成功メ
ッセージを送信する(ステップS25,S28)。な
お、Updateフラグがオフの場合には、Cnt=0
ならば、ステップS26において、上記に加えてさらに
前段ノードにラベル割り当て成功メッセージを送信する
ようにしてもよい。
【0241】なお、ステップS13のフローテーブルエ
ントリの作成では、前述したように確定を保留しておき
(確定フラグをオフに設定)、ラベル割り当て成功メッ
セージが返されて始めて確定させる(確定フラグをオン
に設定)。
【0242】また、ループ検出に初段ノード情報を用い
ない場合には、図18のステップS5のYesの出力と
ステップS7の入力とを直結し、ステップS19のYe
sの出力とステップS21の入力とを直結すればよい。
この場合には、ループ検出に初段ノード情報を用いる場
合に比べ、ループ検出をするためにラベル割り当てメッ
セージおよびホップカウント更新メッセージがより多く
のノードを経由することになる。
【0243】また、ホップカウントを使用しない場合に
は、図18のステップS1−2のYesの出力とステッ
プS200の入力とを直結し、ステップS2のNoの出
力およびステップS10のYesの出力とステップS1
3の入力とを直結し、ステップS20のYesの出力と
ステップS23の入力とを直結すればよい。この場合に
は、終段ノードでなければマージ点から常に後段ノード
に対してホップカウント更新メッセージが送信されるこ
とになるため、ホップカウントを用いる場合に比べて送
信されるメッセージの数が増加する。
【0244】また、ネットワーク内の全ノードがラベル
マージをサポートする場合には初段ノード情報、ホップ
カウント両方使用しないことも可能である。この場合の
フローチャートは、ループ検出に初段ノード情報を用い
ない場合のフローチャートと、ホップカウントを使用し
ない場合のフローチャートの共通部分になる。この場合
のフローチャートを図19に示す。
【0245】次に、図20に、第2の実施形態において
ホップカウント更新メッセージを受信したときのノード
装置の動作の一例を示す。本例は、図15の手順におい
て、ホップカウント更新メッセージを受信した時に常に
1個のメッセージしか処理しないように修正したもので
ある。
【0246】ホップカウント更新メッセージを受信する
と、Findフラグを0に、Updateフラグを1に
それぞれ設定し(ステップS31−1)、フローテーブ
ルの先頭から順番にエントリを検索してゆく(ステップ
S32,S33,S37,S38)。なお、フローテー
ブルにエントリがない場合には、前段ノードにホップカ
ウント更新失敗メッセージを返す(ステップS32,S
65−2)。
【0247】初段ノードでなく(初段フラグがオフ)、
かつ、エントリ中の入力側ラベルが受信メッセージ中の
ラベルと等しい場合には(ステップS34)、Find
フラグを1に設定し(ステップS39)、受信メッセー
ジ中のフロー識別子がエントリ中の値と等しいかどうか
をチェックし(ステップS40)、一致していなけれ
ば、前段ノードにホップカウント更新失敗メッセージを
返して処理を終了する(ステップS65−2)。一致し
ていれば、ホップカウントがエントリ中の値と等しいか
どうかをチェックし(ステップS41)、ホップカウン
トが等しければ、初段ノード情報が同じか否かチェック
し(ステップS63)、初段ノード情報が同じであれ
ば、確定フラグをオンにするとともに、前段ノードにホ
ップカウント更新成功メッセージを送信する(ステップ
S69)。ホップカウントが異なるか、または初段ノー
ド情報が同じでなければ、エントリ中の確定フラグをチ
ェックする(ステップS64)。確定フラグがオンであ
れば、次のフローテーブルエントリを調べる(ステップ
S37,S38)。確定フラグがオフであれば、受信メ
ッセージを廃棄するか前段ノードにホップカウント更新
失敗メッセージを送信し、処理を終了する(ステップS
65−1)。
【0248】一方、初段ノードである(初段フラグがオ
ン)、または、エントリ中の入力側ラベルが受信メッセ
ージ中のラベルと異なる場合には(ステップS34)、
受信メッセージ中のフロー識別子がエントリ中の値と等
しいかどうかをチェックし(ステップS35)、一致し
ていなければ、次のフローテーブルエントリを調べる
(ステップS37,S38)。一致していれば、受信メ
ッセージ中の初段ノード情報がエントリ中の値と等しい
かどうかをチェックし(ステップS36)、一致してい
れば、前段ノードにホップカウント更新失敗メッセージ
を渡す(ステップS65−2)。ステップS36で一致
していなければ、確定フラグがオフか否か調べ(ステッ
プS201)、確定フラグがオフならば、次のフローテ
ーブルエントリを調べる(ステップS37,S38)。
また、ステップS201で確定フラグがオンならば、U
pdateフラグを0にクリアしてから(ステップS2
02)、次のフローテーブルエントリを調べる(ステッ
プS37,S38)。
【0249】すべてのフローテーブルエントリを調べ終
ったときに(ステップS37)、Findフラグが0の
ままであれば(ステップS43)、前段ノードにホップ
カウント更新失敗メッセージを返す(ステップS65−
2)。Findフラグが1であれば(ステップS4
3)、受信メッセージ中のホップカウントがしきい値以
下であるかどうかをチェックし(ステップS44)、し
きい値を越えていれば、前段ノードにホップカウント更
新失敗メッセージを返す(ステップS65−2)。ホッ
プカウントがしきい値以下である場合には次にUpda
teフラグを調べる(ステップS46)。Update
フラグが0のままであれば、確定フラグをオンにすると
ともに、前段ノードにホップカウント更新成功メッセー
ジを送信する(ステップS69)。Updateフラグ
が1になっていれば、フローテーブルエントリの初段ノ
ード情報とホップカウントを更新するための処理を行な
い(ステップS67)、終段ノードかどうかを調べる
(ステップS48)。終段ノードであれば、確定フラグ
をオンにするとともに前段ノードにホップカウント更新
成功メッセージを送信する(ステップS69)。終段ノ
ードでなければ、出力側ラベルが存在するかどうかを調
べ(ステップS50)、存在する場合には、確定フラグ
をオフにするとともに後段ノードにホップカウント更新
メッセージを送信し(ステップS72)、存在しない場
合には、確定フラグをオフにするとともに後段ノードに
ラベル割り当てメッセージを送信する(ステップS7
1)。
【0250】ここで、終段ノード以外のノードは、更新
後のホップカウント値が更新前よりも小さくなるような
場合には、ステップS71またはS72を実行するとと
もに、前段ノードにホップカウント更新成功メッセージ
を送信してもよい。
【0251】なお、ステップS67のフローテーブルエ
ントリの初段ノード情報とホップカウントを更新するた
めの処理では、前述したように確定を保留しておき、ホ
ップカウント更新成功メッセージが返されて始めて確定
させる。
【0252】また、ループ検出に初段ノード情報を用い
ない場合には、図20のステップS35のYesの出力
とステップS201の入力とを直結し、ステップS41
のYesの出力とステップS69の入力とを直結すれば
よい。この場合には、ループ検出に初段ノード情報を用
いる場合に比べ、ループ検出をするためにラベル割り当
てメッセージおよびホップカウント更新メッセージがよ
り多くのノードを経由することになる。
【0253】また、ホップカウントを使用しない場合に
は、図20のステップS43のYesの出力とステップ
S46の入力とを直結し、ステップS40のYesの出
力とステップS64の入力とを直結すればよい(この結
果、ステップS63の処理は省かれることになる)。ま
た、マージポイント以降の既にラベルスイッチングパス
が存在する部分を転送されるメッセージはホップカウン
トを含まない「更新メッセージ」とすることができる。
この場合には、Find=1かつ終段ノードでなければ
常に後段ノードに対してラベル割り当てメッセージまた
はホップカウント更新メッセージが送信されることにな
るため、ホップカウントを用いる場合に比べて送信され
るメッセージの数が増加する。
【0254】また、ネットワーク内の全ノードがラベル
マージをサポートする場合には初段ノード情報、ホップ
カウント両方使用しないことも可能である。この場合の
フローチャートは、ループ検出に初段ノード情報を用い
ない場合のフローチャートと、ホップカウントを使用し
ない場合のフローチャートの共通部分になる。この場合
のフローチャートを図21に示す。
【0255】ラベル割り当て成功メッセージ、ラベル割
り当て失敗メッセージ、ホップカウント更新成功メッセ
ージ、ホップカウント更新失敗メッセージを受信したと
きのノード装置の処理手順、初段のノード装置がラベル
割り当てメッセージを送信するときの処理手順等は、前
述した通りである。
【0256】次に、図22に、第1の実施形態、第2の
実施形態においてラベル割り当てメッセージを受信した
ときのノード装置の動作の一例を示す。本例は、図16
の手順において、ラベル割り当てメッセージを受信した
時に常に1個のメッセージしか処理しないように修正し
たものである。
【0257】図22は、ホップカウントを併用するプロ
トコルに対応するものであり、ホップカウントを併用し
ない場合、図22においてステップS12を省き、ステ
ップS2とS10をステップS13に直結すればよい。
【0258】ただし、この例では、ホップカウントを使
用しない場合には、ループ検出に初段ノード情報を必ず
使用する。
【0259】なお、図20のような手順を持つ第2の実
施形態のノード装置を常にマージしないように設定する
ことにより、第1の実施形態のノード装置(ホップカウ
ントを併用するもの)として使用することができる。
【0260】ラベル割り当て成功メッセージ、ラベル割
り当て失敗メッセージを受信したときのノード装置の処
理手順、初段のノード装置がラベル割り当てメッセージ
を送信するときの処理手順等は、前述した通りである。
【0261】次に、マージ可能な場合にラベルスイッチ
ングパスを解放する場合のノード装置の動作について説
明する。ノード装置は、ラベルスイッチングパスを解放
する場合には、後段ノードに対して「ラベル解放メッセ
ージ」を送信する。「ラベル解放メッセージ」を送信し
たノードは、後段ノードから「ラベル解放成功メッセー
ジ」受信すると、該当するフローテーブルエントリを削
除するものとする。
【0262】図23に、第1の実施形態、第2の実施形
態においてラベル解放メッセージを受信したときのノー
ド装置の動作の一例を示す。
【0263】図23において、Edは、受信したラベル
解放メッセージに対応するフローテーブルエントリを記
憶するための変数、Euは、エントリEdを削除した後
の初段ノードからの最大のホップカウントを与えるフロ
ーテーブルのエントリを記憶するための変数、hmax
は、エントリEdを削除した後の初段ノードからの最大
のホップカウント値を記憶する変数である。
【0264】ラベル解放メッセージを受信したノード装
置は、EdおよびEuをNILに、hmaxを0に初期
化し(ステップS101)、次に、フローテーブルエン
トリの先頭から順番にエントリを検索してゆく(ステッ
プS102,S103,S110,S111)。なお、
フローテーブルエントリが存在しない場合には、前段ノ
ードにラベル解放成功メッセージを返す(ステップS1
16)。
【0265】各フローテーブルエントリの検索では以下
の処理を行なう。
【0266】まず、入力側ラベルが受信メッセージ中の
ラベル値と等しいかどうかをチェックし(ステップS1
04)、等しい場合には、メッセージ中のフロー識別子
および初段ノード情報がエントリ中の値と同じかどうか
をチェックし(ステップS119,S120)、どちら
か一方が同じでない場合には、前段ノードにラベル解放
失敗メッセージを送信して処理を終了する(ステップS
122)。フロー識別子および初段ノード情報ともにエ
ントリ中の値と同じ場合には、Edにこのエントリを設
定し(ステップS121)、次のエントリについて調べ
る(ステップS110,S111)。
【0267】入力側ラベルが受信メッセージ中のラベル
値と異なる場合には、メッセージ中のフロー識別子がエ
ントリ中の値と同じかどうかをチェックし(ステップS
105)、異なる場合には次のエントリについて調べる
(ステップS110,S111)。フロー識別子が同じ
場合には、メッセージ中の初段ノード情報がエントリ中
の値と同じかどうかをチェックし(ステップS10
6)、同じ場合には前段ノードにラベル解放失敗メッセ
ージを送信して処理を終了する(ステップS122)。
初段ノード情報が異なる場合には、このノードがマージ
をサポートするかどうかを調べ(ステップS107)、
サポートしない場合には、次のエントリについて調べる
(ステップS110,S111)。
【0268】マージをサポートする場合には、hmax
>このエントリ中のホップカウントならば次のエントリ
について調べ(ステップS108,S110,S11
1)、hmax≦このエントリ中のホップカウントなら
ば、Euにこのエントリを設定し、hmaxにはこのエ
ントリ中のホップカウントを設定してから次のエントリ
について調べる(ステップS108,S109,S11
0,S111)。
【0269】フローテーブルエントリの検索が終了する
と、前段ノードにラベル解放成功メッセージを送信する
(ステップS128)。次に、EdがNILなら処理を
終了し(ステップS116)、そうでなければ、Euが
NILかどうかをチェックする(ステップS116,S
117)。EuがNILであれば、Edの確定フラグを
オフにして、後段ノードにラベル解放メッセージを送信
して処理を終了する(ステップS126)。EuがNI
Lでない場合には(ステップS118)、hmax>E
d中のホップカウントならば処理を終了し、hmax≦
Ed中のホップカウントならば(ステップS118)、
Euの確定フラグをオフにするとともに、後段ノードに
ホップカウント更新メッセージを送信し(ステップS1
18,S127)、処理を終了する。
【0270】ここで、送信するホップカウント更新メッ
セージ中のホップカウントおよび初段ノード情報には、
エントリEu中の値を書き込むようにする。
【0271】なお、ある出力側ラベルに対するラベル解
放成功メッセージ(ラベル解放失敗メッセージ)を受信
したノードは、その出力側ラベルに対するフローテーブ
ルエントリ中の確定フラグがオフである場合には、その
エントリを削除する。
【0272】以上の処理により、各ノードでラベル解放
後に、上流ノードの中で最大のホップカウント値を与え
る初段ノードが変わる場合にも更新後の初段ノード情報
およびホップカウント値を正しく保持することができ、
ラベルスイッチングパスの生成と解放が非同期に起こる
ような場合にもループの検出を行なうことができる。
【0273】なお、ループ検出に初段ノード情報を用い
ない場合には、図23のステップS105のYesの出
力とステップS107の入力を直結し、ステップS11
9のYesの出力とステップS121の入力を直結すれ
ばよい。
【0274】また、ホップカウントを使用しない場合に
は、図23のステップS109における「Euにこのエ
ントリを設定し、hmaxにはこのエントリ中のホップ
カウントを設定する」処理から「hmaxにはこのエン
トリ中のホップカウントを設定する」部分を省いて「E
uにこのエントリを設定する」処理に修正するとともに
(すなわち、「Eu:=このエントリ、hmax=この
エントリ中のホップカウント」を「Eu:=このエント
リ」に変更する:この変更した処理をステップS109
−1とする)、ステップS107のYesの出力とステ
ップS109−1の入力を直結し、ステップS117の
Noの出力とステップS127の入力を直結すればよ
い。この場合には、ホップカウントを用いる場合に比べ
て送信されるメッセージの数が増加する。
【0275】なお、共通の出力側ラベルを持つようなそ
のフローに対する任意のフローテーブルエントリ中の初
段ノード情報をホップカウント更新メッセージに書き込
んで送信しループ検出する場合のラベルスイッチングパ
スの解放手続は、このホップカウントを使用しない場合
と同様にすればよい。
【0276】また、ネットワーク内の全ノードがラベル
マージをサポートする場合には初段ノード情報、ホップ
カウント両方使用しないことも可能である。この場合の
フローチャートは、ループ検出に初段ノード情報を用い
ない場合のフローチャートと、ホップカウントを使用し
ない場合のフローチャートの共通部分になる。この場合
のフローチャートを図24に示す。
【0277】なお、図18、図20、図22の手順に対
して確定フラグを用いないような修正を施したものが、
それぞれ、図14、図15、図16の手順であるが、同
様に、図23の手順に対して確定フラグを用いないよう
な修正を施すことも可能である。また、図23において
ホップカウントを使用しないようにした手順に対して確
定フラグを用いないような修正を施すことも可能であ
る。
【0278】次に、以上の実施形態において、マルチキ
ャストのラベルスイッチングパスのループ検出を行なう
場合の例を示す。マルチキャストの場合には、ラベルの
マージは行なわず、また、初段ノード主導でラベルスイ
ッチングパスを設定する。パケットフォーマットは、ユ
ニキャストの場合と同じであり、ラベルを上流側、下流
側どちらのノードで割り当ててもよい。
【0279】フロー識別子には、マルチキャストルーチ
ングテーブルのエントリがマルチキャストグループアド
レス毎に存在する場合には、マルチキャストグループア
ドレスが使用され、マルチキャストルーチングテーブル
のエントリがソースアドレスとマルチキャストグループ
アドレスの組毎に存在する場合には、ソースアドレスと
マルチキャストグループアドレスの組が使用される。
【0280】確定フラグを使用しない場合のフローテー
ブルのフォーマットは、図13において、出力側ラベル
フィールドが、自ノードのマルチキャストの各々の出力
の枝に対する1つ以上の出力側ラベルフィールドに置き
換わる。
【0281】また、確定フラグを使用する場合のフロー
テーブルのフォーマットは、図17において、出力側ラ
ベルフィールドが、自ノードのマルチキャストの各々の
出力の枝に対する1つ以上の出力側ラベルフィールドに
置き換わる。
【0282】次に、マルチキャストの場合のラベルスイ
ッチングパス生成時の動作について述べる。
【0283】まず、初段ノードは、ラベルスイッチング
パスの生成を起動する時に、自ノードのマルチキャスト
の各々の出力の枝に対してラベル割り当てメッセージを
送信する。
【0284】確定フラグを用いない場合には、ラベル割
り当てメッセージを受信したノードは、図16のフロー
チャートにしたがって、ユニキャストの場合と同様に動
作する。ただし、図16のステップS16が、「自ノー
ドのマルチキャストの各々の出力の枝に対してラベル割
り当てメッセージを送信する」に書き換わる。
【0285】確定フラグを用いる場合には、ラベル割り
当てメッセージを受信したノードは、図22のフローチ
ャートにしたがって、ユニキャストの場合と同様に動作
する。ただし、図22のステップS26が、「確定フラ
グオフ&自ノードのマルチキャストの各々の出力の枝に
対してラベル割り当てメッセージを送信する」に書き換
わる。
【0286】また、自ノードのマルチキャストの各々の
枝の下流隣接ノードからラベル割り当て成功メッセージ
またはラベル割り当て失敗メッセージを受信したノード
は、以下のいずれかの動作を行なう。 (1)すべての枝の下流隣接ノードからラベル割り当て
成功メッセージを受信すると、上流隣接ノードにラベル
割り当て成功メッセージを返し、少なくとも1つの枝の
下流隣接ノードからラベル割り当て失敗メッセージを受
信すると、上流隣接ノードにラベル割り当て失敗メッセ
ージを返す(すべての枝に対してエンド−エンドでラベ
ルスイッチングパスが形成できるならば送信者から全て
のマルチキャスト受信者までのラベルスイッチングパス
を設定)。 (2)常に上流隣接ノードにラベル割り当て成功メッセ
ージを返す(下流がどうあれ、送信者から自ノードまで
のラベルスイッチングパスは設定)。 (3)少なくとも1つの枝の下流隣接ノードからラベル
割り当て成功メッセージを受信すると、上流隣接ノード
にラベル割り当て成功メッセージを返し、すべての枝の
下流隣接ノードからラベル割り当て失敗メッセージを受
信すると、上流隣接ノードにラベル割り当て失敗メッセ
ージを返す(ある枝に対してエンド−エンドでラベルス
イッチングパスが形成できるならば送信者からその受信
者までのラベルスイッチングパスは設定)。
【0287】次に、マルチキャストの場合のラベルスイ
ッチングパス解放時の動作について述べる。
【0288】まず、ラベルスイッチングパスの解放を起
動するノードは、自ノードのマルチキャストの各々の出
力の枝に対してラベル解放メッセージを送信する。
【0289】ホップカウントを用いる場合には、ラベル
解放メッセージを受信したノードは、図23のフローチ
ャートにしたがって、ユニキャストの場合と同様に動作
する。ただし、図23のステップS126が、「Edの
確定フラグオフ&自ノードのマルチキャストの各々の出
力の枝に対してラベル解放メッセージを送信する」に書
き換わる。また、この場合には、ステップS117でN
o分岐に入ることはない。
【0290】ホップカウントを用いない場合には、ラベ
ル解放メッセージを受信したノードは、図24のフロー
チャートにしたがって、ユニキャストの場合と同様に動
作する。ただし、図24のステップS126が、「Ed
の確定フラグオフ&自ノードのマルチキャストの各々の
出力の枝に対してラベル解放メッセージを送信する」に
書き換わる。また、この場合には、ステップS117で
No分岐に入ることはない。
【0291】また、自ノードのマルチキャストのすべて
の枝の下流隣接ノードからラベル解放成功メッセージを
受信したノードは、フローテーブルエントリを削除す
る。
【0292】以上の実施形態では、ラベル割り当てメッ
セージが初段ノードから後段ノードの方向に送信され、
ラベル割り当て成功/失敗メッセージが終段ノードから
前段ノードの方向に送信される場合(Ingress
Control)を示したが、本発明は、ラベル割り当
てメッセージが終段ノードから前段ノードの方向に送信
され、ラベル割り当て成功/失敗メッセージが初段ノー
ドから後段ノードの方向に送信される場合(Egres
s Control)にも、適用可能である。
【0293】なお、Ingress Control方
式の第1、第2の実施形態等で、ループ検出のための更
新メッセージをパスの向きと逆方向に流してもループ検
出は可能である。
【0294】この場合には、ラベル割り当てメッセージ
受信を契機として更新メッセージを送信することになっ
ているノードは、下流側隣接ノードに更新メッセージを
送信する代わりに、ラベル割り当てメッセージを送信し
たノードに対して「照会メッセージ」を送信するととも
に、確定フラグをオフにする。
【0295】照会メッセージを受信したノードは、入力
側ラベルが存在する上流側隣接ノードのそれぞれに更新
メッセージを送信し、確定フラグをオフにする。更新メ
ッセージは、入力側ラベルが存在する上流隣接ノードに
次々にフォワードされ、確定フラグがオフであるノード
が更新メッセージを受信した場合には、ループであると
判断し、更新失敗メッセージを返す。そうでなく、初段
ノードが更新メッセージを受信したときに確定フラグが
オンである場合には、更新成功メッセージを返す。少な
くとも一つの上流隣接ノードから更新失敗メッセージを
受信した場合には、下流隣接ノードに更新失敗メッセー
ジを返し、そうでない場合には、更新成功メッセージを
返す。いずれの場合も確定フラグをオンにする。
【0296】更新メッセージを最初に送信したノードが
更新失敗メッセージを受信すると、照会失敗メッセージ
を下流隣接ノードに送信し、更新成功メッセージを受信
すると照会成功メッセージを下流隣接ノードに送信す
る。いずれの場合も確定フラグをオンにする。照会成功
メッセージを受信したノードは、ラベルスイッチングが
可能となり、照会失敗メッセージを受信したノードは、
入力側ラベルを削除する。いずれの場合にも確定フラグ
をオンにする。
【0297】例えば、図5において、ノード装置R5が
ノード装置R2にラベル割り当てメッセージを送信した
場合には、ノード装置R2は、ノード装置R5に照会メ
ッセージを送信し、確定フラグをオフにする。ノード装
置R5は、ノード装置R2から照会メッセージを受信す
ると、ノード装置R4に更新メッセージを送信し、確定
フラグをオフにする。更新メッセージは、ノード装置R
4からノード装置R3、ノード装置R3からノード装置
R2とR8、ノード装置R8からノード装置R7、ノー
ド装置R7からノード装置R6へとフォワードされる。
ノード装置R2が更新メッセージを受信すると、確定フ
ラグがすでにオフであるため、ループであると判断し、
更新失敗メッセージをノード装置R3に返す。ノード装
置R6は、更新成功メッセージを送信し、これはノード
装置R3までフォワードされる。ノード装置R3は、ノ
ード装置R4に対して更新失敗メッセージを送信し、こ
れはノード装置R5までフォワードされる。ノード装置
R5は、更新失敗メッセージを受信すると、ノード装置
R2に照会失敗メッセージを返し、ノード装置R2とノ
ード装置R5との間ではラベルスイッチングは行なわれ
ない。
【0298】照会メッセージ、照会成功メッセージは図
11で示した例と同じで、照会失敗メッセージは、図1
2で示した例と同じである。ただし、これらのメッセー
ジにはラベルの値を指定する。
【0299】なお、これまでの説明では、一旦、ラベル
が割り当てられたパスに対しては、ラベル割り当てメッ
セージは送信しないようなハードステート型のプロトコ
ルを前提にしていたが、本発明は、いったんラベルが割
り当てられたパスに対しても、定期的にラベル割り当て
メッセージを送信するようなソフトステート型のプロト
コルに関しても有効である。ソフトステート型の場合に
は、一定期間ラベル割り当てメッセージを受信しない場
合にはラベルが解放される。
【0300】さて、これまでは、初段ノード主導でラベ
ルスイッチングパスを生成する場合のループ検出方法に
ついて説明してきたが、次に、終段ノード主導でラベル
スイッチングパスを設定する場合のループ検出方法につ
いて説明する。
【0301】終段ノード主導でラベルスイッチングパス
を設定する方法は、基本的に、文献「N.Feldma
n and A.Viswanathan,“ARIS
Specification”,Internet
Draft (work in progress),
draft−feldman−aris−spec−0
0.txt,Mar.,1997」にある方法を使用す
るが、ループ検出の方法が上記文献とは異なり、パス上
のノードのリストであるパスベクトルを使用しないた
め、パスベクトルを使用する場合に比べ、メッセージ長
を短くできる。
【0302】以下の説明において、ノード装置に関連す
る基本的な事項は、例えば、ノード装置がIP(Int
ernet Protocol)処理を行なう機能を持
つとともに本実施形態に係るラベル割り当てプロトコル
に従ってラベルスイッチングを行なう機能を持つ点、初
段ノード情報、フローID、リンクID、インタフェー
スID、入力側ラベル、出力側ラベルなどの語句もしく
はその定義に関する点などについては、第1の実施形態
や第2の実施形態などで説明したものと基本的には同様
である。
【0303】なお、ノード装置がラベル割当てメッセー
ジを終段として送信する契機には、例えば、次のような
形態がある。 (1)終段として登録された各々のノード装置が起動し
た時を契機に、ラベル割当てメッセージを送信する。 (2)終段として登録された各々のノード装置において
フロー(終段として登録されたノードを通過するパケッ
ト流)の通過トラヒック量がしきい値を越えた場合を契
機に、ラベル割当てメッセージを送信する。 (3)フロー(終段として登録されたノードを通過する
パケット流)に対するトラヒック量がしきい値を越え、
かつ、フローの次ホップノードが本実施形態に係るラベ
ル割り当てプロトコルをサポートしない、という条件を
満たすノードのみが、これを契機に自ノードを終段と判
断してラベル割当てメッセージを送信する。
【0304】終段として登録されるノードの一例とし
て、OSPFのエリアボーダールータやドメイン境界ル
ータ、隣接BGPルータなどがある。
【0305】なお、上記の(3)の場合には、終段とし
て登録されたノードと実際のラベルスイッチングパスの
終段となるノードは異なる。
【0306】さて、ラベルスイッチングパスを終段ノー
ド主導で生成する場合(Egress contro
l)には、終段ノードから、すべての上流隣接ノードに
対してラベル割り当てのための手順を起動し、終段以外
の各ノードはフローの次ホップノードからラベル割り当
てのための手順が起動されると、さらに上流隣接ノード
(次ホップ以外の隣接ノード)に対してラベル割り当て
のための手順を起動する。最終的に初段ノードでラベル
割り当てのための手順が起動されると、初段ノードから
終段ノードまでのラベルスイッチングパスができる。こ
れを初期生成手順と呼ぶ。このとき、ラベルスイッチン
グパスは、初段ノードを葉、終段ノードを根とするツリ
ー状になる。
【0307】なお、初期生成手順中にラベル割り当ての
ための手順を実行中のノードで経路変更が起こらない場
合には、パスの出口から順にパスを作ってゆくため、上
記手順によりループができないことが保証される(パス
の出口の存在が保証されるため)。
【0308】ただし、経路変更などにより、存在する出
力側のラベル割り当てを解放して、新たな次ホップノー
ドとの間でラベル割り当てを行う場合、すなわち、入力
側のラベルが存在する場合に新たに出力側のラベルを割
り当てる場合には、もし、新たな次ホップノードの下流
に自ノードが位置する場合にはループができてしまうた
め、新たな次ホップノードとの間でラベル割り当てを行
う前に、その次ホップノードの下流に自ノードが位置し
ないことを確認する必要がある。
【0309】このため、あるノードで入力側のラベルが
存在する場合に出力側ラベルを新たに割り当てる場合に
は、確定フラグをオフにしながらループ検出のためのメ
ッセージを下流ノードに流し、確定フラグがオフである
場合にこのメッセージを上流ノードから受信した場合に
はループがあると判断される。そうでなく、このメッセ
ージが終段ノードまで到達すると、ループがないと判断
される。初段ノード情報と、初段ノードからのホップカ
ウントをループ検出に用いる場合には、ループ検出のた
めのメッセージが、ループ上を1周する前にループ検出
することが可能である。
【0310】ループ検出のためのメッセージには、更新
メッセージが使用される。更新メッセージはループ検出
のためだけではなく、パスの状態が変わったことを下流
ノードに通知するためにも使用される。
【0311】本実施形態では、ホップカウントとして、
終段ノードからのホップ数を用いる場合を示すが、ホッ
プカウントは省略可能である。ここでの例は、すべてあ
るFlowid=Egress[R1](R1を終段ノ
ードとするパケットストリーム)のフローに関する動作
であるとする。
【0312】なお、本実施形態では、フローを識別する
ために使うノードのアドレス(Flowid=Egre
ss[R1]という表記におけるR1)と、実際のラベ
ルスイッチングパスの終段となっているノードは一致す
るが、一般にフローを識別するために使うノードのアド
レス、実際のラベルスイッチングパスの終段ノードは一
致していなくてもよい。例えば、図25において、ノー
ドR1の次ホップノードとして、終段として登録された
ノードR0が存在してもよく、このとき、Flowid
=Egress[R0]となるが、実際のラベルスイッ
チングパスの終段ノードはR1になる。
【0313】以下、終段ノード主導でラベルスイッチン
グパスを設定する場合のいくつかの例について説明す
る。
【0314】(第4の実施形態)最初に、初段ノード情
報を使わない方法について説明する。簡単のために、す
べてのノードはラベルのマージが可能であるとする。ラ
ベルのマージを行なわない場合については後述する。ま
た、各ノードは下流側主導のラベル割り当て(Down
streamラベル割り当て)を行なうものとするが、
上流側主導のラベル割り当て(Upstreamラベル
割り当て)も可能である。
【0315】まず、すべてのノードは確定フラグをオン
に初期化する。
【0316】終段ノードは、ホップカウント=1が指定
されたラベル割り当てメッセージをフローのすべての上
流隣接ノード(次ホップ以外の隣接ノード)に送信す
る。
【0317】終段以外のノードは、そのフローに対する
出力側ラベルが設定されると、終段ノードからのホップ
カウントを1だけインクリメントした値をホップカウン
トに指定したラベル割り当てメッセージをフローのすべ
ての上流隣接ノード(次ホップ以外の隣接ノード)に送
信する。入力側ラベルが存在しない上流隣接ノードに対
しては、ラベル割り当てメッセージが定期的に送信され
る。
【0318】ラベル割り当てメッセージを受信したノー
ド(Uとする)は、メッセージの送信ノード(Dとす
る)がそのフローに対する次ホップノードでない、また
は、受信ホップカウントがしきい値を越える、または、
確定フラグがオフである、または、終段ノードであれ
ば、ラベル割り当て失敗メッセージを返す。そうでな
く、もし、入力側ラベルが存在するのに出力側ラベルが
存在しないならば、確定フラグをオフにして、「照会メ
ッセージ」をノードDに送信する。そうでなければ、ノ
ードDにラベル割り当て成功メッセージを送信する。こ
のとき、出力側ラベルが存在しなければ、出力側ラベル
の割り当てを行ない、メッセージ中のホップカウントを
終段ノードからのホップカウントとして記憶する。
【0319】上流隣接ノードからラベル割り当て成功メ
ッセージを受信したノードは、終段ノードでなければ、
以降、入力側ラベルと出力側ラベルとの間でラベルスイ
ッチングが可能となる。
【0320】ラベル割り当て失敗メッセージを受信した
ノードは、入力側ラベルの登録をやめる。
【0321】パス上のノード(Uとする)で経路変更、
または経路の削除が起こった場合には、ノードUは、古
い経路の次ホップノード(Doldとする)に対して、
ラベル解放メッセージを送信するとともに、確定フラグ
をオフにする。
【0322】ラベル解放メッセージを受信したノードD
oldは、ノードUに対してラベル解放成功メッセージ
を送信し、ラベルを解放する。
【0323】ラベル解放成功メッセージを受信したノー
ドUは、確定フラグをオンにし、新しい経路に対する次
ホップノードDnewが存在すれば、ノードDnewに
対し、ラベル割り当てトリガメッセージを送信する。ラ
ベル割り当てトリガメッセージは、ノードDnewから
ラベル割り当てメッセージを受信するまで定期的に再送
される。
【0324】ラベル割り当てトリガメッセージを受信し
たノードDnewは、確定フラグがオンであり、かつ、
自身が終段ノードであるかまたは出力側ラベルが存在す
るならば、ノードUに対して終段ノードから自ノードま
でのホップカウントを1だけインクリメントした値をホ
ップカウントに指定したラベル割り当てメッセージを返
す。
【0325】ノードUから照会メッセージを受信したノ
ードDは、確定フラグがオフであれば、ノードUに照会
失敗メッセージを返し、入力側ラベルの登録を行なわな
い。そうでなく、もし、出力側ラベルが存在すれば、下
流隣接ノードに更新メッセージを送信し、確定フラグを
オフにする。そうでなければ、ノードUに照会成功メッ
セージを送信する。
【0326】上流隣接ノードから更新メッセージを受信
したノードは、確定フラグがオフであれば、更新失敗メ
ッセージを返す。そうでなく、もし、出力側ラベルが存
在すれば、下流隣接ノードに更新メッセージを送信し、
確定フラグをオフにする。そうでなければ、更新成功メ
ッセージを返す。
【0327】下流隣接ノードから更新成功メッセージを
受信したノードは、確定フラグをオンにし、更新メッセ
ージを送信した上流隣接ノードに対しては、更新成功メ
ッセージを返し、照会メッセージを送信した上流隣接ノ
ードに対しては、照会成功メッセージを送信する。
【0328】下流隣接ノードから更新失敗メッセージを
受信したノードは、確定フラグをオンにし、更新メッセ
ージを送信した上流隣接ノードに対しては、更新失敗メ
ッセージを返し、照会メッセージを送信した上流隣接ノ
ードに対しては、照会失敗メッセージを送信する。
【0329】ノードDから照会成功メッセージを受信し
たノードUは、出力側ラベルを登録し、確定フラグをオ
ンにする。以降、入力側ラベルと出力側ラベルとの間で
ラベルスイッチングが可能となる。
【0330】ノードDから照会失敗メッセージを受信し
たノードUは、確定フラグをオンにする。以降、入力側
ラベルと出力側ラベルとの間でラベルスイッチングは行
なわれない。
【0331】次に、図25を参照しながら、ラベルスイ
ッチングパス生成時の動作例を説明する。図25におい
て、R1は終段ノードとする。また、R2、R3、R
4、R5、R6の次ホップノードは、それぞれ、R1、
R2、R3、R2、R2とする。
【0332】ノード装置R1は、ノード装置R2に対し
て(Flowid=Egress[R1]、Label
=a、Hopcount=1)のラベル割り当てメッセ
ージm1を送信する。
【0333】ノード装置R2は、ノード装置R1からラ
ベル割り当てメッセージm1を受信すると、ノード装置
R1はこのフローの次ホップノードであり、確定フラグ
はオンであるため、Label=aを記憶し、ノード装
置R1にラベル割り当て成功メッセージを返す。次に、
ノード装置R2は、次ホップノード以外の隣接ノードで
あるノード装置R5、R3、R6に対して、(Flow
id=Egress[R1]、Label=b、Hop
count=2)、(Flowid=Egress[R
1]、Label=c、Hopcount=2)、(F
lowid=Egress[R1]、Label=d、
Hopcount=2)のラベル割り当てメッセージm
2、m3、m4をそれぞれ送信する。
【0334】ノード装置R5は、ノード装置R2からラ
ベル割り当てメッセージm2を受信すると、ノード装置
R2はこのフローの次ホップノードであり、確定フラグ
はオンであるため、Label=bを記憶し、ノード装
置R2にラベル割り当て成功メッセージを送信する。次
に、ノード装置R5は、次ホップノード以外の隣接ノー
ドR4に対して、(Flowid=Egress[R
1]、Label=g、Hopcount=3)のラベ
ル割り当てメッセージm7を送信する。
【0335】ノード装置R3は、ノード装置R2からラ
ベル割り当てメッセージm3を受信すると、ノード装置
R2はこのフローの次ホップノードであり、確定フラグ
はオンであるため、Label=cを記憶し、ノード装
置R2にラベル割り当て成功メッセージを送信する。次
に、ノード装置R3は、次ホップノード以外の隣接ノー
ドR4に対して、(Flowid=Egress[R
1]、Label=e、Hopcount=3)のラベ
ル割り当てメッセージm5を送信する。
【0336】ノード装置R6は、ノード装置R2からラ
ベル割り当てメッセージm4を受信すると、ノード装置
R2はこのフローの次ホップノードであり、確定フラグ
はオンであるため、Label=dを記憶し、ノード装
置R2にラベル割り当て成功メッセージを送信する。
【0337】ノード装置R4は、ノード装置R3からラ
ベル割り当てメッセージm5を受信すると、ノード装置
R3はこのフローの次ホップノードであり、確定フラグ
はオンであるため、Label=eを記憶し、ノード装
置R3にラベル割り当て成功メッセージを送信する。次
に、ノード装置R4は、次ホップノード以外の隣接ノー
ドR5に対して、(Flowid=Egress[R
1]、Label=f、Hopcount=4)のラベ
ル割り当てメッセージm6を送信する。
【0338】ノード装置R4は、ノード装置R5からラ
ベル割り当てメッセージm7を受信すると、ノード装置
R5はこのフローの次ホップノードでないため、ノード
装置R5に対してラベル割り当て失敗メッセージを返
す。
【0339】ノード装置R5は、ノード装置R4からラ
ベル割り当てメッセージm6を受信すると、ノード装置
R4はこのフローの次ホップノードでないため、ノード
装置R4に対してラベル割り当て失敗メッセージを返
す。
【0340】ノード装置R3は、ノード装置R4からラ
ベル割り当て成功メッセージを受信すると、入力側ラベ
ルLabel=eを登録し、以降、入力側ラベルLab
el=eと出力側ラベルLabel=cの間のスイッチ
ングが可能になる。
【0341】ノード装置R2は、ノード装置R5、R
3、およびR6からラベル割り当て成功メッセージを受
信すると、それぞれ、入力側ラベルLabel=b,L
abel=c,Label=dを登録し、以降、これら
の入力側ラベルと出力側ラベルLabel=aの間のス
イッチングが可能になる。
【0342】ノード装置R1は、ノード装置R2からラ
ベル割り当て成功メッセージを受信すると、入力側ラベ
ルLabel=aを登録する。
【0343】この結果、図26のようなマージされたラ
ベルスイッチングパスができる。
【0344】次に、経路変更時の動作例を示す。図26
において、ノードR5において、経路変更が起こり、F
lowid=Egress[R1]に対する次ホップノ
ードがR2からR4に変わったとする。
【0345】このとき、経路変更に伴って図27に示す
ようなパケットのやりとりが行なわれる。図27におい
て、RELはラベル解放メッセージ、REL_ACKは
ラベル解放成功メッセージ、TRGはラベル割り当てト
リガメッセージ、SETUPはラベル割り当てメッセー
ジ、SETUP_ACKはラベル割り当て成功メッセー
ジである。
【0346】まず、ノード装置R5は、経路変更前の次
ホップノードR2に対してラベル解放メッセージを送信
するとともに、確定フラグをオフにする。
【0347】ノード装置R2は、ノード装置R5からラ
ベル解放メッセージを受信すると、ノード装置R5との
間のラベル割り当てを解放し、ラベル解放成功メッセー
ジをノード装置R5に返す。
【0348】ノード装置R5は、ノード装置R2からラ
ベル解放成功メッセージを受信すると、確定フラグをオ
ンにし、新しい経路上の次ホップノードR4に対してラ
ベル割り当てトリガメッセージを送信する。
【0349】ノード装置R4は、ノード装置R5からラ
ベル割り当てトリガメッセージを受信すると、ノード装
置R5に対し、ラベル割り当てメッセージを返す。
【0350】ノード装置R5は、ノード装置R4からラ
ベル割り当てメッセージを受信すると、ノード装置R4
はこのフローの次ホップノードであり、受信ホップカウ
ントがしきい値を越えず、確定フラグがオンであり、か
つ、終段ノードでなく、かつ、入力側ラベルが存在しな
いため、ノード装置R4との間に出力側ラベルを割り当
て、ノード装置R4にラベル割り当て成功メッセージを
送信する。
【0351】ノード装置R4は、ノード装置R5からラ
ベル割り当て成功メッセージを受信すると、ラベル割り
当て成功メッセージの応答待ちの状態を解除し、確定フ
ラグをオンにする。以降、ノード装置R4ではラベルス
イッチングが可能となる。
【0352】この結果、図28のようなラベルスイッチ
ングパスができる。
【0353】次に、図28の状態から、さらに経路変更
が起こり、ノードR2の次ホップノードがR1からR5
に変わったとする。このとき、Flowid=Egre
ss[R1]に対しては、R2→R5→R4→R3→R
2というループした経路となっている。
【0354】このとき、経路変更に伴って図29に示す
ようなパケットのやりとりが行なわれる。図29におい
て、RELはラベル解放メッセージ、REL_ACKは
ラベル解放成功メッセージ、TRGはラベル割り当てト
リガメッセージ、SETUPはラベル割り当てメッセー
ジ、QRYは照会メッセージ、UPD_NACKは更新
失敗メッセージ、QRY_NACKは照会成功メッセー
ジである。
【0355】まず、ノード装置R2は、経路変更前の次
ホップノードR1に対してラベル解放メッセージを送信
するとともに、確定フラグをオフにする。
【0356】ノード装置R1は、ノード装置R2からラ
ベル解放メッセージを受信すると、ノード装置R2との
間のラベル割り当てを解放し、ラベル解放成功メッセー
ジをノード装置R2に返す。
【0357】ノード装置R2は、ノード装置R1からラ
ベル解放成功メッセージを受信すると、確定フラグをオ
ンにし、新しい経路上の次ホップノードR5に対してラ
ベル割り当てトリガメッセージを送信する。
【0358】ノード装置R5は、ノード装置R2からラ
ベル割り当てトリガメッセージを受信すると、ノード装
置R2に対し、ラベル割り当てメッセージを返す。
【0359】ノード装置R2は、ノード装置R5からラ
ベル割り当てメッセージを受信すると、ノード装置R5
はこのフローに対する次ホップノードであり、受信ホッ
プカウントがしきい値を越えず、確定フラグがオンであ
り、かつ、終段ノードでないが、入力側ラベルが存在す
るのに出力側ラベルが存在しないため、ノード装置R5
に照会メッセージを送信し、確定フラグをオフにする。
【0360】ノード装置R2から照会メッセージを受信
したノード装置R5は、確定フラグをオフにし、出力側
ラベルが存在する隣接ノードR4に更新メッセージを送
信する。
【0361】ノード装置R5から更新メッセージを受信
したノード装置R4は、確定フラグをオフにし、出力側
ラベルが存在する隣接ノードR3に更新メッセージを送
信する。
【0362】ノード装置R4から更新メッセージを受信
したノード装置R3は、ノード装置R2に更新メッセー
ジを送信する。
【0363】ノード装置R3から更新メッセージを受信
したノード装置R2は、確定フラグがオフであるため、
ノード装置R3に更新失敗メッセージを返す。
【0364】ノード装置R2から更新失敗メッセージを
受信したノード装置R3は、ノード装置R4に更新失敗
メッセージを返し、確定フラグをオンにする。
【0365】ノード装置R3から更新失敗メッセージを
受信したノード装置R4は、ノード装置R5に更新失敗
メッセージを返し、確定フラグをオンにする。
【0366】ノード装置R4から更新失敗メッセージを
受信したノード装置R5は、ノード装置R2に照会失敗
メッセージを返し、確定フラグをオンにする。
【0367】ノード装置R5から照会失敗メッセージを
受信したノード装置R2は、ノード装置R5にラベル割
り当て失敗メッセージを返すとともに、確定フラグをオ
ンにする。
【0368】ノード装置R2からラベル割り当て失敗メ
ッセージを受信したノード装置R5は、ノード装置R2
との間の入力側ラベルを解放する。
【0369】この結果、経路がループしているにもかか
わらず、図30のようなループのないラベルスイッチン
グパスができる。
【0370】次に、図31に、ラベル割り当てメッセー
ジを受信したノードの処理手順を表したフローチャート
を示す。
【0371】受信メッセージ中のフロー識別子をFとす
る(ステップS301)。
【0372】まず、Fで識別されるパケットフローの次
ホップノードがラベル割り当てメッセージの送信ノード
と異なるか、受信ホップカウントがしきい値を越えてい
るか、自身が終段ノードであれば、ラベル割り当てメッ
セージの送信ノードにラベル割り当て失敗メッセージを
返す(ステップS302,S303,S304,S30
5)。
【0373】そうでなく、もし、フロー識別子=Fで、
かつ、出力側ラベルが割り当てられているようなフロー
テーブルエントリが存在する場合には、確定フラグがオ
フであれば、ラベル割り当てメッセージの送信ノードに
ラベル割り当て失敗メッセージを返し(ステップS30
6,S307,S305)、オンであれば、ラベル割り
当てメッセージの送信ノードにラベル割り当て成功メッ
セージを返す(ステップS306,S307,S30
9)。
【0374】そうでなく、もし、フロー識別子=Fで、
かつ、入力側ラベルが割り当てられているようなフロー
テーブルエントリが存在する場合には、フロー識別子=
Fで、かつ、入力側ラベルが割り当てられているような
フローテーブルエントリのそれぞれに対し、出力側ラベ
ルを割り当て、照会メッセージを送信し、確定フラグを
オフにする(ステップS306,S308,S31
0)。もし、フロー識別子=Fで、かつ、入力側ラベル
が割り当てられているようなフローテーブルエントリが
存在するものでない場合には、ラベル割り当てメッセー
ジの送信ノードにラベル割り当て成功メッセージを返す
(ステップS306,S308,S309)。
【0375】(第5の実施形態)次に、Egress
Controlの場合に、確定フラグに加え、初段ノー
ド情報と初段ノードからのホップカウントを用いてルー
プ検出する場合の例を示す。
【0376】まず、すべてのノードは確定フラグをオン
に初期化する。
【0377】終段ノードは、ホップカウント=1が指定
されたラベル割り当てメッセージをフローのすべての上
流隣接ノード(次ホップ以外の隣接ノード)に送信す
る。
【0378】終段以外のノードは、そのフローに対する
出力側ラベルが設定されると、終段ノードからのホップ
カウントを1だけインクリメントした値をホップカウン
トに指定したラベル割り当てメッセージをフローのすべ
ての上流隣接ノード(次ホップ以外の隣接ノード)に送
信する。入力側ラベルが存在しない上流隣接ノードに対
しては、ラベル割り当てメッセージが定期的に送信され
る。
【0379】ラベル割り当てメッセージを受信したノー
ド(Uとする)は、メッセージの送信ノード(Dとす
る)がそのフローに対する次ホップノードでない、また
は、受信ホップカウントがしきい値を越える、または、
確定フラグがオフである、または、終段ノードであれ
ば、ラベル割り当て失敗メッセージを返す。そうでな
く、もし、入力側ラベルが存在するのに出力側ラベルが
存在しないならば、確定フラグをオフにして、ノードU
が持つ初段ノード情報、初段ノードからのホップカウン
トを1だけインクリメントしたホップカウントを含む
「照会メッセージ」をノードDに対して送信する。そう
でなければ、ノードDにラベル割り当て成功メッセージ
送信する。このとき、出力側ラベルが存在しなければ、
出力側ラベルの割り当てを行ない、メッセージ中のホッ
プカウントを終段ノードからのホップカウントとして記
憶する。ただし、初段ノードがラベル割り当て成功メッ
セージを送信する場合には、自ノードのルータIDまた
は出力インタフェースのネットワークアドレスを初段ノ
ードアドレス、新たに割り当てた初段ノードローカルI
Dを初段ノードとし、ホップカウント=1を指定する
(初段ノード情報の発信)。初段ノードでない場合に
は、どちらも指定しない。
【0380】上流隣接ノードからラベル割り当て成功メ
ッセージを受信したノードは、終段ノードでなければ、
以降、入力側ラベルと出力側ラベルとの間でラベルスイ
ッチングが可能となる。受信メッセージに初段ノード情
報とホップカウントが指定されていれば、それらを入力
側ラベルと対応付けるとともに、もし、受信したホップ
カウントが現在の全入力側ラベルに対応するホップカウ
ントよりも大きく、かつ、自身が終段ノードでなけれ
ば、次ホップノードに受信した初段ノード情報、および
受信ホップカウントを1だけインクリメントしたホップ
カウントを含む更新メッセージを送信し、確定フラグを
オフにする(初段ノード情報のフォワード)。
【0381】ラベル割り当て失敗メッセージを受信した
ノードは、入力側ラベルの登録をやめる。
【0382】パス上のノード(Uとする)で経路変更、
または経路の削除が起こった場合には、ノードUは、古
い経路の次ホップノード(Doldとする)に対して、
ラベル解放メッセージを送信するとともに、確定フラグ
をオフにする。
【0383】ラベル解放メッセージを受信したノードD
oldは、確定フラグがオフであれば、ラベル解放失敗
メッセージを返す。確定フラグがオンであれば、ノード
Uに対してラベル解放成功メッセージを送信し、ラベル
を解放する。さらに、ラベル解放後、最大のホップカウ
ントを持つ初段ノードが変わった場合には、確定フラグ
をオフにするとともに、変更後の(初段ノード情報、ホ
ップカウント)を指定した更新メッセージを下流ノード
に送信する。
【0384】ラベル解放成功メッセージを受信したノー
ドUは、確定フラグをオンにし、新しい経路上の下流ノ
ードDnewが存在すれば、ノードDnewにラベル割
り当てトリガメッセージを送信する。ラベル割り当てト
リガメッセージは、ノードDnewからラベル割り当て
メッセージを受信するまで定期的に再送される。
【0385】ラベル割り当てトリガメッセージを受信し
たノードDnewは、確定フラグがオンであり、かつ、
自身が終段ノードであるかまたは出力側ラベルが存在す
るならば、ノードUに対して終段ノードから自ノードま
でのホップカウントを1だけインクリメントした値をホ
ップカウントに指定したラベル割り当てメッセージを返
す。
【0386】ノードUから照会メッセージを受信したノ
ードDは、受信した初段ノード情報がすでに他の入力側
ラベルと対応しているか、または、ノードDが受信した
初段ノード情報に関する初段ノードであるか、または、
まだ初段ノード情報が設定されていない入力側ラベルが
存在するか、または、確定フラグがオフであれば、ノー
ドUに照会失敗メッセージを返し、入力側ラベルの登録
を行なわない。そうでなく、もし、受信したホップカウ
ントが現在の全入力側ラベルに対応するホップカウント
よりも大きく、かつ、終段ノードでなければ、下流隣接
ノードに受信した初段ノード情報、および受信ホップカ
ウントを1だけインクリメントしたホップカウントを含
む更新メッセージを送信し、確定フラグをオフにする。
そうでなければ、ノードUに照会成功メッセージを送信
する。
【0387】上流隣接ノードから更新メッセージを受信
したノードは、受信した初段ノード情報がすでに他の入
力側ラベルと対応しているか、または、まだ初段ノード
情報が設定されていない入力側ラベルが存在するか、ま
たは、確定フラグがオフであれば、更新失敗メッセージ
を返す。そうでなく、もし、受信したホップカウントが
現在の全入力側ラベルに対応するホップカウントよりも
大きく、かつ、終段ノードでなければ、下流隣接ノード
に受信した初段ノード情報、および受信ホップカウント
を1だけインクリメントしたホップカウントを含む更新
メッセージを送信し、確定フラグをオフにする。そうで
なければ、更新成功メッセージを返し、初段ノード情
報、およびホップカウントの更新を行なう。
【0388】下流隣接ノードから更新成功メッセージを
受信したノードは、確定フラグをオンにし、初段ノード
情報、およびホップカウントの更新を確定する。次に、
更新メッセージの応答待ちの上流隣接ノードがあれば更
新成功メッセージを返し、照会メッセージを送信した上
流隣接ノードがあれば照会成功メッセージを返す。
【0389】下流隣接ノードから更新失敗メッセージを
受信したノードは、確定フラグをオンにし、初段ノード
情報、およびホップカウントの更新をやめる。次に、更
新メッセージの応答待ちの上流隣接ノードがあれば更新
失敗メッセージを返し、照会メッセージを送信した上流
隣接ノードがあれば照会失メッセージを返す。
【0390】ノードDから照会成功メッセージを受信し
たノードUは、出力側ラベルを登録し、確定フラグをオ
ンにする。以降、入力側ラベルと出力側ラベルとの間で
ラベルスイッチングが可能となる。
【0391】ノードDから照会失敗メッセージを受信し
たノードUは、確定フラグをオンにする。以降、入力側
ラベルと出力側ラベルとの間でラベルスイッチングは行
なわれない。
【0392】次に、ラベルスイッチングパス生成時の動
作例を示す。ここでは、初段ノード情報として、ノード
のルータIDを使用するものとする。
【0393】図32において、R1は終段ノードとす
る。また、R2、R3、R4、R5、R6、R7、R8
の次ホップノードは、それぞれ、R1、R2、R3、R
2、R3、R6、R7とする。図32は、まず、Egr
ess Controlの第4の実施形態と同様の初期
生成手順を経た後のパスの状態を表す。
【0394】なお、初段ノードR5、R4、R8は、初
段ノード情報とホップカウントをラベル割り当て成功メ
ッセージに指定し、各ノードでは、上流隣接ノードから
受信したラベル割り当て成功メッセージの中で最大のホ
ップカウントを与える初段ノード情報とそれに対するホ
ップカウントを1だけインクリメントしたホップカウン
トを指定したラベル割り当て成功メッセージを下流隣接
ノードにフォワードする。この結果、R5、R4、R
8、R7、R6、R3、R2が下流隣接ノードに通知す
る(初段ノード情報、ホップカウント)は、それぞれ、
(R5,1)、(R4,1)、(R8,1)、(R8,
2)、(R8,3)、(R8,4)、(R8,5)とな
る。
【0395】次に、経路変更時の動作例を示す。図32
において、ノードR5において、経路変更が起こり、F
lowid=Egress[R1]に対する次ホップノ
ードがR2からR4に変わったとする。
【0396】このとき、経路変更に伴って図33に示す
ようなパケットのやりとりが行なわれる。図33におい
て、RELはラベル解放メッセージ、REL_ACKは
ラベル解放成功メッセージ、TRGはラベル割り当てト
リガメッセージ、SETUPはラベル割り当てメッセー
ジ、UPDは更新メッセージ、UPD_ACKは更新成
功メッセージ、SETUP_ACKはラベル割り当て成
功メッセージである。
【0397】まず、ノード装置R5は、経路変更前の次
ホップノードR2に対してラベル解放メッセージを送信
するとともに、確定フラグをオフにする。
【0398】ノード装置R2は、ノード装置R5からラ
ベル解放メッセージを受信すると、ノード装置R5との
間のラベル割り当てを解放し、ラベル解放成功メッセー
ジをノード装置R5に返す。
【0399】ノード装置R5は、ノード装置R2からラ
ベル解放成功メッセージを受信すると、確定フラグをオ
ンにし、新しい経路上の次ホップノードR4に対してラ
ベル割り当てトリガメッセージを送信する。
【0400】ノード装置R4は、ノード装置R5からラ
ベル割り当てトリガメッセージを受信すると、ノード装
置R5に対し、ラベル割り当てメッセージを返す。
【0401】ノード装置R5は、ノード装置R4からラ
ベル割り当てメッセージを受信すると、ノード装置R4
はそのフローに対する次ホップノードであり、かつ、受
信ホップカウントがしきい値以下であり、かつ、確定フ
ラグがオンであり、かつ、終段ノードでなく、かつ、入
力側ラベルが存在しないため、ノード装置R4にラベル
割り当て成功メッセージを送信する。ラベル割り当て成
功メッセージには、(初段ノード情報、ホップカウン
ト)=(R5、1)を指定する。
【0402】ノード装置R4は、ノード装置R5からラ
ベル割り当て成功メッセージを受信すると、(初段ノー
ド情報、ホップカウント)=(R5、2)を指定した更
新メッセージを次ホップノードR3に送信し、確定フラ
グをオフにする。
【0403】ノード装置R3は、ノード装置R4から更
新メッセージを受信すると、最大のホップカウントを与
える初段ノードはR8であるため、受信した(初段ノー
ド情報、ホップカウント)=(R5、2)を入力側ラベ
ルLabel=dと対応付けるとともに、ノード装置R
4に更新成功メッセージを返す。
【0404】ノード装置R4は、ノード装置R3から更
新成功メッセージを受信すると、確定フラグをオンに
し、以降、入力側ラベルと出力側ラベルとの間でラベル
スイッチングが可能となる。
【0405】この結果、図34のようなラベルスイッチ
ングパスができる。
【0406】次に、図34の状態から、さらに経路変更
が起こり、ノードR2の次ホップノードがR1からR5
に変わったとする。このとき、Flowid=Egre
ss[R1]に対しては、R2→R5→R4→R3→R
2というループした経路となっている。
【0407】このとき、経路変更に伴って図35に示す
ようなパケットのやりとりが行なわれる。図35におい
て、RELはラベル解放メッセージ、REL_ACKは
ラベル解放成功メッセージ、TRGはラベル割り当てト
リガメッセージ、SETUPはラベル割り当てメッセー
ジ、QRYは照会メッセージ、QRY_NACKは照会
失敗メッセージ、UPDは更新メッセージ、UPD_A
CKは更新成功メッセージ、である。
【0408】まず、ノード装置R2は、経路変更前の次
ホップノードR1に対してラベル解放メッセージを送信
するとともに、確定フラグをオフにする。
【0409】ノード装置R1は、ノード装置R2からラ
ベル解放メッセージを受信すると、ノード装置R2との
間のラベル割り当てを解放し、ラベル解放成功メッセー
ジをノード装置R2に返す。
【0410】ノード装置R2は、ノード装置R1からラ
ベル解放成功メッセージを受信すると、確定フラグをオ
ンにし、新しい経路上の次ホップノードR5に対してラ
ベル割り当てトリガメッセージを送信する。
【0411】ノード装置R5は、ノード装置R2からラ
ベル割り当てトリガメッセージを受信すると、ノード装
置R2に対し、ラベル割り当てメッセージを返す。
【0412】ノード装置R2は、ノード装置R5からラ
ベル割り当てメッセージを受信すると、ノード装置R5
に、照会メッセージを送信するとともに、確定フラグを
オフにする。照会メッセージには、(初段ノード情報、
ホップカウント)=(R8、5)を指定する。
【0413】ノード装置R5は、ノード装置R2から照
会メッセージを受信すると、次ホップノードR4に更新
メッセージを送信し、確定フラグをオフにする。更新メ
ッセージには、(初段ノード情報、ホップカウント)=
(R8、6)を指定する。
【0414】ノード装置R4は、ノード装置R5から更
新メッセージを受信すると、次ホップノードR3に更新
メッセージを送信し、確定フラグをオフにする。更新メ
ッセージには、(初段ノード情報、ホップカウント)=
(R8、7)を指定する。
【0415】ノード装置R3は、ノード装置R4から更
新メッセージを受信すると、受信した初段ノード情報R
8は、すでにノード装置R6との間で割り当てた出力側
ラベルLabel=eに対応しているため、ループであ
ると判断し、ノード装置R4に更新失敗メッセージを返
す。
【0416】ノード装置R4は、ノード装置R3から更
新失敗メッセージを受信すると、ノード装置R5に更新
失敗メッセージを返し、確定フラグをオンにする。
【0417】ノード装置R5は、ノード装置R4から更
新失敗メッセージを受信すると、ノード装置R2に照会
失敗メッセージを返し、確定フラグをオンにする。
【0418】ノード装置R2は、ノード装置R5から照
会失敗メッセージを受信すると、確定フラグをオンにす
る。以降、入力側ラベルと出力側ラベルとの間でラベル
スイッチングは行なわれない。
【0419】この結果、経路がループしているにもかか
わらず、図36のようなループのないラベルスイッチン
グパスができる。
【0420】なお、本実施形態では、確定フラグに加
え、初段ノード情報と、初段ノードからのホップカウン
トを用いた場合について述べたが、第1、第2の実施形
態と同様にして、初段ノード情報と、ホップカウントの
いずれかを使用しないでループ検出を行なうことが可能
である。
【0421】次に、図37に、ラベル割り当てメッセー
ジを受信したノードの処理手順を現したフローチャート
を示す。
【0422】受信メッセージ中のフロー識別子をFとす
る(ステップS311)。
【0423】まず、フロー識別子=Fのフローテーブル
エントリで入力側ラベルが受信ラベルとマッチするエン
トリEを探す。これが見つからなければ、更新メッセー
ジの送信ノードに更新失敗メッセージを送信する(ステ
ップS312,S315)。そうでなく、もし、フロー
識別子=Fのフローテーブルエントリで初段ノード情報
が設定されていないエントリが存在すれば、更新メッセ
ージの送信ノードに更新失敗メッセージを送信する(ス
テップS313,S315)。そうでなく、エントリE
の確定フラグがオフであれば、更新メッセージの送信ノ
ードに更新失敗メッセージを送信する(ステップS31
4,S315)。
【0424】そうでない場合には、受信した初段ノード
情報および初段からのホップカウントをエントリEに登
録する(ステップS316)。
【0425】次に、受信ホップカウントがフロー識別子
=Fを持つような(エントリE以外の)全フローテーブ
ルエントリ中の初段からのホップカウントよりも大き
く、かつ、終段ノードでなければ、確定フラグをオフに
して後段ノードに更新メッセージを送信する(ステップ
S317,S318,S320)。そうでなければ、更
新メッセージの送信ノードに更新成功メッセージを返す
(ステップS317,S318,S319)。
【0426】次に、第4、第5の実施形態において、ル
ープ検出のための更新メッセージをパスの向きと逆方向
に流す場合について説明する。
【0427】この場合には、ラベル割り当てメッセージ
を送信したノードは、確定フラグをオフにし、照会メッ
セージを送信することになっているノードは、照会メッ
セージを送信する代わりに、更新メッセージを入力側ラ
ベルが存在する上流側隣接ノードに送信して確定フラグ
をオフにする。更新メッセージは、入力側ラベルが存在
する上流側隣接ノードに次々にフォワードされ、確定フ
ラグがオフであるノードが更新メッセージを受信した場
合には、ループであると判断し、更新失敗メッセージを
返す。そうでなく、初段ノードが更新メッセージを受信
した時に確定フラグがオンである場合には、更新成功メ
ッセージを返す。少なくとも一つの上流側隣接ノードか
ら更新失敗メッセージを受信した場合には、下流側隣接
ノードに更新失敗メッセージを返し、そうでない場合に
は、更新成功メッセージを返す。いずれの場合も確定フ
ラグをオンにする。更新メッセージを最初に送信ノード
が更新失敗メッセージを受信すると、ラベル割り当て失
敗メッセージを下流隣接ノードに送信し、更新成功メッ
セージを受信するとラベル割り当て成功メッセージを下
流隣接ノードに送信する。いずれの場合も確定フラグを
オンにする。ラベル割り当て成功メッセージを受信した
ノードはラベルスイッチングが可能となり、ラベル割り
当て失敗メッセージを受信したノードは、入力側ラベル
を削除する。いずれの場合にも確定フラグをオンにす
る。
【0428】例えば、図36において、ノード装置R5
は、確定フラグをオフにしてノード装置R5にラベル割
り当てメッセージを送信する。ノード装置R2は、ノー
ド装置R5からラベル割り当てメッセージを受信する
と、確定フラグをオフにしてノード装置R3に更新メッ
セージを送信する。この更新メッセージは、ノード装置
R3からノード装置R4とノード装置R6、ノード装置
R4からノード装置R5、ノード装置R6からノード装
置R7、ノード装置R7からノード装置R8へとフォワ
ードされ、ノード装置R5が更新メッセージを受信した
時、確定フラグがすでにオフであるため、ループである
と判断し、更新失敗メッセージをノード装置R4に返
す。ノード装置R4はノード装置R3に更新失敗メッセ
ージを返す。ノード装置R8からノード装置R3へは更
新成功メッセージがフォワードされる。ノード装置R3
は、ノード装置R2に更新失敗メッセージを返す。ノー
ド装置R2は更新失敗メッセージを受信すると、ノード
装置R5にラベル割り当て失敗メッセージを返す。
【0429】次に、第4、第5の実施形態において、ラ
ベルのマージを行なわないノードが存在する場合の動作
について説明する。
【0430】この場合には、各ノードでラベルフィール
ドをフロー識別フィールドと、初段識別用フィールドの
2つのフィールドに分割する。フロー識別用フィールド
は、フローを識別するために使用し、初段識別用フィー
ルドは、フロー毎に初段ノードを識別するために使用す
る。
【0431】ラベルスイッチングパスの生成手順は、第
4、第5の実施形態で説明したアルゴリズムとほぼ同じ
である。ただし、ラベルのマージを行なわないノードで
は、ラベル割り当てメッセージには、ラベルのフロー識
別用フィールドのみ値を指定し、初段識別用フィールド
には値を指定しないでおく。このようなラベルを「半割
り当てラベル」と呼ぶ。ラベルのマージを行なうノード
では、ラベル割り当てメッセージには、ラベルのフロー
識別用フィールドと初段識別用フィールド両方の値を指
定する。このようなラベルを「全割り当てラベル」と呼
ぶ。半割り当てラベルと全割り当てラベルの識別には、
ラベルの1ビットを使用する。
【0432】半割当てラベルが指定されたラベル割り当
てメッセージが初段ノードに到達すると、全割り当てラ
ベルの割り当てを行ない、割り当てられたラベルが初段
ノードから終段ノードに向けて通知される。通知には、
更新メッセージを使用する。更新メッセージを受信した
とき、メッセージ中の全割り当てラベルがまだ登録され
ていない場合には、受信した全割り当てラベルを入力側
ラベルとして登録し、さらに、入力側ラベルに対応する
出力側の全割り当てラベルの割り当てを行なった後、出
力側の全割り当てラベルを含んだ更新メッセージを下流
隣接ノードに送信するようにする。
【0433】さらに、半割り当てラベルが指定されたラ
ベル割り当てメッセージを受信したノードが次ホップノ
ードに照会メッセージを送信する場合には、フローに対
して割り当てられた全割り当ての入力側ラベルのそれぞ
れに対応して、メッセージ中のフロー識別用フィールド
をフロー識別用フィールドに使用した出力側の全割り当
てラベルを割り当て、割り当てた出力側ラベル毎にこれ
を含んだ照会メッセージを送信する。
【0434】また、更新メッセージが上流から下流に流
れる場合で、照会メッセージを受信したノードが更新メ
ッセージを送信する場合には、照会メッセージに記入さ
れた全割り当てラベルに対応して、メッセージ中のフロ
ー識別用フィールドをフロー識別用フィールドに使用し
た出力側の全割り当てラベルを割り当て、これを更新メ
ッセージに記入する。また、更新メッセージを受信した
ノードが更新メッセージを送信する場合には、更新メッ
セージに記入された全割り当てラベルに対応して、メッ
セージ中のフロー識別用フィールドをフロー識別用フィ
ールドに使用した出力側の全割り当てラベルを割り当
て、これを更新メッセージに記入する。
【0435】例えば、図29において、全ノードがラベ
ルのマージを行なわないとすると、ノード装置R2はノ
ード装置R5に対して、ノード装置R2とノード装置R
5の間で初段ノードがノード装置R6のパス用に割り当
てた全割り当てラベルを含んだ照会メッセージと、ノー
ド装置R2とノード装置R5の間で初段ノードがノード
装置R5のパス用に割り当てた全割り当てラベルを含ん
だ照会メッセージの2個の照会メッセージを送信する。
また、ノード装置R5、R4、R3は、それぞれ、ノー
ド装置R4、R3、R2に対して、隣接ノード間で初段
ノードがノード装置R6のパス用に割り当てた全割り当
てラベルを含んだ更新メッセージと、隣接ノード間で初
段ノードがノード装置R5のパス用に割り当てた全割り
当てラベルを含んだ更新メッセージを送信する。
【0436】一方、更新メッセージが下流から上流に流
れる場合で、ノードが更新メッセージを送信する場合に
は、更新メッセージにはすでに割り当てた半割り当てラ
ベルを記入する。
【0437】なお、半割り当てラベルは、Upstea
mラベル割り当て、Downstreamラベル割り当
ての両方が可能であり、全割り当てラベルは、Upst
reamラベル割り当てが望ましい。
【0438】また、ラベルとして、VCI/VPIを用
いる場合には、VPIまたはVCIをフロー識別用フィ
ールドまたは初段識別用フィールドとして使用する。
【0439】次に、Egress controlにお
いて、マルチパスに対するラベルスイッチングパスを生
成する場合について説明する。
【0440】マルチパスに対するラベルスイッチングパ
スを生成する場合には、マルチパスの分岐ノードにおい
て、マルチパスのそれぞれの下流隣接ノードからのラベ
ル割り当てメッセージに対して、別々のラベルを登録
し、各々の上流隣接ノードに別々のラベル割り当てメッ
セージを送信するようにする。
【0441】また、マルチパスの1つの経路が削除され
た場合には、各々の上流隣接ノードに削除された経路に
対応するラベルスイッチングパスを解放するためのラベ
ル解放メッセージを送信するようにする。このラベル解
放メッセージは初段ノードまでフォワードされる。
【0442】次に、以上の第4、5の実施形態におけ
る、メッセージのフォーマットの例について説明する。
【0443】ラベル割り当てメッセージ、ラベル割り当
て成功メッセージ、ラベル割り当て失敗メッセージ、ラ
ベル解放メッセージ、ラベル解放成功メッセージ、ラベ
ル解放失敗メッセージ、更新メッセージ、更新成功メッ
セージ、更新失敗メッセージのフォーマットは、図1
1、または図12で示した例と同じである。ただし、更
新メッセージ、更新成功メッセージ、更新失敗メッセー
ジにはラベルの値を指定する。また、照会メッセージ、
照会成功メッセージは、図11で示した例と同じで、照
会失敗メッセージは、図12で示した例と同じである。
ただし、これらのメッセージにはラベルの値を指定す
る。さらに、上記メッセージにおいて、初段ノード情
報、または、ホップカウントを使用しない場合にはこれ
らのフィールドは省略してもよい。
【0444】また、ラベル割り当てトリガメッセージの
フォーマットは、図11において、初段ノードアドレ
ス、初段ノードローカルID、ホップカウント、ラベ
ル、および、リクエスト識別子フィールドを省略したも
のとなる。
【0445】なお、これまでの説明では、一旦、ラベル
が割り当てられたパスに対しては、ラベル割り当てメッ
セージは送信しないようなハードステート型のプロトコ
ルを前提にしていたが、本発明は、いったんラベルが割
り当てられたパスに対しても、定期的にラベル割り当て
メッセージを送信するようなソフトステート型のプロト
コルに関しても有効である。ソフトステート型の場合に
は、一定期間ラベル割り当てメッセージを受信しない場
合にはラベルが解放される。
【0446】なお、以上の各手順、手段、機能は、ハー
ドウェアとしてもソフトウェアとしても実現可能であ
る。また、ソフトウェアとして実現する場合、コンピュ
ータに上記各手順を実行させるための(あるいはコンピ
ュータを上記各手段として機能させるための、あるいは
コンピュータに上記各機能を実現させるための)プログ
ラムを記録したコンピュータ読取り可能な記録媒体とし
て実施することもできる。
【0447】本発明は、上述した実施の形態に限定され
るものではなく、その技術的範囲において種々変形して
実施することができる。
【0448】
【発明の効果】本発明によれば、ホップカウントを用い
る場合に比べ早期にループを検出することが可能とな
る。また、本発明によれば、ラベルのマージを行う場合
にも、早期にループを検出することが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るノード装置を説
明するための図
【図2】隣接ノード同士がバス型接続されている場合に
ついて説明するための図
【図3】隣接ノード同士がポイント−ポイントリンク接
続されている場合について説明するための図
【図4】本発明の第2の実施形態に係るノード装置を説
明するための図
【図5】同実施形態に係るノード装置を説明するための
【図6】同実施形態に係るノード装置を説明するための
【図7】同実施形態に係るノード装置を説明するための
【図8】本発明の第1および第2の実施形態に係るノー
ド装置を説明するための図
【図9】本発明の第3の実施形態に係るノード装置を説
明するための図
【図10】本発明の第3の実施形態に係る他のノード装
置を説明するための図
【図11】ラベル割り当てメッセージのフォーマットの
一例を示す図
【図12】ラベル割り当て失敗メッセージのフォーマッ
トの一例を示す図
【図13】フローテーブルのフォーマットの一例を示す
【図14】ラベル割り当てメッセージ受信時のノード装
置の動作の一例を示すフローチャート
【図15】ホップカウント更新メッセージ受信時のノー
ド装置の動作の一例を示すフローチャート
【図16】ラベル割り当てメッセージ受信時のノード装
置の動作の他の例を示すフローチャート
【図17】フローテーブルのフォーマットの他の例を示
す図
【図18】ラベル割り当てメッセージ受信時のノード装
置の動作のさらに他の例を示すフローチャート
【図19】ラベル割り当てメッセージ受信時のノード装
置の動作のさらに他の例を示すフローチャート
【図20】ホップカウント更新メッセージ受信時のノー
ド装置の動作の他の例を示すフローチャート
【図21】ホップカウント更新メッセージ受信時のノー
ド装置の動作のさらに他の例を示すフローチャート
【図22】ラベル割り当てメッセージ受信時のノード装
置の動作のさらに他の例を示すフローチャート
【図23】ラベル解放メッセージ受信時のノード装置の
動作の一例を示すフローチャート
【図24】ラベル解放メッセージ受信時のノード装置の
動作の他の例を示すフローチャート
【図25】本発明の第4の実施形態に係るノード装置を
説明するための図
【図26】同実施形態に係るノード装置を説明するため
の図
【図27】同実施形態に係るノード装置を説明するため
の図
【図28】同実施形態に係るノード装置を説明するため
の図
【図29】同実施形態に係るノード装置を説明するため
の図
【図30】同実施形態に係るノード装置を説明するため
の図
【図31】同実施形態に係るラベル割り当てメッセージ
受信時のノード装置の動作の一例を示すフローチャート
【図32】本発明の第5の実施形態に係るノード装置を
説明するための図
【図33】同実施形態に係るノード装置を説明するため
の図
【図34】同実施形態に係るノード装置を説明するため
の図
【図35】同実施形態に係るノード装置を説明するため
の図
【図36】同実施形態に係るノード装置を説明するため
の図
【図37】同実施形態に係るラベル割り当てメッセージ
受信時のノード装置の動作の一例を示すフローチャート
【符号の説明】 R1〜R8…ノード装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 勝部 泰弘 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内

Claims (35)

    【特許請求の範囲】
  1. 【請求項1】入力されるパケットフローを識別可能なラ
    ベル情報と少なくとも出力側インタフェースを特定する
    情報との対応関係を参照して、入力されたパケットをラ
    ベルスイッチングするノード装置であって、 前段ノード装置から受信した、ラベルスイッチングパス
    の設定を要求するラベル割り当てメッセージに基づい
    て、パケットフローをネットワークグローバルに識別可
    能なフロー識別子および該ラベルスイッチングパスの初
    段ノードに関する初段ノード情報を記憶する手段と、 前記ラベル割り当てメッセージと同一のフロー識別子お
    よび初段ノード情報を含むラベル割り当てメッセージを
    前記前段ノード装置とは異なるノード装置から受信した
    場合には、ラベルスイッチングパスのループが形成され
    るものと判断する手段とを備えたことを特徴とするノー
    ド装置。
  2. 【請求項2】出力されるパケットフローを識別可能なラ
    ベル情報を使用して、ラベルスイッチングされるべきパ
    ケットを送信するノード装置であって、 ラベルスイッチングパスの設定を要求する、該ラベルス
    イッチングパスの初段ノードに関する初段ノード情報を
    少なくとも含むラベル割り当てメッセージであって、前
    記初段ノード情報が自ノードを指すものを受信した場合
    には、ラベルスイッチングパスのループが形成されるも
    のと判断する手段を備えたことを特徴とするノード装
    置。
  3. 【請求項3】入力されるパケットフローを識別可能な入
    力側ラベル情報と出力されるパケットフローを識別可能
    な出力側ラベル情報との対応関係を参照して、入力され
    たパケットをラベルスイッチングするノード装置であっ
    て、 パケットフローの経路上の隣接ノード装置との間で、ラ
    ベルスイッチングパスの設定を要求するラベル割り当て
    メッセージであって、該パケットフローをネットワーク
    グローバルに識別可能なフロー識別子と該ラベルスイッ
    チングパスの初段ノードに関する初段ノード情報とを含
    むものを交換する手段と、 既存のラベルスイッチングパスに対して、前記フロー識
    別子および前記初段ノード情報が一致し、かつ、前記入
    力側ラベル情報を異ならせるようなラベル割当てメッセ
    ージを受信した場合には、ラベルスイッチングパスのル
    ープが形成されるものと判断する手段とを備えたことを
    特徴とするノード装置。
  4. 【請求項4】前記ラベルスイッチングパスのループが形
    成されるものと判断された場合、受信した前記ラベル割
    当てメッセージに対するラベル割当てのための処理を行
    わないようにすることを特徴とする請求項1ないし3の
    いずれか1項に記載のノード装置。
  5. 【請求項5】前記ラベルスイッチングパスのループが形
    成されるものと判断された場合、受信した前記ラベル割
    当てメッセージの送信元である前段ノード装置に対し
    て、ラベル割当て失敗メッセージを送信することを特徴
    とする請求項1ないし3のいずれか1項に記載のノード
    装置。
  6. 【請求項6】後段ノード装置からラベル割当て失敗メッ
    セージを受信した場合、このラベル割当て失敗メッセー
    ジに関係するラベル割当てメッセージを自ノードに送信
    した前段ノード装置に対して、ラベル割当て成功メッセ
    ージを送信する手段を更に具備することを特徴とする請
    求項5に記載のノード装置。
  7. 【請求項7】前記ラベル割り当てメッセージは、このラ
    ベル割り当てメッセージの送信元である前段ノード装置
    が割り当てた、前記ラベル情報の一部または全部を構成
    するラベル、もしくは、ラベルスイッチングパスの一部
    を構成する隣接ノード間のコネクションを特定する識別
    子であって該ラベルを導出可能なものを含むことを特徴
    とする請求項1ないし6のいずれか1項に記載のノード
    装置。
  8. 【請求項8】前記ラベル割り当てメッセージは、ラベル
    の割り当てを要求する識別子を含むものであり、 受信したラベル割り当てメッセージに対するラベル割当
    て処理を行っても良いと判断された場合、このラベル割
    り当てメッセージの送信元である前段ノード装置へ、自
    ノードが割り当てた、前記ラベル情報の一部または全部
    を構成するラベル、もしくは、ラベルスイッチングパス
    の一部を構成する隣接ノード間のコネクションを特定す
    る識別子であって該ラベルを導出可能なものを含む、ラ
    ベル割り当て成功メッセージを返信する手段を更に具備
    することを特徴とする請求項1ないし6のいずれか1項
    に記載のノード装置。
  9. 【請求項9】入力されるパケットフローを識別可能な入
    力側ラベル情報と出力されるパケットフローを識別可能
    な一つまたは複数の出力側ラベル情報との対応関係を参
    照して、入力されたパケットをラベルスイッチングする
    ノード装置であって、 パケットフローの経路上の前段ノード装置との間、およ
    び、一つまたは複数の後段ノード装置それぞれとの間
    で、ラベルスイッチングパスの設定を要求するラベル割
    り当てメッセージであって、該パケットフローをネット
    ワークグローバルに識別可能なフロー識別子と該ラベル
    スイッチングパスの初段ノードに関する初段ノード情報
    とを含むものを交換する手段と、 以前に交換したメッセージと同一のフロー識別子及び初
    段ノード情報を含むメッセージを以前とは異なる前段ノ
    ード装置から受信した場合、もしくは、以前に交換した
    メッセージと同一のフロー識別子及び初段ノード情報を
    含み前記入力側ラベル情報を異ならせるようなメッセー
    ジを受信した場合には、ラベルスイッチングパスのルー
    プが形成されるものと判断する手段とを備えたことを特
    徴とするノード装置。
  10. 【請求項10】入力されるパケットフローを識別可能な
    一つまたは複数の入力側ラベル情報と出力されるパケッ
    トフローを識別可能な出力側ラベル情報との対応関係を
    参照して、入力されたパケットをラベルスイッチングす
    るノード装置であって、 パケットフローの経路上の隣接ノード装置との間で、新
    たなラベルスイッチングパスを設定するためのメッセー
    ジもしくは既存のラベルスイッチングパスを利用するた
    めのメッセージであって、該パケットフローをネットワ
    ークグローバルに識別可能なフロー識別子と該ラベルス
    イッチングパスの初段ノードに関する初段ノード情報と
    を含むものを交換する手段と、 以前に交換したメッセージと同一のフロー識別子及び初
    段ノード情報を含むメッセージを以前とは異なる前段ノ
    ード装置から受信した場合、もしくは、以前に交換した
    メッセージと同一のフロー識別子及び初段ノード情報を
    含み前記入力側ラベル情報を異ならせるようなメッセー
    ジを受信した場合には、ラベルスイッチングパスのルー
    プが形成されるものと判断する手段とを備えたことを特
    徴とするノード装置。
  11. 【請求項11】前記交換する手段は、 自装置の下流に前記パケットフロー用のラベルスイッチ
    ングパスが存在しない場合に、新たなラベルスイッチン
    グパスを設定するためのメッセージとしてラベル割り当
    てメッセージを後段ノード装置へ送信し、 自装置の下流に前記パケットフロー用のラベルスイッチ
    ングパスが存在し、自装置の上流に対応するラベルスイ
    ッチングパスを新たに設定しようとする場合に、既存の
    ラベルスイッチングパスを利用するためのメッセージと
    して更新メッセージを後段ノード装置へ送信するもので
    あることを特徴とする請求項10に記載のノード装置。
  12. 【請求項12】前記交換する手段は、 自装置の下流に前記パケットフロー用のラベルスイッチ
    ングパスが存在するが自装置の上流に対応するラベルス
    イッチングパスが存在しない場合に、新たなラベルスイ
    ッチングパスを設定するためのメッセージとしてラベル
    割り当てメッセージを後段ノード装置以外のノード装置
    へ送信し、 自装置の上流に前記パケットフロー用のラベルスイッチ
    ングパスが存在するが自装置の下流にあるべきラベルス
    イッチングパスが存在しない場合に、新たなラベルスイ
    ッチングパスを設定するためのメッセージとして照会メ
    ッセージを後段ノード装置へ送信し、 前段ノード装置から照会メッセージを受信し、自装置の
    下流に前記パケットフロー用のラベルスイッチングパス
    が存在する場合に、既存のラベルスイッチングパスを利
    用するためのメッセージとして更新メッセージを後段ノ
    ード装置へ送信するものであることを特徴とする請求項
    10に記載のノード装置。
  13. 【請求項13】前記交換する手段は、 後段ノード装置からラベル割り当てメッセージを受信
    し、自装置の上流に前記パケットフロー用のラベルスイ
    ッチングパスが存在しない場合に、ラベル割り当て成功
    メッセージを後段ノード装置へ送信し、 前段ノード装置からラベル割り当て成功メッセージを受
    信し、自装置の下流に前記パケットフロー用のラベルス
    イッチングパスが存在する場合にも、前記更新メッセー
    ジを後段ノード装置へ送信するものであることを特徴と
    する請求項12に記載のノード装置。
  14. 【請求項14】後段ノード装置へ送信するメッセージ中
    にホップカウントをも含め、 初段ノードからのホップカウントがしきい値を越えた場
    合には、受信したメッセージに関するラベルスイッチン
    グパスの設定を行わないように処理することを特徴とす
    る請求項1ないし13のいずれか1項に記載のノード装
    置。
  15. 【請求項15】入力されるパケットフローを識別可能な
    入力側ラベル情報と出力されるパケットフローを識別可
    能な出力側ラベル情報との対応関係を参照して、入力さ
    れたパケットをラベルスイッチングするとともに、同じ
    ネットワークグローバルなフロー識別子を有するパケッ
    トフローに関し、一つの出力側ラベル情報と複数の入力
    側ラベル情報とを対応させることによって、ラベルスイ
    ッチングパスのマージを行うノード装置であって、 ラベルスイッチングパスの設定を要求する、フロー識別
    子、該ラベルスイッチングパスの初段ノードに関する初
    段ノード情報およびホップカウント値を少なくとも含む
    ラベル割当てメッセージを受信した場合、該ラベル割当
    てメッセージが既存のラベルスイッチングパスへのマー
    ジを伴うものであり、かつ、前記ホップカウント値が既
    存のラベルスイッチングパスのホップカウント値をより
    大きい値に更新させるものであるならば、直ちにはマー
    ジせず、該既存のラベルスイッチングパスにおける後段
    ノード装置に、前記フロー識別子、マージした場合にお
    ける初段ノード情報および更新されたホップカウント値
    を少なくとも含むホップカウント更新メッセージを送信
    する手段と、 以前に前段ノード装置から受信したラベル割り当てメッ
    セージと同一のフロー識別子および初段ノード情報を含
    むホップカウント更新メッセージもしくはラベル割り当
    てメッセージを前記前段ノード装置とは異なるノード装
    置から受信した場合には、ラベルスイッチングパスのル
    ープが形成されるものと判断する手段とを備えたことを
    特徴とするノード装置。
  16. 【請求項16】ループが形成されると判断された場合に
    は、ホップカウント更新もしくはラベル割り当てができ
    ないことを、ホップカウント更新もしくはラベル割り当
    てメッセージを自ノードに送信した前段ノード装置に通
    知する手段と、 ホップカウント更新ができないことを通知された場合に
    は、ラベル割り当てができないことを、ラベル割り当て
    メッセージを自ノードに送信した前段ノード装置に通知
    する手段と、 ラベル割り当てができないことを通知された場合には、
    ホップカウントがしきい値を越えないならば、ホップカ
    ウント更新ができることを、ホップカウント更新メッセ
    ージを自ノードに送信した前段ノード装置に通知する手
    段と、 ホップカウント更新ができることを通知された場合に
    は、設定を要求されたラベルスイッチングパスを既存の
    ラベルスイッチングパスにマージすることにより設定す
    る手段とを更に備えたことを特徴とする請求項15に記
    載のノード装置。
  17. 【請求項17】ラベルスイッチングパスの設定を要求す
    る、フロー識別子、該ラベルスイッチングパスの初段ノ
    ードに関する初段ノード情報およびホップカウント値を
    少なくとも含むラベル割り当てメッセージを受信した場
    合、該ラベルメッセージが既存のラベルスイッチングパ
    スへのマージを伴うものであり、かつ、前記ホップカウ
    ント値が既存のラベルスイッチングパスのホップカウン
    ト値をより大きい値に更新させるものでないならば、設
    定を要求されたラベルスイッチングパスを既存のラベル
    スイッチングパスにマージすることにより設定する手段
    を更に備えたことを特徴とする請求項15に記載のノー
    ド装置。
  18. 【請求項18】前記送信する手段は、 更新されたホップカウント値に対応する初段ノードに関
    する情報を、前記ホップカウント更新メッセージが含
    む、マージした場合における初段ノード情報とし、 マージされたラベルスイッチングパスの一部が解放され
    マージが行われなくなった場合に、解放されたパスに対
    応する初段ノード情報が前記ホップカウント更新メッセ
    ージに含まれていたならば、マージされなくなった場合
    における初段ノード情報とホップカウント値とを含むホ
    ップカウント更新メッセージを送信する手段を含むもの
    であることを特徴とする請求項15に記載のノード装
    置。
  19. 【請求項19】前記送信する手段は、 更新されたホップカウント値に対応する初段ノードもし
    くは既存のラベルスイッチングパスの初段ノードに関す
    る情報を、前記ホップカウント更新メッセージが含む、
    マージした場合における初段ノード情報とし、 マージされたラベルスイッチングパスの一部が解放され
    マージが行われなくなった場合に、解放されたパスに対
    応する初段ノード情報が前記ホップカウント更新メッセ
    ージに含まれていたならば、マージされなくなった場合
    における初段ノード情報を含む更新メッセージを送信す
    る手段を含むものであることを特徴とする請求項15に
    記載のノード装置。
  20. 【請求項20】前記初段ノード情報として、初段ノード
    の出力インタフェースに対して割り当てられるネットワ
    ークレイヤアドレスを用いることを特徴とする請求項1
    ないし19のいずれか1項に記載のノード装置。
  21. 【請求項21】前記初段ノード情報として、初段ノード
    の出力インタフェースに対して割り当てられるネットワ
    ークレイヤアドレスと初段ノードの出力インタフェース
    ローカルに割り当てられる識別子とからなる組を用いる
    ことを特徴とする請求項1ないし19のいずれか1項に
    記載のノード装置。
  22. 【請求項22】入力されるパケットフローを識別可能な
    一つまたは複数の入力側ラベル情報と出力されるパケッ
    トフローを識別可能な出力側ラベル情報との対応関係を
    参照して、入力されたパケットをラベルスイッチングす
    るノード装置であって、 パケットフローの経路上の隣接ノード装置との間で、新
    たなラベルスイッチングパスを設定するためのメッセー
    ジもしくは既存のラベルスイッチングパスを利用するた
    めのメッセージであって、該パケットフローをネットワ
    ークグローバルに識別可能なフロー識別子を含むものを
    交換する手段と、 この交換されたメッセージに対応する返答メッセージを
    受信するまでは該メッセージに対応するラベルスイッチ
    ングパスの設定が未確定なものであることを示す情報を
    記憶する手段と、 以前に交換したメッセージと同一のフロー識別子を含む
    メッセージを受信した場合に、このフロー識別子に対応
    して前記未確定なものであることを示す情報が記憶され
    ているならば、受信した前記メッセージに対応する失敗
    メッセージを返送する手段とを備えたことを特徴とする
    ノード装置。
  23. 【請求項23】前記交換する手段は、 自装置の下流に前記パケットフロー用のラベルスイッチ
    ングパスが存在しない場合に、新たなラベルスイッチン
    グパスを設定するためのメッセージとしてラベル割り当
    てメッセージを後段ノード装置へ送信し、 自装置の下流に前記パケットフロー用のラベルスイッチ
    ングパスが存在し、自装置の上流に対応するラベルスイ
    ッチングパスを新たに設定しようとする場合に、既存の
    ラベルスイッチングパスを利用するためのメッセージと
    して更新メッセージを後段ノード装置へ送信するもので
    あることを特徴とする請求項22に記載のノード装置。
  24. 【請求項24】前記交換する手段は、 自装置の下流に前記パケットフロー用のラベルスイッチ
    ングパスが存在しない場合に、新たなラベルスイッチン
    グパスを設定するためのメッセージとしてラベル割り当
    てメッセージを後段ノード装置へ送信し、 自装置の下流に前記パケットフロー用のラベルスイッチ
    ングパスが存在し、自装置の上流に対応するラベルスイ
    ッチングパスを新たに設定しようとする場合に、新たな
    ラベルスイッチングパスを設定するためのメッセージと
    して照会メッセージを前段ノード装置へ送信し、 後段ノード装置から照会メッセージを受信し、自装置の
    上流に前記パケットフロー用のラベルスイッチングパス
    が存在する場合に、既存のラベルスイッチングパスを利
    用するためのメッセージとして更新メッセージを該上流
    のラベルスイッチングパスの前段ノード装置へ送信する
    ものであることを特徴とする請求項22に記載のノード
    装置。
  25. 【請求項25】前記交換する手段は、 自装置の下流に前記パケットフロー用のラベルスイッチ
    ングパスが存在するが自装置の上流に該ラベルスイッチ
    ングパスが存在しない場合に、新たなラベルスイッチン
    グパスを設定するためのメッセージとしてラベル割り当
    てメッセージを後段ノード装置以外のノード装置へ送信
    し、 自装置の上流に前記パケットフロー用のラベルスイッチ
    ングパスが存在するが自装置の下流にあるべきラベルス
    イッチングパスが存在しない場合に、新たなラベルスイ
    ッチングパスを設定するためのメッセージとして照会メ
    ッセージを後段ノード装置へ送信し、 前段ノード装置から照会メッセージを受信し、自装置の
    下流に前記パケットフロー用のラベルスイッチングパス
    が存在する場合に、既存のラベルスイッチングパスを利
    用するためのメッセージとして更新メッセージを後段ノ
    ード装置へ送信するものであることを特徴とする請求項
    22に記載のノード装置。
  26. 【請求項26】前記交換する手段は、 自装置の下流に前記パケットフロー用のラベルスイッチ
    ングパスが存在するが自装置の上流に該ラベルスイッチ
    ングパスが存在しない場合に、新たなラベルスイッチン
    グパスを設定するためのメッセージとしてラベル割り当
    てメッセージを後段ノード装置以外のノード装置へ送信
    し、 自装置の上流に前記パケットフロー用のラベルスイッチ
    ングパスが存在するが自装置の下流にあるべきラベルス
    イッチングパスが存在せずこれを新たに設定しようとす
    る場合に、既存のラベルスイッチングパスを利用するた
    めのメッセージとして更新メッセージを該上流のラベル
    スイッチングパスの前段ノード装置へ送信するものであ
    ることを特徴とする請求項22に記載のノード装置。
  27. 【請求項27】入力されるパケットフローを識別可能な
    入力側ラベル情報と出力されるパケットフローを識別可
    能な出力側ラベル情報との対応関係を参照して、入力さ
    れたパケットをラベルスイッチングすると共に、同じネ
    ットワークグローバルなフロー識別子を有するパケット
    フローに関し、一つの出力側ラベル情報と複数の入力側
    ラベル情報とを対応させることによって、ラベルスイッ
    チングパスのマージを行うノード装置であって、 ラベルスイッチングパスの設定を要求する、フロー識別
    子とホップカウント値とを含むラベル割り当てメッセー
    ジを受信した場合、該ラベル割り当てメッセージが既存
    のラベルスイッチングパスへのマージを伴うものであ
    り、かつ、前記ホップカウント値が既存のラベルスイッ
    チングパスのホップカウント値をより大きい値に更新さ
    せるものであるならば、該既存のラベルスイッチングパ
    スにおける後段ノード装置に、前記フロー識別子と更新
    されたホップカウント値を含むホップカウント更新メッ
    セージを送信する手段と、 受信した前記ラベル割り当てメッセージに基づいて前記
    フロー識別子及び前記対応関係を記憶すると共に、前記
    ホップカウント更新メッセージに対応する成功メッセー
    ジを受信するまでは、該対応関係の記憶が未確定なもの
    であることを示す情報を記憶する手段と、 以前に受信したホップカウント更新メッセージもしくは
    ラベル割り当てメッセージと同一のフロー識別子を含む
    ホップカウント更新メッセージもしくはラベル割り当て
    メッセージを受信した場合に、このフロー識別子に対応
    して前記対応関係の記憶が未確定なものであることを示
    す情報が記憶されているならば、受信した前記ホップカ
    ウント更新メッセージもしくはラベル割り当てメッセー
    ジに対応する失敗メッセージを返送する手段とを備えた
    ことを特徴とするノード装置。
  28. 【請求項28】入力されるパケットフローを識別可能な
    ラベル情報と少なくとも出力側インタフェースを特定す
    る情報との対応関係を参照して、入力されたパケットを
    ラベルスイッチングするノード装置におけるラベルスイ
    ッチングパスのループ検出方法であって、 前段ノード装置から受信した、ラベルスイッチングパス
    の設定を要求するラベル割り当てメッセージに基づい
    て、パケットフローをネットワークグローバルに識別可
    能なフロー識別子および該ラベルスイッチングパスの初
    段ノードに関する初段ノード情報を記憶し、 前記ラベル割り当てメッセージと同一のフロー識別子お
    よび初段ノード情報を含むラベル割り当てメッセージを
    前記前段ノード装置とは異なるノード装置から受信した
    場合には、ラベルスイッチングパスのループが形成され
    るものと判断することを特徴とするラベルスイッチング
    パスのループ検出方法。
  29. 【請求項29】出力されるパケットフローを識別可能な
    ラベル情報を使用して、ラベルスイッチングされるべき
    パケットを送信するノード装置におけるラベルスイッチ
    ングパスのループ検出方法であって、 ラベルスイッチングパスの設定を要求する、該ラベルス
    イッチングパスの初段ノードに関する初段ノード情報を
    少なくとも含むラベル割り当てメッセージであって、前
    記初段ノード情報が自ノードを指すものを受信した場合
    には、ラベルスイッチングパスのループが形成されるも
    のと判断することを特徴とするラベルスイッチングパス
    のループ検出方法。
  30. 【請求項30】入力されるパケットフローを識別可能な
    入力側ラベル情報と出力されるパケットフローを識別可
    能な出力側ラベル情報との対応関係を参照して、入力さ
    れたパケットをラベルスイッチングするノード装置にお
    けるラベルスイッチングパスのループ検出方法であっ
    て、 パケットフローの経路上の隣接ノード装置との間で、ラ
    ベルスイッチングパスの設定を要求するラベル割り当て
    メッセージであって、該パケットフローをネットワーク
    グローバルに識別可能なフロー識別子と該ラベルスイッ
    チングパスの初段ノードに関する初段ノード情報とを含
    むものを交換し、 既存のラベルスイッチングパスに対して、前記フロー識
    別子および前記初段ノード情報が一致し、かつ、前記入
    力側ラベル情報を異ならせるようなラベル割当てメッセ
    ージを受信した場合には、ラベルスイッチングパスのル
    ープが形成されるものと判断することを特徴とするラベ
    ルスイッチングパスのループ検出方法。
  31. 【請求項31】入力されるパケットフローを識別可能な
    入力側ラベル情報と出力されるパケットフローを識別可
    能な一つまたは複数の出力側ラベル情報との対応関係を
    参照して、入力されたパケットをラベルスイッチングす
    るノード装置におけるラベルスイッチングパスのループ
    検出方法であって、 パケットフローの経路上の前段ノード装置との間、およ
    び、一つまたは複数の後段ノード装置それぞれとの間
    で、ラベルスイッチングパスの設定を要求するラベル割
    り当てメッセージであって、該パケットフローをネット
    ワークグローバルに識別可能なフロー識別子と該ラベル
    スイッチングパスの初段ノードに関する初段ノード情報
    とを含むものを交換し、 以前に交換したメッセージと同一のフロー識別子及び初
    段ノード情報を含むメッセージを以前とは異なる前段ノ
    ード装置から受信した場合、もしくは、以前に交換した
    メッセージと同一のフロー識別子及び初段ノード情報を
    含み前記入力側ラベル情報を異ならせるようなメッセー
    ジを受信した場合には、ラベルスイッチングパスのルー
    プが形成されるものと判断することを特徴とするラベル
    スイッチングパスのループ検出方法。
  32. 【請求項32】入力されるパケットフローを識別可能な
    一つまたは複数の入力側ラベル情報と出力されるパケッ
    トフローを識別可能な出力側ラベル情報との対応関係を
    参照して、入力されたパケットをラベルスイッチングす
    るノード装置におけるラベルスイッチングパスのループ
    検出方法であって、 パケットフローの経路上の隣接ノード装置との間で、新
    たなラベルスイッチングパスを設定するためのメッセー
    ジもしくは既存のラベルスイッチングパスを利用するた
    めのメッセージであって、該パケットフローをネットワ
    ークグローバルに識別可能なフロー識別子と該ラベルス
    イッチングパスの初段ノードに関する初段ノード情報と
    を含むものを交換し、 以前に交換したメッセージと同一のフロー識別子及び初
    段ノード情報を含むメッセージを以前とは異なる前段ノ
    ード装置から受信した場合、もしくは、以前に交換した
    メッセージと同一のフロー識別子及び初段ノード情報を
    含み前記入力側ラベル情報を異ならせるようなメッセー
    ジを受信した場合には、ラベルスイッチングパスのルー
    プが形成されるものと判断することを特徴とするラベル
    スイッチングパスのループ検出方法。
  33. 【請求項33】入力されるパケットフローを識別可能な
    入力側ラベル情報と出力されるパケットフローを識別可
    能な出力側ラベル情報との対応関係を参照して、入力さ
    れたパケットをラベルスイッチングするとともに、同じ
    ネットワークグローバルなフロー識別子を有するパケッ
    トフローに関し、一つの出力側ラベル情報と複数の入力
    側ラベル情報とを対応させることによって、ラベルスイ
    ッチングパスのマージを行うノード装置におけるラベル
    スイッチングパスのループ検出方法であって、 ラベルスイッチングパスの設定を要求する、フロー識別
    子、該ラベルスイッチングパスの初段ノードに関する初
    段ノード情報およびホップカウント値を少なくとも含む
    ラベル割当てメッセージを受信した場合、該ラベル割当
    てメッセージが既存のラベルスイッチングパスへのマー
    ジを伴うものであり、かつ、前記ホップカウント値が既
    存のラベルスイッチングパスのホップカウント値をより
    大きい値に更新させるものであるならば、直ちにはマー
    ジせず、該既存のラベルスイッチングパスにおける後段
    ノード装置に、前記フロー識別子、マージした場合にお
    ける初段ノード情報および更新されたホップカウント値
    を少なくとも含むホップカウント更新メッセージを送信
    し、 以前に前段ノード装置から受信したラベル割り当てメッ
    セージと同一のフロー識別子および初段ノード情報を含
    むホップカウント更新メッセージもしくはラベル割り当
    てメッセージを前記前段ノード装置とは異なるノード装
    置から受信した場合には、ラベルスイッチングパスのル
    ープが形成されるものと判断することを特徴とするラベ
    ルスイッチングパスのループ検出方法。
  34. 【請求項34】入力されるパケットフローを識別可能な
    一つまたは複数の入力側ラベル情報と出力されるパケッ
    トフローを識別可能な出力側ラベル情報との対応関係を
    参照して、入力されたパケットをラベルスイッチングす
    るノード装置におけるラベルスイッチングパスのループ
    検出方法であって、 パケットフローの経路上の隣接ノード装置との間で、新
    たなラベルスイッチングパスを設定するためのメッセー
    ジもしくは既存のラベルスイッチングパスを利用するた
    めのメッセージであって、該パケットフローをネットワ
    ークグローバルに識別可能なフロー識別子を含むものを
    交換し、 この交換されたメッセージに対応する成功メッセージを
    受信するまでは該メッセージに対応するラベルスイッチ
    ングパスの設定が未確定なものであることを示す情報を
    記憶し、 以前に交換したメッセージと同一のフロー識別子を含む
    メッセージを受信した場合に、このフロー識別子に対応
    して前記未確定なものであることを示す情報が記憶され
    ているならば、受信した前記メッセージに対応する失敗
    メッセージを返送することを特徴とするラベルスイッチ
    ングパスのループ検出方法。
  35. 【請求項35】入力されるパケットフローを識別可能な
    入力側ラベル情報と出力されるパケットフローを識別可
    能な出力側ラベル情報との対応関係を参照して、入力さ
    れたパケットをラベルスイッチングすると共に、同じネ
    ットワークグローバルなフロー識別子を有するパケット
    フローに関し、一つの出力側ラベル情報と複数の入力側
    ラベル情報とを対応させることによって、ラベルスイッ
    チングパスのマージを行うノード装置におけるラベルス
    イッチングパスのループ検出方法であって、 ラベルスイッチングパスの設定を要求する、フロー識別
    子とホップカウント値とを含むラベル割り当てメッセー
    ジを受信した場合、該ラベル割り当てメッセージが既存
    のラベルスイッチングパスへのマージを伴うものであ
    り、かつ、前記ホップカウント値が既存のラベルスイッ
    チングパスのホップカウント値をより大きい値に更新さ
    せるものであるならば、該既存のラベルスイッチングパ
    スにおける後段ノード装置に、前記フロー識別子と更新
    されたホップカウント値を含むホップカウント更新メッ
    セージを送信し、 受信した前記ラベル割り当てメッセージに基づいて前記
    フロー識別子及び前記対応関係を記憶すると共に、前記
    ホップカウント更新メッセージに対応する成功メッセー
    ジを受信するまでは、該対応関係の記憶が未確定なもの
    であることを示す情報を記憶し、 以前に受信したホップカウント更新メッセージもしくは
    ラベル割り当てメッセージと同一のフロー識別子を含む
    ホップカウント更新メッセージもしくはラベル割り当て
    メッセージを受信した場合に、このフロー識別子に対応
    して前記対応関係の記憶が未確定なものであることを示
    す情報が記憶されているならば、受信した前記ホップカ
    ウント更新メッセージもしくはラベル割り当てメッセー
    ジに対応する失敗メッセージを返送することを特徴とす
    るラベルスイッチングパスのループ検出方法。
JP00504498A 1997-08-08 1998-01-13 ノード装置及びラベルスイッチングパスのループ検出方法 Expired - Fee Related JP3688877B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP00504498A JP3688877B2 (ja) 1997-08-08 1998-01-13 ノード装置及びラベルスイッチングパスのループ検出方法
CA 2244481 CA2244481C (en) 1997-08-08 1998-08-06 Scheme for label switched path loop detection at node device
US09/131,361 US6501754B1 (en) 1997-08-08 1998-08-07 Scheme for label switched path loop detection at node device
EP19980114980 EP0896494B1 (en) 1997-08-08 1998-08-10 Scheme for label switched path loop detection at node device
DE1998633347 DE69833347T2 (de) 1997-08-08 1998-08-10 Schema zur Erfassung einer Pfadenschleife in einem Knotenvorrichtung, wobei die Pfade mittels einer Identifizierungsmarke vermittelt werden
US10/191,539 US7120145B2 (en) 1997-08-08 2002-07-10 Scheme for label switched path loop detection at node device

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP9-214842 1997-08-08
JP21484297 1997-08-08
JP33733397 1997-12-08
JP9-337333 1997-12-08
JP35480797 1997-12-24
JP9-354807 1997-12-24
JP00504498A JP3688877B2 (ja) 1997-08-08 1998-01-13 ノード装置及びラベルスイッチングパスのループ検出方法

Publications (2)

Publication Number Publication Date
JPH11243416A true JPH11243416A (ja) 1999-09-07
JP3688877B2 JP3688877B2 (ja) 2005-08-31

Family

ID=27454216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00504498A Expired - Fee Related JP3688877B2 (ja) 1997-08-08 1998-01-13 ノード装置及びラベルスイッチングパスのループ検出方法

Country Status (5)

Country Link
US (2) US6501754B1 (ja)
EP (1) EP0896494B1 (ja)
JP (1) JP3688877B2 (ja)
CA (1) CA2244481C (ja)
DE (1) DE69833347T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010506442A (ja) * 2006-09-30 2010-02-25 華為技術有限公司 Mplsにおけるループ取り消し法およびルータ

Families Citing this family (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3178673B2 (ja) * 1998-10-15 2001-06-25 日本電気株式会社 プロトコル中継変換方法及び装置
US6885677B1 (en) * 1999-03-12 2005-04-26 Fujitsu Limited Multiprotocol label switching routers
US6473421B1 (en) * 1999-03-29 2002-10-29 Cisco Technology, Inc. Hierarchical label switching across multiple OSPF areas
US6760331B1 (en) * 1999-03-31 2004-07-06 Cisco Technology, Inc. Multicast routing with nearest queue first allocation and dynamic and static vector quantization
US6600727B1 (en) 1999-05-27 2003-07-29 Cisco Technology, Inc. Distributed network repeater system
US6728777B1 (en) * 1999-06-02 2004-04-27 Nortel Networks Limited Method for engineering paths for multicast traffic
US6879594B1 (en) * 1999-06-07 2005-04-12 Nortel Networks Limited System and method for loop avoidance in multi-protocol label switching
JP3614059B2 (ja) * 1999-11-30 2005-01-26 日本電気株式会社 通信コネクションマージ方法及びそれを用いるノード
CA2310872A1 (en) * 1999-12-22 2001-06-22 Nortel Networks Corporation Automatic protection switching using link-level redundancy supporting multi-protocol label switching
WO2001052482A1 (en) * 2000-01-10 2001-07-19 British Telecommunications Public Limited Company Communications network
US7031607B1 (en) * 2000-02-21 2006-04-18 Nortel Networks Limited MPLS application to optical cross-connect using wavelength as a label
US6731639B1 (en) * 2000-03-30 2004-05-04 Nortel Networks Limited Multi protocol label switching for multiple access segments
US7151773B1 (en) * 2000-05-05 2006-12-19 Fujitsu Limited System and method for connectionless/connection oriented signal transport
US7046669B1 (en) * 2000-06-28 2006-05-16 Nortel Networks Limited Communications network
US7061896B2 (en) * 2000-09-20 2006-06-13 George Mason Intellectual Properties, Inc. Wireless label switched packet transfer network
US6842788B1 (en) * 2000-10-11 2005-01-11 Nortel Networks Limited Computing and using resource colors for composite links
US7539154B1 (en) * 2000-10-17 2009-05-26 Cisco Technology, Inc. Method and apparatus to detect and break loop configuration
CA2327918A1 (en) * 2000-12-08 2002-06-08 Alcatel Canada Inc. System and method of operating a communication network associated with an mpls implementation on an atm platform
CA2327896A1 (en) * 2000-12-08 2002-06-08 Alcatel Canada Inc. An mpls implementation on an atm platform
CA2327898A1 (en) * 2000-12-08 2002-06-08 Alcatel Canada Inc. System and method for establishing a communication path associated with an mpls implementation on an atm platform
US20020112072A1 (en) * 2001-02-12 2002-08-15 Maple Optical Systems, Inc. System and method for fast-rerouting of data in a data communication network
JP2003032280A (ja) * 2001-07-16 2003-01-31 Fujitsu Ltd コネクション型通信ネットワークにおけるリンク識別子の割当システム
US7002927B2 (en) * 2001-08-01 2006-02-21 International Business Machines Corporation Self-scaling network
JP4328478B2 (ja) * 2001-08-27 2009-09-09 富士通株式会社 ラベル転送ネットワークにおける経路変更方法並びにラベルスイッチングノード及び管理ノード
US7013347B1 (en) * 2001-10-16 2006-03-14 Cisco Technology, Inc. Distance vector extension to the address resolution protocol
US7433969B2 (en) * 2001-12-31 2008-10-07 Redback Networks Inc. Method and apparatus for representing label switched paths
US20030145072A1 (en) * 2002-01-31 2003-07-31 Lau Richard C. Auto-discovery of network configuration
US7047315B1 (en) * 2002-03-19 2006-05-16 Cisco Technology, Inc. Method providing server affinity and client stickiness in a server load balancing device without TCP termination and without keeping flow states
US7088718B1 (en) * 2002-03-19 2006-08-08 Cisco Technology, Inc. Server load balancing using IP option field approach to identify route to selected server
US7769873B1 (en) 2002-10-25 2010-08-03 Juniper Networks, Inc. Dynamically inserting filters into forwarding paths of a network device
EP1434395A1 (en) * 2002-12-26 2004-06-30 Alcatel Multiprotocol label switching label distribution method including a DSLAM and a BRAS
DE60229277D1 (de) * 2002-12-26 2008-11-20 Alcatel Lucent MPLS Etikettenverteilerverfahren
DE60319502T2 (de) * 2003-03-28 2008-06-26 Alcatel Lucent Verfahren zur Wiedererstellung von Transportnetzwerken
US7813345B2 (en) * 2003-06-05 2010-10-12 At&T Intellectual Property I, L.P. MAC learning using VC-LSP dedicated for broadcast and unknown frames
US8078758B1 (en) 2003-06-05 2011-12-13 Juniper Networks, Inc. Automatic configuration of source address filters within a network device
CN100450009C (zh) * 2003-06-17 2009-01-07 华为技术有限公司 网络节点通用标签分配方法
US7394769B2 (en) * 2003-08-14 2008-07-01 International Business Machines Corporation Method, system and article for rapid detection and avoidance of high data corrupting routes within a network
JP3947146B2 (ja) * 2003-09-18 2007-07-18 富士通株式会社 ルーティングループ検出プログラム及びルーティングループ検出方法
US20050097196A1 (en) * 2003-10-03 2005-05-05 Wronski Leszek D. Network status messaging
US8176201B1 (en) * 2003-11-05 2012-05-08 Juniper Networks, Inc. Controlling the signaling of label-switched paths using a label distribution protocol employing messages which facilitate the use of external prefixes
US8156175B2 (en) 2004-01-23 2012-04-10 Tiversa Inc. System and method for searching for specific types of people or information on a peer-to-peer network
US7761569B2 (en) 2004-01-23 2010-07-20 Tiversa, Inc. Method for monitoring and providing information over a peer to peer network
JP2005260321A (ja) * 2004-03-09 2005-09-22 Nec Corp ラベルパスネットワークの迂回制御方式
US7856509B1 (en) 2004-04-09 2010-12-21 Juniper Networks, Inc. Transparently providing layer two (L2) services across intermediate computer networks
US7606235B1 (en) * 2004-06-03 2009-10-20 Juniper Networks, Inc. Constraint-based label switched path selection within a computer network
JP4392294B2 (ja) * 2004-06-15 2009-12-24 株式会社日立製作所 通信統計収集装置
US7570605B1 (en) 2004-08-30 2009-08-04 Juniper Networks, Inc. Multicast data trees for multicast virtual private networks
JP2006074286A (ja) * 2004-08-31 2006-03-16 Fujitsu Ltd 伝送装置
US8364829B2 (en) * 2004-09-24 2013-01-29 Hewlett-Packard Development Company, L.P. System and method for ascribing resource consumption to activity in a causal path of a node of a distributed computing system
US7602702B1 (en) 2005-02-10 2009-10-13 Juniper Networks, Inc Fast reroute of traffic associated with a point to multi-point network tunnel
US7738859B2 (en) * 2005-03-10 2010-06-15 Interdigital Technology Corporation Multi-node communication system and method of requesting, reporting and collecting destination-node-based measurements and route-based measurements
JP4639112B2 (ja) * 2005-04-28 2011-02-23 株式会社日立製作所 リモートコピートポロジチェック方法
DE102005035201B4 (de) * 2005-07-27 2009-02-26 Siemens Ag Netzknoteneinheit und Verfahren zur Weiterleitung von Datenpaketen
US9166807B2 (en) * 2005-07-28 2015-10-20 Juniper Networks, Inc. Transmission of layer two (L2) multicast traffic over multi-protocol label switching networks
US7990965B1 (en) 2005-07-28 2011-08-02 Juniper Networks, Inc. Transmission of layer two (L2) multicast traffic over multi-protocol label switching networks
US7787361B2 (en) * 2005-07-29 2010-08-31 Cisco Technology, Inc. Hybrid distance vector protocol for wireless mesh networks
US7564803B1 (en) * 2005-08-29 2009-07-21 Juniper Networks, Inc. Point to multi-point label switched paths with label distribution protocol
US7839850B2 (en) * 2006-01-30 2010-11-23 Juniper Networks, Inc. Forming equal cost multipath multicast distribution structures
US8270395B2 (en) * 2006-01-30 2012-09-18 Juniper Networks, Inc. Forming multicast distribution structures using exchanged multicast optimization data
US7684350B2 (en) * 2006-03-16 2010-03-23 Cisco Technology, Inc. Method and apparatus for distributing labels in a label distribution protocol multicast network
CN101047624B (zh) * 2006-04-27 2010-06-09 华为技术有限公司 标签分配方法以及标签出让方法
US8014299B2 (en) 2006-05-22 2011-09-06 Alcatel Lucent Method and apparatus for detecting forwarding loops
US7742482B1 (en) 2006-06-30 2010-06-22 Juniper Networks, Inc. Upstream label assignment for the resource reservation protocol with traffic engineering
US7787380B1 (en) 2006-06-30 2010-08-31 Juniper Networks, Inc. Resource reservation protocol with traffic engineering point to multi-point label switched path hierarchy
US7839862B1 (en) 2006-06-30 2010-11-23 Juniper Networks, Inc. Upstream label assignment for the label distribution protocol
AU2007317889B2 (en) 2006-11-07 2011-05-12 Kroll Information Assurance, Llc System and method for enhanced experience with a peer to peer network
US7684346B2 (en) * 2006-12-29 2010-03-23 Nokia Corporation Communications control for extending the period over which a terminal is able to have an open connection with a host accessible via a packet data network
CN101237677B (zh) 2007-02-02 2010-09-08 华为技术有限公司 系统间切换时传递聚合最大位速率的方法、网络系统及目的侧网络
JP4469866B2 (ja) * 2007-03-20 2010-06-02 富士通株式会社 パケット伝送装置および半導体装置
CA2683600C (en) 2007-04-12 2017-07-04 Tiversa, Inc. A system and method for creating a list of shared information on a peer-to-peer network
JP2008278337A (ja) * 2007-05-01 2008-11-13 Brother Ind Ltd 情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法
CN101316225B (zh) * 2007-05-30 2012-12-12 华为技术有限公司 一种故障检测方法、通信系统和标签交换路由器
EP2171666A4 (en) 2007-06-11 2012-05-09 Tiversa Inc SYSTEM AND METHOD FOR PASSING ADVERTISEMENTS IN A NETWORK OF PEERS
WO2009040903A1 (ja) * 2007-09-26 2009-04-02 Fujitsu Limited ネットワーク監視システム、経路抽出方法、プログラム、及びプログラムを記録したコンピュータ読み取り可能な記録媒体
US8125926B1 (en) 2007-10-16 2012-02-28 Juniper Networks, Inc. Inter-autonomous system (AS) virtual private local area network service (VPLS)
JP4743196B2 (ja) * 2007-12-14 2011-08-10 ソニー株式会社 電子機器および電子機器におけるループ判断方法
US7752666B2 (en) * 2007-12-21 2010-07-06 At&T Labs, Inc. Detection of routing loops based on time-to-live expiries
JP2009239902A (ja) * 2008-03-07 2009-10-15 Buffalo Inc ネットワーク集線装置、ネットワークシステム、ネットワーク集線装置の設置位置特定方法
US7936780B1 (en) 2008-03-12 2011-05-03 Juniper Networks, Inc. Hierarchical label distribution protocol for computer networks
US8787239B2 (en) * 2008-04-30 2014-07-22 Qualcomm Incorporated Methods and apparatus for enabling relay-model tethered data calls in wireless networks
US8539035B2 (en) * 2008-09-29 2013-09-17 Fujitsu Limited Message tying processing method and apparatus
US8644186B1 (en) * 2008-10-03 2014-02-04 Cisco Technology, Inc. System and method for detecting loops for routing in a network environment
US7929557B2 (en) 2008-11-14 2011-04-19 Juniper Networks, Inc. Summarization and longest-prefix match within MPLS networks
US8077726B1 (en) 2008-12-10 2011-12-13 Juniper Networks, Inc. Fast reroute for multiple label switched paths sharing a single interface
JP5354392B2 (ja) * 2009-02-02 2013-11-27 日本電気株式会社 通信ネットワーク管理システム、方法、プログラム、及び管理計算機
JP5640982B2 (ja) * 2009-09-14 2014-12-17 日本電気株式会社 通信システム、転送ノード、経路管理サーバ、通信方法およびプログラム
CN102036132B (zh) 2009-09-30 2013-04-24 华为技术有限公司 时隙端口号分配方法、装置及系统
US8422514B1 (en) 2010-02-09 2013-04-16 Juniper Networks, Inc. Dynamic configuration of cross-domain pseudowires
US8773978B2 (en) * 2010-02-15 2014-07-08 Futurewei Technologies, Inc. System and method for protecting ingress and egress of a point-to-multipoint label switched path
US8310957B1 (en) 2010-03-09 2012-11-13 Juniper Networks, Inc. Minimum-cost spanning trees of unicast tunnels for multicast distribution
US8447909B2 (en) 2010-07-19 2013-05-21 International Business Machines Corporation Register access in distributed virtual bridge environment
US9198203B2 (en) * 2010-11-09 2015-11-24 Cisco Technology, Inc. System and method for routing critical communications
CN102143018B (zh) * 2010-12-07 2014-04-30 华为技术有限公司 消息循环的检测方法、路由代理设备及组网系统
US20130266018A1 (en) * 2010-12-27 2013-10-10 Yuta Ashida Communication system and communication method
US9246838B1 (en) 2011-05-27 2016-01-26 Juniper Networks, Inc. Label switched path setup using fast reroute bypass tunnel
US9100213B1 (en) 2011-06-08 2015-08-04 Juniper Networks, Inc. Synchronizing VPLS gateway MAC addresses
CN102595358A (zh) * 2011-11-25 2012-07-18 中兴通讯股份有限公司 一种防止短消息循环的处理方法和装置
US8861400B2 (en) 2012-01-18 2014-10-14 International Business Machines Corporation Requesting multicast membership information in a distributed switch in response to a miss event
US8891535B2 (en) * 2012-01-18 2014-11-18 International Business Machines Corporation Managing a global forwarding table in a distributed switch
US8837479B1 (en) 2012-06-27 2014-09-16 Juniper Networks, Inc. Fast reroute between redundant multicast streams
CN103546304B (zh) * 2012-07-11 2017-08-25 华为技术有限公司 业务处理方法、设备及系统
US9049148B1 (en) 2012-09-28 2015-06-02 Juniper Networks, Inc. Dynamic forwarding plane reconfiguration in a network device
US9258208B2 (en) * 2012-10-30 2016-02-09 Cisco Technology, Inc. Multiple path availability between walkable clusters
US8953500B1 (en) 2013-03-29 2015-02-10 Juniper Networks, Inc. Branch node-initiated point to multi-point label switched path signaling with centralized path computation
US9942330B2 (en) * 2013-04-19 2018-04-10 Extreme Networks, Inc. Session manager anti-looping
US9350648B2 (en) * 2014-05-09 2016-05-24 Huawei Technologies Co., Ltd. System and method for loop suppression in transit networks
CN105634944B (zh) * 2014-11-26 2018-11-09 华为技术有限公司 路由环路确定方法及设备
US10511498B1 (en) 2015-02-25 2019-12-17 Infoblox Inc. Monitoring and analysis of interactions between network endpoints
US9806895B1 (en) 2015-02-27 2017-10-31 Juniper Networks, Inc. Fast reroute of redundant multicast streams
US10547543B2 (en) 2015-06-24 2020-01-28 Futurewei Technologies, Inc. Elegant temporal label switched path tunnel service controller
US10200280B2 (en) * 2015-06-25 2019-02-05 Futurewei Technologies, Inc. Software-defined network for temporal label switched path tunnels
US10498640B2 (en) 2015-09-04 2019-12-03 Futurewei Technologies, Inc. PCE for temporal tunnel services
KR102233213B1 (ko) * 2016-05-12 2021-03-29 현대자동차주식회사 네트워크에서 스트림의 통신 경로 설정 방법
JP2017204857A (ja) * 2016-05-12 2017-11-16 現代自動車株式会社Hyundai Motor Company ネットワークにおいてストリームの通信経路設定方法
US10721157B2 (en) * 2017-02-21 2020-07-21 Telefonaktiebolaget Lm Ericsson (Publ) Mechanism to detect data plane loops in an openflow network
CN107809351B (zh) * 2017-10-24 2022-05-10 南京贝伦思网络科技股份有限公司 一种以旁路方式检测环路的方法
CN109391526B (zh) * 2018-11-27 2020-12-18 锐捷网络股份有限公司 一种网络环路的检测方法及装置
US11374791B2 (en) 2019-07-31 2022-06-28 Hewlett Packard Enterprise Development Lp Orchestration of subnetwork extensions across a wide area network
EP3813311B1 (en) * 2019-10-21 2023-08-30 Carrier Corporation On-demand table and route update after a node failure in a wireless network
CN114448866B (zh) * 2021-12-23 2024-04-12 东莞市李群自动化技术有限公司 网络域的管控方法、网络系统、设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1245327A (en) 1985-09-06 1988-11-22 Northern Telecom Limited Path oriented routing system and method for packet switching networks
JPH01255340A (ja) 1988-04-05 1989-10-12 Hitachi Ltd マルチネツトワークシステム
US5265092A (en) 1992-03-18 1993-11-23 Digital Equipment Corporation Synchronization mechanism for link state packet routing
KR100258137B1 (ko) * 1993-12-30 2000-06-01 윤종용 비동기 전송 시스템에서의 가상경로 및 가상 채널 인식자의 개선된 할당방법 및 장치
US5579480A (en) * 1995-04-28 1996-11-26 Sun Microsystems, Inc. System and method for traversing ATM networks based on forward and reverse virtual connection labels
JP3515263B2 (ja) 1995-05-18 2004-04-05 株式会社東芝 ルータ装置、データ通信ネットワークシステム、ノード装置、データ転送方法及びネットワーク接続方法
JP2746221B2 (ja) 1995-09-27 1998-05-06 日本電気株式会社 ブリッジ装置
US6069889A (en) * 1996-10-02 2000-05-30 International Business Machines Corporation Aggregation of data flows on switched network paths
US6188689B1 (en) 1996-10-04 2001-02-13 Kabushiki Kaisha Toshiba Network node and method of frame transfer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010506442A (ja) * 2006-09-30 2010-02-25 華為技術有限公司 Mplsにおけるループ取り消し法およびルータ
JP4898922B2 (ja) * 2006-09-30 2012-03-21 華為技術有限公司 Mplsにおけるループ取り消し法およびルータ
US8238229B2 (en) 2006-09-30 2012-08-07 Huawei Technologies Co., Ltd. Method and device for loop withdrawal in a MPLS network

Also Published As

Publication number Publication date
DE69833347T2 (de) 2006-09-28
DE69833347D1 (de) 2006-04-13
US7120145B2 (en) 2006-10-10
EP0896494B1 (en) 2006-02-01
EP0896494A2 (en) 1999-02-10
CA2244481A1 (en) 1999-02-08
US6501754B1 (en) 2002-12-31
JP3688877B2 (ja) 2005-08-31
EP0896494A3 (en) 1999-11-17
CA2244481C (en) 2003-10-14
US20020176370A1 (en) 2002-11-28

Similar Documents

Publication Publication Date Title
JPH11243416A (ja) ノード装置及びラベルスイッチングパスのループ検出方法
JP3615057B2 (ja) ラベルスイッチングパス設定方法及びノード装置
US6058113A (en) Method for enhancing resource reservation communication
JP2739023B2 (ja) パケツト伝送システム
US6636516B1 (en) QOS-based virtual private network using ATM-based internet virtual connections
US5265092A (en) Synchronization mechanism for link state packet routing
US5243592A (en) Method and apparatus for distance vector routing on datagram point-to-point links
US7570649B2 (en) Forwarding state sharing between multiple traffic paths in a communication network
JP3963728B2 (ja) スパニングツリーのバイパス方法および装置
US5361256A (en) Inter-domain multicast routing
JP3430966B2 (ja) 無線atmを使用してipマルチキャストを処理できるネットワークシステム及び方法
US7065079B1 (en) VC sharing for multicast in a computer network
US7126921B2 (en) Packet network providing fast distribution of node related information and a method therefor
US20020181402A1 (en) Adaptive path discovery process for routing data packets in a multinode network
US8009683B2 (en) IP network system
JPH1028143A (ja) ノード装置及びパケット転送方法
JPWO2002087175A1 (ja) リストレーション・プロテクション方法及び装置
JPH0936873A (ja) リンクステートルーティング装置
JP2003516035A (ja) キャラクタリスティックルーティング
JP3449541B2 (ja) データパケット転送網とデータパケット転送方法
US20030076854A1 (en) Communications network
JP3517114B2 (ja) ノード装置並びにループ検出方法及びパケット送信方法
JP2000324127A (ja) 迂回経路選定方法及び装置、障害回復方法及び装置、ノード並びにネットワークシステム
JP3591492B2 (ja) パケット振分装置およびパケット振分プログラム
KR100552518B1 (ko) 네트워크 프로세서에서의 ecmp 구현장치

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050131

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050609

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110617

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130617

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees