JP2015173439A - Network system and communication control method - Google Patents

Network system and communication control method Download PDF

Info

Publication number
JP2015173439A
JP2015173439A JP2015028518A JP2015028518A JP2015173439A JP 2015173439 A JP2015173439 A JP 2015173439A JP 2015028518 A JP2015028518 A JP 2015028518A JP 2015028518 A JP2015028518 A JP 2015028518A JP 2015173439 A JP2015173439 A JP 2015173439A
Authority
JP
Japan
Prior art keywords
ofs
flow
packet
ofc
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015028518A
Other languages
Japanese (ja)
Inventor
智士 大貫
Satoshi Onuki
智士 大貫
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 JP2015028518A priority Critical patent/JP2015173439A/en
Publication of JP2015173439A publication Critical patent/JP2015173439A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a network system that can properly operate when a packet is transmitted over a network under the control of a different controller.SOLUTION: A network system includes a controller 200 that controls a plurality of switches 300 and an integrated controller 100 that controls the plurality of controllers 200. The integrated controller 100 transmits, to the plurality of controllers 200, information on a boundary port, which is a port for transmitting, to switches 300 under the control of one controller 200, packets from switches 300 under the control of the other controller 200. The controllers 200 transmit a request according to the information on the boundary port to the switches 300 when paths for the packets transmitted to the switches 300 under the control of the controllers 200 include the boundary port.

Description

本発明は、複数のコントローラおよびそのコントローラを管理する統合コントローラを用いたネットワークシステムおよび通信制御方法に関する。   The present invention relates to a network system and a communication control method using a plurality of controllers and an integrated controller that manages the controllers.

近年、OpenFlowという技術が提案されている。OpenFlowが用いられたネットワークシステム(以下、OpenFlowネットワークと称する)では、一般的なネットワーク機器が行うパケット転送と経路制御の機能が分離されている。具体的には、ネットワーク機器が、パケット転送を担当し、ネットワーク機器の外部に置かれたコントローラが、経路制御を担当する。これにより、外部からの制御が容易になり、柔軟性に富んだネットワークを構築することが可能になる。   In recent years, a technique called OpenFlow has been proposed. In a network system using OpenFlow (hereinafter referred to as an OpenFlow network), packet transfer and path control functions performed by a general network device are separated. Specifically, the network device is in charge of packet transfer, and the controller placed outside the network device is in charge of path control. Thereby, control from the outside becomes easy, and it becomes possible to construct a flexible network.

OpenFlowを用いた一般的なネットワークシステムは、OpenFlowプロトコルをサポートしたネットワーク機器であるOpenFlowスイッチ(以下OFSと称する)と、外部に置かれたコントローラであるOpenFlowコントローラ(以下、OFCと称する)とで構成される。ネットワーク機器とコントローラは、セキュアチャンネル(Secure Channel)で接続されており、OpenFlowプロトコルを用いて通信を行う。   A general network system using OpenFlow includes an OpenFlow switch (hereinafter referred to as OFS) that is a network device that supports the OpenFlow protocol, and an OpenFlow controller (hereinafter referred to as OFC) that is an external controller. Is done. The network device and the controller are connected by a secure channel (Secure Channel) and communicate using the OpenFlow protocol.

一般的なOpenFlowネットワークを用いたシステムの例が、特許文献1に開示されている。特許文献1には、通信経路に基づいて構築された仮想ネットワークのトポロジ情報に基づき、複数のコントローラによって管理される複数の仮想ネットワークを結合して視認可能に出力する管理装置を具備するコンピュータシステムが開示されている。このコンピュータシステムは、仮想ネットワーク全体を一元的に管理することができる。   An example of a system using a general OpenFlow network is disclosed in Patent Document 1. Patent Document 1 discloses a computer system including a management device that combines and outputs a plurality of virtual networks managed by a plurality of controllers based on topology information of a virtual network constructed based on a communication path. It is disclosed. This computer system can centrally manage the entire virtual network.

国際公開第2013/118687号International Publication No. 2013/118687

しかし、特許文献1には、異なるOFCの制御下にあるネットワークを跨いで送信されるパケットをどのように適切に制御するかが記載されていない。つまり、他のOFCの制御下にあるネットワークに送信されるパケットの経路制御に関して、OFCがOFSにどのように指示すればよいかが明確ではない。そのため、特許文献1に記載されたコンピュータシステムは、異なるOFCの制御下にあるネットワークを跨いでパケットが送信された場合に適切な動作ができないという課題がある。   However, Patent Document 1 does not describe how to properly control a packet transmitted across networks under the control of different OFCs. That is, it is not clear how the OFC should instruct the OFS regarding the route control of packets transmitted to networks under the control of other OFCs. Therefore, the computer system described in Patent Document 1 has a problem that an appropriate operation cannot be performed when a packet is transmitted across networks under the control of different OFCs.

そこで、本発明は、異なるコントローラの制御下にあるネットワークを跨いでパケットが送信された際に適切な動作をすることができるネットワークシステムおよび通信制御方法を提供することを目的とする。   Accordingly, an object of the present invention is to provide a network system and a communication control method capable of performing an appropriate operation when a packet is transmitted across networks under the control of different controllers.

本発明によるネットワークシステムは、複数のスイッチを制御するコントローラと、複数のコントローラを制御する統合コントローラとを備えたネットワークシステムであって、統合コントローラは、一のコントローラの制御下にあるスイッチに他のコントローラの制御下にあるスイッチからのパケットを送信するためのポートである境界ポートに関する情報を、複数のコントローラに送信し、コントローラは、制御下にあるスイッチに送られたパケットの経路に境界ポートが含まれる場合に、境界ポートに関する情報に応じた要求をスイッチに送信することを特徴とする。   The network system according to the present invention is a network system including a controller that controls a plurality of switches and an integrated controller that controls the plurality of controllers, and the integrated controller includes other switches that are under the control of one controller. Information about the boundary port, which is a port for transmitting packets from the switch under the control of the controller, is transmitted to a plurality of controllers, and the controller places the boundary port in the path of the packet sent to the switch under control. If included, a request corresponding to information on the boundary port is transmitted to the switch.

本発明による通信制御方法は、複数のスイッチを制御するコントローラと、複数のコントローラを制御する統合コントローラとを備えたネットワークシステムに用いられる通信制御方法であって、統合コントローラが、一のコントローラの制御下にあるスイッチに他のコントローラの制御下にあるスイッチからのパケットを送信するためのポートである境界ポートに関する情報を、複数のコントローラに送信し、コントローラが、制御下にあるスイッチに送られたパケットの経路に境界ポートが含まれる場合に、境界ポートに関する情報に応じた要求をスイッチに送信することを特徴とする。   A communication control method according to the present invention is a communication control method used in a network system including a controller that controls a plurality of switches and an integrated controller that controls the plurality of controllers, wherein the integrated controller controls one controller. Information about border ports, which are ports for sending packets from switches under control of other controllers, to the underlying switch was sent to multiple controllers, and the controller was sent to the switch under control When a boundary port is included in the packet path, a request corresponding to information regarding the boundary port is transmitted to the switch.

本発明によれば、異なるコントローラの制御下にあるネットワークを跨いでパケットが送信された際に適切な動作をすることができる。   According to the present invention, an appropriate operation can be performed when a packet is transmitted across networks under the control of different controllers.

本発明によるネットワークシステムの第1の実施形態の構成および処理の流れを示す説明図である。It is explanatory drawing which shows the structure and process flow of 1st Embodiment of the network system by this invention. 本発明によるネットワークシステムの第1の実施形態の動作を示すフローチャートである。It is a flowchart which shows operation | movement of 1st Embodiment of the network system by this invention. 第1の実施形態の第1の実施例におけるネットワークシステムの詳細な構成を示すブロック図である。It is a block diagram which shows the detailed structure of the network system in the 1st Example of 1st Embodiment. 第1の実施形態の第1の実施例におけるネットワークシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the network system in the 1st Example of 1st Embodiment. 第1の実施形態の境界ポートに関する情報の例を示す説明図である。It is explanatory drawing which shows the example of the information regarding the boundary port of 1st Embodiment. 第1の実施形態の第4の実施例の構成および動作を示す説明図である。It is explanatory drawing which shows the structure and operation | movement of the 4th Example of 1st Embodiment. 本発明によるネットワークシステムの第1の実施形態の他の構成を示すブロック図である。It is a block diagram which shows the other structure of 1st Embodiment of the network system by this invention. 第1の実施形態のフロー情報のMatch条件の例を示す説明図である。It is explanatory drawing which shows the example of the Match condition of the flow information of 1st Embodiment. 本発明によるネットワークシステムの第2の実施形態の構成および処理の流れを示す説明図である。It is explanatory drawing which shows the structure and process flow of 2nd Embodiment of the network system by this invention. 第2の実施形態の第1の実施例におけるネットワークシステムの詳細な構成を示すブロック図である。It is a block diagram which shows the detailed structure of the network system in the 1st Example of 2nd Embodiment. 第2の実施形態の第1の実施例におけるネットワークシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the network system in the 1st Example of 2nd Embodiment. 第2の実施形態の境界ポートに関する情報の例を示す説明図である。It is explanatory drawing which shows the example of the information regarding the boundary port of 2nd Embodiment. 第2の実施形態の統合コントローラ10の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the integrated controller 10 of 2nd Embodiment. 第2の実施形態の第2の実施例におけるネットワークシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the network system in the 2nd Example of 2nd Embodiment. 本発明によるネットワークシステムの主要部の構成を示す説明図である。It is explanatory drawing which shows the structure of the principal part of the network system by this invention. 統合コントローラを含むネットワークシステムの例を示すブロック図である。It is a block diagram which shows the example of the network system containing an integrated controller. フロー情報のMatch条件の例を示す説明図である。It is explanatory drawing which shows the example of the Match condition of flow information.

実施形態1.
初めに、一般的なOpenFlowネットワークおよびその課題の一例を説明する。OpenFlowネットワークでは、OFCは、OpenFlowプロトコルを使用して複数のOFSを集中制御する。OFCは、OFS間を流れるパケットをフローと呼ばれる単位で管理する。また、OFCは、各OFSに対して、フロー情報(フローの情報)で構成されるフローエントリを設定することで、仮想ネットワークを構築し、OFS間での通信を制御する。
Embodiment 1. FIG.
First, an example of a general OpenFlow network and its problem will be described. In the OpenFlow network, the OFC performs centralized control of a plurality of OFS using the OpenFlow protocol. OFC manages packets flowing between OFS in units called flows. Further, the OFC sets a flow entry including flow information (flow information) for each OFS, thereby constructing a virtual network and controlling communication between OFSs.

フロー情報は、Match条件、Path情報、Action情報を含む。Match条件は、フロー情報に対応するパケットを識別するための条件を表す。Path情報は、Match条件に対応するパケットが経由する経路を表す。Action情報は、Path情報に対応する経路を経由したパケットに対して実行されるべき処理を表す。OFCは、ネットワークトポロジの図の上にフロー情報を表示する機能を有し、ネットワークを流れる通信の可視化を行うことができる。   The flow information includes Match conditions, Path information, and Action information. The Match condition represents a condition for identifying a packet corresponding to the flow information. The Path information represents a route through which a packet corresponding to the Match condition passes. Action information represents a process to be executed on a packet that has passed through a path corresponding to the Path information. The OFC has a function of displaying flow information on a network topology diagram, and can visualize communications flowing through the network.

一方、OpenFlowネットワークに、複数のOFCを集中制御する統合コントローラを用いることも考えられる。統合コントローラは、複数のOFCから、各OFCが制御するフロー情報を取得し、それらを連結して、一つのフローとして提示することができるが、フローの連結を正しく行うことができない場合が存在する。次に、このような場合の具体例を、図を用いて説明する。   On the other hand, it is also conceivable to use an integrated controller that centrally controls a plurality of OFCs in the OpenFlow network. The integrated controller can acquire flow information controlled by each OFC from a plurality of OFCs, connect them and present them as one flow, but there are cases where the flows cannot be connected correctly. . Next, a specific example in such a case will be described with reference to the drawings.

図16は、統合コントローラ40を含むネットワークシステムの例を示すブロック図である。図17は、フロー情報のMatch条件の例を示す説明図である。図17に示すMatch条件は、図16に示すOFC50−1とOFC50−2が保持するフローのMatch条件である。図16において、OFS60−1とOFS60−2は、OFC50−1によって制御され、OFS60−3とOFS60−4は、OFC50−2によって制御される。OFC50−1とOFC50−2は、統合コントローラ40によって制御される。   FIG. 16 is a block diagram illustrating an example of a network system including the integrated controller 40. FIG. 17 is an explanatory diagram illustrating an example of a Match condition of flow information. The Match condition shown in FIG. 17 is the Match condition of the flow held by the OFC 50-1 and OFC 50-2 shown in FIG. In FIG. 16, OFS 60-1 and OFS 60-2 are controlled by OFC 50-1, and OFS 60-3 and OFS 60-4 are controlled by OFC 50-2. The OFC 50-1 and the OFC 50-2 are controlled by the integrated controller 40.

図16において、ノード71からノード72へとパケットが送信されると、OFC50−1及びOFC50−2は、それぞれの設定内容に従い制御下のOFS60−1〜OFS60−4へとフローエントリを設定する。図17において「*」は任意(ワイルドカード)であることを表す。図17に示すように、OFC50−1はMatch条件として、IP src(始点IPアドレス(Internet Protocol Address))がノード71のIPアドレスであり、IP dst(終点IPアドレス)がノード72のIPアドレスであり、その他のフィールドが任意であるフローを生成する。OFC50−2は、Match条件として、TCP/UDP dst Port(終点ポート)が80であり、その他のフィールドが任意であるフローを生成する。   In FIG. 16, when a packet is transmitted from the node 71 to the node 72, the OFC 50-1 and OFC 50-2 set a flow entry to the OFS 60-1 to OFS 60-4 under control according to the setting contents. In FIG. 17, “*” represents an arbitrary (wild card). As shown in FIG. 17, the OFC 50-1 has a Match condition in which IP src (Starting Protocol IP Address) is the IP address of the node 71, and IP dst (Ending IP Address) is the IP address of the node 72. Yes, create a flow with other fields optional. The OFC 50-2 generates a flow in which TCP / UDP dst Port (end point port) is 80 and other fields are arbitrary as Match conditions.

統合コントローラ40は、OFC50−1とOFC50−2からフロー情報を取得し、各フロー情報のMatch条件を比較する。しかし、OFC50−1から取得したフロー情報とOFC50−2から取得したフロー情報ではMatch条件が一致せず、統合コントローラ40は、パケットがそれらのフローに従って実際に流れたのか判別することができない。例えば、ノード71が、IP srcがノード71のIPアドレスであり、IP dstがノード72のIPアドレスであり、TCP/UDP dst Portが80であるパケットを送信した場合は、OFC50−1のフローとOFC50−2のフローの両方に合致する。そのため、統合コントローラ40は、OFC50−1のフローとOFC50−2のフローを連結して表示することができる。   The integrated controller 40 acquires flow information from the OFC 50-1 and the OFC 50-2, and compares the Match conditions of each flow information. However, the Match condition does not match between the flow information acquired from the OFC 50-1 and the flow information acquired from the OFC 50-2, and the integrated controller 40 cannot determine whether the packet actually flows according to those flows. For example, when the node 71 transmits a packet in which the IP src is the IP address of the node 71, the IP dst is the IP address of the node 72, and the TCP / UDP dst Port is 80, the flow of the OFC 50-1 Matches both OFC 50-2 flows. Therefore, the integrated controller 40 can connect and display the flow of the OFC 50-1 and the flow of the OFC 50-2.

しかし、ノード71が、IP srcがノード71のIPアドレスであり、IP dstがノード72のIPアドレスであり、TCP/UDP dst Portが443であるパケットを送信した場合は、OFC50−1のフローには合致するが、OFC50−2のフローには合致しない。そのため、統合コントローラ40は、OFC50−1のフローとOFC50−2のフローを連結して表示することはできない。   However, if the node 71 transmits a packet in which IP src is the IP address of the node 71, IP dst is the IP address of the node 72, and TCP / UDP dst Port is 443, the flow of the OFC 50-1 Matches, but does not match the flow of OFC 50-2. Therefore, the integrated controller 40 cannot link and display the flow of the OFC 50-1 and the flow of the OFC 50-2.

以下、上記のような課題を解決するためのネットワークシステムの実施形態を、図面を用いて説明する。図1は、本実施形態のネットワークシステムの構成および処理の流れを示す説明図である。図2は、本実施形態のネットワークシステムの動作を示すフローチャートである。   Hereinafter, an embodiment of a network system for solving the above problems will be described with reference to the drawings. FIG. 1 is an explanatory diagram showing the configuration of the network system and the flow of processing of this embodiment. FIG. 2 is a flowchart showing the operation of the network system of this embodiment.

本実施形態のネットワークシステムは、OFS30−1、OFS30−2、OFS30−3、OFS30−4と、OFS30−1およびOFS30−2を制御するOFC20−1と、OFS30−3およびOFS30−4を制御するOFC20−2と、OFC20−1およびOFC20−2を制御する統合コントローラ10とを備える。また、OFS30−1にノード1が接続され、OFS30−4にノード2が接続されている。   The network system of this embodiment controls OFS 30-1, OFS 30-2, OFS 30-3, OFS 30-4, OFS 20-1 that controls OFS 30-1 and OFS 30-2, and OFS 30-3 and OFS 30-4. The OFC 20-2 and the integrated controller 10 that controls the OFC 20-1 and the OFC 20-2 are provided. Further, the node 1 is connected to the OFS 30-1, and the node 2 is connected to the OFS 30-4.

統合コントローラ10は、OFC20−1とOFC20−2の境界(境界ポート)を検出する(ステップS1)。境界ポートは、一のOFCの制御下にあるOFSに他のOFCの制御下にあるOFSからのパケットを送信するためのポートである。境界ポート同士は、直結していてもよく他の装置を介して接続されていてもよい。図1に示す例では、境界ポートは、OFS30−2がOFS30−3と接続するためのポートp1、およびOFS30−3がOFS30−2と接続するためのポートp2である。統合コントローラ10は、LLDP(Link Layer Discovery Protocol)などを使用して、自動で境界ポートの検出を実行することにより境界ポートに関する情報を取得してもよいし、ユーザにより明示的に指定された境界ポートに関する情報を取得してもよい。また、統合コントローラ10は、境界ポートに関する情報をあらかじめ保持していてもよい。   The integrated controller 10 detects the boundary (boundary port) between the OFC 20-1 and the OFC 20-2 (step S1). The boundary port is a port for transmitting a packet from an OFS under the control of another OFC to an OFS under the control of one OFC. The boundary ports may be directly connected or may be connected via other devices. In the example illustrated in FIG. 1, the boundary ports are the port p1 for connecting the OFS 30-2 with the OFS 30-3 and the port p2 for connecting the OFS 30-3 with the OFS 30-2. The integrated controller 10 may acquire information on the boundary port by automatically detecting the boundary port by using LLDP (Link Layer Discovery Protocol) or the like, or the boundary explicitly specified by the user Information about the port may be acquired. Further, the integrated controller 10 may hold information related to the boundary port in advance.

統合コントローラ10は、自身の制御下にあるOFC20−1に対して隣接OFCであるOFC20−2との境界ポートに関する情報を送信する(ステップS2)。   The integrated controller 10 transmits information related to the boundary port with the OFC 20-2 that is the adjacent OFC to the OFC 20-1 under its control (step S2).

ノード1がノード2を宛先とするパケットを送信する(ステップS3)。OFS30−1は、ノード1からパケットを受信し、OFC20−1へPACKET_INメッセージを送信する。   Node 1 transmits a packet destined for node 2 (step S3). The OFS 30-1 receives the packet from the node 1 and transmits a PACKET_IN message to the OFC 20-1.

PACKET_INメッセージは、OFSが持つフローテーブル中に、受信パケットとマッチするフローがなかった場合、受信パケットをOFCに送るために用いるメッセージである。ただし、本実施形態では、OFCに送られる情報は、PACKET_INメッセージに限られず、パケットに関する情報(パケットの種類、送信元、宛先等)を含む情報であればよい。   The PACKET_IN message is a message used to send a received packet to the OFC when there is no flow that matches the received packet in the flow table of the OFS. However, in the present embodiment, the information sent to the OFC is not limited to the PACKET_IN message, and may be information including information on the packet (packet type, transmission source, destination, etc.).

OFC20−1は、OFS30−1からPACKET_INメッセージを受信すると、OFC20−1内の設定情報と統合コントローラ10から受信した境界情報とに基づいて経路計算を行う(ステップS4)。また、OFC20−1は、フロー情報を生成する。OFC20−1は、生成したフローが隣接するOFC20−2へ到達すること、つまり経路に境界ポートが含まれることを検知する。OFC20−1およびOFC20−2は、フローの経路に境界ポートが含まれる場合、パケットのヘッダ情報を保存する要求をOFSに送信する機能を有している。   When receiving the PACKET_IN message from the OFS 30-1, the OFC 20-1 performs route calculation based on the setting information in the OFC 20-1 and the boundary information received from the integrated controller 10 (step S4). Further, the OFC 20-1 generates flow information. The OFC 20-1 detects that the generated flow reaches the adjacent OFC 20-2, that is, the path includes a boundary port. The OFC 20-1 and the OFC 20-2 have a function of transmitting a request for saving packet header information to the OFS when a boundary port is included in the flow path.

OFC20−1は、経路計算によって求めた経路上に存在するOFS30−1とOFS30−2にフローエントリを設定する(ステップS5)。また、OFC20−1は、フローの経路に境界ポートが含まれるため、フローのIngress(入口)に位置するOFS30−1に対して、フローエントリに合致したパケットのヘッダ情報を保存するように指示する。   The OFC 20-1 sets a flow entry in the OFS 30-1 and OFS 30-2 that exist on the route obtained by route calculation (step S5). Further, since the boundary path is included in the flow path, the OFC 20-1 instructs the OFS 30-1 located at the flow Ingress to save the header information of the packet that matches the flow entry. .

OFS30−1は、OFC20−1から設定されたフローエントリの内容に従い、ノード1から受信したパケットをOFS30−2へ転送する。OFS30−1は、パケットのヘッダ情報をフローエントリと関連付けて自身の内部に保存する(ステップS6)。   The OFS 30-1 transfers the packet received from the node 1 to the OFS 30-2 according to the contents of the flow entry set from the OFC 20-1. The OFS 30-1 associates the header information of the packet with the flow entry and saves it inside itself (step S6).

統合コントローラ10は、OFC20−1に対して条件を指定してフローの取得を要求する。OFC20−1は、統合コントローラ10から指定された条件に合致するフロー情報を検索する。OFC20−1は、そのフロー情報に基づいて、フローのIngressに位置するOFS30−1に対して、フローエントリに合致したパケットの取得を要求する。OFS30−1は、OFC20−1からの要求に従い、フローエントリに合致したパケットのヘッダ情報をOFC20−1に返却する。OFC20−1は、OFS30−1から受信したフローとパケットのヘッダ情報を統合コントローラ10へと送信する(ステップS7)。   The integrated controller 10 specifies a condition for the OFC 20-1 and requests acquisition of a flow. The OFC 20-1 searches for flow information that matches the conditions specified by the integrated controller 10. Based on the flow information, the OFC 20-1 requests the OFS 30-1 located in the flow Ingress to obtain a packet that matches the flow entry. The OFS 30-1 returns the header information of the packet that matches the flow entry to the OFC 20-1 in accordance with the request from the OFC 20-1. The OFC 20-1 transmits the flow and packet header information received from the OFS 30-1 to the integrated controller 10 (step S7).

同様に、統合コントローラ10は、OFC20−2からもフローとヘッダ情報を取得する。統合コントローラ10は、OFC20−1とOFC20−2から取得したヘッダ情報を比較し、フローを連結させることが可能か判断する。   Similarly, the integrated controller 10 acquires flow and header information also from the OFC 20-2. The integrated controller 10 compares the header information acquired from the OFC 20-1 and the OFC 20-2, and determines whether it is possible to connect the flows.

以上、OFCが、制御下にあるOFSから、境界ポートを通過するパケットまたは境界ポートを通過したパケットが送信された場合、そのパケットのヘッダ情報を保存する要求をOFSに送信する例を説明した。ただし、本実施形態のネットワークシステムにおいて、OFCがOFSに送信する要求は、境界ポートに関する情報に応じた要求であればよく、パケットのヘッダ情報の保存に限られない。本実施形態のOFCは、境界ポートに関する情報に応じて、隣接OFCの制御下にあるOFSへ到達するフローと、自身の制御下にあるOFSで終端するフローとでは、OFSに対して異なる要求をする。その要求の他の例を含む、本実施形態のネットワークシステムの実施例を以下で説明する。   As described above, when an OFC under control transmits a packet that passes through a boundary port or a packet that passes through a boundary port, the OFC transmits a request to save the header information of the packet to the OFS. However, in the network system of the present embodiment, the request transmitted from the OFC to the OFS is not limited to storing the header information of the packet as long as it is a request according to the information regarding the boundary port. The OFC according to the present embodiment makes different requests to the OFS depending on the information related to the boundary port between the flow reaching the OFS under the control of the adjacent OFC and the flow terminating at the OFS under its control. To do. An example of the network system of this embodiment including another example of the request will be described below.

(実施例1)
次に、本実施形態のネットワークシステムの第1の実施例(実施例1)を説明する。図3は、第1の実施形態の第1の実施例におけるネットワークシステムの詳細な構成を示すブロック図である。図3は、ネットワークシステムのうち、統合コントローラ10、OFC20、OFS30の具体的な構成を示している。
Example 1
Next, a first example (Example 1) of the network system according to the present embodiment will be described. FIG. 3 is a block diagram illustrating a detailed configuration of the network system in the first example of the first embodiment. FIG. 3 shows a specific configuration of the integrated controller 10, OFC 20, and OFS 30 in the network system.

統合コントローラ10、OFC20、OFS30の各構成要素は、例えば、特定の演算処理等を行うよう設計されたハードウェア、またはプログラムに従って動作するCPU(Central Processing Unit)等の情報処理装置によって実現される。また、そのプログラムは、非一時的でコンピュータが読み取り可能な記憶媒体に記憶される。   Each component of the integrated controller 10, OFC 20, and OFS 30 is realized by, for example, an information processing device such as hardware designed to perform specific arithmetic processing or a CPU (Central Processing Unit) that operates according to a program. The program is stored in a non-transitory computer-readable storage medium.

統合コントローラ10は、例えば、サーバマシン、または当該サーバマシン上で動作する仮想マシンである。統合コントローラ10は、OFC管理部11と、境界ポート管理部12と、フロー連結部13とを備える。統合コントローラ10は、複数のOFC20を管理することができる。また、統合コントローラ10は、OFC20と専用線または通常のネットワークで接続されている。   The integrated controller 10 is, for example, a server machine or a virtual machine that operates on the server machine. The integrated controller 10 includes an OFC management unit 11, a boundary port management unit 12, and a flow connection unit 13. The integrated controller 10 can manage a plurality of OFCs 20. The integrated controller 10 is connected to the OFC 20 via a dedicated line or a normal network.

OFC管理部11は、統合コントローラ10の制御対象のOFC20の情報、当該OFC20が制御しているOFS30の情報、およびトポロジ情報を管理する。   The OFC management unit 11 manages information on the OFC 20 to be controlled by the integrated controller 10, information on the OFS 30 controlled by the OFC 20, and topology information.

境界ポート管理部12は、複数のOFC20が制御するネットワーク間の境界となるOFS30のポート情報を管理する。   The boundary port management unit 12 manages port information of the OFS 30 that is a boundary between networks controlled by a plurality of OFCs 20.

フロー連結部13は、複数のOFC20から取得したフローの情報を比較し、一つのフローに連結する。   The flow connection unit 13 compares information on flows acquired from a plurality of OFCs 20 and connects them to one flow.

OFC20は、例えば、サーバマシン、または当該サーバマシン上で動作する仮想マシンである。OFC20は、統合コントローラ10と同じマシン上で動作することも可能である。OFC20は、複数のOFS30を管理することができる。また、OFC20は、OFS30と専用線もしくは通常のネットワークを利用したセキュアチャンネルで接続されている。   The OFC 20 is, for example, a server machine or a virtual machine that operates on the server machine. The OFC 20 can also operate on the same machine as the integrated controller 10. The OFC 20 can manage a plurality of OFSs 30. The OFC 20 is connected to the OFS 30 via a dedicated channel or a secure channel using a normal network.

OFC20は、物理トポロジ管理部21と、経路計算部22と、フロー管理部23と、OFS管理部24とを備える。   The OFC 20 includes a physical topology management unit 21, a route calculation unit 22, a flow management unit 23, and an OFS management unit 24.

物理トポロジ管理部21は、OFC20が管理するOFS30の情報、OFS30間のリンク情報、隣接するOFC20との境界となるポート情報を管理する。   The physical topology management unit 21 manages information on the OFS 30 managed by the OFC 20, link information between the OFSs 30, and port information serving as a boundary between adjacent OFCs 20.

経路計算部22は、OFC20が管理するOFS30に接続されているノード間の経路を計算する。   The route calculation unit 22 calculates a route between nodes connected to the OFS 30 managed by the OFC 20.

フロー管理部23は、Match条件とActionとPathによって構成されるフローを生成する。   The flow management unit 23 generates a flow including the Match condition, Action, and Path.

OFS管理部24は、フローが経由するOFS30に対してフローエントリ設定などの指示を行う。   The OFS management unit 24 instructs the OFS 30 through which the flow passes, such as setting a flow entry.

OFS30は、フローエントリ管理部31とパケットヘッダ管理部32とを備える。   The OFS 30 includes a flow entry management unit 31 and a packet header management unit 32.

フローエントリ管理部31は、OFC20からフローエントリ設定の要求を受信すると、フローエントリを生成し、保存する。OFS30に接続されているノードからパケットを受信すると、パケットヘッダをフローエントリのMatch条件と比較し、フローエントリのActionに従った処理をする。   When receiving the flow entry setting request from the OFC 20, the flow entry management unit 31 generates and stores a flow entry. When a packet is received from a node connected to the OFS 30, the packet header is compared with the Match condition of the flow entry, and processing according to the Action of the flow entry is performed.

パケットヘッダ管理部32は、フローエントリのMatch条件に合致したパケットのヘッダを、フローエントリと関連付けて保存する。   The packet header management unit 32 stores the header of the packet that matches the Match condition of the flow entry in association with the flow entry.

次に、本実施例のネットワークシステムの動作を説明する。本実施例において、統合コントローラ10は、OFC20を制御し、パケットの制御ポリシをOFC20に設定する。   Next, the operation of the network system of this embodiment will be described. In this embodiment, the integrated controller 10 controls the OFC 20 and sets the packet control policy to the OFC 20.

統合コントローラ10において、OFC管理部11は、ユーザから指定されたOFC20の情報を保存する。境界ポート管理部12は、複数のOFC20間の境界にあるOFS30のポート情報を保存する。境界にあるOFS30のポートは、ユーザから指定される場合と、統合コントローラ10から自動検出される場合がある。境界ポート管理部12は、境界ポートに関する情報をOFC20へ送信する。   In the integrated controller 10, the OFC management unit 11 stores information of the OFC 20 designated by the user. The boundary port management unit 12 stores port information of the OFS 30 at the boundary between a plurality of OFCs 20. The port of the OFS 30 at the boundary may be designated by the user or automatically detected from the integrated controller 10. The boundary port management unit 12 transmits information related to the boundary port to the OFC 20.

OFC20において、物理トポロジ管理部21は、OFS30から取得したOFSのポート情報とOFC20が検出したOFS30間のリンク情報を保存する。また、物理トポロジ管理部21は、統合コントローラ10から受信した境界ポートに関する情報を保存する。   In the OFC 20, the physical topology management unit 21 stores the OFS port information acquired from the OFS 30 and link information between the OFS 30 detected by the OFC 20. In addition, the physical topology management unit 21 stores information related to the boundary port received from the integrated controller 10.

経路計算部22は、OFS30からPACKET_INメッセージを受信すると、統合コントローラ10から設定された制御ポリシと物理トポロジ管理部21が保持する物理トポロジ情報に基づいてパケットの経路を計算する。   When the path calculation unit 22 receives the PACKET_IN message from the OFS 30, the path calculation unit 22 calculates a packet path based on the control policy set from the integrated controller 10 and the physical topology information held by the physical topology management unit 21.

フロー管理部23は、経路計算部22が算出した経路を通過するフロー情報を生成して自身の中に保存し、管理する。   The flow management unit 23 generates flow information passing through the route calculated by the route calculation unit 22, stores it in itself, and manages it.

OFS管理部24は、フロー管理部23が生成したフロー情報を基に、フローが経由するOFS30に設定するフローエントリを算出し、OFS30にフローエントリの設定を指示する。   The OFS management unit 24 calculates a flow entry to be set in the OFS 30 through which the flow passes based on the flow information generated by the flow management unit 23, and instructs the OFS 30 to set the flow entry.

OFS管理部24は、フローの経路に境界ポートが含まれる場合、フローのIngressに位置するOFS30に対して、フローエントリに合致したパケットのヘッダを保存するように指示を送る。フローの経路に境界ポートが含まれる場合とは、例えば、フローが境界ポートに向けて出力されていた場合、または境界ポートから入力されていた場合である。   When a boundary port is included in the flow path, the OFS management unit 24 sends an instruction to the OFS 30 located in the flow Ingress to store the header of the packet that matches the flow entry. The case where the boundary port is included in the path of the flow is, for example, a case where the flow is output toward the boundary port or a case where the flow is input from the boundary port.

OFS30において、フローエントリ管理部31は、OFC20からフローエントリの設定要求を受信すると、フローエントリを生成して保存する。また、フローエントリ管理部31は、OFC20から、フローエントリに合致したパケットのヘッダ保存要求を受信すると、フローエントリのActionに、パケットヘッダの保存を追加する。   In the OFS 30, when receiving the flow entry setting request from the OFC 20, the flow entry management unit 31 generates and stores a flow entry. When the flow entry management unit 31 receives from the OFC 20 a request for storing a header of a packet that matches the flow entry, the flow entry management unit 31 adds the packet header storage to the action of the flow entry.

OFS30は、OFS30に接続されているノードからパケットを受信すると、パケットのヘッダ情報とフローエントリ管理部31が保持しているフローエントリのMatch条件とを比較する。OFS30は、そのパケットがMatch条件に合致するパケットだった場合は、そのフローエントリに設定されているActionを実行する。パケットヘッダ管理部32は、Actionにパケットヘッダの保存が指定されている場合に、フローエントリに合致したパケットヘッダを保存する。   When the OFS 30 receives a packet from a node connected to the OFS 30, the OFS 30 compares the packet header information with the match condition of the flow entry held by the flow entry management unit 31. If the packet matches the Match condition, the OFS 30 executes the action set in the flow entry. The packet header management unit 32 saves the packet header that matches the flow entry when saving of the packet header is designated in the Action.

統合コントローラ10は、フローの表示要求を受信すると、OFC20へフローの取得要求を送信する。   When receiving the flow display request, the integrated controller 10 transmits a flow acquisition request to the OFC 20.

OFC20が統合コントローラ10からフローの取得要求を受信すると、フロー管理部23は、統合コントローラ10から要求された条件に合致するフローを検索する。OFS管理部24は、当該フローが境界ポートを経由していた場合は、フローのIngressに位置するOFS30に対してパケットヘッダの取得要求を送信する。   When the OFC 20 receives a flow acquisition request from the integrated controller 10, the flow management unit 23 searches for a flow that matches the condition requested by the integrated controller 10. If the flow passes through the boundary port, the OFS management unit 24 transmits a packet header acquisition request to the OFS 30 located at the Ingress of the flow.

OFS30のパケットヘッダ管理部32は、OFC20からパケットヘッダの取得要求を受信すると、要求に合致するパケットヘッダをOFC20へ送信する。   When receiving a packet header acquisition request from the OFC 20, the packet header management unit 32 of the OFS 30 transmits a packet header that matches the request to the OFC 20.

OFC20は、フロー管理部23が保持しているフロー情報とOFS30から取得したパケットヘッダ情報を統合コントローラ10へ送信する。   The OFC 20 transmits the flow information held by the flow management unit 23 and the packet header information acquired from the OFS 30 to the integrated controller 10.

統合コントローラ10において、境界ポート管理部12は、OFC20から受信したフローのPathからEgressのOFS30のポートが境界ポートであるか調べる。Egressポートが境界ポートであった場合は、境界ポート管理部12は、当該OFC20と隣接するOFC20を検索する。   In the integrated controller 10, the boundary port management unit 12 checks whether the port of the Egress OFS 30 is a boundary port from the path of the flow received from the OFC 20. When the Egress port is a boundary port, the boundary port management unit 12 searches for an OFC 20 adjacent to the OFC 20.

フロー連結部13は、境界ポート管理部12が検索した隣接OFC20からフローとパケットヘッダ情報を取得する。そして、フロー連結部13は、1台目のOFC20から取得したフローのパケットヘッダ情報と2台目のOFC20から取得したフローのパケットヘッダ情報とを比較する。フロー連結部13は、パケットヘッダ情報が同一であった場合は、フローの連結を行う。   The flow connection unit 13 acquires the flow and packet header information from the adjacent OFC 20 searched by the boundary port management unit 12. Then, the flow connection unit 13 compares the packet header information of the flow acquired from the first OFC 20 with the packet header information of the flow acquired from the second OFC 20. When the packet header information is the same, the flow coupling unit 13 performs flow coupling.

本実施例のフロー連結処理の詳細を説明する。図4は、第1の実施形態の第1の実施例におけるネットワークシステムの構成を示すブロック図である。図5は、第1の実施形態の境界ポートに関する情報の例を示す説明図である。図4に示す統合コントローラ10は、図3に示す統合コントローラ10に相当する。図4に示すOFC20−1およびOFC20−2は、図3に示すOFC20に相当する。図4に示すOFS30−1〜OFS30−4は、図3に示すOFS30に相当する。   Details of the flow connection process of this embodiment will be described. FIG. 4 is a block diagram showing the configuration of the network system in the first example of the first embodiment. FIG. 5 is an explanatory diagram illustrating an example of information regarding the boundary port according to the first embodiment. The integrated controller 10 shown in FIG. 4 corresponds to the integrated controller 10 shown in FIG. The OFC 20-1 and OFC 20-2 illustrated in FIG. 4 correspond to the OFC 20 illustrated in FIG. The OFS 30-1 to OFS 30-4 illustrated in FIG. 4 correspond to the OFS 30 illustrated in FIG.

統合コントローラ10は、OFC20−1が制御しているOFS30−1およびOFS30−2とOFC20−2が制御しているOFS30−3およびOFS30−4の境界ポートに関する情報を境界ポート管理部12へ保存する。図5に示すように、境界ポートに関する情報は、コントローラIDとスイッチIDとポートIDの組を含む。図5に示す境界ポートに関する情報は、OFC20−1の制御下にあるOFS30−2のポートp1とOFC20−2の制御下にあるOFS30−3のポートp2が接続されていることを表している。   The integrated controller 10 stores information on the boundary ports of the OFS 30-1 and OFS 30-2 controlled by the OFC 20-1 and the OFS 30-3 and OFS 30-4 controlled by the OFC 20-2 in the boundary port management unit 12. . As shown in FIG. 5, the information regarding the boundary port includes a set of a controller ID, a switch ID, and a port ID. The information regarding the boundary port shown in FIG. 5 indicates that the port p1 of the OFS 30-2 under the control of the OFC 20-1 and the port p2 of the OFS 30-3 under the control of the OFC 20-2 are connected.

統合コントローラ10は、OFC20−1とOFC20−2に図5に示す境界ポートに関する情報を送信する。   The integrated controller 10 transmits information regarding the boundary port shown in FIG. 5 to the OFC 20-1 and the OFC 20-2.

OFC20−1は、統合コントローラ10から境界ポートに関する情報を受信する。OFC20−1は、自身の制御下のOFS30−2のポートp1がOFC20−2の制御下のOFS30−3のポートp2と接続されているという情報を、物理トポロジ管理部21に保存する。   The OFC 20-1 receives information related to the boundary port from the integrated controller 10. The OFC 20-1 stores information in the physical topology management unit 21 that the port p1 of the OFS 30-2 under its control is connected to the port p2 of the OFS 30-3 under the control of the OFC 20-2.

OFC20−2は、統合コントローラ10から境界ポートに関する情報を受信する。OFC20−2は、自身の制御下のOFS30−3のポートp2がOFC20−1の制御下のOFS30−2のポートp1と接続されているという情報を、物理トポロジ管理部21に保存する。   The OFC 20-2 receives information related to the boundary port from the integrated controller 10. The OFC 20-2 stores, in the physical topology management unit 21, information that the port p2 of the OFS 30-3 under its control is connected to the port p1 of the OFS 30-2 under the control of the OFC 20-1.

統合コントローラ10は、OFC20−1に対してフローの生成時にパケットのSrc IPとDst IPをMatch条件とするポリシを設定する。また、統合コントローラ10は、OFC20−2に対してフローの生成時にパケットのTCP/UDP dst PortをMatch条件とするポリシを設定する。   The integrated controller 10 sets a policy that uses the Src IP and Dst IP of the packet as a Match condition when generating a flow for the OFC 20-1. Further, the integrated controller 10 sets a policy that uses the TCP / UDP dst Port of the packet as a Match condition when generating a flow for the OFC 20-2.

ノード1は、Ether srcがノード1のMAC(Media Access Control Address)アドレスであり、Ether dstがノード2のMACアドレスであり、Src IPがノード1のIPアドレスであり、Dst IPがノード2のIPアドレスであり、TCP/UDP dst Portが80であるパケットをOFS30−1へ送信する。   In Node 1, Ether src is the MAC (Media Access Control Address) address of Node 1, Ether dst is the MAC address of Node 2, Src IP is the IP address of Node 1, and Dst IP is the IP of Node 2. A packet whose address is TCP / UDP dst Port 80 is transmitted to OFS 30-1.

OFS30−1はノード1からそのパケットを受信すると、PACKET_INメッセージをOFC20−1へ送信する。   When the OFS 30-1 receives the packet from the node 1, the OFS 30-1 transmits a PACKET_IN message to the OFC 20-1.

OFC20−1において、経路計算部22は、OFS30−1からPACKET_INメッセージを受信すると、物理トポロジ管理部21が保持する物理トポロジ情報を基にフローのPathを計算する。フローのPathは、「OFS30−1のポートp2→OFS30−1のポートp1→OFS30−2のポートp2→OFS30−2のポートp1」となる。   In the OFC 20-1, when the path calculation unit 22 receives the PACKET_IN message from the OFS 30-1, the path calculation unit 22 calculates the path of the flow based on the physical topology information held by the physical topology management unit 21. The path of the flow becomes “Port p2 of OFS 30-1 → Port p1 of OFS 30-1 → Port p2 of OFS 30-2 → Port p1 of OFS 30-2”.

フロー管理部23は、統合コントローラ10から設定されたポリシに従い、Match条件のSrc IPがノード1のIPアドレスであり、Dst IPがノード2のIPアドレスであり、他のフィールドが任意であり、経路計算部22が求めたPathを経由するフローを生成する。   According to the policy set by the integrated controller 10, the flow management unit 23 sets the Src IP of the Match condition to be the IP address of the node 1, the Dst IP is the IP address of the node 2, the other fields are arbitrary, and the route A flow that passes the Path obtained by the calculation unit 22 is generated.

OFS管理部24は、フロー管理部23が生成したフローの情報を基に、OFS30−1とOFS30−2に対してフローエントリの設定を指示する。   The OFS management unit 24 instructs the OFS 30-1 and the OFS 30-2 to set the flow entry based on the flow information generated by the flow management unit 23.

OFS30−1とOFS30−2は、OFC20−1から受信したフローエントリの設定指示に従い、フローエントリを生成し、フローエントリ管理部31に保存する。   The OFS 30-1 and OFS 30-2 generate a flow entry in accordance with the flow entry setting instruction received from the OFC 20-1 and store it in the flow entry management unit 31.

フロー管理部23は、フローのPathが、物理トポロジ管理部21が保持する情報に示される境界ポートを通過することを検出する。   The flow management unit 23 detects that the path of the flow passes through the boundary port indicated in the information held by the physical topology management unit 21.

OFS管理部24は、フローのIngressに位置するOFS30−1に対して、フローエントリに合致したパケットのヘッダを保存するように要求する。   The OFS management unit 24 requests the OFS 30-1 located in the flow Ingress to save the header of the packet that matches the flow entry.

OFS30−1において、フローエントリ管理部31は、OFC20−1からパケットヘッダの保存要求を受信すると、当該フローエントリのActionとしてパケットヘッダの保存を追加する。   In the OFS 30-1, when receiving a packet header storage request from the OFC 20-1, the flow entry management unit 31 adds a packet header storage as an action of the flow entry.

フローエントリ管理部31は、ノード1から受信したパケットがフローエントリに合致する場合、フローエントリのActionに従い、当該パケットをOFS30−2に転送する。パケットヘッダ管理部32は、当該パケットのヘッダ情報を保存する。   When the packet received from the node 1 matches the flow entry, the flow entry management unit 31 transfers the packet to the OFS 30-2 according to the action of the flow entry. The packet header management unit 32 stores header information of the packet.

OFS30−2において、フローエントリ管理部31は、OFS30−1からパケットを受信すると、フローエントリのActionに従い、当該パケットをOFS30−3へ転送する。   In the OFS 30-2, when receiving the packet from the OFS 30-1, the flow entry management unit 31 transfers the packet to the OFS 30-3 according to the action of the flow entry.

OFS30−3は、OFS30−2からパケットを受信すると、PACKET_INメッセージをOFC20−2へ送信する。   When receiving the packet from the OFS 30-2, the OFS 30-3 transmits a PACKET_IN message to the OFC 20-2.

OFC20−2において、経路計算部22は、OFS30−3からPACKET_INメッセージを受信すると、物理トポロジ管理部21が保持する物理トポロジ情報を基にフローのPathが「OFS30−3のポートp2→OFS30−3のポートp1→OFS30−4のポートp2→OFS30−4のポートp1」となることを計算する。   In the OFC 20-2, when the path calculation unit 22 receives the PACKET_IN message from the OFS 30-3, the path Path of the flow is “Port of OFS 30-3 p2 → OFS 30-3 based on the physical topology information held by the physical topology management unit 21. Port p1 → port p2 of OFS 30-4 → port p1 of OFS 30-4 ”.

フロー管理部23は、統合コントローラ10から設定された制御ポリシに従い、Match条件のTCP/UDP dst Portが80で他のフィールドが任意であり、Path情報が「OFS30−3のポートp2→OFS30−3のポートp1→OFS30−4のポートp2→OFS30−4のポートp1」であるフローを生成する。   In accordance with the control policy set by the integrated controller 10, the flow management unit 23 sets the TCP / UDP dst Port of the Match condition to 80, other fields are optional, and the Path information is “Port p2 of OFS 30-3 → OFS 30-3. Port p1 → the port p2 of the OFS 30-4 → the port p1 of the OFS 30-4 ”is generated.

OFS管理部24は、フロー管理部23が生成したフローの情報を基に、OFS30−3とOFS30−4に対してフローエントリの設定を指示する。   The OFS management unit 24 instructs the setting of the flow entry to the OFS 30-3 and the OFS 30-4 based on the flow information generated by the flow management unit 23.

OFS30−3とOFS30−4は、OFC20−2から受信したフローエントリの設定指示に従い、フローエントリを生成し、フローエントリ管理部31に保存する。フロー管理部23は、フローのPath情報から、物理トポロジ管理部21が保持する情報に示される境界ポートが入力ポート、または出力ポートであることを検出する。   The OFS 30-3 and the OFS 30-4 generate a flow entry according to the flow entry setting instruction received from the OFC 20-2, and store the flow entry in the flow entry management unit 31. The flow management unit 23 detects from the path information of the flow that the boundary port indicated by the information held by the physical topology management unit 21 is an input port or an output port.

OFS管理部24は、フローのIngressに位置するOFS30−3に対して、フローエントリに合致したパケットのヘッダを保存するように要求する。   The OFS management unit 24 requests the OFS 30-3 located in the flow Ingress to save the header of the packet that matches the flow entry.

OFS30−3において、フローエントリ管理部31は、OFC20−2からパケットヘッダの保存要求を受信すると、当該フローエントリのActionとしてパケットのヘッダの保存を追加する。   In the OFS 30-3, when the flow entry management unit 31 receives a packet header storage request from the OFC 20-2, the flow entry management unit 31 adds storage of a packet header as an action of the flow entry.

OFS30−3において、フローエントリ管理部31は、OFS30−2から受信したパケットがフローエントリに合致する場合、フローエントリのActionに従い、当該パケットをOFS30−4に転送する。パケットヘッダ管理部32は、当該パケットのヘッダ情報を保存する。   In the OFS 30-3, when the packet received from the OFS 30-2 matches the flow entry, the flow entry management unit 31 transfers the packet to the OFS 30-4 according to the action of the flow entry. The packet header management unit 32 stores header information of the packet.

OFS30−4において、フローエントリ管理部31は、OFS30−3からパケットを受信すると、フローエントリのActionに従い、当該パケットをノード2へ転送する。   In the OFS 30-4, when receiving the packet from the OFS 30-3, the flow entry management unit 31 transfers the packet to the node 2 in accordance with the action of the flow entry.

統合コントローラ10は、OFS30−1を経由するフローの表示要求を受信する。その場合、統合コントローラ10は、OFC20−1に対して、OFS30−1を経由するフローの取得要求を送信する。   The integrated controller 10 receives a flow display request via the OFS 30-1. In that case, the integrated controller 10 transmits a flow acquisition request via the OFS 30-1 to the OFC 20-1.

OFC20−1において、フロー管理部23は、統合コントローラ10から指定された条件のフローを検索する。検索で得られたフローではOFS30−1に対してパケットヘッダ保存を指示しているため、フロー管理部23は、OFS30−1に対してフローエントリに合致したパケットヘッダの取得要求を送信する。   In the OFC 20-1, the flow management unit 23 searches for a flow having a condition specified by the integrated controller 10. Since the flow obtained by the search instructs the OFS 30-1 to save the packet header, the flow management unit 23 transmits an acquisition request for the packet header that matches the flow entry to the OFS 30-1.

OFS30−1において、フローエントリ管理部31は、OFC20−1から要求されたフローエントリに合致したパケットヘッダをパケットヘッダ管理部32から取得し、OFC20−1へ送信する。   In the OFS 30-1, the flow entry management unit 31 acquires from the packet header management unit 32 a packet header that matches the flow entry requested from the OFC 20-1, and transmits the packet header to the OFC 20-1.

OFC20−1は、フローの情報とOFS30−1から取得したパケットヘッダの情報を統合コントローラ10へ送信する。   The OFC 20-1 transmits the flow information and the packet header information acquired from the OFS 30-1 to the integrated controller 10.

統合コントローラ10は、OFC20−1から取得したフローのPathと境界ポート管理部12が保持する境界ポートに関する情報から、当該フローがOFS30−3へ続くことを検出する。そして、統合コントローラ10は、OFC20−2へOFS30−3を経由するフローの取得要求を送信する。   The integrated controller 10 detects that the flow continues to the OFS 30-3 from the flow path acquired from the OFC 20-1 and the information regarding the boundary port held by the boundary port management unit 12. Then, the integrated controller 10 transmits a flow acquisition request via the OFS 30-3 to the OFC 20-2.

OFC20−2において、フロー管理部23は、統合コントローラ10から指定された条件に合致するフローを検索する。検索で得られたフローではOFS30−3に対してパケットヘッダの保存を指示しているため、フロー管理部23はOFS30−3からフローエントリに合致したパケットヘッダを取得し、フローの情報とパケットヘッダの情報を統合コントローラ10へ送信する。   In the OFC 20-2, the flow management unit 23 searches for a flow that matches the condition specified by the integrated controller 10. Since the flow obtained by the search instructs the OFS 30-3 to store the packet header, the flow management unit 23 acquires the packet header that matches the flow entry from the OFS 30-3, and acquires the flow information and the packet header. Is sent to the integrated controller 10.

統合コントローラ10において、フロー連結部13は、OFC20−1とOFC20−2から取得したフローのパケットヘッダの情報を比較する。2つのフローのパケットヘッダが同一であるため、フロー連結部13は、2つのフローを連結して表示する。   In the integrated controller 10, the flow coupling unit 13 compares the packet header information of the flows acquired from the OFC 20-1 and the OFC 20-2. Since the packet headers of the two flows are the same, the flow linking unit 13 links and displays the two flows.

(実施例2)
本実施形態の第2の実施例(実施例2)として、OFC20がフローのActionにパケットヘッダの書き換えを指定した場合の動作を説明する。なお、本実施例におけるネットワークシステムの構成には図3および図4に示す構成を用いる。また、境界ポートに関する情報として図5に示す情報を用いる。
(Example 2)
As a second example (example 2) of the present embodiment, an operation when the OFC 20 designates rewriting of the packet header in the action of the flow will be described. The configuration shown in FIGS. 3 and 4 is used for the configuration of the network system in the present embodiment. Also, the information shown in FIG. 5 is used as information regarding the boundary port.

統合コントローラ10は、OFC20−1とOFC20−2に図5に示す境界ポートに関する情報を送信する。   The integrated controller 10 transmits information regarding the boundary port shown in FIG. 5 to the OFC 20-1 and the OFC 20-2.

OFC20−1は、統合コントローラ10から境界ポートに関する情報を受信する。OFC20−1は、自身の制御下のOFS30−2のポートp1がOFC20−2の制御下のOFS30−3のポートp2と接続されているという情報を、物理トポロジ管理部21に保存する。   The OFC 20-1 receives information related to the boundary port from the integrated controller 10. The OFC 20-1 stores information in the physical topology management unit 21 that the port p1 of the OFS 30-2 under its control is connected to the port p2 of the OFS 30-3 under the control of the OFC 20-2.

統合コントローラ10は、OFC20−1とOFC20−2に対してフローの制御ポリシを設定する。   The integrated controller 10 sets a flow control policy for the OFC 20-1 and the OFC 20-2.

ノード1は、Ether srcがノード1のMACアドレスであり、Ether dstがノード2のMACアドレスであり、Src IPがノード1のIPアドレスであり、Dst IPがノード2のIPアドレスであり、TCP/UDP dst Portが80であるパケットをOFS30−1へ送信する。   In Node 1, Ether src is the MAC address of Node 1, Ether dst is the MAC address of Node 2, Src IP is the IP address of Node 1, Dst IP is the IP address of Node 2, and TCP / A packet whose UDP dst Port is 80 is transmitted to the OFS 30-1.

OFS30−1は、ノード1からパケットを受信すると、PACKET_INメッセージをOFC20−1へ送信する。   When the OFS 30-1 receives a packet from the node 1, the OFS 30-1 transmits a PACKET_IN message to the OFC 20-1.

OFC20−1において、経路計算部22は、OFS30−1からPACKET_INメッセージを受信すると、通知されたパケットのヘッダ情報と物理トポロジ管理部21が保持する物理トポロジ情報を基にフローのPathを計算する。フローのPathは、「OFS30−1のポートp2→OFS30−1のポートp1→OFS30−2のポートp2→OFS30−2のポートp1」となる。   In the OFC 20-1, when the path calculation unit 22 receives the PACKET_IN message from the OFS 30-1, the path calculation unit 22 calculates the flow Path based on the notified header information of the packet and the physical topology information held by the physical topology management unit 21. The path of the flow becomes “Port p2 of OFS 30-1 → Port p1 of OFS 30-1 → Port p2 of OFS 30-2 → Port p1 of OFS 30-2”.

フロー管理部23は、経路計算部22が計算したPathを通るフローを生成する。フロー管理部23は、経路計算部22が計算したPathに境界ポートが含まれ、パケットの宛先が他のOFCの制御下にあるノードであることを認識する。その場合、フロー管理部23は、パケットの制御ポリシに従い、フローのActionとしてパケットのSrc MACをOFC20−1の仮想MACアドレスに書き換えるように指定する。   The flow management unit 23 generates a flow that passes through the Path calculated by the route calculation unit 22. The flow management unit 23 recognizes that the path calculated by the route calculation unit 22 includes a boundary port and the destination of the packet is a node under the control of another OFC. In this case, the flow management unit 23 specifies to rewrite the Src MAC of the packet to the virtual MAC address of the OFC 20-1 as the action of the flow according to the packet control policy.

なお、本実施例では、フロー管理部23は、Pathに境界ポートが含まれ、パケットの宛先が他のOFCの制御下にあるノードである場合に、フローのActionとしてパケットのSrc MACの書き換えを設定しているが、そのような設定に限られない。フロー管理部23は、Pathに境界ポートが含まれ、パケットの宛先が他のOFCの制御下にあるノードである場合に、フローのActionとしてパケットヘッダの少なくとも一部の書き換えを指定する。また、書き換える内容もOFC20−1の仮想MACアドレスには限られない。   In the present embodiment, the flow management unit 23 rewrites the Src MAC of the packet as the action of the flow when the boundary port is included in the Path and the destination of the packet is a node under the control of another OFC. Although set, it is not limited to such a setting. When the Path includes a boundary port and the destination of the packet is a node under the control of another OFC, the flow management unit 23 designates rewriting of at least a part of the packet header as the action of the flow. Further, the content to be rewritten is not limited to the virtual MAC address of the OFC 20-1.

OFS管理部24は、フロー管理部23が生成したフローの情報を基に、OFS30−1とOFS30−2に対してフローエントリの設定を指示する。   The OFS management unit 24 instructs the OFS 30-1 and the OFS 30-2 to set the flow entry based on the flow information generated by the flow management unit 23.

OFS30−1とOFS30−2は、OFC20−1から受信したフローエントリの設定指示に従い、フローエントリを生成し、フローエントリ管理部31に保存する。   The OFS 30-1 and OFS 30-2 generate a flow entry in accordance with the flow entry setting instruction received from the OFC 20-1 and store it in the flow entry management unit 31.

フロー管理部23は、フローのPathが、物理トポロジ管理部21が保持する境界ポートを通過することを検出する。   The flow management unit 23 detects that the path of the flow passes through the boundary port held by the physical topology management unit 21.

OFS管理部24は、フローのIngressに位置するOFS30−1に対して、フローエントリに合致したパケットのヘッダを保存するように要求する。   The OFS management unit 24 requests the OFS 30-1 located in the flow Ingress to save the header of the packet that matches the flow entry.

OFS30−1において、フローエントリ管理部31は、OFC20−1からパケットヘッダの保存要求を受信すると、フローエントリのActionとしてパケットヘッダの保存を追加する。   In the OFS 30-1, when the flow entry management unit 31 receives a packet header storage request from the OFC 20-1, the flow entry management unit 31 adds packet header storage as an action of the flow entry.

OFS30−1において、フローエントリ管理部31は、ノード1から受信したパケットがフローエントリに合致する場合、フローエントリのActionに従い、当該パケットのSrc MACをOFC20−1の仮想MACアドレスに変更した後、前記パケットをOFS30−2に転送する。また、パケットヘッダ管理部32は、前記パケットの変更前のヘッダ情報を保存する。   In the OFS 30-1, when the packet received from the node 1 matches the flow entry, the flow entry management unit 31 changes the Src MAC of the packet to the virtual MAC address of the OFC 20-1 according to the action of the flow entry. The packet is transferred to the OFS 30-2. Further, the packet header management unit 32 stores the header information before the packet is changed.

OFS30−2において、フローエントリ管理部31は、OFS30−1からパケットを受信すると、フローエントリのActionに従い、当該パケットをOFS30−3へ転送する。   In the OFS 30-2, when receiving the packet from the OFS 30-1, the flow entry management unit 31 transfers the packet to the OFS 30-3 according to the action of the flow entry.

OFS30−3は、OFS30−2からパケットを受信すると、PACKET_INメッセージをOFC20−2へ送信する。   When receiving the packet from the OFS 30-2, the OFS 30-3 transmits a PACKET_IN message to the OFC 20-2.

OFC20−2において経路計算部22は、OFS30−3からPACKET_INメッセージを受信すると、物理トポロジ管理部21が保持する物理トポロジ情報を基にフローのPathを計算する。フローのPathは、「OFS30−3のポートp2→OFS30−3のポートp1→OFS30−4のポートp2→OFS30−4のポートp1」となる。   In the OFC 20-2, when the path calculation unit 22 receives the PACKET_IN message from the OFS 30-3, the path calculation unit 22 calculates the path of the flow based on the physical topology information held by the physical topology management unit 21. The path of the flow becomes “Port p2 of OFS 30-3 → Port p1 of OFS 30-3 → Port p2 of OFS 30-4 → Port p1 of OFS 30-4”.

フロー管理部23は、フローのPathが「OFS30−3のポートp2→OFS30−3のポートp1→OFS30−4のポートp2→OFS30−4のポートp1」であるフローを生成する。   The flow management unit 23 generates a flow whose flow path is “port p2 of OFS 30-3 → port p1 of OFS 30-3 → port p2 of OFS 30-4 → port p1 of OFS 30-4”.

OFS管理部24は、フロー管理部23が生成したフローの情報を基に、OFS30−3とOFS30−4に対してフローエントリの設定を指示する。   The OFS management unit 24 instructs the setting of the flow entry to the OFS 30-3 and the OFS 30-4 based on the flow information generated by the flow management unit 23.

OFS30−3とOFS30−4は、OFC20−2から受信したフローエントリの設定指示に従い、フローエントリを生成し、フローエントリ管理部31に保存する。   The OFS 30-3 and the OFS 30-4 generate a flow entry according to the flow entry setting instruction received from the OFC 20-2, and store the flow entry in the flow entry management unit 31.

フロー管理部23は、フローのPathが、物理トポロジ管理部21が保持する情報に示される境界ポートを通過することを検出する。   The flow management unit 23 detects that the path of the flow passes through the boundary port indicated in the information held by the physical topology management unit 21.

OFS管理部24は、フローのIngressに位置するOFS30−3に対して、フローエントリに合致したパケットのヘッダを保存するように要求する。   The OFS management unit 24 requests the OFS 30-3 located in the flow Ingress to save the header of the packet that matches the flow entry.

OFS30−3において、フローエントリ管理部31は、OFC20−2からパケットヘッダの保存要求を受信すると、当該フローエントリのActionとしてパケットのヘッダの保存を追加する。   In the OFS 30-3, when the flow entry management unit 31 receives a packet header storage request from the OFC 20-2, the flow entry management unit 31 adds storage of a packet header as an action of the flow entry.

OFS30−3において、フローエントリ管理部31は、OFS30−2から受信したパケットがフローエントリに合致する場合、フローエントリのActionに従い、当該パケットをOFS30−4に転送し、当該パケットのヘッダ情報をパケットヘッダ管理部32に保存する。   In the OFS 30-3, when the packet received from the OFS 30-2 matches the flow entry, the flow entry management unit 31 transfers the packet to the OFS 30-4 according to the action of the flow entry, and sets the header information of the packet to the packet Saved in the header management unit 32.

OFS30−4において、フローエントリ管理部31は、OFS30−3からパケットを受信すると、フローエントリのActionに従い、当該パケットをノード2へ転送する。   In the OFS 30-4, when receiving the packet from the OFS 30-3, the flow entry management unit 31 transfers the packet to the node 2 in accordance with the action of the flow entry.

統合コントローラ10は、OFS30−1を経由するフローの表示要求を受信すると、OFC20−1に対して、OFS30−1を経由するフローの取得要求を送信する。   When the integrated controller 10 receives a flow display request via the OFS 30-1, the integrated controller 10 transmits a flow acquisition request via the OFS 30-1 to the OFC 20-1.

OFC20−1において、フロー管理部23は、統合コントローラ10から指定された条件のフローを検索する。検索で得られたフローではOFS30−1に対してパケットヘッダ保存を指示しているため、フロー管理部23は、OFS30−1に対してフローエントリに合致したパケットヘッダの取得要求を送信する。   In the OFC 20-1, the flow management unit 23 searches for a flow having a condition specified by the integrated controller 10. Since the flow obtained by the search instructs the OFS 30-1 to save the packet header, the flow management unit 23 transmits an acquisition request for the packet header that matches the flow entry to the OFS 30-1.

OFS30−1において、フローエントリ管理部31は、OFC20−1から要求されたフローエントリに合致したパケットヘッダをパケットヘッダ管理部32から取得し、OFC20−1へ送信する。   In the OFS 30-1, the flow entry management unit 31 acquires from the packet header management unit 32 a packet header that matches the flow entry requested from the OFC 20-1, and transmits the packet header to the OFC 20-1.

OFC20−1は、フローの情報とOFS30−1から取得したパケットヘッダの情報を統合コントローラ10へ送信する。   The OFC 20-1 transmits the flow information and the packet header information acquired from the OFS 30-1 to the integrated controller 10.

統合コントローラ10は、OFC20−1から取得したフローのPathと境界ポート管理部12が保持する境界ポートに関する情報から、当該フローがOFS30−3へ続くことを検出する。そして、統合コントローラ10は、OFC20−2へOFS30−3を経由するフローの取得要求を送信する。   The integrated controller 10 detects that the flow continues to the OFS 30-3 from the flow path acquired from the OFC 20-1 and the information regarding the boundary port held by the boundary port management unit 12. Then, the integrated controller 10 transmits a flow acquisition request via the OFS 30-3 to the OFC 20-2.

OFC20−2において、フロー管理部23は、統合コントローラ10から指定された条件に合致するフローを検索する。検索で得られたフローではOFS30−3に対してパケットヘッダの保存を指示しているため、フロー管理部23は、OFS30−3からフローエントリに合致したパケットヘッダを取得し、フローの情報とパケットヘッダの情報を統合コントローラ10へ送信する。   In the OFC 20-2, the flow management unit 23 searches for a flow that matches the condition specified by the integrated controller 10. Since the flow obtained by the search instructs the OFS 30-3 to store the packet header, the flow management unit 23 acquires the packet header that matches the flow entry from the OFS 30-3, and acquires the flow information and the packet. The header information is transmitted to the integrated controller 10.

統合コントローラ10が受信したヘッダ情報のうちOFC20−2から取得したヘッダ情報は書き換えが行われているが、OFC20−1から取得したヘッダ情報は書き換えが行われていない。そのため、統合コントローラ10がヘッダ情報を用いてフローを結合することが困難である。また、OFC20−1から取得したフローには、パケットのSrc MACをOFC20−1の仮想MACアドレスに変更するというActionが設定されている。そのため、統合コントローラ10において、フロー連結部13は、そのActionを用いて、OFC20−1から取得したパケットヘッダのSrc MACをOFC20−1の仮想MACアドレスに書き換える。なお、OFS30−1が、ヘッダ情報の書き換え後に保存を行う場合は、統合コントローラ10は、書き換え後のヘッダ情報をOFC20−1を介して取得するため書き換えをする必要はない。   Of the header information received by the integrated controller 10, the header information acquired from the OFC 20-2 has been rewritten, but the header information acquired from the OFC 20-1 has not been rewritten. Therefore, it is difficult for the integrated controller 10 to combine flows using header information. In the flow acquired from the OFC 20-1, an action for changing the Src MAC of the packet to the virtual MAC address of the OFC 20-1 is set. Therefore, in the integrated controller 10, the flow linking unit 13 rewrites the Src MAC of the packet header acquired from the OFC 20-1 with the virtual MAC address of the OFC 20-1 using the Action. When the OFS 30-1 saves the header information after rewriting, the integrated controller 10 does not need to rewrite because the integrated controller 10 acquires the rewritten header information via the OFC 20-1.

フロー連結部13は、変更後のパケットヘッダをOFC20−2から取得したフローのパケットヘッダと比較する。2つのフローのパケットヘッダが同一であるため、フロー連結部13は2つのフローを連結して表示する。   The flow coupling unit 13 compares the packet header after the change with the packet header of the flow acquired from the OFC 20-2. Since the packet headers of the two flows are the same, the flow connection unit 13 displays the two flows connected together.

(実施例3)
次に、本実施形態の第3の実施例(実施例3)について説明する。本実施例では、統合コントローラ10がOFC20に対して境界ポートに関する情報だけでなく、隣接OFC20の帯域情報なども送信することにより、OFC20がパケットのシェーピングの設定を効果的に行うことができるようになる。なお、本実施例におけるネットワークシステムの構成には図3および図4に示す構成を用いる。また、境界ポートに関する情報として図5に示す情報を用いる。
(Example 3)
Next, a third example (Example 3) of the present embodiment will be described. In the present embodiment, the integrated controller 10 transmits not only the information related to the boundary port to the OFC 20, but also the bandwidth information of the adjacent OFC 20, so that the OFC 20 can effectively set the shaping of the packet. Become. The configuration shown in FIGS. 3 and 4 is used for the configuration of the network system in the present embodiment. Also, the information shown in FIG. 5 is used as information regarding the boundary port.

統合コントローラ10は、OFC20−1とOFC20−2からそれぞれの制御下にあるOFS30−1〜OFS30−4の帯域情報を取得する。   The integrated controller 10 acquires the bandwidth information of the OFS 30-1 to OFS 30-4 under the control of each of the OFC 20-1 and the OFC 20-2.

統合コントローラ10は、OFC20−1とOFC20−2に図5に示す境界ポートに関する情報を送信する。統合コントローラ10は、OFC20−1に、パケットの制御ポリシとOFC20−1と隣接するOFC20−2の帯域情報を送信する。制御ポリシにはパケットのシェーピングの設定を含める。   The integrated controller 10 transmits information regarding the boundary port shown in FIG. 5 to the OFC 20-1 and the OFC 20-2. The integrated controller 10 transmits the packet control policy and the bandwidth information of the OFC 20-2 adjacent to the OFC 20-1 to the OFC 20-1. The control policy includes packet shaping settings.

OFC20−1は、統合コントローラ10から境界ポートに関する情報と制御ポリシとOFC20−2の帯域情報を受信し、自身の中に保存する。   The OFC 20-1 receives the information regarding the boundary port, the control policy, and the bandwidth information of the OFC 20-2 from the integrated controller 10, and stores them in itself.

ノード1は、Ether srcがノード1のMACアドレスであり、Ether dstがノード2のMACアドレスであり、Src IPがノード1のIPアドレスであり、Dst IPがノード2のIPアドレスであり、TCP/UDP dst Portが80であるパケットをOFS30−1へ送信する。   In Node 1, Ether src is the MAC address of Node 1, Ether dst is the MAC address of Node 2, Src IP is the IP address of Node 1, Dst IP is the IP address of Node 2, and TCP / A packet whose UDP dst Port is 80 is transmitted to the OFS 30-1.

OFS30−1はノード1からパケットを受信すると、PACKET_INメッセージをOFC20−1へ送信する。   When the OFS 30-1 receives a packet from the node 1, the OFS 30-1 transmits a PACKET_IN message to the OFC 20-1.

OFC20−1において、経路計算部22は、OFS30−1からPACKET_INメッセージを受信すると、物理トポロジ管理部21が保持する物理トポロジ情報を基にフローのPathを計算しフローを生成する。Pathは、「OFS30−1のポートp2→OFS30−1のポートp1→OFS30−2のポートp2→OFS30−2のポートp1」となる。   In the OFC 20-1, when the path calculation unit 22 receives the PACKET_IN message from the OFS 30-1, the path calculation unit 22 calculates the path of the flow based on the physical topology information held by the physical topology management unit 21, and generates a flow. Path becomes “Port p2 of OFS 30-1 → Port p1 of OFS 30-1 → Port p2 of OFS 30-2 → Port p1 of OFS 30-2”.

OFC20−1において、フロー管理部23は、経路計算部22が求めたPathを経由するフローを生成する。Pathに境界ポートが含まれ、パケットがOFC20−2制御下のOFSへ到達することから、OFC20−1のフロー管理部23は、統合コントローラ10から受信したOFC20−2の帯域情報を参照する。OFC20−1のフロー管理部23は、OFC20−2の制御下のネットワークの帯域がOFC20−1の制御下のネットワークの帯域よりも狭い場合は、フローのActionとしてパケットのシェーピングの設定を追加する。   In the OFC 20-1, the flow management unit 23 generates a flow that passes through the Path obtained by the route calculation unit 22. Since the boundary port is included in the Path and the packet reaches the OFS under the control of the OFC 20-2, the flow management unit 23 of the OFC 20-1 refers to the bandwidth information of the OFC 20-2 received from the integrated controller 10. When the bandwidth of the network under the control of the OFC 20-2 is narrower than the bandwidth of the network under the control of the OFC 20-1, the flow management unit 23 of the OFC 20-1 adds a packet shaping setting as the action of the flow.

OFS管理部24は、フロー管理部23が生成したフローの情報を基に、OFS30−1とOFS30−2に対してフローエントリの設定を指示する。   The OFS management unit 24 instructs the OFS 30-1 and the OFS 30-2 to set the flow entry based on the flow information generated by the flow management unit 23.

OFS30−1とOFS30−2は、OFC20−1から受信したフローエントリの設定指示に従い、フローエントリを生成し、フローエントリ管理部31に保存する。   The OFS 30-1 and OFS 30-2 generate a flow entry in accordance with the flow entry setting instruction received from the OFC 20-1 and store it in the flow entry management unit 31.

OFS30−1において、フローエントリ管理部31は、ノード1からパケットを受信すると、当該フローエントリのActionとしてパケットのシェーピングを行う。ここでは例として、シェーピングの設定方法について説明したが、シェーピングに限らず、他のOFC20へと到達するフローに対してのみ特定の処理を行うことができる。   In the OFS 30-1, when the flow entry management unit 31 receives a packet from the node 1, the flow entry management unit 31 shapes the packet as an action of the flow entry. Here, as an example, the shaping setting method has been described. However, the present invention is not limited to shaping, and specific processing can be performed only for flows that reach other OFCs 20.

(実施例4)
次に、本発明の第4の実施例(実施例4)を説明する。図6は、第1の実施形態の第4の実施例の構成および動作を示す説明図である。なお、本実施例では、境界ポートに関する情報として図5に示す情報を用いる。本実施例では、境界ポートに関する情報を利用することで、例えばOFC20がフローに対してQoS(Quality of Service)制御を行う場合に、QoS用の処理リソースを効率的に利用することが可能となる。
Example 4
Next, a fourth embodiment (embodiment 4) of the present invention will be described. FIG. 6 is an explanatory diagram showing the configuration and operation of the fourth example of the first embodiment. In this embodiment, the information shown in FIG. 5 is used as the information regarding the boundary port. In the present embodiment, by using information related to the boundary port, for example, when the OFC 20 performs QoS (Quality of Service) control on the flow, it is possible to efficiently use the processing resources for QoS. .

QoS制御は、所定の通信品質を保つための制御を意味する。QoS制御は、例えば、パケットやフレームの種類に応じて優先順位を付け、その順位に従ってルーターやスイッチが送信を実行する優先制御である。また、QoS制御は、例えば、パケットやフレームの種類ごとに特定の帯域を割り当てたり、所定の上限値または下限値を用いて帯域を制限したりする帯域制御であってもよい。   QoS control means control for maintaining predetermined communication quality. QoS control is priority control in which priority is given according to, for example, the type of packet or frame, and a router or switch executes transmission according to that order. Further, the QoS control may be, for example, bandwidth control in which a specific bandwidth is assigned for each type of packet or frame, or the bandwidth is limited using a predetermined upper limit value or lower limit value.

統合コントローラ10は、OFC20−1とOFC20−2に図5に示す境界ポートに関する情報とパケットの制御ポリシを送信する。制御ポリシにはフローに対するQoS制御に関する設定を含める。   The integrated controller 10 transmits information on the boundary port shown in FIG. 5 and a packet control policy to the OFC 20-1 and the OFC 20-2. The control policy includes settings related to QoS control for the flow.

OFC20−1とOFC20−2は、統合コントローラ10から受信した境界ポートに関する情報と制御ポリシを自身の中に保存する。   The OFC 20-1 and the OFC 20-2 store the information regarding the boundary port received from the integrated controller 10 and the control policy in the OFC 20-1 and OFC 20-2.

ノード1は、Ether srcがノード1のMACアドレスであり、Ether dstがノード2のMACアドレスであり、Src IPがノード1のIPアドレスであり、Dst IPがノード2のIPアドレスであり、TCP/UDP dst Portが80であるパケットをOFS30−1へ送信する。   In Node 1, Ether src is the MAC address of Node 1, Ether dst is the MAC address of Node 2, Src IP is the IP address of Node 1, Dst IP is the IP address of Node 2, and TCP / A packet whose UDP dst Port is 80 is transmitted to the OFS 30-1.

OFS30−1は、ノード1からパケットを受信すると、PACKET_INメッセージをOFC20−1へ送信する。   When the OFS 30-1 receives a packet from the node 1, the OFS 30-1 transmits a PACKET_IN message to the OFC 20-1.

OFC20−1において、経路計算部22は、OFS30−1からPACKET_INメッセージを受信すると、物理トポロジ管理部21が保持する物理トポロジ情報を基にフローのPathを計算しフローを生成する。フローのPathは、「OFS30−1のポートp2→OFS30−1のポートp1→OFS30−2のポートp2→OFS30−2のポートp1」となる。   In the OFC 20-1, when the path calculation unit 22 receives the PACKET_IN message from the OFS 30-1, the path calculation unit 22 calculates the path of the flow based on the physical topology information held by the physical topology management unit 21, and generates a flow. The path of the flow becomes “Port p2 of OFS 30-1 → Port p1 of OFS 30-1 → Port p2 of OFS 30-2 → Port p1 of OFS 30-2”.

フロー管理部23は、経路計算部22が求めたPathを経由するフローを生成する。フローのIngress、つまり経路の入口となるポートが境界ポートではないため、フロー管理部23は制御ポリシに従い、フローのActionとしてQoS制御の処理を追加する。   The flow management unit 23 generates a flow that passes through the Path obtained by the route calculation unit 22. Since the flow Ingress, that is, the port that is the entrance of the route is not a boundary port, the flow management unit 23 adds QoS control processing as the action of the flow according to the control policy.

OFS管理部24は、フロー管理部23が生成したフローの情報を基に、OFS30−1とOFS30−2に対してフローエントリの設定を指示する。   The OFS management unit 24 instructs the OFS 30-1 and the OFS 30-2 to set the flow entry based on the flow information generated by the flow management unit 23.

OFS30−1とOFS30−2は、OFC20−1から受信したフローエントリの設定指示に従い、フローエントリを生成し、フローエントリ管理部31に保存する。   The OFS 30-1 and OFS 30-2 generate a flow entry in accordance with the flow entry setting instruction received from the OFC 20-1 and store it in the flow entry management unit 31.

OFS30−1において、フローエントリ管理部31は、ノード1からパケットを受信すると、当該フローエントリのActionとしてパケットに対してQoS制御の処理を行い、OFS30−2へパケットを転送する。   In the OFS 30-1, when receiving a packet from the node 1, the flow entry management unit 31 performs a QoS control process on the packet as the action of the flow entry, and transfers the packet to the OFS 30-2.

OFS30−2において、フローエントリ管理部31は、OFS30−1からパケットを受信すると、フローエントリのActionに従い、当該パケットをOFS30−3へ転送する。   In the OFS 30-2, when receiving the packet from the OFS 30-1, the flow entry management unit 31 transfers the packet to the OFS 30-3 according to the action of the flow entry.

OFS30−3は、OFS30−2からパケットを受信すると、PACKET_INメッセージをOFC20−2へ送信する。   When receiving the packet from the OFS 30-2, the OFS 30-3 transmits a PACKET_IN message to the OFC 20-2.

OFC20−2において、経路計算部22は、OFS30−3からPACKET_INメッセージを受信すると、物理トポロジ管理部21が保持する物理トポロジ情報を基にフローのPathを計算しフローを生成する。フローのPathは「OFS30−3のポートp2→OFS30−3のポートp1→OFS30−4のポートp2→OFS30−4のポートp1」となる。   In the OFC 20-2, when the path calculation unit 22 receives the PACKET_IN message from the OFS 30-3, the path calculation unit 22 calculates the path of the flow based on the physical topology information held by the physical topology management unit 21, and generates a flow. The path of the flow is “Port p2 of OFS 30-3 → Port p1 of OFS 30-3 → Port p2 of OFS 30-4 → Port p1 of OFS 30-4”.

フロー管理部23は、経路計算部22が求めたPathを経由するフローを生成する。フローのIngress、つまり経路の入口となるポートが境界ポートであることから、フロー管理部23は、QoS制御は隣接OFCであるOFC20−1で実施済みであると判断し、フローのActionにQoS制御の処理を追加しない。   The flow management unit 23 generates a flow that passes through the Path obtained by the route calculation unit 22. Since the flow Ingress, that is, the port that becomes the entrance of the route is a boundary port, the flow management unit 23 determines that the QoS control has been performed in the OFC 20-1 that is the adjacent OFC, and the QoS control is performed in the Action of the flow. Do not add processing.

OFS管理部24は、フロー管理部23が生成したフローの情報を基に、OFS30−3とOFS30−4に対してフローエントリの設定を指示する。   The OFS management unit 24 instructs the setting of the flow entry to the OFS 30-3 and the OFS 30-4 based on the flow information generated by the flow management unit 23.

OFS30−3とOFS30−4は、OFC20−2から受信したフローエントリの設定指示に従い、フローエントリを生成し、フローエントリ管理部31に保存する。   The OFS 30-3 and the OFS 30-4 generate a flow entry according to the flow entry setting instruction received from the OFC 20-2, and store the flow entry in the flow entry management unit 31.

OFS30−3において、フローエントリ管理部31は、OFS30−2からパケットを受信すると、当該フローエントリのActionに従い、当該パケットをOFS30−4へ転送する。   In the OFS 30-3, when receiving the packet from the OFS 30-2, the flow entry management unit 31 transfers the packet to the OFS 30-4 according to the action of the flow entry.

OFS30−4において、フローエントリ管理部31は、OFS30−3からパケットを受信すると、フローエントリのActionに従い、当該パケットをノード2へ転送する。   In the OFS 30-4, when receiving the packet from the OFS 30-3, the flow entry management unit 31 transfers the packet to the node 2 in accordance with the action of the flow entry.

以上、実施例1から実施例4に係るネットワークシステムをそれぞれ説明したが、本実施形態のネットワークシステムは、実施例1から実施例4における構成または機能を任意に組み合わせたものであってもよい。また、本発明によるネットワークシステムは、OpenFlowを用いたネットワークシステムには限定されない。   The network systems according to the first to fourth embodiments have been described above, but the network system according to the present embodiment may be an arbitrary combination of the configurations or functions in the first to fourth embodiments. The network system according to the present invention is not limited to a network system using OpenFlow.

実施形態2.
次に、本発明の第2の実施形態を、図面を参照して説明する。本実施形態では、各ドメインのパケットヘッダ書き換えに関する機能情報と、ドメイン間の境界情報が利用されることによって、統合コントローラが管理するOFCと、統合コントローラが管理しないネットワーク機器が混在するネットワークにおける通信が可視化される。
Embodiment 2. FIG.
Next, a second embodiment of the present invention will be described with reference to the drawings. In this embodiment, by using the function information related to packet header rewriting of each domain and the boundary information between domains, communication in a network in which OFCs managed by the integrated controller and network devices not managed by the integrated controller are mixed is performed. Visualized.

第1の実施形態に記載されているように、統合コントローラは、複数のOFCを集中制御する。統合コントローラは、OFCに対して仮想ネットワークの設定を指示する。また、統合コントローラは、各OFCが制御するフローの情報を取得し、各フローを一つのフローに連結して提示できる。   As described in the first embodiment, the integrated controller centrally controls a plurality of OFCs. The integrated controller instructs the OFC to set the virtual network. In addition, the integrated controller can acquire information on a flow controlled by each OFC, and can present each flow connected to one flow.

第1の実施形態における統合コントローラは、複数のOFCからフロー情報を取得し、各フローを一つのフローに連結して提示する。第1の実施形態におけるネットワークシステムでは、OFC間の境界になるポートを流れるパケットのパケットヘッダが、OFSに保存される。統合コントローラは、各OFCから、フロー情報と各OFCに制御されるOFSが保存するパケットヘッダを取得し、取得したパケットヘッダの情報を比較した上でフローを連結する。   The integrated controller in the first embodiment acquires flow information from a plurality of OFCs, and presents each flow connected to one flow. In the network system in the first embodiment, a packet header of a packet that flows through a port that becomes a boundary between OFCs is stored in the OFS. The integrated controller acquires the flow information and the packet header stored in the OFS controlled by each OFC from each OFC, and compares the acquired packet header information to connect the flows.

しかし、第1の実施形態では、フローが連結される対象として、各OFCが制御するOFSが直結するネットワークシステムのみが想定されている。すなわち、第1の実施形態における統合コントローラは、OFCに制御されない、パケットヘッダを書き換えるL3ルータが存在するネットワークシステムにおけるフローを連結できない。   However, in the first embodiment, only a network system in which OFS controlled by each OFC is directly connected is assumed as a target to which flows are connected. That is, the integrated controller in the first embodiment cannot connect flows in a network system that includes an L3 router that rewrites a packet header, which is not controlled by the OFC.

第1の実施形態における統合コントローラがフローを連結できない具体例を、図7と図8を参照して説明する。図7は、第1の実施形態のネットワークシステムの他の構成を示すブロック図である。図8は、第1の実施形態のフロー情報のMatch条件の例を示す説明図である。図8に示すMatch条件は、図7に示すOFC20−1とOFC20−2がそれぞれ保持するフローのMatch条件である。   A specific example in which the integrated controller in the first embodiment cannot connect the flows will be described with reference to FIGS. 7 and 8. FIG. 7 is a block diagram illustrating another configuration of the network system according to the first embodiment. FIG. 8 is an explanatory diagram illustrating an example of a Match condition of the flow information according to the first embodiment. The Match condition shown in FIG. 8 is the Match condition of the flow held by each of the OFC 20-1 and OFC 20-2 shown in FIG.

図7に示す例において、OFC20−1は、OFS30−1とOFS30−2を制御する。また、OFC20−2は、OFS30−3とOFS30−4を制御する。また、統合コントローラ10は、OFC20−1とOFC20−2を制御する。また、OFS30−2とOFS30−3の間に、OFCに制御されないL3ルータ80−1が存在する。   In the example illustrated in FIG. 7, the OFC 20-1 controls the OFS 30-1 and the OFS 30-2. The OFC 20-2 controls the OFS 30-3 and the OFS 30-4. Further, the integrated controller 10 controls the OFC 20-1 and the OFC 20-2. Further, an L3 router 80-1 that is not controlled by the OFC exists between the OFS 30-2 and the OFS 30-3.

図7に示す例において、ノード1からノード2への通信を実現するフローを作成するために、統合コントローラ10は、OFC20−1とOFC20−2に、仮想ネットワークの設定要求と境界ポートに関する情報を送信する。統合コントローラ10は、ノード1とL3ルータ80−1との間の通信を実現する仮想ブリッジの作成を、OFC20−1に要求する。また、統合コントローラ10は、ノード2とL3ルータ80−1との間の通信を実現する仮想ブリッジの作成を、OFC20−2に要求する。   In the example shown in FIG. 7, in order to create a flow for realizing communication from the node 1 to the node 2, the integrated controller 10 sends a virtual network setting request and information on the boundary port to the OFC 20-1 and the OFC 20-2. Send. The integrated controller 10 requests the OFC 20-1 to create a virtual bridge that realizes communication between the node 1 and the L3 router 80-1. Further, the integrated controller 10 requests the OFC 20-2 to create a virtual bridge that realizes communication between the node 2 and the L3 router 80-1.

ノード1からノード2にパケットが送信されると、OFC20−1とOFC20−2は、図8に示すMatch条件に対応するフローをそれぞれ生成する。フローを生成した後、OFC20−1とOFC20−2は、各々が制御する各OFSにフローエントリを設定する。   When the packet is transmitted from the node 1 to the node 2, the OFC 20-1 and the OFC 20-2 each generate a flow corresponding to the Match condition shown in FIG. After generating the flow, the OFC 20-1 and the OFC 20-2 set a flow entry in each OFS controlled by the OFC 20-1.

第1の実施形態に記載されているように、生成されたフローが境界ポートを経由するため、OFC20−1は、フローエントリにMatchしたパケットのヘッダを保存するようOFS30−1に指示する。同様に、OFC20−2は、フローエントリにMatchしたパケットのヘッダを保存するようOFS30−3に指示する。   As described in the first embodiment, since the generated flow passes through the boundary port, the OFC 20-1 instructs the OFS 30-1 to save the header of the matched packet in the flow entry. Similarly, the OFC 20-2 instructs the OFS 30-3 to save the header of the matched packet in the flow entry.

ノード1からノード2にパケットが送信されると、OFS30−1は、送信されたパケットのパケットヘッダを内部に保存する。次いで、OFS30−1は、OFS30−2にパケットを転送する。OFS30−2は、OFS30−1から受信したパケットをL3ルータ80−1に転送する。   When a packet is transmitted from the node 1 to the node 2, the OFS 30-1 stores therein the packet header of the transmitted packet. Next, the OFS 30-1 transfers the packet to the OFS 30-2. The OFS 30-2 transfers the packet received from the OFS 30-1 to the L3 router 80-1.

L3ルータ80−1は、転送されたパケットの送信元MACアドレスを自身のMACアドレスに、宛先MACアドレスをノード2のMACアドレスにそれぞれ書き換える。書き換えた後、L3ルータ80−1は、OFS30−3にパケットを転送する。   The L3 router 80-1 rewrites the source MAC address of the transferred packet with its own MAC address and the destination MAC address with the MAC address of the node 2. After rewriting, the L3 router 80-1 transfers the packet to the OFS 30-3.

OFS30−3は、転送されたパケットのパケットヘッダを内部に保存する。次いで、OFS30−3は、OFS30−4にパケットを転送する。OFS30−4は、OFS30−3から受信したパケットをノード2に転送する。   The OFS 30-3 stores therein the packet header of the transferred packet. Next, the OFS 30-3 transfers the packet to the OFS 30-4. The OFS 30-4 transfers the packet received from the OFS 30-3 to the node 2.

統合コントローラ10は、フローの表示要求を受けると、OFC20−1とOFC20−2に、フロー情報とパケットヘッダを要求する。   When receiving the flow display request, the integrated controller 10 requests the flow information and the packet header from the OFC 20-1 and the OFC 20-2.

OFC20−1は、OFS30−1から、フローのパケットヘッダを取得する。OFC20−1は、取得したパケットヘッダを、フロー情報と併せて統合コントローラ10に送信する。   The OFC 20-1 acquires the packet header of the flow from the OFS 30-1. The OFC 20-1 transmits the acquired packet header to the integrated controller 10 together with the flow information.

OFC20−2は、OFS30−3から、フローのパケットヘッダを取得する。OFC20−2は、取得したパケットヘッダを、フロー情報と併せて統合コントローラ10に送信する。   The OFC 20-2 acquires the packet header of the flow from the OFS 30-3. The OFC 20-2 transmits the acquired packet header to the integrated controller 10 together with the flow information.

統合コントローラ10は、OFC20−1とOFC20−2から取得した各パケットヘッダ情報を比較した上でフローを連結する。しかし、図7に示す例において、OFC20−1から取得されたパケットヘッダ情報と、OFC20−2から取得されたパケットヘッダ情報は一致しない。その理由は、L3ルータ80−1が、OFC20−1から取得されたパケットヘッダの送信元MACアドレスと宛先MACアドレスをそれぞれ書き換えているためである。   The integrated controller 10 compares the packet header information acquired from the OFC 20-1 and the OFC 20-2 and connects the flows. However, in the example shown in FIG. 7, the packet header information acquired from the OFC 20-1 does not match the packet header information acquired from the OFC 20-2. The reason is that the L3 router 80-1 rewrites the transmission source MAC address and the destination MAC address of the packet header acquired from the OFC 20-1.

従って、パケットが、OFC20−1が作成したフローによって転送された後に、OFC20−2が作成したフローによって転送されている場合であっても、統合コントローラ10は、2つのフローが連結することを検知できない。   Therefore, even if the packet is transferred by the flow created by the OFC 20-2 after being transferred by the flow created by the OFC 20-1, the integrated controller 10 detects that the two flows are connected. Can not.

上記のように、ネットワークシステムにおける統合コントローラは、複数のOFCからフロー情報を取得し、各フローを連結して一つのフローとして表示する。しかし、第1の実施形態の統合コントローラは、フローを連結して表示する場合において、各OFCが制御するOFS間にL3ルータが存在し、L3ルータでパケットの一部が書き換えられていると、フローを連結できないという問題がある。   As described above, the integrated controller in the network system acquires flow information from a plurality of OFCs, connects the flows, and displays them as one flow. However, in the case where the integrated controller of the first embodiment links and displays flows, if an L3 router exists between OFS controlled by each OFC, and a part of the packet is rewritten by the L3 router, There is a problem that the flows cannot be connected.

本実施形態における統合コントローラは、ネットワーク構成に関する情報を用いて、フローの連結の際に比較するパケットヘッダの情報を選択する。比較するパケットヘッダの情報を選択する場合、統合コントローラは、OFCに制御されないルータでパケットの一部が書き換えられていても、フローを連結できる。   The integrated controller in the present embodiment uses the information on the network configuration to select packet header information to be compared at the time of flow connection. When selecting packet header information to be compared, the integrated controller can connect flows even if a part of the packet is rewritten by a router not controlled by the OFC.

以下、上記のような課題を解決するためのネットワークシステムの実施形態を、図面を参照して説明する。図9は、本実施形態のネットワークシステムの構成および処理の流れを示す説明図である。   Hereinafter, an embodiment of a network system for solving the above problems will be described with reference to the drawings. FIG. 9 is an explanatory diagram showing the configuration and processing flow of the network system of the present embodiment.

図9に示すネットワークシステムの構成は、図1に示すネットワークシステムの構成と比較して、OFS30−2とOFS30−3の間にL3ルータ80−1が存在する点が異なる。L3ルータ80−1以外の図9に示すネットワークシステムの構成は、図1に示すネットワークシステムの構成と同様である。   The network system configuration shown in FIG. 9 is different from the network system configuration shown in FIG. 1 in that an L3 router 80-1 exists between the OFS 30-2 and the OFS 30-3. The configuration of the network system shown in FIG. 9 other than the L3 router 80-1 is the same as the configuration of the network system shown in FIG.

図9に示すネットワークシステムに含まれる各構成要素の、第1の実施形態における機能と異なる機能をそれぞれ説明する。本実施形態において、OFCが制御する範囲ごとに区分けされた範囲をドメインと呼称する。統合コントローラ10は、OFC20−1〜OFC20−2からドメインの機能情報を取得する。   Functions that are different from the functions in the first embodiment of each component included in the network system shown in FIG. 9 will be described. In the present embodiment, a range divided for each range controlled by the OFC is referred to as a domain. The integrated controller 10 acquires domain function information from the OFC 20-1 to OFC 20-2.

OFCに制御されるOFSが属するドメインをOFCドメインと呼称する。また、L3ルータなど、OFCに制御されない装置が属するドメインをレガシードメインと呼称する。レガシードメインの機能情報は、例えば、ユーザにより設定される。   The domain to which the OFS controlled by the OFC belongs is called an OFC domain. A domain to which a device that is not controlled by the OFC such as an L3 router belongs is referred to as a legacy domain. The function information of the legacy domain is set by a user, for example.

統合コントローラ10は、複数のOFCから取得したフローの情報とパケットのヘッダ情報を比較した上で、フローを連結する。ヘッダ情報を比較する際、統合コントローラ10は、ドメインの機能情報に基づいて、比較対象にするパケットヘッダのフィールドを選択する。フローを連結した後、統合コントローラ10は、連結されたフローをユーザに提示する。   The integrated controller 10 compares the flow information acquired from a plurality of OFCs with the header information of the packet, and connects the flows. When comparing header information, the integrated controller 10 selects a field of a packet header to be compared based on the domain function information. After connecting the flows, the integrated controller 10 presents the connected flows to the user.

以下、本実施形態のネットワークシステムが連結されたフローをユーザに提示する時の動作を、図9を参照して説明する。   Hereinafter, an operation when the flow to which the network system of the present embodiment is connected is presented to the user will be described with reference to FIG.

ユーザは、統合コントローラ10に、L3ルータ80−1が属するレガシードメインの機能情報と、OFCドメインとレガシードメインとを接続する境界ポートに関する情報を設定する(ステップS11)。   The user sets the function information of the legacy domain to which the L3 router 80-1 belongs and the information about the boundary port connecting the OFC domain and the legacy domain to the integrated controller 10 (step S11).

レガシードメイン側の境界ポートに関する情報は、ユーザにより設定される。OFCドメイン側の境界ポートに関する情報は、ユーザにより設定されてもよいし、OFCを使用する統合コントローラにより検出されてもよい。レガシードメインにはL3ルータ80−1が存在するため、統合コントローラ10には、「MACアドレスの書き換え機能あり」という情報を含むレガシードメインの機能情報が設定される。   Information on the boundary port on the legacy domain side is set by the user. Information regarding the border port on the OFC domain side may be set by a user or detected by an integrated controller using the OFC. Since the L3 router 80-1 exists in the legacy domain, the function information of the legacy domain including information “with MAC address rewriting function” is set in the integrated controller 10.

統合コントローラ10は、設定された境界ポートに関する情報に基づいて、ドメイン間の境界をそれぞれ検出する(ステップS12)。   The integrated controller 10 detects each boundary between domains based on the information regarding the set boundary port (step S12).

統合コントローラ10は、制御対象であるOFC20−1に対して、OFC20−1のOFCドメインと、OFCドメインと隣接するドメインとの間の境界ポートに関する情報を送信する(ステップS13)。   The integrated controller 10 transmits information on the OFC domain of the OFC 20-1 and the boundary port between the OFC domain and the adjacent domain to the OFC 20-1 that is the control target (Step S13).

ステップS14〜S18における処理は、第1の実施形態のステップS3〜S7における処理と同様であるため、説明を省略する。   Since the processing in steps S14 to S18 is the same as the processing in steps S3 to S7 of the first embodiment, the description thereof is omitted.

統合コントローラ10は、ドメインの機能情報に基づいて、フローを連結できるか否かを判断する(ステップS19)。OFS30−2とOFS30−3の間にMACアドレスの書き換え機能を有するL3ルータ80−1が属するレガシードメインが存在するため、統合コントローラ10は、レガシードメインにおいてパケットのMACアドレスが変換されていると判断する。   The integrated controller 10 determines whether or not the flows can be connected based on the domain function information (step S19). Since there is a legacy domain to which the L3 router 80-1 having a MAC address rewriting function exists between the OFS 30-2 and the OFS 30-3, the integrated controller 10 determines that the MAC address of the packet is converted in the legacy domain. To do.

判断に基づいて、統合コントローラ10は、OFC20−1から取得したパケットヘッダのMACアドレス以外のフィールドと、OFC20−2から取得したパケットヘッダのMACアドレス以外のフィールドを比較する。比較した上で、統合コントローラ10は、各フローを連結できるか否かを判断する。連結されたフローを提示した後、ネットワークシステムは、処理を終了する。   Based on the determination, the integrated controller 10 compares a field other than the MAC address of the packet header acquired from the OFC 20-1 with a field other than the MAC address of the packet header acquired from the OFC 20-2. After the comparison, the integrated controller 10 determines whether or not each flow can be connected. After presenting the connected flow, the network system ends the process.

(実施例1)
次に、本実施形態のネットワークシステムの第1の実施例(実施例1)を説明する。図10は、第2の実施形態の第1の実施例におけるネットワークシステムの詳細な構成を示すブロック図である。図10は、ネットワークシステムにおける統合コントローラ10、OFC20、OFS30の具体的な構成を示す。
Example 1
Next, a first example (Example 1) of the network system according to the present embodiment will be described. FIG. 10 is a block diagram illustrating a detailed configuration of the network system in the first example of the second embodiment. FIG. 10 shows a specific configuration of the integrated controller 10, OFC 20, and OFS 30 in the network system.

図3に示すネットワークシステムの構成と比較すると、図10に示すネットワークシステムの構成は、統合コントローラ10がドメイン管理部14を含む点が異なる。ドメイン管理部14以外の図10に示すネットワークシステムの構成は、図3に示すネットワークシステムの構成と同様である。   Compared with the configuration of the network system shown in FIG. 3, the configuration of the network system shown in FIG. 10 is different in that the integrated controller 10 includes the domain management unit 14. The configuration of the network system shown in FIG. 10 other than the domain management unit 14 is the same as the configuration of the network system shown in FIG.

ドメイン管理部14は、ドメインの機能情報を管理する機能を有する。すなわち、ドメイン管理部14は、対応する範囲を示す範囲情報と共にドメインの機能情報を保存する。ドメインの機能情報は、統合コントローラ10によりOFC20から取得される。なお、ドメインの機能情報は、ユーザにより設定されてもよい。   The domain management unit 14 has a function of managing domain function information. That is, the domain management unit 14 stores domain function information together with range information indicating the corresponding range. The domain function information is acquired from the OFC 20 by the integrated controller 10. Note that the domain function information may be set by the user.

本実施例において、ドメイン管理部14は、ドメインd1とドメインd3においてOFCがフローを作成することを示す機能情報を保存する。また、ドメイン管理部14は、ドメインd2においてL3ルータ80−1がパケットヘッダのMACアドレスを書き換えることを示す機能情報を保存する。   In the present embodiment, the domain management unit 14 stores function information indicating that the OFC creates a flow in the domains d1 and d3. Further, the domain management unit 14 stores functional information indicating that the L3 router 80-1 rewrites the MAC address of the packet header in the domain d2.

次に、本実施例のネットワークシステムの動作の、第1の実施形態の第1の実施例の動作と異なる動作を説明する。統合コントローラ10がパケットの制御ポリシをOFC20に設定してから、OFC20がフロー情報とパケットヘッダを統合コントローラ10に送信するまでの動作は、第1の実施形態の第1の実施例の動作と同様である。   Next, an operation of the network system according to the present example, which is different from the operation of the first example of the first embodiment, will be described. The operation from when the integrated controller 10 sets the packet control policy to the OFC 20 until the OFC 20 transmits the flow information and the packet header to the integrated controller 10 is the same as the operation of the first example of the first embodiment. It is.

境界ポート管理部12は、OFCから受信したフローのPathに基づいて、Egressに相当するOFS30のEgressポートが、境界ポートであるか否かを確認する。Egressポートが境界ポートである場合、境界ポート管理部12は、ドメイン管理部14に保存されている情報を参照して、OFCのOFCドメインに隣接するドメインを特定する。   The boundary port management unit 12 checks whether or not the Egress port of the OFS 30 corresponding to Egress is a boundary port based on the Path of the flow received from the OFC. When the Egress port is a boundary port, the boundary port management unit 12 refers to the information stored in the domain management unit 14 and specifies a domain adjacent to the OFC domain of the OFC.

境界ポート管理部12は、OFCのOFCドメインに隣接するドメインがレガシードメインである場合、レガシードメインに隣接する別のOFCのOFCドメインを特定する。   When the domain adjacent to the OFC OFC domain is a legacy domain, the boundary port management unit 12 specifies an OFC domain of another OFC adjacent to the legacy domain.

フロー連結部13は、境界ポート管理部12が特定したOFCドメインのOFCから、フロー情報とパケットヘッダを取得する。取得した後、フロー連結部13は、1台目のOFCから取得したフローのパケットヘッダ情報と、2台目のOFCから取得したフローのパケットヘッダ情報を比較する。   The flow connection unit 13 acquires flow information and a packet header from the OFC of the OFC domain specified by the boundary port management unit 12. After acquisition, the flow coupling unit 13 compares the packet header information of the flow acquired from the first OFC with the packet header information of the flow acquired from the second OFC.

上記のように、フロー連結部13は、ドメイン管理部14に保存されている情報に基づいて、各OFCのOFCドメインが、レガシードメインを挟んで隣接するか否かを判断する。   As described above, based on the information stored in the domain management unit 14, the flow connection unit 13 determines whether the OFC domains of the OFCs are adjacent to each other across the legacy domain.

各OFCのOFCドメインが接している場合、フロー連結部13は、パケットヘッダの全てのフィールドを比較対象にする。各OFCのOFCドメインがレガシードメインを挟んで隣接する場合、フロー連結部13は、ドメインの機能情報に基づいて、比較対象にするパケットヘッダのフィールドを選択する。   When the OFC domains of the respective OFCs are in contact, the flow coupling unit 13 sets all fields of the packet header as comparison targets. When the OFC domains of the respective OFCs are adjacent to each other with the legacy domain interposed therebetween, the flow coupling unit 13 selects a packet header field to be compared based on the domain function information.

フロー連結部13は、比較したパケットヘッダのフィールドに指定されているヘッダ情報が全て同一である場合、フローを連結する。連結されたフローが提示された後、ネットワークシステムは、処理を終了する。   The flow concatenation unit 13 concatenates the flows when the header information specified in the compared packet header fields is the same. After the connected flow is presented, the network system ends the process.

本実施例のフロー連結処理を説明する。図11は、第2の実施形態の第1の実施例におけるネットワークシステムの構成を示すブロック図である。   The flow connection process of a present Example is demonstrated. FIG. 11 is a block diagram illustrating a configuration of a network system in the first example of the second embodiment.

図11に示すネットワークシステムの構成は、図9に示すネットワークシステムの構成と比較して、OFS30−2にノード3が接続されている点が異なる。ノード3以外の図11に示すネットワークシステムの構成は、図9に示すネットワークシステムの構成と同様である。   The configuration of the network system illustrated in FIG. 11 is different from the configuration of the network system illustrated in FIG. 9 in that the node 3 is connected to the OFS 30-2. The configuration of the network system shown in FIG. 11 other than the node 3 is the same as the configuration of the network system shown in FIG.

図11に示す統合コントローラ10は、図10に示す統合コントローラ10に相当する。図11に示すOFC20−1およびOFC20−2は、図10に示すOFC20に相当する。図11に示すOFS30−1〜OFS30−4は、図10に示すOFS30に相当する。   The integrated controller 10 illustrated in FIG. 11 corresponds to the integrated controller 10 illustrated in FIG. The OFC 20-1 and OFC 20-2 illustrated in FIG. 11 correspond to the OFC 20 illustrated in FIG. The OFS 30-1 to OFS 30-4 illustrated in FIG. 11 correspond to the OFS 30 illustrated in FIG.

統合コントローラ10は、OFC20−1が制御するOFS30−2とL3ルータ80−1との間の境界ポートに関する情報を、境界ポート管理部12に保存する。また、統合コントローラ10は、L3ルータ80−1とOFC20−2が制御するOFS30−3との間の境界ポートに関する情報を、境界ポート管理部12に保存する。   The integrated controller 10 stores information related to the boundary port between the OFS 30-2 and the L3 router 80-1 controlled by the OFC 20-1 in the boundary port management unit 12. Further, the integrated controller 10 stores information related to the boundary port between the L3 router 80-1 and the OFS 30-3 controlled by the OFC 20-2 in the boundary port management unit 12.

境界ポートに関する情報の例を図12に示す。図12は、第2の実施形態の境界ポートに関する情報の例を示す説明図である。図12に示す境界ポートに関する情報は、境界IDb1と境界IDb2に対応する情報である。図12に示すように、境界ポートに関する情報は、コントローラIDと、ドメインIDと、スイッチIDと、ポートIDとで構成される組を少なくとも2つ含む。   An example of information related to the boundary port is shown in FIG. FIG. 12 is an explanatory diagram illustrating an example of information related to the boundary port according to the second embodiment. The information regarding the boundary port shown in FIG. 12 is information corresponding to the boundary IDb1 and the boundary IDb2. As illustrated in FIG. 12, the information regarding the boundary port includes at least two sets including a controller ID, a domain ID, a switch ID, and a port ID.

図12に示す境界ポートに関する情報では、コントローラID1と、ドメインID1と、スイッチID1と、ポートID1とで構成される組がOFCドメインに対応する。また、コントローラID2と、ドメインID2と、スイッチID2と、ポートID2とで構成される組がレガシードメインに対応する。   In the information regarding the boundary port shown in FIG. 12, a set including the controller ID1, the domain ID1, the switch ID1, and the port ID1 corresponds to the OFC domain. In addition, a set including the controller ID 2, the domain ID 2, the switch ID 2, and the port ID 2 corresponds to the legacy domain.

ユーザは、レガシードメインに対応する組にL3ルータ80−1の構成情報を設定する。レガシードメインの場合、OFCドメインのコントローラに対応する構成要素が存在せず、スイッチも検出されないため、レガシードメインに対応する組に含まれるコントローラID、スイッチIDおよびポートIDに値は設定されない。   The user sets the configuration information of the L3 router 80-1 in a set corresponding to the legacy domain. In the case of the legacy domain, there is no component corresponding to the controller of the OFC domain, and no switch is detected, so no value is set for the controller ID, switch ID, and port ID included in the set corresponding to the legacy domain.

図12における境界ポートに関する情報は、OFC20−1のOFCドメインがドメインd1であり、OFC20−2のOFCドメインがドメインd3であることを示す。また、境界ポートに関する情報は、ドメインd1におけるOFS30−2のポートp1と、レガシードメインであるドメインd2の間に境界b1が存在することを示す。また、境界ポートに関する情報は、ドメインd3におけるOFS30−3のポートp2と、ドメインd2の間に境界b2が存在することを示す。   The information regarding the boundary port in FIG. 12 indicates that the OFC domain of the OFC 20-1 is the domain d1, and the OFC domain of the OFC 20-2 is the domain d3. The information regarding the boundary port indicates that the boundary b1 exists between the port p1 of the OFS 30-2 in the domain d1 and the domain d2 that is the legacy domain. The information regarding the boundary port indicates that the boundary b2 exists between the port p2 of the OFS 30-3 in the domain d3 and the domain d2.

統合コントローラ10は、OFC20−1とOFC20−2に、図12に示す境界ポートに関する情報を送信する。   The integrated controller 10 transmits information related to the boundary port shown in FIG. 12 to the OFC 20-1 and the OFC 20-2.

OFC20−1は、統合コントローラ10から境界ポートに関する情報を受信する。OFC20−1は、制御するOFS30−2のポートp1が、レガシードメインであるドメインd2に接続することを示す情報を、物理トポロジ管理部21に保存する。   The OFC 20-1 receives information related to the boundary port from the integrated controller 10. The OFC 20-1 stores, in the physical topology management unit 21, information indicating that the port p1 of the OFS 30-2 to be controlled is connected to the domain d2 that is the legacy domain.

OFC20−2は、統合コントローラ10から境界ポートに関する情報を受信する。OFC20−2は、制御するOFS30−3のポートp2が、レガシードメインであるドメインd2に接続することを示す情報を、物理トポロジ管理部21に保存する。   The OFC 20-2 receives information related to the boundary port from the integrated controller 10. The OFC 20-2 stores, in the physical topology management unit 21, information indicating that the port p2 of the OFS 30-3 to be controlled is connected to the domain d2 that is the legacy domain.

統合コントローラ10は、OFC20−1とOFC20−2に対して、パケットの送信元MACアドレスと宛先MACアドレスをMatch条件に含むフローを生成するというポリシを設定する。   The integrated controller 10 sets a policy for generating a flow including the packet source MAC address and the destination MAC address in the Match condition for the OFC 20-1 and the OFC 20-2.

ノード1は、送信元MACアドレスがノード1のMACアドレス、宛先MACアドレスがL3ルータ80−1のMACアドレス、送信元IPアドレスがノード1のIPアドレス、宛先IPアドレスがノード2のIPアドレスであるパケットを、OFS30−1に送信する。   In the node 1, the source MAC address is the MAC address of the node 1, the destination MAC address is the MAC address of the L3 router 80-1, the source IP address is the IP address of the node 1, and the destination IP address is the IP address of the node 2. The packet is transmitted to OFS 30-1.

ノード1からパケットを受信すると、OFS30−1は、PACKET_INメッセージをOFC20−1に送信する。OFC20−1は、OFS30−1からPACKET_INメッセージを受信する。   When receiving the packet from the node 1, the OFS 30-1 transmits a PACKET_IN message to the OFC 20-1. The OFC 20-1 receives the PACKET_IN message from the OFS 30-1.

OFC20−1における経路計算部22は、物理トポロジ管理部21が保持する物理トポロジ情報に基づいて、フローのPathを計算する。計算の結果、「OFS30−1のp2→OFS30−1のp1→OFS30−2のp2→OFS30−2のp1」というフローのPathが求められる。   The path calculation unit 22 in the OFC 20-1 calculates the path of the flow based on the physical topology information held by the physical topology management unit 21. As a result of the calculation, the path of the flow “p2 of OFS 30-1 → p1 of OFS 30-1 → p2 of OFS 30-2 → p1 of OFS 30-2” is obtained.

フロー管理部23は、統合コントローラ10から設定された制御ポリシに従って、送信元MACアドレスがノード1のMACアドレス、宛先MACアドレスがL3ルータ80−1のMACアドレスであることをMatch条件に含むフローを生成する。生成されるフローのMatch条件の他のフィールドは任意である。また、生成されるフローは、経路計算部22が求めたPath「OFS30−1のp2→OFS30−1のp1→OFS30−2のp2→OFS30−2のp1」を経由する。   In accordance with the control policy set by the integrated controller 10, the flow management unit 23 includes a flow including a Match condition that the source MAC address is the MAC address of the node 1 and the destination MAC address is the MAC address of the L3 router 80-1. Generate. The other fields of the Match condition of the generated flow are optional. The generated flow passes through the path “path 2 of OFS 30-1 → p 1 of OFS 30-1 → p 2 of OFS 30-2 → p 1 of OFS 30-2” obtained by the route calculation unit 22.

OFS管理部24は、フロー管理部23が生成したフローの情報に基づいて、OFS30−1とOFS30−2に対してフローエントリの設定を指示する。   The OFS management unit 24 instructs the OFS 30-1 and the OFS 30-2 to set a flow entry based on the flow information generated by the flow management unit 23.

OFS30−1とOFS30−2は、OFC20−1から受信したフローエントリの設定指示に従って、フローエントリを生成する。OFS30−1とOFS30−2は、生成したフローエントリをフローエントリ管理部31に保存する。   The OFS 30-1 and the OFS 30-2 generate a flow entry in accordance with the flow entry setting instruction received from the OFC 20-1. The OFS 30-1 and the OFS 30-2 store the generated flow entry in the flow entry management unit 31.

フロー管理部23は、フローのPathが、OFS30−2のp1を通過することをPath情報から検出する。フロー管理部23は、物理トポロジ管理部21に保存されている情報から、OFS30−2のp1が境界ポートであることを検出する。   The flow management unit 23 detects from the Path information that the path of the flow passes p1 of the OFS 30-2. The flow management unit 23 detects from the information stored in the physical topology management unit 21 that p1 of the OFS 30-2 is a boundary port.

OFS管理部24は、フローのIngressに位置するOFS30−1に対して、フローエントリに合致したパケットのヘッダの保存要求を送信する。   The OFS management unit 24 transmits a request to save the header of the packet that matches the flow entry to the OFS 30-1 located in the flow Ingress.

OFS30−1におけるフローエントリ管理部31は、OFC20−1からパケットヘッダの保存要求を受信すると、フローに対応するフローエントリのActionに、パケットヘッダの保存を追加する。   When the flow entry management unit 31 in the OFS 30-1 receives the packet header storage request from the OFC 20-1, the flow entry management unit 31 adds the packet header storage to the action of the flow entry corresponding to the flow.

フローエントリ管理部31は、ノード1から受信されたパケットがフローエントリに合致する場合、フローエントリのActionに従って、受信されたパケットをOFS30−2に転送する。また、フローエントリ管理部31は、受信されたパケットのパケットヘッダをパケットヘッダ管理部32に保存する。   When the packet received from the node 1 matches the flow entry, the flow entry management unit 31 transfers the received packet to the OFS 30-2 according to the action of the flow entry. In addition, the flow entry management unit 31 stores the packet header of the received packet in the packet header management unit 32.

OFS30−2は、OFS30−1からパケットを受信する。OFS30−2におけるフローエントリ管理部31は、フローエントリのActionに従って、受信されたパケットをL3ルータ80−1に転送する。   The OFS 30-2 receives a packet from the OFS 30-1. The flow entry management unit 31 in the OFS 30-2 transfers the received packet to the L3 router 80-1 according to the action of the flow entry.

OFS30−2からパケットを受信すると、L3ルータ80−1は、パケットの送信元MACアドレスをL3ルータ80−1のMACアドレスに、パケットの宛先MACアドレスをノード2のMACアドレスにそれぞれ書き換える。L3ルータ80−1は、書き換え後のパケットをOFS30−3に転送する。   When receiving the packet from the OFS 30-2, the L3 router 80-1 rewrites the transmission source MAC address of the packet with the MAC address of the L3 router 80-1, and rewrites the destination MAC address of the packet with the MAC address of the node 2. The L3 router 80-1 transfers the rewritten packet to the OFS 30-3.

L3ルータ80−1からパケットを受信すると、OFS30−3は、PACKET_INメッセージをOFC20−2に送信する。OFC20−2は、OFS30−3からPACKET_INメッセージを受信する。   When receiving the packet from the L3 router 80-1, the OFS 30-3 transmits a PACKET_IN message to the OFC 20-2. The OFC 20-2 receives the PACKET_IN message from the OFS 30-3.

OFC20−2における経路計算部22は、物理トポロジ管理部21が保持する物理トポロジ情報に基づいて、フローのPathを計算する。計算の結果、「OFS30−3のp2→OFS30−3のp1→OFS30−4のp2→OFS30−4のp1」というフローのPathが求められる。   The path calculation unit 22 in the OFC 20-2 calculates the path of the flow based on the physical topology information held by the physical topology management unit 21. As a result of the calculation, the path of the flow “p2 of OFS 30-3 → p1 of OFS 30-3 → p2 of OFS 30-4 → p1 of OFS 30-4” is obtained.

フロー管理部23は、統合コントローラ10から設定された制御ポリシに従って、送信元MACアドレスがL3ルータ80−1のMACアドレス、宛先MACアドレスがノード2のMACアドレスであることをMatch条件に含むフローを生成する。生成されるフローのMatch条件の他のフィールドは任意である。また、生成されるフローは、経路計算部22が求めたPath「OFS30−3のp2→OFS30−3のp1→OFS30−4のp2→OFS30−4のp1」を経由する。   According to the control policy set by the integrated controller 10, the flow management unit 23 includes a flow including a Match condition that the source MAC address is the MAC address of the L3 router 80-1 and the destination MAC address is the MAC address of the node 2. Generate. The other fields of the Match condition of the generated flow are optional. The generated flow passes through the path “p2 of OFS 30-3 → p1 of OFS 30-3 → p2 of OFS 30-4 → p1 of OFS 30-4” obtained by the route calculation unit 22.

OFS管理部24は、フロー管理部23が生成したフローの情報に基づいて、OFS30−3とOFS30−4に対してフローエントリの設定を指示する。   The OFS management unit 24 instructs the OFS 30-3 and the OFS 30-4 to set a flow entry based on the flow information generated by the flow management unit 23.

OFS30−3とOFS30−4は、OFC20−2から受信したフローエントリの設定指示に従って、フローエントリを生成する。OFS30−3とOFS30−4は、生成したフローエントリをフローエントリ管理部31に保存する。   The OFS 30-3 and the OFS 30-4 generate a flow entry in accordance with the flow entry setting instruction received from the OFC 20-2. The OFS 30-3 and the OFS 30-4 store the generated flow entry in the flow entry management unit 31.

フロー管理部23は、フローのPath情報から、OFS30−3のp2が、フローの入力ポートまたは出力ポートであることを検出する。フロー管理部23は、物理トポロジ管理部21に保存されている情報から、OFS30−3のp2が境界ポートであることを検出する。   The flow management unit 23 detects from the path information of the flow that p2 of the OFS 30-3 is an input port or an output port of the flow. The flow management unit 23 detects from the information stored in the physical topology management unit 21 that p2 of the OFS 30-3 is a boundary port.

OFS管理部24は、フローのIngressに位置するOFS30−3に対して、フローエントリに合致したパケットのヘッダの保存要求を送信する。   The OFS management unit 24 transmits a request to save the header of the packet that matches the flow entry to the OFS 30-3 located in the flow Ingress.

OFS30−3におけるフローエントリ管理部31は、OFC20−2からパケットヘッダの保存要求を受信すると、フローに対応するフローエントリのActionに、パケットヘッダの保存を追加する。   When the flow entry management unit 31 in the OFS 30-3 receives the packet header storage request from the OFC 20-2, the flow entry management unit 31 adds the packet header storage to the action of the flow entry corresponding to the flow.

フローエントリ管理部31は、OFS30−2から受信されたパケットがフローエントリに合致する場合、フローエントリのActionに従って、受信されたパケットをOFS30−4に転送する。また、フローエントリ管理部31は、受信されたパケットのパケットヘッダをパケットヘッダ管理部32に保存する。   When the packet received from the OFS 30-2 matches the flow entry, the flow entry management unit 31 transfers the received packet to the OFS 30-4 according to the action of the flow entry. In addition, the flow entry management unit 31 stores the packet header of the received packet in the packet header management unit 32.

OFS30−4は、OFS30−3からパケットを受信する。OFS30−4におけるフローエントリ管理部31は、フローエントリのActionに従って、受信されたパケットをノード2に転送する。   The OFS 30-4 receives a packet from the OFS 30-3. The flow entry management unit 31 in the OFS 30-4 transfers the received packet to the node 2 in accordance with the action of the flow entry.

統合コントローラ10は、OFS30−1を経由するフローの表示要求を受信する。表示要求を受信した後、統合コントローラ10は、OFC20−1に対して、OFS30−1を経由するフローの取得要求を送信する。   The integrated controller 10 receives a flow display request via the OFS 30-1. After receiving the display request, the integrated controller 10 transmits a flow acquisition request via the OFS 30-1 to the OFC 20-1.

OFC20−1におけるフロー管理部23は、統合コントローラ10から指定された条件に合致するフローを検索する。検索で得られたフローでは、OFS30−1においてパケットヘッダの保存が実施されている。よって、フロー管理部23は、OFS30−1に対してフローエントリに合致したパケットのパケットヘッダの取得要求を送信する。   The flow management unit 23 in the OFC 20-1 searches for a flow that matches the condition specified by the integrated controller 10. In the flow obtained by the search, the packet header is stored in the OFS 30-1. Therefore, the flow management unit 23 transmits an acquisition request for the packet header of the packet that matches the flow entry to the OFS 30-1.

OFS30−1におけるフローエントリ管理部31は、OFC20−1から取得を要求された、フローエントリに合致したパケットのパケットヘッダをパケットヘッダ管理部32から取得する。フローエントリ管理部31は、取得したパケットヘッダをOFC20−1に送信する。   The flow entry management unit 31 in the OFS 30-1 acquires from the packet header management unit 32 the packet header of a packet that is requested to be acquired from the OFC 20-1 and matches the flow entry. The flow entry management unit 31 transmits the acquired packet header to the OFC 20-1.

OFC20−1は、フローの情報と、OFS30−1から取得したパケットヘッダを統合コントローラ10に送信する。   The OFC 20-1 transmits the flow information and the packet header acquired from the OFS 30-1 to the integrated controller 10.

統合コントローラ10は、OFC20−1から取得したフローのPathと、境界ポート管理部12が保持する境界ポートに関する情報と、ドメイン管理部14が保持するドメインの情報とに基づいて、取得したフローが次に到達するドメインを特定する。   The integrated controller 10 determines that the acquired flow is the next based on the path of the flow acquired from the OFC 20-1, the information on the boundary port held by the boundary port management unit 12, and the domain information held by the domain management unit 14. Identify domains that reach.

具体的には、フローのPathは「OFS30−1のp2→OFS30−1のp1→OFS30−2のp2→OFS30−2のp1」であることから、OFC20−1のOFCドメインにおいて、フローはOFS30−2のp1から出力する。   Specifically, since the path of the flow is “p2 of OFS 30-1 → p1 of OFS 30-1 → p2 of OFS 30-2 → p1 of OFS 30-2”, in the OFC domain of OFC 20-1, the flow is OFS 30-1. -2 is output from p1.

次いで、境界ポートに関する情報から、統合コントローラ10は、OFS30−2のp2がドメインd2に接続することが分かる。また、統合コントローラ10は、ドメイン管理部14が保持するドメインの情報から、ドメインd2がレガシードメインであり、ドメインd2におけるフローの情報を取得できないことも分かる。フローの情報を取得できないため、統合コントローラ10は、ドメインd2に隣接する別のドメインを検索する。   Next, from the information regarding the boundary port, the integrated controller 10 knows that p2 of the OFS 30-2 is connected to the domain d2. Further, the integrated controller 10 also knows from the domain information held by the domain management unit 14 that the domain d2 is a legacy domain and cannot acquire flow information in the domain d2. Since the flow information cannot be acquired, the integrated controller 10 searches for another domain adjacent to the domain d2.

境界ポートに関する情報から、統合コントローラ10は、L3ルータ80−1が、OFC20−2が制御するOFS30−3のp2に接続することが分かる。すなわち、統合コントローラ10は、ドメインd2に隣接するドメインがドメインd3であることが分かる。   From the information related to the boundary port, the integrated controller 10 knows that the L3 router 80-1 is connected to p2 of the OFS 30-3 controlled by the OFC 20-2. That is, the integrated controller 10 knows that the domain adjacent to the domain d2 is the domain d3.

上記のように、統合コントローラ10は、取得したフローがOFS30−3に続くことを検出する。検出した後、統合コントローラ10は、OFC20−2に対して、OFS30−3を経由するフローの取得要求を送信する。   As described above, the integrated controller 10 detects that the acquired flow continues to the OFS 30-3. After the detection, the integrated controller 10 transmits a flow acquisition request via the OFS 30-3 to the OFC 20-2.

OFC20−2におけるフロー管理部23は、統合コントローラ10から指定された条件に合致するフローを検索する。検索で得られたフローでは、OFS30−3においてパケットヘッダの保存が実施されている。よって、フロー管理部23は、OFS30−3に対してフローエントリに合致したパケットのパケットヘッダの取得要求を送信する。   The flow management unit 23 in the OFC 20-2 searches for a flow that matches the condition specified by the integrated controller 10. In the flow obtained by the search, the packet header is stored in the OFS 30-3. Therefore, the flow management unit 23 transmits an acquisition request for a packet header of a packet that matches the flow entry to the OFS 30-3.

OFS30−3におけるフローエントリ管理部31は、OFC20−2から取得を要求された、フローエントリに合致したパケットのパケットヘッダをパケットヘッダ管理部32から取得する。フローエントリ管理部31は、取得したパケットヘッダをOFC20−2に送信する。   The flow entry management unit 31 in the OFS 30-3 acquires, from the packet header management unit 32, the packet header of the packet that matches the flow entry requested to be acquired from the OFC 20-2. The flow entry management unit 31 transmits the acquired packet header to the OFC 20-2.

OFC20−2は、フローの情報と、OFS30−3から取得したパケットヘッダを統合コントローラ10に送信する。   The OFC 20-2 transmits the flow information and the packet header acquired from the OFS 30-3 to the integrated controller 10.

統合コントローラ10におけるフロー連結部13は、OFC20−1とOFC20−2から取得したパケットヘッダの情報を比較する。比較する際、フロー連結部13は、ドメイン管理部14が保持するドメインの機能情報を参照する。   The flow connection unit 13 in the integrated controller 10 compares the packet header information acquired from the OFC 20-1 and the OFC 20-2. When comparing, the flow connection unit 13 refers to the domain function information held by the domain management unit 14.

参照することによって、フロー連結部13は、OFC20−1のOFCドメインとOFC20−2のOFCドメインの間のレガシードメインに、MACアドレス書き換え機能を有する構成要素が属していることが分かる。よって、フロー連結部13は、パケットヘッダの情報を比較する際、パケットヘッダのMACアドレス以外のフィールドに指定された値を比較する。   By referencing, the flow linking unit 13 can be understood that the component having the MAC address rewriting function belongs to the legacy domain between the OFC domain of the OFC 20-1 and the OFC domain of the OFC 20-2. Therefore, when comparing the information in the packet header, the flow coupling unit 13 compares the values specified in the fields other than the MAC address of the packet header.

図11に示す例において、OFC20−1から取得されたパケットヘッダのMACアドレス以外のフィールドに指定された値と、OFC20−2から取得されたパケットヘッダのMACアドレス以外のフィールドに指定された値は一致する。よって、フロー連結部13は、2つのフローを連結して表示する。表示した後、ネットワークシステムは、処理を終了する。   In the example shown in FIG. 11, the value specified in the field other than the MAC address of the packet header acquired from the OFC 20-1 and the value specified in the field other than the MAC address of the packet header acquired from the OFC 20-2 are Match. Therefore, the flow connection part 13 connects and displays two flows. After the display, the network system ends the process.

次に、本実施形態における統合コントローラ10が、フローを表示する時の動作を図13を参照して具体的に説明する。図13は、本実施形態の統合コントローラ10の動作を示すフローチャートである。   Next, the operation when the integrated controller 10 in the present embodiment displays a flow will be specifically described with reference to FIG. FIG. 13 is a flowchart showing the operation of the integrated controller 10 of this embodiment.

統合コントローラ10は、指定された条件のフローの情報をOFCから取得する(ステップS20)。統合コントローラ10は、取得したフローのPath情報から、フローの出口になるポートを特定する。   The integrated controller 10 acquires the flow information of the specified condition from the OFC (Step S20). The integrated controller 10 identifies the port that is the exit of the flow from the acquired flow path information.

次いで、統合コントローラ10は、境界ポートに関する情報とドメインの情報に基づいて、特定されたポートが接続するドメインである隣接ドメインを検索する(ステップS21)。統合コントローラ10は、隣接ドメインが存在するか否かを確認する。   Next, the integrated controller 10 searches for an adjacent domain that is a domain to which the identified port is connected based on the information about the boundary port and the domain information (step S21). The integrated controller 10 checks whether there is an adjacent domain.

隣接ドメインが存在しない場合(ステップS22におけるYES)、統合コントローラ10は、取得したフローを結合する。次いで、統合コントローラ10は、結合したフローを表示する(ステップS23)。フローを表示した後、統合コントローラ10は、処理を終了する。   If there is no adjacent domain (YES in step S22), the integrated controller 10 combines the acquired flows. Next, the integrated controller 10 displays the combined flow (step S23). After displaying the flow, the integrated controller 10 ends the process.

隣接ドメインが存在する場合(ステップS22におけるNO)、統合コントローラ10は、隣接ドメインがOFCドメインであるか否かを確認する(ステップS24)。   When the adjacent domain exists (NO in step S22), the integrated controller 10 checks whether the adjacent domain is an OFC domain (step S24).

隣接ドメインがOFCドメインである場合(ステップS24におけるYES)、統合コントローラ10は、OFCドメインに対応するOFCからフローの情報を取得する(ステップS25)。取得した後、統合コントローラ10は、再度ステップS21における処理を行う。   If the adjacent domain is an OFC domain (YES in step S24), the integrated controller 10 acquires flow information from the OFC corresponding to the OFC domain (step S25). After acquisition, the integrated controller 10 performs the process in step S21 again.

隣接ドメインがOFCドメイン以外のドメインである場合(ステップS24におけるNO)、統合コントローラ10は、ドメインにおけるフローの情報を取得しない。統合コントローラ10は、再度ステップS21における処理を行う。   When the adjacent domain is a domain other than the OFC domain (NO in step S24), the integrated controller 10 does not acquire flow information in the domain. The integrated controller 10 performs the process in step S21 again.

本実施例では、レガシードメインにおいてパケットヘッダのMACアドレスが書き換えられる場合を説明した。なお、本実施形態におけるネットワークシステムは、レガシードメインにおいてMACアドレス以外の任意のフィールドが書き換えられる場合であっても、MACアドレスが書き換えられる場合に使用された方法と同様の方法を用いて、フローを連結して表示できる。   In this embodiment, the case where the MAC address of the packet header is rewritten in the legacy domain has been described. Note that the network system in the present embodiment uses a method similar to the method used when the MAC address is rewritten, even if any field other than the MAC address is rewritten in the legacy domain. Can be connected and displayed.

(実施例2)
次に、本実施形態のネットワークシステムの第2の実施例(実施例2)のフロー連結処理を説明する。図14は、第2の実施形態の第2の実施例におけるネットワークシステムの構成を示すブロック図である。
(Example 2)
Next, the flow connection process of the second example (Example 2) of the network system according to the present embodiment will be described. FIG. 14 is a block diagram illustrating a configuration of a network system in the second example of the second embodiment.

図14に示す統合コントローラ10は、図10に示す統合コントローラ10に相当する。図14に示すOFC20−1およびOFC20−2は、図10に示すOFC20に相当する。図14に示すOFS30−1〜OFS30−4は、図10に示すOFS30に相当する。   The integrated controller 10 illustrated in FIG. 14 corresponds to the integrated controller 10 illustrated in FIG. The OFC 20-1 and OFC 20-2 illustrated in FIG. 14 correspond to the OFC 20 illustrated in FIG. The OFS 30-1 to OFS 30-4 illustrated in FIG. 14 correspond to the OFS 30 illustrated in FIG.

図14に示すネットワークシステムの構成は、図11に示すネットワークシステムの構成と比較して、OFS30−2とOFS30−3の間にL3ルータ80−1ではなくブリッジ80−2が存在する点が異なる。ブリッジ80−2以外の図14に示すネットワークシステムの構成は、図11に示すネットワークシステムの構成と同様である。   The network system configuration shown in FIG. 14 differs from the network system configuration shown in FIG. 11 in that there is a bridge 80-2 instead of the L3 router 80-1 between the OFS 30-2 and the OFS 30-3. . The configuration of the network system shown in FIG. 14 other than the bridge 80-2 is the same as the configuration of the network system shown in FIG.

図14に示すように、本実施例においてレガシードメインに属する機器はブリッジである。すなわち、第1の実施例と異なり、レガシードメインにおいてパケットヘッダの書き換えは行われない。ブリッジ80−2は、OFS30−2から受信したパケットを、OFS30−3にそのまま転送する。   As shown in FIG. 14, in the present embodiment, the device belonging to the legacy domain is a bridge. That is, unlike the first embodiment, the packet header is not rewritten in the legacy domain. The bridge 80-2 transfers the packet received from the OFS 30-2 to the OFS 30-3 as it is.

以下、本実施例における動作の中で、図11に示す第1の実施例における動作と異なる動作を主に説明する。   Hereinafter, of the operations in this embodiment, operations different from the operations in the first embodiment shown in FIG. 11 will be mainly described.

ユーザは、統合コントローラ10に、ブリッジ80−2が属するレガシードメインの機能情報を設定する。設定されるレガシードメインの機能情報は、「レガシードメインにおいてパケットヘッダの書き換え無し」という情報を含む。   The user sets the function information of the legacy domain to which the bridge 80-2 belongs in the integrated controller 10. The function information of the set legacy domain includes information “no rewrite of the packet header in the legacy domain”.

本実施例において、統合コントローラ10におけるドメイン管理部14は、ドメインd1とドメインd3においてOFCがフローを作成することを示す機能情報を保存する。また、ドメイン管理部14は、上記の設定によりドメインd2においてブリッジ80−2がパケットヘッダを書き換えないことを示す機能情報を保存する。   In the present embodiment, the domain management unit 14 in the integrated controller 10 stores functional information indicating that OFC creates flows in the domains d1 and d3. Further, the domain management unit 14 stores functional information indicating that the bridge 80-2 does not rewrite the packet header in the domain d2 by the above setting.

次いで、統合コントローラ10がOFC20−1とOFC20−2に図12に示す境界ポートに関する情報を送信する動作から、フローの生成ポリシを設定する動作までは、第1の実施例における動作と同様である。   Next, the operation from the operation in which the integrated controller 10 transmits information related to the boundary port shown in FIG. 12 to the OFC 20-1 and OFC 20-2 to the operation to set the flow generation policy is the same as the operation in the first embodiment. .

ノード1は、送信元MACアドレスがノード1のMACアドレス、宛先MACアドレスがノード2のMACアドレスであるパケットを、OFS30−1に送信する。送信されたパケットは、OFS30−1、OFS30−2を経由して、ブリッジ80−2に転送される。なお、パケットの転送においてOFC20−1およびOFS30−1〜OFS30−2がそれぞれ行う動作は、第1の実施例における動作と同様である。   The node 1 transmits a packet whose source MAC address is the MAC address of the node 1 and whose destination MAC address is the MAC address of the node 2 to the OFS 30-1. The transmitted packet is transferred to the bridge 80-2 via the OFS 30-1 and OFS 30-2. The operations performed by the OFC 20-1 and OFS 30-1 to OFS 30-2 in packet transfer are the same as those in the first embodiment.

ブリッジ80−2は、OFS30−2からパケットを受信すると、受信したパケットをそのままOFS30−3に転送する。転送されたパケットは、OFS30−3、OFS30−4を経由して、ノード2に転送される。なお、パケットの転送においてOFC20−2およびOFS30−3〜OFS30−4がそれぞれ行う動作は、第1の実施例における動作と同様である。   When the bridge 80-2 receives the packet from the OFS 30-2, the bridge 80-2 transfers the received packet to the OFS 30-3 as it is. The transferred packet is transferred to the node 2 via the OFS 30-3 and OFS 30-4. The operations performed by the OFC 20-2 and OFS 30-3 to OFS 30-4 in packet transfer are the same as the operations in the first embodiment.

次いで、統合コントローラ10がOFS30−1を経由するフローの表示要求を受信する動作から、OFC20−2がフローの情報とパケットヘッダを統合コントローラ10に送信する動作までは、第1の実施例における動作と同様である。   Next, operations from the operation in which the integrated controller 10 receives a flow display request via the OFS 30-1 to the operation in which the OFC 20-2 transmits flow information and a packet header to the integrated controller 10 are the operations in the first embodiment. It is the same.

統合コントローラ10におけるフロー連結部13は、OFC20−1とOFC20−2から取得したパケットヘッダの情報を比較する。比較する際、フロー連結部13は、ドメイン管理部14が保持するドメインの機能情報を参照する。   The flow connection unit 13 in the integrated controller 10 compares the packet header information acquired from the OFC 20-1 and the OFC 20-2. When comparing, the flow connection unit 13 refers to the domain function information held by the domain management unit 14.

参照することによって、フロー連結部13は、OFC20−1のOFCドメインとOFC20−2のOFCドメインの間のレガシードメインに、パケットヘッダの書き換え機能を有する構成要素が属していないことが分かる。よって、フロー連結部13は、パケットヘッダの情報を比較する際、パケットヘッダのフィールドに指定された値を全て比較する。   By referring to the flow coupling unit 13, it can be seen that a component having a packet header rewriting function does not belong to the legacy domain between the OFC domain of the OFC 20-1 and the OFC domain of the OFC 20-2. Therefore, when comparing the information of the packet header, the flow coupling unit 13 compares all the values specified in the packet header field.

図14に示す例において、OFC20−1から取得されたパケットヘッダのフィールドに指定された値と、OFC20−2から取得されたパケットヘッダのフィールドに指定された値は、全て一致する。よって、フロー連結部13は、2つのフローを連結して表示する。表示した後、ネットワークシステムは、処理を終了する。   In the example illustrated in FIG. 14, the value specified in the packet header field acquired from the OFC 20-1 matches the value specified in the packet header field acquired from the OFC 20-2. Therefore, the flow connection part 13 connects and displays two flows. After the display, the network system ends the process.

以上、実施例1から実施例2に係るネットワークシステムをそれぞれ説明したが、本実施形態のネットワークシステムは、実施例1から実施例2における構成または機能を任意に組み合わせたネットワークシステムであってもよい。また、本発明によるネットワークシステムは、OpenFlowを用いたネットワークシステムには限定されない。   The network systems according to the first to second embodiments have been described above. However, the network system according to the present embodiment may be a network system in which the configurations or functions in the first to second embodiments are arbitrarily combined. . The network system according to the present invention is not limited to a network system using OpenFlow.

本実施形態におけるネットワークシステムは、OFCドメインとレガシードメインが混在するネットワークを対象にする場合、統合コントローラが、ドメインの機能情報に基づいてフローの連結の際に比較するパケットヘッダの情報を選択する。比較する情報を選択することによって、統合コントローラは、レガシードメインにおいてパケットヘッダの一部が書き換えられている場合であっても、各OFCから取得したフローを連結して表示できる。また、レガシードメインにおいてパケットヘッダが書き換えられていない場合であっても、統合コントローラは、第1の実施形態と同様、全てのパケットヘッダの情報を比較した上で各OFCから取得したフローを連結して表示できる。   When the network system according to the present embodiment targets a network in which an OFC domain and a legacy domain are mixed, the integrated controller selects packet header information to be compared when linking flows based on domain function information. By selecting the information to be compared, the integrated controller can link and display the flows acquired from each OFC even when a part of the packet header is rewritten in the legacy domain. Even if the packet header is not rewritten in the legacy domain, the integrated controller compares the information of all packet headers and connects the flows acquired from each OFC, as in the first embodiment. Can be displayed.

図15は、本発明によるネットワークシステムの主要部の構成を示す説明図である。図15に示すように、本発明によるネットワークシステムは、複数のスイッチ300を制御するコントローラ200と、複数のコントローラ200を制御する統合コントローラ100とを備える。統合コントローラ100は、一のコントローラ200の制御下にあるスイッチ300に他のコントローラ200の制御下にあるスイッチ300からのパケットを送信するためのポートである境界ポートに関する情報を、複数のコントローラ200に送信する。コントローラ200は、制御下にあるスイッチ300に送られたパケットの経路に境界ポートが含まれる場合に、境界ポートに関する情報に応じた要求をスイッチ300に送信する。   FIG. 15 is an explanatory diagram showing the configuration of the main part of the network system according to the present invention. As shown in FIG. 15, the network system according to the present invention includes a controller 200 that controls a plurality of switches 300 and an integrated controller 100 that controls the plurality of controllers 200. The integrated controller 100 sends information related to boundary ports, which are ports for transmitting packets from the switch 300 under the control of the other controller 200, to the plurality of controllers 200 under the control of the one controller 200. Send. When a boundary port is included in the path of a packet sent to the switch 300 under control, the controller 200 transmits a request according to information regarding the boundary port to the switch 300.

また、上記の各実施形態には、以下の(1)〜(9)に記載されたネットワークシステムも開示されている。   Each of the above embodiments also discloses a network system described in the following (1) to (9).

(1)複数のスイッチ(例えば、OFS30−1〜OFS30−4)を制御するコントローラ(例えば、OFC20−1またはOFC20−2)と、複数のコントローラを制御する統合コントローラ(例えば、統合コントローラ10)とを備えたネットワークシステムであって、統合コントローラは、一のコントローラの制御下にあるスイッチに他のコントローラの制御下にあるスイッチからのパケットを送信するためのポートである境界ポート(例えば、OFS30−2のポートp1、またはOFS30−3のポートp2)に関する情報を、複数のコントローラに送信し、コントローラは、制御下にあるスイッチに送られたパケットの経路に境界ポートが含まれる場合に、境界ポートに関する情報に応じた要求をスイッチに送信することを特徴とするネットワークシステム。 (1) A controller (for example, OFC 20-1 or OFC 20-2) that controls a plurality of switches (for example, OFS 30-1 to OFS 30-4), and an integrated controller (for example, integrated controller 10) that controls the plurality of controllers. The integrated controller includes a boundary port (for example, OFS 30-) that is a port for transmitting a packet from a switch under the control of another controller to a switch under the control of one controller. 2 port p1 or OFS 30-3 port p2) is transmitted to a plurality of controllers, and the controller includes a boundary port if the path of the packet sent to the switch under control includes the boundary port. Send a request to the switch according to the information about Network system and butterflies.

(2)ネットワークシステムは、コントローラが、制御下にあるスイッチに送られたパケットの経路に境界ポート(例えば、OFS30−2のポートp1、またはOFS30−3のポートp2)が含まれる場合に、当該パケットのヘッダ情報を保存する要求をスイッチに送信し、統合コントローラが、複数のコントローラを介してヘッダ情報を受信し、当該ヘッダ情報を用いて、異なるコントローラの制御下にあるフローを結合して表示するように構成されていてもよい。このようなネットワークシステムによれば、複数のコントローラの制御下を跨るフローを容易に確認することができる。 (2) When the controller includes a boundary port (for example, port p1 of OFS 30-2 or port p2 of OFS 30-3) in the path of a packet sent to a switch under control, the network system A request to save packet header information is sent to the switch, and the integrated controller receives the header information via multiple controllers and uses the header information to combine and display flows under the control of different controllers It may be configured to. According to such a network system, it is possible to easily confirm a flow that goes under the control of a plurality of controllers.

(3)ネットワークシステムは、コントローラ(例えば、OFC20−1)が、制御下にあるスイッチに送られたパケットの経路に境界ポート(例えば、OFS30−2のポートp1)が含まれ、当該パケットの宛先が他のコントローラ(例えば、OFC20−2)の制御下にあるノード(例えば、ノード2)である場合に、当該パケットのヘッダ情報の少なくとも一部を書き換える要求をスイッチに送信するように構成されていてもよい。このようなネットワークシステムによれば、例えば、パケットの宛先に応じて送信元情報などを変更することができる。 (3) In the network system, the controller (for example, OFC 20-1) includes a boundary port (for example, port p1 of OFS 30-2) in the path of the packet sent to the switch under control, and the destination of the packet Is a node (eg, node 2) under the control of another controller (eg, OFC 20-2), it is configured to send a request to rewrite at least a part of the header information of the packet to the switch. May be. According to such a network system, for example, the transmission source information can be changed according to the destination of the packet.

(4)ネットワークシステムは、コントローラ(例えば、OFC20−1またはOFC20−1)が、制御下にあるスイッチに送られたパケットの経路に境界ポート(例えば、OFS30−2のポートp1、またはOFS30−3のポートp2)が含まれる場合に、当該パケットのヘッダ情報を保存する要求をスイッチに送信し、制御下にあるスイッチに送られたパケットの経路に境界ポート(例えば、OFS30−2のポートp1)が含まれ、当該パケットの宛先が他のコントローラ(例えば、OFC20−2)の制御下にあるノードである場合に、当該パケットのヘッダ情報の少なくとも一部を書き換える要求をスイッチに送信し、統合コントローラは、複数のコントローラを介してフローの情報およびヘッダ情報を受信し、ヘッダ情報のうち書き換えがされていないヘッダ情報(例えば、OFC20−1から取得したヘッダ情報)に、フローの情報に含まれるActionを用いて要求における書き換えと同様の書き換えを行い、ヘッダ情報を用いて異なるコントローラの制御下にあるフローを結合して表示する。このようなネットワークシステムによれば、一方のコントローラから取得したヘッダ情報が書き換えられていた場合でも、統合コントローラが、書き換えがされていないヘッダ情報に同様の書き換えをするので、ヘッダ情報を一致させることができ、容易にフローを結合することができる。 (4) In the network system, a controller (for example, OFC 20-1 or OFC 20-1) has a boundary port (for example, port p1 of OFS 30-2 or OFS 30-3) in a path of a packet sent to a switch under control. Port p2) is transmitted to the switch, a request to save the header information of the packet is sent to the switch, and a boundary port (for example, port p1 of OFS 30-2) is sent to the packet route sent to the switch under control. And the packet destination is a node under the control of another controller (for example, OFC 20-2), a request to rewrite at least part of the header information of the packet is sent to the switch, and the integrated controller Receives flow information and header information via multiple controllers, Of the header information that has not been rewritten (for example, header information acquired from the OFC 20-1), the same rewriting as the request rewriting is performed using the action included in the flow information, and different controller Combine and display flows under control. According to such a network system, even if the header information acquired from one controller has been rewritten, the integrated controller rewrites the header information that has not been rewritten, so the header information must match. And can easily combine the flows.

(5)ネットワークシステムは、統合コントローラが、コントローラから制御下のネットワークにおける帯域情報を取得し、当該コントローラ以外のコントローラに当該帯域情報を送信し、コントローラ(例えば、OFC20−1)が、制御下にあるスイッチに送られたパケットの経路に境界ポート(例えば、OFS30−2のポートp1)が含まれ、当該パケットの宛先が他のコントローラ(例えば、OFC20−2)の制御下にあるノード(例えば、ノード2)である場合、スイッチが属するネットワークの帯域より、ノードが属するネットワークの帯域が狭い場合は、スイッチにパケットをシェーピングする要求を送信するように構成されていてもよい。このようなネットワークシステムによれば、他のコントローラの制御下にあるノードにパケットを送信する際の遅延を抑制することができる。 (5) In the network system, the integrated controller acquires bandwidth information in the network under control from the controller, transmits the bandwidth information to a controller other than the controller, and the controller (for example, OFC 20-1) is under control. The path of a packet sent to a switch includes a boundary port (for example, port p1 of OFS 30-2), and the destination of the packet is a node under the control of another controller (for example, OFC 20-2) (for example, In the case of the node 2), when the bandwidth of the network to which the node belongs is narrower than the bandwidth of the network to which the switch belongs, it may be configured to transmit a request for shaping a packet to the switch. According to such a network system, it is possible to suppress a delay when transmitting a packet to a node under the control of another controller.

(6)ネットワークシステムは、統合コントローラが、コントローラに、所定の通信品質を保つための制御であるQoS制御に関する設定を送信し、コントローラが(例えば、OFC20−1またはOFC20−2)、制御下にあるスイッチ(例えば、OFS30−1またはOFS30−3)に送られたパケットの経路が、境界ポート(例えば、OFS30−2のポートp1またはOFS30−3のポートp2)を通過する場合、制御下のネットワークにおける当該パケットのフローの入口となるポート(例えば、OFS30−1のポートp2)が境界ポートでない場合はスイッチにQoS制御の実行を要求し、制御下のネットワークにおける当該パケットのフローの入口となるポート(例えば、OFS30−3のポートp2)が境界ポートである場合はスイッチにQoS制御の実行を要求しないように構成されていてもよい。このようなネットワークシステムによれば、QoS制御の実行が重複することを防ぐことができる。 (6) In the network system, the integrated controller transmits a setting related to QoS control, which is control for maintaining a predetermined communication quality, to the controller, and the controller (for example, OFC 20-1 or OFC 20-2) If the path of a packet sent to a certain switch (for example, OFS 30-1 or OFS 30-3) passes through a boundary port (for example, port p1 of OFS 30-2 or port p2 of OFS 30-3), the network under control If the port at the entrance of the packet flow in (eg, port p2 of OFS 30-1) is not a boundary port, the switch is requested to execute QoS control, and the port at the entrance of the packet flow in the controlled network (For example, port p2 of OFS30-3) is a boundary port Some cases may be configured not to request execution of QoS control to the switch. According to such a network system, it is possible to prevent duplication of QoS control execution.

(7)ネットワークシステムは、境界ポートに接続された、パケットを転送する通信装置(例えば、L3ルータ80−1やブリッジ80−2)を備え、統合コントローラは、コントローラの制御範囲(例えば、OFCドメイン)を示す制御範囲情報、および通信装置が含まれ、コントローラが制御しない範囲(例えば、レガシードメイン)を示し、通信装置のパケットに対する操作内容を示す操作情報(例えば、ドメインの機能情報)を含む制御範囲外情報を保存し、複数のコントローラを介してフローの情報およびヘッダ情報を受信し、各制御範囲情報が示す各制御範囲が、制御範囲外情報が示す範囲を挟んで隣接する各コントローラから受信した各ヘッダ情報を操作情報を用いて比較し、所定の条件を満たす各コントローラの制御下にある各フローを結合して表示してもよい。このようなネットワークシステムによれば、複数のコントローラの制御下を跨り、コントローラに制御されない通信装置を経由するフローを容易に確認できる。 (7) The network system includes a communication device (for example, the L3 router 80-1 or the bridge 80-2) connected to the boundary port and transfers a packet, and the integrated controller has a control range (for example, an OFC domain) of the controller. ) And control range information indicating a range (for example, legacy domain) that is included in the communication device and not controlled by the controller, and includes operation information (for example, domain function information) indicating the operation content of the communication device packet. Stores out-of-range information, receives flow information and header information via multiple controllers, and receives each control range indicated by each control range information from each adjacent controller across the range indicated by out-of-control information Each header information is compared using the operation information, and it is under the control of each controller that satisfies the predetermined condition. It may be displayed by combining the respective flow. According to such a network system, it is possible to easily confirm a flow that passes through a communication device that is not controlled by the controller, under the control of a plurality of controllers.

(8)操作情報は、通信装置がパケットのヘッダ情報の少なくとも一部を書き換えることを示し、所定の条件は、各フローに対応する比較された各ヘッダ情報が、書き換えられた一部を除いて一致することでもよい。このようなネットワークシステムによれば、複数のコントローラの制御下を跨り、パケットヘッダの一部を書き換える通信装置を経由するフローを容易に確認できる。 (8) The operation information indicates that the communication device rewrites at least a part of the header information of the packet, and the predetermined condition is that the compared header information corresponding to each flow is excluding the part where the rewrite is performed. It may be coincident. According to such a network system, it is possible to easily check a flow that passes through a communication device that rewrites a part of a packet header across the control of a plurality of controllers.

(9)操作情報は、通信装置がパケットのヘッダ情報を書き換えないことを示し、所定の条件は、各フローに対応する比較された各ヘッダ情報が一致することでもよい。このようなネットワークシステムによれば、複数のコントローラの制御下を跨り、パケットヘッダを書き換えない通信装置を経由するフローを、通信装置が存在しない時と同様に確認できる。 (9) The operation information indicates that the communication device does not rewrite the header information of the packet, and the predetermined condition may be that each compared header information corresponding to each flow matches. According to such a network system, it is possible to confirm a flow that passes through a communication device that does not rewrite a packet header across the control of a plurality of controllers in the same manner as when there is no communication device.

本発明は、複数のコントローラを統合コントローラから管理するネットワークシステムに適用することができる。   The present invention can be applied to a network system that manages a plurality of controllers from an integrated controller.

1〜3、71〜72 ノード
10、40、100 統合コントローラ
11 OFC管理部
12 境界ポート管理部
13 フロー連結部
14 ドメイン管理部
20、20−1、20−2、50−1、50−2 OFC
21 物理トポロジ管理部
22 経路計算部
23 フロー管理部
24 OFS管理部
30,30−1〜30−4、60−1〜60−4 OFS
31 フローエントリ管理部
32 パケットヘッダ管理部
80−1 L3ルータ
80−2 ブリッジ
200 コントローラ
300 スイッチ
1-3, 71-72 Node 10, 40, 100 Integrated controller 11 OFC management unit 12 Boundary port management unit 13 Flow connection unit 14 Domain management unit 20, 20-1, 20-2, 50-1, 50-2 OFC
21 Physical topology management unit 22 Path calculation unit 23 Flow management unit 24 OFS management unit 30, 30-1 to 30-4, 60-1 to 60-4 OFS
31 Flow Entry Management Unit 32 Packet Header Management Unit 80-1 L3 Router 80-2 Bridge 200 Controller 300 Switch

Claims (10)

複数のスイッチを制御するコントローラと、複数の前記コントローラを制御する統合コントローラとを備えたネットワークシステムであって、
前記統合コントローラは、
一の前記コントローラの制御下にあるスイッチに他の前記コントローラの制御下にあるスイッチからのパケットを送信するためのポートである境界ポートに関する情報を、前記複数のコントローラに送信し、
前記コントローラは、
制御下にあるスイッチに送られたパケットの経路に前記境界ポートが含まれる場合に、前記境界ポートに関する情報に応じた要求を前記スイッチに送信する
ことを特徴とするネットワークシステム。
A network system comprising a controller for controlling a plurality of switches and an integrated controller for controlling the plurality of controllers,
The integrated controller is
Transmitting information related to a boundary port, which is a port for transmitting a packet from a switch under the control of the other controller to a switch under the control of the one controller, to the plurality of controllers;
The controller is
A network system, wherein, when the boundary port is included in a route of a packet sent to a switch under control, a request corresponding to information on the boundary port is transmitted to the switch.
コントローラは、
制御下にあるスイッチに送られたパケットの経路に境界ポートが含まれる場合に、当該パケットのヘッダ情報を保存する要求を前記スイッチに送信し、
統合コントローラは、
複数の前記コントローラを介してフローの情報および前記ヘッダ情報を受信し、当該ヘッダ情報を用いて、異なる前記コントローラの制御下にある前記フローを結合して表示する
請求項1記載のネットワークシステム。
The controller
When a boundary port is included in the route of a packet sent to a switch under control, a request to save the header information of the packet is sent to the switch,
The integrated controller
The network system according to claim 1, wherein flow information and header information are received via a plurality of the controllers, and the flows under the control of different controllers are combined and displayed using the header information.
コントローラは、
制御下にあるスイッチに送られたパケットの経路に境界ポートが含まれ、当該パケットの宛先が他のコントローラの制御下にあるノードである場合に、当該パケットのヘッダ情報の少なくとも一部を書き換える要求を前記スイッチに送信する
請求項1または請求項2記載のネットワークシステム。
The controller
A request to rewrite at least part of the header information of a packet when a boundary port is included in the route of the packet sent to the switch under control and the destination of the packet is a node under the control of another controller The network system according to claim 1, wherein the network system is transmitted to the switch.
コントローラは、
制御下にあるスイッチに送られたパケットの経路に境界ポートが含まれる場合に、当該パケットのヘッダ情報を保存する要求を前記スイッチに送信し、
制御下にあるスイッチに送られたパケットの経路に境界ポートが含まれ、当該パケットの宛先が他のコントローラの制御下にあるノードである場合に、当該パケットのヘッダ情報の少なくとも一部を書き換える要求を前記スイッチに送信し、
統合コントローラは、
複数の前記コントローラを介してフローの情報および前記ヘッダ情報を受信し、前記ヘッダ情報のうち書き換えがされていないヘッダ情報に、前記フローの情報に含まれるActionを用いて前記要求における書き換えと同様の書き換えを行い、前記ヘッダ情報を用いて異なる前記コントローラの制御下にある前記フローを結合して表示する
請求項1記載のネットワークシステム。
The controller
When a boundary port is included in the route of a packet sent to a switch under control, a request to save the header information of the packet is sent to the switch,
A request to rewrite at least part of the header information of a packet when a boundary port is included in the route of the packet sent to the switch under control and the destination of the packet is a node under the control of another controller To the switch,
The integrated controller
The flow information and the header information are received via a plurality of the controllers, and the header information that has not been rewritten among the header information is similar to the rewrite in the request using the Action included in the flow information. The network system according to claim 1, wherein rewriting is performed and the flows under the control of the different controllers are combined and displayed using the header information.
統合コントローラは、
コントローラから制御下のネットワークにおける帯域情報を取得し、当該コントローラ以外のコントローラに当該帯域情報を送信し、
コントローラは、
制御下にあるスイッチに送られたパケットの経路に境界ポートが含まれ、当該パケットの宛先が他のコントローラの制御下にあるノードである場合、前記スイッチが属するネットワークの帯域より、前記ノードが属するネットワークの帯域が狭い場合は、前記スイッチに前記パケットをシェーピングする要求を送信する
請求項1から請求項4のうちのいずれか1項に記載のネットワークシステム。
The integrated controller
Obtain bandwidth information in the controlled network from the controller, send the bandwidth information to a controller other than the controller,
The controller
When a boundary port is included in the route of a packet sent to a switch under control and the destination of the packet is a node under the control of another controller, the node belongs from the bandwidth of the network to which the switch belongs. The network system according to any one of claims 1 to 4, wherein when the network bandwidth is narrow, a request for shaping the packet is transmitted to the switch.
統合コントローラは、
コントローラに、所定の通信品質を保つための制御であるQoS制御に関する設定を送信し、
前記コントローラは、
制御下にあるスイッチに送られたパケットの経路が、境界ポートを通過する場合、制御下のネットワークにおける当該パケットのフローの入口となるポートが前記境界ポートでない場合は前記スイッチに前記QoS制御の実行を要求し、制御下のネットワークにおける当該パケットのフローの入口となるポートが前記境界ポートである場合は前記スイッチに前記QoS制御の実行を要求しない
請求項1から請求項5のうちのいずれか1項に記載のネットワークシステム。
The integrated controller
Sends settings related to QoS control, which is control for maintaining predetermined communication quality, to the controller,
The controller is
When the path of a packet sent to a switch under control passes through a boundary port, if the port that becomes the entrance of the flow of the packet in the network under control is not the boundary port, the QoS control is performed on the switch. The switch is not requested to execute the QoS control when the port that is the entrance of the flow of the packet in the controlled network is the boundary port. The network system according to item.
境界ポートに接続された、パケットを転送する通信装置を備え、
統合コントローラは、
コントローラの制御範囲を示す制御範囲情報、および前記通信装置が含まれ、コントローラが制御しない範囲を示し、前記通信装置の前記パケットに対する操作内容を示す操作情報を含む制御範囲外情報を保存し、
複数の前記コントローラを介してフローの情報およびヘッダ情報を受信し、
各制御範囲情報が示す各制御範囲が、前記制御範囲外情報が示す範囲を挟んで隣接する各コントローラから受信した各ヘッダ情報を前記操作情報を用いて比較し、
所定の条件を満たす前記各コントローラの制御下にある各フローを結合して表示する
請求項2記載のネットワークシステム。
A communication device connected to the boundary port for transferring packets;
The integrated controller
Control range information indicating the control range of the controller, and the communication device is included, indicates a range not controlled by the controller, stores out-of-control-range information including operation information indicating the operation content for the packet of the communication device,
Receiving flow information and header information via a plurality of the controllers,
Each control range indicated by each control range information is compared with each header information received from each adjacent controller across the range indicated by the out-of-control-range information, using the operation information,
The network system according to claim 2, wherein the flows under the control of the controllers that satisfy a predetermined condition are combined and displayed.
操作情報は、通信装置がパケットのヘッダ情報の少なくとも一部を書き換えることを示し、
所定の条件は、各フローに対応する比較された各ヘッダ情報が、書き換えられた一部を除いて一致することである
請求項7記載のネットワークシステム。
The operation information indicates that the communication device rewrites at least part of the header information of the packet,
The network system according to claim 7, wherein the predetermined condition is that each of the compared header information corresponding to each flow is identical except for a part that has been rewritten.
操作情報は、通信装置がパケットのヘッダ情報を書き換えないことを示し、
所定の条件は、各フローに対応する比較された各ヘッダ情報が一致することである
請求項7記載のネットワークシステム。
The operation information indicates that the communication device does not rewrite the header information of the packet,
The network system according to claim 7, wherein the predetermined condition is that each compared header information corresponding to each flow matches.
複数のスイッチを制御するコントローラと、複数の前記コントローラを制御する統合コントローラとを備えたネットワークシステムに用いられる通信制御方法であって、
前記統合コントローラが、
一の前記コントローラの制御下にあるスイッチに他の前記コントローラの制御下にあるスイッチからのパケットを送信するためのポートである境界ポートに関する情報を、前記複数のコントローラに送信し、
前記コントローラが、
制御下にあるスイッチに送られたパケットの経路に前記境界ポートが含まれる場合に、前記境界ポートに関する情報に応じた要求を前記スイッチに送信する
ことを特徴とする通信制御方法。
A communication control method used in a network system including a controller that controls a plurality of switches and an integrated controller that controls a plurality of the controllers,
The integrated controller is
Transmitting information related to a boundary port, which is a port for transmitting a packet from a switch under the control of the other controller to a switch under the control of the one controller, to the plurality of controllers;
The controller is
A communication control method, comprising: transmitting a request according to information related to the boundary port to the switch when the boundary port is included in a path of a packet sent to a switch under control.
JP2015028518A 2014-02-24 2015-02-17 Network system and communication control method Pending JP2015173439A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015028518A JP2015173439A (en) 2014-02-24 2015-02-17 Network system and communication control method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014032444 2014-02-24
JP2014032444 2014-02-24
JP2015028518A JP2015173439A (en) 2014-02-24 2015-02-17 Network system and communication control method

Publications (1)

Publication Number Publication Date
JP2015173439A true JP2015173439A (en) 2015-10-01

Family

ID=54260489

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015028519A Pending JP2015173440A (en) 2014-02-24 2015-02-17 Network system and communication control method
JP2015028518A Pending JP2015173439A (en) 2014-02-24 2015-02-17 Network system and communication control method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2015028519A Pending JP2015173440A (en) 2014-02-24 2015-02-17 Network system and communication control method

Country Status (1)

Country Link
JP (2) JP2015173440A (en)

Also Published As

Publication number Publication date
JP2015173440A (en) 2015-10-01

Similar Documents

Publication Publication Date Title
JP6398999B2 (en) Network system, network control method, and control apparatus
US10243830B2 (en) Software defined network-based gateway migation processing
US9736263B2 (en) Temporal caching for ICN
US9225624B2 (en) Systems and methods for topology discovery and application in a border gateway protocol based data center
US20120170477A1 (en) Computer, communication system, network connection switching method, and program
US10645006B2 (en) Information system, control apparatus, communication method, and program
US20160142285A1 (en) Openflow switch and method for packet exchanging thereof, sdn controller and data flow control method thereof
WO2015118876A1 (en) Network management method and device
JP5861772B2 (en) Network appliance redundancy system, control device, network appliance redundancy method and program
JP6323547B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM
US9537751B2 (en) Divided hierarchical network system based on software-defined networks
EP3076611A1 (en) Communication system, communication method, network information combination apparatus, and network information combination program
EP2924925A1 (en) Communication system, virtual-network management device, communication node, and communication method and program
US20160301595A1 (en) Communication system, communication method, network information combination apparatus, processing rule conversion method, and processing rule conversion program
US9735982B2 (en) Switch apparatus, VLAN setting management method, and program
US10411979B2 (en) Control information management apparatus, control information presentation method, and program
EP2940937A1 (en) Control apparatus, communication system, communication node control method and program
US10044671B2 (en) Control apparatus, communication system, communication method, and program
JPWO2015133561A1 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION DEVICE, AND COMMUNICATION METHOD
JP2015173439A (en) Network system and communication control method
WO2014119602A1 (en) Control apparatus, switch, communication system, switch control method and program
WO2015080092A1 (en) Network control device, network system, network control method, and program
JP6684050B2 (en) Packet transfer device and packet transfer method
JP6307932B2 (en) Packet transfer route acquisition system and packet transfer route acquisition method
JP6175766B2 (en) Communication node, control device, communication system, entry aggregation method, and program