(57)【要約】【課題】SRにおいてパケットにスタックされるラベル数を削減するための方式を提案する。【解決手段】複数の通信装置で構成されたネットワークにおいて、当該複数の通信装置のうち予め指定された１つ以上のアンカーノードを制御する制御装置は、入力された要求条件に基づき、経由すべき通信装置又はリンクのラベルを含む経路情報を作成する経路作成部と、前記経路情報に含まれるラベルをアンカーノード単位で分割し、前記経路情報に基づいて決定される通信装置の処理限界を超えないように、前記経路情報に含まれるラベルのうち少なくとも一部を、前記経路情報に基づいて決定される通信装置のうち少なくとも１つのアンカーノードにおいて展開できる圧縮ラベルに圧縮する経路圧縮部と、前記圧縮ラベルを展開するための情報を前記少なくとも１つのアンカーノードに配信する配信部とを有する。【選択図】図４
2020127183.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信装置で構成されたネットワークにおいて、当該複数の通信装置のうち予め指定された１つ以上のアンカーノードを制御する制御装置であって、
入力された要求条件に基づき、経由すべき通信装置又はリンクのラベルを含む経路情報を作成する経路作成部と、
前記経路情報に含まれるラベルをアンカーノード単位で分割し、前記経路情報に基づいて決定される通信装置の処理限界を超えないように、前記経路情報に含まれるラベルのうち少なくとも一部を、前記経路情報に基づいて決定される通信装置のうち少なくとも１つのアンカーノードにおいて展開できる圧縮ラベルに圧縮する経路圧縮部と、
前記圧縮ラベルを展開するための情報を前記少なくとも１つのアンカーノードに配信する配信部と、
を有する制御装置。
【請求項２】
前記経路圧縮部は、前記経路情報に基づいて決定される通信装置の処理限界を超えない範囲で圧縮ラベル同士をマージし、
前記配信部は、前記マージした圧縮ラベルを展開するための情報を配信する、請求項１に記載の制御装置。
【請求項３】
前記経路圧縮部は、前記経路情報の中の複数のラベルを、当該複数のラベルで指定される部分経路と等価な、当該部分経路の端点となる通信装置を示すラベルに置き換える、請求項１又は２に記載の制御装置。
【請求項４】
前記経路圧縮部は、前記経路情報に基づいて決定される通信装置の処理限界を超えないように、いずれかのアンカーノードで経路を終端し、当該経路を終端したアンカーノードを経路の始点とする新たな経路情報を作成し、
前記配信部は、前記新たな経路情報を、前記経路を終端したアンカーノードに配信する、請求項１乃至３のうちいずれか１項に記載の制御装置。
【請求項５】
前記１つ以上のアンカーノードからネットワーク情報を取得し、通信装置の処理限界を取得するネットワーク情報取得部を更に有する、請求項１乃至４のうちいずれか１項に記載の制御装置。
【請求項６】
前記経路作成部は、前記取得されたネットワーク情報に更に基づいて、前記入力された要求条件を満たす経路情報を作成する、請求項５に記載の制御装置。
【請求項７】
複数の通信装置で構成されたネットワークにおいて、当該複数の通信装置のうち予め指定された１つ以上のアンカーノードを制御する制御装置が実行する制御方法であって、
入力された要求条件に基づき、経由すべき通信装置又はリンクのラベルを含む経路情報を作成するステップと、
前記経路情報に含まれるラベルをアンカーノード単位で分割し、前記経路情報に基づいて決定される通信装置の処理限界を超えないように、前記経路情報に含まれるラベルのうち少なくとも一部を、前記経路情報に基づいて決定される通信装置のうち少なくとも１つのアンカーノードにおいて展開できる圧縮ラベルに圧縮するステップと、
前記圧縮ラベルを展開するための情報を前記少なくとも１つのアンカーノードに配信するステップと、
を有する制御方法。
【請求項８】
請求項１乃至６のうちいずれか１項に記載の制御装置の各部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
柔軟なTE（Traffic Engineering）やSFC（Service Function Chaining）を実現するネットワーク技術として、SR（Segment Routing）が注目されている。
【０００３】
例えば、DDoS（Distributed Denial of Service）攻撃等の大量トラヒックや、特定の動画の視聴等によるバースト的なトラヒックの増加に対し、各リンクの帯域使用率を常時取得し、トラヒックの流入口（GW（Gateway）等）でSRによる制御を行うことで、使用率の低いリンクにトラヒックを誘導することができる。
【０００４】
SRをMPLS（Multi-Protocol  Label  Switching）網に適用したSR-MPLSはMPLSのスケール性向上及びシンプル化を図ることができる。SR-MPLSでは、SID（Segment ID）というラベルが用いられ、IGP（Interior Gateway Protocol）を拡張したプロトコル（拡張IGP）で、経路広告にSIDが付加されて経路情報が交換される。パケット転送時には、パケット内にスタックされたラベルが経路情報テーブルの役割を果たすため、途中のルータは、SRのポリシーを理解していれば全ての経路情報を保持する必要はない。
【０００５】
SR-MPLSにおいて、Node-ID、Adj-SID（Adjacency-SID）、Peer-SIDと呼ばれる３種類のSIDが用いられる。Node-IDはノード毎に定義され、IGPの最短経路に従ってノードに転送するときに用いられる。Adj-SIDはインタフェース毎に定義され、明示的に経由すべきリンクを指定するときに用いられる。Peer-SIDはAS（Autonomous System）間の転送のために用いられる。図１に、SR-MPLSにおける経路指定の概要を示す。例えば、ノードAからノードDまでIGPで定める最短経路で転送する場合、ノードAが送信するパケットに対してノードD（Node-ID）のラベルを設定する。例えば、ノードAからノードDまで最短経路で転送するのではなく、C-E間のリンクを経由させたい場合、ノードAが送信するパケットに対して、ノードC（Node-ID）とC-E間のリンク（Adj-ID）とノードD（Node-ID）のラベルを設定する。これらのラベル設定はコントローラ等の外部装置から行うことができる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】PCE Working Group Internet-Draft, "Carrying Binding Label/Segment-ID in PCE based Networks", draft-sivabalan-pce-binding-label-sid-05, October 19, 2018
【非特許文献２】SPRING Working Group Internet-Draft, "Segment Routing Policy Architecture", draft-ietf-spring-segment-routing-policy-02, October 22, 2018
【非特許文献３】Rabah Guedrez, et.al, "Label Encoding Algorithm for MPLS Segment Routing", March 2017
【非特許文献４】"The critical role of Maximum SID Depth (MSD) hardware limitations in Segment Routing ecosystem and how to work around those", NANOG71, October 2017, インターネット＜ＵＲＬ：https://pc.nanog.org/static/published/meetings/NANOG71/1424/20171004_Tantsura_The_Critical_Role_v1.pdf＞, 2019年1月8日検索
【発明の概要】
【発明が解決しようとする課題】
【０００７】
SR-MPLSによるTEでは、パケットに多数のラベルがスタックされることが想定される。例えば、輻輳回避等のユースケースでは、トラヒックを通したいリンクを直接指定したTEを行う必要がある。故障によるリンクコストの変化に対してロバストに経路制御するためには、TEしたいリンクを個別に指定することが重要になる。図１から明らかなように、リンクを指定する毎に、パケットにスタックされるラベル数が増加する。また，マルチエリア・マルチASで構成されるネットワークにおいて，SRを適用する場合に，隣接エリアやASとの境界になるエリアボーダールーター(ABR)やASボーダールーターを経由する必要があり，明示的にSIDをスタックする必要がある。
【０００８】
その結果、パケットにスタックされるラベル数がルータの処理限界を超過することも考えられ、この場合、SRによる柔軟なトラヒック制御は困難となる。また、パケットにスタックされるラベル数の増加に伴い、オーバーヘッドが増大する。
【０００９】
従来、複数のSID（ラベル）を単一のBSID（Binding SID）に置き換える（圧縮する）ことで、スタックされるラベル数を一時的に削減することが検討されている（非特許文献１、２）。例えば、コントローラが<16003,16004>という複数のラベルを、１つのBSID<40164>に圧縮し、一部のルータ（GW等）に広告する。BSID<40164>を広告されたルータは、BSID<40164>が付与されたパケットを受け取った際、元のラベルのリスト<16003,16004>に変換（展開）し、展開後のSIDに従い転送する。
【００１０】
しかし、BSIDをAS単位で割り当てる場合、AS内におけるTEのために多数のラベルが必要になる。仮にASを複数のエリアに分割してBSIDをエリア単位で割り当てたとしても、入口（Ingress）ルータにおいてプッシュするBSIDがエリア数の増加に伴って増加するため、多数のラベルが必要となる。
【００１１】
本発明は、SRにおいてパケットにスタックされるラベル数を削減するための方式を提案する。
【課題を解決するための手段】
【００１２】
本発明の一形態に係る制御装置は、
複数の通信装置で構成されたネットワークにおいて、当該複数の通信装置のうち予め指定された１つ以上のアンカーノードを制御する制御装置であって、
入力された要求条件に基づき、経由すべき通信装置又はリンクのラベルを含む経路情報を作成する経路作成部と、
前記経路情報に含まれるラベルをアンカーノード単位で分割し、前記経路情報に基づいて決定される通信装置の処理限界を超えないように、前記経路情報に含まれるラベルのうち少なくとも一部を、前記経路情報に基づいて決定される通信装置のうち少なくとも１つのアンカーノードにおいて展開できる圧縮ラベルに圧縮する経路圧縮部と、
前記圧縮ラベルを展開するための情報を前記少なくとも１つのアンカーノードに配信する配信部と、
を有することを特徴とする。
【００１３】
また、本発明の一形態に係る制御方法は、
複数の通信装置で構成されたネットワークにおいて、当該複数の通信装置のうち予め指定された１つ以上のアンカーノードを制御する制御装置が実行する制御方法であって、
入力された要求条件に基づき、経由すべき通信装置又はリンクのラベルを含む経路情報を作成するステップと、
前記経路情報に含まれるラベルをアンカーノード単位で分割し、前記経路情報に基づいて決定される通信装置の処理限界を超えないように、前記経路情報に含まれるラベルのうち少なくとも一部を、前記経路情報に基づいて決定される通信装置のうち少なくとも１つのアンカーノードにおいて展開できる圧縮ラベルに圧縮するステップと、
前記圧縮ラベルを展開するための情報を前記少なくとも１つのアンカーノードに配信するステップと、
を有することを特徴とする。
【００１４】
また、本発明の一形態に係るプログラムは、
上記の制御装置の各部としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、SRにおいてパケットにスタックされるラベル数を削減することが可能になる。
【図面の簡単な説明】
【００１６】
【図１】SR-MPLSにおける経路指定の概要を示す図である。
【図２】本発明の実施例におけるネットワークの論理構成を示す図である。
【図３】ラベル圧縮の概要を示す図である。
【図４】本発明の実施例におけるラベル数削減方式を示すフローチャートである。
【図５】図４のステップＳ１０３及びＳ１０４の概要を示す図である。
【図６】図４のステップＳ１０５の概要を示す図である。
【図７】図４のステップＳ１０６の概要を示す図である。
【図８】図４のステップＳ１０７の概要を示す図である。
【図９】図４のステップＳ１０８の概要を示す図である。
【図１０】本発明の実施例におけるコントローラの構成を示す図である。
【図１１】NW情報取得装置の一例を示す図である。
【図１２】データ送信情報テーブルの一例を示す図である。
【図１３】リンクステート情報テーブルの一例を示す図である。
【図１４】経路情報テーブルの一例を示す図である。
【図１５】SR経路作成装置の一例を示す図である。
【図１６】ポリシー情報テーブルの一例を示す図である。
【図１７】経路圧縮装置の一例を示す図である。
【図１８】アンカーノード情報テーブルの一例を示す図である。
【図１９】SRポリシー配信装置の一例を示す図である。
【図２０】圧縮経路管理テーブルの一例を示す図である。
【図２１】コントローラにおける処理を示すシーケンス図である。
【図２２】２つのASで構成されるときの実施例の有効性を示す図（AS単位の割り当ての課題を示す図）である。
【図２３】２つのASで構成されるときの実施例の有効性を示す図（エリア単位の割り当ての課題を示す図）である。
【図２４】２つのASで構成されるときの実施例の有効性を示す図である。
【図２５】３つのASで構成されるときの実施例の有効性を示す図（AS単位の割り当ての課題を示す図）である。
【図２６】３つのASで構成されるときの実施例の有効性を示す図（エリア単位の割り当ての課題を示す図）である。
【図２７】３つのASで構成されるときの実施例の有効性を示す図である。
【図２８】本発明の実施例に係るコントローラのハードウェア構成例である。
【発明を実施するための形態】
【００１７】
以下、図面に基づいて本発明の実施例について説明する。
【００１８】
＜ネットワークの論理構成＞
まず、図２を参照して、本発明の実施例を説明するためのネットワークの論理構成について説明する。図２に示すように、ネットワークは複数の通信装置（以下、ルータ、ノード等とも呼ばれる）で構成される。ネットワークは、統一された運用ポリシーで管理されたAS（AS1、AS2等）に分割される。ASと外部のネットワークとの境界に置かれるルータ（ASBR11、ASBR12等）をASBR（AS Boundary Router）と呼ぶ。また、ASはバックボーンエリア及び複数のサブエリアに分割して管理することができる。各サブエリアはサブエリア間を接続するバックボーンエリアに隣接しており、バックボーンエリアと各サブエリアの境界に置かれるルータ（ABR11、ABR12、ABR13等）をABR（Area Border Router）と呼ぶ。すなわち、図２において、AS1のサブエリアが(1)であり、AS1のバックボーンエリアが(2)であり、AS2のバックボーンエリアが(3)であり、AS2のサブエリアが(4)である。
【００１９】
コントローラと呼ばれる制御装置１００は、ASBR及びABRからトポロジ情報等のNW情報を取得することができ、ASBR及びABRに対して指定の処理（ポリシーとも呼ばれる）を実行させることができる。このようにコントローラ１００とピアを貼り、コントローラ１００が制御することができるルータをアンカーノードと呼ぶ。以下の実施例ではアンカーノードがASBR及びABRである例について説明するが、アンカーノードはASBR及びABRに限定されることなく、ネットワーク内のどの通信装置がアンカーノードとして指定されてもよい。また、全てのASBR及びABRが必ずしもアンカーノードとなる必要はなく、アンカーノードはネットワークの運用管理者により予め指定される。コントローラ１００は１つのASを管理してもよく、複数のASを管理してもよい。
【００２０】
例えば、故障発生等によるリンクコストの変化にロバストにするため、経由するリンクを個別に指定するTEを行うことが想定される。例えば、図２のネットワークにおいて、ASの入口ルータであるASBR（図示せず）から、AS1内のノード1→ノード4→ノード8→ASBR11→ASBR12を経由するためのTEを実現するには、AS1内だけで５つのラベルが必要となる。
【００２１】
ここで、図３を参照して、複数のSID（ラベル）を単一のBSIDに置き換える方式（非特許文献１、２）について検討する。
【００２２】
まず、BSIDをAS単位で割り当てることを想定する。例えば、図２においてAS1内でTEに用いるSIDをBSID_Aに圧縮し、AS2内でTEに用いるSIDをBSID_Bに圧縮する。AS1内でTEに用いるSIDが<16015, 16021, 16025, …>であり、AS2内でTEに用いるSIDが<18021>であることを仮定する。AS2内のSIDをBSID_Bに圧縮した場合、図３（Ａ）に示すように、入口ルータにプッシュするラベルは<16015, 16021, 16025, …, BSID_B>である。このように、AS1内のTEだけで多数のラベルが必要となり、ラベル数がルータの処理限界を超過する可能性がある。
【００２３】
次に、BSIDをエリア単位で割り当てることを想定する。例えば、図２においてAS1のサブエリア(1)内でTEに用いるSIDをBSID_Aに圧縮し、AS1のバックボーンエリア(2)内でTEに用いるSIDをBSID_Bに圧縮し、AS2のバックボーンエリア(3)内でTEに用いるSIDをBSID_Cに圧縮し、AS2のサブエリア(4)内でTEに用いるSIDをBSID_Dに圧縮する。この場合、入口ルータから最寄のABR11までのラベル数を減らすことができるが、図３（Ｂ）に示すように、エリア数分のBSID（BSID_B, BSID_C, BSID_D）が必要となるため、ラベル数が増加してルータの処理限界を超過する可能性がある。
【００２４】
したがって、ルータの処理限界を超過しないようなラベル数削減方式が必要となる。
【００２５】
＜ラベル数削減方式＞
図４を参照して、L個のSIDから構成される経路情報が与えられるとき、制約を満たす（ラベルプッシュ数の上限U（U<L）を満たし、BSIDを展開できるノードはアンカーノードとする）方式について説明する。図４は、本発明の実施例におけるラベル数削減方式を示すフローチャートである。なお、以下の説明ではルータの処理限界に関する制約としてラベルプッシュ数の上限Uの例を説明するが、ルータの処理限界に関する制約はラベルスタック数又はホップ数でもよい。
【００２６】
ステップＳ１０１において、コントローラ１００は各ルータのラベルプッシュ数の上限Uを取得する。
【００２７】
コントローラ１００はBGP-LS（BGP-Link State）等のプロトコルにより、アンカーノード（ASBR及びABR）から各AS／エリアのトポロジ情報を取得する。トポロジ情報の中には、IGPで広告されるプッシュ可能なラベル数の情報（Maximum SID Depth）も含まれる。コントローラ１００は、コントローラ１００が管理するネットワーク内のルータにおけるMaximum SID Depthの最小値をUとして決定する。なお、Uはネットワーク内で一意に決める必要はなく、エリア毎に決めることも可能である。エリア毎に決める場合、コントローラ１００はエリア毎にエリアiの最小値Uiを決定し、ステップＳ１０５の計算に用いてもよい。また、Uはネットワーク内で用いられる通信装置の仕様から予め決められた値としてもよい。なお、Uは経路制御（SR）の制約条件となるため、以下のステップＳ１０２において決定される経路上の通信装置の処理限界を超えない範囲であれば如何なる値が用いられてもよい。
【００２８】
ステップＳ１０２において、コントローラ１００はTEの要求条件に基づき、L個のSIDから構成される経路情報（SR-TEパス）を作成する。
【００２９】
要求条件はユーザの要求によって決まり、例えば、遅延や特定リンクの回避等のTEの要求、サービスチェイニングの要求、標的の要求等がある。コントローラ１００は、要求条件に基づき、経由すべきノードやリンクやピアのSIDを特定し、SR-TEパスを作成する。
【００３０】
SR-TEパスに含まれるSIDは、コントローラ１００の保持する情報からリアルタイムに特定してもよい。ASBR及びABRのようなアンカーノードは予め指定されており、コントローラ１００はASBRのアドレスとAS番号との対応関係を保持している。また、ステップＳ１０１においてコントローラ１００はBGP-LS等のプロトコルにより、ASBRから取得したSID（Node-ID、Adj-SID、Peer-SID）を保持している。これらのSIDを用いて、SR-TEパスを構成するSIDのリストが作成できる。
【００３１】
ステップＳ１０３において、コントローラ１００はSR-TEパスを構成するSIDの中から、BSIDを展開できるアンカーノード（H_1,…,H_M）のSIDを特定する。
【００３２】
ここでは、ステップＳ１０２で生成したSR-TEパスを構成するSIDのうち、コントローラ１００がBGP-LS等のプロトコルにより取得して保有している情報や、ステップＳ１０２においてSIDの特定のために用いた情報から、BSIDを展開できるアンカーノード（H_1,…,H_M）のSIDを特定する。図５（Ａ）に、L=9個のSIDから構成されるSR-TEパスから、BSIDを展開できるM=3個のアンカーノードを特定したときの例を示す。
【００３３】
ステップＳ１０４において、コントローラ１００は各BSIDの最後のラベルがアンカーノード（H_1,…,H_M）のSIDになるよう、L個のSIDのリストをM個のBSIDに分割する。
【００３４】
アンカーノードはコントローラ１００の指示によって次のBSIDを展開する役目を持つため、SR-TEパスを構成するSIDのリストをアンカーノード（H_1,…,H_M）単位で分割する。具体的には、SR-TEパスに含まれるSIDがアンカーノードのSIDに一致したときに、そのSIDの直後で分割する。また、SR-TEパスに含まれるSIDがPeer-SIDに一致したときにはアンカーノードとなるABSRが存在することが分かるため、そのSIDの直後で分割する。分割後のパス毎にBSIDを設定する。図５（Ｂ）に、SR-TEパスを構成するSIDのリストをM=3個のBSIDに分割したときの例を示す。
【００３５】
ステップＳ１０５において、コントローラ１００は各アンカーノード（H_1,…,H_{M-1}）でのラベルプッシュ数がUを下回るか判定し、超過数R_i=U-(H_iのラベルプッシュ数)を計算する。
【００３６】
SIDのリストをBSIDに分割することにより、SIDのリストの一部をBSIDに圧縮することができる。図５（Ｂ）において分割したラベル<1, 2, 3, H_1>は、アンカーノードH_0において展開できるBSID1に圧縮され、ラベル<4, H_2>は、アンカーノードH_1において展開できるBSID2に圧縮され、ラベル<5, 6, H_3>は、アンカーノードH_2において展開できるBSID3に圧縮される。なお、ラベル<1, 2, 3, H_1>はアンカーノードH_0から送信されるときに展開されている必要があるため、<1, 2, 3, H_1>は圧縮されなくてもよい。この時点で各アンカーノードでのラベルプッシュ数がU以下である場合、以下のステップは実行する必要はない。
【００３７】
図５（Ｂ）に示すラベルを圧縮した後、各アンカーノードH_0, H1, H_2においてプッシュするラベルを図６に示す。図６に示すように、入口ルータとなるH_0ではBSID1の全SIDと、BSID2以降の全BSIDをプッシュする必要がある。U=5であると仮定すると、H_0においてBSID1を展開したときのラベルプッシュ数は6であり、超過数R_0=1である。H_1ではBSID2のみを展開して<4, H_2>をプッシュするため、ラベルプッシュ数は2であり、超過数R_1=-3である。H_2ではBSID3のみを展開して<5, 6, H_3>をプッシュするため、ラベルプッシュ数は3であり、超過数R_2=-2である。
【００３８】
ステップＳ１０６において、R_i>H_{i-1}のラベルプッシュ数の場合、コントローラ１００は隣接するBSID同士をマージすることで、BSID数を削減する。ただし、マージ後のラベルプッシュ数はU以下でなければならない。コントローラ１００はBSID同士をマージした後にR_iを更新する。
【００３９】
図６においてH_1においてプッシュするラベル<4, H_2>と、H_2においてプッシュするラベル<5, 6, H_3>をマージすることを仮定すると、マージ後のラベルプッシュ数は2+3=5となり、U以下となる。すなわち、BSID2とBSID3は新たなBSID2'にマージ可能である。このようにマージしたときのアンカーノードH_0,H_1においてプッシュするラベルを図７に示す。図７に示すように、H_0でプッシュするラベルは<1, 2, 3, H_1, BSID2'>に削減され、ラベルプッシュ数は5であり、超過数R_0=0である。H_1でプッシュするラベルは<4, H_2, 5, 6, H_3>であり、ラベルプッシュ数は5であり、超過数R_1=0である。
【００４０】
ステップＳ１０７において、コントローラ１００はR_i>0となるBSIDで、SIDのリストの縮約を実行する。
【００４１】
SIDのリストの縮約には既存技術（非特許文献３、４）を用いることができる。具体的には、SIDのリストの中の一部のパスがその端点となるNode-IDで置き換えることができるか否かを確認し、置き換え可能な場合にはSIDのリストを縮約できる。例えば、図８に示すHeadendノードからTailendノードまでに通過するリンクを指定するために３つのAdj-SIDを用いていたことを想定する。図８のリンク付近の数字はコストである。この例ではHeadendノードからTailendノードまでのパスは最短パスであるため、３つのAdj-SIDはTailendノードの１つのNode-IDで置き換えることができる。
【００４２】
ステップＳ１０８において、上記のステップＳ１０７において解なしとなった場合（すなわち、R_i>0となる場合）、コントローラ１００はラベルプッシュ数の上限Uを超過するBSIDの区間で一度SR-TEパスを終端することで、ラベルプッシュ数の上限を超過しないようにする。
【００４３】
例えば、図９に示すように、入口ルータを含むサブエリアにおいて多数のラベルを付与してTEを行う場合、バックボーン以降のルーティングのためのBSIDを付与したときにラベルプッシュ数がルータの上限を超える可能性がある。この場合、最初に通過するABRにおいてSR-TEパスを終端して、SR-TEパスを終端したABRを新たなHeadendとして再びラベルをプッシュし直す。
【００４４】
或いは、アンカーノード毎に圧縮したBSIDのリストを新たなBSIDとして再定義してもよい。例えば、図６におけるBSID2及びBSID3を新たなBSID2'として再定義することで、図６においてH_0でプッシュするラベル数は5に削減することができる。この場合、H_1ではBSID2'をBSID2とBSID3に展開し、更に、BSID2を<4, H_2>に展開する。
【００４５】
上記の手順によってラベルを圧縮した後、コントローラ１００はPCEP（Path Computation Element Protocol）やNetconf等のプロトコルを用いてSRポリシー（SR-TEパスと、SR-TEパスに含まれるBSIDを展開するための情報）を経路上のアンカーノードに配信する。
【００４６】
＜コントローラの機能構成＞
図１０に、本発明の実施例におけるコントローラ１００の構成を示す。コントローラ１００は、図２を参照して説明したネットワークを管理する装置群である。コントローラ１００が管理するネットワークを管理ネットワークと呼ぶ。管理ネットワークは、例えば、ISP（Internet Service Provider）網等のインターネットと、アクセス網／ユーザネットワークとを接続する大規模なSR-MPLS網である。コントローラ１００は、NW情報取得装置１１０と、SR経路作成装置１２０と、経路圧縮装置１３０と、SRポリシー配信装置１４０とを含む。なお、コントローラ１００は、上記の装置群のうち一部の機能を含む制御装置として構成されてもよい。
【００４７】
NW情報取得装置１１０は、管理ネットワーク内のアンカーノード等からトポロジ情報等のNW情報を取得する。SR経路作成装置１２０は、NW情報取得装置１１０が取得したNW情報とアプリケーションからの要求条件に基づき、SRポリシーとして配信する経路情報を作成する。この経路情報は、経由すべき通信装置又はリンクのラベルをSIDのリストの形式で表現したものである。経路圧縮装置１３０は、SR経路作成装置１２０が作成した経路情報のラベルをBSIDに圧縮する。ラベルの圧縮は図４に示すフローチャートに従って行われる。SRポリシー配信装置１４０は、経路情報と、BSIDを展開するための情報をSRポリシーとして経路上のアンカーノードに配信する。
【００４８】
図１１は、NW情報取得装置１１０の一例を示す図である。NW情報取得装置１１０は、通信部１１１と、情報管理部１１２と、リンクステート情報演算部１１３と、データ送信情報テーブル１１４と、リンクステート情報テーブル１１５と、経路情報テーブル１１６とを含む。
【００４９】
図１２に、データ送信情報テーブル１１４の一例を示す。データ送信情報テーブル１１４には、SR経路作成装置１２０に送信するデータの範囲（送信データ範囲）や送信するデータの間隔（データ送信間隔）等、データ送信に関する情報を格納する。送信データ範囲は、リンクステート情報テーブル１１５及び経路情報テーブル１１６に格納する情報を決定するために用いられる。
【００５０】
図１３に、リンクステート情報テーブル１１５の一例を示す。リンクステート情報テーブル１１５には、BGP-LS等のプロトコルを用いて取得したリンクステート情報を加工したものが格納される。ラベル情報はSIDであり、リンクステート情報テーブル１１５にはSIDをキーとして管理ネットワークのトポロジ情報が格納される。例えば、SID毎に、そのSIDの種類、Local index、リンクステート情報（接続先の情報等）が格納される。SIDがリンクを示すAdj-SIDやPeer-SIDである場合、リンクステート情報はリンク使用率のような情報に加工される。
【００５１】
図１４に、経路情報テーブル１１６の一例を示す。経路情報テーブル１１６には、BGP、IP等の経路情報が格納される。例えば、ルータがBGPによって交換したAS内のネットワーク情報とルータのアドレスとの情報等が格納される。経路情報テーブル１１６の情報量は大きくなることが想定されるため、コントローラ１００の持つBGPテーブルやIPルートテーブルの情報に基づき、前回からの変更を含めた情報を格納してもよい。
【００５２】
情報管理部１１２は、管理ネットワーク内の通信装置から通信部１１１を介して、BGP-LS等のプロトコルを用いて、IGPのリンクステート情報やBGP、IP等の経路情報を取得する。リンクステート情報や経路情報の取得先の通信装置は、主にアンカーノードであるが、他の通信装置から情報を取得してもよい。ここで、IGPで広告されるMaximum SID Depthが取得され、ラベルプッシュ数の上限Uが決定される。ラベルプッシュ数の上限Uは、後述する経路圧縮装置１３０に渡され、圧縮情報テーブル１３５に格納される。情報管理部１１２は、ラベル情報をキーにしたソート等の演算を行なった後、取得したリンクステート情報や経路情報をリンクステート情報テーブル１１５及び経路情報テーブル１１６に格納する。なお、リンクステート情報をリンクステート情報テーブル１１５に格納する際に、リンクステート情報演算部１１３は、リンク使用率等の演算を行った後、予め決められた形式でリンクステート情報テーブル１１５に格納する。情報管理部１１２は、データ送信情報テーブル１１４から送信間隔や送信するデータ内容を決定し、通信部１１１を介してリンクステート情報テーブル１１５及び経路情報テーブル１１６のデータをSR経路作成装置１２０に送信する。このとき、データ送信情報テーブル１１４の内容に従って、毎回全ての情報をSR経路作成装置１２０に送信してもよいし、前回送信時との差分情報だけを送信してもよい。
【００５３】
図１５は、SR経路作成装置１２０の一例を示す図である。SR経路作成装置１２０は、通信部１２１と、SR経路作成部１２２と、ポリシー情報テーブル１２３とを含む。
【００５４】
図１６に、ポリシー情報テーブル１２３の一例を示す。ポリシー情報テーブル１２３には、アプリケーション側の要求条件を満たすためのルーティングポリシーが格納される。例えば、ポリシー1は、トラヒックを特定のセキュリティ装置に迂回する際に用いられるポリシーである。
【００５５】
SR経路作成部１２２は、アプリケーションで決定したポリシー情報（経由すべきノード等の指定や、特定リンクの回避等）やNW情報取得装置１１０から通信部１２１を介して一定間隔で受信したNW情報に基づき、SRの経路情報を決定する。これは図４のステップＳ１０２に対応する。SRの経路情報は、経由すべきノードやリンクのラベルで指定される。SR経路作成部１２２は、経路情報を通信部１２１を介して経路圧縮装置１３０に送信する。
【００５６】
図１７は、経路圧縮装置１３０の一例を示す図である。経路圧縮装置１３０は、通信部１３１と、アンカーノード情報抽出部１３２と、圧縮演算部１３３と、アンカーノード情報テーブル１３４と、圧縮情報テーブル１３５とを含む。
【００５７】
図１８に、アンカーノード情報テーブル１３４の一例を示す。図１８に示すように、アンカーノード毎に、Node-ID、Peer-SID等といったラベルの種類は問わず、関与するラベル情報SIDがまとめられる。
【００５８】
アンカーノードは予め指定されており、アンカーノード情報抽出部１３２は、NW情報取得装置１１０から通信部１３１を介してBGPテーブル等の情報を取得し、取得した情報の中から、予め指定されたアンカーノードの情報を抽出してアンカーノード情報テーブル１３４に格納する。
【００５９】
圧縮演算部１３３は、SR経路作成装置１２０から通信部１３１を介してSRの経路情報を取得する。圧縮演算部１３３は、経路情報に含まれるラベルをアンカーノード単位で分割する。このとき、BSIDを展開できるアンカーノードのラベル情報をアンカーノード情報テーブル１３４から取得して経路情報の分割を行う。これは図４のステップＳ１０３及びＳ１０４に対応する。圧縮演算部１３３は、経路上の通信装置において処理限界を超えないように、経路情報に含まれるラベルをBSIDに圧縮する。なお、処理限界は圧縮情報テーブル１３５に格納されているラベルプッシュ数の上限Uを用いる。これは図４のステップＳ１０５及びＳ１０６に対応する。このとき、経路上の通信装置において処理限界を超えない範囲で圧縮ラベル同士をマージしてもよい。これは図４のステップＳ１０６に対応する。また、経路情報の中のいくつかのラベルを、それらのラベルと等価なNode-IDに置き換えてもよい。この処理は、ラベルプッシュ数の上限Uを超える区間の情報をSR経路作成装置１２０に送り、SR経路作成装置１２０において修正した経路情報を取得することにより行われてもよい。これは図４のステップＳ１０７に対応する。さらに、経路上の通信装置において処理限界を超えないように、いずれかのアンカーノードで経路を終端してもよい。これは図４のステップＳ１０８に対応する。圧縮演算部１３３は、圧縮した経路情報を通信部１３１を介してSRポリシー配信装置１４０に送信する。
【００６０】
図１９は、SRポリシー配信装置１４０の一例を示す図である。SRポリシー配信装置１４０は、通信部１４１と、情報管理部１４２と、圧縮経路管理テーブル１４３とを含む。
【００６１】
図２０に、圧縮経路管理テーブル１４３の一例を示す。圧縮経路管理テーブル１４３には、SR経路作成装置１２０がアプリケーションから受信した要求条件（ポリシー）ごとに行うべき経路制御の結果（SRポリシー）が保持される。SRポリシーの経路情報はSIDリストの形式となっている。このSIDリストにはラベルを圧縮したBSIDが入っており、圧縮経路管理テーブル１４３はBSIDの内容とBSIDを展開するアンカーノードの情報を保持する。
【００６２】
情報管理部１４２は、経路圧縮装置１３０から通信部１４１を介して圧縮した経路情報を取得し、圧縮経路管理テーブル１４３に格納する。情報管理部１４２は、圧縮経路管理テーブル１４３のSIDリストを入口ルータに送信し、BSIDの内容を通信部１４１を介して該当するアンカーノードに配信する。例えば、SRポリシー2のとき、経路のSIDリストを入口ルータに送信し、BSID:100を展開するための情報<10, 20, 30>をルータAに配信し、BSID:200を展開するための情報<16005>をルータBに配信する。BSID同士をBSID'にマージしている場合、BSID'を展開するための情報を該当するアンカーノードに配信する。例えば、SRポリシー2'のとき、BSID':100を展開するための情報<10,20,30,16005>をルータAに配信する。なお、途中で経路を終端したとき、情報管理部１４２は、経路を終端したアンカーノードに対して新たな経路情報を通信部１４１を介して送信する。経路の配信方法はPCEP等の通信プロトコルを用いることができる。
【００６３】
図２１は、コントローラ１００における処理を示すシーケンス図である。
【００６４】
ステップＳ２０１において、NW情報取得装置１１０は、管理ネットワーク内の通信装置からトポロジ情報等のNW情報を取得する。ステップＳ２０２において、NW情報取得装置１１０は、取得したNW情報を加工し、ステップＳ２０３においてSR経路作成装置１２０に送信する。ステップＳ２０４において、SR経路作成装置１２０は、アプリケーションからの要求とNWの情報を踏まえ、SRの経路情報を作成し、ステップＳ２０５において結果を経路圧縮装置１３０に送信する。ステップＳ２０６において、経路圧縮装置１３０は、候補経路に含まれるSIDの中からアンカーノードのSIDを特定し、SIDを分割することでBSIDを作成する。その後、BSIDによる転送時にルータの処理限界を超過しないかを判定し、判定結果に応じてBSIDのマージや経路情報の見直しを行い、ステップＳ２０７において圧縮経路をSRポリシー配信装置１４０に送信する。ステップＳ２０８において、SRポリシー配信装置１４０は、圧縮経路を登録し、ステップＳ２０９においてこの圧縮経路を通信装置に送信する。
【００６５】
＜実施例の効果＞
上記のように、本発明の実施例によれば、BSIDを展開できるルータ（アンカーノード）の中から、BSIDの展開に適したルータを選択することができ、展開後のラベル数をルータの処理限界以下に収めることができる。本発明の実施例の方式では、アンカーノード単位の区間でBSIDに分けた後、ラベル数の不足状況を見てマージを行うことができる。これにより、どのルータをアンカーノードとして設定すべきかが判断可能になる。また、SR-TEパスを終端する回数を削減できる。
【００６６】
また、ラベル数を削減することができるため、ルータへの負荷やオーバーヘッドを抑えつつ、多数のラベルを必要とする環境においても柔軟なTEが実現可能になる。
【００６７】
図２２〜図２４は、２つのASで構成されるときの実施例の有効性を示す図である。ここでU=5であり、AS1のサブエリア(1)で３つのラベルを必要とすることを仮定する。
【００６８】
図２２に示すようにBSIDをAS単位で割り当てる場合、ASBR21がBSIDを展開するアンカーノードとなる。この場合、BSID数は少ないがIngressプッシュするSIDの数が多くなり、Ingressでのラベルプッシュ数が上限Uを上回る可能性がある。また、AS内のNWが巨大な場合、AS内のルーティングだけでラベルプッシュ数が上限Uを超えてしまう可能性すらある。
【００６９】
図２３に示すように、BSIDをエリア単位で割り当てる場合、ABR11、ASBR21、ABR23がBSIDを展開するアンカーノードとなる。この場合、IngressでプッシュするSIDの数は少ないが、エリア数の増加に伴ってBSID数が増加するため、Ingressでのラベルプッシュ数が上限Uを上回る可能性がある。
【００７０】
図２４に示すように、本発明の実施例では、AS単位又はエリア単位という固定的な割り当てではなく、プッシュ可能なラベル数の上限を満たしつつ、BSIDを最小化するようなBSIDの展開に適したアンカーノードを選択することができる。ここでは、ABR11、ASBR21がBSIDを展開するアンカーノードとなる。BSIDのマージにより節約されたBSIDの数だけ、ラベルを指定可能になるため、ネットワーク全体で柔軟な経路制御が実現可能になる。
【００７１】
図２５〜図２６は、３つのASで構成されるときの実施例の有効性を示す図である。ここでU=5であり、AS1のサブエリア(1)で３つのラベルを必要とすることを仮定する。
【００７２】
図２５に示すようにBSIDをAS単位で割り当てる場合、ASBR32、ASBR21がBSIDを展開するアンカーノードとなる。この場合、BSID数は少ないがIngressプッシュするSIDの数が多くなり、Ingressでのラベルプッシュ数が上限Uを上回る可能性がある。また、AS内のNWが巨大な場合、AS内のルーティングだけでラベルプッシュ数が上限Uを超えてしまう可能性すらある。
【００７３】
図２６に示すように、BSIDをエリア単位で割り当てる場合、ABR11、ASBR32、ASBR21、ABR23がBSIDを展開するアンカーノードとなる。この場合、IngressでプッシュするSIDの数は少ないが、エリア数の増加に伴ってBSID数が増加するため、Ingressでのラベルプッシュ数が上限Uを上回る可能性がある。
【００７４】
図２７に示すように、本発明の実施例では、AS単位又はエリア単位という固定的な割り当てではなく、プッシュ可能なラベル数の上限を満たしつつ、BSIDを最小化するようなBSIDの展開に適したアンカーノードを選択することができる。ここでは、ABR11、ASBR21がBSIDを展開するアンカーノードとなる。BSIDのマージにより節約されたBSIDの数だけ、ラベルを指定可能になるため、ネットワーク全体で柔軟な経路制御が実現可能になる。
【００７５】
＜ハードウェア構成例＞
図２８に、本発明の実施例に係るコントローラ１００のハードウェア構成例を示す。コントローラ１００は、ＣＰＵ（Central Processing Unit）１５１等のプロセッサ、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等のメモリ装置１５２、ハードディスク等の記憶装置１５３等から構成されたコンピュータでもよい。例えば、コントローラ１００の機能及び処理は、記憶装置１５３又はメモリ装置１５２に格納されているデータやプログラムをＣＰＵ１５１が実行することによって実現される。また、コントローラ１００へのデータの入力は、入出力インタフェース装置１５４から行われ、コントローラ１００からのデータの出力は、入出力インタフェース装置１５４から行われてもよい。
【００７６】
＜補足＞
説明の便宜上、本発明の実施例に係る装置は機能的なブロック図を用いて説明しているが、本発明の実施例に係る装置は、ハードウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。例えば、本発明の実施例は、コンピュータに対して本発明の実施例に係る装置の機能を実現させるプログラム、コンピュータに対して本発明の実施例に係る方法の各手順を実行させるプログラム等により、実現されてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。また、本発明の実施例に係る方法は、実施例に示す順序と異なる順序で実施されてもよい。
【００７７】
以上、SRにおいてパケットにスタックされるラベル数を削減するための手法について説明したが、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々の変更・応用が可能である。
【符号の説明】
【００７８】
１００  コントローラ
１１０  NW情報取得装置
１１１  通信部
１１２  情報管理部
１１３  リンクステート情報演算部
１１４  データ送信情報テーブル
１１５  リンクステート情報テーブル
１１６  経路情報テーブル
１２０  SR経路作成装置
１２１  通信部
１２２  SR経路作成部
１２３  ポリシー情報テーブル
１３０  経路圧縮装置
１３１  通信部
１３２  アンカーノード情報抽出部
１３３  圧縮演算部
１３４  アンカーノード情報テーブル
１４０  SRポリシー配信装置
１４１  通信部
１４２  情報管理部
１４３  圧縮経路管理テーブル
【図１】
2020127183.tif 000003
【図２】
2020127183.tif 000004
【図３】
2020127183.tif 000005
【図４】
2020127183.tif 000006
【図５】
2020127183.tif 000007
【図６】
2020127183.tif 000008
【図７】
2020127183.tif 000009
【図８】
2020127183.tif 000010
【図９】
2020127183.tif 000011
【図１０】
2020127183.tif 000012
【図１１】
2020127183.tif 000013
【図１２】
2020127183.tif 000014
【図１３】
2020127183.tif 000015
【図１４】
2020127183.tif 000016
【図１５】
2020127183.tif 000017
【図１６】
2020127183.tif 000018
【図１７】
2020127183.tif 000019
【図１８】
2020127183.tif 000020
【図１９】
2020127183.tif 000021
【図２０】
2020127183.tif 000022
【図２１】
2020127183.tif 000023
【図２２】
2020127183.tif 000024
【図２３】
2020127183.tif 000025
【図２４】
2020127183.tif 000026
【図２５】
2020127183.tif 000027
【図２６】
2020127183.tif 000028
【図２７】
2020127183.tif 000029
【図２８】
2020127183.tif 000030