KR101519524B1 - Control apparatus and method thereof in software defined network - Google Patents
Control apparatus and method thereof in software defined network Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
- H04L41/0661—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
- H04L41/0856—Retrieval 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0859—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
- H04L41/0863—Retrieval 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
Abstract
Description
본 발명은 소프트웨어 정의 네트워크(Software Defined Network)에서 제어 장치 및 그 동작 방법에 관한 것이다.BACKGROUND OF THE
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
이를 위하여, 네트워크 복구가 용이하게 수행될 수 있도록 하는 방안이 요구되고 있다.
한편, 본 발명과 관련된 선행기술 문헌으로는 [비특허 문헌 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
본 발명이 해결하고자 하는 기술적 과제는 용이하게 네트워크를 복구할 수 있는 제어 장치를 제공하는 것이다.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
이하에서는, 제어 장치(100), 복수의 네트워크 스위치(200), 복수의 서버(300)를 커버하는 개념으로 노드라는 용어가 사용된다. 링크는 2개의 노드 사이의 연결을 나타낸다. 플로우는 일련의 링크들을 나타낸다. 복수의 네트워크 스위치(200), 링크, 플로우를 커버하는 개념으로 네트워크 구성 요소(network element)라는 용어가 사용된다.Hereinafter, the term "node" is used as a concept covering the
서버(300)는 다른 서버에 보내기 위한 패킷을 생성하여 네트워크 인터페이스의 포트를 통해 스위치(200)로 패킷을 전송한다.The
스위치(200)는 서버(300) 또는 다른 스위치로부터 패킷을 수신하면, 플로우 테이블에 기초하여 패킷을 스위칭한다. 이때, 플로우 테이블이 패킷 스위칭을 위한 플로우 엔트리를 가지지 않는다면, 스위치(200)는 제어 장치(100)에 이벤트를 전송하거나 플로우 룰 요구 메시지를 전송한다.When the
제어 장치(100)는 복수의 스위치(200)의 플로우 테이블들을 관리한다. The
다음은 도 2를 참조하여 본 발명의 실시예에 따른 제어 장치(100)의 구조를 설명한다.Next, the structure of the
도 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
네트워크 설정 모듈(103)는 네트워크 설정 정보를 이용하여 소프트웨어 정의 네트워크(10)를 설정한다.The
네트워크 설정 정보 저장소(106)는 네트워크 설정 정보를 저장한다. The network setting
네트워크 링크 정보 수집 모듈(110)은 네트워크 링크 정보를 수집한다.The network link
네트워크 링크 동작 상태 수집 모듈(120)은 네트워크 링크 동작 상태 정보를 수집한다.The network link operation
네트워크 링크 사용량 수집 모듈(130)은 네트워크 링크 사용량 정보를 수집한다.The network link
네트워크 토폴로지 정보 수집 모듈(140)은 네트워크 토폴로지 정보를 수집한다.The network topology
네크워크 플로우 정보 수집 모듈(150)은 네크워크 플로우 정보를 수집한다.The network flow
네트워크 장애 감지 모듈(160)은 소프트웨어 정의 네트워크(10)의 장애를 감지한다.The network
백업 모듈(170)은 네트워크 정보를 백업 정보 저장소(180)에 백업한다.The
백업 정보 저장소(180)는 네트워크 정보를 보관한다.The
네트워크 복구 모듈(190)은 백업된 네트워크 설정 정보를 이용하여 네트워크를 복구한다.The
디스플레이부(193)는 다양한 정보를 디스플레이한다.The
사용자 입력부(195)는 다양한 사용자 입력을 획득한다.The
다음은 도 3을 참조하여 본 발명의 실시예에 따른 스위치(200)의 구조를 설명한다.Next, the structure of the
도 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
플로우 테이블 저장부(230)는 플로우 테이블을 가진다.The flow
스위칭 모듈(220)은 플로우 테이블에 기초하여 패킷 스위칭을 수행한다. 이때, 복수의 포트(210) 중 한 포트를 통해 패킷이 수신되면, 스위칭 모듈(220)은 플로우 테이블에 기초하여 복수의 포트(210) 중 어떤 포트로 수신 패킷을 출력할 지를 결정하고, 결정한 포트로 수신 패킷을 출력한다.The
플로우 테이블 관리 모듈(240)은 플로우 테이블 저장부(230)의 플로우 테이블을 업데이트가 필요한지를 확인하고, 제어 장치(100)의 플로우 테이블 수정 요청에 따라 플로우 테이블을 수정한다.The flow
다음은 도 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
실시예에서, 네트워크 스위치(200)의 플로우 테이블 관리 모듈(240)은 플로우 룰 요구 메시지를 제어 장치(100)에 전달할 수도 있다. 플로우 룰 요구 메시지는 플로우 룰을 요구하는 메시지이며, 플로우 룰은 플로우 테이블일 수 있다.In an embodiment, the flow
제어 장치(100)의 네트워크 설정 모듈(103)은 수신한 이벤트에 기초하여 이벤트를 전송한 네트워크 스위치(200)의 플로우 테이블의 수정이 필요한지를 체크한다(S105).The
실시예에서, 이벤트가 네트워크 스위치(200)의 초기화, 네트워크 스위치(200)의 턴온, 플로우 테이블에 규정되지 않은 패킷의 네트워크 스위치(200)에 유입 중 어느 하나에 해당하면, 제어 장치(100)의 네트워크 설정 모듈(103)는 네트워크 스위치(200)의 플로우 테이블의 수정이 필요하다고 판단할 수 있다.In the embodiment, if the event corresponds to any of the initialization of the
한편, 제어 장치(100)의 네트워크 설정 모듈(103)는 수신한 이벤트에 기초하여 이벤트를 전송한 네트워크 스위치(200) 이외의 네트워크 스위치의 플로우 테이블의 수정이 필요한지를 체크할 수도 있다. 예컨데, 발생한 이벤트에 해당하는 네트워크 스위치(200)의 플로우 테이블이 수정되면, 패킷의 스위칭 처리(action)가 수정되어 패킷의 경로가 변경될 수 있다. 이에 따라 변경되는 경로의 반영을 위하여 이벤트를 전송한 네트워크 스위치(200) 이외의 네트워크 스위치의 플로우 테이블의 수정이 필요할 수 있다.On the other hand, the
네트워크 스위치(200)의 플로우 테이블의 수정이 필요하면, 제어 장치(100)의 네트워크 설정 모듈(103)는 네트워크 스위치(200)의 플로우 테이블을 수정하고(S107), 네트워크 스위치(200)의 플로우 테이블의 수정 내용을 포함하는 플로우 테이블 수정 요청 메시지를 네트워크 스위치(200)에 전송한다(S109).If the flow table of the
실시예에서, 네트워크 스위치(200)가 플로우 룰 요구 메시지를 제어 장치(100)에 전송한 경우, 제어 장치(100)의 네트워크 설정 모듈(103)는 네트워크 스위치(200)에 플로우 룰을 제공할 수 있다.The
이벤트를 전송한 네트워크 스위치(200) 이외의 네트워크 스위치의 플로우 테이블의 수정이 필요하면, 제어 장치(100)의 네트워크 설정 모듈(103)은 수정이 필요한 플로우 테이블에 해당하는 네트워크 스위치에도 플로우 테이블 수정 요청 메시지를 전송할 수 있다.When it is necessary to modify the flow table of the network switch other than the
네트워크 스위치(200)의 플로우 테이블 관리 모듈(240)은 플로우 테이블 수정 요청 메시지에 기초하여 자신의 플로우 테이블을 수정한다(S111).The flow
이후, 네트워크 스위치(200)의 스위칭 모듈(220)은 수정된 플로우 테이블에 기초하여 패킷 스위칭을 수행한다(S115).Thereafter, the
구제적으로, 스위칭 모듈(220)은 유입된 패킷이 만족하는 매칭 필드를 가진 플로우 엔트리를 찾고, 유입된 패킷에 대해 플로우 엔트리의 액션을 수행하며, 카운터를 증가시킬 수 있다. 이때, 액션은 유입된 패킷을 어떤 포트로 출력할지를 나타낼 수 있다.As a remedy, the
다음은 도 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
링크는 한 노드의 포트와 다른 노드의 포트 사이의 연결을 나타낼 수 있다. 여기서 노드는 서버, 스위치, 라우터 등 네트워크의 구성 요소를 나타낼 수 있다.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
제어 장치(100)의 네트워크 링크 사용량 수집 모듈(130)은 각 링크의 사용량을 수집한다(S305). The network link usage
제어 장치(100)의 네트워크 토폴로지 정보 수집 모듈(140)은 소프트웨어 정의 네트워크(140)의 구성에 대한 정보를 수집한다(S307). 네트워크 토폴로지 정보는 개별 스위치 오류율에 대한 정보, 개별 스위치 부하에 대한 정보를 포함할 수 있다.The network topology
제어 장치(100)의 네크워크 플로우 정보 수집 모듈(150)은 소프트웨어 정의 네트워크(10) 상에 존재하는 플로우에 대한 정보를 수집한다(S309). 플로우 정보는 소프트웨어 정의 네트워크(10) 상에 어떠한 플로우들이 존재하는지에 대한 정보, 개별 플로우 오류율에 대한 정보, 개별 플로우 부하에 대한 정보를 포함할 수 있다.The network flow
제어 장치(100)의 네트워크 장애 감지 모듈(160)은 수집된 정보에 기초하여 소프트웨어 정의 네트워크(10)의 장애를 감지한다(S311). 구체적인 네트워크 장애 감지 방법에 대해서는 후술한다.The network
소프트웨어 정의 네트워크(10)의 장애가 감지되지 않으면, 제어 장치(100)의 백업 모듈(170)은 장애가 감지되지 않은 시점의 현재의 네트워크 정보를 백업 정보 저장소(180)에 저장한다(S313). If the failure of the software defined
현재의 네트워크 정보는 네트워크 정보가 수집된 시간에 대한 정보, 현재의 네트워크 설정 정보, 현재의 네트워크 링크 정보, 현재의 네트워크 링크 동작 상태 정보, 현재의 네트워크 링크 사용량 정보, 현재의 네트워크 토폴로지 정보 및 현재의 네트워크 플로우 정보 중 하나 이상을 포함할 수 있다. 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
네트워크 설정 정보는 소프트웨어 정의 네트워크(10)를 동작시키기 위하여 소프트웨어 정의 네트워크(10)에 설정되는 설정 값들의 집합을 나타낼 수 있다. 네트워크 설정 정보는 소프트웨어 정의 네트워크(10) 내의 복수의 스위치(200)를 위한 스위치 설정 정보를 포함할 수 있다. 스위치 설정 정보는 해당 스위치(200)를 동작시키기 위하여 스위치(200)에 설정되는 설정 값들의 집합을 나타낼 수 있다. 스위치 설정 정보는 해당 스위치(200)의 플로우 테이블을 포함할 수 있다.The network configuration information may represent a set of settings that are set in the software defined
플로우 테이블은 복수의 플로우 엔트리를 포함할 수 있다. 각 플로우 엔트리는 조건에 해당하는 매칭 필드, 액션, 카운터를 포함할 수 있다. 매칭 필드는 액션을 수행하기 위한 조건을 나타내고, 액션은 매칭 필드가 나타내는 조건이 만족되었을 때의 처리를 나타내고, 카운터는 얼마나 많은 액션이 수행되었는지를 나타낼 수 있다.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
예컨데, 백업 모듈(170)은 표 1에서와 같이 백업 정보를 관리할 수 있다. 표 1에서, 백업 모듈(170)은 일년 이전에 저장된 백업 정보에 대해서 일년 간격에 해당하는 백업 정보만을 남기고 나머지를 삭제할 수 있다. 또, 백업 모듈(170)은 한달 전부터 일년 이전까지의 기간에 저장된 백업 정보에 대해서 1달 간격에 해당하는 백업 정보만을 남기고 나머지를 삭제할 수 있다For example, the
소프트웨어 정의 네트워크(10)의 장애가 감지되면, 제어 장치(100)의 네트워크 복구 모듈(190)은 장애가 감지되지 않은 시점의 네트워크 설정 정보를 이용하여 소프트웨어 정의 네트워크(10)를 복구한다(S315). 구체적인 네트워크 복구 방법에 대해서는 후술한다.If a failure of the software defined
다음은 도 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
제어 장치(100)의 네트워크 장애 감지 모듈(160)은 복수의 개별 링크 오류율 각각을 기준값과 비교한다(S503).The network
복수의 개별 링크 오류율 중에서 한 오류율이 기준값보다 크면, 제어 장치(100)의 네트워크 장애 감지 모듈(160)는 소프트웨어 정의 네트워크(10)에 장애가 발생했다고 판단하고, 기준값보다 큰 오류율을 가진 링크에 장애가 발생했다고 판단하며, 장애의 종류를 링크 장애로 결정한다(S505).If the error rate of the plurality of individual link error rates is larger than the reference value, the network
제어 장치(100)의 네트워크 링크 정보 수집 모듈(110)은 소프트웨어 정의 네트워크(10)의 복수의 링크에 각각 대응하는 복수의 개별 링크 부하(individual link load)을 획득한다(S506). 개별 링크 부하는 해당 링크의 대역폭 중에서 얼마만큼이 사용되고 있는지를 나타낼 수 있다. 큰 개별 링크 부하는 해당 링크에 많은 트래픽이 발생하였음을 의미할 수 있다.The network link
제어 장치(100)의 네트워크 장애 감지 모듈(160)는 복수의 개별 링크 부하 각각을 기준값과 비교한다(S508).The network
복수의 개별 링크 부하 중에서 한 개별 링크 부하가 기준값보다 크면, 제어 장치(100)의 네트워크 장애 감지 모듈(160)는 소프트웨어 정의 네트워크(10)에 장애가 발생했다고 판단하고, 기준값보다 큰 부하를 가진 링크에 장애가 발생했다고 판단하며, 장애의 종류를 링크 장애로 결정한다(S509).The network
제어 장치(100)의 네트워크 토폴로지 정보 수집 모듈(140)은 소프트웨어 정의 네트워크(10)의 복수의 스위치에 각각 대응하는 복수의 개별 스위치 오류율(individual switch error rate)을 획득한다(S511). 개별 스위치 오류율은 해당 스위치에서 얼마만큼 패킷 전달이 실패하는지를 나타낼 수 있다.The network topology
제어 장치(100)의 네트워크 장애 감지 모듈(160)는 복수의 개별 스위치 오류율 각각을 기준값과 비교한다(S513).The network
복수의 개별 스위치 오류율 중에서 한 오류율이 기준값보다 크면, 제어 장치(100)의 네트워크 장애 감지 모듈(160)는 소프트웨어 정의 네트워크(10)에 장애가 발생했다고 판단하고, 기준값보다 큰 오류율을 가진 스위치에 장애가 발생했다고 판단하며, 장애의 종류를 스위치 장애로 결정한다(S515).If one error rate among the plurality of individual switch error rates is larger than the reference value, the network
제어 장치(100)의 네트워크 토폴로지 정보 수집 모듈(140)은는 소프트웨어 정의 네트워크(10)의 복수의 스위치에 각각 대응하는 복수의 개별 스위치 부하(individual switch load)을 획득한다(S516). The network topology
개별 스위치 부하는 해당 스위치의 처리 능력 중에서 얼마만큼이 사용되고 있는지를 나타낼 수 있다. 큰 개별 링크 부하는 해당 스위치가 많은 트래픽을 처리하고 있음을 의미할 수 있다.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
복수의 개별 스위치 부하 중에서 한 스위치 부하가 기준값보다 크면, 제어 장치(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
제어 장치(100)의 네크워크 플로우 정보 수집 모듈(150)은 소프트웨어 정의 네트워크(10)의 복수의 플로우에 각각 대응하는 복수의 개별 플로우 오류율(individual flow error rate)을 획득한다(S521). 개별 플로우 부하는 해당 플로우의 대역폭 중에서 얼마만큼이 사용되고 있는지를 나타낼 수 있다. 큰 개별 플로우 부하는 해당 플로우에 많은 트래픽이 발생하였음을 의미할 수 있다.The network flow
제어 장치(100)의 네트워크 장애 감지 모듈(160)는 복수의 개별 플로우 오류율 각각을 기준값과 비교한다(S523).The network
복수의 개별 플로우 오류율 중에서 한 오류율이 기준값보다 크면, 제어 장치(100)의 네트워크 장애 감지 모듈(160)는 소프트웨어 정의 네트워크(10)에 장애가 발생했다고 판단하고, 기준값보다 큰 오류율을 가진 플로우에 장애가 발생했다고 판단하며, 장애의 종류를 플로우 장애로 결정한다(S525). If the error rate of the plurality of individual flow error rates is larger than the reference value, the network
제어 장치(100)의 네크워크 플로우 정보 수집 모듈(150)은 소프트웨어 정의 네트워크(10)의 복수의 플로우에 각각 대응하는 복수의 개별 플로우 부하(individual flow load)을 획득한다(S526). 개별 플로우 부하는 해당 플로우에서 얼마만큼 패킷 전달이 실패하는지를 나타낼 수 있다.The network flow
제어 장치(100)의 네트워크 장애 감지 모듈(160)는 복수의 개별 플로우 부하 각각을 기준값과 비교한다(S528).The network
복수의 개별 플로우 부하 중에서 한 플로우 부하가 기준값보다 크면, 제어 장치(100)의 네트워크 장애 감지 모듈(160)는 소프트웨어 정의 네트워크(10)에 장애가 발생했다고 판단하고, 기준값보다 큰 플로우 부하를 가진 플로우에 장애가 발생했다고 판단하며, 장애의 종류를 플로우 장애로 결정한다(S529). 이때, 기준값은 전체 플로우 부하를 나타낼 수 있고, 전체 플로우 부하는 복수의 개별 플로우 부하의 평균을 나타낼 수 있다.If one of the plurality of individual flow loads is larger than the reference value, the network
제어 장치(100)의 네트워크 링크 정보 수집 모듈(110)은 복수의 개별 링크 오류율로부터 전체 링크 오류율을 획득한다(S531). 제어 장치(100)는 복수의 개별 링크 오류율의 평균값에 기초하여 전체 링크 오류율을 결정할 수 있다. 특히, 제어 장치(100)는 복수의 개별 링크 오류율의 평균값을 전체 링크 오류율로 간주할 수 있다. 제어 장치(100)는 복수의 개별 링크 오류율의 가중 평균을 수행할 수도 있다. 이때, 복수의 개별 링크 오류율에는 복수의 가중치가 적용된다. 복수의 가중치의 각각은 링크의 중요도를 나타낼 수 있다.The network link
제어 장치(100)의 네트워크 토폴로지 정보 수집 모듈(140)은는 복수의 개별 스위치 오류율로부터 전체 스위치 오류율을 획득한다(S533). 제어 장치(100)는 복수의 개별 스위치 오류율의 평균값에 기초하여 전체 스위치 오류율을 결정할 수 있다. 특히, 제어 장치(100)는 복수의 개별 스위치 오류율의 평균값을 전체 스위치 오류율로 간주할 수 있다. 제어 장치(100)는 복수의 개별 스위치 오류율의 가중 평균을 수행할 수도 있다. 이때, 복수의 개별 스위치 오류율에는 복수의 가중치가 적용된다. 복수의 가중치의 각각은 스위치의 중요도를 나타낼 수 있다.The network topology
제어 장치(100)의 네크워크 플로우 정보 수집 모듈(150)은 복수의 개별 플로우 오류율로부터 전체 플로우 오류율을 획득한다(S535). 제어 장치(100)는 복수의 개별 플로우 오류율의 평균값에 기초하여 전체 플로우 오류율을 결정할 수 있다. 특히, 제어 장치(100)는 복수의 개별 플로우 오류율의 평균값을 전체 플로우 오류율로 간주할 수 있다. 제어 장치(100)는 복수의 개별 플로우 오류율의 가중 평균을 수행할 수도 있다. 이때, 복수의 개별 플로우 오류율에는 복수의 가중치가 적용된다. 복수의 가중치의 각각은 플로우의 중요도를 나타낼 수 있다.The network flow
제어 장치(100)의 네트워크 링크 정보 수집 모듈(110)은 복수의 개별 링크 부하로부터 링크 부하 분산을 획득한다(S536). 링크 부하 분산은 전체 링크 부하가 복수의 링크에 얼마만큼 분산되어 있는지를 나타낼 수 있다.The network link
제어 장치(100)의 네트워크 토폴로지 정보 수집 모듈(140)은는 복수의 개별 스위치 부하로부터 스위치 부하 분산을 획득한다(S538). 스위치 부하 분산은 전체 스위치 부하가 복수의 스위치에 얼마만큼 분산되어 있는지를 나타낼 수 있다.The network topology
제어 장치(100)의 네크워크 플로우 정보 수집 모듈(150)은 복수의 개별 플로우 부하로부터 플로우 부하 분산을 획득한다(S539). 플로우 부하 분산은 전체 플로우 부하가 복수의 플로우에 얼마만큼 분산되어 있는지를 나타낼 수 있다.The network flow
제어 장치(100)의 네트워크 장애 감지 모듈(160)는 전체 링크 오류율, 전체 스위치 오류율, 전체 플로우 오류율, 링크 부하 분산, 스위치 부하 분산, 플로우 부하 분산에 기초하여 소프트웨어 정의 네트워크(10)의 전체 네트워크 장애 정도를 결정한다(S541). 제어 장치(100)는 전체 링크 오류율, 전체 스위치 오류율, 전체 플로우 오류율, 링크 부하 분산, 스위치 부하 분산, 플로우 부하 분산의 평균값에 기초하여 전체 네트워크 장애 정도를 결정할 수 있다. 특히, 제어 장치(100)는 전체 링크 오류율, 전체 스위치 오류율, 전체 플로우 오류율, 링크 부하 분산, 스위치 부하 분산, 플로우 부하 분산의 평균값을 전체 네트워크 장애 정도로 간주할 수 있다. 제어 장치(100)는 전체 링크 오류율, 전체 스위치 오류율, 전체 플로우 오류율, 링크 부하 분산, 스위치 부하 분산, 플로우 부하 분산의 가중 평균을 수행할 수도 있다. 이때, 전체 링크 오류율, 전체 스위치 오류율, 전체 플로우 오류율, 링크 부하 분산, 스위치 부하 분산, 플로우 부하 분산에는 복수의 가중치가 각각 적용된다. 복수의 가중치는 전체 링크 오류율이 전체 네트워크 장애 정도에 기여하는 정도, 전체 스위치 오류율이 전체 네트워크 장애 정도에 기여하는 정도, 전체 플로우 오류율가 전체 네트워크 장애 정도에 기여하는 정도, 링크 부하 분산가 전체 네트워크 장애 정도에 기여하는 정도, 스위치 부하 분산가 전체 네트워크 장애 정도에 기여하는 정도, 플로우 부하 분산가 전체 네트워크 장애 정도에 기여하는 정도를 각각 나타낼 수 있다.The network
제어 장치(100)의 네트워크 장애 감지 모듈(160)는 전체 네트워크 장애 정도를 기준값과 비교한다(S543).The network
전체 네트워크 장애 정도가 기준값보다 크면, 제어 장치(100)의 네트워크 장애 감지 모듈(160)는 소프트웨어 정의 네트워크(10)에 장애가 발생했다고 판단하고, 장애의 종류를 전체 전체 네트워크 장애로 결정한다(S545).If the total network failure degree is greater than the reference value, the network
전체 네트워크 장애 정도가 기준값보다 작으면, 제어 장치(100)의 네트워크 장애 감지 모듈(160)는 소프트웨어 정의 네트워크(10)에 장애가 없다고 판단한다(S547).If the total network failure degree is smaller than the reference value, the network
이처럼, 제어 장치(100)는 물리적 링크 정보, 네트워크 링크 동작 상태 정보, 네트워크 링크 사용량 정보, 네트워크 구성 정보, 네트워크 플로우 정보 중 적어도 하나를 포함하는 네트워크 정보를 수집할 수 있다. 그리고, 제어 장치(100)는 수집한 네트워크 정보에 기초하여 복수의 장애 판단 팩터를 획득한다. 이때, 복수의 장애 판단 팩터는 개별 링크 오류율, 개별 스위치 오류율, 개별 플로우 에러율, 개별 링크 부하, 개별 스위치 부하, 개별 플로우 부하, 전체 링크 오류율, 전체 스위치 오류율, 전체 플로우 에러율, 링크 부하 분산, 스위치 부하 분산, 플로우 부하 분산, 전체 네트워크 장애 정도 중 적어도 하나를 포함할 수 있다. 제어 장치(100)는 복수의 장애 판단 팩터에 복수의 가중치를 각각 적용하여 장애를 감지할 수 있다.As such, the
이상에서는 네트워크 장애 감지 모듈(160)이 복수의 장애 판단 팩터와 같은 통계 자료를 기준값과 비교하여 장애 발생 여부를 판단하지만, 이외의 실시예 또한 본 발명에 적용가능하다. 예컨데, 여러 수집 모듈 또는 네트워크 장애 감지 모듈(160)이 복수의 장애 판단 팩터와 같은 통계 자료를 축적하고, 네트워크 장애 감지 모듈(160)이 축적된 통계 자료를 이용하여 기계 학습(machine learning)을 수행하여, 기계 학습의 결과에 따라 장애 발생 여부를 판단할 수 있다. 또한, 네트워크 장애 감지 모듈(160)은 실패 함수를 호출하여, 이 실패 함수의 결과에 따라 장애 발생 여부를 판단할 수도 있다. 이 실패 함수의 파라미터는 앞서 설명한 복수의 장애 판단 팩터 중 적어도 하나를 포함할 수 있다.In the above description, the network
다음은 도 8을 참고하여 소프트웨어 정의 네트워크(10)를 복구하는 방법을 설명한다.Next, a method of recovering the software defined
도 8은 본 발명의 실시예에 따른 네트워크 복구 방법을 보여주는 흐름도이다.8 is a flowchart illustrating a network recovery method according to an embodiment of the present invention.
네트워크 복구 모듈(190)은 장애의 종류에 기초하여 네트워크 복구 모드를 결정한다(S701). 장애의 종류로 링크 장애, 스위치 장애, 플로우 장애, 네트워크 장애 중 하나 이상이 사용될 수 있다. 복구 모드로 링크 복구 모드, 스위치 복구 모드, 플로우 복구 모드, 전체 복구 모드 중 하나 이상이 사용될 수 있다. 장애의 종류가 링크 장애, 스위치 장애, 플로우 장애, 네트워크 장애이면, 네트워크 복구 모듈(190)은 복구 모드를 링크 복구 모드, 스위치 복구 모드, 플로우 복구 모드, 전체 복구 모드로 각각 결정할 수 있다.The
네트워크 복구 모듈(190)은 결정한 복구 모드로 네트워크를 복구할 지를 묻는 질의를 디스플레이부(193)에 출력한다(S703). 이때, 네트워크 복구 모듈(190)은 결정된 복구 모드와 관련된 복구 대상 리스트를 디스플레이부(193)에 출력할 수 있다. 또한, 네트워크 복구 모듈(190)은 여러 시점의 네트워크 정보 중에서 복구에 사용할 네트워크 정보를 결정하고, 결정한 네트워크 정보의 시간 정보를 함께 디스플레이할 수도 있다.The
네트워크 복구 모듈(190)이 여러 시점의 네트워크 정보 중에서 복구에 사용할 네트워크 정보를 결정할 때, 네트워크 복구 모듈(190)은 현재의 네트워크 토폴로지와 유사한 네트워크 토폴로지를 가지는 시점의 네트워크 정보를 복구를 위한 네트워크 정보로 결정하여 사용자에게 추천할 수 있다. 또한, 네트워크 복구 모듈(190)은 네트워크 장애 정도가 가장 작은 시점의 네트워크 정보를 복구를 위한 네트워크 정보로 결정하여 사용자에게 추천할 수 있다. 이처럼, 네트워크 복구 모듈(190)은 네트워크 토폴로지 정보 및 네트워크 장애 정도 중 적어도 하나를 이용하여 복구를 위한 네트워크 정보를 결정할 수 있다.When the
결정된 복구 모드가 링크 복구 모드에 해당하면, 복구 대상 리스트는 해당 링크의 장애를 제거하기 위한 네트워크 구성 요소를 포함한다. 해당 링크의 장애를 제거하기 위한 네트워크 구성 요소는 장애를 가진 링크를 우회하거나 해당 링크의 부하를 분산하기 위하여 복구될 필요가 있는 네트워크 구성 요소를 나타낼 수 있다. 예컨데, 네트워크 구성 요소는 문제의 링크 및 문제의 링크 주변의 하나 이상의 링크를 포함할 수 있다.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
네트워크 복구 모듈(190)이 사용자 입력부(195)를 통해 네트워크 복구 승인에 해당하는 사용자 입력을 수신하면(S705), 네트워크 복구 모듈(190)은 네트워크 설정 정보 저장소(106)에 저장된 네트워크 설정 정보를 이용하여 네트워크 복구 모드에 따라 소프트웨어 정의 네트워크(10)를 복구한다(S707).When the
결정된 복구 모드가 링크 복구 모드에 해당하면, 네트워크 복구 모듈(190)은 문제의 링크의 장애를 제거하기 위한 네트워크 구성 요소에 네트워크 설정 정보 저장소(106)에 저장된 네트워크 설정 정보를 적용하여 네트워크를 복구할 수 있다. 구체적으로, 네트워크 복구 모듈(190)은 네트워크 설정 정보 저장소(106)에 저장된 플로우 테이블에 기초하여, 문제의 링크의 장애를 제거하기 위한 네트워크 구성 요소와 관련된 플로우 테이블을 수정할 수 있다.If the determined recovery mode corresponds to the link recovery mode, the
결정된 복구 모드가 스위치 복구 모드에 해당하면, 네트워크 복구 모듈(190)은 문제의 스위치의 장애를 제거하기 위한 네트워크 구성 요소에 네트워크 설정 정보 저장소(106)에 저장된 네트워크 설정 정보를 적용하여 네트워크를 복구할 수 있다. 구체적으로, 네트워크 복구 모듈(190)은 네트워크 설정 정보 저장소(106)에 저장된 플로우 테이블에 기초하여, 문제의 스위치의 장애를 제거하기 위한 네트워크 구성 요소와 관련된 플로우 테이블을 수정할 수 있다.If the determined recovery mode corresponds to the switch recovery mode, the
결정된 복구 모드가 플로우 복구 모드에 해당하면, 네트워크 복구 모듈(190)은 문제의 플로우의 장애를 제거하기 위한 네트워크 구성 요소에 네트워크 설정 정보 저장소(106)에 저장된 네트워크 설정 정보를 적용하여 네트워크를 복구할 수 있다. 구체적으로, 네트워크 복구 모듈(190)은 네트워크 설정 정보 저장소(106)에 저장된 플로우 테이블에 기초하여, 문제의 플로우의 장애를 제거하기 위한 네트워크 구성 요소와 관련된 플로우 테이블을 수정할 수 있다.If the determined recovery mode corresponds to the flow recovery mode, the
결정된 복구 모드가 전체 복구 모드에 해당하면, 네트워크 복구 모듈(190)은 소프트웨어 정의 네트워크(10)의 모든 네트워크 구성 요소에 네트워크 설정 정보 저장소(106)에 저장된 네트워크 설정 정보를 적용하여 네트워크를 복구할 수 있다. 구체적으로, 네트워크 복구 모듈(190)은 네트워크 설정 정보 저장소(106)에 저장된 플로우 테이블에 기초하여, 소프트웨어 정의 네트워크(10)의 모든 네트워크 구성 요소의 플로우 테이블(모든 스위치의 플로우 테이블)을 수정할 수 있다.If the determined recovery mode corresponds to the full recovery mode, the
다음은 도 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
그 후, 네트워크 설정 모듈(103)은 교체 대상 스위치에 속하는 경로의 우회 경로를 설정하기 위한 네트워크 설정 정보를 생성하고(S905), 생성한 네트워크 설정 정보를 이용하여 소프트웨어 정의 네트워크(10)를 설정한다(S907). 이때, 네트워크 설정 모듈(103)은 교체 대상 스위치에 속하는 경로의 우회 경로를 설정하기 위하여 교체 대상 스위치를 제외한 하나 이상의 스위치(200)의 플로우 테이블의 수정 정보를 생성하고, 생성한 수정 정보를 이용하여 하나 이상의 스위치(200)의 플로우 테이블을 수정하여 소프트웨어 정의 네트워크(10)를 설정할 수 있다.Thereafter, the
사용자 입력부(195)가 스위치 교체 완료에 해당하는 사용자 입력을 수신하면(S909), 네트워크 복구 모듈(190)은 네트워크 설정 모듈(103)을 통해 백업 정보를 이용하여 소프트웨어 정의 네트워크(10)를 복구한다(S911).When the
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다. 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.
상기 스위치 설정 정보는 플로우 테이블을 포함하는
네트워크 복구 방법.The method according to claim 1,
The switch setting information includes a flow table
How to recover the network.
상기 소프트웨어 정의 네트워크를 복구하는 단계는
상기 수집한 정보에 기초하여 전체 복구 모드, 스위치 복구 모드, 플로우 복구 모드 중에서 네트워크 복구 모드를 결정하는 단계와,
상기 결정된 네트워크 복구 모드에 기초하여 상기 소프트웨어 정의 네트워크를 복구하는 단계를 포함하는
네트워크 복구 방법.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.
상기 결정된 네트워크 복구 모드에 기초하여 상기 소프트웨어 정의 네트워크를 복구하는 단계는
상기 네트워크 복구 모드가 상기 전체 복구 모드에 해당하면, 상기 복수의 스위치의 플로우 테이블을 백업된 플로우 테이블을 이용하여 수정하는 단계와,
상기 네트워크 복구 모드가 상기 스위치 복구 모드에 해당하면, 장애가 발생한 스위치의 장애 제거와 관련된 적어도 하나의 스위치의 플로우 테이블을 백업된 플로우 테이블을 이용하여 수정하는 단계와,
상기 네트워크 복구 모드가 상기 플로우 복구 모드에 해당하면, 장애가 발생한 플로우와 관련된 적어도 하나의 스위치의 플로우 테이블의 플로우 엔터티를 백업된 플로우 테이블을 이용하여 수정하는 단계를 포함하는
네트워크 복구 방법.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.
상기 네트워크 복구 모드를 결정하는 단계는
특정 플로우의 오류율이 기준값보다 크면, 상기 네트워크 복구 모드를 플로우 복구 모드로 결정하고,
특정 스위치의 오류율이 기준값보다 크면, 상기 네트워크 복구 모드를 스위치 복구 모드로 결정하고,
플로우 장애와 스위치 장애 이외의 장애라고 판단되면, 상기 네트워크 복구 모드를 전체 복구 모드로 결정하는
네트워크 복구 방법.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.
상기 장애를 감지하는 단계는
상기 수집한 정보에 기초하여 복수의 장애 판단 팩터를 획득하는 단계와,
상기 복수의 장애 판단 팩터에 기초하여 상기 장애를 감지하는 단계를 포함하는
네트워크 복구 방법.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.
상기 복수의 장애 판단 팩터에 기초하여 상기 장애를 감지하는 단계는
상기 복수의 장애 판단 팩터에 복수의 가중치를 각각 적용하여 상기 장애를 감지하는 단계를 포함하는
네트워크 복구 방법.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.
상기 복수의 장애 판단 팩터는 스위치 평균 오류율, 플로우 평균 오류율을 포함하는
네트워크 복구 방법.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.
상기 복수의 장애 판단 팩터는 스위치 부하 분산, 플로우 부하 분산을 더 포함하는
네트워크 복구 방법.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.
상기 네트워크 복구 모듈은 상기 수집한 정보에 기초하여 전체 복구 모드, 스위치 복구 모드, 플로우 복구 모드 중에서 네트워크 복구 모드를 결정하고, 상기 결정된 네트워크 복구 모드에 기초하여 상기 소프트웨어 정의 네트워크를 복구하는
제어 장치.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.
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)
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 |
-
2013
- 2013-12-23 KR KR1020130161355A patent/KR101519524B1/en active IP Right Grant
Patent Citations (2)
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 |