KR101519524B1 - Control apparatus and method thereof in software defined network - Google Patents

Control apparatus and method thereof in software defined network Download PDF

Info

Publication number
KR101519524B1
KR101519524B1 KR1020130161355A KR20130161355A KR101519524B1 KR 101519524 B1 KR101519524 B1 KR 101519524B1 KR 1020130161355 A KR1020130161355 A KR 1020130161355A KR 20130161355 A KR20130161355 A KR 20130161355A KR 101519524 B1 KR101519524 B1 KR 101519524B1
Authority
KR
South Korea
Prior art keywords
network
switch
flow
failure
software defined
Prior art date
Application number
KR1020130161355A
Other languages
Korean (ko)
Inventor
정재웅
신승원
송용주
Original Assignee
아토리서치(주)
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 아토리서치(주) filed Critical 아토리서치(주)
Priority to KR1020130161355A priority Critical patent/KR101519524B1/en
Application granted granted Critical
Publication of KR101519524B1 publication Critical patent/KR101519524B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • H04L41/0661Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • H04L41/0856Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0859Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
    • H04L41/0863Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions by rolling back to previous configuration versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors

Abstract

A control apparatus managing a software defined network including multiple switches collects information of the software defined network, and detects malfunction of the software defined network based on the collected information. In the malfunction is not detected, the control apparatus backs up the present network setting information. If the malfunction is detected, the control apparatus restores the software defined network by using the backed up network setting information.

Description

소프트웨어 정의 네트워크에서 제어 장치 및 그 동작 방법{CONTROL APPARATUS AND METHOD THEREOF IN SOFTWARE DEFINED NETWORK}CONTROL APPARATUS AND METHOD THEREOF IN SOFTWARE DEFINED NETWORK [0001]

본 발명은 소프트웨어 정의 네트워크(Software Defined Network)에서 제어 장치 및 그 동작 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a control apparatus and a method of operating the same in a software defined network.

2008년 발표된 소프트웨어 정의 네트워킹 기술의 등장은 최근 네트워크 구조를 바꾸고 있다. 소프트웨어 정의 네트워크 기술은, 기본적으로, 복잡한 제어 플레인(control plane)의 기능을 데이터 플레인(data plane)과 분리하여, 제어 플레인 의 복잡한 기능을 소프트웨어적으로 처리하고, 데이터 플레인은 단순한 네트워크 패킷의 전달, 무시, 변경 등의 기능만을 수행하도록 하는데 있다. 이 경우, 복잡한 하드웨어의 제약없이 제어 플레인의 도움을 통해 소프트웨어적으로 새로운 네트워크의 기능이 개발될 수 있으며, 동시에 이전 네트워크 구조에서 하기 어려웠던 다양한 시도가 가능하게 되었다.The emergence of software-defined networking technologies announced in 2008 is changing the network structure in recent years. Software defined network technology basically separates the functions of a complex control plane from a data plane and processes the complex functions of the control plane in a software manner and the data plane is a simple network packet delivery, Ignoring, changing, and so on. In this case, the functions of the new network can be developed in software through the help of the control plane without complicated hardware restriction, and at the same time, various attempts that were difficult in the previous network structure are possible.

예를 들어, 클라우드 네트워크와 같은 환경에서, 각 네트워크 스위치 혹은 라우터의 기능을 다이나믹하게 설정하여, 에너지 소비를 줄일 수 있으며, 엔터프라이즈 급의 환경에서는 각 스위치나 라우터에 원하는 접근 제어 방식을 구현할 수 있다. 따라서, 이 방식을 이용하여 기존의 네트워크에서 사용되는 장비의 수를 줄일 수 있으며, 동시에 장비 관리 비용 역시 줄일 수 있다. 또한, 새로운 기능을 자유자재로 실험적으로 개발하여 테스트할 수 있다.For example, in an environment such as a cloud network, the function of each network switch or router can be dynamically set to reduce energy consumption. In an enterprise-class environment, a desired access control method can be implemented for each switch or router. Therefore, using this method, the number of equipment used in the existing network can be reduced, and at the same time, the equipment management cost can also be reduced. In addition, new functions can be freely experimentally developed and tested.

그러나, 일반 네트워크는 관리 편의를 위하여 간단한 구조로 연결된 스위치들을 포함하는 것과는 달리 소프트웨어 정의 네트워크 내의 스위치들은 간단한 구조를 가질 필요가 없다. 이는, 제어 장치(100)가 고속 컴퓨팅에 의해 스위치들의 플로우 테이블을 구할 수 있기 때문이다.However, the switches in a software defined network do not need to have a simple structure, as ordinary networks include switches connected in a simple structure for administrative convenience. This is because the control apparatus 100 can obtain a flow table of switches by high-speed computing.

이를 위하여, 네트워크 복구가 용이하게 수행될 수 있도록 하는 방안이 요구되고 있다.
한편, 본 발명과 관련된 선행기술 문헌으로는 [비특허 문헌 1] Brandon Heller 외 다수, “OpenFlow Switch Specification” (2009년 12월 31일 발행, http://archive.openflow.org) 및 [비특허 문헌 2] Nick McKeown 외 7명, “OpenFlow: Enabling Innovation in Campus Networks” (2008년 3월 14일 발행, http://archive.openflow.org)가 있다.
For this purpose, there is a need for a method for easily performing network restoration.
Non-Patent Document 1 Brandon Heller et al., &Quot; OpenFlow Switch Specification " (issued on December 31, 2009, http://archive.openflow.org) and [Non-patent Document 2] Nick McKeown et al., "OpenFlow: Enabling Innovation in Campus Networks" (issued March 14, 2008, http://archive.openflow.org).

본 발명이 해결하고자 하는 기술적 과제는 용이하게 네트워크를 복구할 수 있는 제어 장치를 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a control device capable of easily restoring a network.

실시예에서, 복수의 스위치를 포함하는 소프트웨어 정의 네트워크를 관리하는 제어 장치의 네트워크 복구 방법은 상기 소프트웨어 정의 네트워크의 정보를 수집하는 단계; 상기 수집한 정보에 기초하여 상기 소프트웨어 정의 네트워크의 장애를 감지하는 단계; 상기 장애가 감지되지 않으면, 현재의 네트워크 설정 정보를 백업하는 단계; 및 상기 장애가 감지되면, 백업된 네트워크 설정 정보를 이용하여 상기 소프트웨어 정의 네트워크를 복구하는 단계를 포함한다.In an embodiment, a network recovery method of a control device managing a software defined network including a plurality of switches comprises: collecting information of the software defined network; Detecting a failure of the software defined network based on the collected information; Backing up current network configuration information if the failure is not detected; And recovering the software defined network using the backup network configuration information when the failure is detected.

실시예에서, 복수의 스위치를 포함하는 소프트웨어 정의 네트워크를 관리하는 제어 장치는 상기 소프트웨어 정의 네트워크의 정보를 수집하는 네트워크 정보 수집 모듈; 상기 수집한 정보에 기초하여 상기 소프트웨어 정의 네트워크의 장애를 감지하는 네트워크 장애 감지 모듈; 상기 장애가 감지되지 않으면, 현재의 네트워크 설정 정보를 백업하는 백업 모듈; 및In an embodiment, a control apparatus for managing a software defined network including a plurality of switches comprises: a network information collection module for collecting information of the software defined network; A network failure detection module for detecting a failure of the software defined network based on the collected information; A backup module for backing up current network configuration information if the failure is not detected; And

상기 장애가 감지되면, 백업된 네트워크 설정 정보를 이용하여 상기 소프트웨어 정의 네트워크를 복구하는 네트워크 복구 모듈을 포함한다.And a network restoration module for restoring the software defined network using the backup network configuration information when the failure is detected.

실시예에서, 제어 장치는 소프트웨어 정의 네트워크를 빠르고 용이하게 그리고 안정적으로 복구할 수 있다.In an embodiment, the control device can quickly, easily and reliably recover a software defined network.

도 1은 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크의 기본적인 구조를 보여주는 블록도이다.
도 2는 본 발명의 실시예에 따른 제어 장치의 구조를 보여주는 블록도이다.
도 3은 본 발명의 실시예에 따른 스위치의 구조를 보여주는 블록도이다.
도 4는 본 발명의 실시예에 따른 소프트웨어 정의 네트워크의 동작을 보여주는 래더 다이어그램이다.
도 5는 본 발명의 실시예에 따른 네트워크 장애 복구 방법을 보여주는 흐름도이다.
도 6과 도 7은 본 발명의 실시예에 따른 네트워크 장애 감지 방법을 보여주는 흐름도이다.
도 8은 본 발명의 실시예에 따른 네트워크 복구 방법을 보여주는 흐름도이다.
도 9는 본 발명의 실시예에 따른 스위치 교체 지원 방법을 보여주는 흐름도이다.
1 is a block diagram illustrating a basic structure of a software defined network according to an embodiment of the present invention.
2 is a block diagram showing the structure of a control apparatus according to an embodiment of the present invention.
3 is a block diagram illustrating a structure of a switch according to an embodiment of the present invention.
4 is a ladder diagram illustrating the operation of a software defined network according to an embodiment of the present invention.
5 is a flowchart illustrating a network fault recovery method according to an embodiment of the present invention.
6 and 7 are flowcharts illustrating a network fault detection method according to an embodiment of the present invention.
8 is a flowchart illustrating a network recovery method according to an embodiment of the present invention.
9 is a flowchart illustrating a switch replacement support method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.

도 1은 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크의 기본적인 구조를 보여주는 블록도이다.1 is a block diagram illustrating a basic structure of a software defined network according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크(1)는 제어 장치(100), 복수의 네트워크 스위치(200), 복수의 서버(300)를 포함한다. 하나의 제어 장치(100)는 복수의 네트워크 스위치(200)를 관리한다.1, a software defined network 1 according to an embodiment of the present invention includes a control device 100, a plurality of network switches 200, and a plurality of servers 300. [ One control device 100 manages a plurality of network switches 200.

이하에서는, 제어 장치(100), 복수의 네트워크 스위치(200), 복수의 서버(300)를 커버하는 개념으로 노드라는 용어가 사용된다. 링크는 2개의 노드 사이의 연결을 나타낸다. 플로우는 일련의 링크들을 나타낸다. 복수의 네트워크 스위치(200), 링크, 플로우를 커버하는 개념으로 네트워크 구성 요소(network element)라는 용어가 사용된다.Hereinafter, the term "node" is used as a concept covering the control device 100, the plurality of network switches 200, and the plurality of servers 300. A link represents a connection between two nodes. A flow represents a series of links. The term network element is used to cover a plurality of network switches 200, links, and flows.

서버(300)는 다른 서버에 보내기 위한 패킷을 생성하여 네트워크 인터페이스의 포트를 통해 스위치(200)로 패킷을 전송한다.The server 300 generates a packet for sending to another server and transmits the packet to the switch 200 through the port of the network interface.

스위치(200)는 서버(300) 또는 다른 스위치로부터 패킷을 수신하면, 플로우 테이블에 기초하여 패킷을 스위칭한다. 이때, 플로우 테이블이 패킷 스위칭을 위한 플로우 엔트리를 가지지 않는다면, 스위치(200)는 제어 장치(100)에 이벤트를 전송하거나 플로우 룰 요구 메시지를 전송한다.When the switch 200 receives a packet from the server 300 or another switch, it switches the packet based on the flow table. At this time, if the flow table does not have a flow entry for packet switching, the switch 200 transmits an event to the controller 100 or transmits a flow rule request message.

제어 장치(100)는 복수의 스위치(200)의 플로우 테이블들을 관리한다. The control device 100 manages the flow tables of the plurality of switches 200.

다음은 도 2를 참조하여 본 발명의 실시예에 따른 제어 장치(100)의 구조를 설명한다.Next, the structure of the control apparatus 100 according to the embodiment of the present invention will be described with reference to FIG.

도 2는 본 발명의 실시예에 따른 제어 장치의 구조를 보여주는 블록도이다.2 is a block diagram showing the structure of a control apparatus according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 실시예에 따른 제어 장치(100)는 네트워크 설정 모듈(103), 네트워크 설정 정보 저장소(106), 네트워크 링크 정보 수집 모듈(110), 네트워크 링크 동작 상태 수집 모듈(120), 네트워크 링크 사용량 수집 모듈(130), 네트워크 토폴로지 정보 수집 모듈(140), 네크워크 플로우 정보 수집 모듈(150), 네트워크 장애 감지 모듈(160), 백업 모듈(170), 백업 정보 저장소(180), 네트워크 복구 모듈(190), 디스플레이부(193), 및 사용자 입력부(195)를 포함한다.2, the control apparatus 100 according to an exemplary embodiment of the present invention includes a network setting module 103, a network setting information storage 106, a network link information collection module 110, Module 120, a network link usage collection module 130, a network topology information collection module 140, a network flow information collection module 150, a network failure detection module 160, a backup module 170, 180, a network recovery module 190, a display unit 193, and a user input unit 195.

네트워크 설정 모듈(103)는 네트워크 설정 정보를 이용하여 소프트웨어 정의 네트워크(10)를 설정한다.The network setting module 103 sets the software defined network 10 using the network setting information.

네트워크 설정 정보 저장소(106)는 네트워크 설정 정보를 저장한다. The network setting information storage 106 stores network setting information.

네트워크 링크 정보 수집 모듈(110)은 네트워크 링크 정보를 수집한다.The network link information collection module 110 collects network link information.

네트워크 링크 동작 상태 수집 모듈(120)은 네트워크 링크 동작 상태 정보를 수집한다.The network link operation status collection module 120 collects network link operation status information.

네트워크 링크 사용량 수집 모듈(130)은 네트워크 링크 사용량 정보를 수집한다.The network link usage collection module 130 collects network link usage information.

네트워크 토폴로지 정보 수집 모듈(140)은 네트워크 토폴로지 정보를 수집한다.The network topology information collection module 140 collects network topology information.

네크워크 플로우 정보 수집 모듈(150)은 네크워크 플로우 정보를 수집한다.The network flow information collection module 150 collects network flow information.

네트워크 장애 감지 모듈(160)은 소프트웨어 정의 네트워크(10)의 장애를 감지한다.The network failure detection module 160 detects the failure of the software defined network 10.

백업 모듈(170)은 네트워크 정보를 백업 정보 저장소(180)에 백업한다.The backup module 170 backs up network information to the backup information store 180. [

백업 정보 저장소(180)는 네트워크 정보를 보관한다.The backup information store 180 stores network information.

네트워크 복구 모듈(190)은 백업된 네트워크 설정 정보를 이용하여 네트워크를 복구한다.The network recovery module 190 restores the network using the backup network setting information.

디스플레이부(193)는 다양한 정보를 디스플레이한다.The display unit 193 displays various information.

사용자 입력부(195)는 다양한 사용자 입력을 획득한다.The user input unit 195 obtains various user inputs.

다음은 도 3을 참조하여 본 발명의 실시예에 따른 스위치(200)의 구조를 설명한다.Next, the structure of the switch 200 according to the embodiment of the present invention will be described with reference to FIG.

도 3은 본 발명의 실시예에 따른 스위치의 구조를 보여주는 블록도이다.3 is a block diagram illustrating a structure of a switch according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 본 발명의 실시예에 따른 스위치(200)는 복수의 포트(210), 스위칭 모듈(220), 플로우 테이블 저장부(230), 플로우 테이블 관리 모듈(240)를 포함한다.3, the switch 200 according to the embodiment of the present invention includes a plurality of ports 210, a switching module 220, a flow table storage unit 230, and a flow table management module 240 do.

플로우 테이블 저장부(230)는 플로우 테이블을 가진다.The flow table storage unit 230 has a flow table.

스위칭 모듈(220)은 플로우 테이블에 기초하여 패킷 스위칭을 수행한다. 이때, 복수의 포트(210) 중 한 포트를 통해 패킷이 수신되면, 스위칭 모듈(220)은 플로우 테이블에 기초하여 복수의 포트(210) 중 어떤 포트로 수신 패킷을 출력할 지를 결정하고, 결정한 포트로 수신 패킷을 출력한다.The switching module 220 performs packet switching based on the flow table. At this time, when a packet is received through one port of the plurality of ports 210, the switching module 220 determines which port of the plurality of ports 210 to output the received packet based on the flow table, As shown in FIG.

플로우 테이블 관리 모듈(240)은 플로우 테이블 저장부(230)의 플로우 테이블을 업데이트가 필요한지를 확인하고, 제어 장치(100)의 플로우 테이블 수정 요청에 따라 플로우 테이블을 수정한다.The flow table management module 240 checks whether the flow table of the flow table storage unit 230 needs updating and corrects the flow table according to the flow table modification request of the controller 100. [

다음은 도 4를 참조하여 본 발명의 실시예에 따른 소프트웨어 정의 네트워크의 동작을 설명한다.The operation of a software defined network according to an embodiment of the present invention will now be described with reference to FIG.

도 4는 본 발명의 실시예에 따른 소프트웨어 정의 네트워크의 동작을 보여주는 래더 다이어그램이다.4 is a ladder diagram illustrating the operation of a software defined network according to an embodiment of the present invention.

제어 장치(100)에 전달이 요구되는 이벤트가 네트워크 스위치(200)에서 발생하면(S101), 네트워크 스위치(200)의 플로우 테이블 관리 모듈(240)은 이벤트를 제어 장치(100)에 전달한다(S103).The flow table management module 240 of the network switch 200 transmits an event to the control device 100 (S103) when an event requiring the delivery to the control device 100 occurs in the network switch 200 (S101) ).

실시예에서, 네트워크 스위치(200)의 플로우 테이블 관리 모듈(240)은 플로우 룰 요구 메시지를 제어 장치(100)에 전달할 수도 있다. 플로우 룰 요구 메시지는 플로우 룰을 요구하는 메시지이며, 플로우 룰은 플로우 테이블일 수 있다.In an embodiment, the flow table management module 240 of the network switch 200 may communicate a flow rule request message to the control device 100. The flow rule request message is a message requesting a flow rule, and the flow rule may be a flow table.

제어 장치(100)의 네트워크 설정 모듈(103)은 수신한 이벤트에 기초하여 이벤트를 전송한 네트워크 스위치(200)의 플로우 테이블의 수정이 필요한지를 체크한다(S105).The network setting module 103 of the control device 100 checks whether the flow table of the network switch 200 that transmitted the event needs to be modified based on the received event (S105).

실시예에서, 이벤트가 네트워크 스위치(200)의 초기화, 네트워크 스위치(200)의 턴온, 플로우 테이블에 규정되지 않은 패킷의 네트워크 스위치(200)에 유입 중 어느 하나에 해당하면, 제어 장치(100)의 네트워크 설정 모듈(103)는 네트워크 스위치(200)의 플로우 테이블의 수정이 필요하다고 판단할 수 있다.In the embodiment, if the event corresponds to any of the initialization of the network switch 200, the turn-on of the network switch 200, and the entry into the network switch 200 of a packet not specified in the flow table, The network setting module 103 can determine that the flow table of the network switch 200 needs to be modified.

한편, 제어 장치(100)의 네트워크 설정 모듈(103)는 수신한 이벤트에 기초하여 이벤트를 전송한 네트워크 스위치(200) 이외의 네트워크 스위치의 플로우 테이블의 수정이 필요한지를 체크할 수도 있다. 예컨데, 발생한 이벤트에 해당하는 네트워크 스위치(200)의 플로우 테이블이 수정되면, 패킷의 스위칭 처리(action)가 수정되어 패킷의 경로가 변경될 수 있다. 이에 따라 변경되는 경로의 반영을 위하여 이벤트를 전송한 네트워크 스위치(200) 이외의 네트워크 스위치의 플로우 테이블의 수정이 필요할 수 있다.On the other hand, the network setting module 103 of the control device 100 may check whether or not the flow table of the network switch other than the network switch 200 that transmitted the event needs to be modified based on the received event. For example, if the flow table of the network switch 200 corresponding to the generated event is modified, the packet switching action may be modified to change the packet route. Accordingly, it may be necessary to modify the flow table of the network switch other than the network switch 200 that transmitted the event to reflect the changed path.

네트워크 스위치(200)의 플로우 테이블의 수정이 필요하면, 제어 장치(100)의 네트워크 설정 모듈(103)는 네트워크 스위치(200)의 플로우 테이블을 수정하고(S107), 네트워크 스위치(200)의 플로우 테이블의 수정 내용을 포함하는 플로우 테이블 수정 요청 메시지를 네트워크 스위치(200)에 전송한다(S109).If the flow table of the network switch 200 needs to be modified, the network setting module 103 of the control device 100 modifies the flow table of the network switch 200 (S107) To the network switch 200 (Step S109).

실시예에서, 네트워크 스위치(200)가 플로우 룰 요구 메시지를 제어 장치(100)에 전송한 경우, 제어 장치(100)의 네트워크 설정 모듈(103)는 네트워크 스위치(200)에 플로우 룰을 제공할 수 있다.The network setting module 103 of the control device 100 may provide a flow rule to the network switch 200. The flow rule request message may be provided to the network switch 200 by the network switch 200, have.

이벤트를 전송한 네트워크 스위치(200) 이외의 네트워크 스위치의 플로우 테이블의 수정이 필요하면, 제어 장치(100)의 네트워크 설정 모듈(103)은 수정이 필요한 플로우 테이블에 해당하는 네트워크 스위치에도 플로우 테이블 수정 요청 메시지를 전송할 수 있다.When it is necessary to modify the flow table of the network switch other than the network switch 200 that has transmitted the event, the network setting module 103 of the control device 100 requests the network switch corresponding to the flow table requiring modification, Message can be transmitted.

네트워크 스위치(200)의 플로우 테이블 관리 모듈(240)은 플로우 테이블 수정 요청 메시지에 기초하여 자신의 플로우 테이블을 수정한다(S111).The flow table management module 240 of the network switch 200 modifies its own flow table based on the flow table modification request message (S111).

이후, 네트워크 스위치(200)의 스위칭 모듈(220)은 수정된 플로우 테이블에 기초하여 패킷 스위칭을 수행한다(S115).Thereafter, the switching module 220 of the network switch 200 performs packet switching based on the modified flow table (S115).

구제적으로, 스위칭 모듈(220)은 유입된 패킷이 만족하는 매칭 필드를 가진 플로우 엔트리를 찾고, 유입된 패킷에 대해 플로우 엔트리의 액션을 수행하며, 카운터를 증가시킬 수 있다. 이때, 액션은 유입된 패킷을 어떤 포트로 출력할지를 나타낼 수 있다.As a remedy, the switching module 220 may find a flow entry with a matching field that the incoming packet satisfies, perform an action of the flow entry on the incoming packet, and increment the counter. At this time, the action can indicate to which port the incoming packet is output.

다음은 도 5를 참고하여 본 발명의 실시예에 따른 네트워크 장애 복구 방법을 설명한다.Next, a network failure recovery method according to an embodiment of the present invention will be described with reference to FIG.

도 5는 본 발명의 실시예에 따른 네트워크 장애 복구 방법을 보여주는 흐름도이다.5 is a flowchart illustrating a network fault recovery method according to an embodiment of the present invention.

제어 장치(100)의 네트워크 링크 정보 수집 모듈(110)은 소프트웨어 정의 네트워크(10) 상의 복수의 링크에 대한 물리적 링크 정보를 수집한다(S301).The network link information collection module 110 of the control device 100 collects physical link information for a plurality of links on the software defined network 10 (S301).

링크는 한 노드의 포트와 다른 노드의 포트 사이의 연결을 나타낼 수 있다. 여기서 노드는 서버, 스위치, 라우터 등 네트워크의 구성 요소를 나타낼 수 있다.A link can represent a connection between a port on one node and a port on another node. Here, a node may represent a component of a network, such as a server, a switch, or a router.

물리적 링크 정보는 링크의 대역폭에 대한 정보, 어떠한 노드들이 링크를 형성하는지에 대한 정보, 노드들의 어떠한 포트들이 링크를 형성하는지에 대한 정보를 포함할 수 있다.The physical link information may include information about the bandwidth of the link, information about which nodes form a link, and which ports of the nodes form a link.

제어 장치(100)의 네트워크 링크 동작 상태 수집 모듈(120)은 각 링크가 현재 동작을 하고 있는지 혹은 다운되어 있는 지에 대한 동작 상태를 수집한다(S303). 네트워크 링크 동작 상태 정보는 후술하는 개별 링크 오류율에 대한 정보를 포함할 수 있다.The network link operation state collecting module 120 of the control device 100 collects operation states as to whether each link is currently operating or down (S303). The network link operation status information may include information on an individual link error rate described later.

제어 장치(100)의 네트워크 링크 사용량 수집 모듈(130)은 각 링크의 사용량을 수집한다(S305). The network link usage amount collection module 130 of the control device 100 collects the usage amount of each link (S305).

제어 장치(100)의 네트워크 토폴로지 정보 수집 모듈(140)은 소프트웨어 정의 네트워크(140)의 구성에 대한 정보를 수집한다(S307). 네트워크 토폴로지 정보는 개별 스위치 오류율에 대한 정보, 개별 스위치 부하에 대한 정보를 포함할 수 있다.The network topology information collection module 140 of the control device 100 collects information on the configuration of the software defined network 140 (S307). The network topology information may include information on individual switch error rates, information on individual switch loads.

제어 장치(100)의 네크워크 플로우 정보 수집 모듈(150)은 소프트웨어 정의 네트워크(10) 상에 존재하는 플로우에 대한 정보를 수집한다(S309). 플로우 정보는 소프트웨어 정의 네트워크(10) 상에 어떠한 플로우들이 존재하는지에 대한 정보, 개별 플로우 오류율에 대한 정보, 개별 플로우 부하에 대한 정보를 포함할 수 있다.The network flow information collection module 150 of the control device 100 collects information about the flows existing on the software defined network 10 (S309). The flow information may include information on what flows are present on the software defined network 10, information on the individual flow error rate, and information on individual flow loads.

제어 장치(100)의 네트워크 장애 감지 모듈(160)은 수집된 정보에 기초하여 소프트웨어 정의 네트워크(10)의 장애를 감지한다(S311). 구체적인 네트워크 장애 감지 방법에 대해서는 후술한다.The network failure detection module 160 of the control device 100 detects a failure of the software defined network 10 based on the collected information (S311). A concrete network fault detection method will be described later.

소프트웨어 정의 네트워크(10)의 장애가 감지되지 않으면, 제어 장치(100)의 백업 모듈(170)은 장애가 감지되지 않은 시점의 현재의 네트워크 정보를 백업 정보 저장소(180)에 저장한다(S313). If the failure of the software defined network 10 is not detected, the backup module 170 of the control device 100 stores the current network information at the time when the failure is not detected in the backup information storage 180 (S313).

현재의 네트워크 정보는 네트워크 정보가 수집된 시간에 대한 정보, 현재의 네트워크 설정 정보, 현재의 네트워크 링크 정보, 현재의 네트워크 링크 동작 상태 정보, 현재의 네트워크 링크 사용량 정보, 현재의 네트워크 토폴로지 정보 및 현재의 네트워크 플로우 정보 중 하나 이상을 포함할 수 있다. The current network information includes information about the time at which the network information was collected, current network configuration information, current network link information, current network link operation status information, current network link usage information, current network topology information, And network flow information.

현재의 네트워크 정보는 후술하는 개별 링크 오류율, 개별 스위치 오류율, 개별 플로우 에러율, 개별 링크 부하, 개별 스위치 부하, 개별 플로우 부하, 전체 링크 오류율, 전체 스위치 오류율, 전체 플로우 에러율, 링크 부하 분산, 스위치 부하 분산, 플로우 부하 분산, 전체 네트워크 장애 정도 중 적어도 하나를 더 포함할 수 있다.Current network information includes information such as individual link error rate, individual switch error rate, individual flow error rate, individual link load, individual switch load, individual flow load, total link error rate, total switch error rate, , Flow load balancing, and degree of total network failure.

제어 장치(100)의 백업 모듈(170)은 장애가 감지되지 않은 시점의 백업 정보를 백업 정보 저장소(180)에 주기적으로 저장할 수 있다.The backup module 170 of the controller 100 may periodically store the backup information in the backup information storage 180 when the failure is not detected.

네트워크 설정 정보는 소프트웨어 정의 네트워크(10)를 동작시키기 위하여 소프트웨어 정의 네트워크(10)에 설정되는 설정 값들의 집합을 나타낼 수 있다. 네트워크 설정 정보는 소프트웨어 정의 네트워크(10) 내의 복수의 스위치(200)를 위한 스위치 설정 정보를 포함할 수 있다. 스위치 설정 정보는 해당 스위치(200)를 동작시키기 위하여 스위치(200)에 설정되는 설정 값들의 집합을 나타낼 수 있다. 스위치 설정 정보는 해당 스위치(200)의 플로우 테이블을 포함할 수 있다.The network configuration information may represent a set of settings that are set in the software defined network 10 to operate the software defined network 10. The network configuration information may include switch configuration information for a plurality of switches 200 in the software defined network 10. [ The switch setting information may indicate a set of set values that are set in the switch 200 to operate the corresponding switch 200. [ The switch setting information may include a flow table of the corresponding switch 200.

플로우 테이블은 복수의 플로우 엔트리를 포함할 수 있다. 각 플로우 엔트리는 조건에 해당하는 매칭 필드, 액션, 카운터를 포함할 수 있다. 매칭 필드는 액션을 수행하기 위한 조건을 나타내고, 액션은 매칭 필드가 나타내는 조건이 만족되었을 때의 처리를 나타내고, 카운터는 얼마나 많은 액션이 수행되었는지를 나타낼 수 있다.The flow table may include a plurality of flow entries. Each flow entry may include matching fields, actions, and counters corresponding to the conditions. The matching field indicates the condition for performing the action, the action indicates the process when the condition indicated by the matching field is satisfied, and the counter can indicate how many actions have been performed.

네트워크 설정 정보의 저장 시점이 오래된 것일수록 네트워크 설정 정보의 저장 시간 간격이 길어지도록 제어 장치(100)의 백업 모듈(170)은 과거의 백업 정보를 삭제할 수 있다.The backup module 170 of the control device 100 can delete the backup information in the past so that the storage time interval of the network setting information becomes longer as the storage time of the network setting information is longer.

예컨데, 백업 모듈(170)은 표 1에서와 같이 백업 정보를 관리할 수 있다. 표 1에서, 백업 모듈(170)은 일년 이전에 저장된 백업 정보에 대해서 일년 간격에 해당하는 백업 정보만을 남기고 나머지를 삭제할 수 있다. 또, 백업 모듈(170)은 한달 전부터 일년 이전까지의 기간에 저장된 백업 정보에 대해서 1달 간격에 해당하는 백업 정보만을 남기고 나머지를 삭제할 수 있다For example, the backup module 170 can manage the backup information as shown in Table 1. In Table 1, the backup module 170 can delete only the backup information corresponding to the one-year interval with respect to the backup information stored one year before. In addition, the backup module 170 can delete the rest of the backup information stored in the period from one month before to one year before, leaving only backup information corresponding to one month interval

백업 정보의 저장 기간Storage period of backup information 저장 시간 간격Storage time interval 현재 - 1일 전Currently - 1 day ago 1시간1 hours 1일 전 - 일주일 전1 day ago - 1 week ago 1일1 day 일주일 전 - 한달 전A week ago - a month ago 1주1 week 한달 전 - 일년 전A month ago - a year ago 1달1 month 일년 전 - One year ago - 1년1 year

소프트웨어 정의 네트워크(10)의 장애가 감지되면, 제어 장치(100)의 네트워크 복구 모듈(190)은 장애가 감지되지 않은 시점의 네트워크 설정 정보를 이용하여 소프트웨어 정의 네트워크(10)를 복구한다(S315). 구체적인 네트워크 복구 방법에 대해서는 후술한다.If a failure of the software defined network 10 is detected, the network repair module 190 of the control device 100 restores the software defined network 10 using the network setting information at the time when the failure is not detected (S315). A concrete network restoration method will be described later.

다음은 도 6과 도 7을 참고하여 네트워크 장애를 감지하는 방법을 설명한다.Next, a method of detecting a network failure will be described with reference to FIG. 6 and FIG.

도 6과 도 7은 본 발명의 실시예에 따른 네트워크 장애 감지 방법을 보여주는 흐름도이다.6 and 7 are flowcharts illustrating a network fault detection method according to an embodiment of the present invention.

제어 장치(100)의 네트워크 링크 정보 수집 모듈(110)은 소프트웨어 정의 네트워크(10)의 복수의 링크에 각각 대응하는 복수의 개별 링크 오류율(individual link error rate)을 획득한다(S501). 개별 링크 오류율은 해당 링크에서 얼마만큼 패킷 전달이 실패하는지를 나타낼 수 있다.The network link information collection module 110 of the control device 100 acquires a plurality of individual link error rates corresponding to the plurality of links of the software defined network 10 (S501). The individual link error rate may indicate how much packet transmission fails on that link.

제어 장치(100)의 네트워크 장애 감지 모듈(160)은 복수의 개별 링크 오류율 각각을 기준값과 비교한다(S503).The network failure detection module 160 of the control device 100 compares each of the plurality of individual link error rates with a reference value (S503).

복수의 개별 링크 오류율 중에서 한 오류율이 기준값보다 크면, 제어 장치(100)의 네트워크 장애 감지 모듈(160)는 소프트웨어 정의 네트워크(10)에 장애가 발생했다고 판단하고, 기준값보다 큰 오류율을 가진 링크에 장애가 발생했다고 판단하며, 장애의 종류를 링크 장애로 결정한다(S505).If the error rate of the plurality of individual link error rates is larger than the reference value, the network failure detection module 160 of the control device 100 determines that a failure has occurred in the software defined network 10, , And determines the type of the failure as a link failure (S505).

제어 장치(100)의 네트워크 링크 정보 수집 모듈(110)은 소프트웨어 정의 네트워크(10)의 복수의 링크에 각각 대응하는 복수의 개별 링크 부하(individual link load)을 획득한다(S506). 개별 링크 부하는 해당 링크의 대역폭 중에서 얼마만큼이 사용되고 있는지를 나타낼 수 있다. 큰 개별 링크 부하는 해당 링크에 많은 트래픽이 발생하였음을 의미할 수 있다.The network link information collection module 110 of the control device 100 acquires a plurality of individual link loads corresponding to the plurality of links of the software defined network 10 (S506). The individual link load can indicate how much of the bandwidth of the link is being used. A large individual link load may mean that a lot of traffic has occurred on the link.

제어 장치(100)의 네트워크 장애 감지 모듈(160)는 복수의 개별 링크 부하 각각을 기준값과 비교한다(S508).The network failure detection module 160 of the control device 100 compares each of the plurality of individual link loads with a reference value (S508).

복수의 개별 링크 부하 중에서 한 개별 링크 부하가 기준값보다 크면, 제어 장치(100)의 네트워크 장애 감지 모듈(160)는 소프트웨어 정의 네트워크(10)에 장애가 발생했다고 판단하고, 기준값보다 큰 부하를 가진 링크에 장애가 발생했다고 판단하며, 장애의 종류를 링크 장애로 결정한다(S509).The network fault detection module 160 of the control device 100 determines that a fault has occurred in the software defined network 10 and the link having a load larger than the reference value is connected to the link It is determined that a failure has occurred, and the type of failure is determined to be a link failure (S509).

제어 장치(100)의 네트워크 토폴로지 정보 수집 모듈(140)은 소프트웨어 정의 네트워크(10)의 복수의 스위치에 각각 대응하는 복수의 개별 스위치 오류율(individual switch error rate)을 획득한다(S511). 개별 스위치 오류율은 해당 스위치에서 얼마만큼 패킷 전달이 실패하는지를 나타낼 수 있다.The network topology information collection module 140 of the control device 100 acquires a plurality of individual switch error rates corresponding to the plurality of switches of the software defined network 10 (S511). The individual switch error rate can indicate how much packet transmission fails in the switch.

제어 장치(100)의 네트워크 장애 감지 모듈(160)는 복수의 개별 스위치 오류율 각각을 기준값과 비교한다(S513).The network failure detection module 160 of the control device 100 compares each of the plurality of individual switch error rates with a reference value (S513).

복수의 개별 스위치 오류율 중에서 한 오류율이 기준값보다 크면, 제어 장치(100)의 네트워크 장애 감지 모듈(160)는 소프트웨어 정의 네트워크(10)에 장애가 발생했다고 판단하고, 기준값보다 큰 오류율을 가진 스위치에 장애가 발생했다고 판단하며, 장애의 종류를 스위치 장애로 결정한다(S515).If one error rate among the plurality of individual switch error rates is larger than the reference value, the network failure detection module 160 of the control device 100 determines that a failure has occurred in the software defined network 10 and a failure occurs in the switch having an error rate larger than the reference value And determines the type of the failure as a switch failure (S515).

제어 장치(100)의 네트워크 토폴로지 정보 수집 모듈(140)은는 소프트웨어 정의 네트워크(10)의 복수의 스위치에 각각 대응하는 복수의 개별 스위치 부하(individual switch load)을 획득한다(S516). The network topology information collection module 140 of the control device 100 acquires a plurality of individual switch loads corresponding to the plurality of switches of the software defined network 10 (S516).

개별 스위치 부하는 해당 스위치의 처리 능력 중에서 얼마만큼이 사용되고 있는지를 나타낼 수 있다. 큰 개별 링크 부하는 해당 스위치가 많은 트래픽을 처리하고 있음을 의미할 수 있다.The individual switch load can indicate how much of the processing power of that switch is being used. A large individual link load can mean that the switch is handling a lot of traffic.

제어 장치(100)의 네트워크 장애 감지 모듈(160)는 복수의 개별 스위치 부하 각각을 기준값과 비교한다(S518).The network failure detection module 160 of the control device 100 compares each of the plurality of individual switch loads with a reference value (S518).

복수의 개별 스위치 부하 중에서 한 스위치 부하가 기준값보다 크면, 제어 장치(100)의 네트워크 장애 감지 모듈(160)는 소프트웨어 정의 네트워크(10)에 장애가 발생했다고 판단하고, 기준값보다 큰 부하를 가진 스위치에 장애가 발생했다고 판단하며, 장애의 종류를 스위치 장애로 결정한다(S519). 이때, 기준값은 전체 스위치 부하를 나타낼 수 있고, 전체 스위치 부하는 복수의 개별 스위치 부하의 평균을 나타낼 수 있다.If the load of one switch among the plurality of individual switch loads is larger than the reference value, the network failure detection module 160 of the control device 100 determines that a failure has occurred in the software defined network 10, And determines the type of failure as a switch failure (S519). At this time, the reference value may represent the total switch load, and the total switch load may represent the average of a plurality of individual switch loads.

제어 장치(100)의 네크워크 플로우 정보 수집 모듈(150)은 소프트웨어 정의 네트워크(10)의 복수의 플로우에 각각 대응하는 복수의 개별 플로우 오류율(individual flow error rate)을 획득한다(S521). 개별 플로우 부하는 해당 플로우의 대역폭 중에서 얼마만큼이 사용되고 있는지를 나타낼 수 있다. 큰 개별 플로우 부하는 해당 플로우에 많은 트래픽이 발생하였음을 의미할 수 있다.The network flow information collection module 150 of the control device 100 acquires a plurality of individual flow error rates corresponding to the plurality of flows of the software defined network 10 (S521). An individual flow load may indicate how much of the bandwidth of the flow is being used. A large individual flow load can mean that a lot of traffic has occurred in the flow.

제어 장치(100)의 네트워크 장애 감지 모듈(160)는 복수의 개별 플로우 오류율 각각을 기준값과 비교한다(S523).The network failure detection module 160 of the control device 100 compares each of the plurality of individual flow error rates with a reference value (S523).

복수의 개별 플로우 오류율 중에서 한 오류율이 기준값보다 크면, 제어 장치(100)의 네트워크 장애 감지 모듈(160)는 소프트웨어 정의 네트워크(10)에 장애가 발생했다고 판단하고, 기준값보다 큰 오류율을 가진 플로우에 장애가 발생했다고 판단하며, 장애의 종류를 플로우 장애로 결정한다(S525). If the error rate of the plurality of individual flow error rates is larger than the reference value, the network failure detection module 160 of the control device 100 determines that a failure has occurred in the software defined network 10 and a failure occurs in the flow having an error rate larger than the reference value , And determines the type of the fault as a flow failure (S525).

제어 장치(100)의 네크워크 플로우 정보 수집 모듈(150)은 소프트웨어 정의 네트워크(10)의 복수의 플로우에 각각 대응하는 복수의 개별 플로우 부하(individual flow load)을 획득한다(S526). 개별 플로우 부하는 해당 플로우에서 얼마만큼 패킷 전달이 실패하는지를 나타낼 수 있다.The network flow information collection module 150 of the control device 100 acquires a plurality of individual flow loads corresponding to the plurality of flows of the software defined network 10 (S526). An individual flow load may indicate how much packet delivery fails in the flow.

제어 장치(100)의 네트워크 장애 감지 모듈(160)는 복수의 개별 플로우 부하 각각을 기준값과 비교한다(S528).The network failure detection module 160 of the control device 100 compares each of the plurality of individual flow loads with a reference value (S528).

복수의 개별 플로우 부하 중에서 한 플로우 부하가 기준값보다 크면, 제어 장치(100)의 네트워크 장애 감지 모듈(160)는 소프트웨어 정의 네트워크(10)에 장애가 발생했다고 판단하고, 기준값보다 큰 플로우 부하를 가진 플로우에 장애가 발생했다고 판단하며, 장애의 종류를 플로우 장애로 결정한다(S529). 이때, 기준값은 전체 플로우 부하를 나타낼 수 있고, 전체 플로우 부하는 복수의 개별 플로우 부하의 평균을 나타낼 수 있다.If one of the plurality of individual flow loads is larger than the reference value, the network failure detection module 160 of the control device 100 determines that a failure has occurred in the software defined network 10 and the flow has a flow load larger than the reference value It is determined that a fault has occurred, and the type of fault is determined to be a flow fault (S529). At this time, the reference value may represent the entire flow load, and the entire flow load may represent an average of a plurality of individual flow loads.

제어 장치(100)의 네트워크 링크 정보 수집 모듈(110)은 복수의 개별 링크 오류율로부터 전체 링크 오류율을 획득한다(S531). 제어 장치(100)는 복수의 개별 링크 오류율의 평균값에 기초하여 전체 링크 오류율을 결정할 수 있다. 특히, 제어 장치(100)는 복수의 개별 링크 오류율의 평균값을 전체 링크 오류율로 간주할 수 있다. 제어 장치(100)는 복수의 개별 링크 오류율의 가중 평균을 수행할 수도 있다. 이때, 복수의 개별 링크 오류율에는 복수의 가중치가 적용된다. 복수의 가중치의 각각은 링크의 중요도를 나타낼 수 있다.The network link information collection module 110 of the control device 100 obtains the total link error rate from a plurality of individual link error rates (S531). The control device 100 can determine the total link error rate based on the average value of the plurality of individual link error rates. In particular, the control apparatus 100 can regard the average value of a plurality of individual link error rates as a total link error rate. The control device 100 may perform a weighted average of a plurality of individual link error rates. At this time, a plurality of weight values are applied to a plurality of individual link error rates. Each of the plurality of weights may indicate the importance of the link.

제어 장치(100)의 네트워크 토폴로지 정보 수집 모듈(140)은는 복수의 개별 스위치 오류율로부터 전체 스위치 오류율을 획득한다(S533). 제어 장치(100)는 복수의 개별 스위치 오류율의 평균값에 기초하여 전체 스위치 오류율을 결정할 수 있다. 특히, 제어 장치(100)는 복수의 개별 스위치 오류율의 평균값을 전체 스위치 오류율로 간주할 수 있다. 제어 장치(100)는 복수의 개별 스위치 오류율의 가중 평균을 수행할 수도 있다. 이때, 복수의 개별 스위치 오류율에는 복수의 가중치가 적용된다. 복수의 가중치의 각각은 스위치의 중요도를 나타낼 수 있다.The network topology information collection module 140 of the control device 100 obtains the total switch error rate from a plurality of individual switch error rates (S533). The control device 100 can determine the total switch error rate based on the average value of the plurality of individual switch error rates. In particular, the control device 100 can regard the average value of the plurality of individual switch error rates as the total switch error rate. The control device 100 may perform a weighted average of a plurality of individual switch error rates. At this time, a plurality of weight values are applied to the plurality of individual switch error rates. Each of the plurality of weights may indicate the importance of the switch.

제어 장치(100)의 네크워크 플로우 정보 수집 모듈(150)은 복수의 개별 플로우 오류율로부터 전체 플로우 오류율을 획득한다(S535). 제어 장치(100)는 복수의 개별 플로우 오류율의 평균값에 기초하여 전체 플로우 오류율을 결정할 수 있다. 특히, 제어 장치(100)는 복수의 개별 플로우 오류율의 평균값을 전체 플로우 오류율로 간주할 수 있다. 제어 장치(100)는 복수의 개별 플로우 오류율의 가중 평균을 수행할 수도 있다. 이때, 복수의 개별 플로우 오류율에는 복수의 가중치가 적용된다. 복수의 가중치의 각각은 플로우의 중요도를 나타낼 수 있다.The network flow information collection module 150 of the control device 100 obtains the total flow error rate from a plurality of individual flow error rates (S535). The control device 100 can determine the overall flow error rate based on the average value of the plurality of individual flow error rates. In particular, the control device 100 can regard the average value of the plurality of individual flow error rates as the total flow error rate. The control device 100 may perform a weighted average of a plurality of individual flow error rates. At this time, a plurality of weights are applied to the plurality of individual flow error rates. Each of the plurality of weights may indicate the importance of the flow.

제어 장치(100)의 네트워크 링크 정보 수집 모듈(110)은 복수의 개별 링크 부하로부터 링크 부하 분산을 획득한다(S536). 링크 부하 분산은 전체 링크 부하가 복수의 링크에 얼마만큼 분산되어 있는지를 나타낼 수 있다.The network link information collection module 110 of the control device 100 obtains link load balancing from a plurality of individual link loads (S536). The link load distribution may indicate how much the total link load is distributed over a plurality of links.

제어 장치(100)의 네트워크 토폴로지 정보 수집 모듈(140)은는 복수의 개별 스위치 부하로부터 스위치 부하 분산을 획득한다(S538). 스위치 부하 분산은 전체 스위치 부하가 복수의 스위치에 얼마만큼 분산되어 있는지를 나타낼 수 있다.The network topology information collection module 140 of the control device 100 obtains switch load balancing from a plurality of individual switch loads (S538). The switch load distribution can indicate how much the entire switch load is distributed to the plurality of switches.

제어 장치(100)의 네크워크 플로우 정보 수집 모듈(150)은 복수의 개별 플로우 부하로부터 플로우 부하 분산을 획득한다(S539). 플로우 부하 분산은 전체 플로우 부하가 복수의 플로우에 얼마만큼 분산되어 있는지를 나타낼 수 있다.The network flow information collection module 150 of the control device 100 obtains the flow load distribution from a plurality of individual flow loads (S539). The flow load distribution may indicate how much the entire flow load is distributed to a plurality of flows.

제어 장치(100)의 네트워크 장애 감지 모듈(160)는 전체 링크 오류율, 전체 스위치 오류율, 전체 플로우 오류율, 링크 부하 분산, 스위치 부하 분산, 플로우 부하 분산에 기초하여 소프트웨어 정의 네트워크(10)의 전체 네트워크 장애 정도를 결정한다(S541). 제어 장치(100)는 전체 링크 오류율, 전체 스위치 오류율, 전체 플로우 오류율, 링크 부하 분산, 스위치 부하 분산, 플로우 부하 분산의 평균값에 기초하여 전체 네트워크 장애 정도를 결정할 수 있다. 특히, 제어 장치(100)는 전체 링크 오류율, 전체 스위치 오류율, 전체 플로우 오류율, 링크 부하 분산, 스위치 부하 분산, 플로우 부하 분산의 평균값을 전체 네트워크 장애 정도로 간주할 수 있다. 제어 장치(100)는 전체 링크 오류율, 전체 스위치 오류율, 전체 플로우 오류율, 링크 부하 분산, 스위치 부하 분산, 플로우 부하 분산의 가중 평균을 수행할 수도 있다. 이때, 전체 링크 오류율, 전체 스위치 오류율, 전체 플로우 오류율, 링크 부하 분산, 스위치 부하 분산, 플로우 부하 분산에는 복수의 가중치가 각각 적용된다. 복수의 가중치는 전체 링크 오류율이 전체 네트워크 장애 정도에 기여하는 정도, 전체 스위치 오류율이 전체 네트워크 장애 정도에 기여하는 정도, 전체 플로우 오류율가 전체 네트워크 장애 정도에 기여하는 정도, 링크 부하 분산가 전체 네트워크 장애 정도에 기여하는 정도, 스위치 부하 분산가 전체 네트워크 장애 정도에 기여하는 정도, 플로우 부하 분산가 전체 네트워크 장애 정도에 기여하는 정도를 각각 나타낼 수 있다.The network failure detection module 160 of the control device 100 detects the total network failure of the software defined network 10 based on the total link error rate, the total switch error rate, the total flow error rate, the link load distribution, the switch load distribution, (S541). The control apparatus 100 can determine the degree of the total network failure based on the average value of the total link error rate, the total switch error rate, the total flow error rate, the link load distribution, the switch load distribution, and the flow load distribution. In particular, the control device 100 can regard the average value of the total link error rate, the total switch error rate, the total flow error rate, the link load variance, the switch load variance, and the flow load variance as a total degree of network failure. The control device 100 may perform a weighted average of the total link error rate, the total switch error rate, the total flow error rate, the link load distribution, the switch load distribution, and the flow load distribution. At this time, a plurality of weights are applied to the total link error rate, the total switch error rate, the total flow error rate, the link load distribution, the switch load distribution, and the flow load distribution. The plurality of weights are used to determine the extent to which the total link error rate contributes to the overall network failure rate, the degree to which the total switch error rate contributes to the overall network failure rate, the degree to which the overall flow error rate contributes to the overall network failure rate, Contribution contribution, switch load balancing contributes to overall network failure, and flow load balancing contributes to overall network failure.

제어 장치(100)의 네트워크 장애 감지 모듈(160)는 전체 네트워크 장애 정도를 기준값과 비교한다(S543).The network failure detection module 160 of the control device 100 compares the degree of the entire network failure with a reference value (S543).

전체 네트워크 장애 정도가 기준값보다 크면, 제어 장치(100)의 네트워크 장애 감지 모듈(160)는 소프트웨어 정의 네트워크(10)에 장애가 발생했다고 판단하고, 장애의 종류를 전체 전체 네트워크 장애로 결정한다(S545).If the total network failure degree is greater than the reference value, the network failure detection module 160 of the control device 100 determines that a failure has occurred in the software defined network 10 and determines the type of failure as the entire network failure (S545) .

전체 네트워크 장애 정도가 기준값보다 작으면, 제어 장치(100)의 네트워크 장애 감지 모듈(160)는 소프트웨어 정의 네트워크(10)에 장애가 없다고 판단한다(S547).If the total network failure degree is smaller than the reference value, the network failure detection module 160 of the control device 100 determines that there is no failure in the software defined network 10 (S547).

이처럼, 제어 장치(100)는 물리적 링크 정보, 네트워크 링크 동작 상태 정보, 네트워크 링크 사용량 정보, 네트워크 구성 정보, 네트워크 플로우 정보 중 적어도 하나를 포함하는 네트워크 정보를 수집할 수 있다. 그리고, 제어 장치(100)는 수집한 네트워크 정보에 기초하여 복수의 장애 판단 팩터를 획득한다. 이때, 복수의 장애 판단 팩터는 개별 링크 오류율, 개별 스위치 오류율, 개별 플로우 에러율, 개별 링크 부하, 개별 스위치 부하, 개별 플로우 부하, 전체 링크 오류율, 전체 스위치 오류율, 전체 플로우 에러율, 링크 부하 분산, 스위치 부하 분산, 플로우 부하 분산, 전체 네트워크 장애 정도 중 적어도 하나를 포함할 수 있다. 제어 장치(100)는 복수의 장애 판단 팩터에 복수의 가중치를 각각 적용하여 장애를 감지할 수 있다.As such, the control device 100 may collect network information including at least one of physical link information, network link operation status information, network link usage information, network configuration information, and network flow information. Then, the control device 100 acquires a plurality of failure judgment factors based on the collected network information. At this time, the plurality of failure judgment factors may include at least one of the following: individual link error rate, individual switch error rate, individual flow error rate, individual link load, individual switch load, individual flow load, total link error rate, total switch error rate, And may include at least one of dispersion, flow load balancing, and overall network failure. The control device 100 can detect a failure by applying a plurality of weight values to a plurality of failure determination factors.

이상에서는 네트워크 장애 감지 모듈(160)이 복수의 장애 판단 팩터와 같은 통계 자료를 기준값과 비교하여 장애 발생 여부를 판단하지만, 이외의 실시예 또한 본 발명에 적용가능하다. 예컨데, 여러 수집 모듈 또는 네트워크 장애 감지 모듈(160)이 복수의 장애 판단 팩터와 같은 통계 자료를 축적하고, 네트워크 장애 감지 모듈(160)이 축적된 통계 자료를 이용하여 기계 학습(machine learning)을 수행하여, 기계 학습의 결과에 따라 장애 발생 여부를 판단할 수 있다. 또한, 네트워크 장애 감지 모듈(160)은 실패 함수를 호출하여, 이 실패 함수의 결과에 따라 장애 발생 여부를 판단할 수도 있다. 이 실패 함수의 파라미터는 앞서 설명한 복수의 장애 판단 팩터 중 적어도 하나를 포함할 수 있다.In the above description, the network failure detection module 160 compares statistical data such as a plurality of failure judgment factors with reference values to determine whether a failure has occurred, but other embodiments are also applicable to the present invention. For example, various collection modules or network failure detection modules 160 accumulate statistical data such as a plurality of failure judgment factors, and the network failure detection module 160 performs machine learning using the accumulated statistical data Thus, it is possible to determine whether or not a fault has occurred according to the result of the machine learning. In addition, the network failure detection module 160 may call a failure function to determine whether a failure has occurred according to a result of the failure function. The parameters of the failure function may include at least one of the plurality of failure determination factors described above.

다음은 도 8을 참고하여 소프트웨어 정의 네트워크(10)를 복구하는 방법을 설명한다.Next, a method of recovering the software defined network 10 will be described with reference to FIG.

도 8은 본 발명의 실시예에 따른 네트워크 복구 방법을 보여주는 흐름도이다.8 is a flowchart illustrating a network recovery method according to an embodiment of the present invention.

네트워크 복구 모듈(190)은 장애의 종류에 기초하여 네트워크 복구 모드를 결정한다(S701). 장애의 종류로 링크 장애, 스위치 장애, 플로우 장애, 네트워크 장애 중 하나 이상이 사용될 수 있다. 복구 모드로 링크 복구 모드, 스위치 복구 모드, 플로우 복구 모드, 전체 복구 모드 중 하나 이상이 사용될 수 있다. 장애의 종류가 링크 장애, 스위치 장애, 플로우 장애, 네트워크 장애이면, 네트워크 복구 모듈(190)은 복구 모드를 링크 복구 모드, 스위치 복구 모드, 플로우 복구 모드, 전체 복구 모드로 각각 결정할 수 있다.The network recovery module 190 determines a network recovery mode based on the type of the failure (S701). One or more of the following types of failures can be used: link failure, switch failure, flow failure, network failure. One or more of the link recovery mode, the switch recovery mode, the flow recovery mode, and the full recovery mode may be used as the recovery mode. If the type of failure is a link failure, a switch failure, a flow failure, or a network failure, the network recovery module 190 can determine the recovery mode as a link recovery mode, a switch recovery mode, a flow recovery mode, or a full recovery mode, respectively.

네트워크 복구 모듈(190)은 결정한 복구 모드로 네트워크를 복구할 지를 묻는 질의를 디스플레이부(193)에 출력한다(S703). 이때, 네트워크 복구 모듈(190)은 결정된 복구 모드와 관련된 복구 대상 리스트를 디스플레이부(193)에 출력할 수 있다. 또한, 네트워크 복구 모듈(190)은 여러 시점의 네트워크 정보 중에서 복구에 사용할 네트워크 정보를 결정하고, 결정한 네트워크 정보의 시간 정보를 함께 디스플레이할 수도 있다.The network recovery module 190 outputs a query to the display unit 193 asking whether to restore the network in the determined recovery mode (S703). At this time, the network recovery module 190 may output the recovery target list related to the determined recovery mode to the display unit 193. In addition, the network recovery module 190 may determine network information to be used for recovery among network information at various points of time, and may display time information of the determined network information together.

네트워크 복구 모듈(190)이 여러 시점의 네트워크 정보 중에서 복구에 사용할 네트워크 정보를 결정할 때, 네트워크 복구 모듈(190)은 현재의 네트워크 토폴로지와 유사한 네트워크 토폴로지를 가지는 시점의 네트워크 정보를 복구를 위한 네트워크 정보로 결정하여 사용자에게 추천할 수 있다. 또한, 네트워크 복구 모듈(190)은 네트워크 장애 정도가 가장 작은 시점의 네트워크 정보를 복구를 위한 네트워크 정보로 결정하여 사용자에게 추천할 수 있다. 이처럼, 네트워크 복구 모듈(190)은 네트워크 토폴로지 정보 및 네트워크 장애 정도 중 적어도 하나를 이용하여 복구를 위한 네트워크 정보를 결정할 수 있다.When the network restoration module 190 determines network information to be used for restoration among network information at various points in time, the network restoration module 190 restores network information at a time point having a network topology similar to the current network topology, And recommend it to the user. In addition, the network recovery module 190 may determine network information at a point of time when the degree of network failure is smallest as network information for recovery, and recommend the network information to a user. As such, the network recovery module 190 can determine network information for recovery using at least one of the network topology information and the degree of network failure.

결정된 복구 모드가 링크 복구 모드에 해당하면, 복구 대상 리스트는 해당 링크의 장애를 제거하기 위한 네트워크 구성 요소를 포함한다. 해당 링크의 장애를 제거하기 위한 네트워크 구성 요소는 장애를 가진 링크를 우회하거나 해당 링크의 부하를 분산하기 위하여 복구될 필요가 있는 네트워크 구성 요소를 나타낼 수 있다. 예컨데, 네트워크 구성 요소는 문제의 링크 및 문제의 링크 주변의 하나 이상의 링크를 포함할 수 있다.If the determined recovery mode corresponds to the link recovery mode, the recovery target list includes a network element for removing the failure of the link. A network element for eliminating the failure of the link may represent a network element that needs to be recovered to bypass the failed link or to load balance the link. For example, a network component may include a link in question and one or more links around the link in question.

결정된 복구 모드가 스위치 복구 모드에 해당하면, 복구 대상 리스트는 해당 스위치의 장애를 제거하기 위한 네트워크 구성 요소를 포함한다. 해당 스위치의 장애를 제거하기 위한 네트워크 구성 요소는 장애를 가진 스위치를 우회하거나 해당 스위치의 부하를 분산하기 위하여 복구될 필요가 있는 네트워크 구성 요소를 나타낼 수 있다. 예컨데, 네트워크 구성 요소는 문제의 스위치 및 문제의 스위치 주변의 하나 이상의 스위치를 포함할 수 있다.If the determined rescue mode corresponds to the switch rescue mode, the rescue target list includes a network component for removing the failure of that switch. A network component for eliminating the failure of the switch may represent a network component that needs to be restored to bypass or distribute the load of the failing switch. For example, a network component may include one or more switches in the vicinity of the switch in question and the problem in question.

결정된 복구 모드가 플로우 복구 모드에 해당하면, 복구 대상 리스트는 해당 플로우의 장애를 제거하기 위한 네트워크 구성 요소를 포함한다. 해당 플로우의 장애를 제거하기 위한 네트워크 구성 요소는 장애를 가진 플로우를 우회하거나 해당 플로우의 부하를 분산하기 위하여 복구될 필요가 있는 네트워크 구성 요소를 나타낼 수 있다. 예컨데, 네트워크 구성 요소는 문제의 플로우 및 문제의 플로우 주변의 하나 이상의 플로우를 포함할 수 있다.If the determined recovery mode corresponds to the flow recovery mode, the recovery target list includes a network element for removing the fault of the flow. A network element for eliminating a fault in the flow may represent a network element that needs to be recovered to bypass a faulty flow or to load balance the flow. For example, a network component may include one or more flows around a problem flow and a problem flow.

결정된 복구 모드가 전체 복구 모드에 해당하면, 복구 대상 리스트는 소프트웨어 정의 네트워크(10)의 모든 네트워크 구성 요소를 포함한다.If the determined recovery mode corresponds to the full recovery mode, the recovery target list includes all the network elements of the software defined network 10. [

네트워크 복구 모듈(190)이 사용자 입력부(195)를 통해 네트워크 복구 승인에 해당하는 사용자 입력을 수신하면(S705), 네트워크 복구 모듈(190)은 네트워크 설정 정보 저장소(106)에 저장된 네트워크 설정 정보를 이용하여 네트워크 복구 모드에 따라 소프트웨어 정의 네트워크(10)를 복구한다(S707).When the network restoration module 190 receives a user input corresponding to the network restoration approval through the user input unit 195 in step S705, the network restoration module 190 uses the network configuration information stored in the network configuration information storage 106 And restores the software defined network 10 according to the network restoration mode (S707).

결정된 복구 모드가 링크 복구 모드에 해당하면, 네트워크 복구 모듈(190)은 문제의 링크의 장애를 제거하기 위한 네트워크 구성 요소에 네트워크 설정 정보 저장소(106)에 저장된 네트워크 설정 정보를 적용하여 네트워크를 복구할 수 있다. 구체적으로, 네트워크 복구 모듈(190)은 네트워크 설정 정보 저장소(106)에 저장된 플로우 테이블에 기초하여, 문제의 링크의 장애를 제거하기 위한 네트워크 구성 요소와 관련된 플로우 테이블을 수정할 수 있다.If the determined recovery mode corresponds to the link recovery mode, the network recovery module 190 applies the network configuration information stored in the network configuration information storage 106 to the network component for eliminating the failure of the link in question to recover the network . Specifically, the network repair module 190 may modify the flow table associated with the network component to remove the failure of the link in question, based on the flow table stored in the network configuration information store 106. [

결정된 복구 모드가 스위치 복구 모드에 해당하면, 네트워크 복구 모듈(190)은 문제의 스위치의 장애를 제거하기 위한 네트워크 구성 요소에 네트워크 설정 정보 저장소(106)에 저장된 네트워크 설정 정보를 적용하여 네트워크를 복구할 수 있다. 구체적으로, 네트워크 복구 모듈(190)은 네트워크 설정 정보 저장소(106)에 저장된 플로우 테이블에 기초하여, 문제의 스위치의 장애를 제거하기 위한 네트워크 구성 요소와 관련된 플로우 테이블을 수정할 수 있다.If the determined recovery mode corresponds to the switch recovery mode, the network recovery module 190 applies the network configuration information stored in the network configuration information storage 106 to the network component for removing the failure of the problem switch to recover the network . Specifically, the network repair module 190 may modify the flow table associated with the network element to remove a fault in the switch in question, based on the flow table stored in the network configuration information store 106.

결정된 복구 모드가 플로우 복구 모드에 해당하면, 네트워크 복구 모듈(190)은 문제의 플로우의 장애를 제거하기 위한 네트워크 구성 요소에 네트워크 설정 정보 저장소(106)에 저장된 네트워크 설정 정보를 적용하여 네트워크를 복구할 수 있다. 구체적으로, 네트워크 복구 모듈(190)은 네트워크 설정 정보 저장소(106)에 저장된 플로우 테이블에 기초하여, 문제의 플로우의 장애를 제거하기 위한 네트워크 구성 요소와 관련된 플로우 테이블을 수정할 수 있다.If the determined recovery mode corresponds to the flow recovery mode, the network recovery module 190 applies the network configuration information stored in the network configuration information storage 106 to the network component for eliminating the fault of the flow in question to recover the network . Specifically, the network repair module 190 may modify the flow table associated with the network element to remove a fault in the flow in question, based on the flow table stored in the network configuration information store 106. [

결정된 복구 모드가 전체 복구 모드에 해당하면, 네트워크 복구 모듈(190)은 소프트웨어 정의 네트워크(10)의 모든 네트워크 구성 요소에 네트워크 설정 정보 저장소(106)에 저장된 네트워크 설정 정보를 적용하여 네트워크를 복구할 수 있다. 구체적으로, 네트워크 복구 모듈(190)은 네트워크 설정 정보 저장소(106)에 저장된 플로우 테이블에 기초하여, 소프트웨어 정의 네트워크(10)의 모든 네트워크 구성 요소의 플로우 테이블(모든 스위치의 플로우 테이블)을 수정할 수 있다.If the determined recovery mode corresponds to the full recovery mode, the network recovery module 190 can apply the network configuration information stored in the network configuration information storage 106 to all the network components of the software defined network 10 to recover the network have. Specifically, the network restoration module 190 can modify the flow table (flow table of all switches) of all the network components of the software defined network 10 based on the flow table stored in the network configuration information storage 106 .

다음은 도 9를 참조하여 본 발명의 실시예에 따른 스위치 교체 지원 방법을 설명한다.Next, a switch replacement support method according to an embodiment of the present invention will be described with reference to FIG.

도 9는 본 발명의 실시예에 따른 스위치 교체 지원 방법을 보여주는 흐름도이다.9 is a flowchart illustrating a switch replacement support method according to an embodiment of the present invention.

사용자 입력부(195)가 스위치 교체에 해당하는 사용자 입력을 수신하면(S901), 백업 모듈(170)은 현재의 백업 정보를 백업 정보 저장소(180)에 저장한다(S903). 이때, 사용자 입력은 교체 대상 스위치의 지정 정보를 포함할 수 있다.When the user input unit 195 receives a user input corresponding to the switch replacement (S901), the backup module 170 stores the current backup information in the backup information storage 180 (S903). At this time, the user input may include designation information of the switch to be replaced.

그 후, 네트워크 설정 모듈(103)은 교체 대상 스위치에 속하는 경로의 우회 경로를 설정하기 위한 네트워크 설정 정보를 생성하고(S905), 생성한 네트워크 설정 정보를 이용하여 소프트웨어 정의 네트워크(10)를 설정한다(S907). 이때, 네트워크 설정 모듈(103)은 교체 대상 스위치에 속하는 경로의 우회 경로를 설정하기 위하여 교체 대상 스위치를 제외한 하나 이상의 스위치(200)의 플로우 테이블의 수정 정보를 생성하고, 생성한 수정 정보를 이용하여 하나 이상의 스위치(200)의 플로우 테이블을 수정하여 소프트웨어 정의 네트워크(10)를 설정할 수 있다.Thereafter, the network setting module 103 generates network setting information for setting a bypass path of a path belonging to the replacement target switch (S905), and sets the software definition network 10 using the generated network setting information (S907). At this time, the network setting module 103 generates correction information of the flow table of the at least one switch 200 except for the replacement target switch to set the detour path of the path belonging to the replacement target switch, and uses the generated correction information The software defined network 10 can be configured by modifying the flow table of one or more switches 200. [

사용자 입력부(195)가 스위치 교체 완료에 해당하는 사용자 입력을 수신하면(S909), 네트워크 복구 모듈(190)은 네트워크 설정 모듈(103)을 통해 백업 정보를 이용하여 소프트웨어 정의 네트워크(10)를 복구한다(S911).When the user input unit 195 receives a user input corresponding to completion of switch replacement (S909), the network restoration module 190 restores the software defined network 10 using the backup information through the network setting module 103 (S911).

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다. The embodiments of the present invention described above are not only implemented by the apparatus and method but may be implemented through a program for realizing the function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded, The embodiments can be easily implemented by those skilled in the art from the description of the embodiments described above.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.

Claims (12)

복수의 스위치를 포함하는 소프트웨어 정의 네트워크를 관리하는 제어 장치의 네트워크 복구 방법에 있어서,
상기 소프트웨어 정의 네트워크의 정보를 수집하는 단계;
상기 수집한 정보에 기초하여 상기 소프트웨어 정의 네트워크의 장애를 감지하는 단계;
상기 장애가 감지되지 않으면, 현재의 상기 복수의 스위치 각각을 위한 스위치 설정 정보를 포함하는 네트워크 설정 정보를 백업하는 단계; 및
상기 장애가 감지되면, 백업된 네트워크 설정 정보를 이용하여 상기 소프트웨어 정의 네트워크를 복구하는 단계를 포함하는
네트워크 복구 방법.
A network restoration method of a control apparatus for managing a software defined network including a plurality of switches,
Collecting information of the software defined network;
Detecting a failure of the software defined network based on the collected information;
If the failure is not detected, backing up network configuration information including switch setting information for each of the plurality of switches at present; And
And if the failure is detected, recovering the software defined network using the backed up network configuration information
How to recover the network.
삭제delete 제1항에 있어서,
상기 스위치 설정 정보는 플로우 테이블을 포함하는
네트워크 복구 방법.
The method according to claim 1,
The switch setting information includes a flow table
How to recover the network.
제3항에 있어서,
상기 소프트웨어 정의 네트워크를 복구하는 단계는
상기 수집한 정보에 기초하여 전체 복구 모드, 스위치 복구 모드, 플로우 복구 모드 중에서 네트워크 복구 모드를 결정하는 단계와,
상기 결정된 네트워크 복구 모드에 기초하여 상기 소프트웨어 정의 네트워크를 복구하는 단계를 포함하는
네트워크 복구 방법.
The method of claim 3,
The step of recovering the software defined network
Determining a network recovery mode from among a total recovery mode, a switch recovery mode, and a flow recovery mode based on the collected information;
And restoring the software defined network based on the determined network resilience mode
How to recover the network.
제4항에 있어서,
상기 결정된 네트워크 복구 모드에 기초하여 상기 소프트웨어 정의 네트워크를 복구하는 단계는
상기 네트워크 복구 모드가 상기 전체 복구 모드에 해당하면, 상기 복수의 스위치의 플로우 테이블을 백업된 플로우 테이블을 이용하여 수정하는 단계와,
상기 네트워크 복구 모드가 상기 스위치 복구 모드에 해당하면, 장애가 발생한 스위치의 장애 제거와 관련된 적어도 하나의 스위치의 플로우 테이블을 백업된 플로우 테이블을 이용하여 수정하는 단계와,
상기 네트워크 복구 모드가 상기 플로우 복구 모드에 해당하면, 장애가 발생한 플로우와 관련된 적어도 하나의 스위치의 플로우 테이블의 플로우 엔터티를 백업된 플로우 테이블을 이용하여 수정하는 단계를 포함하는
네트워크 복구 방법.
5. The method of claim 4,
The step of recovering the software defined network based on the determined network repair mode
Modifying the flow table of the plurality of switches by using a backed up flow table when the network restoration mode corresponds to the full restoration mode,
If the network recovery mode corresponds to the switch recovery mode, modifying the flow table of at least one switch related to the failure removal of the failed switch using the backed up flow table;
If the network recovery mode corresponds to the flow recovery mode, modifying the flow entity of the flow table of at least one switch associated with the failed flow using the backed up flow table
How to recover the network.
제5항에 있어서,
상기 네트워크 복구 모드를 결정하는 단계는
특정 플로우의 오류율이 기준값보다 크면, 상기 네트워크 복구 모드를 플로우 복구 모드로 결정하고,
특정 스위치의 오류율이 기준값보다 크면, 상기 네트워크 복구 모드를 스위치 복구 모드로 결정하고,
플로우 장애와 스위치 장애 이외의 장애라고 판단되면, 상기 네트워크 복구 모드를 전체 복구 모드로 결정하는
네트워크 복구 방법.
6. The method of claim 5,
Wherein determining the network recovery mode comprises:
If the error rate of the specific flow is greater than the reference value, the network recovery mode is determined as the flow recovery mode,
If the error rate of the specific switch is larger than the reference value, the network restoration mode is determined as the switch restoration mode,
If it is determined that the failure has occurred other than the flow failure and the switch failure, the network recovery mode is determined as the full recovery mode
How to recover the network.
제1항에 있어서,
상기 장애를 감지하는 단계는
상기 수집한 정보에 기초하여 복수의 장애 판단 팩터를 획득하는 단계와,
상기 복수의 장애 판단 팩터에 기초하여 상기 장애를 감지하는 단계를 포함하는
네트워크 복구 방법.
The method according to claim 1,
The step of detecting the fault
Obtaining a plurality of fault determination factors based on the collected information,
And detecting the fault based on the plurality of fault determination factors
How to recover the network.
제7항에 있어서,
상기 복수의 장애 판단 팩터에 기초하여 상기 장애를 감지하는 단계는
상기 복수의 장애 판단 팩터에 복수의 가중치를 각각 적용하여 상기 장애를 감지하는 단계를 포함하는
네트워크 복구 방법.
8. The method of claim 7,
The step of detecting the fault based on the plurality of fault judgment factors
And detecting the fault by applying a plurality of weights to the plurality of fault determination factors, respectively
How to recover the network.
제8항에 있어서,
상기 복수의 장애 판단 팩터는 스위치 평균 오류율, 플로우 평균 오류율을 포함하는
네트워크 복구 방법.
9. The method of claim 8,
Wherein the plurality of fault determination factors include a switch average error rate and a flow average error rate
How to recover the network.
제9항에 있어서,
상기 복수의 장애 판단 팩터는 스위치 부하 분산, 플로우 부하 분산을 더 포함하는
네트워크 복구 방법.
10. The method of claim 9,
Wherein the plurality of fault determination factors further comprise switch load balancing, flow load balancing
How to recover the network.
복수의 스위치를 포함하는 소프트웨어 정의 네트워크를 관리하는 제어 장치에 있어서,
상기 소프트웨어 정의 네트워크의 정보를 수집하는 네트워크 정보 수집 모듈;
상기 수집한 정보에 기초하여 상기 소프트웨어 정의 네트워크의 장애를 감지하는 네트워크 장애 감지 모듈;
상기 장애가 감지되지 않으면, 현재의 상기 복수의 스위치 각각을 위한 스위치 설정 정보를 포함하는 네트워크 설정 정보를 백업하는 백업 모듈; 및
상기 장애가 감지되면, 백업된 네트워크 설정 정보를 이용하여 상기 소프트웨어 정의 네트워크를 복구하는 네트워크 복구 모듈을 포함하는
제어 장치.
1. A control device for managing a software defined network including a plurality of switches,
A network information collection module for collecting information of the software defined network;
A network failure detection module for detecting a failure of the software defined network based on the collected information;
A backup module for backing up network configuration information including switch setting information for each of the plurality of switches if the failure is not detected; And
And a network restoration module for restoring the software defined network using the backup network configuration information when the failure is detected
controller.
제11항에 있어서,
상기 네트워크 복구 모듈은 상기 수집한 정보에 기초하여 전체 복구 모드, 스위치 복구 모드, 플로우 복구 모드 중에서 네트워크 복구 모드를 결정하고, 상기 결정된 네트워크 복구 모드에 기초하여 상기 소프트웨어 정의 네트워크를 복구하는
제어 장치.
12. The method of claim 11,
Wherein the network recovery module determines a network recovery mode from the total recovery mode, the switch recovery mode, and the flow recovery mode based on the collected information, and restores the software defined network based on the determined network recovery mode
controller.
KR1020130161355A 2013-12-23 2013-12-23 Control apparatus and method thereof in software defined network KR101519524B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130161355A KR101519524B1 (en) 2013-12-23 2013-12-23 Control apparatus and method thereof in software defined network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130161355A KR101519524B1 (en) 2013-12-23 2013-12-23 Control apparatus and method thereof in software defined network

Publications (1)

Publication Number Publication Date
KR101519524B1 true KR101519524B1 (en) 2015-05-13

Family

ID=53394486

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130161355A KR101519524B1 (en) 2013-12-23 2013-12-23 Control apparatus and method thereof in software defined network

Country Status (1)

Country Link
KR (1) KR101519524B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070059296A (en) * 2005-12-06 2007-06-12 주식회사 케이티 Remote control system for internet service device
JP2013030863A (en) * 2011-07-27 2013-02-07 Nec Corp Switch device control system, and device and method for controlling configuration thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070059296A (en) * 2005-12-06 2007-06-12 주식회사 케이티 Remote control system for internet service device
JP2013030863A (en) * 2011-07-27 2013-02-07 Nec Corp Switch device control system, and device and method for controlling configuration thereof

Similar Documents

Publication Publication Date Title
CN105827419B (en) Method, equipment and controller for processing forwarding equipment fault
Chen et al. When software defined networks meet fault tolerance: a survey
WO2014078668A2 (en) Evaluating electronic network devices in view of cost and service level considerations
US9143398B2 (en) System and method for spare capacity allocation for shared backup path protection for dual link failures using successive survivable routing
Das et al. Controller placement for resilient network state synchronization in multi-controller SDN
CN103346904A (en) Fault-tolerant OpenFlow multi-controller system and control method thereof
US9729389B2 (en) Methods and systems for switching network traffic in a communications network
CN107612754A (en) Two-way conversion link fault detection method, device and apparatus for network node
CN104798348A (en) Communication system, control device, method for controlling same, and program
US20140093231A1 (en) Procedure, apparatus, system, and computer program for network recovery
JP2014241536A (en) Monitoring device, and monitoring method
KR101586354B1 (en) Communication failure recover method of parallel-connecte server system
US20180109424A1 (en) Apparatus, method, and manufacture for cloud network updating
CN111160661B (en) Method, system and equipment for optimizing reliability of power communication network
Li et al. High availability for non-stop network controller
US9912527B2 (en) Communication device, communication system, method for determining path, and program
CN103914354A (en) Method and system for database fault recovery
WO2014175423A1 (en) Communication node, communication system, packet processing method and program
KR101519524B1 (en) Control apparatus and method thereof in software defined network
CN104836679B (en) Communication abnormality processing method and network element device
CN109391488A (en) A kind of link management method and system for SDN network
CN103414591A (en) Method and system for fast converging when port failure is recovered
US11889244B2 (en) Passive optical network for utility infrastructure resiliency
KR20140045538A (en) System and method for powering redundant components
US20150009819A1 (en) Packet relay system, packet relay method, and packet relay device

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190507

Year of fee payment: 5