KR101816719B1 - 소프트웨어 정의 네트워크에서 마스터 컨트롤러 할당 방법 - Google Patents
소프트웨어 정의 네트워크에서 마스터 컨트롤러 할당 방법 Download PDFInfo
- Publication number
- KR101816719B1 KR101816719B1 KR1020160079174A KR20160079174A KR101816719B1 KR 101816719 B1 KR101816719 B1 KR 101816719B1 KR 1020160079174 A KR1020160079174 A KR 1020160079174A KR 20160079174 A KR20160079174 A KR 20160079174A KR 101816719 B1 KR101816719 B1 KR 101816719B1
- Authority
- KR
- South Korea
- Prior art keywords
- controller
- equation
- master controller
- remind
- controllers
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/34—Signalling channels for network management communication
- H04L41/342—Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/121—Shortest path evaluation by minimising delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/042—Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
마스터 컨트롤러를 할당하는 방법이 개시된다. 상기 마스터 컨트롤러를 할당하는 방법은 소프트웨어 정의 네트워크 시스템에 포함된 복수의 컨트롤러들 중 어느 하나의 컨트롤러에 의해 수행되고, 단위 시간동안 유입된 플로우들 중 서로 다른 마스터 컨트롤러를 갖는 스위치들을 경유하는 플로우들의 수를 의사결정 변수(decision variable)로 하는 목적 함수(objective function)를 설정하는 단계, 적어도 하나의 제약조건(constraints)을 설정하는 단계, 및 상기 적어도 하나의 제약조건을 만족시키고 상기 의사결정 변수를 최소화하는 해를 구하는 단계를 포함한다.
Description
본 발명의 개념에 따른 실시 예는 소프트웨어 정의 네트워크에서의 마스터 컨트롤러 할당 방법에 관한 것으로서, 보다 상세하게는 복수의 컨트롤러들을 포함하는 소프트웨어 정의 네트워크 환경에서 각각의 스위치에 대한 마스터 컨트롤러를 할당하는 방법에 관한 것이다.
소프트웨어 정의 네트워크(Software Defined Network: SDN)는 최근 네트워크 구축, 관리, 운용 등에서 발생하는 높은 비용과 복잡성을 근본적으로 해결하기 위해 제안된 것으로서, 기존 네트워크 장비의 제어부분과 패킷(또는 플로우) 전달 부분을 분리하는 구조를 갖는다.
SDN에서는 네트워크의 제어 기능과 데이터 전달 기능이 서로 분리되며, 논리적으로 중앙 집중된 SDN 컨트롤러가 전체 네트워크를 제어하게 된다. 고 가용성을 보장하기 위해 스위치는 다수의 컨트롤러들과 접속되어 있으나, 그 중 하나의 컨트롤러만이 해당 스위치에 대한 제어 권한을 갖는다. 이때, 스위치와 연결되어 있는 컨트롤러들 중 제어 권한을 갖는 컨트롤러를 상기 스위치의 마스터 컨트롤러(master controller)라 하고, 제어 권한이 없는 컨트롤러들을 슬레이브 컨트롤러(slave controller)라 한다.
스위치는 새로 도착한 플로우(또는 패킷)에 대한 플로우 설치 요청 메시지와 컨트롤러에게 주기적으로 또는 비주기적으로 전송하는 네트워크 통계 메시지 등을 자신의 마스터 컨트롤러에게만 전송하고, 자신의 마스터 컨트롤러에게서 전송된 제어 메시지들만을 처리한다. 또한, 스위치는 자신의 슬레이브 컨트롤러들에게 연결을 위한 메시지 이외에 다른 메시지들을 전송하지 않는다. 한편, 스위치의 마스터 컨트롤러에 장애(소프트웨어/하드웨어 장애 혹은 네트워크 장애)가 발생한 경우, 슬레이브 컨트롤러들 중 어느 하나가 새로운 마스터 컨트롤러로 선택되어 해당 장비를 제어하게 된다.
한편, 이러한 다중 SDN 컨트롤러 환경에서, 플로우가 서로 다른 마스터 컨트롤러들을 할당받은 스위치들이 포함된 경로를 지나는 경우, 해당 플로우에 대한 설치 지연시간이 증가하게 된다. 이는 지연시간에 민감한 애플리케이션에게 치명적이기 때문에, 지연시간을 감소시키는 마스터 컨트롤러를 할당하는 방법이 필요하다.
본 발명이 이루고자 하는 기술적인 과제는 스위치들 간의 평균 플로우 도착률과 각 컨트롤러의 처리 용량을 고려하여 평균 플로우 설치 지연시간을 최소화할 수 있는 마스터 컨트롤러를 할당하는 방법을 제공하는 것이다.
본 발명의 실시 예에 따른 마스터 컨트롤러를 할당하는 방법은 소프트웨어 정의 네트워크 시스템에 포함된 복수의 컨트롤러들 중 어느 하나의 컨트롤러에 의해 수행되고, 단위 시간동안 유입된 플로우들 중 서로 다른 마스터 컨트롤러를 갖는 스위치들을 경유하는 플로우들의 수를 의사결정 변수(decision variable)로 하는 목적 함수(objective function)를 설정하는 단계, 적어도 하나의 제약조건(constraints)을 설정하는 단계, 및 상기 적어도 하나의 제약조건을 만족시키고 상기 의사결정 변수를 최소화하는 해를 구하는 단계를 포함한다.
본 발명의 실시 예에 따른 마스터 컨트롤러를 할당하는 방법에 의할 경우, 스위치들 간의 평균 플로우 도착률을 고려하여 스위치들 각각의 마스터 컨트롤러를 결정함으로써 평균 플로우 설치 지연시간을 최소화할 수 있는 효과가 있다.
또한, 본 발명의 실시 예에 따른 마스터 컨트롤러를 할당하는 방법에 의할 경우, 복수의 컨트롤러들 각각의 부하를 고려하여 마스터 컨트롤러를 할당하기 때문에 복수의 컨트롤러들 간의 부하 불균형을 해소할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 의한 소프트웨어 정의 네트워크 시스템에서 리엑티브 포워딩(reactive forwarding) 기반의 플로우 설치 과정을 도시한 도면으로, 도 1a는 동일한 마스터 컨트롤러를 갖는 스위치들을 경유하는 플로우에 대한 플로우 설치 과정을, 도 1b는 서로 다른 마스터 컨트롤러를 갖는 스위치들을 지나는 플로우에 대한 플로우 설치 과정을 도시한다.
도 2는 컨트롤러에 의해 수행되는 마스터 컨트롤러 할당 방법을 설명하기 위한 흐름도이다.
도 3은 파라미터에 따른 평균 플로우 설치 지연시간의 변화를 도시하는 그래프이다.
도 1은 본 발명의 일 실시 예에 의한 소프트웨어 정의 네트워크 시스템에서 리엑티브 포워딩(reactive forwarding) 기반의 플로우 설치 과정을 도시한 도면으로, 도 1a는 동일한 마스터 컨트롤러를 갖는 스위치들을 경유하는 플로우에 대한 플로우 설치 과정을, 도 1b는 서로 다른 마스터 컨트롤러를 갖는 스위치들을 지나는 플로우에 대한 플로우 설치 과정을 도시한다.
도 2는 컨트롤러에 의해 수행되는 마스터 컨트롤러 할당 방법을 설명하기 위한 흐름도이다.
도 3은 파라미터에 따른 평균 플로우 설치 지연시간의 변화를 도시하는 그래프이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 의한 소프트웨어 정의 네트워크(Software Defined Network ; SDN) 시스템에서 리엑티브 포워딩(reactive forwarding) 기반의 플로우 설치 과정을 도시한다.
SDN 시스템으로 명명될 수도 있는 시스템은 다중 SDN 컨트롤러 환경을 제공한다. 즉, 상기 시스템은 복수의 컨트롤러들을 포함할 수 있다. 또한, 리엑티브 포워딩이란 스위치에 새로운 플로우가 유입되면, 컨트롤러가 이에 반응하여 해당 플로우에 대한 포워딩 규칙, 즉 플로우 엔트리를 플로우의 경로 상에 위치하는 스위치들에게 설치하는 포워딩 방식을 의미한다.
도 1에서 실선은 스위치와 마스터 컨트롤러 간의 연결을 의미하고, 점선은 스위치와 슬레이브 컨트롤러 간의 연결을 의미한다. 복수의 컨트롤러들은 서로 연결을 유지하고 있으며, 동기화된 전체 네트워크 뷰(view)를 유지한다. 모든 스위치들은 서로 직접적인 연결을 갖고 있고, 네트워크 통계 메시지들을 자신의 마스터 컨트롤러에게 주기적으로 전송한다. 이때, 네트워크 통계 메시지는 스위치의 플로우 테이블에 설치된 플로우들에 대한 통계 정보, 스위치의 포트들에 대한 통계 정보, 링크 상태 정보 등 다양한 정보를 포함할 수 있다. 한편, 네트워크 통계 메시지를 전송하는 주기는 네트워크 관리자에 의해 임의로 설정될 수 있으며, 컨트롤러가 하나의 스위치로부터 받는 네트워크 통계 메시지들의 평균 도착률 은 설정된 주기를 기반으로 계산할 수 있다.
복수의 컨트롤러들 각각은 스위치 에서 스위치 로 흐르는 플로우의 단위 시간 동안의 발생 횟수 , 즉 평균 도착률을 모든 스위치 쌍 (, )에 대해 유지한다. 리엑티브 포워딩 방식에서 스위치는 새로 유입되는 플로우들에 대한 정보를 컨트롤러에게 알리기 때문에, 컨트롤러는 이를 바탕으로 를 계산할 수 있다.
본 명세서에서 언급되는 "컨트롤러"는 플로우(트래픽 또는 패킷)의 흐름을 제어하기 위한 관련 구성 요소(예를 들면, 스위치, 라우터 등)를 제어하는 기능 요소(entity)를 의미하는 것으로, 물리적인 구현 형태나 구현 위치 등에 한정되지 않는다. 예컨대, 상기 컨트롤러는 ONF(Open Networking Foundation)나 IETF(Internet Engineering Task Force), ETSI(European Telecommunications Standards Institute) 및/또는 ITU-T(International Telecommunication Union - Telecommunication Standardization Sector) 등에서 정의하고 있는 컨트롤러 기능 요소(entity)를 의미할 수 있다.
또한, 본 명세서에서 언급되는 "스위치"는 플로우(트래픽 또는 패킷)를 실질적으로 포워딩하거나 스위칭 또는 라우팅하는 기능 요소를 의미하는 것으로, ONF나 IETF, ETSI 및/또는 ITU-T 등에서 정의하고 있는 스위치, 라우터, 스위치 요소, 라우터 요소, 포워딩 요소 등을 의미할 수 있다.
임의의 호스트로부터 스위치 으로 해당 플로우가 유입되면, 스위치 의 플로우 테이블에는 매칭되는 플로우 엔트리가 없기 때문에, 스위치 은 자신의 마스터 컨트롤러인 제1 컨트롤러(Controller 1)로 플로우 설치 요청 메시지를 송신한다. 제1 컨트롤러(Controller 1)는 상기 플로우 설치 요청 메시지에 응답하여 스위치 과 스위치 로 플로우 엔트리 생성 명령(또는 플로우 엔트리 설치 명령)을 전송하고, 스위치 과 스위치 는 상기 플로우 엔트리 생성 명령에 응답하여 플로우 엔트리를 설치한다. 이때, 제1 컨트롤러(Controller 1)에서의 처리 시간이 무시할 만큼 작고, 스위치( 및 )에서 제1 컨트롤러(Controller 1)로의 전송 지연시간과 제1 컨트롤러(Controller 1)에서 스위치( 및 )로의 전송 지연시간이 로 동일하다고 가정하면, 동일한 마스터 컨트롤러를 갖는 스위치들(, )을 경유하는 플로우에 대한 플로우 설치 지연시간 는 로 계산된다.
임의의 호스트로부터 스위치 으로 해당 플로우가 유입되면, 스위치 의 플로우 테이블에는 매칭되는 플로우 엔트리가 없기 때문에, 스위치 은 자신의 마스터 컨트롤러인 제1 컨트롤러(Controller 1)로 플로우 설치 요청 메시지를 송신한다. 제1 컨트롤러(Controller 1)는 상기 플로우 설치 요청 메시지에 응답하여 스위치 으로 플로우 엔트리 생성 명령(또는 플로우 엔트리 설치 명령)을 전송하고, 스위치 은 상기 플로우 엔트리 생성 명령에 응답하여 플로우 엔트리를 설치한다. 또한, 제1 컨트롤러(Controller 1)는 상기 플로우 엔트리 생성 명령의 전송을 함과 동시에 스위치 의 마스터 컨트롤러인 제2 컨트롤러(Controller 2)에게 제2 플로우 설치 요청 메시지를 전송한다. 상기 제2 플로우 설치 요청 메시지를 수신한 제2 컨트롤러(Controller 2)는 스위치 로 제2 플로우 엔트리 생성 명령을 전송하고, 스위치 는 상기 제2 플로우 엔트리 생성 명령에 응답하여 플로우 엔트리를 설치한다.
컨트롤러 간, 즉 제1 컨트롤러(Controller 1)와 제2 컨트롤러(Controller 2) 간의 전송 지연시간이 로 동일하다고 가정하면, 서로 다른 마스터 컨트롤러를 갖는 스위치들(, )을 경유하는 플로우에 대한 플로우 설치 지연시간 은 로 계산된다.
도 1a 및 도 1b를 통하여 컨트롤러의 부하 및 평균 플로우 설치 지연시간은 스위치들의 마스터 컨트롤러가 어떻게 결정되느냐에 따라 달라질 수 있음을 알 수 있다. 구체적으로, 동일한 마스터 컨트롤러를 갖는 스위치들(과 )을 경유하는 플로우에 대한 플로우 설치 지연 시간에 비해 서로 다른 마스터 컨트롤러를 갖는 스위치들(과 )을 경유하는 플로우에 대한 플로우 설치 지연 시간이 만큼 더 크다는 것을 알 수 있다. 따라서, 스위치들 각각의 마스터 컨트롤러는 를 고려하여 평균 플로우 설치 지연시간을 줄일 수 있도록, 그리고 복수의 컨트롤러들 각각의 부하를 계산하여 복수의 컨트롤러들 간의 부하 불균형을 줄일 수 있도록 결정되어야 한다.
본 발명에서는 평균 플로우 설치 지연시간을 최소화하는 것과 컨트롤러들 간의 부하 불균형을 제한하는 것을 목적으로 하는 마스터 컨트롤러 할당 문제를 수학적 도구인 integer non-linear programming(INLP, 정수 비선형 계획법)으로 모델링한다. 다음으로, 구체적인 목적 함수(objective function), 그리고 제한 조건들(constraints)을 정의한다. 이때, 상기 목적 함수는 단위 시간동안 유입된 플로우들 중 서로 다른 마스터 컨트롤러를 갖는 스위치들을 지나는(경유하는) 플로우들의 수 를 의사 결정 변수(decision variable)로 포함할 수 있다.
컨트롤러들의 집합과 스위치들의 집합은 각각 과 로 표현될 수 있다. 를 컨트롤러 가 스위치 에 대한 마스터 컨트롤러로 할당되었는지에 여부를 나타내는 이진 변수이다. 즉, 컨트롤러 가 스위치 의 마스터 컨트롤러로 할당된 경우 의 값은 "1"이고, 그렇지 않은 경우 의 값은 "0"이 될 수 있다. 이때, 평균 플로우 설치 지연시간을 이라 하면, 은 다음 수학식 1과 같이 표현될 수 있다.
상기 수학식 1에서 는 단위 시간동안 유입된 플로우들 중 서로 다른 마스터 컨트롤러를 갖는 스위치들을 경유하는 플로우들의 수를 나타낸다. 본 발명의 목적은 평균 플로우 설치 지연시간 을 최소화하는 것이고, 이는 를 최소화함으로써 달성될 수 있다. 따라서, 목적 함수는 로 정의되며 이는 아래 수학식 2와 같이 표현될 수 있다.
다음으로, INLP의 제약 조건들을 정의한다. 먼저, 컨트롤러 에 걸리는 부하 는 로 계산된다. 이때, 은 컨트롤러 가 하나의 스위치로부터 받는 네트워크 통계 메시지들의 평균 도착률을 나타낸다. 이때, 컨트롤러 에 걸리는 부하 는 단위 시간 동안 처리할 수 있는 메시지의 양으로 정의되는 컨트롤러 의 처리 용량 보다 작거나 같아야 한다. 이는 아래 수학식 3과 같이 표현되며, 상기 수학식 3을 제1 제약조건이라 할 수 있다.
를 하나의 컨트롤러에 걸리는 이상적인 부하라 하면, 는 으로 계산된다. 컨트롤러들 간의 부하 불균형을 제한하기 위하여, 모든 컨트롤러에 대하여 의 값을 합한 뒤 이를 정규화한 값을 미리 정의된 파라미터 보다 작거나 같도록 설정할 수 있다. 이에 대한 제약조건은 다음 수학식 4와 같이 표현되며, 상기 수학식 4를 제2 제약조건이라 할 수 있다.
여기서, 는 의 범위를 갖는다. 인 경우, 해당 제약조건은 모든 컨트롤러들의 부하가 완변하게 균형을 이루는 경우, 즉 인 경우에만 만족된다. 한편, 인 경우, 해당 제약조건은 전체 부하가 하나의 컨트롤러에게 집중된 경우, 즉 임의의 컨트롤러 에 대해 인 경우에 만족된다.
한편, 모든 스위치들 각각에게는 오직 하나의 마스터 컨트롤러가 할당되어야 하기 때문에 다음과 같이 제3 제약조건을 설정할 수 있다. 상기 제3 제약조건은 수학식 5와 같이 표현된다.
도 2는 컨트롤러에 의해 수행되는 마스터 컨트롤러 할당 방법을 설명하기 위한 흐름도이다.
도 1a 내지 도 2를 참조하면, 우선 컨트롤러가 제1 플로우 설치 지연 시간 과 제2 플로우 설치 지연 시간 을 측정한다(S100). 제1 플로우 설치 지연 시간 는 동일한 컨트롤러를 마스터 컨트롤러로 갖는 스위치들을 경유하는 플로우에 대한 플로우 설치 지연시간을 의미하고, 제2 플로우 설치 지연시간 은 서로 다른 컨트롤러를 마스터 컨트롤러로 갖는 스위치들을 경유하는 플로우에 대한 플로우 설치 지연시간을 의미할 수 있다. 실시 예에 따라, 제1 플로우 설치 지연 시간 과 제2 플로우 설치 지연 시간 은 미리 측정되어 상기 컨트롤러에 저장되어 있을 수도 있다.
다음으로, 상기 컨트롤러는 수학식 2에 의해 정의되는 목적 함수를 설정한다(S300). 상기 수학식 2에 포함되는 스위치들 간의 평균 플로우 도착률 은 상기 컨트롤러에 미리 저장되어 있을 수 있다.
다음으로, 상기 컨트롤러는 수학식 3 내지 수학식 6 중 적어도 하나에 의해 정의되는 적어도 하나의 제약 조건을 설정할 수 있다(S500). 상기 적어도 하나의 제약 조건은 제1 제약 조건 내지 제4 제약 조건 중 하나 이상을 의미할 수 있다. 또한, 상기 제1 제약 조건은 수학식 3에 의해 정의되고, 상기 제2 제약 조건은 수학식 4에 의해 정의되고, 상기 제3 제약 조건은 수학식 5에 의해 정의되고, 상기 제4 제약 조건은 수학식 6에 의해 정의된다.
다음으로, 상기 컨트롤러는 상기 적어도 하나의 제약 조건을 만족시키면서 목적 함수에 포함된 의사 결정 변수를 최소화하는 를 결정한다(S700). 상기 의사 결정 변수는 단위 시간동안 유입된 플로우들 중 서로 다른 마스터 컨트롤러를 갖는 스위치들을 지나는(경유하는) 플로우들의 수 를 의미할 수 있다.
마지막으로, 상기 컨트롤러는 결정된 값에 따라 스위치들 각각의 마스터 컨트롤러를 결정할 수 있다(S900). 예컨대, 의 값이 "1"인 경우 컨트롤러 를 스위치 의 마스터 컨트롤러로 결정하고, 의 값이 "0"인 경우 컨트롤러 는 스위치 의 마스터 컨트롤러가 아닌 것으로 결정할 수 있다.
본 발명에 의한 마스터 컨트롤러 할당 방법은 SDN 시스템에 포함되는 복수의 컨트롤러들 각각에 의해 또는 어느 하나의 컨트롤러에 의해 수행될 수 있다. 상기 복수의 컨트롤러들 각각은 동기화된 전체 네트워크 뷰(view)를 유지하고 있기 때문에 각각의 컨트롤러에 의해 수행된 결과는 모두 동일할 수 있다.
실시 예에 따라 상기 마스터 컨트롤러를 할당하는 방법은 SDN 시스템에 포함된 어느 하나의 컨트롤러에 의해 수행되고, 수행 결과는 복수의 컨트롤러들에 의해 공유될 수 있다.
또 다른 실시 예로, 마스터 컨트롤러를 할당하는 방법은 SDN 시스템에 포함된 복수의 컨트롤러들 중 상위 컨트롤러(또는 슈퍼 컨트롤러)에 의해 수행될 수도 있다. 즉, 계층적 구조를 갖는 SDN 시스템에 포함된 상기 상위 컨트롤러에 의해 수행된 후 수행 결과는 상기 상위 컨트롤러에 의해 하위 컨트롤러들 각각에게 제공될 수도 있다.
도 3은 파라미터에 따른 평균 플로우 설치 지연시간의 변화를 도시하는 그래프이다. 도 3에서 는 본 발명에 의한 마스터 컨트롤러 할당 방법에 의해 마스터 컨트롤러를 할당한 경우이고, 는 각 컨트롤러가 마스터 컨트롤러로 동작하는 스위치들의 개수를 동일하게 마스터 컨트롤러를 할당한 경우이다.
도 3을 참조하면, 의 평균 플로우 설치 지연시간이 모든 값에 대해 의 평균 플로우 설치 지연시간보다 작음을 확인할 수 있다. 이는 가 플로우 설치 지연시간을 고려하고 있지 않기 때문이다. 또한, 도 3에 보이는 바와 같이 평균 플로우 설치 지연시간은 값이 증가함에 따라 감소함을 확인할 수 있다. 이는 값이 커지면 컨트롤러들 간의 부하 불균형에 대한 제약 조건이 완화되기 때문이다. 따라서 의 경우, 값이 증가함에 따라 점점 더 작은 평균 플로우 지연시간을 나타내게 된다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
Claims (8)
- 소프트웨어 정의 네트워크 시스템에 포함된 복수의 컨트롤러들 중 어느 하나의 컨트롤러에 의해 수행되는 마스터 컨트롤러를 할당하는 방법에 있어서,
단위 시간동안 유입된 플로우들 중 서로 다른 마스터 컨트롤러를 갖는 스위치들을 경유하는 플로우들의 수()를 의사결정 변수(decision variable)로 하는 목적 함수(objective function)를 설정하는 단계;
적어도 하나의 제약조건(constraints)을 설정하는 단계; 및
상기 적어도 하나의 제약조건을 만족시키고 상기 의사결정 변수를 최소화하는 해를 구하는 단계를 포함하고,
상기 목적함수는 제1 수학식에 의해 정의되고,
상기 제1 수학식은 이고,
상기 는 상기 복수의 컨트롤러들의 집합을 의미하고,
상기 는 복수의 스위치들의 집합을 의미하고,
상기 는 상기 복수의 컨트롤러들에 포함되는 컨트롤러()가 상기 복수의 스위치들에 포함되는 스위치()의 마스터 컨트롤러로 할당되었는지 여부를 나타내는 이진 변수이고,
상기 는 상기 스위치()에서 상기 복수의 스위치들에 포함되는 스위치()로 흐르는 플로우들에 대한 평균 도착률을 의미하는,
마스터 컨트롤러를 할당하는 방법.
- 삭제
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160079174A KR101816719B1 (ko) | 2016-06-24 | 2016-06-24 | 소프트웨어 정의 네트워크에서 마스터 컨트롤러 할당 방법 |
US15/632,535 US10284421B2 (en) | 2016-06-24 | 2017-06-26 | Method for assigning master controller in software defined network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160079174A KR101816719B1 (ko) | 2016-06-24 | 2016-06-24 | 소프트웨어 정의 네트워크에서 마스터 컨트롤러 할당 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180001621A KR20180001621A (ko) | 2018-01-05 |
KR101816719B1 true KR101816719B1 (ko) | 2018-01-10 |
Family
ID=60675663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160079174A KR101816719B1 (ko) | 2016-06-24 | 2016-06-24 | 소프트웨어 정의 네트워크에서 마스터 컨트롤러 할당 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10284421B2 (ko) |
KR (1) | KR101816719B1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10523499B2 (en) * | 2016-09-20 | 2019-12-31 | Hewlett Packard Enterprise Development Lp | Master controller selection in a software defined network |
EP3501140B1 (de) * | 2016-09-29 | 2020-08-26 | Siemens Aktiengesellschaft | Verfahren zum betrieb eines mehrere kommunikationsgeräten umfassenden kommunikationsnetzes eines industriellen automatisierungssystems und steuerungseinheit |
CN108199890B (zh) * | 2018-01-11 | 2019-11-22 | 重庆邮电大学 | 一种软件定义网络弹性控制器部署方法 |
CN108206790B (zh) * | 2018-01-11 | 2021-03-16 | 重庆邮电大学 | 一种基于网络切片的sdn联合路由选择及资源分配方法 |
US11888708B1 (en) * | 2023-02-02 | 2024-01-30 | Bank Of America Corporation | System and method for auto-determining solutions for dynamic issues in a distributed network |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150188767A1 (en) * | 2013-12-27 | 2015-07-02 | Futurewei Technologies, Inc. | Traffic Behavior Driven Dynamic Zoning for Distributed Traffic Engineering in SDN |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101399704B1 (ko) | 2012-07-17 | 2014-06-27 | 강원대학교산학협력단 | 무선 통신 네트워크에서 이진 입자 군집 최적화를 적용한 브로드캐스트 스케쥴링 방법 및 시스템 |
KR101581510B1 (ko) | 2013-06-17 | 2015-12-31 | 주식회사 케이티 | 다중 제어장치를 구비한 환경에서 제어장치의 제어 권한 변경 방법 |
KR20150034551A (ko) | 2013-09-26 | 2015-04-03 | 주식회사 케이티 | 컨트롤러와 스위치간 부하분산 방법 및 시스템 |
US20150263960A1 (en) * | 2014-03-14 | 2015-09-17 | Avni Networks Inc. | Method and apparatus for cloud bursting and cloud balancing of instances across clouds |
US9917781B2 (en) * | 2014-06-05 | 2018-03-13 | KEMP Technologies Inc. | Methods for intelligent data traffic steering |
KR101737697B1 (ko) | 2014-09-17 | 2017-05-18 | 주식회사 케이티 | Sdn 환경에서 컨트롤러의 부하 분산 방법 및 장치 |
-
2016
- 2016-06-24 KR KR1020160079174A patent/KR101816719B1/ko active IP Right Grant
-
2017
- 2017-06-26 US US15/632,535 patent/US10284421B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150188767A1 (en) * | 2013-12-27 | 2015-07-02 | Futurewei Technologies, Inc. | Traffic Behavior Driven Dynamic Zoning for Distributed Traffic Engineering in SDN |
Also Published As
Publication number | Publication date |
---|---|
US20170373929A1 (en) | 2017-12-28 |
US10284421B2 (en) | 2019-05-07 |
KR20180001621A (ko) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101816719B1 (ko) | 소프트웨어 정의 네트워크에서 마스터 컨트롤러 할당 방법 | |
Ejaz et al. | Traffic load balancing using software defined networking (SDN) controller as virtualized network function | |
CN104202264A (zh) | 云化数据中心网络的承载资源分配方法、装置及*** | |
EP0871937A1 (en) | Spare links optimization in a distributed restoration scheme | |
CN103618621A (zh) | 一种软件定义网络sdn的自动配置方法、设备及*** | |
KR101823346B1 (ko) | 서비스 기능 체이닝 시스템 및 그 방법 | |
EP3186919B1 (en) | Network service aware routers, and applications thereof | |
Ramya et al. | Enhanced optimal placements of multi-controllers in SDN | |
El Kamel et al. | Improving switch-to-controller assignment with load balancing in multi-controller software defined WAN (SD-WAN) | |
WO2017167359A1 (en) | Method of forwarding packet flows in a network and network system | |
Bouzidi et al. | Online based learning for predictive end-to-end network slicing in 5G networks | |
CN109691020A (zh) | 用于运行工业自动化***的包括多个通信设备的通信网络的方法和控制单元 | |
EP3485618B1 (en) | Device and method for managing end-to-end connections | |
JP5895286B2 (ja) | 通信パス制御装置 | |
CN107508730B (zh) | 一种基于sdn网络的数据中心互联方法及装置 | |
US9647960B2 (en) | Switched data transmission system allowing the cancellation of time dependent loops and usable in particular in avionics applications | |
Yin et al. | On-demand and reliable vSD-EON provisioning with correlated data and control plane embedding | |
Kartashevskiy et al. | OpenFlow-based software-defined networking queue model | |
CN108810168A (zh) | 一种接入l2tp网络服务器的方法及l2tp网络服务器 | |
EP3719646B1 (en) | Method for communicating in a network-distributed process control system and network-distributed process control system | |
CN110832810B (zh) | 运行工业自动化***的包括多个通信设备的通信网络的方法和控制单元 | |
JP5523599B1 (ja) | ネットワークシステムの資源管理システムおよび方法 | |
US20060023741A1 (en) | Adaptive control of a network element | |
KR100270664B1 (ko) | 사설망 노드 인터페이스 라우팅 기능을 분산시키는 방버버 | |
JP3377125B2 (ja) | ネットワーク負荷平滑化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |