WO2016143338A1 - ネットワークシステム、制御装置、制御方法及びプログラム記録媒体 - Google Patents

ネットワークシステム、制御装置、制御方法及びプログラム記録媒体 Download PDF

Info

Publication number
WO2016143338A1
WO2016143338A1 PCT/JP2016/001284 JP2016001284W WO2016143338A1 WO 2016143338 A1 WO2016143338 A1 WO 2016143338A1 JP 2016001284 W JP2016001284 W JP 2016001284W WO 2016143338 A1 WO2016143338 A1 WO 2016143338A1
Authority
WO
WIPO (PCT)
Prior art keywords
control device
network
identifiers
virtual
virtual networks
Prior art date
Application number
PCT/JP2016/001284
Other languages
English (en)
French (fr)
Inventor
優太 芦田
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Publication of WO2016143338A1 publication Critical patent/WO2016143338A1/ja

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

仮想ネットワーク間でトラフィック処理規則の衝突を事前に回避するネットワークシステムを提供する。ネットワークシステムは、物理ノードと、第一の制御装置と、第二の制御装置と、を含む。物理ノードは、通信トラヒックを処理するための処理規則に含まれる識別条件により識別される通信トラヒックを処理する。第一の制御装置は、物理ノードを用いて複数の仮想ネットワークを構築する。第二の制御装置は、複数の仮想ネットワークの各々に割り当てられる。第一の制御装置は、所定の条件に基づいて、識別条件として使用可能な識別子の集合を複数の仮想ネットワークの各々に割り当て、割り当てた識別子の集合を第二の制御装置に通知する。

Description

ネットワークシステム、制御装置、制御方法及びプログラム記録媒体
 本開示は、ネットワークシステム、制御装置、制御方法及びプログラム記録媒体に関し、特に、制御装置からの指示に従ってパケットを転送する機器によって構成されるネットワークにおけるネットワークシステム、制御装置、制御方法及びプログラム記録媒体に関する。
 特許文献1及び非特許文献1、2に示すとおり、近年、オープンフロー(OpenFlow)という技術が提案されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散及び最適化を行うものである。転送ノードとして機能するオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するルール(FlowKey;マッチングキー)と、処理内容を定義したアクション(Action)と、フロー統計情報(Stats)との組が定義される。
 例えば、オープンフロースイッチは、最初のパケット(first packet)を受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルール(FlowKey)を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、受信パケットに対して、当該エントリのアクションフィールドに記述された処理を実施する。一方、前記検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送する。そして、オープンフロースイッチは、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。
 また、前述のようにオープンフロースイッチはオープンフローコントローラからのフローエントリ設定によってパケットの処理方法を決定する。特に、指定されたインターフェースへパケットを出力する「OUTPUT」が処理方法として多用されるが、この時指定されるポートは物理的なインターフェースに限らない。
 このようにオープンフローは、オープンフローコントローラによるオープンフロースイッチの制御によって、トラフィックの制御をマッチ条件によって規定される処理規則の集合として定義することで実現する。
 また、オープンフローを用いて構成されるネットワークを仮想化し、多様なニーズに対応するための技術が提案されている。
 非特許文献3は複数のオープンフローコントローラによってトラフィック制御を行うスライシング技術について開示しており、共通のオープンフローネットワークを複数の運用者が独立して運用することを可能にしている。非特許文献3では、FlowVisorと呼ばれる特殊なオープンフローコントローラが一つのオープンフロースイッチと複数のオープンフローコントローラの間の仲介を行う。これにより、非特許文献3では、複数のポリシーによって一つのオープンフロースイッチを制御することが可能になっている。FlowVisorには各オープンフローコントローラが収容すべきトラフィックの識別情報が登録されている。ポリシー間の衝突は、オープンフロースイッチからの処理規則要求の振り分けや、オープンフローコントローラから指示された処理規則の排他制御をこの識別情報に従って行うことで回避できる。この技術は、共通のオープンフローネットワークから仮想的に複数のネットワークを切り出してユーザーに提供することを可能にする。
 特許文献2はオープンフローコントローラの制御負荷を削減する技術を開示しており、オープンフローネットワークを階層化する技術について記述がある。特許文献2において、一つ以上のオープンフローネットワークが存在する場合、物理的なオープンフローネットワークを制御する各オープンフローコントローラ(以降下位コントローラと記述)をさらに制御する上位のオープンフローコントローラ(以降上位コントローラと記述)を備える構成が記載されている。各下位コントローラは、自身が制御するネットワークを一つの仮想的なスイッチとして上位コントローラに通知する。各下位コントローラは、上位コントローラからのフロー制御を受け取ることによってネットワークの階層化を実現し、複数のオープンフローネットワークを一つのネットワークとして統合し、制御する。
 非特許文献4は、上記非特許文献3、特許文献2に記載のスライシング、階層化を含む複数の仮想化技術を組み合わせてオープンフローネットワークに適用するアーキテクチャーについて開示している。非特許文献4では、ネットワークの仮想化を行うコンポーネントとして、Aggregator(縮約機能)、Slicer(切り出し機能)、Federator(結合機能)が定義されている。非特許文献4は、これらを再帰的にネットワークへ適用することで、物理的なオープンフロースイッチで構成されるネットワークを多様な構成に変換し制御するアーキテクチャーを提案している。
 また、非特許文献5は、上記非特許文献4で記述されているアーキテクチャーをオープンフローネットワークだけでなく、VXLAN(Virtual eXtensible Local Area Network)など他のネットワーク制御技術上で実現する技術を開示している。
 さらに、上記仮想化技術をネットワークに適用する際に問題となる、トラフィック処理規則の検証手段についても提案がなされている。
 非特許文献6は、オープンフローネットワークに設定されたトラフィック処理規則によって対象のトラフィックが指定通り転送されることを検証する技術について開示している。非特許文献6では、トラフィック処理規則中のトラフィック識別条件に該当するパケットヘッダの集合が幾何学的に識別子空間として表現されている。そして転送経路上のオープンフロースイッチに設定されるトラフィック処理規則の識別子空間が一致するか、もしくは共通部分空間を持つかを検査することで想定通りのトラフィック制御が実現されるかの検証が行われている。また、既に設定済みの他のトラフィック処理規則と識別子空間が競合するか否かを同時に検査することによって、ネットワーク全体として意図したトラフィック制御が行われていることが検証される。
 非特許文献7には、仮想ネットワークにおいて設定されたトラフィック処理規則が意図したとおりに設定されているか、他の仮想ネットワークにおけるトラフィック処理規則と衝突を生じないかを検証する技術についての記述がある。トラフィック処理規則の有効性は、トラフィック処理規則に使用できるトラフィック識別条件を二分決定木で表現し、設定済みのトラフィック処理規則中のトラフィック識別条件が使用可能な範囲を逸脱していないかを検査することで行われる。
