JP6314970B2 - COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM - Google Patents

COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM Download PDF

Info

Publication number
JP6314970B2
JP6314970B2 JP2015505562A JP2015505562A JP6314970B2 JP 6314970 B2 JP6314970 B2 JP 6314970B2 JP 2015505562 A JP2015505562 A JP 2015505562A JP 2015505562 A JP2015505562 A JP 2015505562A JP 6314970 B2 JP6314970 B2 JP 6314970B2
Authority
JP
Japan
Prior art keywords
communication
flow
server
rule
entry
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015505562A
Other languages
Japanese (ja)
Other versions
JPWO2014142256A1 (en
Inventor
一平 秋好
一平 秋好
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2014142256A1 publication Critical patent/JPWO2014142256A1/en
Application granted granted Critical
Publication of JP6314970B2 publication Critical patent/JP6314970B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification

Landscapes

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

Description

(関連出願についての記載)
本発明は、日本国特許出願:特願2013−051863号(2013年03月14日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、通信装置、通信方法およびプログラムに関する。
(Description of related applications)
The present invention is based on the priority claim of Japanese Patent Application No. 2013-051863 (filed on Mar. 14, 2013), the entire contents of which are incorporated herein by reference. Shall.
The present invention relates to a communication system, a control device, a communication device, a communication method, and a program.

近年、集中制御型のネットワークアーキテクチャが提案されている。集中制御型のネットワークアーキテクチャの例として、オープンフロー(OpenFlow)という技術がある(特許文献1、非特許文献1、2等参照)。   In recent years, a centralized control type network architecture has been proposed. As an example of a centralized control type network architecture, there is a technique called OpenFlow (see Patent Document 1, Non-Patent Documents 1 and 2, etc.).

<オープンフロー(OpenFlow)>
オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行う。例えば非特許文献2等に仕様化されているオープンフロースイッチ(OpenFlow Switch:「OFS」と略記される)は、制御装置に相当するオープンフローコントローラ(OpenFlow Controller:「OFC」と略記される)との通信用のセキュアチャネルを備えている。OFSは、OFCから追加または書き換えが適宜指示されるフローテーブルを備え、例えば受信パケットに関して設定されたフローテーブルに従って動作する。
<Open Flow>
OpenFlow captures communication as an end-to-end flow, and performs path control, failure recovery, load balancing, and optimization on a per-flow basis. For example, an open flow switch (abbreviated as “OFS”) specified in Non-Patent Document 2 or the like is an open flow controller (abbreviated as “OFC”) corresponding to a control device. It has a secure channel for communication. The OFS includes a flow table in which addition or rewriting is appropriately instructed from the OFC, and operates according to a flow table set for received packets, for example.

<フローテーブル>
図7は、フローテーブルの1つのフローエントリ120の情報を模式的に例示した図である。フローテーブルには、フロー毎に、受信パケットのヘッダの所定の情報と照合するマッチングルール(照合欄:Match Field)(ヘッダフィールド)と、マッチングルールに照合した時の処理内容(動作)を定義したアクション(Actions)と、パケット転送数やエラー等のフロー統計情報(Counters)と、の組(エントリ)がフロー毎に定義される。フローは、例えばレイヤ1(L1:物理ポート等)、レイヤ2(L2:MAC(Media Access Control))、レイヤ3(L3:IP(Internet Protocol))、レイヤ4(L4:ポート番号)等の各レイヤの任意のアドレス/識別子の組み合わせで識別、特定される。ルールの取り扱いポリシー(アクション)に従い、エンド・ツー・エンド(end-to-end)で最適な経路を選択して転送することをフロースイッチングという。
<Flow table>
FIG. 7 is a diagram schematically illustrating information of one flow entry 120 in the flow table. In the flow table, for each flow, a matching rule (matching field: Match Field) (header field) for matching with predetermined information in the header of the received packet and a processing content (operation) when matching with the matching rule are defined. A set (entry) of an action (Actions) and flow statistical information (Counters) such as the number of packet transfers and errors is defined for each flow. For example, each flow of layer 1 (L1: physical port, etc.), layer 2 (L2: MAC (Media Access Control)), layer 3 (L3: IP (Internet Protocol)), layer 4 (L4: port number), etc. Identified and specified by any layer address / identifier combination. Flow switching refers to selecting and transferring an optimum route end-to-end according to a rule handling policy (action).

OFSは、パケットを受信すると、自身のフローテーブルから、該受信パケットのヘッダ情報に適合するマッチングルール(図7の「Match Field」)を持つエントリを検索する。検索の結果、受信パケットに適合するエントリ(フローエントリ)が見つかった場合、OFSは、フロー統計情報(図7の「Counters」)を更新するとともに、該受信パケットに対して、該フローエントリのアクションフィールド(図7の「Actions」)に記述された処理内容(例えば指定ポートからのパケット送信、フラッディング、廃棄等)を実施する。   When the OFS receives the packet, the OFS searches the own flow table for an entry having a matching rule (“Match Field” in FIG. 7) that matches the header information of the received packet. If an entry (flow entry) that matches the received packet is found as a result of the search, the OFS updates the flow statistical information ("Counters" in FIG. 7) and the action of the flow entry for the received packet. Processing contents (for example, packet transmission from a designated port, flooding, discarding, etc.) described in the field ("Actions" in FIG. 7) are performed.

<パケットイン(Packet−In)>
一方、検索の結果、受信パケットに適合するエントリ(フローエントリ)が見つからなかった場合、OFSは、セキュアチャネルを介してOFCに当該受信パケットを転送し(Packet−Inメッセージ)、OFCに対して、当該受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼する。このPacket−Inメッセージを受け、OFCは、ネットワークトポロジ情報に基づき、経路計算を行い、フローエントリを生成する。OFCは、計算した経路上のOFSに対して、該フローテーブルを更新するためのメッセージ(フローモディファイ(FlowModify)メッセージ)を送信する。OFSは、OFCで決定したパケットの経路に対応するフローエントリ情報を、該OFCからのFlowModify)メッセージにて受け取り、フローテーブルを更新する。このように、OFSにおけるフローエントリ情報に基づくパケット転送処理を、OFC側で一元的に管理している。
<Packet-In>
On the other hand, if no entry (flow entry) that matches the received packet is found as a result of the search, the OFS transfers the received packet to the OFC via the secure channel (Packet-In message). Requests determination of the packet path based on the transmission source / destination of the received packet. Upon receiving this Packet-In message, the OFC performs route calculation based on the network topology information and generates a flow entry. The OFC transmits a message for updating the flow table (flow modify message) to the OFS on the calculated path. The OFS receives the flow entry information corresponding to the packet path determined by the OFC as a FlowModify message from the OFC, and updates the flow table. In this way, packet transfer processing based on flow entry information in OFS is centrally managed on the OFC side.

国際公開第2008/095010号International Publication No. 2008/095010

Nick McKeownほか7名、“OpenFlow: Enabling Innovation in Campus Networks,”[online]、[平成24年10月31日検索]、インターネット〈URL:http://www.openflowswitch.org//documents/openflow−wp−latest.pdf〉Nick McKeown and seven others, “OpenFlow: Enabling Innovation in Campus Networks,” [online], [October 31, 2012 search], Internet <URL: http: // www. openflowswitch. org // documents / openflow-wp-latest. pdf> “OpenFlow Switch Specification” Version 1.1.0 Implemented(Wire Protocol 0x02) [平成24年10月31日検索]、インターネット〈URL:http://www.openflowswitch.org/documents/openflow−spec−v1.1.0.pdf〉“OpenFlow Switch Specification” Version 1.1.0 Implemented (Wire Protocol 0x02) [Search on October 31, 2012], Internet <URL: http: // www. openflowswitch. org / documents / openflow-spec-v1.1.0. pdf>

関連技術の問題点について、図8、図9を参照して説明する。図8を参照すると、例えば、通信システム(プロトタイプ例)は、OFC110、OFS121、122、123、通信端末131、132、サーバ(Server)141、142、ルータ150を備えている。サーバ141、142は、Active(稼動)/Standby(待機)の冗長構成とされる。例えばActive状態のサーバに障害が発生して処理の続行が不可能になると、Standby状態のサーバを稼働させて障害が発生したサーバで行っていた処理の引き継ぎを行う。以下の説明では、サーバ141がActive状態に、サーバ142がStandby状態に遷移しているものとする。なお、通信端末、OFSの数等に特に制限はない。   Problems of related technologies will be described with reference to FIGS. Referring to FIG. 8, for example, the communication system (prototype example) includes OFC 110, OFS 121, 122, 123, communication terminals 131, 132, servers (Servers) 141, 142, and a router 150. The servers 141 and 142 have a redundant configuration of Active (operation) / Standby (standby). For example, when a failure occurs in the server in the active state and the processing cannot be continued, the server in the standby state is operated to take over the processing performed on the server in which the failure has occurred. In the following description, it is assumed that the server 141 has transitioned to the Active state and the server 142 has transitioned to the Standby state. There are no particular restrictions on the number of communication terminals and OFS.

<サーバ〜サーバ間通信>
図9を参照して、図8の通信システム(プロトタイプ例)における、サーバ141とサーバ142間での通信時の経路制御処理、通信端末131および通信端末132の通信時の経路制御処理について説明する。まず、サーバ(Server)141〜サーバ142間の通信時の経路制御処理について説明する。なお、処理を説明する文の括弧内の番号は、図9に模式的に示したシーケンスの番号に対応する。
<Server-server communication>
With reference to FIG. 9, the route control processing at the time of communication between the server 141 and the server 142 and the route control processing at the time of communication of the communication terminal 131 and the communication terminal 132 in the communication system (prototype example) of FIG. . First, a path control process during communication between the server 141 and the server 142 will be described. Note that the numbers in parentheses in the sentence explaining the processing correspond to the sequence numbers schematically shown in FIG.

Active状態のサーバ141は、Standby状態のサーバ142へのアクセスを開始するために、データパケットを送信する(1)。OFS123は、サーバ141からのデータパケットを受信する。OFS123において、受信したデータパケットのフローは設定されていず(該データパケットに対応するフローエントリがフローテーブルに設定されていない)、新規フローである。このため、OFS123は、OFC110に対して、Packet−Inメッセージを送信し、受信したデータパケットに対する経路設定を要求する(2)。   The server 141 in the active state transmits a data packet to start access to the server 142 in the standby state (1). The OFS 123 receives a data packet from the server 141. In the OFS 123, the flow of the received data packet is not set (the flow entry corresponding to the data packet is not set in the flow table), and is a new flow. For this reason, the OFS 123 transmits a Packet-In message to the OFC 110 and requests path setting for the received data packet (2).

OFS123からのPacket−Inメッセージを受信したOFC110は、通信可能と判断すると、サーバ141〜サーバ142間の経路を計算する。そして、OFC110は、OFS123に対して、フローテーブルを更新するためのメッセージ(フローモディファイ(FlowModify)メッセージ:「FlowMod」と略記される)を送信する(3)。OFC110からのFlowModメッセージを受信したOFS123は、サーバ141〜サーバ142間通信を実現するためのフローエントリをフローテーブルに設定する。その際、サーバ間の通信は、重要であり、きめ細かく通信状態を管理するために、マッチングルール(受信パケットのヘッダ情報と照合されるフローエントリのMatch Field)として、例えばOpenFlowで指定可能なL2〜L4の全てのパラメータを指定するものとする。   When the OFC 110 that has received the Packet-In message from the OFS 123 determines that communication is possible, the OFC 110 calculates a route between the server 141 and the server 142. Then, the OFC 110 transmits a message for updating the flow table (FlowModify message: abbreviated as “FlowMod”) to the OFS 123 (3). The OFS 123 that has received the FlowMod message from the OFC 110 sets a flow entry for realizing communication between the server 141 and the server 142 in the flow table. At that time, communication between servers is important, and in order to manage the communication state in detail, as a matching rule (Match Field of a flow entry that is collated with header information of a received packet), for example, L2 that can be specified by OpenFlow All parameters of L4 are designated.

OFC110は、パケットアウト(Packet−Out)メッセージをOFS123に転送し(4)、OFS123に対して、パケットの転送を指示する。Packet−Outメッセージを受信したOFS123は、番号1のシーケンスでサーバ141から受け取り、OFS123内に記憶保持しているデータパケットをサーバ142に転送する(5)。サーバ142は、OFS123を介して、サーバ141に対してデータパケットを転送する(6)。すなわち、サーバ141〜サーバ142間の通信用の経路が設定されると、サーバ141とサーバ142は、該経路を介して、通信を開始する。   The OFC 110 transfers a packet-out message to the OFS 123 (4), and instructs the OFS 123 to transfer the packet. The OFS 123 that has received the Packet-Out message receives from the server 141 in the sequence of number 1, and transfers the data packet stored and held in the OFS 123 to the server 142 (5). The server 142 transfers the data packet to the server 141 via the OFS 123 (6). That is, when a communication path between the server 141 and the server 142 is set, the server 141 and the server 142 start communication via the path.

<通信端末〜サーバ間通信>
さらに図9を参照して、通信端末131の通信時の経路制御処理について説明する。通信端末131は、サーバ141へのアクセスを開始するために、データパケットを送信する(7)。
<Communication between communication terminal and server>
Furthermore, with reference to FIG. 9, the route control process at the time of communication of the communication terminal 131 will be described. The communication terminal 131 transmits a data packet to start access to the server 141 (7).

OFS121は、通信端末131から送信されたデータパケットを受信する。OFS121において、該データパケットのフローは設定されていず、新規フローである。このため、OFS121は、OFC110に対してPacket−Inメッセージを送信し(8)、受信したデータパケットに対する経路設定を要求する。   The OFS 121 receives the data packet transmitted from the communication terminal 131. In the OFS 121, the flow of the data packet is not set and is a new flow. For this reason, the OFS 121 transmits a Packet-In message to the OFC 110 (8), and requests path setting for the received data packet.

OFC110は、通信可能と判断すると、通信端末131〜サーバ141間の経路を計算する。OFC110は、該経路上のOFSに対してそれぞれFlowModメッセージを送信し(9−1〜9−3)、通信端末131〜サーバ141間の通信を実現するためのフローエントリを、通信経路上のOFS121、122、123のそれぞれのフローテーブルに設定する。その際、サーバ141、142間の通信でマッチングルールとして、例えばOpenFlowで指定可能なL2〜L4までの全てのパラメータを指定している。このため、この通信端末131〜サーバ141間の通信においても、OFS121、122、123には、同じマッチングルール(L2〜L4までの全てのパラメータを指定したルール)を用いる。   When the OFC 110 determines that communication is possible, the OFC 110 calculates a route between the communication terminal 131 and the server 141. The OFC 110 transmits a FlowMod message to the OFS on the path (9-1 to 9-3), and sets a flow entry for realizing communication between the communication terminal 131 to the server 141 to the OFS 121 on the communication path. , 122, 123 are set in the respective flow tables. At that time, as a matching rule in communication between the servers 141 and 142, for example, all parameters L2 to L4 that can be specified by OpenFlow are specified. For this reason, also in communication between this communication terminal 131-server 141, the same matching rule (rule which designated all the parameters from L2-L4) is used for OFS 121, 122, 123.

OFC110は、パケットアウト(Packet−Out)メッセージをOFS121に送信し(10)、パケットの転送を指示する。Packet−Outメッセージを受け取ったOFS121は、番号7のシーケンスで通信端末131から受け取りOFS121内に保持していたデータパケットを、OFS122、OFS123を介して、サーバ141に転送する(11)。通信端末131〜サーバ141間の通信用の経路が設定されると、通信端末131はサーバ141と通信(データパケットの転送)を開始する(12)。   The OFC 110 transmits a packet-out message to the OFS 121 (10), and instructs packet transfer. The OFS 121 that has received the Packet-Out message transfers the data packet received from the communication terminal 131 and held in the OFS 121 in the sequence of number 7 to the server 141 via the OFS 122 and OFS 123 (11). When a communication path between the communication terminal 131 and the server 141 is set, the communication terminal 131 starts communication (data packet transfer) with the server 141 (12).

<別の通信端末〜サーバ間通信>
その後、別の通信端末132がサーバ141と通信する場合、図9に、シーケンス番号12から18として示したように、通信端末131〜サーバ141間の通信時のシーケンス番号7から11までの動作と同じ処理が行われる。すなわち、OFC110は、OFS121からのPacket−Inメッセージを受けると(14)、通信端末132〜サーバ141間の経路を計算し、該経路上のOFS121、122、123に対してそれぞれFlowModメッセージを送信し(15−1〜15−3)、通信端末132〜サーバ141間の通信を実現するためのフローエントリを、通信経路上のOFS121、122、123のそれぞれのフローテーブルに設定する。OFC110は、パケットアウト(Packet−Out)メッセージをOFS121に送信し(16)、パケットの転送を指示する。Packet−Outメッセージを受け取ったOFS121は、番号13のシーケンスで通信端末132から受け取りOFS121内に保持していたデータパケットを、OFS122、OFS123を介してサーバ141に転送する(17)。通信端末132〜サーバ141間の通信用の経路が設定されると、通信端末132はサーバ141と通信(データパケットの転送)を開始する(18)。
<Communication between another communication terminal and server>
Thereafter, when another communication terminal 132 communicates with the server 141, as shown as sequence numbers 12 to 18 in FIG. 9, operations from sequence numbers 7 to 11 during communication between the communication terminals 131 to 141 are The same process is performed. That is, when the OFC 110 receives the Packet-In message from the OFS 121 (14), the OFC 110 calculates a route between the communication terminal 132 and the server 141, and transmits a Flow Mod message to each of the OFSs 121, 122, and 123 on the route. (15-1 to 15-3), flow entries for realizing communication between the communication terminal 132 and the server 141 are set in the respective flow tables of the OFSs 121, 122, and 123 on the communication path. The OFC 110 transmits a packet-out message to the OFS 121 (16) and instructs packet transfer. The OFS 121 that has received the Packet-Out message transfers the data packet received from the communication terminal 132 and held in the OFS 121 in the sequence of number 13 to the server 141 via the OFS 122 and OFS 123 (17). When a communication path between the communication terminal 132 and the server 141 is set, the communication terminal 132 starts communication (data packet transfer) with the server 141 (18).

以下の分析は、本発明によって与えられたものである。   The following analysis is given by the present invention.

OpenFlowのような集中制御型のネットワークアーキテクチャにおいては、通信が例えばサーバ〜サーバ間通信であるか、あるいは通信端末〜サーバ間通信であるか等のように、通信種別によって、マッチングルールを変更することはできない。   In a centralized control network architecture such as OpenFlow, the matching rule is changed depending on the type of communication, such as whether the communication is a server-server communication or a communication terminal-server communication. I can't.

このため、例えば、OFS等の通信装置において、設定されるフローエントリの数が過剰に増加する、という問題がある。   For this reason, for example, in a communication apparatus such as OFS, there is a problem that the number of flow entries to be set increases excessively.

別の観点では、同様の理由で、OFC等の制御装置の処理負荷が過剰に増えることになる。したがって、通信種別によって、マッチングルールを変更できるようにする必要がある。   From another viewpoint, for the same reason, the processing load of a control device such as an OFC increases excessively. Therefore, it is necessary to be able to change the matching rule depending on the communication type.

本発明は、上記課題に鑑みて創案されたものであって、例えば通信種別によって、フローエントリに設定するマッチングルールを変更可能とする制御装置、システム、通信方法およびプログラムを提供することにある。   The present invention has been made in view of the above problems, and provides a control device, system, communication method, and program that can change a matching rule set in a flow entry, for example, depending on a communication type.

開示される発明のいくつかのの関連する側面の一つ(視点1)によれば、通信の種類に応じてフローエントリのマッチングルールを決定するマッチングルール管理部を備えた制御装置と、
前記制御装置から設定されたフローエントリとの照合に基づいて受信パケットを処理する通信装置と、を備えた通信システムが提供される。
According to one of several related aspects (viewpoint 1) of the disclosed invention, a control device including a matching rule management unit that determines a matching rule of a flow entry according to a type of communication;
There is provided a communication system including a communication device that processes a received packet based on collation with a flow entry set by the control device.

さらに別の側面の1つ(視点2)によれば、通信の種類に応じて、フローエントリのマッチングルールを決定するマッチングルール管理部を備え、フローエントリとの照合に基づいて受信パケットを処理する通信装置に対して前記フローエントリを設定する、制御装置が提供される。   According to another aspect (viewpoint 2), a matching rule management unit that determines a matching rule for a flow entry according to the type of communication is provided, and a received packet is processed based on matching with the flow entry. A control device is provided for setting the flow entry for a communication device.

さらに別の側面の1つ(視点3)によれば、制御装置が、通信の種類に応じて、フローエントリのマッチングルールを決定し、
通信装置が、前記制御装置から設定されたフローエントリとの照合に基づいて受信パケットを処理する、通信方法が提供される。
According to another aspect (viewpoint 3), the control device determines a flow entry matching rule according to the type of communication,
There is provided a communication method in which a communication device processes a received packet based on collation with a flow entry set by the control device.

さらに別の側面の1つ(視点4)によれば、通信の種類に応じて、フローエントリのマッチングルールを決定する処理と、
フローエントリとの照合に基づいて受信パケットを処理する通信装置に対して前記フローエントリを設定する処理と、を制御装置のコンピュータに実行させるプログラムが提供される。
According to another aspect (viewpoint 4), a process for determining a matching rule for a flow entry according to the type of communication,
There is provided a program that causes a computer of a control device to execute a process of setting the flow entry for a communication apparatus that processes a received packet based on collation with a flow entry.

さらに別の側面の1つ(視点5)によれば、上記視点4に係るプログラムを記録したコンピュータ読み出し可能な媒体(non-transitory machine readable medium: semiconductor memory device, magnetic/optical disk)が提供される。   According to another aspect (viewpoint 5), a non-transitory machine readable medium (semiconductor memory device, magnetic / optical disk) in which the program according to the viewpoint 4 is recorded is provided. .

本発明によれば、通信種別によってフローエントリに設定するマッチングルールを変更することができる。   According to the present invention, the matching rule set in the flow entry can be changed depending on the communication type.

実施形態1、2の通信システムの構成を例示する図である。It is a figure which illustrates the structure of the communication system of Embodiment 1,2. 実施形態1、2の経路制御機能の構成を例示する図である。It is a figure which illustrates the structure of the path control function of Embodiment 1,2. 実施形態1におけるマッチングルール管理部のマッチングルール決定用の情報テーブルを例示する図である。It is a figure which illustrates the information table for the matching rule determination of the matching rule management part in Embodiment 1. 実施形態1、2における経路制御の動作シーケンスを例示する図である。6 is a diagram illustrating a path control operation sequence according to Embodiments 1 and 2. FIG. 実施形態2におけるマッチングルール管理部のマッチングルール決定用の情報テーブルを例示する図である。It is a figure which illustrates the information table for the matching rule determination of the matching rule management part in Embodiment 2. 実施形態2におけるマッチングルール管理部のマッチングルール決定用の情報テーブルを例示する図である。It is a figure which illustrates the information table for the matching rule determination of the matching rule management part in Embodiment 2. オープンフロースイッチに設けられたフローテーブルが保持する情報(フローエントリ)を例示する図である。It is a figure which illustrates the information (flow entry) which the flow table provided in the open flow switch hold | maintains. 通信システムの構成の一例を例示する図である。1 is a diagram illustrating an example of a configuration of a communication system. 図8の通信システムの動作シーケンスを例示する図である。It is a figure which illustrates the operation | movement sequence of the communication system of FIG. 実施形態の構成を例示する図である。It is a figure which illustrates the composition of an embodiment.

本発明の概要を説明する。以下の説明で用いる参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定するものと解釈すべきものでない。いくつかの好ましい形態の1つによれば、図10を参照すると、通信の種類(特に制限されないが、例えば、サーバ機能通信間であるか、通信端末〜サーバ機能間通信であるか等の種別)に応じて、フローエントリ(処理規則:「パケット転送ルール」ともいう)のマッチングルール(照合規則)を決定するマッチングルール管理部(201)を備えた制御装置(10A)と、前記制御装置(10A)から設定されたフローエントリ(処理規則)との照合に基づいて受信パケットを処理する通信装置(20A)と、を備える。   An outline of the present invention will be described. The reference numerals used in the following description are merely examples for facilitating understanding, and should not be construed as limiting the present invention to the illustrated embodiments. According to one of several preferred embodiments, referring to FIG. 10, the type of communication (not particularly limited, for example, the type of communication between server functions or communication between communication terminals and server functions) ), A control device (10A) including a matching rule management unit (201) that determines a matching rule (matching rule) of a flow entry (processing rule: also referred to as “packet transfer rule”), and the control device ( And a communication device (20A) that processes a received packet based on the collation with the flow entry (processing rule) set from 10A).

前記マッチングルール管理部(201)は、通信の種類に応じて、マッチングルールを生成するための生成規則であるフロー粒度を決定する構成としてもよい。   The said matching rule management part (201) is good also as a structure which determines the flow granularity which is a production | generation rule for producing | generating a matching rule according to the kind of communication.

前記マッチングルール管理部(201)において、前記フローの粒度を決定するにあたり、前記フローの粒度のパラメータとして、
完全一致を示すエグザクト(exact)と、
任意のパタンにマッチするワイルドカード(wildcard)と、
所定のリスト(特に制限されないが、例えば図6のwell−knownポートのポート番号のリスト)に該当する値(例えば後述する実施形態では、レイヤ4(L4)のポート番号)が存在する(登録されている場合)場合、当該値、すなわち、エグザクト(exact)とし、存在しない場合には、ワイルドカード(wildcard)とする参照型パラメータと、のうちの少なくとも一つを含む。
In the matching rule management unit (201), when determining the granularity of the flow, as a parameter of the granularity of the flow,
An exact indicating an exact match;
A wildcard that matches any pattern,
There is a value (for example, a port number of layer 4 (L4) in the embodiment described later) corresponding to a predetermined list (not particularly limited, but a list of port numbers of the well-known port in FIG. 6, for example). If there is a reference type parameter, it is set as an “exact”, and when it does not exist, it includes at least one of a reference type parameter as a “wildcard”.

本発明の好ましい形態の1つにおいて、前記マッチングルール管理部(201)において、フローの粒度を決定できなかった際に、デフォルトのフロー粒度を用いる構成としてもよい。   In a preferred embodiment of the present invention, the matching rule management unit (201) may use a default flow granularity when the flow granularity cannot be determined.

制御装置(10A)において、通信の種類に応じて、フローエントリのマッチングルールを決定する処理と、フローエントリを通信装置に設定する処理を、制御装置(10A)を構成するコンピュータ上で実行するプログラムで実行するようにしてもよい。この場合、記憶媒体(半導体メモリ、磁気/光ディスク等)に記憶されたプログラムをコンピュータの主記憶等に読み出して実行することで、上記手段が実現される。   In the control device (10A), a program for executing, on the computer constituting the control device (10A), processing for determining a matching rule for a flow entry and processing for setting a flow entry in the communication device according to the type of communication May be executed. In this case, the above means is realized by reading a program stored in a storage medium (semiconductor memory, magnetic / optical disk, etc.) into a main memory of a computer and executing it.

[第1の実施形態]
図1を参照すると、実施の形態1の通信システムは、フローを特定するための照合規則と、前記照合規則に適用する処理内容とを対応付けたパケット転送ルールに従って、受信パケットを処理する複数のパケット転送機能21、22、23と、パケット転送機能21、22、23にパケット転送ルールを設定する経路制御機能10と、を含む。この通信システムには、サーバ機能41、42と、ルータ50が接続している。通信端末31〜32は、ルータ50を介して通信システムにアクセスする。通信端末31、32およびサーバ機能41、42は、それぞれ同一のサブネット(サブネット長は24ビット)に属しているものとする。なお、パケット転送機能、通信端末、サーバ機能等の数は図1の数に制限されるものでないことは勿論である。
[First Embodiment]
Referring to FIG. 1, the communication system according to the first embodiment is configured to process a plurality of received packets according to a packet transfer rule in which a matching rule for specifying a flow is associated with a processing content applied to the matching rule. A packet transfer function 21, 22, 23, and a route control function 10 that sets a packet transfer rule in the packet transfer function 21, 22, 23. Server functions 41 and 42 and a router 50 are connected to this communication system. The communication terminals 31 to 32 access the communication system via the router 50. The communication terminals 31 and 32 and the server functions 41 and 42 are assumed to belong to the same subnet (subnet length is 24 bits). Of course, the number of packet transfer functions, communication terminals, server functions, etc. is not limited to the number shown in FIG.

<経路制御機能の一構成例>
図2は、図1の経路制御機能10の構成を例示した図である。図2を参照すると、経路制御機能10は、パケット転送機能21〜23(ノード)との通信を行うノード通信部11と、制御メッセージ処理部12と、経路・アクション計算部13と、パケット転送機能管理部14と、トポロジ管理部15と、通信端末位置管理部16と、パケット転送ルール管理部17Aと、マッチングルール管理部18と、を備えている。各部はそれぞれ次のように動作する。
<One configuration example of the path control function>
FIG. 2 is a diagram illustrating the configuration of the path control function 10 of FIG. Referring to FIG. 2, the route control function 10 includes a node communication unit 11 that performs communication with the packet transfer functions 21 to 23 (nodes), a control message processing unit 12, a route / action calculation unit 13, and a packet transfer function. A management unit 14, a topology management unit 15, a communication terminal location management unit 16, a packet transfer rule management unit 17A, and a matching rule management unit 18 are provided. Each part operates as follows.

制御メッセージ処理部12は、パケット転送機能21〜23から受信した制御メッセージを解析して、経路制御機能10内の該当する処理手段に制御メッセージ情報を引き渡す。   The control message processing unit 12 analyzes the control message received from the packet transfer functions 21 to 23 and delivers the control message information to the corresponding processing means in the route control function 10.

経路・アクション計算部13は、通信端末位置管理部16で管理されている通信端末の位置情報と、トポロジ管理部15にて構築されたトポロジ情報と、に基づいて、パケットの転送経路上のパケット転送機能に実行させるアクションを求める。また、経路・アクション計算部13は、パケット転送ルールを、パケット転送機能(図1の21/22/23)に設定する際には、パケット転送ルールに設定する、マッチングルールを、マッチングルール管理部18に問い合わせる。   The route / action calculation unit 13 determines the packet on the packet transfer route based on the location information of the communication terminal managed by the communication terminal location management unit 16 and the topology information constructed by the topology management unit 15. Ask for the action to be performed by the transfer function. Further, the path / action calculation unit 13 sets the matching rule to be set in the packet transfer rule when the packet transfer rule is set in the packet transfer function (21/22/23 in FIG. 1). Inquire at 18.

パケット転送機能管理部14は、経路制御機能10によって制御されているパケット転送機能の能力(例えば、ポートの数や種類、サポートするアクションの種類など)を管理する。   The packet transfer function management unit 14 manages the capabilities of the packet transfer function controlled by the path control function 10 (for example, the number and type of ports, the types of supported actions, etc.).

トポロジ管理部15は、ノード通信部11を介して収集されたパケット転送機能の接続関係に基づいてネットワークトポロジ情報を構築する。   The topology management unit 15 constructs network topology information based on the connection relation of the packet transfer function collected via the node communication unit 11.

通信端末位置管理部16は、通信システムに接続している通信端末(図1の31/32)の位置を特定するための情報を管理する。本実施形態では、通信端末の通信システムへの接続点を識別する情報としてMAC(Media Access Control)アドレスを、通信端末の位置を特定するための情報として、通信端末が接続しているパケット転送機能(図1では21)を識別する情報とそのポートの情報を使用する。ただし、通信端末の通信システムへの接続点を識別する情報は、MACアドレスに制限されるものでなく、他の情報を用いても良い。   The communication terminal position management unit 16 manages information for specifying the position of the communication terminal (31/32 in FIG. 1) connected to the communication system. In this embodiment, a MAC (Media Access Control) address is used as information for identifying a connection point of the communication terminal to the communication system, and a packet transfer function to which the communication terminal is connected as information for specifying the position of the communication terminal. Information for identifying (21 in FIG. 1) and information of its port are used. However, the information for identifying the connection point of the communication terminal to the communication system is not limited to the MAC address, and other information may be used.

パケット転送ルール管理部17Aは、どのパケット転送機能(図1の21/22/23)に、どのようなパケット転送ルールが設定されているかを管理する。具体的には、パケット転送ルール管理部17Aは、経路・アクション計算部13で計算された結果を、パケット転送ルールとしてパケット転送ルールデータベース(DB)17Bに登録し、パケット転送機能(図1の21/22/23)に対して、パケット転送ルールを設定する。また、パケット転送ルール管理部17Aは、パケット転送機能(図1の21/22/23)からのパケット転送ルール削除通知などにより、パケット転送機能(図1の21/22/23)に設定されているパケット転送ルールに変更が生じたことが通知された場合に、該変更に対応してパケット転送ルールDB17Bに登録されている情報(パケット転送ルール)をアップデートする。   The packet transfer rule management unit 17A manages what packet transfer function (21/22/23 in FIG. 1) is set with which packet transfer rule. Specifically, the packet transfer rule management unit 17A registers the result calculated by the route / action calculation unit 13 in the packet transfer rule database (DB) 17B as a packet transfer rule, and the packet transfer function (21 in FIG. 1). / 22/23), a packet transfer rule is set. The packet transfer rule management unit 17A is set to the packet transfer function (21/22/23 in FIG. 1) by a packet transfer rule deletion notification from the packet transfer function (21/22/23 in FIG. 1). When it is notified that a change has occurred in a packet transfer rule, information (packet transfer rule) registered in the packet transfer rule DB 17B is updated in response to the change.

<マッチングルール管理用の情報テーブル:exact/wildcard>
マッチングルール管理部18は、パケット転送ルールに設定するマッチングルールを決定する。図3を参照して、マッチングルール管理部18の管理情報について説明する。図3は、マッチングルール管理部18で管理するマッチングルール決定用の情報テーブルの一例を例示する図である。この情報テーブルは、エントリID(entry#1、entryentry#2、・・・等)で識別される各エントリに対して、検索ルールとフロー粒度とを含む。検索ルールは、パケット転送ルールに含まれるマッチングルール(図7のMatch Field)と同様に、パケット転送ルールを設定しようとしている通信が、図3のテーブルのどのエントリにヒットするかを検索するために用いる情報である。フロー粒度は、マッチングルールを生成するための生成規則である。
<Information table for matching rule management: exact / wildcard>
The matching rule management unit 18 determines a matching rule to be set in the packet transfer rule. With reference to FIG. 3, the management information of the matching rule management part 18 is demonstrated. FIG. 3 is a diagram illustrating an example of an information table for determining matching rules managed by the matching rule management unit 18. This information table includes a search rule and a flow granularity for each entry identified by an entry ID (entry # 1, entry # 2,...). Similar to the matching rule (Match Field in FIG. 7) included in the packet transfer rule, the search rule is used to search which entry in the table of FIG. 3 is hit by the communication for which the packet transfer rule is set. Information to be used. The flow granularity is a generation rule for generating a matching rule.

図3の各エントリにおいて、入力ポートはL1(物理層)、送信元MACアドレスから、宛先MACアドレス、Ether Type(Ethernet(登録商標) Type)、VLAN(Virtual Local Area Network)ID、VLAN PCP(Priority Code Point:フロー優先度)まではL2、TOS(Type of Service)、IPプロトコル、送信元IPアドレス、宛先IPアドレスがL3に対応し、宛先MACアドレスはL2(MAC)スイッチング、宛先IPアドレスはL3(IP)ルーティングの転送制御に用いられる。送信元ポート番号(送信元L4ポート番号)と宛先ポート番号(宛先L4ポート番号)はL4のポート番号(例えばTCP(Transmission Control Protocol)やUDP(User Datagram Protocol)のポート番号)である。   In each entry in FIG. 3, the input port is L1 (physical layer), the source MAC address, the destination MAC address, the Ether Type (Ethernet (registered trademark) Type), the VLAN (Virtual Local Area Network) ID, and the VLAN PCP (Priority). Up to Code Point (flow priority), L2, TOS (Type of Service), IP protocol, source IP address, destination IP address correspond to L3, destination MAC address is L2 (MAC) switching, destination IP address is L3 (IP) Used for routing transfer control. The transmission source port number (transmission source L4 port number) and the destination port number (destination L4 port number) are L4 port numbers (for example, TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) port numbers).

図3の例において、エントリID:entry#1は、図1のサーバ機能41〜サーバ機能42間通信等、サーバ機能間の通信用のエントリである。エントリID:entry#2とentry#3は、図1の通信端末31〜サーバ機能41間等、通信端末〜サーバ機能間の通信に用いるエントリである。   In the example of FIG. 3, entry ID: entry # 1 is an entry for communication between server functions such as communication between server function 41 to server function 42 of FIG. Entry IDs: entry # 2 and entry # 3 are entries used for communication between the communication terminal and the server function, such as between the communication terminal 31 and the server function 41 in FIG.

エントリID:entry#1の検索ルールでは、
・Ether Typeが16進(0xは16進を表す)の0800(=IPv4)、
・送信元IPアドレス、宛先IPアドレスが、それぞれサーバ機能(例えば図1の41、42)のサブネットであり、
・上記以外の他のフィールドは全て「wildcard」である。一方、エントリID:entry#1のフロー粒度は、いずれのフィールドも「exact」に設定されている。IPアドレスについては、送信元IPアドレス、宛先IPアドレスで指定されるサーバ機能のサブネットはIPアドレスの上位32ビット(/32)とされ、1つのサブネットに1つサーバ(ホスト)となる。
In the search rule of entry ID: entry # 1,
Ether Type is hexadecimal (0x represents hexadecimal) 0800 (= IPv4),
The source IP address and the destination IP address are subnets of the server function (for example, 41 and 42 in FIG. 1),
-All other fields are "wildcard". On the other hand, the flow granularity of the entry ID: entry # 1 is set to “exact” in any field. For the IP address, the subnet of the server function specified by the source IP address and the destination IP address is the upper 32 bits (/ 32) of the IP address, and one server (host) per subnet.

エントリID:entry#2、entry#3の検索ルールでは、
・Ether Typeが16進の0800(=IPv4)、
・送信元IPアドレス、宛先IPアドレスが、それぞれ通信端末とサーバ機能(例えば図1の31と41)のサブネットであり、
・上記以外の他のフィールドは「wildcard」である。エントリID:entry#2、entry#3のフロー粒度は、
・入力ポート、
・送信元MACアドレス、
・宛先MACアドレス、
・Ether Type、
・IPプロトコル
がいずれも「exact」に設定されている。また、IPアドレスについては、エントリID:entry#2では、送信元IPアドレスで指定される通信端末のサブネットは、プレフィックスで指定される24、すなわちIPアドレス(32ビット)の上位24ビットとされ、宛先IPアドレスで指定されるサーバ機能のサブネットは、IPアドレスの上位32ビット(/32)とされ、1つのサブネットに1つサーバ(ホスト)となる。一方、エントリID:entry#3では、送信元IPアドレスで指定されるサーバ機能のサブネットはIPアドレスの上位32ビット、宛先IPアドレスで指定される通信端末のサブネットはIPアドレスの上位24ビットとされる。
In the search rule of entry ID: entry # 2, entry # 3,
-Ether Type is hexadecimal 0800 (= IPv4),
The source IP address and the destination IP address are the subnets of the communication terminal and the server function (for example, 31 and 41 in FIG. 1), respectively.
-The field other than the above is “wildcard”. The flow granularity of entry IDs: entry # 2 and entry # 3 is
・ Input port,
-Source MAC address,
-Destination MAC address,
・ Ether Type,
-Both IP protocols are set to “exact”. As for the IP address, in the entry ID: entry # 2, the subnet of the communication terminal specified by the transmission source IP address is 24 specified by the prefix, that is, the upper 24 bits of the IP address (32 bits), The subnet of the server function designated by the destination IP address is the upper 32 bits (/ 32) of the IP address, and there is one server (host) in one subnet. On the other hand, in entry ID: entry # 3, the subnet of the server function specified by the source IP address is the upper 32 bits of the IP address, and the subnet of the communication terminal specified by the destination IP address is the upper 24 bits of the IP address. The

なお、上記した構成のうち、経路制御機能10にて、パケット転送ルールを保持する必要が無い場合、パケット転送ルールDB17Bは省略することが可能である。また、パケット転送ルールDB17Bを、別途、外部サーバ等に設ける構成としてもよい。   In the configuration described above, the packet transfer rule DB 17B can be omitted when the route control function 10 does not need to hold the packet transfer rule. Further, the packet transfer rule DB 17B may be separately provided in an external server or the like.

上記のような経路制御機能10は、例えば、非特許文献1のOFCをベースに、上記マッチングルール管理部18を追加することで実現するようにしてもよい。パケット転送機能21〜23は、各々、OFSに実装してもよい。   The route control function 10 as described above may be realized by adding the matching rule management unit 18 based on the OFC of Non-Patent Document 1, for example. Each of the packet transfer functions 21 to 23 may be implemented in the OFS.

パケット転送機能21〜23の各々は、パケットを受信すると、パケット転送ルールを格納するパケット転送ルールテーブル(パケット転送機能21〜23がそれぞれ具備する)から、受信したパケットに適合するマッチングキーを持つパケット転送ルールを探し出し、当該パケット転送ルールに関連付けられたアクション(図7のActions)に規定されている動作(例えば、特定のポートへの転送、フラッディング、廃棄など)を実施する。   When each of the packet transfer functions 21 to 23 receives a packet, each of the packet transfer functions 21 to 23 has a matching key matching the received packet from a packet transfer rule table (packet transfer functions 21 to 23 respectively) that stores packet transfer rules. A forwarding rule is found and an operation (for example, forwarding to a specific port, flooding, discarding, etc.) defined in an action (Actions in FIG. 7) associated with the packet forwarding rule is performed.

<サーバ機能41〜サーバ機能42間の通信時の動作>
次に、図4を参照して、本実施形態の全体の動作について詳細に説明する。以下では、サーバ機能41〜サーバ機能42間の通信時の経路制御処理と、通信端末31および通信端末32の通信時の経路制御処理について説明する。なお、以下の説明において、処理を説明する文の括弧内の番号は、図4に模式的に示したシーケンスの番号に対応する。まず、サーバ機能41〜サーバ機能42間の通信時の経路制御処理について説明する。サーバ機能41は、サーバ機能42へのアクセスを開始するために、データパケットを送信する(1)。
<Operation During Communication Between Server Function 41 to Server Function 42>
Next, the overall operation of this embodiment will be described in detail with reference to FIG. Below, the path control process at the time of communication between the server function 41-the server function 42 and the path control process at the time of communication of the communication terminal 31 and the communication terminal 32 are demonstrated. In the following description, the numbers in parentheses in the sentence explaining the processing correspond to the sequence numbers schematically shown in FIG. First, route control processing during communication between the server function 41 to the server function 42 will be described. The server function 41 transmits a data packet to start access to the server function 42 (1).

パケット転送機能23は、サーバ機能41からのデータパケットを受信する。パケット転送機能23において、受信した当該データパケットのフローは設定されていず、新規フローである。このため、パケット転送機能23は、経路制御機能10に新規フロー発生通知メッセージを送信し(2)、受信した当該データパケットに対する経路設定を要求する。   The packet transfer function 23 receives a data packet from the server function 41. In the packet transfer function 23, the flow of the received data packet is not set and is a new flow. For this reason, the packet transfer function 23 transmits a new flow occurrence notification message to the route control function 10 (2) and requests route setting for the received data packet.

新規フロー発生通知メッセージを受信した経路制御機能10は、通信可能と判断すると、サーバ機能41〜サーバ機能42間の経路を計算し、経路設定変更指示メッセージをパケット転送機能23に送信し(3)、サーバ機能41〜サーバ機能42間通信を実現するためのエントリを、通信経路上のパケット転送機能23のパケット転送ルールテーブルに設定する。その際、経路制御機能10のマッチングルール管理部18にて、図3に示した情報テーブルを検索し、該当するマッチングルール決定用のエントリを検索する。マッチングルール管理部18において、今回のサーバ機能41〜サーバ機能42間の通信経路に対して、図3のエントリID:entry#1がヒットする。そこで、経路制御機能10は、マッチングルールとして指定可能なL2〜L4までの全てのパラメータを指定する。   When the path control function 10 that has received the new flow occurrence notification message determines that communication is possible, the path control function 10 calculates a path between the server function 41 to the server function 42 and transmits a path setting change instruction message to the packet transfer function 23 (3) Then, an entry for realizing communication between the server function 41 to the server function 42 is set in the packet transfer rule table of the packet transfer function 23 on the communication path. At that time, the matching rule management unit 18 of the route control function 10 searches the information table shown in FIG. 3 and searches for an entry for determining the corresponding matching rule. In the matching rule management unit 18, the entry ID: entry # 1 in FIG. Therefore, the route control function 10 designates all parameters L2 to L4 that can be designated as matching rules.

パケット転送機能23は、経路設定変更指示メッセージの受信に応答して、設定したパケット転送ルールテーブルに従い、番号1のシーケンスで受信したデータパケットをサーバ機能42に転送する(4)。   In response to receiving the route setting change instruction message, the packet transfer function 23 transfers the data packet received in the sequence of number 1 to the server function 42 according to the set packet transfer rule table (4).

サーバ機能41〜サーバ機能42間の通信用の経路が設定されると、サーバ機能41はサーバ機能42と通信を開始する(5)。   When a communication path between the server function 41 to the server function 42 is set, the server function 41 starts communication with the server function 42 (5).

<通信端末31〜サーバ機能41間の通信時の動作>
続いて、通信端末31の通信時の経路制御処理について説明する。通信端末31は、サーバ機能41へのアクセスを開始するために、データパケットを送信する(6)。
<Operations during communication between the communication terminal 31 and the server function 41>
Subsequently, a route control process during communication of the communication terminal 31 will be described. The communication terminal 31 transmits a data packet to start access to the server function 41 (6).

パケット転送機能21は、通信端末31から送信されたデータパケットを受信する。パケット転送機能21において、受信した当該データパケットのフローは設定されていず、新規フローである。このため、パケット転送機能21は、経路制御機能10に対して、新規フロー発生通知メッセージを送信し(7)、受信した当該データパケットに対する経路設定を要求する。新規フロー発生通知メッセージを受信した経路制御機能10は、通信可能と判断すると、通信端末31〜サーバ機能41間の経路を計算する。経路制御機能10は、経路設定変更指示メッセージを、パケット転送機能21、22、23に送信し(8−1〜8−3)、通信端末31〜サーバ機能41間の通信を実現するためのエントリを、通信経路上のパケット転送機能21、22、23のパケット転送ルールテーブルに設定する。その際、マッチングルール管理部18にて、図3に示した情報テーブルを検索し、該当するマッチングルール決定用のエントリを検索する。マッチングルール管理部18において、今回の通信に対して、通信端末31→サーバ機能41の向きでは、エントリID:entry#2がヒットし、逆方向のサーバ機能41→通信端末31では、エントリID:entry#3がヒットする。   The packet transfer function 21 receives a data packet transmitted from the communication terminal 31. In the packet transfer function 21, the flow of the received data packet is not set and is a new flow. Therefore, the packet transfer function 21 transmits a new flow occurrence notification message to the route control function 10 (7), and requests route setting for the received data packet. When the path control function 10 that has received the new flow occurrence notification message determines that communication is possible, the path control function 10 calculates a path between the communication terminal 31 and the server function 41. The route control function 10 transmits a route setting change instruction message to the packet transfer functions 21, 22, and 23 (8-1 to 8-3), and an entry for realizing communication between the communication terminal 31 and the server function 41. Is set in the packet transfer rule table of the packet transfer functions 21, 22, and 23 on the communication path. At that time, the matching rule management unit 18 searches the information table shown in FIG. 3 and searches for an entry for determining a matching rule. In the matching rule management unit 18, for the current communication, the entry ID: entry # 2 is hit in the direction of the communication terminal 31 → the server function 41, and the entry ID: entry # 3 is hit.

そこで、経路制御機能10は、マッチングルールとして、サーバ〜サーバ間通信のエントリよりも、ワイルドカード(wildcard)の指定箇所を増やしたものを使用する。例えば図3のエントリID:entry#2、entry#3のフロー粒度では、
・VLAN ID、
・VLAN PCP、
・ToS、
・送信元L4ポート番号、
・宛先L4ポート番号
の各フィールドが「wildcard」に設定され、通信端末のサブネットマスクのプレフィックス24(IPアドレス上位24ビット)等、サーバ機能41〜サーバ機能42間通信よりもマッチング条件が緩和されている。
Therefore, the path control function 10 uses a matching rule in which the number of designated wildcards is larger than that of the server-server communication entry. For example, in the flow granularity of entry IDs: entry # 2 and entry # 3 in FIG.
・ VLAN ID,
・ VLAN PCP,
・ ToS,
-Source L4 port number,
Each field of the destination L4 port number is set to “wildcard”, and the matching condition is relaxed compared to the communication between the server function 41 to the server function 42 such as the prefix 24 (IP address upper 24 bits) of the subnet mask of the communication terminal. Yes.

パケット転送機能21は、経路設定変更指示メッセージの受信に応答して、設定したパケット転送ルールテーブルに従い、番号6のシーケンスで受信し記憶保持しているデータパケットを、パケット転送機能22、23を介して、サーバ機能41に転送する(9)。   In response to the reception of the route setting change instruction message, the packet transfer function 21 receives the data packet received and stored in the sequence of number 6 through the packet transfer functions 22 and 23 in accordance with the set packet transfer rule table. Then, the data is transferred to the server function 41 (9).

通信端末31〜サーバ機能41間の通信用の経路が設定されると、通信端末31は、サーバ機能41と通信を開始する(10)。   When a communication path between the communication terminal 31 and the server function 41 is set, the communication terminal 31 starts communication with the server function 41 (10).

<通信端末32〜サーバ機能41間の通信時の動作>
その後、通信端末32がサーバ機能41と通信する際に、必要なパケット転送ルール(フローテーブル)が、通信端末31〜サーバ機能41間での通信時に既に設定されている。このため、パケット転送機能21、22、23に対するパケット転送ルールの新たな設定処理は不要となる。
<Operation During Communication Between Communication Terminal 32 and Server Function 41>
Thereafter, when the communication terminal 32 communicates with the server function 41, a necessary packet transfer rule (flow table) is already set at the time of communication between the communication terminal 31 and the server function 41. This eliminates the need for a new packet transfer rule setting process for the packet transfer functions 21, 22, and 23.

<比較例との対比>
これに対して、図8と図9を参照して説明したプロトタイプ例では、通信端末32がサーバ機能41と通信する際に、パケット転送ルールの新たな設定処理が必要とされる。すなわち、図9を参照して説明したように、通信端末131〜サーバ141間の通信において、OFS121、122、123には、サーバ141〜サーバ142間通信と同じマッチングルール(例えばL2〜L4までの全てのパラメータを指定したルール)を用いており、通信端末132〜サーバ141間の通信に対して、新たなフローエントリのOFS121〜123への設定処理が行われる(図9のシーケンス番号15−1〜15−3のFlowMod参照)。このため、OFSで保持するフローエントリ数が増大する。
<Contrast with comparative example>
On the other hand, in the prototype example described with reference to FIGS. 8 and 9, when the communication terminal 32 communicates with the server function 41, a new setting process of the packet transfer rule is required. That is, as described with reference to FIG. 9, in the communication between the communication terminals 131 to 141, the OFS 121, 122, 123 has the same matching rule as the communication between the server 141 to the server 142 (for example, L2 to L4). Rules for specifying all parameters) are used, and for the communication between the communication terminal 132 and the server 141, setting processing of new flow entries to the OFS 121 to 123 is performed (sequence number 15-1 in FIG. 9). -15-3 FlowMod). For this reason, the number of flow entries held by OFS increases.

フローエントリのマッチングルールにおいてフローを細粒度で扱う場合、パケット転送機能等が保持すべきフローエントリ数が膨大となるが、本実施形態によれば、通信の種別に対応したフロー粒度でフローエントリのマッチングルールの設定を可能としている。その結果、本実施形態によれば、パケット転送機能において、保持するフローエントリ数が過剰に増大することを回避可能としている。また、経路制御機能等の制御装置において、処理負荷が過剰に増大することを抑制可能としている。   When a flow is handled with fine granularity in the flow entry matching rule, the number of flow entries to be held by the packet transfer function or the like becomes enormous, but according to this embodiment, the flow entry of the flow entry with the flow granularity corresponding to the type of communication is used. Matching rules can be set. As a result, according to the present embodiment, it is possible to avoid an excessive increase in the number of flow entries held in the packet transfer function. Further, in a control device such as a path control function, it is possible to suppress an excessive increase in processing load.

本実施の形態では、経路制御機能10において、図3の情報テーブルを検索した際に、全ての検索でエントリがヒットしていたが、必ずしもヒットする必要はない(情報テーブルの検索の結果、受信パケットのヘッダの所定情報と照合する検索ルール(エントリ)が見つかることを、「ヒット」という)。その場合、デフォルトのフロー粒度を予め決めておき、ヒットしない場合には、デフォルトのフロー粒度を使用するようにしてもよい。   In the present embodiment, when the route control function 10 searches the information table of FIG. 3, the entry is hit in all searches, but it is not necessarily required to be hit (the information table search results in reception). Finding a search rule (entry) that matches predetermined information in the packet header is called “hit”). In that case, a default flow granularity may be determined in advance, and if no hit occurs, the default flow granularity may be used.

[第2の実施形態]
前記第1の実施形態では、フロー粒度の各パラメータをマッチングルールで指定するか否かのパラメータとして、「exact」と「wildcard」の2種類を用いている。本実施形態では、「exact」と「wildcard」に加えて、新たに、「リスト参照型のパラメータ」を用いることで、より柔軟にマッチングルールを決定可能としている。本実施形態の通信システムの構成は、図1の前記実施形態1と同一である。以下では、本実施形態について、前記実施形態1との相違点について説明し、同一部分の説明は省略する。
[Second Embodiment]
In the first embodiment, two types of “exact” and “wildcard” are used as parameters indicating whether or not each parameter of the flow granularity is designated by the matching rule. In this embodiment, in addition to “exact” and “wildcard”, a new “list reference type parameter” is used, so that the matching rule can be determined more flexibly. The configuration of the communication system of the present embodiment is the same as that of the first embodiment shown in FIG. Hereinafter, the present embodiment will be described with respect to differences from the first embodiment, and description of the same parts will be omitted.

本実施形態の経路制御機能10の基本構成は、図2に示した前記実施形態1と同一であるが、マッチングルール管理部18が管理する情報テーブルが、前記実施形態1の情報テーブル(図3)と相違している。   The basic configuration of the route control function 10 of this embodiment is the same as that of the first embodiment shown in FIG. 2, but the information table managed by the matching rule management unit 18 is the information table of the first embodiment (FIG. 3). ) Is different.

<マッチング管理用の情報テーブル:well−known>
図5と図6に、本実施形態の経路制御機能10におけるマッチングルール管理部18が管理する情報テーブルの例を示す。図5は、パケット転送ルールに設定するマッチングルールを決定するための規則を特定するための情報テーブルである。図5に示すように、情報テーブルは、各エントリに対して、検索ルールとフロー粒度を備えている。前記実施形態1との相違点は、フロー粒度に「well−known」というパラメータを追加したことである(図5の例では、エントリID:entry#2およびentry#3の送信元L4ポート番号と宛先L4ポート番号の各フィールドで使用されている)。
<Information table for matching management: well-known>
5 and 6 show examples of information tables managed by the matching rule management unit 18 in the route control function 10 of the present embodiment. FIG. 5 is an information table for specifying a rule for determining a matching rule set in the packet transfer rule. As shown in FIG. 5, the information table has a search rule and a flow granularity for each entry. The difference from the first embodiment is that a parameter “well-known” is added to the flow granularity (in the example of FIG. 5, entry IDs: entry # 2 and entry # 3 with the source L4 port number). Used in each field of the destination L4 port number).

図6は、図5において、サービス名、exact指定対象のL4タイプ(TCP、UDP等)とポート番号を管理するテーブルを例示する図である。図6には、well−knownポート番号の一例が示されている。ftp(file transfer protocol)−data(ファイル転送(データ本体))はポート番号20、ftp(ファイル転送(コントロール))はポート番号21、ssh(シェル(セキュアシェル):TCP、UDP)はポート番号22、telnetはポート番号23、http(hypertext transfer protocol)は80である(その他、メール送受信のsmtp(simple mail transfer protocol)のポート番号は25等、よく知られたポートは他にもあるが省略する)。   FIG. 6 is a diagram exemplifying a table for managing the service name, the L4 type (TCP, UDP, etc.) to be specified in FIG. 5 and the port number in FIG. FIG. 6 shows an example of a well-known port number. ftp (file transfer protocol) -data (file transfer (data body)) is port number 20, ftp (file transfer (control)) is port number 21, and shsh (shell (secure shell): TCP, UDP) is port number 22. , Telnet is port number 23, and http (hypertext transfer protocol) is 80 (other than that, the port number of smtp (simple mail transfer protocol) for mail transmission / reception is 25, and other well-known ports are omitted) ).

マッチングルールを管理する図5の情報テーブルにおいて、あるフィールドのフロー粒度が「well−known」が指定されていた場合(図5の例では、エントリID:entry#2、#3の送信元L4ポート番号や宛先L4ポート番号等のL4ポート番号のフィールドのフロール粒度が「well−known」に指定されている)、L4ポート番号が、図6のテーブルに登録されているポート番号である場合には、該当フィールドの検索ルールのパラメータを「exact」と指定する。一方、図6のテーブルに登録されていない場合には、該当フィールドの検索ルールのパラメータを「wildcard」とする。特に制限されないが、経路制御機能10において、L4ポート番号等は、例えばPacket−Inに含まれるパケット等から取得するようにしてもよい。   In the information table of FIG. 5 that manages the matching rule, when the flow granularity of a certain field is designated “well-known” (in the example of FIG. 5, the transmission source L4 port of entry IDs: entry # 2, # 3) When the L4 port number is a port number registered in the table of FIG. 6, the flow granularity of the L4 port number field such as the number and the destination L4 port number is specified as “well-known”). The search rule parameter of the corresponding field is designated as “exact”. On the other hand, if it is not registered in the table of FIG. 6, the search rule parameter of the corresponding field is set to “wildcard”. Although not particularly limited, in the route control function 10, the L4 port number and the like may be acquired from, for example, a packet included in Packet-In.

本実施形態によれば、httpやftpなどL4ポート番号の一方のみが固定化され、他方はトランザクション毎にランダムな番号が使われる通信を、アプリケーション種別などの通信毎に、フロー粒度を設定しつつ、図5の情報テーブルのエントリ数を過剰に増やすことなく、収容することができる。   According to this embodiment, only one of the L4 port numbers such as http and ftp is fixed, and the other uses a random number for each transaction, while setting the flow granularity for each communication such as the application type. 5 can be accommodated without excessively increasing the number of entries in the information table of FIG.

本実施の形態では、リスト参照型のパラメータを使うフィールドとして、L4ポート番号のみを例に挙げて説明したが、かかる構成に制限されるものでなく、例えば、Ether TypeやIPプロトコルなど、他のフィールドに用いても良い。   In this embodiment, only the L4 port number has been described as an example of a field using a list reference type parameter. However, the present invention is not limited to such a configuration. For example, other types such as Ether Type and IP protocol are used. It may be used in the field.

以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、更なる変形・置換・調整を加えることができる。   While the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments, and further modifications, replacements, and adjustments can be added.

なお、図7のフローエントリに、さらにExpire Rule(失効規則)等を設けてもよい。   Note that an Expire Rule (revocation rule) or the like may be further provided in the flow entry of FIG.

なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得る各種変形、修正を含むことは勿論である。   Each disclosure of the above-mentioned patent document and non-patent document is incorporated herein by reference. Within the scope of the entire disclosure (including claims) of the present invention, the embodiment can be changed and adjusted based on the basic technical concept. Various combinations and selections of various disclosed elements are possible within the scope of the claims of the present invention. That is, the present invention of course includes various variations and modifications that can be made by those skilled in the art according to the entire disclosure including the claims and the technical idea.

10 経路制御機能
10A 制御装置
11 ノード通信部
12 制御メッセージ処理部
13 経路・アクション計算部
14 パケット転送機能管理部
15 トポロジ管理部
16 通信端末位置管理部
17A パケット転送ルール管理部
17B パケット転送ルールデータベース(DB)
18 マッチングルール管理部
20A 通信装置
21〜23 パケット転送機能
31〜32 通信端末
41〜42 サーバ機能
50 ルータ
101 マッチングルール決定手段
110 OpenFlow Controller(OFC)
120 フローエントリ
121〜123 OpenFlow Swtich(OFS)
131〜132 通信端末
141〜142 サーバ
150 ルータ
201 マッチングルール管理部
10 route control function 10A control device 11 node communication unit 12 control message processing unit 13 route / action calculation unit 14 packet transfer function management unit 15 topology management unit 16 communication terminal location management unit 17A packet transfer rule management unit 17B packet transfer rule database ( DB)
18 Matching Rule Management Unit 20A Communication Device 21-23 Packet Transfer Function 31-32 Communication Terminal 41-42 Server Function 50 Router 101 Matching Rule Determining Unit 110 OpenFlow Controller (OFC)
120 Flow entries 121-123 OpenFlow Switch (OFS)
131-132 Communication terminals 141-142 Server 150 Router 201 Matching rule management unit

Claims (8)

通信の種類として、端末とサーバ機能間通信であるか、又は、サーバ機能間通信であるかを含み、前記通信の種類に応じて、フローエントリのマッチングルールを生成するための生成規則であるフローの粒度を決定するマッチングルール管理部を備えた制御装置と、
前記制御装置から設定された前記フローエントリとの照合に基づいて受信パケットを処理する通信装置と、
を備えた、ことを特徴とする通信システム。
A flow that is a generation rule for generating a flow entry matching rule according to the type of communication, including whether the communication is between a terminal and a server function or communication between server functions as the type of communication A control device having a matching rule management unit for determining the granularity of
A communication device that processes a received packet based on matching with the flow entry set by the control device;
A communication system comprising:
前記マッチングルール管理部において、前記フローの粒度のパラメータとして、
完全一致を示すエグザクト(exact)と、
任意のパタンにマッチするワイルドカード(wildcard)と、
所定のリストに該当する値が存在する場合、エグザクトとし、存在しない場合には、ワイルドカードとする参照型パラメータと、
のうちの少なくとも一つを含む、ことを特徴とする請求項に記載の通信システム。
In the matching rule management unit, as a flow granularity parameter,
An exact indicating an exact match;
A wildcard that matches any pattern,
If there is a value in the given list, it is an exact, otherwise it is a wildcard reference type parameter,
The communication system according to claim 1 , comprising at least one of the following.
前記マッチングルール管理部において、前記フローの粒度が決定できない場合に、デフォルトのフローの粒度を用いる、ことを特徴とする請求項又はに記載の通信システム。 The communication system according to claim 1 or 2 , wherein the matching rule management unit uses a default flow granularity when the granularity of the flow cannot be determined. 通信の種類として、端末とサーバ機能間通信であるか、又は、サーバ機能間通信であるかを含み、前記通信の種類に応じて、フローエントリのマッチングルールを生成するための生成規則であるフローの粒度を決定するマッチングルール管理部を備え、フローエントリとの照合に基づいて受信パケットを処理する通信装置に対して前記フローエントリを設定する、ことを特徴とする制御装置。 A flow that is a generation rule for generating a flow entry matching rule according to the type of communication, including whether the communication is between a terminal and a server function or communication between server functions as the type of communication A control apparatus comprising: a matching rule management unit that determines the granularity of the packet; and setting the flow entry for a communication apparatus that processes a received packet based on collation with the flow entry. 前記マッチングルール管理部において前記フローの粒度のパラメータとして、
完全一致を示すエグザクト(exact)と、
任意のパタンにマッチするワイルドカード(wildcard)と、
所定のリストに該当する値が存在する場合、エグザクトとし、存在しない場合には、ワイルドカードとする参照型パラメータと、
のうちの少なくとも一つを含む、ことを特徴とする請求項に記載の制御装置。
As a parameter of the flow granularity in the matching rule management unit,
An exact indicating an exact match;
A wildcard that matches any pattern,
If there is a value in the given list, it is an exact, otherwise it is a wildcard reference type parameter,
The control device according to claim 4 , comprising at least one of the following.
前記マッチングルール管理部において、前記フローの粒度が決定できない場合に、デフォルトのフローの粒度を使用する、ことを特徴とする請求項4又は5に記載の制御装置。 The control device according to claim 4 or 5 , wherein the matching rule management unit uses a default flow granularity when the granularity of the flow cannot be determined. 端末とサーバ機能間通信であるか、又は、サーバ機能間通信であるかを通信の種類として含み、前記通信の種類に応じて、フローエントリのマッチングルールを生成するための生成規則であるフローの粒度を制御装置で決定し、
通信装置が、前記制御装置から設定されたフローエントリとの照合に基づいて受信パケットを処理する、ことを特徴とする通信方法。
Whether the communication between the terminal and the server function or the communication between the server functions is included as a communication type, and a flow rule that is a generation rule for generating a matching rule for a flow entry according to the communication type The particle size is determined by the control device,
A communication method, wherein a communication device processes a received packet based on collation with a flow entry set by the control device.
端末とサーバ機能間通信であるか、又は、サーバ機能間通信であるかを通信の種類として含み、前記通信の種類に応じて、フローエントリのマッチングルールを生成するための生成規則であるフローの粒度を決定する処理と、
前記フローエントリとの照合に基づいて受信パケットを処理する通信装置に対して前記フローエントリを設定する処理と、
を制御装置のコンピュータに実行させるプログラム。
Whether the communication between the terminal and the server function or the communication between the server functions is included as a communication type, and a flow rule that is a generation rule for generating a matching rule for a flow entry according to the communication type Processing to determine the granularity ;
Processing for setting the flow entry for a communication device that processes a received packet based on matching with the flow entry;
That causes the computer of the control device to execute the program.
JP2015505562A 2013-03-14 2014-03-13 COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM Active JP6314970B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013051863 2013-03-14
JP2013051863 2013-03-14
PCT/JP2014/056722 WO2014142256A1 (en) 2013-03-14 2014-03-13 Communication system, controller, communication method, and program

Publications (2)

Publication Number Publication Date
JPWO2014142256A1 JPWO2014142256A1 (en) 2017-02-16
JP6314970B2 true JP6314970B2 (en) 2018-04-25

Family

ID=51536905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015505562A Active JP6314970B2 (en) 2013-03-14 2014-03-13 COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM

Country Status (2)

Country Link
JP (1) JP6314970B2 (en)
WO (1) WO2014142256A1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012011290A1 (en) * 2010-07-23 2012-01-26 Nec Corporation Communication system, node, statistical information collection device, statistical information collection method and program
WO2012043731A1 (en) * 2010-09-29 2012-04-05 日本電気株式会社 Data processing system and method
JP5674107B2 (en) * 2010-10-19 2015-02-25 日本電気株式会社 Communication system, control device, processing rule setting method and program
US9391895B2 (en) * 2011-03-18 2016-07-12 Nec Corporation Network system and switching method thereof

Also Published As

Publication number Publication date
WO2014142256A1 (en) 2014-09-18
JPWO2014142256A1 (en) 2017-02-16

Similar Documents

Publication Publication Date Title
US11134012B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
JP5304947B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, NODE CONTROL METHOD, AND PROGRAM
US9276852B2 (en) Communication system, forwarding node, received packet process method, and program
WO2011043312A1 (en) Network system, controller, method, and program
JP6248929B2 (en) COMMUNICATION SYSTEM, ACCESS CONTROL DEVICE, SWITCH, NETWORK CONTROL METHOD, AND PROGRAM
JP5858141B2 (en) Control device, communication device, communication system, communication method, and program
JP2014516215A (en) Communication system, control device, processing rule setting method and program
WO2014017631A1 (en) Control device, communication system, communication method and program
JP2015508950A (en) Control method, control device, communication system, and program
JP5725236B2 (en) Communication system, node, packet transfer method and program
JP6323444B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
WO2014129624A1 (en) Control device, communication system, path switching method, and program
JP5747997B2 (en) Control device, communication system, virtual network management method and program
WO2014126094A1 (en) Communication system, communication method, control device, and control device control method and program
JP6314970B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
WO2014175335A1 (en) Controller, computer system, method for controlling communication, and program
WO2014119602A1 (en) Control apparatus, switch, communication system, switch control method and program
JP2015057879A (en) Packet multipath routing device and method for using thereof in computer networking
WO2014020902A1 (en) Communication system, control apparatus, communication method, and program
JP2015046936A (en) Communication system, control device, processing rule setting method, and program
JP5861424B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
WO2014142081A1 (en) Transfer node, control device, communication system, packet processing method and program
WO2015087947A1 (en) Communication system, communication node, control device, communication control method, and program
JP2016139908A (en) Communication system, communication node, control device, communication control method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170912

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180213

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180312

R150 Certificate of patent or registration of utility model

Ref document number: 6314970

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150