JP6524911B2 - ネットワーク制御装置、ネットワーク制御方法およびプログラム - Google Patents

ネットワーク制御装置、ネットワーク制御方法およびプログラム Download PDF

Info

Publication number
JP6524911B2
JP6524911B2 JP2015548966A JP2015548966A JP6524911B2 JP 6524911 B2 JP6524911 B2 JP 6524911B2 JP 2015548966 A JP2015548966 A JP 2015548966A JP 2015548966 A JP2015548966 A JP 2015548966A JP 6524911 B2 JP6524911 B2 JP 6524911B2
Authority
JP
Japan
Prior art keywords
switch
flow
network
information
switch device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015548966A
Other languages
English (en)
Other versions
JPWO2015075862A1 (ja
Inventor
裕太 樋口
裕太 樋口
俊夫 小出
俊夫 小出
優太 芦田
優太 芦田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2015075862A1 publication Critical patent/JPWO2015075862A1/ja
Application granted granted Critical
Publication of JP6524911B2 publication Critical patent/JP6524911B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Landscapes

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

Description

本発明は、ネットワーク制御装置、ネットワーク制御方法およびネットワーク制御プログラムに関する。
近年、オープンフロー(OpenFlow)という技術が提案されている(非特許文献1,2参照)。
オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行う。非特許文献2で仕様が定められているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。
フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件(Header Fields)と、フロー統計情報(Counters)と、処理内容を定義したアクション(Actions)との組が定義される(非特許文献2の「3 Flow Table」の項参照)。
オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件(非特許文献2の「3.1 Header Fields」、「5.2.3 Flow Match Structures」参照)を持つフローエントリを検索する。検索の結果、受信パケットに適合するフローエントリが見つかった場合、オープンフロースイッチは、フロー統計情報を更新するとともに、受信パケットに対して、そのフローエントリのアクションフィールドに記述された処理内容(例えば、指定ポートからのパケット送信、フラッディング、廃棄等)を実施する。一方、検索の結果、受信パケットに適合するフローエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してフローエントリ設定の要求(換言すれば、受信パケットを処理するための制御情報の送信要求)を送信する。この要求メッセージは、Packet−Inメッセージと呼ばれる。そして、オープンフロースイッチは、処理内容が定められたフローエントリをオープンフローコントローラから受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたフローエントリを制御情報として用いてパケット転送を行う。
オープンフローに代表される集中制御型のネットワークにおいてはフロー毎にきめ細かな制御を行うことが可能となっている。その一方で、スイッチ装置が扱えるフローテーブル数の制約といったリソースの制限がある。大規模なフローを取り扱う場合には、このようなリソースの制限が課題となる場合がある。スイッチ装置のリソース利用を最適化するための技術が、例えば、非特許文献3,4に記載されている。非特許文献3,4には、ヘッダをネットワークのエッジスイッチで書き換え、個別のフローの経路情報を埋め込み、コア網では既設の各フローで共通に利用できるフローエントリを設定しておくことで、コア網を転送する際に必要となるスイッチ装置のリソースを有効利用する技術等が提案されている。
オープンフローを採用したシステムの各アプリケーションは、適用する環境に応じてこのような最適化技術を組み込むようにして、開発および実現されている。この場合、新たな最適化技術が登場し、その最適化技術を利用する場合には、アプリケーションが改修される。
また、非特許文献5には、理論的なネットワークモデルと、そのネットワークモデルにおけるデータ転送ルールを表すネットワークフロー表現を導入し、それらのモデルを操作するようにアプリケーションをプログラミングすることによって、アプリケーションと、フロー設定装置(オープンフローコントローラ)とを分離し、独立して交換可能とすることが記載されている。非特許文献5に記載の技術により開発工数の増加が抑えられる。
Nick Mckeown, 外7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、2008年3月14日、[2013年9月5日検索]、インターネット<URL: http://www.openflow.org/documents/openflow-wp-latest.pdf> "OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01)"、[online]、2009年12月31日、[2013年9月5日検索]、インターネット<URL: http://www.openflow.org/documents/openflow-spec-v1.0.0.pdf> Yasunobu Chiba, Yusuke Shinohara and Hideyuki Shimonishi, "Source Flow: Handling Millions of Flows on Flow-based Nodes", ACM SIGCOMM Computer Communication Review, Vol.40, issue 4, pp.465-466, October 2010 芦田優太、小出俊夫、千葉靖伸、下西英之、「Source Flowを用いた大規模OpenFlowネットワークにおける通信負荷低減手法の提案」、電子情報通信学会、信学技法、ネットワークシステム110(448),pp.341−346,2011年2月 小出俊夫、芦田優太、下西英之、「SDN制御プラットフォームにおけるネットワーク抽象化モデルの検討とその評価」、電子情報通信学会、信学技法、Vo.113,No.7,CQ2013−8 pp.41−46、2013年4月
上記のように、非特許文献5に記載の技術を用いることで開発工数の増加を抑えることができる。しかし、ネットワークフロー表現は、理論的なネットワークモデルにおけるデータ転送ルールを表すものであるので、実際にオープンフロースイッチに設定するフローエントリとして直接利用することはできない。
そこで、本発明は、スイッチ装置によって形成されるネットワークを表すトポロジ情報、およびそのネットワークでのデータ転送ルールを表すネットワークフロー情報を導入した場合に、ネットワークフロー情報を利用して各スイッチ装置を制御することができるネットワーク制御装置、ネットワーク制御方法およびネットワーク制御プログラムを提供することを目的とする。
本発明によるネットワーク制御装置は、ネットワークを表現したトポロジ情報と、そのネットワークでのデータ転送ルールを表現したネットワークフロー情報とを記憶するネットワークデータベース記憶手段と、ネットワークに含まれる各スイッチ装置をノードとしてトポロジ情報を生成してネットワークデータベース記憶手段に記憶させ、ネットワークデータベース記憶手段に記憶されているネットワークフロー情報に基づいて、各スイッチ装置の動作を規定したスイッチフロー情報を生成し、スイッチフロー情報を各スイッチ装置に設定するスイッチ制御手段とを備えることを特徴とする。
また、本発明によるネットワーク制御方法は、ネットワークを表現したトポロジ情報と、そのネットワークでのデータ転送ルールを表現したネットワークフロー情報とを記憶するネットワークデータベース記憶手段を備えるネットワーク制御装置に適用されるネットワーク制御方法であって、ネットワークに含まれる各スイッチ装置をノードとしてトポロジ情報を生成してネットワークデータベース記憶手段に記憶させ、ネットワークデータベース記憶手段に記憶されているネットワークフロー情報に基づいて、各スイッチ装置の動作を規定したスイッチフロー情報を生成し、スイッチフロー情報を各スイッチ装置に設定することを特徴とする。
また、本発明によるネットワーク制御プログラムは、ネットワークを表現したトポロジ情報と、そのネットワークでのデータ転送ルールを表現したネットワークフロー情報とを記憶するネットワークデータベース記憶手段を備えるコンピュータに搭載されるネットワーク制御プログラムであって、コンピュータに、ネットワークに含まれる各スイッチ装置をノードとしてトポロジ情報を生成してネットワークデータベース記憶手段に記憶させ、ネットワークデータベース記憶手段に記憶されているネットワークフロー情報に基づいて、各スイッチ装置の動作を規定したスイッチフロー情報を生成し、スイッチフロー情報を各スイッチ装置に設定するスイッチ制御処理を実行させることを特徴とする。
本発明によれば、スイッチ装置によって形成されるネットワークを表すトポロジ情報、およびそのネットワークでのデータ転送ルールを表すネットワークフロー情報を導入した場合に、ネットワークフロー情報を利用して各スイッチ装置を制御することができる。
本発明のネットワーク制御装置の第1の実施形態の構成例を示すブロック図である。 ネットワークモデルの概念図である。 ネットワークモデルの表現例を示す模式図である。 スイッチ情報管理手段の構成例を示すブロック図である。 スイッチ情報管理手段の処理経過の例を示すフローチャートである。 フロー設定手段の構成例を示すブロック図である。 フロー設定手段の処理経過の例を示すフローチャートである。 フロー設定手段に適用されるSourceFlowを示す模式図である。 本発明のネットワーク制御装置の第2の実施形態の構成例を示すブロック図である。 共通フロー設定手段の構成例を示すブロック図である。 共通フロー設定手段の処理経過の例を示すフローチャートである。 個別フロー設定手段の構成例を示すブロック図である。 個別フロー設定手段の処理経過の例を示すフローチャートである。 本発明の主要部を示すブロック図である。
以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図1は、本発明のネットワーク制御装置の第1の実施形態の構成例を示すブロック図である。第1の実施形態におけるネットワーク制御装置10は、ネットワーク内のスイッチ装置8を制御するスイッチ制御手段3と、ネットワークデータベース(以下、単にDBと記す。)記憶手段2と、情報登録手段1とを備える。
ネットワークDB記憶手段2は、ネットワーク4をモデルとして表したネットワークモデルを記憶する記憶装置である。ネットワークモデルには、エンドツーエンドのフローを表すネットワークフロー表現も含まれる。
実際のネットワーク4に対する操作の記述に対応するように、ネットワークモデルに対する操作の記述を表すことができる。
情報登録手段1は、アプリケーションに従って、ネットワークDB記憶手段2にネットワークフロー表現を登録する。具体的には、情報登録手段1は、フロー定義手段5を備える。フロー定義手段5は、ネットワークフロー表現を定義し、ネットワークDB記憶手段2にネットワークフロー表現を記憶させる。なお、ネットワークフロー表現は、ネットワークモデルの一部として記述される。
スイッチ制御手段3には、ネットワーク4内のスイッチ装置8が接続されている。スイッチ制御手段3は、スイッチ情報管理手段7と、フロー設定手段6とを備える。
スイッチ情報管理手段7は、ネットワーク4内のスイッチ装置8の状態を示す情報を収集し、蓄積する。また、スイッチ情報管理手段7は、スイッチ装置8間の接続関係を検出し、その接続関係の情報をネットワークDB記憶手段2に記憶させる。
さらに、スイッチ情報管理手段7は、スイッチ制御手段3に接続されている各スイッチ装置8と、ネットワークDB記憶手段2に記憶されているネットワークモデルとの対応関係を管理する。そして、スイッチ情報管理手段7は、スイッチ装置8の状態の変化、および、スイッチ装置8間の接続関係の変化を、ネットワークDB記憶手段2に記憶されているネットワークモデルに反映する。
フロー設定手段6は、ネットワークDB記憶手段2に登録されたネットワークフロー表現をスイッチ装置毎のフロー設定に変換し、各スイッチ装置8に対してフロー設定を設定する。フロー設定とは、条件に適合するパケットに対する処理内容を定めた情報である。例えば、オープンフローにおけるフローエントリが、フロー設定に該当する。
フロー設定手段6は、ネットワークDB記憶手段2に記憶されているネットワークフロー表現を解釈し、ネットワークフロー表現で明示的に登場するスイッチ装置8を判定する。さらに、フロー設定手段6は、フローに対応する転送過程で必要になることが明示的に示されていないスイッチ装置8を、スイッチ情報管理手段7に記憶されている各スイッチ装置8とネットワークモデルとの対応関係に基づいて判定する。この判定の結果、フローに対応する転送経路上の各スイッチ装置8が特定される。ここで、ネットワークフロー表現で明示的に登場するスイッチ装置8は、フローの経路の両端のスイッチ転送装置である。
フロー設定手段6は、転送経路上の各スイッチ装置8に対して、ネットワークフロー表現の記述内容を実現するためのフロー設定を生成し、生成したフロー設定を、順次各スイッチ装置8に設定する。
フロー定義手段5は、ネットワークDB記憶手段2に記憶されたネットワークモデル内でエンドツーエンドのフローを表すネットワークフロー表現を定義し、ネットワークDB記憶手段2に記憶させる。すなわち、ネットワークモデルに含まれる情報のうちネットワークフロー表現は、フロー定義手段5によって登録される。
本発明におけるネットワークモデルおよびネットワークフロー表現は、非特許文献5に記載されたネットワークモデルおよびネットワークフロー表現と同様でよい。以下、ネットワークモデルおよびネットワークフロー表現について説明する。
図2は、ネットワークモデルの概念図である。図2に示すように、ネットワークモデルは、トポロジと、ネットワークフロー表現とを含む。
トポロジは、Nodeオブジェクト、PortオブジェクトおよびLinkオブジェクトによって表現される。以下、Nodeオブジェクト、PortオブジェクトおよびLinkオブジェクトをそれぞれ、単に、Node、PortおよびLinkと記す。Nodeは、スイッチ装置に対応する。Portは、ポートに対応する。Linkは、スイッチ装置の接続関係に対応する。Node、PortおよびLinkは、ネットワークモデル上での識別子を有する。ネットワークモデル内のトポロジは、これらの識別子を用いてネットワークを表現する。
図2において、1つのネットワークフロー表現を“Flow”と記す。ネットワークフロー表現“Flow”は、1つ以上のNodeを跨って構成されるエンドツーエンドのフローを表現する。1つのFlowは、matches、pathおよびedge_actionsを含む。matchesは、転送対象とするパケットの条件を定義する部分である。pathは、転送経路を定義する部分である。edge_actionsは、パケット出力先およびヘッダ書き換え条件群を定義する部分である。
matchesでは、複数の条件を定義することができる。例えば、matchesにおいて、入力Node(in_node)、入力Port(in_port)、パケットヘッダの条件等を定義することができる。
pathは、転送経路を定義する。例えば、pathは、Link識別子のリスト、経由するNode、Portのリスト等によって、転送経路を定義する。
edge_actionsは、パケットを最後にネットワーク4(図1参照)の外部に出力する際の手順を定義する。例えば、edge_actionsにおいて、出力Node(out_node)と出力Port(out_port)が指定されたり、VLANタグの書き換えやMACアドレスの書き換え等のパケットヘッダ書き換え処理が定義されたりする。
ネットワークフロー表現は、フローに合致するパケットの転送ルールを表していると言うこともできる。
図3は、ネットワークモデルの表現例を示す模式図である。図3に例示するネットワークモデルでは、ネットワーク31を表している。図3に示す例において、ネットワーク31は、2台のNode301とNode311とを含む。Node301は、3つのPort302〜304を有する。Node311は、3つのPort312〜314を有する。また、Link320は、2台のNode301,311が、Node301のPort304を起点(src)とし、Node311のPort313を終端点(dst)として接続されていることを表現している。
また、図3では、ネットワークフロー表現として、Flow330を例示している。Flow330は、Node301のPort302から入力されたパケットを、Node311のPort314から出力することを表現している。
Flow330のmatchesは、入力Node(in_node)としてNode301を指定し、入力ポート(in_port)としてPort302を指定することによって、転送対象となるパケットの条件を定義している。
Flow330のpathは、Link320を介してパケットを転送することを表現している。
Flow330のedge_actionsは、出力Node(out_node)としてNode311を指定し、出力Port(out_port)としてPort314を指定することによって、パケットの出力先を定義している。
次に、スイッチ情報管理手段7の構成および動作を説明する。図4は、スイッチ情報管理手段7の構成例を示すブロック図である。図1に示す要素と同一の要素に関しては、図1と同一の符号を付し説明を省略する。図5は、スイッチ情報管理手段7の処理経過の例を示すフローチャートである。スイッチ情報管理手段7は、スイッチ情報収集手段41と、スイッチ情報蓄積手段42と、モデル変換管理手段43とを備える。
スイッチ情報収集手段41は、スイッチ装置8と通信し、スイッチ装置8の機能を利用して、スイッチ装置8毎に、スイッチ装置8のポート数、各ポートの稼働状態、およびリンク速度等のスイッチ装置8自体の情報を収集し、スイッチ情報蓄積手段42に登録する(ステップS1)。このとき、スイッチ情報収集手段41は、スイッチ装置8の識別情報や、ポートの識別情報も収集し、スイッチ情報蓄積手段42に登録する。
また、管理対象のスイッチ装置8がオープンフロースイッチである場合等には、スイッチ情報収集手段41は、スイッチ装置8間の接続関係(すなわち、リンク)を、スイッチ装置8の機能を利用して、スイッチ装置8から検出することができる。この場合、スイッチ情報収集手段41は、ステップS1において、スイッチ装置8間のリンクの情報もスイッチ装置8から検出し、リンクの情報もスイッチ情報蓄積手段42に登録する。具体的には、スイッチ情報収集手段41は、スイッチ装置8がどのポートを通じて他のスイッチ装置に接続されているかをスイッチ装置8から検出し、検出した情報をスイッチ情報蓄積手段42に登録する。
なお、スイッチ情報収集手段41は、スイッチ装置8以外の装置等からリンクの情報を収集してもよい。例えば、スイッチ情報収集手段41は、ネットワーク4の構成を管理するネットワーク管理システムから、スイッチ装置8間のリンクの情報を収集してもよい。この場合、ネットワーク管理システムは、ネットワーク4に属するスイッチ装置8間のリンクの情報を保持する。
スイッチ情報蓄積手段42は、スイッチ情報収集手段41によって収集された各情報(スイッチ装置8、ポート、リンク等の各情報)を蓄積し、他の手段から参照可能な形で保持する。
モデル変換管理手段43は、スイッチ情報蓄積手段42に蓄積された、スイッチ装置8、ポート、スイッチ装置8間の接続関係(リンク)の情報を、ネットワークモデルに変換し(より具体的には、ネットワークモデルにおけるオブジェクトに変換し)、ネットワークDB記憶手段2に登録する(ステップS2)。
さらに、モデル変換管理手段43は、ネットワーク4におけるスイッチ装置8、ポート、接続関係(リンク)の識別情報と、ネットワークモデル上の対応するオブジェクト(Node、Port、Link)の識別子との対応関係を表す情報を保持する(ステップS3)。
次に、フロー設定手段6の構成および動作を説明する。図6は、フロー設定手段6の構成例を示すブロック図である。図4に示す要素と同一の要素に関しては、図4と同一の符号を付し説明を省略する。図7は、フロー設定手段6の処理経過の例を示すフローチャートである。フロー設定手段6は、ネットワークフロー表現変換手段51と、スイッチ抽出・分類手段52と、エッジフロー変換手段53と、転送フロー変換手段54と、スイッチ装置設定手段55とを備える。
ネットワークフロー表現変換手段51は、ネットワークフロー表現に明示的に登場するノード、ポート、リンクを、ネットワーク4におけるスイッチ装置、ポート、スイッチ装置間の接続関係の識別情報に変換する(ステップS11)。具体的には、ネットワークフロー表現変換手段51は、ネットワークフロー表現に明示的に登場するノード、ポート、リンクに対応する、ネットワーク4におけるスイッチ装置、ポート、スイッチ装置間の接続関係の識別情報(換言すれば、スイッチ情報蓄積手段42に登録されているスイッチ装置、ポート、接続関係の識別情報)を、モデル変換管理手段43に照会し、ネットワーク4におけるスイッチ装置、ポート、スイッチ装置間の接続関係の識別情報を得る。そして、ネットワークフロー表現変換手段51は、ネットワークフロー表現に明示的に登場するノード、ポート、リンクをそれらの識別情報に変換する。この変換結果は、ネットワーク4におけるフローを表すフロー情報であると言える。以下、ステップS11における変換結果を、単にフロー情報と記す場合がある。
なお、ネットワークフロー表現に明示的に登場するノードは、フローの経路の両端に該当するノードである。また、ネットワークフロー表現で明示されていないノードは、フローの経路において、両端以外に該当するノードである。
ネットワークフロー表現変換手段51は、ステップS11で得られるフロー情報をスイッチ抽出・分類手段52に引き渡す。
続いて、スイッチ抽出・分類手段52は、ネットワークフロー表現のpathで指定されたリンク情報(より具体的には、ステップS11で得られたpathの変換結果)に基づいて、フローの経路を表すグラフを組み立てる。さらに、スイッチ抽出・分類手段52は、フローに合致するパケットの転送経路上のスイッチ装置8であって、ネットワークフロー表現で明示されていないスイッチ装置8の情報をスイッチ情報蓄積手段42から抽出する。そして、スイッチ抽出・分類手段52は、ネットワークフロー表現に関連するスイッチ装置8(上記の抽出によって得られるスイッチ装置8、およびネットワークフロー表現に明示されているスイッチ装置8)を列挙する(ステップS12)。
さらに、スイッチ抽出・分類手段52は、列挙したそれぞれのスイッチ装置8について、ネットワークフロー表現のmatches、edge_actionsで明示的に入出力を行う役割を指定されたスイッチ装置であるか、転送を担う役割をpathで暗黙に指定されたスイッチ装置であるかを分類する(ステップS13)。スイッチ抽出・分類手段52は、前者のスイッチ装置8の識別情報と、リンク情報から組み立てたグラフと、ステップS11で得られたフロー情報とを、エッジフロー変換手段53に引き渡し、後者のスイッチ装置8の識別情報と、グラフと、フロー情報とを、転送フロー変換手段54に引き渡す。エッジフロー変換手段53および転送フロー変換手段54には、共通のグラフおよび共通のフロー情報が引き渡される。
そして、エッジフロー変換手段53は、ネットワークフロー表現のmatches、edge_actionsで明示的に入出力を行う役割を指定されたスイッチ装置に対するフロー設定を生成する(ステップS14)。転送フロー変換手段54は、転送を担う役割をpathで暗黙に指定されたスイッチ装置に対するフロー設定を生成する(ステップS15)。
エッジフロー変換手段53は、ネットワークフロー表現内のmatchesで明示的に指定された条件や、edge_actionsで明示的に指定された内容を、スイッチ装置8が認識可能な、転送条件の記述やパケットのヘッダの記述に書き換える。matchesで明示的に指定された条件や、edge_actionsで明示的に指定された内容は、引き渡されたフロー情報内に含まれている。そして、エッジフロー変換手段53は、それらの書き換え結果を、ポートへのパケット出力を示すフロー設定に変換する。エッジフロー変換手段53は、そのフロー設定を、フロー情報とともに、スイッチ装置設定手段55に引き渡す。
転送フロー変換手段54は、グラフおよびフロー情報に基づいて、パケットの転送条件および転送先を特定し、その転送条件および転送先に適合するフロー設定を生成する処理を、スイッチ装置8毎に行う。転送フロー変換手段54は、生成したフロー設定を、フロー情報とともに、スイッチ装置設定手段55に引き渡す。
スイッチ装置設定手段55は、エッジフロー変換手段53によって生成されたフロー設定、および、転送フロー変換手段54によって生成されたフロー設定を、対応するスイッチ装置8に対して順次、設定する(ステップS16)。
本実施形態では、スイッチ制御手段3内で、スイッチ情報管理手段7が、スイッチ装置8の情報を蓄積し、各スイッチ装置8とネットワークモデルとの対応関係を管理する。そして、フロー設定手段6は、スイッチ情報管理手段7に蓄積されたスイッチ装置8の情報を利用し、ネットワークフロー表現に基づいてフロー設定を生成し、そのフロー設定をスイッチ装置8に対して設定する。すなわち、本実施形態において、スイッチ制御手段3は、ネットワークフロー表現を変換し、スイッチ装置への設定内容に反映する。従って、ネットワークモデルおよびネットワークフロー表現を導入した場合に、ネットワークフロー表現を利用して各スイッチ装置を制御することができる。
第1の実施形態において、スイッチ情報管理手段7に含まれる各手段、および、フロー設定手段6に含まれる各手段は、例えば、ネットワーク制御プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUは、例えば、コンピュータが備えるプログラム記憶装置からネットワーク制御プログラムを読み込み、そのネットワーク制御プログラムに従って、スイッチ情報管理手段7に含まれる各手段、および、フロー設定手段6に含まれる各手段として動作すればよい。
また、第1の実施形態において、スイッチ抽出・分類手段52が、ネットワークフロー表現変換手段51の前段で処理を行う構成であってもよい。この場合、スイッチ抽出・分類手段52は、ネットワークモデルに含まれるトポロジおよびネットワークフロー表現を参照して、ネットワークフロー表現が表すフローの経路上のノードを、ネットワークフロー表現に明示的に登場するノードと、ネットワークフロー表現に明示的に登場しないノードとに分類する。また、ネットワークフロー表現変換手段51は、既に説明したように変換を行いフロー情報を生成するとともに、スイッチ抽出・分類手段52によって分類された各ノードを、それぞれ、ネットワーク4におけるスイッチ装置の識別情報に変換する。その他の点に関しては、上記の第1の実施形態と同様である。
実施形態2.
本発明の第2の実施形態は、フロー設定手段6(図1参照)に、非特許文献3で提案されているSourceFlowを適用する。
第2の実施形態では、第1の実施形態におけるフロー設定(条件に適合するパケットに対する処理内容を定めた情報)を、「フローエントリ設定」と記す。
図8は、フロー設定手段6に適用されるSourceFlow(非特許文献3で提案された技術)を示す模式図である。図8において、スイッチ装置の近傍に示す数字は、ポートを表している。
図8に示す例では、ヘッダHを持つパケット900がスイッチ装置91に到着すると、パケット900が、スイッチ装置91、スイッチ装置92,スイッチ装置94の順に転送され、スイッチ装置94のポート2から出力されるように、スイッチ装置91,92,94にフローエントリ設定が定められている。
スイッチ装置91のフローエントリ設定910は、入力されたパケットに対するアクション(入力アクション)を定める。フローエントリ設定910は、パケットのヘッダと照合される条件として“H”を定めている。そして、フローエントリ設定910は、ヘッダの内容が“H”であるパケットに対して、インデックスカウンタ部の初期値“0”を設定し、次のスイッチ装置以降の各スイッチ装置における転送内容(言い換えると、転送動作)を定義した識別子の系列[4,2h]をヘッダに埋め込むことでヘッダを書き換え、転送経路上の次のスイッチ装置92に接続されたポート2から、そのパケットを出力することを規定している。なお、[4,2h]における“4”,“2h”はそれぞれ、スイッチ装置92,94での転送内容を定義する識別子である。“4”は、ポート4からの出力を意味する。“2h”は、ヘッダを元の状態に復元し、ポート2から出力することを意味する。スイッチ装置91は、ヘッダの内容が“H”であるパケットが入力されると、そのパケットに対して、フローエントリ設定910で規定された処理を実行する。
図8に示す例では、スイッチ装置92は、パケット転送を行うコアノードとなるため、インデックスカウンタ部に応じた転送内容を定義した識別子とともに、その転送内容を記述したフローエントリ設定(図8に示す例では、フローエントリ設定920)が設定される。コアノードのフローエントリ設定の条件では、インデックスカウンタ部に応じた転送内容を定義した識別子以外の識別子は、ワイルドカードで表される(図8に示すフローエントリ設定920参照)。なお、コアノードとは、ネットワークのエッジノード同士を接続させる基幹網に含まれるスイッチ装置である。フローから見ると、フローの経路上のスイッチ装置のうち、その経路の両端がエッジノードとなり、その他のノードがコアノードになる。
パケット900のヘッダには、スイッチ装置91によって(0,[4,2h])が埋め込まれている。ヘッダに埋め込まれた(0,[4,2h])は、図8で、フローエントリ設定920の1行目に示した条件に合致する。従って、スイッチ装置92は、パケット900を受信すると、インデックスカウンタ部の値をインクリメントした後、転送内容を定義した識別子で指定されたポート4からそのパケットを出力する。
スイッチ装置94には、フローの終端となる出力アクションを実現するフローエントリ設定940が設定されている。フローの終端となるスイッチ装置のフローエントリ設定においても、インデックスカウンタ部に応じた転送内容を定義した識別子以外の識別子は、ワイルドカードで表される(図8に示すフローエントリ設定940参照)。スイッチ装置94は、フローエントリ設定940の条件に合致するパケットを受信すると、ヘッダ部に埋め込まれた部分を除外することによってヘッダ部の内容を元の“H”に復元し、フローエントリ設定940で指定されているポート2から、そのパケットを出力する。
図9は、本発明のネットワーク制御装置の第2の実施形態の構成例を示すブロック図である。第1の実施形態の要素と同一の要素に関しては、第1の実施形態における符号と同一の符号を付し、説明を省略する。
第2の実施形態におけるネットワーク制御装置10aは、ネットワーク内のスイッチ装置8を制御するスイッチ制御手段3aと、ネットワークDB記憶手段2と、情報登録手段1とを備える。ネットワークDB記憶手段2および情報登録手段1は、第1の実施形態におけるネットワークDB記憶手段2および情報登録手段1と同様である。
スイッチ制御手段3aは、スイッチ情報管理手段7と、フロー設定手段6aとを備える。スイッチ情報管理手段7は、スイッチ情報収集手段41と、スイッチ情報蓄積手段42と、モデル変換管理手段43とを備える。スイッチ情報管理手段7、スイッチ情報収集手段41、スイッチ情報蓄積手段42およびモデル変換管理手段43は、第1の実施形態におけるスイッチ情報管理手段7、スイッチ情報収集手段41、スイッチ情報蓄積手段42およびモデル変換管理手段43と同様である。
フロー設定手段6aは、共通フロー設定手段61と、個別フロー設定手段62とを備える。
共通フロー設定手段61は、コアノードに該当するスイッチ装置8のフローエントリ設定を生成し、そのフローエントリ設定をスイッチ装置8に設定する。
個別フロー設定手段62は、ネットワークフロー表現に明示的に登場するスイッチ装置8のフローエントリを生成し、そのフローエントリ設定をスイッチ装置8に設定する。
次に、共通フロー設定手段61の構成および動作を説明する。図10は、共通フロー設定手段61の構成例を示すブロック図である。図9に示す要素と同一の要素に関しては、図9と同一の符号を付し説明を省略する。図11は、共通フロー設定手段61の処理経過の例を示すフローチャートである。共通フロー設定手段61は、スイッチ装置分類手段71と、コアフロー生成手段72と、共通スイッチ装置設定手段73とを備える。
スイッチ装置分類手段71は、スイッチ情報蓄積手段42に記憶されているスイッチ装置8間の接続関係を示す情報を読み込み、その情報に基づいて、コアノードに該当するスイッチ装置8を分類する(ステップS21)。そして、スイッチ装置分類手段71は、コアノードに該当するスイッチ装置8に関する情報をコアフロー生成手段72に引き渡す。
コアフロー生成手段72は、コアノードに該当するスイッチ装置8毎に、転送内容(言い換えると、転送動作)を表す識別子を生成し、その識別子を保持する(ステップS22)。具体的には、コアフロー生成手段72は、コアノードに該当する各スイッチ装置8について、ポート毎に、ポートからパケットを出力するアクションを表す識別子を生成し、保持する。図8に示すスイッチ装置92を例にすると、ポート4からパケットを出力するアクションを表す識別子として“4”を生成し、ポート3からパケットを出力するアクションを表す識別子として“3”を生成する。
次に、コアフロー生成手段72は、コアノードに該当するスイッチ装置8毎に、フローエントリ設定を生成する(ステップS23)。具体的には、コアフロー生成手段72は、識別子の系列においてインデックスカウンタ部の値に応じた位置に識別子を記述することによってパケットに対する条件を表し、その条件に合致するパケットに対してその識別子に対応する動作(ポートからの出力)と、インデックスカウンタ部の値のインクリメントを規定したフローエントリ設定を生成する。コアフロー生成手段72は、この条件とアクションの組み合わせを、インデックスカウンタ部の各値に対して定める。図8に示すフローエントリ設定920では、インデックスカウンタ部の値が0である場合の条件およびアクションと、インデックスカウンタ部の値が1である場合の条件およびアクションを例示している。コアフロー生成手段72は、生成した各フローエントリ設定を共通スイッチ装置設定手段73に引き渡す。
共通スイッチ装置設定手段73は、ステップS23で生成されたフローエントリ設定を、対応するスイッチ装置8に設定する(ステップS24)。ステップS24でフローエントリ設定が設定されるスイッチ装置8は、コアノードに該当するスイッチ装置8である。
次に、個別フロー設定手段62の構成および動作を説明する。図12は、個別フロー設定手段62の構成例を示すブロック図である。図10に示す要素と同一の要素に関しては、図10と同一の符号を付し説明を省略する。図13は、個別フロー設定手段62の処理経過の例を示すフローチャートである。個別フロー設定手段62は、ネットワークフロー表現変換手段81と、入力アクション生成手段82と、出力アクション生成手段83と、個別スイッチ装置設定手段84とを備える。
ネットワークフロー表現変換手段81は、ネットワークフロー表現に明示的に登場するノード、ポート、リンクを、ネットワーク4におけるスイッチ装置、ポート、スイッチ装置間の接続関係の識別情報に変換する(ステップS31)。具体的には、ネットワークフロー表現変換手段81は、ネットワークフロー表現に明示的に登場するノード、ポート、リンクに対応する、ネットワーク4におけるスイッチ装置、ポート、スイッチ装置間の接続関係の識別情報(換言すれば、スイッチ情報蓄積手段42に登録されているスイッチ装置、ポート、接続関係の識別情報)を、モデル変換管理手段43に照会し、ネットワーク4におけるスイッチ装置、ポート、スイッチ装置間の接続関係の識別情報を得る。そして、ネットワークフロー表現変換手段81は、ネットワークフロー表現に明示的に登場するノード、ポート、リンクをそれらの識別情報に変換する。
そして、ネットワークフロー表現変換手段81は、matchesに現れているスイッチ装置8の情報を、ステップS31での変換後のpathとともに、入力アクション生成手段82に引き渡す。
また、ネットワークフロー表現変換手段81は、edge_actionsで現れているスイッチ装置8の情報を出力アクション生成手段83に引き渡す。
次に、出力アクション生成手段83は、パケットヘッダをフローの起点となるスイッチ装置8にパケットが入力された時の状態に復元するようにヘッダの書き換えを行った後に、edge_actionで定義された処理を実行するというアクションを表す識別子を生成する(ステップS32)。図8に示す例では、フローエントリ設定940に記述されている“2h”が、ステップS32で生成される識別子に該当する。前述のように、図8に示す例において、“2h”は、ヘッダを元の状態に復元し、ポート2から出力することを意味する。
次に、出力アクション生成手段83は、edge_actionsで現れているスイッチ装置8(フローの経路の終端点となるスイッチ装置8)に対応するフローエントリ設定を生成する(ステップS33)。出力アクション生成手段83は、フローの経路の終端点に対応するインデックスカウンタ部の値を特定する。そして、出力アクション生成手段83は、識別子の系列において、その値に応じた位置にステップS32で生成した識別子を記述することによってパケットに対する条件を表し、その条件に合致するパケットに対してその識別子に対応する動作を規定したフローエントリ設定を生成する。ステップS32で生成した識別子に対応する動作とは、パケットヘッダをフローの起点となるスイッチ装置8にパケットが入力された時の状態に復元するようにヘッダの書き換えを行った後に、edge_actionで定義された処理を実行するという動作である。図8に示す例では、フローエントリ設定940の1行目に記載された内容が、ステップS33で生成されるフローエントリ設定に該当する。フローエントリ設定940(図8参照)の1行目において、“−>H”は、ヘッダを元の状態に復元することを意味する。
出力アクション生成手段83は、生成したフローエントリ設定を個別スイッチ装置設定手段84に引き渡す。
次に、入力アクション生成手段82は、コアフロー生成手段72が保持している各スイッチ装置8の識別子を参照し、pathの経路に対応する識別子の系列を生成し、ステップS32で生成された識別子を末尾に追加する(ステップS34)。ステップS32で生成された識別子は、パケットヘッダをフローの起点となるスイッチ装置8にパケットが入力された時の状態に復元するようにヘッダの書き換えを行った後に、edge_actionで定義された処理を実行するというアクションを表す。図8に示す例では、上述の「pathの経路に対応する識別子の系列」は、[4]である。また、この系列の末尾に、ステップS32で生成された識別子を追加した系列は、[4,2h]である。
次に、入力アクション生成手段82は、matchesで現れているスイッチ装置8(フローの経路の起点となるスイッチ装置8)に対応するフローエントリ設定を生成する(ステップS35)。入力アクション生成手段82は、matchesで指定された条件とともに、アクションとして、初期値を“0”とするインデックスカウンタ部と、ステップS34で生成した識別子の系列を、その条件に合致するパケットのヘッダに埋め込むことによってヘッダを書き換える等の処理を規定したフローエントリ設定を生成する。入力アクション生成手段82は、条件に合致するパケットを、フローの経路を実現するためのポートから出力するという処理も、フローエントリ設定のアクションで規定する。図8に示す例では、フローエントリ設定910の1行目に記載された内容が、ステップS35で生成されるフローエントリ設定に該当する。フローエントリ910(図8参照)の1行目において、“−>(0,[4,2h])”は、ヘッダに“(0,[4,2h])”を埋め込むことを意味する。
入力アクション生成手段82は、生成したフローエントリ設定を個別スイッチ装置設定手段84に引き渡す。
個別スイッチ装置設定手段84は、出力アクション生成手段83によって生成されたフローエントリ設定を、edge_actionsで現れているスイッチ装置8に対して設定する。また、個別スイッチ装置設定手段84は、入力アクション生成手段82によって生成されたフローエントリ設定を、matchesで現れているスイッチ装置8に対して設定する(ステップS36)。
この結果、図8に示すように、フローの条件に合致するパケットは、フローの経路の起点となるスイッチ装置8でヘッダを書き換えられ、フローの経路に沿って順次、コアノードに転送され、終端点となるスイッチ装置8でヘッダを復元され、edge_actionで定義された処理が施される。
第2の実施形態においても、第1の実施形態と同様に、ネットワークモデルおよびネットワークフロー表現を導入した場合に、ネットワークフロー表現を利用して各スイッチ装置を制御することができる。
また、第2の実施形態では、フロー設定手段6aに非特許文献3で提案されている技術(SourceFlow)を適用しているが、ネットワークDB記憶手段2に記憶されるネットワークモデルは、第1の実施形態と同様である。従って、ネットワークフロー表現を登録する情報登録手段1のアプリケーションの改変は不要である。すなわち、情報登録手段1のアプリケーションを改変することなく、フロー設定手段6を、SouruceFlowを適用したフロー設定手段6aに置き換えることができる。そして、非特許文献3で提案されている技術を適用することによって、スイッチ装置8に必要とされるフローエントリ数の削減等の効果が得られる。
また、第2の実施形態では非特許文献3で提案されている技術を適用する場合を示したが、他のフロー転送技術を適用してもよい。この場合にも、情報登録手段1のアプリケーションを改変することなく、フロー転送技術を適用することができる。
第2の実施形態において、スイッチ情報管理手段7に含まれる各手段、および、フロー設定手段6aに含まれる各手段は、例えば、ネットワーク制御プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUは、例えば、コンピュータが備えるプログラム記憶装置からネットワーク制御プログラムを読み込み、そのネットワーク制御プログラムに従って、スイッチ情報管理手段7に含まれる各手段、および、フロー設定手段6aに含まれる各手段として動作すればよい。
次に、本発明の主要部について説明する。図14は、本発明の主要部を示すブロック図である。本発明のネットワーク制御装置は、ネットワークデータベース記憶手段101と、スイッチ制御手段102とを備える。
ネットワークデータベース記憶手段101(例えば、ネットワークDB記憶手段2)は、ネットワークを表現したトポロジ情報と、そのネットワークでのデータ転送ルールを表現したネットワークフロー情報(例えば、ネットワークフロー表現)とを記憶する。
スイッチ制御手段102(例えば、スイッチ制御手段3,3a)は、ネットワークに含まれる各スイッチ装置をノードとしてトポロジ情報を生成してネットワークデータベース記憶手段101に記憶させ、ネットワークデータベース記憶手段101に記憶されているネットワークフロー情報に基づいて、各スイッチ装置の動作を規定したスイッチフロー情報(例えば、フロー設定)を生成し、スイッチフロー情報を各スイッチ装置に設定する。
上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)ネットワークを表現したトポロジ情報と、前記ネットワークでのデータ転送ルールを表現したネットワークフロー情報(例えば、ネットワークフロー表現)とを記憶するネットワークデータベース記憶手段(例えば、ネットワークDB記憶手段2)と、前記ネットワークに含まれる各スイッチ装置をノードとして前記トポロジ情報を生成して前記ネットワークデータベース記憶手段に記憶させ、前記ネットワークデータベース記憶手段に記憶されているネットワークフロー情報に基づいて、前記各スイッチ装置の動作を規定したスイッチフロー情報(例えば、フロー設定)を生成し、前記スイッチフロー情報を前記各スイッチ装置に設定するスイッチ制御手段(例えば、スイッチ制御手段3,3a)とを備えることを特徴とするネットワーク制御装置。
(付記2)スイッチ制御手段は、ネットワークに含まれる各スイッチ装置と、当該各スイッチ装置間のリンクとを検出し、トポロジ情報を生成し、当該トポロジ情報をネットワークデータベース記憶手段に記憶させるスイッチ情報管理手段(例えば、スイッチ情報管理手段7)と、ネットワークフロー情報と、前記スイッチ情報管理手段に検出された各スイッチ装置およびリンクとに基づいて、スイッチフロー情報を生成し、前記スイッチフロー情報を前記各スイッチ装置に設定するフロー設定手段(例えば、フロー設定手段6,6a)とを含む付記1に記載のネットワーク制御装置。
(付記3)スイッチ情報管理手段は、ネットワークに含まれる各スイッチ装置と、当該各スイッチ装置間のリンクとを検出するスイッチ情報収集手段(例えば、スイッチ情報収集手段41)と、前記スイッチ情報収集手段に検出された各スイッチ装置およびリンクの情報を記憶するスイッチ情報蓄積手段(例えば、スイッチ情報蓄積手段42)と、前記スイッチ情報蓄積手段に蓄積された前記各スイッチ装置およびリンクの情報に基づいて、トポロジ情報を生成し、前記スイッチ情報収集手段に検出された各スイッチ装置およびリンクと、トポロジ情報内で表現された各ノードおよびリンクとの対応関係を示す対応関係情報を保持する対応関係管理手段(例えば、モデル変換管理手段43)とを有する付記2に記載のネットワーク制御装置。
(付記4)フロー設定手段は、対応関係情報を参照して、ネットワークフロー情報内で表現された各ノードおよびリンクを、スイッチ情報収集手段に検出された各スイッチ装置およびリンクを示す情報に変換するネットワークフロー情報変換手段(例えば、ネットワークフロー表現変換手段51)と、スイッチ情報収集手段に検出された各スイッチ装置から、ネットワークフロー情報に明示的に登場する第1のスイッチ装置と、前記ネットワークフロー情報が示す経路上のスイッチ装置であって前記ネットワークフロー情報に明示的に登場しない第2のスイッチ装置とを分類する分類手段(例えば、スイッチ抽出・分類手段52)と、第1のスイッチ装置として分類されたスイッチ装置に対するスイッチフロー情報として、フローのエッジでの動作を規定したスイッチフロー情報を生成する第1のスイッチフロー情報生成手段(例えば、エッジフロー変換手段53)と、第2のスイッチ装置として分類されたスイッチ装置に対するスイッチフロー情報として、データの転送先となるスイッチ装置に前記データを転送することを規定したスイッチフロー情報を生成する第2のスイッチフロー情報生成手段(例えば、転送フロー変換手段54)と、前記第1のスイッチフロー情報生成手段に生成されたスイッチフロー情報、および、前記第2のスイッチフロー情報生成手段に生成されたスイッチフロー情報を、それぞれ、対応するスイッチ装置に設定するスイッチ装置設定手段(例えば、スイッチ装置設定手段55)とを有する付記3に記載のネットワーク制御装置。
(付記5)スイッチ情報収集手段は、ネットワークに含まれる各スイッチ装置と通信を行い、前記各スイッチ装置から、前記各スイッチ装置間のリンクを検出する付記3または付記4に記載のネットワーク制御装置。
(付記6)スイッチ情報収集手段は、ネットワークの構成を管理するネットワーク管理システムから、各スイッチ装置間のリンクの情報を収集する付記3または付記4に記載のネットワーク制御装置。
(付記7)スイッチ情報管理手段は、検出した各スイッチ装置およびリンクと、トポロジ情報内で表現された各ノードおよびリンクとの対応関係を示す対応関係情報を保持し、フロー設定手段は、前記スイッチ情報管理手段に検出された各スイッチ装置およびリンクの情報を参照し、ネットワークに含まれる各スイッチ装置のうち、コアノードに該当するスイッチ装置に対するスイッチフロー情報を生成し、前記スイッチフロー情報を前記スイッチ装置に設定する共通フロー設定手段(例えば、共通フロー設定手段61)と、ネットワークフロー情報と、前記対応関係情報と、前記共通フロー設定手段に生成されたスイッチフロー情報とに基づいて、前記ネットワークフロー情報が示す経路の起点となるスイッチ装置に対するスイッチフロー情報を生成し、前記スイッチフロー情報を前記スイッチ装置に設定し、前記経路の終端点となるスイッチ装置に対するスイッチフロー情報を生成し、前記スイッチフロー情報を前記スイッチ装置に設定する個別フロー設定手段(例えば、個別フロー設定手段62)とを有する付記2に記載のネットワーク制御装置。
(付記8)共通フロー設定手段は、スイッチ情報管理手段に検出された各スイッチ装置およびリンクの情報を参照し、ネットワークに含まれる各スイッチ装置からコアノードに該当するスイッチ装置を分類するスイッチ装置分類手段(例えば、スイッチ装置分類手段71)と、コアノードに該当するスイッチ装置に対して、当該スイッチ装置のポートからデータを出力することを規定したスイッチフロー情報を生成するコアノード用スイッチフロー情報生成手段(例えば、コアフロー生成手段72)と、前記スイッチフロー情報を、対応するスイッチ装置に設定する共通スイッチ装置設定手段(例えば、共通スイッチ装置設定手段73)とを有する付記7に記載のネットワーク制御装置。
(付記9)対応関係情報を参照して、ネットワークフロー情報内で表現された各ノードおよびリンクを、スイッチ情報収集手段に検出された各スイッチ装置およびリンクを示す情報に変換し、経路の起点に該当するスイッチ装置と、終端点に該当するスイッチ装置とを特定するネットワークフロー情報変換手段(例えば、ネットワークフロー表現変換手段81)と、前記終端点に該当するスイッチ装置の動作を規定したスイッチフロー情報を生成する終端点用スイッチフロー情報生成手段(例えば、出力アクション生成手段83)と、コアノード用スイッチフロー情報生成手段によって生成されたスイッチフロー情報および前記終端点用スイッチフロー情報生成手段によって生成されたスイッチフロー情報を参照して、前記起点に該当するスイッチ装置の動作を規定したスイッチフロー情報を生成する起点用スイッチフロー情報生成手段(例えば、入力アクション生成手段82)と、前記終端点用スイッチフロー情報生成手段によって生成されたスイッチフロー情報を前記終端点に該当するスイッチ装置に設定し、前記起点用スイッチフロー情報生成手段によって生成されたスイッチフロー情報を前記起点に該当するスイッチ装置に設定する個別スイッチ装置設定手段(例えば、個別スイッチ装置設定手段84)とを有する付記8に記載のネットワーク制御装置。
(付記10)フロー設定手段は、ネットワークデータベース記憶手段に記憶されたトポロジ情報およびネットワークフロー情報を参照し、前記ネットワークフロー情報に明示的に登場する第1のノードと、前記ネットワークフロー情報が示す経路上のノードであって前記ネットワークフロー情報に明示的に登場しない第2のノードに分類する分類手段と、対応関係情報を参照して、第1のノードとして分類された各ノードおよび第2のノードとして分類された各ノードを、スイッチ情報収集手段に検出された各スイッチ装置を示す情報に変換するネットワークフロー情報変換手段と、第1のノードに対応する各スイッチ装置に対するスイッチフロー情報として、フローのエッジでの動作を規定したスイッチフロー情報を生成する第1のスイッチフロー情報生成手段と、第2のノードに対応する各スイッチ装置に対するスイッチフロー情報として、データの転送先となるスイッチ装置に前記データを転送することを規定したスイッチフロー情報を生成する第2のスイッチフロー情報生成手段と、前記第1のスイッチフロー情報生成手段に生成されたスイッチフロー情報、および、前記第2のスイッチフロー情報生成手段に生成されたスイッチフロー情報を、それぞれ、対応するスイッチ装置に設定するスイッチ装置設定手段とを有する付記3に記載のネットワーク制御装置。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2013年11月20日に出願された日本特許出願2013−240177を基礎とする優先権を主張し、その開示の全てをここに取り込む。
産業上の利用の可能性
本発明は、ネットワークを制御するネットワーク制御装置に好適に適用される。
10,10a ネットワーク制御装置
1 情報登録手段
2 ネットワークDB記憶手段
3 スイッチ制御手段
6,6a フロー設定手段
7 スイッチ情報管理手段
41 スイッチ情報収集手段
42 スイッチ情報蓄積手段
43 モデル変換管理手段
51 ネットワークフロー表現変換手段
52 スイッチ抽出・分類手段
53 エッジフロー変換手段
54 転送フロー変換手段
55 スイッチ装置設定手段
61 共通フロー設定手段
62 個別フロー設定手段
71 スイッチ装置分類手段
72 コアフロー生成手段
73 共通スイッチ装置設定手段
81 ネットワークフロー表現変換手段
82 入力アクション生成手段
83 出力アクション生成手段
84 個別スイッチ装置設定手段

Claims (5)

  1. ネットワークモデルのエンドツーエンドのフローを表すネットワークフロー表現を定義するフロー定義手段と、
    ネットワーク上のスイッチ装置に関する情報を管理するスイッチ情報管理手段と、
    前記ネットワーク上の前記スイッチ装置の動作を規定したスイッチフロー情報を前記スイッチ装置に設定するフロー設定手段とを備え、
    前記スイッチ装置に関する情報は、前記ネットワークにおけるスイッチ装置、ポート、スイッチ装置間の接続関係と、前記ネットワークモデル上のノード、ポート、リンクとの対応関係を示す対応関係情報を含んでおり、
    前記フロー設定手段は、
    前記スイッチ装置に関する情報を参照することによって、前記ネットワークモデルに明示的に登場するノード、ポート、およびリンクを、それぞれ、前記ネットワーク上の前記スイッチ装置、ポート、および前記スイッチ装置間の接続情報に変換することによって、前記ネットワークのフローを表すフロー情報を得るネットワークフロー情報変換手段と、
    前記ネットワーク上の前記スイッチ装置を、前記ネットワークフローモデルにおいて明示的に登場する第1のスイッチ装置と、データの転送経路上にあって、前記ネットワークフローモデルにおいて明示的に登場しない第2のスイッチ装置とに分類する分類手段と、
    前記フローのエッジでの前記第1のスイッチ装置の動作を規定した第1のスイッチフロー情報を生成する第1のスイッチフロー情報生成手段と、
    前記フロー情報に基づいて、前記第2のスイッチ装置から前記データの転送先となるスイッチ装置へ前記データを転送することを規定した第2のスイッチフロー情報を生成する第2のスイッチフロー情報生成手段と、
    前記第1のスイッチフロー情報を前記第1のスイッチ装置に設定し、前記第2のスイッチフロー情報を前記第2のスイッチ装置に設定するスイッチ装置設定手段とを含む
    ことを特徴とするネットワーク制御装置。
  2. 前記スイッチ情報管理手段は、
    前記ネットワークに含まれる各スイッチ装置と、当該各スイッチ装置間の接続関係とを検出するスイッチ情報収集手段と、
    前記スイッチ情報収集手段に検出された前記各スイッチ装置および前記接続関係の情報を記憶するスイッチ情報蓄積手段と、
    前記スイッチ情報蓄積手段に蓄積された前記各スイッチ装置および前記接続関係の情報に基づいて、トポロジ情報を生成し、前記対応関係情報を保持する対応関係管理手段とを有する
    請求項1に記載のネットワーク制御装置。
  3. 前記スイッチ情報収集手段は、前記ネットワークに含まれる各スイッチ装置と通信を行い、前記各スイッチ装置から、前記各スイッチ装置間の接続関係を検出する
    請求項2に記載のネットワーク制御装置。
  4. フロー定義手段と、スイッチ情報管理手段と、フロー設定手段とを備えるネットワーク制御装置に適用されるネットワーク制御方法であって、
    前記フロー定義手段は、ネットワークモデルのエンドツーエンドのフローを表すネットワークフロー表現を定義し、
    前記スイッチ情報管理手段は、ネットワーク上のスイッチ装置に関する情報を管理し、
    前記フロー設定手段は、前記ネットワーク上の前記スイッチ装置の動作を規定したスイッチフロー情報を前記スイッチ装置に設定するフロー設定手段とを備え、
    前記スイッチ装置に関する情報は、前記ネットワークにおけるスイッチ装置、ポート、スイッチ装置間の接続関係と、前記ネットワークモデル上のノード、ポート、リンクとの対応関係を示す対応関係情報を含んでおり、
    前記フロー設定手段は、
    前記スイッチ装置に関する情報を参照することによって、前記ネットワークモデルに明示的に登場するノード、ポート、およびリンクを、それぞれ、前記ネットワーク上の前記スイッチ装置、ポート、および前記スイッチ装置間の接続情報に変換することによって、前記ネットワークのフローを表すフロー情報を得て
    前記ネットワーク上の前記スイッチ装置を、前記ネットワークフローモデルにおいて明示的に登場する第1のスイッチ装置と、データの転送経路上にあって、前記ネットワークフローモデルにおいて明示的に登場しない第2のスイッチ装置とに分類し、
    前記フローのエッジでの前記第1のスイッチ装置の動作を規定した第1のスイッチフロー情報を生成し、
    前記フロー情報に基づいて、前記第2のスイッチ装置から前記データの転送先となるスイッチ装置へ前記データを転送することを規定した第2のスイッチフロー情報を生成し、
    前記第1のスイッチフロー情報を前記第1のスイッチ装置に設定し、前記第2のスイッチフロー情報を前記第2のスイッチ装置に設定する
    ことを特徴とするネットワーク制御方法。
  5. ネットワーク制御装置が備えるコンピュータに搭載されるネットワーク制御プログラムであって、
    前記コンピュータに、
    ネットワークモデルのエンドツーエンドのフローを表すネットワークフロー表現を定義することと、
    ネットワーク上のスイッチ装置に関する情報を管理することと、
    前記ネットワーク上の前記スイッチ装置の動作を規定したスイッチフロー情報を前記スイッチ装置に設定することとを実行させ、
    前記スイッチ装置に関する情報は、前記ネットワークにおけるスイッチ装置、ポート、スイッチ装置間の接続関係と、前記ネットワークモデル上のノード、ポート、リンクとの対応関係を示す対応関係情報を含んでおり、
    前記スイッチフロー情報を前記スイッチ装置に設定することは、
    前記スイッチ装置に関する情報を参照することによって、前記ネットワークモデルに明示的に登場するノード、ポート、およびリンクを、それぞれ、前記ネットワーク上の前記スイッチ装置、ポート、および前記スイッチ装置間の接続情報に変換することによって、前記ネットワークのフローを表すフロー情報を得ることと、
    前記ネットワーク上の前記スイッチ装置を、前記ネットワークフローモデルにおいて明示的に登場する第1のスイッチ装置と、データの転送経路上にあって、前記ネットワークフローモデルにおいて明示的に登場しない第2のスイッチ装置とに分類することと、
    前記フローのエッジでの前記第1のスイッチ装置の動作を規定した第1のスイッチフロー情報を生成することと、
    前記フロー情報に基づいて、前記第2のスイッチ装置から前記データの転送先となるスイッチ装置へ前記データを転送することを規定した第2のスイッチフロー情報を生成することと、
    前記第1のスイッチフロー情報を前記第1のスイッチ装置に設定し、前記第2のスイッチフロー情報を前記第2のスイッチ装置に設定することとを含む、
    ネットワーク制御プログラム。
JP2015548966A 2013-11-20 2014-10-15 ネットワーク制御装置、ネットワーク制御方法およびプログラム Active JP6524911B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013240177 2013-11-20
JP2013240177 2013-11-20
PCT/JP2014/005221 WO2015075862A1 (ja) 2013-11-20 2014-10-15 ネットワーク制御装置、ネットワーク制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2015075862A1 JPWO2015075862A1 (ja) 2017-03-16
JP6524911B2 true JP6524911B2 (ja) 2019-06-05

Family

ID=53179157

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015548966A Active JP6524911B2 (ja) 2013-11-20 2014-10-15 ネットワーク制御装置、ネットワーク制御方法およびプログラム

Country Status (5)

Country Link
US (1) US10021015B2 (ja)
EP (1) EP3073685B1 (ja)
JP (1) JP6524911B2 (ja)
CN (1) CN105745878B (ja)
WO (1) WO2015075862A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI578737B (zh) * 2015-02-10 2017-04-11 鴻海精密工業股份有限公司 交換機、控制設備及其管理方法
US11546266B2 (en) * 2016-12-15 2023-01-03 Arbor Networks, Inc. Correlating discarded network traffic with network policy events through augmented flow
CN109412828B (zh) * 2017-08-18 2022-06-14 上海诺基亚贝尔软件有限公司 用于软件定义网络中的网络拓扑发现的方法、设备和系统
CN110324260B (zh) * 2019-06-21 2020-10-09 北京邮电大学 一种基于流量识别的网络功能虚拟化智能调度方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1674546A (zh) * 2005-03-15 2005-09-28 南京邮电学院 一种大规模网络中基于移动代理的拓扑方案
CN102783098B (zh) * 2010-03-05 2016-01-20 日本电气株式会社 通信系统、路径控制设备、分组转发设备以及路径控制方法
KR101503450B1 (ko) * 2010-03-17 2015-03-18 닛본 덴끼 가부시끼가이샤 통신 시스템, 노드, 제어 서버 및 통신 방법
WO2012060316A1 (ja) * 2010-11-01 2012-05-10 日本電気株式会社 通信システム、制御装置、パケット転送経路の制御方法およびプログラム
ES2706416T3 (es) * 2011-01-13 2019-03-28 Nec Corp Sistema de red y método de enrutamiento
US8644149B2 (en) * 2011-11-22 2014-02-04 Telefonaktiebolaget L M Ericsson (Publ) Mechanism for packet forwarding using switch pools in flow-based, split-architecture networks
JP6007976B2 (ja) * 2011-12-27 2016-10-19 日本電気株式会社 通信システム、コントローラ、通信方法およびプログラム
JP5723806B2 (ja) * 2012-02-24 2015-05-27 エヌ・ティ・ティ・コムウェア株式会社 通信システム、経路制御装置、経路制御方法及び経路制御プログラム

Also Published As

Publication number Publication date
EP3073685A1 (en) 2016-09-28
EP3073685B1 (en) 2020-10-07
CN105745878B (zh) 2019-07-26
CN105745878A (zh) 2016-07-06
US10021015B2 (en) 2018-07-10
WO2015075862A1 (ja) 2015-05-28
JPWO2015075862A1 (ja) 2017-03-16
EP3073685A4 (en) 2017-07-26
US20160285737A1 (en) 2016-09-29

Similar Documents

Publication Publication Date Title
JP5440691B2 (ja) パケット転送システム、制御装置、転送装置、処理規則の作成方法およびプログラム
JP5674107B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
RU2589340C2 (ru) Сетевая система и способ получения данных тега vlan
JP5304947B2 (ja) 通信システム、制御装置、ノードの制御方法およびプログラム
JP5850068B2 (ja) 制御装置、通信システム、通信方法およびプログラム
EP2675119B1 (en) Communication system, control device, communication node, and communication method
JP5652565B2 (ja) 情報システム、制御装置、通信方法およびプログラム
WO2011108205A1 (ja) 通信システム、経路制御装置、パケット転送装置および経路制御方法
JP5854048B2 (ja) 通信システム、転送ノード、制御装置、通信制御方法およびプログラム
JP5888338B2 (ja) 通信システムおよび通信方法
JP6323547B2 (ja) 通信システム、制御装置、通信制御方法、および、プログラム
JP6524911B2 (ja) ネットワーク制御装置、ネットワーク制御方法およびプログラム
JP5900352B2 (ja) パケット処理装置、パケット処理方法およびプログラム
JP5534033B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
WO2011118586A1 (ja) 通信システム、制御装置、転送ノード、処理規則の更新方法およびプログラム
EP3076611A1 (en) Communication system, communication method, network information combination apparatus, and network information combination program
JP2017050708A (ja) 通信システム、制御装置、スイッチ、通信方法及びプログラム
WO2014142094A1 (ja) 通信システム、物理マシン、仮想ネットワーク管理装置、および、ネットワーク制御方法
JP5854488B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
WO2014038143A1 (en) Flow information collecting system, method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190306

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190422

R150 Certificate of patent or registration of utility model

Ref document number: 6524911

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150