国際公開第2014/126094号 特表2013-522934号公報
Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成26年9月17日検索]、インターネット〈URL:http://archive.openflow.org/documents/openflow-wp-latest.pdf〉 "OpenFlow Switch Specification" Version 1.0.0. (Wire Protocol 0x01) "、[online]、[平成26年9月17日検索] 、インターネット〈URL:https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.0.0.pdf〉 Sherwood, Rob, et al. "Carving research slices out of your production networks with OpenFlow." ACM(Association for Computing Machinery) SIGCOMM Computer Communication Review 40.1 (2010): 129-130. 小出俊夫, 芦田優太, and 下西英之. "SDN コントローラ作成のシンプル化を実現するネットワーク抽象化モデル (ICT システムを高度化する SDN 特集)--(NEC SDN Solutions を支える最新技術)." NEC 技報、 日本電気株式会社、 Vol.66 No.2 (2014): p.32-35. 飯澤洋平, 森本昌治, and 下西英之. "ヘテロジニアス網統合制御基盤を実現するマルチレイヤ抽象化技術 (ICT システムを高度化する SDN 特集)--(NEC SDN Solutions を支える最新技術)." NEC 技報、 日本電気株式会社、 Vol.66 No.2 (2014): p.44-47. Kazemian, Peyman, George Varghese, and Nick McKeown. "Header Space Analysis: Static Checking for Networks." 9th USENIX Symposium on Operating Systems Design and Implementation(NSDI). 2012. Al-Shaer, Ehab, and Saeed Al-Haj. "FlowChecker: Configuration analysis and verification of federated OpenFlow infrastructures." Proceedings of the 3rd ACM workshop on Assurable and usable security configuration. ACM, 2010.
 なお、上記先行技術文献の各開示を、本明細書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
 上述の通り、オープンフローのようなネットワーク制御技術を用い、ネットワークを仮想化することで複数のユーザーの要求に応じたトラフィックの処理規則を設定することができる。しかしながら、これらのトラフィック処理規則は最終的に共通の物理ネットワークへ設定されることになるが、各仮想ネットワークの処理規則が矛盾する規則であった場合、トラフィックが意図しない制御を受けてしまうことが考えられる。非特許文献4のようにネットワークを複雑に仮想化していった場合、設定されるトラフィック処理規則が多様になるため処理規則間の矛盾が発生する確率が高まる。
 非特許文献3に記載の技術を用いることで、ユーザーごとに許可したトラフィック種別のみを制御するよう制約を付けることができる。許可範囲を逸脱するようなトラフィック処理規則の設定が指示された場合には、物理ネットワークに設定する前に修正もしくは拒否することによってトラフィック処理規則の排他制御が実現される。しかしながら、非特許文献3に記載の技術は、このトラフィック種別情報そのものの検証手段を持たず、ユーザーごとの使用可能トラフィック種別設定が衝突している場合、意図した制御が実行できない。また、トラフィック処理規則の排他制御はオープンフローコントローラからの設定指示送信を契機に行われるため、事前に他の規則と衝突を起こさない処理規則を計算することができない。
 非特許文献6、7に記載の技術を用いることで、設定されたトラフィック処理規則が仮想ネットワーク間で矛盾を発生させていないか、意図した制御が実現可能かを検証することが可能である。しかし、本技術も非特許文献3と同様に、登録情報の検証や、衝突を回避する処理規則の事前計算を行うことができない。
 以上から、本開示は、仮想ネットワーク間でトラフィック処理規則の衝突を事前に回避するために必要な、使用可能なトラフィック識別条件の計算及び情報開示手段を提供することを目的とする。
 本開示の第1の視点によれば、通信トラヒックを処理するための処理規則に含まれる識別条件により識別される通信トラヒックを処理する物理ノードと、前記物理ノードを用いて複数の仮想ネットワークを構築する第一の制御装置と、前記複数の仮想ネットワークの各々に割り当てられる第二の制御装置と、を含み、前記第一の制御装置は、所定の条件に基づいて、前記識別条件として使用可能な識別子の集合を前記複数の仮想ネットワークの各々に割り当て、割り当てた前記識別子の集合を前記第二の制御装置に通知する、ネットワークシステムが提供される。
 本開示の第2の視点によれば、通信トラヒックを処理するための処理規則に含まれる識別条件により識別される通信トラヒックを処理する物理ノードを用いて複数の仮想ネットワークを構築し、所定の条件に基づいて、前記識別条件として使用可能な識別子の集合を前記複数の仮想ネットワークの各々に割り当て、割り当てた前記識別子の集合を、前記複数の仮想ネットワークの各々に割り当てられる第二の制御装置に通知する、制御装置が提供される。
 本開示の第3の視点によれば、通信トラヒックを処理するための処理規則に含まれる識別条件により識別される通信トラヒックを処理する物理ノードを用いて複数の仮想ネットワークを構築し、所定の条件に基づいて、前記識別条件として使用可能な識別子の集合を前記複数の仮想ネットワークの各々に割り当て、割り当てた前記識別子の集合を、前記複数の仮想ネットワークの各々に割り当てられる第二の制御装置に通知する制御方法が提供される。
 本開示の第4の視点によれば、通信トラヒックを処理するための処理規則に含まれる識別条件により識別される通信トラヒックを処理する物理ノードを制御する制御装置に搭載されたコンピュータに、前記物理ノードを用いて複数の仮想ネットワークを構築する処理と、所定の条件に基づいて、前記識別条件として使用可能な識別子の集合を前記複数の仮想ネットワークの各々に割り当てる処理と、割り当てた前記識別子の集合を、前記複数の仮想ネットワークの各々に割り当てられる第二の制御装置に通知する処理と、を実行させるためのプログラムが提供される。
 なお、このプログラムは、コンピュータが読み取り可能な記録媒体に記録することができる。記録媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本開示は、コンピュータプログラム製品として具現することも可能である。
 本開示の各視点によれば、仮想ネットワーク間でトラフィック処理規則の衝突を事前に回避することに寄与するネットワークシステム、制御装置、制御方法及びプログラムが提供される。
図1は、一実施形態の概要を説明するための図である。 図2は、第一の実施形態におけるシステム構成の一例を示している。 図3は、第一の実施形態における第一の制御装置の構成例を示している。 図4は、第一の実施形態における第二の制御装置の構成例を示している。 図5は、第一の実施形態における第三の制御装置の構成例を示している。 図6は、第一の実施形態における第四の制御装置の構成例を示している。 図7は、第一の実施形態において第一の制御装置によって計算される識別子空間を例示している。 図8は、第一の実施形態における収容トラフィック条件を例示している。 図9は、第一の実施形態における収容トラフィック条件の重複を例示している。 図10は、第一の実施形態において第二の制御装置によって計算される識別子空間を例示している。 図11は、第一の実施形態において第三の制御装置に開示される二つのネットワークの識別子空間を例示している。 図12は、第一の実施形態において、第三の制御装置によって計算される識別子空間を例示している。 図13は、第二の実施形態において、第二の制御装置によって計算される識別子空間を例示している。 図14は、第二の実施形態において、第二の制御装置によって修正された識別子空間を例示している。 図15は、第二の実施形態において、第三の制御装置によって修正された識別子空間を例示している。 図16は、第三の実施形態における第一の制御装置の構成を例示している。 図17は、第三の実施形態における第二の制御装置の構成を例示している。 図18は、第三の実施形態における第三の制御装置の構成を例示している。 図19は、第三の実施形態において、第四の制御装置に開示される識別子空間を例示している。 図20は、第三の実施形態において、第四の制御装置によって設定されるトラフィック処理規則に含まれるトラフィック識別条件を例示している。 図21は、第三の実施形態において、第三の制御装置によって修正されたトラフィック識別条件を例示している。 図22は、第四の実施形態において、第三の制御装置に開示される識別子空間を例示している。 図23は、第四の実施形態において、第三の制御装置によって計算される識別子空間を例示している。 図24は、制御装置を実現するコンピュータの構成の一例を示す。
 初めに、一実施形態の概要について説明する。なお、この概要に付記した参照符号は、理解を助けるための一例として各要素に便宜上付記したものである。この概要の記載は、なんらの限定を意図するものではない。また、構成要素間に記載された矢印は、情報の流れの一例を示すにすぎず、情報の流れを特定の方向に限定することを意図するものではない。
 図1を参照すると、一実施形態に係るネットワークシステムは、物理ノード100と、第一の制御装置101と、第二の制御装置102と、を含む。物理ノード100は、通信トラヒックを処理するための処理規則に基づいて、当該処理規則に含まれる識別条件により識別される通信トラヒックを処理する。第一の制御装置101は、物理ノード100を用いて複数の仮想ネットワークを構築する。第二の制御装置102は、複数の仮想ネットワークの各々に割り当てられる。第一の制御装置101は、所定の条件に基づいて、識別条件として使用可能な識別子の集合を複数の仮想ネットワークの各々に割り当て、割り当てた識別子の集合を第二の制御装置102に通知する。
 図1のネットワークシステムにおいて、第一の制御装置101は、複数の仮想ネットワークを構築すると共に、それぞれの仮想ネットワークにて使用可能な識別子の集合(後述する識別子空間)を割り当てる。当該割り当てられた識別子の集合は、各仮想ネットワークを制御する第二の制御装置102に提供される。第二の制御装置102は、提供された識別子の集合に適合するようにトラフィック制御指示(フロー設定指示)を行い、又は、識別子の集合に適合しない第二の制御装置102の上位装置から指示されたトラフィック制御指示を拒否することで、識別条件の衝突が回避できる。
 一実施形態に係るネットワークシステムは、ネットワークを多様に仮想化する場合に、それぞれの仮想ネットワークにおいて許容されるトラフィック識別条件を他の仮想ネットワークとの衝突を防止するよう計算し、トラフィック処理規則を計算する機器を提供できる。
 以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
[第一の実施形態]
 図2は、第一の実施形態に係るシステム全体の構成例を示す図である。図2を参照すると、ノード1-1~1-3から構成されるネットワーク3-1と、ノード1-4~1-6から構成されるネットワーク3-2と、が相互に接続されている。さらに、ノード1-1、1-2、1-5及び1-6のそれぞれには、端末2が接続されている。また、ネットワーク3-1は、制御装置10-1によって直接に管理されている。ネットワーク3-2は、制御装置10-2によって直接に管理されている。
 制御装置10-1、10-2は、自身の管理するネットワークの情報を他の制御装置に提供し、制御下に入る。制御装置20は、制御装置10-1の情報から二つの仮想ネットワークを構築し、制御装置40-1及び制御装置30に仮想ネットワーク情報を提供する。
 制御装置20は、制御装置40-1からの制御指示と制御装置30からの制御指示を制御装置10-1へ受け渡すとともに、制御装置10-1からの情報を条件によって制御装置40-1、制御装置30に振り分ける機能を持つ。
 制御装置30は、制御装置10-2及び制御装置20からのネットワーク情報を結合し、単一のネットワーク情報を制御装置40-2へ提供する。また、制御装置30は、制御装置40-2からの制御指示を分割し、制御装置10-2及び制御装置20へ分配する機能を持つ。
 制御装置40は、受け取ったネットワーク情報から該当ネットワークへ設定すべきフローを計算し、下位の制御装置へ送信する。
 次に、図3~6を用いて、制御装置10、20、30、40の構成例について説明する。
 図3を参照すると、制御装置10は、ノード通信部11と、ノード制御メッセージ処理部12と、処理規則計算部13と、ネットワーク情報管理部14と、識別子空間計算部15と、制御装置間メッセージ処理部16と、制御装置通信部17と、で構成されている。
 ノード通信部11は、ノード1と接続し通信を行う。
 ノード制御メッセージ処理部12は、ノード1から受信した情報を解析し、他の機能部へ振り分ける。ノード制御メッセージ処理部12は、他の機能部からの情報をノード1の制御用メッセージへ変換し、ノード通信部11へ送信する。
 処理規則計算部13は、ネットワーク情報管理部14からの情報に基づいてノード1に設定指示する処理規則を計算し、ノード制御メッセージ処理部12へ送信する。
 ネットワーク情報管理部14は、制御装置10の管理するネットワークの情報を管理し、ノード1からの情報や、制御装置20もしくは30からの情報に基づき情報を更新する。ネットワーク情報管理部14は、更新情報を制御装置20、30やノード1へ通知する。
 識別子空間計算部15は、ネットワーク情報管理部14の保持しているネットワーク情報に基づき、制御装置10の管理するネットワークで、フローのトラフィック識別条件として使用可能な識別子の空間を計算し、保持する。識別子空間計算部15は、フローのトラフィック識別条件として使用可能な識別子の空間をネットワーク情報管理部14に通知する。
 制御装置間メッセージ処理部16は、他の機能部からの要請に基づき、制御装置20、30へ情報を送信するメッセージを作成する。制御装置間メッセージ処理部16は、制御装置20、30から受信した情報を解析し、他の機能部へ振り分ける。
 制御装置通信部17は、制御装置20、30との通信を管理する。
 また、処理規則計算部13は、自身が計算済みの処理規則と、その計算のもとになったフロー情報を記憶するフローデータベース(フローDB;Data Base)131を含む。ネットワーク情報管理部14は、制御装置10が管理するネットワークの情報、すなわち、ネットワークトポロジやノード1の情報、ネットワークに設定すべきフローの情報などを記憶するネットワークデータベース(ネットワークDB)141を含む。識別子空間計算部15は、自身の計算した識別子空間を記憶する識別子空間データベース(識別子空間DB)151を含む。
 図4を参照すると、制御装置20は、ネットワークスライス部21と、識別子空間計算部22と、ネットワーク情報管理部23と、制御装置間メッセージ処理部24と、制御装置通信部25と、で構成されている。
 ネットワークスライス部21は、制御装置10より受信したネットワーク情報(すなわち、仮想化の基となる下位ネットワーク情報)と、仮想ネットワークに収容すべきトラフィックの識別条件と、に基づき、複数の仮想ネットワーク情報を計算する。さらに、ネットワークスライス部21は、下位ネットワークからの情報を、該当する仮想ネットワーク情報を管理するネットワーク情報管理部23に伝達する、あるいは制御装置30もしくは40からの情報を制御装置間メッセージ処理部24に伝達する。
 識別子空間計算部22は、下位ネットワーク情報とそれに含まれる識別子空間に基づき、各仮想ネットワークにおいてフローのトラフィック識別条件として使用可能な識別子空間を計算し、仮想ネットワークの識別子空間として保存する。識別子空間計算部22は、仮想ネットワークの識別子空間を、該当する仮想ネットワークの情報を管理するネットワーク情報管理部23へ通知する。
 ネットワーク情報管理部23は、下位ネットワーク情報と、仮想ネットワークに対応するネットワーク情報を管理する。
 制御装置間メッセージ処理部24は、他の機能部からの要請に基づき、制御装置10、30、40へ情報を送信するメッセージを作成する。制御装置間メッセージ処理部24は、制御装置10、30、40から受信した情報を解析し、他の機能部へ振り分ける。
 制御装置通信部25は、制御装置10、30、40との通信を管理する。
 また、ネットワークスライス部21は、情報振り分け部211と、収容トラフィック条件データベース(収容トラフィック条件DB)212と、を含む。情報振り分け部211は、収容トラフィック条件データベース212の情報に基づいて、制御装置10、30、40からの情報を該当するネットワーク情報を管理するネットワーク情報管理部23へ振り分ける。収容トラフィック条件データベース212は、仮想ネットワークに収容すべきトラフィックの識別条件を保存(記憶)する。
 さらに、識別子空間計算部22は、自身の計算した識別子空間を記憶する識別子空間データベース221を含む。ネットワーク情報管理部23は、下位のネットワーク情報や仮想ネットワーク情報を保存するネットワークデータベース231を含む。
 なお、ネットワーク情報管理部23は、下位のネットワーク及び仮想ネットワーク毎に独立に存在してもよい。また、ネットワーク情報管理部23は単一であるがネットワークデータベース231はネットワーク毎に独立に存在してもよい。あるいは、ネットワークデータベース231が単一であって、ネットワークデータベース231の内部の独立した領域にネットワーク情報を管理してもよい。さらに、ネットワーク情報管理部23は、下位ネットワーク情報を持たず、必要に応じて下位ネットワークの制御装置から取得する方法や、下位ネットワークの制御装置から通知される情報を用いる方法を採用してもよい。
 収容トラフィック条件データベース212に記憶する情報は、運用者やユーザーによって外部より登録されてもよいし、起動時に設定するなど任意の情報登録手段を用いることができる。即ち、制御装置20は、仮想ネットワークに収容すべき通信トラヒックを識別する識別条件(収容トラフィック識別条件)を予め保持し、当該予め保持する識別条件に基づいて、仮想ネットワークにおいて使用可能な識別子の集合を管理できる。
 図5を参照すると、制御装置30は、ネットワーク結合部31と、識別子空間計算部32と、ネットワーク情報管理部33と、制御装置間メッセージ処理部34と、制御装置通信部35と、で構成されている。
 ネットワーク結合部31は、複数の下位ネットワーク情報を結合して単一の仮想ネットワーク情報を計算する。詳細には、ネットワーク結合部31は、制御装置10、20より受信したネットワーク情報(仮想化の基となる下位ネットワーク情報)と、ネットワーク境界データベース312に記憶されている下位ネットワーク同士の境界情報とに基づいて計算を実行する。さらに、ネットワーク結合部31は、下位ネットワークからの情報を、該当する仮想ネットワーク情報を管理するネットワーク情報管理部33に伝達する。あるいは、ネットワーク結合部31は、制御装置40からの情報を制御装置間メッセージ処理部34に伝達する。
 識別子空間計算部32は、下位ネットワーク情報と、それに含まれる識別子空間に基づき、仮想ネットワークにおいてフローのトラフィック識別条件として使用可能な識別子空間を計算し、仮想ネットワークの識別子空間として保存する。識別子空間計算部32は、仮想ネットワークの識別子空間を、該当する仮想ネットワークの情報を管理するネットワーク情報管理部33へ通知する。
 ネットワーク情報管理部33は、下位ネットワーク情報と、仮想ネットワークに対応するネットワーク情報を管理する。
 制御装置間メッセージ処理部34は、他の機能部からの要請に基づき、制御装置10、20、40へ情報を送信するメッセージを作成する。制御装置間メッセージ処理部34は、制御装置10、20、40から受信した情報を解析し、他の機能部へ振り分ける。
 制御装置通信部35は、制御装置10、20、40との通信を管理する。
 また、ネットワーク結合部31は、制御指示分解部311と、ネットワーク境界データベース(ネットワーク境界DB)312と、を含む。制御指示分解部311は、ネットワーク境界データベース312の情報に基づいて、制御装置40からの情報を分解し、該当するネットワーク情報を管理するネットワーク情報管理部33へ分配する。ネットワーク境界データベース312は、下位ネットワークを結合する境界に関する情報、すなわちネットワーク間リンクなどの情報を保存(記憶)する。
 識別子空間計算部32は、自身の計算した識別子空間を記憶する識別子空間データベース(識別子空間DB)321を含む。ネットワーク情報管理部33は、下位のネットワーク情報や仮想ネットワーク情報を保存するネットワークデータベース(ネットワークDB)331を含む。
 ネットワーク情報管理部33は、下位ネットワーク情報を持たず、必要に応じて下位ネットワークの制御装置から取得する方法や、下位ネットワークの制御装置から通知される情報を用いる方法を採用してもよい。あるいは、ネットワーク境界データベース312に記憶する情報は、運用者やユーザーによって外部より登録されてもよいし、起動時に設定するなど任意の情報登録手段を用いることができる。
 図6を参照すると、制御装置40は、フロー計算部41と、ネットワーク情報管理部42と、制御装置間メッセージ処理部43と、制御装置通信部44と、で構成されている。
 フロー計算部41は、制御装置20、30より受信したネットワーク情報(すなわち、フロー制御の対象となる下位ネットワーク情報)をネットワーク情報管理部42より取得し、下位ネットワークに設定すべきフローを計算する。
 ネットワーク情報管理部42は、下位ネットワーク情報を管理する。
 制御装置間メッセージ処理部43は、他の機能部からの要請に基づき、制御装置20、30へ情報を送信するメッセージを作成する機能、および制御装置20、30から受信した情報を解析し、他の機能部へ振り分ける機能を持つ。
 制御装置通信部44は、制御装置20、30との通信を管理する。
 また、フロー計算部41は、自身の計算したフローを記憶するフローデータベース(フローDB)411を含む。ネットワーク情報管理部42は、下位のネットワーク情報や仮想ネットワーク情報を保存するネットワークデータベース(ネットワークDB)421を含む。
 ネットワーク情報管理部42は、下位ネットワーク情報を持たず、必要に応じて下位ネットワークの制御装置から取得する方法や、下位ネットワークの制御装置から通知される情報を用いる方法を採用してもよい。
 なお、制御装置10、20、30、40に含まれるネットワークデータベース141、231、331、421は、ネットワーク情報だけでなく端末2に関する情報を保持してもよい。また、ネットワーク情報管理部14、23、33、42は、制御装置10、20、30、40の内部でなく、任意の情報通信手段によって接続される外部装置として別個に存在してもよい。
 図3~6に記載の、制御装置10、20、30、40の接続先となる制御装置は、図2のシステム構成に従ったものであり、制御装置の接続関係を変更する場合はそれに準じた接続先となる。
 図3~6に記載の構成を持つ制御装置によって図2に示される通信システムを構成する場合、トラフィックの処理方法であるフローを計算する装置は、最上位に接続された制御装置40である。従って、制御装置40が計算し、設定を指示したフローは、制御の媒介をする各制御装置においてフローに含まれるトラフィック識別条件が許容可能であるか検査される。
 制御装置10、20、30は、それぞれ上位に接続されている制御装置20、30、40が制御指示を行うことが可能なトラフィックの識別条件の集合(以降、識別子空間と記述する)を保持しており、制御装置20、30、40へ開示(提供)している。制御装置10、20、30は、上記識別子空間に該当しないトラフィック制御指示(以降、フロー設定指示と記述する)が制御装置20、30、40より送信された場合、許容可能なフロー設定指示ではない旨を含むエラー通知を返答する。制御装置10、20、30は、エラー通知を返答することで、各制御装置からのフロー設定が衝突しないことを保証する。
 あるいは、制御装置40が、直下の制御装置である制御装置20、30により規定される識別子空間を事前に取得し、その空間に適合するようなフロー設定指示を計算し、制御装置20、30へ送信することでフロー設定衝突の回避を保証してもよい。制御装置20、30が開示する識別子空間には、それより下位の制御装置における識別子空間が反映されているため、最下位の制御装置10に至るまで許容されることが保証できる。
 以降、制御装置10、20、30における識別子空間の計算方法について説明する。
 第一の実施形態において、識別子空間は、ノードに対応する物理機器が使用可能なトラフィック識別条件に基づいて計算される。オープンフロー(スペック1.0)を例にすると、送信元MAC(Media Access Control)アドレス、宛先MACアドレス、VLAN(Virtual Local Area Network) ID、VLANプライオリティ、L2フレームタイプ、IP ToS(Internet Protocol Type of Service)、IPプロトコル番号、送信元IPアドレス、宛先IPアドレス、送信元L4ポート番号及び宛先L4ポート番号の11種のパケットヘッダ情報とパケットの入力ポートの12種のフィールドが基となる。複数の機種が混在している場合は、各機種が対応可能な識別条件から識別子空間が計算される。以降、送信元MACアドレス、宛先MACアドレス、送信元IPアドレス、送信先IPアドレスに限定した例を説明する。
 制御装置10においては、ノードに対応する装置がトラフィック処理規則として利用可能な識別条件の集合が識別子空間となる。本実施形態では、識別子空間に入力ポート及び入力ノードの情報を含まず、場所によらずネットワーク全体で一つの識別子空間を共有する方法を示す。そのため、制御装置10における識別子空間計算は、各フィールドにおいて許容される最小値から最大値までの全ての値を含む識別子空間となる。
 図7に制御装置10によって計算される識別子空間表現の例を示す。図7では、仕様上使用可能なすべての値を「any」として表現している。なお、異種の機器が混在している場合、各機器で使用可能な識別条件の積集合を計算し、識別子空間とする。仮に、送信元MACアドレス、宛先MACアドレス、送信元IPアドレス及び送信先IPアドレスが識別可能なノードと、送信元MACアドレス及び宛先MACアドレスが識別可能なノードとが混在している場合、両者の積である送信元MACアドレス、宛先MACアドレスフィールドの任意の値集合がネットワークの識別子空間となる。
 次に、制御装置20における識別子空間の計算方法について説明する。
 制御装置20は、ネットワークを複数の仮想ネットワークに切り出すため、仮想ネットワーク間で識別子空間が独立となるように計算することで、トラフィック制御の衝突回避を保証する。
 例えば、図2の構成において、ネットワーク3-1は制御装置10-1によって等価なネットワークに仮想化され、制御装置10-1におけるネットワークデータベース141にネットワーク情報が保存される。制御装置20は、このネットワーク情報をもとに二つの仮想ネットワークを生成し、制御装置40-1と制御装置30に提供する。その際、制御装置20は、制御装置40-1及び制御装置30に提供するネットワークに収容すべきトラフィックの識別条件に基づき、識別子空間を計算する。
 トラフィック識別条件は、例えば、システム構成時に運用者やユーザーによって設定され、制御装置20における収容トラフィック条件データベース212に保存される。
 図8にトラフィック収容条件の例を示す。図8では、宛先MACアドレスが「00:00:00:00:00:01」から「00:00:00:00:00:0f」のトラフィックが制御装置40-1に提供される仮想ネットワーク1に収容されるように設定されている。また、送信先IPアドレスが「192.168.0.1」から「192.168.0.9」のトラフィックが制御装置30に提供される仮想ネットワーク2に収容されるよう設定されている。また、仮想ネットワーク1への振り分けが高優先度(1)、仮想ネットワーク2への振り分けが低優先度(2)となっている。
 制御装置20は、この収容トラフィック条件をもとに識別子空間を計算する。例えば、この収容トラフィック条件をそのまま仮想ネットワーク1、2の識別子空間にした場合、宛先MACアドレスが「00:00:00:00:00:01」から「00:00:00:00:00:0f」、且つ、送信先IPアドレスが「192.168.0.1」から「192.168.0.9」の範囲であるトラフィック識別条件は、衝突することになる。
 上記の衝突を引き起こす識別子空間の重複を図9に示す。図9において、横軸が宛先IPアドレスの値、縦軸が宛先MACアドレスの値を表しており、送信元IPアドレス、送信元MACアドレスは省略されている。黒で塗りつぶされた領域が仮想ネットワーク1の識別子空間を、白抜きの領域が仮想ネットワーク2の識別子空間を示しており、両者が重なっている部分が識別子空間の重複である。このような重複を回避するため、制御装置20は、優先度が低い仮想ネットワーク2の識別子空間を削減し、仮想ネットワーク2の識別子空間において禁止領域として表現する。
 制御装置20によって計算される識別子空間を図10に示す。なお、φは空集合を示す。仮想ネットワーク1の識別子空間は、図8の収容トラフィック条件と同一の許可領域をもち、禁止領域はすべて空集合である。仮想ネットワーク2の識別子空間は、許可空間として収容トラフィック条件と同一の範囲を持つが、禁止領域として仮想ネットワーク1と共通(重複)する部分である宛先MACアドレスが「00:00:00:00:00:01」から「00:00:00:00:00:0f」を持つ。この計算によって、互いに独立な識別子空間が制御装置40-1、30に開示される。
 最後に、制御装置30における識別子空間計算について説明する。
 制御装置30では、制御装置20と制御装置10-2に対応する下位ネットワークを結合し、一つの上位ネットワークとすることで複数のネットワークを統合して制御することを可能にする。そのため、制御装置30は、二つの下位ネットワークの識別子空間を統合して上位ネットワークの識別子空間とする。
 図11に制御装置20と10-2がそれぞれ開示する識別子空間を示す。図11において、仮想ネットワーク2の識別子空間は、許可領域として送信先IPアドレスが「192.168.0.1」から「192.168.0.9」を持つ。また、仮想ネットワーク2の識別子空間は、禁止領域として宛先MACアドレスが「00:00:00:00:00:01」から「00:00:00:00:00:0f」を持つ。仮想ネットワーク3(制御装置10-2に提供されるネットワーク)の識別子空間は、許可領域として宛先MACアドレスが「00:00:00:00:00:11」から「00:00:00:00:00:1f」を持ち、禁止領域として空集合を持つ。
 制御装置30は、これらの識別子空間を結合するため、本実施形態では二つの空間で許可領域では積を、禁止領域では和を計算して制御装置40-2に提供される仮想ネットワーク4の識別子空間とする。
 図12に仮想ネットワーク4の識別子空間を示す。図12のように許可領域として仮想ネットワーク2の許可領域と仮想ネットワーク3の許可領域の積である、送信先IPアドレスが「192.168.0.1」から「192.168.0.9」の範囲、且つ、宛先MACアドレスが「00:00:00:00:00:11」から「00:00:00:00:00:1f」の範囲が計算される。また、禁止領域として仮想ネットワーク2の禁止領域と仮想ネットワーク3の禁止領域(空集合)の和である宛先MACアドレスが「00:00:00:00:00:01」から「00:00:00:00:00:0f」の範囲が計算される。
 以上のように、第一の実施形態では、上記の識別子空間計算において、許可領域の積と禁止領域の和を取ることで、下位では別個のネットワークであるような結合ネットワークにおいてエンドツーエンドで共通して使用可能な識別子空間を計算及び開示する。これにより、第一の実施形態では、ネットワークを跨ってもフローが有効となるトラフィック識別条件の領域を示している。また、各制御装置が識別子空間を計算することによって、各仮想ネットワークにおいて他のネットワークと衝突せずに使用可能な識別子空間が定義され、各制御装置へ提供される。
 さらに、トラフィック識別条件を受け取った制御装置が、この識別子空間を用いて照合し、許容不可である場合はその旨をエラーとして通知する(拒否通知を送信する)ことで、トラフィック識別条件の衝突が最終的に回避される。より具体的には、各制御装置の制御装置間メッセージ処理部が、上位の制御装置から処理規則の設定の要求を受信した場合に、設定を要求された当該処理規則に用いる識別子が当該処理規則の識別条件として使用可能な識別子の集合に含まれないことに応じて、当該処理規則を設定できない旨を示す拒否通知を送信する。あるいは、制御装置が事前に識別子空間を取得し、それに対応するトラフィック識別条件を計算することで、トラフィック識別条件の衝突を最終的に回避してもよい。
[第二の実施形態]
 続いて、第二の実施形態について述べる。
 始めに、本実施形態における制御装置20の動作について説明する。本実施形態において、制御装置20は第一の実施形態と同様に、図8のような収容トラフィック条件を保持している。制御装置20はこの条件に基づき制御装置40-1に提供される仮想ネットワーク1、制御装置30に提供される仮想ネットワーク2に対する識別子空間を図13のように計算する。
 図13を参照すると、第二の実施形態において、制御装置20は、禁止領域を計算せず、収容トラフィック条件の重複領域である宛先MACアドレスが「00:00:00:00:00:01」から「00:00:00:00:00:0f」、且つ、送信先IPアドレスが「192.168.0.1」から「192.168.0.9」の範囲は仮想ネットワーク1、2ともに許可領域として扱われ、制御装置40-1、30に開示される。
 しかしながら、このままでは、仮想ネットワーク1と2の間でフローの衝突が発生し得る。そのため、制御装置20は先に使用されたトラフィック識別条件を他の仮想ネットワークにおける禁止領域とすることによって、使用順序に基づく衝突回避を行う。
 例えば、制御装置40-1が、送信元MACアドレス=00:00:00:00:00:21、宛先MACアドレス=00:00:00:00:00:01、送信元IPアドレス=192.168.10.1、送信先IPアドレス=192.168.0.1のトラフィック識別条件をもつフローを制御装置20へ設定指示したとする。この場合、制御装置20は、フローが重複領域に該当するか検査し、該当する場合、重複領域を構成するフィールド、すなわち宛先MACアドレスと送信先IPアドレスの値を他の仮想ネットワークである仮想ネットワーク2の禁止領域に追加する。上記禁止領域への追加の結果、図14のような識別子空間へ書き換えられることになる。
 さらに、制御装置30は、制御装置20により書き換えられた識別子空間に基づき、自身が計算し制御装置40-2へ開示済みの識別子空間を、図15のように更新する。
 以上のように、第二の実施形態では、重複する識別子空間を利用状況に応じて禁止領域として伝播させることによって、システム全体でトラフィック識別条件の衝突が発生することを回避しながら、禁止領域が必要以上に増大することを防止する。
