KR102053596B1 - Method and apparatus of network slicing by using dynamic network traffic analysis based on software defined networking - Google Patents

Method and apparatus of network slicing by using dynamic network traffic analysis based on software defined networking Download PDF

Info

Publication number
KR102053596B1
KR102053596B1 KR1020190128436A KR20190128436A KR102053596B1 KR 102053596 B1 KR102053596 B1 KR 102053596B1 KR 1020190128436 A KR1020190128436 A KR 1020190128436A KR 20190128436 A KR20190128436 A KR 20190128436A KR 102053596 B1 KR102053596 B1 KR 102053596B1
Authority
KR
South Korea
Prior art keywords
bandwidth
network
network slice
slice
calculating
Prior art date
Application number
KR1020190128436A
Other languages
Korean (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 한국과학기술정보연구원
Application granted granted Critical
Publication of KR102053596B1 publication Critical patent/KR102053596B1/en

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
    • 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/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS

Abstract

Provided are a network slicing method through SDN-based dynamic network traffic analysis and an apparatus thereof. According to an embodiment of the present invention, a network control method comprises the steps of: dynamically collecting information related to a bandwidth usage amount of a network slice included in a network from one or more SDN switches included in the network using an open-flow protocol; calculating the bandwidth usage amount of the network slice using information related to the bandwidth usage amount; calculating a bandwidth control amount of the network slice on the basis of the bandwidth usage amount; loading a static weight set on the network slice; calculating a dynamic weight using the bandwidth usage amount, a frequency of bandwidth change of the network slice, an allocation bandwidth of the network slice, and the number of times of bandwidth control reserves of the network slice; updating a bandwidth increase list by using an ID of the network slice, the bandwidth control amount, the static weight, and the dynamic weight when the bandwidth control amount is negative; aligning a bandwidth increase list using the static weight and the dynamic weight; and controlling a network using the aligned bandwidth increase list.

Description

SDN 기반의 동적 네트워크 트래픽 분석을 통한 네트워크 슬라이싱 방법 및 장치{METHOD AND APPARATUS OF NETWORK SLICING BY USING DYNAMIC NETWORK TRAFFIC ANALYSIS BASED ON SOFTWARE DEFINED NETWORKING}METHOD AND APPARATUS OF NETWORK SLICING BY USING DYNAMIC NETWORK TRAFFIC ANALYSIS BASED ON SOFTWARE DEFINED NETWORKING}

본 발명은 SDN 기반의 네트워크 슬라이싱 방법 및 장치에 관한 것이다. 보다 자세하게는, SDN 기반의 네트워크에서 네트워크 슬라이싱을 수행함에 있어서 동적 네트워크 트래픽 분석을 통하여 최적의 네트워크 슬라이싱을 수행하는 방법 및 장치에 관한 것이다.The present invention relates to an SDN-based network slicing method and apparatus. More specifically, the present invention relates to a method and apparatus for performing optimal network slicing through dynamic network traffic analysis in performing network slicing in an SDN-based network.

SDN(Software Defined Networking) 기술은 기존 네트워크 장비에서 컨트롤 플레인(control plane)과 데이터 플레인(data plane)을 분리하고, 컨트롤 플레인을 소프트웨어 형태로 만들어 중앙 집중화된 네트워크 아키텍처를 구현하는 네트워크 기술을 의미한다. SDN에서 컨트롤 플레인은 네트워크에 어떠한 데이터가 어디로 이동할지 알려주는 역할을 하고, 데이터 플레인은 컨트롤 플레인의 제어에 따라 실제로 데이터를 지정된 목적지로 전송하는 역할을 한다. SDN 네트워크를 구성하는 네트워크 장치는 오픈플로우(OpenFlow)와 같은 산업 표준 제어 프로토콜을 사용하고 SDN 컨트롤러를 통해 프로그래밍할 수 있는 스위치이며, SDN 기술을 사용하면 SDN 네트워크를 구성하는 모든 네트워크 장비에 대하여 하나의 SDN 컨트롤러를 통한 일관적인 제어가 가능하므로 네트워크 관리가 용이해지고, 네트워크 효율이 증대되는 장점이 있다. 또한 네트워크 장비 제조사의 하드웨어 설계에 종속되지 않는 독립적인 네트워크 관리가 가능해진다.Software Defined Networking (SDN) technology refers to a network technology that separates a control plane and a data plane from existing network equipment and forms a control plane in software to implement a centralized network architecture. In SDN, the control plane tells the network what data is going to where, and the data plane is responsible for actually sending the data to its designated destination under control of the control plane. The network devices that make up an SDN network are switches that can be programmed through an SDN controller using industry standard control protocols such as OpenFlow, and, with SDN technology, one network device for all network devices that make up an SDN network. Consistent control through the SDN controller enables network management and network efficiency. It also enables independent network management that is not dependent on the hardware design of the network equipment manufacturer.

한편, 다양한 서비스의 요구사항을 효과적으로 반영하기 위해서는 효율적인 네트워크 자원 분배 기술이 필요하다. 종래에는 네트워크에 연결된 모든 노드들이 포화 트래픽을 발생시킨다고 가정하고 네트워크 자원을 분배하였다. 이 경우 비포화 트래픽 또는 과포화 트래픽을 발생시키는 노드들이 다수 존재하는 경우 네트워크 자원 분배가 비효율적인 문제가 있었다. 특히 모바일 엣지 컴퓨팅(Mobile Edge Computing, MEC) 기술을 기반으로 한 지연 민감형 서비스 제공 기술은 분산 배치된 다수의 서버 중 가장 인접한 서버를 통하여 서비스를 제공함으로써 서비스 지연시간을 최소화하는 것을 목적으로 하였다. 하지만, 종래의 기술은 액세스 정책 정보에 기반한 정적인 트래픽 경로에 따라 서비스가 제공되었기 때문에 네트워크 환경의 변화나 트래픽 병목현상 등에 적절하게 대처하지 못하였고, 지연 민감형 서비스 제공을 위한 적절한 방안이 존재하지 않았다.On the other hand, efficient network resource distribution technology is needed to effectively reflect the requirements of various services. Conventionally, network resources have been distributed assuming that all nodes connected to the network generate saturated traffic. In this case, when there are a large number of nodes generating unsaturated traffic or supersaturated traffic, network resource distribution is inefficient. In particular, the delay-sensitive service providing technology based on Mobile Edge Computing (MEC) technology aims to minimize service latency by providing a service through the nearest server among a plurality of distributed servers. However, in the conventional technology, since the service was provided along a static traffic path based on access policy information, the conventional technology did not adequately cope with changes in the network environment or traffic bottlenecks, and there is no suitable method for providing a delay sensitive service. Did.

유연한 네트워크 자원 분배를 위한 기술로서 네트워크 가상화는, 물리적인 네트워크 인프라(infrastructure)의 자원을 분할하여 다수의 논리 네트워크를 구성하는 기술을 의미한다. 네트워크 가상화를 이용하면 다양한 서비스의 요구사항을 반영한 플렉시블한 네트워크를 제공할 수 있다.As a technology for flexible network resource distribution, network virtualization refers to a technology for configuring a plurality of logical networks by dividing a resource of a physical network infrastructure. Network virtualization can provide a flexible network that reflects the requirements of various services.

가상 네트워크에서는 네트워크 대역폭이 물리 네트워크에 종속되지 않고 논리 네트워크 상에서 유연하게 설정될 수 있으므로, 빈번한 트래픽 변화 및 네트워크 변경 요청에 대해 능동적으로 대역폭을 조절할 수 있다는 장점이 있다. 물리적인 네트워크 인프라를 다수의 독립된 가상 네트워크로 분리할 때, 분리된 각각의 독립된 가상 네트워크를 네트워크 슬라이스(network slice)라고 하고, 네트워크 슬라이스를 만드는 작업을 네트워크 슬라이싱(network slicing)이라고 한다.In the virtual network, the network bandwidth can be flexibly set on the logical network without being dependent on the physical network, and thus, the bandwidth can be actively adjusted for frequent traffic change and network change requests. When dividing a physical network infrastructure into multiple independent virtual networks, each separate virtual network is called a network slice, and the task of creating a network slice is called network slicing.

본 발명은 SDN 기술이 구현된 네트워크에서, 동적 네트워크 트래픽 분석을 통하여 최적의 네트워크 슬라이싱을 수행하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for performing optimal network slicing through dynamic network traffic analysis in a network in which SDN technology is implemented.

한국공개특허 제10-2016-0036182호 (2016.04.04. 공개)Korean Patent Publication No. 10-2016-0036182 (published Apr. 4, 2016)

본 발명이 해결하고자 하는 기술적 과제는, SDN 기반의 네트워크에서 호스트 사이의 네트워크 트래픽을 분석한 결과를 이용하여 네트워크를 제어하는 방법 및 장치에 관한 것이다.The technical problem to be solved by the present invention relates to a method and apparatus for controlling a network using a result of analyzing network traffic between hosts in an SDN-based network.

본 발명이 해결하고자 하는 다른 기술적 과제는, 네트워크에 연결된 호스트 사이의 네트워크 트래픽을 분석한 결과를 이용하여 네트워크를 슬라이싱하는 방법 및 장치에 관한 것이다.Another technical problem to be solved by the present invention relates to a method and apparatus for slicing a network using a result of analyzing network traffic between hosts connected to the network.

본 발명이 해결하고자 하는 또 다른 기술적 과제는, 네트워크에 연결된 호스트 사이의 네트워크 트래픽을 분석한 후, 네트워크 트래픽이 많은 호스트를 포함하는 네트워크 슬라이스의 대역폭이 증가하도록 네트워크 슬라이스를 제어하는 방법 및 장치에 관한 것이다.Another technical problem to be solved by the present invention is to analyze a network traffic between hosts connected to a network, and then to a method and apparatus for controlling a network slice so as to increase a bandwidth of a network slice including a host with high network traffic. will be.

본 발명이 해결하고자 하는 또 다른 기술적 과제는, 네트워크에 연결된 호스트 사이의 네트워크 트래픽을 분석한 결과 복수개의 네트워크 슬라이스에 대하여 대역폭 증가가 필요한 경우, 각 네트워크 슬라이스에 우선순위를 부여하여 우선순위가 높은 네트워크 슬라이스의 대역폭을 우선 증가시키되, 가용 대역폭의 부족으로 인하여 대역폭 증가가 유보된 네트워크 슬라이스에 대해서는 유보 횟수에 따른 가중치를 부여하여 차후 슬라이싱에서 우선권을 부여함으로써, 모든 호스트에 대하여 골고루 네트워크 자원을 분배하는 방법 및 장치에 관한 것이다.Another technical problem to be solved by the present invention is to analyze the network traffic between the hosts connected to the network, if a plurality of network slices need to increase the bandwidth, each network slice is given a priority to give priority to the network How to distribute network resources evenly among all hosts by increasing the bandwidth of the slice first, but giving priority to subsequent slices by assigning weights according to the number of reservations for network slices whose bandwidth increase is reserved due to lack of available bandwidth And to an apparatus.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들이 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 네트워크 제어 방법은, SDN(Software Defined Networking) 기반의 네트워크 제어 방법에 있어서, 오픈플로우(OpenFlow) 프로토콜을 이용하여 상기 네트워크에 포함된 하나 이상의 SDN 스위치로부터 상기 네트워크에 포함된 네트워크 슬라이스의 대역폭 사용량을 계산하는 단계, 상기 대역폭 사용량에 기초하여 상기 네트워크 슬라이스의 대역폭 조절량을 계산하는 단계, 상기 네트워크 슬라이스에 설정된 정적 가중치를 로드하는 단계, 상기 네트워크 슬라이스의 대역폭 조절 유보 횟수를 이용하여 상기 네트워크 슬라이스의 동적 가중치를 계산하는 단계, 상기 계산된 대역폭 조절량이 음(-)이면, 상기 로드된 정적 가중치 및 상기 계산된 동적 가중치를 이용하여 대역폭 증가 리스트에서 상기 네트워크 슬라이스의 우선순위를 업데이트하는 단계 및 상기 업데이트된 대역폭 증가 리스트의 우선순위에 따라 상기 네트워크를 제어하는 단계를 포함하고, 상기 네트워크를 제어하는 단계는, 상기 대역폭 조절량이 가용 대역폭보다 크면, 상기 네트워크 슬라이스의 대역폭 조절을 유보하고 상기 대역폭 조절 유보 횟수를 증가시키는 단계를 포함하며, 상기 정적 가중치 또는 상기 동적 가중치가 높은 값일수록 상기 우선순위는 높아지며, 상기 대역폭 조절 유보 횟수가 증가될수록 상기 동적 가중치는 더 큰 값으로 계산될 수 있다.Network control method according to an embodiment of the present invention for solving the technical problem, SDN (Network Defined Networking) based network control method, one or more included in the network using an OpenFlow (OpenFlow) protocol Calculating a bandwidth usage of a network slice included in the network from an SDN switch, calculating a bandwidth adjustment amount of the network slice based on the bandwidth usage, loading a static weight set in the network slice, the network slice Calculating a dynamic weight of the network slice using the number of reserved bandwidth adjustments of the network slice; if the calculated bandwidth adjustment amount is negative, the loaded static weight and the calculated dynamic weight value are used in the bandwidth increase list. network Updating the priority of the rice and controlling the network according to the priority of the updated bandwidth increase list, wherein controlling the network comprises: if the bandwidth adjustment is greater than the available bandwidth, the network slice Suspending the bandwidth adjustment and increasing the bandwidth adjustment reservation count, wherein the higher the static weight or the dynamic weight value is, the higher the priority is, and the higher the bandwidth adjustment reservation count is, the greater the dynamic weight is. Can be calculated as a value.

본 발명의 일 실시예에 의하면, SDN 기반의 네트워크에서 호스트 사이의 네트워크 트래픽을 분석한 결과를 이용하여 효율적으로 네트워크를 제어할 수 있다.According to an embodiment of the present invention, the network can be efficiently controlled by using the result of analyzing network traffic between hosts in the SDN-based network.

본 발명의 다른 실시예에 의하면, 네트워크에 연결된 호스트 사이의 네트워크 트래픽을 분석한 결과를 이용하여 네트워크를 슬라이싱함으로써 네트워크의 부족 또는 낭비 없이 네트워크 자원을 최대한 사용할 수 있다.According to another embodiment of the present invention, by slicing the network using the result of analyzing the network traffic between the hosts connected to the network, it is possible to maximize the use of network resources without lack or waste of the network.

본 발명의 또 다른 실시예에 의하면, 네트워크에 연결된 호스트 사이의 네트워크 트래픽을 분석한 후, 네트워크 트래픽이 많은 호스트를 포함하는 네트워크 슬라이스의 대역폭이 증가하도록 네트워크를 제어함으로써 대역폭의 부족을 실시간으로 충족시킬 수 있다.According to another embodiment of the present invention, after analyzing the network traffic between the hosts connected to the network, by controlling the network to increase the bandwidth of the network slice including the host with a lot of network traffic to meet the lack of bandwidth in real time Can be.

본 발명의 또 다른 실시예에 의하면, 네트워크에 연결된 호스트 사이의 네트워크 트래픽을 분석한 결과 복수개의 네트워크 슬라이스에 대하여 대역폭 증가가 필요한 경우, 각 네트워크 슬라이스에 우선순위를 부여하여 우선순위가 높은 네트워크 슬라이스의 대역폭을 우선 증가시키되, 가용 대역폭의 부족으로 인하여 대역폭 증가가 유보된 네트워크 슬라이스에 대해서는 유보 횟수에 따른 가중치를 부여하여 차후 슬라이싱에서 우선권을 부여함으로써, 모든 호스트에 대하여 골고루 네트워크 자원을 분배할 수 있다.According to another embodiment of the present invention, when network traffic between hosts connected to a network is analyzed and bandwidth increase is required for a plurality of network slices, priority is given to each network slice to determine a network slice having a high priority. The network slices can be distributed evenly to all hosts by increasing the bandwidth first, but giving priority to subsequent slices by assigning weights according to the number of reservations for network slices whose bandwidth increase is reserved due to the lack of available bandwidth.

본 발명의 또 다른 실시예에 의하면, According to another embodiment of the present invention,

본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들이 본 발명의 기술분야에서 발휘될 수 있을 것이다.The effect of the present invention is not limited to the above-mentioned effects, and other effects not mentioned may be exerted in the technical field of the present invention.

도 1은 일반적인 SDN 네트워크 시스템의 구조를 예시한 도면이다.
도 2는 네트워크 슬라이싱 전후를 비교한 도면이다.
도 3은 본 발명의 일 실시예에 따른 전체 네트워크를 예시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 네트워크 슬라이스를 예시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 네트워크 슬라이스의 대역폭 조절을 예시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 네트워크 제어 방법을 예시한 순서도이다.
도 7은 본 발명의 일 실시예에 따른 네트워크 제어 방법에서, 대역폭 증가 리스트를 이용하여 대역폭을 변경하는 과정을 예시한 순서도이다.
도 8은 본 발명의 일 실시예에 따른 네트워크 제어 장치를 예시한 도면이다.
1 is a diagram illustrating a structure of a general SDN network system.
2 is a diagram comparing network slicing before and after.
3 is a diagram illustrating an entire network according to an embodiment of the present invention.
4 is a diagram illustrating a network slice according to an embodiment of the present invention.
5 is a diagram illustrating bandwidth adjustment of a network slice according to an embodiment of the present invention.
6 is a flowchart illustrating a network control method according to an embodiment of the present invention.
7 is a flowchart illustrating a process of changing a bandwidth using a bandwidth increase list in a network control method according to an embodiment of the present invention.
8 is a diagram illustrating a network control apparatus according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various forms, and only the embodiments are intended to complete the disclosure of the present invention, and the general knowledge in the art to which the present invention pertains. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms used in the present specification (including technical and scientific terms) may be used as meanings that can be commonly understood by those skilled in the art. In addition, terms that are defined in a commonly used dictionary are not ideally or excessively interpreted unless they are specifically defined clearly. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a", "an" and "the" include the plural unless specifically stated otherwise.

본 명세서에서 사용되는 '포함한다(comprises)' 또는 '포함하는(comprising)' 이라는 표현은 언급된 구성/단계/동작 외의 다른 구성/단계/동작의 존재 또는 추가를 배제하지 않는다.As used herein, the phrase 'comprises' or 'comprising' does not exclude the presence or addition of any other configuration / step / operation other than the configuration / step / operation mentioned.

이하, 도면들을 참조하여 본 발명의 실시예들을 설명한다.Hereinafter, embodiments of the present invention will be described with reference to the drawings.

도 1은 일반적인 SDN 네트워크 시스템의 구조를 예시한 도면이다.1 is a diagram illustrating a structure of a general SDN network system.

도 1에 나타난 것과 같이, SDN 네트워크 시스템은 SDN 컨트롤러(110), 복수개의 SDN 스위치(121, 122, 123) 및 복수개의 네트워크 장치(131, 132, 133)를 포함할 수 있다.As shown in FIG. 1, the SDN network system may include an SDN controller 110, a plurality of SDN switches 121, 122, and 123, and a plurality of network devices 131, 132, and 133.

SDN은 기존 네트워크 장비에서 컨트롤 플레인(control plane)과 데이터 플레인(data plane)을 분리하고, 컨트롤 플레인을 소프트웨어 형태로 만들어 중앙 집중화된 네트워크 아키텍처를 구현한다. SDN 컨트롤러(110)는 컨트롤 플레인(control plane)을 담당하는 중앙 집중화된 제어부일 수 있다. 복수개의 SDN 스위치(121, 122, 123) 및 복수개의 네트워크 장치(131, 132, 133)는 데이터 플레인(data plane)을 담당하는 네트워크 장비일 수 있다.SDN separates the control plane and data plane from existing network equipment and implements a centralized network architecture by making the control plane in software form. The SDN controller 110 may be a centralized control unit that is in charge of a control plane. The plurality of SDN switches 121, 122, 123, and the plurality of network devices 131, 132, and 133 may be network equipment that is in charge of a data plane.

SDN 컨트롤러(110)는 SDN 시스템을 제어하는 일종의 지휘 컴퓨터로서, 다양하고 복잡한 기능들, 예를 들어, 라우팅, 정책 선언, 및 보안 체크 등을 할 수 있다. SDN 컨트롤러(110)는 하위 계층의 복수개의 SDN 스위치(121, 122, 123)에서 발생하는 패킷의 플로우를 정의할 수 있으며, 네트워크 정책상 허용되는 플로우에 대해 네트워크 토폴로지 등을 참조하여 플로우가 경유할 경로(데이터 경로)를 계산한 후, 경로상의 스위치에 상기 플로우의 엔트리가 설정되도록 할 수 있다. SDN 컨트롤러(110)는 특정 프로토콜, 예를 들어, 오픈플로우 프로토콜을 이용하여 SDN 스위치(121, 122, 123)와 통신할 수 있다. 이 때 SDN 컨트롤러(110)와 SDN 스위치(121, 122, 123) 사이의 통신 채널은 보안을 위하여 암호화될 수 있다.The SDN controller 110 is a kind of command computer that controls the SDN system, and can perform various and complex functions, such as routing, policy declaration, and security check. The SDN controller 110 may define a flow of packets generated from a plurality of SDN switches 121, 122, and 123 in a lower layer. The SDN controller 110 may refer to a network topology and the like to allow flows to be allowed by network policy. After calculating the path (data path), the entry of the flow can be set to a switch on the path. The SDN controller 110 may communicate with the SDN switches 121, 122, 123 using a specific protocol, for example, an OpenFlow protocol. At this time, the communication channel between the SDN controller 110 and the SDN switches 121, 122, 123 may be encrypted for security.

네트워크 장치(131, 132, 133)는 SDN 스위치(121, 122, 123)에 의해 제어된다. 네트워크 장치(131, 132, 133)는 데이터나 정보를 주고 받는 단말 장치, 예컨대 데이터를 송수신하는 통신기기 또는 라우터일 수 있다. 네트워크 장치(131, 132, 133)는 네트워크 상의 여러가지 기능을 수행하는 네트워크 기능(network function)으로 지칭될 수도 있다. 네트워크 기능은 NFV(Network Function Virtualiztion) 등을 이용하여 가상화될 수 있다. NFV는 네트워크 기능을 추상화하여 표준화된 컴퓨팅 노드에서 실행되는 소프트웨어를 통해 네트워크 기능을 설치, 제어 및 조작하도록 지원한다.Network devices 131, 132, 133 are controlled by SDN switches 121, 122, 123. The network devices 131, 132, and 133 may be terminal devices that transmit or receive data or information, for example, communication devices or routers that transmit and receive data. The network devices 131, 132, 133 may also be referred to as network functions that perform various functions on the network. The network function can be virtualized using NFV (Network Function Virtualiztion). NFV abstracts network functionality, enabling you to install, control, and manipulate network functionality through software running on standardized computing nodes.

도 2는 네트워크 슬라이싱 전후를 비교한 도면이다.2 is a diagram comparing network slicing before and after.

네트워크 슬라이싱을 수행하기 전의 일반적인 네트워크에서는 하나의 네트워크를 통해 다양한 서비스를 제공하였고, 그 결과 서비스 별 네트워크 요구사항을 반영하지 못하는 문제가 있었다. In the general network before performing network slicing, various services were provided through one network, and as a result, there was a problem in that it did not reflect network requirements for each service.

도 2(a)에 예시된 네트워크에서 스마트폰은 네트워크에 접속하여 통신/인터넷 서비스 등을 제공 받고, 센서는 네트워크에 접속하여 물류, 농업, 기후 서비스를 제공 받으며, 자동차는 네트워크에 접속하여 자율주행 서비스를 제공 받는다. 도 2(a)에 예시된 네트워크에서는 모든 장치가 동일한 네트워크를 통해 서비스를 제공 받기 때문에 서비스 별 네트워크 요구사항을 충족시키기 어렵다.In the network illustrated in FIG. 2 (a), a smartphone is connected to a network to receive communication / internet services, a sensor is connected to a network to provide logistics, agriculture, and climate services, and a car is connected to a network to autonomously drive. Get service. In the network illustrated in FIG. 2 (a), it is difficult to meet network requirements for each service since all devices are provided with the service through the same network.

도 2(b)는 도 2(a)에 예시된 네트워크에 대하여 네트워크 슬라이싱을 수행한 후의 네트워크를 예시한 도면이다. 도 2(b)에 나타난 것과 같이, 네트워크를 슬라이싱하여 스마트폰에 대하여 적용되는 네트워크 슬라이스, 센서에 대하여 적용되는 네트워크 슬라이스 및 자동차에 대하여 적용되는 네트워크 슬라이스를 나눌 경우, 각 네트워크 슬라이스의 네트워크 환경을 다르게 설정함으로써 서비스 별 네트워크 요구사항을 충족시킬 수 있게 된다.FIG. 2B is a diagram illustrating a network after performing network slicing on the network illustrated in FIG. 2A. As shown in FIG. 2 (b), when the network slice is divided into a network slice applied to a smartphone, a network slice applied to a sensor, and a network slice applied to a car, the network environment of each network slice is different. By setting it up, it is possible to meet the network requirements of each service.

네트워크 슬라이싱에 대하여 자세히 설명하면, 네트워크 슬라이싱이란, 하드디스크 한 개를 C드라이브, D드라이브와 같이 파티션을 나눠 독립적 영역으로 활용하는 것처럼, 물리적인 네트워크 인프라를 가상화 기술을 이용하여 여러 개로 분할하여 사용하는 것을 의미한다. 네트워크 슬라이싱은 공통의 물리적 네트워크 인프라에 소프트웨어 가상화 기술을 적용하여 여러 개의 가상 네트워크를 만들게 되며, 물리적인 네트워크 인프라 위에 여러 개의 논리적 네트워크가 돌아가는 형태가 된다. 이 때 분리된 각각의 논리적 네트워크(가상 네트워크)를 네트워크 슬라이스(Slice)라고 하는데, 네트워크 슬라이스는 서버 가상화에서의 가상머신(VM)과 비슷한 개념으로 볼 수 있다.Network slicing is described in detail. Network slicing is a method in which a physical network infrastructure is divided into several parts by using virtualization technology, like a hard disk is divided into partitions such as a C drive and a D drive. Means that. Network slicing involves applying software virtualization technology to a common physical network infrastructure to create multiple virtual networks, with multiple logical networks running on top of the physical network infrastructure. In this case, each of the separated logical networks (virtual networks) is called a network slice. The network slice is a concept similar to a virtual machine (VM) in server virtualization.

