KR20190001402A - 소프트웨어 정의 네트워크에서의 소프트웨어 정의 네트워크 제어기, 이를 이용한 장애 복구 그룹 생성 방법 및 장애 복구 방법 - Google Patents

소프트웨어 정의 네트워크에서의 소프트웨어 정의 네트워크 제어기, 이를 이용한 장애 복구 그룹 생성 방법 및 장애 복구 방법 Download PDF

Info

Publication number
KR20190001402A
KR20190001402A KR1020170081335A KR20170081335A KR20190001402A KR 20190001402 A KR20190001402 A KR 20190001402A KR 1020170081335 A KR1020170081335 A KR 1020170081335A KR 20170081335 A KR20170081335 A KR 20170081335A KR 20190001402 A KR20190001402 A KR 20190001402A
Authority
KR
South Korea
Prior art keywords
switch
port
packet
input port
information
Prior art date
Application number
KR1020170081335A
Other languages
English (en)
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 KR1020170081335A priority Critical patent/KR20190001402A/ko
Publication of KR20190001402A publication Critical patent/KR20190001402A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports

Landscapes

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

Abstract

복수의 스위치들이 네트워크를 통해 연결된 소프트웨어 정의 네트워크 제어기가 복수의 스위치들에 대한 장애 복구 그룹을 생성하기 위하여, 제1 호스트로부터 제2 호스트 사이에 위치하여 패킷이 전송될 복수의 스위치 각각에 대한 입력 포트와 출력 포트를 확인한다. 각 스위치에 대하여 입력 포트별로 확인한 출력 포트들을 매칭하여, 해당 스위치의 입력 포트-장애 복구 출력 포트 그룹으로 설정하고, 각 스위치의 입력 포트-장애 복구 출력 포트 그룹에 포함된 출력 포트들의 전송 속도와 홉 카운트를 토대로, 입력 포트-장애 복구 출력 포트 그룹에 포함된 출력 포트들에 대한 우선 순위를 설정한다. 스위치별 입력 포트-장애 복구 출력 포트 그룹 정보와, 해당 출력 포트들의 우선 순위를 포함하는 스위치별 플로우 규칙을 생성한다.

Description

소프트웨어 정의 네트워크에서의 소프트웨어 정의 네트워크 제어기, 이를 이용한 장애 복구 그룹 생성 방법 및 장애 복구 방법{SDN controller and method for generating of failover group using the same and method for failover in SDN}
본 발명은 소프트웨어 정의 네트워크에서의 소프트웨어 정의 네트워크 제어기, 이를 이용한 장애 복구 그룹 생성 방법 및 장애 복구 방법에 관한 것이다.
소프트웨어 정의 네트워크(SDN: Software Defined Networks) 환경에서, 네트워크 내의 네트워크 장비들(예를 들어, 스위치 등)은 단순히 플로우 테이블(flow table)에 명시된 대로 패킷을 전달하는 기능만 수행한다. 그리고, 패킷을 원하는 경로로 전달하기 위한 라우팅과 같은 제어 평면의 기능은 SDN 제어기에서 수행한다.
이를 위해, SDN 제어기는 각 SDN 스위치와 연결된 중앙 집중화 방식으로 구성된다. SDN 스위치와 연결된 링크를 통해 SDN 제어기는 각 SDN 스위치의 설정, 제어, 관리가 가능하다. 이때, SDN에서 발생 가능한 물리적인 장애로는 크게 네트워크 장비의 장애와 물리 데이터 경로(Data Path)에서의 장애로 구분할 수 있다.
SDN에서 장애가 발생할 경우, 장애가 발생한 SDN 스위치 또는 물리 데이터 경로는 SDN 제어기로 장애가 발생하였음을 알리는 메시지(Packet_in 메시지)를 전송한다. 그리고 SDN 제어기는 수신한 메시지를 토대로 우회 SDN 스위치 또는 우회 물리 데이터 경로를 계산하여 알려준다.
이 경우, 매번 장애가 발생할 때마다 SDN 제어기는 장애를 감지하고, 경로를 재설정하기 위한 연산을 수행한다. 그리고, 연산된 경로로 각 스위치마다 플로우 규칙을 설정하도록 제어해야 하기 때문에, 네트워크 자원 소모가 편중되고 빠른 장애 복구가 어렵다는 단점이 있다.
따라서, 본 발명은 소프트웨어 정의 네트워크에서 장애 복구를 위하여 소프트웨어 정의 네트워크 제어기와 이를 이용한 장애 복구 그룹을 지정하는 방법 그리고 장애 복구 방법을 제공한다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 하나의 특징인 복수의 스위치들이 네트워크를 통해 연결된 소프트웨어 정의 네트워크 제어기가 복수의 스위치들에 대한 장애 복구 그룹을 생성하는 방법은,
제1 호스트로부터 제2 호스트 사이에 위치하여 패킷이 전송될 복수의 스위치 각각에 대한 입력 포트와 출력 포트를 확인하는 단계, 각 스위치에 대하여 입력 포트별로 확인한 출력 포트들을 매칭하여, 해당 스위치의 입력 포트-장애 복구 출력 포트 그룹으로 설정하는 단계, 각 스위치의 입력 포트-장애 복구 출력 포트 그룹에 포함된 출력 포트들의 전송 속도와 홉 카운트를 토대로, 상기 입력 포트-장애 복구 출력 포트 그룹에 포함된 출력 포트들에 대한 우선 순위를 설정하는 단계, 그리고 스위치별 입력 포트-장애 복구 출력 포트 그룹 정보와, 해당 출력 포트들의 우선 순위를 포함하는 스위치별 플로우 규칙을 생성하는 단계를 포함한다.
상기 입력 포트와 출력 포트를 확인하는 단계 이전에, 상기 복수의 스위치들로부터 스위치 상태 정보를 수집하고, 수집한 스위치 상태 정보를 토대로 토폴로지를 파악하는 단계, 그리고 상기 복수의 스위치 중 상기 제1 호스트에 연결된 제1 스위치로부터 상기 제1 호스트로부터 제2 호스트로 전송할 패킷에 대한 패킷 인 메시지를 수신하는 단계를 포함할 수 있다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 소프트웨어 정의 네트워크에서 스위치가 장애를 복구하는 방법은,
패킷을 수신한 입력 포트를 확인하는 단계, 확인한 입력 포트가 저장된 플로우 규칙의 입력 포트에 매칭되면, 상기 입력 포트에 대하여 입력 포트-장애 복구 출력 포트 그룹에 포함된 출력 포트들의 우선 순위를 확인하는 단계, 확인한 우선 순위에 따라 출력 포트들 중 제1 우선 순위로 설정된 제1 출력 포트의 상태를 확인하는 단계, 그리고 상기 제1 출력 포트가 다운 상태이면, 상기 출력 포트들 중 제2 우선 순위를 갖는 제2 출력 포트로 상기 패킷을 전달하는 단계를 포함한다.
상기 입력 포트를 확인하는 단계 이전에, 네트워크를 통해 연결된 소프트웨어 정의 네트워크 제어기로부터 입력 포트-장애 복구 출력 포트 그룹 정보와, 해당 출력 포트들의 우선 순위를 포함하는 플로우 규칙을 수신하는 단계를 포함할 수 있다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 복수의 스위치들이 네트워크를 통해 연결되고, 상기 복수의 스위치들에 대한 장애 복구 그룹을 생성하는 소프트웨어 정의 네트워크 제어기는,
상기 복수의 스위치로부터 각각 스위치 정보를 수신하고, 제1 호스트로부터 전송되는 패킷을 수신하는 제1 스위치로부터 패킷 헤더 정보를 포함하는 패킷 인 메시지를 수신하는 통신부, 상기 각각의 스위치 정보와 패킷 헤더 정보를 토대로 각 스위치에 대한 입력 포트-장애 복구 출력 포트 그룹을 생성하고, 입력 포트-장애 복구 출력 포트 그룹에 포함된 출력 포트들에 대한 우선 순위를 설정하여 플로우 규칙로 생성하는 프로세서, 그리고 상기 수신한 복수의 스위치 정보, 상기 생성한 플로우 규칙을 저장하는 메모리를 포함한다.
상기 프로세서는, 상기 패킷 헤더 정보를 토대로 상기 제1 호스트로부터 제2 호스트로 전송되는 패킷의 경로 토폴로지를 확인하고, 확인한 경로 토폴로지에 위치한 적어도 하나의 스위치 각각에 대하여 입력 포트-장애 복구 출력 포트 그룹을 생성할 수 있다.
상기 프로세서는, 상기 적어도 하나의 스위치 중 임의의 스위치의 하나의 입력 포트에 서로 다른 출력 포트가 복수 개 존재하면, 상기 서로 다른 출력 포트를 상기 하나의 입력 포트에 대한 입력 포트-장애 복구 출력 포트 그룹으로 생성할 수 있다.
본 발명에 따르면, SDN 환경에서 SDN 제어기에 의한 장애 탐지 없이도, SDN 스위치에서 자체적으로 장애 복구가 가능하다.
또한, 장애 발생시 복구까지 절차가 간소화되어 신속한 장애 복구가 가능하다.
도 1a 및 도 1b는 일반적인 SDN에서 장애를 복구하는 과정에 대한 예시도이다.
도 2는 본 발명의 실시예에 따른 SDN 환경의 예시도이다.
도 3은 본 발명의 실시예에 따른 SDN 제어기의 구조도이다.
도 4는 본 발명의 실시예에 따른 스위치 이중화를 위한 프로우 규칙 생성 방법에 대한 흐름도이다.
도 5는 본 발명의 실시예에 따른 SDN 제어기가 추출한 패킷 경로의 예시도이다.
도 6은 본 발명의 실시예에 따른 장애 복구 포트 그룹 지정에 대한 예시도이다.
도 7은 본 발명의 실시예에 따른 장애 복구 그룹 대상 포트들의 우선순위 지정에 대한 예시도이다.
도 8은 본 발명의 실시예에 따른 장애 복구 그룹을 이용한 프로우 규칙 생성에 대한 예시도이다.
도 9는 본 발명의 실시예에 따른 장애 복구 그룹 지정을 통한 패킷 전송의 예시도이다.
도 10은 본 발명의 제1 실시예에 따른 장애 복구 절차에 대한 예시도이다.
도 11은 본 발명의 제2 실시예에 따른 장애 복구 절차에 대한 예시도이다.
도 12는 본 발명의 제3 실시예에 따른 장애 복구 절차에 대한 예시도이다.
도 13은 본 발명의 제4 실시예에 따른 장애 복구 절차에 대한 예시도이다.
도 14는 본 발명의 제5 실시예에 따른 장애 복구 절차에 대한 예시도이다.
도 15는 본 발명의 제6 실시예에 따른 장애 복구 절차에 대한 예시도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 도면을 참조로 하여, 본 발명의 실시예에 따른 소프트웨어 정의 네트워크(이하, 'SDN'이라 지칭함)에서 빠른 장애 극복 그룹을 지정하여, 스위치를 이중화하고 장애를 복구하는 장치 및 방법에 대해 설명한다.
본 발명의 실시예에 대해 설명하기 앞서, 기존의 SDN 환경에서의 장애를 복구하는 예에 대해 도 1a 및 도 1b를 참조로 설명한다.
도 1a 및 도 1b는 일반적인 SDN에서 장애를 복구하는 과정에 대한 예시도이다.
도 1a는 네트워크 장비 즉, 스위치에 장애가 발생한 경우 이를 복구하는 과정에 대한 예시도이고, 도 1b는 데이터 패킷이 이동하는 경로에서의 장애를 복구하는 과정에 대한 예시도이다.
먼저 도 1a에 도시된 바와 같이, 제1 호스트(10)가 제2 호스트(20)와 통신을 위해 패킷을 네트워크로 유입시킨다. 이때, 제1 호스트(10)로부터 제2 호스트(20)까지의 패킷 전송 경로는 제1 스위치(40-1)→제2 스위치(40-2)→제3 스위치(40-3)를 거쳐 패킷이 이동하도록, 각 스위치마다 플로우 규칙이 설정되어 있다고 가정한다.
만약, 제2 스위치(40-2)에 장애가 발생하면, SDN 제어기(30)는 스위치의 상태 정보를 수집하는 과정에서 SDN 제어기(30)와 제2 스위치(40-2)의 연결 상태 정보를 수집하고, 이를 토대로 제2 스위치(40-2)에 대한 장애를 탐지한다. 그러면 SDN 제어기(30)는 제2 스위치를 경유하지 않고 제1 호스트(10)에서 제2 호스트(20)로 패킷이 전송될 수 있는 새로운 경로를 계산한다.
도 1a에서는 SDN 제어기(30)가 계산한 새로운 경로를 제1 스위치(40-1)→제4 스위치(40-4)→제3 스위치(40-3)라 가정한다. SDN 제어기(30)는 계산한 새로운 경로상의 스위치들을 위한 플로우 규칙을 생성하여 각각의 스위치로 제공하고, 새로운 플로우 규칙에 따라 패킷 전송 경로가 연결되면 제1 호스트(10)에서 제2 호스트(20)로 패킷이 전송되도록 한다.
한편, 도 1b에 도시된 바와 같이, 패킷이 이동하는 스위치 사이의 링크에 장애가 발생하는 경우에도, 장애 링크가 아닌 새로운 링크를 통해 패킷이 우회하도록 각 스위치의 플로우 규칙을 등록/수정/삭제하도록 제어하여, 패킷의 이동 경로를 재설정, 장애를 복구할 수 있다. 즉, 제1 호스트(10)로부터 제2 호스트(20)까지의 패킷 전송 경로는 제1 스위치(40-1)→제2 스위치(40-2)→제3 스위치(40-3)를 거치도록 경로가 설정되어, 각 스위치마다 플로우 규칙이 설정되어 있다고 가정한다.
여기서, 제2 스위치(40-2)와 제3 스위치(40-3) 사이의 링크에 장애가 발생하면, SDN 제어기(30)는 스위치의 상태 정보를 수집하는 과정에서 제2 스위치(40-2)에 구비된 복수의 포트별 업 링크/다운 링크 정보를 수집함으로써, 링크에 대한 장애를 탐지한다. 그러면 SDN 제어기(30)는 제2 스위치(40-2)와 제3 스위치(40-3) 사이의 경로를 경유하지 않고 제1 호스트(10)에서 제2 호스트(20)로 패킷이 전송될 수 있는 새로운 경로를 계산한다.
도 1b에서는 SDN 제어기(30)가 계산한 새로운 경로를 제1 스위치(40-1)→제4 스위치(40-4)→제3 스위치(40-3)라 가정한다. 그리고 계산한 새로운 경로상의 스위치들을 위한 플로우 규칙을 생성, 각 스위치로 제공하고, 새로운 플로우 규칙에 따라 패킷 전송 경로가 연결되어 패킷이 전송되도록 한다.
이와 같은 방식으로 스위치 또는 데이터 경로에서의 장애 탐지 및 복구를 수행하는 방법을 이용하면, SDN 제어기(30)는 스위치나 데이터 경로에 장애가 발생할 때 마다 장애를 감지, 경로 재설정을 위한 연산, 연산된 경로로 각 스위치들이 플로우 규칙을 설정하도록 제어하는 과정을 반복 수행해야 한다. 이로 인해 SDN 제어기(30)로 네트워크 자원소모가 상당히 편중되고, 비효율적인 네트워크 자원 활용이 발생한다.
따라서, 본 발명의 실시예에서는 빠른 복구 그룹 지정(Fast failover group) 방식을 통해, SDN 환경에서 장애를 복구하기 위한 장애 복구 방법 및 이를 이용한 장애 복구 방법에 대해 설명한다.
또한, 본 발명의 실시예에서는 스위치와 스위치 사이를 연결하며, 패킷이 전송되는 구간을 "링크"라 지칭한다. 그리고, 패킷을 전송하는 전송 주체 단말부터 패킷이 전송되는 목적지 단말까지의 패킷 이동 구간을 "경로"라 지칭한다. 전체 경로는 복수의 링크로 나눌 수 있다.
또한, 본 발명의 실시예에서는 패킷을 전송하는 전송 주체 단말이 제1 호스트(200-1), 패킷을 수신하는 목적지 단말이 제2 호스트(200-2)인 것을 예로 하여 설명한다. 그리고, 본 발명의 실시예에서는 SDN 제어기(100)에 복수의 SDN 스위치인 제1 스위치(300-1) 내지 제4 스위치(300-4)가 연결되어 있는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다. 스위치(300-1∼300-4)는 각각 복수의 포트를 구비하고 있으며, 복수의 포트 중 적어도 하나를 통해 이웃한 스위치들과 연결되어 링크를 형성한다.
또한, 본 발명의 실시예에서는 SDN 스위치(300-1~300-4)들이 각각 플로우 테이블을 가지고 있고, 이때 플로우 테이블의 엔트리에 등록되는 정보를 "플로우 규칙(Flow Rule)"이라 정의한다.
도 2는 본 발명의 실시예에 따른 SDN 환경의 예시도이다.
도 2에 도시된 바와 같이, SDN 제어기(100)는 링크를 생성하는 복수의 스위치(300-1∼300-4)들과 연결되어 있다. 그리고 SDN 제어기(100)는 복수의 스위치(300-1∼300-4)로부터 스위치 정보를 수집한다.
스위치 정보는 스위치(300-1∼300-4) 각각의 스위치 식별 정보(DPID: Data Path ID), 스위치가 SDN 제어기(100)와 연결된 시간 정보를 포함한다. 또한, SDN 제어기(100)는 자신에 연결된 전체 스위치 수, 연결 링크 수, 패킷을 송수신하는 호스트 수에 대한 정보도 수집한다.
또한, SDN 제어기(100)는 스위치(300-1∼300-4)로부터 연결 단말 정보 또는 연결 스위치 정보를 수집한다. 연결 단말 정보는 스위치의 몇 번 포트에 어떤 IP와 MAC을 가지는 호스트가 연결되어 있는지 나타내는 정보이고, 연결 스위치 정보는 몇 번 포트에 어떤 DPID를 가지는 스위치가 연결되어 있는지 나타내는 정보이다.
그리고 SDN 제어기(100)는 스위치(300-1∼300-4)로부터 스위치 포트별 상태 정보도 수신한다. 스위치 포트별 상태 정보는 스위치 각각에 구비된 복수의 포트들에 대한 활성/비활성 여부 정보, 포트별 전송 속도 정보, 송신/수신 트래픽 처리량 정보를 포함한다.
SDN 제어기(100)는 스위치(300-1∼300-4)로부터 전송되는 다양한 정보(스위치 정보, 스위치 포트별 상태 정보, 연결 단말 정보, 연결 스위치 정보 등)를 토대로 각각의 스위치 상태 정보를 파악한다.
SDN 제어기(100)는 제1 호스트(200-1)가 전송한 패킷을 처음 수신한 제1 스위치(300-1)로부터 해당 패킷에 대한 헤더 정보를 포함하는 소정의 메시지를 수신한다. 소정의 메시지는 ONF(Open Network Foudation)에서 표준화 중인 오픈플로우(Open Flow) 또는 IETF(Internet Engineering Task Force)에서 표준화 중인 I2RS(Interface to Routing System)의 규약에 따른 메시지일 수 있다.
SDN 제어기(100)는 메시지에 포함된 헤더 정보를 토대로 제1 호스트(200-1)로부터 제2 호스트(200-2)까지 패킷이 전송될 수 있는 모든 경로를 추출한다. 이를 위해, 헤더 정보는 제1 호스트(200-1) 식별 정보와 제2 호스트(200-2) 식별 정보 또는 제1 호스트(200-1)의 주소 정보와 제2 호스트(200-2)의 주소 정보를 포함한다.
SDN 제어기(100)는 스위치(300-1∼300-4) 각각에 대한 복수의 포트들이, 복수의 장애 복구 그룹 중 적어도 하나의 장애 복구 그룹에 포함되도록 분류한다. SDN 제어기(100)는 스위치의 공통 입력 포트에 서로 다른 출력 포트가 2개 이상 존재할 경우, 해당 출력 포트들을 하나의 장애 복구 그룹으로 지정한다.
SDN 제어기(100)는 장애 복구 그룹(또는, 장애 복구 출력 포트 그룹이라고 지칭함)으로 분류된 스위치(300-1∼300-4)의 포트들에 대한 우선 순위를 부여한다. SDN 제어기(100)는 스위치(300-1∼300-4) 각각의 포트들에 대한 장애 복구 그룹과 우선 순위를 기초로, 플로우 테이블을 채울 데이터인 플로우 규칙을 생성하여 각각의 스위치(300-1∼300-4)로 전달한다.
스위치(300-1∼300-4)는 SDN 제어기(100)로부터 전송되는 플로우 규칙을 수신하여, 플로우 테이블 내 비어 있는 필드에 저장하여 플로우 규칙을 등록한다. 그리고, 패킷 전송 시 스위치 자체 또는 링크에 장애가 발생하여 패킷 전송이 불가능하면, 저장한 플로우 규칙을 토대로 우회 경로를 통해 패킷을 재전송한다.
각각의 스위치(300-1∼300-4)들은 하나 이상의 포트를 구비하고 있으며, 각각의 포트에 포트 식별 정보가 설정되어 있다. 도 2의 제1 스위치(300-1)를 예로 하여 설명하면, 제1 스위치(300-1)가 제1 호스트(200-1)와 연결되어 있는 포트의 식별 정보는 '1'이고, 제1 스위치(300-1)가 제2 스위치(300-2)와 연결되어 링크를 형성하는 포트는 2번 포트이다.
그리고 제1 스위치(300-1)가 제3 스위치(300-3)와 연결되어 링크를 형성하는 포트는 3번 포트이며, 제1 스위치(300-1)가 제4 스위치(300-4)와 연결되어 링크를 형성하는 포트는 4번 포트이다. 도 2의 포트 정보는 하나의 예로 반드시 이와 같이 한정되는 것은 아니다.
이상에서 설명한 SDN 환경에서 장애 복구 그룹을 형성하여 플로우 규칙을 생성하는 SDN 제어기(100)의 구조에 대해서 도 3을 참조로 설명한다.
도 3은 본 발명의 실시예에 따른 SDN 제어기의 구조도이다.
도 3에 도시된 바와 같이 SDN 제어기(100)는 통신부(110), 프로세서(120) 및 메모리(130)를 포함한다.
통신부(110)는 복수의 스위치(300-1∼300-4)와 데이터 평면(data plane) 및 제어 평면(control plane)을 형성한다. 데이터 평면을 통해서는 패킷을 송수신한다. 제어 평면을 통해서는 복수의 스위치(300-1∼300-4)와 패킷-인 메시지 또는 패킷-아웃 메시지를 송수신하고, 복수의 스위치(300-1∼300-4)에 대한 스위치 정보를 획득한다. 그리고 제어 평면을 통해서는 제1 호스트(200-1)와 제2 호스트(200-2) 사이에 패킷이 전달될 때, 패킷 전달을 위하여 생성된 플로우 규칙을 복수의 스위치(300-1∼300-4)에 전달한다.
프로세서(120)는 통신부(110)를 통해 수신한 패킷-인 메시지와 다양한 정보(스위치 정보, 스위치 포트별 상태 정보, 연결 단말 정보, 연결 스위치 정보 등)를 토대로, 복수의 스위치(300-1∼300-4)에 각각에 대한 장애 복구 그룹을 형성한다. 즉, 프로세서(120)는 제1 호스트(200-1)가 전송한 패킷을 처음 수신하는 제1 스위치(300-1)로부터 전송된 패킷 인 메시지에 포함되어 있는 패킷에 대한 헤더 정보를 토대로 제1 호스트(200-1)로부터 제2 호스트(200-2)까지 패킷이 전송될 수 있는 모든 경로를 추출한다.
프로세서(120)는 스위치(300-1∼300-4) 각각에 대한 복수의 포트들이, 복수의 장애 복구 그룹 중 적어도 하나의 장애 복구 그룹에 포함되도록 분류한다. 프로세서(120)는 스위치의 공통 입력 포트에 서로 다른 출력 포트가 2개 이상 존재할 경우, 해당 출력 포트들을 하나의 장애 복구 그룹으로 지정한다.
프로세서(120)는 장애 복구 그룹으로 분류된 스위치(300-1∼300-4)의 포트들에 대한 우선 순위를 부여한다. 그리고 프로세서(120)는 스위치(300-1∼300-4) 각각의 포트들에 대한 장애 복구 그룹과 우선 순위를 기초로, 플로우 규칙을 생성한다.
메모리(130)는 통신부(110)를 통해 수신한 다양한 정보 그리고 프로세서(120)가 형성한 장애 복구 그룹과 이를 토대로 생성한 플로우 규칙을 플로우 테이블의 필드에 저장하여, 플로우 규칙으로 등록한다. 이 외에, 메모리(130)는 SDN 제어기(100)의 동작에 필요한 프로그램 및 데이터를 저장한다.
이상에서 설명한 SDN 환경에서 SDN 제어기(100)가 플로우 규칙을 생성하는 방법에 대해 도 4를 참조로 설명한다.
도 4는 본 발명의 실시예에 따른 스위치 이중화를 위한 플로우 규칙 생성 방법에 대한 흐름도이다.
도 4에 도시된 바와 같이, SDN 제어기(100)는 처음 SDN 제어기(100)에 복수의 스위치(300-1∼300-4)들이 연결되면, 각각의 스위치에 대한 스위치 상태 정보를 수집한다. 스위치 상태 정보는 스위치 정보, 스위치 포트별 상태 정보, 연결 단말 정보, 연결 스위치 정보 등을 포함한다.
SDN 제어기(100)는 수집한 스위치 상태 정보를 토대로 SDN 제어기(100)에 연결된 복수의 스위치들과 호스트들에 대한 전체 토폴로지를 파악한다(S100). 전체 토폴로지가 파악된 상태에서, 제1 호스트(200-1)가 제2 호스트(200-2)로 패킷을 보내고자 할 경우, 제1 호스트(200-1)에 연결된 제1 스위치(300-1)는 제1 호스트(200-1)로부터 수신한 패킷을 어디로 보내야 하는지 모른다.
따라서, 제1 스위치(300-1)는 수신한 패킷의 헤더 정보를 포함하는 패킷 인 메시지를 SDN 제어기(100)로 전송하고, SDN 제어기(100)는 제1 스위치(300-1)로부터 해당 패킷에 대한 헤더 정보를 포함하는 패킷 인 메시지를 수신한다(S101). 그리고, SDN 제어기(100)는 수신한 패킷 인 메시지의 헤더 정보를 토대로 제1 호스트(200-1)에서 제2 호스트(200-2)로 패킷이 전송될 수 있는 모든 경로를 추출한다(S102).
여기서, SDN 환경이 상기 도 2에 설명한 바와 같이 두 개의 호스트 사이에 네 개의 스위치들이 연결되어 있는 상태라면, SDN 제어기(100)는 제1 호스트(200-1)에서 제2 호스트(200-2)로 패킷을 보내기 위한 경로를 추출한다. 이에 대해 도 5를 참조로 먼저 설명한다.
도 5는 본 발명의 실시예에 따른 SDN 제어기가 추출한 패킷 경로의 예시도이다.
도 5에 도시된 바와 같이, SDN 제어기(100)가 경로를 추출할 때, 패킷이 임의의 스위치로 입력될 때의 입력 포트 정보, 해당 패킷을 임의의 스위치와 링크를 형성하고 있는 인접한 다른 스위치로 전송할 때의 출력 포트 정보, 그리고 제1 호스트(200-1)에서 제2 호스트(200-2)로 패킷이 전송될 때 몇 개의 스위치를 거쳐 전송되는지에 대한 홉 카운트 정보를 추출한다.
첫 번째 경로 토폴로지를 예로 하여 설명하면, 제1 호스트(200-1)로부터 패킷이 가장 먼저 전달되는 제1 스위치(300-1)는 제1 포트를 통해 패킷을 수신하고, 링크를 형성하는 제2 스위치(300-2)로는 제2 포트를 통해 전달된다. 제2 스위치(300-2)는 제1 포트를 통해 제1 스위치(300-1)로부터 전송되는 패킷을 수신하고, 제3 포트를 통해 링크를 형성하는 제4 스위치(300-4)로 패킷을 전달한다.
제4 스위치(300-4)는 제1 포트를 통해 제2 스위치(300-2)로부터 전송되는 패킷을 수신하고, 제4 포트를 통해 제2 호스트(200-2)로 패킷을 전달한다. 제1 호스트(200-1)에서 제2 호스트(200-2)까지 제1 스위치(300-1), 제2 스위치(300-2) 그리고 제4 스위치(300-4)의 3개 스위치를 거쳐 패킷이 전달되기 때문에, 홉 카운트는 3으로 설정된다.
한편, 상기 도 4를 이어 설명하면, S102 단계를 통해 제1 호스트(200-1)에서 제2 호스트(200-2)까지 패킷이 전송될 수 있는 모든 경로가 추출되면, SDN 제어기(100)는 스위치마다 공통 입력 포트에 서로 다른 출력 포트가 2개 이상인 포트들이 있는지 확인한다(S103). 만약, 공통 입력 포트에 서로 다른 출력 포트가 2개 이상인 포트가 있을 경우, 해당 출력 포트들을 하나의 장애 복구 그룹으로 지정한다(S104). 이에 대해 도 6을 참조로 먼저 설명한다.
도 6은 본 발명의 실시예에 따른 장애 복구 포트 그룹 지정에 대한 예시도이다.
도 6에 도시된 바와 같이, 제1 스위치(300-1)를 예로 하여 설명하면, 하나의 입력 포트에 서로 다른 2개 이상의 출력 포트가 있는지 확인한다. 제1 스위치(300-1)의 입력 포트 1에 대해, 출력 포트로 2, 3, 4번 포트가 존재하므로, 공통 입력 포트 1에 대한 장애 복구 그룹으로 출력 포트 2, 3, 4번 포트가 포함되도록 그룹을 지정한다.
제2 스위치(300-2)의 경우, 1번 입력 포트는 출력 포트로 2번 포트와 3번 포트를 가지므로, SDN 제어기(100)는 제2 스위치(300-2)의 2, 3번 출력 포트를 장애 복구 그룹으로 지정한다. 그러나, 2번 입력포트의 경우에는 출력 포트로 3번 포트만이 존재하므로, 3번 출력 포트는 장애 복구 그룹으로 지정되지 않는다.
이때, 제4 스위치(300-4)와 같이 입력 포트가 서로 다르나 출력 포트가 모두 동일한 경우, 해당 출력 포트를 장애 복구 그룹으로 지정하지 않는다.
이상의 절차를 통해 장애 복구 그룹이 정해지면, SDN 제어기(100)는 그룹으로 정해진 포트들의 전송 속도를 비교하고, 비교한 전송 속도를 토대로 1차 우선 순위를 부여한다(S105). 1차로 그룹으로 정해진 포트들 각각에 대한 우선 순위가 부여되면, SDN 제어기(100)는 경로의 홉 카운트 수를 토대로 우선 순위를 재 부여하여, 최종적적으로 우선 순위를 결정한다(S106). 여기서, 본 발명의 실시예에서는 포트들의 전송 속도와 홉 카운트 수를 토대로 우선 순위를 부여하는 것을 예로 하였으나, 반드시 이와 같이 한정되는 것은 아니다.
이와 같이 우선 순위를 부여하는 예에 대해 도 7을 참조로 먼저 설명하다.
도 7은 본 발명의 실시예에 따른 장애 복구 그룹 대상 포트들의 우선순위 지정에 대한 예시도이다.
도 7의 (a)는 제1 스위치(300-1)에 대한 우선 순위 지정을 나타낸 것이고, 도 6의 (b)는 제2 스위치(300-2)에 대한 우선 순위 지정을 나타낸 예시도이다. 그리고 도 6의 (c)는 제3 스위치(300-3)에 대한 우선 순위 지정을 나타낸 예시도이다.
제1 스위치(300-1)에 대해 설정된 장애 복구 그룹을 예로 하여 설명하면, 도 6의 (a-1)에 나타낸 바와 같이 제1 스위치(300-1)는 1번 입력 포트에 대해 2번 출력 포트, 3번 출력 포트, 그리고 4번 출력 포트가 하나의 장애 복구 그룹으로 설정되었으므로, 2번, 3번 및 4번 출력 포트 각각의 전송 속도를 비교하여 가장 빠른 전송 속도를 보이는 출력 포트에 높은 우선 순위를 부여한다.
예를 들어, 2번 출력 포트는 10G의 전송 속도로 패킷을 전송하고, 3번 출력 포트와 4번 출력 포트는 1G의 전송 속도로 패킷을 전송한다고 가정한다. 그러면, 가장 빠른 속도로 패킷을 전송하는 2번 출력 포트에 가장 높은 우선 순위를 부여한다. 도 7에서는 가중치 수가 높은 순서대로 높은 우선 순위가 부여된 것을 예로 하여 설명한다.
여기서, 제3 출력 포트와 제4 출력 포트는 동일한 전송 속도로 패킷을 전송하기 때문에, SDN 제어기(100)는 두 출력 포트에 대한 우선 순위를 부여할 수 없다. 따라서, 도 7의 (a-2)에 나타낸 바와 같이 홉 카운트를 참조로 우선 순위를 재 설정한다. 이미 2번 출력 포트에 대한 우선 순위는 정해졌기 때문에, 3번 출력 포트와 4번 출력 포트 각각의 홈 카운트를 토대로 우선 순위를 설정한다.
먼저 설명한 상기 도 5의 토폴로지와 함께 설명하면, 제1 스위치(300-1)에서 2번 출력 포트를 거쳐 다른 스위치로 패킷이 전송되는 경로의 홈 카운트는 3 과 4이다. 제1 스위치(300-1)에서 3번 출력 포트를 거쳐 다른 스위치로 패킷이 전송되는 경로의 홈 카운트는 2이다. 마찬가지로 제1 스위치(300-1)에서 4번 출력 포트를 거쳐 다른 스위치로 패킷이 전송되는 경로의 홉 카운트는 3과 4이다.
SDN 제어기(100)는 아직 우선 순위가 지정되지 않은 3번 출력 포트와 4번 출력 포트의 우선 순위를 정하기 위해 각각의 출력 포트에 대한 홉 카운트를 확인한다. 그리고 3번 출력 포트의 홉 카운트가 4번 출력 포트의 홉 카운트보다 적으므로, 3번 출력 포트의 우선 순위를 4번 출력 포트의 우선순위보다 높게 지정한다.
그리고 도 7의 (a-3)에 나타낸 바와 같이, 최종적으로 제1 스위치(300-1)에 대한 출력 포트들의 우선 순위가 설정된다. 본 발명의 실시예에서는 전송 속도를 비교하여 가장 빠른 전송 속도를 갖는 포트에 대해 우선 순위를 먼저 부여하고, 전송 속도가 동일하여 우선 순위가 부여되지 않은 포트들에 대해서는 홉 카운트를 참조로 우선 순위를 부여하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.
한편, 도 4를 이어 설명하면, S106 단계를 통해 우선 순위가 모두 부여되면, SDN 제어기(100)는 우선 순위를 기준으로 장애 복구 그룹의 규칙을 생성한다(S107). 즉, 임의의 SDN 스위치의 제1 입력 포트로 들어온 패킷의 제1 출력 포트와 제2 출력 포트가 장애 복구 출력 포트 그룹으로 지정되어 있고, 제1 출력 포트의 우선 순위가 1순위, 제2 출력 포트의 우선 순위가 2순위로 지정되어 있다고 가정한다. 그러면, 임의의 SDN 스위치가 패킷을 처리하는 과정에서 어느 포트로 패킷을 보낼지를 결정하기 위하여, 플로우 규칙에 따라 제1 입력 포트로 들어온 패킷을 우선 순위가 1순위인 제1 출력 포트로 전달하게 된다.
그리고, SDN 제어기(100)는 각각의 스위치(300-1∼300-4)로 전송할 플로우 규칙을 생성하고(S108), 생성한 플로우 규칙을 각각의 스위치(300-1∼300-4)로 전달한다(S109).
S108 단계에서 생성한 플로우 규칙의 예에 대해 도 8을 참조로 설명한다.
도 8은 본 발명의 실시예에 따른 장애 복구 그룹을 이용한 플로우 규칙 생성에 대한 예시도이다.
도 8에 도시된 바와 같이, SDN 제어기(100)는 S104 단계에서 지정한 장애 복구 그룹과 S105 단계 및 S106 단계를 토대로 부여된 우선 순위를 각각의 스위치(300-1∼300-4)로 전송하기 위해 플로우 규칙을 생성한다. 상기 설명한 도 6에 나타낸 각각의 스위치(300-1∼300-4)들에 대한 출력 포트 정보 대신 장애 복구 그룹 정보가 포함되도록 플로우 규칙을 등록한다.
제4 스위치(300-4)의 경우에는 1번 입력 포트 내지 3번 입력 포트로 들어오는 패킷에 대해, 공통의 출력 포트인 4번 포트로 패킷이 전달되도록 지정해 둔다.
여기서, SDN 스위치(300-1~300-4)들이 각각 가지고 있는 장애 복구 그룹의 플로우 테이블은 크게 매치(match) 필드와 수행(action) 필드로 구성된다. 패킷을 수신한 스위치(300-1∼300-4)들은 패킷을 수신한 입력 포트가 매치 필드에 설정한 조건을 만족하면, 수행 필드에 정의한 대로 패킷을 포워딩한다.
예를 들어, 제2 스위치(300-2)를 살펴보면, 제1 스위치(300-1)로부터 전송된 패킷이 1번 포트를 통해 제2 스위치(300-2)로 입력되었다고 가정한다. 그러면, 패킷을 수신한 입력 포트의 조건이 조건 필드에 설정한 바와 같이 1번 포트에 해당하므로, 제2 스위치(300-2)는 수행 필드를 확인한다.
제2 스위치(300-2)는 1번 포트에 대응하는 수행 필드를 토대로 장애 복구 그룹으로 묶인 2번 포트와 3번 포트 중 어느 하나의 포트로 패킷을 포워딩한다. 각각의 출력 포트에 대한 우선 순위를 확인하고, 제2 스위치(300-2)는 우선 순위가 더 높은 3번 포트로 패킷을 포워딩한다.
한편, 상기 도 4의 S103 단계에서, 스위치의 공통 입력 포트에 서로 다른 출력 포트가 1개만 존재하는 경우, SDN 제어기(100)는 S102 단계에서 추출한 모든 경로들 중 최적의 경로를 선택한다(S110). 그리고 선택한 최적의 경로에 해당하는 입력 포트와 출력 포트로 플로우 규칙을 생성하여(S111), 스위치들로 플로우 규칙을 전달한다. 여기서 SDN 제어기(100)가 최적의 경로를 선택하는 방법은 어느 하나의 방법으로 한정하지 않는다.
각각의 스위치(300-1∼300-4)들은 SDN 제어기(100)로부터 전송된 플로우 규칙을 플로우 테이블에 저장하여 등록하고, 저장한 플로우 규칙에 따라 패킷을 전송한다. 본 발명의 실시예에 따라 플로우 규칙은 미리 설정된 주기에 따라 갱신되거나, 특정 이벤트가 발생할 경우(예를 들어, 스위치 탈부착 등) 갱신하는 것을 예로 하나, 어느 하나의 형태로 한정하지 않는다.
스위치가 플로우 규칙에 따라 패킷을 전송하는 방법에 대해 도 9를 참조로 설명한다.
도 9는 본 발명의 실시예에 따른 장애 복구 그룹 지정을 통한 패킷 전송의 예시도이다.
도 9에 도시된 바와 같이, 제1 호스트(200-1)는 목적지 주소가 제2 호스트(200-2)인 패킷을 제1 스위치(300-1)로 보낸다. 제1 스위치(300-1)는 1번 포트를 통해 패킷이 들어오면, 제1 스위치(300-1)는 저장되어 있는 플로우 규칙을 확인한다.
제1 스위치(300-1)는 매치 필드를 확인하여 입력 포트가 1에 해당하는지 확인한다. 입력 포트가 1에 해당하면, 매치 필드에 대응하는 수행 필드를 확인한다. 수행 필드에는 복수의 출력 포트들이 하나의 장애 복구 그룹으로 묶여 포함되어 있으므로, 우선 순위가 가장 높은 포트를 확인한다. 3개의 출력 포트 중 2번 포트가 가장 우선 순위가 높으므로, 제1 스위치(300-1)는 2번 포트로 패킷을 보낸다.
제1 스위치(300-1)의 2번 포트로부터 제2 스위치(300-2)의 1번 포트로 패킷이 들어오면, 제2 스위치(300-2)는 저장된 플로우 규칙을 확인한다. 제2 스위치(300-2)는 매치 필드를 확인하여 패킷이 입력된 입력 포트가 1번 포트인지 2번 포트인지 확인한다.
입력 포트가 1에 해당하므로, 제2 스위치(300-2)는 입력 포트 1에 대응하는 수행 필드를 확인한다. 수행 필드에는 두 개의 출력 포트들이 하나의 장애 복구 그룹으로 설정되어 있으므로, 두 개의 출력 포트 중 우선 순위가 가장 높은 포트를 확인한다. 그리고 제2 스위치(300-2)는 3번 포트로 패킷을 보내게 된다.
제2 스위치(300-2)의 3번 포트로부터 전송된 패킷을 수신한 제4 스위치(300-4)는 저장된 플로우 규칙을 확인한다. 본 발명의 실시예에서는 제4 스위치(300-4)의 1번 포트를 통해 패킷을 수신하였으므로, 제4 스위치(300-4)는 입력 포트 1에 매치되는 것을 확인한다. 그리고 입력 포트 1에 대응하는 수행 필드를 확인하여, 4번 포트를 통해 제2 호스트(200-2)로 패킷이 전송되도록 전달한다.
이러한 절차로 패킷이 전송될 때, 다양한 형태로 장애가 발생할 경우 이를 복구하는 장애 복구 절차에 대해 도 10 내지 도 16을 참조로 설명한다.
도 10은 본 발명의 제1 실시예에 따른 장애 복구 절차에 대한 예시도이다.
도 10에서는 제2 스위치(300-2)와 제4 스위치(300-4) 사이의 링크에 장애가 발생한 경우 이를 복구하는 장애 복구 절차에 대해 나타낸 것이다.
도 10에 도시된 바와 같이, 제1 호스트(200-1)는 목적지 주소가 제2 호스트(200-2)인 패킷을 제1 스위치(300-1)로 전송한다. 제1 스위치(300-1)는 패킷을 1번 포트를 통해 수신하면, 저장된 플로우 규칙의 매치 필드를 확인하여 입력 포트가 1에 해당하는지 확인한다.
입력 포트가 1에 해당하므로, 제1 스위치(300-1)는 매치 필드에 대한 수행 필드를 확인한다. 수행 필드에는 복수의 출력 포트들이 하나의 장애 복구 그룹으로 묶여 포함되어 있으므로, 우선 순위가 가장 높은 포트를 확인한다. 3개의 출력 포트 중 2번 포트가 가장 우선 순위가 높으므로, 제1 스위치(300-1)는 2번 포트로 패킷을 보낸다.
제1 스위치(300-1)의 2번 포트로부터 제2 스위치(300-2)의 1번 포트로 패킷이 전송되면, 제2 스위치(300-2)는 저장된 플로우 규칙을 확인한다. 제2 스위치(300-2)는 매치 필드를 확인하여 패킷이 입력된 입력 포트가 1번 포트인지 2번 포트인지 확인한다.
입력 포트가 1에 해당하므로, 제2 스위치(300-2)는 입력 포트 1에 대응하는 수행 필드를 확인한다. 수행 필드에는 두 개의 출력 포트들이 하나의 장애 복구 그룹으로 설정되어 있으므로, 두 개의 출력 포트 중 우선 순위가 가장 높은 포트를 확인한다. 그리고 제2 스위치(300-2)는 플로우 규칙을 토대로 우선 순위가 가장 높은 3번 포트로 패킷을 보내야 한다.
그러나, 본 발명의 실시예에 따라 제2 스위치(300-2)의 3번 포트와 제4 스위치(300-4)의 1번 포트 사이에 형성된 링크에 장애가 발생한 경우, 제2 스위치(300-2)는 3번 포트가 다운 상태임을 알 수 있다. 스위치가 포트의 상태가 다운인지 여부를 확인하는 방법은 여러 방법이 있으므로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다.
제2 스위치(300-2)는 3번 포트의 상태가 다운 상태임을 확인하고, 바로 플로우 규칙을 확인하여 다음 우선 순위를 설정 받은 출력 포트를 확인한다. 그리고 해당 출력 포트가 2번 포트임을 확인하고, 제2 스위치(300-2)는 패킷을 2번 포트로 보낸다.
제2 스위치(300-2)의 2번 포트로부터 제3 스위치(300-3)의 2번 포트로 패킷이 전달되면, 제3 스위치(300-3)는 저장된 플로우 규칙의 매치 필드를 확인하여 입력 포트가 1 또는 2에 해당하는지 확인한다. 입력 포트가 2에 해당하므로, 매치 필드에 대응하는 수행 필드를 확인한다. 2번 입력 포트에 대응하는 수행 필드에는 출력 포트가 3번으로 설정되어 있으므로, 제3 스위치(300-3)는 수행 필드에 정의된 3번 포트로 패킷을 전송한다.
제3 스위치(300-3)의 3번 포트로부터 전송된 패킷을 수신한 제4 스위치(300-4)는 저장된 플로우 규칙을 확인한다. 본 발명의 실시예에서는 제4 스위치(300-4)의 3번 포트를 통해 패킷을 수신하였으므로, 제4 스위치(300-4)는 입력 포트 3에 매치되는 것을 확인한다. 그리고 3번 입력 포트에 대응하는 수행 필드를 확인하고, 4번 포트를 통해 제2 호스트(200-2)로 패킷이 전송되도록 전달한다.
도 11은 본 발명의 제2 실시예에 따른 장애 복구 절차에 대한 예시도이다.
도 11에서는 제1 스위치(300-1)와 제2 스위치(300-2) 사이의 링크에 장애가 발생한 경우 이를 복구하는 장애 복구 절차에 대해 나타낸 것이다.
도 11에 도시된 바와 같이, 제1 호스트(200-1)는 목적지 주소가 제2 호스트(200-2)인 패킷을 제1 스위치(300-1)로 전송한다. 제1 스위치(300-1)는 패킷을 1번 포트를 통해 수신하였다고 가정한다.
1번 포트를 통해 패킷이 들어오면, 제1 스위치(300-1)는 저장된 플로우 규칙의 매치 필드를 확인하여 입력 포트가 1에 해당하는지 확인한다. 입력 포트가 1에 해당하면, 매치 필드에 대응하는 수행 필드를 확인한다. 수행 필드에는 복수의 출력 포트들이 하나의 장애 복구 그룹으로 묶여 포함되어 있으므로, 우선 순위가 가장 높은 포트를 확인한다. 3개의 출력 포트 중 2번 포트가 가장 우선 순위가 높으므로, 제1 스위치(300-1)는 2번 포트로 패킷을 보내야 한다.
그러나, 본 발명의 실시예에 따라 제1 스위치(300-1)의 2번 포트와 제2 스위치(300-2)의 1번 포트 사이에 형성된 링크에 장애가 발생한 경우, 제1 스위치(300-1)는 2번 포트가 다운 상태임을 알 수 있다. 따라서, 제1 스위치(300-1)는 플로우 규칙을 확인하여 다음 우선 순위를 설정 받은 출력 포트를 확인한다. 제1 스위치(300-1)는 다음 우선 순위를 설정 받은 출력 포트가 3번 포트임을 확인하고, 제1 스위치(300-1)는 패킷을 3번 포트로 보낸다.
제1 스위치(300-1)의 3번 포트로부터 제4 스위치(300-4)의 2번 포트로 패킷이 전송되면, 제4 스위치(300-4)는 입력 포트 2에 매치되는 것을 확인한다. 그리고 2번 입력 포트에 대한 수행 필드를 확인하고, 4번 포트를 통해 제2 호스트(200-2)로 패킷이 전송되도록 전달한다.
도 12는 본 발명의 제3 실시예에 따른 장애 복구 절차에 대한 예시도이다.
도 12에서는 제1 스위치(300-1)와 제2 스위치(300-2) 사이의 링크, 그리고 제1 스위치(300-1)와 제4 스위치(300-4) 사이의 링크에 장애가 발생한 경우 이를 복구하는 장애 복구 절차에 대해 나타낸 것이다.
도 12에 도시된 바와 같이, 제1 호스트(200-1)는 목적지 주소가 제2 호스트(200-2)인 패킷을 제1 스위치(300-1)로 전송한다. 제1 스위치(300-1)는 패킷을 1번 포트를 통해 수신하였다고 가정한다.
1번 포트를 통해 패킷이 들어오면, 제1 스위치(300-1)는 저장된 플로우 규칙의 매치 필드를 확인하여 입력 포트가 1에 해당하는지 확인한다. 입력 포트가 1에 해당하면, 매치 필드에 대응하는 수행 필드를 확인한다. 수행 필드에는 복수의 출력 포트들이 하나의 장애 복구 그룹으로 묶여 포함되어 있으므로, 우선 순위가 가장 높은 포트를 확인한다. 3개의 출력 포트 중 2번 포트가 가장 우선 순위가 높으므로, 제1 스위치(300-1)는 2번 포트로 패킷을 보내야 한다.
그러나, 본 발명의 실시예에 따라 제1 스위치(300-1)의 2번 포트와 제2 스위치(300-2)의 1번 포트 사이에 형성된 링크에 장애가 발생하면, 제1 스위치(300-1)는 2번 포트가 다운 상태임을 알 수 있다. 따라서, 제1 스위치(300-1)는 플로우 규칙을 확인하여 다음 우선 순위를 설정 받은 출력 포트를 확인한다. 제1 스위치(300-1)는 다음 우선 순위를 설정 받은 출력 포트가 3번 포트임을 확인하고, 제1 스위치(300-1)는 패킷을 4번 포트로 보내야 한다.
이때, 본 발명의 실시예에 따라 제1 스위치(300-1)의 3번 포트와 제4 스위치(300-4)의 2번 포트 사이에 형성된 링크에도 장애가 발생하였으므로, 제1 스위치(300-1)는 3번 포트 역시 다운 상태임을 알 수 있다. 따라서, 제1 스위치(300-1)는 플로우 규칙을 확인하여 다음 우선 순위를 설정 받은 출력 포트를 확인한다. 제1 스위치(300-1)는 다음 우선 순위를 설정 받은 출력 포트가 4번 포트임을 확인하고, 제1 스위치(300-1)는 패킷을 4번 포트로 보낸다.
제1 스위치(300-1)의 4번 포트로부터 제3 스위치(300-3)의 1번 포트로 패킷이 이동하면, 제3 스위치(300-3)는 저장된 플로우 규칙의 매치 필드를 확인하여 입력 포트가 1 또는 2에 해당하는지 확인한다. 입력 포트가 1에 해당하므로, 매치 필드에 대한 수행 필드를 확인한다. 그리고 장애 복구 그룹으로 설정된 복수의 출력 포트 중 우선 순위가 가장 높은 출력 포트가 3번으로 설정되어 있으므로, 제3 스위치(300-3)는 수행 필드에 정의된 3번 포트로 패킷을 전송한다.
제3 스위치(300-3)의 3번 포트로부터 전송된 패킷을 수신한 제4 스위치(300-4)는 저장된 플로우 규칙을 확인한다. 본 발명의 실시예에서는 제4 스위치(300-4)의 3번 포트를 통해 패킷을 수신하였으므로, 제4 스위치(300-4)는 입력 포트 3에 매치되는 것을 확인한다. 그리고 3번 입력 포트에 대응하는 수행 필드를 확인하고, 4번 포트를 통해 제2 호스트(200-2)로 패킷이 전송되도록 전달한다.
도 13은 본 발명의 제4 실시예에 따른 장애 복구 절차에 대한 예시도이다.
도 13에는 제1 스위치(300-1)와 제2 스위치(300-2) 사이의 링크, 제1 스위치(300-1)와 제4 스위치(300-4) 사이의 링크, 그리고 제3 스위치(300-3)와 제4 스위치(300-4) 사이의 링크에 장애가 발생한 경우 이를 복구하는 장애 복구 절차에 대해 나타낸 것이다.
도 13에 도시된 바와 같이, 제1 호스트(200-1)는 목적지 주소가 제2 호스트(200-2)인 패킷을 제1 스위치(300-1)로 전송한다. 제1 스위치(300-1)는 패킷을 1번 포트를 통해 수신하였다고 가정한다.
1번 포트를 통해 패킷이 들어오면, 제1 스위치(300-1)는 저장된 플로우 규칙의 매치 필드를 확인하여 입력 포트가 1에 해당하는지 확인한다. 입력 포트가 1에 해당하면, 매치 필드에 대응하는 수행 필드를 확인한다. 수행 필드에는 복수의 출력 포트들이 하나의 장애 복구 그룹으로 묶여 포함되어 있으므로, 우선 순위가 가장 높은 포트를 확인한다. 3개의 출력 포트 중 2번 포트가 가장 우선 순위가 높으므로, 제1 스위치(300-1)는 2번 포트로 패킷을 보내야 한다.
그러나, 본 발명의 실시예에 따라 제1 스위치(300-1)의 2번 포트와 제2 스위치(300-2)의 1번 포트 사이에 형성된 링크에 장애가 발생하였으므로, 제1 스위치(300-1)는 2번 포트가 다운 상태임을 알 수 있다. 따라서, 제1 스위치(300-1)는 플로우 규칙을 확인하여 다음 우선 순위를 설정 받은 출력 포트를 확인한다. 제1 스위치(300-1)는 다음 우선 순위를 설정 받은 출력 포트가 3번 포트임을 확인하고, 제1 스위치(300-1)는 패킷을 3번 포트로 보내야 한다.
이때, 본 발명의 실시예에 따라 제1 스위치(300-1)의 3번 포트와 제4 스위치(300-4)의 2번 포트 사이에 형성된 링크에도 장애가 발생하였으므로, 제1 스위치(300-1)는 3번 포트 역시 다운 상태임을 알 수 있다. 따라서, 제1 스위치(300-1)는 플로우 규칙을 확인하여 장애 복구 그룹으로 설정된 포트들 중 다음 우선 순위를 설정 받은 출력 포트를 확인한다. 제1 스위치(300-1)는 다음 우선 순위를 설정 받은 출력 포트가 4번 포트임을 확인하고, 제1 스위치(300-1)는 패킷을 4번 포트로 보낸다.
제1 스위치(300-1)의 4번 포트로부터 제3 스위치(300-3)의 1번 포트로 패킷이 전달되면, 제3 스위치(300-3)는 저장된 플로우 규칙의 매치 필드를 확인하여 입력 포트가 1 또는 2에 해당하는지 확인한다. 입력 포트가 1에 해당하므로, 매치 필드에 대응하는 수행 필드를 확인한다. 1번 입력 포트에 대한 수행 필드에는 장애 복구 그룹으로 2번 출력 포트와 3번 출력 포트가 설정되어 있고, 이 중 우선 순위가 높은 출력 포트가 2번 포트이므로, 제3 스위치(300-3)는 수행 필드에 정의된 2번 포트로 패킷을 전송한다.
제3 스위치(300-3)의 2번 포트로부터 전송된 패킷을 수신한 제2 스위치(300-2)는 저장된 플로우 규칙을 확인한다. 제2 스위치(300-2)는 2번 포트에 실행 필드를 확인하여 3번 포트로 패킷을 보내야 함을 확인하고, 패킷을 3번 포트로 보낸다.
제2 스위치(300-2)의 3번 포트로부터 전송된 패킷을 수신한 제4 스위치(300-4)는 저장된 플로우 규칙을 확인한다. 본 발명의 실시예에서는 제4 스위치(300-4)의 1번 포트를 통해 패킷을 수신하였으므로, 제4 스위치(300-4)는 입력 포트 1에 매치되는 것을 확인한다. 그리고 3번 입력 포트에 대응하는 수행 필드를 확인하고, 4번 포트를 통해 제2 호스트(200-2)로 패킷이 전송되도록 전달한다.
도 10 내지 도 13에서는 다양한 경우의 수에 따라 링크에 장애가 발생할 경우 이를 우회하여 패킷을 전송하여 장애를 복구하는 절차에 대해 설명하였다. 도 14에서는 스위치에 장애가 발생한 경우 이를 복구하는 절차에 대해 설명한다.
도 14는 본 발명의 제5 실시예에 따른 장애 복구 절차에 대한 예시도이다.
도 14에서는 제2 스위치(300-2)에 장애가 발생한 경우에 대해 나타내었다. 도 14에 도시된 바와 같이, 제1 호스트(200-1)는 목적지 주소가 제2 호스트(200-2)인 패킷을 제1 스위치(300-1)로 보낸다. 제1 스위치(300-1)는 1번 포트를 통해 패킷이 들어오면, 제1 스위치(300-1)는 저장되어 있는 플로우 규칙을 확인한다.
제1 스위치(300-1)는 매치 필드를 확인하여 입력 포트가 1에 해당하는지 확인한다. 입력 포트가 1에 해당하면, 매치 필드에 대응하는 수행 필드를 확인한다. 수행 필드에는 복수의 출력 포트들이 하나의 장애 복구 그룹으로 묶여 포함되어 있으므로, 우선 순위가 가장 높은 포트를 확인한다. 3개의 출력 포트 중 2번 포트가 가장 우선 순위가 높으므로, 제1 스위치(300-1)는 2번 포트로 패킷을 보내야 한다.
그러나, 제1 스위치(300-1)의 2번 포트와 링크를 형성하고 있는 제2 스위치(300-2)에 장애가 발생되었으므로, 제2 스위치(300-2)와 링크를 형성하고 있는 제1 스위치(300-1)의 2번 포트, 제3 스위치(300-3)의 2번 포트, 그리고 제4 스위치(300-4)의 1번 포트는 다운 상태가 된다.
따라서, 제1 스위치(300-1)는 2번 포트의 우선 순위 다음으로 설정된 우선 순위를 확인하여, 3번 포트로 패킷을 전달한다. 제1 스위치(300-1)의 3번 포트로부터 제4 스위치(300-4)의 2번 포트로 패킷이 들어오면, 제4 스위치(300-4)는 저장된 플로우 규칙을 확인한다. 본 발명의 실시예에서는 제4 스위치(300-4)의 2번 포트를 통해 패킷을 수신하였으므로, 제4 스위치(300-4)는 입력 포트 2에 매치되는 것을 확인한다. 그리고 입력 포트 2에 대응하는 수행 필드를 확인하여, 4번 포트를 통해 제2 호스트(200-2)로 패킷이 전송되도록 전달한다.
다음 도 15는 스위치간 링크와 스위치 자체에 장애가 복합적으로 발생한 경우 장애를 복구하는 절차에 대한 것이다.
도 15는 본 발명의 제6 실시예에 따른 장애 복구 절차에 대한 예시도이다.
도 15에는 제2 스위치(300-2)에 장애가 발생함과 동시에, 제1 스위치(300-1)의 3번 포트와 제4 스위치(300-4)의 2번 포트 사이의 링크에도 장애가 발생한 경우에 대해 나타내었다.
도 15에 도시된 바와 같이, 제1 호스트(200-1)는 목적지 주소가 제2 호스트(200-2)인 패킷을 제1 스위치(300-1)로 보낸다. 제1 스위치(300-1)는 1번 포트를 통해 패킷이 들어오면, 제1 스위치(300-1)는 저장되어 있는 플로우 규칙을 확인한다.
제1 스위치(300-1)는 매치 필드를 확인하여 입력 포트가 1에 해당하는지 확인한다. 입력 포트가 1에 해당하면, 매치 필드에 대응하는 수행 필드를 확인한다. 수행 필드에는 복수의 출력 포트들이 하나의 장애 복구 그룹으로 묶여 포함되어 있으므로, 우선 순위가 가장 높은 포트를 확인한다. 3개의 출력 포트 중 2번 포트가 가장 우선 순위가 높으므로, 제1 스위치(300-1)는 2번 포트로 패킷을 보내야 한다.
그러나, 제1 스위치(300-1)의 2번 포트와 링크를 형성하고 있는 제2 스위치(300-2)에 장애가 발생되었으므로, 제2 스위치(300-2)와 링크를 형성하고 있는 제1 스위치(300-1)의 2번 포트, 제3 스위치(300-3)의 2번 포트, 그리고 제4 스위치(300-4)의 1번 포트는 다운 상태가 된다.
따라서, 제1 스위치(300-1)는 2번 포트의 우선 순위 다음으로 설정된 우선 순위를 확인하여, 3번 포트로 패킷을 전달해야 한다. 그러나, 제1 스위치(300-1)의 3번 포트와 제4 스위치(300-4)의 2번 포트 사이에 형성된 링크에도 장애가 발생하였으므로, 제1 스위치(300-1)는 3번 포트 역시 다운 상태임을 알 수 있다.
따라서, 제1 스위치(300-1)는 플로우 규칙을 확인하여 다음 우선 순위를 설정 받은 출력 포트를 확인한다. 제1 스위치(300-1)는 다음 우선 순위를 설정 받은 출력 포트가 4번 포트임을 확인하고, 제1 스위치(300-1)는 패킷을 4번 포트로 보낸다.
제1 스위치(300-1)의 4번 포트로부터 제3 스위치(300-3)의 1번 포트로 패킷이 들어오면, 제3 스위치(300-3)는 저장된 플로우 규칙의 매치 필드를 확인하여 입력 포트가 1 또는 2에 해당하는지 확인한다. 입력 포트가 1에 해당하므로, 매치 필드에 대응하는 수행 필드를 확인한다. 2번 입력 포트에 대응하는 수행 필드에는 출력 포트가 3번으로 설정되어 있으므로, 제3 스위치(300-3)는 수행 필드에 정의된 3번 포트로 패킷을 전송한다.
제3 스위치(300-3)의 3번 포트로부터 전송된 패킷을 수신한 제4 스위치(300-2)는 저장된 플로우 규칙을 확인한다. 본 발명의 실시예에서는 제4 스위치(300-4)의 3번 포트를 통해 패킷을 수신하였으므로, 제4 스위치(300-4)는 입력 포트 3에 매치되는 것을 확인한다. 그리고 3번 입력 포트에 대응하는 수행 필드를 확인하고, 4번 포트를 통해 제2 호스트(200-2)로 패킷이 전송되도록 전달한다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (14)

  1. 복수의 스위치들이 네트워크를 통해 연결된 소프트웨어 정의 네트워크 제어기가 복수의 스위치들에 대한 장애 복구 그룹을 생성하는 방법으로서,
    제1 호스트로부터 제2 호스트 사이에 위치하여 패킷이 전송될 복수의 스위치 각각에 대한 입력 포트와 출력 포트를 확인하는 단계,
    각 스위치에 대하여 입력 포트별로 확인한 출력 포트들을 매칭하여, 해당 스위치의 입력 포트-장애 복구 출력 포트 그룹으로 설정하는 단계,
    각 스위치의 입력 포트-장애 복구 출력 포트 그룹에 포함된 출력 포트들의 전송 속도와 홉 카운트를 토대로, 상기 입력 포트-장애 복구 출력 포트 그룹에 포함된 출력 포트들에 대한 우선 순위를 설정하는 단계, 그리고
    스위치별 입력 포트-장애 복구 출력 포트 그룹 정보와, 해당 출력 포트들의 우선 순위를 포함하는 스위치별 플로우 규칙을 생성하는 단계
    를 포함하는 장애 복구 그룹 생성 방법.
  2. 제1항에 있어서,
    상기 입력 포트와 출력 포트를 확인하는 단계 이전에,
    상기 복수의 스위치들로부터 스위치 상태 정보를 수집하고, 수집한 스위치 상태 정보를 토대로 토폴로지를 파악하는 단계, 그리고
    상기 복수의 스위치 중 상기 제1 호스트에 연결된 제1 스위치로부터 상기 제1 호스트로부터 제2 호스트로 전송할 패킷에 대한 패킷 인 메시지를 수신하는 단계
    를 포함하는 장애 복구 그룹 생성 방법.
  3. 제1항에 있어서,
    상기 홉 카운트는 상기 제1 호스트로부터 제2 호스트까지 패킷이 경로별로 전송될 때 거치는 스위치의 수에 해당하는 장애 복구 그룹 생성 방법.
  4. 제1항에 있어서,
    상기 장애 복구 출력 포트 그룹은 임의의 입력 포트에 대해 서로 다른 출력 포트를 복수 개 포함하는 장애 복구 그룹 생성 방법.
  5. 소프트웨어 정의 네트워크에서 스위치가 장애를 복구하는 방법으로서,
    패킷을 수신한 입력 포트를 확인하는 단계,
    확인한 입력 포트가 저장된 플로우 규칙의 입력 포트에 매칭되면, 상기 입력 포트에 대하여 입력 포트-장애 복구 출력 포트 그룹에 포함된 출력 포트들의 우선 순위를 확인하는 단계,
    확인한 우선 순위에 따라 출력 포트들 중 제1 우선 순위로 설정된 제1 출력 포트의 상태를 확인하는 단계, 그리고
    상기 제1 출력 포트가 다운 상태이면, 상기 출력 포트들 중 제2 우선 순위를 갖는 제2 출력 포트로 상기 패킷을 전달하는 단계
    를 포함하는 장애 복구 방법.
  6. 제5항에 있어서,
    상기 입력 포트를 확인하는 단계 이전에,
    네트워크를 통해 연결된 소프트웨어 정의 네트워크 제어기로부터 입력 포트-장애 복구 출력 포트 그룹 정보와, 해당 출력 포트들의 우선 순위를 포함하는 플로우 규칙을 수신하는 단계
    를 포함하는 장애 복구 방법.
  7. 제6항에 있어서,
    상기 플로우 규칙은 매치 필드와 수행 필드를 포함하고,
    상기 매치 필드는 입력 포트 정보, 상기 수행 필드는 상기 입력 포트 정보에 대응하여 매칭된 복수의 출력 포트 정보를 포함하는 상기 입력 포트-장애 복구 출력 포트 그룹을 포함하는 장애 복구 방법.
  8. 복수의 스위치들이 네트워크를 통해 연결되고, 상기 복수의 스위치들에 대한 장애 복구 그룹을 생성하는 소프트웨어 정의 네트워크 제어기로서,
    상기 복수의 스위치로부터 각각 스위치 정보를 수신하고, 제1 호스트로부터 전송되는 패킷을 수신하는 제1 스위치로부터 패킷 헤더 정보를 포함하는 패킷 인 메시지를 수신하는 통신부,
    상기 각각의 스위치 정보와 패킷 헤더 정보를 토대로 각 스위치에 대한 입력 포트-장애 복구 출력 포트 그룹을 생성하고, 입력 포트-장애 복구 출력 포트 그룹에 포함된 출력 포트들에 대한 우선 순위를 설정하여 플로우 규칙로 생성하는 프로세서, 그리고
    상기 수신한 복수의 스위치 정보, 상기 생성한 플로우 규칙을 저장하는 메모리
    를 포함하는 소프트웨어 정의 네트워크 제어기.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 패킷 헤더 정보를 토대로 상기 제1 호스트로부터 제2 호스트로 전송되는 패킷의 경로 토폴로지를 확인하고, 확인한 경로 토폴로지에 위치한 적어도 하나의 스위치 각각에 대하여 입력 포트-장애 복구 출력 포트 그룹을 생성하는 소프트웨어 정의 네트워크 제어기.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 적어도 하나의 스위치 중 임의의 스위치의 하나의 입력 포트에 서로 다른 출력 포트가 복수 개 존재하면, 상기 서로 다른 출력 포트를 상기 하나의 입력 포트에 대한 입력 포트-장애 복구 출력 포트 그룹으로 생성하는 소프트웨어 정의 네트워크 제어기.
  11. 제10항에 있어서,
    상기 프로세서는,
    상기 입력 포트-장애 복구 출력 포트 그룹에 포함된 각 출력 포트의 전송 속도를 토대로, 각 출력 포트에 대한 제1 우선 순위를 지정하고,
    상기 각 출력 포트의 전송 속도는 상기 복수의 스위치 정보로부터 획득하는 소프트웨어 정의 네트워크 제어기.
  12. 제11항에 있어서,
    상기 프로세서는,
    제1 우선 순위가 지정된 각 출력 포트에 대하여, 상기 임의의 스위치를 지나는 패킷의 홉 카운트를 토대로 제2 우선 순위를 지정하고,
    상기 제1 우선 순위와 제2 우선 순위를 토대로 상기 입력 포트-장애 복구 출력 포트 그룹에 포함된 각 출력 포트에 대한 우선 순위를 결정하는 소프트웨어 정의 네트워크 제어기.
  13. 제12항에 있어서,
    상기 프로세서는,
    상기 결정한 우선 순위와 상기 입력 포트-장애 복구 출력 포트 그룹 정보를 포함하는 상기 플로우 규칙을 생성하고,
    상기 플로우 규칙은 매치 필드와 수행 필드를 포함하며,
    상기 매치 필드는 입력 포트 정보, 상기 수행 필드는 복수의 상기 입력 포트 정보에 매칭된 출력 포트 정보를 포함하는 소프트웨어 정의 네트워크 제어기.
  14. 제8항에 있어서,
    상기 복수의 스위치 정보는,
    상기 복수의 스위치 각각의 스위치 식별 정보, 스위치가 상기 소프트웨어 정의 네트워크 제어기와 연결된 시간 정보를 포함하는 정보,
    상기 소프트웨어 정의 네트워크 제어기에 연결된 전체 스위치 수, 연결 링크 수, 패킷을 송수신하는 호스트 정보를 포함하는 연결 정보,
    상기 복수의 스위치 각각에 구비된 복수의 포트들에 대한 활성/비활성 여부 정보, 포트별 전송 속도 정보, 송신/수신 트래픽 처리량 정보를 포함하는 스위치 포트별 상태 정보를 포함하는 소프트웨어 정의 네트워크 제어기.
KR1020170081335A 2017-06-27 2017-06-27 소프트웨어 정의 네트워크에서의 소프트웨어 정의 네트워크 제어기, 이를 이용한 장애 복구 그룹 생성 방법 및 장애 복구 방법 KR20190001402A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170081335A KR20190001402A (ko) 2017-06-27 2017-06-27 소프트웨어 정의 네트워크에서의 소프트웨어 정의 네트워크 제어기, 이를 이용한 장애 복구 그룹 생성 방법 및 장애 복구 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170081335A KR20190001402A (ko) 2017-06-27 2017-06-27 소프트웨어 정의 네트워크에서의 소프트웨어 정의 네트워크 제어기, 이를 이용한 장애 복구 그룹 생성 방법 및 장애 복구 방법

Publications (1)

Publication Number Publication Date
KR20190001402A true KR20190001402A (ko) 2019-01-04

Family

ID=65017823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170081335A KR20190001402A (ko) 2017-06-27 2017-06-27 소프트웨어 정의 네트워크에서의 소프트웨어 정의 네트워크 제어기, 이를 이용한 장애 복구 그룹 생성 방법 및 장애 복구 방법

Country Status (1)

Country Link
KR (1) KR20190001402A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110247862A (zh) * 2019-06-14 2019-09-17 西安电子科技大学 Sdn集群故障时业务快速连续切换系统及方法
WO2022055589A1 (en) * 2020-09-14 2022-03-17 Microsoft Technology Licensing, Llc Fault tolerance for sdn gateways using network switches

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110247862A (zh) * 2019-06-14 2019-09-17 西安电子科技大学 Sdn集群故障时业务快速连续切换系统及方法
WO2022055589A1 (en) * 2020-09-14 2022-03-17 Microsoft Technology Licensing, Llc Fault tolerance for sdn gateways using network switches
US11743189B2 (en) 2020-09-14 2023-08-29 Microsoft Technology Licensing, Llc Fault tolerance for SDN gateways using network switches

Similar Documents

Publication Publication Date Title
EP3203708B1 (en) Bit indexed explicit replication for deterministic network data plane
JP5846221B2 (ja) ネットワークシステム、及びトポロジー管理方法
US8672566B2 (en) Node apparatus and communication method
JP5546461B2 (ja) チェーン及びリングネットワークにおける透過的なオートリカバリのための方法及びシステム
US10439880B2 (en) Loop-free convergence in communication networks
US9628324B2 (en) Openflow switch and failure recovery method in openflow network
EP2814213A1 (en) Control device, communication system, communication method and program
WO2013124783A1 (en) Controller placement for fast failover in the split architecture
JP2013197868A (ja) 中継装置、中継装置の制御方法及び中継システム
CN102640463A (zh) 动态路由分支系统和动态路由分支方法
US9094330B2 (en) Data transport system and control method of data transport system
JP5987971B2 (ja) 通信システム、スイッチ、制御装置、制御用チャネルの構築方法及びプログラム
JP2007274357A (ja) ブリッジ装置、ブリッジ装置における制御方法、及び制御プログラム
JP4611863B2 (ja) ループ検出方法およびループ検出装置
KR20190001402A (ko) 소프트웨어 정의 네트워크에서의 소프트웨어 정의 네트워크 제어기, 이를 이용한 장애 복구 그룹 생성 방법 및 장애 복구 방법
US20090245263A1 (en) Apparatus and method for transmitting packets in a packet switched network
CN112787843B (zh) 故障节点的检测方法和存储介质及电子装置
CN106533771B (zh) 一种网络设备以及控制信息传输方法
Wong et al. Design of an in-band control plane for automatic bootstrapping and fast failure recovery in p4 networks
Park et al. A fast recovery scheme based on detour planning for in-band OpenFlow networks
EP3079327B1 (en) Information transmission method, device and system
JP2014502063A (ja) 通信経路検証システム、経路検証装置、通信経路検証方法および経路検証プログラム
KR101969304B1 (ko) 패킷-아웃 메시지를 이용한 소프트웨어 정의 네트워킹 환경에서의 장애 처리 방법 및 컴퓨터 프로그램
WO2015045275A1 (ja) 制御装置、ネットワークシステム、パケット転送制御方法、制御装置用プログラム
JP2013013032A (ja) 通信制御方法および通信制御プログラム