JP2015138987A - Communication system and service restoration method in communication system - Google Patents

Communication system and service restoration method in communication system Download PDF

Info

Publication number
JP2015138987A
JP2015138987A JP2014007773A JP2014007773A JP2015138987A JP 2015138987 A JP2015138987 A JP 2015138987A JP 2014007773 A JP2014007773 A JP 2014007773A JP 2014007773 A JP2014007773 A JP 2014007773A JP 2015138987 A JP2015138987 A JP 2015138987A
Authority
JP
Japan
Prior art keywords
ofc
control device
communication system
packet transfer
function
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
JP2014007773A
Other languages
Japanese (ja)
Inventor
英輝 小川
Hideki Ogawa
英輝 小川
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 JP2014007773A priority Critical patent/JP2015138987A/en
Publication of JP2015138987A publication Critical patent/JP2015138987A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a communication system and service restoration method in the communication system for canceling a failure state at an early stage to make it possible to resume packet transfer, in the case of having detected occurrence of a Byzantine type failure.SOLUTION: A communication system comprises: a first controller 10 for controlling a plurality of packet transfer devices on the basis of a flow control function and virtual network setting information; a second controller 20 which includes a flow control function having an actual operation result and virtual network setting information having an actual operation result and becomes a destination of changeover in the case that a failure occurs in the first controller 10; and a load distribution device 30 disposed between each controller and the plurality of packet transfer devices. The load distribution device 30 includes a role changeover instruction function 31 for making the second controller 20 execute control of the plurality of packet transfer devices in the case that a Byzantine type failure occurs in the first controller 10.

Description

本発明は、複数のパケット転送装置を制御する制御装置を含む通信システムおよび通信システムにおけるサービス復旧方法に関する。   The present invention relates to a communication system including a control device that controls a plurality of packet transfer apparatuses and a service restoration method in the communication system.

オープンフローなどのSDN(Software−Defined Networking)分野では、ネットワーク(NW)におけるパケット転送を単一のコントローラにより制御する。このような分野においては、これまでもコントローラの可用性を高めるための技術が提案されてきた。例えば、特許文献1には、オープンフローネットワークにおいて、複数配置されたコントローラの負荷を均等化する技術が記載されている。   In the SDN (Software-Defined Networking) field such as OpenFlow, packet transfer in a network (NW) is controlled by a single controller. In such fields, techniques for increasing the availability of controllers have been proposed. For example, Patent Document 1 describes a technique for equalizing the loads of a plurality of controllers arranged in an OpenFlow network.

オープンフロー(OpenFlow)では、データプレーンとコントロールプレーンが分離され、OFC(OpenFlow Controller)がネットワークを集中的に管理する。このような構成において可用性をより高めるためには、OFCに故障が発生した場合に、速やかに業務を復旧するための手段を備えている必要がある。しかし、コンピュータシステムで発生する故障、特にビザンチン型故障からの復旧に関する技術についての提案は現時点では少ない。   In the open flow (OpenFlow), the data plane and the control plane are separated, and an OFC (OpenFlow Controller) centrally manages the network. In order to further increase the availability in such a configuration, it is necessary to provide means for quickly recovering work when a failure occurs in the OFC. However, at the present time, there are few proposals for technologies related to recovery from failures that occur in computer systems, especially from Byzantine-type failures.

一般的に、コンピュータシステムで発生する故障について、「沈黙型故障」と「ビザンチン型故障」の二つに分類することができる。   In general, failures that occur in a computer system can be classified into two types: “silent failure” and “byzantine failure”.

沈黙型故障は、他ノードからの要求に対し応答を返却できない状態に陥った場合を指す。一方、ビザンチン型故障は、入力に対する出力が正しかったり誤っていたりして、入力に対する出力が信用できない状態に陥った場合を指す。   Silent failure refers to a case where a response cannot be returned to a request from another node. On the other hand, a Byzantine-type failure refers to a case where the output with respect to the input has become incorrect or the output with respect to the input has become unreliable.

OFCにおける沈黙型故障とは、OFS(OpenFlow Switch)や管理クライアントなどからの要求に対し、応答を返却できない状態であると考えられる。OFCにおける沈黙型故障は、致命的な障害が発生した場合や、過剰な負荷が掛かった場合などに発生する。この沈黙型故障からの復旧手段については、既に考案・実用化されている。例えば、クラスタソフトウェア(クラスタSW)によりOFCを冗長化しておき、沈黙型故障発生時にはスタンバイノードにフェイルオーバーして処理を継続する方法である。   A silent failure in OFC is considered to be a state in which a response cannot be returned to a request from an OFS (OpenFlow Switch), a management client, or the like. A silent failure in the OFC occurs when a fatal failure occurs or when an excessive load is applied. The means for recovering from this silent failure has already been devised and put into practical use. For example, the OFC is made redundant by cluster software (cluster SW), and when a silent failure occurs, the process is continued by failing over to a standby node.

一方で、OFCにおけるビザンチン型故障とは、なんらかの要因によりOFSに意図しないフローを設定し、意図しないパケット転送処理が行われるようになった状態であると考えられる。   On the other hand, a Byzantine failure in OFC is considered to be a state in which an unintended flow is set in the OFS due to some factor, and an unintended packet transfer process is performed.

ビザンチン型故障対策の詳細に移る前に、先ず背景となる技術として、(I)シングルOFC構成における通常運用処理、(II)シングルOFC構成における再起動処理、(III)クラスタOFC構成におけるフェイルオーバー処理、について説明する。   Before moving on to details of Byzantine failure countermeasures, the background technologies are: (I) normal operation processing in a single OFC configuration, (II) restart processing in a single OFC configuration, and (III) failover processing in a cluster OFC configuration. Will be described.

(I)シングルOFC構成における通常運用処理 (I) Normal operation processing in a single OFC configuration

シングルOFC構成、すなわちOFCが冗長化されていない場合のシステム構成について説明する。図9は、オープンフローシステムにおけるシングルOFC構成の一例を示すブロック図である。OFC100は、複数のOFS101〜103を管理する。OFS101〜103は、それぞれ固有のフローテーブル113〜115を保持する。各フローテーブルには、有限個のフローエントリが格納される。フローエントリには、パケット転送ルールが記述される。OFC100は、コンフィグ110、トポロジ111、および、フローテーブル112を保持する。   A single OFC configuration, that is, a system configuration when the OFC is not redundant will be described. FIG. 9 is a block diagram illustrating an example of a single OFC configuration in the OpenFlow system. The OFC 100 manages a plurality of OFSs 101 to 103. The OFSs 101 to 103 hold unique flow tables 113 to 115, respectively. Each flow table stores a finite number of flow entries. The packet entry rule is described in the flow entry. The OFC 100 holds a configuration 110, a topology 111, and a flow table 112.

OFC100は、配下のOFSの数だけフローテーブルを保持する。また、OFC100が保持するフローテーブル112とOFS101〜103が保持するフローテーブル113〜115の内容は、常時同期される。また、OFC100のフローテーブル112は、OFCの再起動等の処理において揮発する。   The OFC 100 holds as many flow tables as the number of subordinate OFSs. Further, the contents of the flow table 112 held by the OFC 100 and the flow tables 113 to 115 held by the OFSs 101 to 103 are always synchronized. Further, the flow table 112 of the OFC 100 is volatilized in processing such as restarting the OFC.

コンフィグ110は、コンフィグを示す情報(コンフィグ情報)であって、仮想ネットワークの設定が記述されている。オープンフローネットワーク管理者は、適宜、OFCを操作することで、仮想ネットワークの設定を変更することができる。つまり、コンフィグは、OFCの運用中に変更される情報である。また、通常、コンフィグはセーブすることができる。従って、コンフィグは、OFCの再起動等の処理において揮発しない。   The configuration 110 is information (configuration information) indicating a configuration, and describes settings of a virtual network. The OpenFlow network administrator can change the settings of the virtual network by appropriately operating the OFC. That is, the config is information that is changed during the operation of the OFC. Also, the config can usually be saved. Therefore, the config does not volatilize in processing such as restarting the OFC.

トポロジ111は、トポロジを示す情報(トポロジ情報)であって、OFCがトポロジ検出機能を用いて作成する情報である。トポロジ111は、スイッチ増設や冗長化など、ネットワーク構成を変更した場合に更新される。また、トポロジ111は、OFCの再起動等の処理において揮発する。   The topology 111 is information indicating the topology (topology information) and is information created by the OFC using the topology detection function. The topology 111 is updated when the network configuration is changed, such as switch addition or redundancy. Further, the topology 111 is volatilized in processing such as restart of the OFC.

ここで、OFC100の基本的な動作を説明する。図10は、OFC100の構成の一例を示すブロック図である。   Here, the basic operation of the OFC 100 will be described. FIG. 10 is a block diagram illustrating an example of the configuration of the OFC 100.

OFC100は、通信手段201と、OF(OpenFlow)プロトコル処理手段202と、トポロジ検出手段203と、コンフィグ管理手段205と、経路管理手段207とを含む。   The OFC 100 includes a communication unit 201, an OF (OpenFlow) protocol processing unit 202, a topology detection unit 203, a configuration management unit 205, and a path management unit 207.

OFプロトコル処理手段202は、通信手段201を用いて、複数のOFSとの間でオープンフロープロトコルに則った通信を行う。   The OF protocol processing unit 202 uses the communication unit 201 to perform communication according to the OpenFlow protocol with a plurality of OFS.

トポロジ検出手段203は、OFプロトコル処理手段202を用いて、ネットワークのトポロジを示す情報(図10に示すトポロジ204)を作成する。トポロジ検出手段203は、LLDP(Link Layer Discovery Protcol)パケットを配下の全てのOFS宛に送信する。OFSは、受け取ったLLDPパケットを全ポートから送出する。OFSのポートにケーブルが接続され、当該ケーブルが他のOFSに接続されている場合、接続先OFSはLLDPパケットのPACKET_INメッセージをOFC100に対して通知する。OFC100は、このPACKET_INメッセージを受け取り、OFSポート間の接続情報を得る。OFC100は、全ての接続情報をまとめることで、ネットワークのトポロジを取得できる。トポロジ検出手段203は、定期的にLLDPを送出することで、OFSの追加やケーブルの抜き差しによる、トポロジの変化を検出できる。そのたびに、トポロジ検出手段203は、トポロジを更新する。   The topology detection unit 203 uses the OF protocol processing unit 202 to create information indicating the topology of the network (topology 204 shown in FIG. 10). The topology detection unit 203 transmits an LLDP (Link Layer Discovery Protocol) packet to all of the subordinate OFSs. The OFS sends the received LLDP packet from all ports. When a cable is connected to the OFS port and the cable is connected to another OFS, the connection destination OFS notifies the OFC 100 of the PACKET_IN message of the LLDP packet. The OFC 100 receives this PACKET_IN message and obtains connection information between OFS ports. The OFC 100 can acquire the topology of the network by collecting all the connection information. The topology detection unit 203 can detect a change in topology due to addition of OFS or insertion / removal of cables by periodically sending out LLDP. Each time, the topology detection unit 203 updates the topology.

