KR20160018413A - Sdn 환경에서 네트워크 서비스를 위한 장애 극복 방법 - Google Patents

Sdn 환경에서 네트워크 서비스를 위한 장애 극복 방법 Download PDF

Info

Publication number
KR20160018413A
KR20160018413A KR1020150110993A KR20150110993A KR20160018413A KR 20160018413 A KR20160018413 A KR 20160018413A KR 1020150110993 A KR1020150110993 A KR 1020150110993A KR 20150110993 A KR20150110993 A KR 20150110993A KR 20160018413 A KR20160018413 A KR 20160018413A
Authority
KR
South Korea
Prior art keywords
failover
controller
key
master controller
switch
Prior art date
Application number
KR1020150110993A
Other languages
English (en)
Other versions
KR101740799B1 (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 주식회사 케이티
Publication of KR20160018413A publication Critical patent/KR20160018413A/ko
Application granted granted Critical
Publication of KR101740799B1 publication Critical patent/KR101740799B1/ko

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/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • 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/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

다중 컨트롤러로 구성되는 SDN 환경에서 컨트롤러에 발생한 장애를 극복하는 방법 및 장치가 개시된다. 네트워크 서비스를 위한 장애 극복 방법, 소프트웨어 정의 네트워킹 환경에서 스위치가 네트워크 장애를 극복하는 방법에 있어서, 마스터 컨트롤러로 장애극복 키(Failover key)를 요청하는 단계와; 마스터 컨트롤러로부터 장애극복 키를 수신하는 단계와; 마스터 컨트롤러에 장애 발생 시에, 장애극복 키를 포함하는 장애극복 요청 메시지를 슬레이브 컨트롤러로 전송하는 단계를 포함한다. 따라서, 트래픽 최소화하면서, 네트워크 서비스를 안정적으로 복구하고 지속시킬 수 있다.

Description

SDN 환경에서 네트워크 서비스를 위한 장애 극복 방법{METHOD OF FAILOVER FOR NETWORK SERVICE IN SOFTWARE DEFINED NETWORKING ENVIRONMENT}
본 발명은 SDN(Software Defined Networking) 기술에 관한 것으로, 더욱 상세하게는 다중 컨트롤러로 구성되는 SDN 환경에서 컨트롤러에 발생한 장애를 극복하는 방법 및 장치에 관한 것이다.
SDN(Software Defined Networking)은 제어 평면(control plane)과 데이터 평면(data plane)이 물리적으로 완전히 분리된 형태의 네트워크 아키텍처로서 최근 통신시장에서 이슈화되고 있는 차세대 네트워킹 기술이다.
SDN 기반에서는 제어 평면을 소프트웨어적으로 프로그래밍하여 네트워크 장비의 원격 자동 제어가 가능하기 때문에 통신 사업자는 보다 유연하게 네트워크를 운용할 수 있다.
최근 들어, 스위치의 트래픽 포워딩 기능과 스위치의 제어 기능을 분리하여 통신 시스템을 효율적으로 운용하는 기술에 대한 표준화가 ONF(Open Networking Foundation), IETF(Internet Engineering Task Force), ETSI(European Telecommunications Standards Institute) ISG NFV(Network Function Virtualization) 및 ITU-T(International Telecommunications Union Telecommunication) 등을 중심으로 진행되고 있다.
이들 중, SDN 기술 중의 하나인 OpenFlow 기술 표준화를 추진하고 있는 ONF(Open Networking Foundation) 표준화 단체만을 간단히 언급하면, SDN 환경은 다수의 SDN 컨트롤러로 구성되고 스위치는 하나 이상의 SDN 컨트롤러와 연결될 수 있다. 여기에서, SDN 컨트롤러들은 Master, Slave, Equal과 같은 세가지 역할로 구분되며 별도의 채널을 통해 SDN 컨트롤러들 간에 정보를 교환할 수 있다.
그러나, ONF 뿐만 아니라 다른 표준화 단체에서도 다수의 컨트롤러와 스위 치간의 연결 문제에 대한 장애 극복 필요성만 언급하고 있을 뿐, 이를 위한 구체적인 절차나 메시지에 대한 정의는 미흡한 실정이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 다수의 컨트롤러로 구성되는 SDN 환경에서 마스터 컨트롤러에 발생한 장애를 극복하기 위한 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 다수의 컨트롤러로 구성되는 SDN 환경에서 마스터 컨트롤러에 장애가 발생한 경우, 슬레이브 컨트롤러가 마스터 컨트롤러의 역할을 대체하도록 함으로써 네트워크 서비스의 연결성을 보장하는 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 네트워크 서비스를 위한 장애 극복 방법, 소프트웨어 정의 네트워킹 환경에서 스위치가 네트워크 장애를 극복하는 방법에 있어서, 마스터 컨트롤러로 장애극복 키(Failover key)를 요청하는 단계와; 마스터 컨트롤러로부터 장애극복 키를 수신하는 단계와; 마스터 컨트롤러에 장애 발생 시에, 장애극복 키를 포함하는 장애극복 요청 메시지를 슬레이브 컨트롤러로 전송하는 단계를 포함한다.
여기에서, 상기 슬레이브 컨트롤러는, 장애극복 키에 대한 유효성 검증의 결과에 기반하여 컨트롤러 역할 변경을 스위치로 요청함으로써 네트워크 장애를 극복시킬 수 있다.
여기에서, 상기 장애극복 키에 대한 유효성 검증은, 장애극복 키를 마스터 컨트롤러와 미리 공유함으로써 슬레이브 컨트롤러에 의해 수행되거나, 별도의 키 관리 서버에 의해 수행될 수 있다.
여기에서, 상기 장애극복 키는, 마스터 컨트롤러 또는 별도의 키 관리 서버에 의해 생성될 수 있다.
여기에서, 상기 장애극복 요청 메시지는, 마스터 컨트롤러의 식별 정보를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 네트워크 서비스를 위한 장애 극복 방법은, 소프트웨어 정의 네트워킹 환경에서 슬레이브 컨트롤러가 네트워크 장애를 극복하는 방법에 있어서, 장애극복 키(Failover key)를 수신하는 단계와; 장애극복 키에 대한 유효성 검증의 결과에 기반하여 슬레이브 컨트롤러의 역할을 마스터로 변경하는 컨트롤러 역할 변경을 스위치에 요청함으로써 네트워크의 장애를 극복시키는 단계를 포함한다.
상기 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 네트워크 서비스를 위한 장애 극복을 수행하는 컨트롤러는, 소프트웨어 정의 네트워킹 환경에서 스위치에 대해 슬레이브 컨트롤러 역할을 수행하는 컨트롤러에 있어서, 마스터 컨트롤러 또는 별도의 키 관리 서버에 의해 생성된 장애극복 키(Failover key)를 수신하고, 마스터 컨트롤러에 장애 발생 시에 장애극복 키에 대한 유효성 검증의 결과에 기반하여 새로운 마스터 컨트롤러로 역할을 부여받기 위해 스위치에 컨트롤러 역할 변경을 요청한다.
상기와 같은 본 발명에 따른 네트워크 서비스를 위한 장애 극복 방법 및 장치는, 마스터 컨트롤러와 스위치간 연결성에 문제가 발생하는 경우, 스위치가 슬레이브 컨트롤러로 장애극복을 요청하는 메시지에 Failover key 값을 추가함으로써 장애극복 과정의 트래픽을 최소화할 수 있다.
또한, Failover key 값에 의한 장애극복 과정을 통하여 네트워크 서비스를 안정적으로 복구하고 지속시킬 수 있다.
도 1은 컨트롤러와 스위치간 연결 설정 과정을 나타내는 순서도이다.
도 2는 본 발명의 일 실시예에 따른 네트워크 서비스를 위한 장애 극복 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 다른 실시예에 따른 네트워크 서비스를 위한 장애 극복 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 또 다른 실시예에 따른 네트워크 서비스를 위한 장애 극복 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 실시예에 따른 네트워크 서비스를 위한 장애 극복을 수행하는 장치의 구성을 설명하기 위한 블록도이다.
도 6은 본 발명의 실시예에 따른 네트워크 서비스를 위한 장애 극복에 사용되는 장애극복 요청 메시지를 설명하기 위한 예시도이다.
도 7은 본 발명의 실시예에 따른 네트워크 서비스를 위한 장애 극복에 사용되는 장애극복 응답 메시지를 설명하기 위한 예시도이다.
도 8은 본 발명의 실시예에 따른 네트워크 서비스를 위한 장애 극복에 사용되는 Failover key의 요청 및 응답을 위한 키 요청/응답 메시지를 설명하기 위한 예시도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에서 언급되는 컨트롤러는 SDN 서비스를 안정적으로 제공하기 위해 관련 구성 요소(예를 들면, 스위치, 라우터 등)를 제어하는 기능 요소(entity)를 의미하는 것으로, 물리적인 구현 형태나 구현 위치 등에 한정되지 않는다. 예를 들어, 컨트롤러는 ONF, IETF, ETSI 및/또는 ITU-T 등에서 정의하고 있는 컨트롤러 기능 요소(entity)를 의미한다.
또한, 본 발명에서 언급되는 네트워크 장치는 트래픽(또는 패킷)을 실질적으로 포워딩하거나 스위칭 또는 라우팅하는 기능 요소를 의미하는 것으로, ONF, IETF, ETSI 및/또는 ITU-T 등에서 정의하고 있는 스위치, 라우터, 스위치 요소, 라우터 요소, 포워딩 요소 등을 의미한다.
또한, 본 발명에서 언급되는 마스터(Master) 역할의 컨트롤러(마스터 컨트롤러)는 적어도 하나의 스위치를 일차적으로 제어하는 컨트롤러를 의미하는 것으로 하나 이상으로 구성될 수 있다. 그리고, 슬레이브/이퀄(Slave/Equal) 역할의 컨트롤러(슬레이브/이퀄 컨트롤러)는 마스터 컨트롤러가 다양한 원인으로 인하여 스위치의 제어 기능을 수행할 수 없는 경우, 마스터 컨트롤러의 기능을 대체하여 수행하는 컨트롤러를 의미한다.
또한, 본 발명의 실시예들에서는 네트워크 서비스를 위한 장애 극복을 위한 동작이 ONF에서 정의된 파라미터 및/또는 메시지 형태(예를 들면, Flow table entry)를 이용하는 것으로 도시하였으나, 본 발명의 기술적 사상이 ONF에 정의된 내용으로만 한정되는 것은 아니다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 컨트롤러와 스위치간 연결 설정 과정을 나타내는 순서도이다.
도 1을 참조하면, 스위치는 SDN 컨트롤러의 IP 주소에 대해 3-way handshake를 시작하여 TCP 연결을 설정할 수 있다(S110). 여기서, SDN 환경의 구성을 위하여 사전에 스위치를 제어할 SDN 컨트롤러의 IP 주소를 스위치에 설정할 수 있다.
TCP 연결을 설정한 후, SDN 컨트롤러와 스위치는 오픈플로우 프로토콜의 버전을 확인하기 위해 Hello 메시지를 교환할 수 있다(S121, S123).
오픈플로우 프로토콜의 버전을 확인한 후, 스위치가 지원하는 기능을 확인하기 위해 FeaturesRequest와 FeaturesReply 메시지를 교환할 수 있다(S131, S133).
스위치가 지원하는 기능을 확인한 후에, SDN 컨트롤러는 스위치에게 필요한 설정을 보내기 위해 SetConfiguration 메시지를 스위치로 통지할 수 있다(S140).
마지막으로, 스위치의 상태를 확인하기 위해 StatusRequest와 StatusReply 메시지를 교환할 수 있다(S151, S153).
도 2는 본 발명의 일 실시예에 따른 네트워크 서비스를 위한 장애 극복 방법을 설명하기 위한 순서도이다.
도 2를 참조하면, 컨트롤러와 스위치는 도 1의 절차를 통해 연결이 설정되어 통신 준비가 갖추어진 상태에서 컨트롤러의 역할을 변경하기 위한 메시지를 주고 받을 수 있다.
스위치는 다수의 컨트롤러와 연결될 수 있고, 다수의 컨트롤러에 의한 제어를 받을 수 있다.
예를 들어, 스위치는 도 1에 따른 절차를 통하여 마스터 컨트롤러 및 슬레이브 컨트롤러와 연결이 설정될 수 있다(S100).
스위치는 마스터 컨트롤러에 장애극복 키(Failover key) 값을 요청할 수 있다(S211).
스위치로부터 Failover key 값을 요청받은 마스터 컨트롤러는 키 관리 서버에 Failover key 값을 요청할 수 있다(S213).
키 관리 서버는 Failover key 값을 생성하고 이를 마스터 컨트롤러로 보낼 수 있고(S220, S231), 마스터 컨트롤러는 수신한 Failover key 값을 스위치로 전달할 수 있다(S233). 즉, 스위치는 마스터 컨트롤러에 장애가 발생하는 경우를 대비하여 Failover key 값을 미리 저장하고 있을 수 있다.
스위치는 컨트롤러와의 연결 상태 확인을 위한 목적으로 Echo 메시지를 활용할 수 있다. 예를 들어, 스위치는 마스터 컨트롤러로 Echo 메시지를 전송하여 연결 상태를 확인할 수 있다(S241). 스위치는 마스터 컨트롤러로부터 Echo 메시지에 대한 응답을 수신하지 못한 경우, 마스터 컨트롤러에 장애가 발생한 것으로 판단할 수 있다(S243).
스위치는 마스터 컨트롤러로부터 Echo 메시지에 대한 응답을 수신하지 못한 경우, 네트워크 장애극복을 위해 슬레이브 컨트롤러로 장애극복 요청 메시지를 전송할 수 있다(S251). 여기에서, 장애극복 요청 메시지는 현재 마스터 컨트롤러의 식별 정보(예를 들어, IP 주소)와 Failover key 값을 포함할 수 있다.
장애극복 요청 메시지를 수신한 슬레이브 컨트롤러는 키 관리 서버로 Failover key 유효성 검증을 요청할 수 있다(S253).
키 관리 서버는 Failover key에 대한 유효성을 검증하고(S260), 그 결과를 슬레이브 컨트롤러에게 전달할 수 있다(S271).
슬레이브 컨트롤러는 장애극복 키에 대한 유효성 검증의 결과에 기반하여 컨트롤러 역할 변경을 스위치로 요청함으로써 네트워크 장애를 극복시킬 수 있다.
보다 상세하게는, 키 관리 서버로부터 Failover key에 대한 유효성이 확인된다는 결과를 수신한 슬레이브 컨트롤러는 Failover 응답 메시지(승인) 및 해당 슬레이브 컨트롤러를 마스터 컨트롤러로 변경하기 위한 컨트롤러 변경 요청 메시지를 스위치로 전송할 수 있다(S273, S275).
도 3은 본 발명의 다른 실시예에 따른 네트워크 서비스를 위한 장애 극복 방법을 설명하기 위한 순서도이다.
도 3은 상술한 도 2에서 S243의 단계까지 수행된 이후의 절차를 보다 상세하게 설명한다. 즉, 스위치는 마스터 컨트롤러로부터 Echo 메시지에 대한 응답을 수신하지 못한 경우에 연결 실패(Connection Failure)로 판단할 수 있다(S300).
스위치는 마스터 컨트롤러로부터 Echo 메시지에 대한 응답을 수신하지 못한 경우, 네트워크 장애극복을 위해 슬레이브 컨트롤러로 장애극복 요청 메시지를 전송할 수 있다(S311). 여기에서, 장애극복 요청 메시지는 현재 마스터 컨트롤러의 식별 정보(예를 들어, IP 주소)와 Failover key 값을 포함할 수 있다.
장애극복 요청 메시지를 수신한 슬레이브 컨트롤러는 키 관리 서버로 Failover key 유효성 검증을 요청할 수 있다(S313).
키 관리 서버는 Failover key에 대한 유효성을 검증하고, 그 결과를 슬레이브 컨트롤러에게 전달할 수 있다.
보다 상세하게는, 키 관리 서버는 슬레이브 컨트롤로부터 수신한 Failover key 값이 이미 수신된 키 값과 동일한지 확인할 수 있다(S321).
키 관리 서버는 Failover key 값이 이미 수신된 키 값과 동일한 것으로 확인되면, 유효성이 확인되지 않음을 알리는 Failover key 유효성 응답(유효성 미확인)을 슬레이브 컨트롤러로 할 수 있다(S323).
키 관리 서버는 Failover key 값이 이미 수신된 키 값과 동일하지 않은 것으로 확인되면, Failover key에 대한 유효성을 검증하고(S330), 그 결과를 슬레이브 컨트롤러에게 전달할 수 있다. 즉, 키 관리 서버는 처음으로 수신된 Failover key 값에 대해서만 유효성을 검증한다.
보다 상세하게는, 키 관리 서버는 Failover key에 대한 유효성이 확인되면, Failover key의 유효성이 확인되었다는 응답을 슬레이브 컨트롤러로 할 수 있다(S343).
슬레이브 컨트롤러는 장애극복 키에 대한 유효성 검증의 결과에 기반하여 컨트롤러 역할 변경을 스위치로 요청함으로써 네트워크 장애를 극복시킬 수 있다.
보다 상세하게는, 키 관리 서버로부터 Failover key에 대한 유효성이 확인된다는 결과를 수신한 슬레이브 컨트롤러는 Failover 응답 메시지(승인) 및 해당 슬레이브 컨트롤러를 마스터 컨트롤러로 변경하기 위한 컨트롤러 변경 요청 메시지를 스위치로 전송할 수 있고(S345, S347), 컨트롤러 변경 요청 메시지에 대한 응답으로 컨트롤러 변경 응답 메시지를 수신할 수 있다(S349).
또한, 키 관리 서버로부터 Failover key에 대한 유효성이 확인되지 않는다는 결과를 수신한 슬레이브 컨트롤러는 유효성이 확인되지 않음을 알리는 Failover key 유효성 응답(유효성 미확인)을 슬레이브 컨트롤러로 할 수 있다(S351).
도 4는 본 발명의 또 다른 실시예에 따른 네트워크 서비스를 위한 장애 극복 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, 컨트롤러와 스위치는 도 1의 절차를 통해 연결이 설정되어 통신 준비가 갖추어진 상태에서 컨트롤러의 역할을 변경하기 위한 메시지를 주고 받을 수 있다.
스위치는 다수의 컨트롤러와 연결될 수 있고, 다수의 컨트롤러에 의한 제어를 받을 수 있다.
예를 들어, 스위치는 도 1에 따른 절차를 통하여 마스터 컨트롤러 및 복수의 슬레이브 컨트롤러와 연결이 설정될 수 있다(S100).
스위치는 마스터 컨트롤러에 장애극복 키(Failover key) 값을 요청할 수 있다(S411).
마스터 컨트롤러는 스위치의 요청에 따라 Failover key 값을 생성할 수 있고(S420), 생성된 Failover key 값을 스위치로 전달할 수 있다(S431). 즉, 스위치는 마스터 컨트롤러에 장애가 발생하는 경우를 대비하여 Failover key 값을 미리 저장하고 있을 수 있다.
또한, 마스터 컨트롤러는 생성된 Failover key 값을 다른 컨트롤러들과 공유할 수 있다(S433). 예를 들어, 마스터 컨트롤러는 생성된 Failover key 값을 복수의 슬레이브 컨트롤러(1~N)와 공유할 수 있다.
또한, 컨트롤러들은 별도의 채널을 통해 상호 협상을 하여 네트워크의 토폴로지 맵(컨트롤러와 스위치간 연결 정보)과 같은 정보를 공유할 수 있다.
스위치는 컨트롤러와의 연결 상태 확인을 위한 목적으로 Echo 메시지를 활용할 수 있다. 예를 들어, 스위치는 마스터 컨트롤러로 Echo 메시지를 전송하여 연결 상태를 확인할 수 있다(S441). 스위치는 마스터 컨트롤러로부터 Echo 메시지에 대한 응답을 수신하지 못한 경우, 마스터 컨트롤러에 장애가 발생한 것으로 판단할 수 있다(S443).
스위치는 마스터 컨트롤러로부터 Echo 메시지에 대한 응답을 수신하지 못한 경우, 네트워크 장애극복을 위해 슬레이브 컨트롤러로 장애극복 요청 메시지를 전송할 수 있다(S451).
여기에서, 장애극복 요청 메시지는 Failover key 값을 포함할 수 있다. 다만, 컨트롤러들은 네트워크의 토폴로지 맵(컨트롤러와 스위치간 연결 정보)과 같은 정보를 상호 공유하기 때문에 현재 마스터 컨트롤러의 식별 정보(예를 들어, IP 주소)를 장애극복 요청 메시지에 포함시키지 않을 수 있다.
장애극복 요청 메시지를 수신한 복수의 슬레이브 컨트롤러 중에서 하나를 신규 마스터 컨트롤러로 선정할 수 있으며, 신규 마스터 컨트롤러에 대한 선정 방식은 미리 설정된 정책에 기반하여 수행될 수 있다(S460).
신규 마스터 컨트롤러로 선정된 슬레이브 컨트롤러는 장애극복 요청 메시지에 포함되어 있는 Failover key의 유효성을 검증할 수 있다(S470).
보다 상세하게는, 신규 마스터 컨트롤러로 선정된 슬레이브 컨트롤러는 Failover key에 대한 유효성이 확인되면, Failover 응답 메시지(승인) 및 신규 마스터 컨트롤러로 선정된 슬레이브 컨트롤러를 마스터 컨트롤러로 변경하기 위한 컨트롤러 변경 요청 메시지를 스위치로 전송할 수 있다(S481, S483, S485).
또한, 신규 마스터 컨트롤러로 선정된 슬레이브 컨트롤러는 컨트롤러 변경 요청 메시지에 대한 응답으로 컨트롤러 변경 응답 메시지를 수신할 수 있고, 이로 인하여 해당 슬레이브 컨트롤러는 마스터 컨트롤러로 변경될 수 있다.
또한, 신규 마스터 컨트롤러로 선정된 슬레이브 컨트롤러는 Failover key에 대한 유효성이 확인되지 않으면, 장애 극복에 실패하였음을 알리는 Failover 응답 메시지(거절)를 스위치에 전송할 수 있다(S491).
도 5는 본 발명의 실시예에 따른 네트워크 서비스를 위한 장애 극복을 수행하는 장치의 구성을 설명하기 위한 블록도이다.
도 5를 참조하면, 본 발명의 실시예에 따른 네트워크 서비스를 위한 장애 극복 방법은 컨트롤러(100)와 스위치(200)가 연동하여 수행될 수 있다.
먼저, 컨트롤러(100)는 연결성 관리부(110), 스위치 연동 처리부(120) 및 장애극복 관리부(130)를 포함한다.
연결성 관리부(110)는 스위치(200)로 연결 상태 확인 요청 메시지를 보내거나, 그에 대한 응답 메시지를 처리하는 기능을 수행할 수 있다.
스위치 연동 처리부(120)는 다수의 스위치(200)와 컨트롤러(100)가 통신할 수 있도록 프로토콜을 처리한다.
장애극복 관리부(130)는 네트워크 장애 극복을 위한 장애극복 키(Failover key)를 관리하는 기능을 수행할 수 있다.
보다 상세하게는, 장애극복 관리부(130)는 장애극복 키(Failover key)를 생성하고, 이를 스위치(100), 별도의 키 관리 서버, 다른 컨트롤러 등에 전달할 수 있다. 또한, 장애극복 관리부(130)는 장애극복 키에 대한 유효성 검증을 수행할 수도 있다.
다음으로, 스위치(200)는 연결성 관리부(210), 컨트롤러 연동 처리부(220) 및 장애극복 관리부(230)를 포함한다.
연결성 관리부(210)는 컨트롤러(100)로부터 연결 상태 확인 요청 메시지를 수신하여 처리하거나, 그에 대한 응답 메시지를 컨트롤러(100)로 전송하도록 제어할 수 있다.
컨트롤러 연동 처리부(220)는 컨트롤러(100)와 스위치(200)가 통신할 수 있도록 프로토콜을 처리한다.
장애극복 관리부(230)는 장애극복 키(Failover key)를 마스터 컨트롤러에 요청할 수 있다. 또한, 장애극복 관리부(230)는 마스터 컨트롤러에 장애 발생 시에, 장애극복 키를 포함하는 장애극복 요청 메시지를 슬레이브 컨트롤러로 전송하도록 제어할 수 있다. 더 나아가, 장애극복 관리부(230)는 슬레이브 컨트롤러로부터 컨트롤러 역할 변경 요청을 수신하여 슬레이브 컨트롤러를 마스터 컨트롤러로 변경하는 기능을 수행할 수 있다.
상술한 본 발명의 실시예에 따른 컨트롤러(100) 및 스위치(200)의 구성을 설명의 편의상 각각의 구성부로 나열하여 설명하였으나, 각 구성부 중 적어도 두 개가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합 및 분리된 실시예의 경우도 본 발명의 본질에서 벋어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 본 발명의 실시예에 따른 컨트롤러(100) 및 스위치(200)의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
도 6은 본 발명의 실시예에 따른 네트워크 서비스를 위한 장애 극복에 사용되는 장애극복 요청 메시지를 설명하기 위한 예시도이고, 도 7은 본 발명의 실시예에 따른 네트워크 서비스를 위한 장애 극복에 사용되는 장애극복 응답 메시지를 설명하기 위한 예시도이며, 도 8은 본 발명의 실시예에 따른 네트워크 서비스를 위한 장애 극복에 사용되는 Failover key의 요청 및 응답을 위한 키 요청/응답 메시지를 설명하기 위한 예시도이다.
도 6 내지 도 7은 ONF OpenFlow 표준안에 반영될 수 있는 메시지의 예를 나타낸다.
도 6을 참조하면, 장애극복 요청 메시지로는 마스터 컨트롤러의 IP 주소, Failover key 값 등에 대한 정보를 포함할 수 있다.
도 7을 참조하면, 장애극복 응답 메시지는 Failover key의 유효성 검증의 결과에 대한 정보를 포함할 수 있다.
도 8을 참조하면, 키 요청/응답 메시지는 키 값의 대상이 되는 마스터 컨트롤러의 IP 주소에 대한 정보와 해당 마스터 컨트롤러를 위한 Failover key 값을 포함할 수 있다.
다만, 도 6 내지 8은OpenFlow 표준안의 메시지를 예시적으로 설명하지만 이는 본 발명의 기술적 사상을 표준 관점에서 구체적으로 설명하기 위해 특정 표준안을 선택한 것일 뿐, 본 발명의 사상이 OpenFlow 표준안에 부합하는 메시지 형태로만 한정될 수 없으며, 다른 표준화 단체에서 정의하고 있는 각종 메시지 형태로 표현될 수 있음은 물론이다.
상술한 바와 같은 본 발명에 따른 네트워크 서비스를 위한 장애 극복 방법 및 장치는, 마스터 컨트롤러와 스위치간 연결성에 문제가 발생하는 경우, 스위치가 슬레이브 컨트롤러로 장애극복을 요청하는 메시지에 Failover key 값을 추가함으로써 장애극복 과정의 트래픽을 최소화할 수 있다.
또한, Failover key 값에 의한 장애극복 과정을 통하여 네트워크 서비스를 안정적으로 복구하고 지속시킬 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 컨트롤러 110, 210: 연결성 관리부
120: 스위치 연동 처리부 130, 230: 장애극복 관리부
200: 스위치 220: 컨트롤러 연동 처리부

Claims (12)

  1. 소프트웨어 정의 네트워킹 환경에서 스위치가 네트워크 장애를 극복하는 방법에 있어서,
    마스터 컨트롤러로 장애극복 키(Failover key)를 요청하는 단계;
    상기 마스터 컨트롤러로부터 상기 장애극복 키를 수신하는 단계; 및
    상기 마스터 컨트롤러에 장애 발생 시에, 상기 장애극복 키를 포함하는 장애극복 요청 메시지를 슬레이브 컨트롤러로 전송하는 단계를 포함하는,
    네트워크 서비스를 위한 장애 극복 방법.
  2. 청구항 1에 있어서,
    상기 슬레이브 컨트롤러는,
    상기 장애극복 키에 대한 유효성 검증의 결과에 기반하여 컨트롤러 역할 변경을 상기 스위치로 요청함으로써 네트워크 장애를 극복시키는 것을 특징으로 하는,
    네트워크 서비스를 위한 장애 극복 방법.
  3. 청구항 2에 있어서,
    상기 장애극복 키에 대한 유효성 검증은,
    상기 장애극복 키를 상기 마스터 컨트롤러와 미리 공유함으로써 상기 슬레이브 컨트롤러에 의해 수행되거나,
    별도의 키 관리 서버에 의해 수행되는 것을 특징으로 하는,
    네트워크 서비스를 위한 장애 극복 방법.
  4. 청구항 1에 있어서,
    상기 장애극복 키는,
    상기 마스터 컨트롤러 또는 별도의 키 관리 서버에 의해 생성되는 것을 특징으로 하는,
    네트워크 서비스를 위한 장애 극복 방법.
  5. 청구항 1에 있어서,
    상기 장애극복 요청 메시지는,
    상기 마스터 컨트롤러의 식별 정보를 더 포함하는 것을 특징으로 하는,
    네트워크 서비스를 위한 장애 극복 방법.
  6. 소프트웨어 정의 네트워킹 환경에서 슬레이브 컨트롤러가 네트워크 장애를 극복하는 방법에 있어서,
    장애극복 키(Failover key)를 수신하는 단계;
    상기 장애극복 키에 대한 유효성 검증의 결과에 기반하여 상기 슬레이브 컨트롤러의 역할을 마스터로 변경하는 컨트롤러 역할 변경을 상기 스위치에 요청함으로써 네트워크의 장애를 극복시키는 단계를 포함하는,
    네트워크 서비스를 위한 장애 극복 방법.
  7. 청구항 6에 있어서,
    상기 장애극복 키는,
    마스터 컨트롤러 또는 별도의 키 관리 서버에 의해 생성되는 것을 특징으로 하는,
    네트워크 서비스를 위한 장애 극복 방법.
  8. 청구항 6에 있어서,
    상기 장애극복 키를 수신하는 단계는,
    마스터 컨트롤러에 장애 발생 전에 상기 마스터 컨트롤러와의 정보 공유를 통해 상기 장애극복 키를 수신하거나,
    상기 마스터 컨트롤러에 장애 발생 시에 상기 스위치로부터 수신하는 것을 특징으로 하는,
    네트워크 서비스를 위한 장애 극복 방법.
  9. 청구항 6에 있어서,
    상기 장애극복 키에 대한 유효성 검증은,
    상기 장애극복 키를 마스터 컨트롤러와 미리 공유함으로써 상기 슬레이브 컨트롤러에 의해 수행되거나,
    별도의 키 관리 서버에 의해 수행되는 것을 특징으로 하는,
    네트워크 서비스를 위한 장애 극복 방법.
  10. 소프트웨어 정의 네트워킹 환경에서 스위치에 대해 슬레이브 컨트롤러 역할을 수행하는 컨트롤러에 있어서,
    마스터 컨트롤러 또는 별도의 키 관리 서버에 의해 생성된 장애극복 키(Failover key)를 수신하고,
    상기 마스터 컨트롤러에 장애 발생 시에 상기 장애극복 키에 대한 유효성 검증의 결과에 기반하여 새로운 마스터 컨트롤러로 역할을 부여받기 위해 상기 스위치에 컨트롤러 역할 변경을 요청하는,
    네트워크 서비스를 위한 장애 극복을 수행하는 컨트롤러.
  11. 청구항 10에 있어서,
    상기 슬레이브 컨트롤러는,
    상기 마스터 컨트롤러에 장애 발생 전에 상기 마스터 컨트롤러와의 정보 공유를 통해 상기 장애극복 키를 수신하거나,
    상기 마스터 컨트롤러에 장애 발생 시에 상기 스위치로부터 수신하는 것을 특징으로 하는,
    네트워크 서비스를 위한 장애 극복을 수행하는 컨트롤러.
  12. 청구항 10에 있어서,
    상기 장애극복 키에 대한 유효성 검증은,
    상기 장애극복 키를 마스터 컨트롤러와 미리 공유함으로써 상기 슬레이브 컨트롤러에 의해 수행되거나,
    상기 별도의 키 관리 서버에 의해 수행되는 것을 특징으로 하는,
    네트워크 서비스를 위한 장애 극복을 수행하는 컨트롤러.
KR1020150110993A 2014-08-07 2015-08-06 Sdn 환경에서 네트워크 서비스를 위한 장애 극복 방법 KR101740799B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20140101957 2014-08-07
KR1020140101957 2014-08-07

Publications (2)

Publication Number Publication Date
KR20160018413A true KR20160018413A (ko) 2016-02-17
KR101740799B1 KR101740799B1 (ko) 2017-05-29

Family

ID=55457606

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150110993A KR101740799B1 (ko) 2014-08-07 2015-08-06 Sdn 환경에서 네트워크 서비스를 위한 장애 극복 방법

Country Status (1)

Country Link
KR (1) KR101740799B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200061531A (ko) * 2018-11-26 2020-06-03 한국과학기술원 블록체인 기반의 안전한 소프트웨어 정의 네트워킹 시스템 및 그 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100990831B1 (ko) * 2004-04-09 2010-10-29 엘지에릭슨 주식회사 차세대 망에서의 장애 극복을 위한 소프트스위치 및 그 방법
KR101188019B1 (ko) * 2008-12-10 2012-10-05 한국전자통신연구원 다운로더블 제한 수신 시스템을 위한 보안 관련 정보의 복구 및 관리 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200061531A (ko) * 2018-11-26 2020-06-03 한국과학기술원 블록체인 기반의 안전한 소프트웨어 정의 네트워킹 시스템 및 그 방법

Also Published As

Publication number Publication date
KR101740799B1 (ko) 2017-05-29

Similar Documents

Publication Publication Date Title
US9385944B2 (en) Communication system, path switching method and communication device
EP3242446B1 (en) Failure protection method, device and system for ring protection link
JP5765623B2 (ja) ネットワークシステム
EP2122917B1 (en) Change of subscriber information in a multi-chassis network access environment
US10523547B2 (en) Methods, systems, and computer readable media for multiple bidirectional forwarding detection (BFD) session optimization
EP3099021A1 (en) Interconnecting networks
US11641307B2 (en) Method for configuring a network node
CN106664247B (zh) 通信装置、通信系统和通信方法
WO2019134572A1 (zh) 基于sdn的光传送网保护恢复方法、设备及存储介质
KR101740799B1 (ko) Sdn 환경에서 네트워크 서비스를 위한 장애 극복 방법
CN109120520B (zh) 一种故障处理方法和设备
EP3079327B1 (en) Information transmission method, device and system
JP2003507976A (ja) マルチマネージャ環境における包括アライメントプロセス
CN105471619A (zh) 网络节点设备及其主从配置方法和系统
CN105376275A (zh) 基于软件定义网络的数据管理方法和系统
US20130136130A1 (en) Relay server and relay communication system
US7764630B2 (en) Method for automatically discovering a bus system in a multipoint transport network, multipoint transport network and network node
JP2018107744A (ja) 通信ノード、通信システム、通信方法及びプログラム
KR101717363B1 (ko) Sdn 환경에서 컨트롤러의 역할을 변경하는 방법 및 이를 수행하는 장치
US20160308787A1 (en) Method for processing event between controller and network device
KR101737697B1 (ko) Sdn 환경에서 컨트롤러의 부하 분산 방법 및 장치
CN111181766A (zh) 一种冗余fc网络系统及其实现交换机动态配置的方法
CN105323088A (zh) 跳板处理方法及装置
US11799770B1 (en) Name-based routing through networks
JP2005332085A (ja) コンピュータネットワークシステムにおける通信経路制御プログラム及び装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant