JP2011160363A - Computer system, controller, switch, and communication method - Google Patents

Computer system, controller, switch, and communication method Download PDF

Info

Publication number
JP2011160363A
JP2011160363A JP2010022539A JP2010022539A JP2011160363A JP 2011160363 A JP2011160363 A JP 2011160363A JP 2010022539 A JP2010022539 A JP 2010022539A JP 2010022539 A JP2010022539 A JP 2010022539A JP 2011160363 A JP2011160363 A JP 2011160363A
Authority
JP
Japan
Prior art keywords
switch
route
flow
information
flow 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.)
Granted
Application number
JP2010022539A
Other languages
Japanese (ja)
Other versions
JP5488979B2 (en
Inventor
Tatsuhiko Sorai
達彦 空井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010022539A priority Critical patent/JP5488979B2/en
Publication of JP2011160363A publication Critical patent/JP2011160363A/en
Application granted granted Critical
Publication of JP5488979B2 publication Critical patent/JP5488979B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve fault tolerance of a computer system utilizing open flow technologies. <P>SOLUTION: A computer system includes a plurality of controllers 1 and a plurality of switches 2. Each of the plurality of controllers 1 calculates a communication route and instructs setting of a flow entry to switches on the communication route. The plurality of switches 2 designate one of the plurality of controllers 1 as a route determiner and perform relay processing of a reception packet in accordance with the flow entry set by the route determiner. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、コンピュータシステム、コントローラ、スイッチ及び通信方法に関し、特に、オープンフロー(プログラマブルフロー)技術を利用したコンピュータシステムの冗長化技術、及び通信方法に関する。   The present invention relates to a computer system, a controller, a switch, and a communication method, and more particularly to a computer system redundancy technology and a communication method using open flow (programmable flow) technology.

従来、パケットの送信元から送信先への経路の決定とパケット転送処理は、経路上の複数のスイッチが行っていた。近年、データセンターといった大規模ネットワークにおいては、故障による機器の停止や規模拡大のための機器の新規追加により、ネットワーク構成の変化が常に発生している。このため、ネットワークの構成の変化に即応し適切な経路を決定するという柔軟性が必要となってきた。しかし、スイッチにおける経路決定処理のプログラムは、外部から変更することができないため、ネットワーク全体を一元的に制御及び管理することはできなかった。   Conventionally, the determination of the route from the packet source to the destination and the packet transfer processing have been performed by a plurality of switches on the route. In recent years, in a large-scale network such as a data center, a change in the network configuration has always occurred due to a stop of a device due to a failure or a new addition of a device for expanding the scale. For this reason, it has become necessary to have the flexibility to determine an appropriate route in response to changes in the network configuration. However, since the route determination processing program in the switch cannot be changed from the outside, the entire network cannot be controlled and managed centrally.

一方、コンピュータネットワークにおいて、各スイッチの転送動作等を外部のコントローラによって一元的に制御する技術(オープンフロー)が、OpenFlow Consortiumによって提案されている(非特許文献1参照)。この技術に対応したネットワークスイッチ(以下、プログラマブルフロースイッチ(PFS)と称す)は、プロトコル種別やポート番号等の詳細な情報をフローテーブルに保持し、フローの制御と統計情報の採取を行うことができる。   On the other hand, in the computer network, a technique (open flow) for centrally controlling the transfer operation of each switch by an external controller has been proposed by the OpenFlow Consortium (see Non-Patent Document 1). A network switch (hereinafter referred to as a programmable flow switch (PFS)) that supports this technology holds detailed information such as protocol type and port number in a flow table, and can control the flow and collect statistical information. it can.

図1を参照して、オープンフローを利用したコンピュータシステムの構成及び動作を説明する。図1を参照して、本発明の関連技術によるコンピュータシステムは、プログラマブルフローコントローラ100(以下、PFC100と称す)、複数のプログラマブルスイッチ102−1〜102−n(以下、PFS102−1〜102−nと称す)を有するスイッチ群200、複数のホストコンピュータ103−1〜103−i(以下、ホスト103−1〜103−iと称す)を有するホスト群300を具備する。ただし、n、iは2以上の自然数である。以下、PFS102−1〜102−nを区別せずに総称する場合はPFS102と称し、ホスト103−1〜103−iを区別せずに総称する場合はホスト103と称して説明する。   The configuration and operation of a computer system using OpenFlow will be described with reference to FIG. Referring to FIG. 1, a computer system according to a related technique of the present invention includes a programmable flow controller 100 (hereinafter referred to as PFC 100), a plurality of programmable switches 102-1 to 102-n (hereinafter referred to as PFSs 102-1 to 102-n). And a host group 300 having a plurality of host computers 103-1 to 103-i (hereinafter referred to as hosts 103-1 to 103-i). However, n and i are natural numbers of 2 or more. Hereinafter, the PFSs 102-1 to 102-n will be collectively referred to as PFS102, and the hosts 103-1 to 103-i may be collectively referred to as the host 103.

PFC100は、ホスト103間の通信経路の設定や、経路上におけるPFS102に対する転送動作(中継動作)等の設定を行う。この際、PFC100は、PFS102が保持するフローテーブルに、フロー(パケットデータ)を特定するルールと、当該フローに対する動作を規定するアクションとを対応付けたフローエントリを設定する。通信経路上のPFS102は、PFC100によって設定されたフローエントリに従って受信パケットデータの転送先を決定し、転送処理を行う。これにより、ホスト103は、PFC100によって設定された通信経路を利用して他のホスト103との間でパケットデータの送受信が可能となる。すなわち、オープンフローを利用したコンピュータシステムでは、通信経路を設定するPFC100と、転送処理を行うPFS102とを分離され、システム全体の通信を一元的に制御及び管理することが可能となる。   The PFC 100 sets a communication path between the hosts 103 and a transfer operation (relay operation) for the PFS 102 on the path. At this time, the PFC 100 sets a flow entry in which a rule for specifying a flow (packet data) and an action for defining an operation for the flow are associated with each other in a flow table held by the PFS 102. The PFS 102 on the communication path determines the transfer destination of the received packet data according to the flow entry set by the PFC 100, and performs transfer processing. As a result, the host 103 can transmit and receive packet data to and from other hosts 103 using the communication path set by the PFC 100. That is, in a computer system using OpenFlow, the PFC 100 that sets a communication path and the PFS 102 that performs transfer processing are separated, and communication of the entire system can be controlled and managed centrally.

図1を参照して、ホスト103−1からホスト103−iへパケット送信を行う場合、PFS102−1はホスト103−1から受け取ったパケット内にある送信先情報(ヘッダ情報)を参照し、PFS102−1内部で保持しているフローテーブルから当該ヘッダ情報に適合するエントリを探す。フローテーブルに設定されるエントリの内容については、例えば非特許文献1で規定されている。   Referring to FIG. 1, when packet transmission is performed from the host 103-1 to the host 103-i, the PFS 102-1 refers to transmission destination information (header information) in the packet received from the host 103-1, and the PFS 102 -1 An entry that matches the header information is searched from the flow table held inside. The contents of entries set in the flow table are defined in Non-Patent Document 1, for example.

PFS102−1は、受信パケットデータについてのエントリがフローテーブルに記載されていない場合、当該パケットデータ(以下、ファーストパケットと称す)、又はファーストパケットのヘッダ情報をPFC101に転送する。PFS102−1からファーストパケットを受け取ったPFC101はパケット内に含まれている送信元ホストや送信先ホストという情報を元に経路400を決定する。   When the entry for the received packet data is not described in the flow table, the PFS 102-1 transfers the packet data (hereinafter referred to as the first packet) or the header information of the first packet to the PFC 101. The PFC 101 that has received the first packet from the PFS 102-1 determines the path 400 based on information such as a transmission source host and a transmission destination host included in the packet.

PFC101は、経路400上の全てのPFS102に対して、パケットの転送先を規定するフローエントリの設定を指示する(フローテーブル更新指示を発行)。経路400上のPFS102は、フローテーブル更新指示に応じて、自身で管理しているフローテーブルを更新する。この後PFS102は、更新したフローテーブルに従い、パケットの転送を開始することで、PFC101が決定した経路400を経由して、宛先のホスト103−iへパケットが到達するようになる。   The PFC 101 instructs all PFSs 102 on the path 400 to set a flow entry that defines a packet transfer destination (issues a flow table update instruction). The PFS 102 on the path 400 updates the flow table managed by itself in response to the flow table update instruction. Thereafter, the PFS 102 starts forwarding the packet according to the updated flow table, so that the packet reaches the destination host 103-i via the path 400 determined by the PFC 101.

一方、ネットワークにおける転送経路を1つの装置で集中制御するシステムが、例えば特開2009−153184(特許文献1参照)や特表2009−529811に記載されている(特許文献2参照)。   On the other hand, a system that centrally controls a transfer path in a network with a single device is described in, for example, Japanese Unexamined Patent Application Publication No. 2009-153184 (see Patent Document 1) and Special Table 2009-529811 (see Patent Document 2).

特開2009−153184JP2009-153184A 特表2009−529811Special table 2009-529811

OpenFlow Switch Specification Version 0.9.0 (Wire Protocol 0x98) July 20, 2009OpenFlow Switch Specification Version 0.9.0 (Wire Protocol 0x98) July 20, 2009

PFC100で何らかの障害が発生した場合、PFC100は、経路上のPFS102に対するフローテーブルの更新を指示できない。この場合、ファーストパケットを受信したPFS102は自ら設定したタイムアウト時間までPFC101からのフローテーブルの更新指示を待ち続けてしまい、その間ホスト103間のパケット通信を行うことができない。又、PFC100が障害から復旧しない限り、ファーストパケットに対応する転送制御を行うことができない。   When any failure occurs in the PFC 100, the PFC 100 cannot instruct the PFS 102 on the route to update the flow table. In this case, the PFS 102 that has received the first packet continues to wait for a flow table update instruction from the PFC 101 until the timeout time set by itself, and cannot perform packet communication between the hosts 103 during that time. Further, unless the PFC 100 is recovered from a failure, transfer control corresponding to the first packet cannot be performed.

このため、耐障害性の観点からPFC100を複数用意することが考えられるが、複数のPFCを利用した通信経路の構築(各PFSに対するフローテーブルの更新)の方法は、未だ確立されていない。このため、オープンフロー技術を利用したコンピュータシステムでは、PFCに発生した障害に対する耐性が低いという問題がある。   For this reason, it is conceivable to prepare a plurality of PFCs 100 from the viewpoint of fault tolerance. However, a method of constructing a communication path using a plurality of PFCs (updating a flow table for each PFS) has not been established yet. For this reason, there is a problem that a computer system using the open flow technology has low resistance to a failure occurring in the PFC.

従って、本発明による目的は、オープンフロー技術を利用したコンピュータシステムの耐障害性を向上させることにある。   Accordingly, an object of the present invention is to improve the fault tolerance of a computer system using open flow technology.

又、本発明による他の目的は、プログラマブルフローコントローラに障害が発生した場合でも、ファーストパケットに応じた通信経路の構築とパケットデータの転送処理を早期に実行することにある。   Another object of the present invention is to perform early construction of a communication path according to a first packet and transfer processing of packet data even when a failure occurs in the programmable flow controller.

上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、[特許請求の範囲]の記載と[発明を実施するための形態]の記載との対応関係を明らかにするために、[発明を実施するための形態]で使用される番号・符号が付加されている。ただし、付加された番号・符号は、[特許請求の範囲]に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。   In order to solve the above problems, the present invention employs the means described below. In the description of technical matters constituting the means, in order to clarify the correspondence between the description of [Claims] and the description of [Mode for Carrying Out the Invention] The number / symbol used in [Form] is added. However, the added numbers and symbols should not be used to limit the technical scope of the invention described in [Claims].

本発明によるコンピュータシステムは、それぞれが、通信経路を算出し、通信経路上のスイッチ(2)に対して、フローエントリの設定を指示する複数のコントローラ(1)と、複数のコントローラ(1)の1つを経路決定者として指定し、経路決定者によって設定されたフローエントリに従って、受信パケットの中継処理を行う複数のスイッチ(2)とを具備する。   The computer system according to the present invention includes a plurality of controllers (1) each of which calculates a communication path and instructs a switch (2) on the communication path to set a flow entry, and a plurality of controllers (1). A plurality of switches (2) which designate one as a route determiner and perform relay processing of received packets according to a flow entry set by the route determiner.

本発明による通信システムは、複数のコントローラ(1)のそれぞれが、通信経路を算出し、通信経路上のスイッチ(2)に対して、フローエントリの設定を指示するステップと、複数のコントローラ(1)の1つを経路決定者として指定するステップと、複数のスイッチ(2)が、経路決定者によって設定されたフローエントリに従って、受信パケットの中継処理を行うステップとを具備する。   In the communication system according to the present invention, each of a plurality of controllers (1) calculates a communication path, instructs the switch (2) on the communication path to set a flow entry, and a plurality of controllers (1 ) As a route determiner, and a plurality of switches (2) perform a relay process of received packets in accordance with the flow entry set by the route determiner.

本発明によれば、オープンフロー技術を利用したコンピュータシステムの耐障害性を向上させることができる。   According to the present invention, it is possible to improve fault tolerance of a computer system using the open flow technology.

又、プログラマブルフローコントローラに障害が発生した場合でも、ファーストパケットに応じた通信経路の構築とパケットデータの転送処理を早期に実行することができる。   Even when a failure occurs in the programmable flow controller, the construction of the communication path according to the first packet and the packet data transfer process can be executed at an early stage.

図1は、従来技術によるコンピュータシステムの構成の一例を示す図である。FIG. 1 is a diagram showing an example of the configuration of a computer system according to the prior art. 図2は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。FIG. 2 is a diagram showing a configuration in the embodiment of the computer system according to the present invention. 図3は、本発明によるプログラマブルフローコントローラの実施の形態における構成を示す図である。FIG. 3 is a diagram showing a configuration in an embodiment of a programmable flow controller according to the present invention. 図4は、本発明によるプログラマブルフローコントローラが保持するフローテーブルの一例を示す図である。FIG. 4 is a diagram showing an example of a flow table held by the programmable flow controller according to the present invention. 図5は、本発明によるプログラマブルフローコントローラが保持するトポロジ情報の一例を示す図である。FIG. 5 is a diagram showing an example of topology information held by the programmable flow controller according to the present invention. 図6は、本発明によるプログラマブルフローコントローラが保持する通信経路情報の一例を示す図である。FIG. 6 is a diagram showing an example of communication path information held by the programmable flow controller according to the present invention. 図7は、本発明によるプログラマブルフロースイッチの実施の形態における構成を示す図である。FIG. 7 is a diagram showing a configuration of the programmable flow switch according to the embodiment of the present invention. 図8は、本発明によるプログラマブルフロースイッチが保持するフローテーブルの一例を示す図である。FIG. 8 is a diagram showing an example of a flow table held by the programmable flow switch according to the present invention. 図9は、本発明に係るプログラマブルフロー制御を説明するための図である。FIG. 9 is a diagram for explaining programmable flow control according to the present invention. 図10は、本発明によるプログラマブルフロースイッチにおいて変更されたパケットデータの構造を示す図である。FIG. 10 is a diagram illustrating the structure of packet data changed in the programmable flow switch according to the present invention. 図11Aは、本発明によるコンピュータシステムの実施の形態における通信経路の構築処理(フローテーブル更新処理)及びパケット転送処理の動作を示すシーケンス図である。FIG. 11A is a sequence diagram showing operations of communication path construction processing (flow table update processing) and packet transfer processing in the embodiment of the computer system according to the present invention. 図11Bは、本発明によるコンピュータシステムの実施の形態における通信経路の構築処理(フローテーブル更新処理)及びパケット転送処理の動作を示すシーケンス図である。FIG. 11B is a sequence diagram showing operations of communication path construction processing (flow table update processing) and packet transfer processing in the embodiment of the computer system according to the present invention. 図12は、本発明によるプログラマブルフロースイッチにおけるパケット転送動作の一例を示すフロー図である。FIG. 12 is a flowchart showing an example of a packet transfer operation in the programmable flow switch according to the present invention. 図13は、本発明による複数のプログラマブルフローコントローラによって算出された通信経路の一例を示す図である。FIG. 13 is a diagram illustrating an example of communication paths calculated by a plurality of programmable flow controllers according to the present invention.

以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。   Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In the drawings, the same or similar reference numerals indicate the same, similar, or equivalent components.

(コンピュータシステムの構成)
図2を参照して、本発明によるコンピュータシステムの構成を説明する。図2は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。本発明によるコンピュータシステムは、オープンフローを利用して通信経路の構築及びパケットデータの転送制御を行う。図2を参照して、本発明によるコンピュータシステムは、プログラマブルフローコントローラ1−1〜1−m(以下、PFC1−1〜1−mと称す)、複数のプログラマブルスイッチ2−1〜2−n(以下、PFS2−1〜2−nと称す)を有するスイッチ群20、複数のホストコンピュータ3−1〜3−i(以下、ホスト3−1〜3−iと称す)を有するホスト群30を具備する。ただし、m、n、iは2以上の自然数である。又、PFC1−1〜1−mを区別せずに総称する場合はPFC1と称し、PFS2−1〜2−nを区別せずに総称する場合はPFS2と称し、ホスト3−1〜3−iを区別せずに総称する場合はホスト3と称して説明する。
(Computer system configuration)
The configuration of the computer system according to the present invention will be described with reference to FIG. FIG. 2 is a diagram showing a configuration in the embodiment of the computer system according to the present invention. The computer system according to the present invention performs communication path construction and packet data transfer control using OpenFlow. Referring to FIG. 2, the computer system according to the present invention includes a programmable flow controller 1-1 to 1-m (hereinafter referred to as PFC 1-1 to 1-m), a plurality of programmable switches 2-1 to 2-n ( Hereinafter, a switch group 20 having PFS 2-1 to 2-n) and a host group 30 having a plurality of host computers 3-1 to 3-i (hereinafter referred to as hosts 3-1 to 3-i) are provided. To do. However, m, n, and i are natural numbers of 2 or more. When the PFCs 1-1 to 1-m are collectively referred to without distinction, they are referred to as PFC1, and when the PFSs 2-1 to 2-n are collectively referred to without distinction, they are referred to as PFS2, and the hosts 3-1 to 3-i Are collectively referred to as “host 3”.

ホスト3は、図示しないCPU、主記憶装置、及び外部記憶装置を備えるコンピュータ装置であり、外部記憶装置に格納されたプログラムを実行することで、他のホスト3との間で通信を行う。ホスト3間の通信は、スイッチ群20を介して行われる。ホスト3は、実行するプログラムに応じて、Webサーバ、ファイルサーバ、アプリケーションサーバ、あるいはクライアント端末等に例示される機能を実現する。例えば、ホスト3がWebサーバとして機能する場合、他のホスト3(例示:クライアント端末)の要求に従い、記憶装置(図示なし)内のHTML文書や画像データを他のホスト3(例示:クライアント端末)に転送する。   The host 3 is a computer device including a CPU, a main storage device, and an external storage device (not shown), and communicates with other hosts 3 by executing a program stored in the external storage device. Communication between the hosts 3 is performed via the switch group 20. The host 3 realizes a function exemplified in a Web server, a file server, an application server, a client terminal, or the like according to a program to be executed. For example, when the host 3 functions as a Web server, an HTML document or image data in a storage device (not shown) is transferred to another host 3 (example: client terminal) in accordance with a request from the other host 3 (example: client terminal). Forward to.

PFC1は、オープンフロー技術により、システム内におけるパケット転送に係る通信経路パケット転送処理を制御するスイッチ制御部11を備える。オープンフロー技術とは、コントローラ(ここではPFC1)が、ルーティングポリシー(フローエントリ:フロー+アクション)に従い、マルチレイヤ及びフロー単位の経路情報をPFS2に設定し、経路制御やノード制御を行う技術を示す(詳細は、非特許文献1を参照)。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるPFS2は、従来のルータやスイッチのようにパケットやフレームの単位ではなく、END2ENDのフローとして通信を取り扱う。   The PFC 1 includes a switch control unit 11 that controls communication path packet transfer processing related to packet transfer in the system using the open flow technology. Open flow technology refers to a technology in which a controller (here PFC1) performs path control and node control by setting multi-layer and per-flow path information in PFS2 in accordance with a routing policy (flow entry: flow + action). (For details, see Non-Patent Document 1.) As a result, the route control function is separated from the routers and switches, and optimal routing and traffic management are possible through centralized control by the controller. PFS2 to which the open flow technology is applied handles communication as a flow of END2END, not as a unit of packet or frame like a conventional router or switch.

PFC1は、PFS2が保持するフローテーブル25にフローエントリ(ルール+アクション)を設定することで当該PFS2の動作(例えばパケットデータの中継動作や廃棄)を制御する。本発明によるPFC1は、PFC1自身に付与(又は予め設定された)識別子(以下、コントローラID17と称す)を加えたフローエントリを、経路上のPFS2に設定する。   The PFC 1 controls the operation of the PFS 2 (for example, relay operation and discard of packet data) by setting a flow entry (rule + action) in the flow table 25 held by the PFS 2. The PFC 1 according to the present invention sets, in the PFS 2 on the path, a flow entry obtained by adding an identifier (hereinafter referred to as a controller ID 17) assigned (or preset) to the PFC 1 itself.

図3を参照して、PFC1の構成の詳細を説明する。図3は、本発明によるPFC1の構成を示す図である。PFC1は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。PFC1では、図示しないCPUが記憶装置に格納されたプログラムを実行することで、図3に示すスイッチ制御部11、フロー管理部12、フロー生成部13の各機能が実現される。又、PFC1は、それぞれが図示しない記憶装置に格納されたフローテーブル14、トポロジ情報15、通信経路情報16、及びコントローラID17を備える。尚、コントローラID17は、予めPFC1毎にユニークに設定されていても良いし、PFS2からの通知されたコントローラID17が設定されても良い。   Details of the configuration of the PFC 1 will be described with reference to FIG. FIG. 3 is a diagram showing a configuration of the PFC 1 according to the present invention. The PFC 1 is preferably realized by a computer including a CPU and a storage device. In the PFC 1, each function of the switch control unit 11, the flow management unit 12, and the flow generation unit 13 illustrated in FIG. 3 is realized by a CPU (not shown) executing a program stored in a storage device. The PFC 1 includes a flow table 14, topology information 15, communication path information 16, and controller ID 17 that are stored in a storage device (not shown). The controller ID 17 may be set uniquely for each PFC 1 in advance, or the controller ID 17 notified from the PFS 2 may be set.

スイッチ制御部11は、フローテーブル14に従ってPFS2毎にフローエントリ(ルール+アクション)の設定又は削除を行う。この際、スイッチ制御部11は、フローエントリ(ルール+アクション情報)にコントローラID17を対応付けてPFS2のフローテーブル25に設定する。又、PFS2に対するフローテーブルの更新(フローエントリの設定又は削除)は、通信経路上においてフローの宛先装置側から送信元装置に向かって順に行われる。PFS2は、設定された少なくとも1つのフローエントリ中から選択したフローエントリを参照し、受信パケットのヘッダ情報に応じたルールに対応するアクション(例えばパケットデータの中継や破棄)を実行する。ルール、アクションの詳細は後述する。   The switch control unit 11 sets or deletes a flow entry (rule + action) for each PFS 2 according to the flow table 14. At this time, the switch control unit 11 associates the controller ID 17 with the flow entry (rule + action information) and sets it in the flow table 25 of the PFS2. The update of the flow table for the PFS 2 (setting or deletion of the flow entry) is performed in order from the destination device side of the flow toward the transmission source device on the communication path. The PFS 2 refers to a flow entry selected from at least one set flow entry, and executes an action (for example, relay or discard of packet data) corresponding to a rule according to the header information of the received packet. Details of the rules and actions will be described later.

図4は、PFC1が保持するフローテーブル14の構成の一例を示す図である。図4を参照して、フローテーブル14には、フローエントリを特定するためのフロー識別子141、当該フローエントリの設定対象(PFS2)を識別する識別子(対象装置142)、経路情報143、ルール144、アクション情報145、設定情報146、経路決定者識別子147が対応付けられて設定される。フローテーブル14には、PFC1の制御対象となる全てのPFS2に対して生成されたフローエントリ(ルール144+アクション情報145)が設定される。又、フローテーブル14には、フロー毎のQoSや暗号化に関する情報など、通信の扱い方が定義されても構わない。   FIG. 4 is a diagram illustrating an example of the configuration of the flow table 14 held by the PFC 1. Referring to FIG. 4, the flow table 14 includes a flow identifier 141 for specifying a flow entry, an identifier (target device 142) for identifying a setting target (PFS2) of the flow entry, path information 143, a rule 144, Action information 145, setting information 146, and route determination identifier 147 are set in association with each other. In the flow table 14, flow entries (rule 144 + action information 145) generated for all the PFSs 2 to be controlled by the PFC 1 are set. The flow table 14 may define how to handle communication, such as QoS and encryption information for each flow.

ルール144には、例えば、TCP/IPのパケットデータにおけるヘッダ情報に含まれる、OSI(Open Systems Interconnection)参照モデルのレイヤ1からレイヤ4のアドレスや識別子の組み合わせが規定される。例えば、図9に示すレイヤ1の物理ポート、レイヤ2のMACアドレス、レイヤ3のIPアドレス、レイヤ4のポート番号、VLANタグ(VLAN id)のそれぞれの組み合わせがルール144として設定される。尚、VLANタグには、優先順位(VLAN Priority)が付与されていても良い。   The rule 144 defines, for example, combinations of addresses and identifiers of layers 1 to 4 of the OSI (Open Systems Interconnection) reference model included in header information in TCP / IP packet data. For example, each combination of a layer 1 physical port, a layer 2 MAC address, a layer 3 IP address, a layer 4 port number, and a VLAN tag (VLAN id) shown in FIG. The VLAN tag may be given a priority (VLAN Priority).

ここで、ルール144に設定されるポート番号等の識別子やアドレス等は、所定の範囲で設定されても構わない。又、宛先や送信元のアドレス等を区別してルール144として設定されルことが好ましい。例えば、MAC宛先アドレスの範囲や、接続先のアプリケーションを特定する宛先ポート番号の範囲、接続元のアプリケーションを特定する送信元ポート番号の範囲がルール144として設定される。更に、データ転送プロトコルを特定する識別子をルール144として設定してもよい。   Here, identifiers such as port numbers and addresses set in the rule 144 may be set within a predetermined range. In addition, it is preferable that the destination 144 and the address of the transmission source are distinguished and set as the rule 144. For example, the range of the MAC destination address, the range of the destination port number that identifies the connection destination application, and the range of the transmission source port number that identifies the connection source application are set as the rule 144. Furthermore, an identifier for specifying the data transfer protocol may be set as the rule 144.

アクション情報145には、例えばTCP/IPのパケットデータを処理する方法が規定される。例えば、受信パケットデータを中継するか否かを示す情報や、中継する場合はその送信先が設定される。又、アクション情報145には、パケットデータの複製や、破棄することを指示する情報が設定されてもよい。   The action information 145 defines a method for processing TCP / IP packet data, for example. For example, information indicating whether or not the received packet data is to be relayed and the transmission destination in the case of relaying are set. The action information 145 may be set with information instructing to copy or discard the packet data.

経路情報143は、フローエントリ(ルール144+アクション情報145)を適用する経路を特定する情報である。これは、後述する通信経路情報16に対応付けられた識別子である。   The route information 143 is information for specifying a route to which the flow entry (rule 144 + action information 145) is applied. This is an identifier associated with communication path information 16 described later.

設定情報146は、フローエントリ(ルール144+アクション情報145)が現在、通信経路上のPFS2に設定されているか否かを示す情報(「設定済み」又は「未設定」)を含む。設定情報146は、対象装置142や経路情報143に対応付けられているため、通信経路にフローエントリが設定されているか否かを確認できるとともに、通信経路上のPFS2毎にフローエントリが設定されているか否かを確認することができる。   The setting information 146 includes information (“set” or “not set”) indicating whether or not the flow entry (rule 144 + action information 145) is currently set in the PFS2 on the communication path. Since the setting information 146 is associated with the target device 142 and the route information 143, it can be confirmed whether or not a flow entry is set for the communication route, and a flow entry is set for each PFS2 on the communication route. It can be confirmed whether or not.

本発明によるフローテーブル14には、フローエントリ毎に経路決定者識別子147が設定される。本発明によるPFS2は、自身に設定された少なくとも1つのフローエントリの中から、パケット転送に利用するフローエントリを選択し、当該フローエントリを設定したPFC1を経路決定者に指定する。PFC1は、経路決定者識別子147として、経路決定者に指定されたか否かを示す情報をフローエントリ毎に記録する。例えば、経路決定者識別子147として、経路決定者として指定されたPFC1(自身)のコントローラID17が記録される。この場合、コントローラID17が対応付けられていないフローエントリ(ルール144+アクション145)は使用されず、他のPFC1が設定したフローエントリが使用されたものと確認できる。あるいは、PFS2から経路決定者として指定された場合、経路決定者識別子147として初期値(例えば“0”)と異なる値(例えば“1”)を設定してもよい。この場合、経路決定者として指定されない場合は、経路決定者識別子147が初期値を維持する。以上のように、本発明によるPFC1は、経路決定者識別子147を確認することで、自身が経路決定者か否かをフロー毎に確認できる。   In the flow table 14 according to the present invention, a route determiner identifier 147 is set for each flow entry. The PFS 2 according to the present invention selects a flow entry to be used for packet transfer from at least one flow entry set in itself, and designates the PFC 1 in which the flow entry is set as a route determiner. The PFC 1 records, for each flow entry, information indicating whether or not the route determiner is specified as the route determiner identifier 147. For example, the controller ID 17 of PFC1 (self) designated as the route determiner is recorded as the route determiner identifier 147. In this case, the flow entry (rule 144 + action 145) not associated with the controller ID 17 is not used, and it can be confirmed that the flow entry set by another PFC 1 is used. Alternatively, when designated as a route determiner from the PFS 2, a value (for example, “1”) different from an initial value (for example, “0”) may be set as the route determiner identifier 147. In this case, when not designated as a route determiner, the route determiner identifier 147 maintains the initial value. As described above, the PFC 1 according to the present invention can confirm whether or not the PFC 1 itself is a route determiner by checking the route determiner identifier 147 for each flow.

フロー管理部12は、フロー生成部13によって生成されたフロー(ルール144+アクション情報145)にフロー識別子141をつけて記憶装置に記録する。この際、フローエントリを適用する通信経路の識別子(経路情報143)やフローエントリを適用するPFS2の識別子(対象装置142)、及び経路決定者識別子147が、フローエントリ(ルール144+アクション情報145)に付されて記録される。ここで、フロー管理部12は、PFS2から経路決定者に指定された場合、自身が経路決定者に指定されたことを示す情報を経路決定者識別子147に設定する。   The flow management unit 12 attaches the flow identifier 141 to the flow (rule 144 + action information 145) generated by the flow generation unit 13 and records it in the storage device. At this time, the identifier of the communication path to which the flow entry is applied (route information 143), the identifier of the PFS2 to which the flow entry is applied (target device 142), and the route determiner identifier 147 are included in the flow entry (rule 144 + action information 145). Attached and recorded. Here, the flow management unit 12 sets information indicating that it is designated as the route determiner in the route determiner identifier 147 when the route determiner is designated by the PFS 2.

又、フロー管理部12は、フローテーブル14を参照して、ファーストパケットのヘッダ情報に対応するフローエントリ(ルール144+アクション情報145)を抽出し、スイッチ制御部11に通知する。スイッチ制御部11は、通知されたフローエントリ(ルール144+アクション情報145)にコントローラIDを付加し、当該フローエントリに対応付けられた対象装置142(PFS2)に設定する。   Further, the flow management unit 12 refers to the flow table 14, extracts a flow entry (rule 144 + action information 145) corresponding to the header information of the first packet, and notifies the switch control unit 11 of the flow entry. The switch control unit 11 adds a controller ID to the notified flow entry (rule 144 + action information 145), and sets it to the target device 142 (PFS2) associated with the flow entry.

フロー生成部13は、PFS2から通知されたファーストパケットのヘッダ情報から通信経路を算出し、当該通信経路上のPFS2に設定するフローエントリ(ルール144+アクション情報145)を生成する。詳細には、フロー生成部13は、ファーストパケットのヘッダ情報から、送信元のホスト3と宛先のホスト3を特定し、トポロジ情報15を用いて通信経路を算出し、算出結果を通信経路情報16として記憶装置に記録する。ここでは、通信経路の端点となるホスト3と、通信経路上のPFS2及びそれぞれの接続関係が通信経路情報16として設定される。又、フロー生成部13は、通信経路情報16に基づいて通信経路上のPFS2に設定するフローエントリ(ルール144+アクション情報145)を設定する。   The flow generation unit 13 calculates a communication path from the header information of the first packet notified from the PFS 2, and generates a flow entry (rule 144 + action information 145) to be set in the PFS 2 on the communication path. Specifically, the flow generation unit 13 specifies the transmission source host 3 and the destination host 3 from the header information of the first packet, calculates the communication path using the topology information 15, and calculates the calculation result as the communication path information 16. To the storage device. Here, the host 3 serving as the end point of the communication path, the PFS 2 on the communication path, and the connection relationship between them are set as the communication path information 16. Further, the flow generation unit 13 sets a flow entry (rule 144 + action information 145) to be set in the PFS 2 on the communication path based on the communication path information 16.

図5は、本発明によるPFC1が保持するトポロジ情報15の一例を示す図である。トポロジ情報15は、PFS2やホスト3等の接続状況に関する情報を含む。具体的には、トポロジ情報15として、PFS2やホスト3を特定する装置識別子151に、当該装置のポート数152やポート接続先情報153が対応付けられて記憶装置に記録される。ポート接続先情報153は、接続相手を特定する接続種別(スイッチ/ノード/外部ネットワーク)や接続先を特定する情報(PFS2の場合はスイッチID、ホストの場合はMACアドレス、外部ネットワーク(例示:インターネット)の場合は外部ネットワークID)が含まれる。   FIG. 5 is a diagram showing an example of the topology information 15 held by the PFC 1 according to the present invention. The topology information 15 includes information related to the connection status of the PFS 2, the host 3, and the like. Specifically, as the topology information 15, the device identifier 151 that identifies the PFS 2 or the host 3 is associated with the port number 152 or the port connection destination information 153 of the device and recorded in the storage device. The port connection destination information 153 includes a connection type (switch / node / external network) that identifies a connection partner, information that identifies a connection destination (switch ID in the case of PFS2, MAC address in the case of a host, external network (example: Internet) ) Includes an external network ID).

図6は、本発明によるPFC1が保持する通信経路情報の一例を示す図である。通信経路情報16は、通信経路を特定するための情報である。詳細には、通信経路情報16として、ホスト3や外部ネットワークインタフェース(図示なし)を端点として指定する端点情報161と、通過するPFS2とポートの対群を指定する通過スイッチ情報162と、付随情報163とが対応付けられて記憶装置に記録される。例えば、通信経路がホスト3間を接続する経路である場合、各ホスト3のMACアドレスが端点情報161として記録される。通過スイッチ情報162は、端点情報161で示される端点間の通信経路上に設けられるPFS2の識別子を含む。又、通過スイッチ情報162は、当該PFS2に設定されるフローエントリ(ルール144+アクション情報145)と当該PFS2とを対応づけるための情報を含んでも良い。付随情報163は、端点が変更された後の経路上のPFS2(通過スイッチ)に関する情報を含む。   FIG. 6 is a diagram showing an example of communication path information held by the PFC 1 according to the present invention. The communication path information 16 is information for specifying a communication path. Specifically, as the communication path information 16, end point information 161 that designates the host 3 or an external network interface (not shown) as an end point, passing switch information 162 that designates a pair group of PFS 2 and a port to pass, and accompanying information 163. Are associated and recorded in the storage device. For example, when the communication path is a path connecting the hosts 3, the MAC address of each host 3 is recorded as the end point information 161. The passing switch information 162 includes an identifier of the PFS 2 provided on the communication path between the end points indicated by the end point information 161. The passing switch information 162 may include information for associating the flow entry (rule 144 + action information 145) set in the PFS2 with the PFS2. The accompanying information 163 includes information related to PFS2 (passage switch) on the route after the end point is changed.

以上のような構成により、本発明によるPFC1は、PFS2からのファーストパケットの受信通知(フローエントリの設定要求)に応じて、当該パケットを転送させるためのフローエントリを生成するとともに、生成したフローエントリを、算出した通信経路上のPFS2に設定する。この際、設定するフローエントリには、PFC1に固有のコントローラID17が対応付けられている。   With the configuration as described above, the PFC 1 according to the present invention generates a flow entry for transferring the packet in response to the first packet reception notification (flow entry setting request) from the PFS 2, and the generated flow entry. Is set to PFS2 on the calculated communication path. At this time, the controller ID 17 unique to the PFC 1 is associated with the flow entry to be set.

図7は、本発明によるPFS2の実施の形態における構成を示す図である。PFS2は、PFC1によって設定(更新)されたフローテーブル25に従って受信パケットの処理方法(アクション)を決定する。PFS2は、転送処理部21、フロー設定部22、経路決定者設定部23、パケット修正部24を備える。転送処理部21、フロー設定部22、経路決定者設定部23、パケット修正部24は、ハードウェアで構成されても、CPUによって実行されるソフトウェアで実現してもどちらでも良い。   FIG. 7 is a diagram showing a configuration in the embodiment of the PFS 2 according to the present invention. The PFS 2 determines a received packet processing method (action) according to the flow table 25 set (updated) by the PFC 1. The PFS 2 includes a transfer processing unit 21, a flow setting unit 22, a route determiner setting unit 23, and a packet correction unit 24. The transfer processing unit 21, the flow setting unit 22, the route determination unit setting unit 23, and the packet correction unit 24 may be configured by hardware or may be realized by software executed by the CPU.

PFS2の記憶装置には、図8に示すようなフローテーブル25が設定される。フローテーブル25は、PFC1によるフローエントリ設定指示(フローテーブル更新指示)に応じて、PFC1から送信されたフローエントリ(ルール144+アクション情報145)及びコントローラID17が対応付けられて設定される。コントローラID17により、フローテーブル25に設定されたフローエントリ(アクション情報145)がどのPFC1によって設定されたかを確認することができる。   A flow table 25 as shown in FIG. 8 is set in the storage device of the PFS2. The flow table 25 is set in association with the flow entry (rule 144 + action information 145) transmitted from the PFC 1 and the controller ID 17 in accordance with the flow entry setting instruction (flow table update instruction) by the PFC 1. With the controller ID 17, it is possible to confirm by which PFC 1 the flow entry (action information 145) set in the flow table 25 is set.

本発明では、同じルール144に対して複数のアクション情報145が設定され得る。このため、受信パケットに対する処理(アクション)を一義的に決めるための経路決定者識別子231が、処理に使用するフローエントリのルール144に対応付けられて設定される。本発明では、PFS2に設定されるフローエントリには設定元のコントローラID17が付されているため、コントローラID17を利用して、受信パケットに対するアクション(処理内容)を特定することが好ましい。従って、経路決定者識別子231は、使用するアクション情報145を設定したコントローラID17を特定する情報であることが好ましい。経路決定者識別子231によって、使用するアクション情報145のみならず、アクション情報145を設定したPFC1を特定することができる。   In the present invention, a plurality of action information 145 can be set for the same rule 144. Therefore, the route deciding identifier 231 for uniquely determining the processing (action) for the received packet is set in association with the rule 144 of the flow entry used for processing. In the present invention, since the controller ID 17 of the setting source is attached to the flow entry set in the PFS 2, it is preferable to specify the action (processing content) for the received packet using the controller ID 17. Therefore, the route deciding identifier 231 is preferably information for specifying the controller ID 17 in which the action information 145 to be used is set. The route deciding identifier 231 can specify not only the action information 145 to be used but also the PFC 1 in which the action information 145 is set.

又、経路決定者識別子231が付与されたフローエントリ(ルール144+アクション情報145)の使用回数が記録される回数情報232が、当該経路決定者識別子231又はルール144に対応付けられて設定されることが好ましい。回数情報232により、フローエントリの使用回数、すなわち、フローテーブル25に設定されたルール144に適合するパケットの受信回数や処理回数を確認することができる。   In addition, the number information 232 in which the number of times of use of the flow entry (rule 144 + action information 145) to which the route deciding identifier 231 is assigned is set in association with the route deciding identifier 231 or the rule 144. Is preferred. The number-of-times information 232 makes it possible to confirm the number of times that a flow entry is used, that is, the number of times a packet that meets the rule 144 set in the flow table 25 is received and the number of times it is processed.

転送処理部21は、フローテーブル25に設定されたフローエントリ(ルール144+アクション情報145)に従った転送先に受信パケットを転送する。本発明では、受信パケットのヘッダ情報に適合するルール144に対して複数のアクション情報145がフローテーブル25に設定されている場合がある。このため、本発明による転送処理部21は、経路決定者識別子231によって特定されたアクション情報145に従って転送処理を行う。   The transfer processing unit 21 transfers the received packet to the transfer destination according to the flow entry (rule 144 + action information 145) set in the flow table 25. In the present invention, a plurality of action information 145 may be set in the flow table 25 for the rule 144 that matches the header information of the received packet. Therefore, the transfer processing unit 21 according to the present invention performs the transfer process according to the action information 145 specified by the route deciding identifier 231.

転送処理部21は、受信パケットに対する処理(例えば転送処理)を実行すると、処理回数をカウントアップし、受信パケットに対応するフローエントリの回数情報232を更新する。   When the transfer processing unit 21 executes a process (for example, transfer process) on the received packet, the transfer processing unit 21 counts up the number of processes and updates the flow entry number information 232 corresponding to the received packet.

フロー設定部22は、PFC1からのフローテーブル更新指示に応じて、PFC1から送信されるフローエントリ(ルール144+アクション情報145)をフローテーブル25に設定する。詳細には、フロー設定部22は、受信パケットに適合したフローエントリがフローテーブル25に設定されていない場合、すなわち、ファーストパケットを受信した場合、当該ファーストパケットをPFC1−1〜1−mに通知するとともに、フローテーブルの更新を要求する。又、PFC1−1〜1−mからのフローテーブルの更新指示を受けたフロー設定部22は、PFC1−1〜1−mからから送信されたフローエントリ(ルール144+アクション情報145)及びコントローラID17を自身のフローテーブル25に設定する。   The flow setting unit 22 sets the flow entry (rule 144 + action information 145) transmitted from the PFC 1 in the flow table 25 in response to the flow table update instruction from the PFC 1. In detail, when the flow entry suitable for the received packet is not set in the flow table 25, that is, when the first packet is received, the flow setting unit 22 notifies the PFC 1-1 to 1-m of the first packet. At the same time, it requests to update the flow table. In addition, the flow setting unit 22 that has received an instruction to update the flow table from the PFC 1-1 to 1-m displays the flow entry (rule 144 + action information 145) and the controller ID 17 transmitted from the PFC 1-1 to 1-m. Set in own flow table 25.

PFS2には、PFC1−1〜1−mのそれぞれからフローエントリが設定されため、PFS2のフローテーブル25には、ファーストパケットに適合するフローエントリが複数設定される。すなわち、同じルール144に対して複数の異なるアクション情報145が設定されることとなる。本発明では、コントローラID17により、設定されたフローエントリ(アクション情報145)がどのPFC1によって設定されたかを確認することができる。   Since flow entries are set in PFS2 from PFC 1-1 to 1-m, a plurality of flow entries that match the first packet are set in the flow table 25 of PFS2. That is, a plurality of different action information 145 is set for the same rule 144. In the present invention, it is possible to confirm by which PFC 1 the set flow entry (action information 145) is set by the controller ID 17.

本発明による経路決定者設定部23は、ファーストパケットを受信した場合と、それ以外のパケットデータ(フローテーブル25に設定されているフローエントリに適合するパケットデータ)を受信した場合とで、その動作が異なる。すなわち、PFS2は、ファーストパケットを受信してからファーストパケットを次のノード(例えばPFS2)に転送するまでの間は、経路決定者選択モードとして動作し、その他の期間は通常モードとして動作する。   The route determiner setting unit 23 according to the present invention operates when receiving a first packet and when receiving other packet data (packet data matching the flow entry set in the flow table 25). Is different. That is, the PFS 2 operates as the route deciding mode until the first packet is transferred to the next node (for example, PFS 2) after receiving the first packet, and operates as the normal mode during the other periods.

先ず、経路決定者選択モードにおける経路決定者設定部23の動作を説明する。経路決定者設定部23は、ファーストパケットを通知(フローテーブル更新要求)した複数のPFC1−1〜1−mのうち、最初にフローテーブルの更新を自身に指示したPFC1を、経路決定者として指定する。この際、経路決定者設定部23は、経路決定者として指定したPFC1のコントローラID17に経路決定者識別子231を設定する。これにより、ルール144に適合するパケットデータに対するアクション情報145(処理方法)を経路決定者識別子231によって特定することができる。経路決定者設定部23は、経路決定者識別子231を設定したコントローラID17のPFC1に対し、経路決定者として指定する情報、及び経路決定者を設定したルール144を送信する。又、経路決定者の指定後、フロー設定部22は、PFC1からのフローテーブルの更新指示を無視(拒否)することが好ましい。   First, the operation of the route determiner setting unit 23 in the route determiner selection mode will be described. The route deciding unit setting unit 23 designates PFC1 that first instructed itself to update the flow table among the plurality of PFCs 1-1 to 1-m that have notified the first packet (flow table update request) as the route deciding unit. To do. At this time, the route determiner setting unit 23 sets the route determiner identifier 231 to the controller ID 17 of the PFC 1 designated as the route determiner. Thereby, the action information 145 (processing method) for the packet data conforming to the rule 144 can be specified by the route deciding identifier 231. The route deciding unit setting unit 23 transmits to the PFC 1 of the controller ID 17 in which the route deciding identifier 231 is set, information to be designated as a route deciding unit and a rule 144 in which the route deciding unit is set. Further, it is preferable that the flow setting unit 22 ignore (reject) the instruction to update the flow table from the PFC 1 after the designation of the route determiner.

次に、通常モードにおける経路決定者設定部23の動作を説明する。経路決定者設定部23は、受信パケットに含まれる経理決定者情報18と一致するコントローラID17に経路決定者識別子231を設定する。詳細には、経路決定者設定部23は、フローテーブル25に設定されたルール144に適合するパケットを受信した場合、当該パケットの受信回数(転送回数)を回数情報232で確認する。この際、ルール144に適合するパケットの受信が初回である場合、経路決定者設定部23は、受信パケットから抽出した経路決定者情報18に一致するコントローラIDが付加されたフローエントリ(アクション情報145)に、経路決定者識別子231を設定する。又、経路決定者の指定後(経路決定者識別子231の設定後)、フロー設定部22は、PFC1によって設定された他のフローエントリを削除することが好ましい。一方、受信回数が2回目以降である場合、経路決定者設定部23は、自身のフローテーブル25を参照し、経路決定者識別子231が付されたフローエントリ(アクション情報145)に従って、受信パケットの処理(例えば転送処理)を行う。   Next, the operation of the route determiner setting unit 23 in the normal mode will be described. The route determiner setting unit 23 sets the route determiner identifier 231 to the controller ID 17 that matches the accounting determiner information 18 included in the received packet. Specifically, when receiving a packet conforming to the rule 144 set in the flow table 25, the route deciding unit setting unit 23 checks the number of times of reception (number of transfers) of the packet with the number information 232. At this time, if the packet conforming to the rule 144 is received for the first time, the route deciding unit setting unit 23 adds the flow ID (action information 145) to which the controller ID that matches the route deciding information 18 extracted from the received packet is added. ) Is set with the route deciding identifier 231. Moreover, it is preferable that the flow setting unit 22 deletes other flow entries set by the PFC 1 after designation of the route determiner (after setting the route determiner identifier 231). On the other hand, when the number of times of reception is the second time or later, the route deciding unit setting unit 23 refers to its own flow table 25, and according to the flow entry (action information 145) to which the route deciding identifier 231 is attached, Processing (for example, transfer processing) is performed.

パケット修正部24は、ファーストパケットを受信したPFS2において動作し、図10に示すように、ファーストパケット105に経路決定者情報18を追加して新たなパケットデータ90(以下、経路決定者情報付パケット90と称す)を作成する。転送処理部21は、ファーストパケットを送信する際、パケット修正部24によって生成された経路決定者情報付パケット90を転送する。   The packet modification unit 24 operates in the PFS 2 that has received the first packet. As shown in FIG. 10, the packet modification unit 24 adds the route determiner information 18 to the first packet 105 and adds new packet data 90 (hereinafter referred to as a packet with route determiner information). 90). When transmitting the first packet, the transfer processing unit 21 transfers the route determiner information-added packet 90 generated by the packet correction unit 24.

転送処理部21によるファーストパケットの転送処理は、新しくフローエントリ(ルール144+アクション145)が設定され、経路決定者識別子231が設定されたことをトリガとして実施されることが好ましい。この際、転送処理部21は、パケット修正部24によって生成された経路決定者付パケット90を転送する。   It is preferable that the transfer process of the first packet by the transfer processing unit 21 is performed with a new flow entry (rule 144 + action 145) being set and a route deciding identifier 231 being set as a trigger. At this time, the transfer processing unit 21 transfers the route determining person-added packet 90 generated by the packet correction unit 24.

以上のように、本発明によるコンピュータシステムでは、複数のPFC3−1〜3−iによってフロー(パケット)を転送するための通信経路が構築されるため、PFC3−1〜3−iのいずれかに障害が発生してもパケット転送が可能となる。又、フローエントリ(ルール144+アクション情報145)には、PFC3毎に固有のコントローラID17が付与されている。このため、同じルール144に対して複数のアクション情報145が設定されていても、コントローラID17を使用決定者として指定することで、使用するアクション情報145を特定することができる。すなわち、複数のPFC3によってフローエントリが設定されてもPFS2が使用するフローエントリは常に1つとなるため、PFS2は、誤動作せずにパケットを転送することができる。   As described above, in the computer system according to the present invention, a communication path for transferring a flow (packet) is constructed by a plurality of PFCs 3-1 to 3-i. Packet transfer is possible even if a failure occurs. In addition, a unique controller ID 17 is assigned to each PFC 3 in the flow entry (rule 144 + action information 145). For this reason, even if a plurality of action information 145 is set for the same rule 144, the action information 145 to be used can be specified by designating the controller ID 17 as the use determining person. That is, even if a flow entry is set by a plurality of PFCs 3, there is always one flow entry used by the PFS 2. Therefore, the PFS 2 can transfer a packet without malfunction.

又、本発明では、フローテーブルの更新が、宛先ホスト側のPFS2から送信元ホスト側のPFS2(ファーストパケットを受信したPFS2)に向かって順に行われる。このため、ファーストパケットを通知したPFS2のフローテーブル25が更新された時点で、送信元のホスト3から宛先のホスト3までの通信経路上の全てのPFS2のフローテーブル25が更新されたことになる。すなわち、ファーストパケットを通知したPFS2のフローテーブル25を最初に更新したPFC1は、複数のPFC1のうち、通信経路上の全てのPFS2のフローテーブル25を更新した最初のPFC1となる。   In the present invention, the flow table is updated in order from PFS2 on the destination host side to PFS2 on the source host side (PFS2 that received the first packet). For this reason, when the PFS2 flow table 25 that has notified the first packet is updated, all the PFS2 flow tables 25 on the communication path from the transmission source host 3 to the destination host 3 are updated. . That is, the PFC1 that first updated the PFS2 flow table 25 that has notified the first packet is the first PFC1 that has updated all the PFS2 flow tables 25 on the communication path among the plurality of PFC1s.

(通信経路の構築及びパケット転送動作)
図11A、Bから図13を参照して、本発明によるコンピュータシステムにおける通信経路の構築動作の詳細を説明する。以下では、ホスト3−1からホスト3−iに対してパケットデータを送信し、それぞれの間の通信経路を構築する動作について説明する。又、ここでは、PFS2−1がホスト3−1からファーストパケットを受信するものとする。更に、PFC1−1のコントローラID17として“1011”が設定され、PFC1−2のコントローラID17として“1012”が設定され、以下同様に、PFC1−mのコントローラID17として“101m”が設定されるものとする。
(Construction of communication path and packet transfer operation)
With reference to FIGS. 11A and 11B to FIG. 13, the details of the operation of establishing a communication path in the computer system according to the present invention will be described. Hereinafter, an operation of transmitting packet data from the host 3-1 to the host 3-i and establishing a communication path between them will be described. Here, it is assumed that the PFS 2-1 receives the first packet from the host 3-1. Further, “1011” is set as the controller ID 17 of the PFC 1-1, “1012” is set as the controller ID 17 of the PFC 1-2, and similarly “101m” is set as the controller ID 17 of the PFC1-m. To do.

図11A、Bは、本発明によるコンピュータシステムの実施の形態における通信経路の構築処理(フローテーブル更新処理)及びパケット転送処理の動作を示すシーケンス図である。図11を参照して、ホスト3−1からホスト3−i宛のパケットデータが送信され、ホスト3−1側で最も近いPFS2−1によって受信される(ステップS101)。   FIGS. 11A and 11B are sequence diagrams showing operations of communication path construction processing (flow table update processing) and packet transfer processing in the embodiment of the computer system according to the present invention. Referring to FIG. 11, packet data addressed to host 3-i is transmitted from host 3-1 and received by the nearest PFS 2-1 on the host 3-1 side (step S101).

PFS2−1はホスト3−1から受け取ったパケット内にあるヘッダ情報(送信先情報)を参照し、PFS2−1内部で保持しているフローテーブル25から該当エントリを探す(ステップS102)。ここで、ヘッダ情報に対応するフローエントリ(ルール144)がある場合、当該エントリで規定されたアクション情報145に基づいた転送先のノードに受信パケットを転送する(ステップS102No、S119)。   The PFS 2-1 refers to the header information (transmission destination information) in the packet received from the host 3-1, and searches for the corresponding entry from the flow table 25 held in the PFS 2-1 (step S102). If there is a flow entry (rule 144) corresponding to the header information, the received packet is transferred to the transfer destination node based on the action information 145 defined by the entry (steps S102 No, S119).

一方、ヘッダ情報に対応するフローエントリがフローテーブル25にない場合、PFS2−1はファーストパケットを受信したと判定し、ファーストパケットの受信をPFC1−1〜1−mのそれぞれに通知する(ステップS102Yes、S103、S104)。この際、PFS2−1は、フローテーブルの更新要求とともにファーストパケット(又はヘッダ情報)をPFC1−1〜1−mに送信する。以下、PFS2−1を要求元PFS2−1と称して説明する。   On the other hand, if there is no flow entry corresponding to the header information in the flow table 25, the PFS 2-1 determines that the first packet has been received, and notifies each of the PFCs 1-1 to 1-m that the first packet has been received (step S102 Yes). , S103, S104). At this time, the PFS 2-1 transmits a first packet (or header information) to the PFCs 1-1 to 1-m together with a flow table update request. Hereinafter, the PFS2-1 will be described as the request source PFS2-1.

ファーストパケットの受信通知を受け付けたPFC1−1〜1−mのそれぞれは、当該フロー(パケット)に対する通信経路の算出、フローエントリの生成、及びPFS2に対するフローエントリの設定(フローテーブル25の更新)を行う(ステップS105〜S112)。詳細には、PFS2−1からファーストパケットを受け取ったPFC1−1は、パケット内に含まれている送信元ホストや宛先ホストのMACアドレスやIPアドレスなど、OpenFlowとして規定されている情報を元に経路を決定し、当該経路上のPFS2に設定するフローエントリを生成する(ステップS105)。   Each of the PFCs 1-1 to 1-m that has received the reception notification of the first packet performs calculation of a communication path for the flow (packet), generation of a flow entry, and setting of a flow entry for the PFS2 (update of the flow table 25). It performs (steps S105-S112). More specifically, the PFC 1-1 that has received the first packet from the PFS 2-1 is routed based on information defined as OpenFlow, such as the MAC address and IP address of the source host and destination host included in the packet. And a flow entry to be set in the PFS 2 on the route is generated (step S105).

PFC1−1は、生成したフローエントリにPFC1−1のコントローラID17“1011”を付与して、宛先ホスト側のPFS2−nから順にフローテーブル25の更新を行う(ステップS106〜S109)。詳細には、PFC1−1は、先ず、宛先のホスト3−iに最も近いPFS2−nに対してPFC1−1のコントローラID17“1011”を付与したフローエントリを送信する(ステップS106)。PFS2−nは、PFC1−1からのフローテーブルの更新指示に応じて、送信されたフローエントリを設定する(ステップS107)。同様に、PFC1−1は、算出した経路上を送信元側に方向に遡り、1つ前のPFS2に対して順にフローテーブルを更新し、最後に送信元のホスト3−1に最も近い要求元PFS2−1フローテーブルを更新する(ステップS108、S109)。   The PFC 1-1 assigns the controller ID 17 “1011” of the PFC 1-1 to the generated flow entry, and updates the flow table 25 in order from the PFS 2-n on the destination host side (steps S106 to S109). Specifically, the PFC 1-1 first transmits a flow entry to which the controller ID 17 “1011” of the PFC 1-1 is assigned to the PFS 2-n closest to the destination host 3-i (step S106). The PFS 2-n sets the transmitted flow entry in response to the flow table update instruction from the PFC 1-1 (step S107). Similarly, the PFC 1-1 goes back in the direction of the transmission source on the calculated route, updates the flow table in order with respect to the previous PFS 2, and finally the request source closest to the transmission source host 3-1. The PFS2-1 flow table is updated (steps S108 and S109).

フローエントリの更新処理は、他のPFC1−2〜1−mも同様に行う。例えば、PFC1−mは、生成したフローエントリにPFC1−mのコントローラID17“101m”を付与して、宛先ホスト側のPFS2−nから順にフローテーブル25の更新を行う(ステップS110〜S112)。又、PFC1−mは、算出した経路上を送信元側に方向に遡り、1つ前のPFS2に対して順にフローテーブルを更新し、最後に送信元のホスト3−1に最も近いPFS2−1フローテーブルを更新する。   The flow entry update process is similarly performed for the other PFCs 1-2 to 1-m. For example, the PFC 1-m assigns the controller ID 17 “101m” of the PFC 1-m to the generated flow entry and updates the flow table 25 in order from the PFS 2-n on the destination host side (steps S110 to S112). The PFC 1-m goes back on the calculated route toward the transmission source side, updates the flow table sequentially with respect to the previous PFS 2, and finally the PFS 2-1 closest to the transmission source host 3-1. Update the flow table.

PFC1−1〜1−mによるPFS2に対するフローテーブルの更新処理は、それぞれ同期することなく独立的に実施される。このため、フローテーブルの更新順序は、図11A、Bに示す順とは限らない。又、ファーストパケットの受信通知を受け取るタイミングや経路計算開始時のタイミングの違いから、ネットワーク上の機器の状態が変化している可能性があり、必ずしも一致しているとは限らない。このため、PFC1−1〜1−mのそれぞれが算出した通信経路や、フローエントリの設定対象となるPFS2は異なる場合がある。   The process of updating the flow table for the PFS 2 by the PFC 1-1 to 1-m is performed independently without being synchronized. For this reason, the update order of the flow table is not necessarily the order shown in FIGS. In addition, there is a possibility that the state of the device on the network has changed due to the difference in the timing of receiving the reception notification of the first packet and the timing at the start of route calculation, and they do not always match. For this reason, the communication path calculated by each of the PFCs 1-1 to 1-m and the PFS 2 that is the setting target of the flow entry may be different.

PFC1−1〜1−mによるフローテーブルの更新処理により、PFS2には、1つのルールに対して複数(最大m個)のアクション情報145が設定される。ただし、それぞれのアクション情報145には、設定元のPFC1に対応するコントローラID17が対応付けられて記録される。   By the flow table update process by the PFC 1-1 to 1-m, a plurality of (maximum m) action information 145 is set for one rule in the PFS2. However, in each action information 145, a controller ID 17 corresponding to the setting source PFC 1 is recorded in association with each other.

ここで、PFC1−1〜1−mのいずれかによって要求元PFS2−1に対してフローエントリの設定指示(フローテーブルの更新指示)が出されると、要求元PFS2−1は、経路決定者を設定する(ステップS113)。ここでは、PFC1−1が最初に要求元PFS2−1のフローテーブル25を更新し、経路決定者として設定されるものとする。要求元PFS2−1は、PFC1−1によって設定されたフローエントリ(ルール144+アクション情報145)に経路決定者識別子231を対応付けて設定する。又、これ以降、要求元PFS2−1において、経路決定者として指定しないPFC1によるフローテーブルの更新指示は無視(拒否)される。   When a flow entry setting instruction (flow table update instruction) is issued to the request source PFS 2-1 by any of the PFCs 1-1 to 1-m, the request source PFS 2-1 determines the route determiner. Setting is made (step S113). Here, it is assumed that the PFC 1-1 first updates the flow table 25 of the request source PFS 2-1 and is set as a route determiner. The request source PFS 2-1 sets the route determiner identifier 231 in association with the flow entry (rule 144 + action information 145) set by the PFC 1-1. Thereafter, in the request source PFS 2-1, an instruction to update the flow table by the PFC 1 not designated as a route determiner is ignored (rejected).

要求元PFS2−1は、経路決定者識別子231を付与したフローエントリのコントローラID17に対応するPFC1を経路決定者に指定する(ステップS114)。例えば、PFC1−1を経路決定者に指定を指定する場合、PFC1−1に対して経路決定者を指定する情報(例えば経路決定者識別子231)とフローエントリを特定する情報(例えばルール144)を送信する。PFC1−1は、受信したルール144に対して、経路決定者を指定する情報(例えば経路決定者識別子231)を対応付けてフローテーブル14を更新する(ステップS115)。これにより、PFC1−1は、自身が設定し、制御及び管理可能なフロー及びその通信経路を確認することが可能となる。すなわち、PFC1−1は、自身の構築した通信経路を利用したフローの一元制御及び管理が可能となる。   The request source PFS2-1 designates PFC1 corresponding to the controller ID 17 of the flow entry to which the route determiner identifier 231 is assigned as the route determiner (step S114). For example, when specifying the designation of the PFC 1-1 as the route determiner, information for specifying the route determiner for the PFC 1-1 (for example, the route determiner identifier 231) and information for specifying the flow entry (for example, the rule 144). Send. The PFC 1-1 updates the flow table 14 by associating information (for example, the route determiner identifier 231) specifying the route determiner with the received rule 144 (step S115). As a result, the PFC 1-1 can check the flow and the communication path that can be set and controlled by the PFC 1-1. That is, the PFC 1-1 can perform unified control and management of flows using the communication path constructed by itself.

要求元PFS2−1は、ステップS114における経路決定者の指定の後、又はこれと同時的に他のPFC1(ここではPFC1−2〜1−m)に対して、経路決定者を通知する(ステップS116)。要求元PFS2−1は、PFC1−2〜1−mに対して経路決定者ではないことを示す情報とフローエントリを特定する情報(例えばルール144)を送信する。経路決定者として選択されなかったPFC1−2〜1−mは、自身のフローテーブル14から、PFS2−1から通知されたルール144を含むフローエントリを削除する(ステップS117)。又、経路決定者として選択されなかったPFC1−2〜1−mは、フローエントリの生成途中である場合、PFS2−1から通知されたルール144を含むフローエントリの生成を停止することが好ましい。このように、使用しないフローエントリの削除や、使用しないフローエントリの生成を中止することで、PFC1における記憶領域の無駄や処理負荷の増大を防止することができる。ただし、ステップS116及びS117の処理は省略してもよい。   The request source PFS 2-1 notifies the route determiner to the other PFC 1 (here, PFC 1-2 to 1-m) after the designation of the route determiner in step S114 or simultaneously (step S114). S116). The request source PFS 2-1 transmits to the PFC 1-2 to 1-m information indicating that the requester PFS 2-1 is not a route determiner and information specifying the flow entry (for example, rule 144). The PFCs 1-2 to 1-m not selected as the route determiner delete the flow entry including the rule 144 notified from the PFS 2-1 from its own flow table 14 (step S117). In addition, when the PFCs 1-2 to 1-m not selected as the route determiner are in the process of generating the flow entry, it is preferable to stop generating the flow entry including the rule 144 notified from the PFS 2-1. As described above, by deleting the unused flow entries and canceling the generation of unused flow entries, it is possible to prevent the storage area in the PFC 1 from being wasted and the processing load from increasing. However, the processing of steps S116 and S117 may be omitted.

要求元PFS2−1は、経路決定者を設定(指定)すると、ファーストパケット105に経路決定者情報18を追加して経路決定者情報付パケット90を生成及び送信する(ステップS118)。この際、要求元PFS2−1は、経路決定者であるPFC1−1のコントローラID“1011”を経路決定者情報18としてファーストパケット105に追加して経路決定者情報付パケット90を生成する。そして、コントローラID“1011”が付されたアクション情報145に従った転送先に当該パケット90を転送する。   When the request source PFS 2-1 sets (designates) the route determiner, the request source PFS 2-1 adds the route determiner information 18 to the first packet 105 and generates and transmits the packet 90 with the route determiner information (step S118). At this time, the request source PFS 2-1 adds the controller ID “1011” of the PFC 1-1 as the route determiner as the route determiner information 18 to the first packet 105 to generate the route determiner information-added packet 90. Then, the packet 90 is transferred to the transfer destination according to the action information 145 with the controller ID “1011”.

経路決定者情報付パケット90を受信したPFS2は、経路決定者情報付パケット90のヘッダ情報に適合するルール144に対応する複数のアクション情報145から、経路決定者情報付パケット90内の経路決定者情報18と一致するコントローラID17が付加されたアクション情報145を抽出する。そしてPFS2は、抽出したアクション情報145に従った処理(ここでは転送処理)を行う。これにより、ファーストパケット105は、経路決定者(PFC1−1)によって設定された通信経路を経由して宛先のホスト3−iに送信される。   The PFS 2 that has received the packet 90 with the route determiner information receives the route determiner in the packet 90 with the route determiner information from the plurality of action information 145 corresponding to the rule 144 that matches the header information of the packet 90 with the route determiner information. The action information 145 to which the controller ID 17 that matches the information 18 is added is extracted. Then, the PFS 2 performs processing (here, transfer processing) according to the extracted action information 145. As a result, the first packet 105 is transmitted to the destination host 3-i via the communication path set by the route determiner (PFC1-1).

経路決定者情報付パケット90を転送したPFS2は、経路決定者情報付パケット90に適合するルール144に対応するアクション情報145のうち、転送に利用しないアクション情報145を自身のフローテーブル25から削除することが好ましい。この場合、PFS2は、経路決定者によって設定されたフローエントリのみを使用できるため、要求元PFS2−1は、ファーストパケット以外のパケットに経路決定者情報18を含めて転送する必要はない。   The PFS 2 that has transferred the packet 90 with the route determiner information deletes the action information 145 that is not used for transfer from the flow table 25 of the action information 145 corresponding to the rule 144 that matches the packet 90 with the route determiner information. It is preferable. In this case, since the PFS 2 can use only the flow entry set by the route determiner, the request source PFS 2-1 need not include the route determiner information 18 in a packet other than the first packet.

又、PFS2は、ルール144に適合するパケットの処理回数をカウントアップし、回数情報232を更新する。   In addition, the PFS 2 counts up the number of processing of the packet that conforms to the rule 144 and updates the number information 232.

以降、PFS2は、受信パケットに適合するフローエントリに従ってパケットデータを転送する(ステップS119)。これにより、ホスト3−1からホスト3−iに対して送信されるパケットデータは、経路決定者(PFC1−1)によって各PFS2に設定されたアクション情報145に従って転送される。すなわち、ホスト3−1からホスト3−iに対して送信されるパケットデータは、経路決定者(PFC1−1)によって構築された通信経路を経由して宛先のホスト3−iに送信されることとなる。   Thereafter, the PFS 2 transfers the packet data according to the flow entry that matches the received packet (step S119). Thereby, the packet data transmitted from the host 3-1 to the host 3-i is transferred according to the action information 145 set in each PFS2 by the route determiner (PFC1-1). That is, the packet data transmitted from the host 3-1 to the host 3-i is transmitted to the destination host 3-i via the communication path constructed by the route determiner (PFC 1-1). It becomes.

一方、何らかの障害により、経路決定者付パケット90内の経路決定者情報18に一致するコントローラID17が、PFS2のフローテーブル25に設定されていないことがある。このような問題を解決する転送処理方法を、図12を参照して説明する。図12は、本発明によるPFS2におけるパケット転送動作の一例を示すフロー図である。   On the other hand, the controller ID 17 that matches the route determiner information 18 in the route determiner-added packet 90 may not be set in the flow table 25 of the PFS 2 due to some failure. A transfer processing method for solving such a problem will be described with reference to FIG. FIG. 12 is a flowchart showing an example of a packet transfer operation in the PFS 2 according to the present invention.

図12を参照して、PFS2は、受信パケットに適合するフローエントリ(ルール144+アクション情報145)の適用回数が、初回(1回目)か2日回目以降かを、回数情報232を参照して判定する(ステップS201)。受信パケットに適合するフローエントリ(ルール144+アクション情報145)に対応する回数情報232が“0”を示す場合、当該フローエントリの適用が初回であると判定される(ステップS201Yes)。すなわち、受信パケットがファーストパケット105を含む経路決定者情報付パケット90であると判定される。この場合、PFS2は、受信パケットに含まれる経路決定者情報18と、当該フローエントリに設定されたコントローラID17とを比較する(ステップS202)。   Referring to FIG. 12, PFS 2 determines whether the number of times of application of the flow entry (rule 144 + action information 145) that matches the received packet is the first time (first time) or after the second day, with reference to frequency information 232 (Step S201). When the count information 232 corresponding to the flow entry (rule 144 + action information 145) matching the received packet indicates “0”, it is determined that the flow entry is applied for the first time (Yes in step S201). That is, it is determined that the received packet is the packet 90 with route determination information including the first packet 105. In this case, the PFS 2 compares the route determiner information 18 included in the received packet with the controller ID 17 set in the flow entry (step S202).

ネットワークやPFS2に何らかの障害が発生した場合、受信パケット内の経路決定者情報18と一致するコントローラID17がフローテーブル25に設定されていないことがある。この場合、PFS2は、受信パケットに付加されている経路決定者情報18と同じコントローラID17が付与されたPFC1に対して、受信パケットを転送する(ステップS202No、S203)。PFC1は、PFS2から受け取ったパケットデータのヘッダ情報により送信元及び宛先のホスト3を特定し、通信経路の算出及びPFS2に設定するフローエントリ(ルール144+アクション情報145)の生成を行う。そして、PFC1は、通信経路上のPFS2に対してフローエントリの設定指示(フローテーブルの更新指示)を発行する(ステップS204)。受信パケットが通知されたPFC1は、ファーストパケットを通知したPFS2によって経路決定者に設定されている。この場合、障害が発生せず正常に動作している可能性が高いため、再度のフローテーブルの更新処理も失敗せずに実行され得る。   When a failure occurs in the network or the PFS 2, the controller ID 17 that matches the route determiner information 18 in the received packet may not be set in the flow table 25. In this case, the PFS 2 transfers the received packet to the PFC 1 to which the same controller ID 17 as the route determiner information 18 added to the received packet is assigned (No in Steps S202 and S203). The PFC 1 identifies the source and destination hosts 3 based on the header information of the packet data received from the PFS 2, calculates the communication path, and generates a flow entry (rule 144 + action information 145) to be set in the PFS 2. Then, the PFC 1 issues a flow entry setting instruction (flow table update instruction) to the PFS 2 on the communication path (step S204). The PFC 1 notified of the received packet is set as a route determiner by the PFS 2 that notified the first packet. In this case, since there is a high possibility that a failure does not occur and the operation is normal, the flow table update process can be executed again without failure.

以降、新たに設定されたフローエントリ(アクション情報145)に従って、受信パケットの転送処理を行う(ステップS205)。その後、該当フローエントリに対応する処理回数をカウントアップして回数情報232を更新する(ステップS206)。   Thereafter, the received packet is transferred in accordance with the newly set flow entry (action information 145) (step S205). Thereafter, the number of processes corresponding to the flow entry is counted up and the number information 232 is updated (step S206).

一方、受信パケット内の経路決定者情報18と一致するコントローラID17がフローテーブル25に設定されている場合、当該コントローラID17に対応するアクション情報145に従って、受信パケットの転送処理が行われる(ステップS202Yes、S205)。その後、該当フローエントリに対応する処理回数をカウントアップして回数情報232を更新する(ステップS206)。この際、PFS2は、経路決定者情報18と一致しないコントローラID17が付されたアクション情報145をフローテーブル25から削除する、あるいは、経路決定者識別子231をアクション情報145に対応付けて、以後使用するアクション情報145を特定する。   On the other hand, when the controller ID 17 that matches the route determiner information 18 in the received packet is set in the flow table 25, the received packet is transferred according to the action information 145 corresponding to the controller ID 17 (Yes in step S202). S205). Thereafter, the number of processes corresponding to the flow entry is counted up and the number information 232 is updated (step S206). At this time, the PFS 2 deletes the action information 145 assigned with the controller ID 17 that does not match the route determiner information 18 from the flow table 25, or associates the route determiner identifier 231 with the action information 145 and uses it thereafter. Action information 145 is specified.

ただし、受信パケットに付加されている経路決定者情報18と、フローテーブル25のエントリに追加されているコントローラID17が異なることはごく稀であり、何らかの障害が発生した場合に限られる。   However, it is rare that the route determination information 18 added to the received packet is different from the controller ID 17 added to the entry of the flow table 25, and only when some kind of failure occurs.

ステップS201において、 受信パケットに適合するフローエントリ(ルール144+アクション情報145)に対応する回数情報232が“0”以外を示す場合、当該フローエントリの適用が2回目以降であると判定される(ステップS201No)。すなわち、当該PFS2は、既にファーストパケット105を含む経路決定者情報付パケット90を受信しており、使用するフローエントリ(アクション情報145)を決定している。この場合、PFS2は、受信パケットに適合するルール144に対応するアクション情報145に従って、受信パケットの転送処理を行う(ステップS205)。例えば、経路決定者付パケット90に応じたアクション情報145の削除により、使用するアクション情報145のみがフローテーブルに記録されている場合、2回目以降の受信パケットは、当該パケットに対して一意に適合するフローエントリ(ルール144+アクション情報145)に従って処理(例えば転送処理)される。あるいは、経路決定者付パケット90に応じた経路決定者識別子231の付与により、使用するアクション情報145が特定されている場合、2回目以降の受信パケットは、当該パケットに適合するルール144に対応し、経路決定者識別子231が付されたアクション情報145に従って処理される。又、該当フローエントリに対応する処理回数をカウントアップして回数情報232を更新する(ステップS206)。   In step S201, when the count information 232 corresponding to the flow entry (rule 144 + action information 145) that matches the received packet indicates other than “0”, it is determined that the flow entry is applied for the second time or later (step S201). S201 No). That is, the PFS 2 has already received the packet 90 with the route determination information including the first packet 105, and has determined the flow entry (action information 145) to be used. In this case, the PFS 2 performs the transfer process of the received packet according to the action information 145 corresponding to the rule 144 that matches the received packet (step S205). For example, when only the action information 145 to be used is recorded in the flow table due to the deletion of the action information 145 corresponding to the packet 90 with the route determiner, the second and subsequent received packets uniquely match the packet. Is processed (for example, transfer processing) according to the flow entry (rule 144 + action information 145) to be performed. Alternatively, when the action information 145 to be used is specified by assigning the route determiner identifier 231 according to the packet 90 with the route determiner, the second and subsequent received packets correspond to the rule 144 that matches the packet. The processing is performed according to the action information 145 to which the route deciding identifier 231 is attached. Further, the number of processes corresponding to the flow entry is counted up and the number information 232 is updated (step S206).

以上のように、要求元PFSにおいてパケット内に経路決定者情報18を付加し、通信経路上のPFS2において、経路決定者情報18とフローテーブル25内のコントローラIDとを比較することで、経路の整合性を判定することができる。これにより、何らかの障害により、通信経路上のPFS2にパケットに適合するフローエントリが設定されていない場合でも、再度フローエントリを設定することが可能となる。   As described above, the route determination information 18 is added to the packet in the request source PFS, and the route determination information 18 is compared with the controller ID in the flow table 25 in the PFS 2 on the communication route. Consistency can be determined. As a result, even if a flow entry that matches the packet is not set in the PFS 2 on the communication path due to some failure, it is possible to set the flow entry again.

(耐障害性)
図13を参照して、本発明による効果について説明する。図13に示すように、ホスト3−1からホスト3−2に対してパケットデータを送信する場合、要求元PFS2−1からのファーストパケットの通知に応じて、3つのPFC1−1〜1−3によって3つの通信経路40、50、60が計算される。尚、通信経路40は、PFS2−1、2−2、2−3、2−5を経由する経路であり、通信経路50は、PFS2−1、2−4、2−5を経由する経路であり、通信経路60は、PFS2−1、2−6、2−5を経由する経路である。
(Fault tolerance)
The effects of the present invention will be described with reference to FIG. As shown in FIG. 13, when packet data is transmitted from the host 3-1 to the host 3-2, three PFCs 1-1 to 1-3 are responded to the notification of the first packet from the request source PFS 2-1. The three communication paths 40, 50, 60 are calculated by The communication path 40 is a path that passes through the PFSs 2-1 2-2, 2-3, and 2-5, and the communication path 50 is a path that passes through the PFSs 2-1, 2-4, and 2-5. Yes, the communication path 60 is a path that passes through the PFSs 2-1, 2-6, and 2-5.

PFC1−1は、通信経路40上のPFS2−5から、PFS2−3、PFS2−2、要求元PFS2−1の順にフローテーブルを更新し、PFC1−2は、通信経路50上のPFS2−5から、PFS2−4、要求元PFS2−1の順にフローテーブルを更新し、PFC1−3は、通信経路60上のPFS2−5から、PFS2−6、要求元PFS2−1の順にフローテーブルを更新する。これらの更新処理は、上述のように独立的に行われる。要求元PFS2−1は、先に自身のフローテーブル25を更新したPFC1を経路決定者に指定し、経路決定者によって構築された通信経路を利用してホスト3−1〜ホスト3−2間の通信を行う。   The PFC 1-1 updates the flow table in the order of PFS 2-3, PFS 2-2, and request source PFS 2-1 from the PFS 2-5 on the communication path 40, and the PFC 1-2 starts from the PFS 2-5 on the communication path 50. , PFS2-4 and request source PFS2-1 are updated in this order, and PFC1-3 updates the flow table in order of PFS2-6 and request source PFS2-1 from PFS2-5 on the communication path 60. These update processes are performed independently as described above. The request source PFS 2-1 designates the PFC1 that has updated its own flow table 25 as a route determiner, and uses the communication path constructed by the route determiner to connect the hosts 3-1 to 3-2. Communicate.

ここで、PFS2に設定されるフローエントリはPFC1を特定するためのコントローラID17“1011”が対応付けられているため、経路決定者をコントローラIDで指定することで、PFS2やPFC1は使用するフローエントリ(すなわち通信経路)を特定することができる。例えば、要求元PFS2−1において経路者決定者が指定するまでの間に、PFS2−5に対してPFC1−1〜1−3によるフローテーブルの更新指示がなされた場合、PFS2−5には、コントローラID17が“1011”、“1012、“1013”が付与された3つのアクション情報145が同一のルール144に対応付けられて設定される。このような場合でも、要求元PFS2−1による経路決定者情報付パケット90が通知されることで、PFS2−5は、コントローラID17“1011”に対応するフローエントリのみを残し、他のエントリを破棄することができる。このように、PFS2やPFC1に対する経路決定者の通知は、要求元PFS2−1が一元的に行うため、PFC1は、他のPFC1と通信することなく独立的なPFS2へのフローテーブルの更新処理のみで、矛盾なく通信経路を構築することができる。   Here, since the flow ID set in the PFS 2 is associated with the controller ID 17 “1011” for specifying the PFC 1, the flow entry to be used by the PFS 2 and the PFC 1 can be specified by designating the route determiner by the controller ID. (That is, a communication path) can be specified. For example, if a flow table update instruction by PFC 1-1 to 1-3 is given to the PFS 2-5 before the requester PFS2-1 designates it, the PFS 2-5 includes: Three action information 145 assigned with controller ID 17 of “1011”, “1012”, and “1013” are set in association with the same rule 144. Even in such a case, the route is determined by the request source PFS 2-1. The PFS 2-5 can leave only the flow entry corresponding to the controller ID 17 “1011” and discard other entries by notifying the user information added packet 90. In this way, the path to the PFS2 and the PFC1 Since the requester PFS 2-1 performs the notification of the determiner in a centralized manner, the PFC 1 does not communicate with other PFC 1s. Only updating the flow table to independent PFS2, it can be constructed without contradiction communication path.

又、本発明では、経路決定者(使用するフローエントリ)を指定するPFS2を、フローエントリを設定する最後のPFS2としている。このため、要求元PFS2−1にフローエントリが設定された時点で、通信経路上の全てのPFS2にフローエントリが設定されていることとなる。   In the present invention, the PFS2 that designates the route determiner (the flow entry to be used) is the last PFS2 that sets the flow entry. For this reason, when the flow entry is set in the request source PFS 2-1, the flow entries are set in all the PFSs 2 on the communication path.

以上のように、本発明によれば、複数のPFC1によって、パケットに対する処理を規定したフローエントリを設定し、先に構築された通信経路を利用してパケット転送を行っている。このため、複数のPFC1のうちいずれかに障害が発生しても他のPFC1によってフローエントリの設定(通信経路の構築)が可能となり耐障害性が向上する。又、構築された通信経路は、1つのPFC1によって設定されたアクション情報145に従うため、オープンフロー技術で提案されたフローの一元制御及び管理が可能となる。   As described above, according to the present invention, a flow entry that defines processing for a packet is set by a plurality of PFCs 1 and packet transfer is performed using a communication path that has been previously constructed. For this reason, even if a failure occurs in any one of the plurality of PFCs 1, the flow entry can be set (construction of a communication path) by another PFC 1, and the fault tolerance is improved. Further, since the constructed communication path follows the action information 145 set by one PFC 1, it is possible to perform centralized control and management of the flow proposed by the open flow technology.

又、複数のPFC1のそれぞれは、独自にフローテーブルの更新指示を発行するため、コントローラ間で同期を取る必要がない。このため、コントロール間で同期を取るための待ち時間を必要としないため、経路構築までの時間を短縮することも可能となる。すなわち、本発明によれば、オープンフロー技術を利用したコンピュータシステムにおいて通信経路構築の時間を増加させることなく耐障害性を上げることが可能となる。   In addition, since each of the plurality of PFCs 1 independently issues a flow table update instruction, there is no need to synchronize between controllers. For this reason, no waiting time for synchronization between the controls is required, so that it is possible to shorten the time to route construction. In other words, according to the present invention, it is possible to improve fault tolerance without increasing the time for establishing a communication path in a computer system using the open flow technology.

以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。例えば、フローテーブルの更新制御は、通信経路の構築(転送先の設定)だけでなく、フローの転送停止や終了(破棄)といった他の制御に対して行われても良い。これにより、複数のコントローラからの指示を矛盾することなく実行することが可能となり、耐障害性が更に向上する。   The embodiment of the present invention has been described in detail above, but the specific configuration is not limited to the above-described embodiment, and changes within a scope not departing from the gist of the present invention are included in the present invention. . For example, the flow table update control may be performed not only for communication path construction (transfer destination setting) but also for other control such as flow transfer stop or termination (discard). Thereby, it is possible to execute instructions from a plurality of controllers without contradiction, and the fault tolerance is further improved.

又、上述の実施の形態では、要求元PFS2によって指定された経路決定者が、ファーストパケットを利用して他のPFS2に通知されたが、これに限らず、PFC1−1〜1−mを利用して他のPFS2に通知されても良い。例えば、経路決定者としてPFC1−1が指定された場合、PFC1−1は、要求元PFS2からの経路決定者の通知に応じて、自身が設定したPFS2に経路決定者情報18を通知する。PFS2は、経路決定者情報18に一致するコントローラID17が付加されたアクション情報145のみを残し他を削除する。これにより、要求元PFS2から転送されたパケットは、PFC1−1によって構築された通信経路を介して宛先ホストに送信される。ただし、この場合、通信経路上のPFS2に対するフローエントリの削除や、使用するフローエントリの設定が完了するまで、ファーストパケットを転送できないため、上述の実施の形態に比べてパケット転送までの時間が長大化してしまう。   In the above-described embodiment, the route determiner designated by the request source PFS2 is notified to the other PFS2 using the first packet. However, the present invention is not limited to this, and the PFC 1-1 to 1-m are used. Then, other PFS 2 may be notified. For example, when the PFC 1-1 is designated as the route determiner, the PFC 1-1 notifies the route determiner information 18 to the PFS 2 set by the PFC 1-1 in response to the notification of the route determiner from the request source PFS2. The PFS 2 leaves only the action information 145 to which the controller ID 17 matching the route determiner information 18 is added and deletes the others. As a result, the packet transferred from the request source PFS2 is transmitted to the destination host via the communication path established by the PFC 1-1. However, in this case, since the fast packet cannot be transferred until the deletion of the flow entry for the PFS 2 on the communication path and the setting of the flow entry to be used are completed, the time until the packet transfer is longer than that in the above embodiment. It will become.

又、本実施の形態では、最初に要求元PFS2にフローエントリを設定したPFC1を経路決定者として指定したが、これに限らず、2番目や3番目に設定したPFC1を経路決定者として指定しても構わない。又、算出した通信経路上の全てのPFS2にフローエントリを設定していれば、所定の条件を満たすPFC1を優先的に経路決定者として指定しても構わない。   In the present embodiment, the PFC1 in which the flow entry is first set in the request source PFS2 is specified as the route determiner. However, the present invention is not limited to this, and the second or third set PFC1 is specified as the route determiner. It doesn't matter. Further, as long as flow entries are set for all the PFSs 2 on the calculated communication path, the PFC 1 that satisfies a predetermined condition may be preferentially designated as the route determiner.

上記の実施の形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限らない。   A part or all of the above embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)
それぞれが、通信経路を算出し、前記通信経路上のスイッチに対して、フローエントリの設定を指示する複数のコントローラと、
前記複数のコントローラの1つを経路決定者として指定し、前記経路決定者によって設定されたフローエントリに従って、受信パケットの中継処理を行う複数のスイッチと
を具備する
コンピュータシステム。
(Appendix 1)
A plurality of controllers each for calculating a communication path and instructing a switch on the communication path to set a flow entry;
A computer system comprising: a plurality of switches that designate one of the plurality of controllers as a route determiner, and that performs a relay process of a received packet in accordance with a flow entry set by the route determiner.

(付記2)
付記1に記載のコンピュータシステムにおいて、
前記通信経路上の全てのスイッチにフローエントリを設定したコントローラが、前記経路決定者として設定される
コンピュータシステム。
(Appendix 2)
In the computer system according to attachment 1,
A computer system in which a controller that sets flow entries in all switches on the communication path is set as the path determiner.

(付記3)
付記1又は2に記載のコンピュータシステムにおいて、
前記複数のコントローラのそれぞれは、自身を特定するコントローラIDを付加したフローエントリを前記通信経路上のスイッチに設定し、
前記複数のスイッチは、前記コントローラIDによって、前記経路決定者を特定する
コンピュータシステム。
(Appendix 3)
In the computer system according to appendix 1 or 2,
Each of the plurality of controllers sets a flow entry to which a controller ID for identifying itself is added to a switch on the communication path,
The plurality of switches is a computer system that identifies the route determiner based on the controller ID.

(付記4)
付記3に記載のコンピュータシステムにおいて、
前記複数のスイッチは、
前記経路決定者を指定し、前記経路決定者を特定する経路決定者情報を受信パケットに含めて他のスイッチに転送する第1スイッチと、
前記経路決定者情報に一致するコントローラIDが付加されたフローエントリに従って受信パケットの中継処理を行う第2スイッチと
を備える
コンピュータシステム。
(Appendix 4)
In the computer system according to attachment 3,
The plurality of switches are:
A first switch that designates the route determiner, includes route determiner information that identifies the route determiner in a received packet, and forwards the received information to another switch;
A computer system comprising: a second switch that relays received packets in accordance with a flow entry to which a controller ID that matches the route determiner information is added.

(付記5)
付記4に記載のコンピュータシステムにおいて、
前記第2スイッチは、前記経路決定者情報と一致するコントローラIDが付加されたフローエントリを保持しない場合、前記経路決定情報が示すコントローラに対し、受信パケットに対するフローエントリの設定を要求する
コンピュータシステム。
(Appendix 5)
In the computer system according to attachment 4,
When the second switch does not hold a flow entry to which a controller ID that matches the route determination information is added, the second switch requests the controller indicated by the route determination information to set a flow entry for a received packet.

(付記6)
付記4又は5に記載のコンピュータシステムにおいて、
前記複数のコントローラのそれぞれは、前記通信経路上のスイッチに対してフローエントリを設定する際、前記通信経路上のスイッチの中で前記第1スイッチを最後に設定し、
前記第1スイッチは、自身が保持するフローテーブルに対し、前記複数のコントローラの中で最初にフローエントリを設定したコントローラを前記経路決定者に指定する
コンピュータシステム。
(Appendix 6)
In the computer system according to appendix 4 or 5,
Each of the plurality of controllers sets the first switch last among the switches on the communication path when setting a flow entry for the switch on the communication path,
The computer system, wherein the first switch designates, to the route determiner, a controller that first sets a flow entry among the plurality of controllers with respect to a flow table held by the first switch.

(付記7)
付記4から6のいずれか1項に記載のコンピュータシステムにおいて、
前記第1スイッチは、受信パケットに適合するフローエントリがない場合、フローエントリの設定を前記複数のコントローラに要求し、
前記複数のコントローラのそれぞれは、前記要求に応じて通信経路の算出及びフローエントリの設定を行う
コンピュータシステム。
(Appendix 7)
In the computer system according to any one of appendices 4 to 6,
When there is no flow entry that matches the received packet, the first switch requests the plurality of controllers to set a flow entry;
Each of the plurality of controllers calculates a communication path and sets a flow entry in response to the request.

(付記8)
付記1から7のいずれか1項に記載のコンピュータシステムで利用されるコントローラ。
(Appendix 8)
A controller used in the computer system according to any one of appendices 1 to 7.

(付記9)
付記1から7のいずれか1項に記載のコンピュータシステムで利用されるスイッチ。
(Appendix 9)
A switch used in the computer system according to any one of appendices 1 to 7.

(付記10)
複数のコントローラのそれぞれが、通信経路を算出し、前記通信経路上のスイッチに対して、フローエントリの設定を指示するステップと、
前記複数のコントローラの1つを経路決定者として指定するステップと、
複数のスイッチが、前記経路決定者によって設定されたフローエントリに従って、受信パケットの中継処理を行うステップと
を具備する
通信方法。
(Appendix 10)
Each of the plurality of controllers calculates a communication path, and instructs a switch on the communication path to set a flow entry;
Designating one of the plurality of controllers as a route determiner;
A plurality of switches performing a relay process of received packets in accordance with a flow entry set by the route determiner.

(付記11)
付記10に記載の通信方法において、
前記経路設定者として指定するステップでは、通信経路上の全てのスイッチにフローエントリを設定したコントローラが、前記経路決定者として設定される
通信方法。
(Appendix 11)
In the communication method according to attachment 10,
In the step of designating as the route setter, a controller that sets flow entries in all switches on the communication route is set as the route determiner.

(付記12)
付記10又は11に記載の通信方法において、
前記複数のコントローラのそれぞれが、自身を特定するコントローラIDを付加したフローエントリを前記通信経路上のスイッチに設定するステップと、
前記複数のスイッチが、前記コントローラIDによって、前記経路決定者を特定するステップと
を更に具備する
通信方法。
(Appendix 12)
In the communication method according to attachment 10 or 11,
Each of the plurality of controllers setting a flow entry to which a controller ID identifying itself is added to a switch on the communication path;
The plurality of switches further comprising a step of specifying the route determiner by the controller ID.

(付記13)
付記12に記載の通信方法において、
前記経路決定者として指定するステップは、
第1スイッチが、前記経路決定者を指定するステップと、
前記第1スイッチが、前記経路決定者を特定する経路決定者情報を受信パケットに含めて他のスイッチに転送するステップと
を備え、
前記中継処理を行うステップは、第2スイッチが、前記経路決定者情報に一致するコントローラIDが付加されたフローエントリに従って受信パケットの中継処理を行うステップを備える
通信方法。
(Appendix 13)
In the communication method according to attachment 12,
The step of designating as the route determiner includes
A first switch designating the route determiner;
The first switch includes a route determiner information for identifying the route determiner in a received packet and forwards the received packet to another switch;
The step of performing the relay process includes a step of the second switch performing a relay process of a received packet according to a flow entry to which a controller ID that matches the route determination information is added.

(付記14)
付記13に記載の通信方法において、
前記第2スイッチが、前記経路決定者情報と一致するコントローラIDが付加されたフローエントリを保持しない場合、前記経路決定情報が示すコントローラに対し、受信パケットに対するフローエントリの設定を要求するステップを更に具備する
通信方法。
(Appendix 14)
In the communication method according to attachment 13,
When the second switch does not hold the flow entry to which the controller ID that matches the route determination information is added, the step of requesting the controller indicated by the route determination information to set the flow entry for the received packet is further included. A communication method.

(付記15)
付記13又は14に記載の通信方法において、
前記複数のコントローラのそれぞれが、前記通信経路上のスイッチに対してフローエントリを設定する際、前記通信経路上のスイッチの中で前記第1スイッチを最後に設定し、
前記経路決定者として指定するステップは、前記第1スイッチが、自身が保持するフローテーブルに対し、前記複数のコントローラの中で最初にフローエントリを設定したコントローラを前記経路決定者に指定するステップを備える
通信方法。
(Appendix 15)
In the communication method according to attachment 13 or 14,
When each of the plurality of controllers sets a flow entry for a switch on the communication path, the first switch is set last among the switches on the communication path,
The step of designating as the route determiner includes the step of designating, to the route determiner, the first switch that sets the flow entry among the plurality of controllers with respect to the flow table held by the first switch. A communication method.

(付記16)
付記13から15のいずれか1項に記載の通信方法において、
前記第1スイッチが、受信パケットに適合するフローエントリがない場合、フローエントリの設定を前記複数のコントローラに要求するステップを更に具備し、
前記複数のコントローラのそれぞれは、前記要求に応じて通信経路の算出及びフローエントリの設定を行う
通信方法。
(Appendix 16)
In the communication method according to any one of appendices 13 to 15,
The first switch further requesting the plurality of controllers to set a flow entry when there is no flow entry matching the received packet;
Each of the plurality of controllers calculates a communication path and sets a flow entry in response to the request.

1、1−1〜1−m:プログラマブルフローコントローラ(PFC)
2、2−1〜2−n:複数のプログラマブルスイッチ(PFS)
3、3−1〜3−i:ホストコンピュータ(ホスト)
11:スイッチ制御部
12:フロー管理部
13:フロー生成部
14:フローテーブル
15:トポロジ情報
16:通信経路情報
17:コントローラID
18:決定者情報
20:スイッチ群
21:転送処理部
22:フロー設定部
23:経路決定者設定部
24:パケット修正部
25:フローテーブル
30:ホスト群
40:通信経路
50:通信経路
60:通信経路
90:経路決定者情報付パケット
105:ファーストパケット
141:フロー識別子
142:対象装置
143:経路情報
144:ルール
145:アクション情報
146:設定情報
147:経路決定者識別子
151:装置識別子
152:ポート数
153:ポート接続先情報
161:端点情報
162:通過スイッチ情報
163:付随情報
231:経路決定者識別子
232:回数情報
1, 1-1 to 1-m: Programmable flow controller (PFC)
2, 2-1 to 2-n: Multiple programmable switches (PFS)
3, 3-1 to 3-i: Host computer (host)
11: Switch control unit 12: Flow management unit 13: Flow generation unit 14: Flow table 15: Topology information 16: Communication path information 17: Controller ID
18: Determiner information 20: Switch group 21: Transfer processing unit 22: Flow setting unit 23: Route determination unit setting unit 24: Packet modification unit 25: Flow table 30: Host group 40: Communication route 50: Communication route 60: Communication Route 90: Packet with route determiner information 105: First packet 141: Flow identifier 142: Target device 143: Route information 144: Rule 145: Action information 146: Setting information 147: Route determiner identifier 151: Device identifier 152: Number of ports 153: Port connection destination information 161: End point information 162: Passing switch information 163: Accompanying information 231: Route determiner identifier 232: Number of times information

Claims (10)

それぞれが、通信経路を算出し、前記通信経路上のスイッチに対して、フローエントリの設定を指示する複数のコントローラと、
前記複数のコントローラの1つを経路決定者として指定し、前記経路決定者によって設定されたフローエントリに従って、受信パケットの中継処理を行う複数のスイッチと
を具備する
コンピュータシステム。
A plurality of controllers each for calculating a communication path and instructing a switch on the communication path to set a flow entry;
A computer system comprising: a plurality of switches that designate one of the plurality of controllers as a route determiner, and that performs a relay process of a received packet in accordance with a flow entry set by the route determiner.
請求項1に記載のコンピュータシステムにおいて、
前記複数のコントローラのそれぞれは、自身を特定するコントローラIDを付加したフローエントリを前記通信経路上のスイッチに設定し、
前記複数のスイッチは、
前記経路決定者を指定し、前記経路決定者を特定する経路決定者情報を受信パケットに含めて他のスイッチに転送する第1スイッチと、
前記経路決定者情報に一致するコントローラIDが付加されたフローエントリに従って受信パケットの中継処理を行う第2スイッチと
を備える
コンピュータシステム。
The computer system of claim 1,
Each of the plurality of controllers sets a flow entry to which a controller ID for identifying itself is added to a switch on the communication path,
The plurality of switches are:
A first switch that designates the route determiner, includes route determiner information that identifies the route determiner in a received packet, and forwards the received information to another switch;
A computer system comprising: a second switch that relays received packets in accordance with a flow entry to which a controller ID that matches the route determiner information is added.
請求項2に記載のコンピュータシステムにおいて、
前記第2スイッチは、前記経路決定者情報と一致するコントローラIDが付加されたフローエントリを保持しない場合、前記経路決定情報が示すコントローラに対し、受信パケットに対するフローエントリの設定を要求する
コンピュータシステム。
The computer system according to claim 2, wherein
When the second switch does not hold a flow entry to which a controller ID that matches the route determination information is added, the second switch requests the controller indicated by the route determination information to set a flow entry for a received packet.
請求項2又は3に記載のコンピュータシステムにおいて、
前記複数のコントローラのそれぞれは、前記通信経路上のスイッチに対してフローエントリを設定する際、前記通信経路上のスイッチの中で前記第1スイッチを最後に設定し、
前記第1スイッチは、自身が保持するフローテーブルに対し、前記複数のコントローラの中で最初にフローエントリを設定したコントローラを前記経路決定者に指定する
コンピュータシステム。
The computer system according to claim 2 or 3,
Each of the plurality of controllers sets the first switch last among the switches on the communication path when setting a flow entry for the switch on the communication path,
The computer system, wherein the first switch designates, to the route determiner, a controller that first sets a flow entry among the plurality of controllers with respect to a flow table held by the first switch.
請求項1から4のいずれか1項に記載のコンピュータシステムで利用されるコントローラ。   The controller used with the computer system of any one of Claim 1 to 4. 請求項1から4のいずれか1項に記載のコンピュータシステムで利用されるスイッチ。   The switch used with the computer system of any one of Claim 1 to 4. 複数のコントローラのそれぞれが、通信経路を算出し、前記通信経路上のスイッチに対して、フローエントリの設定を指示するステップと、
前記複数のコントローラの1つを経路決定者として指定するステップと、
複数のスイッチが、前記経路決定者によって設定されたフローエントリに従って、受信パケットの中継処理を行うステップと
を具備する
通信方法。
Each of the plurality of controllers calculates a communication path, and instructs a switch on the communication path to set a flow entry;
Designating one of the plurality of controllers as a route determiner;
A plurality of switches performing a relay process of received packets in accordance with a flow entry set by the route determiner.
請求項7に記載の通信方法において、
前記複数のコントローラのそれぞれが、自身を特定するコントローラIDを付加したフローエントリを前記通信経路上のスイッチに設定するステップを更に具備し、
前記経路決定者として指定するステップは、
第1スイッチが、前記経路決定者を指定するステップと、
前記第1スイッチが、前記経路決定者を特定する経路決定者情報を受信パケットに含めて他のスイッチに転送するステップと
を備え、
前記中継処理を行うステップは、第2スイッチが、前記経路決定者情報に一致するコントローラIDが付加されたフローエントリに従って受信パケットの中継処理を行うステップを備える
通信方法。
The communication method according to claim 7,
Each of the plurality of controllers further comprises a step of setting a flow entry to which a controller ID identifying itself is added to a switch on the communication path;
The step of designating as the route determiner includes
A first switch designating the route determiner;
The first switch includes a route determiner information for identifying the route determiner in a received packet and forwards the received packet to another switch;
The step of performing the relay process includes a step of the second switch performing a relay process of a received packet according to a flow entry to which a controller ID that matches the route determination information is added.
請求項8に記載の通信方法において、
前記第2スイッチが、前記経路決定者情報と一致するコントローラIDが付加されたフローエントリを保持しない場合、前記経路決定情報が示すコントローラに対し、受信パケットに対するフローエントリの設定を要求するステップを更に具備する
通信方法。
The communication method according to claim 8, wherein
When the second switch does not hold the flow entry to which the controller ID that matches the route determination information is added, the step of requesting the controller indicated by the route determination information to set the flow entry for the received packet is further included. A communication method.
請求項8又は9に記載の通信方法において、
前記複数のコントローラのそれぞれが、前記通信経路上のスイッチに対してフローエントリを設定する際、前記通信経路上のスイッチの中で前記第1スイッチを最後に設定し、
前記経路決定者として指定するステップは、前記第1スイッチが、自身が保持するフローテーブルに対し、前記複数のコントローラの中で最初にフローエントリを設定したコントローラを前記経路決定者に指定するステップを備える
通信方法。
The communication method according to claim 8 or 9,
When each of the plurality of controllers sets a flow entry for a switch on the communication path, the first switch is set last among the switches on the communication path,
The step of designating as the route determiner includes the step of designating, to the route determiner, the first switch that sets the flow entry among the plurality of controllers with respect to the flow table held by the first switch. A communication method.
JP2010022539A 2010-02-03 2010-02-03 Computer system, controller, switch, and communication method Expired - Fee Related JP5488979B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010022539A JP5488979B2 (en) 2010-02-03 2010-02-03 Computer system, controller, switch, and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010022539A JP5488979B2 (en) 2010-02-03 2010-02-03 Computer system, controller, switch, and communication method

Publications (2)

Publication Number Publication Date
JP2011160363A true JP2011160363A (en) 2011-08-18
JP5488979B2 JP5488979B2 (en) 2014-05-14

Family

ID=44591903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010022539A Expired - Fee Related JP5488979B2 (en) 2010-02-03 2010-02-03 Computer system, controller, switch, and communication method

Country Status (1)

Country Link
JP (1) JP5488979B2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013118690A1 (en) 2012-02-10 2013-08-15 日本電気株式会社 Computer system and method for visualizing virtual network
WO2013118687A1 (en) 2012-02-10 2013-08-15 日本電気株式会社 Computer system and method for visualizing virtual network
WO2013128916A1 (en) * 2012-02-29 2013-09-06 Nec Corporation Communication apparatus, communication method, communication system and program
WO2013128915A1 (en) * 2012-02-29 2013-09-06 Nec Corporation Communication apparatus, communication method, communication system and program
WO2013133227A1 (en) * 2012-03-05 2013-09-12 日本電気株式会社 Network system, switch, and network building method
WO2013161172A1 (en) 2012-04-27 2013-10-31 日本電気株式会社 Communication system, and path control method
JP2014511085A (en) * 2012-03-14 2014-05-01 ▲ホア▼▲ウェイ▼技術有限公司 Method, switch, server, and system for sending a connection establishment request
JP5503762B1 (en) * 2013-02-19 2014-05-28 三菱電機インフォメーションシステムズ株式会社 Open flow network system
WO2015025845A1 (en) * 2013-08-20 2015-02-26 日本電気株式会社 Communication system, switch, controller, ancillary data management device, data transfer method, and program
US9301232B2 (en) 2014-03-04 2016-03-29 Kddi Corporation Management apparatus of controller for communication network
US9628324B2 (en) 2014-04-14 2017-04-18 Fujitsu Limited Openflow switch and failure recovery method in openflow network
US9699090B2 (en) 2013-10-22 2017-07-04 Fujitsu Limited Transfer device, control device, and transfer method
US9853857B2 (en) 2015-04-20 2017-12-26 Fujitsu Limited System, switch device and method of controlling a plurality of switch devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011065268A1 (en) * 2009-11-26 2011-06-03 日本電気株式会社 Load distribution system, load distribution method, and program
WO2011083780A1 (en) * 2010-01-05 2011-07-14 日本電気株式会社 Communication system, control apparatus, processing rule setting method, packet transmitting method and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011065268A1 (en) * 2009-11-26 2011-06-03 日本電気株式会社 Load distribution system, load distribution method, and program
WO2011083780A1 (en) * 2010-01-05 2011-07-14 日本電気株式会社 Communication system, control apparatus, processing rule setting method, packet transmitting method and program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200800778013; 久保田 浩: 'プログラマブル・フロースイッチ スイッチ部と制御部を分離し,新世代ネットワークに対応したフロースイッ' 日経NETWORK 第104号, 20081128, pp.80-81, 日経BP社 *
JPN6013047962; 久保田 浩: 'プログラマブル・フロースイッチ スイッチ部と制御部を分離し,新世代ネットワークに対応したフロースイッ' 日経NETWORK 第104号, 20081128, pp.80-81, 日経BP社 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013118687A1 (en) 2012-02-10 2013-08-15 日本電気株式会社 Computer system and method for visualizing virtual network
WO2013118690A1 (en) 2012-02-10 2013-08-15 日本電気株式会社 Computer system and method for visualizing virtual network
US9425987B2 (en) 2012-02-10 2016-08-23 Nec Corporation Computer system and visualization method of virtual network
JP2015508944A (en) * 2012-02-29 2015-03-23 日本電気株式会社 COMMUNICATION DEVICE, COMMUNICATION METHOD, COMMUNICATION SYSTEM, AND PROGRAM
WO2013128916A1 (en) * 2012-02-29 2013-09-06 Nec Corporation Communication apparatus, communication method, communication system and program
WO2013128915A1 (en) * 2012-02-29 2013-09-06 Nec Corporation Communication apparatus, communication method, communication system and program
US9866500B2 (en) 2012-02-29 2018-01-09 Nec Corporation Communication apparatus, communication method, communication system and program
JP2015512162A (en) * 2012-02-29 2015-04-23 日本電気株式会社 COMMUNICATION DEVICE, COMMUNICATION METHOD, COMMUNICATION SYSTEM, AND PROGRAM
US9548933B2 (en) 2012-03-05 2017-01-17 Nec Corporation Network system, switch, and methods of network configuration
JPWO2013133227A1 (en) * 2012-03-05 2015-07-30 日本電気株式会社 Network system, switch, and network construction method
WO2013133227A1 (en) * 2012-03-05 2013-09-12 日本電気株式会社 Network system, switch, and network building method
US9386047B2 (en) 2012-03-14 2016-07-05 Huawei Technologies Co., Ltd. Method, switch, server and system for sending connection establishment request
JP2014511085A (en) * 2012-03-14 2014-05-01 ▲ホア▼▲ウェイ▼技術有限公司 Method, switch, server, and system for sending a connection establishment request
WO2013161172A1 (en) 2012-04-27 2013-10-31 日本電気株式会社 Communication system, and path control method
JP5503762B1 (en) * 2013-02-19 2014-05-28 三菱電機インフォメーションシステムズ株式会社 Open flow network system
WO2015025845A1 (en) * 2013-08-20 2015-02-26 日本電気株式会社 Communication system, switch, controller, ancillary data management device, data transfer method, and program
US10498669B2 (en) 2013-08-20 2019-12-03 Nec Corporation Communication system, switch, controller, ancillary data management apparatus, data forwarding method, and program
US9699090B2 (en) 2013-10-22 2017-07-04 Fujitsu Limited Transfer device, control device, and transfer method
US9301232B2 (en) 2014-03-04 2016-03-29 Kddi Corporation Management apparatus of controller for communication network
US9628324B2 (en) 2014-04-14 2017-04-18 Fujitsu Limited Openflow switch and failure recovery method in openflow network
US9853857B2 (en) 2015-04-20 2017-12-26 Fujitsu Limited System, switch device and method of controlling a plurality of switch devices

Also Published As

Publication number Publication date
JP5488979B2 (en) 2014-05-14

Similar Documents

Publication Publication Date Title
JP5488979B2 (en) Computer system, controller, switch, and communication method
JP5488980B2 (en) Computer system and communication method
EP2911348B1 (en) Control device discovery in networks having separate control and forwarding devices
JP6369698B2 (en) Traffic switching method, device, and system
KR101989333B1 (en) Data forwarding method, device and system in software-defined networking
JP6075416B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, AND NODE CONTROL METHOD
EP3399703B1 (en) Method for implementing load balancing, apparatus, and network system
JP5850068B2 (en) Control device, communication system, communication method, and program
JP5757552B2 (en) Computer system, controller, service providing server, and load distribution method
EP2157746A1 (en) Routing control system for L3VPN service network
US20110286359A1 (en) Route setup server, route setup method and route setup program
JP5861772B2 (en) Network appliance redundancy system, control device, network appliance redundancy method and program
US20130286844A1 (en) Information system, control apparatus, communication method, and program
US10171352B2 (en) Communication system, node, control device, communication method, and program
JPWO2012050071A1 (en) Communication system, control device, processing rule setting method and program
US8908702B2 (en) Information processing apparatus, communication apparatus, information processing method, and relay processing method
WO2020135339A1 (en) Network path convergence method and related device
JP2014027443A (en) Control device, communication system, communication method, and program
JP2016502329A (en) System and method for pass-through mode in a virtual chassis system
JPWO2013176262A1 (en) Packet transfer system, control device, packet transfer method and program
US20150381775A1 (en) Communication system, communication method, control apparatus, control apparatus control method, and program
WO2013062070A1 (en) Control apparatus, communication system, virtual network management method, and program
JPWO2014104277A1 (en) Control device, communication system, communication node control method and program
KR101767439B1 (en) Method, apparatus and computer program for managing paths for packets of software defined network
EP1851913A1 (en) Method and system for obtaining resilient communication in a network grid

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130927

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140213

R150 Certificate of patent or registration of utility model

Ref document number: 5488979

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees