GMPLS(Generalized Multi−Protocol Label Switching)/MPLSは、ラベル情報に従ってデータ転送を行う技術である。GMPLSにおけるラベル情報とは、パケットの先頭に実際に添付される固定長ラベルを意味するだけでなく、時間分割伝送にあってはパケットのデータが収容されるタイムスロットがこれに相当し、光多重伝送にあってはパケットのデータを搬送する光の波長がこれに相当する。特に、パケットの先頭に添付された固定長ラベルを用いて転送するネットワークをMPLS網と呼ぶ。なお、GMPLS網では、MPLS網で使用される固定長ラベルも含めいずれか、もしくはいくつかのラベル情報が用いられる。
例えば、固定長ラベルを用いるパケット転送では、中継ノード(LSR:Label Switched Router)は、入力ラベル&入力IF(インタフェース)に対する出力ラベル&出力IFの関係を示すラベルテーブルを保持する。そして、パケット中継時には、受信したパケットの宛先アドレスではなく、パケットに添付されているラベルに従って出力IFを決定し、パケットに添付されているラベルを出力ラベルに書き換え中継する。これを繰り返すことにより、宛先までパケットを高速に送信することができる。なお、GMPLS/MPLS網の入口の中継ノード(始点ノード)が最初にラベルを添付する。
図1を参照して、パケット中継方法について説明する。LSR1を始点としてLSR2からLSR4へパケットを転送する。まず、LSR1は転送するパケット10にラベルaを添付する。そして、LSR2はラベルaを持つパケットをIF#1から受信すると、ラベルaとIF#1の組み合わせでラベルテーブル12を検索し、出力IFとしてIF#2及び出力ラベルとしてラベルbを獲得する。そして、パケットのラベルを出力ラベルであるラベルbに書き換えた後、パケットを出力IFであるIF#2に出力する。これを繰り返し、終端のLSR4(終点ノード)までパケットを転送する。このように固定長のラベルに従い転送することにより、パケット中継の高速化を図ることができる。
さらに中継ノードにおいて帯域制御と各ラベルを関連付けることにより、各パケットフローに対して帯域保証を行うことができる。
時分割伝送では、各ノードが入力タイムスロット&入力IFに対する出力タイムスロット&出力IFの関係を示すラベルテーブルを保持する。そして、各ノードは、受信IFと受信タイムスロットから出力IFと出力タイムスロットを決定し、データを出力IFの出力タイムスロットに出力する。これを繰り返すことにより、宛先までデータを送信する。
光多重伝送では、各ノードが入力光波長&入力IFに対する出力光波長&出力IFの関係を示すラベルテーブルを保持する。そして、各ノードは、受信IFと受信光波長から出力IFと出力光波長を決定し、受信光波長を出力光波長に変換し、出力IFに出力する。これを繰り返すことにより、宛先までデータを送信する。
GMPLSとは、上記のような、固定長ラベル、タイムスロット、光波長をラベルとして扱うことにより、同一の仕組みで転送を行う技術である。
GMPLS/MPLSでは、各ノードでラベルテーブルを構築する必要がある。そのために、図2に示すようなパス確率シグナリングプロトコル(CR−LDP/RSVP−TE等)が用いられる。
以下ではRSVP−TEを例に取り、ラベルテーブルを構築することによるパス確立の動作を説明する。パス確立を要求する始点ノードLSR1は、パスの終点ノードLSR4までパス確立要求メッセージ(Pathメッセージ)14をHop−by−Hopで送信する。下記の例では、明示的に経路を指定するため、Pathメッセージ14中に経由する中継ノードの情報16が挿入されている。Pathメッセージ14を受信した終点ノードLSR4は、ラベルの割り当てを行うパス確立応答メッセージ(Resvメッセージ)18をPathメッセージ14が送られてきた経路に沿って始点ノードLSR1へ返信する。このとき、Resvメッセージ18に格納されているラベル20をラベルテーブルに登録することにより、データを転送するためのラベルテーブル24が構築される。Path/ResvメッセージともにパスID22が格納されており、ラベルテーブルにはパスIDも合わせて登録される。
以下ではRSVP−TEを例に取り、経路トレース機能を実現するための従来手法について説明する。RSVPにおいて経路トレースを実現する手法としてRecord Route Object(RRO)を用いた手法がIETF標準で定義されている(RFC3209,RFC3477)。図3を参照してその動作を説明する。図3の(a)欄には経路トレースを行うパスとパス上のノードとその識別子(A,B,C・・・・I)および入出力インターフェースの番号(1または2)が示されている。(b)欄はノード間で転送されるパス確立要求メッセージを示し、(c)欄はパス確立応答メッセージを示す。経路トレースを要求する始点ノードAは、パス確立のためのパス確立要求(Path)メッセージに経路トレースを要求するためのオブジェクトRROを挿入するとともに、RRO sub−objectとして自身のノード識別子(A)、および出力インタフェースの番号(2)を付与した上で、Hop−by−hopで送信する。Pathメッセージを受信した中間ノードは、RRO objectが挿入されていることから、経路トレース機能が有効になっていると判断し、自身のノード識別子(A〜H)およびパスが通過する出力インタフェースの番号(1または2)をRRO sub−objectとしてリストに追加した上でPathメッセージを次hopへ転送する。中継ノードはこの手順をそれぞれ実施し、最終的にPathメッセージが経由したノードおよびインタフェース番号のリストを含んだRROが、Pathメッセージによって終点ノードまで運ばれる。Pathメッセージを受信した終点ノードIは、応答(Resv)メッセージにRRO objectおよび自身の識別子(I)および出力インタフェースの番号(1)を含むsub−objectを挿入し、Pathメッセージが送られてきた経路に沿って始点ノードAへ返信する。RRO objectを含むResvメッセージを受信した中間ノードは自身のノード識別子および、パスが通過する出力インタフェースの情報をRRO sub−objectとしてリストに追加した上で次hopへResvメッセージを転送する。最終的にはResvメッセージが経由したノードおよびインターフェースの番号のリストを含んだRROが、Resvメッセージによって始点ノードAまで運ばれる。以上の手順を実施することにより、それぞれのノードはPathメッセージから自身の上流に位置するノード群のリストを、Resvメッセージから自身の下流に位置するノード群のリストを取得し、両情報から、確立されたパスが経由しているノードの情報を取得することができる。例えばノードEにおいては、ノードDから受け取ったPathメッセージ26からノードEの上流に位置するノード群のリストが得られ、ノードFから受け取ったResvメッセージ28からノードEの下流に位置するノード群のリストが得られる。なお、このPathメッセージとResvメッセージのやり取りはパス確立時に限らず、パス確立後においても経路情報の確認のため行なわれることがある。
ところで、ネットワークが大きくなってくると、ネットワークを複数のドメインに分割して運用する場合がある。この場合に、ドメイン内のノードが連携するためにINNI(Internal Network−Node Interface)シグナリングプロトコル、ドメインの境界ノードが連携するためにENNI(External Network−Node Interface)シグナリングプロトコルが用いられる。
複数のドメインに分割され、INNIシグナリングプロトコルと、ENNIシグナリングプロトコルが用いられる場合も上記と同様の手順で、経路トレース機能が提供される。図4に示すように、ドメイン内のノード(ノードB,E,H)は、INNIシグナリングプロトコルを処理する、図中白丸で示すINNIシグナリング処理部を持っている。一方、ドメインの境界に位置する境界ノード(ノードA,C,D,F,G,I)は、INNIシグナリング処理部と、ENNIシグナリングプロトコルを処理する、図中黒丸で示すENNIシグナリング処理部を持っている。INNIシグナリング処理部、ENNIシグナリング処理部は、前述した経路トレース機能とほぼ同様の動作を行う。INNIシグナリング処理部とENNIシグナリング処理部を有する境界ノードは、INNIシグナリング処理部が受信した経路情報リストをINNIシグナリング処理部に引き渡すこと、あるいは、ENNIシグナリング処理部が受信した経路情報リストをINNIシグナリング処理部に引き渡すことが必要になる。そして、境界ノードは引き渡された経路情報リストに自身のノード識別子、および、出力インタフェースの番号を追加し、次のノードに制御メッセージ(Path/Resvメッセージ)を転送する。例えば、ノードCのENNIシグナリング処理部は隣接ドメインのノードDからENNIシグナリングプロトコルの制御メッセージ(Resvメッセージ)を受信すると、受信制御メッセージ中の経路情報リストをINNIシグナリング処理部に引き渡す。そして、INNIシグナリング処理部は、自身のノード識別子および出力インタフェースの番号をリストに追加した上で次hopへResvメッセージを転送する。ENNIシグナリングプロトコルの詳細については下記非特許文献1に説明されている。INNIシグナリングプロトコルの詳細については、下記に非特許文献2として挙げたRFC3209に記載されている。
複数のドメインに分割されたネットワークにおいて、INNIシグナリングプロトコルとENNIシグナリングプロトコルが使用される場合、INNIシグナリングプロトコルはドメイン内の管理ルールに従い、ENNIシグナリングプロトコルはドメイン間で取り決められた管理ルールに従い、運用される。図4に示した例では、ENNIシグナリングプロトコルおよびINNIシグナリングプロトコルのいずれにおいても、ノードとノードを結ぶ各リンクについて、メッセージがリンクへ入力される側(以下、「リンクの入力側」と称する)のノードがその識別子と出力インターフェース(リンクから見れば入力インターフェース)の番号を経路情報に追加する、という運用ルールが適用されている。一方、例えばINNIシグナリングプロトコルにおいては、リンクの入力側のノードがそのリンクについての情報(ノード識別子+インターフェース番号)を追加するという運用ルールが適用され、ENNIシグナリングプロトコルにおいては、リンクの出力側のノードがそのリンクについての情報を追加するという運用ルールが適用される、といったように、INNIとENNIとで適用される運用ルールが異なる場合がある。この場合、以下に説明するように情報に不整合が生じ、正しく経路を把握できないという問題がある。
たとえば、図5に示すように、INNIシグナリングプロトコルではリンクの入力側のノードが情報を経路情報リストに追加するが、ENNIシグナリングプロトコルではリンクの出力側のノードが情報を追加するという運用になる場合がある。この場合ノードGとノードHの間のリンクに関してはINNIの管理ルールに従いノードHが自ノードの情報(H.1)を追加し、ノードFとノードGの間のリンクに関してはENNIの運用ルールに従いノードFが自ノードの情報(F.2)を追加する。そのため、ノードGに関する情報が追加されないという問題がある。ノードFについてはそのENNI処理部がリンクF−Gに関する情報(F.2)を追加し、さらにINNI処理部がリンクE−Fに関する情報(F.1)を追加することになる。それに対してノードGのENNI処理部およびINNI処理部はいずれも情報を追加することなくメッセージを転送することになる。同様に、ノードDに関しても情報が追加されない。
また、INNI/ENNIシグナリングプロトコルの運用では、ドメイン内部で使用しているアドレス空間とドメイン間の連携で使用するネットワーク全体で使用するアドレス空間を独立にすることができるという特徴がある。独立したアドレス空間で運用された場合を図6に示す。INNIドメイン毎に独立にアドレスを割り当てることができるため、重複したアドレスが経路情報リストに格納されてしまう問題点が発生する可能性がある。図6に示す例では、経路情報リストにはノードa、ノードb、ノードcが複数格納されてしまう問題点が発生する。
Intra-Carrier E-NNI Signaling Specification, February 27, 2004(http://www.oiforum.com/public/documents/OIF-E-NNI-Sig-01.0-rev1.pdfからダウンロード可能)
RFC3209
図7は本発明の一実施形態に係るノード装置の一例の構成を示すブロック図である。ノード装置30のENNI処理部32はドメイン外の領域からのPathメッセージ、ResvメッセージなどのENNI制御メッセージを受信するENNI制御メッセージ受信部34と、受信したENNI制御メッセージに経路トレースを要求するRRO(Record Route object)が含まれているとき、ENNIの運用ルールに従って経路情報を追加するENNI経路情報追加部36を備えたENNI経路情報処理部38と、ドメイン外の領域へENNI制御メッセージを送信するENNI制御メッセージ送信部40を備えている。ENNI制御メッセージ受信部34で受信されENNI経路情報処理部38において処理されるメッセージのうち、ドメイン内を宛先とするものに含まれる経路情報は、必要に応じて情報を追加した後、INNI処理部42へ引き渡される。
INNI処理部42はドメイン内の領域からのPathメッセージ、ResvメッセージなどのINNI制御メッセージを受信するINNI制御メッセージ受信部44と、受信したINNI制御メッセージに経路トレースを要求するRROが含まれている時、INNIの運用ルールに従って経路情報を追加するINNI経路情報追加部46を備えたINNI経路情報処理部48と、ドメイン内の領域へINNI制御メッセージを送信するINNI制御メッセージ送信部50を備えている。INNI制御メッセージ受信部44で受信されINNI経路情報処理部48において処理されるメッセージのうち、ドメイン外を宛先とするものに含まれる経路情報は、必要に応じて情報を追加した後、ENNI処理部32へ引き渡される。
ENNI経路情報処理部38に含まれるENNI経路情報変換テーブル52は、ドメイン外の領域からドメイン内の領域へ向かうメッセージに含まれる経路情報の中で変換が必要なものについて変換前の経路情報と変換後の経路情報の組み合わせを記憶する一種のデータベースである。ENNI経路情報変換部54はメッセージに含まれる経路情報をENNI経路情報変換テーブル52を参照して変換する。
INNI経路情報処理部48に含まれるINNI経路情報変換テーブル56は、ドメイン内の領域からドメイン外の領域へ向かうメッセージに含まれる経路情報の中で変換が必要なものについて変換前の経路情報と変換後の経路情報の組み合わせを記憶するデータベースである。INNI経路情報変換部58はメッセージに含まれる経路情報をINNI経路情報変換テーブル56を参照して変換する。
図8は図7に示した構成のノード装置における処理の一例を示すフローチャートである。図8において、まず、ENNI制御メッセージ受信部34がRROを有するENNI制御メッセージを受信すると(ステップ1000)、ENNI経路情報処理部38のENNI経路情報追加部36に引き渡される。ENNI経路情報追加部36では、ENNIシグナリングプロトコルにおいて適用される運用ルールが、メッセージがリンクから出力される側(以下「リンクの出力側」と称する)のノードに関する情報を追加するルールであれば(ステップ1002)自ノードの情報(ノードの識別子+インターフェースの番号)を経路情報に追加する(ステップ1004)。次に、メッセージを転送すべき宛先が自ノードが属するドメイン内のノードであるかが判定され(ステップ1006)、宛先がドメイン外であるとき、ステップ1008に進む。そして、ENNIの運用ルールがリンクの入力側のノードの情報を追加するルールであれば(ステップ1008)、ENNI経路情報追加部36において、自ノードの情報を経路情報に追加する(ステップ1010)、そして、ENNI制御メッセージ送信部40においてメッセージが送信される(ステップ1012)。
INNI制御メッセージ受信部44がPROを有するINNI制御メッセージを受信すると(ステップ1014)、INNI経路情報処理部48のINNI経路情報追加部46に引き渡される。INNI経路情報追加部46では、INNIシグナリングプロトコルにおいて適用される運用ルールが、リンクの出力側のノードに関する情報を追加するルールであれば(ステップ1016)自ノードの情報を経路情報に追加する(ステップ1018)。次に、メッセージを転送すべき宛先が自ノードが属するドメイン外のノードであるかが判定され(ステップ1020)、宛先がドメイン内であるとき、ステップ1022へ進む。そして、INNIの運用ルールがリンクの入力側のノードの情報を追加するルールであれば(ステップ1022)、INNI経路情報追加部46において、自ノードの情報を経路情報に追加する(ステップ1024)。そして、INNI制御メッセージ送信部50においてメッセージが送信される(ステップ1026)。
ステップ1006において、ドメイン外の領域から受信したメッセージの転送先が自ノードが属するドメイン内のノードであると判定されるとき、ENNI経路情報変換部54では、まず、転送されるメッセージについて直前に適用されていた運用ルールとこれから適用されるべき運用ルールが異なっていて経路情報の変換が必要かどうかを判定し、(ステップ1028)、変換が必要であるときはメッセージに含まれる経路情報と同じエントリがENNI経路情報変換テーブル52に登録されているかを確認し、マッチしたものを変換が必要な経路情報として抽出し(ステップ1030)、ENNI経路情報変換テーブル52を用いて変換する(ステップ1032)。その後、INNI処理部のステップ1022の処理に変換する。
ステップ1020において、ドメイン内の領域から受信したメッセージの転送先がドメイン外であると判定されるとき、INNI経路情報変換部58では、まず、転送されるメッセージについて直前に適用されていた運用ルールとこれから適用されるべき運用ルールが異なっていて経路情報の変換が必要かどうかを判定し、(ステップ1034)、変換が必要であるときはメッセージに含まれる経路情報と同じエントリがINNI経路情報変換テーブル56に登録されているかを確認し、マッチしたものを変換が必要な経路情報として抽出し(ステップ1036)、INNI経路情報変換テーブル52を用いて変換する(ステップ1038)。その後、ENNI処理部のステップ1008の処理に変換する。
図9を参照し、パス確立シグナリングプロトコル(RSVP−TE)を用いて、ノードA→ノードB→ノードC→ノードX→ノードD→ノードE→ノードF→ノードY→ノードG→ノードH→ノードIの経路のパスを確立する場合において、パス確立応答メッセージ(Resvメッセージ)による経路トレース機能の動作の第1の例を説明する。
図9に示すネットワークは、複数のドメインに分割され、ドメイン間で使用されるENNIシグナリングプロトコルと各ドメイン間で使用されるINNIシグナリングプロトコルとで独立した運用ルールが適用されている。ENNIシグナリングプロトコルでは各リンクの出力側のノードの情報(以下、出力インタフェース情報と称す)が収集され、ドメイン内で使用されるINNIシグナリングプロトコルでは各リンクの入力側のノードの情報(以下、入力インタフェース情報と称す)が収集される。通常、ドメイン毎に独立な運用ルールで運用されているため、全てのドメイン内で同じように入力インタフェース情報を収集するとは限らないが、説明を簡単にするため、同じルールで運用しているとする。また、Resvメッセージによる経路トレース機能の動作を例に取って説明するが、パス確立要求メッセージ(Pathメッセージ)による経路トレースでも同様の動作で実現可能である。
始点ノードAは、パスを確立する経路に沿ってパス確立要求メッセージ(Pathメッセージ)をHop−by−Hopで転送する。そして、以下の動作によりResvメッセージによる経路トレース機能が実現される。
Pathメッセージを受信した終点ノードIはパス確立応答時にRROをパス確立応答メッセージ(Resvメッセージ)に含めることにより、経路トレースを要求する。終点ノードIは、ドメイン内のノードHとはINNIシグナリングプロトコルを使って連携するため、ノードHとのリンクについての入力インタフェース情報、すなわち自ノード識別子+インタフェース番号(I.1)をRRO sub−objectとしてRROに格納し、そのRROを格納したINNIシグナリングプロトコルのResvメッセージ(以下、INNI Resvメッセージと称す)60をノードHへ送信する。
INNI Resvメッセージ60を受信したノードHは、ドメイン内のノードGとはINNIシグナリングプロトコルを使って連携するため、ノードGとのリンクの入力インタフェース情報、すなわち自ノード識別子+インタフェース番号(H.1)をRRO sub−objectとしてRROに追加し、そのRROを格納したINNI Resvメッセージ62を前段ノードGへ送信する。
INNI Resvメッセージ62を受信したドメイン境界ノードGは、隣接ドメインのノードYとはENNIシグナリングプロトコルを使って連携する。ノードHとノードG間のINNI側のリンクについての情報はすでにリンクの入力側のノードHがRROに追加しており、かつ、ノードGとノードY間のENNI側のリンクについての情報はリンクの出力側のノードYが出力インタフェース情報を追加するため、ノードGは経路情報を追加しない。言い換えると、この例のようなINNI/ENNIシグナリングプロトコルのRRO運用ルールの場合は、ドメイン外ヘENNIシグナリングプロトコルのResvメッセージ(以下、ENNI Resvメッセージと称す)を送信するノードは経路情報をRROに追加しない。しかしながら、ドメイン間で受け渡される経路情報は出力インタフェース情報であり、これに合わせるため、ドメイン64内で収集した経路情報を経路情報変換テーブルを用いて入力インタフェース情報から出力インタフェース情報に変換する。経路情報変換テーブルはリンクの両端のノードの情報を対応付けた以下のような表である。RROに格納されている全てのRRO sub−objectを検索し、矢印66で示すように、経路情報変換テーブルにマッチした全てのRRO sub−object(H.1およびI.1)を(G.2およびH.2へ)変換する。変換を行ったRROを格納したENNI Resvメッセージ68をノードYへ転送する。
ENNI Resvメッセージ68を受信したノードYは、ノードGとのリンクの出力インタフェース情報(Y.2)をRRO sub−objectとしてRROに追加し、そのRROを格納したENNI Resvメッセージ70をノードFへ送信する。
ENNI Resvメッセージを受信したドメイン境界ノードFは、ENNIシグナリングの運用ルールに従い、つまり、出力インタフェース情報を収集しているため、ノードYとのリンクの出力インタフェース情報、すなわち自ノード識別子+インタフェース番号(F.2)をRRO sub−objectとしてRROに追加する。そして、ドメイン内のノードEとはINNIシグナリングプロトコルを使って連携するため、さらに、ノードEとのリンクの入力インタフェース情報、すなわち自ノード識別子+インタフェース番号(F.1)をRRO sub−objectとしてRROに追加し、そのRROを格納したINNI Resvメッセージ72をノードEへ送信する。
同様の処理を繰り返し、Resvメッセージを始点ノードAまで転送する。
INNI Resvメッセージ74を受信したドメイン境界ノード(始点ノード)Aは、ドメイン間で受け渡される経路情報は出力インタフェース情報であるため、ドメイン76内で収集した経路情報を経路情報変換テーブルを用いて矢印78で示すように入力インタフェース情報(B.1,C.1)から出力インタフェース情報(A.2,B.2)に変換する。変換を行ったRROに格納されている情報79によりパスが通過する経路全体を把握することができる。
なお、経路情報変換テーブルは、管理者により手動で構築してもよいし、ルーティングプロトコルで交換されているドメイン内のリンク情報等を流用してもよい。
上記の動作において、境界ノードGと境界ノードFが内部でどのような動作を行ったか、既に説明済の図7のブロック図および図8のフローチャートを参照して説明する。
まずは、INNI Resvメッセージを受信するドメイン境界ノードGの動作について説明する。
ステップ1014) 経路情報リスト(RRO)を持ったINNI Resvメッセージを受信する(INNI制御メッセージ受信部44)。
ステップ1016) INNIシグナリングプロトコルでは経路情報としてリンクの入力インターフェース情報を追加する運用ルールが適用されているため、ここでは経路情報は追加されない。
ステップ1020) Resvメッセージを転送するノードはドメイン内かドメイン外かを確かめる。この例では、ノードYはドメイン外に存在する。(INNI経路情報処理部48)
ステップ1034) 経路情報の変換が必要であるか否かを確かめる。この例では、INNIシグナリングプロトコルとENNIシグナリングプロトコルにおける経路トレース機能の運用ルールが異なり、かつ、ドメイン外の連携であるENNIシグナリングの運用ルールに合わせる必要があるため、経路情報の変換が必要である。(INNI経路情報変換部58)
ステップ1036) RROに格納されている経路情報と同じエントリが経路情報変換テーブル56に登録されているかを確認し、マッチしたものを変換が必要な経路情報として抽出する。(INNI経路情報変換部58)
ステップ1038) 経路情報変換テーブル56を用いて、入力インタフェース情報を出力インタフェース情報に変換する。経路情報変換テーブル56に格納されているリンク情報によって変換することで、リンクの一方の端点の情報を他方の端点の情報に変換することができる。(INNI経路情報変換部58)
ステップ1008) ENNIシグナリングプロトコルではリンクの出力インターフェース情報を追加する運用ルールが適用されるので、ここでは経路情報の追加はない。
ステップ1012) 変換を行ったRROを格納したENNI Resvメッセージを前段ノードFへ転送する。(ENNI制御メッセージ送信部40)
次に、ENNI Resvメッセージを受信するドメイン境界ノードFの動作について説明する。
ステップ1000) 経路情報リスト(RRO)を持ったENNI Resvメッセージを受信する(ENNI制御メッセージ受信部34)。
ステップ1002) ENNIシグナリングプロトコルでは、リンクの出力インターフェース情報が追加されるので、出力インタフェース情報(自ノード識別子+インタフェース番号)をRRO sub−objectとしてRROに追加する。
ステップ1006) Resvメッセージを転送するノードはドメイン内かドメインが以下を確かめる。この例では、前段ノードEはドメイン内に存在する。(ENNI経路情報処理部38)
ステップ1028) 経路情報の変換が必要であるか否かを確かめる。この例では、INNIシグナリングプロトコルとENNIシグナリングプロトコルにおける経路トレース機能の運用ルールが異なるが、ドメイン外の連携であるENNIシグナリングの運用ルールに合わせるため、ENNIで収集した経路情報を変換する必要はない。(ENNI経路情報変換部54)
ステップ1022) INNIシグナリングプロトコルではリンクの入力インターフェース情報を追加する運用ルールが適用されるので、入力インタフェース情報(自ノード識別子+インタフェース番号)をRRO sub−objectとしてRROに追加する。
ステップ1026) 経路情報を追加したRROを格納したENNI ResvメッセージをノードFへ転送する。(INNI制御メッセージ送信部50)
以上の機能を実装することにより、INNIシグナリングプロトコルと、ENNIシグナリングプロトコルの経路トレース機能において、異なる位置を経路として記録するような運用が行われた場合においても、一貫性のある経路情報を収集(トレース)することが可能になる。
前述の第1の例では、ENNIシグナリングプロトコルではリンクの出力インタフェース情報が収集され、ドメイン内で使用されるINNIシグナリングプロトコルではリンクの入力インタフェース情報が収集されていた。図10に示す第2の例では、この運用ルールとは異なり、ENNIシグナリングプロトコルでは入力インタフェース情報が収集され、ドメイン内で使用されるINNIシグナリングプロトコルでは出力インタフェース情報が収集されるとして、経路トレース機能の動作を説明する。
まず、第1の例と同様にパス確立シグナリングプロトコル(RSVP−TE)を用いて、ノードA→ノードB→ノードC→ノードX→ノードD→ノードE→ノードF→ノードY→ノードG→ノードH→ノードIの経路のパスを確立する。この場合におけるパス確立応答メッセージ(Resvメッセージ)による経路トレース機能の動作が図10に示されている。ほぼ第1の例と同様の動作を行うが、以下の点が異なる。
・INNI Resvメッセージ80を受信したドメイン境界ノードGは、第1の例と異なり、ドメイン82間での経路情報は出力インタフェース情報であるため、ドメイン82内で収集した経路情報を経路情報変換テーブルを用いて、矢印84で示すように、出力インタフェース情報(G.2,H.2)から入力インタフェース情報(H.1,I.1)に変換する。
・ENNI Resvメッセージ86を受信したドメイン境界ノードFは、ノードFとノードY間のENNI側のリンク情報はすでにノードYがRROに追加しているため、経路情報として追加する必要はなく、また、ノードFとノードE間のINNI側のリンク情報もノードEが出力インタフェース情報を追加するため、経路情報を追加する必要がない。言い換えると、この例のようなINNI/ENNIシグナリングプロトコルのRRO運用ルールの場合は、ドメイン内へINNI Resvメッセージを送信するノードは経路情報をRROに追加する必要はない。ノードFは受信したRROを変更せずINNI Resvメッセージ88を前段ノードEへ転送する。
・INNI Resvメッセージ90を受信したドメイン境界ノード(始点ノード)Aは、ノードBとのリンクの出力インターフェース情報(A.2)を追加する。そしてドメイン間での経路情報は入力インタフェース情報であるため、ドメイン89内で収集した経路情報を経路情報変換テーブルを用いて出力インタフェース情報(A.2,B.2)から入力インタフェース情報(B.1,C.1)に変換する。変換を行ったRROに格納している経路情報95によりパスが通過する経路全体を把握することができる。
前述の第1の例では、ENNIシグナリングプロトコルでは出力インタフェース情報が追加され、ドメイン内で使用されるINNIシグナリングプロトコルでは入力インタフェース情報が追加される。第2の例では、ENNIシグナリングプロトコルでは入力インタフェース情報が追加され、ドメイン内で使用されるINNIシグナリングプロトコルでは出力インタフェースの情報が追加される。そしていずれも、最終的にENNIシグナリングの運用ルールに従う情報を収集する、第3の例では、最終的にINNIシグナリングの運用ルールに従う情報収集を行う場合の経路トレース機能の動作を説明する。なお、第3の例におけるENNIおよびINNIの運用ルールは、第2の例と同じ運用ルールとする。
まず、これまでの例と同様にパス確立シグナリングプロトコル(RSVP−TE)を用いて、ノードA→ノードB→ノードC→ノードX→ノードD→ノードE→ノードF→ノードY→ノードG→ノードH→ノードIの経路のパスを確立するとする。この場合におけるパス確立応答メッセージ(Resv メッセージ)による経路トレース機能の動作を図11に示す。ほぼこれまでに示した例と同様の動作を行うが、以下の点が異なる。
・INNI Resvメッセージ96を受信したドメイン境界ノードGは、INNIシグナリングの運用ルールに従い、つまり、出力インタフェース情報を追加しているため、自ノードの出力インタフェース情報G.2をPRO sub−objectとしてRROに追加する。そして、ドメイン外のノードYへ通信するときのENNIシグナリングプロトコルの運用ルールに従い、自ノードの入力インタフェース情報G.1をRRO sub−objectとしてRROに追加する。そのRROを格納したENNI Resvメッセージ98をノードYへ送信する。
・ENNI Resvメッセージ100を受信したドメイン境界ノードFは、ノードFとノードY間のENNI側のリンク情報はすでにノードYがRROに追加しているため、経路情報として追加する必要はなく、また、ノードFとノードE間のINNI側のリンク情報もノードEが出力インタフェース情報を追加するため、経路情報を追加する必要がない。言い換えると、この例のようなINNI/ENNIシグナリングプロトコルのRRO運用ルールの場合は、ドメイン内へINNI Resvメッセージを送信するノードは経路情報をRROに追加しない。しかし、最終的に収集するのはドメイン内の運用ルールに追加した出力インタフェース情報であるため、ENNI区間で収集した経路情報を経路情報変換テーブルを用いて入力インタフェース情報(G.1,Y.1)から出力インタフェース情報(F.2,Y.2)に変換する。そのRROを格納したINNI Resvメッセージ102をノードEへ送信する。
第4の例では、第3の例と同様に、最終的にINNIシグナリングの運用ルールに従って情報を収集する場合の経路トレース機能の動作を説明する。しかし、第3の例とは異なり、第4の例におけるENNIおよびINNIの運用ルールは、第1の例と同じ運用ルールとする。
まず、これまでの例と同様にパス確立シグナリングプロトコル(RSVP−TE)を用いて、ノードA→ノードB→ノードC→ノードX→ノードD→ノードE→ノードF→ノードY→ノードG→ノードH→ノードIの経路のパスを確立するとする。この場合におけるパス確立応答メッセージ(Resvメッセージ)による経路トレース機能の動作が図12に示されている。ほぼこれまでの例と同様の動作を行うが、以下の点が異なる。
・INNI Resvメッセージ104を受信したドメイン境界ノードGは、ノードGとノードH間のINNI側のリンク情報はすでにノードHがRROに追加しているため、経路情報として追加する必要はなく、また、ノードGとノードY間のENNI側のリンク情報もノードYが出力インタフェース情報を追加するため、経路情報を追加する必要がない。言い換えると、この例のようなINNI/ENNIシグナリングプロトコルのRRO運用ルールの場合は、ドメイン内へENNI Resvメッセージを送信するノードは経路情報をRROに追加しない。そのRROを格納したENNI ResvメッセージをノードYへ送信する。
・ENNI Resvメッセージ106を受信したドメイン境界ノードFは、ENNIシグナリングの運用ルールに従い、つまり、出力インタフェース情報を追加しているため、ノードYとのリンクの出力インタフェース情報F.2をRRO sub−objectとしてRROに追加する。そして、最終的に収集されるのは入力インタフェース情報であるため、ENNI区間で収集した経路情報を経路情報変換テーブルを用いて出力インタフェース情報(F.2,Y.2)から入力インタフェース情報(G.1,Y.1)に変換する。そしてさらにノードEとのリンクの入力インターフェース情報(F.1)を追加する。そのRROを格納したINNI Resvメッセージ108をノードFへ送信する。
これまでに説明した例ではドメイン間がノードを介して複数のリンクで接続されているが、ドメイン間が単一のリンクで直接的に接続されている場合も同様の動作となる。図11および図12に示された運用ルールおよび収集ルールが適用されるシステムにおいてドメイン間が単一のリンクで接続されている場合をそれぞれ図13および図14に示す。
ネットワークを複数のドメインに分割した場合、それぞれのドメインは独立した運用ルールで運用される可能性があることは前述し、これまでINNI/ENNIシグナリングプロトコルの経路トレース機能で収集される場所が異なる例(リンクの入力インターフェース情報を追加するかリンクの出力インターフェース情報を追加するかで異なる例)を説明してきた。しかし、収集される場所だけでなく、ドメインの内外およびドメイン間で異なるアドレス空間を用いて運用される場合がある。そのような場合に対応するための動作を図15を参照して説明する。下記では、説明を簡単にするため、INNI/ENNIシグナリングプロトコルで収集される情報は全て出力インタフェース情報とし、アドレス空間の変換だけを説明する。しかし、収集される場所が異なる場合であっても、アドレス空間の変換も同時に実施可能である。
これまでの例と同様にパス確立シグナリングプロトコル(RSVP−TE)を用いて、ノードA→ノードB→ノードC→ノードX→ノードD→ノードE→ノードF→ノードY→ノードG→ノードH→ノードIの経路のパスを確立するとする。この場合におけるパス確立応答メッセージ(Resvメッセージ)による経路トレース機能の動作が図15に示されている。ほぼこれまでと同様の動作を行うが、以下の点が異なる。
・INNI Resvメッセージ110を受信したドメイン境界ノードGは、INNIシグナリングの運用ルールに従い、つまり、リンクの出力インタフェース情報を収集しているため、自ノードの出力インタフェース情報a.2をRRO sub−objectとしてRROに追加してメッセージ112とする。そして、ドメイン内外で使用しているアドレス空間が異なるため、ドメイン112内で収集した経路情報a.2,b.2を経路情報変換テーブルを用いてG.2,H.2に変換してメッセージ114とする。下記の経路変換テーブルには、インタフェース番号を含んでいるが、ノード識別子だけでもよい。
・INNI Resvメッセージ116を受信したドメイン境界ノード(始点ノード)Aは、ドメイン内外で使用しているアドレス空間が異なるため、ドメイン118内で収集した駅路情報a.2,b.2を経路情報変換テーブルを用いてA.2,B.2に変換する。変換を行ったRROには各ドメインで独自に付与されるノード識別子a,b,c・・・ではなく、グローバルノードを識別する識別子A,B,C・・・が使用されているので、これによりパスが通過する経路全体を把握することができる。
上記の例では、経路トレース情報として、ノード識別子+インターフェース番号を収集している。経路情報としてノード識別子のみによるノード情報を収集情報として利用する経路トレース機能においても同様の動作が可能である。
以上説明したように、ドメイン毎に独立した管理ルールでINNI/ENNIシグナリングプロトコルを運用した場合においても、始点ノードから終点ノードまでの一貫した経路トレース情報を収集することができる。具体的には、INNI/ENNIシグナリングプロトコルの経路トレース機能で収集される場所が、入力インタフェース、出力インタフェースの違いがある場合においても、入力インタフェース情報だけの収集、あるいは、出力インタフェース情報だけの収集が可能である。あるいは、ドメインの内外およびドメイン間で異なるアドレス空間を用いて運用される場合もドメイン外のアドレス空間での経路トレース情報の収集が可能である。
図7および図8を参照して説明した例では、経路情報変換テーブル52,56と経路情報変換部54,58は、ENNI処理部32とINNI処理部42とでそれぞれ別個に設けられている。しかしながら、その代わりとして、ENNI処理部32とINNI処理部42に共通のものとしてそれぞれ1つだけ設けることもできる。
また、これまでに説明した例ではいずれも、経路情報変換の処理量および変換テーブルの大きさを最小限にとどめるため、ENNIおよびINNIの間で共通に定められた1つの運用ルールに従う経路情報への変換が行なわれて、共通に定められた運用ルールに従う経路情報が収集される。しかしながら、それぞれのドメインにおいて独自に定められた運用ルールに従う経路情報を、それぞれのドメイン内の各ノードにおいて収集することも可能である。そのためには、メッセージがドメインの境界を跨って転送されるごとに、境界ノードにおいて、メッセージに含まれるすべての経路情報を、自ノードが属するドメインの運用ルールに従う経路情報に変換するように構成すれば良い。その場合には、境界ノードが備える経路情報変換テーブルには、少なくともパスの上流のすべてのノードに関する変換情報が格納される。