JP5573909B2 - COMMUNICATION SYSTEM, NODE, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM - Google Patents

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

Info

Publication number
JP5573909B2
JP5573909B2 JP2012217523A JP2012217523A JP5573909B2 JP 5573909 B2 JP5573909 B2 JP 5573909B2 JP 2012217523 A JP2012217523 A JP 2012217523A JP 2012217523 A JP2012217523 A JP 2012217523A JP 5573909 B2 JP5573909 B2 JP 5573909B2
Authority
JP
Japan
Prior art keywords
packet
node
nodes
identification information
transfer path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012217523A
Other languages
Japanese (ja)
Other versions
JP2012257335A (en
Inventor
靖伸 千葉
英之 下西
悠介 篠原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012217523A priority Critical patent/JP5573909B2/en
Publication of JP2012257335A publication Critical patent/JP2012257335A/en
Application granted granted Critical
Publication of JP5573909B2 publication Critical patent/JP5573909B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信システム、ノード、制御装置、通信方法およびプログラムに関し、特に、ネットワークに配置されたノードによりパケットを転送して通信を実現する通信システム、ノード、制御装置、通信方法およびプログラムに関する。   The present invention relates to a communication system, a node, a control device, a communication method, and a program, and more particularly, to a communication system, a node, a control device, a communication method, and a program that realizes communication by transferring a packet by a node arranged in a network.

ネットワークに配置されたルータやスイッチ等のノードに、プログラムを実行させる技術としてアクティブネットワークが知られている(非特許文献1参照)。特許文献1には、事前のシグナリングにより、ネットワークのノードにアクティブコードを配置するシグナリング制御ユニットを備えるアクティブネットワークが開示されている。   An active network is known as a technique for causing a node such as a router or a switch arranged in a network to execute a program (see Non-Patent Document 1). Patent Document 1 discloses an active network including a signaling control unit that arranges an active code in a node of the network by prior signaling.

特許文献2には、異なるパケットリングを経由するパケットフローに対し、異なるパケットリングで一貫したサービスクラスを適用できるようにした光通信システムが開示されている。この光通信システムのノード装置は、他パケットリングから到着したパケットに付加されたリング間ヘッダ情報に含まれるリング間サービスクラスの情報を抽出し、この抽出されたリング間サービスクラスの情報に基づきパケットリング間で設定されるリング間サービスクラスとリング内サービスクラスとの対応関係を記録したテーブルを参照して到着したパケットに設定すべきリング内サービスクラスを決定し、この決定したリング内サービスクラスの情報を含むリング内ヘッダ情報を到着したパケットに付加する。   Patent Document 2 discloses an optical communication system in which a consistent service class can be applied in different packet rings to packet flows passing through different packet rings. The node device of this optical communication system extracts information on an inter-ring service class included in inter-ring header information added to a packet arriving from another packet ring, and packet based on the extracted inter-ring service class information Determine the intra-ring service class that should be set for the packet that arrived by referring to the table that records the correspondence between the inter-ring service class and intra-ring service class that are set between the rings. In-ring header information including the information is added to the arrived packet.

また、IP網等における経路制御を行う方式として、ソースルーティングという手法が知られている。非特許文献2に規定されているとおり、ソースルーティングでは、中継するルータのIPアドレスを指定することによって実現される。   A method called source routing is known as a method for performing path control in an IP network or the like. As specified in Non-Patent Document 2, source routing is realized by designating the IP address of a router to be relayed.

非特許文献3に示すとおり、近年、オープンフロー(OpenFlow)という技術が提案されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。転送ノードとして機能するオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するルール(FlowKey)と、処理内容を定義したアクション(Action)と、フロー統計情報(Stats)との組が定義される(図6参照)。   As shown in Non-Patent Document 3, a technique called OpenFlow has been proposed in recent years. OpenFlow captures communication as an end-to-end flow and performs path control, failure recovery, load balancing, and optimization on a per-flow basis. The OpenFlow switch that functions as a forwarding node includes a secure channel for communication with the OpenFlow controller, and operates according to a flow table that is appropriately added or rewritten from the OpenFlow controller. In the flow table, for each flow, a set of a rule (FlowKey) that matches the packet header, an action (Action) that defines the processing contents, and flow statistical information (Stats) is defined (see FIG. 6).

図29に、非特許文献4に定義されているアクション名とアクションの内容を例示する。OUTPUTは、指定ポート(インタフェース)に出力するアクションである。SET_VLAN_VIDからSET_TP_DSTは、パケットヘッダーのフィールドを修正するアクションである。   FIG. 29 illustrates action names and action contents defined in Non-Patent Document 4. OUTPUT is an action to be output to a designated port (interface). SET_VLAN_VID to SET_TP_DST are actions for modifying the field of the packet header.

例えば、オープンフロースイッチは、最初のパケット(first packet)を受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルール(FlowKey)を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容を実施する。一方、前記検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。   For example, when the OpenFlow switch receives the first packet (first packet), the OpenFlow switch searches the flow table for an entry having a rule (FlowKey) that matches the header information of the received packet. When an entry that matches the received packet is found as a result of the search, the OpenFlow switch performs the processing content described in the action field of the entry on the received packet. On the other hand, if no entry matching the received packet is found as a result of the search, the OpenFlow switch forwards the received packet to the OpenFlow controller via the secure channel, and the source / destination of the received packet. To request the determination of the route of the packet based on the above, receive the flow entry that realizes this, and update the flow table.

特表2006−513671号公報JP-T-2006-513671 特開2008−236652号公報JP 2008-236652 A

David L. Tennenhouseほか4名、“A Survey of Active Network Research”, IEEE Communications Magazine, Vol.35, No.1, pp.80-86, January 1997David L. Tennenhouse and 4 others, “A Survey of Active Network Research”, IEEE Communications Magazine, Vol.35, No.1, pp.80-86, January 1997 IETF,RFC791“INTERNET PROTOCOL”IETF, RFC791 “INTERNET PROTOCOL” Nick McKeownほか7名、“OpenFlow: Enabling Innovation in Campus Networks”、[online]、[平成21年8月27日検索]、インターネット〈URL:http://www.openflowswitch.org//documents/openflow-wp-latest.pdf〉Nick McKeown and 7 others, “OpenFlow: Enabling Innovation in Campus Networks”, [online], [searched August 27, 2009], Internet <URL: http://www.openflowswitch.org//documents/openflow- wp-latest.pdf> "OpenFlow Switch Specification" Version 0.9.0. (Wire Protocol 0x98) [平成21年8月27日検索] 、インターネット〈URL:http://www.openflowswitch.org/documents/openflow-spec-v0.9.0.pdf〉"OpenFlow Switch Specification" Version 0.9.0. (Wire Protocol 0x98) [Search August 27, 2009], Internet <URL: http://www.openflowswitch.org/documents/openflow-spec-v0.9.0. pdf>

上記特許文献1、2及び非特許文献1〜4の全開示内容はその引用をもって本書に繰込み記載する。   The entire disclosures of Patent Documents 1 and 2 and Non-Patent Documents 1 to 4 are incorporated herein by reference.

以下に本発明による関連技術の分析を与える。   The following is an analysis of the related art according to the present invention.

非特許文献3のオープンフロー(OpenFlow)という技術によれば、各スイッチに、フローの特徴に応じた処理内容(アクション)を選択・実行させるためのフローテーブルを配置し、適宜書き換える必要がある。きめ細かな経路制御や品質確保などを実行する場合、このフローテーブルに上記マッチングルールの数に等しいエントリが必要となり、スイッチの負荷およびコントローラ側の管理負担が増大してしまうことが考えられる。   According to the technique called OpenFlow (Non-Patent Document 3), it is necessary to arrange a flow table for selecting and executing processing contents (actions) according to the flow characteristics in each switch, and to rewrite them appropriately. When fine path control or quality assurance is executed, an entry equal to the number of the matching rules is required in this flow table, which may increase the load on the switch and the management burden on the controller side.

非特許文献1や特許文献1のアクティブネット方式によれば、上記のようなテーブルを用いずに、所望のノードに特定の処理を実行させることができるが、非特許文献3のようなフロー制御を行うスイッチに適用した場合、各スイッチにプログラムライブラリを備えるか、パケットにプログラムそのものを含ませる必要がある。これでは、可能な限り転送ノードの制御機能を簡略化し、コントローラに集中させる非特許文献3の特長が失われかねない。   According to the active net method of Non-Patent Document 1 and Patent Document 1, a specific process can be executed by a desired node without using the table as described above. When applied to a switch that performs the above, it is necessary to provide each switch with a program library or to include the program itself in a packet. In this case, the features of Non-Patent Document 3 that can simplify the control function of the forwarding node as much as possible and concentrate on the controller may be lost.

本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、ネットワークに配置されたノードの制御機能を簡略化するという要求を満たしつつ、各ノードが受信パケットに応じた処理を行わせる際に参照させるテーブルそのもの、あるいは、そのエントリ数を削減できる構成および方法を提供することにある。   The present invention has been made in view of the above-described circumstances, and the object of the present invention is to satisfy each request for a received packet while satisfying the request to simplify the control function of the nodes arranged in the network. It is an object of the present invention to provide a configuration and a method capable of reducing the number of entries or the table itself to be referred to when performing the processing.

本発明の第1の視点によれば、パケットの転送経路の少なくとも一部を構成する複数のノードを含み、前記複数のノードの少なくとも1つのノードは、前記複数のノードの各々が有するパケット処理リストから各ノードが実行するパケット処理を特定するための複数の識別情報が付与されたパケットを受信可能な第1の手段と、前記ノードが有する前記リストから、前記複数の識別情報のうち前記ノードに対応する識別情報に基づいて特定されたパケット処理を実行可能な第2の手段とを含む通信システムが提供される。 According to the first aspect of the present invention, the packet processing list includes a plurality of nodes constituting at least a part of a packet transfer path, and the at least one node of the plurality of nodes is a packet processing list possessed by each of the plurality of nodes. A first means capable of receiving packets to which a plurality of pieces of identification information for specifying packet processing to be executed by each node is received, and the node of the plurality of pieces of identification information from the list of the node. There is provided a communication system including second means capable of executing packet processing specified based on corresponding identification information .

本発明の第2の視点によれば、パケットの転送経路の少なくとも一部を構成する複数のノードの各々で実行されるパケット処理を決定可能な第1の手段と、前記複数のノードにおける少なくとも1つのノードに対して、前記複数のノードの各々が有するパケット処理リストから各ノードが実行するパケット処理を特定するため、前記各ノードに対応する複数の識別情報を、前記転送経路に転送するパケットに付与することを指示可能な第2の手段とを含む制御装置が提供される。 According to the second aspect of the present invention, the first means capable of determining packet processing executed in each of a plurality of nodes constituting at least a part of a packet transfer path, and at least one of the plurality of nodes. In order to identify packet processing to be executed by each node from the packet processing list of each of the plurality of nodes for one node, a plurality of identification information corresponding to each node is transferred to the packet transferred to the transfer path. And a second means capable of instructing to provide the control device .

本発明の第3の視点によれば、パケットを転送するノードであって、パケットの転送経路の少なくとも一部を構成する複数のノードの各々が有するパケット処理リストから前記複数のノードの各々が実行するパケット処理を特定するための複数の識別情報が付与されたパケットを受信可能な第1の手段と、前記パケット処理リストから、前記複数の識別情報のうち前記ノードに対応する識別情報に基づいて特定されたパケット処理を実行可能な第2の手段とを含むことを特徴とするノードが提供される。 According to the third aspect of the present invention, each of the plurality of nodes is a node that forwards the packet and that is executed by each of the plurality of nodes from a packet processing list that each of the plurality of nodes that constitute at least a part of the packet forwarding path A first means capable of receiving a packet provided with a plurality of identification information for specifying packet processing to be performed, and based on identification information corresponding to the node among the plurality of identification information from the packet processing list. And a second means capable of executing the specified packet processing . A node is provided.

本発明の第4の視点によれば、パケットの転送経路の少なくとも一部を構成する複数のノードの各々で実行されるパケット処理を決定し、前記複数のノードにおける少なくとも1つのノードに対して、前記複数のノードの各々が有するパケット処理リストから各ノードが実行するパケット処理を特定するため、前記各ノードに対応する複数の識別情報を、前記転送経路に転送するパケットに付与することを指示する通信方法が提供される。 According to the fourth aspect of the present invention, packet processing to be executed in each of a plurality of nodes constituting at least a part of a packet transfer path is determined, and for at least one node in the plurality of nodes, Instructing that a plurality of identification information corresponding to each node be added to a packet transferred to the transfer path in order to identify a packet process to be executed by each node from a packet processing list of each of the plurality of nodes. A communication method is provided.

本発明の第5の視点によれば、上記したノード、制御装置を構成するコンピュータに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。   According to the fifth aspect of the present invention, there is provided a program to be executed by a computer constituting the above-described node and control device. This program can be recorded on a computer-readable storage medium. That is, the present invention can be embodied as a computer program product.

本発明によれば、ネットワークに配置されたノードの制御機能を簡略化するという要求を満たしつつ、各ノードに備えるテーブルそのもの、あるいは、そのエントリ数を削減した構成で種々の処理を行わせることが可能になる。その理由は、データ転送ネットワークの転送経路上の個々のノードが実行すべき処理を並べて構成された処理列を含むヘッダを入力パケットに付加し、前記データ転送ネットワークの転送経路上の個々のノードに、前記入力パケットに付加されたヘッダ内の処理列に従って自装置が実行すべき処理を実行させるように構成したことにある。   According to the present invention, various processes can be performed with a configuration in which the number of entries is reduced or the table itself provided in each node while satisfying the demand for simplifying the control function of the nodes arranged in the network. It becomes possible. The reason is that a header including a processing sequence configured by arranging the processes to be executed by the individual nodes on the transfer path of the data transfer network is added to the input packet, and is sent to the individual nodes on the transfer path of the data transfer network. In the configuration, the processing to be executed by the device itself is executed in accordance with the processing sequence in the header added to the input packet.

本発明の概要を説明するための図である。It is a figure for explaining the outline of the present invention. 本発明の第1の実施形態の構成を表した図である。It is a figure showing the structure of the 1st Embodiment of this invention. 本発明の第1の実施形態のノードの詳細構成を表した図である。It is a figure showing the detailed structure of the node of the 1st Embodiment of this invention. 本発明の第1の実施形態の制御サーバの詳細構成を表した図である。It is a figure showing the detailed structure of the control server of the 1st Embodiment of this invention. 本発明の第1の実施形態の制御サーバのフローエントリデータベースの構成を表した図である。It is a figure showing the structure of the flow entry database of the control server of the 1st Embodiment of this invention. 図5のフローキー(FlowKey;マッチングキー)を説明するための図である。It is a figure for demonstrating the flow key (FlowKey; matching key) of FIG. 本発明の第1の実施形態のノードの動作を表したフローチャートである。It is a flowchart showing operation | movement of the node of the 1st Embodiment of this invention. アクションヘッダ(アクション列)の付加の一態様を説明するための図である。It is a figure for demonstrating the one aspect | mode of addition of an action header (action sequence). アクションヘッダ(アクション列)の具体的態様を説明するための図である。It is a figure for demonstrating the specific aspect of an action header (action row | line | column). 本発明の第1の実施形態の制御サーバの動作を表したフローチャートである。It is a flowchart showing operation | movement of the control server of the 1st Embodiment of this invention. 本発明の第1の実施形態のノードおよび制御サーバの動作シーケンス(新規フロー受信時)を表した図である。It is a figure showing the operation | movement sequence (at the time of new flow reception) of the node and control server of the 1st Embodiment of this invention. 本発明の第1の実施形態のノードおよび制御サーバの別の動作シーケンス(新規フロー受信時)を表した図である。It is a figure showing another operation sequence (at the time of new flow reception) of a node and a control server of a 1st embodiment of the present invention. 本発明の第1の実施形態のノードの別の動作例(新規フロー受信時)を表したフローチャートである。It is a flowchart showing another operation example (at the time of new flow reception) of the node according to the first exemplary embodiment of the present invention. 本発明の第1の実施形態のノードおよび制御サーバの別の動作シーケンス(新規フロー受信時)を表した図である。It is a figure showing another operation sequence (at the time of new flow reception) of a node and a control server of a 1st embodiment of the present invention. 本発明の第1の実施形態の全体動作を説明するための図である。It is a figure for demonstrating the whole operation | movement of the 1st Embodiment of this invention. 図14の続図である。FIG. 15 is a continuation diagram of FIG. 14. 図15の続図である。FIG. 16 is a continuation diagram of FIG. 15. 本発明の第1の実施形態のノードにおいて行われる息継ぎ動作を説明するための図である。It is a figure for demonstrating the breathing operation performed in the node of the 1st Embodiment of this invention. 本発明の第1の実施形態のノードにおいて行われる息継ぎ動作の別の例を説明するための図である。It is a figure for demonstrating another example of the breathing operation performed in the node of the 1st Embodiment of this invention. 本発明の第2の実施形態の構成を表した図である。It is a figure showing the structure of the 2nd Embodiment of this invention. 本発明の第2の実施形態の制御サーバのフローエントリデータベースの構成を表した図である。It is a figure showing the structure of the flow entry database of the control server of the 2nd Embodiment of this invention. 本発明の第2の実施形態のノードにおいて行われる息継ぎ動作の別の例を説明するための図である。It is a figure for demonstrating another example of the breathing operation performed in the node of the 2nd Embodiment of this invention. 本発明の第3の実施形態のアクションヘッダ(アクション列)の付加(埋め込み)の一態様を説明するための図である。It is a figure for demonstrating the one aspect | mode of addition (embedding) of the action header (action sequence) of the 3rd Embodiment of this invention. アクションヘッダ(アクション列)を埋め込んだフレームフォーマットの例である。It is an example of a frame format in which an action header (action sequence) is embedded. 本発明の第3の実施形態の全体動作を説明するための図である。It is a figure for demonstrating the whole operation | movement of the 3rd Embodiment of this invention. 本発明の第4の実施形態を説明するための図である。It is a figure for demonstrating the 4th Embodiment of this invention. 本発明の第5の実施形態の全体動作を説明するための図である。It is a figure for demonstrating the whole operation | movement of the 5th Embodiment of this invention. 本発明の第6の実施形態の全体動作を説明するための図である。It is a figure for demonstrating the whole operation | movement of the 6th Embodiment of this invention. アクション名とアクションの内容を例示した図である。It is the figure which illustrated the action name and the content of the action.

はじめに、本発明の概要について説明する。本発明の通信システムのノードは、受信パケットに付加されたアクションヘッダ内のアクション列(処理列)から、自装置が実行すべき処理を特定し、実行する機能を有している。   First, the outline of the present invention will be described. The node of the communication system of the present invention has a function of specifying and executing a process to be executed by the own apparatus from an action sequence (process sequence) in an action header added to the received packet.

ここで、前記アクションヘッダは、データ転送ネットワークの転送経路上の個々のノードが実行すべき処理を並べたものである。個々のアクションとしては、例えば、(1)ヘッダ内の宛先/送信元IPアドレス、宛先/送信元MACアドレス(ヘッダ)、VLAN Tag値を指定値に変更する、(2)パケットをドロップ(廃棄)する、(3)パケットを複数の指定ポート(インタフェース)から出力する(Output)、などを定義することができる(図29および非特許文献4の4頁−6頁「3.3・Actions」、「Table5」参照)。図1の例では、受信パケットは、ID=1のノードのポート#5、ID=2のノードのポート#2、ID=3のノードのポート#3の順に送信されることになる。   Here, the action header is a list of processes to be executed by individual nodes on the transfer path of the data transfer network. For example, (1) change the destination / source IP address, destination / source MAC address (header), and VLAN Tag value in the header to specified values, and (2) drop (discard) the packet. (3) Output packets from a plurality of designated ports (interfaces) (Output), and the like (see FIG. 29 and Non-Patent Document 4, page 4-6, “3.3 Actions”, (See "Table 5"). In the example of FIG. 1, the received packet is transmitted in the order of port # 5 of the node with ID = 1, port # 2 of the node with ID = 2, and port # 3 of the node with ID = 3.

このように、アクションヘッダを付加したパケットを出力させることで、次々に指定した経路上のノードに処理を行わせることが可能になる。従って、冒頭に述べたアクティブネットのように個々のノードにアクティブコードを送信等することは不要であり、また、経路上のノード内のフローテーブルへのエントリの追加処理等も不要となる。   In this way, by outputting the packet with the action header added, it becomes possible to cause the nodes on the designated path to perform processing one after another. Accordingly, it is not necessary to transmit an active code to each node as in the active net described at the beginning, and it is not necessary to add an entry to the flow table in the node on the route.

なお、上記アクションヘッダの付加は、最初にパケットを受信したノードに実行させればよい。アクションヘッダ内のアクション列(処理列)は、外部の制御サーバなどに問い合わせて取得することとしてもよいし、当該ノード内に予め記憶されているアクション列(処理列)を埋め込むものとしてもよい。また、アクションヘッダの削除は、当該経路の終端となるノードに行わせればよい。   The addition of the action header may be performed by the node that first received the packet. The action sequence (processing sequence) in the action header may be acquired by inquiring an external control server or the like, or an action sequence (processing sequence) stored in advance in the node may be embedded. Moreover, what is necessary is just to let the node used as the termination | terminus of the said path | route delete the action header.

[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図2は、本発明の第1の実施形態に係る通信システムを示す図である。図2を参照すると、3つのノード10と、制御サーバ20と、ノード10を経由して通信する通信ノード30が示されている。なお、図2の例では、3つのノード10と、制御サーバ20と、2つの通信ノード30を示しているが、それぞれの数は、あくまで例示であり、それぞれ任意の数とすることができる。
[First Embodiment]
Next, a first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 2 is a diagram showing a communication system according to the first embodiment of the present invention. Referring to FIG. 2, three nodes 10, a control server 20, and a communication node 30 that communicates via the node 10 are shown. In the example of FIG. 2, three nodes 10, the control server 20, and two communication nodes 30 are illustrated, but the number of each is merely an example, and any number can be used.

図3は、ノード10の詳細構成を表した図である。図3を参照すると、ノード10は、制御サーバ30と通信するサーバ通信部11と、フローテーブル13を管理するフローテーブル管理部12と、転送処理部14とを備えて構成される。   FIG. 3 is a diagram showing a detailed configuration of the node 10. Referring to FIG. 3, the node 10 includes a server communication unit 11 that communicates with the control server 30, a flow table management unit 12 that manages the flow table 13, and a transfer processing unit 14.

さらに、転送処理部14は、ユーザトラフィックとして受信したパケットに付加されているアクションヘッダから、自装置が実行すべきアクションを取り出して、アクション実行部18に出力するアクション抽出部17と、受信パケットにアクションヘッダが付加されていなかった場合に、フローテーブル13を検索し、その結果をアクション列設定部16に出力するテーブル検索部15と、前記テーブル検索部15にて検索されたエントリの自ノード以外のノードで実行すべきアクション列をアクションヘッダとして受信パケットに付加するアクション列設定部16と、受信パケットに対し、アクション抽出部17から出力されたアクション(自装置が実行すべきアクション)を実行するアクション実行部18とを備えて構成される。また、アクション列設定部16は、テーブル検索部15によるフローテーブル13の検索の結果、該当するエントリが無かった場合に制御サーバ20に付加すべきアクション列を問い合わせる処理を行う。   Further, the transfer processing unit 14 extracts an action to be executed by the own device from the action header added to the packet received as the user traffic, and outputs the action to the action execution unit 18. When the action header is not added, the flow table 13 is searched, and the result is output to the action string setting unit 16, and the entry other than the own node of the entry searched by the table search unit 15 An action sequence setting unit 16 that adds an action sequence to be executed at the node of the node to the received packet as an action header, and an action (action to be executed by the own device) output from the action extraction unit 17 is executed on the received packet. And an action execution unit 18. The action sequence setting unit 16 inquires about an action sequence to be added to the control server 20 when there is no corresponding entry as a result of the search of the flow table 13 by the table search unit 15.

本発明のノード10は、オープンフロースイッチに、上記アクション抽出部17およびアクション列設定部16を追加した構成にて実現することも可能である。   The node 10 of the present invention can also be realized by a configuration in which the action extraction unit 17 and the action sequence setting unit 16 are added to the OpenFlow switch.

図4は、制御サーバ20の詳細構成を表した図である。図4を参照すると、制御サーバ20は、フローエントリを格納したフローエントリデータベース(フローエントリDB)21と、ノード通信部25を介して収集されたノード10の接続関係に基づいてネットワークトポロジ情報を構築するトポロジ管理部22と、トポロジ管理部22にて構築されたネットワークトポロジ情報に基づいてパケットの転送経路および該転送経路上のノード10に実行させるアクション列を求める経路・アクション計算部23と、経路・アクション計算部23にて計算された結果をフローエントリとしてフローエントリDB21に登録し、ノード10からのフローエントリの追加または更新要求に応えるフローエントリ管理部24と、ノード10との通信を行うノード通信部25とを備えて構成される。なお、ノード10に対して追加または更新を指示したフローエントリを保持する必要が無い場合、フローエントリデータベース(フローエントリDB)21は省略することが可能である。また、フローエントリデータベース(フローエントリDB)21を別途外部サーバ等に設ける構成も採用可能である。   FIG. 4 is a diagram showing a detailed configuration of the control server 20. Referring to FIG. 4, the control server 20 constructs network topology information based on the connection relationship between the flow entry database (flow entry DB) 21 storing the flow entry and the node 10 collected via the node communication unit 25. A topology management unit 22, a route / action calculation unit 23 for obtaining a packet transfer route and an action sequence to be executed by the node 10 on the transfer route based on network topology information constructed by the topology management unit 22, and a route A node that registers the result calculated by the action calculation unit 23 in the flow entry DB 21 as a flow entry and communicates with the flow entry management unit 24 responding to the flow entry addition or update request from the node 10 and the node 10 And a communication unit 25. Note that the flow entry database (flow entry DB) 21 can be omitted when there is no need to hold a flow entry instructed to be added or updated to the node 10. A configuration in which a flow entry database (flow entry DB) 21 is separately provided in an external server or the like can also be employed.

図5は、フローエントリDB21に格納されるフローエントリの例である。図5を参照すると、各エントリは、DPID(データパスID)と、FlowKey(フローキー;マッチングキー)と、Actions(アクション列)とから構成される。図5の例では、AというFlowKey(フローキー;マッチングキー)に適合するパケットに、「Output to Port #9 by DPID 1/Output to Port #6 by DPID 2/Output to Port #1 by DPID 3」というアクション列が付与される。   FIG. 5 is an example of a flow entry stored in the flow entry DB 21. Referring to FIG. 5, each entry includes a DPID (data path ID), a FlowKey (flow key; matching key), and an Actions (action sequence). In the example of FIG. 5, “Output to Port # 9 by DPID 1 / Output to Port # 6 by DPID 2 / Output to Port # 1 by DPID 3” is added to the packet that matches the FlowKey (flow key; matching key) A. The action sequence is given.

図6は、FlowKey(マッチングキー)のフィールド構成を示す図である。例えば、宛先アドレス(IP DA)が特定のサーバであるパケットを受信したノード10にActionsフィールド(可変長)に定義したアクションを実行させることが可能になる。同様に例えば、特定のポート(In Port)から入力されたパケットについてActionsフィールド(可変長)に定義したアクションを実行させることが可能になる。   FIG. 6 is a diagram showing a field configuration of FlowKey (matching key). For example, it is possible to cause the node 10 that has received a packet whose destination address (IP DA) is a specific server to execute an action defined in the Actions field (variable length). Similarly, for example, an action defined in the Actions field (variable length) can be executed for a packet input from a specific port (In Port).

制御サーバ20は、オープンフローコントローラの上記フローエントリDB21の構成あるいはノード10に対して追加または変更を指示するフローエントリの内容を変更することにより実現することも可能である。   The control server 20 can also be realized by changing the configuration of the flow entry DB 21 of the OpenFlow controller or the contents of the flow entry instructing the node 10 to add or change.

続いて、上記したノード10および制御サーバ30の動作について説明する。図7は、上記ノード10の動作を表したフローチャートである。図7を参照すると、ノード10は、通信ノード30や他のノード10からパケットを受信すると(ステップS001)、受信パケットのアクションヘッダから自装置が実行すべきアクションを抽出する(ステップS002)。   Next, operations of the node 10 and the control server 30 described above will be described. FIG. 7 is a flowchart showing the operation of the node 10. Referring to FIG. 7, when the node 10 receives a packet from the communication node 30 or another node 10 (step S001), the node 10 extracts an action to be executed by the own device from the action header of the received packet (step S002).

前記アクションの抽出の結果、アクションを抽出できた場合(ステップS003のNo)、ノード10は、自装置が実行すべきアクションを実行する(ステップS009)。   If the action can be extracted as a result of the extraction of the action (No in step S003), the node 10 executes the action to be executed by the own device (step S009).

一方、前記アクションの抽出の結果、アクションを抽出できなかった場合(ステップS003のYes)、ノード10は、フローテーブル13に、受信したパケットに適合するフローエントリがあるか否かを検索する(ステップS004)。   On the other hand, when the action cannot be extracted as a result of the extraction of the action (Yes in step S003), the node 10 searches the flow table 13 for a flow entry that matches the received packet (step S103). S004).

前記フローテーブル13の検索の結果、受信したパケットに適合するフローエントリが発見された場合(ステップS005のYes)、ノード10は、自身が実行すべきアクションを抽出した上で(ステップS008)、見つかったフローエントリのアクション列をアクションヘッダとして、受信パケットヘッダに付加する(ステップS009)。例えば、受信したパケットがあるフローエントリDB21に登録済みのパケットの後続パケットであるような場合、上記のように前記フローテーブル13からの検索結果を用いて、自身が実行すべきアクションの抽出とアクションヘッダの作成・付加が行われる。   When a flow entry matching the received packet is found as a result of the search of the flow table 13 (Yes in step S005), the node 10 extracts the action to be executed by itself (step S008) and finds it. The action sequence of the flow entry is added to the received packet header as an action header (step S009). For example, when a received packet is a subsequent packet of a packet already registered in the flow entry DB 21, extraction of an action to be executed by itself and an action using the search result from the flow table 13 as described above Header creation / addition is performed.

一方、前記フローテーブル13の検索の結果、受信したパケットに適合するフローエントリが見つからなかった場合(ステップS005のNo)、ノード10は、受信パケットまたは受信パケットの一部を制御サーバ20に送信し、アクション列の作成を要求する(ステップS006)。   On the other hand, if no flow entry matching the received packet is found as a result of searching the flow table 13 (No in step S005), the node 10 transmits the received packet or a part of the received packet to the control server 20. The creation of an action sequence is requested (step S006).

制御サーバ20からアクション列を受信すると、ノード10は、受信したフローエントリをフローテーブル13に登録する(ステップS007)。その後、ノード10は、制御サーバ20からパケット出力指示を受信する(ステップS011)。前記パケット出力指示がフローテーブルの検索指示を伴う場合(ステップS012のYes)、ノード10は、当該パケットに適合するフローエントリがあるか否かを再度検索し(ステップS004−2)、自身が実行すべきアクションの抽出(ステップS008)と、得られたアクション列をアクションヘッダとして受信パケットヘッダに付加する処理を行う(ステップS009)。また、前記パケット出力指示がフローテーブルの検索指示でなく、当該パケットに対し実行すべきアクション(即ち、アクション列の付加と指定ポートからの出力)を伴う場合も同様に、当該アクションに従って、自身が実行すべきアクションの抽出(ステップS008)と、得られたアクション列をアクションヘッダとして受信パケットヘッダに付加する処理を行う(ステップS009)。   When the action sequence is received from the control server 20, the node 10 registers the received flow entry in the flow table 13 (step S007). Thereafter, the node 10 receives a packet output instruction from the control server 20 (step S011). When the packet output instruction is accompanied by a flow table search instruction (Yes in step S012), the node 10 searches again whether there is a flow entry that matches the packet (step S004-2) and is executed by itself. Extraction of an action to be performed (step S008) and processing for adding the obtained action sequence as an action header to the received packet header are performed (step S009). Similarly, when the packet output instruction is not a flow table search instruction but involves an action to be performed on the packet (ie, addition of an action sequence and output from a designated port), Extraction of an action to be executed (step S008) and processing for adding the obtained action sequence to the received packet header as an action header are performed (step S009).

最後に、ノード10は、自装置が実行すべきアクションを実行する(ステップS010)。   Finally, the node 10 executes an action to be executed by the own device (step S010).

ここで、上記ステップS009におけるアクション列の付加方法について説明する。本実施形態では、図8に示すように、受信したパケットの先頭にアクションヘッダを追加(カプセル化)することによってアクションヘッダを付加しているものとする。その他、アクション列を受信パケットのヘッダに埋め込む方法を採ることもできるが、これは第3の実施形態として説明する。   Here, an action sequence adding method in step S009 will be described. In this embodiment, as shown in FIG. 8, it is assumed that an action header is added by adding (encapsulating) an action header to the head of the received packet. In addition, a method of embedding the action sequence in the header of the received packet can be adopted, which will be described as a third embodiment.

アクション列は、各ノード10がそれぞれ実行すべきアクションを特定できる形態のものであれば、特に限定されない。例えば、図9(a)のように、各ノード10が、適当なデリミタや別途設けたLengthフィールド等に基づいて先頭から順番にアクションを取り出す構成を取ることができる。例えば、図9(b)のように、各ノード10が、先頭のポインタビットをインクリメント(1だけ加算)しながら、アクションを実行していく構成を取ることもできる。図9の(a)、(b)いずれの場合もノード#2は、ポート#2から次ホップのノード#3にパケットを転送し、ノード#3は、ポート#9から次ホップにパケットを転送していくことになる。   The action sequence is not particularly limited as long as each node 10 can identify an action to be executed. For example, as shown in FIG. 9A, each node 10 can take a configuration in which actions are extracted in order from the top based on an appropriate delimiter, a separately provided Length field, or the like. For example, as shown in FIG. 9B, it is possible to adopt a configuration in which each node 10 executes an action while incrementing the leading pointer bit (adding only 1). In both cases (a) and (b) of FIG. 9, the node # 2 transfers the packet from the port # 2 to the next hop node # 3, and the node # 3 transfers the packet from the port # 9 to the next hop. Will do.

また、図9(c)に示すように、各ノードのIDと実行すべきアクションを組にしたアクション列を用いることもできる。図9の(c)の場合、ID:Bを持つノード#2は、アクションヘッダ中の自装置のID:Bが付された「B2」を取り出し、ポート#2から次ホップのノード#3にパケットを転送し、ID:Cを持つノード#3は、アクションヘッダ中の自装置のID:Cが付された「C9」を取り出し、ポート#9から次ホップにパケットを転送していくことになる。このようなアクション列の場合、アクションの記載順序が、転送経路上のノードの順序と一致していなくともよく、その都度アクションヘッダを書き換えなくとも各ノード10が自装置で実行すべきアクションを特定することが可能となる。   Further, as shown in FIG. 9C, an action sequence in which the ID of each node and the action to be executed are paired can be used. In the case of FIG. 9C, the node # 2 having ID: B extracts “B2” with the ID: B of its own device in the action header, and moves from the port # 2 to the node # 3 of the next hop. The node # 3 having the ID: C transfers the packet, extracts “C9” with the ID: C of its own device in the action header, and transfers the packet from the port # 9 to the next hop. Become. In the case of such an action sequence, the action description order does not have to match the order of the nodes on the transfer route, and each node 10 specifies an action to be executed by the own device without rewriting the action header each time. It becomes possible to do.

さらには、図9(d)に示すように、各ノード10についてそれぞれアクションヘッダ中のアクションを取り出すべき領域を決めておく方法を採ることもできる。図9の(d)の場合、アクションヘッダのビット0−3からアクションを取り出すことが定められたノード#2は、「2」を取り出し、ポート#2から次ホップのノード#3にパケットを転送し、アクションヘッダのビット4−9からアクションを取り出すことが定められたノード#3は、「9」を取り出し、ポート#9から次ホップにパケットを転送していくことになる。このようなアクション列の場合も、アクションの順序が、転送経路上のノードの順序と一致していなくともよく、その都度アクションヘッダを書き換えなくとも各ノード10が自装置で実行すべきアクションを特定することが可能となる。   Furthermore, as shown in FIG. 9 (d), it is possible to adopt a method of determining an area from which an action in each action header should be extracted for each node 10. In the case of (d) of FIG. 9, node # 2, which is determined to extract an action from bits 0-3 of the action header, extracts “2” and transfers the packet from port # 2 to node # 3 of the next hop. Then, the node # 3 that is determined to extract the action from bits 4-9 of the action header extracts “9” and transfers the packet from the port # 9 to the next hop. Even in the case of such an action sequence, the order of actions does not have to match the order of nodes on the transfer route, and each node 10 specifies an action to be executed on its own device without rewriting the action header each time. It becomes possible to do.

図10は、上記制御サーバ20の動作を表したフローチャートである。図10を参照すると、制御サーバ20は、上記図7のステップS006のように、ノード10からアクション列の作成要求を受け取ると(ステップS101)、トポロジ管理部22にて構築されたネットワークトポロジ情報を取得し、パケットの転送経路を計算する(ステップS102)。   FIG. 10 is a flowchart showing the operation of the control server 20. Referring to FIG. 10, when the control server 20 receives an action sequence creation request from the node 10 (step S101), as in step S006 of FIG. 7, the network management information constructed by the topology management unit 22 is received. Obtaining and calculating the packet transfer path (step S102).

前記パケットの転送経路を計算の結果、経路を作成できない、経路上のノードが故障している等の理由により、転送できない場合(ステップS103のNo)を除き、制御サーバ20は、前記計算された転送経路に対応するアクションを計算し(ステップS104)、アクション列を生成する(ステップS105)。例えば、DPID#1のノード10から、DPID#2のノード10、DPID#3のノード10という経路が求められている場合、「Output to Port #9 by DPID 1/Output to Port #6 by DPID 2/Output to Port #1 by DPID 3」というアクション列が生成される。   As a result of the calculation of the packet transfer route, the control server 20 does not calculate the route except when the route cannot be created or the node on the route cannot be transferred (No in step S103). An action corresponding to the transfer path is calculated (step S104), and an action sequence is generated (step S105). For example, when a path from the node 10 of DPID # 1 to the node 10 of DPID # 2 and the node 10 of DPID # 3 is requested, “Output to Port # 9 by DPID 1 / Output to Port # 6 by DPID 2” / Output to Port # 1 by DPID 3 "is generated.

次に、アクション列の生成が完了すると、制御サーバ20は、後続するパケットのマッチング判定するためのFlowKey(マッチングキー)を生成し、受信パケットに、前記計算したアクション列を設定しなさいという情報および当該受信パケットを受信したノードが実行すべきアクションとの2つの情報が定義されたフローエントリを生成する(ステップS106)。最後に、制御サーバ20は、アクション列の要求元のノード10にフローエントリを送信した後(ステップS107)、ノード10がパケットをバッファしていない場合(ステップS108のNo)、パケットの出力指示を行う(ステップS109)。このパケットの出力指示は、出力すべきパケット(受信パケット)と、当該パケットに対し実行すべきアクション(アクションヘッダを付加して指定ポートから出力処理)とを指示すること、あるいは、出力すべきパケット(受信パケット)と、フローテーブルの検索を指示することによって行われる。なお、ノード10がパケットをバッファしている場合(ステップS108のYes)、後記図13、図14で説明するようにパケットの送信は省略される。   Next, when the generation of the action sequence is completed, the control server 20 generates a FlowKey (matching key) for determining matching of the subsequent packet, and sets the calculated action sequence in the received packet. A flow entry in which two pieces of information including an action to be executed by the node that has received the received packet is defined is generated (step S106). Finally, the control server 20 transmits a flow entry to the request source node 10 of the action sequence (step S107), and if the node 10 does not buffer the packet (No in step S108), instructs the packet output instruction. This is performed (step S109). This packet output instruction indicates a packet to be output (received packet) and an action to be performed on the packet (adding an action header and output processing from a specified port), or a packet to be output (Received packet) and flow table search are instructed. When the node 10 is buffering the packet (Yes in step S108), packet transmission is omitted as will be described later with reference to FIGS.

図11は、上記通信ノードAから送出されたパケット(受信パケット)に基づいて、新しいフローエントリが登録され、当該パケット(受信パケット)が次ホップに転送されるまでの流れを表したシーケンス図である。   FIG. 11 is a sequence diagram showing a flow until a new flow entry is registered based on a packet (received packet) sent from the communication node A and the packet (received packet) is transferred to the next hop. is there.

上述したとおり、ノード10は、受信したパケットにアクションヘッダが付加されていないと判断すると、すでにフローエントリ作成済みのフローであるかどうかフローテーブル13の検索を行う(図7のステップS004に同じ)。この時点では、フローテーブル13に該当するエントリは登録されていないため、ノード10は、制御サーバ20に対し、アクション列の作成を要求する(図7のステップS006に同じ)。   As described above, when the node 10 determines that the action header is not added to the received packet, the node 10 searches the flow table 13 for whether or not the flow entry has already been created (same as step S004 in FIG. 7). . At this point, since the corresponding entry is not registered in the flow table 13, the node 10 requests the control server 20 to create an action sequence (same as step S006 in FIG. 7).

前記アクション列の作成要求を受けた制御サーバ20は、上述したように、受信パケットの転送経路およびアクション列を計算し、前記受信パケットに、前記計算したアクション列を設定しなさいという情報および当該受信パケットを受信したノードが実行すべきアクションとの2つの情報を持つフローエントリを生成する(図10のステップS102からS106に同じ)。   The control server 20 that has received the action sequence creation request calculates the transfer path and action sequence of the received packet as described above, and sets the calculated action sequence in the received packet and the reception thereof. A flow entry having two pieces of information including an action to be executed by the node that has received the packet is generated (same as steps S102 to S106 in FIG. 10).

上述したとおり、フローエントリを受信したノード10は、フローエントリをフローテーブル13に登録する(図7のステップS007に同じ)。   As described above, the node 10 that has received the flow entry registers the flow entry in the flow table 13 (same as step S007 in FIG. 7).

その後、制御サーバ20からパケット出力指示を受信すると、ノード10は、自身が実行すべきアクションを抽出し(図7のステップS008に同じ)、さらに、受信したパケットにアクションヘッダを付加して(図7のステップS009に同じ)、指定ポートから出力する(図7のステップS010に同じ)。   Thereafter, when receiving a packet output instruction from the control server 20, the node 10 extracts an action to be executed by itself (same as step S008 in FIG. 7), and further adds an action header to the received packet (see FIG. 7 is the same as step S009 of FIG. 7), and is output from the designated port (same as step S010 of FIG. 7).

図12は、図11の動作シーケンスを変形したものである。図11の動作シーケンスとの相違点は、制御サーバ20がフローエントリの送信後、図10のステップS109のパケット出力指示において、出力すべきパケット(受信パケット)と、アクションとしてフローテーブルの検索を指示する点である。   FIG. 12 is a modification of the operation sequence of FIG. 11 differs from the operation sequence of FIG. 11 in that the control server 20 instructs the packet output to be output (received packet) and the search of the flow table as an action in the packet output instruction in step S109 of FIG. 10 after transmitting the flow entry. It is a point to do.

前記指示を受けたノード10は、受信パケットをキーとして、フローテーブルの検索を再度実行する(図12のステップS004−2)。先のステップS007にて、フローエントリの登録を行っているため、受信パケットに対応するフローエントリが検索される。ノード10は、受信パケットに、前記フローエントリから自身が実行すべきアクションを抽出し(図7のステップS008に同じ)、アクションヘッダを付加して(図7のステップS009に同じ)、指定ポートから出力する(図7のステップS010に同じ)。   Upon receiving the instruction, the node 10 executes the flow table search again using the received packet as a key (step S004-2 in FIG. 12). Since the flow entry is registered in the previous step S007, the flow entry corresponding to the received packet is searched. The node 10 extracts an action to be executed by itself from the flow entry (same as step S008 in FIG. 7), adds an action header (same as step S009 in FIG. 7) to the received packet, and starts from the designated port. (Same as step S010 in FIG. 7).

さらに、ノード10のパケットのバッファ機能がある場合、図7のフローチャートは、図13のフローチャートに置き換えられ、図11の動作シーケンスは、図13のシーケンスに置き換えられる。図7のフローチャートおよび図11の動作シーケンスと、図13のフローチャートおよび図14の動作シーケンスとの相違点は、パケット保存処理(ステップS021)と、パケット取り出し処理(ステップS022)が追加され、制御サーバ20からのパケット出力指示が省略されている点である。図13、図14の例では、ノード10から制御サーバ20へのアクション列作成要求に、受信パケットを格納したバッファIDを添付しておき、制御サーバ20からノード10へのフローエントリ送信時に、前記受信したバッファIDを添付することで、ノード10は、フローエントリ登録後(ステップS007)、指定されたバッファIDから受信パケットを取り出し(ステップS022)、自身が実行すべきアクションの抽出およびアクションヘッダの付加を行って(ステップS008−S009)、指定ポートから出力している(ステップS010)。   Further, when the node 10 has a packet buffer function, the flowchart of FIG. 7 is replaced with the flowchart of FIG. 13, and the operation sequence of FIG. 11 is replaced with the sequence of FIG. 13. The difference between the flowchart of FIG. 7 and the operation sequence of FIG. 11 and the flowchart of FIG. 13 and the operation sequence of FIG. 14 is that a packet storage process (step S021) and a packet extraction process (step S022) are added. The packet output instruction from 20 is omitted. In the example of FIGS. 13 and 14, the buffer ID storing the received packet is attached to the action sequence creation request from the node 10 to the control server 20, and when the flow entry is transmitted from the control server 20 to the node 10, By attaching the received buffer ID, the node 10 extracts the received packet from the designated buffer ID (step S022) after registering the flow entry (step S007), and extracts the action to be executed by itself and the action header. Addition is performed (steps S008 to S009) and output from the designated port (step S010).

図15〜図17を参照して、ここまで説明した一連の動作を整理して説明する。通信ノードAが通信ノードBに宛てて、ヘッダXを持つパケットを送信すると(図15の(1))、パケットを受信したノード#1は、自装置のフローテーブルを検索するが該当するエントリが無いため、制御サーバ20にそのパケットに対応するアクション列生成を要求する(図15の(2)Packet-In)。   With reference to FIGS. 15 to 17, the series of operations described so far will be described in an organized manner. When the communication node A sends a packet having a header X to the communication node B ((1) in FIG. 15), the node # 1 that has received the packet searches its own flow table, but the corresponding entry is Therefore, the control server 20 is requested to generate an action sequence corresponding to the packet ((2) Packet-In in FIG. 15).

制御サーバ20は、ノード#1から送信されたパケットに対応するアクション列(Acts)および適切なマッチングキー(X)を設定したフローエントリを生成し、ノード#1に返送する(図15の(4)FlowMod(Add))。   The control server 20 generates a flow entry in which an action sequence (Acts) corresponding to the packet transmitted from the node # 1 and an appropriate matching key (X) is set, and returns it to the node # 1 ((4 in FIG. 15). ) FlowMod (Add)).

図16は、ノード#1がフローエントリをフローテーブルに登録した状態を示している。この状態で、制御サーバ20が、ノード#1にパケット出力指示を出すと(図16の(5)Packet-Out)、ノード#1は、受信パケットにアクションヘッダ(Acts)を付加してノード#2に転送する(図16の(6))。   FIG. 16 shows a state in which the node # 1 registers the flow entry in the flow table. In this state, when the control server 20 issues a packet output instruction to the node # 1 ((5) Packet-Out in FIG. 16), the node # 1 adds an action header (Acts) to the received packet and adds the node # 1. 2 ((6) of FIG. 16).

ノード#2は、アクションヘッダ(Acts)に含まれる自身が実行すべきアクションを読み出してポート#5から前記受信パケットを出力する。ノード#2から出力されたパケットは、ノード#3に入力される。   The node # 2 reads the action to be executed by itself included in the action header (Acts), and outputs the received packet from the port # 5. The packet output from node # 2 is input to node # 3.

ノード#3は、アクションヘッダ(Acts)に含まれる自身が実行すべきアクションを読み出してアクションヘッダ(Acts)を削除した上でポート#9から前記受信パケットを出力する。ノード#3から出力されたパケットは、通信ノードBに入力される(図16の(7))。   Node # 3 reads the action to be executed by itself contained in the action header (Acts), deletes the action header (Acts), and outputs the received packet from port # 9. The packet output from the node # 3 is input to the communication node B ((7) in FIG. 16).

その後は、図17に示すように、通信ノードAが通信ノードBに宛てて、後続するパケットを送信すると(図17の(8))、パケットを受信したノード#1は、制御サーバ20に問い合わせることなく、自装置のフローテーブルを検索し、該当するエントリのアクション列からアクションヘッダを生成してノード#2に送信する(図17の(9))。その後は、ノード#2、ノード#3の順にパケットが転送され、最後に、通信ノードBに到達する(図17の(10))。   Thereafter, as shown in FIG. 17, when the communication node A transmits a subsequent packet to the communication node B ((8) in FIG. 17), the node # 1 that has received the packet makes an inquiry to the control server 20. Instead, it searches the flow table of its own device, generates an action header from the action sequence of the corresponding entry, and transmits it to the node # 2 ((9) in FIG. 17). Thereafter, the packets are transferred in the order of the node # 2 and the node # 3, and finally reach the communication node B ((10) in FIG. 17).

なお、経路が長い場合や、アクションヘッダの長さに制約がある場合、経路の途中のノードにアクションヘッダを取得させる必要が生じることがある(この動作を「息継ぎ処理」という。)。この場合、図18に示すように、途中のノードに、アクション列の生成要求を行わせ(図18の(1)Packet-In)、後続するノードに実行させるアクション列を取得させて、アクションヘッダを付加させればよい。   When the route is long or when the length of the action header is limited, it may be necessary for a node in the route to acquire an action header (this operation is referred to as “breathing process”). In this case, as shown in FIG. 18, an intermediate node is requested to generate an action sequence ((1) Packet-In in FIG. 18), an action sequence to be executed by the subsequent node is acquired, and an action header is obtained. Can be added.

制御サーバ20は、経路およびアクション列の計算時に、上記息継ぎ処理が必要となるノードを求めることができる。上記息継ぎ処理は、その必要が生じたときに行うだけでなく、事前に該当するノードにフローエントリを送信することによっても実現できる。   The control server 20 can obtain a node that requires the breathing process when calculating a route and an action sequence. The breathing process can be realized not only when the necessity arises but also by transmitting a flow entry to the corresponding node in advance.

例えば、図19に示すように、制御サーバ20がアクション列の生成要求を受けた際に(図19の(1)Packet-In)、ノード#1だけでなく(図19の(2)FlowMod)、ノード#n−1にもフローエントリを送信してしまうことができる(図19の(3)FlowMod)。   For example, as shown in FIG. 19, when the control server 20 receives an action sequence generation request ((1) Packet-In in FIG. 19), not only the node # 1 ((2) FlowMod in FIG. 19). The flow entry can also be transmitted to the node # n−1 ((3) FlowMod in FIG. 19).

[第2の実施形態]
続いて、本発明の第2の実施形態について図面を参照して詳細に説明する。図20は、本発明の第2の実施形態に係る通信システムを示す図である。図2に示した第1の実施形態との相違点は、各ノード10aが、アクションテーブルを備えており、アクションテーブルのポインタを指示することによりアクションを特定できるようになっている点である。
[Second Embodiment]
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. FIG. 20 is a diagram showing a communication system according to the second embodiment of the present invention. The difference from the first embodiment shown in FIG. 2 is that each node 10a includes an action table, and an action can be specified by indicating a pointer of the action table.

図21は、本発明の第2の実施形態の制御サーバ20aのフローエントリDBに格納されるフローエントリの例である。図21を参照すると、各エントリは、DPID(データパスID)と、FlowKey(フローキー;マッチングキー)と、アクションを実行すべきのノードおよびそのアクションテーブルのポインタとから構成される。   FIG. 21 is an example of a flow entry stored in the flow entry DB of the control server 20a according to the second embodiment of this invention. Referring to FIG. 21, each entry includes a DPID (data path ID), a flow key (flow key; matching key), a node on which an action is to be executed, and a pointer to the action table.

本実施形態によれば、アクションヘッダのサイズあるいはアクションヘッダに収容するアクションの数を増やすことが可能となる。もちろん、本実施形態においても、図22に示すように、経路途中のノード10aに息継ぎ処理を行わせることが可能である。例えば、図22のノード#n−1で息継ぎ処理が必要であることが判っている場合は以下のとおりとなる。まず、ノード#n−1のアクションテーブルに、受信パケットに、後続ノード#n以下に実行させるアクション列を記載したアクションヘッダを付加して送信する旨のアクションを格納しておく。そして、ノード#n−1に当該アクションを実行させるポインタが入ったアクションヘッダが入力されるようにすればよい。   According to the present embodiment, the size of the action header or the number of actions accommodated in the action header can be increased. Of course, also in this embodiment, as shown in FIG. 22, it is possible to cause the node 10a in the middle of the route to perform the breathing process. For example, when it is known that the breathing process is necessary at the node # n-1 in FIG. First, in the action table of the node # n−1, an action indicating that an action header that describes an action sequence to be executed by the subsequent node #n and below is added to the received packet and transmitted. Then, an action header containing a pointer that causes node # n-1 to execute the action may be input.

[第3の実施形態]
続いて、本発明の第3の実施形態について図面を参照して詳細に説明する。上記第1、第2の実施形態では、アクションヘッダは受信パケットの先頭に追加する形で付加するものとして説明したが(図8参照)、図23に示すように、受信パケットのヘッダの一部を書き換える態様を採ることも可能である。
[Third Embodiment]
Next, a third embodiment of the present invention will be described in detail with reference to the drawings. In the first and second embodiments, the action header is described as being added in the form of being added to the head of the received packet (see FIG. 8), but as shown in FIG. 23, a part of the header of the received packet It is also possible to adopt a mode of rewriting.

図24は、受信パケットのMAC DAフィールド一部にアクション列を格納した場合のフレームフォーマットを示す図である。MAC DAフィールドの先頭から7、8ビット目(または1オクテット目の下位2ビット)を除く46ビットをアクション列の格納領域とした場合を考える。各ノードの出力ポートが最大64ポートだとすると、ポートは6ビットで一意に特定できる。従って、図9の(a)のように、ポートだけを並べる形式ならば最大7個のアクションを収容することが可能になる。また、図9(c)に示すように、各ノードのIDを付加する場合には、例えば、各ノードのIDの長さを8ビットとすると、最大3個のアクションを収容することが可能になる。なお、図24の例では、MAC DAフィールドを用いているが、MAC SAフィールドやその他フィールドを用いてもよい。さらに、MAC DAフィールドとMAC SAフィールドを連続して用いてしまってもよい。この場合、上記した収容可能なアクションの数はそれぞれ増大する。   FIG. 24 is a diagram showing a frame format when an action sequence is stored in a part of the MAC DA field of the received packet. Consider a case where 46 bits excluding the 7th and 8th bits (or the lower 2 bits of the 1st octet) from the head of the MAC DA field are used as a storage area for the action sequence. If the maximum number of output ports of each node is 64, the port can be uniquely specified with 6 bits. Therefore, as shown in FIG. 9A, a maximum of seven actions can be accommodated if only the ports are arranged. Also, as shown in FIG. 9C, when adding the ID of each node, for example, if the length of the ID of each node is 8 bits, it is possible to accommodate a maximum of three actions. Become. In the example of FIG. 24, the MAC DA field is used, but a MAC SA field and other fields may be used. Further, the MAC DA field and the MAC SA field may be used in succession. In this case, the number of actions that can be accommodated increases.

上記のようにMAC DAフィールドを利用してアクション列を埋め込む場合、最終ホップでMAC DAフィールドを復元する動作が必要になる。以下、図25を参照して、本実施形態の動作を説明する。通信ノードAが通信ノードBに宛てて、ヘッダXを持つパケットを送信すると(図25の(1))、パケットを受信したノード#1は、自装置のフローテーブルを検索するが該当するエントリが無いため、制御サーバ20bにそのパケットに対応するアクション列生成を要求する(図25の(2)Packet-In)。   When the action sequence is embedded using the MAC DA field as described above, it is necessary to restore the MAC DA field at the last hop. Hereinafter, the operation of this embodiment will be described with reference to FIG. When the communication node A sends a packet having a header X to the communication node B ((1) in FIG. 25), the node # 1 that receives the packet searches its own flow table, but the corresponding entry is Therefore, the control server 20b is requested to generate an action sequence corresponding to the packet ((2) Packet-In in FIG. 25).

制御サーバ20bは、ノード#1から送信されたパケットのマッチングキー(X)およびヘッダをアクション列入りヘッダ(X’)に置き換えるアクションを設定したフローエントリを生成し、ノード#1に返送する(図25の(4)FlowMod(Add))。また、制御サーバ20bは、アクション列入りヘッダ(X’)を元のヘッダ(X)に復元してから所定ポートに出力するアクションを設定したフローエントリを生成し、経路の最終ホップとなるノード#3に送信する(図25の(5)FlowMod(Add))。   The control server 20b generates a flow entry in which an action for replacing the matching key (X) and the header of the packet transmitted from the node # 1 with an action sequence header (X ′) is set, and returns it to the node # 1 (see FIG. 25 (4) FlowMod (Add)). In addition, the control server 20b generates a flow entry in which an action to be output to a predetermined port after restoring the action sequence header (X ′) to the original header (X) is generated, and the node # that becomes the final hop of the route 3 ((5) FlowMod (Add) in FIG. 25).

その後、制御サーバ20bが、ノード#1に対し、ヘッダをアクション列入りヘッダ(X’)としたパケットのパケット出力指示を出すと(図25の(6)Packet-Out)、ノード#1は、受信パケットをノード#2に転送する(図25の(7))。   Thereafter, when the control server 20b instructs the node # 1 to output a packet having a header with an action sequence header (X ′) ((6) Packet-Out in FIG. 25), the node # 1 The received packet is transferred to the node # 2 ((7) in FIG. 25).

ノード#2は、アクション列入りヘッダ(X’)に含まれる自身が実行すべきアクションを読み出してポート#5から前記受信パケットを出力する。ノード#2から出力されたパケットは、ノード#3に入力される。   The node # 2 reads out the action to be executed by itself contained in the header (X ′) with an action sequence, and outputs the received packet from the port # 5. The packet output from node # 2 is input to node # 3.

ノード#3は、アクション列入りヘッダ(X’)に対応するフローエントリを取り出して、アクション列入りヘッダ(X’)を元のヘッダ(X)に復元した後で、ポート#9から前記復元後のパケットを出力する。ノード#3から出力されたパケットは、通信ノードBに入力される。   The node # 3 takes out the flow entry corresponding to the header with action sequence (X ′), restores the header with action sequence (X ′) to the original header (X), and then performs the restoration from the port # 9. Packet is output. The packet output from node # 3 is input to communication node B.

その後は、図25に示すように、通信ノードAが通信ノードBに宛てて、後続するパケットを送信すると(図25の(9))、パケットを受信したノード#1は、制御サーバ20bに問い合わせることなく、自装置のフローテーブルを検索し、該当するエントリの内容に従い、アクション列入りヘッダ(X’)を付加したパケットをノード#2に送信する(図25の(10))。その後は、ノード#2、ノード#3の順にパケットが転送され、最後に、通信ノードBに到達する(図25の(11))。   Thereafter, as shown in FIG. 25, when the communication node A transmits a subsequent packet to the communication node B ((9) in FIG. 25), the node # 1 that has received the packet makes an inquiry to the control server 20b. Instead, it searches the flow table of its own device, and transmits a packet with an action sequence header (X ′) added to node # 2 according to the contents of the corresponding entry ((10) in FIG. 25). Thereafter, the packets are transferred in the order of the node # 2 and the node # 3, and finally reach the communication node B ((11) in FIG. 25).

以上のような本実施形態によれば、第1の実施形態と比べて、アクションヘッダの分だけオーバーヘッドを低減することが可能になる。   According to the present embodiment as described above, it is possible to reduce overhead by an amount equivalent to the action header as compared with the first embodiment.

また、本実施形態と、第2の実施形態とを組み合わせることも可能であり、例えば、図25のように、各ノードのアクションテーブル上のアクションを指示するポインタを用いることとすれば、一ヘッダに、より多くのアクションを収容することが可能になる。この場合の最終ホップにおけるヘッダの復元は、ノード#3のアクションテーブルにヘッダ(X’)をヘッダ(X)に戻すアクションを格納しておき、ノード#3に当該アクションを示すポインタ(00x5)を指示してやればよい。   Also, this embodiment and the second embodiment can be combined. For example, as shown in FIG. 25, if a pointer indicating an action on the action table of each node is used, one header is used. It becomes possible to accommodate more actions. To restore the header at the last hop in this case, an action for returning the header (X ′) to the header (X) is stored in the action table of the node # 3, and a pointer (00x5) indicating the action is stored in the node # 3. Just tell me.

上記ヘッダ復元処理は、種々の方法により実現することができる。例えば、図27に示すように、最終ホップのノード#3のフローテーブルに、次のアクションを実行させるフローエントリを追加することができる。まず、(12)X’からIP DA(Internet Protocol Destination Address)を取得し、(13)In Port以外のポートにARP(Address Resolution Protocol) Requestを送信し、(14)IP DAに該当するMAC DAを取得する。(15)取得したMAC DAを用いてヘッダを復元した後、(16)MAC DAの受信ポートにパケットを送信する。   The header restoration process can be realized by various methods. For example, as shown in FIG. 27, a flow entry for executing the next action can be added to the flow table of node # 3 of the last hop. First, (12) IP DA (Internet Protocol Destination Address) is acquired from X ′, (13) ARP (Address Resolution Protocol) Request is transmitted to a port other than In Port, and (14) MAC DA corresponding to IP DA To get. (15) After restoring the header using the acquired MAC DA, (16) transmit the packet to the MAC DA receiving port.

また例えば、MAC SAフィールドをアクション列の格納に用いていない場合には、図28に示すように、MAC DAフィールドの内容(00:00:00:00:00:01)を、MAC SAフィールドに退避させた後に、MAC DAフィールドにアクション列を格納し、最終ホップのノード#3に、MAC SAフィールドの内容を用いてMAC DAフィールドを書き戻してやるアクションを実行させる方法も用いることができる。なお、図28の例では、MAC SAフィールドにアドレス(00:00:00:00:00:02)を入れているが、この値は適当な値でかまわない。   Further, for example, when the MAC SA field is not used for storing the action sequence, the contents of the MAC DA field (00: 00: 00: 00: 00: 01) are stored in the MAC SA field as shown in FIG. It is also possible to use a method in which an action sequence is stored in the MAC DA field after evacuation, and the action is performed by writing back the MAC DA field to the last hop node # 3 using the contents of the MAC SA field. In the example of FIG. 28, an address (00: 00: 00: 00: 00: 02) is entered in the MAC SA field, but this value may be an appropriate value.

なお、アクション列の収容先としては、図24の例に限られず、MAC SAフィールド、VAN_ID(VID)、Type等のその他のフィールドを用いることもできる。またこのほか、上位レイヤのヘッダやデータ領域等の予め定めた位置にアクション列を収容する態様も採用可能である。   The accommodation destination of the action string is not limited to the example of FIG. 24, and other fields such as a MAC SA field, VAN_ID (VID), and Type can also be used. In addition, it is also possible to adopt a mode in which the action sequence is accommodated at a predetermined position such as a header or data area of the upper layer.

以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。上記した実施形態の制御サーバ20、20a〜20fは、専用のサーバとして実現することもでき、ノード10、10a〜10fとしては、上記オープンフロースイッチのほか、IP網におけるルータ、MPLS(Multi−Protocol Label Switching)網におけるMPLSスイッチにて実現することができる。その他、サーバがネットワーク内のノードを集中管理するようなネットワークであれば、本発明を適用することが可能である。   The preferred embodiments of the present invention have been described above. However, the present invention is not limited to the above-described embodiments, and further modifications, replacements, and replacements may be made without departing from the basic technical idea of the present invention. Adjustments can be made. The control servers 20 and 20a to 20f according to the above-described embodiment can be realized as dedicated servers. The nodes 10 and 10a to 10f include routers in the IP network, MPLS (Multi-Protocol), in addition to the OpenFlow switch. It can be realized by an MPLS switch in a network (Label Switching). In addition, the present invention can be applied to any network where the server centrally manages nodes in the network.

また、本発明の動作からも明らかなように、アクション列を設定するアクション列設定部16は、経路の始点となる入り口ノード(例えば、図18のノード#1)と、息継ぎ処理を行うノード(例えば、図18のノード#n−1)にあればよい。従って、ネットワーク内のどのノードが、入り口ノードと息継ぎ処理を行うノードに該当するかが判っている場合には、アクション列設定部16を省略することが可能である。   Further, as apparent from the operation of the present invention, the action sequence setting unit 16 that sets the action sequence and the entry node (for example, node # 1 in FIG. 18) that is the starting point of the route and the node that performs the breathing process ( For example, it suffices to be at node # n-1) in FIG. Therefore, when it is known which node in the network corresponds to the entry node and the node that performs the breathing process, the action sequence setting unit 16 can be omitted.

なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。   Each disclosure of the above-mentioned patent document and non-patent document is incorporated herein by reference. Within the scope of the entire disclosure (including claims) of the present invention, the embodiments and examples can be changed and adjusted based on the basic technical concept. Further, various combinations or selections of various disclosed elements (including each element of each claim, each element of each embodiment or example, each element of each drawing, etc.) within the scope of the claims of the present invention. Is possible. That is, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the entire disclosure including the claims and the technical idea. In particular, with respect to the numerical ranges described in this document, any numerical value or small range included in the range should be construed as being specifically described even if there is no specific description.

データセンタなどの商用ネットワークでは、QoS(Quority of Service)や、負荷分散のため、宛先アドレス、送信元アドレス、使用プロトコルといった様々な条件により、パケットの転送経路を厳密に制御する必要がある。本発明によれば、少なくとも中間の息継ぎ処理を要しないノードのフローテーブルが不要となり、また、フローテーブルが必要となるノードにおいても、そのエントリ数を削減することが可能となる。したがって、本発明はデータセンタなどの商用ネットワークへ好適に適用可能である。   In a commercial network such as a data center, it is necessary to strictly control a packet transfer path according to various conditions such as a destination address, a source address, and a protocol used for QoS (Quality of Service) and load distribution. According to the present invention, a flow table of a node that does not require at least an intermediate breathing process becomes unnecessary, and the number of entries can be reduced even in a node that requires a flow table. Therefore, the present invention can be suitably applied to a commercial network such as a data center.

10、10a〜10f 通信ノード
11 サーバ通信部
12 フローテーブル管理部
13 フローテーブル
14 転送処理部
15 テーブル検索部
16 アクション列設定部
17 アクション抽出部
18 アクション実行部
20、20a〜20f 制御サーバ
21 フローエントリデータベース(フローエントリDB)
22 トポロジ管理部
23 経路・アクション計算部
24 フローエントリ管理部
25 ノード通信部
30 通信ノード
10, 10a to 10f Communication node 11 Server communication unit 12 Flow table management unit 13 Flow table 14 Transfer processing unit 15 Table search unit 16 Action column setting unit 17 Action extraction unit 18 Action execution unit 20, 20a to 20f Control server 21 Flow entry Database (flow entry DB)
22 topology management unit 23 route / action calculation unit 24 flow entry management unit 25 node communication unit 30 communication node

Claims (27)

パケットの転送経路の少なくとも一部を構成する複数のノードを含み、A plurality of nodes constituting at least a part of a packet transfer path;
前記複数のノードの少なくとも1つのノードは、At least one node of the plurality of nodes is
前記複数のノードの各々が有するパケット処理リストから各ノードが実行するパケット処理を特定するための複数の識別情報が付与されたパケットを受信可能な第1の手段と、First means capable of receiving a packet to which a plurality of pieces of identification information for specifying packet processing to be executed by each node is received from a packet processing list possessed by each of the plurality of nodes;
前記ノードが有する前記リストから、前記複数の識別情報のうち前記ノードに対応する識別情報に基づいて特定されたパケット処理を実行可能な第2の手段とSecond means capable of executing packet processing specified from the list of the node based on the identification information corresponding to the node among the plurality of identification information;
を含むことを特徴とする通信システム。A communication system comprising:
前記少なくとも1つのノードは、
前記複数のノードを制御する制御装置に対して、前記パケット処理に関する問い合わせを行う第3の手段
を含むことを特徴とする請求項1に記載の通信システム。
The at least one node is
The communication system according to claim 1, further comprising: a third unit that makes an inquiry about the packet processing to a control device that controls the plurality of nodes.
前記少なくとも1つのノードは、
前記複数のノードを制御する制御装置に従って、受信したパケットの処理を行う第4の手段
を含むことを特徴とする請求項1または2に記載の通信システム。
The at least one node is
Communication system according to claim 1 or 2 in accordance with the control apparatus, characterized by comprising a fourth means for processing the received packet for controlling said plurality of nodes.
前記少なくとも1つのノードは、
受信したパケットに対して、前記受信したパケットに関するパケット処理に対応する前記複数の識別情報を設定する第5の手段
を含むことを特徴とする請求項1乃至3のいずれか1項に記載の通信システム。
The at least one node is
The communication according to any one of claims 1 to 3, further comprising: fifth means for setting the plurality of identification information corresponding to packet processing related to the received packet for the received packet. system.
前記第5の手段は、
前記複数のノードを制御する制御装置によって設定された処理規則に従って、受信したパケットに対して、前記受信したパケットに関するパケット処理に対応する前記複数の識別情報を設定する
ことを特徴とする請求項4に記載の通信システム。
The fifth means includes
5. The plurality of pieces of identification information corresponding to packet processing related to the received packet are set for a received packet according to a processing rule set by a control device that controls the plurality of nodes. The communication system according to 1.
前記第5の手段は、
受信したパケットに対して、前記受信したパケットの転送経路上の前記複数のノードで実行されるパケット処理に対応する前記複数の識別情報を設定する
ことを特徴とする請求項4または5に記載の通信システム。
The fifth means includes
6. The plurality of pieces of identification information corresponding to packet processing executed by the plurality of nodes on a transfer path of the received packet are set for the received packet. Communications system.
前記第1の手段は、前記転送経路における前記複数のノードの順序に応じて、前記複数のノードの各々に対応する前記複数の識別情報が付与された前記パケットを受信し、The first means receives the packet provided with the plurality of identification information corresponding to each of the plurality of nodes according to the order of the plurality of nodes in the transfer path,
前記第2の手段は、前記転送経路における前記ノードの順序に対応する前記識別情報に基づいて特定されたパケット処理を実行するThe second means executes packet processing specified based on the identification information corresponding to the order of the nodes in the transfer path.
ことを特徴とする請求項1乃至6のいずれか1項に記載の通信システム。The communication system according to any one of claims 1 to 6.
パケットの転送経路の少なくとも一部を構成する複数のノードの各々で実行されるパケット処理を決定可能な第1の手段と、  First means capable of determining packet processing to be executed in each of a plurality of nodes constituting at least a part of a packet transfer path;
前記複数のノードにおける少なくとも1つのノードに対して、前記複数のノードの各々が有するパケット処理リストから各ノードが実行するパケット処理を特定するため、前記各ノードに対応する複数の識別情報を、前記転送経路に転送するパケットに付与することを指示可能な第2の手段とIn order to identify the packet processing executed by each node from the packet processing list of each of the plurality of nodes for at least one node in the plurality of nodes, a plurality of identification information corresponding to each of the nodes is A second means capable of giving an instruction to attach to a packet transferred to the transfer path;
を含むことを特徴とする制御装置。The control apparatus characterized by including.
前記少なくとも1つのノードから、前記パケット処理に関する問い合わせを受信する第の手段
を含むことを特徴とする請求項に記載の制御装置。
The control device according to claim 8 , further comprising third means for receiving an inquiry about the packet processing from the at least one node .
前記第2の手段は、前記少なくとも1つのノードに対して、前記複数の識別情報を前記パケットに付与することを指示するThe second means instructs the at least one node to add the plurality of identification information to the packet.
ことを特徴とする請求項8または9の制御装置。10. The control device according to claim 8 or 9, wherein
前記第2の手段は、前記転送経路の始点となるノードに対して、前記複数の識別情報を前記パケットに付与することを指示するThe second means instructs a node that is a starting point of the transfer path to add the plurality of identification information to the packet.
ことを特徴とする請求項8乃至10のいずれか1項に記載の制御装置。The control device according to claim 8, wherein the control device is a control device.
前記第2の手段は、前記複数のノードにおける少なくとも1つのノードに対して、前記転送経路における前記複数のノードの順序に応じて、前記複数のノードの各々に対応する前記複数の識別情報を前記パケットに付与することを指示するThe second means sends the plurality of identification information corresponding to each of the plurality of nodes to at least one node in the plurality of nodes according to the order of the plurality of nodes in the transfer path. Instruct to attach to packet
ことを特徴とする請求項8乃至11のいずれか1項に記載の制御装置。The control device according to claim 8, wherein the control device is a control device.
前記第2の手段は、パケットフローを識別するための条件と、当該条件に対応するパケットに付与する前記複数の識別情報とを含む指示を、前記複数のノードにおける少なくとも1つのノードに対して送信するThe second means transmits an instruction including a condition for identifying a packet flow and the plurality of identification information added to a packet corresponding to the condition to at least one node in the plurality of nodes. Do
ことを特徴とする請求項8乃至12のいずれか1項に記載の制御装置。  The control device according to claim 8, wherein the control device is a control device.
パケットを転送するノードであって、A node that forwards packets,
パケットの転送経路の少なくとも一部を構成する複数のノードの各々が有するパケット処理リストから前記複数のノードの各々が実行するパケット処理を特定するための複数の識別情報が付与されたパケットを受信可能な第1の手段と、Receiving a packet with a plurality of identification information for identifying packet processing executed by each of the plurality of nodes from a packet processing list of each of the plurality of nodes constituting at least a part of the packet transfer path First means,
前記パケット処理リストから、前記複数の識別情報のうち前記ノードに対応する識別情報に基づいて特定されたパケット処理を実行可能な第2の手段とSecond means capable of executing packet processing specified based on identification information corresponding to the node among the plurality of identification information from the packet processing list;
を含むことを特徴とするノード。A node characterized by containing
前記複数のノードを制御する制御装置に対して、前記パケット処理に関する問い合わせを行う第3の手段Third means for inquiring about the packet processing to the control device that controls the plurality of nodes
を含むことを特徴とする請求項14に記載のノード。The node of claim 14, comprising:
前記複数のノードを制御する制御装置に従って、受信したパケットの処理を行う第4の手段Fourth means for processing received packets in accordance with the control device for controlling the plurality of nodes
を含むことを特徴とする請求項14または15に記載のノード。  The node according to claim 14 or 15, characterized by comprising:
前記少なくとも1つのノードは、The at least one node is
受信したパケットに対して、前記受信したパケットに関するパケット処理に対応する前記複数の識別情報を設定する第5の手段  Fifth means for setting the plurality of identification information corresponding to packet processing related to the received packet for the received packet
を含むことを特徴とする請求項14乃至16のいずれか1項に記載のノード。  The node according to any one of claims 14 to 16, characterized by comprising:
前記第5の手段は、The fifth means includes
前記複数のノードを制御する制御装置によって設定された処理規則に従って、受信したパケットに対して、前記受信したパケットに関するパケット処理に対応する前記複数の識別情報を設定する  In accordance with a processing rule set by a control device that controls the plurality of nodes, the plurality of pieces of identification information corresponding to packet processing related to the received packet are set for the received packet.
ことを特徴とする請求項17に記載のノード。  The node according to claim 17.
前記第5の手段は、The fifth means includes
受信したパケットに対して、前記受信したパケットの転送経路上の前記複数のノードで実行されるパケット処理に対応する前記複数の識別情報を設定する  For the received packet, the plurality of identification information corresponding to packet processing executed by the plurality of nodes on the transfer path of the received packet is set.
ことを特徴とする請求項17または18に記載のノード。  The node according to claim 17 or 18, characterized in that:
前記第2の手段は、前記転送経路における前記複数のノードの順序に応じて前記パケットに付与された前記複数の識別情報に基づいて、前記ノードに対応付けられたパケット処理を特定するThe second means specifies a packet process associated with the node based on the plurality of identification information given to the packet according to the order of the plurality of nodes in the transfer path.
ことを特徴とする請求項14乃至19のいずれか1項のノード。20. A node as claimed in any one of claims 14 to 19 characterized in that
前記第1の手段は、前記転送経路における前記複数のノードの順序に応じて、前記複数のノードの各々に対応する前記複数の識別情報が付与された前記パケットを受信し、The first means receives the packet provided with the plurality of identification information corresponding to each of the plurality of nodes according to the order of the plurality of nodes in the transfer path,
前記第2の手段は、前記転送経路における前記ノードの順序に対応する前記識別情報に基づいて特定されたパケット処理を実行する  The second means executes packet processing specified based on the identification information corresponding to the order of the nodes in the transfer path.
ことを特徴とする請求項14乃至19のいずれか1項のノード。  20. A node as claimed in any one of claims 14 to 19 characterized in that
パケットを転送するノードであって、A node that forwards packets,
パケットを受信可能な第1の手段と、A first means capable of receiving a packet;
パケットの転送経路を制御可能な制御装置からの指示に従って、前記転送経路の少なくとも一部を構成する複数のノードの各々が有するパケット処理リストから各ノードが実行するパケット処理を特定するため、前記各ノードに対応する複数の識別情報を、前記パケットに付与可能な第2の手段と、In accordance with an instruction from a control device capable of controlling a packet transfer path, each packet is specified by each node from a packet processing list included in each of a plurality of nodes constituting at least a part of the transfer path. A second means capable of giving a plurality of identification information corresponding to nodes to the packet;
を含むことを特徴とするノード。A node characterized by containing
前記第2の手段は、パケットフローを識別するための条件と、当該条件に対応するパケットに付与する前記複数の識別情報とを含む指示に従って、前記パケットに前記ポインタを付与するThe second means assigns the pointer to the packet according to an instruction including a condition for identifying a packet flow and the plurality of identification information to be given to the packet corresponding to the condition.
ことを特徴とする請求項22のノード。23. The node of claim 22, wherein:
パケットの転送経路の少なくとも一部を構成する複数のノードの各々で実行されるパケット処理を決定し、  Determining packet processing to be executed in each of a plurality of nodes constituting at least a part of a packet transfer path;
前記複数のノードにおける少なくとも1つのノードに対して、前記複数のノードの各々が有するパケット処理リストから各ノードが実行するパケット処理を特定するため、前記各ノードに対応する複数の識別情報を、前記転送経路に転送するパケットに付与することを指示するIn order to identify the packet processing executed by each node from the packet processing list of each of the plurality of nodes for at least one node in the plurality of nodes, a plurality of identification information corresponding to each of the nodes is Instructs the packet to be transferred to the transfer path.
ことを特徴とする通信方法。A communication method characterized by the above.
複数のノードを制御可能な制御装置に、
パケットの転送経路の少なくとも一部を構成する複数のノードの各々で実行されるパケット処理を決定する処理と、
前記複数のノードにおける少なくとも1つのノードに対して、前記複数のノードの各々が有するパケット処理リストから各ノードが実行するパケット処理を特定するため、前記各ノードに対応する複数の識別情報を、前記転送経路に転送するパケットに付与することを指示する処理と
を実行させることを特徴とするプログラム。
To a control device that can control multiple nodes,
A process for determining a packet process to be executed in each of a plurality of nodes constituting at least a part of a packet transfer path;
In order to identify the packet processing executed by each node from the packet processing list of each of the plurality of nodes for at least one node in the plurality of nodes, a plurality of identification information corresponding to each of the nodes is A program for executing a process for instructing a packet to be transferred to a transfer path .
パケットを転送するノードにおける通信方法であって、A communication method in a node that forwards packets,
パケットの転送経路の少なくとも一部を構成する複数のノードの各々が有するパケット処理リストから前記複数のノードの各々が実行するパケット処理を特定するための複数の識別情報が付与されたパケットを受信し、Receiving a packet to which a plurality of identification information for specifying packet processing to be executed by each of the plurality of nodes is received from a packet processing list possessed by each of the plurality of nodes constituting at least a part of the packet transfer path; ,
前記パケット処理リストから、前記複数の識別情報のうち前記ノードに対応する識別情報に基づいて特定されたパケット処理を実行するThe packet processing specified from the packet processing list based on the identification information corresponding to the node among the plurality of identification information is executed.
ことを特徴とする通信方法。A communication method characterized by the above.
パケットを転送するノードにおける通信方法であって、A communication method in a node that forwards packets,
パケットを受信し、Receive the packet,
パケットの転送経路を制御可能な制御装置からの指示に従って、前記転送経路の少なくとも一部を構成する複数のノードの各々が有するパケット処理リストから各ノードが実行するパケット処理を特定するため、前記各ノードに対応する複数の識別情報を、前記パケットに付与するIn accordance with an instruction from a control device capable of controlling a packet transfer path, each packet is specified by each node from a packet processing list included in each of a plurality of nodes constituting at least a part of the transfer path. A plurality of identification information corresponding to the node is added to the packet.
ことを特徴とする通信方法。A communication method characterized by the above.
JP2012217523A 2012-09-28 2012-09-28 COMMUNICATION SYSTEM, NODE, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM Active JP5573909B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012217523A JP5573909B2 (en) 2012-09-28 2012-09-28 COMMUNICATION SYSTEM, NODE, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012217523A JP5573909B2 (en) 2012-09-28 2012-09-28 COMMUNICATION SYSTEM, NODE, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011530717A Division JP5626214B2 (en) 2009-09-14 2009-09-14 Communication system, node, control server, communication method and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014127244A Division JP5794355B2 (en) 2014-06-20 2014-06-20 COMMUNICATION SYSTEM, NODE, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2012257335A JP2012257335A (en) 2012-12-27
JP5573909B2 true JP5573909B2 (en) 2014-08-20

Family

ID=47528345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012217523A Active JP5573909B2 (en) 2012-09-28 2012-09-28 COMMUNICATION SYSTEM, NODE, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP5573909B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6477037B2 (en) * 2015-03-06 2019-03-06 日本電気株式会社 Network control system, network control method, control device control program, and relay device control program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU1199888A (en) * 1987-03-13 1988-09-15 Northern Telecom Limited Communications system and components and methods for use therein
JP3721784B2 (en) * 1998-05-27 2005-11-30 富士電機機器制御株式会社 Network system, transmission device, relay device, and recording medium
JP2003163684A (en) * 2001-11-28 2003-06-06 Nippon Telegr & Teleph Corp <Ntt> Method for storing program via network, method for processing packet routing method, its program, its device and recording medium
JP5182146B2 (en) * 2009-02-23 2013-04-10 富士通株式会社 Route determination program, management apparatus, and network system

Also Published As

Publication number Publication date
JP2012257335A (en) 2012-12-27

Similar Documents

Publication Publication Date Title
JP5626214B2 (en) Communication system, node, control server, communication method and program
JP6418261B2 (en) COMMUNICATION SYSTEM, NODE, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP5494668B2 (en) Information system, control server, virtual network management method and program
JP5440691B2 (en) Packet transfer system, control device, transfer device, processing rule creation method and program
JP5888338B2 (en) Communication system and communication method
JP2014533001A (en) Transfer device control device, transfer device control method, communication system, and program
WO2014077306A1 (en) Control apparatus, communication system, control information creating method and program
JP5573909B2 (en) COMMUNICATION SYSTEM, NODE, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP5637289B2 (en) Communication system, node, control server, communication method and program
JP6036940B2 (en) COMMUNICATION SYSTEM, NODE, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP5794355B2 (en) COMMUNICATION SYSTEM, NODE, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120928

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131101

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140616

R150 Certificate of patent or registration of utility model

Ref document number: 5573909

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150