JP6176245B2 - 制御装置、通信システム、スイッチ制御方法及びプログラム - Google Patents

制御装置、通信システム、スイッチ制御方法及びプログラム Download PDF

Info

Publication number
JP6176245B2
JP6176245B2 JP2014518717A JP2014518717A JP6176245B2 JP 6176245 B2 JP6176245 B2 JP 6176245B2 JP 2014518717 A JP2014518717 A JP 2014518717A JP 2014518717 A JP2014518717 A JP 2014518717A JP 6176245 B2 JP6176245 B2 JP 6176245B2
Authority
JP
Japan
Prior art keywords
entry
flow table
flow
switch
information
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
JP2014518717A
Other languages
English (en)
Other versions
JPWO2013180207A1 (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
Priority to JP2014518717A priority Critical patent/JP6176245B2/ja
Publication of JPWO2013180207A1 publication Critical patent/JPWO2013180207A1/ja
Application granted granted Critical
Publication of JP6176245B2 publication Critical patent/JP6176245B2/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/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • 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

[関連出願についての記載]
本発明は、日本国特許出願:特願2012−124091号(2012年 5月31日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、制御装置、通信システム、スイッチ制御方法及びプログラムに関し、特に、ネットワークに配置されたスイッチを集中制御する制御装置、通信システム、スイッチ制御方法及びプログラムに関する。
非特許文献1に、オープンフローと呼ばれるネットワークにおけるスイッチ(オープンフロースイッチ、以下「OFS」)の仕様が規定されている。オープンフローでは、オープンフローコントローラ(以下、「OFC」)と呼ばれる制御装置が配置される。OFSが保持するフローテーブルには、受信パケットと照合するマッチ条件(Match Fields)と、マッチ条件に適合するパケットに適用する処理内容(Instructions)とを対応付けたエントリ(フローエントリ)が格納される。OFCは、配下のOFSが保持するフローテーブルの内容を操作(新規エントリの追加、変更、削除等)することにより、フロー単位のきめ細かな制御を行うことができる。
マッチ条件(Match Fields)とは、Ethernet(登録商標)、TCP/IPにて規定されたOSI参照モデルにおけるレイヤ1〜レイヤ4の定めるデータ領域を1つの単位として再定義したものである。具体的には、マッチ条件(Match Fields)として、物理的なスイッチのポート、IEEE802.1Qの定めるVLAN ID、MAC(Media Access Control)アドレス、IP(Internet Protocol)アドレス、TCP(Transmission Control Protocol)ポート番号等、多岐に渡る情報を設定し、細かい粒度で、パケットに対する処理を変更することができる(図10参照)。
処理内容(Instructions)としては、例えば、該当パケットを別のポートにフォワードしたり、フォワードせずにDropしたりすることが可能となっている。非特許文献1のOpenFlow Switch Specification Version 1.1.0では、処理内容(Instructions)として、他のフローテーブルへの遷移を指示する命令(Go−to Table)を設定することにより、複数のフローテーブルを使って複数の処理内容を実行するパイプライン処理を実施することもできる(非特許文献1の「4.1.1 Pipeline Processing」参照)。
また、特許文献1には、クライアント端末にサービスを提供するサービス提供サーバからの負荷分散要求に応じてスイッチに設定したフローエントリを変更することにより、サービス提供サーバの負荷分散を行う、上記OFC相当のコントローラが開示されている。
また、特許文献2には、通信ネットワーク上に配置された複数のスイッチのエントリあふれを抑制することができるという管理計算機が開示されている。同公報によれば、この管理計算機は、個々のスイッチの使用エントリ数に依存するパラメータ(エントリ状態情報)を参照して、エンドツーエンドのスイッチコストを計算し、スイッチコストが最小となる経路をフローの経路として決定する、と記載されている。
特開2011−170718号公報 特開2010−161473号公報
"OpenFlow Switch Specification" Version 1.1.0 Implemented (Wire Protocol 0x02)、[online]、[平成24(2012)年3月14日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
以下の分析は、本発明によって与えられたものである。上記したオープンフローでは、基本的に1フローにつき、1つ以上のエントリを作成してOFSを制御するものである。このため、制御対象の通信が増加すると、個々のOFSに設定するフローエントリが増大し、OFSの性能に影響してしまうという問題点がある。ここで、「フロー」とは、オープンフロー等の集中制御型ネットワークにおける通信の取扱い単位である。
例えば、オープンフローネットワークを介して、1つのサーバに対し、多くのクライアントが通信する場合、ある1つのアドレスから、多くのアドレスに対する通信が発生する。このような場合、図11のフローエントリ#1、#2に示すように、送信元アドレスと宛先アドレスの組み合わせの数に応じたフローエントリが必要となる。
また、図12に示すように、同一のアドレス間の通信であっても、VLAN ID、VLAN Priority、IPのプロトコル番号やIP ToS等(図10参照)によりフローを識別し、処理内容を変えたいという場合もある。このような場合には、さらにフローエントリ数が増えることになる。
この点、非特許文献1には、パイプライン処理を用いて、あるフローテーブルのエントリでパケットのヘッダを書き換えた後、次のフローテーブルでは前記書き換え後のヘッダにて該当するエントリを検索するといった用法が記載されるに止まっている。
本発明は、制御対象の通信が増加しても、個々のスイッチに設定するフローエントリの数の増大を抑えることのできる制御装置、通信システム、スイッチ制御方法及びプログラムを提供することを目的とする。
第1の視点によれば、優先順位を有する複数のフローテーブルを順次参照してパケットを処理する機能を備えたスイッチと接続され、マッチ条件として設定可能な情報のうち予め定めた項目をマッチ条件に持つ第1のフローテーブルと、該第1のフローテーブルと異なる項目をマッチ条件に持ち、前記第1のフローテーブルのエントリにヒットした場合に参照される第2のフローテーブルとにそれぞれ設定するエントリ情報を生成するエントリ生成部と、前記生成されたエントリ情報に基づいて、前記スイッチに対し、前記第1、第2フローテーブルの更新を指示するエントリ操作部と、前記スイッチの各フローテーブルの内容を管理するエントリ管理部と、を備える制御装置が提供される。
第2の視点によれば、優先順位を有する複数のフローテーブルを順次参照してパケットを処理する機能を備えたスイッチと、マッチ条件として設定可能な情報のうち予め定めた項目をマッチ条件に持つ第1のフローテーブルと、該第1のフローテーブルとを異なる項目をマッチ条件に持ち、前記第1のフローテーブルのエントリにヒットした場合に参照される第2のフローテーブルとにそれぞれ設定するエントリ情報を生成するエントリ生成部と、前記生成されたエントリ情報に基づいて、前記スイッチに対し、前記第1、第2フローテーブルの更新を指示するエントリ操作部と、前記スイッチの各フローテーブルの内容を管理するエントリ管理部と、を備える制御装置と、を含む通信システムが提供される。
第3の視点によれば、マッチ条件として設定可能な情報のうち予め定めた項目をマッチ条件に持つ第1のフローテーブルと、該第1のフローテーブルと異なる項目をマッチ条件に持ち、前記第1のフローテーブルのエントリにヒットした場合に参照される第2のフローテーブルとにそれぞれ設定するエントリ情報を生成するステップと、優先順位を有する複数のフローテーブルを順次参照してパケットを処理する機能を備えたスイッチに対し、前記生成されたエントリ情報に基づいて、前記第1、第2フローテーブルの更新を指示するステップと、を含むスイッチ制御方法が提供される。本方法は、優先順位を有する複数のフローテーブルを順次参照してパケットを処理する機能を備えたスイッチを制御する制御装置という、特定の機械に結びつけられている。
第4の視点によれば、優先順位を有する複数のフローテーブルを順次参照してパケットを処理する機能を備えたスイッチを制御するコンピュータに、マッチ条件として設定可能な情報のうち予め定めた項目をマッチ条件に持つ第1のフローテーブルと、該第1のフローテーブルと異なる項目をマッチ条件に持ち、前記第1のフローテーブルのエントリにヒットした場合に参照される第2のフローテーブルとにそれぞれ設定するエントリ情報を生成する処理と、優先順位を有する複数のフローテーブルを順次参照してパケットを処理する機能を備えたスイッチに対し、前記生成されたエントリ情報に基づいて、前記第1、第2フローテーブルの更新を指示する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な(非トランジエントな)記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
本発明によれば、制御対象の通信が増加しても、個々のスイッチに設定するフローエントリの数の増大を抑えることが可能となる。
本発明の一実施形態の構成を示す図である。 本発明の第1の実施形態の通信システムの構成を示す図である。 本発明の第1の実施形態のOFCとOFSの詳細構成を示す図である。 本発明の第1の実施形態のOFCの動作(新規エントリ設定)を表したフローチャートである。 図4のステップS102で生成される仮のエントリの例である。 最終的にOFSに設定されるエントリの例である。 本実施形態の効果を説明するための図である。 本実施形態の効果を説明するための図である。 本発明の第1の実施形態のOFCの動作(既存エントリ変更)を表したフローチャートである。 非特許文献1のオープンフローにおいてマッチ条件として使用可能な情報を示す図である。 非特許文献1のオープンフローにおけるフローエントリの設定例を示す図である。 非特許文献1のオープンフローにおけるフローエントリの設定例を示す別の図である。
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
本発明は、その一実施形態において図1に示すように、優先順位を有する複数のフローテーブル23を順次参照してパケットを処理する機能(パケット処理部22)を備えたスイッチ20と、制御メッセージ送受信部21を介してスイッチ20を制御することによりクライアント30とサーバ40間の通信を実現する制御装置10とを含む構成にて実現できる。
より具体的には、制御装置10は、マッチ条件として設定可能な情報のうち予め定めた項目をマッチ条件に持つ第1のフローテーブルと、該第1のフローテーブルと異なる項目をマッチ条件に持ち、前記第1のフローテーブルのエントリにヒットした場合に参照される第2のフローテーブルとにそれぞれ設定するエントリ情報を生成するエントリ生成部11と、前記生成されたエントリ情報に基づいて、スイッチ20に対し、前記第1、第2フローテーブルの更新を指示するエントリ操作部13と、前記スイッチ20の各フローテーブルの内容を管理するエントリ管理部12と、を備える。
以上のように本発明によれば、マッチ条件の組み合わせで表されるM×N個のフロー(M、Nは自然数)を第1のフローテーブルに登録するM個のエントリと、M個のエントリにて参照指定される第2のフローテーブルに登録するN個のエントリにて制御することが可能になる。
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図2は、本発明の第1の実施形態の通信システムの構成を示す図である。図2を参照すると、2台のOFS20A、20Bによって構成されたネットワークと、OFS20A、20Bを制御するOFC10Aと、OFS20A、20Bを介して通信するクライアント30A、30Bと、2台のサーバ40A、40Bとが示されている。
図2の例では、OFS20Aは、P1〜P4の4つのポートを持ち、ポートP1には、クライアント30Aが接続され、ポートP2には、クライアント30Bが接続されている。OFS20Bは、P1〜P4の4つのポートを持ち、ポートP1には、サーバ40Aが接続され、ポートP2には、サーバ40Bが接続されている。また、OFS20A、20BのポートP3はOFC10Aとの接続ポートに使用されている。さらに、OFS20A、20B間はそれぞれポートP4により接続されている。
クライアント30A、30Bは、パーソナルコンピュータや携帯端末等の情報処理装置である。以下の説明では、クライアント30Aには、VLAN ID=1が設定され、クライアント30Bには、VLAN ID=2が設定されているものとする。
サーバ40A、40Bは、クライアント30A、30Bに対し各種サービスを提供する情報処理装置である。以下の説明では、サーバ40Aには、VLAN ID=3が設定され、サーバ40Bには、VLAN ID=2が設定されているものとする。
図3は、OFCとOFSの詳細構成を示す図である。図3を参照すると、エントリ生成部11と、エントリ管理部12と、制御メッセージ送受信部13aとを備えたOFC10Aと、制御メッセージ送受信部21と、パケット処理部22と、複数のフローテーブル23とを備えたOFS20Aが示されている。なお、OFS20Bは、OFS20Aと同一の構成であるので説明を省略する。
OFC10Aのエントリ生成部11は、制御メッセージ送受信部13aを介して、OFS20Aまたは20Bから、新規フローの検出通知(Packet−Inメッセージ)を受けると、当該パケットを所定の経路で転送させるために、経路上のOFS20A、20Bに設定するエントリを生成する。なお、前記パケットの転送経路は、図示省略するネットワークトポロジやユーザのアクセスポリシ等を参照して、計算することができる。また、エントリ生成部11が生成するエントリの詳細は後に図を用いて詳細に説明する。
エントリ管理部12は、各OFS20A、20Bのフローテーブル23に設定されているエントリと同一の内容を記憶し、管理する。具体的には、エントリ管理部12は、自身が記憶している各OFS20A、20Bのフローテーブルに、制御メッセージ送受信部13aによるフローテーブルの操作内容と同様の内容を適用するようにすればよい。また、エントリ管理部12には、OFS毎やフロー毎に予め決定しておいた、第1のフローテーブルでマッチ条件として用いる項目と、第2のフローテーブルでマッチ条件として用いる項目とを定めた設定情報が格納される。
制御メッセージ送受信部13aは、上述したエントリ操作部に相当し、各OFS20A、20Bに対し、制御メッセージを送信することにより、各OFS20A、20Bのフローテーブルに格納されているエントリを操作(新規登録、変更、削除等)する。
なお、上記のようなOFC10Aは、非特許文献1のOFCのエントリ生成機能に変更を加えることで実現することができる。また、OFC10Aの各部(処理手段)は、OFC10Aを構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
OFS20Aの制御メッセージ送受信部21は、OFC10Aの制御メッセージ送受信部13aから受信した制御メッセージに従い、フローテーブル23のエントリに変更を加える。
パケット処理部22は、クライアント30AやOFS20Bからパケットを受信すると、複数のフローテーブル23の中から最も優先度の高いフローテーブル(非特許文献1のTable#0)から、受信パケットに適合するマッチ条件を持つエントリを検索し、当該エントリに設定されている処理内容(Instructions)を実行する。このときの処理内容(Instructions)に、指定されたフローテーブルの参照を指示するアクション(Go−to Table#N)が設定されている場合、パケット処理部22は、指定されたフローテーブルを参照し、受信パケットに適合するマッチ条件を持つエントリを検索する。なお、前記検索の結果、受信パケットに適合するマッチ条件を持つエントリが見つからなかった場合、パケット処理部22は、制御メッセージ送受信部21を介して、OFC10Aに対し、新規フローの検出通知(Packet−Inメッセージ)を送信する。
複数のフローテーブル23は、図6に示すように、複数のフローテーブル(Table#0、Table#1)によって構成される。図6の例では、Table#0が最も優先度の高いフローテーブルであるものとする。図6のTable#0の検索の結果、受信パケットの入力ポートやヘッダ情報(送信元MACアドレス〜宛先IPアドレス)に適合するマッチ条件を持つエントリとして、Table#0の#1のエントリが見つかった場合、その処理内容(Instructions)に従い、Table#1の再検索が行われる。Table#1の検索の結果、受信パケットのVLAN IDに適合するマッチ条件を持つエントリとして、Table#0の#1のエントリが見つかった場合、その処理内容(Instructions)に従い、VLAN IDを“2”に書き換える処理と、ポートP4から出力する処理が行われる。この結果、受信パケットは、ポートP4に接続されたOFS20Bに転送される。なお、図5〜図8においては、フロー識別には必要のないフィールドにはワイルドカードが設定されており、これらの項目は省略されている。
なお、このようなOFS20A、20Bは、非特許文献1のOFSを用いて実現することができる。
続いて、本実施形態の動作について図面を参照して詳細に説明する。図4は、本発明の第1の実施形態のOFCの動作(新規エントリ設定)を表したフローチャートである。以下の説明では、図2のクライアント30Aが、サーバ40Bに対してパケットを送信した例を挙げて説明する。また、クライアント30AのMACアドレスは、“00:00:00:00:0A:01”であり、IPアドレスは、“10.0.0.1”であるものとする。また、サーバ40BのMACアドレスは、“00:00:00:00:0B:01”であり、IPアドレスは、“10.0.0.2”であるものとする。
図4を参照すると、クライアント30Aからサーバ40Bに宛てたパケットを受信したOFS20Aは、フローテーブル23の検索の結果、該当するエントリが存在しないため、OFC10Aに対して、新規フローの検出通知(Packet−Inメッセージ)を送信する。OFS20AまたはOFS20Bから、新規フローの検出通知(Packet−Inメッセージ)を受信すると(ステップS101)、OFC10Aは、新規フローの検出通知(Packet−Inメッセージ)に含まれる受信パケットの情報を用いて、当該パケットに後続するパケットを処理するための仮のエントリを生成する(ステップS102)。
図5は、ステップS102で生成される仮のエントリを示す図である。OFS20Aは、ポートP1で、クライアント30Aからサーバ40Bに宛てたパケットを受信したので、入力ポートP1(以下、フローテーブルにおいては、P1〜P4は、それぞれ1、2、3、4と表記する。)、クライアント30A及びサーバ40BのMACアドレス、IPアドレスをマッチ条件とし、VLAN IDの書き換え(VLAN ID=1→2)と、OFS20Bへの転送(ポートP4からの転送)を処理内容(Instructions)とするエントリを生成する。
次に、OFC10Aは、前記生成した仮のエントリをOFS20Aの2つのフローテーブルに設定するエントリに分解する処理を開始する。まず、OFC10Aは、エントリ管理部12を参照して、生成した仮のエントリのマッチ条件のうち、入力ポート〜宛先IPアドレスと同一のマッチ条件を持つエントリがOFS20Aの第1のフローテーブル(Table#0)に登録されているか否かを確認する(ステップS103)。
この時点では、クライアント30A及びサーバ40BのMACアドレス、IPアドレスをマッチ条件とするエントリは設定されていないので、OFC10Aは、エントリ管理部12の設定情報を参照し、図6の上段に示すように、入力ポート=P1、クライアント30A及びサーバ40BのMACアドレス、IPアドレスをマッチ条件とし、第2のフローテーブル(Table#1)の参照を指示するエントリを生成し、OFS20Aに設定する(ステップS104)。また、OFC10Aは、OFS20Aに設定したエントリを自装置のエントリ管理部12にも登録する。なお、図6では省略されているが、各エントリのフロー識別には必要のないフィールドにはどのような値にもマッチするものとして取り扱うワイルドカードが設定される。
次に、OFC10Aは、エントリ管理部12を参照して、生成した仮のエントリの残るマッチ条件と処理内容の組み合わせを持つエントリがOFS20Aの第2のフローテーブル(Table#1)に登録されているか否かを確認する(ステップS105)。
この時点では、VLAN IDが1であることをマッチ条件とし、VLAN IDを2に書き換え、ポートP4から転送する処理内容を持つエントリは設定されていないので、OFC10Aは、図6の下段に示すように、VLAN ID=1をマッチ条件とし、VLAN IDの書き換えと、ポートP4からの転送を処理内容(Instructions)とするエントリを生成し、OFS20Aに設定する(ステップS106)。また、OFC10Aは、OFS20Aに設定したエントリを自装置のエントリ管理部12にも登録する。
このようにしてステップS102で生成された仮のエントリは、図6に示すように、2つのエントリに分解されて設定される。
その後、例えば、クライアント30Aからサーバ40B宛てに、異なるVLAN IDのパケットが送出されたとしても、OFC10Aは、図6に示したフローにより、第1、第2のフローテーブルに必要なエントリのみを生成し、設定する。
続いて本実施形態の効果について説明する。OFS20Aが受信しうるパケットのVLAN IDが1〜10の10パターン、送信元MACアドレスが00:00:00:00:0A:01,00:00:00:00:0A:02,00:00:00:00:0A:03〜00:00:00:00:0A:0Aの10パターン存在する場合、図4のステップS102では、図7に示すように100パターンのエントリが生成される。
しかしながら、本実施形態では、図4のステップS103〜S106に示すエントリの分解処理が行われるため、OFS20Aに設定されるエントリは、図8に示すように、10+10の20パターンに集約される。
また本実施形態によれば、フローの変更時にもその処理対象エントリ数が削減される。図9は、OFSやサーバの故障等の経路変更事由が発生した際のOFCの動作(既存エントリ変更)を表したフローチャートである。経路変更事由が発生すると、OFC10Aは、新規エントリ設定時と同様に、変更後のパケット転送経路を実現する仮のエントリを生成する。そして、図4のフローチャートのS103〜S106と同様に、第1、第2のフローテーブルについてそれぞれ更新を行う。
これにより、例えば、図2のサーバ40Bに障害が発生し、サーバ40Aに切替えたい場合、図7の処理内容(Instructions)のVLAN ID書換フィールドを3に変更する必要がある。図7のフローテーブルのまま変更を行う場合、100個のエントリの変更が必要となるが、図9のフローを適用すれば、ステップS203にて第1のフローテーブルの変更は不要と判断されるので、第2のテーブルの10個のエントリを書き換えれば済むことになる。
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態で用いたネットワーク構成や、クライアント、サーバの数に制約は無い。
また、上記した実施形態では、仮のエントリを2つのフローテーブルに分解する例を挙げて説明したが、エントリ管理部12に記憶する設定情報の設定次第で、3つ以上のフローテーブルに分解することも可能である。例えば、図6、図8の第1のフローテーブル(Table#0)を、送信元アドレスをマッチ条件とするフローテーブルと、宛先アドレスをマッチ条件とするフローテーブルと、に分解することもできる。
また、上記した実施形態で挙げたフローテーブルの分解パターンも種々の変形を加えることができる。例えば、マッチ条件として、図10に示す他のフィールドの値を追加してもよいし、削除してもよい。もちろん、第1のフロ−テーブルのマッチ条件の一部を、第2のフロ−テーブルのマッチ条件に移動してもよい。
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
10 制御装置
10A OFC(オープンフローコントローラ)
11 エントリ生成部
12 エントリ管理部
13 エントリ操作部
13a 制御メッセージ送受信部
20 スイッチ
20A、20B OFS(オープンフロースイッチ)
21 制御メッセージ送受信部
22 パケット処理部
23 フローテーブル
30、30A、30B クライアント
40、40A、40B サーバ

Claims (8)

  1. 優先順位を有する複数のフローテーブルを順次参照してパケットを処理する機能を備えたスイッチと接続され、
    マッチ条件として設定可能な情報のうち予め定めた項目をマッチ条件に持つ第1のフローテーブルと、該第1のフローテーブルと異なる項目をマッチ条件に持ち、前記第1のフローテーブルのエントリにヒットした場合に参照される第2のフローテーブルとにそれぞれ設定するエントリ情報を生成するエントリ生成部と、
    前記生成されたエントリ情報に基づいて、前記スイッチに対し、前記第1、第2フローテーブルの更新を指示するエントリ操作部と、
    前記スイッチの各フローテーブルの内容を管理するエントリ管理部と、
    を備える制御装置であって、
    前記エントリ管理部には、予め決定しておいた、前記第1のフローテーブルでマッチ条件として用いる項目と、前記第2のフローテーブルでマッチ条件として用いる項目とを定めた設定情報が格納され、
    前記エントリ生成部は、前記スイッチから要求されたパケットを識別するためのマッチ条件を持つ仮のエントリを生成した後、前記設定情報を参照して、前記仮のエントリのマッチ条件を分解して、前記第1、第2のフローテーブルに設定するエントリ情報を生成する制御装置。
  2. 前記エントリ生成部は、さらに、既存フローの変更の必要が生じた時に、前記エントリ管理部を参照して、前記第1、第2のフローテーブルの変更内容を決定し、
    前記エントリ操作部は、前記決定された変更内容に基づいて、前記スイッチに対し、前記第1、第2フローテーブルの更新を指示する請求項1の制御装置。
  3. 前記第1のフローテーブルに格納されたM個のエントリと、
    前記第2のフローテーブルに格納されたN個のエントリと、により、
    マッチ条件が異なるM×N個のフローをM+N個のエントリで制御する請求項1又は2の制御装置。
  4. 前記エントリ生成部は、さらに、前記第2のフローテーブルと異なる項目をマッチ条件に持ち、前記第2のフローテーブルのエントリにヒットした場合に参照される第3のフローテーブルに設定するエントリ情報を生成し、
    前記エントリ操作部は、前記生成されたエントリ情報に基づいて、前記スイッチに対し、前記第1〜第3フローテーブルの更新を指示する請求項1からいずれか一の制御装置。
  5. 優先順位を有する複数のフローテーブルを順次参照してパケットを処理する機能を備えたスイッチと、
    マッチ条件として設定可能な情報のうち予め定めた項目をマッチ条件に持つ第1のフローテーブルと、該第1のフローテーブルとを異なる項目をマッチ条件に持ち、前記第1のフローテーブルのエントリにヒットした場合に参照される第2のフローテーブルとにそれぞれ設定するエントリ情報を生成するエントリ生成部と、前記生成されたエントリ情報に基づいて、前記スイッチに対し、前記第1、第2フローテーブルの更新を指示するエントリ操作部と、前記スイッチの各フローテーブルの内容を管理するエントリ管理部と、を備える制御装置と、を含み、
    前記制御装置の前記エントリ管理部には、予め決定しておいた、前記第1のフローテーブルでマッチ条件として用いる項目と、前記第2のフローテーブルでマッチ条件として用いる項目とを定めた設定情報が格納され、
    前記制御装置の前記エントリ生成部は、前記スイッチから要求されたパケットを識別するためのマッチ条件を持つ仮のエントリを生成した後、前記設定情報を参照して、前記仮のエントリのマッチ条件を分解して、前記第1、第2のフローテーブルに設定するエントリ情報を生成する通信システム。
  6. 前記制御装置は、
    前記第1のフローテーブルに格納されたM個のエントリと、
    前記第2のフローテーブルに格納されたN個のエントリと、により、
    マッチ条件が異なるM×N個のフローをM+N個のエントリで制御する請求項の通信システム。
  7. 優先順位を有する複数のフローテーブルを順次参照してパケットを処理する機能を備えたスイッチから要求されたパケットを識別するためのマッチ条件を持つ仮のエントリを生成するステップと、
    前記仮のエントリを生成した後、予め決定しておいた、第1のフローテーブルでマッチ条件として用いる項目と、前記第1のフローテーブルと異なる項目であって第2のフローテーブルでマッチ条件として用いる項目とを定めた設定情報を参照して、前記仮のエントリのマッチ条件を分解して、前記第1、第2のフローテーブルとにそれぞれ設定するエントリ情報を生成するステップと、
    前記スイッチに対し、前記生成されたエントリ情報に基づいて、前記第1、第2フローテーブルの更新を指示するステップと、
    を含む
    スイッチ制御方法。
  8. 優先順位を有する複数のフローテーブルを順次参照してパケットを処理する機能を備えたスイッチを制御するコンピュータに、
    スイッチから要求されたパケットを識別するためのマッチ条件を持つ仮のエントリを生成する処理と、
    予め決定しておいた、第1のフローテーブルでマッチ条件として用いる項目と、前記第1のフローテーブルと異なる項目であって第2のフローテーブルでマッチ条件として用いる項目とを定めた設定情報を参照して、前記仮のエントリのマッチ条件を分解して、前記第1、第2のフローテーブルとにそれぞれ設定するエントリ情報を生成する処理と、
    前記スイッチに対し、前記生成されたエントリ情報に基づいて、前記第1、第2フローテーブルの更新を指示する処理と、
    を実行させるプログラム。
JP2014518717A 2012-05-31 2013-05-30 制御装置、通信システム、スイッチ制御方法及びプログラム Active JP6176245B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014518717A JP6176245B2 (ja) 2012-05-31 2013-05-30 制御装置、通信システム、スイッチ制御方法及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012124091 2012-05-31
JP2012124091 2012-05-31
PCT/JP2013/064988 WO2013180207A1 (ja) 2012-05-31 2013-05-30 制御装置、通信システム、スイッチ制御方法及びプログラム
JP2014518717A JP6176245B2 (ja) 2012-05-31 2013-05-30 制御装置、通信システム、スイッチ制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2013180207A1 JPWO2013180207A1 (ja) 2016-01-21
JP6176245B2 true JP6176245B2 (ja) 2017-08-09

Family

ID=49673394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014518717A Active JP6176245B2 (ja) 2012-05-31 2013-05-30 制御装置、通信システム、スイッチ制御方法及びプログラム

Country Status (5)

Country Link
US (1) US9967177B2 (ja)
EP (1) EP2858317B1 (ja)
JP (1) JP6176245B2 (ja)
CN (1) CN104365068B (ja)
WO (1) WO2013180207A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9712431B2 (en) * 2013-07-17 2017-07-18 Kt Corporation Methods for managing transaction in software defined network
US9686200B2 (en) 2014-03-31 2017-06-20 Nicira, Inc. Flow cache hierarchy
KR101886291B1 (ko) 2014-06-30 2018-09-06 후아웨이 테크놀러지 컴퍼니 리미티드 흐름 엔트리 구성 방법, 장치, 및 시스템
JP6369175B2 (ja) * 2014-07-04 2018-08-08 富士通株式会社 パケット処理装置、制御プログラム、及びパケット処理装置の制御方法
US9692684B2 (en) * 2014-09-05 2017-06-27 Telefonaktiebolaget L M Ericsson (Publ) Forwarding table precedence in SDN
US11178051B2 (en) * 2014-09-30 2021-11-16 Vmware, Inc. Packet key parser for flow-based forwarding elements
US10558808B2 (en) * 2016-03-03 2020-02-11 Qualcomm Incorporated Methods and apparatus for packet-based validation of control-flow transfers for hardware control-flow enforcement
CN107682275B (zh) 2016-08-01 2020-08-04 新华三技术有限公司 报文监控方法及装置
JP6632556B2 (ja) * 2017-01-27 2020-01-22 Kddi株式会社 リンク品質計測装置およびそのフローエントリ決定サーバ装置ならびにスイッチ
CN107506412B (zh) * 2017-08-10 2019-08-09 金小二科技(上海)有限公司 一种产品信息筛选匹配系统及方法
CN114915602B (zh) * 2021-01-29 2024-01-26 中移(苏州)软件技术有限公司 虚拟交换机中流表的处理方法、处理装置及终端

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003198607A (ja) 2001-12-25 2003-07-11 Hitachi Ltd パケット転送装置及びポリシーテーブルの検索方法
JP5483149B2 (ja) 2009-01-06 2014-05-07 日本電気株式会社 通信システム、管理計算機、スタックドスイッチ、フロー経路決定方法
US8300525B1 (en) * 2009-01-30 2012-10-30 Juniper Networks, Inc. Managing a flow table
JP5408243B2 (ja) * 2009-03-09 2014-02-05 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法
JP5614410B2 (ja) * 2009-11-27 2014-10-29 日本電気株式会社 フロー制御装置、ネットワークシステム、ネットワーク制御方法およびプログラム
CN102714628B (zh) * 2010-01-05 2015-11-25 日本电气株式会社 通信系统、控制装置、处理规则设置方法和分组传输方法
JP5757552B2 (ja) 2010-02-19 2015-07-29 日本電気株式会社 コンピュータシステム、コントローラ、サービス提供サーバ、及び負荷分散方法
WO2011108205A1 (ja) 2010-03-05 2011-09-09 日本電気株式会社 通信システム、経路制御装置、パケット転送装置および経路制御方法
WO2011118586A1 (ja) 2010-03-24 2011-09-29 日本電気株式会社 通信システム、制御装置、転送ノード、処理規則の更新方法およびプログラム
RU2556457C2 (ru) * 2010-05-28 2015-07-10 Нек Корпорейшн Система связи, узел, устройство управления, способ связи и программа
EP2606614A4 (en) * 2010-08-20 2017-01-11 Nec Corporation Communication system, controller, node controlling method and program
JP5561366B2 (ja) 2010-09-08 2014-07-30 日本電気株式会社 スイッチシステム、スイッチ制御方法、及び記憶媒体
US10333827B2 (en) * 2012-04-11 2019-06-25 Varmour Networks, Inc. Adaptive session forwarding following virtual machine migration detection

Also Published As

Publication number Publication date
JPWO2013180207A1 (ja) 2016-01-21
EP2858317A4 (en) 2016-01-13
CN104365068A (zh) 2015-02-18
CN104365068B (zh) 2017-08-04
US20150172174A1 (en) 2015-06-18
EP2858317B1 (en) 2017-07-12
US9967177B2 (en) 2018-05-08
WO2013180207A1 (ja) 2013-12-05
EP2858317A1 (en) 2015-04-08

Similar Documents

Publication Publication Date Title
JP6176245B2 (ja) 制御装置、通信システム、スイッチ制御方法及びプログラム
JP5850068B2 (ja) 制御装置、通信システム、通信方法およびプログラム
JP5494668B2 (ja) 情報システム、制御サーバ、仮想ネットワーク管理方法およびプログラム
CN102577275B (zh) 中继控制设备、中继控制系统、中继控制方法
JP5733438B2 (ja) 通信システム、制御装置および通信方法
JP5858141B2 (ja) 制御装置、通信装置、通信システム、通信方法及びプログラム
WO2014112616A1 (ja) 制御装置、通信装置、通信システム、スイッチの制御方法及びプログラム
CN105247831A (zh) 流表修改方法、流表修改装置和开放流网络系统
CN104125244A (zh) 一种分布式网络中转发信息的方法及系统
Kumar et al. Open flow switch with intrusion detection system
US20150016450A1 (en) Communication node, packet processing method and program
CN107566298B (zh) 一种生成表项的方法和设备
JP5747997B2 (ja) 制御装置、通信システム、仮想ネットワークの管理方法およびプログラム
JP5991385B2 (ja) 制御情報管理装置、制御情報提示方法及びプログラム
JP6440191B2 (ja) スイッチ装置、vlan設定管理方法及びプログラム
WO2014061583A1 (ja) 通信ノード、制御装置、通信システム、パケット処理方法及びプログラム
JPWO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
EP3214806B1 (en) Network control device and network information management method
US20190089674A1 (en) Communication system, flow control apparatus, flow processing apparatus, and control method
WO2014119602A1 (ja) 制御装置、スイッチ、通信システム、スイッチの制御方法及びプログラム
JP6102970B6 (ja) 通信システム、制御装置および制御方法
JP2015046936A (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
WO2014142081A1 (ja) 転送ノード、制御装置、通信システム、パケット処理方法及びプログラム
Dunbar et al. I2RS working group S. Hares Internet-Draft Huawei Intended status: Standards Track S. Kini Expires: July 7, 2016 Ericsson
WO2015129727A1 (ja) 通信端末、通信方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170501

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: 20170613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170626

R150 Certificate of patent or registration of utility model

Ref document number: 6176245

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150