KR101478944B1 - 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법 - Google Patents

복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법 Download PDF

Info

Publication number
KR101478944B1
KR101478944B1 KR20140021262A KR20140021262A KR101478944B1 KR 101478944 B1 KR101478944 B1 KR 101478944B1 KR 20140021262 A KR20140021262 A KR 20140021262A KR 20140021262 A KR20140021262 A KR 20140021262A KR 101478944 B1 KR101478944 B1 KR 101478944B1
Authority
KR
South Korea
Prior art keywords
controller
switch
packet
migration
mode
Prior art date
Application number
KR20140021262A
Other languages
English (en)
Other versions
KR20140039014A (ko
Inventor
이재용
김진환
Original Assignee
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Priority to KR20140021262A priority Critical patent/KR101478944B1/ko
Publication of KR20140039014A publication Critical patent/KR20140039014A/ko
Application granted granted Critical
Publication of KR101478944B1 publication Critical patent/KR101478944B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports

Abstract

본 발명은 소프트웨어 정의 네트워크(SDN: software defined network)에 관한 것으로서, 네트워크 스위치에 복수의 컨트롤러가 접속된 환경에서 Slave 모드의 컨트롤러들 중 하나를 Master 모드로 변경하는 openflow 규격의 Switch migration에서 스위치로부터 packet이 전송되는 Master 모드의 컨트롤러가 openflow 규격의 Switch migration에 의해 Slave 모드로 변경되었음을 인식할 뿐만 아니라, 패킷 손실 없는 Switch migration 을 제공하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법을 제공한다.

Description

복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법 {Switch migration method for software-defined-networks with a plurality of controllers}
본 발명은 소프트웨어 정의 네트워크(SDN: software defined network)에 관한 것으로서, 네트워크 스위치에 복수의 컨트롤러가 접속된 환경에서 Slave 모드의 컨트롤러들 중 하나를 Master 모드로 변경하는 openflow 규격의 Switch migration을 패킷 손실 없이 제공하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법에 관한 것이다.
최근 스마트폰 수요 및 이용 증가에 따라 무선 데이터의 폭발적인 증가, 클라우드 컴퓨팅, M2M, 스마트TV 등 방송과 통신산업의 융합, ICT 중심의 융합 산업 등은 네트워크 기술의 고도화를 요구하고 있다. 이에 따라 네트워크 구조의 한계성을 극복하고, 새로운 요구사항들을 수용하기 위한 기술적 대안으로서 개발된 기술이 소프트웨어 정의 네트워크(SDN: software defined network)이다. 소프트웨어 정의 네트워크는 통신 서비스 사업자나 기업의 환경변화에 대응하기 위해, 네트워크 구성을 고정된 하드웨어로부터 가변성을 부여하는 소프트웨어 기반으로 전환시켜 네트워킹의 유연성 및 효과적인 관리 기능을 제공한다.
본 발명에 대한 배경 기술로서, 도면 제1도에 도시된 WO 2013/139298 A1호의 응용 계층 최적화를 제공하는 소프트웨어 정의 네트워킹 지원 기술이 있다. 이 기술은 소프트웨어 정의 네트워크(SDN) 도메인 내 복수의 노드들에 대해 컨트롤 플레인 기능을 관리하는 네트워크 노드로서, 각 노드들로부터 복수의 네트워크 정보를 수집하고 도메인별로 정해진 규칙에 기반하여 네트워크 정보를 포워딩하며, 네트워크 정보에 따른 트래픽 최적화 정보를 수신하고, 상기 트래픽 최적화 정보에 기초하여 노드별 포워딩 판단 연산을 수행하는 프로세서를 구비한다. 또 다른 실시예로서 하나 이상의 소프트웨어 정의 네트워크(SDN) 노드들로부터 1차적인 네트워크 정보를 수집하고, 소프트웨어 정의 네트워크(SDN) 노드들로부터 수신되는 네트워크 정보를 취합하며, 상기 취합된 네트워크 정보에 기초하여 복수의 트래픽 최적화 판단을 수행하여 트래픽 최적화 판단 결과를 소프트웨어 정의 네트워크(SDN) 노드들로 포워딩하는 프로세서를 포함하는 응용 레이어 트래픽 최적화(ALTO) 노드를 구비한다.
본 발명에 대한 다른 배경 기술로서, 도면 제2도에 도시된 전송 기반의 스위칭 디바이스에서 분기 데이터 플레인을 제공하는 시스템 및 방법 기술이 잇다. 이 기술은, 네트워크 스위칭 디바이스의 패킷 기반 라우팅을 수행하는 매크로 플로우 서브 플레인과 네트워크 스위칭 디바이스의 전송 기반 라우팅을 수행하는 마이크로플로우 서브 플레인을 포함하는 하드웨어 데이터 플레인을 구비한 네트워크 스위칭 디바이스를 특징으로 한다. 네트워크 스위칭 디바이스는 소프트웨어 정의 네트워크(SDN) 컨트롤러로부터 패킷 기반 라우팅 규칙을 수신하고, 마이크로플로우 서브 플레인에 전송 기반 라우팅 규칙을 제공한다.
본 발명에 대한 또 다른 배경 기술로서, 도면 제3도에 도시된 라우트 구분 및 우선 순위 부여 기능이 프로그램되고 스위치 라우팅 테이블을 이용하는 소프트웨어 정의 네트워크(SDN) 컨트롤러 기술이 있다. 이 기술은 하나 이상의 복수의 스위치와 상기 하나 이상의 복수의 스위치에 접속된 하나 이상의 복수의 디바이스들과, 상기 네트워크 내의 하나 이상의 복수의 스위치에 연결된 소프트웨어 정의 네트워크(SDN) 컨트롤러와, 상기 소프트웨어 정의 네트워크(SDN) 컨트롤러는 프로세서에 의해 수행되는 집적 논리를 구비하며, 상기 집적 논리는 상기 하나 이상의 복수의 디바이스들과 하나 이상의 복수의 스위치 각각 간의 SDN 루트를 결정하여 소프트웨어 정의 네트워크(SDN) 컨트롤러에 제공하는 것을 특징으로 한다.
'OpenFlow Switch Specification', Version 1.3.3 (Protocol version 0x04), Open Networking Foundation, September 27, 2013 'SDN Architecture Overview', Version 1.0, Open Networking Foundation, December 12, 2013 'Software-Defined Networking: The New Norm for Networks', ONF White Paper, Open Networking Foundation, April 13, 2012
네트워크 스위치에 복수의 컨트롤러가 접속된 환경에서 Slave 모드의 컨트롤러들 중 하나를 Master 모드로 변경하는 openflow 규격의 Switch migration 은, Master 모드로의 변경을 요청한 컨트롤러와 스위치간의 Master 모드 변경 여부와 그 시점을 구분할 수 있으나, 초기 상태로서 Master 모드였던 컨트롤러는 Slave 모드로 변경되었음을 인식할 수 있는 구성이 제공되지 않는 문제가 있다. 이로 인해 Master 모드였던 컨트롤러는 전달 지연(propagation delay)과 각 node가 packet을 처리하는 데 소요되는 처리 시간 지연(processing delay) 이후 스위치측으로 패킷을 전송(Packet-Out)하게 되고, 상기 스위치는 Slave Mode로 변경된 컨트롤러로부터의 패킷을 controller-to-switch 메시지로 간주하여 무시(drop out)하게 되어 패킷 손실(packet loss)이 불가피하다.
본 발명은, openflow 규격의 Switch migration에 있어서 초기 상태로서 Master 모드였던 컨트롤러가 Slave 모드로 변경되었음을 인식할 수 있는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법을 제공하는 것을 해결하고자 하는 과제로 한다.
또한 본 발명은 openflow 규격의 Switch migration을 패킷 손실 없이 제공하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법을 제공하는 것을 해결하고자 하는 과제로 한다.
상기의 과제에 대해 본 발명은, 스위치로부터 packet이 전송되는 Master 모드의 컨트롤러가 openflow 규격의 Switch migration에 의해 Slave 모드로 변경되었음을 인식할 뿐만 아니라, 패킷 손실 없는 Switch migration 을 제공하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법을 과제의 해결 수단으로 제공한다.
본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법에 의하면, openflow 규격의 Switch migration에 있어서 초기 상태로서 Master 모드였던 컨트롤러가 Slave 모드로 변경되었음을 인식할 수 있도록 하는 기술적 효과를 제공한다.
또한 본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법에 의하면, openflow 규격의 Switch migration을 패킷 손실 없이 달성할 수 있도록 하는 작용 효과를 제공한다.
도면 제1도는 본 발명의 배경 기술로서, 응용 계층 최적화를 제공하는 소프트웨어 정의 네트워킹 지원 기술의 구성
도면 제2도는 본 발명의 다른 배경 기술로서, 전송 기반의 스위칭 디바이스에서 분기 데이터 플레인을 제공하는 시스템 및 방법 기술의 구성
도면 제3도는 본 발명의 또 다른 배경 기술로서, 라우트 구분 및 우선 순위 부여 기능이 프로그램되고 스위치 라우팅 테이블을 이용하는 소프트웨어 정의 네트워크(SDN) 컨트롤러 기술의 구성
도면 제4도는 SDN 아키텍처의 논리적인 구조
도면 제5도는 본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크 구성의 일례
도면 제6도는 본 발명의 소프트웨어 정의 네트워크에서 복수의 컨트롤러 구성의 일례
도면 제7도는 ONF(Open Networking Foundation)의 Openflow switch 규격에 의한 스위치 접속의 변경(Migrate Switch)의 흐름
도면 제8도는 ONF(Open Networking Foundation)의 Openflow switch 규격에 의한 스위치 접속의 변경(Migrate Switch)에 따른 패킷 손실 과정
도면 제9도는 본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법의 처리 흐름
이하의 내용은 단지 본 발명의 원리를 예시한다. 이에 따라 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예 들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다. 또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다.
상술한 목적, 특징 및 장점들은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 더욱 분명해 질 것이다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다.
최근 클라우드 서비스의 출현, 모바일 기기와 콘텐츠의 폭발적인 증가, 서버 가상화 등은 기존의 전통적인 네트워크 아키텍처에 새로운 논의를 불러일으키는 주요한 트렌드로 등장하고 있다. 기존 대부분의 네트워크는 트리 구조로 배열된 이더넷 스위치 계층으로 만들어진 단계적인 구조로 이루어져 있다. 네트워크 부문에서 이러한 계층적인 디자인은 클라이언트-서버 컴퓨팅이 지배적인 상황에서의 일반적인 디자인이다. 하지만 이러한 고정적인 계층적 네트워크 구조는 오늘날의 대규모 기업용 데이터센터, 통신사업자 환경에서 요구되는 역동적인 컴퓨팅이나 스토리지 환경에는 적합하지 않다. 따라서 현재 네트워크 시장의 요구사항을 전통적인 네트워크 아키텍처로 충족시키는 것은 사실상 불가능하다. 결국 기존 네트워크 아키텍처는 오늘날의 소비자, 기업, 통신사업자 등 다양한 수요자들의 요구사항이 충족되도록 설계되어 있지 않아, 다음과 같은 다양한 한계점들이 나타나고 있는 것이다.
소프트웨어 정의 네트워크 또는 소프트웨어 정의 네트워킹(SDN: software defined networking)은 네트워크 제어 기능이 패킷 포워딩과 분리되어 직접 프로그래밍을 지원하는 네트워크 아키텍처이다. SDN에서는 접근 가능한 컴퓨팅 장치로 제어 영역이 분리되어 컴퓨팅장치로 이주됨에 따라, 논리적 또는 가상적인 실체로서 네트워크를 관리, 제어할 수 있는 애플리케이션 및 네트워크 서비스의 이용이 가능하다.
도면 제4도는 SDN 아키텍처의 논리적인 구조를 나타내고 있는데, 네트워크의 핵심적인 기능이 네트워크를 전체적으로 제어하는 소프트웨어 기반의 SDN 컨트롤러에 집중되어 있다. 따라서 네트워크는 하나의 논리적 스위치와 같은 응용 프로그램으로 나타난다. 또한 네트워크를 제어계층에 중앙집중화함으로써, SDN은 네트워크의 설정, 관리, 보안 등에 있어 유연성을 제공하고, SDN 프로그램을 통해 네트워크 리소스를 최적화할 수 있다. 이와 같은 SDN 아키텍처는 라우팅, 멀티 캐스트, 보안, 액세스 제어, 대역폭 관리, 트래픽 엔지니어링, 프로세서 및 스토리지 최적화, 서비스 품질, 에너지 사용량, 모든 형태의 정책관리를 포함하여, 사용자가 비즈니스 목표에 부합하는 맞춤형으로 네트워크 서비스를 구현할 수 있도록 API의 집합을 제공한다. 따라서 SDN 제어와 애플리케이션 계층 사이에 개방형 API를 사용함으로써 비즈니스 애플리케이션들의 수행을 위한 세부 사항에 얽매이지 않고, 네트워크 서비스와 기능을 활용하여 네트워크에서 작동할 수 있다.
SDN의 핵심 컴포넌트인 OpenFlow 기술은 기존의 폐쇄적인 네트워킹 기술을 개방형 네트워킹 기술로 변화시켜서 새로운 네트워킹 기술 발전을 위한 기반을 제공하였다. OpenFlow 기술의 상용화 및 표준화를 촉진시키기 위해서 설립된 ONF(Open Networking Foundation)는 네트워킹 기술을 컴퓨팅 기술로 재해석하고 OpenFlow 기술을 기반으로 SDN(Software-Defined Networking) 기술을 정의하였다.
OpenFlow는 표준 통신 인터페이스에 해당하는 일종의 라우팅 프로토콜로서 이해할 수 있다. 따라서 OpenFlow는 OpenFlow 컨트롤러와 OpenFlow 지원 네트워크 장비(스위치/라우터) 사이에서 커뮤니케이션 역할을 담당한다. 현재 IP 기반의 라우팅(routing)에서는 다양한 요구수준에 상관없이 두 종단점 사이(endpoint to endpoint)의 데이터 흐름을 네트워크 안에서 동일한 경로로 흐르게 하여, 결국 사용자에게 애플리케이션 및 세션 계층에서의 컨트롤을 제공하지 못하고 있다. 일반적으로 네트워크 장비(라우터, 스위치)는 하드웨어 기반의 플로우 테이블(flow table)을 이용하여 네트워크 트래픽을 처리하고 있다. 하지만 OpenFlow 기술은 소프트웨어 컨트롤러를 통해 플로우 테이블을 조작하여 데이터 경로를 설정함으로써 프로그래머블 네트워크 장비를 제공한다.
도면 제5도는 본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크 구성의 일례를 도시한다. 본 발명의 소프트웨어 정의 네트워크는 도면 하단에 도시된 물리적 네트워크 인프라(Physical Network Infrastructure)와 상기 물리적 네트워크 인프라가 접속되는 분산 SDN 제어 플레인(Distributed SDN Control Plane)을 구비한다. 상기 분산 SDN 제어 플레인은 복수개의 노드들 및 상기 노드들에 대한 분산 데이터를 저장하는 분산 데이터 저장부(Distributed Data Store)가 구비되고, 상기 각각의 노드는 물리적 네트워크 인프라가 접속되는 코어 제어 모듈 및 상기 코어 제어 모듈을 통해 물리적 네트워크 인프라에 제공되는 어플리케이션들이 구비된다. 상기 분산 SDN 제어 플레인(Distributed SDN Control Plane)은 컨트롤러들로써 구성되는데, 물리적 네트워크 인프라에 대한 부하량을 계측(Load Measurement)하고 부하 적응 판단부(Load Adaptation Decisions)로써 부하의 균형 상태를 연산한다. 상기 분산 SDN 제어 플레인은 상기 부하 적응 판단부에 의한 부하의 균형 상태에 따라 소프트웨어 정의 네트워크(SDN)을 제어하는 조치를 수행하게되며, 스위치 접속의 변경(Migrate Switch)이나 컨트롤러의 제거 또는 부가 접속을 수행한다.
도면 제6도는 본 발명의 소프트웨어 정의 네트워크에서 복수의 컨트롤러 구성의 일례를 도시한다. 분산 SDN 제어 플레인(Distributed SDN Control Plane)에 있어서 트래픽이 적은 경우에는 단일의 컨트롤러에 의한 Single Control Plane 구성이 가능하다. 그러나 트래픽이 증가하여 병목 현상이 발생하는 것을 방지하기 위해서는 복수의 컨트롤러에 의한 Multi-Control Plane으로 구성하여 분산 처리를 수행해야 한다. 다수의 컨트롤러가 SDN network를 관리하는 환경에서는 스위치별로 하나 이상의 컨트롤러가 접속되어 각 스위치들을 제어한다. 이때 스위치는 상기 컨트롤러들을 Equal, Master, Slave의 세가지 모드로 구분하여 구동되며, 상기 컨트롤러들은 스위치에 대한 접속과 함께 컨트롤러들 간의 별도의 채널이 구비되어 정보를 교환할 수 있도록 구성된다.
이때 Equal 모드의 컨트롤러는 접속된 스위치에 대한 접근이 허용되고 스위치로부터 제공되는 asynchronous 메시지를 모두 전송받을 수 있다. Equal 모드의 컨트롤러는 접속된 스위치 측으로 controller-to-switch 메시지를전송함으로써 스위치의 모드를 변경할 수 있다.
Master 모드의 컨트롤러는 Equal 모드와 마찬가지로 접속된 스위치에 대한 모든 접근이 허용되고 스위치로부터 제공되는 asynchronous 메시지를 모두 전송받을 수 있다. 또한 Master 모드의 컨트롤러는 접속된 스위치 측으로 controller-to-switch 메시지를 전송함으로써 스위치의 모드를 변경할 수 있다. 다만 Equal 모드와 Master 모드의 다른 점은 Master 컨트롤러가 각 스위치 마다 단일의 컨트롤러로 존재하여야 한다는 점이다.
Slave 모드의 컨트롤러는 스위치에 대해 읽기전용의 접근만이 가능하다. Slave 모드의 컨트롤러는 스위치로부터 제공되는 asynchronous 메시지를 받을 수 없고, 스위치의 상태를 변경하기 위한 controller-to-switch 메시지를 스위치 측으로 전송하는 경우 스위치는 컨트롤러 측으로 error packet을 전송하도록 구성되므로 Slave 모드의 컨트롤러가 전송하는 controller-to-switch 메시지를 무시한다. 따라서 Slave 모드의 컨트롤러는 OFPT_ROLE_REQUEST 메시지를 사용하여 스위치의 상태를 변경한다.
복수의 컨트롤러에 의해 SDN network을 관리하는 환경에서 Switch Migration 을 수행하는 데 있어서 반드시 유지되어야 하는 조건이 있다. 그것은 Safety 조건과 Liveness 조건이다.
Safety 조건은 스위치로부터 제공되는 모든 메시지들이 단일의 컨트롤러에 의해 처리되어야 한다는 것이다. 만약 스위치로부터 제공되는 메시지가 둘 이상의컨트롤러에 의해 동시에 처리된다면 처리 과정이 다를 수도 있고 처리 정보가 스위치 측에 중첩되어 원치 않는 결과가 나타나기 때문이다. 스위치로부터 제공되는 하나의 메시지가 둘 이상의 컨트롤러들에서 각기 다른 처리를 하고 각각 다른 명령을 스위치에 전송하면 각 컨트롤러로부터의 명령들은 스위치에서 중첩되어 같은 flow에 속하는 packet들에 대해 여러 개의 다른 명령이 부여될 수 있다. 그렇기 때문에 스위치로부터 제공되는 메시지는 단일의 컨트롤러에서 처리해야한다. 이러한 Safety 조건을 유지하기 위해서는 복수의 컨트롤러가 SDN network를 관리하는 환경에서 컨트롤러들에 대해 스위치로부터 제공되는 메시지들을 확인하고 그에 따른 명령을 할 수 있는 Equal 모드를 이용하는 Switch Migration은 적합하지 않다.
다음으로 Liveness 조건이란 각 스위치별로 적어도 하나의 컨트롤러는 active한 상태로 접속되어 있어야 한다는 것이다. 다시 말해 Liveness 조건을 충족하기 위해서는 스위치로부터 제공되는 메시지를 처리하기 위해서 스위치에는 항상 Master 모드의 컨트롤러나 Equal 모드의 컨트롤러가 하나 이상 접속되어 있어야 한다. Liveness 조건만을 고려하면, 스위치에 접속되어 있는 모든 컨트롤러를 Equal 모드로 할당하면 될 수 있겠으나, 동시에 Safety 조건을 만족하기 위해서는 Master 모드와 Slave 모드를 사용해야 한다.
도면 제7도는 ONF(Open Networking Foundation)의 Openflow switch 규격에 의한 스위치 접속의 변경(Migrate Switch)의 흐름을 도시한다. Migration이란 스위치에 하나 이상의 컨트롤러가 접속된 환경에서 Slave 모드의 컨트롤러들 중 하나를 Master 모드로 변경하는 것이다. 도면에서는 초기 상태로서 Slave 모드의 컨트롤러를 제1컨트롤러(100), 초기 상태로서 Master 모드의 컨트롤러를 제2컨트롤러(200), 그리고 상기 제1컨트롤러(100)와 제2컨트롤러(200)가 접속된 스위치(300)를 예로 들어 설명한다.
Openflow 규격에 의하면;
- Master 모드로 변경이 요구되는 Slave 모드의 제1컨트롤러(100)는 접속된 스위치(300)측으로 OFPT_ROLE_REQUEST 메시지를 이용하여 Master 모드로의 변경을 요청(S010)한다.
- OFPT_ROLE_REQUEST 메시지를 전송받은 스위치(300)는 OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)를 Master 모드로 변경하고 이전의 Master 모드 상태였던 제2콘트롤러(200)를 Slave 모드로 변경한다. 이어 스위치(300)는 OFPT_ROLE_REQUEST 메시지를 이용하여 Master 모드로의 변경을 요청한 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송(S020)한다.
이때 스위치(300)는, 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송하는 시점부터 제1컨트롤러(100)를 Master 컨트롤러로 인식하고, OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)는 스위치(300)로부터 Role Reply를 전송받는 시점부터 Master 컨트롤러로 접속된다.
상기와 같은 ONF(Open Networking Foundation)의 Openflow switch 규격에 의한 스위치 접속의 변경(Migrate Switch)은 도면에서 확인할 수 있듯이, Master 모드로의 변경을 요청한 제1컨트롤러(100)와 스위치(300)간의 Master 모드 변경 여부와 그 시점을 구분할 수 있으나, 초기 상태로서 Master 모드였던 제2컨트롤러(200)는 Slave 모드로 변경되었음을 인식할 수 있는 구성이 제공되지 않는 문제가 있다.
도면 제8도는 ONF(Open Networking Foundation)의 Openflow switch 규격에 의한 스위치 접속의 변경(Migrate Switch)에 따른 패킷 손실 과정을 도시한다.
스위치 접속의 변경(Migrate Switch)에 따른 패킷 손실은 스위치(300)로부터 Master 모드의 제2컨트롤러(200)측으로 packet을 전송하게 되면 전달 지연(propagation delay)과 각 node가 packet을 처리하는 데 소요되는 처리 시간 지연(processing delay)가 발생한다. 이를 도면 제7도의 Openflow 규격에 의한 스위치 접속의 변경(Migrate Switch)에 적용하여 설명하면 다음과 같다.
- Master 모드의 제2컨트롤러(200)측으로 스위치(300)로부터 packet이 전송되고(S000),
- Master 모드로 변경이 요구되는 Slave 모드의 제1컨트롤러(100)는 접속된 스위치(300)측으로 OFPT_ROLE_REQUEST 메시지를 이용하여 Master 모드로의 변경을 요청(S010)한다.
- OFPT_ROLE_REQUEST 메시지를 전송받은 스위치(300)는 OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)를 Master 모드로 변경하고 이전의 Master 모드 상태였던 제2콘트롤러(200)를 Slave 모드로 변경한다. 이어 스위치(300)는 OFPT_ROLE_REQUEST 메시지를 이용하여 Master 모드로의 변경을 요청한 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송(S020)한다.
이때 스위치(300)는, 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송하는 시점부터 제1컨트롤러(100)를 Master 컨트롤러로 인식하고, OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)는 스위치(300)로부터 Role Reply를 전송받는 시점부터 Master 컨트롤러로 접속된다.
- Master 모드였던 제2컨트롤러(200)는 상기 스위치(300)가 Role Reply를 제1컨트롤러(100)로 전송하는 시점부터 Slave Mode로 변경되었으므로, 전달 지연(propagation delay)과 각 node가 packet을 처리하는 데 소요되는 처리 시간 지연(processing delay) 이후 제2컨트롤러(200)로부터 스위치(300)측으로 패킷을 전송(Packet-Out)하면(S030), 상기 스위치(300)는 Slave Mode의 제2컨트롤러(200)로부터의 패킷을 controller-to-switch 메시지로 간주하여 무시(drop out)한다. 따라서 상기 과정에서는 패킷 손실(packet loss)이 불가피하다.
도면 제9도는 본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법의 처리 흐름을 도시한다.
적어도 하나의 Slave 모드 컨트롤러로서 제1컨트롤러(100)와, 단일의 Master 모드의 제2컨트롤러(200)를 포함하고 상기 제1컨트롤러(100)와 제2컨트롤러(200)가 스위치(300)에 접속되고, 상기 제1컨트롤러(100)와 제2컨트롤러(200)가 컨트롤러들 간의 채널을 통해 연결되어 구성되는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법으로서, 이하 도면을 인용하여 본 발명의 구성을 상세하게 설명한다.
- Master 모드의 제2컨트롤러(200)측으로 스위치(300)로부터 packet이 전송되고(S100),
- Slave 모드로 변경이 요구되는 Master 모드의 제2컨트롤러(200)는 컨트롤러들 간의 채널을 통해 Switch migration의 시작을 알리는 packet을 Slave 모드의 제1컨트롤러(100) 측으로 전송한다. 이때 상기 제2컨트롤러(200)는 Switch migration의 시작을 알리는 packet에 time stamp 정보를 부가하여 제1컨트롤러(100) 측으로 전송(S110)한다. 이후 Master 모드의 제2컨트롤러(200)는 스위치(300)로부터 제공되는 packet을 처리하지 않고 내부에 저장 보관한다.
- Master 모드의 제2컨트롤러(200)로부터 Switch migration의 시작을 알리는 packet을 전송받은 Slave 모드의 제1컨트롤러(100)는 접속된 스위치(300)측으로 OFPT_ROLE_REQUEST 메시지를 이용하여 Master 모드로의 변경을 요청(S120)한다.
- OFPT_ROLE_REQUEST 메시지를 전송받은 스위치(300)는 OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)를 Master 모드로 변경하고 이전의 Master 모드 상태였던 제2콘트롤러(200)를 Slave 모드로 변경한다. 이어 스위치(300)는 OFPT_ROLE_REQUEST 메시지를 이용하여 Master 모드로의 변경을 요청한 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송(S130)한다.
이때 스위치(300)는, 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송하는 시점부터 제1컨트롤러(100)를 Master 컨트롤러로 인식하고, OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)는 스위치(300)로부터 Role Reply를 전송받는 시점부터 Master 컨트롤러로서 스위치(300)에 접속된다.
- 이어 스위치(300)로부터 Role Reply를 전송받아 Master 모드로 변경되었음을 판단한 제1컨트롤러(100)는, Slave 모드로 변경된 제2콘트롤러(200)에 대해 Switch migration 정보를 전송받을 준비가 되었음을 알리는 Ready for Migration packet을 컨트롤러들 간의 채널을 통해 전송(S140)한다. 상기 제1컨트롤러(100)는 Ready for Migration packet에 time stamp 정보를 부가하여 제2컨트롤러(200) 측으로 전송한다.
- 다음으로 Ready for Migration packet을 전송받은 제2컨트롤러(200)는 스위치(300)로 ‘Hello' 패킷을 전송(S150)하고,
- 상기 스위치(300)는 Slave 모드로 변경된 제2컨트롤러(200)로부터의‘Hello' 패킷에 대해 에러 메시지를 전송(S160)한다. 따라서 제2컨트롤러(200)는 이전의 Master 모드로부터 Slave 모드로 변경되었음을 판단할 수 있다.
- 다음으로 Slave 모드로 변경된 제2컨트롤러(200)는 Master 모드로 변경된 제1컨트롤러(100)측으로 Switch migration이 완료되었음을 알리는 End of Migration 메시지 및 처리하지 않고 내부에 저장 보관된 패킷을 컨트롤러들 간의 채널을 통해 전송(S170)한다. 이때 Master 모드로 변경된 제1컨트롤러(100)는 Switch migration의 시작을 알리는 packet에 포함된 time stamp와 Ready for Migration packet의 time stamp 정보를 참조하여 Slave 모드로 변경된 제2컨트롤러(200)에 저장 보관되었던 패킷을 처리함으로써 패킷 손실을 방지한다.
이상과 같이 설명된 본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법에 의하면, openflow 규격의 Switch migration을 패킷 손실 없이 제공하는 특징이 있다.
본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법은 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술 사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
100 : 제1컨트롤러 200 : 제2컨트롤러
300 : 스위치

Claims (7)

  1. 적어도 하나의 Slave 모드 컨트롤러로서 제1컨트롤러(100)와, 단일의 Master 모드의 제2컨트롤러(200)를 포함하고 상기 제1컨트롤러(100)와 제2컨트롤러(200)가 스위치(300)에 접속되고, 상기 제1컨트롤러(100)와 제2컨트롤러(200)가 컨트롤러들 간의 채널을 통해 연결되어 구성되는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법으로서,
    - Master 모드의 제2컨트롤러(200)측으로 스위치(300)로부터 packet이 전송되는 단계(S100),
    - Slave 모드로 변경이 요구되는 Master 모드의 제2컨트롤러(200)가 컨트롤러들 간의 채널을 통해 Switch migration의 시작을 알리는 packet을 Slave 모드의 제1컨트롤러(100) 측으로 전송하며, 상기 제2컨트롤러(200)가 Switch migration의 시작을 알리는 packet에 time stamp 정보를 부가하여 제1컨트롤러(100) 측으로 전송하는 단계(S110),
    - 이어 Master 모드의 제2컨트롤러(200)로부터 Switch migration의 시작을 알리는 packet을 전송받은 Slave 모드의 제1컨트롤러(100)가, 접속된 스위치(300)측으로 OFPT_ROLE_REQUEST 메시지를 전송하여 Master 모드로의 변경을 요청하는 단계(S120),
    - OFPT_ROLE_REQUEST 메시지를 전송받은 스위치(300)는, OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)를 Master 모드로 변경하고 이전의 Master 모드 상태였던 제2콘트롤러(200)를 Slave 모드로 변경하며, 또한 스위치(300)는 OFPT_ROLE_REQUEST 메시지를 이용하여 Master 모드로의 변경을 요청한 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송하는 단계(S130)를 수행하고,
    - 이어 스위치(300)로부터 Role Reply를 전송받아 Master 모드로 변경되었음을 판단한 제1컨트롤러(100)가, Slave 모드로 변경된 제2콘트롤러(200)에 대해 Switch migration 정보를 전송받을 준비가 되었음을 알리는 Ready for Migration packet에 time stamp 정보를 부가하여 컨트롤러들 간의 채널을 통해 전송하는 단계(S140),
    - 다음으로 Ready for Migration packet을 전송받은 제2컨트롤러(200)는 스위치(300)로 ‘Hello' 패킷을 전송하는 단계(S150),와
    - 상기 스위치(300)는 Slave 모드로 변경된 제2컨트롤러(200)로부터의‘Hello' 패킷에 대해 에러 메시지를 전송하는 단계(S160),
    - 다음으로 Slave 모드로 변경된 제2컨트롤러(200)는 Master 모드로 변경된 제1컨트롤러(100)측으로 Switch migration이 완료되었음을 알리는 End of Migration 메시지 및 처리하지 않고 내부에 저장 보관된 패킷을 컨트롤러들 간의 채널을 통해 전송하는 단계(S170),
    의 수순으로 구성된 것을 특징으로 하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법
  2. 삭제
  3. 제1항에 있어서 상기 제2컨트롤러(200)가 Switch migration의 시작을 알리는 packet에 time stamp 정보를 부가하여 제1컨트롤러(100) 측으로 전송하는 단계(S110)는,
    상기 제2컨트롤러(200)가 Switch migration의 시작을 알리는 packet에 time stamp 정보를 부가하여 제1컨트롤러(100) 측으로 전송한 이후, 제2컨트롤러(200)가 스위치(300)로부터 제공되는 packet을 처리하지 않고 내부에 저장 보관하는 단계를 수행하도록 구성된 것을 특징으로 하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법
  4. 제1항에 있어서 상기 스위치(300)가 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송하는 단계(S130)에 있어서,
    상기 스위치(300)는 상기 Role Reply를 전송하는 시점부터 제1컨트롤러(100)를 Master 컨트롤러로 인식하도록 구성된 것을 특징으로 하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법
  5. 제1항에 있어서 상기 스위치(300)가 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송하는 단계(S130)에 있어서,
    OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)는 스위치(300)로부터 Role Reply를 전송받는 시점부터 Master 컨트롤러로서 스위치(300)에 접속되도록 구성된 것을 특징으로 하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법
  6. 삭제
  7. 제1항에서 상기 Slave 모드로 변경된 제2컨트롤러(200)가 Master 모드로 변경된 제1컨트롤러(100)측으로 Switch migration이 완료되었음을 알리는 End of Migration 메시지 및 처리하지 않고 내부에 저장 보관된 패킷을 컨트롤러들 간의 채널을 통해 전송하는 단계(S170)에 있어서,
    상기 End of Migration 메시지 및 처리하지 않고 제2컨트롤러(200)의 내부에 저장 보관된 패킷을 전송받은 제1컨트롤러(100)는, Switch migration의 시작을 알리는 packet에 포함된 time stamp와 Ready for Migration packet의 time stamp 정보를 참조하여 Slave 모드로 변경된 제2컨트롤러(200)에 저장 보관되었던 패킷을 처리하는 단계를 더 구비한 것을 특징으로 하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법
KR20140021262A 2014-02-24 2014-02-24 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법 KR101478944B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20140021262A KR101478944B1 (ko) 2014-02-24 2014-02-24 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20140021262A KR101478944B1 (ko) 2014-02-24 2014-02-24 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법

Publications (2)

Publication Number Publication Date
KR20140039014A KR20140039014A (ko) 2014-03-31
KR101478944B1 true KR101478944B1 (ko) 2015-01-02

Family

ID=50647022

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140021262A KR101478944B1 (ko) 2014-02-24 2014-02-24 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법

Country Status (1)

Country Link
KR (1) KR101478944B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101717363B1 (ko) * 2014-08-07 2017-03-16 주식회사 케이티 Sdn 환경에서 컨트롤러의 역할을 변경하는 방법 및 이를 수행하는 장치
KR102251407B1 (ko) * 2014-09-03 2021-05-12 주식회사 케이티 소프트웨어 정의 네트워크에서 컨트롤러의 이중화 제어 시스템 및 그 방법
KR101601098B1 (ko) 2014-12-29 2016-03-08 서강대학교산학협력단 Sdn 컨트롤러간 커뮤니케이션의 개수를 감소시키는 방법 및 시스템
CN105163353B (zh) * 2015-10-22 2019-04-26 中国科学技术大学 基于SDN的HiNOC网络无缝切换方法
CN106230622B (zh) * 2016-07-22 2020-02-11 新华三技术有限公司 一种集群实现方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011100173A (ja) 2009-11-03 2011-05-19 Mitsubishi Electric Corp ネットワーク構成管理システム
JP2013030863A (ja) 2011-07-27 2013-02-07 Nec Corp スイッチ装置の制御システム、その構成制御装置および構成制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011100173A (ja) 2009-11-03 2011-05-19 Mitsubishi Electric Corp ネットワーク構成管理システム
JP2013030863A (ja) 2011-07-27 2013-02-07 Nec Corp スイッチ装置の制御システム、その構成制御装置および構成制御方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Open Networking Foundation, "OpenFlow Switch Specification Version 1.4.0(Wire Protocol 0x05)" (2013.10.14.) *
Open Networking Foundation, "OpenFlow Switch Specification Version 1.4.0(Wire Protocol 0x05)" (2013.10.14.)*

Also Published As

Publication number Publication date
KR20140039014A (ko) 2014-03-31

Similar Documents

Publication Publication Date Title
EP3208979B1 (en) Software-defined network-based method and system for implementing content distribution network
US10938727B2 (en) Method and device for offloading processing of data flows
US9948553B2 (en) System and method for virtual network-based distributed multi-domain routing control
KR101473783B1 (ko) 터널링을 이용한 다이나믹 서비스 체이닝 제어 방법 및 장치
EP2920932B1 (en) Apparatus for a high performance and highly available multi-controllers in a single sdn/openflow network
US20210243771A1 (en) Management & orchestration aided transparent of 3gpp network into tsn bases industrial network
US10587494B2 (en) Network control method and apparatus
US11528239B2 (en) Time-sensitive networking communication method and apparatus for configuring virtual switching node
KR101478944B1 (ko) 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법
KR101995145B1 (ko) Ue들 및 고정 액세스 네트워크에서 작동하는 방법
CN114009096A (zh) 应用工作负载路由和网络定义的边缘路由的互通
Wang et al. Implementation of multipath network virtualization with SDN and NFV
KR101460048B1 (ko) 태깅을 이용한 다이나믹 서비스 체이닝 제어 방법 및 장치
JP7092813B2 (ja) パケット伝送方法及び装置
CN107615710B (zh) Sdn交换机中的直接回复动作
KR101658299B1 (ko) 제어 장치, 통신 시스템, 노드 제어 방법 및 프로그램
Agliano et al. Resource management and control in virtualized SDN networks
EP3125472A1 (en) Telecommunication system, method and computer readable medium to control how a transmission of packets of a data flow is realized
CN104320322A (zh) 一种报文控制方法和设备
JP2013179494A (ja) 仮想化ネットワークインフラ制御システム及び方法
Bifulco et al. CATENAE: A scalable service function chaining system for legacy mobile networks
CN116056149B (zh) 一种iab宿主节点的单工作业方法、装置、设备及介质
CN108234241B (zh) 一种通道检测方法及接入设备
Luo et al. Design and implementation of a scalable sdn-of controller cluster
Mousheng et al. Controllable network architecture based on SDN

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee