JP2011159247A - Network system, controller, and network control method - Google Patents
Network system, controller, and network control method Download PDFInfo
- Publication number
- JP2011159247A JP2011159247A JP2010022727A JP2010022727A JP2011159247A JP 2011159247 A JP2011159247 A JP 2011159247A JP 2010022727 A JP2010022727 A JP 2010022727A JP 2010022727 A JP2010022727 A JP 2010022727A JP 2011159247 A JP2011159247 A JP 2011159247A
- Authority
- JP
- Japan
- Prior art keywords
- appliance
- switch
- processing
- flow
- controller
- 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
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、アプライアンスを備えるネットワークシステムを制御する技術に関する。特に、本発明は、あるアプライアンスの処理を他のアプライアンスに委譲する技術に関する。 The present invention relates to a technique for controlling a network system including an appliance. In particular, the present invention relates to a technique for delegating the processing of one appliance to another appliance.
アプライアンス(ネットワークアプライアンス)は、ネットワークトラヒックに対して特定の処理を実行するネットワーク装置である。アプライアンスとしては、負荷分散の機能を提供するロードバランサや、セキュリティを向上させるファイヤーウォール等が挙げられる。近年の仮想化技術の発展に伴い、ゲストOSを対象とした仮想的なセキュリティアプライアンスにも注目が集まっている。例えば、WAF(Web Application Firewall)機能を有する仮想アプライアンスは、1台の物理サーバ上で複数のゲストOSのトラヒックのアプリケーションレイヤまで監視する。 An appliance (network appliance) is a network device that performs specific processing on network traffic. Examples of the appliance include a load balancer that provides a load balancing function and a firewall that improves security. With the recent development of virtualization technology, attention is also focused on virtual security appliances for guest OSs. For example, a virtual appliance having a WAF (Web Application Firewall) function monitors up to an application layer of traffic of a plurality of guest OSes on one physical server.
ここで、トラヒック量やゲストOSの稼働状況によっては、アプライアンスが稼働する物理サーバのリソースが不足する場合がある。その場合、アプライアンスの性能が低下し、処理がおいつかなくなる。そのような事態を回避するために、あるアプライアンスの処理を、一時的に、他のアプライアンスに委譲することが考えられる。 Here, depending on the traffic volume and the operating status of the guest OS, there may be a shortage of resources of the physical server on which the appliance operates. In that case, the performance of the appliance will be reduced and processing will not be possible. In order to avoid such a situation, it is conceivable to temporarily delegate the processing of one appliance to another appliance.
非特許文献1は、トンネリング・プロトコルに関する技術を開示している。当該技術によれば、GRE対応ルータがIPパケットにヘッダを付加する。その付加ヘッダに基いて、IPネットワークを透過して遠隔地の外部装置と接続することができる。 Non-Patent Document 1 discloses a technique related to a tunneling protocol. According to this technique, a GRE-compatible router adds a header to an IP packet. Based on the additional header, it is possible to connect to an external device at a remote location through the IP network.
非特許文献2に開示された技術によれば、ネットワーク上のトラヒックをサンプリングして監視する。それにより、ルータの負荷を抑えつつ監視することができる。更に、アプライアンスなどの外部装置へ監視したフローを流すことで、高度な分析を行うことが可能である。 According to the technique disclosed in Non-Patent Document 2, traffic on a network is sampled and monitored. Thus, monitoring can be performed while suppressing the load on the router. Furthermore, advanced analysis can be performed by sending the monitored flow to an external device such as an appliance.
非特許文献3に開示された技術によれば、自由にパスを設定し、トラヒックをアプライアンスなどの外部装置へ流すことができる。 According to the technique disclosed in Non-Patent Document 3, it is possible to freely set a path and flow traffic to an external device such as an appliance.
また、負荷分散やロードバランサに関連する技術として、以下のものが知られている。 Further, the following technologies are known as technologies related to load balancing and load balancer.
特許文献1は、動的構成制御装置を開示している。その動的構成制御装置は、ウェブサーバとアプリケーションサーバが接続されるウェブシステムにおいて、各サーバの負荷状況に基いてサービス構成を動的に変更する。 Patent Document 1 discloses a dynamic configuration control device. The dynamic configuration control device dynamically changes a service configuration based on the load status of each server in a web system in which a web server and an application server are connected.
特許文献2は、複数のロードバランサを介するデータ通信を行うクラスタシステムを開示している。ノードサーバが正常に動作しなくなった場合にも、複数のロードバランサは、同一のセッションまたは関連する複数のセッションに属するメッセージを、同一のクラスタノードに分配する。これにより、効率よく複数のロードバランサからのメッセージを処理することができる。 Patent Document 2 discloses a cluster system that performs data communication via a plurality of load balancers. Even when the node server does not operate normally, the plurality of load balancers distribute messages belonging to the same session or a plurality of related sessions to the same cluster node. Thereby, messages from a plurality of load balancers can be processed efficiently.
あるアプライアンスの処理を、一時的に、他のアプライアンスに委譲することを考える。非特許文献1、2の場合、アプライアンスは、当該文献に記載されている特別なフォーマットに対応している必要があり、さもなければ処理を行うことができない。非特許文献3では、あるタイミングで特定の処理を委譲するといった動的な制御は考慮されていない。 Consider temporarily delegating the processing of one appliance to another appliance. In the case of Non-Patent Documents 1 and 2, the appliance needs to support a special format described in the document, otherwise processing cannot be performed. In Non-Patent Document 3, dynamic control such as delegation of specific processing at a certain timing is not considered.
本発明の1つの目的は、あるアプライアンスの処理を動的に他のアプライアンスに委譲することができる技術を提供することにある。 One object of the present invention is to provide a technology capable of dynamically delegating the processing of one appliance to another appliance.
本発明の1つの観点において、ネットワークシステムが提供される。そのネットワークシステムは、ネットワーク中に配置されたアプライアンス及びスイッチと、それらアプライアンス及びスイッチに接続されたコントローラと、を備える。スイッチは、フローテーブルを備え、フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定する。スイッチは、パケットを受け取るとフローテーブルを参照し、受け取ったパケットにマッチするエントリで指定されるアクションを受け取ったパケットに対して行う。コントローラは、アプライアンスに関連する処理負荷を示す負荷情報を取得し、また、処理負荷を閾値と比較する。アプライアンスの1つである第1アプライアンスに関連する処理負荷が閾値以上になった場合、コントローラは委譲処理を行う。その委譲処理において、コントローラは、第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択し、アプライアンスの1つであって第1アプライアンスと異なる第2アプライアンスを選択し、選択フローに属するパケットを第2アプライアンスに転送することを指定するエントリをフローテーブルに設定するように、スイッチに対して指示する。 In one aspect of the present invention, a network system is provided. The network system includes appliances and switches arranged in the network, and a controller connected to the appliances and switches. The switch includes a flow table, and each entry in the flow table specifies an action to be performed on a packet that matches the matching condition. When the switch receives the packet, the switch refers to the flow table and performs an action specified by the entry matching the received packet on the received packet. The controller obtains load information indicating the processing load associated with the appliance, and compares the processing load with a threshold value. When the processing load related to the first appliance, which is one of the appliances, exceeds a threshold value, the controller performs delegation processing. In the delegation process, the controller selects at least one of the flows processed by the first appliance as a selection flow, selects a second appliance that is one of the appliances and is different from the first appliance, and selects a selection flow. The switch is instructed to set, in the flow table, an entry that designates that the packet belonging to is transferred to the second appliance.
本発明の他の観点において、ネットワーク中に配置されたアプライアンス及びスイッチに接続されるコントローラが提供される。スイッチは、フローテーブルを備え、フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定する。スイッチは、パケットを受け取るとフローテーブルを参照し、受け取ったパケットにマッチするエントリで指定されるアクションを受け取ったパケットに対して行う。コントローラは、アプライアンスに関連する処理負荷を示す負荷情報が格納される記憶装置と、処理装置と、を備える。処理装置は、処理負荷を閾値と比較する。アプライアンスの1つである第1アプライアンスに関連する処理負荷が閾値以上になった場合、処理装置は委譲処理を行う。その委譲処理において、処理装置は、第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択し、アプライアンスの1つであって第1アプライアンスと異なる第2アプライアンスを選択し、選択フローに属するパケットを第2アプライアンスに転送することを指定するエントリをフローテーブルに設定するように、スイッチに対して指示する。 In another aspect of the present invention, a controller connected to appliances and switches located in a network is provided. The switch includes a flow table, and each entry in the flow table specifies an action to be performed on a packet that matches the matching condition. When the switch receives the packet, the switch refers to the flow table and performs an action specified by the entry matching the received packet on the received packet. The controller includes a storage device that stores load information indicating a processing load related to the appliance, and a processing device. The processing device compares the processing load with a threshold value. When the processing load related to the first appliance, which is one of the appliances, exceeds a threshold value, the processing device performs delegation processing. In the delegation process, the processing device selects at least one of the flows processed by the first appliance as a selection flow, selects a second appliance that is one of the appliances and is different from the first appliance, and selects The switch is instructed to set, in the flow table, an entry designating that a packet belonging to the flow is transferred to the second appliance.
本発明の更に他の観点において、アプライアンス及びスイッチが配置されたネットワークの制御方法が提供される。スイッチは、フローテーブルを備え、フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定する。スイッチは、パケットを受け取るとフローテーブルを参照し、受け取ったパケットにマッチするエントリで指定されるアクションを受け取ったパケットに対して行う。本発明に係る制御方法は、(A)アプライアンスに関連する処理負荷を示す負荷情報を取得することと、(B)処理負荷を閾値と比較することと、(C)アプライアンスの1つである第1アプライアンスに関連する処理負荷が閾値以上になった場合、委譲処理を行うことと、を含む。その委譲処理は、(C1)第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択することと、(C2)アプライアンスの1つであって第1アプライアンスと異なる第2アプライアンスを選択することと、(C3)スイッチにおいて、選択フローに属するパケットを第2アプライアンスに転送することを指定するエントリをフローテーブルに設定することと、を含む。 In still another aspect of the present invention, a method for controlling a network in which appliances and switches are arranged is provided. The switch includes a flow table, and each entry in the flow table specifies an action to be performed on a packet that matches the matching condition. When the switch receives the packet, the switch refers to the flow table and performs an action specified by the entry matching the received packet on the received packet. The control method according to the present invention includes (A) acquiring load information indicating a processing load related to the appliance, (B) comparing the processing load with a threshold, and (C) a first of the appliances. Including performing delegation processing when the processing load related to one appliance is equal to or greater than a threshold value. The delegation processing includes (C1) selecting at least one of the flows processed by the first appliance as a selection flow, and (C2) selecting a second appliance that is one of the appliances and is different from the first appliance. And (C3) setting, in the switch, an entry for designating transfer of a packet belonging to the selected flow to the second appliance in the switch.
本発明の更に他の観点において、アプライアンス及びスイッチが配置されたネットワークの制御処理をコンピュータに実行させる制御プログラムが提供される。スイッチは、フローテーブルを備え、フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定する。スイッチは、パケットを受け取るとフローテーブルを参照し、受け取ったパケットにマッチするエントリで指定されるアクションを受け取ったパケットに対して行う。本発明に係る制御処理は、(A)アプライアンスに関連する処理負荷を示す負荷情報を取得することと、(B)処理負荷を閾値と比較することと、(C)アプライアンスの1つである第1アプライアンスに関連する処理負荷が閾値以上になった場合、委譲処理を行うことと、を含む。その委譲処理は、(C1)第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択することと、(C2)アプライアンスの1つであって第1アプライアンスと異なる第2アプライアンスを選択することと、(C3)選択フローに属するパケットを第2アプライアンスに転送することを指定するエントリをフローテーブルに設定するように、スイッチに対して指示することと、を含む。 In still another aspect of the present invention, a control program for causing a computer to execute control processing of a network in which appliances and switches are arranged is provided. The switch includes a flow table, and each entry in the flow table specifies an action to be performed on a packet that matches the matching condition. When the switch receives the packet, the switch refers to the flow table and performs an action specified by the entry matching the received packet on the received packet. The control processing according to the present invention includes (A) acquiring load information indicating a processing load related to the appliance, (B) comparing the processing load with a threshold value, and (C) one of the appliances. Including performing delegation processing when the processing load related to one appliance is equal to or greater than a threshold value. The delegation processing includes (C1) selecting at least one of the flows processed by the first appliance as a selection flow, and (C2) selecting a second appliance that is one of the appliances and is different from the first appliance. And (C3) instructing the switch to set in the flow table an entry designating that a packet belonging to the selected flow is transferred to the second appliance.
本発明によれば、あるアプライアンスの処理を動的に他のアプライアンスに委譲することが可能となる。 According to the present invention, it is possible to dynamically delegate the processing of one appliance to another appliance.
添付図面を参照して、本発明の実施の形態を説明する。 Embodiments of the present invention will be described with reference to the accompanying drawings.
1.構成
図1は、本実施の形態に係るネットワークシステム1の構成を概略的に示すブロック図である。本実施の形態に係るネットワークシステム1は、例えば、データセンター(Data Center)に適用される。
1. Configuration FIG. 1 is a block diagram schematically showing a configuration of a network system 1 according to the present embodiment. The network system 1 according to the present embodiment is applied to, for example, a data center.
図1に示されるように、ネットワークシステム1は、スイッチ10、アプライアンス20、コントローラ100、及び物理サーバ200を備えている。アプライアンス20は、物理アプライアンスであってもよいし、仮想化技術によって物理サーバ200上に構築される仮想アプライアンスであってもよい。スイッチ10、アプライアンス20及び物理サーバ200は、ネットワーク中に配置されている。アプライアンス20及び物理サーバ200は、複数のスイッチ10からなるスイッチネットワークを介して、外部ネットワークに接続されている。コントローラ100は、制御回線(図中、破線で表されている)を介して、各スイッチ10、各アプライアンス20、及び各物理サーバ200に接続されている。以下、各構成を更に詳しく説明する。
As illustrated in FIG. 1, the network system 1 includes a
1−1.スイッチ10
スイッチ10は、パケット転送等のスイッチ処理を行う。より詳細には、図2に示されるように、スイッチ10は、スイッチ処理部11、コントローラ通信部12、記憶部13、及び複数のポート15を備えている。外部からパケットが入力されるポート15は入力ポートであり、パケットが外部に出力されるポート15は出力ポートである。スイッチ処理部11は、入力ポートから出力ポートへのパケット転送等、主要なパケット処理を行う。コントローラ通信部12は、制御回線を介してコントローラ100に接続されており、コントローラ100との間で通信を行う際のインタフェースとなる。
1-1.
The
記憶部13には、図3に示されるようなフローテーブルFTBLが格納されている。フローテーブルFTBLの各エントリは、「マッチ条件(フロー識別情報)」と「アクション」を示している。「マッチ条件」は、パケットの入力ポート、送信元MACアドレス、宛先MACアドレス、VLAN ID、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号などのパラメータの組み合わせで構成される。尚、フローもそれらパラメータの組み合わせで定義される。つまり、「マッチ条件」は、フローを規定するフロー識別情報でもある。「アクション」は、マッチ条件にマッチするパケットに対して行われる処理を指定する。「アクション」としては、指定ポートへのパケット出力、パケット廃棄等が挙げられる。
The
スイッチ処理部11は、入力ポートを通してパケットを受信すると、記憶部13に格納されているフローテーブルFTBLを参照する。そして、スイッチ処理部11は、フローテーブルFTBLの中から、当該受信パケットにマッチするエントリを検索する。具体的には、スイッチ処理部11は、受信パケットのヘッダ情報を抽出し、受信パケットの入力ポート及びヘッダ情報を検索キーとして用いることにより、フローテーブルFTBLの検索を行う。その検索キーと一致するマッチ条件を示すエントリが、受信パケットにマッチするマッチエントリである。受信パケットがいずれかのエントリのマッチ条件にマッチした場合、すなわち、マッチエントリが見つかった場合、スイッチ処理部11は、そのマッチエントリで指定される「アクション」を受信パケットに対して行う。
When the
1−2.アプライアンス20
アプライアンス(ネットワークアプライアンス)20は、ネットワークトラヒックに対して特定の処理を実行するネットワーク装置である。アプライアンス20としては、ロードバランサ、ファイヤーウォール、WAF(Web Application Firewall)、IDS(Intrusion Detection System)、IPS(Intrusion Prevention System)、メールセキュリティ装置、暗号化アクセラレーション装置、コーデック変換処理装置、などが挙げられる。尚、本実施の形態において、アプライアンス20は、物理アプライアンスであってもよいし、仮想化技術によって物理サーバ200上に構築される仮想アプライアンスであってもよい。
1-2.
The appliance (network appliance) 20 is a network device that executes specific processing for network traffic. Examples of the
図4は、本実施の形態に係るアプライアンス20の構成を概略的に示している。アプライアンス20は、アプライアンス処理部21、コントローラ通信部22、記憶部23、及び負荷監視部25を備えている。アプライアンス処理部21は、アプライアンス20としての特定の処理を実行する。コントローラ通信部22は、制御回線を介してコントローラ100に接続されており、コントローラ100との間で通信を行う際のインタフェースとなる。
FIG. 4 schematically shows the configuration of the
記憶部23には、セッションテーブルSTBLが格納されている。セッションテーブルSTBLは、自アプライアンス20が扱っているフロー(セッション)に関するフロー識別情報や処理ポリシを示す。フロー識別情報は、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号等である。アプライアンス処理部21は、このセッションテーブルSTBLを参照することによって、各フローに応じたアプライアンス処理を実行する。また、後述されるように、アプライアンス処理部21は、コントローラ100からの要求に応じて、セッションテーブルSTBLの内容を示すセッション情報SESをコントローラ100に送信する機能を有する。
The
負荷監視部25は、自アプライアンス20の処理負荷を監視し、その処理負荷を示す負荷情報LDを作成・更新する。処理負荷としては、CPU使用率やトラヒック量が挙げられる。負荷監視部25は、その負荷情報LDを記憶部23に格納する。また、負荷監視部25は、最新の負荷情報LDを、コントローラ通信部22を介してコントローラ100に送信する。負荷情報LDの送信タイミングや送信間隔は任意に設定され得る。
The
1−3.物理サーバ200
図5は、本実施の形態に係る物理サーバ200の構成を概略的に示している。物理サーバ200は、コントローラ通信部220、記憶部230、及び負荷監視部250を備えている。コントローラ通信部220は、制御回線を介してコントローラ100に接続されており、コントローラ100との間で通信を行う際のインタフェースとなる。
1-3.
FIG. 5 schematically shows the configuration of the
負荷監視部250は、自物理サーバ200の処理負荷を監視し、その処理負荷を示す負荷情報LDを作成・更新する。処理負荷としては、CPU使用率やトラヒック量が挙げられる。負荷監視部250は、その負荷情報LDを記憶部230に格納する。また、負荷監視部250は、最新の負荷情報LDを、コントローラ通信部220を介してコントローラ100に送信する。負荷情報LDの送信タイミングや送信間隔は任意に設定され得る。
The
1−4.コントローラ100
コントローラ100は、制御回線を介して、各スイッチ10のフローテーブルFTBLの内容を設定する機能を有する。具体的には、コントローラ100は、エントリの設定(追加、変更、削除等)を指示する「エントリ設定データENT」を作成し、そのエントリ設定データENTを対象スイッチ10に送る。エントリ設定データENTを受け取った対象スイッチ10のスイッチ処理部11は、そのエントリ設定データENTに従って、自身のフローテーブルFTBL内のエントリの設定(追加、変更、削除等)を行う。このように、コントローラ100は、フローテーブルFTBLの内容の設定を通してスイッチ10の動作を制御し、それにより、ネットワークトラフィックを適宜制御することができる。
1-4.
The
このような処理を実現するためのコントローラ100とスイッチ10との間のインタフェース方式としては、例えば、Openflow(http://www.openflowswitch.org/を参照)が挙げられる。この場合、「Openflow Controller」がコントローラ100となり、「Openflow Switch」が各スイッチ10となる。
An example of an interface method between the
図6は、本実施の形態に係るコントローラ100の構成を示すブロック図である。コントローラ100は、処理装置101、記憶装置102、及び通信装置103を備えている。処理装置101は、CPU(Central Processing Unit)を含む。記憶装置102は、例えば、RAM(Random Access Memory)やHDD(Hard Disk Drive)を含む。通信装置103は、例えば、外部との通信を行うネットワークカードを含む。
FIG. 6 is a block diagram showing a configuration of the
記憶装置102には、接続情報CON、負荷テーブルLTBL、セッション情報SES、エントリ設定データENT等が格納される。
The
接続情報CONは、ネットワークの接続関係を示す。つまり、接続情報CONは、スイッチ10、アプライアンス20、物理サーバ200といった構成要素間の接続関係(トポロジ)を示す。より詳細には、接続情報CONは、各構成要素の各ポートがどの構成要素のどのポートに接続されているかを示す。各構成要素の識別情報としては、MACアドレスやIPアドレスなどが挙げられる。
The connection information CON indicates the connection relation of the network. That is, the connection information CON indicates a connection relationship (topology) between components such as the
負荷テーブルLTBLは、各アプライアンス20に関連する処理負荷を示しており、各アプライアンス20及び各物理サーバ200から集められた上記負荷情報LDに基いて作成される。アプライアンス20が物理アプライアンスの場合、当該アプライアンス20に関連する処理負荷は、当該物理アプライアンスの処理負荷である。アプライアンス20が仮想アプライアンスの場合、当該アプライアンス20に関連する処理負荷は、当該仮想アプライアンスの処理負荷、及び/あるいは、当該仮想アプライアンスが稼働する物理サーバ200の処理負荷である。すなわち、アプライアンス20に関連する処理負荷は、当該アプライアンス20の処理負荷、及び、当該アプライアンス20が稼働する物理サーバの処理負荷のうち少なくとも一方を含む。
The load table LTBL indicates a processing load related to each
図7は、負荷テーブルLTBLの一例を示している。図7に示されるように、負荷テーブルLTBLは、アプライアンス毎に、最新の処理負荷(例:CPU使用率[%])を示している。更に、負荷テーブルLTBLは、アプライアンス毎に、処理負荷に関する閾値を示している。この閾値は、後述される処理で使用される。尚、処理負荷に関する閾値は別途与えられてもよい。 FIG. 7 shows an example of the load table LTBL. As illustrated in FIG. 7, the load table LTBL indicates the latest processing load (for example, CPU usage rate [%]) for each appliance. Further, the load table LTBL indicates a threshold regarding the processing load for each appliance. This threshold value is used in processing described later. Note that a threshold regarding the processing load may be separately provided.
セッション情報SESは、アプライアンス20が有するセッションテーブルSTBLの内容を示す。このセッション情報SESは、アプライアンス20から取得することができる。詳細は後述される。
The session information SES indicates the contents of the session table STBL that the
エントリ設定データENTは、上述の通り、対象スイッチ10に対してエントリの設定(追加、変更、削除等)を指示する情報である。
As described above, the entry setting data ENT is information for instructing the
処理装置101は、本実施の形態に係る「ネットワーク制御処理」を行う。より詳細には、図6に示されるように、処理装置101は、情報収集部110、委譲処理部120、及びスイッチ制御部130を備えている。情報収集部110は、制御回線を介して、アプライアンス20及び物理サーバ200と接続され、通信を行う。スイッチ制御部130は、制御回線を介して、スイッチ10と接続され、通信を行う。これら機能ブロック110、120、130による処理は、後に詳述される。
The
尚、これら機能ブロック110、120、130は、処理装置101が制御プログラムPROGを実行することにより実現される。制御プログラムPROGは、コンピュータ(処理装置101)によって実行されるコンピュータプログラムであり、記憶装置102に格納される。制御プログラムPROGは、コンピュータ読み取り可能な記録媒体に格納されていてもよい。
Note that these
2.処理フロー
以下、本実施の形態に係るネットワーク制御処理をより詳細に説明する。例として、図8で示される状態を考える。図8において、第1アプライアンス20−1及び第2アプライアンス20−2がスイッチ10に接続されている。フローFLOW1は、現在第1アプライアンス20−1によって処理されている既存フローである。スイッチ10のフローテーブルFTBLは、「フローFLOW1に属するパケットを第1アプライアンス20−1に転送すること」を指定するエントリを含んでいる。スイッチ10は、フローFLOW1に属するパケットを受け取ると、フローテーブルFTBL中のマッチエントリに従って、受信パケットを第1アプライアンス20−1に転送する。第1アプライアンス20−1は、フローFLOW1に属するパケットを受け取り、セッションテーブルSTBLに従って、当該受信パケットに対して所定のパケット処理(ロードバランサとしての処理、ファイヤーウォールとしての処理、等)を実施する。
2. Process Flow Hereinafter, the network control process according to the present embodiment will be described in more detail. As an example, consider the state shown in FIG. In FIG. 8, the first appliance 20-1 and the second appliance 20-2 are connected to the
図9は、本実施の形態に係るネットワーク制御処理を示すフローチャートである。 FIG. 9 is a flowchart showing network control processing according to the present embodiment.
ステップS110:
各アプライアンス20の負荷監視部25は、自アプライアンス20の処理負荷を監視し、その処理負荷を示す負荷情報LDを作成・更新する。負荷監視部25は、最新の負荷情報LDをコントローラ100に送信する。また、各物理サーバ200の負荷監視部250は、自物理サーバ200の処理負荷を監視し、その処理負荷を示す負荷情報LDを作成・更新する。負荷監視部250は、最新の負荷情報LDをコントローラ100に送信する。
Step S110:
The
コントローラ100の情報収集部110は、各アプライアンス20及び各物理サーバ200から上述の負荷情報LDを取得する(図10参照)。そして、情報収集部110は、取得した負荷情報LDに基いて、上述の負荷テーブルLTBLを作成・更新する。
The
ステップS120:
続いて、コントローラ100の委譲処理部120は、記憶装置102に格納されている負荷テーブルLTBLを参照し、「委譲処理」の要否を判定する。具体的には、委譲処理部120は、各アプライアンス20に関連する処理負荷を所定の閾値と比較する。処理負荷が閾値以上となったアプライアンス20が存在する場合(ステップS130;Yes)、委譲処理部120は、当該アプライアンス20に関して「委譲処理」が必要と判定する。この場合、処理は次のステップS140に進む。一方、いずれのアプライアンス20の処理負荷も閾値未満であれば(ステップS130;No)、委譲処理部120は、「委譲処理」は不要と判定する。この場合、処理はステップS110に戻る。
Step S120:
Subsequently, the
例えば、図7の例に示されるように、第1アプライアンス20−1(Appliance1)に関連する処理負荷が閾値に達したとする。この場合、委譲処理部120は、第1アプライアンス20−1に関して委譲処理(ステップS140)を実行する。
For example, as shown in the example of FIG. 7, it is assumed that the processing load related to the first appliance 20-1 (Appliance 1) has reached a threshold value. In this case, the
ステップS140:
ステップS140において、コントローラ100は、第1アプライアンス20−1に関する「委譲処理」を行う。図11は、その委譲処理を示している。
Step S140:
In step S140, the
ステップS141:
コントローラ100は、委譲元の第1アプライアンス20−1からセッション情報SESを取得する。より詳細には、コントローラ100の情報収集部110は、第1アプライアンス20−1に対して、セッション情報SESの送付を要求する。その要求に応答して、第1アプライアンス20−1のアプライアンス処理部21は、自身のセッションテーブルSTBLの内容を示すセッション情報SESをコントローラ100に送信する。情報収集部110は、第1アプライアンス20−1からセッション情報SESを受け取り、それを記憶装置102に格納する。そのセッション情報SESは、第1アプライアンス20−1が扱っている各フローに関するフロー識別情報を含んでいる。
Step S141:
The
ステップS142:
次に、コントローラ100の委譲処理部120は、第1アプライアンス20−1が処理しているフローのうち少なくとも1つを「選択フロー」として選択する。このとき、委譲処理部120は、第1アプライアンス20−1から取得した上記セッション情報SESに基いて、選択フローを選択することができる。この選択フローは、第1アプライアンス20−1から他のアプライアンスに委譲されるフローである。ここでは、フローFLOW1が選択フローとして選択されたとする。
Step S142:
Next, the
ステップS143:
また、コントローラ100の委譲処理部120は、委譲先となるアプライアンス20を選択する。この委譲先は、委譲元の第1アプライアンス20−1とは異なるものである。このとき、委譲処理部120は、負荷テーブルLTBLを参照して、処理負荷が閾値未満のアプライアンス20を委譲先として選択してもよい。ここでは、図11に示される第2アプライアンス20−2が委譲先として選択されたとする。
Step S143:
In addition, the
ステップS144:
コントローラ100は、選択フローFLOW1を第1アプライアンス20−1ではなく第2アプライアンス20−2へ流すための処理を行う。そのために、コントローラ100の委譲処理部120は、“転送エントリ”の設定を指示するエントリ設定データENTを作成する。その転送エントリは、「選択フローFLOW1に属するパケットを第2アプライアンス20−2に転送すること」を指定する。選択フローFLOW1に関するフロー識別情報は、セッション情報SESから得られる。第2アプライアンス20−2につながるポート等は、接続情報CONから得られる。従って、委譲処理部120は、セッション情報SES及び接続情報CONを参照することによって、転送エントリの設定を指示するエントリ設定データENTを作成することができる。委譲処理部120は、作成したエントリ設定データENTを記憶装置102に格納する。
Step S144:
The
ステップS145:
コントローラ100のスイッチ制御部130は、記憶装置102からエントリ設定データENTを読み出し、そのエントリ設定データENTをスイッチ10に送信する。すなわち、スイッチ制御部130は、スイッチ10に対して、上述の“転送エントリ”をフローテーブルFTBLに設定するよう指示する。
Step S145:
The
スイッチ10のスイッチ処理部11は、コントローラ100からエントリ設定データENTを受け取る。スイッチ処理部11は、そのエントリ設定データENTに従って、上記“転送エントリ”をフローテーブルFTBLに設定する。その後、スイッチ処理部11は、フローFLOW1に属するパケットを受け取ると、当該転送エントリに従って、当該受信パケットを第2アプライアンス20−2に転送する。つまり、図11に示されるように、元々第1アプライアンス20−1によって処理されていたフローFLOW1は、委譲先の第2アプライアンス20−2に転送されることになる。その結果、第1アプライアンス20−1に関連する処理負荷が軽減される。
The
変形例として、セッション情報SESの代わりに、スイッチ10に既に設定されているエントリに基いて、選択フローが選択され、フロー識別情報が取得されてもよい。例えば、コントローラ100の記憶装置102には、過去のエントリ設定データENTが記憶される。コントローラ100は、過去のエントリ設定データENTを参照することによって、選択フローを選択し、選択フローのフロー識別情報を把握することができる。あるいは、コントローラ100からの問い合わせに応答して、スイッチ10が自身のフローテーブルFTBLをコントローラ100に通知してもよい。コントローラ100は、そのフローテーブルFTBLを参照することによって、選択フローを選択し、選択フローのフロー識別情報を把握することができる。
As a modification, instead of the session information SES, the selected flow may be selected and the flow identification information may be acquired based on an entry already set in the
以上に説明されたように、本実施の形態によれば、第1アプライアンス20−1の処理を、“動的”に、他の第2アプライアンス20−2に委譲することが可能である。この時、各アプライアンス20は、非特許文献1、2に記載されているような特別なフォーマットに対応している必要はない。このような委譲処理の結果、第1アプライアンス20−1に関連する処理負荷が軽減される。
As described above, according to the present embodiment, the processing of the first appliance 20-1 can be delegated “dynamically” to another second appliance 20-2. At this time, each
3.様々な構成例
図12は、本実施の形態に係る様々な構成例を要約的に示している。委譲元の第1アプライアンス20−1として、仮想アプライアンス及び物理アプライアンスが考えられる。更に、仮想アプライアンスは、ゲストOSと同一の物理サーバ上に構築されたものと、ゲストOSとは異なる物理サーバ上に構築されたものとに分類される。また、委譲先の第2アプライアンス20−2として、仮想アプライアンス(ゲストOSとは異なる物理サーバ上に構築されたもの)及び物理アプライアンスが考えられる。第1アプライアンス20−1と第2アプライアンス20−2との組み合わせにより、様々な形態(形態1〜6)が考えられる。
3. Various Configuration Examples FIG. 12 summarizes various configuration examples according to the present embodiment. As the delegation source first appliance 20-1, a virtual appliance and a physical appliance are conceivable. Furthermore, virtual appliances are classified into those constructed on the same physical server as the guest OS and those constructed on a physical server different from the guest OS. Further, as the second appliance 20-2 to be transferred, a virtual appliance (built on a physical server different from the guest OS) and a physical appliance are conceivable. Various forms (forms 1 to 6) are conceivable depending on the combination of the first appliance 20-1 and the second appliance 20-2.
3−1.第1の構成例
図13は、形態1及び形態2に対応する構成例を示している。つまり、委譲元の第1アプライアンス20−1は、ゲストOSと同一の物理サーバ上に構築された仮想アプライアンスである。
3-1. First Configuration Example FIG. 13 shows a configuration example corresponding to the first and second embodiments. That is, the delegation source first appliance 20-1 is a virtual appliance constructed on the same physical server as the guest OS.
具体的には、仮想化技術によって、物理サーバ200A上に仮想アプライアンス20Aが構築されている。物理サーバ200Aは更に、仮想スイッチ210及び複数のゲストOS240を備えている。仮想アプライアンス20Aは、複数のゲストOS240間のトラヒックや、ゲストOS240以外のホストとの間のトラヒックを処理する。
Specifically, the
仮想アプライアンス20Aは、自身の処理負荷を示す負荷情報LDをコントローラ100に送信する。また、物理サーバ200Aの負荷監視部250は、物理サーバ200Aの処理負荷を示す負荷情報LDをコントローラ100に送信する。コントローラ100は、それら負荷情報LDに基いて、仮想アプライアンス20Aに関して「委譲処理」が必要であると判定する。つまり、仮想アプライアンス20Aが、委譲元の第1アプライアンス20−1となる。
The
例えば、コントローラ100は、物理サーバ200B上の仮想アプライアンス20Bを、委譲先の第2アプライアンス20−2として選択する。この場合は、形態1に相当する。あるいは、コントローラ100は、物理アプライアンス20Cを、委譲先の第2アプライアンス20−2として選択してもよい。この場合は、形態2に相当する。コントローラ100は、スイッチ10及び仮想スイッチ210に対して、エントリ設定を指示する。
For example, the
近年の仮想化技術の発展に伴い、ゲストOSを対象とした仮想的なセキュリティアプライアンスにも注目が集まっている。例えば、WAF(Web Application Firewall)機能を有する仮想アプライアンスは、1台の物理サーバ上で複数のゲストOSのトラヒックのアプリケーションレイヤまで監視する。そのような仮想アプライアンスの処理負荷が高くなった場合、より高性能な物理サーバや余裕のある物理サーバに構築された他の仮想アプライアンスへ処理を委譲することができる。 With the recent development of virtualization technology, attention is also focused on virtual security appliances for guest OSs. For example, a virtual appliance having a WAF (Web Application Firewall) function monitors up to an application layer of traffic of a plurality of guest OSes on one physical server. When the processing load of such a virtual appliance increases, the processing can be delegated to a higher-performance physical server or another virtual appliance built on a physical server with room.
3−2.第2の構成例
図14は、形態3及び形態4に対応する構成例を示している。つまり、委譲元の第1アプライアンス20−1は、ゲストOSとは異なる物理サーバ上に構築された仮想アプライアンスである。
3-2. Second Configuration Example FIG. 14 illustrates a configuration example corresponding to the third and fourth embodiments. That is, the delegation source first appliance 20-1 is a virtual appliance constructed on a physical server different from the guest OS.
具体的には、仮想化技術によって、物理サーバ200A上に仮想アプライアンス20Aが構築されている。仮想アプライアンス20Aは、自身の処理負荷を示す負荷情報LDをコントローラ100に送信する。また、物理サーバ200Aの負荷監視部250は、物理サーバ200Aの処理負荷を示す負荷情報LDをコントローラ100に送信する。コントローラ100は、それら負荷情報LDに基いて、仮想アプライアンス20Aに関して「委譲処理」が必要であると判定する。つまり、仮想アプライアンス20Aが、委譲元の第1アプライアンス20−1となる。
Specifically, the
例えば、コントローラ100は、物理サーバ200B上の仮想アプライアンス20Bを、委譲先の第2アプライアンス20−2として選択する。この場合は、形態3に相当する。あるいは、コントローラ100は、物理アプライアンス20Cを、委譲先の第2アプライアンス20−2として選択してもよい。この場合は、形態4に相当する。コントローラ100は、スイッチ10に対して、エントリ設定を指示する。
For example, the
3−3.第3の構成例
図15は、形態5及び形態6に対応する構成例を示している。つまり、委譲元の第1アプライアンス20−1は、物理アプライアンスである。
3-3. Third Configuration Example FIG. 15 illustrates a configuration example corresponding to the fifth and sixth embodiments. That is, the delegation source first appliance 20-1 is a physical appliance.
具体的には、物理アプライアンス20Aの負荷監視部25は、物理アプライアンス20Aの処理負荷を示す負荷情報LDをコントローラ100に送信する。コントローラ100は、その負荷情報LDに基いて、物理アプライアンス20Aに関して「委譲処理」が必要であると判定する。つまり、物理アプライアンス20Aが、委譲元の第1アプライアンス20−1となる。
Specifically, the
例えば、コントローラ100は、物理サーバ200B上の仮想アプライアンス20Bを、委譲先の第2アプライアンス20−2として選択する。この場合は、形態5に相当する。例えば、上述の形態4が実施された後、元の仮想アプライアンスの処理負荷が下がった場合、物理アプライアンスに委譲された処理を、元の仮想アプライアンスに戻すことができる。
For example, the
あるいは、コントローラ100は、物理アプライアンス20Cを、委譲先の第2アプライアンス20−2として選択してもよい。この場合は、形態6に相当する。例えば、より高性能な物理アプライアンスが追加された場合、処理負荷が高くなった物理アプライアンスの処理を、追加された高性能な物理アプライアンスに委譲することができる。
Alternatively, the
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。 The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the above-described embodiments, and can be appropriately changed by those skilled in the art without departing from the scope of the invention.
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。 A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.
(付記1)
ネットワーク中に配置されたアプライアンス及びスイッチと、
前記アプライアンス及び前記スイッチに接続されたコントローラと
を備え、
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記コントローラは、前記アプライアンスに関連する処理負荷を示す負荷情報を取得し、また、前記処理負荷を閾値と比較し、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、前記コントローラは委譲処理を行い、
前記委譲処理において、前記コントローラは、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択し、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択し、
前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定するように、前記スイッチに対して指示する
ネットワークシステム。
(Appendix 1)
Appliances and switches located in the network;
A controller connected to the appliance and the switch;
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The controller obtains load information indicating a processing load associated with the appliance, and compares the processing load with a threshold;
When the processing load related to the first appliance that is one of the appliances is equal to or greater than the threshold, the controller performs delegation processing,
In the delegation process, the controller
Selecting at least one of the flows processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
A network system instructing the switch to set an entry in the flow table for designating transfer of a packet belonging to the selected flow to the second appliance.
(付記2)
付記1に記載のネットワークシステムであって、
前記アプライアンスに関連する処理負荷は、前記アプライアンスの処理負荷、及び、前記アプライアンスが稼働する物理サーバの処理負荷のうち少なくとも一方を含む
ネットワークシステム。
(Appendix 2)
The network system according to attachment 1, wherein
The network system including a processing load related to the appliance includes at least one of a processing load of the appliance and a processing load of a physical server on which the appliance operates.
(付記3)
付記1又は2に記載のネットワークシステムであって、
前記第2アプライアンスに関連する前記処理負荷は、閾値未満である
ネットワークシステム。
(Appendix 3)
The network system according to appendix 1 or 2,
The network system wherein the processing load associated with the second appliance is less than a threshold.
(付記4)
付記1乃至3のいずれか一項に記載のネットワークシステムであって、
前記第1アプライアンスは、自身が処理するフローに関する情報を示すセッションテーブルを有し、
前記コントローラは、前記第1アプライアンスの前記セッションテーブルの内容を示すセッション情報を取得し、前記セッション情報に基いて前記選択フローを選択する
ネットワークシステム。
(Appendix 4)
The network system according to any one of appendices 1 to 3,
The first appliance has a session table indicating information on a flow to be processed by the first appliance,
The controller is configured to acquire session information indicating contents of the session table of the first appliance, and to select the selection flow based on the session information.
(付記5)
付記1乃至3のいずれか一項に記載のネットワークシステムであって、
前記コントローラは、前記スイッチに既に設定されているエントリに基いて、前記選択フローを選択する
ネットワークシステム。
(Appendix 5)
The network system according to any one of appendices 1 to 3,
The network system in which the controller selects the selection flow based on an entry already set in the switch.
(付記6)
ネットワーク中に配置されたアプライアンス及びスイッチに接続されるコントローラであって、
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記コントローラは、
前記アプライアンスに関連する処理負荷を示す負荷情報が格納される記憶装置と、
処理装置と
を備え、
前記処理装置は、前記処理負荷を閾値と比較し、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、前記処理装置は委譲処理を行い、
前記委譲処理において、前記処理装置は、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択し、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択し、
前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定するように、前記スイッチに対して指示する
コントローラ。
(Appendix 6)
A controller connected to appliances and switches located in the network,
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The controller is
A storage device for storing load information indicating a processing load related to the appliance;
A processing device and
The processing device compares the processing load with a threshold value,
When the processing load related to the first appliance that is one of the appliances is equal to or greater than the threshold, the processing device performs delegation processing,
In the delegation process, the processing device
Selecting at least one of the flows processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
A controller that instructs the switch to set an entry in the flow table that specifies that a packet belonging to the selected flow is transferred to the second appliance.
(付記7)
アプライアンス及びスイッチが配置されたネットワークの制御方法であって、
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記制御方法は、
前記アプライアンスに関連する処理負荷を示す負荷情報を取得することと、
前記処理負荷を閾値と比較することと、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、委譲処理を行うことと
を含み、
前記委譲処理は、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択することと、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択することと、
前記スイッチにおいて、前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定することと
を含む
制御方法。
(Appendix 7)
A method of controlling a network in which appliances and switches are arranged,
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The control method is:
Obtaining load information indicating a processing load associated with the appliance;
Comparing the processing load to a threshold;
Performing a delegation process when the processing load related to a first appliance that is one of the appliances exceeds the threshold value,
The delegation process is
Selecting at least one of the flows being processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
A control method comprising: setting an entry in the switch to specify that a packet belonging to the selected flow is transferred to the second appliance in the flow table.
(付記8)
アプライアンス及びスイッチが配置されたネットワークの制御処理をコンピュータに実行させる制御プログラムであって、
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記制御処理は、
前記アプライアンスに関連する処理負荷を示す負荷情報を取得することと、
前記処理負荷を閾値と比較することと、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、委譲処理を行うことと
を含み、
前記委譲処理は、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択することと、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択することと、
前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定するように、前記スイッチに対して指示することと
を含む
制御プログラム。
(Appendix 8)
A control program for causing a computer to execute control processing of a network in which appliances and switches are arranged,
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The control process is
Obtaining load information indicating a processing load associated with the appliance;
Comparing the processing load to a threshold;
Performing a delegation process when the processing load related to a first appliance that is one of the appliances exceeds the threshold value,
The delegation process is
Selecting at least one of the flows being processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
Instructing the switch to set, in the flow table, an entry designating transfer of a packet belonging to the selected flow to the second appliance.
1 ネットワークシステム
10 スイッチ
11 スイッチ処理部
12 コントローラ通信部
13 記憶部
15 ポート
20 アプライアンス
21 アプライアンス処理部
22 コントローラ通信部
23 記憶部
25 負荷監視部
100 コントローラ
101 処理装置
102 記憶装置
103 通信装置
110 情報収集部
120 委譲処理部
130 スイッチ制御部
200 物理サーバ
220 コントローラ通信部
230 記憶部
250 負荷監視部
LD 負荷情報
CON 接続情報
SES セッション情報
ENT エントリ設定データ
FTBL フローテーブル
STBL セッションテーブル
LTBL 負荷テーブル
PROG 制御プログラム
DESCRIPTION OF SYMBOLS 1
Claims (8)
前記アプライアンス及び前記スイッチに接続されたコントローラと
を備え、
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記コントローラは、前記アプライアンスに関連する処理負荷を示す負荷情報を取得し、また、前記処理負荷を閾値と比較し、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、前記コントローラは委譲処理を行い、
前記委譲処理において、前記コントローラは、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択し、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択し、
前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定するように、前記スイッチに対して指示する
ネットワークシステム。 Appliances and switches located in the network;
A controller connected to the appliance and the switch;
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The controller obtains load information indicating a processing load associated with the appliance, and compares the processing load with a threshold;
When the processing load related to the first appliance that is one of the appliances is equal to or greater than the threshold, the controller performs delegation processing,
In the delegation process, the controller
Selecting at least one of the flows processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
A network system instructing the switch to set an entry in the flow table for designating transfer of a packet belonging to the selected flow to the second appliance.
前記アプライアンスに関連する処理負荷は、前記アプライアンスの処理負荷、及び、前記アプライアンスが稼働する物理サーバの処理負荷のうち少なくとも一方を含む
ネットワークシステム。 The network system according to claim 1,
The network system including a processing load related to the appliance includes at least one of a processing load of the appliance and a processing load of a physical server on which the appliance operates.
前記第2アプライアンスに関連する前記処理負荷は、閾値未満である
ネットワークシステム。 The network system according to claim 1 or 2,
The network system wherein the processing load associated with the second appliance is less than a threshold.
前記第1アプライアンスは、自身が処理するフローに関する情報を示すセッションテーブルを有し、
前記コントローラは、前記第1アプライアンスの前記セッションテーブルの内容を示すセッション情報を取得し、前記セッション情報に基いて前記選択フローを選択する
ネットワークシステム。 The network system according to any one of claims 1 to 3,
The first appliance has a session table indicating information on a flow to be processed by the first appliance,
The controller is configured to acquire session information indicating contents of the session table of the first appliance, and to select the selection flow based on the session information.
前記コントローラは、前記スイッチに既に設定されているエントリに基いて、前記選択フローを選択する
ネットワークシステム。 The network system according to any one of claims 1 to 3,
The network system in which the controller selects the selection flow based on an entry already set in the switch.
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記コントローラは、
前記アプライアンスに関連する処理負荷を示す負荷情報が格納される記憶装置と、
処理装置と
を備え、
前記処理装置は、前記処理負荷を閾値と比較し、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、前記処理装置は委譲処理を行い、
前記委譲処理において、前記処理装置は、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択し、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択し、
前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定するように、前記スイッチに対して指示する
コントローラ。 A controller connected to appliances and switches located in the network,
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The controller is
A storage device for storing load information indicating a processing load related to the appliance;
A processing device and
The processing device compares the processing load with a threshold value,
When the processing load related to the first appliance that is one of the appliances is equal to or greater than the threshold, the processing device performs delegation processing,
In the delegation process, the processing device
Selecting at least one of the flows processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
A controller that instructs the switch to set an entry in the flow table that specifies that a packet belonging to the selected flow is transferred to the second appliance.
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記制御方法は、
前記アプライアンスに関連する処理負荷を示す負荷情報を取得することと、
前記処理負荷を閾値と比較することと、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、委譲処理を行うことと
を含み、
前記委譲処理は、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択することと、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択することと、
前記スイッチにおいて、前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定することと
を含む
制御方法。 A method of controlling a network in which appliances and switches are arranged,
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The control method is:
Obtaining load information indicating a processing load associated with the appliance;
Comparing the processing load to a threshold;
Performing a delegation process when the processing load related to a first appliance that is one of the appliances exceeds the threshold value,
The delegation process is
Selecting at least one of the flows being processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
A control method comprising: setting an entry in the switch to specify that a packet belonging to the selected flow is transferred to the second appliance in the flow table.
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記制御処理は、
前記アプライアンスに関連する処理負荷を示す負荷情報を取得することと、
前記処理負荷を閾値と比較することと、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、委譲処理を行うことと
を含み、
前記委譲処理は、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択することと、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択することと、
前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定するように、前記スイッチに対して指示することと
を含む
制御プログラム。 A control program for causing a computer to execute control processing of a network in which appliances and switches are arranged,
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The control process is
Obtaining load information indicating a processing load associated with the appliance;
Comparing the processing load to a threshold;
Performing a delegation process when the processing load related to a first appliance that is one of the appliances exceeds the threshold value,
The delegation process is
Selecting at least one of the flows being processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
Instructing the switch to set, in the flow table, an entry designating transfer of a packet belonging to the selected flow to the second appliance.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010022727A JP2011159247A (en) | 2010-02-04 | 2010-02-04 | Network system, controller, and network control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010022727A JP2011159247A (en) | 2010-02-04 | 2010-02-04 | Network system, controller, and network control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011159247A true JP2011159247A (en) | 2011-08-18 |
Family
ID=44591115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010022727A Pending JP2011159247A (en) | 2010-02-04 | 2010-02-04 | Network system, controller, and network control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011159247A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013183440A (en) * | 2012-03-05 | 2013-09-12 | Ntt Docomo Inc | Communication control device, communication control system, virtual server management device, switch device and communication control method |
JP2014007438A (en) * | 2012-06-21 | 2014-01-16 | Ntt Comware Corp | Node management device, node management method and program |
JPWO2013161172A1 (en) * | 2012-04-27 | 2015-12-21 | 日本電気株式会社 | COMMUNICATION SYSTEM, ROUTE CONTROL METHOD, AND ROUTE CONTROL DEVICE |
JP2016071860A (en) * | 2014-09-25 | 2016-05-09 | インテル・コーポレーション | Technologies for bridging between coarse-grained and fine-grained load balancing |
JP2016528797A (en) * | 2013-07-26 | 2016-09-15 | ゼットティーイー (ユーエスエー) インコーポレイテッド | Method and system for an adaptive software-defined networking controller |
US9590925B2 (en) | 2013-10-18 | 2017-03-07 | Fujitsu Limited | Packet processing apparatus, packet processing method, and non-transitory computer-readable storage medium |
US20180302371A1 (en) * | 2015-10-28 | 2018-10-18 | New H3C Technologies Co., Ltd | Firewall cluster |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001216282A (en) * | 2000-02-04 | 2001-08-10 | Nec Corp | Server, client, client-server system, load distribution method, and recording medium |
JP2004350078A (en) * | 2003-05-23 | 2004-12-09 | Fujitsu Ltd | Line distribution transmission system |
JP2009237935A (en) * | 2008-03-27 | 2009-10-15 | Nec Corp | Load balancer, load balancing method and program |
JP2009259206A (en) * | 2008-03-27 | 2009-11-05 | Nippon Telegraph & Telephone West Corp | Access distribution system, server device, common management device, access distribution device, access distribution method, and computer program |
-
2010
- 2010-02-04 JP JP2010022727A patent/JP2011159247A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001216282A (en) * | 2000-02-04 | 2001-08-10 | Nec Corp | Server, client, client-server system, load distribution method, and recording medium |
JP2004350078A (en) * | 2003-05-23 | 2004-12-09 | Fujitsu Ltd | Line distribution transmission system |
JP2009237935A (en) * | 2008-03-27 | 2009-10-15 | Nec Corp | Load balancer, load balancing method and program |
JP2009259206A (en) * | 2008-03-27 | 2009-11-05 | Nippon Telegraph & Telephone West Corp | Access distribution system, server device, common management device, access distribution device, access distribution method, and computer program |
Non-Patent Citations (2)
Title |
---|
CSNG200900608001; 上野 洋史: 'データセンターネットワークにおけるネットワークアプライアンス機能配備の一検討' 電子情報通信学会技術研究報告 Vol.109 No.296, 20091113, p.7-12, 社団法人電子情報通信学会 * |
JPN6013058091; 上野 洋史: 'データセンターネットワークにおけるネットワークアプライアンス機能配備の一検討' 電子情報通信学会技術研究報告 Vol.109 No.296, 20091113, p.7-12, 社団法人電子情報通信学会 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013183440A (en) * | 2012-03-05 | 2013-09-12 | Ntt Docomo Inc | Communication control device, communication control system, virtual server management device, switch device and communication control method |
JPWO2013161172A1 (en) * | 2012-04-27 | 2015-12-21 | 日本電気株式会社 | COMMUNICATION SYSTEM, ROUTE CONTROL METHOD, AND ROUTE CONTROL DEVICE |
JP2014007438A (en) * | 2012-06-21 | 2014-01-16 | Ntt Comware Corp | Node management device, node management method and program |
JP2016528797A (en) * | 2013-07-26 | 2016-09-15 | ゼットティーイー (ユーエスエー) インコーポレイテッド | Method and system for an adaptive software-defined networking controller |
US9590925B2 (en) | 2013-10-18 | 2017-03-07 | Fujitsu Limited | Packet processing apparatus, packet processing method, and non-transitory computer-readable storage medium |
JP2016071860A (en) * | 2014-09-25 | 2016-05-09 | インテル・コーポレーション | Technologies for bridging between coarse-grained and fine-grained load balancing |
US20180302371A1 (en) * | 2015-10-28 | 2018-10-18 | New H3C Technologies Co., Ltd | Firewall cluster |
JP2018536345A (en) * | 2015-10-28 | 2018-12-06 | ニュー エイチ3シー テクノロジーズ カンパニー,リミティド | Firewall cluster |
US10715490B2 (en) * | 2015-10-28 | 2020-07-14 | New H3C Technologies Co., Ltd | Firewall cluster |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5648926B2 (en) | Network system, controller, and network control method | |
JP5637148B2 (en) | Switch network system, controller, and control method | |
JP5673557B2 (en) | Network system, controller, and network control method | |
RU2562438C2 (en) | Network system and network management method | |
JP5645139B2 (en) | Network system, controller, and network control method | |
JP5717057B2 (en) | Network system, controller, switch, and traffic monitoring method | |
JP5880560B2 (en) | Communication system, forwarding node, received packet processing method and program | |
WO2011074516A1 (en) | Network system, method for controlling same, and controller | |
US20160065479A1 (en) | Distributed input/output architecture for network functions virtualization | |
US20120257529A1 (en) | Computer system and method of monitoring computer system | |
US20120170477A1 (en) | Computer, communication system, network connection switching method, and program | |
JP2011159247A (en) | Network system, controller, and network control method | |
JP2011160041A (en) | Front end system and front end processing method | |
JP2014505379A (en) | Communication control system, control server, transfer node, communication control method, and communication control program | |
JP2011170718A (en) | Computer system, controller, service provision server, and load distribution method | |
JP5861772B2 (en) | Network appliance redundancy system, control device, network appliance redundancy method and program | |
JP5725236B2 (en) | Communication system, node, packet transfer method and program | |
JP5720340B2 (en) | Control server, communication system, control method and program | |
JP5870995B2 (en) | COMMUNICATION SYSTEM, CONTROL DEVICE, COMPUTER, NODE CONTROL METHOD AND PROGRAM | |
JP6718739B2 (en) | Communication device and communication method | |
WO2014119602A1 (en) | Control apparatus, switch, communication system, switch control method and program | |
EP3224997A1 (en) | Communication path switching apparatus, method for controlling communication path switching apparatus, and computer program product | |
CN105765903A (en) | Topology discovery method and device | |
WO2015145976A1 (en) | Communication system, control instruction device, control implementation device, communication control method, and storage medium with program stored thereon | |
JP7000863B2 (en) | Malware inspection support program, malware inspection support method and communication device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140204 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140702 |