네트워크를 통해 제공되는 서비스는 제공하는 서비스의 종류에 따라 요구하는 네트워크 성능이 상이하다. 예를 들어 자율주행차와 관련된 네트워크는 도로 위에서 발생하는 위험에 즉각적으로 반응하기 하여 1ms(0.001초) 대 '초저지연' 성능이 중요하다. 반면 상수도 회사는 속도는 다소 느리더라도 수천 개의 장치에서 소량의 데이터를 동시에 전송할 수 있는 '초대용량' 성능이 중요하다.The service provided through the network differs in the required network performance depending on the type of service provided. For example, a network related to autonomous vehicles reacts immediately to risks on the road, so 1 ms (0.001 sec) vs. 'low latency' performance is important. Water companies, on the other hand, are rather slow, but the 'ultra-capacity' capability of being able to send small amounts of data simultaneously from thousands of devices is important.

5G 표준에서 대표적인 Use-Case로 꼽히는 Mobile Broadband, Massive IoT, Mission-critical IoT 등의 서비스 또한 Mobility, Charging, Security, Police Control, Latency, Reliability 등의 측면에서 네트워크 요구사항이 각기 상이하다.온도, 습도, 강우량 등을 측정하는 고정형 센서들이 네트워크에 연결되는 Massive IoT 서비스의 경우에는 Handover나 Locate update 같은 기능이 불필요하다. 또 자율 주행이나 원격 산업용 로봇 제어같은 Mission-critical IoT 서비스의 경우는 수 ms이내의 낮은 latency를 요구한다.Services such as Mobile Broadband, Massive IoT, and Mission-critical IoT, which are representative use-cases in the 5G standard, also have different network requirements in terms of mobility, charging, security, police control, latency, and reliability. In the case of Massive IoT service where fixed sensors that measure rainfall, rainfall, etc. are connected to the network, functions such as handover and locate update are unnecessary. Mission-critical IoT services, such as autonomous driving or remote industrial robot control, require low latency within a few ms.

이와 같이 서비스 별로 네트워크 요구사항이 상이한 경우, 기존에는 서비스 별 요구사항을 고려하지 않고 단일한 네트워크를 통해 서비스를 제공하거나, 서비스 별로 상이한 요구사항을 충족하기 위하여 서비스 별로 별개의 네트워크를 구축하였다. 서비스 별로 별개의 네트워크를 구축한 경우에는 서비스가 종료되면 기존의 망을 폐기하거나 재설계해야 하는 문제가 있었다.As described above, when the network requirements are different for each service, a service is provided through a single network without considering the requirements of each service, or a separate network is constructed for each service to satisfy different requirements for each service. In the case of establishing a separate network for each service, when the service is terminated, the existing network has to be discarded or redesigned.

그러나 네트워크 슬라이싱 기술을 이용하면 서비스 별 요구사항을 충족하는 여러 개의 네트워크를 손쉽게 구축할 수 있다. 물리적인 네트워크 인프라를 여러 개의 가상 네트워크(네트워크 슬라이스)로 나누고, 각 가상 네트워크(네트워크 슬라이스)를 별개의 애플리케이션과 서비스, 디바이스, 운영자 요구사항에 맞춰 최적화할 수 있다.However, network slicing technology makes it easy to build multiple networks to meet service-specific requirements. The physical network infrastructure can be broken down into multiple virtual networks (network slices), and each virtual network (network slice) can be optimized for separate application, service, device and operator requirements.

네트워크 슬라이싱은 단순히 네트워크를 여러 개로 나누는 것에 그치지 않고, 각 네트워크 슬라이스 별로 맞춤형 설정이 가능한 특징이 있다. 예를 들어 어떤 네트워크 슬라이스는 HD 동영상 스트리밍에, 어떤 네트워크 슬라이스는 보안에, 어떤 네트워크 슬라이스는 많은 기기를 연결하여 사용할 수 있도록 최적화할 수 있다. 많은 서비스가 네트워크를 통해 제공되면서 네트워크의 트래픽 종류도 천차만별이며, 기존의 통신망은 트래픽에 따라 네트워크를 최적화하는 것이 어려웠으나, 네트워크 슬라이싱 기술을 이용하면 필요에 따라 맞춤형 네트워크 지원이 가능해진다.Network slicing does not just divide the network into multiples, but features a customizable configuration for each network slice. For example, some network slices can be optimized for HD video streaming, some network slices are secure, and some network slices can be connected to many devices. As many services are provided through the network, the types of network traffic vary widely, and it is difficult for the existing communication networks to optimize the network according to the traffic. However, the network slicing technology enables the network to be customized as needed.

소프트웨어 기술로 구현된 각 네트워크 슬라이스는 완전히 독립적으로 동작한다. 어느 한 네트워크 슬라이스에 오류나 사이버 공격이 발생하여도 다른 네트워크 슬라이스에 간섭할 수 없으므로 다른 네트워크 슬라이스의 네트워크는 영향을 받지 않는다. 따라서 데이터 보안이 중시되는 서비스인 경우 보안에 특화된 네트워크 슬라이스를 이용함으로써 보안을 강화할 수 있다.Each network slice implemented in software technology operates completely independently. If one network slice fails or a cyber attack cannot interfere with another network slice, the network of the other network slice is not affected. Therefore, in the case of services where data security is important, security can be enhanced by using a network slice specialized for security.

도 3은 본 발명의 일 실시예에 따른 전체 네트워크를 예시한 도면이다.3 is a diagram illustrating an entire network according to an embodiment of the present invention.

도 3에 나타난 것과 같이, 본 발명의 일 실시예에 따른 전체 네트워크는 복수개의 노드(310, 320, 330, 340, 350, 360)를 포함할 수 있다. 각 노드에는 하나 이상의 호스트가 연결되어 있다. 이 때 호스트는 서버일 수 있다. 서버는 네트워크에 연결이 확립된 장치 중 다른 장치(클라이언트)로부터의 연결을 수락하는 호스트일 수 있다.As shown in FIG. 3, the entire network according to an embodiment of the present invention may include a plurality of nodes 310, 320, 330, 340, 350, and 360. Each node has one or more hosts connected to it. In this case, the host may be a server. The server may be a host that accepts connections from other devices (clients) among devices that have established a connection to the network.

본 발명의 일 실시예에 따른 네트워크의 일례로 KISTI(Korea Institute of Science and Technology Information: 한국과학기술정보연구원)의 KREONET(Korea Research Environment Open Network: 국가과학기술연구망) 네트워크를 들 수 있다. KREONET은 1988년부터 가동을 시작하여 산업체와 연구소 등에 있는 약 200여 개 연구기관을 대상으로 고성능 네트워크 인프라를 지원하고 있다. KREONET 네트워크에서 각 연구기관을 노드(310, 320, 330, 340, 350, 360)로 볼 수 있고, 각 노드에는 하나 이상의 서버가 연결되어 있을 수 있다.An example of a network according to an embodiment of the present invention may be a KREONET (Korea Research Environment Open Network) network of the Korea Institute of Science and Technology Information (KISTI). KREONET has been in operation since 1988 and supports high-performance network infrastructure for about 200 research institutes in industries and research institutes. In the KREONET network, each research institute may be viewed as a node 310, 320, 330, 340, 350, 360, and each node may be connected with one or more servers.

도 3에 나타난 것과 같이, 네트워크 슬라이싱을 수행하기 전에는 각 노드가 특별한 제약 없이 동일한 네트워크를 사용한다. 그 결과 특정 노드 사이의 트래픽이 증가하면 다른 노드의 통신에도 영향을 미치게 되므로, 일정 수준 이상의 네트워크 성능이 필요한 노드에 영향을 미칠 가능성이 있다.As shown in FIG. 3, before performing network slicing, each node uses the same network without particular limitation. As a result, increased traffic between specific nodes affects the communication of other nodes, which may affect nodes that require more than a certain level of network performance.

도 4는 본 발명의 일 실시예에 따른 네트워크 슬라이스를 예시한 도면이다.4 is a diagram illustrating a network slice according to an embodiment of the present invention.

도 4에 나타난 것과 같이, 본 발명의 일 실시예에 따른 네트워크 슬라이스는 복수개의 노드(310, 320, 330, 340, 350, 360) 사이에 설정될 수 있다.As shown in FIG. 4, a network slice according to an embodiment of the present invention may be set between a plurality of nodes 310, 320, 330, 340, 350, and 360.

제1 노드(310)와 제2 노드(320)를 연결하는 네트워크에서 네트워크 가상화 기술로 네트워크를 슬라이싱하여 제1 노드(310)와 제2 노드(320)가 제1 네트워크 슬라이스(빗금친 부분)를 통해 통신하도록 할 수 있다.In a network connecting the first node 310 and the second node 320, the network is sliced using a network virtualization technology to form a first network slice (hatched portion) between the first node 310 and the second node 320. Can be communicated through.

제1 노드(310)와 제4 노드(340)를 연결하는 네트워크에서 네트워크 가상화 기술로 네트워크를 슬라이싱하여 제1 노드(310)와 제4 노드(340)가 제1 네트워크 슬라이스(빗금 부분)를 통해 통신하도록 할 수 있다.In a network connecting the first node 310 and the fourth node 340, the network is sliced using a network virtualization technology so that the first node 310 and the fourth node 340 are connected through a first network slice (hatched portion). To communicate.

제2 노드(320)와 제3 노드(330)를 연결하는 네트워크에서 네트워크 가상화 기술로 네트워크를 슬라이싱하여 제2 노드(320)와 제3 노드(330)가 제2 네트워크 슬라이스(점 부분)를 통해 통신하도록 할 수 있다.In a network connecting the second node 320 and the third node 330, the network is sliced using a network virtualization technology so that the second node 320 and the third node 330 are connected through a second network slice (dot part). To communicate.

도 5는 본 발명의 일 실시예에 따른 네트워크 슬라이스의 대역폭 조절을 예시한 도면이다.5 is a diagram illustrating bandwidth adjustment of a network slice according to an embodiment of the present invention.

N번의 네트워크 슬라이싱을 수행할 경우, 기본 네트워크 슬라이스(default network slice)를 포함하여 모두 N+1개의 네트워크 슬라이스가 생성된다. 각 네트워크 슬라이스는 완전히 독립된 네트워크처럼 동작하며, 따라서 네트워크 슬라이스 별로 서로 다른 네트워크 정책을 수립할 수 있다.When N network slicing is performed, all N + 1 network slices are generated including the default network slice. Each network slice behaves like a completely independent network, so different network policies can be established for each network slice.

네트워크 슬라이스마다 서로 다른 네트워크 정책을 수립하는 일례로서 네트워크 슬라이스 별로 할당하는 네트워크 대역폭을 다르게 설정할 수 있다. As an example of establishing a different network policy for each network slice, a network bandwidth allocated for each network slice may be set differently.

도 5는 물리적 네트워크의 대역폭이 1000Mbps일 때 각 네트워크 슬라이스의 대역폭을 변경할 경우의 결과를 예시하고 있다.5 illustrates the result of changing the bandwidth of each network slice when the bandwidth of the physical network is 1000 Mbps.

네트워크 대역폭은 물리적 네트워크에 의해 정의되는 자원이므로, 어느 하나의 네트워크 슬라이스의 대역폭이 증가하면 나머지 네트워크 슬라이스의 대역폭이 감소하게 된다.Since network bandwidth is a resource defined by a physical network, as the bandwidth of one network slice increases, the bandwidth of the remaining network slices decreases.

도 5(a)에 나타난 것과 같이, 물리적 네트워크의 대역폭이 1000Mbps이고 네트워크 슬라이싱을 수행하지 않을 경우, 최대 1000Mbps의 대역폭이 보장된다. 네트워크 슬라이싱을 수행하지 않은 네트워크 또한 하나의 슬라이스로 볼 수 있는데, 편의상 이를 기본 네트워크 슬라이스(default network slice)라고 한다. 네트워크 슬라이스가 정해진 노드 사이의 통신을 수행하는 반면, 기본 네트워크 슬라이스는 네트워크에 연결된 임의의 노드 사이의 통신을 수행한다.As shown in FIG. 5 (a), when the bandwidth of the physical network is 1000 Mbps and no network slicing is performed, a bandwidth of up to 1000 Mbps is guaranteed. A network that does not perform network slicing can also be viewed as a slice. For convenience, this is called a default network slice. While a network slice performs communication between defined nodes, a basic network slice performs communication between any node connected to the network.

도 5(b)에 나타난 것과 같이, 물리적 네트워크의 대역폭이 1000Mbps인 네트워크에서 1번의 네트워크 슬라이싱을 수행하면 기본 네트워크 슬라이스(default network slice)를 포함하여 2개의 네트워크 슬라이스가 생긴다. 슬라이스한 네트워크 슬라이스에 대하여 개별적으로 대역폭을 할당할 수 있으며, 전체 대역폭은 물리적 네트워크의 대역폭에 의해 제한된다. 도 5(b)는 제1 네트워크 슬라이스에 300Mbps의 대역폭을 할당하였으며, 그 결과 기본 네트워크 슬라이스는 700Mbps의 대역폭을 가지게 된다.As shown in FIG. 5 (b), when one network slicing is performed in a network having a bandwidth of 1000 Mbps, two network slices are formed including a default network slice. Bandwidth can be allocated for sliced network slices individually, and the overall bandwidth is limited by the bandwidth of the physical network. 5 (b) allocates a bandwidth of 300 Mbps to the first network slice, and as a result, the basic network slice has a bandwidth of 700 Mbps.

도 5(c)에 나타난 것과 같이, 물리적 네트워크의 대역폭이 1000Mbps이고 2번의 네트워크 슬라이싱을 수행하면 기본 네트워크 슬라이스(default network slice)를 포함하여 3개의 네트워크 슬라이스가 생긴다. 각 네트워크 슬라이스에 대하여 개별적으로 대역폭을 할당할 수 있으며, 전체 대역폭은 물리적 네트워크의 대역폭에 의해 제한된다. 도 5(c)는 제1 네트워크 슬라이스에 300Mbps의 대역폭을 할당하였고, 제2 네트워크 슬라이스에 400Mbps의 대역폭을 할당하였으며, 그 결과 기본 네트워크 슬라이스는 300Mbps의 대역폭을 가지게 된다.As shown in FIG. 5 (c), when the bandwidth of the physical network is 1000 Mbps and two network slicings are performed, three network slices are formed including a default network slice. Bandwidth can be allocated individually for each network slice, and the overall bandwidth is limited by the bandwidth of the physical network. 5 (c) allocates a bandwidth of 300 Mbps to the first network slice and a bandwidth of 400 Mbps to the second network slice. As a result, the basic network slice has a bandwidth of 300 Mbps.

본 발명은 SDN을 기반으로 임의의 사용자 그룹에게 제공되는 네트워크 슬라이스의 가용 대역폭을 측정 및 분석하고, 이에 따라 동적으로 각 네트워크 슬라이스의 대역폭을 조절하는 네트워크 제어 방법에 대한 것이다.The present invention relates to a network control method for measuring and analyzing available bandwidth of a network slice provided to an arbitrary user group based on SDN, and dynamically adjusting bandwidth of each network slice accordingly.

본 발명은 효율적인 대역폭 사용, 공정한 대역폭 할당, 대역폭 변동 횟수 최소화 등의 관점에서 우선순위를 판단하고, 우선순위를 기반으로 지능형 대역폭 관리를 수행한다.The present invention determines priorities in terms of efficient bandwidth usage, fair bandwidth allocation, minimizing the number of changes in bandwidth, and performs intelligent bandwidth management based on priorities.

네트워크 슬라이스의 대역폭 증감 설정은 관련 기술 내지 프로토콜, 예를 들어 오픈플로우(OpenFlow)의 미터 테이블을 기반으로 요구 대역폭을 보정하는 네트워크 슬라이스 갱신을 수행한다.The bandwidth increase / decrease setting of the network slice performs a network slice update that corrects a required bandwidth based on a related technology or protocol, for example, a meter table of OpenFlow.

본 발명의 일 실시예에 따른 네트워크 슬라이싱은 SDN 기반으로 임의의 사용자 그룹을 위하여 특정 대역폭을 보장하는 가상의 전용 네트워크를 생성하여 제공하는 방식이며, 오픈플로우 미터를 기반으로 보다 유연하고 세밀하게 동작하는 동적 대역폭 할당 및 제어를 수행하는 종단 슬라이싱(E2E Slicing)을 수행한다. Network slicing according to an embodiment of the present invention is a method of creating and providing a virtual dedicated network that guarantees a specific bandwidth for an arbitrary group of users based on SDN, and more flexible and detailed operation based on an open flow meter. E2E Slicing is performed to perform dynamic bandwidth allocation and control.

즉, 본 발명의 일 실시예에 따른 네트워크 슬라이스는, 네트워크 슬라이스에 속하는 복수개의 호스트 사이에서 기 설정된 대역폭을 보장하는 종단(E2E: End to End) 슬라이스일 수 있다.That is, the network slice according to an embodiment of the present invention may be an end to end (E2E) slice that guarantees a preset bandwidth among a plurality of hosts belonging to the network slice.

또한, 종래의 트래픽 제어 방법이 SDN 환경에 국한됨에 따라 IP망과 연계된 환경에서는 종래의 트래픽 제어 방법을 적용하지 못함에 비해, 본 발명의 일 실시예에 따른 네트워크 제어 방법은 SDN 내부 게이트웨이 별로 연결된 외부 IP 네트워크 정보를 고려하여 목적 경로를 종합적으로 적절하게 선택하기 때문에 IP 기반의 지연 민감형 서비스 제공기술에 적용하여 네트워크 환경 변화에 맞추어 트래픽을 동적으로 제어할 수 있는 장점이 있다.In addition, as the conventional traffic control method is limited to the SDN environment, the network control method according to an embodiment of the present invention is connected to each SDN internal gateway, in contrast to the conventional traffic control method in an environment associated with an IP network. Since the target path is appropriately selected in consideration of the external IP network information, there is an advantage that the traffic can be dynamically controlled in accordance with the network environment change by applying to the IP-based delay sensitive service providing technology.

특히, 본발명을 일 실시예에 따른 네트워크 제어 방법은 사용자(IP 망)가 대용량의 데이터를 서버(SDN망)로부터 수신하는 경우, 서비스가 지연시간에 민감하면 민감할수록 더욱 효율적으로 트래픽을 제어할 수 있다. 예를 들어, 네트워크 오퍼레이터 또는 서비스 프로바이더 입장에서 SDN 기반으로 구성된 OTT, 클라우드 등의 지연 민감형 다운 스트리밍 서비스를 사용자에게 제공할 때 본 발명의 네트워크 제어 방법은 서비스의 지연속도를 현격하게 저하시킬 수 있는 장점이 있다.In particular, the network control method according to an embodiment of the present invention, when the user (IP network) receives a large amount of data from the server (SDN network), the more sensitive the service is to the delay time, the more efficient the traffic control Can be. For example, when providing a delay-sensitive downstreaming service such as OTT or cloud configured based on SDN to a user from a network operator or service provider, the network control method of the present invention can significantly reduce the delay rate of the service. There is an advantage.

도 6은 본 발명의 일 실시예에 따른 네트워크 제어 방법을 예시한 순서도이다.6 is a flowchart illustrating a network control method according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 네트워크 제어 방법은, 네트워크와 연결된 컴퓨터 또는 SDN 컨트롤러에 의해 수행될 수 있다. The network control method according to an embodiment of the present invention may be performed by a computer or an SDN controller connected to a network.

도 6에 나타난 것과 같이, 본 발명의 일 실시예에 따른 네트워크 제어 방법은, 오픈플로우(OpenFlow) 프로토콜을 이용하여 네트워크에 포함된 하나 이상의 SDN 스위치로부터 네트워크에 포함된 네트워크 슬라이스의 대역폭 사용량과 관련된 정보를 동적으로 수집하는 단계(S610), 대역폭 사용량과 관련된 정보를 이용하여 네트워크 슬라이스의 대역폭 사용량을 계산하는 단계(S620), 대역폭 사용량에 기초하여 네트워크 슬라이스의 대역폭 조절량을 계산하는 단계(S630), 네트워크 슬라이스에 설정된 정적 가중치를 로드하는 단계(S640), 대역폭 사용량, 네트워크 슬라이스의 대역폭 변동 빈도, 네트워크 슬라이스의 할당 대역폭 및 네트워크 슬라이스의 대역폭 조절 유보 횟수를 이용하여 동적 가중치를 계산하는 단계(S650), 대역폭 조절량이 음(-)이면, 네트워크 슬라이스의 ID, 대역폭 조절량, 정적 가중치 및 동적 가중치를 이용하여 대역폭 증가 리스트를 업데이트하는 단계(S660), 정적 가중치 및 동적 가중치를 이용하여 대역폭 증가 리스트를 정렬하는 단계(S670) 및 정렬된 대역폭 증가 리스트를 이용하여 네트워크를 제어하는 단계(S680)를 포함할 수 있다.As shown in FIG. 6, the network control method according to an exemplary embodiment of the present invention uses information related to bandwidth usage of a network slice included in a network from one or more SDN switches included in the network using an OpenFlow protocol. Dynamically collecting (S610), calculating bandwidth usage of the network slice using information related to the bandwidth usage (S620), calculating bandwidth adjustment amount of the network slice based on the bandwidth usage (S630), and network Loading static weights set in the slice (S640), calculating dynamic weights using the bandwidth usage, the frequency of bandwidth variation of the network slice, the allocated bandwidth of the network slice, and the number of reserved bandwidth adjustments of the network slice (S650), and the bandwidth If the adjustment is negative, the network slot Updating the bandwidth increase list by using ID, bandwidth adjustment amount, static weight, and dynamic weight (S660), sorting the bandwidth increase list by using static weight and dynamic weight (S670), and sorted bandwidth increase list. It may include the step of controlling the network using (S680).

오픈플로우(OpenFlow) 프로토콜을 이용하여 네트워크에 포함된 하나 이상의 SDN 스위치로부터 네트워크에 포함된 네트워크 슬라이스의 대역폭 사용량과 관련된 정보를 동적으로 수집할 수 있다(S610). Using the OpenFlow protocol, information related to bandwidth usage of a network slice included in a network may be dynamically collected from one or more SDN switches included in the network (S610).

네트워크 슬라이스의 대역폭 사용량과 관련된 정보를 동적으로 수집하는 단계(S610)는, 네트워크를 구성하는 각 노드에 속한 SDN 스위치로부터 오픈플로우 미터 정보를 이용하여 해당 SDN 스위치를 경유하는 패킷 정보를 수신하는 단계를 포함할 수 있다. 오픈플로우 프로토콜을 통해 수집할 수 있는 데이터의 종류는 여러 가지가 있으며, 오픈플로우의 버전이 올라갈 때마다 그 종류는 증가하고 있다. 오픈플로우 버전 1.3를 예로 들면, SDN 스위치로부터 오픈플로우 프로토콜을 통해 수신 포트의 포트 번호 (in_port), 수신 포트의 물리적 포트 번호 (in_phy_port), 테이블간에 정보를 전달하는 데 사용되는 메타 데이터 (metadata), Ethernet 대상 MAC 주소 (eth_dst), Ethernet 원본 MAC 주소 (eth_src), Ethernet 프레임 타입 (eth_type), VLAN ID (vlan_vid), VLAN PCP (vlan_pcp), IP DSCP (ip_dscp), IP ECN (ip_ecn), IP 프로토콜 종류 (ip_proto), IPv4의 소스 IP 주소 (ipv4_src), IPv4의 대상 IP 주소 (ipv4_dst), TCPd 원본 포트 번호 (tcp_src), TCP 목적지 포트 번호 (tcp_dst), UDP 소스 포트 번호 (udp_src), UDP 대상 포트 번호 (udp_dst), SCTP의 원본 포트 번호 (sctp_src), SCTP 목적지 포트 번호 (sctp_dst), ICMP의 Type (icmpv4_type), ICMP의 Code (icmpv4_code), ARP의 작동 코드 (arp_op), ARP의 소스 IP 주소 (arp_spa), ARP의 대상 IP 주소 (arp_tpa), ARP의 소스 MAC 주소 (arp_sha), ARP의 대상 MAC 주소 (arp_tha), IPv6의 소스 IP 주소 (ipv6_src), IPv6의 대상 IP 주소 (ipv6_dst), IPv6의 플로우 레이블 (ipv6_flabel), ICMPv6의 Type (icmpv6_type), ICMPv6의 Code (icmpv6_code), IPv6 네이버 디스커버리의 대상 주소 (ipv6_nd_target), IPv6 네이버 디스커버리 원본 링크 계층 주소 (ipv6_nd_sll), IPv6 네이버 디스커버리 타겟 링크 계층 주소 (ipv6_nd_tll), MPLS 레이블 (mpls_label), MPLS 트래픽 클래스 (mpls_tc), MPLS의 BoS 비트 (mpls_bos), 802.1ah PBB의 I-SID (pbb_isid), 논리 포트에 대한 메타 데이터 (tunnel_id), IPv6 확장 헤더의 의사 필드 (ipv6_exthdr) 등에 대한 정보를 수집할 수 있다. Dynamically collecting information related to bandwidth usage of the network slice (S610) may include receiving packet information via the corresponding SDN switch from the SDN switches belonging to each node constituting the network using the open flow meter information. It may include. There are many kinds of data that can be collected through the OpenFlow protocol, and the number is increasing with each version of OpenFlow. For example, with Openflow version 1.3, the port number of the receiving port (in_port), the receiving port's physical port number (in_phy_port) from the SDN switch, and the metadata used to pass information between tables, Ethernet destination MAC address (eth_dst), Ethernet source MAC address (eth_src), Ethernet frame type (eth_type), VLAN ID (vlan_vid), VLAN PCP (vlan_pcp), IP DSCP (ip_dscp), IP ECN (ip_ecn), IP protocol type (ip_proto), source IP address of IPv4 (ipv4_src), destination IP address of IPv4 (ipv4_dst), TCPd source port number (tcp_src), TCP destination port number (tcp_dst), UDP source port number (udp_src), UDP destination port number (udp_dst), SCTP source port number (sctp_src), SCTP destination port number (sctp_dst), ICMP Type (icmpv4_type), ICMP Code (icmpv4_code), ARP enable code (arp_op), ARP source IP address (arp_spa ), ARP's destination IP address (arp_tpa), ARP's source MAC note (arp_sha), ARP destination MAC address (arp_tha), IPv6 source IP address (ipv6_src), IPv6 destination IP address (ipv6_dst), IPv6 flow label (ipv6_flabel), ICMPv6 Type (icmpv6_type), ICMPv6 Code ( icmpv6_code), IPv6 Naver Discovery Target Address (ipv6_nd_target), IPv6 Naver Discovery Source Link Layer Address (ipv6_nd_sll), IPv6 Naver Discovery Target Link Layer Address (ipv6_nd_tll), MPLS Label (mpls_label), MPLS Traffic Class (mpls_tc), MPLS Information about a BoS bit (mpls_bos), an I-SID (pbb_isid) of an 802.1ah PBB, metadata about a logical port (tunnel_id), and a pseudo field (ipv6_exthdr) of an IPv6 extension header may be collected.

한편, 네트워크 슬라이스의 추가/갱신/삭제 요청 발생시 해당 네트워크 슬라이스의 경로에 속한 호스트 종단의 액세스 스위치의 미터 테이블 정보를 추가/갱신/삭제한다. 네트워크 슬라이스 경로들 중 1) 동일한 링크가 중첩되고, 2) 양방향간의 종단에서 2개 이상 분기되는 경로가 존재할 경우에는, 호스트 액세스 스위치 리스트가 아닌 네트워크 슬라이스에 속한 모든 스위치를 대상으로 제어를 수행한다.Meanwhile, when a network slice add / update / delete request is generated, the meter table information of an access switch of a host end belonging to a path of the corresponding network slice is added, updated, or deleted. If 1) the same link of network slice paths overlaps, and 2) two or more branched paths exist at both ends of the network slice paths, control is performed on all switches belonging to the network slice, not the host access switch list.

네트워크에 속한 임의의 두 호스트 사이의 데이터 요청 발생시, 네트워크 슬라이스 정보를 기반으로 플로우 규칙을 생성하고 미터를 매핑한다. 이 때 미터 식별자는 네트워크 식별자와 네트워크 슬라이스 식별자를 입력으로 하는 해시 함수를 수행한 결과를 기반으로 UUID(Universally Unique IDentifier)를 생성하여 활용할 수 있다. 해당 네트워크 슬라이스에 속한 모든 호스트 액세스 스위치에 동일한 미터 식별자를 활용함으로써 미터 관리 테이블 엔터리의 수를 줄일 수 있다.When a data request occurs between any two hosts in the network, a flow rule is generated and a meter is mapped based on the network slice information. In this case, the meter identifier may be used by generating a UUID (Universally Unique IDentifier) based on a result of performing a hash function that inputs a network identifier and a network slice identifier. By using the same meter identifier for all host access switches in the network slice, the number of meter management table entries can be reduced.

오픈플로우(OpenFlow) 프로토콜을 이용하여 네트워크에 포함된 하나 이상의 SDN 스위치로부터 수집한 정보를 이용하여 네트워크에 연결된 복수개의 호스트 사이의 대역폭 사용량과 관련된 정보를 실시간으로 수집할 수 있다. Using the OpenFlow protocol, information collected from one or more SDN switches included in a network may be used to collect information related to bandwidth usage between a plurality of hosts connected to the network in real time.

네트워크에 연결된 복수개의 호스트 사이의 대역폭 사용량을 계산하고, 각 호스트가 속한 네트워크 슬라이스를 파악한 후, 각 네트워크에 포함된 네트워크 슬라이스의 대역폭 사용량을 계산할 수 있다(S620).After calculating bandwidth usage among a plurality of hosts connected to the network, determining the network slice to which each host belongs, and calculating the bandwidth usage of the network slice included in each network (S620).

대역폭 사용량이 계산되면, 대역폭 사용량에 기초하여 네트워크 슬라이스의 대역폭 조절량을 계산할 수 있다(S630). When the bandwidth usage is calculated, the bandwidth adjustment amount of the network slice may be calculated based on the bandwidth usage (S630).

대역폭 사용량에 기초하여 네트워크 슬라이스의 대역폭 조절량을 계산하는 단계(S630)는, 네트워크 슬라이스에 할당된 대역폭을 로드하는 단계 및 할당된 대역폭에서 대역폭 사용량을 빼는 단계를 포함할 수 있다. 즉, 해당 네트워크 슬라이스에 할당된 대역폭을 확인한 후 해당 네트워크 슬라이스에 할당된 대역폭에서 해당 네트워크 슬라이스의 대역폭 사용량을 빼는 방식으로 네트워크 슬라이스의 대역폭 조절량을 계산할 수 있다.The step S630 of calculating the bandwidth adjustment amount of the network slice based on the bandwidth usage may include loading the bandwidth allocated to the network slice and subtracting the bandwidth usage from the allocated bandwidth. That is, after checking the bandwidth allocated to the corresponding network slice, the bandwidth adjustment amount of the network slice may be calculated by subtracting the bandwidth usage of the corresponding network slice from the bandwidth allocated to the corresponding network slice.

일례로, 어떤 네트워크 슬라이스에 할당된 대역폭이 300Mbps이고 해당 네트워크 슬라이스의 대역폭 사용량이 400Mbps라면 네트워크 슬라이스의 대역폭 조절량은 -100Mbps로 계산될 수 있다. 이 경우 대역폭 조절량은 음(-)이 되며, 대역폭 조절량이 음(-)이라는 것은 해당 네트워크 슬라이스에 할당된 대역폭을 늘릴 필요가 있음을 나타낸다.For example, if the bandwidth allocated to a network slice is 300Mbps and the bandwidth usage of the network slice is 400Mbps, the bandwidth adjustment amount of the network slice may be calculated as -100Mbps. In this case, the bandwidth throttling amount is negative, and a negative bandwidth throttling amount indicates that the bandwidth allocated to the corresponding network slice needs to be increased.

다른 예로, 어떤 네트워크 슬라이스에 할당된 대역폭이 300Mbps이고 해당 네트워크 슬라이스의 대역폭 사용량이 100Mbps라면 네트워크 슬라이스의 대역폭 조절량은 +200Mbps로 계산될 수 있다. 이 경우 대역폭 조절량은 양(+)이 되며, 대역폭 조절량이 양(+)이라는 것은 해당 네트워크 슬라이스에 할당된 대역폭을 줄일 수 있음을 나타낸다.As another example, if the bandwidth allocated to a network slice is 300Mbps and the bandwidth usage of the corresponding network slice is 100Mbps, the bandwidth adjustment amount of the network slice may be calculated as + 200Mbps. In this case, the bandwidth throttling amount is positive, and the positive bandwidth throttling amount indicates that the bandwidth allocated to the corresponding network slice can be reduced.

복수개의 네트워크 슬라이스 중 대역폭을 조절하는 순위를 판단하기 위하여 네트워크 슬라이스에 설정된 정적 가중치를 로드할 수 있다(S640).In order to determine a priority for adjusting bandwidth among the plurality of network slices, a static weight set in the network slice may be loaded (S640).

네트워크 슬라이스에 설정된 정적 가중치를 로드하는 단계(S640)는, 네트워크 관리자가 네트워크 슬라이스의 중요도에 따라 설정한 정적 가중치 값을 로드하는 단계를 포함한다. 정적 가중치는 네트워크 관리자가 네트워크 슬라이스의 중요도에 따라 임의로 설정할 수 있다. 예를 들어 정적 가중치는 0에서 1 사이의 숫자일 수 있고, 최우선적으로 네트워크 자원을 할당해야 하는 네트워크 슬라이스에 적용되는 정적 가중치는 1일 수 있다. 가중치값이 크다는 것은 해당 네트워크 슬라이스에 우선적으로 네트워크 자원이 할당되어야 하며, 복수개의 네트워크 슬라이스에 대하여 대역폭 증가 요청이 있을 경우, 다른 네트워크 슬라이스보다 우선적으로 대역폭을 증가시켜야 함을 의미한다.Loading the static weight set in the network slice (S640) includes loading a static weight value set by the network administrator according to the importance of the network slice. The static weight can be arbitrarily set by the network administrator according to the importance of the network slice. For example, the static weight may be a number between 0 and 1, and the static weight applied to the network slice to which network resources should be allocated first and foremost may be 1. A large weight value means that a network resource should be allocated to a corresponding network slice first, and when a bandwidth increase request is requested for a plurality of network slices, the bandwidth should be increased before other network slices.

복수개의 네트워크 슬라이스 중 대역폭을 조절하는 순위를 판단하기 위하여 네트워크 슬라이스의 동적 가중치를 계산할 수 있다(S650).Dynamic weights of the network slices may be calculated in order to determine a priority for adjusting bandwidth among the plurality of network slices (S650).

네트워크 슬라이스의 동적 가중치를 계산하는 단계(S650)에서는, 네트워크 슬라이스의 대역폭 사용량, 네트워크 슬라이스의 대역폭 변동 빈도, 네트워크 슬라이스의 할당 대역폭 및 네트워크 슬라이스의 대역폭 조절 유보 횟수를 이용하여 네트워크 슬라이스의 동적 가중치를 계산할 수 있다(S650).In the calculating of the dynamic weight of the network slice (S650), the dynamic weight of the network slice may be calculated using the bandwidth usage of the network slice, the frequency variation of the bandwidth of the network slice, the allocated bandwidth of the network slice, and the number of reserved bandwidth adjustments of the network slice. Can be (S650).

동적 가중치를 계산하는 공식을 수학식을 이용하여 명확하게 정리하면 수학식 1과 같다.The formula for calculating the dynamic weight is clearly shown in Equation 1 using Equation.

Figure 112019105458579-pat00001
Figure 112019105458579-pat00001

수학식 1에서 BWused는 해당 네트워크 슬라이스의 대역폭 사용량, BWallocated는 해당 네트워크 슬라이스에 할당된 대역폭, Nskip(cur)은 해당 네트워크 슬라이스의 대역폭 조절 유보 횟수, Nskip(max)은 모든 네트워크 슬라이스 중 최대 대역폭 조절 유보 횟수, Nchange(cur)은 해당 네트워크 슬라이스의 대역폭 변동 빈도, Nchange(max)은 모든 네트워크 슬라이스 중 최대 대역폭 변동 빈도를 의미한다.In Equation 1, BWused is the bandwidth usage of the network slice, BWallocated is the bandwidth allocated to the network slice, Nskip (cur) is the number of bandwidth adjustment reservations of the network slice, and Nskip (max) is the maximum bandwidth adjustment reservation among all network slices. The number of times, Nchange (cur) is the frequency of the bandwidth change of the network slice, Nchange (max) is the maximum bandwidth change frequency of all network slices.

Nskip(max)은 모든 네트워크 슬라이스 중 최대 대역폭 조절 유보 횟수를 의미하는데, 구체적으로 Nskip(max)은 현재 네트워크에 포함된 모든 네트워크 슬라이스의 대역폭 조절 유보 횟수 중에서, 대역폭 조절 유보 횟수가 가장 큰 네트워크 슬라이스의 대역폭 조절 유보 횟수를 의미한다. Nskip(cur)를 Nskip(max)로 나눈 것은 데이터 정규화를 위해서이다.Nskip (max) means the maximum number of bandwidth adjustment reservations among all network slices. Specifically, Nskip (max) is the number of bandwidth adjustment reservations among the network slices of all network slices included in the current network. The number of reserved bandwidth adjustments. Nskip (cur) divided by Nskip (max) is for data normalization.

Nchange(max)은 모든 네트워크 슬라이스 중 최대 대역폭 변동 빈도를 의미하는데, 구체적으로 Nchange(max)은 현재 네트워크에 포함된 모든 네트워크 슬라이스의 대역폭 변동 빈도 중에서, 대역폭 변동 빈도가 가장 큰 네트워크 슬라이스의 대역폭 변동 빈도를 의미한다. Nchange(cur)를 Nchange(max)로 나눈 것은 데이터 정규화를 위해서이다.Nchange (max) is the maximum frequency of bandwidth variation among all network slices. Specifically, Nchange (max) is the frequency of bandwidth variation of the network slice with the largest bandwidth variation among all network slices included in the current network. Means. Nchange (cur) divided by Nchange (max) is for data normalization.

상기 수학식 1에 나타난 것과 같이, 어떤 네트워크 슬라이스의 할당 대역폭(BWallocated) 대비 대역폭 사용량(BWused)이 클수록 해당 네트워크 슬라이스의 동적 가중치를 크게 계산할 수 있다. 예를 들어 할당된 대역폭이 300Mbps이고 대역폭 사용량이 400Mbps인 경우보다, 할당된 대역폭이 300Mbps이고 대역폭 사용량이 700Mbps인 경우의 동적 가중치를 크게 계산할 수 있다. 할당 대역폭(BWallocated) 대비 대역폭 사용량(BWused)이 큰 경우, 해당 네트워크 슬라이스에 할당된 대역폭을 시급히 변경하여야만 해당 네트워크 슬라이스에서의 통신이 원활히 수행될 수 있기 때문이다.As shown in Equation 1, as the bandwidth usage (BWused) is larger than the allocation bandwidth (BWallocated) of a network slice, the dynamic weight of the corresponding network slice may be calculated. For example, the dynamic weighting when the allocated bandwidth is 300 Mbps and the bandwidth usage is 700 Mbps can be calculated more than when the allocated bandwidth is 300 Mbps and the bandwidth usage is 400 Mbps. This is because when the bandwidth usage (BWused) is larger than the allocation bandwidth (BWallocated), communication in the network slice can be performed smoothly only when the bandwidth allocated to the network slice is urgently changed.

상기 수학식 1에 나타난 것과 같이, 네트워크에 포함된 모든 네트워크 슬라이스 중 최대 대역폭 조절 유보 횟수(Nskip(max)) 대비 해당 네트워크 슬라이스의 대역폭 조절 유보 횟수(Nskip(cur))가 클수록 동적 가중치를 크게 계산할 수 있다. 예를 들어 네트워크에 포함된 모든 네트워크 슬라이스 중 최대 대역폭 조절 유보 횟수가 9회이고 해당 네트워크 슬라이스의 대역폭 조절 유보 횟수가 1회인 경우보다, 네트워크에 포함된 모든 네트워크 슬라이스 중 최대 대역폭 조절 유보 횟수가 9회이고 해당 네트워크 슬라이스의 대역폭 조절 유보 횟수가 7회인 경우의 동적 가중치를 크게 계산할 수 있다. 네트워크 슬라이스의 대역폭 사용량이 많아 할당 대역폭을 증가시킬 필요가 있었으나, 네트워크 자원의 부족 또는 우선순위를 가진 다른 네트워크 슬라이스의 할당 대역폭 증가로 인하여 네트워크 슬라이스의 할당 대역폭을 증가시키지 못한 경우, 네트워크 슬라이스의 할당 대역폭 조절이 유보되고 대역폭 조절 유보 횟수가 1씩 증가한다.As shown in Equation 1, as the number of bandwidth adjustment reservations Nskip (cur) of the corresponding network slice is larger than the maximum number of bandwidth adjustment reservations Nskip (max) among all network slices included in the network, the dynamic weight is increased. Can be. For example, 9 maximum bandwidth throttling reservations among all network slices included in the network, rather than 9 maximum bandwidth throttling reservations among all network slices in the network and 1 bandwidth throttling reservation with that network slice. And when the number of reserved bandwidth adjustments of the corresponding network slice is seven, the dynamic weight can be largely calculated. If the bandwidth of the network slice is too high, the allocation bandwidth needs to be increased.However, if the allocation bandwidth of the network slice cannot be increased due to the lack of network resources or the increase of the allocation bandwidth of another network slice with priority, the allocation bandwidth of the network slice The adjustment is reserved and the number of bandwidth adjustment reservations is increased by one.

네트워크 자원은 현재 네트워크 사용량이 많은 네트워크 슬라이스에 우선적으로 할당됨으로써 효율적으로 대역폭이 사용되도록 하는 것이 바람직하나, 효율적인 대역폭 사용과 함께 공정한 대역폭 할당도 고려되어야 한다. 어떤 네트워크 슬라이스의 정적 가중치 및 동적 가중치가 다른 네트워크 슬라이스의 정적 가중치 및 동적 가중치보다 크다는 이유로 해당 네트워크 슬라이스에만 네트워크 자원의 우선 할당이 이루어진다면 해당 네트워크 슬라이스가 네트워크 자원을 독점하는 것과 같은 결과가 초래된다. 그 결과 다른 네트워크 슬라이스에서의 통신이 원활하게 이루어지지 않을 수 있다. 따라서 공정한 대역폭 할당의 관점에서 대역폭 조절 유보 횟수가 큰 네트워크 슬라이스에 대하여 네트워크 자원 할당의 우선 순위를 높이는 것이 바람직하다.Although network resources are preferably allocated to network slices that are currently busy, so that bandwidth can be efficiently used, fair bandwidth allocation should be considered along with efficient bandwidth usage. If the static weight and dynamic weight of one network slice are greater than the static weight and dynamic weight of another network slice, the prior assignment of network resources to only that network slice will result in the network slice monopolizing the network resources. As a result, communication in other network slices may not be smooth. Therefore, in view of fair bandwidth allocation, it is desirable to increase the priority of network resource allocation for network slices having a large number of reserved bandwidth adjustments.

상기 수학식 1에 나타난 것과 같이, 네트워크에 포함된 모든 네트워크 슬라이스 중 최대 대역폭 변동 빈도(Nchange(max)) 대비 해당 네트워크 슬라이스의 대역폭 변동 빈도(Nchange(cur))가 클수록 동적 가중치를 크게 계산할 수 있다. 예를 들어 네트워크에 포함된 모든 네트워크 슬라이스 중 최대 대역폭 변동 빈도가 20회/분이고 해당 네트워크 슬라이스의 대역폭 변동 빈도가 10회/분인 경우보다, 네트워크에 포함된 모든 네트워크 슬라이스 중 최대 대역폭 변동 빈도가 20회/분이고 해당 네트워크 슬라이스의 대역폭 변동 빈도가 17회/분인 경우의 동적 가중치를 크게 계산할 수 있다.As shown in Equation 1, as the bandwidth variation frequency Nchange (cur) of the corresponding network slice is larger than the maximum bandwidth variation frequency Nchange (max) among all network slices included in the network, the dynamic weight may be larger. . For example, 20 times the maximum bandwidth variation among all network slices included in the network, compared to 20 times / minute of the maximum bandwidth variation among all network slices included in the network and 10 times / minute of the bandwidth slice of the network slice. The dynamic weight can be largely calculated when / min and the frequency of the bandwidth change of the corresponding network slice is 17 times / min.

네트워크 슬라이스에 할당된 대역폭 이상의 대역폭 사용량이 간헐적으로 발생하는 경우에는 일시적인 트래픽 증가로 인한 현상일 수 있으므로 반드시 해당 네트워크 슬라이스의 할당 대역폭을 증가시켜야 하는 것은 아니다. 그러나 네트워크 슬라이스에 할당된 대역폭 이상의 대역폭 사용량이 빈번하게 발생하는 경우에는 일시적인 트래픽 증가가 아닌 지속적인 트래픽 증가로 볼 수 있으므로 해당 네트워크 슬라이스의 할당 대역폭을 증가시켜 해당 네트워크 슬라이스의 원할한 통신이 이루어지도록 하는 것이 바람직하다.If bandwidth usage intermittently exceeds the bandwidth allocated to the network slice, it may be a result of temporary traffic increase, and thus it is not necessary to increase the allocated bandwidth of the network slice. However, if the bandwidth usage occurs more than the bandwidth allocated to the network slice, it can be regarded as continuous traffic increase, not temporary traffic increase. Therefore, it is recommended to increase the allocated bandwidth of the network slice so that smooth communication of the network slice is achieved. desirable.

대역폭 조절량이 음(-)이면, 네트워크 슬라이스의 대역폭 조절량, 정적 가중치 및 동적 가중치를 이용하여 대역폭 증가 리스트를 업데이트할 수 있다(S660).If the bandwidth adjustment amount is negative, the bandwidth increase list may be updated using the bandwidth adjustment amount, the static weight, and the dynamic weight of the network slice (S660).

대역폭 증가 리스트란 대역폭 증가가 필요한 네트워크 슬라이스들로 이루어진 리스트이다. 네트워크 슬라이스의 대역폭 조절량이 음(-)인 경우 해당 네트워크 슬라이스에 대한 정보를 대역폭 증가 리스트에 삽입할 수 있다. 네트워크 슬라이스의 대역폭 조절량이 양(+)인 경우에는 해당 네트워크 슬라이스에 대한 정보를 별도의 대역폭 감소 리스트에 삽입하는 것이 바람직하다. 대역폭 감소 리스트에 대해서는 후술한다.The bandwidth increase list is a list of network slices that require bandwidth increase. If the bandwidth adjustment amount of the network slice is negative, information about the network slice may be inserted into the bandwidth increase list. If the bandwidth adjustment amount of the network slice is positive, it is preferable to insert information about the network slice into a separate bandwidth reduction list. The bandwidth reduction list will be described later.

대역폭 증가 리스트는 우선순위 큐일 수 있다. 대역폭 증가 리스트에는 각 네트워크 슬라이스에 대한 정보가 저장될 수 있으며, 각 네트워크 슬라이스에 대한 정보는 각 네트워크 슬라이스의 ID, 대역폭 조절량, 정적 가중치 및 동적 가중치를 포함할 수 있다. 대역폭 증가 리스트에 삽입되어 있지 않은 네트워크 슬라이스는 해당 네트워크 슬라이스에 대한 정보가 해당 네트워크 슬라이스의 정적 가중치 및 동적 가중치에 의해 계산되는 우선순위를 이용하여 대역폭 증가 리스트에 삽입(enqueue)될 수 있다. 이미 대역폭 증가 리스트에 삽입되어 있는 네트워크 슬라이스의 경우에는 대역폭 증가 리스트에서의 정보가 업데이트될 수 있으며, 정적 가중치 및 동적 가중치에 의해 계산되는 우선순위에 의해 대역폭 증가 리스트에서의 순서가 조절될 수 있다.The bandwidth increase list may be a priority queue. The bandwidth increase list may store information about each network slice, and the information about each network slice may include ID, bandwidth adjustment amount, static weight, and dynamic weight of each network slice. Network slices that are not inserted in the bandwidth increase list may be enqueued to the bandwidth increase list by using priority of information about the network slices calculated by the static weight and the dynamic weight of the network slice. In the case of a network slice already inserted in the bandwidth increase list, the information in the bandwidth increase list may be updated, and the order in the bandwidth increase list may be adjusted by the priority calculated by the static weight and the dynamic weight.

또는, 대역폭 증가 리스트는 큐, 스택 또는 배열일 수 있다. 대역폭 증가 리스트에는 각 네트워크 슬라이스에 대한 정보가 저장될 수 있으며, 각 네트워크 슬라이스에 대한 정보는 각 네트워크 슬라이스의 ID, 대역폭 조절량, 정적 가중치 및 동적 가중치를 포함할 수 있다. 대역폭 증가 리스트에 삽입되어 있지 않은 네트워크 슬라이스는 해당 네트워크 슬라이스에 대한 정보가 대역폭 증가 리스트에 삽입될 수 있다. 이미 대역폭 증가 리스트에 삽입되어 있는 네트워크 슬라이스의 경우에는 대역폭 증가 리스트에서의 정보가 업데이트될 수 있다. 대역폭 증가 리스트에의 삽입 또는 정보 업데이트가 끝난 후에 대역폭 증가 리스트는 대역폭 증가 리스트에 포함된 각 네트워크 슬라이스의 정적 가중치 및 동적 가중치에 의해 계산되는 우선순위에 의해 정렬(sort)될 수 있다(S670).Alternatively, the bandwidth increase list may be a queue, stack or array. The bandwidth increase list may store information about each network slice, and the information about each network slice may include ID, bandwidth adjustment amount, static weight, and dynamic weight of each network slice. For a network slice that is not inserted in the bandwidth increase list, information about the network slice may be inserted in the bandwidth increase list. In the case of a network slice already inserted in the bandwidth increase list, the information in the bandwidth increase list may be updated. After the insertion into the bandwidth increase list or the update of the information is finished, the bandwidth increase list may be sorted by the priority calculated by the static weight and the dynamic weight of each network slice included in the bandwidth increase list (S670).

대역폭 증가 리스트가 우선순위 큐일 경우 대역폭 증가 리스트는 정렬된 상태로 저장된다. 대역폭 증가 리스트가 우선순위 큐가 아니라 기타 큐, 스택 또는 배열 등의 자료구조인 경우, 대역폭 증가 리스트는 임의의 순서로 저장되었다가 이후 별도의 정렬 작업을 수행함으로써 정렬된다.If the bandwidth increase list is a priority queue, the bandwidth increase list is stored in an ordered state. If the bandwidth increase list is not a priority queue but a data structure such as another queue, stack, or array, the bandwidth increase list is stored in random order and then sorted by performing a separate sort operation.

정렬된 대역폭 증가 리스트를 얻은 후, 정렬된 대역폭 증가 리스트를 이용하여 네트워크를 제어할 수 있다(S680).After obtaining the sorted bandwidth increase list, the network may be controlled using the sorted bandwidth increase list (S680).

도 7은 본 발명의 일 실시예에 따른 네트워크 제어 방법에서, 대역폭 증가 리스트를 이용하여 대역폭을 변경하는 과정을 예시한 순서도이다.7 is a flowchart illustrating a process of changing a bandwidth using a bandwidth increase list in a network control method according to an embodiment of the present invention.

도 7에 나타난 것과 같이, 네트워크를 제어하는 단계(S680)는, 대역폭 조절량이 양(+)이면(S681의 '예(Y)'), 네트워크 슬라이스에 대한 정보를 대역폭 감소 리스트에 저장하는 단계(S683)를 포함할 수 있다.As shown in FIG. 7, the controlling of the network (S680) may include storing information about the network slice in the bandwidth reduction list when the amount of bandwidth adjustment is positive (YES in S681). S683).

대역폭 감소 리스트란 대역폭 감소가 가능한 네트워크 슬라이스들로 이루어진 리스트이다. 네트워크 슬라이스의 대역폭 조절량이 양(+)인 경우 해당 네트워크 슬라이스에 대한 정보를 대역폭 감소 리스트에 삽입할 수 있다. 네트워크 슬라이스의 대역폭 조절량이 양(+)인 경우에 즉각적으로 대역폭을 감소시킬 필요가 없고, 대역폭 증가를 요구하는 다른 네트워크 슬라이스가 있을 때 대역폭을 감소시키는 동작을 수행하는 것이 바람직하다. 대역폭 감소 리스트에 삽입된 네트워크 슬라이스의 대역폭 조절량(즉 여분의 대역폭)은 후술하는 가용 대역폭 계산에 고려될 수 있다.The bandwidth reduction list is a list of network slices capable of bandwidth reduction. If the bandwidth adjustment amount of the network slice is positive, information about the network slice may be inserted into the bandwidth reduction list. If the bandwidth throttling amount of the network slice is positive, it is not necessary to immediately reduce the bandwidth, and it is desirable to perform the operation of reducing the bandwidth when there is another network slice requiring the bandwidth increase. The amount of bandwidth adjustment (ie, extra bandwidth) of the network slice inserted into the bandwidth reduction list can be taken into account in the available bandwidth calculation described below.

대역폭 감소 리스트에 포함된 네트워크 슬라이스의 대역폭 조절량은 가용 대역폭 계산에 고려되며, 대역폭 증가 리스트에 포함된 네트워크 슬라이스의 대역폭 조절량이 음(-)으로 계산됨에 따라 상기 네트워크 슬라이스의 대역폭 증가가 요구되고, 요구되는 대역폭 증가량은 대역폭 조절량이 음(-)으로 계산된 대역폭 조절량에 절대값을 씌워 계산된다. 요구되는 대역폭 증가량(대역폭 조절량의 절대값)이 가용 대역폭 이하인 경우, 대역폭 감소 리스트에 포함된 네트워크 슬라이스의 대역폭을 감소시킨 후, 대역폭 증가 리스트에 포함된 네트워크 슬라이스의 대역폭을 증가시키게 된다.The bandwidth adjustment amount of the network slice included in the bandwidth reduction list is taken into account in the available bandwidth calculation, and the bandwidth increase of the network slice is required as the bandwidth adjustment amount of the network slice included in the bandwidth increase list is negative. The amount of bandwidth increase is calculated by adding the absolute value to the amount of bandwidth adjustment in which the bandwidth adjustment is negative. If the required bandwidth increase amount (absolute value of the bandwidth adjustment amount) is less than the available bandwidth, the bandwidth of the network slice included in the bandwidth reduction list is decreased, and then the bandwidth of the network slice included in the bandwidth increase list is increased.

네트워크를 제어하는 단계(S680)는, 대역폭 조절량이 음(-)이면(S681의 '아니오(N)'), 대역폭 조절량이 가용 대역폭보다 작은지 여부를 판단하는 단계를 포함할 수 있다(S682).Controlling the network (S680) may include determining whether the bandwidth adjustment amount is smaller than the available bandwidth if the bandwidth adjustment amount is negative (“N” in S681) (S682). .

대역폭 조절량(음(-)으로 계산된 대역폭 조절량의 절대값)이 가용 대역폭보다 작으면(S682의 '예(Y)'), 대역폭 감소 리스트에 포함된 네트워크 슬라이스의 대역폭을 감소시킨다(S684). 대역폭 감소 리스트에 포함된 네트워크 슬라이스의 대역폭이 감소되면, 대역폭 조절량이 음(-)인 네트워크 슬라이스의 대역폭을 증가시킨다(S686).If the bandwidth adjustment amount (absolute value of the bandwidth adjustment amount calculated as negative) is smaller than the available bandwidth (YES in S682), the bandwidth of the network slice included in the bandwidth reduction list is reduced (S684). When the bandwidth of the network slice included in the bandwidth reduction list is reduced, the bandwidth of the network slice in which the bandwidth adjustment amount is negative is increased (S686).

대역폭 조절량이 가용 대역폭보다 크면(S682의 '아니오(N)'), 해당 네트워크 슬라이스의 대역폭 조절을 유보한다. 네트워크 슬라이스의 대역폭 조절을 유보하는 단계는, 해당 네트워크 슬라이스의 대역폭 조절 유보 횟수를 1만큼 증가시키는 단계(S685)를 포함할 수 있다. 대역폭 조절 유보 횟수는 동적 가중치 계산에 반영되어, 대역폭 조절 유보 횟수가 클 수록 추후 네트워크 대역폭 증가에 대한 우선순위를 부여하게 된다.If the bandwidth adjustment amount is greater than the available bandwidth (No in S682), the bandwidth adjustment of the corresponding network slice is reserved. The step of suspending bandwidth adjustment of the network slice may include increasing the number of reserved bandwidth adjustments of the corresponding network slice (S685). The number of reserved bandwidth adjustments is reflected in the dynamic weight calculation, so that the larger the number of reserved bandwidth adjustments, the more priority is given to future network bandwidth increase.

도 8는 본 발명의 일 실시예에 따른 컴퓨팅 장치를 예시한 블록도이다.8 is a block diagram illustrating a computing device according to an embodiment of the present invention.

도 8에 나타난 것과 같이, 본 발명의 일 실시예에 따른 컴퓨팅 장치는, 하나 이상의 프로세서(810), 프로세서(810)에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리(820), 하나 이상의 컴퓨터 프로그램이 비일시적으로 저장된 스토리지(830), 및 네트워크 인터페이스(840)를 포함할 수 있다.As shown in FIG. 8, a computing device according to an embodiment of the present invention may include one or more processors 810, a memory 820 for loading a computer program executed by the processor 810, and one or more computer programs. Temporarily stored storage 830, and network interface 840.

프로세서(810)는 본 발명의 실시예들에 따른 방법을 구현할 수 있는 컴퓨팅 장치의 각 구성의 전반적인 동작을 제어한다. 프로세서(810)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(810)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 본 발명의 실시예들에 따른 네트워크 제어 방법을 구현할 수 있는 컴퓨팅 장치는 하나 이상의 프로세서를 구비할 수 있다.Processor 810 controls the overall operation of each component of a computing device capable of implementing the method according to embodiments of the present invention. The processor 810 is configured to include a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), a graphics processing unit (GPU), or any type of processor well known in the art. Can be. In addition, the processor 810 may perform operations on at least one application or program for executing a method according to embodiments of the present invention. A computing device capable of implementing a network control method according to embodiments of the present invention may include one or more processors.

메모리(820)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(820)는 본 발명의 실시예들에 따른 네트워크 제어 방법을 실행하기 위하여 스토리지(830)로부터 하나 이상의 컴퓨터 프로그램을 로드할 수 있다. The memory 820 stores various data, commands, and / or information. The memory 820 may load one or more computer programs from the storage 830 to execute a network control method according to embodiments of the present invention.

스토리지(830)는 하나 이상의 컴퓨터 프로그램을 비일시적으로 저장할 수 있다. 스토리지(830)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다. 스토리지(830)에는 본 발명의 실시예들에 따른 네트워크 제어 방법을 수행하도록 하는 컴퓨터 프로그램이 저장되어 있다.Storage 830 may non-transitory store one or more computer programs. The storage 830 may be a non-volatile memory such as a read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EPROM), flash memory, or the like, a hard disk, a removable disk, or a technical field to which the present invention pertains. It may comprise any known type of computer readable recording medium. The storage 830 stores a computer program for performing a network control method according to embodiments of the present invention.

네트워크 인터페이스(840)는 본 발명의 일 실시예에 따른 컴퓨팅 장치의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(840)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(840)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The network interface 840 supports wired and wireless Internet communication of a computing device according to an embodiment of the present invention. In addition, the network interface 840 may support various communication methods other than Internet communication. To this end, the network interface 840 may be configured to include a communication module well known in the art.

본 발명의 실시예들에 따른 네트워크 제어 방법을 수행하도록 하는 컴퓨터 프로그램은 메모리(830)에 로드되어, 프로세서(810)로 하여금 본 발명의 실시예들에 따른 방법을 수행하도록 하는 인스트럭션을 포함할 수 있다.The computer program for performing the network control method according to the embodiments of the present invention may be loaded into the memory 830 to include instructions for causing the processor 810 to perform the method according to the embodiments of the present invention. have.

구체적으로 컴퓨터 프로그램은, SDN(Software Defined Networking) 기반의 네트워크에 대하여 오픈플로우(OpenFlow) 프로토콜을 이용하여 네트워크에 포함된 하나 이상의 SDN 스위치로부터 네트워크에 포함된 네트워크 슬라이스의 대역폭 사용량과 관련된 정보를 동적으로 수집하는 인스트럭션, 대역폭 사용량과 관련된 정보를 이용하여 네트워크 슬라이스의 대역폭 사용량을 계산하는 인스트럭션, 대역폭 사용량에 기초하여 네트워크 슬라이스의 대역폭 조절량을 계산하는 인스트럭션, 네트워크 슬라이스에 설정된 정적 가중치를 로드하는 인스트럭션, 대역폭 사용량, 네트워크 슬라이스의 대역폭 변동 빈도, 네트워크 슬라이스의 할당 대역폭 및 네트워크 슬라이스의 대역폭 조절 유보 횟수를 이용하여 동적 가중치를 계산하는 인스트럭션, 대역폭 조절량이 음(-)이면, 네트워크 슬라이스의 ID, 대역폭 조절량, 정적 가중치 및 동적 가중치를 이용하여 대역폭 증가 리스트를 업데이트하는 인스트럭션, 정적 가중치 및 동적 가중치를 이용하여 대역폭 증가 리스트를 정렬하는 인스트럭션 및 정렬된 대역폭 증가 리스트를 이용하여 네트워크를 제어하는 인스트럭션을 포함할 수 있다. 각 인스트럭션의 내용은 전술한 네트워크 제어 방법과 대동소이하므로 중복되는 설명은 생략한다.Specifically, a computer program may dynamically obtain information regarding bandwidth usage of a network slice included in a network from at least one SDN switch included in the network using an OpenFlow protocol for a software defined network (SDN) based network. Instructions to collect, instructions to calculate bandwidth usage of network slices using information related to bandwidth usage, instructions to calculate bandwidth throttling of network slices based on bandwidth usage, instructions to load static weights set in network slices, bandwidth usage , Instructions for calculating dynamic weights using the frequency variation of the network slices, the allocated bandwidth of the network slices, and the number of times the network slices are reserved, and the amount of bandwidth adjustments is negative. Face, instructions to update the bandwidth increase list using the ID, bandwidth adjustment, static weights and dynamic weights of the network slice, instructions to sort the bandwidth increase list using static weights and dynamic weights, and an ordered list of bandwidth increase It may include instructions for controlling the network. Since the contents of each instruction are similar to those of the above-described network control method, redundant descriptions are omitted.

본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 본 명세서의 각 순서도의 단계에서 하나 이상의 단계의 순서를 변경하거나, 하나 이상의 단계를 생략하거나, 하나 이상의 단계를 병렬적으로 실행하는 등 본 명세서의 각 순서도의 각 단계를 다양하게 수정 및 변형할 수 있을 것이다.Those skilled in the art to which the present invention pertains may change the order of one or more steps, omit one or more steps, or one or more steps in each flowchart step of the present specification without departing from the essential characteristics of the present invention. Various steps may be variously modified and modified, such as executing steps in parallel.

지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터 프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 PC와 같은 고정식 컴퓨팅 장치를 모두 포함한다.The methods according to the embodiments of the present invention described so far may be performed by execution of a computer program implemented in computer readable code. The computer program may be transmitted to and installed on the second computing device from the first computing device via a network such as the Internet, and thus may be used in the second computing device. The first computing device and the second computing device both include a server device, a physical server belonging to a server pool for cloud services, and a stationary computing device such as a desktop PC.

상기 컴퓨터 프로그램은 마그네틱 저장매체(예를 들면, ROM, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, CD-ROM, DVD 등), 플래시 메모리(예를 들면, USB, SSD) 등과 같은 비-일시적인 기록매체(non-transitory medium)에 저장된 것일 수도 있다.The computer program may include a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.), an optical reading medium (for example, a CD-ROM, a DVD, etc.), a flash memory (for example, a USB, an SSD), and the like. It may be stored in the same non-transitory medium.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may be embodied in other specific forms without changing the technical spirit or essential features of the present invention. I can understand. Therefore, it is to be understood that the embodiments described above are exemplary in all respects and not restrictive.

Claims (11)

SDN(Software Defined Networking) 기반의 네트워크 제어 방법에 있어서,
오픈플로우(OpenFlow) 프로토콜을 이용하여 상기 네트워크에 포함된 하나 이상의 SDN 스위치로부터 상기 네트워크에 포함된 네트워크 슬라이스의 대역폭 사용량을 계산하는 단계;
상기 대역폭 사용량에 기초하여 상기 네트워크 슬라이스의 대역폭 조절량을 계산하는 단계;
상기 네트워크 슬라이스에 설정된 정적 가중치를 로드하는 단계;
상기 네트워크 슬라이스의 대역폭 조절 유보 횟수를 이용하여 상기 네트워크 슬라이스의 동적 가중치를 계산하는 단계;
상기 계산된 대역폭 조절량이 음(-)이면, 상기 로드된 정적 가중치 및 상기 계산된 동적 가중치를 이용하여 대역폭 증가 리스트에서 상기 네트워크 슬라이스의 우선순위를 업데이트하는 단계; 및
상기 업데이트된 대역폭 증가 리스트의 우선순위에 따라 상기 네트워크를 제어하는 단계를 포함하되,
상기 네트워크를 제어하는 단계는,
상기 대역폭 조절량이 가용 대역폭보다 크면, 상기 네트워크 슬라이스의 대역폭 조절을 유보하고 상기 대역폭 조절 유보 횟수를 증가시키는 단계를 포함하고,
상기 정적 가중치 또는 상기 동적 가중치가 높은 값일수록 상기 우선순위는 높아지며,
상기 대역폭 조절 유보 횟수가 증가될수록 상기 동적 가중치는 더 큰 값으로 계산되는,
네트워크 제어 방법.
In the network defined method based on Software Defined Networking (SDN),
Calculating bandwidth usage of a network slice included in the network from at least one SDN switch included in the network using an OpenFlow protocol;
Calculating a bandwidth adjustment amount of the network slice based on the bandwidth usage;
Loading a static weight set on the network slice;
Calculating a dynamic weight of the network slice using the number of reserved bandwidth adjustments of the network slice;
If the calculated bandwidth adjustment amount is negative, updating the priority of the network slice in a bandwidth increase list using the loaded static weight and the calculated dynamic weight; And
Controlling the network according to a priority of the updated bandwidth increase list,
Controlling the network,
If the amount of bandwidth throttling is greater than the available bandwidth, suspending bandwidth throttling of the network slice and increasing the number of bandwidth throttling reservations;
The higher the static weight or the dynamic weight is, the higher the priority is,
As the number of reserved bandwidth adjustments increases, the dynamic weight is calculated to be a larger value.
Network control method.
제1항에 있어서,
상기 대역폭 조절량을 계산하는 단계는,
상기 네트워크 슬라이스에 설정된 대역폭을 로드하는 단계; 및
상기 설정된 대역폭에서 상기 대역폭 사용량을 빼는 단계를 포함하는,
네트워크 제어 방법.
The method of claim 1,
Computing the bandwidth adjustment amount,
Loading a bandwidth set in the network slice; And
Subtracting the bandwidth usage from the set bandwidth;
Network control method.
제1항에 있어서,
상기 네트워크를 제어하는 단계는,
상기 대역폭 조절량이 양(+)이면, 상기 네트워크 슬라이스에 대한 정보를 대역폭 감소 리스트에 저장하는 단계; 및
상기 대역폭 조절량이 음(-)이고, 상기 대역폭 조절량이 상기 가용 대역폭 이하이면, 상기 대역폭 감소 리스트에 포함된 하나 이상의 네트워크 슬라이스의 대역폭을 감소시킨 후 상기 대역폭 조절량에 따라 상기 네트워크 슬라이스의 대역폭을 증가시키는 단계를 포함하는,
네트워크 제어 방법.
The method of claim 1,
Controlling the network,
If the amount of bandwidth adjustment is positive (+), storing information about the network slice in a bandwidth reduction list; And
If the bandwidth adjustment amount is negative and the bandwidth adjustment amount is less than the available bandwidth, reducing the bandwidth of one or more network slices included in the bandwidth reduction list and then increasing the bandwidth of the network slice according to the bandwidth adjustment amount. Comprising the steps,
Network control method.
제3항에 있어서,
상기 대역폭 감소 리스트에 저장하는 단계와 상기 대역폭을 증가시키는 단계 사이에, 상기 대역폭 감소 리스트에 저장된 각 네트워크 슬라이스에 대한 대역폭 조절량을 이용하여 상기 가용 대역폭을 계산하는 단계를 포함하는,
네트워크 제어 방법.
The method of claim 3,
Between the storing in the bandwidth reduction list and increasing the bandwidth, calculating the available bandwidth using a bandwidth adjustment amount for each network slice stored in the bandwidth reduction list,
Network control method.
제3항에 있어서,
상기 대역폭 감소 리스트에 저장하는 단계와 상기 대역폭을 증가시키는 단계 사이에, 상기 대역폭 감소 리스트에 저장된 각 네트워크 슬라이스에 대한 대역폭 조절량을 합산하여 상기 가용 대역폭을 계산하는 단계를 포함하는,
네트워크 제어 방법.
The method of claim 3,
Summing the bandwidth adjustment for each network slice stored in the bandwidth reduction list to calculate the available bandwidth, between storing in the bandwidth reduction list and increasing the bandwidth.
Network control method.
제1항에 있어서,
상기 동적 가중치를 계산하는 단계는,
상기 네트워크 슬라이스의 할당 대역폭을 더 이용하여 상기 동적 가중치를 계산하는 단계를 포함하되,
상기 할당 대역폭 대비 상기 대역폭 사용량이 클수록 상기 동적 가중치는 더 큰 값으로 계산되는,
네트워크 제어 방법.
The method of claim 1,
Calculating the dynamic weights,
Calculating the dynamic weight using the allocated bandwidth of the network slice further;
The greater the bandwidth usage relative to the allocated bandwidth, the greater the dynamic weight is calculated.
Network control method.
제1항에 있어서,
상기 동적 가중치를 계산하는 단계는,
상기 네트워크에 포함된 모든 네트워크 슬라이스에 대한 최대 대역폭 조절 유보 횟수 대비 상기 대역폭 조절 유보 횟수가 클수록 상기 동적 가중치를 더 큰 값으로 계산하는 단계를 포함하는,
네트워크 제어 방법.
The method of claim 1,
Calculating the dynamic weights,
Calculating the dynamic weight as a larger value as the number of bandwidth adjustment reservations is larger than the maximum number of bandwidth adjustment reservations for all network slices included in the network.
Network control method.
제1항에 있어서,
상기 동적 가중치를 계산하는 단계는,
상기 네트워크 슬라이스의 대역폭 변동 빈도를 더 이용하여 상기 동적 가중치를 계산하는 단계를 포함하되,
상기 네트워크에 포함된 모든 네트워크 슬라이스에 대한 최대 대역폭 변동 빈도 대비 상기 대역폭 변동 빈도가 클수록 상기 동적 가중치는 큰 값으로 계산되는,
네트워크 제어 방법.
The method of claim 1,
Calculating the dynamic weights,
Calculating the dynamic weight using the frequency of bandwidth variation of the network slice further;
The greater the frequency of the bandwidth variation compared to the maximum bandwidth variation frequency for all network slices included in the network, the dynamic weight is calculated to be a large value,
Network control method.
제1항에 있어서,
상기 대역폭 사용량을 계산하는 단계는,
상기 네트워크 슬라이스에 포함된 SDN 스위치의 오픈플로우 미터 정보를 이용하여 상기 대역폭 사용량을 계산하는 단계를 포함하는,
네트워크 제어 방법.
The method of claim 1,
Computing the bandwidth usage,
Calculating the bandwidth usage by using open flow meter information of an SDN switch included in the network slice;
Network control method.
제1항에 있어서,
상기 네트워크 슬라이스는, 상기 네트워크 슬라이스에 속하는 복수개의 호스트 사이에서 기 설정된 대역폭을 보장하는 종단(E2E: End to End) 슬라이스인,
네트워크 제어 방법.
The method of claim 1,
The network slice is an end to end (E2E) slice that guarantees a preset bandwidth among a plurality of hosts belonging to the network slice.
Network control method.
SDN(Software Defined Networking) 기반의 네트워크 제어 방법에 있어서,
오픈플로우(OpenFlow) 프로토콜을 이용하여 상기 네트워크에 포함된 하나 이상의 SDN 스위치로부터 상기 네트워크에 포함된 네트워크 슬라이스의 대역폭 사용량을 계산하는 단계;
상기 대역폭 사용량에 기초하여 상기 네트워크 슬라이스의 대역폭 조절량을 계산하는 단계;
상기 네트워크 슬라이스에 설정된 정적 가중치를 로드하는 단계;
상기 네트워크 슬라이스의 대역폭 조절 유보 횟수를 이용하여 상기 네트워크 슬라이스의 동적 가중치를 계산하는 단계;
상기 계산된 대역폭 조절량을 통해 상기 네트워크 슬라이스의 대역폭을 증가시켜야 하는 것으로 판단되면, 상기 로드된 정적 가중치 및 상기 계산된 동적 가중치를 이용하여 대역폭 증가 리스트에서 상기 네트워크 슬라이스의 우선순위를 업데이트하는 단계; 및
상기 업데이트된 대역폭 증가 리스트의 우선순위에 따라 상기 네트워크를 제어하는 단계를 포함하되,
상기 네트워크를 제어하는 단계는,
상기 대역폭 조절량과 가용 대역폭을 비교하여, 상기 가용 대역폭이 부족한 것으로 판단되면, 상기 네트워크 슬라이스의 대역폭 조절을 유보하고 상기 대역폭 조절 유보 횟수를 증가시키는 단계를 포함하고,
상기 정적 가중치 또는 상기 동적 가중치가 높은 값일수록 상기 우선순위는 높아지며,
상기 대역폭 조절 유보 횟수가 증가될수록 상기 동적 가중치는 더 큰 값으로 계산되는,
네트워크 제어 방법.
In the network defined method based on Software Defined Networking (SDN),
Calculating bandwidth usage of a network slice included in the network from at least one SDN switch included in the network using an OpenFlow protocol;
Calculating a bandwidth adjustment amount of the network slice based on the bandwidth usage;
Loading a static weight set on the network slice;
Calculating a dynamic weight of the network slice using the number of reserved bandwidth adjustments of the network slice;
If it is determined that the bandwidth of the network slice needs to be increased through the calculated bandwidth adjustment amount, updating the priority of the network slice in the bandwidth increase list using the loaded static weight and the calculated dynamic weight; And
Controlling the network according to a priority of the updated bandwidth increase list,
Controlling the network,
Comparing the bandwidth adjustment amount with the available bandwidth, and if it is determined that the available bandwidth is insufficient, suspending the bandwidth adjustment of the network slice and increasing the number of the reserved bandwidth adjustments,
The higher the static weight or the dynamic weight is, the higher the priority is,
As the number of reserved bandwidth adjustments increases, the dynamic weight is calculated to be a larger value.
Network control method.
KR1020190128436A 2018-11-30 2019-10-16 Method and apparatus of network slicing by using dynamic network traffic analysis based on software defined networking KR102053596B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180152110 2018-11-30
KR20180152110 2018-11-30

Publications (1)

Publication Number Publication Date
KR102053596B1 true KR102053596B1 (en) 2019-12-10

Family

ID=69002699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190128436A KR102053596B1 (en) 2018-11-30 2019-10-16 Method and apparatus of network slicing by using dynamic network traffic analysis based on software defined networking

Country Status (1)

Country Link
KR (1) KR102053596B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112291791A (en) * 2020-10-31 2021-01-29 国网河南省电力公司经济技术研究院 Power communication mesh bandwidth resource allocation method based on 5G slice
KR102319089B1 (en) * 2020-11-02 2021-10-29 주식회사 윈스 Apparatus and method for traffic security processing in 5g mobile edge computing slicing service
KR102359833B1 (en) * 2021-08-27 2022-02-09 (주)트렌토 시스템즈 Network controlling apparatus, and method thereof
KR102502028B1 (en) * 2022-09-19 2023-02-21 한국과학기술정보연구원 Network control method and network control device
US11595263B1 (en) 2021-08-27 2023-02-28 Trento Systems, Inc. Dynamic construction of virtual dedicated network slice based on software-defined network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160005253A (en) * 2014-07-04 2016-01-14 아토리서치(주) Control apparatus and method thereof in software defined network
KR20160036182A (en) 2014-09-24 2016-04-04 (주)유비쿼스 Hybrid OpenFlow switch, system, and method for combining legacy switch protocol function and SDN function
KR20170033179A (en) * 2015-09-16 2017-03-24 한국전자통신연구원 Method and apparatus for managing bandwidth of virtual networks on SDN
KR20180123379A (en) * 2017-05-08 2018-11-16 삼성전자주식회사 Method and apparatus for allocating resource in software defined network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160005253A (en) * 2014-07-04 2016-01-14 아토리서치(주) Control apparatus and method thereof in software defined network
KR20160036182A (en) 2014-09-24 2016-04-04 (주)유비쿼스 Hybrid OpenFlow switch, system, and method for combining legacy switch protocol function and SDN function
KR20170033179A (en) * 2015-09-16 2017-03-24 한국전자통신연구원 Method and apparatus for managing bandwidth of virtual networks on SDN
KR20180123379A (en) * 2017-05-08 2018-11-16 삼성전자주식회사 Method and apparatus for allocating resource in software defined network

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112291791A (en) * 2020-10-31 2021-01-29 国网河南省电力公司经济技术研究院 Power communication mesh bandwidth resource allocation method based on 5G slice
CN112291791B (en) * 2020-10-31 2022-11-08 国网河南省电力公司经济技术研究院 Power communication mesh bandwidth resource allocation method based on 5G slice
KR102319089B1 (en) * 2020-11-02 2021-10-29 주식회사 윈스 Apparatus and method for traffic security processing in 5g mobile edge computing slicing service
KR102359833B1 (en) * 2021-08-27 2022-02-09 (주)트렌토 시스템즈 Network controlling apparatus, and method thereof
US11595263B1 (en) 2021-08-27 2023-02-28 Trento Systems, Inc. Dynamic construction of virtual dedicated network slice based on software-defined network
WO2023027255A1 (en) * 2021-08-27 2023-03-02 (주)트렌토 시스템즈 Network control device and method for operating network control device
KR102502028B1 (en) * 2022-09-19 2023-02-21 한국과학기술정보연구원 Network control method and network control device

Similar Documents

Publication Publication Date Title
KR102053596B1 (en) Method and apparatus of network slicing by using dynamic network traffic analysis based on software defined networking
US9749402B2 (en) Workload deployment with real-time consideration of global network congestion
US8638799B2 (en) Establishing network quality of service for a virtual machine
JP6287864B2 (en) QoS control system, QoS control method and program
US8386825B2 (en) Method and system for power management in a virtual machine environment without disrupting network connectivity
US9378032B2 (en) Information processing method, information processing apparatus, recording medium, and system
US8681614B1 (en) Quality of service for inbound network traffic flows
JP6200497B2 (en) Offload virtual machine flows to physical queues
KR101593463B1 (en) Native cloud computing via network segmentation
US20150256462A1 (en) Method and system for resource coherency and analysis in a network
KR102392442B1 (en) Managing classified network streams
US8095661B2 (en) Method and system for scaling applications on a blade chassis
US20140307554A1 (en) Virtual enhanced transmission selection (vets) for lossless ethernet
US10397131B2 (en) Method and system for determining bandwidth demand
US9197566B2 (en) Information processing method, recording medium, and information processing apparatus
KR102358821B1 (en) Network classification for applications
KR102033402B1 (en) Smart gateway supporting iot and realtime traffic shaping method for the same
US20170366460A1 (en) Rdma-over-ethernet storage system with congestion avoidance without ethernet flow control
US10103992B1 (en) Network traffic load balancing using rotating hash
US20180091447A1 (en) Technologies for dynamically transitioning network traffic host buffer queues
KR101343595B1 (en) Method for forwarding path virtualization for router
WO2024098757A1 (en) Network cluster system, message transmission method, and network device
US11245629B2 (en) Adaptive source port generation in overlay networks
US10516619B2 (en) TCP window sizing
Isaia Improving the performance of software-defined networks using dynamic flow installation and management techniques

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant