(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-20
(45)【発行日】2023-11-29
(54)【発明の名称】ゲートウェイ装置、方法及びプログラム
(51)【国際特許分類】
H04L 45/64 20220101AFI20231121BHJP
【FI】
H04L45/64
(21)【出願番号】P 2022501579
(86)(22)【出願日】2020-02-21
(86)【国際出願番号】 JP2020007226
(87)【国際公開番号】W WO2021166250
(87)【国際公開日】2021-08-26
【審査請求日】2022-06-10
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】中村 孝幸
(72)【発明者】
【氏名】本間 俊介
(72)【発明者】
【氏名】岡田 智広
(72)【発明者】
【氏名】佐藤 卓哉
(72)【発明者】
【氏名】天坂 光男
【審査官】中川 幸洋
(56)【参考文献】
【文献】佐藤 卓哉、ほか,幅広い要件に迅速にこたえるネットワークスライシング技術,NTT技術ジャーナル [ONLINE],2019年04月,[検索日 2020.03.11],インターネット:<https://www.ntt.co.jp/journal/1904/files/pdf/JN20190420.pdf> (Japanese)
【文献】S. Matsushima, et al.,Segment Routing IPv6 for Mobile User Plane draft-ietf-dmm-srv6-mobile-uplane-07,IETF Internet-Draft [ONLINE],2019年11月04日,[検索日 2020.03.11],インターネット:<https://tools.ietf.org/pdf/draft-ietf-dmm-srv6-mobile-uplane-07.pdf>
【文献】Takuya Sato, et al.,Service-partner-oriented Network Slicing [ONLINE],NTT Technical Review,2019年06月,Vol. 17 No. 6,[検索日 2020.03.11],インターネット:<https://www.ntt-review.jp/archive/ntttechnical.php?contents=ntr201906fa5.html> (English)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 45/64
(57)【特許請求の範囲】
【請求項1】
端末、サーバ又は仮想マシンからパケットを受信すると、前記パケットに含まれる5-tuple情報からスライスIDを作成し、作成したスライスIDを前記パケットに付与するスライスID設定手段と、
転送優先度、信頼性及びネットワーク機能の経由有無に関する要件を示すスライス要件と到達先のゲートウェイ装置を示すゲートウェイIDとを抽象化したスライスIDが付与されたパケットを受信すると、転送先のトンネルを決定するためのスライス転送テーブルを参照して、前記スライスIDに含まれるスライス要件及びゲートウェイIDに対応するトンネルを特定する転送先特定手段と、
前記転送先特定手段により特定されたトンネルにより前記パケットを転送する転送手段と、
を有
し、
前記スライスID設定手段は、
5-tuple情報と、転送優先度、信頼性及びネットワーク機能の経由有無とが対応付けられた5-tuple-スライス要件対応テーブルを参照して、前記パケットに含まれる5-tuple情報から転送優先度、信頼性及びネットワーク機能の経由有無を特定し、特定した転送優先度、信頼性及びネットワーク機能の経由有無に関する要件を示すスライス要件と、前記5-tuple情報に含まれる送信先IPアドレスに対応するゲートウェイ装置を示すゲートウェイIDとを抽象化したスライスIDを作成する、ことを特徴とするゲートウェイ装置。
【請求項2】
前記スライスID設定手段は、
前記到達先のゲートウェイ装置を示すゲートウェイIDを特定するためのID-アドレス対応テーブルを参照して、前記5-tuple情報に含まれる送信先IPアドレスに対応する
ゲートウェイ装置を示すゲートウェイIDを特定
する、ことを特徴とする請求項
1に記載のゲートウェイ装置。
【請求項3】
前記スライスIDが付与されたパケットを受信すると、前記スライスIDに含まれるゲートウェイIDが、自身に割り当てられたゲートウェイIDと一致するか否かを判定する判定手段と、
前記判定手段により前記スライスIDに含まれるゲートウェイIDが、前記自身に割り当てられたゲートウェイIDと一致すると判定された場合、前記受信したパケットから前記スライスIDを削除する削除手段を有し、
前記転送手段は、
前記スライスIDが付与されたパケットを、前記パケットに含まれる送信先IPアドレスに従ってルーティングする、ことを特徴とする請求項1
又は2に記載のゲートウェイ装置。
【請求項4】
端末、サーバ又は仮想マシンからパケットを受信すると、前記パケットに含まれる5-tuple情報からスライスIDを作成し、作成したスライスIDを前記パケットに付与するスライスID設定手順と、
転送優先度、信頼性及びネットワーク機能の経由有無に関する要件を示すスライス要件と到達先のゲートウェイ装置を示すゲートウェイIDとを抽象化したスライスIDが付与されたパケットを受信すると、転送先のトンネルを決定するためのスライス転送テーブルを参照して、前記スライスIDに含まれるスライス要件及びゲートウェイIDに対応するトンネルを特定する転送先特定手順と、
前記転送先特定手順で特定されたトンネルにより前記パケットを転送する転送手順と、
をコンピュータが実行
し、
前記スライスID設定手順は、
5-tuple情報と、転送優先度、信頼性及びネットワーク機能の経由有無とが対応付けられた5-tuple-スライス要件対応テーブルを参照して、前記パケットに含まれる5-tuple情報から転送優先度、信頼性及びネットワーク機能の経由有無を特定し、特定した転送優先度、信頼性及びネットワーク機能の経由有無に関する要件を示すスライス要件と、前記5-tuple情報に含まれる送信先IPアドレスに対応するゲートウェイ装置を示すゲートウェイIDとを抽象化したスライスIDを作成する、ことを特徴とする方法。
【請求項5】
コンピュータを、請求項1乃至
3の何れか一項に記載のゲートウェイ装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲートウェイ装置、方法及びプログラムに関する。
【背景技術】
【0002】
近年、第5世代移動通信システム(5G:5th Generation)の実用化が進められている。5Gの実用化により、その特徴である大容量ブロードバンド、大量セッション接続、超低遅延高品質等を活用した様々な事業者と連携した新しいサービスの創出が期待されている。これらの新しいサービスを実現するためには様々なサービス要件に応じた多様なネットワークが必要となる。このような要求に対して迅速かつ柔軟にネットワークを提供する技術としてネットワークスライシング技術が知られている。ネットワークスライシング技術では、共通の物理設備の基盤を仮想的に分割可能な資源として管理し、それらの資源を自在に組み合わせて必要な仮想ネットワーク(スライス)を構築することができる。
【0003】
サービス事業者が求める多様な要件のネットワーク(以下、「NW」と略記する。)を提供するためにはE2E(End-to-End)で一定の通信品質が確保できるE2Eスライスが必要となる。このE2Eスライスは必ずしも単一のNW事業者・ドメイン内に閉じたNWであるとは限らず、複数のNW事業者・ドメインにまたがるNWである場合もある。このような複数のNW事業者・ドメインにまたがるE2Eスライス(以下、単に「スライス」と表記する。)の実現に向けて、各NW事業者・ドメイン間の接続点にスライスゲートウェイ(SLG:Slice Gateway)を配備するアーキテクチャが提案されている。
【0004】
例えば、
図1に示すNW構成によりスライスを実現するアーキテクチャが知られている。
図1に示すNW構成にはアクセスNW、コアNW及びDC(データセンタ)内NWが含まれ、各NWの接続点にSLGが配備されている。このとき、複数のスライスで共用する種類(例えば、転送優先度や冗長化有無等によって決定される種類)別のトンネルをSLG間に設定し、スライスの要件に合わせて、各ドメイン内のトンネル同士を適切に接続することでスライス(つまり、端末とサーバ/VM(Virtual Machine)間の仮想NW)を実現している。
【0005】
例えば、帯域保証・高信頼スライスは優先・経路冗長ありのトンネル同士を接続することで実現できる。具体的には、アクセスNWのトンネル1とコアNWのトンネル5とDC内NWのトンネル13とを接続したり、アクセスNWのトンネル3とコアNWのトンネル9とDC内NWのトンネル13とを接続したりすること等で実現できる。
【0006】
同様に、例えば、Firewall等のNF(Network Function)を経由した帯域保証・高信頼スライスはNFを経由した優先・経路冗長ありのトンネル同士を接続することで実現できる。具体的には、アクセスNWのトンネル1とコアNWのトンネル7とDC内NWのトンネル13とを接続したり、アクセスNWのトンネル3とコアNWのトンネル12とDC内NWのトンネル16とを接続したりすること等で実現できる。
【0007】
同様に、例えば、BE(ベストエフォート)・高信頼スライスはBE・経路冗長ありのトンネル同士を接続することで実現できる。具体的には、アクセスNWのトンネル2とコアNWのトンネル6とDC内NWのトンネル14とを接続したり、アクセスNWのトンネル4とコアNWのトンネル10とDC内NWのトンネル17とを接続したりすること等で実現できる。BE・低信頼スライス等も同様にトンネル同士を適切に接続することで実現される。なお、例えば、端末にはアプリケーションが搭載されており、サーバ/VMが実行するアプリケーション処理により様々なサービスが当該端末に提供される。
【0008】
上記のNW構成では、例えば、5-tuple情報(送信元IP(Internet Protocol)アドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号及びプロトコル番号)に基づくフロー識別による振分設定(出力先トンネル設定)をOpenFlow(非特許文献1)やPolicy Based Routing(非特許文献2)により行うことで、各SLGがパケットの出力先トンネルを決定し、スライスを実現することが可能となる。又は、例えば、Segment Routing(非特許文献3)等のソースルーティング技術を用いて、NW端点でのみ5-tuple情報に基づくフロー識別を行って経路を指定することで、スライスを実現することも可能である。
【先行技術文献】
【非特許文献】
【0009】
【文献】ONF, "Software-Defined Networking: The New Norm for Networks", ONF White Paper April 13, 2012, インターネット<URL:https://www.opennetworking.org/images/stories/downloads/sdn-resources/white-papers/wp-sdn-newnorm.pdf>
【文献】Cisco, "Policy-Based Routing (PBR)", インターネット<URL:https://www.cisco.com/c/ja_jp/td/docs/sw/campuslanswt-coredistribution/cat6500swt/cg/002/15-1-sy-c4-swcg/policy-based-routing-pbr.html>
【文献】IETF RFC8402, インターネット<URL:https://www.rfc-editor.org/rfc/rfc8402.txt>
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、例えば、各SLGに振分設定を行う場合、端末数やスライスを使用するアプリケーション数、サーバ/VMの台数、端末が使用するアドレスレンジ数等の増加に伴いSLGの転送テーブル(特に、多くの端末の通信を経由するNW上位階梯(コアNW等)のSLGの転送テーブル)が増大する。また、例えば、アクセスNW、コアNW及びDC内NWの各ドメインの事業者が異なる場合、事業者間で多くの振分情報の交換が必要となり、振分設定のリードタイムが増加する(特に、ロールバックを考慮して、振分設定をシーケンシャルに投入するような場合、そのリードタイムが増加する。)。
【0011】
一方で、例えば、Segment Routing等のソースルーティング技術を用いる場合、NW端点のドメインにおいて、全ドメイン内のNWトポロジやアドレス情報等のNW情報を管理する必要があり、その管理に要するシステム負荷が増大する。また、迅速性が求められる経路変更(例えば、SLGの故障や輻輳等の異常時における経路変更等)を必要とするオペレーションでは、他のドメイン内のSLGの設定変更が必要となるため、その設定反映のリードタイムが増加する。
【0012】
本発明の一実施形態は、上記の点に鑑みてなされたもので、効率的なE2Eスライスを実現することを目的とする。
【課題を解決するための手段】
【0013】
上記目的を達成するため、一実施形態に係るゲートウェイ装置は、転送優先度、信頼性及びネットワーク機能の経由有無に関する要件を示すスライス要件と到達先のゲートウェイ装置を示すゲートウェイIDとを抽象化したスライスIDが付与されたパケットを受信すると、転送先のトンネルを決定するためのスライス転送テーブルを参照して、前記スライスIDに含まれるスライス要件及びゲートウェイIDに対応するトンネルを特定する転送先特定手段と、前記転送先特定手段により特定されたトンネルにより前記パケットを転送する転送手段と、を有することを特徴とする。
【発明の効果】
【0014】
効率的なE2Eスライスを実現することができる。
【図面の簡単な説明】
【0015】
【
図1】スライスを実現するNW構成の一例を示す図である。
【
図2】本実施形態に係る転送処理の概略を説明するための図である。
【
図3】本実施形態に係る事前処理及び転送処理の一例を説明するための図である。
【
図4】5-tuple-スライス要件対応テーブルの一例を示す図である。
【
図5】スライス転送テーブルの一例を示す図である。
【
図6】SLG-ID-アドレス対応テーブルの一例を示す図である。
【
図7】本実施形態に係るNWコントローラ及びSLGの機能構成の一例を示す図である。
【
図8】一実施例における転送処理の流れを説明するための図である。
【
図9】本実施形態に係るNWコントローラのハードウェア構成の一例を示す図である。
【
図10】本実施形態に係るSLGのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の一実施形態について説明する。
【0017】
<本実施形態の転送処理の概略>
まず、本実施形態に係るE2Eスライスによる転送処理の概略について説明する。
図2に示すNW構成において、上述したように、各ドメイン内のトンネル同士を適切に接続することでE2Eスライスを実現しているものとする。
【0018】
端末からサーバ/VMへの通信を行う場合、本実施形態では、入口部分のSLGにおいて、端末から送信されたパケットの5-tuple情報を参照して、スライスIDを当該パケットのヘッダに付与した上で、このスライスIDに対応するトンネルに当該パケットを振り分ける。ここで、スライスIDとは、スライス要件(例えば、転送優先度や信頼性等の品質要件やNF経由の有無等)と到達先SLGを示す情報とを抽象化した情報のことである。
【0019】
次に、中継部分のSLGにパケットが到達すると、当該SLGでは、スライスIDに対応するトンネルに当該パケットを振り分ける。そして、出口部分のSLGにパケットが到達すると、当該SLGでは、スライスIDを削除して、パケットを該当のサーバ/VMに出力する。
【0020】
このように、本実施形態の転送処理では、入口部分のSLGでのみ5-tuple情報を参照して、スライス要件と到達先SLGを示す情報とを抽象化したスライスIDをパケットに付与する。そして、各SLGは、スライスIDのみに基づいて適切なトンネル(つまり、スライス要件を満たすトンネル)にパケットを振り分ける。このため、本実施形態の転送処理により、中継部分で5-tuple情報の設定が不要になり、SLGの転送テーブルの増大や振分設定のリードタイムの増加を抑制することができる。
【0021】
また、スライスIDはスライス要件を抽象した情報であるため、具体的な転送方法や経路は各ドメインがそれぞれ決定することができる。このため、他ドメインのNWトポロジを管理する必要がなく、また、経路変更の際には自ドメイン内の経路変更のみで対応可能となるため、経路変更時の迅速化を図ることが可能となる。
【0022】
なお、
図2では、一例として、端末からサーバ/VMへの通信を行う場合について説明したが、サーバ/VMから端末への通信を行う場合についても同様である。
【0023】
<事前処理及び転送処理の詳細>
次に、
図2で説明した転送処理の詳細と当該転送処理を実現するための事前処理の詳細について、
図3を参照しながら説明する。以降では、各ドメインにはNWコントローラが含まれるものとし、アクセスNWに配備されているNWコントローラを「NWコントローラ10
1」、コアNWに配備されているNWコントローラを「NWコントローラ10
2」、DC内NWに配備されているNWコントローラを「NWコントローラ10
3」とする。また、NW端点に配備されているSLG(つまり、入口部分又は出口部分となるSLG)を「SLG20
1」、「SLG20
2」、「SLG20
3」及び「SLG20
4」とし、中継部分のSLGを「SLG30
1」、「SLG30
2」及び「SLG30
3」とする。なお、事前処理については(1-1)~(1-5)で説明し、転送処理については(2-1)~(2-5)で説明する。
【0024】
(1-1)まず、NWコントローラ101は、自ドメインにおけるNW端点のSLG201及びSLG202に5-tuple-スライス要件対応テーブルを設定すると共に、SLG-IDを発行する。SLG-IDとはNW端点に配備されたSLGを識別するためのIDである。以降では、SLG201のSLG-IDを「101」、SLG202のSLG-IDを「102」とする。
【0025】
なお、NWコントローラ103も同様に、自ドメインにおけるNW端点のSLG203及びSLG204に5-tuple-スライス要件対応テーブルを設定すると共に、SLG-IDを発行する。以降では、SLG203のSLG-IDを「201」、SLG204のSLG-IDを「202」とする。
【0026】
ここで、5-tuple-スライス要件対応テーブルとは5-tuple情報とスライス要件とを対応付けた情報が格納されたテーブルである。5-tuple-スライス要件対応テーブルの一例を
図4に示す。
図4に示す5-tuple-スライス要件対応テーブルにおけるSrcIPは送信元IPアドレス、DstIPは送信先IPアドレス、SrcPortは送信元ポート番号、DstPortは送信先ポート番号、Protocolはプロトコル番号を表す。また、事業者IDはアプリケーション処理等を提供するサービス事業者のID,転送優先度は転送の優先度を示す情報(優先度が高い場合は1、そうでない場合は0)、信頼性は冗長化要否を示す情報(冗長化要の場合は1、不要の場合は0)、経由NFはNFの経由要否を示す情報(経由要の場合は1、不要の場合0)を表す。また、アスタリスク*はワイルドカードを表す。なお、これらの5-tuple情報とスライス要件は、例えば、サービス事業者等から事前に提供される情報である。
【0027】
(1-2)NWコントローラ101は、隣接ドメインのNWコントローラ102に対して、自ドメインにおけるNW端点のSLG20のSLG IDとその配下のアドレスレンジと当該SLG IDのSLG20で終端されているトンネルのトンネルIDとを通知する。なお、アドレスレンジとは、NW端点に配備されているSLG20が受信するパケットのIPアドレスの範囲のことである。
【0028】
具体的には、NWコントローラ101は、(SLG ID「101」,アドレスレンジ「A1/A2/A3…」,トンネルID「トンネル1,トンネル2」)と、(SLG ID「102」,アドレスレンジ「B1/B2/B3…」,トンネルID「トンネル3,トンネル4」)とをNWコントローラ102に通知する。
【0029】
なお、NWコントローラ103も同様に、上記の(1-2)を行う。つまり、NWコントローラ103も同様に、自ドメインにおけるNW端点のSLG20のSLG IDとその配下のアドレスレンジと当該SLG IDのSLG20で終端されているトンネルのトンネルIDとを通知する。
【0030】
(1-3)NWコントローラ102は、隣接ドメインのNWコントローラ10からの通知を受信した場合、この通知内容に含まれるトンネルIDのトンネルを終端しているSLG30に対して、スライス転送テーブルを設定する。
【0031】
例えば、NWコントローラ101からの通知を受信した場合、NWコントローラ102は、トンネル1及びトンネル2を終端しているSLG301に対してスライス転送テーブルを設定すると共に、トンネル3及びトンネル4を終端しているSLG302に対してスライス転送テーブルを設定する。
【0032】
同様に、NWコントローラ103からの通知を受信した場合、NWコントローラ102は、トンネル13~トンネル18を終端しているSLG303に対してスライス転送テーブルを設定する。
【0033】
ここで、スライス転送テーブルとは転送先トンネルを決定するためのテーブルである。スライス転送テーブルの一例を
図5に示す。
図5に示すスライス転送テーブルはSLG IDとトンネルIDと当該トンネルIDのトンネルの転送設定種別(転送優先度、信頼性、経由NF等)とを対応付けた情報が格納されたテーブルである。これの情報のうち、SLG ID及びトンネルIDは隣接するドメインのNWコントローラからの通知に含まれているSLG ID及びトンネルIDである。一方で、トンネルの転送設定種別は当該トンネルIDのトンネルに予め設定されている転送設定種別(転送優先度、信頼性、経由NF等)である。
【0034】
(1-4)次に、NWコントローラ102は、上記の1-3で通知を受信した受信元のドメイン以外の隣接ドメインのNWコントローラ10に対して、当該通知に含まれるSLG ID及びアドレスレンジと、自ドメイン内のSLG30と当該隣接ドメイン内のSLGとの間を接続しているトンネルのトンネルIDとを通知する。
【0035】
例えば、上記の1-3でNWコントローラ101から通知を受信した場合、NWコントローラ102は、DC内NWのNWコントローラ103に対して、当該通知に含まれるSLG ID「101」及びアドレスレンジ「A1/A2/A3…」並びにSLG ID「102」及びアドレスレンジ「B1/B2/B3…」と、コアNWのSLG303とDC内NWのSLG203及びSLG204との間を接続しているトンネルのトンネルID「トンネル13,トンネル14,・・・,トンネル18」を通知する。
【0036】
同様に、例えば、上記の1-3でNWコントローラ103から通知を受信した場合、NWコントローラ102は、アクセスNWのNWコントローラ101に対して、当該通知に含まれるSLG ID「201」及びアドレスレンジ「C1/C2/C3…」並びにSLG ID「202」及びアドレスレンジ「D1/D2/D3…」と、コアNWのSLG301及びSLG302とアクセス内NWのSLG201及びSLG201との間を接続しているトンネルのトンネルID「トンネル1,トンネル2,トンネル3,トンネル4」を通知する。
【0037】
(1-5)そして、NWコントローラ103は、コアNWのNWコントローラ102からの通知を受信した場合、当該通知に含まれるトンネルIDを終端しているSLG20に対して、当該通知に含まれるSLG IDとアドレスレンジとを対応付けたSLG ID-アドレス対応テーブルを設定する。また、NWコントローラ103は、上記の1-3と同様に、当該通知に含まれるトンネルIDを終端しているSLG20に対してスライス転送テーブルを設定する。
【0038】
なお、NWコントローラ101も同様に、コアNWのNWコントローラ102からの通知を受信した場合、当該通知に含まれるトンネルIDを終端しているSLG20に対して、SLG ID-アドレス対応テーブルを設定すると共に、スライス転送テーブルを設定する。
【0039】
ここで、SLG ID-アドレス対応テーブルとはアドレスレンジからSLG-IDを特定するためのテーブルである。SLG ID-アドレス対応テーブルの一例を
図6に示す。
図6に示すSLG ID-アドレス対応テーブルはSLG-IDとアドレスレンジとを対応付けた情報が格納されたテーブルである。
【0040】
なお、例えば、
図6に示すSLG-ID-アドレス対応テーブルがSLG20
3に設定されているものとした場合、アドレスレンジ「C1/C2/C3…」とSLG ID「201」の対応付けは自明な対応付け(つまり、自身のSLG IDと自身の配下のアドレスレンジとの対応付け)である。SLG-ID-アドレス対応テーブルには、このような自明な対応付けも含まれる。
【0041】
以上の1-1~1-5により、端点ドメイン(つまり、
図3に示す例ではアクセスNW及びDC内NW)に配備されている各SLG20には5-tuple-スライス要件対応テーブルとスライス転送テーブルとSLG-ID-アドレス対応テーブルとが設定され、中継ドメイン(つまり、
図3に示す例ではコアNW)に配備されている各SLG30にはスライス転送テーブルが設定される。後述する転送処理では、これらのテーブルを用いて、スライスIDの付与や転送先トンネルの決定(つまり、転送先トンネルへのパケットの振分)が行なわれる。なお、以降の2-1~2-5では、一例として、端末からサーバ/VMにパケットを送信する場合について説明する。ただし、サーバ/VMから端末にパケットを送信する場合についても同様である。
【0042】
(2-1)アクセスNWに配備されているSLG20は、端末からパケットを受信すると、5-tuple-スライス要件対応テーブル参照して、当該パケットの5-tuple情報に対応するスライス要件(事業者ID、転送優先度、信頼性、経由NF)を特定すると共に、SLG-ID-アドレス対応テーブルを参照して、当該5-tuple情報に含まれる送信先IPアドレスのアドレスレンジに対応するSLG IDを特定する。そして、当該SLG20は、特定したスライス要件とSLG IDとをスライスIDとして当該パケットのヘッダに付与する。
【0043】
(2-2)次に、当該SLG20は、スライス転送テーブルを参照して、上記の2-1で付与したスライスIDに含まれるスライス要件及びSLG IDに対応するトンネルID(つまり、当該スライス要件に含まれる転送優先度、信頼性及び経由NFとSLG IDとに対応するトンネルID)のトンネルを転送先として決定し、この転送先のトンネルに当該パケットを出力する。
【0044】
(2-3)コアNWに配備されているSLG30(例えば、SLG302)は、パケットを受信すると、スライス転送テーブルを参照して、当該パケットに付与されているスライスIDに含まれるスライス要件及びSLG IDに対応するトンネルIDのトンネルを転送先として決定し、この転送先のトンネルに当該パケットを出力する。
【0045】
(2-4)同様に、コアNWに配備されているSLG30(例えば、SLG303)は、パケットを受信すると、スライス転送テーブルを参照して、当該パケットに付与されているスライスIDに含まれるスライス要件及びSLG IDに対応するトンネルIDのトンネルを転送先として決定し、この転送先のトンネルに当該パケットを出力する。
【0046】
(2-5)そして、DC内NWに配備されているSLG20(例えば、SLG202)は、パケットを受信すると、当該パケットに付与されているスライスIDを削除した上で、通常のルーティング等と同様に送信先IPアドレス等に基づいて該当の出力先に当該パケットを出力する。
【0047】
以上の2-1~2-5により、E2Eスライスが実現される。このとき、本実施形態では、入口部分となるSLG20で5-tuple情報に基づいてパケットにスライスIDを付与することで、中継部分のSLG30ではスライスIDのみに基づいて転送先トンネルを決定することが可能となる。これにより、上述したように、例えば、転送テーブルの増大抑制や振分設定のリードタイムの増加抑制、他ドメインのNWトポロジの管理不要、経路変更時の迅速化等を実現することができる。
【0048】
<機能構成>
次に、本実施形態に係るNWコントローラ10、SLG20及びSLG30の機能構成について説明する。なお、SLG20は端点ドメインに配備されたスライスゲートウェイであり、SLG30は中継ドメインに配備されたスライスゲートウェイである。
【0049】
図7に示すように、本実施形態に係るNWコントローラ10は、ドメイン間連携部101と、SLG管理部102とを有する。これら各部は、例えば、NWコントローラ10にインストールされた1以上のプログラムが、後述するプロセッサ505に実行させる処理により実現される。
【0050】
NWコントローラ10が端点ドメインに配備されている場合、ドメイン間連携部101は、以下の各種処理を行う。
【0051】
・隣接ドメインのNWコントローラ10に対して、SLG管理部102が発行したSLG IDと当該SLG IDのSLG20の配下のアドレスレンジ(つまり、当該SLG20に接続される端末やサーバ/VM等が使用するアドレスレンジ)と当該SLG20で終端されているトンネルのトンネルIDとを通知する。
【0052】
・隣接ドメインのNWコントローラ10からの通知を受信すると、この通知に含まれる情報をSLG管理部102に渡す。
【0053】
一方で、NWコントローラ10が中継ドメインに配備されている場合、ドメイン間連携部101は、以下の各種処理を行う。
【0054】
・隣接ドメインのNWコントローラ10からの通知を受信すると、当該隣接ドメイン以外の他の隣接ドメインのNWコントローラ10に対して、当該通知に含まれるSLG ID及びアドレスレンジと、自ドメイン内のSLG30と当該他の隣接ドメイン内のSLG(SLG20又はSLG30)との間を接続しているトンネルのトンネルIDとを通知する。
【0055】
・隣接ドメインのNWコントローラ10からの通知を受信すると、この通知に含まれる情報をSLG管理部102に渡す。
【0056】
SLG管理部102は、各種情報(例えば、隣接ドメイン間のトンネル設定、NWコントローラ10が端点ドメインに配備されている場合はSLG20に接続されるアドレスレンジ等)を管理する。また、SLG管理部102は、各SLG(SLG20又はSLG30)に各種テーブル(NWコントローラ10が端点ドメインに配備されている場合は5-tuple-スライス要件対応テーブルとスライス転送テーブルとSLG-ID-アドレス対応テーブル、一方で、NWコントローラ10が中継ドメインに配備されている場合はスライス転送テーブル)を設定する。なお、上述したように、5-tuple-スライス要件対応テーブルに格納されている情報(つまり、5-tuple情報とスライス要件)は、例えば、スライスを利用するサービス事業者等から事前に提供される情報である。
【0057】
NWコントローラ10が端点ドメインに配備されている場合、SLG管理部102は、以下の各種処理を行う。
【0058】
・SLG20毎にユニークなSLG IDを発行する。SLG IDの発行方法としては、例えば、予めドメイン毎に設定可能な値の範囲を、ドメインを管理するNW事業者間で調整しておき、その範囲の中で空いている値を使用する等の方法が考えられる。
【0059】
・SLG20のスライスID設定部203に対して、「当該SLG20に割り当てられたSLG IDを含むスライスIDが付与されたパケットを受信した場合、当該スライスIDを削除する」設定を行う。
【0060】
・ドメイン間連携部101から渡された情報に含まれるトンネルIDのトンネルを終端しているSLG20に対して、当該情報に含まれるSLG IDとアドレスレンジとを対応付けた情報で構成されるテーブルをSLG-ID-アドレス対応テーブルとして設定する。
【0061】
・ドメイン間連携部101から渡された情報に含まれるトンネルIDのトンネルを終端しているSLG20に対して、当該情報に含まれるSLG ID及びトンネルIDと当該トンネルIDのトンネルの転送設定種別(転送優先度、信頼性、経由NF等)とを対応付けた情報で構成されるテーブルをスライス転送テーブルとして設定する。
【0062】
一方で、NWコントローラ10が中継ドメインに配備されている場合、SLG管理部102は、以下の各種処理を行う。
【0063】
・ドメイン間連携部101から渡された情報に含まれるトンネルIDのトンネルを終端しているSLG30に対して、当該情報に含まれるSLG ID及びトンネルIDと当該トンネルIDのトンネルの転送設定種別(転送優先度、信頼性、経由NF等)とを対応付けた情報で構成されるテーブルをスライス転送テーブルとして設定する。
【0064】
図7に示すように、本実施形態に係るSLG20は、テーブル管理部201と、転送先決定部202と、スライスID設定部203と、トンネル制御部204とを有する。これら各部は、例えば、SLG20にインストールされた1以上のプログラムが、後述するプロセッサ603に実行させる処理により実現される。
【0065】
テーブル管理部201は、SLG管理部102から設定される5-tuple-スライス要件対応テーブルとスライス転送テーブルとSLG-ID-アドレス対応テーブルとを管理する。なお、これらのテーブルは、例えば、後述するメモリ装置604に格納される。
【0066】
転送先決定部202は、パケットに付与されているスライスIDに含まれるSLG IDやスライス要件(転送優先度、信頼性、経由NF等)に基づいて以下の各種処理を行う。
【0067】
・スライス転送テーブルを参照して、パケットに付与されているスライスIDに含まれるスライス要件及びSLG IDに対応するトンネルIDを特定する。
【0068】
・上記で特定したトンネルIDから当該パケットを出力するようにトンネル制御部204に処理を依頼する。
【0069】
また、転送先決定部202は、パケットにスライスIDが付与されていない場合(つまり、パケットからスライスIDが削除された場合)、通常のルーティング等により端末やサーバ/VM等にパケットを出力する。
【0070】
スライスID設定部203は、5-tuple-スライス要件対応テーブルを参照して、端末又はサーバ/VM等から受信したパケットに含まれる5-tuple情報に対応するスライス要件を特定すると共に、SLG-ID-アドレス対応テーブルを参照して、当該5-tuple情報に含まれる送信先IPアドレスに対応するSLG IDを特定し、特定したスライス要件及びSLG IDをスライスIDとして当該パケットのヘッダに付与する。そして、スライスID設定部203は、スライスIDを付与したパケットの処理を転送先決定部202に依頼する。
【0071】
また、スライスID設定部203は、トンネル制御部204からパケットの処理を依頼された場合、このパケットに付与されているスライスIDに含まれるSLG IDを確認し、自身に割り当てられているSLG IDと一致するか否かを判定する。そして、スライスID設定部203は、スライスIDに含まれるSLG IDと自身に割り当てられているSLG IDとが一致する場合は当該パケットからスライスIDを削除した上で、このパケットの処理を転送先決定部202に依頼する。一方で、スライスIDに含まれるSLG IDと自身に割り当てられているSLG IDとが一致しない場合は、スライスID設定部203は、当該パケットを不正パケットして破棄する。
【0072】
トンネル制御部204は、トンネルの終端処理(例えば、パケットを出力(送信)する場合はトンネル用のヘッダ(トンネルヘッダ)の付与、パケットを受信した場合はトンネルヘッダの削除)を行う。このとき、トンネル制御部204は、トンネル毎に設定されている転送優先度に合わせてトンネルヘッダの転送優先度を示すフィールド(例えば、IPヘッダの場合のToS(Type of Service)フィールド等)に対して適切な値を付与すると共に、当該転送優先度に合わせてトンネルヘッダでカプセリングしたパケットの優先制御(例えば、Priority Queuing等)を行う。
【0073】
また、トンネル制御部204は、隣接ドメインのSLG30からのパケットを受信した場合には、上述した終端処理(つまり、パケットヘッダの削除)を行った後、パケットの処理をスライスID設定部203に依頼する。
【0074】
図7に示すように、本実施形態に係るSLG30は、テーブル管理部301と、転送先決定部302と、トンネル制御部303とを有する。これら各部は、例えば、SLG30にインストールされた1以上のプログラムが、後述するプロセッサ603に実行させる処理により実現される。
【0075】
テーブル管理部301は、SLG管理部102から設定されるスライス転送テーブルを管理する。なお、このスライス転送テーブルは、例えば、後述するメモリ装置604に格納される。
【0076】
転送先決定部302は、パケットに付与されているスライスIDに含まれるSLG IDやスライス要件(転送優先度、信頼性、経由NF等)に基づいて以下の各種処理を行う。
【0077】
・スライス転送テーブルを参照して、パケットに付与されているスライスIDに含まれるスライス要件及びSLG IDに対応するトンネルIDを特定する。
【0078】
・上記で特定したトンネルIDから当該パケットを出力するようにトンネル制御部204に処理を依頼する。
【0079】
トンネル制御部303は、トンネルの終端処理(例えば、パケットを出力(送信)する場合はトンネル用のヘッダ(トンネルヘッダ)の付与、パケットを受信した場合はトンネルヘッダの削除)を行う。このとき、トンネル制御部204は、トンネル毎に設定されている転送優先度に合わせてトンネルヘッダの転送優先度を示すフィールド(例えば、IPヘッダの場合のToS(Type of Service)フィールド等)に対して適切な値を付与すると共に、当該転送優先度に合わせてトンネルヘッダでカプセリングしたパケットの優先制御(例えば、Priority Queuing等)を行う。
【0080】
また、トンネル制御部204は、隣接ドメインのSLG(SLG20又はSLG30)からのパケットを受信した場合には、上述した終端処理(つまり、パケットヘッダの削除)を行った後、パケットの処理を転送先決定部302に依頼する。
【0081】
<一実施例における転送処理の流れ>
以降では、一実施例として、
図3に示すNW構成において、アドレスレンジ「B1/B2/B3…」の端末からのパケットを、トンネル4とトンネル10とトンネル14とを接続することで実現されるスライスを介して、アドレスレンジ「C1/C2/C3…」のサーバ/VM等に送信する場合の転送処理について、
図8を参照しながら説明する。
【0082】
S101:まず、SLG202のスライスID設定部203は、5-tuple-スライス要件対応テーブルを参照して、端末からのパケットに含まれる5-tuple情報に対応するスライス要件を特定すると共に、SLG-ID-アドレス対応テーブルを参照して、当該5-tuple情報に含まれる送信先IPアドレスに対応するSLG ID「201」を特定する。そして、SLG202のスライスID設定部203は、特定したスライス要件及びSLG ID「201」をスライスIDとして当該パケットのヘッダに付与した後、パケットの処理を転送先決定部202に依頼する。
【0083】
S102:次に、SLG202の転送先決定部202は、スライス転送テーブルを参照して、上記のS101でパケットに付与されたスライスIDに含まれるスライス要件及びSLG ID「201」に対応するトンネルID「4」を特定(決定)する。そして、SLG202の転送先決定部202は、パケットの処理をトンネル制御部204に依頼する。
【0084】
S103:続いて、SLG202のトンネル制御部204は、上記のS102で決定されたトンネルID「4」に対応するトンネルのトンネルヘッダでパケットをカプセリングした後、当該トンネルID「4」のトンネルからパケットを出力する。なお、このとき、トンネルヘッダには転送優先度等が設定される。
【0085】
S201:次に、SLG302のトンネル制御部303は、トンネルID「4」のトンネルを介してパケットを受信すると、当該パケットからトンネルヘッダを削除する。そして、SLG302のトンネル制御部303は、パケットの処理を転送先決定部302に依頼する。
【0086】
S202:次に、SLG302の転送先決定部302は、スライス転送テーブルを参照して、上記のS201でトンネルヘッダが削除されたパケットに付与されているスライスIDに含まれるスライス要件及びSLG ID「201」に対応するトンネルID「10」を特定(決定)する。そして、SLG302の転送先決定部302は、パケットの処理をトンネル制御部303に依頼する。
【0087】
S203:続いて、SLG302のトンネル制御部303は、上記のS202で決定されたトンネルID「10」に対応するトンネルのトンネルヘッダでパケットをカプセリングした後、当該トンネルID「10」のトンネルからパケットを出力する。なお、このとき、トンネルヘッダには転送優先度等が設定される。
【0088】
S301:次に、SLG303のトンネル制御部303は、トンネルID「10」のトンネルを介してパケットを受信すると、当該パケットからトンネルヘッダを削除する。そして、SLG303のトンネル制御部303は、パケットの処理を転送先決定部302に依頼する。
【0089】
S302:次に、SLG303の転送先決定部302は、スライス転送テーブルを参照して、上記のS301でトンネルヘッダが削除されたパケットに付与されているスライスIDに含まれるスライス要件及びSLG ID「201」に対応するトンネルID「14」を特定(決定)する。そして、SLG303の転送先決定部302は、パケットの処理をトンネル制御部303に依頼する。
【0090】
S303:続いて、SLG303のトンネル制御部303は、上記のS302で決定されたトンネルID「14」に対応するトンネルのトンネルヘッダでパケットをカプセリングした後、当該トンネルID「14」のトンネルからパケットを出力する。なお、このとき、トンネルヘッダには転送優先度等が設定される。
【0091】
S401:次に、SLG203のトンネル制御部204は、トンネルID「14」のトンネルを介してパケットを受信すると、当該パケットからトンネルヘッダを削除する。そして、SLG203のトンネル制御部204は、パケットの処理をスライスID設定部203に依頼する。
【0092】
S402:次に、SLG203のスライスID設定部203は、上記のS401でトンネルヘッダが削除されたパケットに付与されているスライスIDに含まれるSLG ID「201」と自身のSLG ID「201」と一致しているか否かを判定する。本実施例では、これらのSLG IDは一致していると判定されるため、SLG203のトンネル制御部204は、当該パケットに付与されているスライスIDを削除する。そして、SLG203のスライスID設定部203は、パケットの処理を転送先決定部202に依頼する。
【0093】
S403:続いて、SLG203の転送先決定部202は、パケットにスライスIDが付与されていないため、通常のルーティング等(つまり、送信先IPアドレスに従ったルーティング等)により端末やサーバ/VM等にパケットを出力する。
【0094】
以上により、端末からのパケットが、スライスを介して、サーバ/VM等に送信される。なお、
図8では、端末からサーバ/VM等にパケットを送信する場合について説明したが、サーバ/VM等から端末にパケットを送信する場合も同様である。
【0095】
<ハードウェア構成>
最後に、本実施形態に係るNWコントローラ10、SLG20及びSLG30のハードウェア構成について説明する。
【0096】
≪NWコントローラ10≫
図9に示すように、本実施形態に係るNWコントローラ10は、入力装置501と、表示装置502と、外部I/F503と、通信I/F504と、プロセッサ505と、メモリ装置506とを有する。これら各ハードウェアは、それぞれがバス507を介して通信可能に接続されている。
【0097】
入力装置501は、例えば、キーボードやマウス、タッチパネル等である。表示装置502は、例えば、ディスプレイ等である。なお、NWコントローラ10は、入力装置501及び表示装置502のうちの少なくとも一方を有していなくてもよい。
【0098】
外部I/F503は、例えば、記録媒体503a等の外部装置とのインタフェースである。なお、記録媒体503aには、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
【0099】
通信I/F504は、通信ネットワークに接続するためのインタフェースである。プロセッサ505は、例えば、CPU(Central Processing Unit)等の演算装置である。メモリ装置506は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。
【0100】
本実施形態に係るNWコントローラ10は、
図9に示すハードウェア構成を有することにより、上述した各種処理を実現することができる。なお、
図9に示すハードウェア構成は一例であって、NWコントローラ10は、他のハードウェア構成を有していてもよい。例えば、NWコントローラ10は、複数のプロセッサ505を有していてもよいし、複数のメモリ装置506を有していてもよい。
【0101】
≪SLG20及びSLG30≫
図10に示すように、本実施形態に係るSLG20及びSLG30は、外部I/F601と、通信I/F602と、プロセッサ603と、メモリ装置604とを有する。これら各ハードウェアは、それぞれがバス605を介して通信可能に接続されている。
【0102】
外部I/F601は、例えば、記録媒体601a等の外部装置とのインタフェースである。なお、記録媒体601aには、例えば、microSDやUSBメモリカード等がある。
【0103】
通信I/F602は、通信ネットワークに接続するためのインタフェースである。プロセッサ603は、例えば、CPU等の演算装置である。メモリ装置604は、例えば、フラッシュメモリ、RAM、ROM等の各種記憶装置である。
【0104】
本実施形態に係るSLG20及びSLG30は、
図10に示すハードウェア構成を有することにより、上述した各種処理を実現することができる。なお、
図10に示すハードウェア構成は一例であって、SLG20及びSLG30は、他のハードウェア構成を有していてもよい。例えば、SLG20及びSLG30は、複数のプロセッサ603を有していてもよいし、複数のメモリ装置604を有していてもよい。
【0105】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0106】
10 NWコントローラ
20 SLG
30 SLG
101 ドメイン間連携部
102 SLG管理部
201 テーブル管理部
202 転送先決定部
203 スライスID設定部
204 トンネル制御部
301 テーブル管理部
302 転送先決定部
303 トンネル制御部