[第三の実施形態]
 続いて、第三の実施形態について述べる。
 図16は、第三の実施形態における制御装置10の構成を例示している。図16において、制御装置10の構成は、第一及び第二の実施形態と一部を除いて同様であり、処理規則計算部13が第一、第二の実施形態と異なる。
 処理規則計算部13は、フローデータベース(フローDB)131と、識別条件修正部132と、を含む。フローデータベース131は、自身(処理規則計算部13)が計算済みの処理規則と、その計算のもとになったフロー情報を記憶する。識別条件修正部132は、識別子空間計算部15に含まれる識別子空間データベース151の情報に合わせて、制御装置20、30から指示されたフローのトラフィック識別条件を修正する。
 図17は、第三の実施形態における制御装置20の構成を例示している。図17において、制御装置20の構成は第一及び第二の実施形態と一部を除いて同様であり、ネットワークスライス部21が第一、第二の実施形態と異なる。
 ネットワークスライス部21は、情報振り分け部211と、収容トラフィック条件データベース(収容トラフィック条件DB)212と、識別条件修正部213と、を含む。情報振り分け部211は、収容トラフィック条件データベース212の情報に基づいて、制御装置10、30、40からの情報を該当するネットワーク情報を管理するネットワーク情報管理部23へ振り分ける。収容トラフィック条件データベース212は、仮想ネットワークに収容すべきトラフィックの識別条件を保存する。識別条件修正部213は、識別子空間計算部22に含まれる識別子空間データベース221の情報に合わせて、制御装置30、40から指示されたフローのトラフィック識別条件を修正する。
 図18は、第三の実施形態における制御装置30の構成を例示している。図18において、制御装置30の構成は第一及び第二の実施形態と一部を除いて同様であり、ネットワーク結合部31が第一、第二の実施形態と異なる。
 ネットワーク結合部31は、制御指示分解部311と、ネットワーク境界データベース(ネットワーク境界DB)312と、識別条件修正部213と、を含む。制御指示分解部311は、ネットワーク境界データベース312の情報に基づいて、制御装置40からの情報を分解し、該当するネットワーク情報を管理するネットワーク情報管理部33へ分配する。ネットワーク境界データベース312は、下位ネットワークを結合する境界に関する情報、すなわちネットワーク間リンクなどの情報を保存する。識別条件修正部313は、識別子空間計算部32に含まれる識別子空間データベース321の情報に合わせて、制御装置40から指示されたフローのトラフィック識別条件を修正する。
 第三の実施形態では、制御装置10、20、30は識別条件修正部132、213、313を有することにより、上位の制御装置より指示されたフローのうち、該当する識別子空間と一致しないものの一部を修正し、識別子空間と適合させる処理を行う。当該適合処理では、トラフィック識別条件を構成するフィールドに任意の値を取り得るように指定され、且つ、その部分を限定することによって識別子空間と適合するフローのみが対象となる。
 例えば、制御装置30が、制御装置40-2に提供される仮想ネットワーク4の識別子空間を図19のように提示している場合に、図20のようなトラフィック識別条件を持つフローが制御装置40-2より指定されたとする。
 図20に示すフローは、送信先IPアドレスのフィールドにおいて、図19の識別子空間と適合せず、識別子空間が指定する領域を超えた値を持っている。このようなフローに対して、制御装置30は、図19の識別子空間に従って送信先IPアドレスのフィールドを限定する。当該処理により、図20のフローは、図21のように修正される。この処理によって下位の制御装置20、10-2には識別子空間に適合したフローが指示されることになる。
 なお、図21のフローはIPアドレス値として、範囲表現を用いているが、制御装置10、20、30、40が範囲表現を許容する場合は範囲表現のまま用いればよいし、許容されない場合は範囲表現のフローを、ただ一つの値を持つ複数のフローへ分割して表現すればよい。また、制御装置10は、範囲表現であるフローを受け取った際、ノードが範囲表現を許容しない場合には、上記と同様に、一つの値を持つ複数のフローに分割して設定してもよい。あるいは、この場合、制御装置10は、いったんフローデータベース131にフローを記憶し、この範囲表現に適合する処理規則要求をノードより受信した際に、処理規則要求に含まれるパケットヘッダの値に合わせて一つずつ設定してもよい。
 以上のように、第三の実施形態では、フローのトラフィック識別条件の修正手段が提供されるため、識別子空間に適合しないフローであっても可能な限り設定可能とする運用が可能となる。
[第四の実施形態]
 続いて、第四の実施形態について述べる。
 第四の実施形態における制御装置の構成は、第一の実施形態もしくは第三の実施形態と同様の構成が可能である。第四の実施形態において、ネットワークの識別子空間は、ポートと対応付けて保持される。
 図22に、制御装置30に開示される識別子空間の例が示されている。なお、入力ポートのフィールドに記載されているp1~p14は、図2のシステム構成におけるポートのIDと一致している。
 第四の実施形態において、制御装置30が計算する識別子空間は、図23のようになり、入力ポートの値によって異なる識別子空間が指定されることになる。但し、制御装置20における識別子空間の計算は第一の実施形態と同様である。
 第四の実施形態において、フローが識別子空間に適合しているかどうかは、フロー中のトラフィック識別条件における入力ポートを含めて検証される。そのため、例えば、ポートp1から入力され、ポートp14へ出力されるようなトラフィックを制御するフローは、転送経路の途中で異なる識別子空間を通ることとなる。具体的には、ポートp1から入力され、ポートp7へ出力されるまで(すなわち、図2のシステム構成におけるネットワーク3-1内)の転送を制御するフローは、図23中の入力ポートフィールドがポートp1~p7となっている許可領域および禁止領域に従って識別条件の検証が行われる。一方、ポートp8から入力され、ポートp14に出力されるまで(すなわち、図2のネットワーク3-2内)の転送を制御するフローは、図23中の入力ポートフィールドがポートp8~p14となっている許可領域および禁止領域に従って検証される。なお、第四の実施形態では説明上、全てのポートのIDは、システム全体で一意であるという前提であるため入力ポートフィールドを識別子空間に含んでいる。一方、ポートIDが一意でない場合、ノードのIDと組み合わせて表現することで一意に識別することも可能である。
 第四の実施形態では、ポート単位で識別子空間を規定できるため、識別子空間を表現するための情報量が増加するが、トラフィック識別条件を転送経路途中で変更する余地が生じ、フロー制御の自由度が向上する。
 第一乃至第四の実施形態で説明した制御装置10、20、30及び40は、各制御装置に搭載されたコンピュータに、上記説明した各部の処理を実行させるためのコンピュータプログラムにより実現することもできる。
 図24は、本開示に係る制御装置を実現するコンピュータ400のハードウェア構成を例示するブロック図である。コンピュータ400は、CPU(Central Processing Unit)401と、ROM(Read Only Memory)402と、RAM(Random Access Memory)403と、記憶装置404と、ドライブ装置405と、通信インターフェース406と、入出力インターフェース407とを有する。本開示に係る制御装置は、図24に示される構成(又はその一部)によって実現され得る。
 CPU401は、RAM403を用いてプログラム408を実行する。プログラム408は、ROM402に記憶されていてもよい。また、プログラム408は、フラッシュメモリなどの記録媒体409に記録され、ドライブ装置405によって読み出されてもよいし、外部装置からネットワーク410を介して送信されてもよい。通信インターフェース406は、ネットワーク410を介して外部装置とデータをやり取りする。入出力インターフェース407は、周辺機器(入力装置、表示装置など)とデータをやり取りする。通信インターフェース406及び入出力インターフェース407は、データを取得又は出力する手段として機能することができる。
 なお、本開示に係る制御装置は、単一の回路(プロセッサ等)によって構成されてもよいし、複数の回路の組み合わせによって構成されてもよい。ここでいう回路(circuitry)は、専用又は汎用のいずれであってもよい。
 第一乃至四の実施形態で説明した構成及び動作は例示であって、制御装置等の構成及び動作を限定する趣旨ではない。
 例えば、制御装置20は、物理ノード1を含む少なくとも1つの通信ネットワーク(例えば、ネットワーク3-1)を管理し、管理する通信ネットワークに含まれる物理ノードの通信インターフェースのうち、管理外の通信ネットワーク(例えば、ネットワーク3-2)と接続する通信インターフェース(ノード1-3のポート7)において使用可能な識別子の集合を算出し、算出した識別子の集合を所定の通信インターフェースと関連付けて管理してもよい。即ち、制御装置20、30等は、エッジのポートにおいて使用可能な識別子空間のみを計算し、当該計算した識別子空間をエッジポートに関連付けて保持してもよい。
 制御装置20は、複数の通信ネットワークの各々に含まれる物理ノードの通信インターフェースにおいて使用可能な識別子の集合の積集合に基づいて、当該物理ノードを用いて構築される仮想ネットワークにおいて使用可能な識別子の集合を算出し、算出した識別子の集合を、複数の通信ネットワークと関連付けて管理してもよい。即ち、制御装置20、30等は、通信ネットワークに含まれる全てのノードにおいて共通して使用可能な識別子空間を計算し、当該計算された識別子空間と仮想ネットワークと関連付けて保持するだけでなく、通信ネットワークと関連付けて管理してもよい。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
 通信トラヒックを処理するための処理規則に基づいて、当該処理規則に含まれる識別条件により識別される通信トラヒックを処理する物理ノードと、
 前記物理ノードを用いて複数の仮想ネットワークを構築する第一の制御装置(例えば、図2の制御装置20)と、
 前記複数の仮想ネットワークの各々に割り当てられる第二の制御装置(例えば、図2の制御装置40-1、30)と、を含み、
 前記第一の制御装置は、
  所定の条件に基づいて、前記識別条件として使用可能な識別子の集合を前記複数の仮想ネットワークの各々に割り当て、
  割り当てた前記識別子の集合を前記第二の制御装置に通知する、ネットワークシステム。
[付記2]
 前記第一又は第二の制御装置は、
  前記物理ノードに含まれる通信インターフェースごとに、当該通信インターフェースにおいて使用可能な前記識別子の集合を算出し、
  算出した前記識別子の集合を前記通信インターフェースに関連付けて管理する、付記1に記載のネットワークシステム。
[付記3]
 前記第一又は第二の制御装置は、
  前記物理ノードの通信インターフェースにおいて使用可能な前記識別子に基づいて、当該物理ノードを用いて構築される仮想ネットワークにおいて使用可能な前記識別子の集合を算出し、
  算出した前記識別子の集合を、前記物理ノードを用いて構築された前記仮想ネットワークに関連付けて管理する、付記1又は2に記載のネットワークシステム。
[付記4]
 前記第一又は第二の制御装置は、
  前記物理ノードの通信インターフェースにおいて使用可能な前記識別子の集合の和集合又は積集合に基づいて、当該物理ノードを用いて構築される仮想ネットワークにおいて使用可能な前記識別子の集合を算出する、付記3に記載のネットワークシステム。
[付記5]
 前記第一又は第二の制御装置は、
  前記仮想ネットワークに対応する第一の通信ネットワークに含まれる物理ノードの通信インターフェースのうち、第二の通信ネットワークと接続する所定の通信インターフェースにおいて使用可能な前記識別子の集合を算出し、
  算出した前記識別子の集合を前記所定の通信インターフェースと関連付けて管理する、付記2に記載のネットワークシステム。
[付記6]
 前記第一又は第二の制御装置は、
  前記第一の通信ネットワークに含まれる物理ノードの所定の通信インターフェースにおいて使用可能な前記識別子の集合の和集合又は積集合に基づいて、当該物理ノードを用いて構築される仮想ネットワークにおいて使用可能な前記識別子の集合を算出する、付記5に記載のネットワークシステム。
[付記7]
 前記第一の制御装置は、
  前記仮想ネットワークに収容すべき通信トラヒックを識別する前記識別条件を予め保持し、
  予め保持する前記識別条件に基づいて、前記仮想ネットワークにおいて使用可能な前記識別子の集合を管理する、付記1乃至6のいずれか一に記載のネットワークシステム。
[付記8]
 前記第一の制御装置は、
  前記複数の仮想ネットワークの各々において使用可能な前記識別子の集合が互いに重複する場合に、前記重複する当該識別子の集合を、当該複数の仮想ネットワークの各々が当該識別子として使用できない使用禁止の識別子の集合として設定する、付記1乃至7のいずれか一に記載のネットワークシステム。
[付記9]
 前記第一の制御装置は、
  前記複数の仮想ネットワークの各々において使用可能な前記識別子の集合が互いに重複する場合に、前記重複する集合に含まれる所定の識別子を、前記複数の仮想ネットワークのうち優先度の高い仮想ネットワークにおいて使用可能な識別子として設定する、付記1乃至8のいずれか一に記載のネットワークシステム。
[付記10]
 前記第一の制御装置は、
  前記複数の仮想ネットワークの各々において使用可能な前記識別子の集合が互いに重複する場合に、前記重複する集合に含まれる所定の識別子を、当該所定の識別子を含む前記処理規則が最初に割り当てられた仮想ネットワークにおいて使用可能な識別子として設定する、付記1乃至9のいずれか一に記載のネットワークシステム。
[付記11]
 前記第一の制御装置は、
  前記所定の識別子を、当該所定の識別子を含む前記処理規則が割り当てられた前記仮想ネットワーク以外の仮想ネットワークが使用できない識別子として設定する、付記9又は10に記載のネットワークシステム。
[付記12]
 前記第一の制御装置は、
  前記複数の仮想ネットワークの各々において使用可能な前記識別子の集合を、前記複数の仮想ネットワークごとに独立するように算出する、付記1乃至11のいずれか一に記載のネットワークシステム。
[付記13]
 前記第一又は第二の制御装置は、
  前記処理規則の設定の要求を受信した場合に、設定を要求された当該処理規則に含まれる識別子が当該処理規則の識別条件として使用可能な識別子の集合に含まれないことに応じて、当該処理規則を設定できない旨を示す拒否通知を送信する、付記1乃至12のいずれか一に記載のネットワークシステム。
[付記14]
 前記第一又は第二の制御装置は、
  前記処理規則の設定の要求を受信した場合に、設定を要求された当該処理規則に含まれる識別子を、当該処理規則の識別条件として使用可能な識別子の集合に含まれる識別子に変更する、付記1乃至13のいずれか一に記載のネットワークシステム。
[付記15]
 通信トラヒックを処理するための処理規則に基づいて、当該処理規則に含まれる識別条件により識別される通信トラヒックを処理する物理ノードを制御する制御装置であって、
 前記物理ノードを用いて複数の仮想ネットワークを構築し、
 所定の条件に基づいて、前記識別条件として使用可能な識別子の集合を前記複数の仮想ネットワークの各々に割り当て、
 割り当てた前記識別子の集合を、前記複数の仮想ネットワークの各々に割り当てられる第二の制御装置に通知する、制御装置。
[付記16]
 通信トラヒックを処理するための処理規則に基づいて、当該処理規則に含まれる識別条件により識別される通信トラヒックを処理する物理ノードの制御方法であって、
 前記物理ノードを用いて複数の仮想ネットワークを構築するステップと、
 所定の条件に基づいて、前記識別条件として使用可能な識別子の集合を前記複数の仮想ネットワークの各々に割り当てるステップと、
 割り当てた前記識別子の集合を、前記複数の仮想ネットワークの各々に割り当てられる第二の制御装置に通知するステップと、
 を含む制御方法。
[付記17]
 通信トラヒックを処理するための処理規則に基づいて、当該処理規則に含まれる識別条件により識別される通信トラヒックを処理する物理ノードを制御する制御装置に搭載されたコンピュータに実行させるプログラムであって、
 前記物理ノードを用いて複数の仮想ネットワークを構築する処理と、
 所定の条件に基づいて、前記識別条件として使用可能な識別子の集合を前記複数の仮想ネットワークの各々に割り当てる処理と、
 割り当てた前記識別子の集合を、前記複数の仮想ネットワークの各々に割り当てられる第二の制御装置に通知する処理と、
 を実行させるプログラム。
 なお、付記15~17の形態は、付記1の形態と同様に、付記2の形態~付記14の形態に展開することが可能である。
 なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本開示は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
 この出願は、2015年3月12日に出願された日本出願特願2015-049870を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1、1-1~1-6 ノード
2 端末
3-1、3-2 ネットワーク
10-1、10-2、20、30、40-1、40-2 制御装置
11 ノード通信部
12 ノード制御メッセージ処理部
13 処理規則計算部
14、23、33、42 ネットワーク情報管理部
15、22、32 識別子空間計算部
16、24、34、43 制御装置間メッセージ処理部
17、25、35、44 制御装置通信部
21 ネットワークスライス部
31 ネットワーク結合部
41 フロー計算部
100 物理ノード
101 第一の制御装置
102 第二の制御装置
131、411 フローデータベース(フローDB)
132、213、313 識別条件修正部
141、231、331、421 ネットワークデータベース(ネットワークDB)
151、221、321 識別子空間データベース(識別子空間DB)
211 情報振り分け部
212 収容トラフィック条件データベース(収容トラフィック条件DB)
311 制御指示分解部
312 ネットワーク境界データベース(ネットワーク境界DB)

Claims (17)

  1.  通信トラヒックを処理するための処理規則に含まれる識別条件により識別される通信トラヒックを処理する物理ノードと、
     前記物理ノードを用いて複数の仮想ネットワークを構築する第一の制御装置と、
     前記複数の仮想ネットワークの各々に割り当てられる第二の制御装置と、を含み、
     前記第一の制御装置は、
      所定の条件に基づいて、前記識別条件として使用可能な識別子の集合を前記複数の仮想ネットワークの各々に割り当て、
      割り当てた前記識別子の集合を前記第二の制御装置に通知する、ネットワークシステム。
  2.  前記第一の制御装置又は前記第二の制御装置は、
      前記物理ノードの通信インターフェースごとに、当該通信インターフェースにおいて使用可能な前記識別子の集合を算出し、
      算出した前記識別子の集合を前記通信インターフェースに関連付けて管理する、請求項1に記載のネットワークシステム。
  3.  前記第一の制御装置又は前記第二の制御装置は、
      前記物理ノードの通信インターフェースにおいて使用可能な前記識別子に基づいて、当該物理ノードを用いて構築される仮想ネットワークにおいて使用可能な前記識別子の集合を算出し、
      算出した前記識別子の集合を、前記物理ノードを用いて構築された前記仮想ネットワークに関連付けて管理する、請求項1又は2に記載のネットワークシステム。
  4.  前記第一の制御装置又は前記第二の制御装置は、
      前記物理ノードの通信インターフェースにおいて使用可能な前記識別子の集合の和集合又は積集合に基づいて、当該物理ノードを用いて構築される仮想ネットワークにおいて使用可能な前記識別子の集合を算出する、請求項3に記載のネットワークシステム。
  5.  前記第一の制御装置又は前記第二の制御装置は、
      前記仮想ネットワークに対応する第一の通信ネットワークに含まれる物理ノードの通信インターフェースのうち、第二の通信ネットワークと接続する所定の通信インターフェースにおいて使用可能な前記識別子の集合を算出し、
      算出した前記識別子の集合を前記所定の通信インターフェースと関連付けて管理する、請求項2に記載のネットワークシステム。
  6.  前記第一の制御装置又は前記第二の制御装置は、
      前記第一の通信ネットワークに含まれる物理ノードの所定の通信インターフェースにおいて使用可能な前記識別子の集合の和集合又は積集合に基づいて、当該物理ノードを用いて構築される仮想ネットワークにおいて使用可能な前記識別子の集合を算出する、請求項5に記載のネットワークシステム。
  7.  前記第一の制御装置は、
      前記仮想ネットワークに収容する通信トラヒックを識別する前記識別条件を予め保持し、
      予め保持する前記識別条件に基づいて、前記仮想ネットワークにおいて使用可能な前記識別子の集合を管理する、請求項1乃至6のいずれか一項に記載のネットワークシステム。
  8.  前記第一の制御装置は、
      前記複数の仮想ネットワークの各々において使用可能な前記識別子の集合が互いに重複する場合に、当該重複する識別子の集合を、当該複数の仮想ネットワークの各々が前記識別子として使用できない使用禁止の識別子の集合として設定する、請求項1乃至7のいずれか一項に記載のネットワークシステム。
  9.  前記第一の制御装置は、
      前記複数の仮想ネットワークの各々において使用可能な前記識別子の集合が互いに重複する場合に、当該重複する集合に含まれる所定の識別子を、前記複数の仮想ネットワークのうち優先度の高い仮想ネットワークにおいて使用可能な識別子として設定する、請求項1乃至8のいずれか一項に記載のネットワークシステム。
  10.  前記第一の制御装置は、
      前記複数の仮想ネットワークの各々において使用可能な前記識別子の集合が互いに重複する場合に、当該重複する集合に含まれる所定の識別子を、当該所定の識別子を含む前記処理規則が最初に割り当てられた仮想ネットワークにおいて使用可能な識別子として設定する、請求項1乃至9のいずれか一項に記載のネットワークシステム。
  11.  前記第一の制御装置は、
      前記所定の識別子を、当該所定の識別子を含む前記処理規則が割り当てられた前記仮想ネットワーク以外の仮想ネットワークが使用できない識別子として設定する、請求項9又は10に記載のネットワークシステム。
  12.  前記第一の制御装置は、
      前記複数の仮想ネットワークの各々において使用可能な前記識別子の集合を、前記複数の仮想ネットワークごとに独立するように算出する、請求項1乃至11のいずれか一項に記載のネットワークシステム。
  13.  前記第一の制御装置又は前記第二の制御装置は、
      前記処理規則を設定する要求を受信した場合に、当該処理規則に含まれる識別子が当該処理規則の識別条件として使用可能な識別子の集合に含まれないことに応じて、当該処理規則を設定できない旨を示す拒否通知を送信する、請求項1乃至12のいずれか一項に記載のネットワークシステム。
  14.  前記第一の制御装置又は前記第二の制御装置は、
      前記処理規則を設定する要求を受信した場合に、当該処理規則に含まれる識別子を、当該処理規則の識別条件として使用可能な識別子の集合に含まれる識別子に変更する、請求項1乃至13のいずれか一項に記載のネットワークシステム。
  15.  通信トラヒックを処理するための処理規則に含まれる識別条件により識別される通信トラヒックを処理する物理ノードを用いて複数の仮想ネットワークを構築し、
     所定の条件に基づいて、前記識別条件として使用可能な識別子の集合を前記複数の仮想ネットワークの各々に割り当て、
     割り当てた前記識別子の集合を、前記複数の仮想ネットワークの各々に割り当てられる第二の制御装置に通知する、制御装置。
  16.  通信トラヒックを処理するための処理規則に含まれる識別条件により識別される通信トラヒックを処理する物理ノードを用いて複数の仮想ネットワークを構築し、
     所定の条件に基づいて、前記識別条件として使用可能な識別子の集合を前記複数の仮想ネットワークの各々に割り当て、
     割り当てた前記識別子の集合を、前記複数の仮想ネットワークの各々に割り当てられる第二の制御装置に通知する、
     を含む制御方法。
  17.  通信トラヒックを処理するための処理規則に含まれる識別条件により識別される通信トラヒックを処理する物理ノードを制御する制御装置に搭載されたコンピュータに、
     前記物理ノードを用いて複数の仮想ネットワークを構築する処理と、
     所定の条件に基づいて、前記識別条件として使用可能な識別子の集合を前記複数の仮想ネットワークの各々に割り当てる処理と、
     割り当てた前記識別子の集合を、前記複数の仮想ネットワークの各々に割り当てられる第二の制御装置に通知する処理と、
     を実行させるためのプログラムを記録したプログラム記録媒体。
PCT/JP2016/001284 2015-03-12 2016-03-09 ネットワークシステム、制御装置、制御方法及びプログラム記録媒体 WO2016143338A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-049870 2015-03-12
JP2015049870A JP2018093245A (ja) 2015-03-12 2015-03-12 ネットワークシステム、制御装置、制御方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2016143338A1 true WO2016143338A1 (ja) 2016-09-15

Family

ID=56880245

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/001284 WO2016143338A1 (ja) 2015-03-12 2016-03-09 ネットワークシステム、制御装置、制御方法及びプログラム記録媒体

Country Status (2)

Country Link
JP (1) JP2018093245A (ja)
WO (1) WO2016143338A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014060803A (ja) * 2010-11-22 2014-04-03 Nec Corp 通信システム、通信装置、制御装置、パケットフローの転送経路の制御方法及びプログラム
WO2014126094A1 (ja) * 2013-02-13 2014-08-21 日本電気株式会社 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014060803A (ja) * 2010-11-22 2014-04-03 Nec Corp 通信システム、通信装置、制御装置、パケットフローの転送経路の制御方法及びプログラム
WO2014126094A1 (ja) * 2013-02-13 2014-08-21 日本電気株式会社 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム

Also Published As

Publication number Publication date
JP2018093245A (ja) 2018-06-14

Similar Documents

Publication Publication Date Title
US10671289B2 (en) Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US10375121B2 (en) Micro-segmentation in virtualized computing environments
JP5943006B2 (ja) 通信システム、制御装置、通信方法およびプログラム
US8855116B2 (en) Virtual local area network state processing in a layer 2 ethernet switch
KR101572771B1 (ko) 가상 스위치를 통한 네트워크 트래픽 제어 시스템 및 방법
US20180083865A1 (en) Systems and methods for software defined networking service function chaining
US9137154B2 (en) Management of routing tables shared by logical switch partitions in a distributed network switch
US9088516B2 (en) Virtual network services
US10284458B2 (en) Flow table modifying method, flow table modifying apparatus, and openflow network system
US9935876B2 (en) Communication system, control apparatus, communication apparatus, communication control method, and program
US9614754B2 (en) Method, device, and system for packet routing in a network
US9537751B2 (en) Divided hierarchical network system based on software-defined networks
US20190394095A1 (en) Virtualized networking application and infrastructure
US9935834B1 (en) Automated configuration of virtual port channels
US20170374028A1 (en) Software-defined networking controller
TW201735579A (zh) 設定裝置、通信系統、通信裝置之設定更新方法及程式
WO2016143339A1 (ja) ネットワークシステム、制御装置、制御方法及びプログラム記録媒体
WO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
WO2016143338A1 (ja) ネットワークシステム、制御装置、制御方法及びプログラム記録媒体
US20190229991A1 (en) Method and system for managing control connections with a distributed control plane
US11676045B2 (en) Network node with reconfigurable rule-based routing
JP2018088650A (ja) 情報処理装置、通信制御方法及び通信制御プログラム
US20210112081A1 (en) Resolving the disparate impact of security exploits to resources within a resource group

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16761311

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16761311

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP