KR101660849B1 - 소프트웨어 정의 네트워크 기반의 네트워크 자율제어 방법 - Google Patents

소프트웨어 정의 네트워크 기반의 네트워크 자율제어 방법 Download PDF

Info

Publication number
KR101660849B1
KR101660849B1 KR1020150031503A KR20150031503A KR101660849B1 KR 101660849 B1 KR101660849 B1 KR 101660849B1 KR 1020150031503 A KR1020150031503 A KR 1020150031503A KR 20150031503 A KR20150031503 A KR 20150031503A KR 101660849 B1 KR101660849 B1 KR 101660849B1
Authority
KR
South Korea
Prior art keywords
control
flow
network
bandwidth
value
Prior art date
Application number
KR1020150031503A
Other languages
English (en)
Other versions
KR20160107920A (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 KR1020150031503A priority Critical patent/KR101660849B1/ko
Publication of KR20160107920A publication Critical patent/KR20160107920A/ko
Application granted granted Critical
Publication of KR101660849B1 publication Critical patent/KR101660849B1/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/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • 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/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/0826Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network costs
    • 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/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches

Abstract

본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반의 네트워크 자율 제어 방법은, 오픈플로우 컨트롤러가 오픈플로우 스위치로부터 카운터의 통계 지표값을 수신하여 저장하고, 통계 지표값의 변화량을 측정하는 단계; 오픈플로우 컨트롤러가 측정된 변화량을 기초로 플로우의 필요 대역폭을 계산하고, 필요 대역폭을 네트워크 자율 제어를 위한 목표값으로 설정하는 단계; 오픈플로우 컨트롤러가 플로우에 할당된 현재 대역폭을 제어량으로 설정하는 단계; 오픈플로우 컨트롤러가 목표값과 제어량의 차이를 제어 오차로서 설정하고 제어값을 계산하는 단계; 및 오픈플로우 컨트롤러가 계산된 제어값을 기초로 각각의 플로우의 처리량에 따라 대역폭을 동적으로 할당하는 단계를 포함하되, 제어값을 계산하는 단계는 비례, 적분, 미분 제어 기법을 이용한다.

Description

소프트웨어 정의 네트워크 기반의 네트워크 자율제어 방법{AUTONOMOUS CONTROL METHOD IN SOFTWARE DEFINED NETWORK}
본 발명은 소프트웨어 정의 네트워크 기반의 네트워크 자율 제어 방법에 관한 것이다.
사물 인터넷(Internet of Things)이란 모든 종류의 사물이 인터넷에 연결되어 상호간 정보를 공유할 수 있게 되는 것을 의미한다. 사물 인터넷 환경의 도래로 네트워크에 연결되는 단말의 수와 그에 따른 트래픽양의 폭발적인 증가가 예상되며 이러한 수요를 효과적으로 해소하기 위한 연구가 활발하게 진행되고 있다.
특히, 소프트웨어 정의 네트워크 기술은 유연한 제어와 효과적인 네트워크 관리를 가능하게 함으로써 차세대 네트워크 제어, 관리 기술로 주목받고 있다. 소프트웨어 정의 네트워크(Software Defined Network, SDN) 기술은 네트워크 제어기능을 스위치에서 분리하여 중앙화 함으로써 네트워크 자원의 가시성을 확보할 수 있다. 이러한, 소프트 정의 네트워크 기술은 오픈플로우(OpenFlow) 프로토콜에 의해 실현되고 있다.
이처럼, 소프트 정의 네트워크의 등장으로 네트워크 상태 정보를 손쉽게 파악하고 네트워크를 실시간으로 제어할 수 있게 되었다. 그러나, 사물 인터넷 환경과 같이 수많은 단말과 다양한 서비스가 공존하는 환경에서 각 서비스의 요구 사항들을 충족시키기 위해서는 여전히 많은 비용이 들게 된다.
이러한 문제를 해결하기 위해 네트워크 관리자의 개입 없이 동작하는 자율적인 네트워크 자원관리 기술이 연구되고 있다. 그러나, 그 대상이 데이터센터와 같은 NS(North-South) 네트워크에 초점이 맞춰져 있어서 실제 단말과 데이터 전송이 이루어지는 EW(East-West) 네트워크의 자원관리 자동화에 대한 연구는 부족한 상황이다.
이와 관련하여 대한민국 등록특허공보 제1155012호(발명의 명칭: 오픈플로우 네트워크 시스템 및 그 제어방법)는 사용자가 정의하는 서비스 품질 요구사항에 맞추어 트래픽 전송 경로를 동적으로 할당하고, 네트워크 상황에 따라 플로우를 재정의하여 트래픽을 이동시키는 오픈 플로우 네트워크 시스템과 제어 방법을 개시하고 있다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 자동제어 분야에서 널리 사용되고 있는 비례, 적분, 미분제어를 이용하여 네트워크 자원을 효율적으로 관리하고자 한다.
또한, 네트워크 상태변화에 자율적으로 적응하는 자원관리를 수행함으로써, 네트워크 사용률 증가와 자율 관리를 통한 네트워크 관리 비용을 절감시키고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반의 네트워크 자율 제어 방법은 오픈플로우 컨트롤러가 오픈플로우 스위치로부터 카운터의 통계 지표값을 수신하여 저장하고, 통계 지표값의 변화량을 측정하는 단계; 오픈플로우 컨트롤러가 측정된 변화량을 기초로 플로우의 필요 대역폭을 계산하고, 필요 대역폭을 네트워크 자율 제어를 위한 목표값으로 설정하는 단계; 오픈플로우 컨트롤러가 플로우에 할당된 현재 대역폭을 제어량으로 설정하는 단계; 오픈플로우 컨트롤러가 목표값과 제어량의 차이를 제어 오차로서 설정하고 제어값을 계산하는 단계; 및 오픈플로우 컨트롤러가 계산된 제어값을 기초로 각각의 플로우의 처리량에 따라 대역폭을 동적으로 할당하는 단계를 포함하되, 제어값을 계산하는 단계는 비례, 적분, 미분 제어 기법을 이용한다.
또한, 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반의 네트워크 자율 제어를 지원하는 오픈플로우 컨트롤러는 오픈플로우 스위치와 통신하는 네트워크 통신모듈, 오픈플로우 스위치로부터 수신한 카운터의 통계 지표 값을 저장하는 저장장치, 및 네트워크 통신모듈 및 저장장치와 연결되고, 네트워크 자율 제어를 수행하는 프로세서를 포함한다. 이때, 프로세서는 저장장치에 저장되는 카운터의 통계 지표값의 변화량을 기초로 플로우의 필요 대역폭을 계산하여 목표값을 설정하고, 플로우에 할당된 현재 대역폭을 제어량으로 설정하여, 목표값과 제어량의 차이를 제어 오차로서 설정하고 제어값을 계산하여 계산된 제어값을 기초로 각각의 플로우의 처리량에 따라 대역폭을 동적으로 할당하되, 제어값을 계산하는 것은 비례, 적분, 미분 제어 기법을 이용한다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 자동제어 분야에서 널리 사용되고 있는 비례, 적분, 미분 제어를 이용하여 네트워크 자원을 효율적 관리할 수 있다.
본 발명의 일 실시예는 네트워크 상태변화에 자율적으로 적응하는 자원관리를 수행함으로써, 네트워크 사용률 증가와 자율 관리를 통한 네트워크 관리 비용을 절감시키는 효과가 있다.
도 1은 본 발명의 일 실시예에서 고려되는 오픈플로우 네트워크를 설명하기 위한 개념도이다.
도 2는 본 발명의 일 실시예에서 고려되는 플로우 테이블을 설명하기 위한 구성도이다.
도 3은 본 발명의 일 실시예에서 고려되는 플로우 테이블에 포함된 매치 필드의 구성도이다.
도 4는 본 발명의 일 실시예에 따른 네트워크 자율 제어 방법을 위한 포트 풀의 일례이다.
도 5는 본 발명의 일 실시예에 따른 네트워크 자율 제어 방법을 위한 오픈플로우 테이블의 구성도이다.
도 6은 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러의 구성도이다.
도 7은 본 발명의 일 실시예에 따른 네트워크 자율 제어 방법을 상세히 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
먼저, 도 1을 참조하여 오픈플로우 네트워크(openflow network)를 설명한다.
도 1은 본 발명의 일 실시예에서 고려되는 오픈플로우 네트워크를 설명하기 위한 개념도이다.
오픈플로우(openflow)는 소프트웨어 정의 네트워크(software definition network, SDN)의 인터페이스(interface) 표준 기술 중 하나이다. 오픈플로우의 장점은 네트워크 엔지니어들에게 보다 편리하게 네트워크 장비를 조작할 수 있는 인터페이스를 제공하며, 컨트롤러의 프로그램을 통하여 다양한 기능 모듈을 보다 유연하게 만들어 낼 수 있다. 예를 들어, 기존 네트워크 장비들은 네트워크에 새로운 기능을 추가하기 위해서 관련된 기존 장비들을 모두 업그레이드 하거나 부가적인 장비를 물리적으로 설치해야 한다. 그러나 오픈플로우를 이용하면 오픈플로우 표준을 따르는 어떤 업체의 네트워크 장비라 할지라도 컨트롤러에서 프로그래밍을 통하여 비교적 쉽게 새로운 기능을 추가할 수 있다.
구체적으로, 오픈플로우를 이용한 네트워크는 도 1에 도시된 바와 같이, 오픈플로우 컨트롤러(openflow controller; 100) 및 오픈플로우 스위치(openflow switch; 200)를 포함하며 오픈플로우 프로토콜(openflow protocol)을 이용하여 내부 통신을 수행한다. 이때, 오픈플로우 기반 스위치는 하드웨어(hardware)로 구현되는 데이터 플레인(data plane)과 소프트웨어(software)로 구현되는 컨트롤 플레인(control plane)으로 나누어져 있다. 오픈플로우 스위치(200)에서는 데이터 플레인의 중앙집중식 제어가 가능하여, 네트워크 관리자는 이를 통해 좀 더 효과적이고 유연하게 네트워크를 관리할 수 있다.
이때, 네트워크는 단말 및 서버와 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 3GPP(3rd generation partnership project) 네트워크, LTE(long term evolution) 네트워크, WIMAX(world interoperability for microwave access) 네트워크, 인터넷(internet), LAN(local area network), Wireless LAN(Wireless local area network), WAN(wide area network), PAN(personal area network), 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(digital multimedia broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
또한, 오픈플로우 스위치(200)는 오픈플로우 컨트롤러(100)의 명령에 따라 모바일 노드(300)로 전송되는 데이터 패킷의 처리 방법, 전송 방식 및 전송 경로를 정하고, 데이터 패킷을 전달한다. 이때, 데이터 패킷의 처리 방법 및 전달 경로 및 방식은 오픈플로우 스위치(200)에 포함된 플로우 테이블(flow table)에 저장될 수 있다. 다시 말해, 오픈플로우 스위치의 주요 동작은 플로우 테이블에 저장된 정보를 바탕으로 이루어진다.
도 2는 본 발명의 일 실시예에서 고려되는 플로우 테이블을 설명하기 위한 구성도이다.
도 3은 본 발명의 일 실시예에서 고려되는 플로우 테이블에 포함된 매치 필드의 구성도이다.
플로우 테이블(10)에는 매치 필드(Match Fields) 정보(220), 액션(Action) 정보(230), 카운터(Counters) 정보(240)가 저장된다. 이때, 상술한 세가지 정보로 구성된 것을 플로우 엔트리(Flow Entry)(210)라고 하며, 플로우 엔트리(210)가 모여 플로우 테이블(10)이 구성된다.
매치 필드(220)는 제어의 대상이 되는 플로우를 구분하기 위한 필드로서, 계층 1에 속하는 스위치의 물리적 포트 번호(222)부터 계층 4의 TCP/UDP 포트 번호(224)까지의 정보가 포함되어 있다. 이 정보들을 튜플(Tuple)이라고 부르며, 오픈플로우 표준안 1.0에서는 12 종류의 튜플이, 오픈플로우 표준안 1.1에서는 15종류의 튜플이 정의되어 있다.
액션(230)에는 전송 방법, 폐기 방법, 지정된 필드의 값을 갱신하는 방법 등을 지정하는 처리 방법들이 저장되며, 이때, 패킷을 송출 할 포트 번호도 함께 지정될 수 있다.
카운터(240)에는 트래픽량의 통계 정보가 기록된다. 통계 정보는 플로우 엔트리(210)별로 송수신되는 트래픽의 양을 패킷의 수와 바이트 수로 나타낸 것이다. 카운터(240)에 기록되는 통계 정보는 일정 주기를 가지고 오픈플로우 컨트롤러(100)에 보고되며, 이 정보가 네트워크를 제어하는 기준이 된다.
오픈플로우 스위치(200)에는 다수의 플로우 테이블(10)이 저장된다. 따라서, 일반적으로 스위치내의 플로우 테이블(10)에는 번호가 부여되며 그 번호는 0부터 시작한다. 모든 입력 패킷은 0번 플로우 테이블부터 비교되며, 매치되는 프로우 엔트리(210)가 있으면 카운터(240)의 값이 증가하고, 액션(230)에 지정된 명령이 실행된다. 또한, 오픈플로우 스위치(200)에서는 QoS(Quality of Service) 지원을 위해 물리적인 포트의 대역을 나누어 재사용하는 가상 포트(vport) 기술을 지원한다.
도 4는 본 발명의 일 실시예에 따른 네트워크 자율 제어 방법을 위한 포트 풀의 일례이다.
도 5는 본 발명의 일 실시예에 따른 네트워크 자율 제어 방법을 위한 오픈플로우 테이블의 구성도이다.
도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크 자율 제어 방법에서 오픈플로우 스위치(200)는 가상 포트를 이용하여, 하나의 1Gbps 대역의 포트를 10개의 100MBbps 대역의 포트로 분할하여 사용할 수 있다. 따라서, 오픈플로우 컨트롤러(100)는 오픈플로우 스위치(200) 내의 하나의 물리적 포트 자원을 다수의 가상 포트로 나누어 포트 풀을 생성하고, 비례, 적분, 미분제어를 통하여 플로우 엔트리(210)의 카운터(240)에 저장되는 통계값의 변화에 따라 자율적으로 네트워크 자원을 분배할 수 있다.
또한, 도 5에 도시된 바와 같이 오픈플로우 스위치(200)는 그룹 테이블(20)을 정의할 수 있다. 그룹은 임의의 플로우에 대해 일련의 액션 버킷(Action Bucket)들을 더욱 효율적으로 실행 할 수 있도록 해준다. 이때, 그룹은 플로우 테이블(10) 내의 플로우 엔트리(210)에 의해 오픈플로우 스위치(200) 내에서 정의된다.
본 발명의 일 실시예에서, 각각의 플로우 엔트리(210)는 액션(230)에 그룹(Group) ID(232)를 부여하여, 그룹 테이블(20)을 통해 처리하도록 할 수 있다. 그리고, 그룹 테이블(20)은 유형(Type)(234)을 사용하여, 액션 버킷(238)에 존재하는 액션들을 하나씩 선택하여 처리할 수 있다. 일례로, 1 Gbps 대역의 포트 하나를 도 4에 도시된 바와 같이, 4개의 가상 포트로 분할하여 포트 풀을 구성했을 때, 오픈플로우 컨트롤러(100)는 그룹 테이블(20)의 버킷에 할당한 가상 포트 개수를 이용하여 해당 액션(230)이 사용하게 되는 대역폭을 조정할 수 있다.
도 4 및 도5를 참조하면, 플로우 엔트리 1(212)과 플로우 엔트리 2(214)는 모두 물리포트 1을 통해 처리되지만, 플로우 엔트리 1(212)는 750Mbps를 사용하며, 플로우 엔트리 2(214)는 250Mbps를 사용한다. 그러나, 플로우 트래픽 변화에 따라 플로우 엔트리(210)의 대역폭이 더 필요하거나 남게 되는 경우가 발생할 수 있다.
따라서, 플로우 트래픽 변화에 적응하기 위하여, 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(100)는 플로우 테이블(10)의 카운터(240)에 저장된 값을 이용하여, 해당 플로우의 필요 대역폭을 계산한 후, 해당 액션이 사용하게 되는 대역폭을 동적으로 할당하여 네트워크의 자원을 효율적으로 관리한다.
도 6은 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러의 구성도이다.
본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(100)는 저장장치(110), 통신모듈(120), 및 프로세서(130)를 포함한다.
오픈플로우 컨트롤러(100)에 포함되는 저장장치(110)는 통신모듈(120)을 통하여 수신한 오픈플로우 스위치(200)로부터 오픈플로우 테이블(10)의 카운터(240)에 기록된 통계 정보를 수신하여 저장한다. 여기서, 통계 정보는 플로우 엔트리별(210)로 송수신되는 트래픽의 양을 패킷의 수와 바이트 수로 나타낸 것이다.
한편, 오픈플로우 컨트롤러(100)에 포함되는 저장장치(110)는 컴퓨터 저장 매체중의 하나로서 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함하여 구성될 수 있다. 예를 들어, 저장장치(110)는 ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치, 콤팩트 플래시(compact flash; CF) 카드, SD(secure digital) 카드, 메모리 스틱(memory stick), 솔리드 스테이트 드라이브(solid-state drive; SSD) 및 마이크로(micro) SD 카드 등과 같은 낸드 플래시 메모리(NAND flash memory), 하드 디스크 드라이브(hard disk drive; HDD) 등과 같은 마그네틱 컴퓨터 기억장치 등을 포함할 수 있다.
프로세서(130)는 저장장치(110)에 저장되는 통계 정보의 변화량을 일정 시간 동안 측정하여, 해당 플로우의 필요 대역폭을 계산한다. 또한, 프로세서(130)는 계산된 필요 대역폭을 목표값으로 설정하고, 플로우에 할당된 현재 대역폭을 제어량으로 설정한다. 프로세서는 목표값과 제어량의 차이를 제어 오차로서 설정하여, 제어값을 계산하고 계산된 제어값을 기초로 각각의 플로우의 처리량에 따라 대역폭을 동적으로 할당한다. 구체적으로, 프로세서는 소정의 대역폭을 가지는 하나의 물리적 포트를 복수개의 가상 포트로 분할하고, 제어값을 기초로 각각의 플로우의 처리량에 비례하여 분할된 가상 포트를 할당 한다. 이때, 본 발명의 일 실시예에 따른 네트워크 자율 제어 방법은 제어값을 계산함에 있어서 비례, 적분, 미분 제어 기법을 이용한다.
도 7은 본 발명의 일 실시예에 따른 네트워크 자율 제어 방법을 상세히 설명하기 위한 순서도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반에서 네트워크 자율 제어 방법은, 네트워크 자율 제어를 위한 목표값을 설정하는 단계(s110), 네트워크 자율 제어의 제어량을 설정하는 단계(s120), 제어 오차를 설정하고 제어값을 계산하는 단계(s130), 및 계산된 제어값을 기준으로 대역폭을 할당하는 단계(s140)를 포함한다.
먼저, 네트워크 자율 제어를 위한 목표값을 설정하는 단계(s110)에서, 오픈플로우 컨트롤러(100)는 오픈플로우 스위치(200)로부터 수신되는 카운터(240)의 통계 정보 값의 변화량을 일정 시간 동안 측정하여 해당 플로우의 필요 대역폭을 계산하고, 필요 대역폭을 목표값으로 설정한다.
이어서, 네트워크 자율 제어의 제어량을 설정하는 단계(s120)에서 오픈플로우 컨트롤러(100)는 현재 플로우에 할당된 대역폭을 제어량으로 설정한다.
다음으로, 제어 오차를 설정하고 제어값을 설정하는 단계(s130) 오픈플로우 컨트롤러(100)는 s110 단계와 s120단계에서 설정된 목표값과 제어량의 차이를 제어 오차로 설정하고 제어값을 계산한다. 이때, 제어값은 아래의 수학식 1에 의하여 계산될 수 있다.
Figure 112015022258357-pat00001
여기서, MV(t)는 시간 t에서의 제어값을 나타내며, e(t) 는 제어 오차를 나타낸다. 또한, Kp, Ki, Kd 값은 비례(P), 적분(I), 미분(D) 제어의 이득을 나타내는 인자로 시스템의 특성에 따라 다르게 결정될 수 있다. Kp 인자는 필요한 대역폭에 빠르게 도달할 수 있게 해주며, Ki 인자는 제어의 정확도를 높여주고, , Kd 인자는 시스템의 안정도를 높여준다. 본 발명의 일 실시예에서는 반복적인 계산을 통해, Kp의 값을 0.8로, Ki의 값을 0.2로, Kd의 값을 0.1로 설정하였다.
마지막으로, 계산된 제어값을 기준으로 대역폭을 할당하는 단계(s140)에서 오픈플로우 컨트롤러(100)는 s130 단계에서 계산된 제어값을 기준으로 새로운 대역폭을 할당하여 트래픽 변화에 동적으로 대응할 수 있다. 구체적으로, 오픈플로우 컨트롤러(100)는 소정의 대역폭을 가지는 하나의 물리적 포트를 복수개의 가상 포트로 분할한다. 이어서, 계산된 제어값을 기초로 분할된 가상 포트를 각각의 플로우의 처리량에 비례하여 할당한다. 따라서, 오픈플로우 컨트롤러(100)는 오픈플로우 스위치(200) 내에서 동일한 물리 포트를 사용하는 플로우 간에 플로우 처리량에 따라 대역을 분배하는 것이 가능하다.
본 발명의 일 실시예에 따른 네트워크 자율 제어 방법은 소프트웨어 정의 네트워크 기반에서 네트워크 관리자가 해당 플로우가 어느 정도의 대역을 사용하게 될지 고려하지 않아도 오픈플로우 컨트롤러(100)에 의해서 자율적으로 네트워크 자원을 분배함으로써, 네트워크 관리자에게 편의성을 제공한다.
본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반에서 네트워크 자율 제어 방법은 네트워크 상태변화에 자율적으로 적응하는 자원관리를 수행함으로써, 네트워크 사용률 증가와 자율 관리를 통한 네트워크 관리 비용을 절감시키는 효과가 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 오픈플로우 테이블 20: 그룹 테이블
100: 오픈플로우 컨트롤러 110: 저장 장치
120: 통신 모듈 130: 프로세서
200: 오픈플로우 스위치

Claims (8)

  1. 소프트웨어 정의 네트워크 기반의 네트워크 자율 제어 방법에 있어서,
    오픈플로우 컨트롤러가 오픈플로우 스위치로부터 카운터의 통계 지표값을 수신하여 저장하고, 통계 지표값의 변화량을 측정하는 단계;
    상기 오픈플로우 컨트롤러가 상기 측정된 변화량을 기초로 플로우의 필요 대역폭을 계산하고, 상기 필요 대역폭을 네트워크 자율 제어를 위한 목표값으로 설정하는 단계;
    상기 오픈플로우 컨트롤러가 상기 플로우에 할당된 현재 대역폭을 제어량으로 설정하는 단계;
    상기 오픈플로우 컨트롤러가 상기 목표값과 제어량의 차이를 제어 오차로서 설정하고 제어값을 계산하는 단계; 및
    상기 오픈플로우 컨트롤러가 상기 계산된 제어값을 기초로 각각의 플로우의 처리량에 따라 대역폭을 동적으로 할당하는 단계를 포함하되,
    상기 대역폭을 동적으로 할당하는 단계는,
    상기 오픈플로우 컨트롤러가 소정의 대역폭을 가지는 하나의 물리적 포트를 복수개의 가상 포트로 분할하고,
    상기 제어값을 기초로 상기 각 가상 포트의 플로우의 처리량에 비례하여 대역폭을 상기 각 가상 포트에 할당하는 것인, 네트워크 자율 제어 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 통계 지표는 플로우 엔트리별로 송수신되는 트래픽의 양을 패킷의 수와 바이트 수로 나타낸 것인 네트워크 자율 제어 방법.
  4. 제 1 항에 있어서,
    오픈플로우 테이블은 복수의 매치 필드, 액션, 및 카운터 정보를 포함하는 플로우 엔트리를 포함하며,
    상기 오픈플로우 컨트롤러는 각각의 플로우 엔트리의 액션에 그룹 ID를 부여하여 그룹 테이블을 생성하는 것인 네트워크 자율 제어 방법.
  5. 제 4 항에 있어서,
    상기 그룹 테이블은
    그룹 ID, 유형(type), 카운터, 및 액션 버킷을 포함하며,
    상기 액션 버킷은 실행할 액션들의 집합을 포함하는 것인 네트워크 자율 제어 방법.
  6. 제 1 항에 있어서,
    상기 제어값은 수학식 1에 의하여 계산되는 것인 네트워크 자율 제어 방법.
    [수학식 1]
    Figure 112015022258357-pat00002

    여기서, MV(t)는 시간 t에서의 제어값, e(t) 는 제어 오차, Kp, Ki, Kd 값은 비례(P), 적분(I), 미분(D) 제어의 이득을 나타냄.
  7. 소프트웨어 정의 네트워크 기반의 네트워크 자율 제어를 지원하는 오픈플로우 컨트롤러에 있어서,
    오픈플로우 스위치와 통신하는 네트워크 통신모듈,
    오픈플로우 스위치로부터 수신한 카운터의 통계 지표 값을 저장하는 저장장치, 및
    상기 네트워크 통신모듈 및 저장장치와 연결되고, 네트워크 자율 제어를 수행하는 프로세서를 포함하되,
    상기 프로세서는 상기 저장장치에 저장되는 카운터의 통계 지표값의 변화량을 기초로 플로우의 필요 대역폭을 계산하여 목표값을 설정하고,
    상기 플로우에 할당된 현재 대역폭을 제어량으로 설정하여,
    상기 목표값과 제어량의 차이를 제어 오차로서 설정하고 제어값을 계산하여
    상기 계산된 제어값을 기초로 각각의 플로우의 처리량에 따라 대역폭을 동적으로 할당하되,
    소정의 대역폭을 가지는 하나의 물리적 포트를 복수개의 가상 포트로 분할하고,
    상기 제어값을 기초로 상기 각 가상 포트의 플로우의 처리량에 비례하여 대역폭을 상기 각 가상 포트에 할당하는 것인, 오픈플로우 컨트롤러.
  8. 삭제
KR1020150031503A 2015-03-06 2015-03-06 소프트웨어 정의 네트워크 기반의 네트워크 자율제어 방법 KR101660849B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150031503A KR101660849B1 (ko) 2015-03-06 2015-03-06 소프트웨어 정의 네트워크 기반의 네트워크 자율제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150031503A KR101660849B1 (ko) 2015-03-06 2015-03-06 소프트웨어 정의 네트워크 기반의 네트워크 자율제어 방법

Publications (2)

Publication Number Publication Date
KR20160107920A KR20160107920A (ko) 2016-09-19
KR101660849B1 true KR101660849B1 (ko) 2016-09-28

Family

ID=57101252

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150031503A KR101660849B1 (ko) 2015-03-06 2015-03-06 소프트웨어 정의 네트워크 기반의 네트워크 자율제어 방법

Country Status (1)

Country Link
KR (1) KR101660849B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102277554B1 (ko) * 2021-03-29 2021-07-15 한화시스템(주) 소프트웨어 정의 네트워크에서의 스위치 마이그레이션을 제공하는 컨트롤러 및 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603410B (zh) * 2016-12-12 2019-11-08 中国人民解放军理工大学 一种面向软件定义网络的两阶段大流测量方法
KR102028651B1 (ko) * 2017-12-26 2019-10-04 고려대학교 산학협력단 소프트웨어 정의 네트워크에서 샤드 리더 선정 방법
KR102322454B1 (ko) 2020-04-28 2021-11-05 고려대학교 산학협력단 프로그래밍 가능한 네트워크 가상화에서의 모니터링 방법 및 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101155012B1 (ko) * 2010-11-24 2012-06-14 한국과학기술정보연구원 오픈플로우 네트워크 시스템 및 그 제어방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
최동희 외 2인. 홈 게이트웨이에서의 입력 트래픽에 관한 적응적 대역폭 제어 시스템. 한국통신학회논문지 제31권 제5B호, 2006.5, 442-448 면*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102277554B1 (ko) * 2021-03-29 2021-07-15 한화시스템(주) 소프트웨어 정의 네트워크에서의 스위치 마이그레이션을 제공하는 컨트롤러 및 방법

Also Published As

Publication number Publication date
KR20160107920A (ko) 2016-09-19

Similar Documents

Publication Publication Date Title
CN111770028B (zh) 用于计算机网络的方法和网络设备
US11895154B2 (en) Method and system for virtual machine aware policy management
JP5976942B2 (ja) ポリシーベースのデータセンタネットワーク自動化を提供するシステムおよび方法
US9288162B2 (en) Adaptive infrastructure for distributed virtual switch
US10938727B2 (en) Method and device for offloading processing of data flows
US8537846B2 (en) Dynamic priority queue level assignment for a network flow
JP2023503274A (ja) 高性能コンピューティング環境においてプライベートファブリックにおける順方向および逆方向輻輳通知の使用をサポートするためのシステムおよび方法
US8958294B2 (en) Assigning identifiers to mobile devices according to their data service requirements
WO2018086569A1 (zh) 一种基于虚拟网络的应用感知的动态sdn配置方法
US10484233B2 (en) Implementing provider edge with hybrid packet processing appliance
EP2649759B1 (en) Technique for managing traffic at a router
JP7288980B2 (ja) 仮想サービスネットワークにおけるサービス品質
KR101660849B1 (ko) 소프트웨어 정의 네트워크 기반의 네트워크 자율제어 방법
CN113454972A (zh) 虚拟服务网络
US10348683B2 (en) Network packet filtering via media access control (MAC) address learning
KR101674169B1 (ko) 오픈플로우 스위치 및 플로우 테이블 관리 방법
US11784885B2 (en) Shared bandwidth speed limiting method, device, and storage medium
JP2015122680A (ja) 論理ネットワークの構築方法、および、ネットワークシステム
US20210409524A1 (en) Inter-packet communication of machine learning information
US20220286409A1 (en) Method and apparatus for configuring quality of service policy for service, and computing device
US9621468B1 (en) Packet transmission scheduler
US20240106760A1 (en) Network device level optimizations for latency sensitive rdma traffic
KR101706337B1 (ko) 소프트웨어 정의 네트워크 기반의 스위치 주도적 컨트롤러 선택 방법
JP7254263B2 (ja) コントローラ、制御回路、記憶媒体およびリソース割当方法
US20240031296A1 (en) Modifying an sd-wan based on flow metrics

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant