KR20190136793A - 소프트웨어 정의 네트워크 환경에서 소프트웨어 정의 네트워크 스위치, 이를 이용한 제어 채널의 인밴드 구성 및 유무선 이중화 방법 - Google Patents

소프트웨어 정의 네트워크 환경에서 소프트웨어 정의 네트워크 스위치, 이를 이용한 제어 채널의 인밴드 구성 및 유무선 이중화 방법 Download PDF

Info

Publication number
KR20190136793A
KR20190136793A KR1020180062948A KR20180062948A KR20190136793A KR 20190136793 A KR20190136793 A KR 20190136793A KR 1020180062948 A KR1020180062948 A KR 1020180062948A KR 20180062948 A KR20180062948 A KR 20180062948A KR 20190136793 A KR20190136793 A KR 20190136793A
Authority
KR
South Korea
Prior art keywords
port
sdn
network
control channel
sdn controller
Prior art date
Application number
KR1020180062948A
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 KR1020180062948A priority Critical patent/KR20190136793A/ko
Publication of KR20190136793A publication Critical patent/KR20190136793A/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/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • 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
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition

Abstract

SDN(Software Defined Network) 스위치가 SDN 제어기와 단일 전용회선으로 연결되어 제어 채널을 이중화하는 방법으로서, SDN 스위치로 유입된 패킷 처리를 위한 플로우 규칙을 등록하고, SDN 제어기와의 연동하여 제어 채널을 성립한 후, SDN 제어기로부터 지정된 SDN 스위치에 대한 패스트-페일오버 그룹을 등록하고, 성립한 제어 채널을 유선 채널과 무선 채널로 이중화한다.

Description

소프트웨어 정의 네트워크 환경에서 소프트웨어 정의 네트워크 스위치, 이를 이용한 제어 채널의 인밴드 구성 및 유무선 이중화 방법{SDN switch in SDN environment, In-Band configuration of control channel and wired/wireless duplication using the same}
본 발명은 소프트웨어 정의 네트워크 환경에서 소프트웨어 정의 네트워크 스위치, 이를 이용한 제어 채널의 인밴드 구성 및 유무선 이중화 방법에 관한 것이다.
소프트웨어 정의 네트워킹(SDN: Software Defined Networking)은 네트워크 장비를 구성하는 제어 평면(Control Plane)과 데이터 평면(Data Plane)을 서로 분리하여, 제어 평면이 네트워크에 대한 관리, 모니터링, 제어에 관련 전반적인 처리를 담당하도록 하는 중앙 집중식 구조의 네트워킹을 말한다. 여기서, 제어 평면을 'SDN 제어기'라고 칭하며, 오픈 플로우(OpenFlow), NetConf와 같이 표준화된 제어 평면 인터페이스를 통해 연결된 네트워크 장비들의 제어가 가능하다.
SDN 제어기의 경우 다양한 벤더 솔루션, 오픈 소스가 존재한다. 대부분의 SDN 제어기는 ONF(Open Networking Foundation)에서 정의한 OpenFlow 프로토콜 기반으로 네트워크 장비와 통신을 수행한다.
오픈 플로우 표준에서 SDN 제어기는 SDN 스위치와 별도의 제어 채널을 성립한다. 그리고, SDN 제어기는 제어 채널을 통해 SDN 스위치로 유입되는 데이터 패킷 처리를 위한 별도의 플로우 규칙(Flow Rule)들을 플로우 테이블(Flow Table)에 등록시켜주어 스위치의 트래픽을 제어한다. 이때 트래픽은 제어 채널과는 별도의 채널인 데이터 채널을 통해 목적지까지 전달된다.
이러한 SDN에서는 구조적인 특성상 통신 사업자 입장에서 특정 단일 도메인을 관리하기 위하여 SDN을 구성할 때는 기본적으로 제어 채널과 데이터 채널의 성립을 위해 2개의 전용 회선이 최소로 필요하다. 그리고, 각 채널의 이중화를 고려할 경우 추가로 2개의 전용회선이 더 필요하다. 이 경우 통신사업자 혹은 네트워크 서비스 제공자는 최초 망설비 구축 시 높은 투자비용이 소모된다.
따라서, 본 발명은 SDN 관리 도메인 내의 SDN 스위치와 외부 다른 도메인에 위치한 SDN 제어기 사이에 단일 전용회선의 인밴드(In-band)로 구성하여, 하나의 회선에서 제어 채널과 데이터 채널 영역을 확보할 수 있는 제어 채널/데이터 채널의 이중화 구조를 제공한다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 하나의 특징인 소프트웨어 정의 네트워크 스위치로서,
SDN(Software Defined Network) 제어기와 연결되어 제어 채널을 성립하고, 상기 제어 채널을 통해 상기 SDN 제어기로부터 제어 패킷을 수신하는 관리 포트, 그리고 적어도 하나의 네트워크 장비와 연결되어 데이터 채널을 구성하고, 상기 데이터 채널을 통해 데이터 패킷을 수신하는 복수의 물리 포트를 포함하고, 상기 복수의 물리 포트는, 상기 관리 포트와 연결되어, 상기 제어 패킷을 상기 물리 포트로 포워딩하는 제1 포트, 그리고 상기 제1 포트와 연결되어 상기 SDN 제어기와의 제어 채널을 성립하고, 상기 제1 포트를 통해 제어 패킷을 수신하면 외부 망을 통해 상기 SDN 제어기로 제어 패킷을 포워딩하는 제2 포트 및 제3 포트를 포함한다.
상기 제2 포트는 제1 망과 연결되어 상기 SDN 제어기로 제어 패킷을 포워딩하고, 상기 제3 포트는 제2 망과 연결되어 상기 SDN 제어기로 제어 패킷을 포워딩할 수 있다.
상기 제어 패킷은 미리 정의된 VLAN(Virtual LAN) 식별자가 태깅되어 있고, 상기 데이터 패킷은 상기 제어 패킷에 태깅된 VLAN 식별자와 상이한 VLAN 식별자가 태깅되어 있을 수 있다.
상기 제1망은 전용회선망이고, 상기 제2망은 무선망이며, 상기 제3포트는 상기 제2망과 연결하기 위하여 무선 공유기와 연결될 수 있다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 SDN(Software Defined Network) 스위치가 SDN 제어기와 단일 전용회선으로 연결되어 제어 채널을 이중화하는 방법으로서,
상기 SDN 스위치로 유입된 패킷 처리를 위한 플로우 규칙을 등록하고, 상기 SDN 제어기와의 연동하여 제어 채널을 성립하는 단계, 그리고 상기 SDN 제어기로부터 지정된 SDN 스위치에 대한 패스트-페일오버 그룹(Fast-Failover Group)을 등록하고, 상기 성립한 제어 채널을 유선 채널과 무선 채널로 이중화하는 단계를 포함하고, 상기 SDN 스위치는 매치 필드와 액션 필드로 구성된 플로우 테이블을 저장한다.
상기 제어 채널을 성립하는 단계는, 상기 SDN 스위치의 관리 포트와 연결된 제1 포트 번호를 상기 매치 필드의 입력 포트 값으로, 외부망과 제2 포트 번호를 상기 액션 필드의 출력 포트로 정의하는 단계, 그리고 상기 제2 포트 번호를 상기 매치 필드의 입력 포트 값으로, 상기 제1 포트 번호를 상기 액션 필드의 출력 포트로 정의하여 상기 플로우 규칙을 등록하는 단계를 포함할 수 있다.
상기 제어 채널을 유선 채널과 무선 채널로 이중화하는 단계는, 상기 SDN 제어기로부터의 요청에 따라 관리 포트와 복수의 물리 포트 각각에 연결된 단말 장치 정보를 제공하는 단계, 그리고 상기 단말 장치 정보를 토대로 생성된 플로우 규칙으로 상기 플로우 테이블을 갱신하는 단계를 포함할 수 있다.
상기 생성된 플로우 규칙은, 상기 연결된 단말 장치가 SDN 스위치이면, 상기 매치 필드의 입력 포트 값을 상기 SDN 스위치가 연결된 포트 값으로 정의하고, 상기 매치 필드에 제어 채널의 VLAN 식별자를 추가로 정의하며, 상기 연결된 단말 장치가 상기 SDN 제어기의 IP 주소이거나 무선 공유기의 IP 주소이면, 상기 SDN 제어기 또는 무선 공유기가 연결된 포트 번호를 액션 필드의 패스트-페일오버 그룹으로 삽입할 수 있다.
본 발명에 따르면 인밴드 구성을 통해 제어 채널과 데이터 채널 영역을 하나의 전용 회선으로 구축함으로써, 회선 증설 없이도 쉽게 도메인에 SDN을 적용할 수 있다.
또한, 전용 회선의 추가증설 없이 무선망 기반의 제어채널 이중화를 구성하여 안정성도 확보할 수 있다.
또한, 미리 스위치의 복수 개 출력 포트 각각에 우선 순위를 다르게 부여한 후 그룹으로 묶어주는 패스트-페일오버 그룹(Fast-Failover Group) 방식으로 플로우 규칙을 설정함으로써, SDN 제어기가 장애를 탐지할 필요 없이 SDN 스위치 레벨에서 장애가 발생된 경로상의 출력 포트를 그룹 내 다음 우선 순위의 출력 포트로 재설정을 한 번에 처리할 수 있어 빠른 장애 복구가 가능해진다.
도 1은 일반적인 소프트웨어 정의 네트워크의 제어 평면과 데이터 평면 구조를 나타낸 예시도이다.
도 2는 일반적인 소프트웨어 정의 네트워크 구조에서 채널 영역을 나타낸 예시도이다.
도 3은 본 발명의 실시예에 따른 SDN 관리 도메인 영역에서 제어 채널의 이중화 및 인 밴드 유무선 이중화 구조에 대한 예시도이다.
도 4는 본 발명의 실시예에 따른 SDN 스위치의 예시도이다.
도 5는 본 발명의 실시예에 따른 SDN 제어기의 구조도이다.
도 6은 본 발명의 실시예에 따른 제어 채널의 이중화 방법에 대한 흐름도이다.
도 7은 본 발명의 실시예에 따른 SDN 스위치의 기본 플로우 규칙 등록 과정을 나타낸 흐름도이다.
도 8a 내지 도 8c는 본 발명의 실시예에 따른 기본 플로우 규칙을 통한 SDN 제어기와 SDN 스위치의 연결 절차를 나타낸 흐름도이다.
도 9는 본 발명의 실시예에 따른 제어 채널의 유무선 이중화 구성 절차를 나타낸 흐름도이다.
도 10은 본 발명의 실시예에 따른 SDN 스위치의 최종 플로우 규칙을 나타낸 예시도이다.
도 11은 본 발명의 실시예에 따른 플로우 규칙 설정 과정에서 최초 등록된 플로우 규칙 갱신을 나타낸 예시도이다.
도 12a 및 도 12b는 본 발명의 실시예에 따른 SDN 제어기와 SDN 스위치 사이의 제어 채널 수립을 나타낸 예시도이다.
도 13a 및 도 13b는 본 발명의 실시예에 따른 제어 채널 장애 발생 시 유무선 이중화를 통한 복구 절차를 나타낸 예시도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하 도면을 참조로 하여 본 발명의 실시예에 따른 오픈플로우 기반 소프트웨어 정의 네트워크 환경에서 도메인 장치 및 이를 이용한 유무선 이중화 방법에 대해 상세히 설명한다.
본 발명의 실시예에 대해 설명하기 앞서, 일반적인 SDN의 제어 평면과 데이터 평면 구조, 그리고 채널 영역에 대해 도 1 및 도 2를 참조로 먼저 설명한다.
도 1은 일반적인 소프트웨어 정의 네트워크의 제어 평면과 데이터 평면 구조를 나타낸 예시도이고, 도 2는 일반적인 소프트웨어 정의 네트워크 구조에서 채널 영역을 나타낸 예시도이다.
먼저, 도 1에 도시된 바와 같이, SDN 구조는 제어 평면과 데이터 평면이 서로 분리되어 있다. 여기서 제어 평면은 SDN 제어기로, 데이터 평면은 SDN 스위치로 지칭할 수 있다.
SDN 구조는 상위의 제어 평면이 하위 다수의 데이터 평면을 제어하는 중앙 집중식 구조를 나타낸다. 따라서, 하나의 데이터 평면에서 살펴보면 제어 평면과 또 다른 데이터 평면을 연결하기 위해 최소 2개의 채널이 필요하다.
각각의 채널은 제어 채널과 데이터 채널로 정의할 수 있다. 제어 채널은 제어 평면인 SDN 제어기가 하위 데이터 평면인 SDN 스위치에 제어 메시지를 보낼 때 사용하는 채널이다. 그리고 데이터 채널은 SDN 스위치가 데이터 통신을 하기 위해 이웃한 SDN 스위치로 패킷을 포워딩하기 위해 사용하는 채널이다. 실제 SDN 구조에서의 채널 영역은 도 2에 도시한 바와 같이 나타낼 수 있다.
도 2에 도시된 바와 같이, 제어 평면인 SDN 제어기(20)는 SDN 스위치(10)의 외부 물리 포트(12∼14)들과는 별도로 관리 포트(11)에 연결되어 제어 채널을 이룬다. SDN 스위치(10)가 관리 포트(11)로 연결된 제어 채널은 관리망(Management network)에 형성된다.
SDN 스위치(10)를 기준으로 살펴보면, SDN 제어기(20)로부터 전송되는 제어 메시지를 수신하기 위한 제어 채널 1개, 데이터 패킷을 다음 홉(Hop)의 또 다른 SDN 스위치(도면 미도시)에 외부망(External Network)을 통해 전달하기 위하여 임의의 외부 물리 포트(14)에 연결된 데이터 채널 1개가 필요하다. 도 2의 형태가 ONF(Open Networking Foundation)에서 정의한 오픈 플로우 표준에 나오는 가장 기본적인 SDN 구조이다.
이런 SDN의 구조적인 특징 상, 통신 사업자 입장에서 특정 단일 도메인을 관리하기 위한 SDN을 구성할 때는 기본적으로 제어 채널과 데이터 채널의 성립을 위해 2개의 전용 회선이 최소로 필요하다. 만약 제어 채널과 데이터 채널의 안정성을 위하여 이중화를 고려할 경우 추가로 2개의 전용 회선이 더 필요하다.
이 경우 통신 사업자 혹은 네트워크 서비스 제공자는 최초 망 설비 구축 시 높은 투자비용이 소모된다. SDN을 적용하기 위한 네트워크 관리 영역을 하나의 도메인으로 정의했을 때, 이때 발생되는 비용/시간적인 소모내용은 요약하면 크게 아래와 같다.
먼저, 종래의 네트워크 도메인 내에는 기본적으로 전용 회선이 하나는 기본적으로 제공된다. 해당 네트워크 도메인 내에 SDN을 구축할 때는 제어 채널과 데이터 채널의 안정성을 위한 이중화를 고려하지 않더라도, 기본적으로 제어 채널과 데이터 채널 2개를 동시에 확보하기 위해서는 최소 1개의 전용회선 추가 증설과 해당 증설을 위해 초기비용이 발생한다.
마찬가지로 기존 관리 도메인 내에 전용 회선이 최소 2개가 깔려 있더라도 제어 채널과 데이터 채널의 망 안정성을 고려해, 이중화 구성을 위한 최소 2개의 회선 추가 증설과 이로 인한 추가 비용투자 필요하다. 또한, 회선 증설로 인한 초기 투자 비용이 증가하는 만큼, SDN 기반 네트워크 환경 구축 일정이 증가하고 SDN 기반으로 고객에게 네트워크 서비스를 제공할 때 높은 요금으로 책정되는 단점이 있다.
따라서, 본 발명에서는 SDN 관리 도메인 내의 SDN 스위치와 외부 다른 도메인에 위치한 SDN 제어기 사이에 단일 전용회선의 인 밴드(In-band) 구성을 도입한다. 이를 통해 하나의 회선에서 제어 채널과 데이터 채널 영역을 확보한다.
또한, 채널을 패스트-페일오버 그룹 지정 방식 유무선 이중화를 통해, 회선 증설 없이도 제어 채널의 빠른 장애 복구가 가능하게 하는 제어/데이터 채널의 이중화 구조 및 그에 따른 장치를 제안한다. 이에 대해 도 3을 참조로 설명한다.
도 3은 본 발명의 실시예에 따른 SDN 관리 도메인 영역에서 제어 채널의 이중화, 인 밴드 및 유무선 이중화 구조에 대한 예시도이다.
도 3에 도시된 바와 같이, 도메인 내에 위치한 SDN 스위치(100)에는 복수의 외부 물리포트(121∼123)들이 있다. 본 발명의 실시예에서는 설명의 편의를 위하여 3개의 외부 물리포트(121∼123)들만 도시하나, 반드시 이와 같이 한정되는 것은 아니다.
복수의 외부 물리포트(121∼123) 중 2번 포트(122)에 전용회선망이 연결되고, 3번 포트(123)에 연결된 무선 공유기(300)를 통해 무선망이 연결되어 있는 것을 예로 하여 설명한다. 전용회선망과 무선망은 각각 외부망(예를 들어, 인터넷)과 연결되어 이웃 SDN 스위치와 데이터 패킷의 송수신이 가능하다.
외부 물리포트 중 1번 포트(121)는 관리 포트(M)(111)와 직접 연결된다. 이는 제어 평면과 데이터 평면이 분리된 SDN 특성상, SDN 스위치(100)의 관리 포트(M)(111)를 통해 SDN 스위치(100) 내부로 유입된 제어 패킷들은 SDN 스위치(100) 내부에서 외부 물리포트들로의 포워딩이 불가능하다. 따라서 SDN 제어기(200)로부터 전송된 제어 패킷을 1번 포트(121)를 경유하여 내부 2번 포트(122) 또는 3번 포트(123)로 전달하여, SDN 스위치(100) 내부에서 물리포트로 포워딩이 가능하도록 한다.
이때, SDN 스위치(100)의 외부 물리포트인 1번 포트(121)와 2, 3번 포트(122, 123) 사이에 제어 패킷들은, SDN 스위치(100)의 플로우 테이블에 정의된 플로우 규칙에 의해 패킷 포워딩이 이루어진다. 플로우 규칙은 SDN 스위치(100)에 기본으로 설정되어 네트워크 관리 영역인 도메인 별로 비치된다.
SDN 기반 네트워크 환경에서 인밴드(In-Band) 구성은 제어 채널과 데이터 채널 영역을 SDN 스위치(100)로 연결하여 하나의 단일 회선에서 구현한 형태이다. 도 3에서는 SDN 스위치(100)가 미리 정의되어 패킷에 태깅되는 VLAN ID(Virtual LAN ID)를 통해 제어 패킷과 데이터 패킷을 구분함으로써, 2번 포트(122) 또는 3번 포트(123)와 연결된 전용회선 또는 무선망이 제어 채널과 데이터 채널의 역할을 동시에 수행하여 제어 패킷과 데이터 패킷을 모두 송수신할 수 있다.
예를 들어, SDN 제어기(200)와 SDN 스위치(100)가 주고받는 제어 패킷은 '10'으로 정의된 VLAN ID를 패킷에 태깅하여 전용 회선을 통해 주고받는다. 그리고 단말 장치 혹은 네트워크 장비(400)와 SDN 스위치(100) 사이에 주고받는 데이터 패킷은 '10'이 아닌 다른 VLAN ID를 데이터 패킷에 태깅 후 데이터를 주고 받는다고 가정하자.
이때 SDN 스위치(100)는 내부로 유입된 패킷의 VLAN ID를 구분하여 VLAN ID가 10을 달고 있는 패킷은 제어 패킷이라고 판단하고 1번 포트(121)를 경유하여 관리 포트(M)(111)로 전달한다. 반대로 VLAN ID가 20인 경우, 데이터 패킷에 포함된 목적지 주소까지 경로 상의 스위치 포트로 패킷을 포워딩 한다.
패킷에 태깅된 VLAN ID를 기준으로 하나의 전용 회선을 통해 SDN 스위치(100)로 유입되는 제어 패킷과 데이터 패킷의 분류가 가능한 것이다. 이때 SDN 스위치(100)의 1번 포트(121)와 2번 포트(122) 사이에 오가는 패킷들은 SDN 스위치(100)의 플로우 테이블에 정의된 플로우 규칙에 의해 패킷 포워딩이 이루어진다. 그리고 해당 플로우 규칙은 SDN 제어기(200)에 의해 등록되는 패스트-페일오버 그룹 지정에 의해 수행된다.
3번 포트(123)에 연결된 무선망도 2번 포트(122)의 전용회선망과 동일하게 인밴드 역할을 수행한다. 본 발명의 실시예에서는 SDN 스위치(100)는 2번 포트(122)를 통해 연결된 전용회선을 통해서 우선적으로 SDN 제어기와 연결을 성립한다. 그리고, 전용회선에 장애가 발생했을 경우에만 3번 포트(123)에 연결된 무선망으로 제어 채널의 연결을 재성립하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.
이때, 회선에 장애가 발생하였음을 감지하는 장애 감지와 2, 3번 포트(122, 123)에 구성된 유무선 이중화를 통한 제어 채널의 연결복구 방법은 SDN 제어기(200)가 SDN 스위치(100)에 내려준 패스트-페일오버 그룹에 의해 수행된다,
여기서, SDN 스위치(100)와 SDN 제어기(200)의 구조에 대해 도 4 및 도 5를 참조로 설명한다.
도 4는 본 발명의 실시예에 따른 SDN 스위치의 예시도이고, 도 5는 본 발명의 실시예에 따른 SDN 제어기의 구조도이다.
도 4에 도시된 바와 같이, SDN 스위치(100)는 상위 SDN 제어기(200)와 제어 채널을 구성하기 위한 관리 포트(Management port)(110)와 다른 네트워크 장비 혹은 단말 서버 장비가 직접 연결되어 데이터 채널을 구성하는 외부 물리 포트(120)로 구성된다.
관리 포트(110)는 상위 SDN 제어기(200)와 연결되는 LAN 포트(111)와 터미털을 통해 직접 스위치에 접속하는 터미널 포트(112)가 존재한다. 이 중, LAN 포트(111)를 통해 상위 SDN 제어기(200)와 제어 채널을 성립한다.
관리 포트(110)의 LAN 포트(111)는 상위 SDN 제어기(200)와 제어 채널을 성립하고, 직접 TCP 통신을 통한 메시지 교환이 이루어지기 때문에, 서버의 NIC(Network Interface Card)와 같이 IP 설정이 필요하다. 외부 물리 포트(120)의 경우 보통 24개에서 48개까지의 최대 포트 수를 가지며, 각 포트마다 구분을 위한 개별적인 포트 번호가 배정된다.
그리고 각 채널 특성상 서로 다른 채널을 통해 유입된 데이터 패킷은 서로의 채널로 패킷 포워딩이 불가능하다. 예를 들어, 외부 물리 포트(120) 중 1번 포트(121)를 통해 데이터 패킷이 들어왔다면 다른 외부 물리 포트 2번 포트(122)로 내보낼 수는 있지만, 제어 채널에 속하는 관리 포트(110)로 내보낼 수는 없다. 마찬가지로 관리 포트(110)로 유입된 패킷도 외부 물리포트(120)로 내보낼 수 없다.
본 발명의 실시예에서는 외부 물리 포트(120) 중 1번 포트(121)를 관리 포트(110)의 LAN 포트(111)와 연결하여, 1번 포트(121)를 통해 입력된 제어 패킷이 관리 포트(110)로 전달될 수 있도록 한다. 본 발명의 실시예에서는 LAN 포트(111)와 1번 포트(121)를 연결하여 제어 패킷이 관리 포트(110)로 유입되도록 하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니며, 다른 외부 물리 포트(120)를 통한 구성도 가능하다.
한편, 도 5에 도시된 바와 같이 SDN 제어기(200)는 통신부(210), 프로세서(220) 및 메모리(230)를 포함한다.
통신부(210)는 복수의 SDN 스위치와 데이터 평면(data plane) 및 제어 평면(control plane)을 형성한다. 데이터 평면을 통해서는 데이터 패킷을 송수신한다. 제어 평면을 통해서는 SDN 스위치와 패킷-인 메시지 또는 패킷-아웃 메시지를 송수신하고, SDN 스위치에 대한 스위치 정보를 획득한다. 그리고 제어 평면을 통해서는 제1 호스트(도면 미도시)와 제2 호스트(도면 미도시) 사이에 패킷이 전달될 때, 패킷 전달을 위하여 생성된 플로우 규칙을 제어 패킷으로써 복수의 스위치에 전달한다.
프로세서(220)는 통신부(210)를 통해 수신한 패킷-인 메시지와 다양한 정보(스위치 정보, 스위치 포트별 상태 정보, 연결 단말 정보, 연결 스위치 정보 등)를 토대로, 복수의 SDN 스위치에 각각에 대한 패스트-페일오버 그룹을 형성한다. 즉, 프로세서(220)는 제1 호스트가 전송한 패킷을 처음 수신하는 제1 SDN 스위치로부터 전송된 패킷 인 메시지에 포함되어 있는 패킷에 대한 헤더 정보를 토대로 제1 호스트로부터 제2 호스트까지 패킷이 전송될 수 있는 모든 경로를 추출한다.
프로세서(220)는 SDN 스위치(100)에 대한 복수의 포트(120)들이, 복수의 패스트-페일오버 그룹 중 적어도 하나의 패스트-페일오버 그룹에 포함되도록 분류한다. 프로세서(220)는 SDN 스위치(100)의 공통 입력 포트에 서로 다른 출력 포트가 2개 이상 존재할 경우, 해당 출력 포트들을 하나의 패스트-페일오버 그룹으로 지정한다.
프로세서(220)는 패스트-페일오버 그룹으로 분류된 SDN 스위치(100)의 포트들에 대한 우선 순위를 부여한다. 그리고 프로세서(220)는 복수의 SDN 스위치(100) 각각의 포트들에 대한 패스트-페일오버 그룹과 우선 순위를 기초로, 플로우 규칙을 생성한다.
메모리(230)는 통신부(210)를 통해 수신한 다양한 정보 그리고 프로세서(220)가 형성한 패스트-페일오버 그룹과 이를 토대로 생성한 플로우 규칙을 플로우 테이블의 필드에 저장하여, 플로우 규칙으로 등록한다. 이 외에, 메모리(230)는 SDN 제어기(200)의 동작에 필요한 프로그램 및 데이터를 저장한다.
이상에서 설명한 환경에서 제어 채널을 이중화하는 방법에 대해 도 6을 참조로 설명한다. 본 발명의 실시예에서는 설명의 편의를 위하여 하나의 SDN 스위치(100)가 SDN 제어기(200)와 형성하는 제어 채널을 이중화하는 방법에 대해 설명한다.
도 6은 본 발명의 실시예에 따른 제어 채널의 이중화 방법에 대한 흐름도이다.
도 6에 도시된 바와 같이, SDN 스위치(100)가 내부 에이전트(agent)를 통해 플로우 규칙을 등록하면(S100), SDN 스위치(100)는 SDN 제어기(200)와의 연결 절차를 수행한다(S200). SDN 스위치(100)와 SDN 제어기(200)가 연결되면, SDN 스위치(100)의 제어 채널의 유무선 이중화를 구성한다(S300). 각각의 절차에 대해서는 이하 도면을 참조로 상세히 설명한다.
먼저, S100 단계에서 SDN 스위치(100)의 플로우 규칙 등록 과정에 대해 도 7을 참조로 설명한다.
도 7은 본 발명의 실시예에 따른 SDN 스위치의 기본 플로우 규칙 등록 과정을 나타낸 흐름도이다.
SDN 스위치(100)에 패스트-페일오버 그룹 지정을 위해서는, 우선 해당 그룹을 생성하는 SDN 제어기(200)가 SDN 스위치(100)와 연결되어야 한다. 즉, 상기 도 3과 같이 SDN 스위치(100)가 SDN 네트워크 도메인 영역에 배치되었을 때, 전용 회선에 연결되자마자 SDN 제어기(200)와의 연결이 성립되어야 한다. 이를 통해 SDN 스위치(100)는 제어기(200)로부터 패스트-페일오버 그룹 등록이 가능하다.
이를 위해 SDN 스위치(100)는 도메인에 배치되기 전에 기본적으로 도 7에 도시된 절차를 거쳐 기본 플로우 규칙이 등록되어 있어야 한다. 여기서 플로우 규칙이라 함은, SDN 스위치(100)에 있는 플로우 테이블에 등록된 엔트리(Entry) 정보를 의미한다.
즉, 플로우 테이블은 패킷 처리를 위한 특정 조건(IP, MAC, 패킷 타입 등)들이 정의된 매치 필드와, 패킷을 어떻게 처리할 것인지를 정의하는 액션 필드로 구성되어 있다. 그리고 SDN 스위치(100)에 유입된 패킷의 조건이 매치 필드와 일치할 때 해당 패킷을 어떻게 처리할지는 액션 필드를 참조로 결정한다. 이때, 플로우 테이블에 정의된 각각의 엔트리 정보를 플로우 규칙이라 지칭한다.
그리고 해당 플로우 규칙은 SDN 스위치 내부 에이전트(agent)를 통해 스크립트 형식으로 SDN 스위치(100)에 제공된다. SDN 스위치(100)는 부팅될 때, 해당 스크립트를 읽어, 내부 플로우 테이블에 엔트리 정보를 등록한다. 이때 에이전트를 통해 등록되는 절차 과정은 아래와 같다.
도 7에 도시된 바와 같이, SDN 스위치(100)는 'Step=0'인 단계에서 SDN 스위치(100) 자체에 저장되어 있는 플로우 규칙에 대하여 SDN 스위치(100)에 임시로 등록되어 있는 스크립트를 읽어들인다(S101). 여기서, Step은 각 진행 단계의 수를 의미한다. 그리고, 플로우 규칙에 대한 스크립트를 통해 입력 포트 번호와 출력 포터 번호를 확인한다(S102).
SDN 스위치(100)는 관리 포트(110)와 연결된 임의의 포트 번호를 매치 필드의 입력 포트(In_Port)의 값으로, 전용회선망과 연결되는 임의의 포트 번호를 액션 필드의 출력 포트(Out_Port)의 값으로 정의한 플로우 규칙을 생성한다(S103). 본 발명의 실시예에서는 상기 도 3의 1번 포트(121)를 매치 필드의 입력 포트로, 2번 포트(122)를 액션 필드의 출력 포트로 정의한다.
SDN 스위치(100)는 S103 단계에서 생성한 플로우 규칙 정보를 SDN 스위치(100) 내 플로우 테이블에 등록한다(S104). 그리고 SDN 스위치(100)는 S101 단계에서 설정한 단계 수가 'Step=0'인지 확인한다(S105).
만약 'Step=0'이면 플로우 테이블에 등록한 입력 포트(In_Port)와 출력 포트(Out_Port)의 정보를 서로 바꾸어, 즉, 2번 포트(122)를 매치 필드의 입력 포트로, 1번 포트(121)를 액션 필드의 출력 포트로 정의하여 플로우 규칙을 생성한 후 플로우 테이블에 등록한다(S106). 그러나, 'Step=0'이 아닌 경우, 단계의 수에 하나를 더하고(S107), 최종 증가된 단계 수가 2일 경우에는 플로우 규칙 생성 및 등록 절차를 종료한다. 그러나, 증가된 단계 수가 2가 아닐 경우, S203 단계 이후의 절차를 수행한다.
이상에서 설명한 SDN 스위치(100)의 기본 플로우 규칙을 생성하여 등록하는 절차를 종료한 후, 상기 도 6의 S200 단계에서 설명한 SDN 제어기(200)와 SDN 스위치(100)를 연결하는 절차에 대해 도 8a 내지 도 8c를 참조로 설명한다.
도 8a 내지 도 8c는 본 발명의 실시예에 따른 기본 플로우 규칙을 통한 SDN 제어기와 SDN 스위치의 연결 절차를 나타낸 흐름도이다.
도 8a에 도시된 바와 같이, SDN 스위치(100)는 관리 포트(110) 중 LAN 포트(111)를 통해 SDN 제어기(200)와 연결하기 위하여, SDN 제어기(200)의 TCP IP와 포트를 설정한다(S201). SDN 스위치(100)가 특정 포트에 SDN 제어기(200)를 연결하는 방법은 다양하게 실행될 수 있으므로, 본 발명의 실시예에서는 어느 하나로 한정하지 않는다.
그리고, 1번 포트(121)와 2번 포트(122)는 상기 도 7의 절차를 통해 1번 포트로 유입된 패킷은 2번 포트로 포워딩하고, 2번 포트로 유입된 패킷은 1번 포트로 포워딩하도록 플로우 규칙이 설정되어 있다(S202). 이에 대해 도 8b 및 도 8c를 참조로 먼저 설명한다.
먼저 도 8b는 플로우 규칙을 통해 SDN 제어기(200)에서 SDN 스위치(100)로 전송되는 패킷을 포워딩하는 과정에 대해 나타낸 예시도이다. SDN 제어기(200)로부터 패킷이 2번 포트로 유입되면, SDN 스위치(100)의 플로우 테이블 내 매치 필드와 액션 필드를 참조하여 2번 포트로 유입된 패킷은 1번 포트로 포워딩한다.
이와 마찬가지로 SDN 스위치(100)에서 SDN 제어기(200)로 패킷을 전송하는 경우, 도 8c에 도시된 바와 같이 매치 필드에 따라 1번 포트로 패킷이 유입되면 액션 필드에 따라 2번 포트로 포워딩하도록 플로우 규칙이 생성되어 있다. 따라서, 관리 포트(110) 중 LAN 포트(111)에서 1번 포트(121)로 패킷이 전달되면, 2번 포트(122)를 통해 SDN 제어기(200)로 패킷이 포워딩된다.
한편, 도 8a에 도시된 바와 같이 SDN 스위치(100)는 SDN 제어기(200)의 AMC 주소를 알아내기 위하여 ARP Request 메시지를 SDN 제어기(200)로 전달한다(S203). 그리고 SDN 제어기(200)로부터 ARP Reply 메시지를 수신한다(S204). 이때, S202 단계의 설정을 토대로 SDN 스위치(100)의 1번 포트로 유입된 신호는 2번 포트를 통해 SDN 제어기(200)로, 2번 포트로 유입된 신호는 1번 포트를 통해 관리 포트(110) 중 LAN 포트(111)로 전달된다.
SDN 스위치(100)는 관리 포트(110) 중 LAN 포트(111)를 통해 SDN 제어기(200)와 TCP 연결을 확립하기 위하여 SYN, SYN+ACK, ACK 신호를 TCP 3 Way handshake를 통해 송수신한다(S205∼S207). 이때, 각각의 단계에서 송수신되는 SYN 신호, SYN+ACK 신호, ACK 신호의 형태, 그리고 TCP 3 Way handshake는 이미 알려진 사항으로, 본 발명의 실시예에서는 상세한 설명을 생략한다.
TCP 연결이 확립되면, SDN 제어기(200)는 오픈플로우 버전 정보를 확인하기 위하여 SDN 스위치(100)와 Hello 메시지를 송수신한다(S208). 오픈 플로우 버전을 확인한 SDN 제어기(200)는 SDN 스위치(100)의 기능을 파악하기 위하여, SDN 스위치(100)와 Features Request/Reply 메시지를 송수신한다(S209).
SDN 스위치(100)의 기능을 확인한 SDN 제어기(200)는 SDN 스위치(100)에, SDN 스위치(100)가 패킷을 보내기 위한 설정 정보(예를 들어, 포트, 속도, MTU 정보 등)를 SetConfiguration 메시지를 통해 전송한다(S210). SDN 스위치(100)가 설정을 완료하면, SDN 제어기(200)는 SDN 스위치(100)의 상태 정보를 파악하기 위하여 Stats Request/Reply 메시지를 송수신한다(S211).
SDN 스위치(100)의 상태 정보를 확인한 SDN 제어기(200)는 SDN 스위치(100)의 포트별 연결 정보를 파악하기 위해 LLDP(Link Layer Discovery Protocol) Request 메시지를 SDN 스위치(100)로 전송한다(S212). 그리고, SDN 스위치(100)로부터 LLDP를 포함하여 패킷 인 메시지를 수신한 SDN 제어기(200)는 LLDP 메시지를 통해 토폴로지 맵을 작성하게 된다(S213). 이상에서 설명한 각 절차에 등장하는 메시지의 형태나 메시지에 포함된 정보의 종류는 다양하므로, 본 발명의 실시예에서는 어느 하나로 한정하지 않는다.
상기에서 언급한 절차에 따라 SDN 스위치(100)와 SDN 제어기(200)가 연결되면, 상기 도 6의 S300 단계에 따라 제어 채널의 유무선 이중화 구성 절차를 수행한다. 이에 대해 도 9를 참조로 상세히 설명한다.
도 9는 본 발명의 실시예에 따른 제어 채널의 유무선 이중화 구성 절차를 나타낸 흐름도이다.
상기 도 8의 절차를 통해 SDN 제어기(200)와 SDN 스위치(100) 사이 최초 제어 채널 연결 구성이 성립되면, SDN 제어기(200)를 통해 직접 SDN 스위치(100) 내부에 패스트-페일오버 그룹을 지정하고 해당 그룹에 플로우 규칙을 설정하여 인밴드(In-Band) 구성 및 유무선 이중화가 가능해진다.
도 9에 도시된 바와 같이, SDN 제어기(200)와 SDN 스위치(100) 사이 최초 연결이 성립된 후 SDN 제어기(200)는 입력 포트 번호와 출력 포트 번호, Step, Group을 초기 상태로 설정한다(S301). 여기서 Group은 패스트-페일오버 그룹으로 묶어주기 위한 스위치의 포트 번호에 대한 그룹이 저장되는 배열이고, Step은 플로우 규칙을 설정하기 위한 단계 수에 해당한다. 그리고 SDN 제어기(200)는 SDN 스위치(100)에 상태 요청 메시지(State Request Message)를 전송하여 SDN 스위치(100)의 상태 정보를 수집한다. 이 과정에서 SDN 제어기(200)는 LLDP 메시지를 통해 SDN 스위치(100)의 포트 별로 연결된 단말의 정보(MAC, IP)를 파악한다(S302).
SDN 제어기(200)는 S302 단계에서 수집된 포트의 연결 정보가 SDN 스위치(100)의 IP 주소인지 확인하고(S303), SDN 스위치(100)의 IP 주소라면 해당 포트는 SDN 스위치(100)의 관리 포트(110)와 연결된 포트(도 3의 1번 포트(111))임을 확인할 수 있다. 따라서, 해당 1번 포트에 대한 포트 번호를 플로우 테이블의 매치 필드에 해당하는 입력 포트의 번호로 정의한다(S304). 이와 함께 제어 채널의 VLAN ID 정보도 매치 필드에 정의한다.
S303 단계에서 확인한 결과, 수집한 포트의 연결 정보가 SDN 스위치(100)의 IP 주소가 아니라면, SDN 제어기(200)는 수집한 포트의 연결 정보가 SDN 제어기(200)의 IP 주소인지 확인한다(S305). 만약 수집한 포트의 연결 정보가 SDN 제어기(200)의 IP 주소라면 해당 포트는 전용 회선과 연결된 포트(도 3의 2번 포트(121))임을 확인할 수 있다. 따라서, SDN 제어기(200)는 2번 포트(122)의 번호를 그룹(Group)이라는 일차원 배열에 삽입한다(S306). 그리고 Step에 할당된 수를 하나 증가시킨다.
S302 단계에서 수집한 포트의 연결 정보가 무선 공유기의 IP 주소이면, SDN 제어기(200)는 해당 포트가 무선 공유기(300)와 연결된 포트(도 3의 3번 포트(122))임을 확인할 수 있다. 따라서, 해당 3번 포트의 포트 번호를 그룹(Group)이라는 일차원 배열에 삽입한다(S306). 그러나, 무선 공유기의 IP 주소도 아니면 S302 단계 이후의 절차를 반복한다.
한편, S306 단계에서 하나 증가된 Step 수가 2인지 확인하고(S308), 2라면 패스트-페일오버 그룹 지정을 위해 그룹(Group) 배열에 저장된 값 중 S305 단계에서 저장된 포트 번호를 내림차순으로 정리하여 높은 숫자를 가지는 포트에 우선순위를 준다. 예를 들어, 2번 포트와 3번 포트가 그룹 배열에 저장되어 있다면, 2번 포트가 3번 포트보다 높은 우선순위를 가지도록 한다.
그리고 S306에서 저장된 포트번호를 다음 우선순위를 부여하여 패스트-페일오버 그룹으로 지정한다(S309). 본 발명의 실시예에서는 높은 숫자의 포트 번호를 가지는 포트에 우선순위가 주어지는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.
또한, 해당 그룹(Group)을 플로우 테이블의 액션 필드 값으로 지정하여 SDN 스위치(100) 플로우 테이블에 필드별 엔트리를 등록한다(S310). 여기서, 패스트-페일오버 그룹 지정 방식은 SDN 스위치(100)의 출력 포트를 2개 이상 우선순위를 다르게 부여한 후 그룹으로 묶어주는 방식이다. 이 경우 SDN 스위치(100) 내부로 들어온 데이터 패킷은 패스트-페일오버 그룹으로 지정된 출력 포트 중에서 우선순위가 가장 높은 포트로 패킷을 내보내고, 장애 등의 문제로 인해 해당 포트로 패킷을 보낼 수 없는 경우 그 다음 우선 순위의 출력 포트로 패킷을 내보내게 된다.
그리고, S304 단계에서 지정한 매치 필드의 입력포트 정보와 S310 단계에서 액션 필드의 패스트-페일오버 그룹으로 지정된 출력 포트의 정보를 서로 바꾸고, 매치 필드/액션 필드를 재정의하여, 플로우 규칙을 생성 및 등록한다(S311, S312). 이상의 절차를 통해 SDN 스위치(100)의 플로우 테이블에 등록된 플로우 규칙에 대해 도 10을 참조로 설명한다.
도 10은 본 발명의 실시예에 따른 SDN 스위치의 최종 플로우 규칙을 나타낸 예시도이다.
도 10에 도시된 바와 같이, 입력 포트 1로 유입된 패킷은 2번 포트 또는 3번 포트로 포워딩될 수 있다. 이때, 액션 필드의 패스트-페일오버 그룹에 정의된 우선 순위를 토대로, SDN 스위치(100)는 2번 포트로 우선 패킷을 포워딩하고, 후순위로 3번 포트로 패킷을 포워딩한다.
이와 마찬가지로, 2번 포트와 3번 포트로 유입된 패킷은 1번 포트로 포워딩하도록 플로우 규칙이 설정되어 있다.
한편, 이미 상기 도 8b 및 8c를 통해 등록된 플로우 규칙 정보는 패스트-페일오버 그룹을 지정하는 과정에서 매치 필드 조건이 중복되기 때문에, 덮어쓰기로 필드 조건이 갱신된다. 이에 대해 도 11을 참조로 설명한다.
도 11은 본 발명의 실시예에 따른 플로우 규칙 설정 과정에서 최초 등록된 플로우 규칙 갱신을 나타낸 예시도이다.
도 11의 (a)에 도시된 것은 상기 도 8b 또는 도 8c를 통해 플로우 규칙이 등록되어 생성된 플로우 테이블에 해당한다. SDN 제어기(200)는 도 11의 (a)에 도시된 플로우 테이블을 상기 도 10에 도시된 바와 같이 생성된 패스트-페일오버 그룹으로 지정된 플로우 테이블과 비교한다.
즉, 도 11의 (a)에 나타낸 플로우 테이블의 플로우 규칙에 따라 입력 포트가 1인 경우 출력 포트로 2번 포트가 매칭되어 있는 것, 입력 포트가 2번인 경우 출력 포트로 1번 포트가 매칭되어 있는 것이 상기 도 10에서 생성된 플로우 테이블과 일치하는지 비교한다.
두 플로우 테이블에 매치 필드 조건이 중복되므로, 도 11의 (b)에 나타낸 바와 같이 덮어쓰기로 필드 조건을 갱신한다. 여기서, 매치 필드 조건이 중복되지 않은 경우에는 플로우 테이블에 매치 필드 조건을 추가하여 갱신한다.
상기 도 11에 도시한 바와 같이 최종적으로 플로우 규칙이 설정되면, SDN 제어기(200)와 SDN 스위치(100) 사이에 제어 채널을 수립하게 된다. 이에 대해 도 12a 및 도 12b를 참조로 설명한다.
도 12a 및 도 12b는 본 발명의 실시예에 따른 SDN 제어기와 SDN 스위치 사이의 제어 채널 수립을 나타낸 예시도이다.
도 12a에 도시된 바와 같이, SDN 스위치가 관리 포트(M)를 통해 SDN 제어기(200)로 VLAN ID '10'이 태깅된 제어 패킷을 보내면, 해당 제어 패킷은 SDN 스위치(100)의 1번 포트로 유입된다.
SDN 스위치(100)의 1번 포트로 패킷이 유입되면, SDN 스위치(100)는 플로우 테이블의 매치 필드에서 VLAN ID가 '10'이고 입력 포트(In Port) 번호가 '1'인 조건을 찾는다. 해당 조건에 일치하는 액션 필드의 패스트-페일오버 그룹에서 우선 순위가 가장 높은 2번 포트를 통해 제어 패킷을 포워딩한다. 제어 패킷은 외부망을 통해 SDN 제어기(200)로 전달된다.
그리고 도 12b에 도시된 바와 같이, 제어 패킷을 전달받은 SDN 제어기(200)가 응답 메시지를 SDN 스위치(100)로 보내는 경우, 해당 메시지는 외부망을 거쳐 SDN 스위치(100)의 2번 포트로 전달된다. SDN 스위치(100)의 2번 포트로 패킷이 유입되면, SDN 스위치(100)는 플로우 테이블의 매치 필드에서 VLAN ID가 '10'이고 입력 포트(In Port) 번호가 '2'인 조건을 찾는다..
해당 조건에 일치하는 액션 필드의 출력 포트(Out Port)로 지정된 1번 포트를 통해 응답 메시지를 포워딩한다. 1번 포트로 포워딩 된 응답 메시지는 관리 포트(M)를 통해 SDN 스위치(100)로 전달된다.
SDN 제어기(200)와 SDN 스위치(100) 사이에 제어 채널이 수립된 후, 제어 채널에 장애가 발생할 때 유무선 이중화를 통한 복구 절차를 수행한다. 이에 대해 도 13a 및 도 13b를 참조로 설명한다.
도 13a 및 도 13b는 본 발명의 실시예에 따른 제어 채널 장애 발생 시 유무선 이중화를 통한 복구 절차를 나타낸 예시도이다.
도 13a에 도시된 바와 같이 SDN 스위치(100)가 관리 포트(M)를 통해 SDN 제어기로 VLAN ID '10'이 태깅된 제어 패킷을 보내면, 해당 제어 패킷은 SDN 스위치(100)의 1번 포트로 유입된다. SDN 스위치(100)의 1번 포트로 패킷이 유입되면, SDN 스위치(100)는 플로우 테이블의 매치 필드에서 VLAN ID가 '10'이고 입력 포트(In Port) 번호가 '1'인 조건을 찾는다.
해당 조건에 일치하는 액션 필드의 패스트-페일오버 그룹에서 우선 순위가 가장 높은 2번 포트를 통해 제어 패킷을 포워딩하게 된다. 그러나 전용 회선망의 장애로 인해 패킷을 보낼 수 없는 경우가 발생한다.
이러한 경우가 발생하면, 액션 필드의 패스트-페일오버 그룹에서 다음 우선 순위를 가지는 3번 포트로 패킷을 포워딩한다. 제어 패킷은 외부망인 무선망을 통해 SDN 제어기(200)로 전달된다.
한편, 도 13b에 도시된 바와 같이, 제어 패킷을 전달받은 SDN 제어기(200)가 응답 메시지를 SDN 스위치(100)로 보내는 경우, 해당 메시지는 외부망을 거쳐 SDN 스위치(100)의 2번 포트로 전달된다. 이는 최초 경로 설정 시 전용 회선망을 우선적으로 사용하여 패킷이 송수신되도록 설정하였기 때문이다.
따라서, SDN 스위치(100)의 2번 포트로 패킷이 유입되어, SDN 스위치(100)로 전달되어야 하는데, 전용 회선망에 장애가 발생하여 무선망으로 연결되어 있는 3번 포트를 통해 패킷이 SDN 스위치(100)로 유입되었다고 가정한다. 그러면, 플로우 테이블의 매치 필드에서 VLAN ID가 '10'이고 입력 포트(In Port) 번호가 '3'인 조건을 찾는다.
해당 조건에 일치하는 액션 필드의 출력 포트(Out Port)로 지정된 1번 포트를 통해 메시지를 포워딩한다. 1번 포트로 포워딩 된 응답 메시지는 관리 포트(M)를 통해 SDN 스위치(100)로 전달된다.
이와 같이, 본 발명의 실시예에 따라 인밴드 구성을 통해 제어 채널과 데이터 채널 영역을 하나의 전용 회선으로 구축함으로써, 회선 증설 없이도 쉽게 도메인에 SDN 네트워크를 적용할 수 있다. 또한, 전용 회선의 추가 증설 없이 무선망 기반의 제어 채널 이중화를 구성하여 안정성도 확보 가능하다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (12)

  1. 소프트웨어 정의 네트워크 스위치로서,
    SDN(Software Defined Network) 제어기와 연결되어 제어 채널을 성립하고, 상기 제어 채널을 통해 상기 SDN 제어기로부터 제어 패킷을 수신하는 관리 포트, 그리고
    적어도 하나의 네트워크 장비와 연결되어 데이터 채널을 구성하고, 상기 데이터 채널을 통해 데이터 패킷을 수신하는 복수의 물리 포트
    를 포함하고,
    상기 복수의 물리 포트는,
    상기 관리 포트와 연결되어, 상기 제어 패킷을 상기 물리 포트로 포워딩하는 제1 포트, 그리고
    상기 제1 포트와 연결되어 상기 SDN 제어기와의 제어 채널을 성립하고, 상기 제1 포트를 통해 제어 패킷을 수신하면 외부 망을 통해 상기 SDN 제어기로 제어 패킷을 포워딩하는 제2 포트 및 제3 포트
    를 포함하는 네트워크 스위치.
  2. 제1항에 있어서,
    상기 제2 포트는 제1 망과 연결되어 상기 SDN 제어기로 제어 패킷을 포워딩하고, 상기 제3 포트는 제2 망과 연결되어 상기 SDN 제어기로 제어 패킷을 포워딩하는 네트워크 스위치.
  3. 제2항에 있어서,
    상기 제어 패킷은 미리 정의된 VLAN(Virtual LAN) 식별자가 태깅되어 있고, 상기 데이터 패킷은 상기 제어 패킷에 태깅된 VLAN 식별자와 상이한 VLAN 식별자가 태깅되어 있는 네트워크 스위치.
  4. 제2항에 있어서,
    상기 제1망은 전용회선망이고, 상기 제2망은 무선망이며,
    상기 제3포트는 상기 제2망과 연결하기 위하여 무선 공유기와 연결되는 네트워크 스위치.
  5. 제4항에 있어서,
    상기 제2 포트를 통해 연결된 전용회선망을 통해 상기 SDN 제어기와 연결되어 제어 채널을 구성하고, 상기 전용회선망에 장애가 발생하면 상기 제3 포트를 통해 연결된 무선망으로 상기 SDN 제어기와 연결되어 제어 채널을 구성하는 네트워크 스위치.
  6. SDN(Software Defined Network) 스위치가 SDN 제어기와 단일 전용회선으로 연결되어 제어 채널을 이중화하는 방법으로서,
    상기 SDN 스위치로 유입된 패킷 처리를 위한 플로우 규칙을 등록하고, 상기 SDN 제어기와의 연동하여 제어 채널을 성립하는 단계, 그리고
    상기 SDN 제어기로부터 지정된 SDN 스위치에 대한 패스트-페일오버 그룹(Fast-Failover Group)을 등록하고, 상기 성립한 제어 채널을 유선 채널과 무선 채널로 이중화하는 단계
    를 포함하고,
    상기 SDN 스위치는 매치 필드와 액션 필드로 구성된 플로우 테이블을 저장하는 제어 채널 이중화 방법.
  7. 제6항에 있어서,
    상기 제어 채널을 성립하는 단계는,
    상기 SDN 스위치의 관리 포트와 연결된 제1 포트 번호를 상기 매치 필드의 입력 포트 값으로, 외부망과 제2 포트 번호를 상기 액션 필드의 출력 포트로 정의하는 단계, 그리고
    상기 제2 포트 번호를 상기 매치 필드의 입력 포트 값으로, 상기 제1 포트 번호를 상기 액션 필드의 출력 포트로 정의하여 상기 플로우 규칙을 등록하는 단계
    를 포함하는 제어 채널 이중화 방법.
  8. 제7항에 있어서,
    상기 제어 채널을 유선 채널과 무선 채널로 이중화하는 단계는,
    상기 SDN 제어기로부터의 요청에 따라 관리 포트와 복수의 물리 포트 각각에 연결된 단말 장치 정보를 제공하는 단계, 그리고
    상기 단말 장치 정보를 토대로 생성된 플로우 규칙으로 상기 플로우 테이블을 갱신하는 단계
    를 포함하는 제어 채널 이중화 방법.
  9. 제8항에 있어서,
    상기 생성된 플로우 규칙은,
    상기 연결된 단말 장치가 SDN 스위치이면, 상기 매치 필드의 입력 포트 값을 상기 SDN 스위치가 연결된 포트 값으로 정의하고, 상기 매치 필드에 제어 채널의 VLAN 식별자를 추가로 정의하며,
    상기 연결된 단말 장치가 상기 SDN 제어기의 IP 주소이거나 무선 공유기의 IP 주소이면, 상기 SDN 제어기 또는 무선 공유기가 연결된 포트 번호를 액션 필드의 패스트-페일오버 그룹으로 삽입하는 제어 채널 이중화 방법
  10. 제9항에 있어서,
    상기 패스트-페일오버 그룹으로 삽입된 포트 번호가 복수 개 이면, 미리 설정된 기준에 따라 우선 순위를 부여하여 패스트-페일오버 그룹으로 지정하는 제어 채널 이중화 방법.
  11. 제10항에 있어서,
    상기 매치 필드에 정의된 포트 정보와 상기 액션 필드에 각각 정의된 포트 정보를 서로 바꾸어 매치 필드와 액션 필드를 재정의하는 제어 채널 이중화 방법.
  12. 제11항에 있어서,
    상기 SDN 제어기는 유선 채널을 통해 전용회선망으로 연결되거나 상기 무선 공유기를 통해 무선망으로 연결되는 제어 채널 이중화 방법.
KR1020180062948A 2018-05-31 2018-05-31 소프트웨어 정의 네트워크 환경에서 소프트웨어 정의 네트워크 스위치, 이를 이용한 제어 채널의 인밴드 구성 및 유무선 이중화 방법 KR20190136793A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180062948A KR20190136793A (ko) 2018-05-31 2018-05-31 소프트웨어 정의 네트워크 환경에서 소프트웨어 정의 네트워크 스위치, 이를 이용한 제어 채널의 인밴드 구성 및 유무선 이중화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180062948A KR20190136793A (ko) 2018-05-31 2018-05-31 소프트웨어 정의 네트워크 환경에서 소프트웨어 정의 네트워크 스위치, 이를 이용한 제어 채널의 인밴드 구성 및 유무선 이중화 방법

Publications (1)

Publication Number Publication Date
KR20190136793A true KR20190136793A (ko) 2019-12-10

Family

ID=69002506

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180062948A KR20190136793A (ko) 2018-05-31 2018-05-31 소프트웨어 정의 네트워크 환경에서 소프트웨어 정의 네트워크 스위치, 이를 이용한 제어 채널의 인밴드 구성 및 유무선 이중화 방법

Country Status (1)

Country Link
KR (1) KR20190136793A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472572A (zh) * 2021-06-28 2021-10-01 通号城市轨道交通技术有限公司 基于轨道交通信号系统的网络恢复方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472572A (zh) * 2021-06-28 2021-10-01 通号城市轨道交通技术有限公司 基于轨道交通信号系统的网络恢复方法及装置
CN113472572B (zh) * 2021-06-28 2024-01-05 通号城市轨道交通技术有限公司 基于轨道交通信号系统的网络恢复方法及装置

Similar Documents

Publication Publication Date Title
US7672227B2 (en) Loop prevention system and method in a stackable ethernet switch system
US6304575B1 (en) Token ring spanning tree protocol
US8259593B2 (en) Apparatus and method for segmenting a communication network
US8102760B2 (en) Method for reconvergence after failure in a dual-homing network environment
US7385973B1 (en) Method and apparatus for VLAN ID discovery
US7978595B2 (en) Method for processing multiple active devices in stacking system and stacking member device
EP0851634A2 (en) Method and apparatus for dynamically reconfiguring virtual lans of a network device
JP5764820B2 (ja) 伝送システムおよび伝送システムの制御方法
JP2002135410A (ja) アクセスネットワークシステム
US11336564B1 (en) Detection of active hosts using parallel redundancy protocol in software defined networks
US11463349B2 (en) Fault diagnosis method and apparatus thereof
US7170892B2 (en) Network element, and associated method, for facilitating communication of data between elemental devices
US9596296B2 (en) Method of inter-board communication in a router cluster, router, and router cluster
TWI676378B (zh) 網路自動鏈結備援方法與網路系統
KR20190136793A (ko) 소프트웨어 정의 네트워크 환경에서 소프트웨어 정의 네트워크 스위치, 이를 이용한 제어 채널의 인밴드 구성 및 유무선 이중화 방법
CN104168129A (zh) 软件定义网络的网络元件
JPWO2006075402A1 (ja) オープンループネットワークノード装置及びオープンループネットワーク制御方法
JP2005151025A (ja) 拡張中継システム及び中継装置
KR102412933B1 (ko) 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템 및 방법
KR102092091B1 (ko) 소프트웨어 정의 네트워크에서 고가용성 및 고신뢰성을 제공하는 방법, 장치 및 컴퓨터 프로그램
CN112202668A (zh) 局域网、广域网故障转移备份系统及其方法
EP2613475A2 (en) Loop containment enhancement
US11750502B2 (en) Detection of in-band software defined network controllers using parallel redundancy protocol
US20230061215A1 (en) Detection of parallel redundancy protocol traffic in software defined networks
WO2022183927A1 (zh) 一种报文传输方法及装置