コンフィグ管理手段205は、ユーザによる仮想ネットワークの設定変更操作に応じて、コンフィグを示す情報(図10に示すコンフィグ206)を更新する。   The configuration management unit 205 updates the information indicating the configuration (the configuration 206 illustrated in FIG. 10) in accordance with the virtual network setting change operation by the user.

経路管理手段207は、経路計算手段209と、経路設定手段210と、オーディット手段211とを含む。   The route management unit 207 includes a route calculation unit 209, a route setting unit 210, and an audit unit 211.

オープンフローによりフロー制御を行う場合、始めに少なくともブロードキャストやマルチキャストされたパケットを適切に転送するためのフローをOFSに設定しておく必要がある。このフロー(以下、BC/MC(BroadCast/MaltiCast)フローと呼称する)は、トポロジやコンフィグの変更に合わせて、更新される。経路計算手段209は、システム開始時や、トポロジまたはコンフィグの更新時にBC/MCフローを計算し、フローテーブル(図10に示すフローテーブル208)に設定する。   When performing flow control by open flow, it is necessary to first set a flow for appropriately transferring at least broadcast or multicast packets in OFS. This flow (hereinafter referred to as BC / MC (BroadCast / MultiCast) flow) is updated in accordance with changes in topology and configuration. The route calculation means 209 calculates a BC / MC flow when the system is started or when the topology or configuration is updated, and sets the BC / MC flow in the flow table (flow table 208 shown in FIG. 10).

フローテーブルにフローエントリが追加された場合、経路設定手段210は、OFSに対し、フローエントリの追加を通知する。   When a flow entry is added to the flow table, the route setting unit 210 notifies the OFS of the addition of the flow entry.

OFSにパケットが到着したとき、当該パケットのヘッダに記された宛先アドレスや送信元アドレスなどの情報(ヘッダ情報)が適合条件にマッチするフローエントリが存在する場合、OFSは、そのフローエントリに記述された通りにパケットを処理する。当該処理をハード転送と呼ぶ。フローエントリには、パケット転送ルールとして、上記適合条件や、該当パケットをあるポートから送出する、などの処理内容が記述されている。   When a packet arrives at the OFS, if there is a flow entry in which information (header information) such as a destination address and a source address written in the header of the packet matches the matching condition, the OFS is described in the flow entry. Process the packet as it was done. This process is called hard transfer. In the flow entry, as the packet transfer rule, processing conditions such as the above-described conformance conditions and sending the packet from a certain port are described.

一方で、OFSにパケットが到着したとき、当該パケットのヘッダ情報にマッチするフローエントリが存在しない場合、OFSはOFC100に対して、当該パケットの処理方法を問い合わせる。OFSからの問い合わせメッセージを受け取った経路管理手段207は、トポロジ、コンフィグ、および、当該パケットのヘッダ情報を、経路計算手段209に入力し、当該パケットの処理方法を定義するフローエントリを導出する。経路管理手段207がこのフローエントリをフローテーブル208に追加したのち、経路設定手段210は,OFSのフローテーブルに当該フローエントリを追加する。OFSは、追加されたフローエントリに従って、転送や廃棄等の処理を行う。当該処理をソフト転送と呼ぶ。ソフト転送は、フローエントリー導出処理を含む分、ハード転送に比べて性能が悪い。   On the other hand, when a packet arrives at the OFS and there is no flow entry that matches the header information of the packet, the OFS inquires the OFC 100 about the processing method of the packet. The route management unit 207 that has received the inquiry message from the OFS inputs the topology, configuration, and header information of the packet to the route calculation unit 209, and derives a flow entry that defines the processing method of the packet. After the route management unit 207 adds this flow entry to the flow table 208, the route setting unit 210 adds the flow entry to the OFS flow table. The OFS performs processing such as transfer and discard according to the added flow entry. This process is called soft transfer. Soft transfer has poorer performance than hard transfer because it includes flow entry derivation processing.

また、OFSのフローテーブルについて、一定時間以上ヒットしなかったフローエントリを削除する機能がある。この機能では、OFSが、既定時間ヒットしないフローエントリを識別し削除する。その後、OFSは、フローエントリを削除した旨をOFC100に通知する。当該通知を受けた経路管理手段207は、フローテーブルから当該フローエントリを削除する。   In addition, the OFS flow table has a function of deleting a flow entry that has not been hit for a certain period of time. In this function, OFS identifies and deletes flow entries that do not hit the default time. Thereafter, the OFS notifies the OFC 100 that the flow entry has been deleted. Receiving the notification, the route management unit 207 deletes the flow entry from the flow table.

このようにして、OFCのフローテーブルとOFSのフローテーブルは同期を保ったまま更新される。しかし、OFCとOFSの間の接続が切れた場合などは、テーブルの同期が失われる。従って、OFCとOFSとが再度接続した際には、オーディット手段211によって、再度テーブルを同期させる処理が実行される。この処理をオーディット(Audit)処理と呼ぶ。オーディット手段211は、OFC側で持つフローテーブルを主とし、従であるOFS側フローテーブルに生じた差分を修正する。   In this way, the OFC flow table and the OFS flow table are updated while maintaining synchronization. However, when the connection between the OFC and OFS is lost, the table synchronization is lost. Therefore, when the OFC and OFS are connected again, the process of synchronizing the table is executed again by the auditing means 211. This process is called an audit process. The audit means 211 mainly uses the flow table held on the OFC side and corrects the difference generated in the slave OFS side flow table.

以上のように、オープンフローシステムがフロー制御を行うためには、OFCがコンフィグ、トポロジ、フローテーブルを保持し、且つ、OFSがOFCと同期されたフローテーブルを保持している必要がある。   As described above, in order for the OpenFlow system to perform flow control, the OFC needs to hold the configuration, topology, and flow table, and the OFS needs to hold the flow table synchronized with the OFC.

(II)シングルOFC構成における再起動処理 (II) Restart processing in single OFC configuration

(I)のシングルOFC構成において、OFCを再起動する場合の処理について説明する。図11は、シングルOFC構成において、沈黙型故障が発生した際のOFC再起動によるサービス停止時間、つまりOFCが再起動してからパケット転送を再開するまでの時間を示す説明図である。   A process when the OFC is restarted in the single OFC configuration (I) will be described. FIG. 11 is an explanatory diagram showing a service stop time due to an OFC restart when a silent failure occurs in a single OFC configuration, that is, a time from when the OFC restarts until packet transfer is restarted.

OFCのOSを再起動すると、OFCとOFSの間の通信が切断される。切断を検出したOFSは、OFCへの接続をリトライし続ける。OFCが起動すると、OFCが保持するコンフィグ、トポロジ、フローテーブルは、何れも空の状態になる。従って、OFCでは、まず、セーブされているコンフィグのリロード(コンフィグリロード処理300)、トポロジの作成(トポロジ情報作成処理301)を行う必要がある。これらの処理が完了すると、OFCは、BC/MCフローエントリの導出(BC/MCフローエントリ導出処理302)が可能になる。OFCは、この処理が完了したのち、OFSからの接続要求を受け付ける。OFCとOFSの通信が切断されている間に、OFCとOFSのそれぞれのフローテーブルに差異が発生するため、OFCは、オーディット(オーディット処理303)を行う。このオーディット処理により、再起動前に設定されていたフローエントリは削除され、BC/MCフローのみが登録された状態となる。   When the OS of the OFC is restarted, communication between the OFC and OFS is disconnected. The OFS that has detected the disconnection continues to retry the connection to the OFC. When the OFC is activated, the configuration, topology, and flow table held by the OFC are all empty. Therefore, in the OFC, first, it is necessary to reload the saved configuration (configuration reload processing 300) and create the topology (topology information creation processing 301). When these processes are completed, the OFC can derive a BC / MC flow entry (BC / MC flow entry derivation process 302). The OFC receives a connection request from the OFS after this processing is completed. Since a difference occurs between the OFC and OFS flow tables while the communication between the OFC and OFS is disconnected, the OFC performs an audit (audit process 303). By this audit process, the flow entry set before the restart is deleted, and only the BC / MC flow is registered.

以上のように、シングルOFC構成において、OFCを再起動する場合、上記の処理300〜303が完了した後にオープンフローによるフロー制御が可能となる。なお、サービス再開後は、ソフト転送となる。   As described above, when the OFC is restarted in the single OFC configuration, the flow control by the open flow becomes possible after the processing 300 to 303 is completed. After the service is resumed, software transfer is performed.

(III)クラスタOFC構成におけるフェイルオーバー処理 (III) Failover processing in cluster OFC configuration

OFCでは、沈黙型故障に対応するため、既にクラスタ方式が実用化されている。ここで、クラスタOFC構成、すなわちOFCがクラスタ構成(冗長化)されたシステム構成について説明する。図12は、オープンフローシステムにおけるクラスタOFC構成の一例を示すブロック図である。図12を参照し、クラスタOFC構成でのフェイルオーバー処理について説明する。   In OFC, the cluster method has already been put into practical use in order to cope with a silent failure. Here, a cluster OFC configuration, that is, a system configuration in which an OFC is clustered (redundant) will be described. FIG. 12 is a block diagram illustrating an example of a cluster OFC configuration in the OpenFlow system. With reference to FIG. 12, the failover process in the cluster OFC configuration will be described.

OFC(ACT)400、OFC(SBY)401の2台のOFCノードは、クラスタミドルウェアによりクラスタシステムを構成する。なお、“ACT(ACTIVE)”は、現用系であることを表す。“SBY(STANDBY)”は、待機系であることを表す。OFC(ACT)400およびOFC(SBY)401には、それぞれ固有のアドレスが割り当てられる。また、クラスタシステムには、固有の仮想アドレスが割り当てられる。   Two OFC nodes, OFC (ACT) 400 and OFC (SBY) 401, constitute a cluster system by cluster middleware. Note that “ACT (ACTIVE)” represents the active system. “SBY (STANDBY)” represents a standby system. A unique address is assigned to each of OFC (ACT) 400 and OFC (SBY) 401. A unique virtual address is assigned to the cluster system.

始めに、クラスタミドルウェアは、OFC(ACT)400のアドレスに仮想アドレスを対応付ける。OFS403〜405は仮想アドレスに接続することで、結果的にOFC(ACT)400と接続される。こうして、OFC(ACT)400とOFS403〜405によりオープンフローによるフロー制御が行われる。OFC(ACT)400は、コンフィグ410、トポロジ411、フローテーブル412を保持する。これらの情報は、上記「(I)シングルOFC構成における通常運用処理」と同様に更新される。また、OFC(SBY)401も、コンフィグ413、トポロジ414、フローテーブル415を保持する。OFC(SBY)401が保持するこれらの情報は、クラスタミドルウェアが備えるミラーディスク機能やメモリ同期機能により、OFC(ACT)400が保持する、対応する情報と常に同期される。   First, the cluster middleware associates a virtual address with the address of the OFC (ACT) 400. The OFSs 403 to 405 are connected to the OFC (ACT) 400 as a result by connecting to the virtual address. Thus, flow control by open flow is performed by the OFC (ACT) 400 and OFS 403 to 405. The OFC (ACT) 400 holds a configuration 410, a topology 411, and a flow table 412. These pieces of information are updated in the same manner as the above “(I) Normal operation processing in the single OFC configuration”. The OFC (SBY) 401 also holds a configuration 413, a topology 414, and a flow table 415. These pieces of information held in the OFC (SBY) 401 are always synchronized with the corresponding information held in the OFC (ACT) 400 by the mirror disk function and the memory synchronization function provided in the cluster middleware.

OFC(ACT)400とOFC(SBY)401は、LANケーブルにより接続されていて、定期的に通信(ハートビート通信)することで、対向ノードが正常に稼働していることを確認する。   The OFC (ACT) 400 and the OFC (SBY) 401 are connected by a LAN cable and periodically communicate (heartbeat communication) to confirm that the opposite node is operating normally.

沈黙型故障が発生した場合、OFC(ACT)400は、ハートビート通信を継続できず、タイムアウトなどにより通信が切断する。ハードビート通信の切断を検出したクラスタミドルウェアは、仮想アドレスとOFSとの間で確立していた通信を切断する。OFSは、通信切断を検出すると、再度OFCと接続するべく、仮想アドレスへの通信確立を繰り返しリトライする。   When a silent failure occurs, the OFC (ACT) 400 cannot continue heartbeat communication, and communication is disconnected due to a timeout or the like. The cluster middleware that detected the disconnection of the hard beat communication disconnects the communication established between the virtual address and the OFS. When the OFS detects disconnection, it repeatedly retries to establish communication with the virtual address in order to connect to the OFC again.

一方で、クラスタミドルウェアは、OFC(ACT)400側でサービスを停止、OFC(SBY)401側でサービスを開始させ、仮想アドレスをOFC(SBY)401のアドレスに対応付ける。これにより、OFSは、OFC(SBY)401と通信を確立できるようになる。OFC(SBY)401のコンフィグ413、トポロジ414、および、フローテーブル415は、OFC(ACT)400側のものと同期されているため最新の情報になっている。従って、OFC(SBY)401において、(I)のケースで必要だった、コンフィグリロードやトポロジ検出、BC/MCフローエントリの導出、といった処理は不要である。つまり、OFC(SBY)401では、OFSとOFCの間の通信が切断されていた間に生じた差分を解消するためのオーディット処理のみが必要となり、オーディット処理完了後にはパケット転送可能となる。なお、サービス再開時からハードウェア転送になる。   On the other hand, the cluster middleware stops the service on the OFC (ACT) 400 side, starts the service on the OFC (SBY) 401 side, and associates the virtual address with the address of the OFC (SBY) 401. As a result, the OFS can establish communication with the OFC (SBY) 401. The configuration 413, the topology 414, and the flow table 415 of the OFC (SBY) 401 are the latest information because they are synchronized with those of the OFC (ACT) 400 side. Accordingly, the OFC (SBY) 401 does not require processing such as configuration reload, topology detection, and BC / MC flow entry derivation, which are necessary in the case (I). In other words, OFC (SBY) 401 requires only an audit process for eliminating the difference that occurred while the communication between OFS and OFC was disconnected, and packet transfer is possible after the audit process is completed. It should be noted that the hardware transfer is performed when the service is resumed.

図13は、クラスタOFC構成において、沈黙型故障が発生した際のフェイルオーバー処理におけるサービス停止時間、つまりノード切り替えを開始してからパケット転送を再開するまでの時間を示す説明図である。図13に示すように、クラスタOFC構成では、クラスタミドルウェアによるノード切り替え処理500と、オーディット処理501だけで、サービス再開できる。   FIG. 13 is an explanatory diagram showing a service stop time in a failover process when a silent failure occurs in the cluster OFC configuration, that is, a time from when node switching is started until packet transfer is restarted. As shown in FIG. 13, in the cluster OFC configuration, the service can be restarted only by the node switching process 500 and the audit process 501 by the cluster middleware.

再表WO2013/114490号Reissue WO2013 / 114490

上記(I)〜(III)に記載した、基本的なOFCの動作を踏まえた上で、OFCにおけるビザンチン型故障について考える。   Considering the basic operation of OFC described in (I) to (III) above, a Byzantine failure in OFC will be considered.

OFCにおけるビザンチン型故障は、例えば、システム管理者が意図した通りにパケット転送されることもあれば、意図しない形でパケット転送されることもあるという、フロー制御が信用できない状態に陥った状態である。つまり、意図しないフローエントリが導出され、フローテーブルに登録されてしまった状態である。このような状態は、以下のような場合に発生し得る。   Byzantine failure in OFC, for example, is a situation where flow control falls into an untrustworthy state where the system administrator may forward the packet as intended or may forward the packet unintentionally. is there. That is, an unintended flow entry has been derived and registered in the flow table. Such a state can occur in the following cases.

(A)不正なコンフィグが設定されてしまった場合。例えば、コンフィグ設定作業にミスがあった場合や、内部犯行者により意図的にセキュリティホールを含むような論理ネットワークが設定された場合。 (A) An invalid configuration has been set. For example, when there is a mistake in the configuration setting work, or when a logical network that intentionally includes a security hole is set by an insider.

(B)OFC機能(例えば、経路導出機能やトポロジ検出機能)が不正である場合。例えば、OFCに潜在的なバグがある場合や、不正使用者によりOFC機能が改ざんされた場合。 (B) The OFC function (for example, the route derivation function or the topology detection function) is illegal. For example, there is a potential bug in the OFC, or the OFC function has been tampered with by an unauthorized user.

(I)〜(III)で説明したような構成では、ビザンチン型故障から復旧することが難しい。(A)の場合、一度OFCを再起動し、修正したコンフィグを再度読み込ませてサービスを再開することにより、OFSに設定された不正なフローが一掃でき、故障状態を解消できる。しかし、少なくとも図11に示す程度のサービス停止時間が発生する。(B)の場合、バグや改ざんを取り除いたOFCを新たに用意し、コンフィグをロードするなど、必要となる処理を行うことにより、サービスを再開できる。しかし、少なくともバグや改ざんを除去する時間と図11に示す時間とを合計したサービス停止時間が発生する。何れの場合も、図11に示す程度のサービス停止時間が発生する。   In the configuration described in (I) to (III), it is difficult to recover from a Byzantine failure. In the case of (A), the OFC is restarted once, the corrected configuration is read again, and the service is restarted, so that the illegal flow set in the OFS can be wiped out and the failure state can be eliminated. However, at least the service stop time shown in FIG. 11 occurs. In the case of (B), the service can be resumed by performing a necessary process such as newly preparing an OFC from which bugs and tampering have been removed and loading a configuration. However, a service stop time that is a total of at least the time for removing bugs and tampering and the time shown in FIG. 11 occurs. In either case, a service stop time of the order shown in FIG. 11 occurs.

そこで、本発明は、ビザンチン型故障の発生を検出した場合に、早期に故障状態を解消しパケット転送を再開可能とする通信システムおよび通信システムにおけるサービス復旧方法を提供することを目的とする。   Therefore, an object of the present invention is to provide a communication system and a service restoration method in the communication system that can resolve a failure state at an early stage and resume packet transfer when the occurrence of a Byzantine failure is detected.

本発明による通信システムは、フロー制御機能と仮想ネットワークの設定情報とをもとに複数のパケット転送装置を制御する第1の制御装置と、動作実績があるフロー制御機能と、運用実績がある仮想ネットワークの設定情報とを有し、第1の制御装置に故障が発生した場合に切り替え先となる第2の制御装置と、複数のパケット転送装置と各制御装置との間に配置された負荷分散装置とを備え、負荷分散装置は、第1の制御装置においてビザンチン型故障が発生した場合に、複数のパケット転送装置の制御を第2の制御装置に実行させる役割変更指示機能を有することを特徴とする。   The communication system according to the present invention includes a first control device that controls a plurality of packet transfer devices based on a flow control function and virtual network setting information, a flow control function that has an operation record, and a virtual that has an operation record. Load setting disposed between a plurality of packet transfer devices and each control device, and a second control device that is a switching destination when a failure occurs in the first control device. The load distribution device has a role change instruction function that causes the second control device to execute control of a plurality of packet transfer devices when a Byzantine failure occurs in the first control device. And

