JP2016171469A - Transfer system, transfer device, transfer method, and program - Google Patents

Transfer system, transfer device, transfer method, and program Download PDF

Info

Publication number
JP2016171469A
JP2016171469A JP2015050120A JP2015050120A JP2016171469A JP 2016171469 A JP2016171469 A JP 2016171469A JP 2015050120 A JP2015050120 A JP 2015050120A JP 2015050120 A JP2015050120 A JP 2015050120A JP 2016171469 A JP2016171469 A JP 2016171469A
Authority
JP
Japan
Prior art keywords
transfer
packet
learning
flow
openflow
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.)
Pending
Application number
JP2015050120A
Other languages
Japanese (ja)
Inventor
葉月 郷
Hazuki Go
葉月 郷
将樹 朴
Masaki Boku
将樹 朴
宏二郎 瀬戸
Kojiro Seto
宏二郎 瀬戸
優 有松
Masaru Arimatsu
優 有松
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015050120A priority Critical patent/JP2016171469A/en
Publication of JP2016171469A publication Critical patent/JP2016171469A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To allow for generation of the transfer control information, learnt from a reception packet, in a transfer device.SOLUTION: A transfer system (2) includes a transfer controller for generating and transmitting the first transfer control information including the learning processing and transfer processing that are executed under the first conditions and including the information representative of a plurality of network identifiers (Figs. 13, 10), and transfer devices for receiving the first control information from the transfer controller and storing in a storage transfer control information section, and when a received packet satisfies the first conditions with reference to the storage section, generating the second transfer control information including the transfer processing executed under the second conditions including the network identifier of the packet, according to the learning processing and storing in the storage section, and then processing the packet according to the transfer processing (Fig. 14, 20; Figs. 15, 524, 528, 532-536).SELECTED DRAWING: Figure 1

Description

本発明は、転送システム、転送装置、転送方法、およびプログラムに関する。   The present invention relates to a transfer system, a transfer device, a transfer method, and a program.

オープンフロー(OpenFlow)は、ONF(Open Networking Foundation)によって標準化されたSDN(Software-Defined Networking、ソフトウェア定義ネットワーク)用のプロトコルである。オープンフローでは、従来のネットワーク装置における、データ転送機能(Dプレーン)を有するパケット転送部と、経路制御機能(Cプレーン)を有する転送制御部とが、オープンフロー・スイッチとオープンフロー・コントローラとして分離される。オープンフロー・コントローラとオープンフロー・スイッチの間の通信には、オープンフロー・プロトコルが使用される。また、オープンフローでは、ネットワーク管理者は、オープンフロー・コントローラを適切に設計し実装することによって、オープンフロー・スイッチを所望の形態で制御することができる。そのために、オープンフロー・スイッチは、オープンフロー・コントローラによって決定されたフロー・エントリを保持するフローテーブルを有する。フロー・エントリには、例えば、受信パケットの種別を識別するための情報またはマッチ条件、および各種別のパケットに対するアクションまたは処理が記述される。   OpenFlow (OpenFlow) is a protocol for SDN (Software-Defined Networking) standardized by ONF (Open Networking Foundation). In OpenFlow, a packet transfer unit having a data transfer function (D plane) and a transfer control unit having a path control function (C plane) in a conventional network device are separated as an OpenFlow switch and an OpenFlow controller. Is done. The OpenFlow protocol is used for communication between the OpenFlow controller and the OpenFlow switch. In OpenFlow, the network administrator can control the OpenFlow switch in a desired form by appropriately designing and implementing the OpenFlow controller. To that end, the OpenFlow switch has a flow table that holds the flow entries determined by the OpenFlow controller. In the flow entry, for example, information for identifying the type of received packet or a matching condition, and an action or process for various types of packets are described.

既知の通信システムにおいて、フロー制御ネットワーク内の制御サーバが、フロー・スイッチからフロー・エントリの問い合わせを受け付ける。この場合、このフロー・エントリがパケットの宛先MACアドレスを変更するものであるとき、制御サーバは、このパケットの宛先IPアドレス(L3装置)へARPリクエストを送信する。このARPリクエストの応答を受信したL2スイッチが、この応答に示されているL3装置のMACアドレスと、その応答を受信したポートのポート番号とを、MACアドレス・テーブルに追加する。それによって、フロー制御ネットワークとIPネットワークとをL2スイッチで接続する場合に、フロー・スイッチがパケットの宛先MACアドレスを変更したときでも、L2スイッチにおいてフラッディングが発生しないようにする。   In a known communication system, a control server in a flow control network receives a flow entry inquiry from a flow switch. In this case, when the flow entry changes the destination MAC address of the packet, the control server transmits an ARP request to the destination IP address (L3 device) of the packet. The L2 switch that has received the response to the ARP request adds the MAC address of the L3 device indicated in the response and the port number of the port that has received the response to the MAC address table. Thereby, when the flow control network and the IP network are connected by the L2 switch, even when the flow switch changes the destination MAC address of the packet, the L2 switch prevents flooding from occurring.

既知の別の通信システムは、レイヤ2スイッチ等の第1のノードと、オープンフロー・スイッチ相当の複数の第2のノードと、第1のノードにパケット転送経路に従ったパケット転送動作を行わせる制御装置とを含んでいる。制御装置は、所定のパケット転送経路の第1のノードの下流側の位置の第2のノードから第1のノードに向けて、第1のノードより下流側のノードを送信元とする宛先学習パケットを受信させて、第1のノードにパケット転送経路に従ったパケット転送動作を行わせる。それによって、レイヤ2スイッチに代表されるノードと、オープンフロー・スイッチに代表されるノードとが混在する環境でも、通信システムは、意図した経路に従ったパケット転送を行うことができる。   Another known communication system has a first node such as a layer 2 switch, a plurality of second nodes corresponding to OpenFlow switches, and causes the first node to perform a packet transfer operation according to a packet transfer path. And a control device. The control device sends a destination learning packet having a node downstream from the first node as a transmission source from the second node downstream of the first node in the predetermined packet transfer path toward the first node. To cause the first node to perform a packet transfer operation according to the packet transfer path. As a result, the communication system can perform packet transfer according to the intended route even in an environment in which nodes typified by layer 2 switches and nodes typified by OpenFlow switches coexist.

特開2012− 39188号公報JP 2012-39188 A 特表2013−537769号公報Special table 2013-5377769 gazette

既知のオープンフロー・プロトコルでは、オープンフロー・スイッチに多数のフロー・エントリが設定される場合、オープンフロー・コントローラからオープンフロー・スイッチへのフロー・エントリの転送時間が長く、オープンフロー・スイッチの設定時間が長い。   With the known OpenFlow protocol, when a large number of flow entries are configured on the OpenFlow switch, the transfer time of the flow entry from the OpenFlow controller to the OpenFlow switch is long, and the OpenFlow switch is configured. Long time.

発明者たちは、転送制御装置から送信される転送制御情報に、新しく受信した種類のパケットに対して新しい転送制御情報を生成する学習処理を導入すれば、転送装置の設定時間を短くすることができる、と認識した。   The inventors can shorten the setting time of the transfer device by introducing a learning process for generating new transfer control information for a newly received type of packet into the transfer control information transmitted from the transfer control device. Recognized that it was possible.

1つの観点では、本発明の目的は、転送装置において受信パケットから学習した条件を含む転送制御情報を生成できるようにすることである。   In one aspect, an object of the present invention is to enable generation of transfer control information including a condition learned from a received packet in a transfer device.

本発明の一態様によれば、複数のネットワーク識別子を表す情報を含む第1の条件で実行される学習処理および転送処理を含む第1の転送制御情報を生成して送信する転送制御装置と、転送制御装置から第1の転送制御情報を受信して記憶部に保存し、受信したパケットについて記憶部を参照して、パケットが第1の条件を満たす場合、学習処理に従って、パケットのネットワーク識別子を含む第2の条件で実行される転送処理を含む第2の転送制御情報を生成して記憶部に保存し、パケットを転送処理に従って処理する転送装置と、を含む転送システムが提供される。   According to one aspect of the present invention, a transfer control device that generates and transmits first transfer control information including a learning process and a transfer process that are executed under a first condition that includes information representing a plurality of network identifiers; The first transfer control information is received from the transfer control device, stored in the storage unit, and the received packet is referred to the storage unit. When the packet satisfies the first condition, the network identifier of the packet is determined according to the learning process. There is provided a transfer system including a transfer device that generates second transfer control information including a transfer process executed under the second condition including the second transfer control information, stores the second transfer control information in a storage unit, and processes the packet according to the transfer process.

本発明の一観点によれば、転送装置において受信パケットから学習した条件を含む転送制御情報を生成することができる。   According to one aspect of the present invention, transfer control information including conditions learned from received packets in a transfer device can be generated.

図1は、オープンフロー・コントローラ、および複数のオープンフロー・スイッチを含む転送システムの概略的な構成(configuration)の例を示している。FIG. 1 shows an example of a schematic configuration of a transfer system including an OpenFlow controller and a plurality of OpenFlow switches. 図2は、オープンフロー・コントローラの概略的な構成(configuration)の例を示している。FIG. 2 shows an example of a schematic configuration of the OpenFlow controller. 図3は、オープンフロー・スイッチの概略的な構成(configuration)の例を示している。FIG. 3 shows an example of a schematic configuration of the OpenFlow switch. 図4は、オープンフロー・コントローラのプロセッサの概略的な構成(configuration)の例を示している。FIG. 4 shows an example of a schematic configuration of the processor of the OpenFlow controller. 図5は、オープンフロー・スイッチのプロセッサの概略的な構成(configuration)の例を示している。FIG. 5 shows an example of a schematic configuration of the processor of the OpenFlow switch. 図6は、オープンフロー・コントローラとオープンフロー・スイッチの間で送受信される、オープンフロー・メッセージを含む制御用のパケットの構造の例を示している。FIG. 6 shows an example of the structure of a control packet including an OpenFlow message transmitted and received between the OpenFlow controller and the OpenFlow switch. 図7Aは、オープンフロー・メッセージとしてのフローMODメッセージの構造の例を示している。図7Bは、図7Aのアクション・フィールドに記述されるアクションOFPAT_LEARNED(学習アクション)の構造の例を示している。図7Cは、図7Aのアクション・フィールドに記述されるアクションOFPAT_EXPERIMENTER(実験的アクション)の構造の例を示している。FIG. 7A shows an example of the structure of a flow MOD message as an open flow message. FIG. 7B shows an example of the structure of the action OFPAT_LEARNED (learning action) described in the action field of FIG. 7A. FIG. 7C shows an example of the structure of the action OFPAT_EXPERIMENTER (experimental action) described in the action field of FIG. 7A. (図7Aで説明)(Explained in Fig. 7A) (図7Aで説明)(Explained in Fig. 7A) 図8は、オープンフロー・メッセージとしてのFLOW_LEARNED(学習内容通知)メッセージの構造の例を示している。FIG. 8 shows an example of the structure of a FLOW_LEARNED (learning content notification) message as an OpenFlow message. 図9A〜9Dは、オープンフロー・スイッチにおける、通常の形態での、複数のフロー・エントリを含むフローテーブルによるパケット処理の例を示している。9A to 9D show an example of packet processing by a flow table including a plurality of flow entries in an ordinary form in the OpenFlow switch. (図9Aで説明)(Explained in Figure 9A) 図10A〜10Cは、オープンフロー・スイッチにおける、通常の形態での、複数のアドレスを表す1つのフロー・エントリを含む別のフローテーブルによるパケット処理の例を示している。FIGS. 10A to 10C show an example of packet processing by another flow table including one flow entry representing a plurality of addresses in an ordinary form in the OpenFlow switch. 図11A〜11Cは、オープンフロー・スイッチにおける、実施形態での、学習型のフロー・エントリを含むフローテーブルによるパケット処理の例を示している。FIGS. 11A to 11C show an example of packet processing by a flow table including a learning type flow entry in the embodiment in the OpenFlow switch. (図11Aで説明)(Explained in Figure 11A) (図11Aで説明)(Explained in Figure 11A) 図12A〜12Dは、オープンフロー・スイッチにおける、実施形態での、別の学習型のフロー・エントリを含むフローテーブルによるパケット処理の例を示している。12A to 12D show an example of packet processing by the flow table including another learning type flow entry in the embodiment in the OpenFlow switch. (図12Aで説明)(Explained in Fig. 12A) (図12Aで説明)(Explained in Fig. 12A) (図12Aで説明)(Explained in Fig. 12A) 図13は、オープンフロー・コントローラによって実行される、学習アルゴリズムを含むフロー・エントリを生成して送信するための処理のフローチャートの例を示している。FIG. 13 shows an example of a flowchart of a process for generating and transmitting a flow entry including a learning algorithm, which is executed by the OpenFlow controller. 図14は、オープンフロー・スイッチによって実行される、学習アルゴリズムを含むフロー・エントリを受信し、フロー・エントリをフローテーブルに設定するための処理のフローチャートの例を示している。FIG. 14 shows an example of a flowchart of a process executed by the OpenFlow switch for receiving a flow entry including a learning algorithm and setting the flow entry in the flow table. 図15は、オープンフロー・スイッチによって実行される、フローテーブルに基づいて受信パケットを処理するためのフローチャートの例を示している。FIG. 15 shows an example of a flowchart for processing a received packet based on a flow table executed by the OpenFlow switch. 図16は、オープンフロー・コントローラによって実行される、オープンフロー・コントローラにおけるオープンフロー・スイッチ用のフローテーブルの更新のための処理のフローチャートの例を示している。FIG. 16 shows an example of a flowchart of processing for updating the flow table for the OpenFlow switch in the OpenFlow controller, which is executed by the OpenFlow controller. 図17は、オープンフロー・コントローラによって実行される、オープンフロー・スイッチから統計情報を収集するための処理のフローチャートの例を示している。FIG. 17 shows an example of a flowchart of processing for collecting statistical information from the OpenFlow switch, which is executed by the OpenFlow controller.

発明の目的および利点は、請求の範囲に具体的に記載された構成要素および組み合わせによって実現され達成される。
前述の一般的な説明および以下の詳細な説明は、典型例および説明のためのものであって、本発明を限定するためのものではない、と理解される。
The objects and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims.
It is understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not intended to limit the invention.

本発明の非限定的な実施形態を、図面を参照して説明する。図面において、同様のコンポーネントおよび要素には同じ参照番号が付されている。   Non-limiting embodiments of the present invention will be described with reference to the drawings. In the drawings, similar components and elements have the same reference numerals.

SDN(Software-Defined Networking)は、コントロール・レイヤまたはCプレーンにおけるオープンフロー・コントローラがインフラストラクチャ・レイヤまたはDプレーンにおけるオープンフロー・スイッチを制御する構造を有する。オープンフロー・コントローラと各オープンフロー・スイッチの間では、例えばオープンフロー・プロトコルを制御用のプロトコルとして用いて、制御回線網を介して通信が行われる。一方、インターネットの詳細な帯域制御およびセキュリティ強化のニーズに対処するために、ユーザ毎およびサービスを提供するサーバ毎の統計情報の収集が求められることがある。オープンフローでは、ネットワーク管理者は、オープンフロー・スイッチを通過するパケットの統計情報を、例えば送信元IPアドレス毎に取得するために、送信元IPアドレス毎のフロー・エントリを作成してフローテーブルに予め設定する。   SDN (Software-Defined Networking) has a structure in which an OpenFlow controller in a control layer or C plane controls an OpenFlow switch in an infrastructure layer or D plane. Communication between the OpenFlow controller and each OpenFlow switch is performed via the control line network using, for example, the OpenFlow protocol as a control protocol. On the other hand, in order to cope with the detailed bandwidth control and security enhancement needs of the Internet, it may be required to collect statistical information for each user and for each server providing a service. In OpenFlow, the network manager creates a flow entry for each source IP address and stores it in the flow table in order to obtain statistical information of packets passing through the OpenFlow switch for each source IP address. Set in advance.

一方、ネットワーク管理者が、例えば、個々のユーザ毎のフロー・エントリをオープンフロー・スイッチに設定して個々のユーザの統計情報を収集する場合、設定するフロー・エントリ数が多くなる。オープンフロー・スイッチに設定するフロー・エントリ数が多くなると、オープンフロー・スイッチの設定に要する時間が長くなる。そうすると、オープンフロー・スイッチの稼働中にオープンフロー・スイッチが故障した場合、パケット転送ができない時間または転送サービスの中断時間が長くなる。また、オープンフロー・スイッチに設定するフロー・エントリの数が多くなると、フロー・エントリの設定時に必要な制御回線の帯域が増大するので、制御回線の帯域を予め広く確保しておく必要があり、制御回線の維持費用が高くなる。   On the other hand, when the network administrator sets, for example, the flow entry for each user in the OpenFlow switch and collects the statistical information of each user, the number of flow entries to be set increases. As the number of flow entries set in the OpenFlow switch increases, the time required for setting the OpenFlow switch increases. Then, if the OpenFlow switch fails while the OpenFlow switch is in operation, the time during which the packet cannot be transferred or the interruption time of the transfer service becomes longer. Also, if the number of flow entries to be set in the OpenFlow switch increases, the bandwidth of the control line required when setting the flow entry increases, so it is necessary to secure a wide bandwidth of the control line in advance. The maintenance cost of the control line is high.

発明者たちは、オープンフロー・プロトコルを拡張して、個々の受信パケットの種類からマッチ条件を学習して得られた新しいフロー・エントリを作成する学習処理を含むフロー・エントリを、オープンフロー・スイッチに導入すればよい、と認識した。この場合、学習処理は、フローテーブルに規定されていない種類の受信パケットの転送方法を、オープンフロー・コントローラに問い合わせることなく、受信パケットから学習して、学習で得たマッチ条件を含むフロー・エントリをフローテーブルに設定する。   The inventors have expanded the OpenFlow protocol to create a flow entry including a learning process for creating a new flow entry obtained by learning a match condition from each received packet type. Recognized that it should be introduced. In this case, the learning process learns from the received packet how to transfer the received packet of a type not specified in the flow table, without inquiring the OpenFlow controller, and includes a flow entry including a matching condition obtained by learning. Is set in the flow table.

実施形態の目的は、1つのフロー・エントリに基づく学習処理によって複数のフロー・エントリを設定することができるようにすることである。   An object of the embodiment is to enable a plurality of flow entries to be set by a learning process based on one flow entry.

また、実施形態の別の目的は、複数のフロー・エントリの設定に必要なオープンフロー・スイッチの設定時間を短くすることである。   Another object of the embodiment is to shorten the setting time of the OpenFlow switch necessary for setting a plurality of flow entries.

また、実施形態のさらに別の目的は、オープンフロー・スイッチの運用中にオープンフロー・スイッチが故障した場合に発生し得るパケット転送サービスの中断時間をより短くすることである。   Yet another object of the embodiment is to further shorten the interruption time of the packet transfer service that may occur when the OpenFlow switch fails during operation of the OpenFlow switch.

また、実施形態のさらに別の目的は、確保する制御回線の帯域を小さくして制御回線の維持コストを低くできるようにすることである。   Another object of the embodiment is to reduce the control line maintenance cost by reducing the bandwidth of the control line to be secured.

これらの目的は、実施形態によって達成することができる。   These objects can be achieved by the embodiments.

図1は、オープンフロー・コントローラ10、および複数のオープンフロー・スイッチ20、22、...24を含む転送システム2の概略的な構成(configuration)の例を示している。   FIG. 1 illustrates an OpenFlow controller 10 and a plurality of OpenFlow switches 20, 22,. . . An example of a schematic configuration of the transfer system 2 including 24 is shown.

図1において、オープンフロー・コントローラ10は、制御回線網5を介してオープンフロー・スイッチ20〜24に接続されている。オープンフロー・コントローラ(制御器)10は、転送制御装置であり、制御回線網5中のL2(レイヤ2)スイッチ52を介して、各オープンフロー・スイッチ20〜24にフロー・エントリを送信する。オープンフロー・スイッチ20〜24の各々は、パケットの転送装置であり、受信したオープンフロー・エントリを自己のフローテーブルに設定する。   In FIG. 1, the OpenFlow controller 10 is connected to OpenFlow switches 20 to 24 through a control line network 5. The OpenFlow controller (controller) 10 is a transfer control device, and transmits a flow entry to each OpenFlow switch 20 to 24 via an L2 (Layer 2) switch 52 in the control circuit network 5. Each of the OpenFlow switches 20 to 24 is a packet transfer device, and sets the received OpenFlow entry in its own flow table.

各オープンフロー・スイッチ20〜24は、それぞれの複数の通信ポートがネットワーク7に接続されており、自己のフローテーブルにおける各フロー・エントリのマッチ条件に従って、対応するアクション(処理)を実行して統計情報を生成する。各オープンフロー・スイッチ20〜24は、例えば、入力ポートで受信したパケットの送信元および/または宛先IPアドレスに応じてフローテーブルにおけるマッチ条件に従って、受信パケットを、指定された出力ポートを介してネットワーク7に転送する。その際、各オープンフロー・スイッチ20〜24は、マッチ条件毎に、例えば、処理または転送したパケットのパケット数、バイト数、等の統計情報をフローテーブルに保存する。統計情報は、ネットワーク7の通信業者またはネットワーク・ユーザによって利用されてもよい。   Each of the OpenFlow switches 20 to 24 has a plurality of communication ports connected to the network 7, and executes a corresponding action (process) according to a match condition of each flow entry in its own flow table to perform statistics. Generate information. Each of the OpenFlow switches 20 to 24 transmits a received packet to a network via a designated output port according to a match condition in the flow table according to, for example, the source and / or destination IP address of the packet received at the input port. Forward to 7. At that time, each OpenFlow switch 20 to 24 stores, for each match condition, for example, statistical information such as the number of packets or the number of bytes processed or transferred in the flow table. The statistical information may be used by a carrier or a network user of the network 7.

ネットワーク7は、例えば、インターネット、ISDN、パケット網、専用ネットワーク、等を含んでいてもよい。   The network 7 may include, for example, the Internet, ISDN, packet network, dedicated network, and the like.

図2は、オープンフロー・コントローラ10の概略的な構成(configuration)の例を示している。   FIG. 2 shows an example of a schematic configuration of the OpenFlow controller 10.

図2において、オープンフロー・コントローラ10は、例えば、内部バスを介して接続された、プロセッサ102、記憶部104、通信部112および入出力部(I/O)116を含んでいる。   In FIG. 2, the OpenFlow controller 10 includes, for example, a processor 102, a storage unit 104, a communication unit 112, and an input / output unit (I / O) 116 connected via an internal bus.

プロセッサ102は、コンピュータ用のCPU(Central Processing Unit)であってもよい。記憶部104は、主記憶装置および補助記憶装置を含んでいる。主記憶装置は、半導体メモリ等の記憶装置を含んでいる。補助記憶装置は、例えば、フラッシュ・メモリのような半導体メモリおよび/またはハードディスク・ドライブ(HDD)を含んでいてもよい。   The processor 102 may be a CPU (Central Processing Unit) for a computer. The storage unit 104 includes a main storage device and an auxiliary storage device. The main storage device includes a storage device such as a semiconductor memory. The auxiliary storage device may include, for example, a semiconductor memory such as a flash memory and / or a hard disk drive (HDD).

入出力部116は、例えば、それぞれの入出力端子128を介して、液晶表示装置のような表示装置、キーボードおよびポインティング・デバイスのような入力装置、等に接続することができる。   The input / output unit 116 can be connected to, for example, a display device such as a liquid crystal display device, an input device such as a keyboard and a pointing device, or the like via each input / output terminal 128.

通信部112には、複数の制御ポート122が設けられている。通信部112は、それぞれの制御ポート122を介し、制御回線網5中のL2スイッチ52を介してオープンフロー・スイッチ20〜24に接続される。   The communication unit 112 is provided with a plurality of control ports 122. The communication unit 112 is connected to the OpenFlow switches 20 to 24 through the L2 switch 52 in the control line network 5 through each control port 122.

オープンフロー・コントローラ10は、外付けドライブ160に接続可能であってもよい。ドライブ160は、ソフトウェアまたはプログラムが記録された例えば光ディスクまたは磁気ディスクのような記録媒体164を読み取るためのものであってもよい。そのソフトウェアは、例えば、OS、データベース管理システム(DBMS)、通信制御用のアプリケーション・プログラム、等を含んでいてもよい。   The OpenFlow controller 10 may be connectable to the external drive 160. The drive 160 may be for reading a recording medium 164 such as an optical disk or a magnetic disk in which software or a program is recorded. The software may include, for example, an OS, a database management system (DBMS), an application program for communication control, and the like.

プロセッサ102は、例えば集積回路として実装された専用のプロセッサであってもよい。また、プロセッサ102は、記憶部104に格納されたOSおよび通信用のアプリケーション・プログラムに従って動作するものであってもよい。アプリケーション・プログラムは、記録媒体164に格納されていて、ドライブ160によって記録媒体164から読み出されてオープンフロー・コントローラ10にインストールされてもよい。   The processor 102 may be a dedicated processor implemented as an integrated circuit, for example. Further, the processor 102 may operate in accordance with an OS and a communication application program stored in the storage unit 104. The application program may be stored in the recording medium 164, read from the recording medium 164 by the drive 160, and installed in the OpenFlow controller 10.

図3は、オープンフロー・スイッチ20〜24の概略的な構成(configuration)の例を示している。   FIG. 3 shows an example of a schematic configuration of the OpenFlow switches 20 to 24.

図3において、オープンフロー・スイッチ20〜24の各々は、例えば、内部バスを介して接続された、プロセッサ202、記憶部204、通信部212および入出力部(I/O)216を含んでいる。   In FIG. 3, each of the OpenFlow switches 20 to 24 includes, for example, a processor 202, a storage unit 204, a communication unit 212, and an input / output unit (I / O) 216 connected via an internal bus. .

プロセッサ202は、コンピュータ用のCPU(Central Processing Unit)であってもよい。記憶部204は、主記憶装置および補助記憶装置を含んでいる。主記憶装置は、半導体メモリ等の記憶装置を含んでいる。補助記憶装置は、例えば、フラッシュ・メモリのような半導体メモリを含んでいてもよい。プロセッサ202は、例えば集積回路として実装された専用のプロセッサであってもよい。   The processor 202 may be a CPU (Central Processing Unit) for a computer. The storage unit 204 includes a main storage device and an auxiliary storage device. The main storage device includes a storage device such as a semiconductor memory. The auxiliary storage device may include a semiconductor memory such as a flash memory, for example. The processor 202 may be a dedicated processor implemented as an integrated circuit, for example.

入出力部216は、例えば、それぞれの入出力端子228を介して、液晶表示装置のような表示装置、キーボードおよびポインティング・デバイスのような入力装置、等に接続することができる。   The input / output unit 216 can be connected to, for example, a display device such as a liquid crystal display device, an input device such as a keyboard and a pointing device, or the like via each input / output terminal 228.

通信部212には、制御ポート222および複数の通信ポート224が設けられている。通信ポート224は、複数の入力ポートまたは入力部および複数の出力ポートまたは出力部、または複数の入出力ポートまたは入出力部を含んでいる。通信部212は、それぞれの制御ポート222を介し、制御回線網5中のL2スイッチ52を介してオープンフロー・コントローラ10に接続される。また、通信部212は、通信ポート224を介して、ネットワーク7上のノード装置、ルータ装置、および/またはその他のネットワーク通信装置に接続することができる。   The communication unit 212 is provided with a control port 222 and a plurality of communication ports 224. The communication port 224 includes a plurality of input ports or input units and a plurality of output ports or output units, or a plurality of input / output ports or input / output units. The communication unit 212 is connected to the OpenFlow controller 10 via the control port 222 and the L2 switch 52 in the control line network 5. Further, the communication unit 212 can be connected to a node device, router device, and / or other network communication device on the network 7 via the communication port 224.

オープンフロー・スイッチ20〜24は、外付けドライブ260に接続可能であってもよい。ドライブ260は、ソフトウェアまたはプログラムが記録された例えば光ディスクまたは磁気ディスクのような記録媒体264を読み取るためのものであってもよい。そのソフトウェアは、例えば、OS、データベース管理システム(DBMS)、通信用のアプリケーション・プログラム、等を含んでいてもよい。   Open flow switches 20-24 may be connectable to external drive 260. The drive 260 may be for reading a recording medium 264 such as an optical disk or a magnetic disk in which software or a program is recorded. The software may include, for example, an OS, a database management system (DBMS), a communication application program, and the like.

プロセッサ202は、例えば集積回路として実装された専用のプロセッサであってもよい。また、プロセッサ202は、記憶部204に格納されたOSおよび通信用のアプリケーション・プログラムに従って動作するものであってもよい。アプリケーション・プログラムは、記録媒体264に格納されていて、ドライブ260によって記録媒体264から読み出されてオープンフロー・スイッチ20〜24にインストールされてもよい。代替形態として、アプリケーション・プログラムは、例えばオープンフロー・コントローラ10または通信用のサーバ等からダウンロードされてオープンフロー・スイッチ20〜24にインストールされてもよい。   The processor 202 may be a dedicated processor implemented as an integrated circuit, for example. Further, the processor 202 may operate in accordance with an OS and a communication application program stored in the storage unit 204. The application program may be stored in the recording medium 264, read from the recording medium 264 by the drive 260, and installed in the OpenFlow switches 20 to 24. As an alternative, the application program may be downloaded from the OpenFlow controller 10 or a communication server and installed in the OpenFlow switches 20 to 24, for example.

オープンフロー・スイッチ20〜24の記憶部204は、後で説明するように、フローテーブルを保持している。また、オープンフロー・コントローラ10は、後で説明するように、オープンフロー・スイッチ20〜24に送信したフロー・エントリと、オープンフロー・スイッチ20〜24から受信したフロー・エントリとを記憶部104の対応するフローテーブルに保存する。   As will be described later, the storage unit 204 of the OpenFlow switches 20 to 24 holds a flow table. Further, as will be described later, the OpenFlow controller 10 stores the flow entry transmitted to the OpenFlow switches 20 to 24 and the flow entry received from the OpenFlow switches 20 to 24 in the storage unit 104. Save to the corresponding flow table.

図4は、オープンフロー・コントローラ10のプロセッサ102の概略的な構成(configuration)の例を示している。   FIG. 4 shows an example of a schematic configuration of the processor 102 of the OpenFlow controller 10.

プロセッサ102は、例えば、制御部1020、フロー・エントリ生成部1024、統計情報収集部1026、フローテーブル同期処理部1028、学習アルゴリズム生成部1030、およびその他の処理部1032を含んでいる。制御部1020は、フロー・エントリ生成部1024、統計情報収集部1026、フローテーブル同期処理部1028、学習アルゴリズム生成部1030および処理部1032に制御信号を供給して、これらの要素の動作を制御してもよい。   The processor 102 includes, for example, a control unit 1020, a flow entry generation unit 1024, a statistical information collection unit 1026, a flow table synchronization processing unit 1028, a learning algorithm generation unit 1030, and other processing units 1032. The control unit 1020 supplies control signals to the flow entry generation unit 1024, statistical information collection unit 1026, flow table synchronization processing unit 1028, learning algorithm generation unit 1030, and processing unit 1032 to control the operation of these elements. May be.

フロー・エントリ生成部1024は、管理者の操作に従って、オープンフロー・スイッチ20〜24に送信されるフロー・エントリを生成する。統計情報収集部1026は、オープンフロー・スイッチ20〜24から送信された統計情報をフロー・エントリ毎に収集して、記憶部104におけるオープンフロー・スイッチ20〜24毎のフローテーブルに保存する。フローテーブル同期処理部1028は、オープンフロー・スイッチ20〜24との間で、相互のフローテーブルのフロー・エントリが一致するように同期処理を行う。学習アルゴリズム生成部1030は、オープンフロー・スイッチ20〜24に送信されるフロー・エントリの処理内容に含まれる学習処理用の学習アルゴリズムを生成する。   The flow entry generation unit 1024 generates a flow entry to be transmitted to the open flow switches 20 to 24 according to the operation of the administrator. The statistical information collection unit 1026 collects the statistical information transmitted from the open flow switches 20 to 24 for each flow entry and stores it in the flow table for each open flow switch 20 to 24 in the storage unit 104. The flow table synchronization processing unit 1028 performs synchronization processing with the OpenFlow switches 20 to 24 so that the flow entries in the flow tables match each other. The learning algorithm generation unit 1030 generates a learning algorithm for learning processing included in the processing contents of the flow entry transmitted to the open flow switches 20 to 24.

図5は、オープンフロー・スイッチ20〜24のプロセッサ202の概略的な構成(configuration)の例を示している。   FIG. 5 shows an example of a schematic configuration of the processor 202 of the OpenFlow switches 20 to 24.

プロセッサ202は、例えば、制御部2020、フローテーブル参照部2024、パケット転送部2026、パケットイン・メッセージ生成部2028、およびフロー・エントリ設定部2030、を含んでいる。プロセッサ202は、さらに、例えば、受信パケット自己展開部2032、学習内容通知メッセージ生成部2034、およびその他の処理部2036を含んでいる。制御部2020は、フローテーブル参照部2024、パケット転送部2026、パケットイン・メッセージ生成部2028、およびフロー・エントリ設定部2030に制御信号を供給して、これらの要素の動作を制御してもよい。制御部2020は、さらに、受信パケット自己展開部2032、学習内容通知メッセージ生成部2034および処理部2036に制御信号を供給して、これらの要素の動作を制御してもよい。   The processor 202 includes, for example, a control unit 2020, a flow table reference unit 2024, a packet transfer unit 2026, a packet-in message generation unit 2028, and a flow entry setting unit 2030. The processor 202 further includes, for example, a received packet self-expanding unit 2032, a learning content notification message generating unit 2034, and other processing units 2036. The control unit 2020 may supply control signals to the flow table reference unit 2024, the packet transfer unit 2026, the packet-in message generation unit 2028, and the flow entry setting unit 2030 to control the operation of these elements. . The control unit 2020 may further supply control signals to the received packet self-expansion unit 2032, the learning content notification message generation unit 2034, and the processing unit 2036 to control the operation of these elements.

フローテーブル参照部2024は、パケットの受信に応答して、受信パケットについて記憶部204内のフローテーブルを参照する。パケット転送部2026は、受信したパケットを、通信ポート224中の指定された出力ポートに出力してネットワーク7上の他のノードへ転送する。パケットイン・メッセージ生成部2028は、受信パケットについてオープンフロー・コントローラ10に問い合わせるためのパケットイン・メッセージを生成する。ここで、パケットイン・メッセージは、例えば、処理法がフローテーブルに示されていない受信パケットの処理法を、オープンフロー・コントローラ10に問い合わせるためのメッセージである。フロー・エントリ設定部2030は、オープンフロー・コントローラ10から受信したまたは学習処理で生成したフロー・エントリをフローテーブルに登録または設定する。受信パケット自己展開部2032は、学習処理の学習アルゴリズムに従って、受信パケットを自己展開して、受信パケットに対応するマッチ条件を生成する。学習内容通知メッセージ生成部2034は、オープンフロー・コントローラ10との間でフローテーブルを同期化するために、学習によって生成してフローテーブルに設定したフロー・エントリを通知するためのメッセージを生成する。   In response to the reception of the packet, the flow table reference unit 2024 refers to the flow table in the storage unit 204 for the received packet. The packet transfer unit 2026 outputs the received packet to a designated output port in the communication port 224 and transfers it to another node on the network 7. The packet-in message generation unit 2028 generates a packet-in message for inquiring the OpenFlow controller 10 about the received packet. Here, the packet-in message is, for example, a message for inquiring the OpenFlow controller 10 about the processing method of the received packet whose processing method is not shown in the flow table. The flow entry setting unit 2030 registers or sets the flow entry received from the OpenFlow controller 10 or generated by the learning process in the flow table. Received packet self-expanding section 2032 self-expands the received packet according to the learning algorithm of the learning process, and generates a matching condition corresponding to the received packet. The learning content notification message generation unit 2034 generates a message for notifying the flow entry generated by learning and set in the flow table in order to synchronize the flow table with the OpenFlow controller 10.

図6は、オープンフロー・コントローラ10とオープンフロー・スイッチ20〜24の間で送受信される、オープンフロー・メッセージを含む制御用のパケットの構造の例を示している。   FIG. 6 shows an example of the structure of a control packet including an OpenFlow message transmitted / received between the OpenFlow controller 10 and the OpenFlow switches 20 to 24.

図6において、制御用のパケットは、例えば、イーサネット(登録商標)ヘッダ、IPヘッダ、TCPヘッダ、およびTCPデータとしてのオープンフロー・メッセージを含んでいる。   In FIG. 6, the control packet includes, for example, an Ethernet (registered trademark) header, an IP header, a TCP header, and an OpenFlow message as TCP data.

図7Aは、オープンフロー・メッセージとしてのフローMODメッセージの構造の例を示している。フローMODメッセージはフローテーブルの更新要求である。   FIG. 7A shows an example of the structure of a flow MOD message as an open flow message. The flow MOD message is a flow table update request.

フローMODメッセージは、例えば、共通ヘッダ部、およびフローMOD情報を含んでいる。フローMOD情報は、例えば、マッチ(match)情報、および命令(instructions)情報配列を含んでいる。命令情報配列は、n個の命令(情報)を含んでいる。マッチ情報は、例えば、マッチ種別、およびoxmフィールドを含んでいる。各命令は、例えば、命令種別、およびアクション・フィールドを含んでいる。実施形態によるアクション・フィールドの記述の例として、アクションOFPAT_LEARNED(学習アクション)、およびOFPAT_EXPERIMENTER(実験的アクション)の2種類が考えられる。アクションOFPAT_LEARNEDは、次に説明する図7Bに例示するような新たに追加されるアクションである。また、アクションOFPAT_EXPERIMENTERは、次に説明する図7Cに例示するような実験的な追加アクションとして提案されるアクションである。   The flow MOD message includes, for example, a common header part and flow MOD information. The flow MOD information includes, for example, match information and instructions information array. The instruction information array includes n instructions (information). The match information includes, for example, a match type and an oxm field. Each instruction includes, for example, an instruction type and an action field. As an example of the description of the action field according to the embodiment, there are two types of actions: OFPAT_LEARNED (learning action) and OFPAT_EXPEREMENTER (experimental action). The action OFPAT_LEARNED is a newly added action as illustrated in FIG. 7B described below. Further, the action OFPAT_EXPERIMENTER is an action proposed as an experimental additional action illustrated in FIG. 7C described below.

図7Bは、図7Aのアクション・フィールドに記述されるアクションOFPAT_LEARNED(学習アクション)の構造の例を示している。   FIG. 7B shows an example of the structure of the action OFPAT_LEARNED (learning action) described in the action field of FIG. 7A.

アクションOFPAT_LEARNEDは、例えば、タイプ(type)、および学習アクション(learning_action)を含んでいる。学習アクション(learning_action)は、例えば、learning_id(学習アクションを示す識別情報の値)、priority(フローの優先度)、n個の学習マッチ・タイプ(learning_match_type)情報を含んでいる。各学習マッチ・タイプは、例えば、oxmフィールド(学習するマッチ条件の種類を示す値)を含んでいる。   The action OFPAT_LEARNED includes, for example, a type and a learning action (learning_action). The learning action (learning_action) includes, for example, learning_id (value of identification information indicating the learning action), priority (priority of flow), and n pieces of learning match type (learning_match_type) information. Each learning match type includes, for example, an oxm field (a value indicating the type of matching condition to be learned).

図7Cは、図7Aのアクション・フィールドに記述されるアクションOFPAT_EXPERIMENTER(実験的アクション)の構造の例を示している。   FIG. 7C shows an example of the structure of the action OFPAT_EXPERIMENTER (experimental action) described in the action field of FIG. 7A.

アクションOFPAT_EXPERIMENTERは、例えば、図7BのアクションOFPAT_LEARNEDの各フィールドに加えて、experimenter(ONFに申請する学習アクションのタイプ番号)を含んでいる。   The action OFPAT_EXPERIMENTER includes, for example, an experimenter (a type number of a learning action to be applied to the ONF) in addition to each field of the action OFPAT_LEARNED in FIG.

このように、オープンフロー・スイッチ20〜24に実行させる学習処理の内容を表す学習アクションは、フローMODメッセージにおいてアクションOFPAT_LEARNEDとOFPAT_EXPERIMENTERの2種類のいずれかで記述することができる。   As described above, the learning action indicating the contents of the learning process to be executed by the OpenFlow switches 20 to 24 can be described in one of two types of actions OFPAT_LEARNED and OFPAT_Experimenter in the flow MOD message.

図8は、オープンフロー・メッセージとしてのFLOW_LEARNED(学習内容通知または学習済みフロー通知)メッセージの構造の例を示している。フローLEARNEDメッセージは、オープンフロー・スイッチ20〜24における学習済みフローの内容を通知するためのメッセージである。   FIG. 8 shows an example of the structure of a FLOW_LEARNED (learning content notification or learned flow notification) message as an open flow message. The flow LEARNED message is a message for notifying the contents of the learned flow in the open flow switches 20 to 24.

FLOW_LEARNEDメッセージは、例えば、共通ヘッダ部、およびフローLEARNED情報を含んでいる。FLOW_LEARNED情報は、例えば、learning_id(学習アクションを示す識別情報の値)、OXM TLVヘッダ、およびOXMペイロードを含んでいる。learning_id、OXM TLVヘッダ、およびOXMペイロードは、受信パケットによるマッチ条件の学習に使用された学習アクションの学習マッチ・タイプ情報配列の長さ分だけ繰り返される。   The FLOW_LEARNED message includes, for example, a common header part and flow LEARNED information. The FLOW_LEARNED information includes, for example, learning_id (a value of identification information indicating a learning action), an OXM TLV header, and an OXM payload. The learning_id, the OXM TLV header, and the OXM payload are repeated by the length of the learning match type information array of the learning action used for learning the matching condition by the received packet.

次は、通常のマッチ条件およびアクションを含むフロー・エントリによる、オープンフロー・スイッチ20の動作について説明する。   Next, the operation of the OpenFlow switch 20 according to the flow entry including the normal match condition and action will be described.

図9A〜9Dは、オープンフロー・スイッチ20における、通常の形態での、複数のフロー・エントリを含むフローテーブルによるパケット処理の例を示している。   9A to 9D show an example of packet processing by the flow table including a plurality of flow entries in the normal form in the OpenFlow switch 20.

図9Aは、オープンフロー・コントローラ10によってオープンフロー・スイッチ20に設定されたフローテーブルの例を示している。   FIG. 9A shows an example of a flow table set in the OpenFlow switch 20 by the OpenFlow controller 10.

図9Aのフローテーブルのフロー・エントリにおいて、マッチ条件として一連の255個の送信元IPアドレスsrc_ip=192.168.1.1/32〜192.168.1.255/32が設定されるものとする。そのために、オープンフロー・コントローラ10がオープンフロー・スイッチ20に255個のフロー・エントリを送信し、オープンフロー・スイッチ20が255個のフロー・エントリを図9Aのフローテーブルに設定する。また、図9Aのフローテーブルの各フロー・エントリにおいて、受信パケットについてマッチ条件が満たされた場合に実行される対応するアクションとしてポート番号“2”の出力ポートへの出力処理“output=2”が設定されている。ここで、マッチ条件は、対応するアクションの実行条件である。アクションは、受信パケットをポート番号“2”の出力ポートに出力することを表す。各フロー・エントリにおいて、統計情報の初期値は、例えばパケット数=0パケット(packet)である。   In the flow entry of the flow table of FIG. 9A, a series of 255 source IP addresses src_ip = 192.168.1.1 / 32 to 192.168.1.255/32 is set as a match condition. To do. For this purpose, the OpenFlow controller 10 transmits 255 flow entries to the OpenFlow switch 20, and the OpenFlow switch 20 sets 255 flow entries in the flow table of FIG. 9A. Further, in each flow entry of the flow table of FIG. 9A, the output process “output = 2” to the output port of the port number “2” is performed as a corresponding action executed when the match condition is satisfied for the received packet. Is set. Here, the match condition is an execution condition of the corresponding action. The action indicates that the received packet is output to the output port having the port number “2”. In each flow entry, the initial value of the statistical information is, for example, the number of packets = 0 packets.

図9Aのフローテーブルでは、多数のフロー・エントリがオープンフロー・コントローラ10からオープンフロー・スイッチ20に制御回線網5を介して送信される。従って、フロー・エントリの送信にかかる時間が長く、フロー・エントリの送信で使用される制御回線網5の帯域幅が大きい。また、オープンフロー・スイッチ20のフローテーブルに設定されるフロー・エントリが多いので、オープンフロー・スイッチ20におけるフロー・エントリの設定時間も長い。   In the flow table of FIG. 9A, a large number of flow entries are transmitted from the OpenFlow controller 10 to the OpenFlow switch 20 via the control line network 5. Therefore, it takes a long time to transmit the flow entry, and the bandwidth of the control circuit network 5 used for transmitting the flow entry is large. In addition, since there are many flow entries set in the flow table of the OpenFlow switch 20, the setting time of the flow entry in the OpenFlow switch 20 is also long.

図9Bにおいて、オープンフロー・スイッチ20(またはそのプロセッサ202)は、入力ポートで受信したパケットを解析して、受信パケットが、フローテーブル中の各行のフロー・エントリ中のいずれかのマッチ条件を満たすかどうかを判定する。この場合、最初の受信パケットにおいて、送信元IPアドレスがsrc_ip=192.168.1.1、および宛先IPアドレスがdst_ip=192.168.10.2、プロトコル・タイプがip_type=6であるものとする。従って、受信パケットはフローテーブルの最初の行のフロー・エントリのマッチ条件src_ip=192.168.1.1/32を満たすので、受信パケットはポート番号“2”の出力ポートに出力される。また、最初の行のフロー・エントリの統計情報として、パケット数=1パケット(packet)が記録される(破線)。   In FIG. 9B, the OpenFlow switch 20 (or its processor 202) analyzes the packet received at the input port, and the received packet satisfies any match condition in the flow entry of each row in the flow table. Determine whether or not. In this case, in the first received packet, the source IP address is src_ip = 192.168.1.1, the destination IP address is dst_ip = 192.168.10.2, and the protocol type is ip_type = 6. To do. Therefore, since the received packet satisfies the match condition src_ip = 192.168.1.1 / 32 of the flow entry in the first row of the flow table, the received packet is output to the output port with the port number “2”. Further, as statistical information of the flow entry in the first line, the number of packets = 1 packet is recorded (broken line).

図9Cにおいて、オープンフロー・スイッチ20(プロセッサ202)は、次に受信したパケットを解析して、受信パケットが、フローテーブル中の各行のフロー・エントリ中のいずれかのマッチ条件を満たすかどうかを判定する。この場合も、受信パケットにおいて、送信元IPアドレスがsrc_ip=192.168.1.1、および宛先IPアドレスがdst_ip=192.168.10.2、プロトコル・タイプがip_type=6であるものとする。従って、図9Bの場合と同様に、受信パケットはポート番号“2” の出力ポートに出力され、図9Cのフローテーブルにおける最初の行のフロー・エントリの統計情報としてパケット数=2パケット(packet)が記録される(破線)。   In FIG. 9C, the OpenFlow switch 20 (processor 202) analyzes the next received packet to determine whether the received packet satisfies any of the match conditions in the flow entry of each row in the flow table. judge. In this case as well, in the received packet, the source IP address is src_ip = 192.168.1.1, the destination IP address is dst_ip = 192.168.10.2, and the protocol type is ip_type = 6. . Accordingly, as in the case of FIG. 9B, the received packet is output to the output port of the port number “2”, and the number of packets = 2 packets (packet) as the statistical information of the flow entry in the first row in the flow table of FIG. 9C. Is recorded (dashed line).

図9Dにおいて、オープンフロー・スイッチ20(プロセッサ202)は、次に受信したパケットを解析して、受信パケットが、フローテーブル中の各行のフロー・エントリ中のいずれかのマッチ条件を満たすかどうかを判定する。この場合、受信パケットにおいて、送信元IPアドレスがsrc_ip=192.168.1.2、および宛先IPアドレスがdst_ip=192.168.10.2、プロトコル・タイプがip_type=6であるものとする。従って、受信パケットは、図9Cのフローテーブルにおける2番目の行のフロー・エントリのマッチ条件src_ip=192.168.1.2/32を満たすので、受信パケットはポート番号“2”の出力ポートに出力される。また、フローテーブルにおける2番目の行のフロー・エントリの統計情報として、パケット数=1パケット(packet)が記録される(破線)。   In FIG. 9D, the OpenFlow switch 20 (processor 202) analyzes the next received packet to determine whether the received packet satisfies any of the match conditions in the flow entry of each row in the flow table. judge. In this case, in the received packet, the source IP address is src_ip = 192.168.1.2, the destination IP address is dst_ip = 192.168.10.2, and the protocol type is ip_type = 6. Therefore, since the received packet satisfies the match condition src_ip = 192.168.1.2 / 32 of the flow entry in the second row in the flow table of FIG. 9C, the received packet is sent to the output port with the port number “2”. Is output. Further, as statistical information of the flow entry in the second row in the flow table, the number of packets = 1 packet is recorded (broken line).

図10A〜10Cは、オープンフロー・スイッチ20における、通常の形態での、複数のアドレスを表す1つのフロー・エントリを含む別のフローテーブルによるパケット処理の例を示している。   FIGS. 10A to 10C show an example of packet processing by another flow table including one flow entry representing a plurality of addresses in the normal form in the OpenFlow switch 20.

図10Aは、オープンフロー・コントローラ10によってオープンフロー・スイッチ20に設定されたフローテーブルの例を示している。   FIG. 10A shows an example of a flow table set in the OpenFlow switch 20 by the OpenFlow controller 10.

図10Aのフローテーブルのフロー・エントリにおいて、マッチ条件として、範囲指定された送信元IPアドレスsrc_ip=192.168.1.0/24が設定されるものとする。ここで、“/24”はサブネットマスクを表している。また、src_ip=192.168.1.0/24は、送信元IPアドレスsrc_ip=192.168.1.1/32〜192.168.1.255/32の範囲の一連の255個のIPアドレスを含んでいる。それによって、連続する数値のIPアドレスが、サブネットマスクで簡潔に表現できる。この場合、オープンフロー・コントローラ10がオープンフロー・スイッチ20に1個のフロー・エントリを送信し、オープンフロー・スイッチ20が1個のフロー・エントリを図10Aのフローテーブルに設定すればよい。また、図10Aのフローテーブルのフロー・エントリにおいて、受信パケットについてマッチ条件が満たされた場合に実行される対応するアクションとしてポート番号“2”の出力ポートへの出力処理“output=2”が設定されている。この場合、受信パケットが、ポート番号“2”の出力ポートに出力される。フロー・エントリにおいて、統計情報の初期値は、例えばパケット数=0パケット(packet)である。   In the flow entry of the flow table of FIG. 10A, it is assumed that a range-specified source IP address src_ip = 192.168.1.0 / 24 is set as a match condition. Here, “/ 24” represents a subnet mask. Src_ip = 192.168.1.0 / 24 is a series of 255 IP addresses in the range of the source IP address src_ip = 192.168.1.1 / 32 to 192.168.1.255/32. Is included. As a result, consecutive numerical IP addresses can be simply expressed by a subnet mask. In this case, the OpenFlow controller 10 may send one flow entry to the OpenFlow switch 20, and the OpenFlow switch 20 may set one flow entry in the flow table of FIG. 10A. Also, in the flow entry of the flow table of FIG. 10A, the output process “output = 2” to the output port of the port number “2” is set as the corresponding action executed when the match condition is satisfied for the received packet. Has been. In this case, the received packet is output to the output port with the port number “2”. In the flow entry, the initial value of the statistical information is, for example, the number of packets = 0 packets.

図10Bにおいて、オープンフロー・スイッチ20(プロセッサ202)は、入力ポートで受信したパケットを解析して、受信パケットが、フローテーブル中の各行のフロー・エントリ中のいずれかのマッチ条件を満たすかどうかを判定する。この場合、受信パケットにおいて、図9Aと同様に、送信元IPアドレスがsrc_ip=192.168.1.1、および宛先IPアドレスがdst_ip=192.168.10.2、プロトコル・タイプがip_type=6であるものとする。従って、受信パケットはフローテーブルのフロー・エントリのマッチ条件src_ip=192.168.1.0/24を満たすので、受信パケットはポート番号“2”の出力ポートに出力される。図10Bのフロー・エントリの統計情報として、パケット数=1パケット(packet)が記録される(破線)。   In FIG. 10B, the OpenFlow switch 20 (processor 202) analyzes the packet received at the input port, and whether the received packet satisfies any of the match conditions in the flow entry of each row in the flow table. Determine. In this case, in the received packet, as in FIG. 9A, the source IP address is src_ip = 192.168.1.1, the destination IP address is dst_ip = 192.168.10.2, and the protocol type is ip_type = 6. Suppose that Therefore, since the received packet satisfies the match condition src_ip = 192.168.1.0 / 24 of the flow entry in the flow table, the received packet is output to the output port with the port number “2”. As the statistical information of the flow entry in FIG. 10B, the number of packets = 1 packet is recorded (broken line).

図10Cにおいて、オープンフロー・スイッチ20(プロセッサ202)は、次に受信したパケットを解析して、受信パケットが、フローテーブル中の各行のフロー・エントリ中のいずれかのマッチ条件を満たすかどうかを判定する。この場合、受信パケットにおいて、送信元IPアドレスがsrc_ip=192.168.1.2、および宛先IPアドレスがdst_ip=192.168.10.2、プロトコル・タイプがip_type=6であるものとする。従って、図9Dの場合と同様に、受信パケットはフローテーブルのフロー・エントリのマッチ条件src_ip=192.168.1.0/24を満たすので、受信パケットはポート番号“2”の出力ポートに出力される。また、図10Cのフロー・エントリの統計情報として、パケット数=2パケット(packet)が記録される(破線)。従って、マッチ条件としてアドレスが範囲指定された場合、範囲指定されたアドレス範囲全体について、1つの統計情報が生成され、個々のアドレスについて統計情報が生成されることはない。   In FIG. 10C, the OpenFlow switch 20 (processor 202) analyzes the next received packet to determine whether the received packet satisfies any of the match conditions in the flow entry of each row in the flow table. judge. In this case, in the received packet, the source IP address is src_ip = 192.168.1.2, the destination IP address is dst_ip = 192.168.10.2, and the protocol type is ip_type = 6. Accordingly, as in the case of FIG. 9D, the received packet satisfies the match condition src_ip = 192.168.1.0 / 24 of the flow entry of the flow table, so that the received packet is output to the output port of the port number “2”. Is done. In addition, as the flow entry statistical information of FIG. 10C, the number of packets = 2 packets is recorded (broken line). Accordingly, when an address range is designated as a match condition, one piece of statistical information is generated for the entire range of address designated, and no statistical information is generated for each address.

次は、実施形態によるマッチ条件およびアクションを含むフローによる、オープンフロー・スイッチ20の動作について説明する。この場合、アクションは、学習アクションまたは学習処理を含んでいる。   Next, the operation of the OpenFlow switch 20 according to the flow including the match condition and the action according to the embodiment will be described. In this case, the action includes a learning action or a learning process.

図11A〜11Cは、オープンフロー・スイッチ20における、実施形態での、学習型のフロー・エントリを含むフローテーブルによるパケット処理の例を示している。この場合、学習型のフロー・エントリは、学習アクションまたは学習処理を含んでいる。   FIGS. 11A to 11C show an example of packet processing by the flow table including the learning type flow entry in the embodiment in the OpenFlow switch 20. In this case, the learning type flow entry includes a learning action or a learning process.

図11Aは、オープンフロー・コントローラ10によってオープンフロー・スイッチ20に設定された学習型のフロー・エントリを含むフローテーブルの例を示している。   FIG. 11A shows an example of a flow table including learning type flow entries set in the OpenFlow switch 20 by the OpenFlow controller 10.

オープンフロー・コントローラ10は、オープンフロー・スイッチ20のフローテーブルに複数のフロー・エントリを設定するために、学習アルゴリズムを含む1つの学習型のフロー・エントリまたは転送制御情報を、オープンフロー・スイッチ20に送信する。次いで、オープンフロー・スイッチ20は、受信した1つの学習型のフロー・エントリをフローテーブルに設定する。それによって、図11Aのように、フローテーブルにフロー・エントリが設定される。   In order to set a plurality of flow entries in the flow table of the OpenFlow switch 20, the OpenFlow controller 10 sends one learning-type flow entry or transfer control information including a learning algorithm to the OpenFlow switch 20. Send to. Next, the OpenFlow switch 20 sets one received learning type flow entry in the flow table. As a result, a flow entry is set in the flow table as shown in FIG. 11A.

図11Aのフローテーブルのフロー・エントリにおいて、マッチ条件として、ネットワーク識別子としての送信元IPアドレスsrc_ip=xx/24が設定されるものとする。また、図11Aのフローテーブルのフロー・エントリにおいて、マッチ条件が満たされた場合に実行される対応するアクションとして学習処理“learning”および出力処理“output=2”が設定されている。   In the flow entry of the flow table of FIG. 11A, a source IP address src_ip = xx / 24 as a network identifier is set as a match condition. In the flow entry of the flow table of FIG. 11A, learning processing “learning” and output processing “output = 2” are set as corresponding actions to be executed when the match condition is satisfied.

学習処理“learning”の内容は、例えば、次の3つの項目を含んでいる。
(1)“learng_id=1”、
(2)“priority=3000”、
(3)“learning_match_type=[OFPXMT_OFB_IPV4_SRC,OFPXMT_OFB_IPV4_DST,OFPXMT_OFB_IP_PROTO]”。
The content of the learning process “learning” includes, for example, the following three items.
(1) “learning_id = 1”,
(2) “priority = 3000”,
(3) “learning_match_type = [OFPXMT_OFB_IPV4_SRC, OFPXMT_OFB_IPV4_DST, OFPXMT_OFB_IP_PROTO]”.

ここで、“learng_id=1”は、学習アクションを示す識別情報の値であり、この場合の値は“1”である。“priority=3000”は、学習処理によって生成されるフローの優先度である。学習マッチ・タイプ“learning_match_type”は、学習アクション等のアクションを実行するためのマッチ条件が記述されることを表している。“OFPXMT_OFB_IPV4_SRC”は、そのマッチ条件の一部として、受信パケットの送信元アドレスがコピーされて使用されることを表す。“OFPXMT_OFB_IPV4_DST”は、そのマッチ条件の一部として、受信パケットの宛先アドレスがコピーされて使用されることを表す。“OFPXMT_OFB_IP_PROTO”は、そのマッチ条件の一部として、受信パケットのプロトコル・タイプがコピーされて使用されることを表す。 Here, “learn_id = 1” is a value of identification information indicating a learning action, and the value in this case is “1”. “Priority = 3000” is the priority of the flow generated by the learning process. The learning match type “learning_match_type” represents that a match condition for executing an action such as a learning action is described. “OFPXMT_OFB_IPV4_SRC” represents that the source address of the received packet is copied and used as part of the match condition. “OFPXMT_OFB_IPV4_DST” represents that the destination address of the received packet is copied and used as part of the match condition. “OFPXMT_OFB_IP_PROTO” represents that the protocol type of the received packet is copied and used as part of the match condition.

図11Aのフローテーブルでは、1つの学習型のフロー・エントリがオープンフロー・コントローラ10からオープンフロー・スイッチ20に制御回線網5を介して送信される。従って、学習型のフロー・エントリの送信にかかる時間は短く、学習型のフロー・エントリの送信で使用される制御回線網5の帯域幅は小さい。また、オープンフロー・スイッチ20のフローテーブルに設定される学習型のフロー・エントリの数は少なくて済む。従って、オープンフロー・スイッチ20における学習型のフロー・エントリの設定時間も短い。   In the flow table of FIG. 11A, one learning type flow entry is transmitted from the OpenFlow controller 10 to the OpenFlow switch 20 via the control line network 5. Accordingly, the time required for transmission of the learning type flow entry is short, and the bandwidth of the control circuit network 5 used for transmission of the learning type flow entry is small. Further, the number of learning type flow entries set in the flow table of the OpenFlow switch 20 is small. Therefore, the learning flow entry setting time in the OpenFlow switch 20 is also short.

図11Bにおいて、オープンフロー・スイッチ20(プロセッサ202)は、最初に受信したパケットを解析して、フロー・エントリの優先度順に、受信パケットが、フローテーブル中の各行のフロー・エントリのいずれかのマッチ条件を満たすかどうかを判定する。この場合、最初の受信パケットにおいて、送信元IPアドレスがsrc_ip=xx、宛先IPアドレスdst_ip=yy、プロトコル・タイプがip_type=6であるものとする。従って、受信パケットはフローテーブルの優先度1のフロー・エントリのマッチ条件src_ip=xx/24を満たすので、学習アクションまたは学習処理が実行される。   In FIG. 11B, the OpenFlow switch 20 (processor 202) analyzes the first received packet, and in order of priority of the flow entry, the received packet is one of the flow entries in each row in the flow table. Determine if match condition is met. In this case, in the first received packet, the source IP address is src_ip = xx, the destination IP address dst_ip = yy, and the protocol type is ip_type = 6. Accordingly, since the received packet satisfies the match condition src_ip = xx / 24 of the flow entry with priority 1 in the flow table, the learning action or the learning process is executed.

学習アクションにおいて、図11Bのフローテーブルにおいて、受信パケットの送信元アドレス、宛先アドレス、およびプロトコル・タイプに基づく新しいマッチ条件を含む新しいフロー・エントリが生成される。その際、学習アクションの学習マッチ・タイプに従って、受信パケットの送信元アドレス、宛先アドレス、およびプロトコル・タイプが取り出されて、新しいフロー・エントリのマッチ条件として、フローテーブルに書き込まれる。   In the learning action, in the flow table of FIG. 11B, a new flow entry is generated that includes a new match condition based on the source address, destination address, and protocol type of the received packet. At this time, the source address, the destination address, and the protocol type of the received packet are extracted according to the learning match type of the learning action, and written in the flow table as a new flow entry match condition.

この場合、新しいフロー・エントリのマッチ条件は、ネットワーク識別子としての送信元IPアドレスsrc_ip=xx/32、ネットワーク識別子としての宛先IPアドレスdst_ip=yy/32、およびプロトコル・タイプip_type=6となる。また、新しいフロー・エントリには、学習アクションで指定された優先度“3000”、および、マッチ条件を動作条件とする、学習型のフロー・エントリの残りのアクション“output=2”が設定される。   In this case, the match conditions for the new flow entry are the source IP address src_ip = xx / 32 as the network identifier, the destination IP address dst_ip = yy / 32 as the network identifier, and the protocol type ip_type = 6. In addition, the priority “3000” specified by the learning action and the remaining action “output = 2” of the learning type flow entry using the match condition as the operation condition are set in the new flow entry. .

それによって、オープンフロー・スイッチ20において、学習処理の内容に基づいて受信パケットから学習された各種類の受信パケットのマッチ条件を含む新しいフロー・エントリが生成されて、新しいフロー・エントリがフローテーブルに設定できる。   Thereby, in the OpenFlow switch 20, a new flow entry including a matching condition of each type of received packet learned from the received packet based on the contents of the learning process is generated, and the new flow entry is stored in the flow table. Can be set.

次いで、オープンフロー・スイッチ20(プロセッサ202)は、学習アクション以外の残りのアクション“output=2”を実行する。従って、受信パケットがポート番号“2”の出力ポートに出力されて転送される。オープンフロー・スイッチ20(プロセッサ202)は、さらに、優先度“1”および“3000”のフロー・エントリに、統計情報として、処理されたパケット数=1パケット(packet)を記録する(破線)。   Next, the OpenFlow switch 20 (processor 202) executes the remaining action “output = 2” other than the learning action. Therefore, the received packet is output to the output port with the port number “2” and transferred. The OpenFlow switch 20 (processor 202) further records the number of processed packets = 1 packet (broken line) as statistical information in the flow entries of the priority “1” and “3000” (broken line).

次いで、オープンフロー・スイッチ20(プロセッサ202)は、追加した新しいフロー・エントリにおける、学習アクション識別情報、優先度、および学習したマッチ条件(破線)を含む学習内容通知メッセージを、オープンフロー・コントローラ10に送信する。オープンフロー・コントローラ10(プロセッサ102)は、受信した学習内容通知メッセージから、学習アクション識別情報、優先度、および学習したマッチ条件(破線)を取り出す。次いで、オープンフロー・コントローラ10(プロセッサ102)は、取り出した学習アクション識別情報、優先度、および学習したマッチ条件(破線)を含むフロー・エントリを、記憶部104におけるオープンフロー・スイッチ20用のフローテーブルに保存する。   Next, the OpenFlow switch 20 (processor 202) sends the learning content notification message including the learning action identification information, the priority, and the learned matching condition (dashed line) in the added new flow entry to the OpenFlow controller 10. Send to. The OpenFlow controller 10 (processor 102) extracts learning action identification information, priority, and learned match condition (broken line) from the received learning content notification message. Next, the OpenFlow controller 10 (processor 102) sends a flow entry including the extracted learned action identification information, priority, and learned match condition (broken line) to the flow for the OpenFlow switch 20 in the storage unit 104. Save to table.

それによって、オープンフロー・スイッチ20のフローテーブルと、オープンフロー・コントローラ10におけるオープンフロー・スイッチ20用のフローテーブルとが、一致し、同期化される。このようなフローテーブル同期化のための、図11Bの学習内容通知メッセージの送信は、学習型のフロー・エントリのマッチ条件を満たす異なる種類のパケットが受信されたときに発生し、従って時間的に分散して発生する。従って、学習内容通知メッセージの送信に使用される制御回線網5の帯域幅は小さくて済む。また、オープンフロー・スイッチ20からオープンフロー・コントローラ10への学習内容通知メッセージの送信が遅延しても、オープンフロー・スイッチ20によって提供されるパケット転送サービスがその影響を受けることはない。   As a result, the flow table of the OpenFlow switch 20 and the flow table for the OpenFlow switch 20 in the OpenFlow controller 10 are matched and synchronized. Transmission of the learning content notification message of FIG. 11B for such flow table synchronization occurs when different types of packets satisfying the matching condition of the learning type flow entry are received. It occurs in a distributed manner. Therefore, the bandwidth of the control circuit network 5 used for transmitting the learning content notification message can be small. Further, even if the transmission of the learning content notification message from the OpenFlow switch 20 to the OpenFlow controller 10 is delayed, the packet transfer service provided by the OpenFlow switch 20 is not affected.

図11Cにおいて、オープンフロー・スイッチ20(プロセッサ202)は、次に受信したパケットを解析して、フロー・エントリの優先度順に、受信パケットが、フローテーブル中の各フロー・エントリのいずれかのマッチ条件を満たすかどうかを判定する。この場合も、受信パケットにおいて、送信元IPアドレスがsrc_ip=xx、宛先IPアドレスdst_ip=yy、プロトコル・タイプがip_type=6であるものとする。   In FIG. 11C, the OpenFlow switch 20 (processor 202) analyzes the next received packet, and the received packet matches one of the flow entries in the flow table in the order of priority of the flow entry. Determine whether the condition is met. Also in this case, in the received packet, the source IP address is src_ip = xx, the destination IP address dst_ip = yy, and the protocol type is ip_type = 6.

従って、オープンフロー・スイッチ20(プロセッサ202)は、先ず、受信パケットのヘッダ等を、図11Bで生成された高い優先度“3000”のフロー・エントリのマッチ条件と比較する。受信パケットは、優先度“3000”のフロー・エントリのマッチ条件を満たすので、対応するアクションに従って受信パケットがポート番号“2”の出力ポートに出力されて転送される。この場合、優先度“3000”のフロー・エントリに、統計情報として、その時点までに処理されたパケットのパケット数=2パケット(packet)が記録される(破線)。   Therefore, the OpenFlow switch 20 (processor 202) first compares the header and the like of the received packet with the match condition of the flow entry with the high priority “3000” generated in FIG. 11B. Since the received packet satisfies the match condition of the flow entry with the priority “3000”, the received packet is output to the output port with the port number “2” and transferred according to the corresponding action. In this case, the number of packets processed up to that point = 2 packets (packet) is recorded as statistical information in the flow entry with the priority “3000” (broken line).

このようにして、学習型のフロー・エントリに従って、マッチ条件src_ip=xx/24を満たす新しいパケットが受信される度に、学習アクションが実行されて、優先度の高い新しいフロー・エントリが生成される。それによって、フローテーブルに追加されたそれぞれのフロー・エントリ毎に統計情報が得られるようになる。フローテーブルにおける各フロー・エントリの統計情報は、後で、オープンフロー・コントローラ10によって収集される。   In this way, each time a new packet that satisfies the match condition src_ip = xx / 24 is received according to the learning type flow entry, the learning action is executed and a new flow entry with a high priority is generated. . Thereby, statistical information can be obtained for each flow entry added to the flow table. The statistical information for each flow entry in the flow table is later collected by the OpenFlow controller 10.

図12A〜12Dは、オープンフロー・スイッチ20における、実施形態での、別の学習型のフロー・エントリを含むフローテーブルによるパケット処理の例を示している。   12A to 12D show an example of packet processing by the flow table including another learning type flow entry in the embodiment in the OpenFlow switch 20.

図12Aは、オープンフロー・コントローラ10によってオープンフロー・スイッチ20に設定された別の学習型のフロー・エントリを含むフローテーブルの例を示している。   FIG. 12A shows an example of a flow table including another learning type flow entry set in the OpenFlow switch 20 by the OpenFlow controller 10.

オープンフロー・コントローラ10は、オープンフロー・スイッチ20のフローテーブルに複数のフロー・エントリを設定するために、学習アルゴリズムを含む別の1つの学習型のフロー・エントリまたは転送制御情報を、オープンフロー・スイッチ20に送信する。次いで、オープンフロー・スイッチ20は、受信した1つの学習型のフロー・エントリをフローテーブルに設定する。それによって、図12Aのように、フローテーブルにフロー・エントリが設定される。   In order to set a plurality of flow entries in the flow table of the OpenFlow switch 20, the OpenFlow controller 10 sends another learning type flow entry including the learning algorithm or transfer control information to the OpenFlow switch. Transmit to the switch 20. Next, the OpenFlow switch 20 sets one received learning type flow entry in the flow table. As a result, a flow entry is set in the flow table as shown in FIG. 12A.

図12Aのフローテーブルのフロー・エントリにおいて、マッチ条件が設定されている。この場合、マッチ条件は、範囲指定された送信元IPアドレスsrc_ip=192.168.1.0/24、範囲指定された宛先IPアドレスsrc_ip=192.168.10.0/24、およびプロトコル・タイプ“ip_type=6”を含んでいる。この場合、src_ip=192.168.1.0/24は、送信元IPアドレスsrc_ip=192.168.1.1/32〜192.168.1.255/32の範囲の一連の255個のIPアドレスを含んでいる。また、src_ip=192.168.10.0/24は、宛先IPアドレスsrc_ip=192.168.10.1/32〜src_ip=192.168.10.255/32の範囲の一連の255個のIPアドレスを含んでいる。   Match conditions are set in the flow entry of the flow table of FIG. 12A. In this case, the match conditions are the range-specified source IP address src_ip = 192.168.1.0 / 24, the range-specified destination IP address src_ip = 192.168.10.0 / 24, and the protocol type “Ip_type = 6” is included. In this case, src_ip = 192.168.1.0 / 24 is a series of 255 IPs in the range of source IP address src_ip = 192.168.1.1 / 32 to 192.168.1.255/32. Contains an address. Also, src_ip = 192.168.10.0 / 24 is the destination IP address src_ip = 192.168.10.1 / 32 to src_ip = 192.168.10.255 / 32 Contains an address.

また、図12Aのフローテーブルのフロー・エントリにおいて、マッチ条件が満たされた場合に実行される対応するアクションとして学習処理“learning”および出力処理“output=2”が設定されている。学習処理“learning”の内容は、例えば、図11Aの場合と同様である。   Also, in the flow entry of the flow table of FIG. 12A, learning processing “learning” and output processing “output = 2” are set as corresponding actions to be executed when the match condition is satisfied. The content of the learning process “learning” is the same as in the case of FIG. 11A, for example.

図12Bにおいて、オープンフロー・スイッチ20(プロセッサ202)は、最初に受信したパケットを解析して、フロー・エントリの優先度順に、受信パケットが、フローテーブル中の各行のフロー・エントリのいずれかのマッチ条件を満たすかどうかを判定する。この場合、最初の受信パケットにおいて、送信元IPアドレスがsrc_ip=192.168.1.1、宛先IPアドレスがdst_ip=192.168.10.2、プロトコル・タイプがip_type=6であるものとする。従って、受信パケットはフローテーブルの優先度“1”のフロー・エントリのマッチ条件を満たすので、学習アクションが実行される。   In FIG. 12B, the OpenFlow switch 20 (processor 202) analyzes the first received packet, and in order of priority of the flow entry, the received packet is one of the flow entries in each row in the flow table. Determine if match condition is met. In this case, in the first received packet, the source IP address is src_ip = 192.168.1.1, the destination IP address is dst_ip = 192.168.10.2, and the protocol type is ip_type = 6. . Therefore, since the received packet satisfies the match condition of the flow entry with the priority “1” in the flow table, the learning action is executed.

学習アクションにおいて、図12Bのフローテーブルにおいて、受信パケットの送信元アドレス、宛先アドレス、およびプロトコル・タイプに基づく新しいマッチ条件を含む新しいフロー・エントリが生成される。その際、学習アクションの学習マッチ・タイプに従って、受信パケットの送信元アドレス、宛先アドレス、およびプロトコル・タイプが取り出されて、新しいフロー・エントリのマッチ条件として、フローテーブルに書き込まれる。   In the learning action, a new flow entry is generated in the flow table of FIG. 12B that includes a new match condition based on the source address, destination address, and protocol type of the received packet. At this time, the source address, the destination address, and the protocol type of the received packet are extracted according to the learning match type of the learning action, and written in the flow table as a new flow entry match condition.

この場合、新しいフロー・エントリのマッチ条件は、マッチ条件送信元IPアドレスsrc_ip=192.168.1.1/32、宛先IPアドレスsrc_ip=192.168.10.2/32、およびプロトコル・タイプ“ip_type=6”となる。また、新しいフロー・エントリには、学習アクションで指定された優先度“3000”、および、マッチ条件を動作条件とする、学習型のフロー・エントリの残りのアクション“output=2”が設定される。   In this case, the match conditions of the new flow entry are: match condition source IP address src_ip = 192.168.1.1 / 32, destination IP address src_ip = 192.168.10.2 / 32, and protocol type “ ip_type = 6 ″. In addition, the priority “3000” specified by the learning action and the remaining action “output = 2” of the learning type flow entry using the match condition as the operation condition are set in the new flow entry. .

それによって、オープンフロー・スイッチ20において、学習処理の内容に基づいて受信パケットから学習した各種類の受信パケットのマッチ条件を含む新しいフロー・エントリが、生成されてフローテーブルに設定できる。   Thereby, in the OpenFlow switch 20, a new flow entry including a matching condition for each type of received packet learned from the received packet based on the contents of the learning process can be generated and set in the flow table.

次いで、オープンフロー・スイッチ20(プロセッサ202)は、学習アクション以外の残りのアクション“output=2”を実行する。従って、受信パケットがポート番号“2”の出力ポートに出力されて転送される。オープンフロー・スイッチ20(プロセッサ202)は、さらに、優先度“1”および“3000”のフロー・エントリに、統計情報として、処理されたパケット数=1パケット(packet)を記録する(破線)。   Next, the OpenFlow switch 20 (processor 202) executes the remaining action “output = 2” other than the learning action. Therefore, the received packet is output to the output port with the port number “2” and transferred. The OpenFlow switch 20 (processor 202) further records the number of processed packets = 1 packet (broken line) as statistical information in the flow entries of the priority “1” and “3000” (broken line).

次いで、オープンフロー・スイッチ20(プロセッサ202)は、追加した新しいフロー・エントリにおける、学習アクション識別情報、優先度、および学習したマッチ条件(破線)を含む学習内容通知メッセージを、オープンフロー・コントローラ10に送信する。オープンフロー・コントローラ10(プロセッサ102)は、受信した学習内容通知メッセージから、学習アクション識別情報、優先度、および学習したマッチ条件(破線)を取り出す。次いで、オープンフロー・コントローラ10(プロセッサ102)は、取り出した学習アクション識別情報、優先度、および学習したマッチ条件(破線)を含むフロー・エントリを、記憶部104におけるオープンフロー・スイッチ20用のフローテーブルに保存する。   Next, the OpenFlow switch 20 (processor 202) sends the learning content notification message including the learning action identification information, the priority, and the learned matching condition (dashed line) in the added new flow entry to the OpenFlow controller 10. Send to. The OpenFlow controller 10 (processor 102) extracts learning action identification information, priority, and learned match condition (broken line) from the received learning content notification message. Next, the OpenFlow controller 10 (processor 102) sends a flow entry including the extracted learned action identification information, priority, and learned match condition (broken line) to the flow for the OpenFlow switch 20 in the storage unit 104. Save to table.

それによって、オープンフロー・スイッチ20のフローテーブルと、オープンフロー・コントローラ10におけるオープンフロー・スイッチ20用のフローテーブルとが、一致し、同期化される。   As a result, the flow table of the OpenFlow switch 20 and the flow table for the OpenFlow switch 20 in the OpenFlow controller 10 are matched and synchronized.

図12Cにおいて、オープンフロー・スイッチ20(プロセッサ202)は、次に受信したパケットを解析して、フロー・エントリの優先度順に、受信パケットが、フローテーブル中の各フロー・エントリのいずれかのマッチ条件を満たすかどうかを判定する。この場合も、受信パケットにおいて、送信元IPアドレスがsrc_ip=192.168.1.1、宛先IPアドレスがdst_ip=192.168.10.2、プロトコル・タイプがip_type=6であるものとする。   In FIG. 12C, the OpenFlow switch 20 (processor 202) analyzes the next received packet, and the received packet matches one of the flow entries in the flow table in the order of priority of the flow entry. Determine whether the condition is met. In this case as well, in the received packet, the source IP address is src_ip = 192.168.1.1, the destination IP address is dst_ip = 192.168.10.2, and the protocol type is ip_type = 6.

従って、オープンフロー・スイッチ20(プロセッサ202)は、先ず、受信パケットのヘッダ等を、図12Bで生成された高い優先度“3000”のフロー・エントリのマッチ条件と比較する。受信パケットは、優先度“3000”のフロー・エントリのマッチ条件を満たすので、対応するアクションに従って受信パケットがポート番号“2”の出力ポートに出力されて転送される。この場合、優先度“3000”のフロー・エントリに、統計情報として、その時点までに処理されたパケットのパケット数=2パケット(packet)が記録される(破線)。   Accordingly, the OpenFlow switch 20 (processor 202) first compares the header of the received packet with the match condition of the high priority “3000” flow entry generated in FIG. 12B. Since the received packet satisfies the match condition of the flow entry with the priority “3000”, the received packet is output to the output port with the port number “2” and transferred according to the corresponding action. In this case, the number of packets processed up to that point = 2 packets (packet) is recorded as statistical information in the flow entry with the priority “3000” (broken line).

図12Dにおいて、オープンフロー・スイッチ20(プロセッサ202)は、次に受信したパケットを解析して、フロー・エントリの優先度順に、受信パケットが、フローテーブル中の各フロー・エントリのいずれかのマッチ条件を満たすかどうかを判定する。この場合、受信パケットにおいて、送信元IPアドレスがsrc_ip=192.168.1.2、宛先IPアドレスがdst_ip=192.168.10.2、プロトコル・タイプがip_type=6であるものとする。   In FIG. 12D, the OpenFlow switch 20 (processor 202) analyzes the next received packet, and the received packet matches one of the flow entries in the flow table in order of priority of the flow entry. Determine whether the condition is met. In this case, in the received packet, the source IP address is src_ip = 192.168.1.2, the destination IP address is dst_ip = 192.168.10.2, and the protocol type is ip_type = 6.

従って、オープンフロー・スイッチ20(プロセッサ202)は、先ず、受信パケットのヘッダ等を、図12Bで生成された高い優先度“3000”のフロー・エントリのマッチ条件と比較する。この場合、受信パケットは、優先度“3000”のフロー・エントリのマッチ条件を満たさない。   Accordingly, the OpenFlow switch 20 (processor 202) first compares the header of the received packet with the match condition of the high priority “3000” flow entry generated in FIG. 12B. In this case, the received packet does not satisfy the match condition of the flow entry with the priority “3000”.

次いで、オープンフロー・スイッチ20(プロセッサ202)は、受信パケットのヘッダ等を、次に高いまたは低い優先度“1”の学習型のフロー・エントリのマッチ条件と比較する。この場合、受信パケットは、優先度“1”の学習型のフロー・エントリのマッチ条件を満たすので、学習アクションが実行される。   Next, the OpenFlow switch 20 (processor 202) compares the header of the received packet and the like with the matching condition of the learning flow entry having the next higher or lower priority “1”. In this case, the learning action is executed because the received packet satisfies the matching condition of the learning type flow entry with the priority “1”.

学習アクションにおいて、図12Dのフローテーブルにおいて、受信パケットの送信元アドレス、宛先アドレス、およびプロトコル・タイプに基づく新しいマッチ条件を含む新しいフロー・エントリが生成される。その際、学習アクションの学習マッチ・タイプに従って、受信パケットの送信元アドレス、宛先アドレス、およびプロトコル・タイプが取り出されて、新しいフロー・エントリのマッチ条件として、フローテーブルに書き込まれる。   In the learning action, in the flow table of FIG. 12D, a new flow entry is generated that includes a new match condition based on the source address, destination address, and protocol type of the received packet. At this time, the source address, the destination address, and the protocol type of the received packet are extracted according to the learning match type of the learning action, and written in the flow table as a new flow entry match condition.

この場合、新しいフロー・エントリのマッチ条件は、マッチ条件送信元IPアドレスsrc_ip=192.168.1.2/32、宛先IPアドレスsrc_ip=192.168.10.2/32、およびプロトコル・タイプ“ip_type=6”となる。また、新しいフロー・エントリには、学習アクションで指定された優先度“3000”、および、マッチ条件を動作条件とする、学習型のフロー・エントリの残りのアクション“output=2”が設定される。   In this case, the match conditions of the new flow entry are: match condition source IP address src_ip = 192.168.1.2 / 32, destination IP address src_ip = 192.168.10.2 / 32, and protocol type “ ip_type = 6 ″. In addition, the priority “3000” specified by the learning action and the remaining action “output = 2” of the learning type flow entry using the match condition as the operation condition are set in the new flow entry. .

それによって、オープンフロー・スイッチ20において、学習処理の内容に基づいて別の受信パケットから学習した別の種類の受信パケットのマッチ条件を含む別の新しいフロー・エントリが、生成されてフローテーブルに設定できる。   As a result, in the OpenFlow switch 20, another new flow entry including a matching condition of another type of received packet learned from another received packet based on the contents of the learning process is generated and set in the flow table. it can.

次いで、オープンフロー・スイッチ20(プロセッサ202)は、学習アクション以外の残りのアクション“output=2”を実行する。従って、受信パケットがポート番号“2”の出力ポートに出力されて転送される。オープンフロー・スイッチ20(プロセッサ202)は、さらに、優先度“1”のフロー・エントリに、統計情報として、処理されたパケット数=2パケット(packet)を記録する(破線)。また、オープンフロー・スイッチ20(プロセッサ202)は、優先度“3000”の新しいフロー・エントリに、統計情報として、処理されたパケット数=1パケット(packet)を記録する(破線)。   Next, the OpenFlow switch 20 (processor 202) executes the remaining action “output = 2” other than the learning action. Therefore, the received packet is output to the output port with the port number “2” and transferred. The OpenFlow switch 20 (processor 202) further records the number of processed packets = 2 packets as a statistical information in the flow entry with the priority “1” (broken line). The OpenFlow switch 20 (processor 202) records the number of processed packets = 1 packet as a statistical information in a new flow entry with the priority “3000” (broken line).

次いで、オープンフロー・スイッチ20(プロセッサ202)は、新たに追加したフロー・エントリにおける、学習アクション識別情報、優先度、および学習したマッチ条件(破線)を含む学習内容通知メッセージを、オープンフロー・コントローラ10に送信する。次いで、オープンフロー・コントローラ10(プロセッサ102)は、受信した学習内容通知メッセージから、学習アクション識別情報、優先度、および学習したマッチ条件(破線)を取り出す。次いで、オープンフロー・コントローラ10(プロセッサ102)は、取り出した学習アクション識別情報、優先度、および学習したマッチ条件(破線)を含むフロー・エントリを、記憶部104におけるオープンフロー・スイッチ20用のフローテーブルに保存する。   Next, the OpenFlow switch 20 (processor 202) sends the learning content notification message including the learning action identification information, the priority, and the learned matching condition (broken line) in the newly added flow entry to the OpenFlow controller. 10 to send. Next, the OpenFlow controller 10 (processor 102) extracts learning action identification information, priority, and learned match condition (broken line) from the received learning content notification message. Next, the OpenFlow controller 10 (processor 102) sends a flow entry including the extracted learned action identification information, priority, and learned match condition (broken line) to the flow for the OpenFlow switch 20 in the storage unit 104. Save to table.

このようにして、学習型のフロー・エントリに従って、学習型のフロー・エントリのマッチ条件を満たす異なる種類のパケットが受信される度に、異なるマッチ条件を含む優先度の高い新しいフロー・エントリが生成されてフローテーブルに設定できる。それによって、異なるフロー・エントリ毎に統計情報が得られるようになる。   In this way, each time a different type of packet is received that satisfies the learning flow entry match condition according to the learning flow entry, a new high priority flow entry including a different matching condition is generated. Can be set in the flow table. Thereby, statistical information can be obtained for each different flow entry.

その後、オープンフロー・コントローラ10(プロセッサ102)は、オープンフロー・スイッチ20のフローテーブルの統計情報を要求する統計情報要求メッセージを、オープンフロー・スイッチ20に送信する。オープンフロー・スイッチ20(プロセッサ202)は、統計情報要求メッセージの受信に応答して、自己のフローテーブルの各フロー・エントリの統計情報を取り出し、取り出した統計情報を含む応答メッセージをオープンフロー・コントローラ10に送信する。オープンフロー・コントローラ10(プロセッサ102)は、受信した各フロー・エントリの統計情報を、記憶部104におけるオープンフロー・スイッチ20用のフローテーブルに各フロー・エントリに対応する統計情報を保存する。   Thereafter, the OpenFlow controller 10 (processor 102) transmits a statistical information request message for requesting statistical information of the flow table of the OpenFlow switch 20 to the OpenFlow switch 20. In response to the reception of the statistical information request message, the OpenFlow switch 20 (processor 202) extracts the statistical information of each flow entry in its own flow table, and sends the response message including the extracted statistical information to the OpenFlow controller. 10 to send. The OpenFlow controller 10 (processor 102) stores the received statistical information of each flow entry in the flow table for the OpenFlow switch 20 in the storage unit 104 and the statistical information corresponding to each flow entry.

図12Aのフローテーブルでも、図11Aの場合と同様に、1つの学習型のフロー・エントリがオープンフロー・コントローラ10からオープンフロー・スイッチ20に制御回線網5を介して送信される。従って、学習型のフロー・エントリの送信にかかる時間は短く、学習型のフロー・エントリの送信で使用される制御回線網5の帯域幅は小さい。また、オープンフロー・スイッチ20のフローテーブルに設定される学習型のフロー・エントリの数は少なくて済む。従って、オープンフロー・スイッチ20における学習型のフロー・エントリの設定時間も短い。   Also in the flow table of FIG. 12A, as in the case of FIG. 11A, one learning type flow entry is transmitted from the OpenFlow controller 10 to the OpenFlow switch 20 via the control line network 5. Accordingly, the time required for transmission of the learning type flow entry is short, and the bandwidth of the control circuit network 5 used for transmission of the learning type flow entry is small. Further, the number of learning type flow entries set in the flow table of the OpenFlow switch 20 is small. Therefore, the learning flow entry setting time in the OpenFlow switch 20 is also short.

また、図12Bおよび12Dでも、フローテーブルの同期化のための学習内容通知メッセージの送信に使用される帯域幅は、図11Bの場合と同様である。即ち、オープンフロー・スイッチ20からオープンフロー・コントローラ10へのフローテーブルの同期化のための学習内容通知メッセージの送信は、学習型のフロー・エントリのマッチ条件を満たす異なる種類のパケットが受信されたときに発生する。即ち、学習内容通知メッセージの送信は、時間的に分散して発生する。従って、学習内容通知メッセージの送信に使用される制御回線網5の帯域幅は小さくて済む。また、オープンフロー・スイッチ20からオープンフロー・コントローラ10への学習内容通知メッセージの送信が遅延しても、オープンフロー・スイッチ20によって提供される転送サービスがその影響を受けることはない。   12B and 12D, the bandwidth used for transmitting the learning content notification message for flow table synchronization is the same as in FIG. 11B. That is, in the transmission of the learning content notification message for synchronizing the flow table from the OpenFlow switch 20 to the OpenFlow controller 10, different types of packets that satisfy the matching condition of the learning type flow entry are received. Occurs when. That is, the transmission of the learning content notification message occurs with time dispersion. Therefore, the bandwidth of the control circuit network 5 used for transmitting the learning content notification message can be small. Further, even if the transmission of the learning content notification message from the OpenFlow switch 20 to the OpenFlow controller 10 is delayed, the transfer service provided by the OpenFlow switch 20 is not affected.

次は、オープンフロー・コントローラ10による、学習アルゴリズムを含むフロー・エントリの生成および送信について説明する。   Next, generation and transmission of a flow entry including a learning algorithm by the OpenFlow controller 10 will be described.

図13は、オープンフロー・コントローラ10によって実行される、学習アルゴリズムを含むフロー・エントリを生成して送信するための処理のフローチャートの例を示している。   FIG. 13 shows an example of a flowchart of processing for generating and transmitting a flow entry including a learning algorithm, which is executed by the OpenFlow controller 10.

図13を参照すると、ステップ502において、オープンフロー・コントローラ10のプロセッサ102(またはその学習アルゴリズム生成部1030)は、管理者の操作に従って、学習型のフロー・エントリを生成するための学習アルゴリズムを生成する。   Referring to FIG. 13, in step 502, the processor 102 (or the learning algorithm generation unit 1030 thereof) of the OpenFlow controller 10 generates a learning algorithm for generating a learning type flow entry according to the operation of the administrator. To do.

ステップ504において、プロセッサ102(またはそのフロー・エントリ生成部1024)は、管理者の操作に従って、生成された学習アルゴリズムをアクションとして含む学習型のフロー・エントリまたは転送制御情報を生成する。ここで、学習型のフロー・エントリは、学習アクションに加えて、例えばポートへの出力処理のような他の転送処理のアクションを含んでいる。次いで、プロセッサ102(フロー・エントリ生成部1024)は、生成したフロー・エントリを、制御ポート122を介しL2スイッチ52を介してオープンフロー・スイッチ20に送信する。   In step 504, the processor 102 (or its flow entry generation unit 1024) generates a learning type flow entry or transfer control information including the generated learning algorithm as an action in accordance with the operation of the administrator. Here, the learning type flow entry includes, in addition to the learning action, other transfer processing actions such as output processing to a port. Next, the processor 102 (flow entry generation unit 1024) transmits the generated flow entry to the OpenFlow switch 20 via the control port 122 and the L2 switch 52.

次は、オープンフロー・スイッチ20による、学習アルゴリズムを含むフロー・エントリの受信および設定について説明する。   Next, reception and setting of a flow entry including a learning algorithm by the OpenFlow switch 20 will be described.

図14は、オープンフロー・スイッチ20によって実行される、学習アルゴリズムを含むフロー・エントリを受信し、フロー・エントリをフローテーブルに設定するための処理のフローチャートの例を示している。   FIG. 14 shows an example of a flowchart of processing executed by the OpenFlow switch 20 for receiving a flow entry including a learning algorithm and setting the flow entry in the flow table.

図14を参照すると、ステップ512において、オープンフロー・スイッチ20のプロセッサ202(またはそのフロー・エントリ設定部2030)は、制御ポート222を介して、学習型のフロー・エントリをオープンフロー・コントローラ10から受信する。ここで、学習型のフロー・エントリは、学習(learning)アクションに加えて、例えばポートへの出力処理のような他の転送処理のアクションを含んでいる。   Referring to FIG. 14, in step 512, the processor 202 (or its flow entry setting unit 2030) of the OpenFlow switch 20 sends a learning type flow entry from the OpenFlow controller 10 via the control port 222. Receive. Here, the learning type flow entry includes, in addition to a learning action, other transfer processing actions such as output processing to a port.

ステップ514において、プロセッサ202(フロー・エントリ設定部2030)は、受信したフロー・エントリを自己のフローテーブルに設定する。その際、フローテーブルのアクションとして、学習アクションに加えて、例えばポートへの出力処理のような他の転送処理のアクションが書き込まれる。   In step 514, the processor 202 (flow entry setting unit 2030) sets the received flow entry in its own flow table. At that time, in addition to the learning action, for example, another transfer processing action such as output processing to a port is written as an action of the flow table.

次は、オープンフロー・スイッチ20によるフローテーブルに基づく受信パケットの処理について説明する。その際、学習型のフロー・エントリにおける学習アクションの内容に従って、受信パケットからマッチ条件が学習され、学習されたマッチ条件を含む新しいフロー・エントリがフローテーブルに追加される。   Next, processing of received packets based on the flow table by the OpenFlow switch 20 will be described. At that time, the match condition is learned from the received packet in accordance with the content of the learning action in the learning type flow entry, and a new flow entry including the learned match condition is added to the flow table.

図15は、オープンフロー・スイッチ20によって実行される、フローテーブルに基づいて受信パケットを処理するためのフローチャートの例を示している。ここで、フローテーブルは学習アクションを含む学習型のフロー・エントリを含んでいる。学習型のフロー・エントリに基づいて受信パケットが処理されてマッチ条件が学習され、そのマッチ条件を含むフロー・エントリがフローテーブルに追加設定される。   FIG. 15 shows an example of a flowchart executed by the OpenFlow switch 20 for processing a received packet based on a flow table. Here, the flow table includes a learning type flow entry including a learning action. The received packet is processed based on the learning type flow entry to learn the matching condition, and the flow entry including the matching condition is additionally set in the flow table.

図15を参照すると、ステップ522において、プロセッサ202(またはそのパケット転送部2026)は、通信ポート224中の入力ポートから新しいパケットを受信する。   Referring to FIG. 15, in step 522, processor 202 (or its packet transfer unit 2026) receives a new packet from an input port in communication port 224.

ステップ524において、プロセッサ202(またはそのフローテーブル参照部2024)は、記憶部204におけるフローテーブルを参照して、フローテーブルのフロー・エントリ中に、受信パケットとマッチ(合致)するマッチ条件があるかどうかを判定する。その際、フローテーブルにおける各フロー・エントリは、それぞれの優先度の高い順に参照されてマッチ条件が判定される。ここで、学習型のフロー・エントリの優先度は、上述したように、学習アクションにより受信パケットから学習して生成されたマッチ条件を含むフロー・エントリの優先度より低い。従って、学習処理で生成されたフロー・エントリは、学習型のフロー・エントリより優先して、受信パケットがマッチ条件とマッチするかどうかが判定される。受信パケットとマッチするマッチ条件がないと判定された場合は、手順はステップ526に進む。受信パケットとマッチするマッチ条件があると判定された場合は、手順はステップ528に進む。   In step 524, the processor 202 (or its flow table reference unit 2024) refers to the flow table in the storage unit 204, and whether there is a match condition that matches (matches) the received packet in the flow entry of the flow table. Determine if. At that time, each flow entry in the flow table is referred to in the order of priority, and the match condition is determined. Here, as described above, the priority of the learning type flow entry is lower than the priority of the flow entry including the match condition generated by learning from the received packet by the learning action. Accordingly, the flow entry generated by the learning process is prioritized over the learning type flow entry, and it is determined whether or not the received packet matches the matching condition. If it is determined that there is no matching condition that matches the received packet, the procedure proceeds to step 526. If it is determined that there is a matching condition that matches the received packet, the procedure proceeds to step 528.

ステップ526において、プロセッサ202(またはそのパケットイン・メッセージ生成部2028)は、受信パケットの処理のしかたを問い合わせるためのパケットイン・メッセージを生成してオープンフロー・コントローラ10に送信する。パケットイン・メッセージは、制御ポート222を介しL2スイッチ52を介してオープンフロー・コントローラ10に送信される。パケットイン・メッセージの送信は、通常の形態の既知の動作である。その後、手順は図15のルーチンを出る。   In step 526, the processor 202 (or its packet-in message generator 2028) generates a packet-in message for inquiring how to process the received packet, and transmits it to the OpenFlow controller 10. The packet-in message is transmitted to the OpenFlow controller 10 via the control port 222 and the L2 switch 52. Transmission of a packet-in message is a normal form of known operation. Thereafter, the procedure exits the routine of FIG.

ステップ528において、プロセッサ202(またはその受信パケット自己展開部2032)は、受信パケットとマッチしたマッチ条件を含むフロー・エントリのアクションに、学習アクションがあるかどうかを判定する。フロー・エントリのアクションに学習アクションがないと判定された場合は、手順はステップ530に進む。フロー・エントリのアクションに学習アクションがあると判定された場合は、手順はステップ532に進む。   In step 528, the processor 202 (or the received packet self-expanding unit 2032) determines whether the action of the flow entry including the matching condition matched with the received packet has a learning action. If it is determined that there is no learning action in the action of the flow entry, the procedure proceeds to step 530. If it is determined that the action of the flow entry has a learning action, the procedure proceeds to step 532.

ステップ530において、プロセッサ202(パケット転送部2026または処理部2036)は、フロー・エントリに含まれるアクションを実行する。ここで、アクションは、学習アクション以外のアクションである。例えば、プロセッサ202(パケット転送部2026)は、アクションとして、受信パケットを、指定された出力ポートに出力してネットワーク7上の他のノードへ転送する。次いで、プロセッサ202(パケット転送部2026または処理部2036)は、フロー・エントリに新しい統計情報を書き込んで、統計情報を更新する。その後、手順は図15のルーチンを出る。   In step 530, the processor 202 (the packet transfer unit 2026 or the processing unit 2036) executes an action included in the flow entry. Here, the action is an action other than the learning action. For example, the processor 202 (packet transfer unit 2026) outputs a received packet to a designated output port and transfers it to another node on the network 7 as an action. Next, the processor 202 (the packet transfer unit 2026 or the processing unit 2036) writes new statistical information in the flow entry and updates the statistical information. Thereafter, the procedure exits the routine of FIG.

ステップ532において、プロセッサ202(受信パケット自己展開部2032)は、入力ポートから受け取った受信パケットを自己展開して、受信パケットから新しいマッチ条件を学習する。その際、受信パケットのヘッダ等から、学習アクションの学習マッチ・タイプで規定された情報、例えば、送信元アドレス、宛先アドレスおよびプロトコル・タイプが、学習したマッチ条件として抽出されてもよい。   In step 532, the processor 202 (received packet self-expanding unit 2032) self-expands the received packet received from the input port and learns a new match condition from the received packet. At this time, information defined by the learning match type of the learning action, for example, the transmission source address, the destination address, and the protocol type may be extracted from the header of the received packet as the learned matching condition.

ステップ534において、プロセッサ202(フロー・エントリ設定部2030)は、記憶部204のフローテーブルに、学習したマッチ条件を動作条件として有しかつ学習アクション以外のアクションを含む新しいフロー・エントリを追加設定する。それによって、プロセッサ202は、受信パケットの種類毎に異なるフロー・エントリを生成してフローテーブルに設定することができる。   In step 534, the processor 202 (flow entry setting unit 2030) additionally sets a new flow entry having the learned match condition as an operation condition and including an action other than the learned action in the flow table of the storage unit 204. . Thereby, the processor 202 can generate a different flow entry for each type of received packet and set it in the flow table.

ステップ536において、プロセッサ202(パケット転送部2026または処理部2036)は、学習アクション以外の他のアクションを実行する。例えば、プロセッサ202(パケット転送部2026)は、他のアクションとして、受信パケットを、指定された出力ポートに出力してネットワーク7上の他のノードへ転送する。次いで、プロセッサ202(パケット転送部2026または処理部2036)は、フロー・エントリに新しい統計情報を書き込んで、学習型のフロー・エントリおよび新しく追加されたフロー・エントリの統計情報を更新する。このようにして、新しいフロー・エントリの統計情報が、生成され、または更新されるようになる。   In step 536, the processor 202 (the packet transfer unit 2026 or the processing unit 2036) executes an action other than the learning action. For example, the processor 202 (packet transfer unit 2026) outputs the received packet to a designated output port and transfers it to another node on the network 7 as another action. Next, the processor 202 (the packet transfer unit 2026 or the processing unit 2036) writes new statistical information in the flow entry, and updates the statistical information of the learning type flow entry and the newly added flow entry. In this way, new flow entry statistics are generated or updated.

ステップ530および536において実行されるアクションは、受信パケットの特定の出力ポートへの出力以外のアクションであってもよい。そのようなアクションには、例えば、指定されたフィールドの書換え、パケットの破棄、入れるキューの指定、ヘッダの付与または削除、等が含まれる。フィールドの書換えには、例えば、ネットワーク識別子としての、送信元および/または宛先のIPアドレスまたはMACアドレスの書換え、送信元および/または宛先のTCPまたはUDPポート番号の書換え、および/または優先度の書換ええが含まれる。また、フィールドの書換えには、例えば、VLANタグの書換え、および/またはMPLS(Multi Protocol Label Switching)タグの書換えが含まれる。   The action performed in steps 530 and 536 may be an action other than outputting the received packet to a specific output port. Such actions include, for example, rewriting a specified field, discarding a packet, specifying a queue to be placed, adding or deleting a header, and the like. Field rewriting includes, for example, rewriting the IP address or MAC address of the source and / or destination as the network identifier, rewriting the TCP or UDP port number of the source and / or destination, and / or rewriting the priority. Is included. The field rewriting includes, for example, VLAN tag rewriting and / or MPLS (Multi Protocol Label Switching) tag rewriting.

ステップ538において、プロセッサ202(またはその学習内容通知メッセージ生成部2034)は、学習したマッチ条件を含む新しいフロー・エントリの情報を含む学習内容通知メッセージを、オープン・コントローラ10に送信する。その際、学習内容通知メッセージは、制御ポート222を介しL2スイッチ52を介して、オープン・コントローラ10に送信される。その後、手順は図15のルーチンを出る。   In step 538, the processor 202 (or its learning content notification message generation unit 2034) transmits a learning content notification message including information on a new flow entry including the learned match condition to the open controller 10. At this time, the learning content notification message is transmitted to the open controller 10 via the control port 222 and the L2 switch 52. Thereafter, the procedure exits the routine of FIG.

ステップ538で送信された学習内容通知メッセージは、オープンフロー・コントローラ10において、後で説明するように、オープンフロー・スイッチ20用のフローテーブルに追加される。それによって、オープンフロー・スイッチ20におけるフローテーブルと、オープンフロー・コントローラ10におけるオープンフロー・スイッチ20用のフローテーブルとが、一致して、同期化できる。上述したように、このようなフローテーブル同期化のための学習内容通知メッセージの送信に使用される制御回線の帯域幅は小さい。   The learning content notification message transmitted in step 538 is added to the flow table for the OpenFlow switch 20 in the OpenFlow controller 10 as described later. As a result, the flow table in the OpenFlow switch 20 and the flow table for the OpenFlow switch 20 in the OpenFlow controller 10 match and can be synchronized. As described above, the bandwidth of the control line used for transmitting the learning content notification message for such flow table synchronization is small.

このように、オープンフロー・スイッチ20は、受信パケットに応じて受信パケットを処理して、受信パケットの種類に応じて、異なる新しいフロー・エントリを生成してフローテーブルに設定することができる。また、オープンフロー・スイッチ20は、異なるフロー・エントリ毎に処理された受信パケットに関する統計情報を取ることができるようになる。   Thus, the OpenFlow switch 20 can process the received packet according to the received packet, generate a different new flow entry according to the type of the received packet, and set it in the flow table. Further, the OpenFlow switch 20 can collect statistical information regarding received packets processed for different flow entries.

次は、オープンフロー・コントローラ10による、オープンフロー・コントローラ10におけるオープンフロー・スイッチ20用のフローテーブルの更新のための処理について説明する。   Next, processing for updating the flow table for the OpenFlow switch 20 in the OpenFlow controller 10 by the OpenFlow controller 10 will be described.

図16は、オープンフロー・コントローラ10によって実行される、オープンフロー・コントローラ10の記憶部104におけるオープンフロー・スイッチ20用のフローテーブルの更新のための処理のフローチャートの例を示している。   FIG. 16 shows an example of a flowchart of processing for updating the flow table for the OpenFlow switch 20 in the storage unit 104 of the OpenFlow controller 10 executed by the OpenFlow controller 10.

ステップ542において、プロセッサ102(またはそのフローテーブル同期処理部1028)は、オープンフロー・スイッチ20から、L2スイッチ52を介し制御ポート122を介して学習内容通知メッセージを受信する。   In step 542, the processor 102 (or its flow table synchronization processing unit 1028) receives the learning content notification message from the OpenFlow switch 20 via the control port 122 via the L2 switch 52.

ステップ544において、プロセッサ102(フローテーブル同期処理部1028)は、学習内容通知メッセージからフロー・エントリの情報を取り出して、記憶部104におけるオープンフロー・スイッチ20用のフローテーブルに保存する。それによって、オープンフロー・スイッチ20とオープンフロー・コントローラ10の双方のフローテーブルが、互いに一致するように設定されまたは同期化される。オープンフロー・スイッチ20からオープンフロー・コントローラ10への学習内容通知メッセージの送信が遅延しても、オープンフロー・コントローラ10での同期化が遅延するだけで、オープンフロー・スイッチ20での転送サービスが影響を受けることはない。   In step 544, the processor 102 (flow table synchronization processing unit 1028) extracts the flow entry information from the learning content notification message and stores it in the flow table for the open flow switch 20 in the storage unit 104. Thereby, the flow tables of both the OpenFlow switch 20 and the OpenFlow controller 10 are set or synchronized to match each other. Even if the transmission of the learning content notification message from the OpenFlow switch 20 to the OpenFlow controller 10 is delayed, only the synchronization in the OpenFlow controller 10 is delayed, and the transfer service in the OpenFlow switch 20 is performed. It will not be affected.

次は、オープンフロー・コントローラ10による、オープンフロー・スイッチ20におけるフローテーブルの統計情報の収集について説明する。   Next, collection of flow table statistical information in the OpenFlow switch 20 by the OpenFlow controller 10 will be described.

図17は、オープンフロー・コントローラ10によって実行される、オープンフロー・スイッチ20から統計情報を収集するための処理のフローチャートの例を示している。   FIG. 17 shows an example of a flowchart of processing for collecting statistical information from the OpenFlow switch 20 executed by the OpenFlow controller 10.

図17を参照すると、ステップ552において、オープンフロー・コントローラ10のプロセッサ102(またはその統計情報収集部1026)は、統計情報を要求する統計情報要求メッセージをオープンフロー・スイッチ20に送信する。統計情報要求メッセージは、制御ポート222を介しL2スイッチ52を介してオープンフロー・スイッチ20に送信される。   Referring to FIG. 17, in step 552, the processor 102 (or its statistical information collection unit 1026) of the OpenFlow controller 10 transmits a statistical information request message requesting statistical information to the OpenFlow switch 20. The statistical information request message is transmitted to the OpenFlow switch 20 via the L2 switch 52 via the control port 222.

ステップ554において、オープンフロー・スイッチ20のプロセッサ202(フローテーブル参照部2024または処理部2036)は、オープンフロー・コントローラ10から、統計情報要求メッセージを受信する。   In step 554, the processor 202 (flow table reference unit 2024 or processing unit 2036) of the OpenFlow switch 20 receives the statistical information request message from the OpenFlow controller 10.

ステップ556において、プロセッサ202(フローテーブル参照部2024)は、フローテーブルにおける各フロー・エントリの統計情報を取り出す。代替形態として、フローテーブルの全てのフロー・エントリの情報が、それぞれの統計情報と共に取りだされてもよい。   In step 556, the processor 202 (flow table reference unit 2024) extracts statistical information of each flow entry in the flow table. As an alternative, the information of all flow entries in the flow table may be retrieved together with the respective statistical information.

ステップ558において、プロセッサ202(フローテーブル参照部2024または処理部2036)は、取り出した統計情報を含む応答メッセージを、オープンフロー・コントローラ10に送信する。   In step 558, the processor 202 (flow table reference unit 2024 or processing unit 2036) transmits a response message including the extracted statistical information to the OpenFlow controller 10.

ステップ560において、オープンフロー・コントローラ10のプロセッサ102(統計情報収集部1026)は、オープンフロー・スイッチ20から、統計情報を含む応答メッセージを受信する。   In Step 560, the processor 102 (statistical information collecting unit 1026) of the OpenFlow controller 10 receives a response message including statistical information from the OpenFlow switch 20.

ステップ562において、プロセッサ102(統計情報収集部1026)は、応答メッセージから統計情報を取り出して、記憶部104におけるオープンフロー・スイッチ20用のフローテーブルの各フロー・エントリに保存する。   In step 562, the processor 102 (statistical information collecting unit 1026) extracts the statistical information from the response message and stores it in each flow entry of the flow table for the open flow switch 20 in the storage unit 104.

このようにして、オープンフロー・コントローラ10は、オープンフロー・スイッチ20で学習によって生成されて設定された各フロー・エントリに関する統計情報を、オープンフロー・スイッチ20から収集することができる。   In this way, the OpenFlow controller 10 can collect statistical information about each flow entry generated and set by learning in the OpenFlow switch 20 from the OpenFlow switch 20.

以上の説明では、学習型フロー・エントリおよび学習処理で生成されるそれぞれのフロー・エントリにおけるマッチ条件に、ネットワーク識別子としての送信元および/または宛先IPアドレスのようなIPアドレスのマッチが含まれる場合について説明した。一方、実施形態は、これに限定されることなく、学習型フロー・エントリおよび学習処理で生成されるフロー・エントリにおけるマッチ条件に、例えば、MACアドレス、VLAN(Virtual LAN)タグ等の他のネットワーク識別子のマッチが含まれる場合にも適用できる。   In the above description, when the matching condition in the learning type flow entry and each flow entry generated by the learning process includes a match of an IP address such as a source and / or destination IP address as a network identifier Explained. On the other hand, the embodiment is not limited to this, and other network such as a MAC address, a VLAN (Virtual LAN) tag, or the like may be used as a matching condition in the learning type flow entry and the flow entry generated by the learning process. It can also be applied when an identifier match is included.

このように、実施形態によれば、オープンフロー・コントローラ10は、オープンフロー・スイッチ20に学習型のフロー・エントリを設定する。それによって、オープンフロー・コントローラ10は、受信パケットの種類に応じた学習型の1つのフロー・エントリに基づく学習処理によって複数のフロー・エントリをフローテーブルに設定することができる。   Thus, according to the embodiment, the OpenFlow controller 10 sets a learning type flow entry in the OpenFlow switch 20. Accordingly, the OpenFlow controller 10 can set a plurality of flow entries in the flow table by learning processing based on one learning type flow entry corresponding to the type of received packet.

また、実施形態によれば、オープンフロー・コントローラ10は、オープンフロー・スイッチ20での受信パケットの種類に応じた個々のフロー・エントリを、オープンフロー・スイッチ20のフローテーブルに短い時間で設定することができる。それによって、オープンフロー・コントローラ10は、オープンフロー・スイッチの運用中にオープンフロー・スイッチが故障した場合に発生し得るパケット転送サービスの中断時間をより短くすることができる。   Further, according to the embodiment, the OpenFlow controller 10 sets individual flow entries corresponding to the type of received packet in the OpenFlow switch 20 in the flow table of the OpenFlow switch 20 in a short time. be able to. Thereby, the OpenFlow controller 10 can further shorten the interruption time of the packet transfer service that may occur when the OpenFlow switch fails during operation of the OpenFlow switch.

また、実施形態によれば、オープンフロー・コントローラ10およびオープンフロー・スイッチ20を管理する通信事業者は、オープンフロー・コントローラ10とオープンフロー・スイッチ20の間で確保される制御回線の帯域幅を小さくすることができる。それによって、通信事業者は、オープンフロー・コントローラ10とオープンフロー・スイッチ20の間の制御回線の維持コストを低くすることができる。   In addition, according to the embodiment, the communication carrier managing the OpenFlow controller 10 and the OpenFlow switch 20 can reduce the bandwidth of the control line secured between the OpenFlow controller 10 and the OpenFlow switch 20. Can be small. Thereby, the communication carrier can reduce the maintenance cost of the control line between the OpenFlow controller 10 and the OpenFlow switch 20.

ここで挙げた全ての例および条件的表現は、発明者が技術促進に貢献した発明および概念を読者が理解するのを助けるためのものであり、ここで具体的に挙げたそのような例および条件に限定することなく解釈され、また、明細書におけるそのような例の編成は本発明の優劣を示すこととは関係ない、と理解される。本発明の実施形態を詳細に説明したが、本発明の精神および範囲から逸脱することなく、それに対して種々の変更、置換および変形を施すことができる、と理解される。   All examples and conditional expressions given here are intended to help the reader understand the inventions and concepts that have contributed to the promotion of technology, such examples and It is understood that the present invention is not limited to the conditions, and that the organization of such examples in the specification is not related to the superiority or inferiority of the present invention. Although embodiments of the present invention have been described in detail, it will be understood that various changes, substitutions and variations can be made thereto without departing from the spirit and scope of the invention.

以上の実施例を含む実施形態に関して、さらに以下の付記を開示する。
(付記1)複数のネットワーク識別子を表す情報を含む第1の条件で実行される学習処理および転送処理を含む第1の転送制御情報を生成して送信する転送制御装置と、
前記転送制御装置から前記第1の転送制御情報を受信して記憶部に保存し、受信したパケットについて前記記憶部を参照して、前記パケットが前記第1の条件を満たす場合、前記学習処理に従って、前記パケットのネットワーク識別子を含む第2の条件で実行される前記転送処理を含む第2の転送制御情報を生成して前記記憶部に保存し、前記パケットを前記転送処理に従って処理する転送装置と、
を含む転送システム。
(付記2)前記転送装置は、受信した別のパケットについて前記記憶部を参照して、前記別のパケットが前記第2の条件を満たす場合、前記別のパケットを前記転送処理に従って処理するものであることを特徴とする、付記1に記載の転送システム。
(付記3)前記第2の転送制御情報は、前記第1の転送制御情報よりも参照の優先度が高いものであることを特徴とする、付記1または2に記載の転送システム。
(付記4)前記転送装置は、前記第1の転送制御情報および前記第2の転送制御情報に従って処理されたパケットに関する統計情報を保存するものであることを特徴とする、付記1乃至3のいずれかに記載の転送システム。
(付記5)前記転送装置は、受信した別のパケットについて前記記憶部を参照して、前記別のパケットが前記第2の条件を満たさず前記第1の条件を満たす場合、前記学習処理に従って、前記別のパケットのネットワーク識別子を含む第3の条件で実行される前記転送処理を含む第3の転送制御情報を生成して前記記憶部に保存し、前記別のパケットを前記転送処理に従って転送するものであることを特徴とする、付記1乃至4のいずれかに記載の転送システム。
(付記6)前記転送装置は、前記第1の転送制御情報、前記第2の転送制御情報および前記第3の転送制御情報に従って処理されたパケットに関する統計情報を保存するものであることを特徴とする、付記5に記載の転送システム。
(付記7)前記転送処理は、受信した前記パケットを、指定された出力部に出力するものであることを特徴とする、付記1乃至6のいずれかに記載の転送システム。
(付記8)前記転送装置は、生成した前記第2の転送制御情報を前記転送制御装置に送信し、
前記転送制御装置は、前記第2の転送制御情報を受信して前記転送制御装置の記憶部に保存するものであることを特徴とする、付記1乃至7のいずれかに記載の転送システム。
(付記9)転送制御装置から受信した、複数のネットワーク識別子を表す情報を含む第1の条件で実行される学習処理および転送処理を含む第1の転送制御情報を記憶する記憶部と、
受信したパケットについて前記記憶部を参照して、前記パケットが前記第1の条件を満たす場合、前記学習処理に従って、前記パケットのネットワーク識別子を含む第2の条件で実行される前記転送処理を含む第2の転送制御情報を生成して前記記憶部に保存し、前記パケットを前記転送処理に従って処理する処理部と、
を含む転送装置。
(付記10)転送装置が、
転送制御装置から受信した、複数のネットワーク識別子を表す情報を含む第1の条件で実行される学習処理および転送処理を含む第1の転送制御情報を記憶し
受信したパケットについて前記記憶部を参照して、前記パケットが前記第1の条件を満たす場合、前記学習処理に従って、前記パケットのネットワーク識別子を含む第2の条件で実行される前記転送処理を含む第2の転送制御情報を生成して前記記憶部に保存し、前記パケットを前記転送処理に従って処理する処理を実行する転送方法。
(付記11)転送装置が、
転送制御装置から受信した、複数のネットワーク識別子を表す情報を含む第1の条件で実行される学習処理および転送処理を含む第1の転送制御情報を記憶し
受信したパケットについて前記記憶部を参照して、前記パケットが前記第1の条件を満たす場合、前記学習処理に従って、前記パケットのネットワーク識別子含む第2の条件で実行される前記転送処理を含む第2の転送制御情報を生成して前記記憶部に保存し、前記パケットを前記転送処理に従って処理する処理を実行するためのプログラム。
Regarding the embodiment including the above examples, the following additional notes are further disclosed.
(Additional remark 1) The transfer control apparatus which produces | generates and transmits the 1st transfer control information containing the learning process and transfer process performed on the 1st conditions containing the information showing a some network identifier,
When the first transfer control information is received from the transfer control device and stored in a storage unit, and the received packet is referred to the storage unit and the packet satisfies the first condition, the learning process is performed. A transfer device that generates second transfer control information including the transfer process executed under a second condition including a network identifier of the packet, stores the second transfer control information in the storage unit, and processes the packet according to the transfer process; ,
Including transfer system.
(Supplementary Note 2) The transfer device refers to the storage unit for another received packet and processes the other packet according to the transfer process when the other packet satisfies the second condition. The transfer system according to appendix 1, wherein there is a transfer system.
(Supplementary note 3) The transfer system according to Supplementary note 1 or 2, wherein the second transfer control information has higher reference priority than the first transfer control information.
(Additional remark 4) The said transfer apparatus preserve | saves the statistical information regarding the packet processed according to said 1st transfer control information and said 2nd transfer control information, Any of Additional remark 1 thru | or 3 characterized by the above-mentioned. The transfer system described in.
(Additional remark 5) The said transfer apparatus refers to the said memory | storage part about the other packet received, and when the said another packet does not satisfy | fill the said 2nd conditions, but according to the said learning process, Third transfer control information including the transfer process executed under a third condition including the network identifier of the another packet is generated and stored in the storage unit, and the other packet is transferred according to the transfer process The transfer system according to any one of appendices 1 to 4, wherein the transfer system is a device.
(Additional remark 6) The said transfer apparatus preserve | saves the statistical information regarding the packet processed according to said 1st transfer control information, said 2nd transfer control information, and said 3rd transfer control information, It is characterized by the above-mentioned. The transfer system according to appendix 5.
(Supplementary note 7) The transfer system according to any one of Supplementary notes 1 to 6, wherein the transfer process is to output the received packet to a designated output unit.
(Appendix 8) The transfer device transmits the generated second transfer control information to the transfer control device,
8. The transfer system according to any one of appendices 1 to 7, wherein the transfer control device receives the second transfer control information and stores the second transfer control information in a storage unit of the transfer control device.
(Additional remark 9) The memory | storage part which memorize | stores the 1st transfer control information containing the learning process and transfer process which are received on the 1st condition containing the information showing a some network identifier received from the transfer control apparatus,
The received packet is referred to the storage unit, and when the packet satisfies the first condition, the transfer process is executed including the transfer process executed under the second condition including the network identifier of the packet according to the learning process. Processing unit that generates and stores the transfer control information of 2 in the storage unit, and processes the packet according to the transfer process;
Including transfer device.
(Supplementary Note 10) The transfer device is
The first transfer control information including the learning process and the transfer process executed under the first condition including information representing a plurality of network identifiers received from the transfer control apparatus is stored, and the received packet is referred to the storage unit When the packet satisfies the first condition, the second transfer control information including the transfer process executed under the second condition including the network identifier of the packet is generated according to the learning process, and A transfer method for storing in a storage unit and executing processing for processing the packet according to the transfer processing.
(Supplementary Note 11) The transfer device is
The first transfer control information including the learning process and the transfer process executed under the first condition including information representing a plurality of network identifiers received from the transfer control apparatus is stored, and the received packet is referred to the storage unit When the packet satisfies the first condition, the second transfer control information including the transfer process executed under the second condition including the network identifier of the packet is generated and stored according to the learning process. A program for executing processing for storing the packet and processing the packet according to the transfer processing.

2 転送システム
5 制御回線網
52 L2スイッチ
7 ネットワーク
10 オープンフロー・コントローラ
102 プロセッサ
104 記憶部
20、22、24 オープンフロー・スイッチ
202 プロセッサ
204 記憶部
2 Transfer System 5 Control Line Network 52 L2 Switch 7 Network 10 Open Flow Controller 102 Processor 104 Storage Unit 20, 22, 24 Open Flow Switch 202 Processor 204 Storage Unit

Claims (8)

複数のネットワーク識別子を表す情報を含む第1の条件で実行される学習処理および転送処理を含む第1の転送制御情報を生成して送信する転送制御装置と、
前記転送制御装置から前記第1の転送制御情報を受信して記憶部に保存し、受信したパケットについて前記記憶部を参照して、前記パケットが前記第1の条件を満たす場合、前記学習処理に従って、前記パケットのネットワーク識別子を含む第2の条件で実行される前記転送処理を含む第2の転送制御情報を生成して前記記憶部に保存し、前記パケットを前記転送処理に従って処理する転送装置と、
を含む転送システム。
A transfer control device for generating and transmitting first transfer control information including learning processing and transfer processing executed under a first condition including information representing a plurality of network identifiers;
When the first transfer control information is received from the transfer control device and stored in a storage unit, and the received packet is referred to the storage unit and the packet satisfies the first condition, the learning process is performed. A transfer device that generates second transfer control information including the transfer process executed under a second condition including a network identifier of the packet, stores the second transfer control information in the storage unit, and processes the packet according to the transfer process; ,
Including transfer system.
前記転送装置は、受信した別のパケットについて前記記憶部を参照して、前記別のパケットが前記第2の条件を満たす場合、前記別のパケットを前記転送処理に従って処理するものであることを特徴とする、請求項1に記載の転送システム。   The transfer device refers to the storage unit for another received packet, and processes the other packet according to the transfer process when the other packet satisfies the second condition. The transfer system according to claim 1. 前記第2の転送制御情報は、前記第1の転送制御情報よりも参照の優先度が高いものであることを特徴とする、請求項1または2に記載の転送システム。   The transfer system according to claim 1 or 2, wherein the second transfer control information has higher reference priority than the first transfer control information. 前記転送装置は、受信した別のパケットについて前記記憶部を参照して、前記別のパケットが前記第2の条件を満たさず前記第1の条件を満たす場合、前記学習処理に従って、前記別のパケットのネットワーク識別子を含む第3の条件で実行される前記転送処理を含む第3の転送制御情報を生成して前記記憶部に保存し、前記別のパケットを前記転送処理に従って転送するものであることを特徴とする、請求項1乃至3のいずれかに記載の転送システム。   The transfer device refers to the storage unit for another received packet, and when the other packet does not satisfy the second condition and satisfies the first condition, the second packet is transmitted according to the learning process. Generating third transfer control information including the transfer process executed under the third condition including the network identifier of the network identifier, storing the third transfer control information in the storage unit, and transferring the other packet according to the transfer process The transfer system according to claim 1, wherein: 前記転送装置は、生成した前記第2の転送制御情報を前記転送制御装置に送信し、
前記転送制御装置は、前記第2の転送制御情報を受信して前記転送制御装置の記憶部に保存するものであることを特徴とする、請求項1乃至7のいずれかに記載の転送システム。
The transfer device transmits the generated second transfer control information to the transfer control device,
The transfer system according to any one of claims 1 to 7, wherein the transfer control device receives the second transfer control information and stores it in a storage unit of the transfer control device.
転送制御装置から受信した、複数のネットワーク識別子を表す情報を含む第1の条件で実行される学習処理および転送処理を含む第1の転送制御情報を記憶する記憶部と、
受信したパケットについて前記記憶部を参照して、前記パケットが前記第1の条件を満たす場合、前記学習処理に従って、前記パケットのネットワーク識別子を含む第2の条件で実行される前記転送処理を含む第2の転送制御情報を生成して前記記憶部に保存し、前記パケットを前記転送処理に従って処理する処理部と、
を含む転送装置。
A storage unit that stores first transfer control information including learning processing and transfer processing executed under a first condition including information representing a plurality of network identifiers received from the transfer control device;
The received packet is referred to the storage unit, and when the packet satisfies the first condition, the transfer process is executed including the transfer process executed under the second condition including the network identifier of the packet according to the learning process. Processing unit that generates and stores the transfer control information of 2 in the storage unit, and processes the packet according to the transfer process;
Including transfer device.
転送装置が、
転送制御装置から受信した、複数のネットワーク識別子を表す情報を含む第1の条件で実行される学習処理および転送処理を含む第1の転送制御情報を記憶し、
受信したパケットについて前記記憶部を参照して、前記パケットが前記第1の条件を満たす場合、前記学習処理に従って、前記パケットのネットワーク識別子を含む第2の条件で実行される前記転送処理を含む第2の転送制御情報を生成して前記記憶部に保存し、前記パケットを前記転送処理に従って処理する処理を実行する転送方法。
The transfer device
Storing first transfer control information including learning processing and transfer processing executed under a first condition including information representing a plurality of network identifiers received from the transfer control device;
The received packet is referred to the storage unit, and when the packet satisfies the first condition, the transfer process is executed including the transfer process executed under the second condition including the network identifier of the packet according to the learning process. A transfer method for generating transfer control information 2 and storing the transfer control information in the storage unit and processing the packet according to the transfer process.
転送装置が、
転送制御装置から受信した、複数のネットワーク識別子を表す情報を含む第1の条件で実行される学習処理および転送処理を含む第1の転送制御情報を記憶し、
受信したパケットについて前記記憶部を参照して、前記パケットが前記第1の条件を満たす場合、前記学習処理に従って、前記パケットのネットワーク識別子含む第2の条件で実行される前記転送処理を含む第2の転送制御情報を生成して前記記憶部に保存し、前記パケットを前記転送処理に従って処理する処理を実行するためのプログラム。
The transfer device
Storing first transfer control information including learning processing and transfer processing executed under a first condition including information representing a plurality of network identifiers received from the transfer control device;
A second process that includes the forwarding process that is executed under a second condition including a network identifier of the packet according to the learning process when the packet satisfies the first condition with reference to the storage unit for the received packet; A program for executing the process of generating the transfer control information and storing the transfer control information in the storage unit and processing the packet according to the transfer process.
JP2015050120A 2015-03-13 2015-03-13 Transfer system, transfer device, transfer method, and program Pending JP2016171469A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015050120A JP2016171469A (en) 2015-03-13 2015-03-13 Transfer system, transfer device, transfer method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015050120A JP2016171469A (en) 2015-03-13 2015-03-13 Transfer system, transfer device, transfer method, and program

Publications (1)

Publication Number Publication Date
JP2016171469A true JP2016171469A (en) 2016-09-23

Family

ID=56984212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015050120A Pending JP2016171469A (en) 2015-03-13 2015-03-13 Transfer system, transfer device, transfer method, and program

Country Status (1)

Country Link
JP (1) JP2016171469A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011188433A (en) * 2010-03-11 2011-09-22 Nec Corp Communication equipment, communication control method, and communication control program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011188433A (en) * 2010-03-11 2011-09-22 Nec Corp Communication equipment, communication control method, and communication control program

Similar Documents

Publication Publication Date Title
JP5610247B2 (en) Network system and policy route setting method
JP5652630B2 (en) Network system, switch, and connected terminal detection method
JP5846221B2 (en) Network system and topology management method
EP3210347B1 (en) Pre-built match-action tables
US9590898B2 (en) Method and system to optimize packet exchange between the control and data plane in a software defined network
CN104704779A (en) Method and apparatus for accelerating forwarding in software-defined networks
CN104012052A (en) System And Method For Flow Management In Software-Defined Networks
EP3751805A1 (en) Method and device for processing multicast data packet
EP3844911B1 (en) Systems and methods for generating network flow information
US10069648B2 (en) Communication system, control apparatus, communication control method and program
US9467374B2 (en) Supporting multiple IEC-101/IEC-104 masters on an IEC-101/IEC-104 translation gateway
CN105450525A (en) Method and equipment for using route switching equipment
US7860027B2 (en) Extending an IP everywhere network over a plurality of flooding domains
US20220070091A1 (en) Open fronthaul network system
CN111147372A (en) Downlink message sending and forwarding method and device
CN105681223A (en) SDN data packet forwarding method and method
CN109981456A (en) The intelligent buffer for being used to be grouped rearrangement of dummy node in network equipment
WO2014126094A1 (en) Communication system, communication method, control device, and control device control method and program
US10574481B2 (en) Heterogeneous capabilities in an overlay fabric
WO2016173196A1 (en) Method and apparatus for learning address mapping relationship
JP2019176255A (en) Network system, controller, processing rule establishing method and program
CN104702505A (en) Message transmission method and node
JP2016171469A (en) Transfer system, transfer device, transfer method, and program
WO2015131617A1 (en) Flow table processing method, device, openflow controller and openflow switch
JP5854488B2 (en) Communication system, control device, processing rule setting method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190611