本発明によるサービス復旧方法は、フロー制御機能と仮想ネットワークの設定情報とをもとに複数のパケット転送装置を制御する第1の制御装置と、動作実績があるフロー制御機能と、運用実績がある仮想ネットワークの設定情報とを有し、第1の制御装置に故障が発生した場合に切り替え先となる第2の制御装置と、複数のパケット転送装置と各制御装置との間に配置された負荷分散装置とを備えた通信システムにおいて、負荷分散装置が、第1の制御装置においてビザンチン型故障が発生した場合に、複数のパケット転送装置の制御を第2の制御装置に実行させることを特徴とする。   The service restoration method according to the present invention has a first control device that controls a plurality of packet transfer devices based on a flow control function and virtual network setting information, a flow control function that has an operation record, and an operation record. Load that is set between a plurality of packet transfer devices and each control device, and a second control device that is a switching destination when a failure occurs in the first control device. In a communication system including a distribution device, the load distribution device causes a second control device to execute control of a plurality of packet transfer devices when a Byzantine failure occurs in the first control device. To do.

本発明によれば、通信システムにおいて、ビザンチン型故障の発生を検出した場合に、早期に故障状態を解消しパケット転送を再開することができる。   According to the present invention, when the occurrence of a Byzantine-type failure is detected in the communication system, the failure state can be resolved early and packet transfer can be resumed.

本発明による通信システムの第1の実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of 1st Embodiment of the communication system by this invention. アドレス変換表の一例を示す説明図である。It is explanatory drawing which shows an example of an address conversion table. 第1の実施形態におけるOFCの構成を示すブロック図である。It is a block diagram which shows the structure of OFC in 1st Embodiment. ロードバランサにおけるOFCの切り替え動作を示すフローチャートである。It is a flowchart which shows the switching operation of OFC in a load balancer. ステップS5において更新されたアドレス変換表の一例を示す説明図である。It is explanatory drawing which shows an example of the address conversion table updated in step S5. 第1の実施形態の通信システムにおいてビザンチン型故障が発生した際の復旧に伴うサービス停止時間を示す説明図である。It is explanatory drawing which shows the service stop time accompanying recovery when a Byzantine type | mold failure generate | occur | produces in the communication system of 1st Embodiment. 本発明による通信システムの第2の実施形態の構成を示す説明図である。It is explanatory drawing which shows the structure of 2nd Embodiment of the communication system by this invention. 本発明による通信システムの最小構成を示すブロック図である。It is a block diagram which shows the minimum structure of the communication system by this invention. オープンフローシステムにおけるシングルOFC構成の一例を示すブロック図である。It is a block diagram which shows an example of the single OFC structure in an open flow system. OFCの構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of OFC. シングルOFC構成において、沈黙型故障が発生した際のOFC再起動によるサービス停止時間を示す説明図である。It is explanatory drawing which shows the service stop time by the OFC restart when a silent failure occurs in the single OFC configuration. オープンフローシステムにおけるクラスタOFC構成の一例を示すブロック図である。It is a block diagram which shows an example of the cluster OFC structure in an open flow system. クラスタOFC構成において、沈黙型故障が発生した際のフェイルオーバー処理におけるサービス停止時間を示す説明図である。It is explanatory drawing which shows the service stop time in the failover process when a silent failure occurs in a cluster OFC configuration.

実施形態1.
以下、本発明の第1の実施形態を図面を参照して説明する。
Embodiment 1. FIG.
A first embodiment of the present invention will be described below with reference to the drawings.

本実施形態では、オープンフロープロトコルVer1.2で実装されたマルチコントローラ機能を用いて、現用系でオープンフロー制御を行いつつ、待機系でも常時トポロジ情報とBC/MCフローエントリーの導出を行う通信システムを例として説明する。   In the present embodiment, a multi-controller function implemented by the OpenFlow protocol Ver1.2 is used to perform open flow control in the active system, and always derive topology information and BC / MC flow entries in the standby system. Will be described as an example.

本実施形態では、クラスタ構成されたOFC(以下、第1のOFCと呼称する)とは別に、ビザンチン型故障が発生した場合に切り替え先となるOFC(以下、第2のOFCと呼称する)を配置する。また、OFSと、第1のOFC/第2のOFCとの間にロードバランサ(LB)を配置し、ロードバランサの操作によりOFSの接続先OFCを切り替えられるようにする。   In the present embodiment, an OFC (hereinafter referred to as a second OFC) that is a switching destination when a Byzantine failure occurs, in addition to a clustered OFC (hereinafter referred to as a first OFC). Deploy. Also, a load balancer (LB) is arranged between the OFS and the first OFC / second OFC so that the OFS connection destination OFC can be switched by the operation of the load balancer.

第2のOFCとして、経路導出やトポロジ検出機能にバグや改ざんがないOFC、つまり信用がおけるOFC機能を有するOFCを用意する。例えば、以下のような考え方で第2のOFCを用意する。   As the second OFC, an OFC that does not have bugs or tampering with the route derivation or topology detection function, that is, an OFC having a reliable OFC function is prepared. For example, the second OFC is prepared based on the following concept.

・第1のOFCを構成するOFCノードにバグが見つかった場合、そのバグを改修したOFCを用意し、第2のOFCとして使用する。或いは、既に十分な動作実績があり、品質が安定している、古いバージョンのOFCを第2のOFCとして使用する、など。
・第1のOFCより厳しいセキュリティポリシーを適用し、機能改ざんなどの不正操作に対する対策が施されたOFCを第2のOFCとして使用する。例えば、第2のOFCにはより限定されたユーザのみアクセスできるよう設定する、第2のOFCをより保護されたネットワークに配置する、など。
When a bug is found in the OFC node that constitutes the first OFC, an OFC with a modified bug is prepared and used as the second OFC. Or, there is already a sufficient operation record and the quality is stable, or an old version of the OFC is used as the second OFC.
-Use an OFC that has been applied with a security policy that is stricter than the first OFC and that has been provided with countermeasures against unauthorized operations such as function tampering as the second OFC. For example, the second OFC is set so that only a more limited user can access it, and the second OFC is placed in a more protected network.

また、第2のOFCには、信用がおけるコンフィグ情報をロードしておく。例えば、以下のような考え方で信用がおけるコンフィグを定義する。   In addition, reliable configuration information is loaded in the second OFC. For example, a reliable configuration is defined based on the following concept.

・十分運用実績があるコンフィグ
・更新できないように設定したコンフィグ
・シンプルな構成とし、容易に改ざんを見抜けるようなコンフィグ
・ Configurations with sufficient operation results ・ Configurations set so that they cannot be updated ・ Simple configurations that can easily tamper with

以上のように、本実施形態では、第2のOFCが、常に最も信用がおけるOFC機能と、最も信用がおけるコンフィグ情報とを有するように管理する。第1のOFCと第2のOFCは非対称になる。   As described above, in this embodiment, the second OFC is managed so as to always have the most reliable OFC function and the most reliable configuration information. The first OFC and the second OFC are asymmetric.

なお、トポロジ情報は、OFCで管理できるものではなく、LLDPパケットをOFSに送信しその応答を得て生成する情報である。本実施形態では、このトポロジ情報を、第1のOFC、第2のOFCで常に最新の情報を取得できるように、通信システムを構成する。それにより、第2のOFCでは、信用がおけるOFC機能およびコンフィグ情報と、最新のトポロジ情報とから、常にBC/MCフローエントリーを導出できる状態とすることができる。その結果、通信システムは、切り替え時のサービス停止時間を短縮できる。   The topology information is not information that can be managed by OFC, but is information that is generated by transmitting an LLDP packet to the OFS and obtaining a response. In the present embodiment, the communication system is configured so that the topology information can always be obtained with the first OFC and the second OFC. Thereby, in the second OFC, a BC / MC flow entry can be always derived from the reliable OFC function and configuration information and the latest topology information. As a result, the communication system can shorten the service stop time at the time of switching.

図1は、本発明による通信システムの第1の実施形態の構成を示すブロック図である。なお、図1において点線で示す構成要素以外の要素については、図12に示す要素と同様であるため、詳細な説明を省略する。   FIG. 1 is a block diagram showing a configuration of a first embodiment of a communication system according to the present invention. 1 are the same as the elements shown in FIG. 12, and detailed description thereof is omitted.

図1に示すように、通信システムは、第1のOFC600と、第2のOFC603と、ロードバランサ604とを備える。なお、図1には、ロードバランサ604に3台のOFS(OFS608〜610)が接続されているが、OFSは、ロードバランサ604にいくつ接続されていてもよい。   As shown in FIG. 1, the communication system includes a first OFC 600, a second OFC 603, and a load balancer 604. In FIG. 1, three OFSs (OFSs 608 to 610) are connected to the load balancer 604, but any number of OFSs may be connected to the load balancer 604.

第1のOFC600は、クラスタミドルウェアにより冗長化構成されたOFCノードである。第1のOFC600は、OFC(ACT)601とOFC(SBY)602とを含む。なお、第1のOFC600は、2台以上のOFCで冗長化構成されていてもよい。   The first OFC 600 is an OFC node configured redundantly by cluster middleware. The first OFC 600 includes an OFC (ACT) 601 and an OFC (SBY) 602. Note that the first OFC 600 may be configured redundantly with two or more OFCs.

OFC(ACT)601が保持する、コンフィグ611、トポロジ612、フローテーブル613は、それぞれ、OFC(SBY)602が保持する、コンフィグ614、トポロジ615、フローテーブル616と同期されている。   The configuration 611, topology 612, and flow table 613 held by the OFC (ACT) 601 are synchronized with the configuration 614, topology 615, and flow table 616 held by the OFC (SBY) 602, respectively.

本実施形態では、第1のOFC600が沈黙型故障に対処することに加えて、第2のOFC603が、ビザンチン型故障に対処する。第2のOFC603は、前述したように、信用できるOFC機能とコンフィグ情報とを有する。なお、第2のOFCは1台に限定されず、複数台配置されていてもよい。   In the present embodiment, in addition to the first OFC 600 dealing with a silent failure, the second OFC 603 handles a Byzantine failure. As described above, the second OFC 603 has a reliable OFC function and configuration information. The second OFC is not limited to one, and a plurality of second OFCs may be arranged.

OFS608〜610がOFCに接続する際、各OFSは、複数のOFCと通信可能な方法で接続する。各OFSは、例えば、オープンフロープロトコルVer1.2規格で定義されているマルチコントローラ機能などを用いて、複数のOFCと通信する。   When the OFSs 608 to 610 connect to the OFC, each OFS connects in a manner that allows communication with a plurality of OFCs. Each OFS communicates with a plurality of OFCs using, for example, a multi-controller function defined in the OpenFlow protocol Ver1.2 standard.

マルチコントローラ機能では、それぞれのOFCには役割が与えられる。「マスタ(Master)」の役割が与えられたOFCは、OFSからのメッセージを受け取り、そのメッセージに応答し、OFSが持つフローエントリを更新する権限を有する。一方、「スレーブ(Slave)」の役割が与えられたOFCは、OFSからのメッセージを受け取ることができるが、メッセージに対する応答を返さない。つまり、スレーブのOFCは、OFSのフローテーブルを更新することはできない。   In the multi-controller function, each OFC is assigned a role. The OFC given the role of “Master” has the authority to receive a message from the OFS and respond to the message and update the flow entry of the OFS. On the other hand, the OFC given the role of “Slave” can receive a message from the OFS, but does not return a response to the message. That is, the slave OFC cannot update the OFS flow table.

ロードバランサ604は、後述する役割変更指示機能605を有する。なお、役割変更指示機能605は、例えば、プログラムに従って動作するコンピュータのCPUによって実現される。当該プログラムは、例えば、ロードバランサ604の記憶装置(図示せず)に記憶される。ロードバランサ604のCPUは、そのプログラムを読み込み、そのプログラムに従って、役割変更指示機能605として動作する。   The load balancer 604 has a role change instruction function 605 described later. The role change instruction function 605 is realized by a CPU of a computer that operates according to a program, for example. For example, the program is stored in a storage device (not shown) of the load balancer 604. The CPU of the load balancer 604 reads the program and operates as the role change instruction function 605 according to the program.

ロードバランサ604は、マスタのOFCとスレーブのOFCに、それぞれ仮想アドレスを与える。また、ロードバランサ604は、OFCの実際のアドレス(以下、実アドレスという)との対応付けを、アドレス変換表606で管理する。ロードバランサ604のNWアドレス変換機能607は、アドレス変換表606を参照して、パケットヘッダの送信先・宛先情報を書き換える。図2は、アドレス変換表の一例を示す説明図である。   The load balancer 604 gives virtual addresses to the master OFC and the slave OFC, respectively. Further, the load balancer 604 manages the association with the actual address of the OFC (hereinafter referred to as a real address) using the address conversion table 606. The NW address translation function 607 of the load balancer 604 refers to the address translation table 606 and rewrites the transmission destination / destination information in the packet header. FIG. 2 is an explanatory diagram illustrating an example of an address conversion table.

初期状態では、アドレス変換表606は、図2に示すようになっている。OFSは、ロードバランサ604の仮想アドレス1にアクセスすることで、結果的に第1のOFC600にアクセスできる。また、ロードバランサ604の仮想アドレス2にアクセスすることで、結果的に第2のOFC603にアクセスできる。   In the initial state, the address conversion table 606 is as shown in FIG. The OFS can access the first OFC 600 as a result by accessing the virtual address 1 of the load balancer 604. Further, by accessing the virtual address 2 of the load balancer 604, it is possible to access the second OFC 603 as a result.

各OFSは、接続するOFCのアドレス情報として、マスタとスレーブの二つのアドレス情報をもつ。各OFSは、マスタのOFCのアドレスとしてロードバランサ604の仮想アドレス1を設定し、スレーブのOFCとして仮想アドレス2を設定する。こうすることで、第1のOFC600とOFSの間でオープンフロープロトコルによる通信が成立し、フロー制御が可能になる。一方、第2のOFC603では、OFSから発行されたオープンフローメッセージを受信可能になる。   Each OFS has two address information of a master and a slave as address information of the OFC to be connected. Each OFS sets the virtual address 1 of the load balancer 604 as the master OFC address, and sets the virtual address 2 as the slave OFC. By doing so, communication by the open flow protocol is established between the first OFC 600 and OFS, and flow control becomes possible. On the other hand, the second OFC 603 can receive the OpenFlow message issued from the OFS.

本実施形態におけるOFC(第1のOFC600のOFC(ACT)601、OFC(SBY)602、第2のOFC603)は、「役割管理機能」と、「拡張OFプロトコル処理手段」とを有する。   The OFCs (OFC (ACT) 601, OFC (SBY) 602, second OFC 603 of the first OFC 600) in the present embodiment have a “role management function” and an “extended OF protocol processing unit”.

図3は、第1の実施形態におけるOFCの構成を示すブロック図である。図2を参照して、OFCの機能について説明する。なお、図3において点線で示す構成要素以外の要素については、図10に示す要素と同様であるため、詳細な説明を省略する。   FIG. 3 is a block diagram showing the configuration of the OFC in the first embodiment. The function of the OFC will be described with reference to FIG. 3 are the same as the elements shown in FIG. 10, and detailed descriptions thereof are omitted.

図3に示すOFC700は、図10に示すOFC100に含まれる構成要素に加え、拡張OFプロトコル処理手段701と、役割管理機能702とを有する。   The OFC 700 shown in FIG. 3 has an extended OF protocol processing means 701 and a role management function 702 in addition to the components included in the OFC 100 shown in FIG.

役割管理機能702は、当該OFC(OFC700)に、マスタとしての動作を行わせるか、スレーブとしての動作を行わせるかを管理する機能である。   The role management function 702 is a function that manages whether the OFC (OFC 700) performs an operation as a master or a slave.

OFC700がマスタとして動作するように設定された場合、役割管理機能702は、拡張OFプロトコル処理手段701に対し、全てのオープンフローメッセージを受け付け、必要となる処理を行い、応答を返却するよう指示する。   When the OFC 700 is set to operate as a master, the role management function 702 instructs the extended OF protocol processing unit 701 to accept all OpenFlow messages, perform necessary processing, and return a response. .

一方、OFC700がスレーブとして動作するように設定された場合、役割管理機能702は、拡張OFプロトコル処理手段701に対し、受信したオープンフローメッセージの内、LLDPのPACKET_INメッセージ以外を破棄するよう指示する。こうすることで、スレーブ側、つまり「スレーブ」の役割が与えられたOFC700では、トポロジ検出に必要なメッセージのみを受信できるようになる。LLDPのPACKET_INメッセージを受け取ったスレーブ側では、トポロジが更新されると、それに伴ってBC/MCフローエントリーが導出され、フローテーブルに設定される。   On the other hand, when the OFC 700 is set to operate as a slave, the role management function 702 instructs the extended OF protocol processing unit 701 to discard other than the LLDP PACKET_IN message in the received OpenFlow message. By doing so, the slave side, that is, the OFC 700 to which the role of “slave” is given, can receive only messages necessary for topology detection. When the slave receives the LLDP PACKET_IN message, when the topology is updated, a BC / MC flow entry is derived and set in the flow table.

なお、拡張OFプロトコル処理手段701および役割管理機能702は、例えば、プログラムに従って動作するコンピュータのCPUによって実現される。当該プログラムは、例えば、OFC700の記憶装置(図示せず)に記憶される。OFC700のCPUは、そのプログラムを読み込み、そのプログラムに従って、拡張OFプロトコル処理手段701および役割管理機能702として動作する。また、拡張OFプロトコル処理手段701および役割管理機能702が別々のハードウェアで実現されていてもよい。   The extended OF protocol processing unit 701 and the role management function 702 are realized by a CPU of a computer that operates according to a program, for example. The program is stored in a storage device (not shown) of the OFC 700, for example. The CPU of the OFC 700 reads the program and operates as the extended OF protocol processing unit 701 and the role management function 702 according to the program. Further, the extended OF protocol processing means 701 and the role management function 702 may be realized by separate hardware.

次に、本実施形態の動作を説明する。   Next, the operation of this embodiment will be described.

まず、ビザンチン型故障が発生した場合に、ロードバランサ604が、コントローラを第1のOFCから第2のOFCに切り替える動作を説明する。   First, an operation in which the load balancer 604 switches the controller from the first OFC to the second OFC when a Byzantine failure occurs will be described.

なお、ビザンチン型故障の発生を検出する手段は様々あり得るが、例として以下のような場合に、ビザンチン型故障の発生を検出することができる。   There can be various means for detecting the occurrence of a Byzantine-type failure. For example, the occurrence of a Byzantine-type failure can be detected in the following cases.

・OFC(ACT)のCPU使用率が異常に上がった場合。この場合、なんらかの要因で、多数の意図しないフロー設定が行われた可能性がある。
・OFSのフローテーブルに設定されたフローエントリの数が異常に増加した場合。この場合、多数の意図しないフローが設定された可能性がある。
・ When the CPU usage rate of OFC (ACT) increases abnormally. In this case, there is a possibility that a large number of unintended flow settings have been performed for some reason.
-The number of flow entries set in the OFS flow table has increased abnormally. In this case, there is a possibility that many unintended flows are set.

ビザンチン型故障が発生した場合、ロードバランサ604は、以下のようにしてOFCを切り替える。図4は、ロードバランサ604におけるOFCの切り替え動作を示すフローチャートである。   When a Byzantine failure occurs, the load balancer 604 switches the OFC as follows. FIG. 4 is a flowchart showing the OFC switching operation in the load balancer 604.

まず、システム管理者は、ロードバランサ604の役割変更指示機能605を使用して、ロードバランサ604に対して、各コントローラの役割を変更するように指示する。つまり、役割変更指示機能605は、システム管理者から操作部(図示せず)等を介して、各コントローラの役割の変更指示を入力する(ステップS1)。   First, the system administrator uses the role change instruction function 605 of the load balancer 604 to instruct the load balancer 604 to change the role of each controller. That is, the role change instruction function 605 inputs a role change instruction of each controller from the system administrator via an operation unit (not shown) or the like (step S1).

なお、ロードバランサ604が、ビザンチン型故障の発生を検出して、ステップS2以降の処理を開始するようにしてもよい。例えば、ロードバランサ604が、OFCのCPU使用率を監視可能な場合には、当該CPU使用率が所定の閾値を超えたときに、ビザンチン型故障が発生したと判断することができる。また例えば、ロードバランサ604が、OFSのフローエントリの数を取得可能な場合には、当該フローエントリの数が所定の閾値を超えたときに、ビザンチン型故障が発生したと判断することができる。   Note that the load balancer 604 may detect the occurrence of a Byzantine-type failure and start the processing after step S2. For example, when the load balancer 604 can monitor the CPU usage rate of the OFC, it can be determined that a Byzantine failure has occurred when the CPU usage rate exceeds a predetermined threshold. Further, for example, when the load balancer 604 can acquire the number of OFS flow entries, it can be determined that a Byzantine failure has occurred when the number of the flow entries exceeds a predetermined threshold.

ロードバランサ604は、ロードバランサ604とOFSの間で確立していた通信を切断する(ステップS2)。このとき、ロードバランサ604は、OFSからの接続要求の受け入れを停止し、ステップS6が完了するまで、OFSからの接続要求に応じない。   The load balancer 604 disconnects the communication established between the load balancer 604 and OFS (step S2). At this time, the load balancer 604 stops accepting the connection request from the OFS, and does not respond to the connection request from the OFS until step S6 is completed.

役割変更指示機能605は、第1のOFC600の役割管理機能に対し、スレーブとして動作するよう通知する(ステップS3)。これ以降、第1のOFC600は、LLDPのPACKET_INメッセージのみを受信するようになる。   The role change instruction function 605 notifies the role management function of the first OFC 600 to operate as a slave (step S3). Thereafter, the first OFC 600 receives only the LLDP PACKET_IN message.

役割変更指示機能605は、第2のOFC603の役割管理機能に対し、マスタとして動作するよう通知する(ステップS4)。これ以降、第2のOFC603は、すべてのオープンフローメッセージを受信するようになる。   The role change instruction function 605 notifies the role management function of the second OFC 603 to operate as a master (step S4). Thereafter, the second OFC 603 receives all OpenFlow messages.

役割変更指示機能605は、アドレス変換表606を更新し、マスタの実アドレスとして、第2のOFC603の物理アドレスを設定する。また、スレーブの実アドレスとして、第1のOFC600の仮想アドレスを設定する(ステップS5)。図5は、ステップS5において更新されたアドレス変換表606の一例を示す説明図である。   The role change instruction function 605 updates the address conversion table 606 and sets the physical address of the second OFC 603 as the real address of the master. Also, the virtual address of the first OFC 600 is set as the real address of the slave (step S5). FIG. 5 is an explanatory diagram showing an example of the address conversion table 606 updated in step S5.

ロードバランサ604は、OFSからの接続要求の受け入れを再開する(ステップS6)。   The load balancer 604 resumes accepting a connection request from the OFS (step S6).

OFSと第2のOFC603との間で接続が確立され、オープンフロープロトコルによる通信が成立する(ステップS7)。OFSと第1のOFC600との間でも接続が確立され、第1のOFC600はLLDPのPACKET_INメッセージのみを受信するようになる。   A connection is established between the OFS and the second OFC 603, and communication using the OpenFlow protocol is established (step S7). A connection is also established between the OFS and the first OFC 600, and the first OFC 600 receives only the LLDP PACKET_IN message.

第2のOFC603は、オーディット処理を実行する(ステップS8)。これにより、第2のOFC603のフローテーブル619が、OFSのフローテーブル620〜622に同期される。つまり、OFSにはBC/MCフローのみが設定された状態となり、OFCの切り替え前に設定されていた意図しないフローは一掃される。   The second OFC 603 executes an audit process (step S8). As a result, the flow table 619 of the second OFC 603 is synchronized with the flow tables 620 to 622 of the OFS. That is, only the BC / MC flow is set in the OFS, and the unintended flow set before the OFC switching is wiped out.

上記ステップS1〜S8の処理により、図1に示す通信システムは、信用できるOFCとコンフィグ情報により、フロー制御を再開できるようになる。なお、サービス再開直後は、ソフト転送となる。   Through the processing in steps S1 to S8, the communication system shown in FIG. 1 can resume the flow control with the reliable OFC and configuration information. Note that software transfer is performed immediately after service restart.

以上に説明したように、本実施形態では、マスタのOFCにおいてビザンチン型故障が発生した場合に、最も信用がおけるOFC機能と最も信用がおけるコンフィグ情報とを有するスレーブのOFCをマスタとして動作させる。それにより、上記(A)に示すコンフィグ情報の不正、上記(B)に示すOFC機能の不正、という二つの原因に由来するビザンチン型故障からの復旧が可能となる。   As described above, in this embodiment, when a Byzantine failure occurs in the master OFC, the slave OFC having the most reliable OFC function and the most reliable configuration information is operated as the master. As a result, it is possible to recover from a Byzantine-type failure caused by two causes: the configuration information shown in (A) above, and the OFC function shown in (B) above.

また、本実施形態では、スレーブのOFCが、トポロジ検出に必要なメッセージを受信し、BC/MCフローエントリーを導出する。それにより、OFCの役割を「スレーブ」から「マスタ」に切り替える際、当該OFCにおいてBC/MCフローエントリ導出処理等が不要となり、サービス停止時間を短縮できる。ビザンチン型故障からの復旧に伴うサービス停止時間につき、特に対策しない場合は少なくとも図11に示す程度のサービス停止時間が発生するが、本実施形態によれば、図6に示す程度のサービス停止時間となる。図6は、第1の実施形態の通信システムにおいてビザンチン型故障が発生した際の復旧に伴うサービス停止時間を示す説明図である。   In this embodiment, the slave OFC receives a message required for topology detection and derives a BC / MC flow entry. Thereby, when the role of the OFC is switched from “slave” to “master”, BC / MC flow entry derivation processing or the like is not required in the OFC, and the service stop time can be shortened. With regard to the service stop time associated with the recovery from the Byzantine failure, if there is no particular countermeasure, at least the service stop time as shown in FIG. 11 occurs. According to this embodiment, the service stop time as shown in FIG. Become. FIG. 6 is an explanatory diagram illustrating a service stop time associated with recovery when a Byzantine failure occurs in the communication system according to the first embodiment.

また、第2のOFCを、第1のOFCとは離れた場所、例えば、第1のOFCと異なるラック、異なるフロア、異なるDCに配置することで、本発明をディザスタリカバリ対策としても応用できる。   Further, the present invention can be applied as a disaster recovery measure by disposing the second OFC in a place away from the first OFC, for example, in a rack, a different floor, and a different DC from the first OFC.

実施形態2.
以下、本発明の第2の実施形態を図面を参照して説明する。
Embodiment 2. FIG.
Hereinafter, a second embodiment of the present invention will be described with reference to the drawings.

本実施形態では、マルチコントローラ機能を使用しないOFSを制御するOFCを含む通信システムを例にする。マルチコントローラ機能を使用しないOFSは、単一のコントローラにしかメッセージを送信できない。つまり、第1のOFCのみでトポロジ情報を検出できる。図7は、本発明による通信システムの第2の実施形態の構成を示す説明図である。   In this embodiment, a communication system including an OFC that controls an OFS that does not use the multi-controller function is taken as an example. OFS that does not use the multi-controller function can only send messages to a single controller. That is, the topology information can be detected only by the first OFC. FIG. 7 is an explanatory diagram showing the configuration of the second embodiment of the communication system according to the present invention.

図7に示す通信システムの構成は、第1の実施形態と同様である。   The configuration of the communication system shown in FIG. 7 is the same as that of the first embodiment.

ただし、ロードバランサ1107は、役割変更指示機能を有さない。また、第1のOFC1100のOFC(ACT)1101、OFC(SBY)1102、第2のOFC1103はそれぞれ、役割管理機能および拡張OFプロトコル処理手段の代わりに、トポロジ変更イベント送受信機能1104、1105、1106を有する。   However, the load balancer 1107 does not have a role change instruction function. The OFC (ACT) 1101, OFC (SBY) 1102, and second OFC 1103 of the first OFC 1100 have topology change event transmission / reception functions 1104, 1105, and 1106, respectively, instead of the role management function and the extended OF protocol processing means. Have.

ロードバランサ1107は、NWアドレス変換機能1108により、単一の仮想アドレスを管理する。つまり、ロードバランサ1107は、アドレス変換表1109で、当該単一の仮想アドレスとOFCの実アドレスとの対応付けを管理する。図7に示す例では、当該単一の仮想アドレスとして、「LBの仮想IPアドレス」が設定されている。また、OFCの実アドレスとして、「第1のOFCの仮想アドレス」が設定されている。OFS1108〜1110は、ロードバランサ1107の当該単一の仮想アドレスに接続する。   The load balancer 1107 manages a single virtual address using the NW address translation function 1108. That is, the load balancer 1107 manages the association between the single virtual address and the real address of the OFC in the address conversion table 1109. In the example illustrated in FIG. 7, “LB virtual IP address” is set as the single virtual address. In addition, “virtual address of the first OFC” is set as the actual address of the OFC. The OFSs 1108 to 1110 connect to the single virtual address of the load balancer 1107.

ロードバランサ1107は、アドレス変換表1109に従い、第1のOFC1100または第2のOFC1103にパケットを中継する。   The load balancer 1107 relays the packet to the first OFC 1100 or the second OFC 1103 according to the address conversion table 1109.

OFS1110〜1112と接続されたOFCは、オープンフロー制御を行う。また、各OFCは、受信したオープンフローメッセージがLLDPのPACKET_INメッセージだった場合は、トポロジ変更イベント送受信機能を用いて、対向のOFCノードにメッセージを通知する。これにより、オープンフローメッセージを直接受信していないOFCノードでもトポロジ情報を生成することが可能になり、結果、常時BC/MCフローエントリーを導出することが可能となる。   The OFC connected to the OFS 1110 to 1112 performs open flow control. Further, when the received OpenFlow message is an LLDP PACKET_IN message, each OFC notifies the opposite OFC node of the message using the topology change event transmission / reception function. Accordingly, it is possible to generate topology information even in an OFC node that has not directly received the OpenFlow message, and as a result, it is possible to always derive a BC / MC flow entry.

このように、ロードバランサが保持するアドレス変換表の実アドレスに、切り替え先OFCのアドレスを設定することで、ノード切り替えを実行できる。つまり、本実施形態によれば、OFCのOFプロトコル処理手段等にバグや改ざんなどがなく、対向ノードに伝達するメッセージに誤りが含まれる可能性がなければ、図7に示すような簡易な構成により、第1の実施形態と同様の効果を得ることができる。   In this way, node switching can be executed by setting the address of the switching destination OFC in the real address of the address conversion table held by the load balancer. That is, according to the present embodiment, if there is no bug or falsification in the OFC OF protocol processing means or the like and there is no possibility that an error is included in the message transmitted to the opposite node, a simple configuration as shown in FIG. Thus, the same effect as that of the first embodiment can be obtained.

なお、各OFCのトポロジ変更イベント送受信機能(トポロジ変更イベント送受信機能1104、1105、1106)は、例えば、プログラムに従って動作するコンピュータのCPUによって実現される。当該プログラムは、例えば、各OFCの記憶装置(図示せず)に記憶される。各OFCのCPUは、そのプログラムを読み込み、そのプログラムに従って、トポロジ変更イベント送受信機能(トポロジ変更イベント送受信機能1104、1105、1106)として動作する。   Note that the topology change event transmission / reception function (topology change event transmission / reception functions 1104, 1105, and 1106) of each OFC is realized by a CPU of a computer that operates according to a program, for example. The program is stored in, for example, a storage device (not shown) of each OFC. Each OFC CPU reads the program and operates as a topology change event transmission / reception function (topology change event transmission / reception function 1104, 1105, 1106) according to the program.

以上、各実施形態においてオープンフローに適用される通信システムを例にしたが、本発明はオープンフロー以外にも適用可能である。例えば、各実施形態におけるOFCは、オープンフローにおけるコントローラ以外の制御装置であってもよい。また例えば、各実施形態におけるOFSは、オープンフローにおけるスイッチ以外のパケット転送装置であってもよい。つまり、通信ネットワーク上の各パケット転送装置を制御装置が集中管理する構成の通信システムであれば、本発明を適用することができる。   As mentioned above, although the communication system applied to OpenFlow in each embodiment was taken as an example, the present invention is applicable to other than OpenFlow. For example, the OFC in each embodiment may be a control device other than the controller in the open flow. Further, for example, the OFS in each embodiment may be a packet transfer apparatus other than the switch in the open flow. That is, the present invention can be applied to any communication system in which the control device centrally manages each packet transfer device on the communication network.

次に、本発明の概要を説明する。図8は、本発明による通信システムの最小構成を示すブロック図である。本発明による通信システムは、フロー制御機能(例えば、オープンフローにおけるOFC機能)と仮想ネットワークの設定情報(例えば、オープンフローにおけるコンフィグ情報)とをもとに複数のパケット転送装置を制御する第1の制御装置10(図1に示す第1のOFC600に相当)と、動作実績があるフロー制御機能と、運用実績がある仮想ネットワークの設定情報とを有し、第1の制御装置10に故障が発生した場合に切り替え先となる第2の制御装置20(図1に示す第2のOFC603に相当)と、複数のパケット転送装置と各制御装置との間に配置された負荷分散装置30(図1に示すロードバランサ604に相当)とを備え、負荷分散装置30は、第1の制御装置10においてビザンチン型故障が発生した場合に、複数のパケット転送装置の制御を第2の制御装置20に実行させる役割変更指示機能31(図1に示すロードバランサ604における役割変更指示機能605に相当)を有する。   Next, the outline of the present invention will be described. FIG. 8 is a block diagram showing a minimum configuration of a communication system according to the present invention. The communication system according to the present invention controls a plurality of packet transfer apparatuses based on a flow control function (for example, an OFC function in an open flow) and virtual network setting information (for example, configuration information in an open flow). It has a control device 10 (corresponding to the first OFC 600 shown in FIG. 1), a flow control function with an operation record, and virtual network setting information with an operation record, and a failure occurs in the first control device 10 In this case, the second control device 20 (corresponding to the second OFC 603 shown in FIG. 1), which is the switching destination, and the load distribution device 30 (see FIG. 1) arranged between the plurality of packet transfer devices and each control device. Load balancer 604), and when the Byzantine failure occurs in the first control device 10, the load balancer 30 includes a plurality of load balancers 604. The control of the packet transfer device having a second control unit 20 function change instruction function to be executed in 31 (equivalent to the role change instruction function 605 in the load balancer 604 shown in FIG. 1).

そのような構成によれば、第1の制御装置においてビザンチン型故障が発生した場合に、最も信用がおけるフロー制御機能と最も信用がおけるネットワークの設定情報とを有する第2の制御装置を動作させることができる。それにより、例えば、オープンフローにおいて、コンフィグ情報の不正、OFC機能の不正、という二つの原因に由来するビザンチン型故障からの復旧が可能となる。従って、通信システムにおいて、ビザンチン型故障の発生を検出した場合に、早期に故障状態を解消しパケット転送を再開することができる。   According to such a configuration, when a Byzantine fault occurs in the first control device, the second control device having the most reliable flow control function and the most reliable network setting information is operated. be able to. Thereby, for example, in OpenFlow, it is possible to recover from a Byzantine-type failure that originates from two causes: configuration information corruption and OFC function corruption. Therefore, in the communication system, when the occurrence of a Byzantine failure is detected, the failure state can be resolved early and packet transfer can be resumed.

また、負荷分散装置30の役割変更指示機能31は、第1の制御装置10のCPU使用率が所定の閾値を超えたときに、当該第1の制御装置においてビザンチン型故障が発生したと判断してもよい。そのような構成によれば、ビザンチン型故障をより確実に検出することができ、より早期に故障状態を解消しパケット転送を再開することができる。   Further, the role change instruction function 31 of the load distribution device 30 determines that a Byzantine failure has occurred in the first control device when the CPU usage rate of the first control device 10 exceeds a predetermined threshold. May be. According to such a configuration, a Byzantine-type failure can be detected more reliably, and the failure state can be resolved earlier and packet transfer can be resumed.

また、通常運用時、第1の制御装置10は、複数のパケット転送装置から送信される全てのメッセージを受信するマスタとして動作し、第2の制御装置20は、複数のパケット転送装置からトポロジ検出に必要なメッセージのみを受信するスレーブとして動作し、負荷分散装置30の役割変更指示機能31は、第1の制御装置10においてビザンチン型故障が発生した場合に、第1の制御装置10をスレーブとして動作させ、第2の制御装置20をマスタとして動作させてもよい。そのような構成によれば、第2の制御装置は、マスタとしてフロー制御を開始する際に必要なブロードキャストやマルチキャストされたパケットを適切に転送するための情報(例えば、オープンフローにおけるBC/MCフロー)を、スレーブ動作中に計算し保持しておくことができる。   Further, during normal operation, the first control device 10 operates as a master that receives all messages transmitted from a plurality of packet transfer devices, and the second control device 20 detects topology from the plurality of packet transfer devices. The role changing instruction function 31 of the load balancer 30 operates as a slave when the Byzantine failure occurs in the first controller 10. The second controller 20 may be operated as a master. According to such a configuration, the second control device can transmit information necessary for appropriately transmitting broadcast or multicast packets necessary for starting flow control as a master (for example, BC / MC flow in open flow). ) Can be calculated and held during slave operation.

また、各制御装置は、負荷分散装置30からの役割変更指示に基づいて、自装置をマスタとして動作させるか、スレーブとして動作させるかを管理する役割管理機能(図3に示す役割管理機能702に相当)を有していてもよい。そのような構成によれば、負荷分散装置は、役割変更指示を出力するだけで各制御装置の役割を変更することが可能となる。   Further, each control device, based on a role change instruction from the load balancer 30, manages a role management function for managing whether to operate the device as a master or a slave (in the role management function 702 shown in FIG. 3). Equivalent). According to such a configuration, the load balancer can change the role of each control device only by outputting a role change instruction.

また、第2の制御装置20の役割管理機能は、スレーブ動作中に、トポロジ検出に必要なメッセージ(例えば、オープンフローにおけるLLDPのPACKET_INメッセージ)を受信すると、当該メッセージをもとにマスタとして動作を開始する際に必要なフロー(例えば、オープンフローにおけるBC/MCフロー)を作成してもよい。そのような構成によれば、第2の制御装置20は、マスタとしてフロー制御を開始する際に、マスタとして動作を開始する際に必要なフローを作成する必要がないので、サービス停止時間をより短縮することができる。   Further, when the role management function of the second control device 20 receives a message necessary for topology detection (for example, an LLDP PACKET_IN message in an open flow) during slave operation, the role management function operates as a master based on the message. A flow necessary for starting (for example, a BC / MC flow in an open flow) may be created. According to such a configuration, when the second control device 20 starts the flow control as the master, it is not necessary to create a flow necessary for starting the operation as the master. It can be shortened.

また、各制御装置は、パケット転送装置から受信したメッセージがトポロジ検出に必要なメッセージであると判断した場合に、他の制御装置に当該メッセージを通知するトポロジ変更イベント送受信機能(図7に示すトポロジ変更イベント送受信機能1104〜1106に相当)を有してもよい。そのような構成によれば、より簡易な構成で、ビザンチン型故障の発生を検出した場合の、故障状態の早期解消およびパケット転送の再開を行うことができる。   When each control device determines that the message received from the packet transfer device is a message necessary for topology detection, the topology change event transmission / reception function (topology shown in FIG. 7) notifies the other control device of the message. It may have a change event transmission / reception function 1104 to 1106). According to such a configuration, the failure state can be resolved early and the packet transfer can be restarted when the occurrence of a Byzantine-type failure is detected with a simpler configuration.

また、第1の制御装置10が、複数の制御装置(例えば、図1に示すOFC(ACT)601、OFC(SBY)602)によりクラスタ構成されていてもよい。そのような構成によれば、通信システムを、ビザンチン型故障だけでなく、沈黙型故障にも対応させることができる。   Further, the first control device 10 may be configured in a cluster by a plurality of control devices (for example, OFC (ACT) 601 and OFC (SBY) 602 shown in FIG. 1). According to such a configuration, the communication system can cope with not only a Byzantine type failure but also a silent type failure.

10 第1の制御装置
20 第2の制御装置
30 負荷分散装置
31、605 役割変更指示機能
100、700 OFC
101〜103、403〜405、608〜610、1110〜1112 OFS
110、206、410、413、611、614、617 コンフィグ
111、204、411、414、612、615、618 トポロジ
112、113〜115、208、412、415、417〜419、613、616、619、620〜622 フローテーブル
201 通信手段
202 OFプロトコル処理手段
203 トポロジ検出手段
205 コンフィグ管理手段
207 経路管理手段
209 経路計算手段
210 経路設定手段
211 オーディット手段
400、601、1101 OFC(ACT)
401、602、1102 OFC(SBY)
600、1100 第1のOFC
603、1103 第2のOFC
604、1107 ロードバランサ
607、1108 NWアドレス変換機能
606、1109 アドレス変換表
701 拡張OFプロトコル処理手段
702 役割管理機能
1104〜1106 トポロジ変更イベント送受信機能
DESCRIPTION OF SYMBOLS 10 1st control apparatus 20 2nd control apparatus 30 Load distribution apparatus 31,605 Role change instruction | indication function 100,700 OFC
101-103, 403-405, 608-610, 1110-1112 OFS
110, 206, 410, 413, 611, 614, 617 Config 111, 204, 411, 414, 612, 615, 618 Topology 112, 113-115, 208, 412, 415, 417-419, 613, 616, 619, 620 to 622 flow table 201 communication means 202 OF protocol processing means 203 topology detection means 205 configuration management means 207 route management means 209 route calculation means 210 route setting means 211 auditing means 400, 601, 1101 OFC (ACT)
401, 602, 1102 OFC (SBY)
600, 1100 First OFC
603, 1103 Second OFC
604, 1107 Load balancer 607, 1108 NW address conversion function 606, 1109 Address conversion table 701 Extended OF protocol processing means 702 Role management function 1104 to 1106 Topology change event transmission / reception function

Claims (8)

フロー制御機能と仮想ネットワークの設定情報とをもとに複数のパケット転送装置を制御する第1の制御装置と、
動作実績があるフロー制御機能と、運用実績がある仮想ネットワークの設定情報とを有し、前記第1の制御装置に故障が発生した場合に切り替え先となる第2の制御装置と、
前記複数のパケット転送装置と各制御装置との間に配置された負荷分散装置とを備え、
前記負荷分散装置は、前記第1の制御装置においてビザンチン型故障が発生した場合に、前記複数のパケット転送装置の制御を前記第2の制御装置に実行させる役割変更指示機能を有する
ことを特徴とする通信システム。
A first control device that controls a plurality of packet transfer devices based on a flow control function and virtual network setting information;
A second control device having a flow control function having an operation record and setting information of a virtual network having an operation record, which is a switching destination when a failure occurs in the first control device;
A load balancer disposed between the plurality of packet transfer devices and each control device;
The load distribution device has a role change instruction function that causes the second control device to execute control of the plurality of packet transfer devices when a Byzantine failure occurs in the first control device. Communication system.
負荷分散装置の役割変更指示機能は、第1の制御装置のCPU使用率が所定の閾値を超えたときに、当該第1の制御装置においてビザンチン型故障が発生したと判断する
請求項1に記載の通信システム。
The role change instruction function of the load balancer determines that a Byzantine failure has occurred in the first control device when the CPU usage rate of the first control device exceeds a predetermined threshold. Communication system.
通常運用時、第1の制御装置は、複数のパケット転送装置から送信される全てのメッセージを受信するマスタとして動作し、第2の制御装置は、前記複数のパケット転送装置からトポロジ検出に必要なメッセージのみを受信するスレーブとして動作し、
負荷分散装置の役割変更指示機能は、第1の制御装置においてビザンチン型故障が発生した場合に、前記第1の制御装置をスレーブとして動作させ、第2の制御装置をマスタとして動作させる
請求項1または請求項2に記載の通信システム。
During normal operation, the first control device operates as a master that receives all messages transmitted from a plurality of packet transfer devices, and the second control device is necessary for topology detection from the plurality of packet transfer devices. Operates as a slave that receives only messages,
The role change instruction function of the load distribution device causes the first control device to operate as a slave and the second control device to operate as a master when a Byzantine failure occurs in the first control device. Or the communication system of Claim 2.
各制御装置は、負荷分散装置からの役割変更指示に基づいて、自装置をマスタとして動作させるか、スレーブとして動作させるかを管理する役割管理機能を有する
請求項3に記載の通信システム。
The communication system according to claim 3, wherein each control device has a role management function for managing whether to operate the device as a master or a slave based on a role change instruction from the load distribution device.
第2の制御装置の役割管理機能は、スレーブ動作中に、トポロジ検出に必要なメッセージを受信すると、当該メッセージをもとにマスタとして動作を開始する際に必要なフローを作成する
請求項4に記載の通信システム。
The role management function of the second control device, when receiving a message necessary for topology detection during the slave operation, creates a flow necessary for starting the operation as a master based on the message. The communication system described.
各制御装置は、パケット転送装置から受信したメッセージがトポロジ検出に必要なメッセージであると判断した場合に、他の制御装置に当該メッセージを通知する
請求項1に記載の通信システム。
The communication system according to claim 1, wherein each control device notifies the other control device of the message when it is determined that the message received from the packet transfer device is a message necessary for topology detection.
第1の制御装置が、複数の制御装置によりクラスタ構成された
請求項1から請求項6のうちのいずれか1項に記載の通信システム。
The communication system according to any one of claims 1 to 6, wherein the first control device is configured in a cluster by a plurality of control devices.
フロー制御機能と仮想ネットワークの設定情報とをもとに複数のパケット転送装置を制御する第1の制御装置と、動作実績があるフロー制御機能と、運用実績がある仮想ネットワークの設定情報とを有し、前記第1の制御装置に故障が発生した場合に切り替え先となる第2の制御装置と、前記複数のパケット転送装置と各制御装置との間に配置された負荷分散装置とを備えた通信システムにおいて、
前記負荷分散装置が、前記第1の制御装置においてビザンチン型故障が発生した場合に、前記複数のパケット転送装置の制御を前記第2の制御装置に実行させる
ことを特徴とするサービス復旧方法。
The first control device that controls a plurality of packet transfer devices based on the flow control function and the virtual network setting information, the flow control function with an operation record, and the setting information of a virtual network with an operation record And a second control device that becomes a switching destination when a failure occurs in the first control device, and a load distribution device disposed between the plurality of packet transfer devices and each control device. In a communication system,
The service restoration method, wherein the load balancer causes the second control device to execute control of the plurality of packet transfer devices when a Byzantine failure occurs in the first control device.
JP2014007773A 2014-01-20 2014-01-20 Communication system and service restoration method in communication system Pending JP2015138987A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014007773A JP2015138987A (en) 2014-01-20 2014-01-20 Communication system and service restoration method in communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014007773A JP2015138987A (en) 2014-01-20 2014-01-20 Communication system and service restoration method in communication system

Publications (1)

Publication Number Publication Date
JP2015138987A true JP2015138987A (en) 2015-07-30

Family

ID=53769757

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014007773A Pending JP2015138987A (en) 2014-01-20 2014-01-20 Communication system and service restoration method in communication system

Country Status (1)

Country Link
JP (1) JP2015138987A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210151001A (en) * 2020-06-04 2021-12-13 고려대학교 산학협력단 Method for byzantine fault tolerant in distributed software defined networks

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62256162A (en) * 1986-04-30 1987-11-07 Fuji Electric Co Ltd Change over controller for duplex computer system
JP2002049509A (en) * 2000-08-01 2002-02-15 Hitachi Ltd Data processing system
JP2005157462A (en) * 2003-11-20 2005-06-16 Hitachi Ltd System switching method and information processing system
JP2007249373A (en) * 2006-03-14 2007-09-27 Osaka Prefecture Univ Monitoring system of distributed program
WO2011065268A1 (en) * 2009-11-26 2011-06-03 日本電気株式会社 Load distribution system, load distribution method, and program
WO2012090996A1 (en) * 2010-12-28 2012-07-05 日本電気株式会社 Information system, control device, virtual network provision method and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62256162A (en) * 1986-04-30 1987-11-07 Fuji Electric Co Ltd Change over controller for duplex computer system
JP2002049509A (en) * 2000-08-01 2002-02-15 Hitachi Ltd Data processing system
JP2005157462A (en) * 2003-11-20 2005-06-16 Hitachi Ltd System switching method and information processing system
JP2007249373A (en) * 2006-03-14 2007-09-27 Osaka Prefecture Univ Monitoring system of distributed program
WO2011065268A1 (en) * 2009-11-26 2011-06-03 日本電気株式会社 Load distribution system, load distribution method, and program
WO2012090996A1 (en) * 2010-12-28 2012-07-05 日本電気株式会社 Information system, control device, virtual network provision method and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210151001A (en) * 2020-06-04 2021-12-13 고려대학교 산학협력단 Method for byzantine fault tolerant in distributed software defined networks
KR102507198B1 (en) * 2020-06-04 2023-03-09 고려대학교 산학협력단 Method for byzantine fault tolerant in distributed software defined networks

Similar Documents

Publication Publication Date Title
JP5187249B2 (en) Redundant system connection recovery device, method and processing program
US9992058B2 (en) Redundant storage solution
JP5982842B2 (en) Computer fault monitoring program, method, and apparatus
WO2014077313A1 (en) Communication system, control device, method for controlling same, and program
US9319460B2 (en) Information processing method, computer-readable recording medium, and information processing system
JP5707355B2 (en) Hot-standby client-server system
US9960993B2 (en) Packet network linear protection systems and methods in a dual home or multi-home configuration
WO2011120423A1 (en) System and method for communications system routing component level high availability
JP5775473B2 (en) Edge device redundancy system, switching control device, and edge device redundancy method
JP2009539305A (en) Uninterrupted network control message generation during local node outage
JP7161008B2 (en) Application redundancy management system and application redundancy management method
CN111585835A (en) Control method and device for out-of-band management system and storage medium
CN109189854B (en) Method and node equipment for providing continuous service
JP4344333B2 (en) Packet transfer apparatus, packet transfer network system, and packet transfer method
JP2015138987A (en) Communication system and service restoration method in communication system
CN114124803B (en) Device management method and device, electronic device and storage medium
US10516625B2 (en) Network entities on ring networks
US20180183709A1 (en) Communication node, communication system, communication method, and program
JP2005136690A (en) High speed network address taking over method, network device and its program
CN109491236B (en) Method for operating a high-availability automation system
JP6601198B2 (en) Relay device, setting method, setting program, and information processing system
KR101401006B1 (en) Method and appratus for performing software upgrade in high availability system
JP2016200961A (en) Server failure monitoring system
JP5344712B2 (en) Data matching method and service providing apparatus
JP2013046252A (en) Vrrp system and vrrp program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171010

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180403