KR20140052847A - Method and apparatus for providing quality of service in software defiend neworking network - Google Patents

Method and apparatus for providing quality of service in software defiend neworking network Download PDF

Info

Publication number
KR20140052847A
KR20140052847A KR1020130125060A KR20130125060A KR20140052847A KR 20140052847 A KR20140052847 A KR 20140052847A KR 1020130125060 A KR1020130125060 A KR 1020130125060A KR 20130125060 A KR20130125060 A KR 20130125060A KR 20140052847 A KR20140052847 A KR 20140052847A
Authority
KR
South Korea
Prior art keywords
information
packet
forwarding
qos rule
flow
Prior art date
Application number
KR1020130125060A
Other languages
Korean (ko)
Other versions
KR102067439B1 (en
Inventor
고남석
허환조
노성기
문승진
정우석
예병호
정태수
박종대
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US14/060,459 priority Critical patent/US9197568B2/en
Publication of KR20140052847A publication Critical patent/KR20140052847A/en
Application granted granted Critical
Publication of KR102067439B1 publication Critical patent/KR102067439B1/en

Links

Images

Classifications

    • 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

Disclosed are a method for providing a quality of service (QoS) in a software-defined networking based network and an apparatus thereof. The method for providing the QoS comprises the steps of searching for forwarding information and QoS rule information corresponding to a first packet of a received predetermined flow in a forwarding table and a QoS rule table, respectively; transmitting the packet to a controller if the forwarding information and the QoS rule information do not exist in the forwarding table and the QoS rule table; and generating a flow entry corresponding to the packet in a flow learning table based on the forwarding information and the QoS rule information that are received from the controller, thereby efficiently providing the QoS.

Description

소프트웨어 정의 네트워킹 기반 네트워크에서 서비스 품질 제공 방법 및 그 장치{METHOD AND APPARATUS FOR PROVIDING QUALITY OF SERVICE IN SOFTWARE DEFIEND NEWORKING NETWORK}[0001] METHOD AND APPARATUS FOR PROVIDING QUALITY OF SERVICE IN SOFTWARE DEFIEND NEWORKING NETWORK [0002]

본 발명은 소프트웨어 정의 네트워킹 기술에 관한 것으로, 더욱 상세하게는 소프트웨어 정의 네트워킹 기반 네트워크에 적용될 수 있는 서비스 품질 제공 방법 및 그 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to software defined networking technology, and more particularly, to a method and apparatus for providing a service quality that can be applied to a software defined networking based network.

일반적인 네트워크는 제어 플레인(Control Plane)과 데이터 플레인(Data Plane)의 기능이 통합된 하나의 장치가 네트워크 구성 요소로 동작하며, 이와 같은 네트워크 장치들이 분산되어 전체 네트워크를 구성하고 각 네트워크 장치들의 제어 플레인 간에 제어 프로토콜이 교환되어 트래픽의 포워딩을 결정함으로써 네트워크 장치의 복잡도가 높았을 뿐만 아니라, 각 네트워크 장치의 내부는 제조사의 독자적인 기술을 이용하여 구성되고 대부분 공개되지 않았기 때문에 네트워크 장치에 새로운 기능을 추가하거나 기능을 개선하는 경우 전적으로 제조사에 의존할 수 밖에 없는 문제가 있었다.In a general network, one device in which the functions of a control plane and a data plane are integrated functions as a network element, and these network devices are distributed to constitute a whole network, The control protocol is exchanged to determine the forwarding of the traffic, so that the complexity of the network device is high. In addition, since the interior of each network device is configured using the proprietary technology of the manufacturer and is mostly not disclosed, There has been a problem in that it is entirely dependent on the manufacturer to improve the function.

오픈플로우(OpneFlow) 기술은 상술한 바와 같은 기존의 폐쇄적인 네트워킹 기술을 개방형 네트워킹 기술로 변화시켜서, 새로운 네트워크 기술 발전을 위한 기반을 제공한다. 오픈플로우 기술은 네트워크 스위치(또는 라우터)의 패킷 포워딩(packet forwarding) 기능과 제어 기능을 분리하고, 이들 두 기능간의 통신을 위한 표준화된 프로토콜을 제공하여 외부 제어장치에 의하여 구동되는 소프트웨어가 장비 제조사와 무관하게 스위치 내의 패킷 경로 결정을 가능하게 한다.OpneFlow technology transforms existing closed networking technologies as described above into open networking technologies, providing a foundation for new network technology advancements. Open flow technology separates the packet forwarding and control functions of a network switch (or router) and provides a standardized protocol for communication between these two functions so that the software driven by the external control device can communicate with the device manufacturer Thereby enabling packet path determination within the switch.

한편, 오픈플로우 기술의 사용화 및 표준화를 촉진시키기 위하여 설립된 ONF(Open Networking Foundation)는 오픈플로우 기술을 기반으로 소프트웨어 정의 네트워킹(SDN: Software-Defined Networking) 기술을 정의하였다.On the other hand, the Open Networking Foundation (ONF), established to facilitate the use and standardization of open-flow technology, has defined software-defined networking (SDN) technology based on open-flow technology.

SDN 기술은 제어 플레인과 데이터 플레인을 분리하여 대부분의 지능을 SDN 컨트롤러의 제어 플레인에 위치시키고 스위치 또는 라우터 등과 같은 네트워크 장치는 제어 플레인이 오픈플로우 프로토콜과 같은 표준화된 프로토콜을 통해서 플로우 단위로 제공하는 규칙에 따라 패킷을 처리하는 단순한 구조를 가지도록 함으로써 네트워크 비용 및 복잡성을 근본적으로 해결할 수 있고, 기존 네트워킹 기술의 하드웨어 및 소프트웨어 기술을 근본적으로 변화시킬 수 있는 장점이 있다.SDN technology separates the control plane and the data plane, placing most of the intelligence in the control plane of the SDN controller, and network devices such as switches or routers, the rules that the control plane provides in flow units through standardized protocols such as open- It is possible to fundamentally solve the network cost and complexity by having a simple structure for processing packets according to the network and to fundamentally change the hardware and software technology of the existing networking technology.

그러나, SDN 네트워크는 상술한 바와 같이 모든 제어 기능을 중앙 집중화된 SDN 컨트롤러에서 수행하기 때문에 네트워크 장치로 유입되는 패킷에 대한 서비스 품질(QoS: Quality of Service)을 제공하는 경우 SDN 컨트롤러로부터 모든 규칙을 전달받아야 하고, 이로 인하여 SDN 컨트롤러와 네트워크 장치 사이의 트래픽이 증가할 뿐만 아니라, SDN 컨트롤러의 처리 부하가 증가하는 단점이 있다.However, since the SDN network carries out all the control functions in the centralized SDN controller as described above, when the quality of service (QoS) is provided for the packets coming into the network device, all the rules are transmitted from the SDN controller , Which not only increases the traffic between the SDN controller and the network device but also increases the processing load of the SDN controller.

상술한 문제를 해결하기 위한 본 발명의 목적은 소프트웨어 정의 네트워킹 기반 네트워크에서 효율적으로 서비스 품질을 제공할 수 있는 서비스 품질 제공 방법을 제공하는 것이다.SUMMARY OF THE INVENTION An object of the present invention is to provide a service quality providing method capable of efficiently providing a service quality in a software defined networking-based network.

또한, 본 발명의 다른 목적은 상기한 서비스 품질 제공 방법을 실행하는 서비스 품질 제공 장치를 제공하는 것이다.Another object of the present invention is to provide a service quality providing apparatus for executing the service quality providing method.

본 발명에서 이루고자 하는 목적들은 상기한 목적들로 제한되지 않으며, 언급하지 않은 다른 목적들은 하기의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Other objects and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which: FIG.

상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 서비스 품질 제공 방법은, 네트워크의 임의의 노드에서 수행되는 서비스 품질 제공 방법으로, 소정 플로우의 첫 번째 패킷을 수신하는 단계와, 상기 패킷에 해당하는 포워딩 정보 및 QoS(Quality of Service) 규칙을 포워딩 테이블 및 QoS 규칙 테이블에서 각각 검색하는 단계와, 상기 포워딩 테이블 및 QoS 규칙 테이블에 상기 포워딩 정보 및 QoS 규칙 정보가 존재하지 않는 경우 컨트롤러로 상기 패킷을 전달하는 단계 및 상기 컨트롤러로부터 수신한 포워딩 정보 및 QoS 규칙 정보에 기초하여 플로우 학습 테이블에 상기 패킷에 해당하는 플로우 엔트리(entry)를 생성하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method of providing quality of service performed at an arbitrary node in a network, the method comprising: receiving a first packet of a predetermined flow; (QoS) rule corresponding to a packet in a forwarding table and a QoS rule table, and if the forwarding information and the QoS rule information do not exist in the forwarding table and the QoS rule table, And generating a flow entry corresponding to the packet in the flow learning table based on the forwarding information and the QoS rule information received from the controller.

여기서, 상기 컨트롤러로부터 수신한 포워딩 정보 및 QoS 규칙 정보의 단위와 상기 플로우 학습 테이블에 생성되는 플로우 엔트리의 단위는 서로 다르게 구성될 수 있다.Here, the unit of the forwarding information and the QoS rule information received from the controller and the unit of the flow entry generated in the flow learning table may be configured differently.

여기서, 상기 플로우 엔트리를 생성하는 단계는 마이크로 플로우 엔트리를 생성할 수 있다.Wherein generating the flow entry may generate a microflow entry.

또한, 본 발명의 목적을 달성하기 위한 본 발명의 다른 측면에 따른 서비스 품질 제공 방법은, 네트워크의 임의의 노드에서 수행되는 서비스 품질 제공 방법으로, 수신된 패킷에 해당하는 플로우 정보를 플로우 학습 테이블에서 검색하는 단계와, 상기 플로우 학습 테이블에 상기 플로우 정보가 존재하지 않는 경우 상기 패킷에 해당하는 포워딩 정보 및 QoS 규칙 정보를 포워딩 테이블 및 QoS 규칙 테이블에서 각각 검색하는 단계와, 상기 포워딩 정보 및 QoS 규칙 정보 중 적어도 하나의 정보가 상기 포워딩 테이블 및 상기 QoS 규칙 테이블에 존재하지 않는 경우 존재하지 않는 적어도 하나의 정보를 컨트롤러로부터 획득하는 단계 및 상기 포워딩 테이블 및 상기 QoS 규칙 테이블 중 적어도 하나의 테이블로부터 획득한 정보와 상기 컨트롤러로부터 획득한 정보 중 적어도 하나의 정보를 이용하여 상기 플로우 학습 테이블을 학습시키는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of providing quality of service performed at an arbitrary node in a network, the method comprising the steps of: Searching for forwarding information and QoS rule information corresponding to the packet in the forwarding table and the QoS rule table, if the flow information does not exist in the flow learning table; Obtaining at least one piece of information that does not exist if at least one of the forwarding table and the QoS rule table does not exist from the controller and information obtained from at least one of the forwarding table and the QoS rule table And a controller Using at least one of the information includes the step of learning the learning table flow.

여기서, 상기 서비스 품질 제공 방법은 상기 포워딩 정보 및 QoS 규칙 정보가 상기 포워딩 테이블 및 상기 QoS 규칙 테이블에 각각 존재하는 경우, 상기 포워딩 테이블 및 상기 QoS 규칙 테이블로부터 상기 패킷에 적용할 포워딩 정보 및 QoS 규칙 정보를 각각 획득하는 단계와, 획득한 상기 포워딩 정보 및 상기 QoS 규칙 정보를 이용하여 상기 플로우 학습 테이블을 학습시키는 단계 및 획득한 상기 포워딩 정보 및 상기 QoS 규칙 정보를 이용하여 상기 패킷을 처리하는 단계를 더 포함할 수 있다.Here, if the forwarding information and the QoS rule information are respectively present in the forwarding table and the QoS rule table, the service quality providing method may include forwarding information and QoS rule information to be applied to the packet from the forwarding table and the QoS rule table, Learning the flow learning table using the acquired forwarding information and the QoS rule information, and processing the packet using the acquired forwarding information and the QoS rule information .

여기서, 상기 존재하지 않는 적어도 하나의 정보를 컨트롤러로부터 획득하는 단계는, 상기 포워딩 정보가 상기 포워딩 테이블에 존재하나 상기 QoS 규칙 정보가 상기 QoS 규칙 테이블에 존재하지 않는 경우, 상기 컨트롤러에 상기 QoS 규칙 정보의 갱신을 요청하는 메시지를 전송하는 단계와, 상기 컨트롤러로부터 제공된 QoS 규칙 정보 및 상기 포워딩 테이블로부터 획득한 포워딩 정보를 이용하여 상기 플로우 학습 테이블을 학습시키는 단계 및 상기 컨트롤러로부터 제공된 QoS 규칙 정보 및 상기 포워딩 테이블로부터 획득한 포워딩 정보에 기초하여 상기 패킷을 처리하는 단계를 포함할 수 있다.The step of acquiring the at least one non-existent information from the controller includes the step of, when the forwarding information exists in the forwarding table but the QoS rule information does not exist in the QoS rule table, The method comprising the steps of: sending a message requesting update of the QoS rule information provided from the controller, learning the flow learning table using QoS rule information provided from the controller and forwarding information acquired from the forwarding table, And processing the packet based on the forwarding information obtained from the table.

여기서, 상기 존재하지 않는 적어도 하나의 정보를 컨트롤러로부터 획득하는 단계는, 상기 포워딩 정보가 상기 포워딩 테이블에 존재하지 않고, 상기 QoS 규칙 정보가 상기 QoS 규칙 테이블에 존재하는 경우, 상기 컨트롤러에 상기 포워딩 정보의 갱신을 요청하는 메시지를 전송하는 단계와, 상기 컨트롤러로부터 제공된 포워딩 정보 및 상기 QoS 규칙 테이블로부터 획득한 QoS 규칙 정보를 이용하여 상기 플로우 학습 테이블을 학습시키는 단계 및 상기 컨트롤러로부터 제공된 포워딩 정보 및 상기 QoS 규칙 테이블로부터 획득한 QoS 규칙 정보에 기초하여 상기 패킷을 처리하는 단계를 포함할 수 있다.The step of acquiring the at least one non-existent information from the controller includes the step of, when the forwarding information is not present in the forwarding table and the QoS rule information is present in the QoS rule table, Learning the flow learning table using forwarding information provided from the controller and QoS rule information acquired from the QoS rule table, and transmitting the forwarding information and the QoS And processing the packet based on the QoS rule information obtained from the rule table.

여기서, 상기 존재하지 않는 적어도 하나의 정보를 컨트롤러로부터 획득하는 단계는, 상기 포워딩 정보가 상기 포워딩 테이블에 존재하지 않고, 상기 QoS 규칙 정보가 상기 QoS 규칙 테이블에 존재하지 않는 경우, 상기 컨트롤러에 상기 포워딩 정보 및 상기 QoS 규칙의 갱신을 요청하는 메시지를 전송하는 단계와, 상기 컨트롤러로부터 제공된 포워딩 정보 및 상기 QoS 규칙 정보를 이용하여 상기 플로우 학습 테이블을 학습시키는 단계 및 상기 컨트롤러로부터 제공된 포워딩 정보 및 상기 QoS 규칙 정보에 기초하여 상기 패킷을 처리하는 단계를 포함할 수 있다.The step of acquiring the at least one non-existent information from the controller includes the step of, when the forwarding information is not present in the forwarding table and the QoS rule information is not present in the QoS rule table, Transmitting a message requesting the update of the QoS rules, learning the flow learning table using the forwarding information and the QoS rule information provided from the controller, and transmitting the forwarding information provided from the controller and the QoS rules And processing the packet based on the information.

여기서, 상기 서비스 품질 제공 방법은, 각 플로우별로 유입되는 패킷에 대해 패킷 도착 간격을 계산하는 단계 및 상기 계산된 패킷 도착 간격 정보를 상기 패킷의 헤더에 포함시킨 후, 상기 패킷 도착 간격 정보가 포함된 패킷을 다른 노드로 포워딩하는 단계를 더 포함할 수 있다. 여기서, 상기 패킷 도착 간격 정보가 포함된 패킷을 다른 노드로 포워딩하는 단계는, 상기 패킷이 IP(Internet Protocol) 패킷인 경우, 상기 IP 패킷의 MAC(Medium Access Control) 헤더와 IP 헤더 사이에 SDN(Software Defined Networking) 헤더를 추가하고, 상기 SDN 헤더에 상기 패킷 도착 간격 정보를 포함시킬 수 있다.Here, the service quality providing method may include calculating a packet arrival interval for each packet flowing in each flow, and including the calculated packet arrival interval information in a header of the packet, And forwarding the packet to another node. The step of forwarding a packet including the packet arrival interval information to another node may further include the step of transmitting an SDN (IP) packet between the MAC (Medium Access Control) header of the IP packet and the IP header when the packet is an IP Software Defined Networking) header, and may include the packet arrival interval information in the SDN header.

여기서, 상기 서비스 품질 제공 방법은, 각 플로우별로 유입되는 패킷의 도착시간을 상기 패킷의 플로우에 대하여 계산된 도착 예정 시간과 비교하는 단계 및 상기 패킷의 도착시간이 상기 도착 예정 시간보다 빠른 경우 상기 컨트롤러로 상기 패킷의 플로우에 트래픽 폭증이 발생하였음을 지시하는 메시지를 전송하는 단계를 더 포함할 수 있다. 여기서, 상기 각 플로우별로 유입되는 패킷의 도착시간을 상기 패킷의 플로우에 대하여 계산된 도착 예정 시간과 비교하는 단계는, 상기 패킷의 헤더에 포함된 패킷 도착 간격 정보에 기초하여 상기 패킷의 도착시간을 판단하고, 판단된 상기 패킷의 도착 시간을 상기 도착 예정 시간과 비교할 수 있다.The method of providing service quality may further include comparing an arrival time of a packet flowing in each flow with an estimated arrival time calculated with respect to a flow of the packet, and if the arrival time of the packet is earlier than the expected arrival time, Transmitting a message indicating that a traffic explosion has occurred in the flow of the packet. The step of comparing the arrival time of the packet flowing in each flow with the estimated arrival time calculated for the flow of the packet may include comparing the arrival time of the packet based on the packet arrival interval information included in the header of the packet, And compare the arrival time of the packet with the expected arrival time.

또한, 본 발명의 다른 목적을 달성하기 위한 본 발명의 일 측면에 따른 서비스 품질 제공 장치는, 패킷의 포워딩 정보를 포함하는 포워딩 테이블, 상기 패킷에 적용할 QoS 규칙 정보를 포함하는 QoS 규칙 테이블 및 상기 포워딩 테이블 및 상기 QoS 규칙 정보에 기초하여 학습되는 플로우 학습 테이블을 포함하는 저장부 및 상기 저장부에 저장된 정보에 기초하여 유입된 패킷의 포워딩과 상기 유입된 패킷에 QoS를 적용하는 패킷 처리부를 포함한다.According to another aspect of the present invention, there is provided a service quality providing apparatus including a forwarding table including packet forwarding information, a QoS rule table including QoS rule information to be applied to the packet, A forwarding table and a flow learning table that is learned based on the QoS rule information; and a packet processing unit for applying QoS to the forwarded packets and the incoming packets based on the information stored in the storage unit .

여기서, 상기 패킷 처리부는 소정 플로우의 첫 번째 패킷을 수신하고, 상기 패킷에 해당하는 포워딩 정보 및 QoS 규칙을 포워딩 테이블 및 QoS 규칙 테이블에서 각각 검색하여 상기 포워딩 테이블 및 QoS 규칙 테이블에 상기 포워딩 정보 및 QoS 규칙 정보가 존재하지 않는 경우 컨트롤러로 상기 패킷을 전달한 후, 상기 컨트롤러로부터 수신한 포워딩 정보 및 QoS 규칙 정보에 기초하여 상기 플로우 학습 테이블에 상기 패킷에 해당하는 플로우 엔트리를 생성할 수 있다.Here, the packet processor receives the first packet of the predetermined flow, searches the forwarding table and the QoS rule table for the forwarding information and the QoS rule corresponding to the packet, respectively, and transmits the forwarding information and QoS If the rule information does not exist, the packet can be transmitted to the controller, and then the flow entry corresponding to the packet can be generated in the flow learning table based on the forwarding information and the QoS rule information received from the controller.

여기서, 상기 패킷 처리부는 수신된 패킷에 해당하는 플로우 정보를 상기 플로우 학습 테이블에서 검색하여 상기 플로우 학습 테이블에 상기 플로우 정보가 존재하지 않는 경우, 상기 수신된 패킷에 해당하는 포워딩 정보 및 QoS 규칙 정보를 포워딩 테이블 및 QoS 규칙 테이블에서 각각 검색한 후, 상기 포워딩 정보 및 QoS 규칙 정보 중 적어도 하나의 정보가 상기 포워딩 테이블 및 상기 QoS 규칙 테이블에 존재하지 않는 경우, 존재하지 않는 적어도 하나의 정보를 컨트롤러로부터 획득하여 상기 포워딩 테이블 및 상기 QoS 규칙 테이블 중 적어도 하나의 테이블로부터 획득한 정보와 상기 컨트롤러로부터 획득한 정보 중 적어도 하나의 정보를 이용하여 상기 플로우 학습 테이블을 학습시킬 수 있다.Here, the packet processor searches for the flow information corresponding to the received packet in the flow learning table, and when the flow information does not exist in the flow study table, the packet processing unit searches forwarding information and QoS rule information corresponding to the received packet A forwarding table and a QoS rule table, and if at least one of the forwarding information and the QoS rule information does not exist in the forwarding table and the QoS rule table, at least one information that does not exist is acquired from the controller The flow learning table can be learned using at least one of information obtained from at least one of the forwarding table and the QoS rule table and information acquired from the controller.

상술한 바와 같은 소프트웨어 정의 네트워킹 기반 네트워크에서 서비스 품질 제공 방법 및 그 장치에 따르면, 각 노드가 플로우 학습 테이블, 포워딩 테이블 및 QoS 규칙 테이블을 이용하여 패킷의 포워딩 정보와 QoS 규칙 정보를 분리하여 관리하고, 포워딩 정보와 QoS 규칙 정보를 이용하여 플로우 학습 테이블을 학습시켜 패킷의 포워딩 및 QoS 적용에 이용함으로써 마이크로 플로우 단위로 QoS를 제공할 수 있다.According to the method and apparatus for providing service quality in a software defined networking based network as described above, each node separately manages packet forwarding information and QoS rule information using a flow learning table, a forwarding table, and a QoS rule table, By using the forwarding information and the QoS rule information to learn the flow learning table and using it for packet forwarding and QoS application, it is possible to provide QoS on a microflow basis.

또한, 본 발명에서는 플로우 학습 테이블을 이용하여 각 노드와 컨트롤러간에 주고 받는 메시지의 수를 감소시킴으로써 전체적인 네트워크 성능을 향상시킬 수 있고, SDN 네트워크에 확장성을 제공할 수 있다.Also, in the present invention, by reducing the number of messages exchanged between each node and the controller using the flow learning table, the overall network performance can be improved and the scalability can be provided to the SDN network.

도 1은 SDN 기반 네트워크의 플로우 처리 방법을 나타내는 개념도이다.
도 2는 본 발명의 일 실시예에 따른 QoS 제공 방법을 설명하기 위한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 SDN 기반 네트워크에서 플로우 학습 테이블의 엔트리 생성 과정을 나타내는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 SDN 기반 네트워크에서 각 노드에서 수행되는 QoS 제공 방법을 나타내는 흐름도이다.
도 5는 도 4에 도시한 경우 1의 처리 방법을 나타내는 흐름도이다.
도 6은 도 4에 도시한 경우 2의 처리 방법을 나타내는 흐름도이다.
도 7은 도 4에 도시한 경우 3의 처리 방법을 나타내는 흐름도이다.
도 8은 도 4에 도시한 경우 4의 처리 방법을 나타내는 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 QoS 제공 방법을 설명하기 위한 개념도이다.
도 10은 본 발명의 일 실시예에 따른 서비스 품질을 제공 방법을 실행하는 장치의 구성을 나타내는 블록도이다.
1 is a conceptual diagram showing a flow processing method of an SDN-based network.
2 is a conceptual diagram for explaining a QoS providing method according to an embodiment of the present invention.
3 is a flowchart illustrating an entry generation process of a flow learning table in an SDN-based network according to an exemplary embodiment of the present invention.
4 is a flowchart illustrating a QoS providing method performed in each node in an SDN-based network according to an embodiment of the present invention.
5 is a flowchart showing a processing method of Case 1 shown in Fig.
6 is a flowchart showing a processing method of Case 2 shown in Fig.
7 is a flowchart showing a processing method of Case 3 shown in Fig.
8 is a flowchart showing a processing method of Case 4 shown in Fig.
9 is a conceptual diagram for explaining a QoS providing method according to an embodiment of the present invention.
10 is a block diagram showing a configuration of an apparatus for executing a method for providing a service quality according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

도 1은 SDN 기반의 네트워크에서 플로우 처리 방법을 나타내는 개념도이다.1 is a conceptual diagram illustrating a flow processing method in an SDN-based network.

도 1을 참조하면, SDN 기반 네트워크는 크게 컨트롤러(110)와 복수의 노드(130)로 구성될 수 있다. Referring to FIG. 1, an SDN-based network may include a controller 110 and a plurality of nodes 130.

각 노드(130)는 스위치 또는 라우터 등과 같이 실질적으로 트래픽을 포워딩하는 네트워크 장치로 구성될 수 있고, 다양한 종류의 플로우 테이블(Flow Table)(131)을 포함한다.Each node 130 may be configured as a network device for substantially forwarding traffic, such as a switch or a router, and may include various kinds of flow tables 131.

각 노드(130)는 각 플로우별 첫 번째 패킷이 입력되면, 이를 처리하기 위해 상기 첫 번째 패킷에 해당하는 플로우 테이블을 검색한다. Each node 130 searches the flow table corresponding to the first packet to process the first packet for each flow.

노드(130)는 유입된 첫 번째 패킷에 해당하는 규칙에 플로우 테이블에 등록되어 있지 않은 경우, 첫 번째 패킷의 전체 또는 일부를 컨트롤러(110)에 메시지 형태로 전달하고, 컨트롤러(110)로부터 상기 첫 번째 패킷의 플로우 테이블에 대한 규칙(Rule)을 제공받아 플로우 테이블(131)을 갱신한다. 여기서, 플로우(flow)는 TCP(Transmission Control Protocol) 연결, 특정한 MAC(Medium Access Control) 또는 IP(Internet Protocol) 주소, 그리고 동일한 VLAN(Virtual Local Area Network) 값을 갖는 패킷들의 집합을 의미한다.When the node 130 is not registered in the flow table in the rule corresponding to the first packet received, the node 130 transmits all or a part of the first packet to the controller 110 in the form of a message, (Rule) for the flow table of the first packet. Here, the flow refers to a set of packets having a Transmission Control Protocol (TCP) connection, a specific Medium Access Control (MAC) or Internet Protocol (IP) address, and the same VLAN (Virtual Local Area Network) value.

각 노드(130)에서 IP 패킷의 처리시, IP 헤더의 5-튜플(tuple)(IP 소스 주소, IP 목적지 주소, 프로토콜, TCP/UDP 소스 포트 번호, TCP/UDP 목적지 포트 번호)로 구분되는 각 마이크로 플로우별로 대역 제어와 같은 서비스 품질(QoS)을 제공해야 하는 경우, 도 1에 도시한 바와 같이 노드(130)는 N개의 마이크로 플로우에 대하여 패킷을 컨트롤러(110)로 전송하고, N개의 마이크로 플로우에 대한 N개의 규칙을 컨트롤러(110)로부터 제공받는 절차를 수행하여야 한다. 이 경우, 컨트롤러(110)로 전송되는 메시지의 수가 급증하게 될 뿐만 아니라, 규칙 수도 마이크로 플로우의 개수 만큼 증가하게 되는 문제가 발생한다.
(IP source address, IP destination address, protocol, TCP / UDP source port number, TCP / UDP destination port number) of the IP header at the time of processing the IP packet at each node 130 When it is necessary to provide quality of service (QoS) such as bandwidth control for each microflow, the node 130 transmits a packet to the controller 110 for N microflows as shown in Figure 1, N < / RTI > rules for controller < RTI ID = 0.0 > 110. < / RTI > In this case, not only the number of messages transmitted to the controller 110 increases but also the number of rules is increased by the number of microflows.

본 발명은 상기한 바와 같은 문제를 해결하기 위해 SDN 기반 네트워크에서 각 노드가 포워딩 테이블, QoS 규칙 테이블 및 플로우 학습 테이블 이용하여 QoS를 효율적으로 제공할 수 있는 방법을 제공한다. In order to solve the above problems, the present invention provides a method for effectively providing QoS by using forwarding table, QoS rule table and flow learning table in each node in an SDN-based network.

도 2는 본 발명의 일 실시예에 따른 QoS 제공 방법을 설명하기 위한 개념도이다.2 is a conceptual diagram for explaining a QoS providing method according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에서 따른 QoS 제공 방법에서는 각 노드(230)가 플로우 학습 테이블(231), 포워딩 테이블(233) 및 QoS 규칙 테이블(235)을 구성한다.Referring to FIG. 2, in the QoS providing method according to an embodiment of the present invention, each node 230 constitutes a flow learning table 231, a forwarding table 233, and a QoS rule table 235.

즉, 본 발명은 각 노드(230)가 기존의 포워딩 정보와 QoS 정보가 혼재된 플로우 테이블 대신 포워딩 정보와 QoS 규칙 정보를 포워딩 테이블(233)과 QoS 규칙 테이블(235)로 각각 분리하여 별도로 관리하도록 하고, 각 마이크로 플로우에 대한 플로우 포워딩 및 QoS 규칙 정보를 학습하여 유지하는 플로우 학습 테이블(231)을 관리하도록 함으로써 컨트롤러(210)와 주고 받는 메시지를 수를 감소시킬 수 있고, 이를 통해 효율으로 트래픽을 포워딩하고 QoS를 제공할 수 있다.That is, each node 230 separates the forwarding information and the QoS rule information into a forwarding table 233 and a QoS rule table 235 instead of a flow table in which existing forwarding information and QoS information are mixed, and separately manages the forwarding information and the QoS rule information And the flow learning table 231 that learns and maintains the flow forwarding and QoS rule information for each microflow is managed to reduce the number of messages exchanged with the controller 210, Forwarding and QoS can be provided.

플로우 학습 테이블(231)은 일반적으로 마이크로 플로우를 구분할 수 있는 단위인 IP 헤더의 5-튜플 필드(예를 들면, IP 소스 주소, IP 목적지 주소, 프로토콜, TCP/UDP 소스 포트 번호, TCP/UDP 목적지 포트 번호)를 기반으로 한 해쉬 테이블(hash table)을 이용하여 각 마이크로 플로우를 동적으로 관리하도록 구성할 수 있다. 그러나, 플로우 학습 테이블(231)에서 마이크로 플로우를 구분하기 위한 방법이 해쉬 테이블에만 한정되는 것은 아니며, 트리 구조 등과 같은 다른 형태의 테이블도 사용할 수 있다. 또한, 플로우 학습 테이블(231)에서 마이크로 플로우를 구분하기 위하여 사용되는 정보가 IP 패킷 헤더의 5-튜플 구분자로만 한정되는 것은 아니며, 5-튜플 정보 이외에 다른 필드를 추가적으로 고려하거나, 경우에 따라서는 5-튜플에서 임의의 필드를 사용하지 않도록 구성할 수도 있다.The flow learning table 231 generally includes a 5-tuple field (for example, an IP source address, an IP destination address, a protocol, a TCP / UDP source port number, a TCP / UDP destination Port number) based on a hash table (hash table) can be configured to manage each microflow dynamically. However, the method for classifying the microflows in the flow learning table 231 is not limited to the hash table, and other types of tables such as a tree structure can be used. In addition, the information used for classifying the microflows in the flow learning table 231 is not limited to the 5-tuple separator of the IP packet header, and other fields other than the 5-tuple information may be additionally considered, You can also configure the tuple to not use any fields.

본 발명에서 각 노드(230)가 포워딩 정보와 QoS 규칙 정보를 각각 분리된 테이블(233, 235)을 이용하여 관리하도록 하는 것은 포워딩 제공 단위와 QoS 제공 단위를 분명하게 구분하여 적용할 수 있는 장점을 제공한다. 또한, 본 발명에서 각 노드(230)가 마이크로 플로우별 QoS 학습을 별도로 수행하도록 하는 것은 기존의 패킷 처리 방법에서 포워딩 및 QoS 정보의 제공 단위가 QoS 관리 및 상태 관리 단위와 서로 밀결합 되는 단점을 극복하고, 포워딩 정보 또는 QoS 규칙 정보 제공 단위와 실제 QoS 및 상태 관리가 되는 단위를 서로 다르게 제공할 수 있는 장점을 제공한다.In the present invention, each node 230 manages the forwarding information and the QoS rule information by using separate tables 233 and 235, which is an advantage that the forwarding providing unit and the QoS providing unit can be clearly distinguished and applied to provide. In addition, in the present invention, each node 230 separately performs QoS learning for each microflow overcomes the disadvantage that forwarding and QoS information providing units are tightly coupled with QoS management and state management units in the conventional packet processing method And provides an advantage that the unit for providing the forwarding information or the QoS rule information and the unit for the actual QoS and the status management can be provided differently.

예를 들어, 본 발명의 실시예에 따르면 포워딩 정보 및 QoS 규칙 정보는 보다 큰 단위로 제공하면서, 실제 QoS 및 상태 관리 단위는 마이크로 플로우 단위로 제공할 수 있다.
For example, according to the embodiment of the present invention, the forwarding information and the QoS rule information are provided in larger units, while the actual QoS and the state management unit can be provided in units of microflows.

도 3은 본 발명의 일 실시예에 따른 SDN 기반 네트워크에서 플로우 학습 테이블의 엔트리 생성 과정을 나타내는 흐름도로서, 각 플로우의 첫 번째 패킷이 노드에 유입된 경우 노드에서 수행되는 동작을 도시한 것이다.FIG. 3 is a flowchart illustrating an entry generation process of a flow learning table in an SDN-based network according to an exemplary embodiment of the present invention. FIG. 3 illustrates an operation performed by a node when a first packet of each flow is input to a node.

도 3을 참조하면, 임의의 노드에 각 플로우의 첫 번째 패킷이 유입되면(S301), 노드는 상기 첫 번째 패킷의 포워딩 정보와 QoS 규칙 정보를 얻기 위해 포워딩 테이블 및 QoS 규칙 테이블을 검색한다(S303).Referring to FIG. 3, when a first packet of each flow is inputted to an arbitrary node (S301), the node searches the forwarding table and the QoS rule table to obtain forwarding information and QoS rule information of the first packet (S303 ).

노드는 포워딩 테이블 및 QoS 규칙 테이블을 검색한 후 해당 정보들이 상기 테이블들에 존재하는가를 판단하고, 포워딩 정보 및 QoS 규칙 정보가 존재하지 않는 것으로 판단되면, 기존의 SDN 구조에서와 같이 컨트롤러로 상기 첫 번째 패킷의 전부 또는 일부를 전달한다(S305).The node searches the forwarding table and the QoS rule table to determine whether the corresponding information exists in the tables. If it is determined that the forwarding information and the QoS rule information do not exist, Th packet (S305).

이후, 노드는 컨트롤러로부터 포워딩 테이블 및 QoS 규칙 테이블에 대한 정보를 수신하고(S307), 수신한 정보를 기반으로 플로우 학습 테이블에 해당 마이크로 플로우를 위한 엔트리(entry)를 생성한다(S309). 이 때, 전술한 바와 같이 포워딩 정보의 단위, QoS 규칙 정보의 단위 및 플로우 학습 테이블의 단위는 서로 다를 수 있다. 예를 들어, 포워딩 정보는 IP 목적지 주소 단위로 주어질 수 있고, QoS 규칙 단위는 DSCP(Differentiated Service Code Point) 단위로 주어질 수 있으며, 플로우 학습 테이블은 각 마이크로 플로우 별로 관리될 수 있다.Thereafter, the node receives the information about the forwarding table and the QoS rule table from the controller (S307), and creates an entry for the corresponding microflow in the flow learning table based on the received information (S309). At this time, as described above, the units of the forwarding information, the units of the QoS rule information, and the units of the flow learning table may be different from each other. For example, the forwarding information may be given in IP destination address units, the QoS rule unit may be given in units of differentiated service code points (DSCP), and the flow learning table may be managed for each microflow.

따라서, 패킷의 IP 목적지 주소가 동일하지만 5-튜플에서 IP 목적지 주소 이외의 다른 필드 값이 다른 경우 서로 다른 마이크로 플로우로 관리될 수 있고, DSCP 값에 대한 QoS 규칙 정보는 DSCP 값을 동일하게 갖는 모든 트래픽에 대한 전체 또는 DSCP가 동일한 개별 플로우 별로 적용될 수 있도록 한다. 예를 들어, QoS 규칙 정보는 DSCP 10번에 대하여 DSCP 10번을 갖는 모든 트래픽의 합에 대한 대역 제한을 정의 하거나 DSCP 10번에 대한 개별 마이크로 플로우에 대한 대역 제한을 정의할 수 있다. Therefore, if the IP destination address of the packet is the same but the value of the field other than the IP destination address in the 5-tuple is different, the QoS rule information for the DSCP value can be managed with different microflows. So that the total or DSCP of the traffic can be applied to each individual flow having the same value. For example, the QoS rule information may define a bandwidth limit for the sum of all traffic with DSCP 10 for DSCP 10 or a bandwidth limit for individual microflows for DSCP 10.

한편, 임의의 플로우의 첫 번째 패킷에 대하여 상기한 과정을 거친 후, 동일 플로우에 포함되는 패킷들은 플로우 학습 테이블에 이미 포워딩 정보 및 QoS 규칙 정보가 학습되어 있으므로, 해당 정보에 따라 패킷을 포워딩 한다.
On the other hand, the packets included in the same flow after the above process for the first packet of an arbitrary flow are forwarded according to the information because forwarding information and QoS rule information are already learned in the flow learning table.

도 4는 본 발명의 일 실시예에 따른 SDN 기반 네트워크에서 각 노드에서 수행되는 QoS 제공 방법을 나타내는 흐름도이다.4 is a flowchart illustrating a QoS providing method performed in each node in an SDN-based network according to an embodiment of the present invention.

도 4를 참조하면, 먼저 외부 인터페이스를 통해 노드에 패킷이 유입되면(S401), 노드는 유입된 패킷에 해당하는 플로우를 구분하기 위한 해쉬 값을 생성한다(S403). 여기서, 해쉬를 위한 키 값(또는 해쉬 값)은 일반적으로 마이크로 플로우를 구분하기 위하여 패킷의 헤더에 포함된 5-튜플 정보를 사용하는 것을 고려하나, 그 단위(granularity)는 상황에 따라 더 세밀한 단위나 더 넓은 단위로 구성할 수 있고, 이를 위해 패킷 헤더의 필드를 추가하거나 삭제할 수 있다. 또한, 해쉬 함수로는 CRC-32 등과 같은 다양한 함수가 사용될 수 있으며, 특정 함수에 한정되지는 않는다. 본 발명에서는 특정 해쉬 함수의 사용을 정의하지는 않는다.Referring to FIG. 4, when a packet is input to the node through the external interface (S401), the node generates a hash value for distinguishing the flow corresponding to the incoming packet (S403). Here, the key value (or hash value) for the hash is generally considered to use the 5-tuple information included in the header of the packet in order to classify the microflow, but the granularity may vary depending on the situation Or a wider unit, and for this purpose, fields of the packet header can be added or deleted. In addition, various functions such as CRC-32 and the like can be used as the hash function, and it is not limited to a specific function. The present invention does not define the use of a particular hash function.

노드는 해쉬 값을 생성한 후, 생성된 해쉬 값을 이용하여 먼저 플로우 학습 테이블에서 유입된 패킷에 상응하는 플로우를 검색하고(S405), 유입된 패킷에 해당하는 플로우가 존재하는 가를 판단한다(S407). 여기서, 유입된 패킷이 임의의 플로우의 첫 번째 패킷인 경우에는 플로우 학습 테이블에 유입된 패킷에 해당하는 플로우가 존재하지 않을 것이다.After generating a hash value, the node first searches for a flow corresponding to the incoming packet in the flow learning table using the generated hash value (S405), and determines whether there is a flow corresponding to the incoming packet (S407 ). Here, when the incoming packet is the first packet of an arbitrary flow, there is no flow corresponding to the packet flowing into the flow learning table.

단계 S407에서 유입된 패킷에 해당하는 플로우가 존재하지 않는 것으로 판단되면, 노드는 유입된 패킷에 해당하는 포워딩 정보 및 QoS 규칙을 각각 포워딩 테이블 및 QoS 규칙 테이블에서 검색한다(S409). 또는 단계 S407에서 유입된 패킷에 해당하는 플로우가 존재하는 경우, 노드는 해당 플로우로부터 포워딩 정보 및 QoS 정보를 획득하고 획득한 정보에 따라 패킷을 처리한다(S415).If it is determined in step S407 that there is no flow corresponding to the incoming packet, the node searches the forwarding table and the QoS rule table for the forwarding information and the QoS rule corresponding to the incoming packet, respectively (S409). Or if there is a flow corresponding to the incoming packet in step S407, the node acquires forwarding information and QoS information from the flow and processes the packet according to the obtained information (S415).

이후, 노드는 유입된 패킷에 해당하는 포워딩 정보 및 QoS 정보의 존재 유무를 판단한다(S411). 여기서, 판단 결과에 따라 하기의 네 가지 경우가 존재할 수 있고, 노드는 해당되는 경우에 상응하는 패킷 처리를 수행한다(S413).Thereafter, the node determines whether the forwarding information and the QoS information corresponding to the incoming packet exist (S411). Here, the following four cases may exist according to the determination result, and the node performs packet processing corresponding thereto (S413).

경우 1) 포워딩 테이블에 포워딩 정보가 포함되어 있고, QoS 규칙 테이블에 해당 QoS 규칙 정보가 존재함.Case 1) Forwarding information is included in forwarding table, and QoS rule information exists in QoS rule table.

경우 2) 포워딩 테이블에 포워딩 정보가 포함되어 있으나, QoS 규칙 테이블에 해당 QoS 규칙 정보가 없음.Case 2) The forwarding table contains forwarding information but there is no corresponding QoS rule information in the QoS rules table.

경우 3) 포워딩 테이블에 포워딩 정보가 없으나, QoS 규칙 테이블에 QoS 규칙 정보가 존재함.Case 3) There is no forwarding information in forwarding table, but QoS rule information exists in QoS rule table.

경우 4) 포워딩 테이블에 포워딩 정보가 없고, QoS 규칙 테이블에 QoS 규칙 정보가 없음.
4) There is no forwarding information in the forwarding table, and there is no QoS rule information in the QoS rules table.

이하에서는 도 5 내지 도 8을 참조하여 도 4에 도시한 네 가지 경우 각각에 대한 노드의 처리 방법을 설명한다.Hereinafter, a method of processing a node for each of the four cases shown in FIG. 4 will be described with reference to FIGS. 5 to 8. FIG.

도 5는 도 4에 도시한 경우 1의 처리 방법을 나타내는 흐름도이다.5 is a flowchart showing a processing method of Case 1 shown in Fig.

도 5를 참조하면, 경우 1은 포워딩 테이블에 패킷의 포워딩 정보가 존재하고 QoS 규칙 테이블에 패킷의 QoS 규칙 정보가 존재하는 것을 의미하므로, 노드는 포워딩 테이블 및 QoS 규칙 테이블로부터 각각 패킷의 포워딩 정보와 QoS 규칙 정보를 획득하고(S501), 획득한 포워딩 정보 및 QoS 규칙 정보에 기초하여 플로우 학습 테이블을 학습 시킨다(S503).Referring to FIG. 5, Case 1 means that packet forwarding information exists in the forwarding table and QoS rule information of the packet exists in the QoS rule table. Therefore, the node transmits forwarding information of the packet from the forwarding table and the QoS rule table, The QoS rule information is obtained (S501), and the flow learning table is learned based on the acquired forwarding information and QoS rule information (S503).

또한, 노드는 획득한 포워딩 정보 및 QoS 규칙 정보에 따라 유입된 패킷에 QoS를 적용하고 상기 패킷을 포워딩 한다(S505).In addition, the node applies QoS to the incoming packet according to the acquired forwarding information and QoS rule information, and forwards the packet (S505).

도 5에서는 단계 S503이 수행된 후 단계 S505가 수행되는 것으로 예시하였으나, 이는 설명의 편의를 위한 것일 뿐이며 단계 S503 및 단계 S505의 실행 순서는 도 5에 도시된 바에 한정되지 않는다. 예를 들어, 단계 S503 및 단계 S505는 동시에 실행될 수 있다.
5, step S505 is performed after the step S503 is performed. However, the steps S503 and S505 are not limited to those shown in Fig. For example, steps S503 and S505 may be executed simultaneously.

도 6은 도 4에 도시한 경우 2의 처리 방법을 나타내는 흐름도이다.6 is a flowchart showing a processing method of Case 2 shown in Fig.

도 6을 참조하면, 경우 2는 포워딩 테이블에 패킷의 포워딩 정보는 존재하나, QoS 규칙 테이블에 패킷의 QoS 규칙 정보가 존재하지 않는 경우로, 이 경우 노드는 먼저 기본적으로 설정된 QoS 규칙을 적용할 것인가 아니면 컨트롤러에 QoS 규칙 갱신 요청 메시지를 전송할 것인가를 결정한다(S601). 여기서, 기본적으로 설정된 QoS 규칙은 예를 들면, 최선형 서비스(best effort service) 등이 될 수 있다. 또한, 단계 S601의 실행은 선택적으로 수행될 수 있다. 즉, 경우 2에서 노드는 단계 S601을 실행하지 않고 컨트롤러에 바로 QoS 규칙 갱신 요청 메시지를 전송하도록 구성될 수도 있다.Referring to FIG. 6, in case 2, there is packet forwarding information in the forwarding table, but there is no QoS rule information of the packet in the QoS rule table. In this case, the node first applies the QoS rule set by default Otherwise, it is determined whether to transmit a QoS rule update request message to the controller (S601). Here, the QoS rule set basically can be, for example, a best effort service or the like. Further, the execution of step S601 can be selectively performed. That is, in case 2, the node may be configured to send a QoS rule update request message directly to the controller without executing step S601.

단계 S601에서 기본적으로 설정된 QoS 규칙을 적용하지 않는 것으로 결정하면, 노드는 컨트롤러에게 해당 패킷의 QoS 규칙 갱신을 요청하는 메시지를 전송한다(S603). 여기서, 노드는 상기 패킷의 전체 또는 일부와 함께 상기 패킷의 QoS 규칙만을 요청하는 정보를 포함하는 메시지를 컨트롤러에 전송할 수 있다. 상기한 바와 같은 QoS 규칙 갱신 요청 메시지를 수신한 컨트롤러는 해당 노드에 QoS 규칙 정보를 전송한다.If it is determined in step S601 that the default QoS rule is not applied, the node transmits a message requesting the controller to update the QoS rule of the packet (S603). Here, the node may transmit to the controller a message including information requesting only the QoS rule of the packet together with all or part of the packet. The controller receiving the QoS rule update request message transmits the QoS rule information to the corresponding node.

노드는 컨트롤러로부터 상기 패킷의 QoS 규칙 정보를 수신한다(S605).The node receives the QoS rule information of the packet from the controller (S605).

그리고, 노드는 포워딩 테이블로부터 상기 패킷의 포워딩 정보를 획득하고 획득한 포워딩 정보와 컨트롤러로부터 수신한 상기 패킷의 QoS 규칙 정보를 이용하여 플로우 학습 테이블을 학습시킨다(S607).In step S607, the node obtains the forwarding information of the packet from the forwarding table, and learns the flow learning table using the obtained forwarding information and the QoS rule information of the packet received from the controller.

그리고, 노드는 상기 패킷의 포워딩 정보 및 QoS 규칙 정보에 따라 상기 패킷에 QoS를 적용하고 상기 패킷을 포워딩한다(S609).In step S609, the node applies QoS to the packet according to the forwarding information and the QoS rule information of the packet, and forwards the packet.

한편, 단계 S601에서 기본적으로 설정된 QoS 규칙을 적용하는 것으로 결정하는 경우, 노드는 기본 QoS 규칙과 포워딩 테이블로부터 획득한 포워딩 정보를 이용하여 패킷을 처리한다(S611).
If it is determined in step S601 that the default QoS rule is to be applied, the node processes the packet using the basic QoS rule and the forwarding information acquired from the forwarding table (S611).

도 7은 도 4에 도시한 경우 3의 처리 방법을 나타내는 흐름도이다.7 is a flowchart showing a processing method of Case 3 shown in Fig.

도 7을 참조하면, 경우 3은 QoS 규칙 테이블에 패킷에 적용할 QoS 규칙 정보는 존재하나, 포워딩 테이블에 패킷의 포워딩 정보는 존재하지 않는 경우로, 이 경우 노드는 먼저 기본적으로 설정된 포워딩 경로를 적용할 것인가 아니면 컨트롤러에 포워딩 경로 갱신 요청 메시지를 전송할 것인가를 결정한다(S701). 여기서, 단계 S701의 실행은 선택적으로 수행될 수 있다. 즉, 경우 3에서 노드는 단계 S701을 실행하지 않고 컨트롤러에 바로 포워딩 경로 갱신 요청 메시지를 전송하도록 구성될 수도 있다.Referring to FIG. 7, in case 3, QoS rule information to be applied to a packet exists in the QoS rule table, but there is no packet forwarding information in the forwarding table. In this case, the node first applies the forwarding path set by default Or to forward the forwarding path update request message to the controller (S701). Here, the execution of step S701 may be selectively performed. That is, in case 3, the node may be configured to send a forwarding route update request message directly to the controller without executing step S701.

단계 S701에서 기본적으로 설정된 포워딩 경로를 적용하지 않는 것으로 결정하면, 노드는 컨트롤러에게 해당 패킷의 포워딩 경로 갱신을 요청하는 메시지를 전송한다(S703). 여기서, 노드는 상기 패킷의 전체 또는 일부와 함께 상기 패킷의 포워딩 경로 정보만을 요청하는 정보를 포함하는 메시지를 컨트롤러에 전송할 수 있다. 상기한 바와 같은 포워딩 경로 갱신 요청 메시지를 수신한 컨트롤러는 해당 노드에 포워딩 정보를 전송한다.If it is determined in step S701 that the forwarding path set in step S701 is not applied, the node sends a message requesting the controller to update the forwarding path of the packet (S703). Here, the node may transmit to the controller a message including information requesting only the forwarding path information of the packet together with all or part of the packet. Upon receiving the forwarding path update request message as described above, the controller transmits forwarding information to the corresponding node.

노드는 컨트롤러로부터 상기 패킷의 포워딩 정보를 수신한다(S705).The node receives the forwarding information of the packet from the controller (S705).

그리고, 노드는 QoS 규칙 테이블로부터 상기 패킷에 적용할 QoS 규칙 정보를 획득하고 획득한 QoS 규칙 정보와 컨트롤러로부터 수신한 상기 패킷의 포워딩 정보를 이용하여 플로우 학습 테이블을 학습시킨다(S707).In step S707, the node acquires QoS rule information to be applied to the packet from the QoS rule table, and learns the flow learning table using the acquired QoS rule information and the forwarding information of the packet received from the controller.

그리고, 노드는 상기 패킷의 포워딩 정보 및 QoS 규칙 정보에 따라 상기 패킷에 QoS를 적용하고 상기 패킷을 포워딩한다(S709).Then, the node applies QoS to the packet according to the forwarding information and the QoS rule information of the packet, and forwards the packet (S709).

한편, 단계 S701에서 기본적으로 설정된 포워딩 경로 정보를 적용하는 것으로 결정하는 경우, 노드는 기본 포워딩 경로 정보와, QoS 규칙 테이블로부터 획득한 QoS 규칙 정보를 이용하여 패킷을 처리한다(S711).
If it is determined in step S701 that the default forwarding path information is to be applied, the node processes the packet using the basic forwarding path information and the QoS rule information obtained from the QoS rule table (S711).

도 8은 도 4에 도시한 경우 4의 처리 방법을 나타내는 흐름도이다.8 is a flowchart showing a processing method of Case 4 shown in Fig.

도 8을 참조하면, 경우 4는 포워딩 테이블에 패킷의 포워딩 정보가 존재하지 않고, QoS 규칙 테이블에 패킷에 적용할 QoS 규칙 정보가 존재하지 않는 경우로, 이 경우 노드는 먼저 기본적으로 설정된 포워딩 경로 및 기본적으로 설정된 QoS 규칙을 적용할 것인가 아니면 컨트롤러에 포워딩 경로 및 QoS 규칙 갱신 요청 메시지를 전송할 것인가를 결정한다(S801). 여기서, 단계 S801의 실행은 선택적으로 수행될 수 있다. 즉, 경우 4에서 노드는 단계 S801을 실행하지 않고 컨트롤러에 바로 포워딩 경로 및 QoS 규칙 갱신 요청 메시지를 전송하도록 구성될 수도 있다.Referring to FIG. 8, in case 4, there is no packet forwarding information in the forwarding table and QoS rule information to be applied to the packet does not exist in the QoS rule table. In this case, It is determined whether to apply the QoS rule basically set or to transmit the forwarding path and the QoS rule update request message to the controller (S801). Here, the execution of step S801 can be selectively performed. That is, in case 4, the node may be configured to send the forwarding path and QoS rule update request message directly to the controller without executing step S801.

단계 S801에서 기본적으로 설정된 포워딩 경로 및 기본적으로 설정된 QoS 규칙을 적용하지 않는 것으로 결정하면, 노드는 컨트롤러에게 해당 패킷의 포워딩 경로 및 QoS 규칙 갱신을 요청하는 메시지를 전송한다(S803). 여기서, 노드는 상기 패킷의 전체 또는 일부와 함께 상기 패킷의 포워딩 정보와 QoS 규칙 정보를 모두 요청하는 정보를 포함하는 메시지를 컨트롤러에 전송할 수 있다. 상기한 바와 같은 포워딩 경로 및 QoS 규칙 갱신 요청 메시지를 수신한 컨트롤러는 해당 노드에 포워딩 정보 및 QoS 규칙 정보를 전송한다.If it is determined in step S801 that the default forwarding path and the default QoS rule are not applied, the node transmits a message for requesting the forwarding path and the QoS rule update of the packet to the controller (S803). Here, the node may transmit to the controller a message including information requesting both the forwarding information and the QoS rule information of the packet together with all or part of the packet. Upon receiving the forwarding path and the QoS rule update request message as described above, the controller transmits forwarding information and QoS rule information to the corresponding node.

노드는 컨트롤러로부터 상기 패킷의 포워딩 정보 및 QoS 규칙 정보를 수신한다(S805).The node receives forwarding information and QoS rule information of the packet from the controller (S805).

그리고, 노드는 컨트롤러로부터 수신한 포워딩 정보 및 QoS 규칙 정보를 이용하여 플로우 학습 테이블을 학습시킨다(S807).Then, the node learns the flow learning table using forwarding information and QoS rule information received from the controller (S807).

그리고, 노드는 상기 패킷의 포워딩 정보 및 QoS 규칙 정보에 따라 상기 패킷에 QoS를 적용하고 상기 패킷을 포워딩한다(S809).Then, the node applies QoS to the packet according to the forwarding information and the QoS rule information of the packet, and forwards the packet (S809).

한편, 단계 S801에서 기본적으로 설정된 포워딩 경로 및 기본적으로 설정된 QoS 규칙을 적용하는 것으로 결정하는 경우, 노드는 기본 포워딩 경로 정보와, 기본 QoS 규칙을 이용하여 패킷을 처리한다(S811).
If it is determined in step S801 that the default forwarding path and the default QoS rule are to be applied, the node processes the packet using the basic forwarding path information and the basic QoS rule (S811).

본 발명의 일 실시예에 따른 서비스 품질 제공 방법에서 적용되는 QoS 처리는 크게 대역 보장 서비스와 공정성 제공 서비스 등의 서비스 유형을 포함할 수 있고, 상기한 서비스 유형 별로 QoS 요구 조건이 다양하게 존재할 수 있다.The QoS processing applied in the service quality providing method according to an embodiment of the present invention may include a service type such as a bandwidth guarantee service and a fairness providing service, and QoS requirements may exist in various types of service types .

대역 보장 서비스는 패킷의 길이와 요청 대역을 기반으로 고정된 서비스 시간에 따라서 반드시 패킷이 서비스 될 수 있도록 보장하는 서비스를 의미하며, 공정성 제공 서비스는 각 플로우 별로 대역을 공평하게 나누어 사용할 수 있도록 하는 서비스를 의미한다.The bandwidth guarantee service means a service that ensures that packets can be serviced according to a fixed service time based on a packet length and a requested bandwidth, and the fairness providing service is a service that allows the bandwidth to be divided equally for each flow .

본 발명에서는 상기한 바와 같은 QoS 보장을 위하여, 각 플로우 별로 대역이 결정되면, 각 노드는 결정된 대역에 따라 패킷 도착 간격(t_Δ)을 결정하고, 결정된 패킷 도착 간격(t_Δ)에 기초하여 다음 패킷의 도착 예정 시간을 계산한다. 그리고, 노드는 다음 패킷이 실제로 도착하면, 미리 계산된 도착 예정 시간에 기초하여 상기 다음 패킷의 수락 또는 폐기를 결정하는 방법으로 QoS를 보장할 수 있다. 여기서, 각 플로우별 대역은 시간에 따라 가변적으로 구성될 수 있다. 또한, 각 플로우의 첫 번째 패킷의 경우 도착 예정 시간은 상기 첫 번째 패킷이 도착하는 노드의 시간으로 설정할 수 있다.
In the present invention, in order to guarantee QoS as described above, when a band is determined for each flow, each node determines a packet arrival interval (t_A) according to a determined bandwidth, and based on the determined packet arrival interval (t_A) Calculate the expected arrival time. Then, the node can guarantee the QoS by a method of determining the acceptance or discard of the next packet based on the previously calculated arrival time, when the next packet actually arrives. Here, the band for each flow may be configured to be variable according to time. In the case of the first packet of each flow, the expected arrival time may be set as the time of the node at which the first packet arrives.

도 9는 본 발명의 일 실시예에 따른 QoS 제공 방법을 설명하기 위한 개념도이다.9 is a conceptual diagram for explaining a QoS providing method according to an embodiment of the present invention.

도 9를 참조하면, 본 발명의 일 실시예에서는 QoS를 효율적으로 제공하기 위하여 SDN 네트워크를 구성하는 노드를 에지 노드(edge node)(921, 923)와 코어 노드(core node)(925)로 구분한다. 여기서 에지 노드(921, 923)는 SDN 네트워크의 경계에 위치하는 노드로, 복수의 가입자 단말과 연결될 수 있다. 또한 코어 노드(925)는 SDN 네트워크의 내부에 위치하는 노드로 에지 노드간, 에지 노드와 다른 코어 노드간 또는 코어 노드간을 연결하는 노드를 의미한다. 도 9에서는 설명의 단순화를 위하여 코어 노드(925)가 두 개의 에지 노드(921, 923)들을 연결하는 것으로 예시하였다. 또한, SDN 네트워크를 구성하는 복수의 에지 노드(921, 923) 및 코어 노드(925)들은 컨트롤러(910)와 연결된다.9, in an embodiment of the present invention, to efficiently provide QoS, a node constituting an SDN network is divided into edge nodes 921 and 923 and a core node 925 do. The edge nodes 921 and 923 are located at the border of the SDN network and can be connected to a plurality of subscriber terminals. Also, the core node 925 refers to a node that is located inside the SDN network and connects between the edge nodes, between the edge node and another core node or between core nodes. In FIG. 9, the core node 925 is illustrated as connecting two edge nodes 921 and 923 for the sake of simplicity. In addition, a plurality of edge nodes 921, 923 and core nodes 925 constituting the SDN network are connected to the controller 910.

에지 노드(921)는 전술한 바와 같이 각 플로우의 대역이 할당되면 각 플로우별로 유입되는 매 패킷에 대해 패킷 도착 간격(t_Δ)을 계산하고, 계산된 패킷 도착 간격(t_Δ) 정보를 패킷의 헤더에 포함시켜 다음 노드로 포워딩 한다. The edge node 921 calculates the packet arrival interval t_A for each packet flowing in each flow when the bandwidth of each flow is allocated and transmits the calculated packet arrival interval t_A to the header of the packet And forward it to the next node.

구체적으로, 도 9에 도시한 바와 같이 에지 노드(921)에 유입된 패킷이 이더넷 IP 패킷인 경우, 에지 노드(921)는 MAC 헤더와 IP헤더 사이에 SDN 헤더를 정의하고 SDN 헤더에 QoS 정보로 패킷 도착 간격(t_Δ) 정보를 포함시켜 다음 노드(도 9에서는 코어 노드(925))로 포워딩 한다. 여기서, SDN 헤더의 크기 및 구체적인 포멧은 다양하게 정의될 수 있다.9, the edge node 921 defines an SDN header between the MAC header and the IP header, and stores the QoS information in the SDN header in the case where the packet received in the edge node 921 is an Ethernet IP packet (T_?) Information and forward it to the next node (the core node 925 in FIG. 9). Here, the size and the specific format of the SDN header can be variously defined.

코어 노드(925)는 패킷 도착 간격(t_Δ) 정보가 포함된 SDN 헤더를 포함하는 패킷이 전달되면, 전달받은 패킷의 도착 시간을 해당 플로우에 대하여 계산된 도착 예정 시간과 비교하여 전달 받은 패킷의 도착 시간이 도착 예정 시간보다 빠른가 아니면 느린가를 판단한다. The core node 925 compares the arrival time of the received packet with the expected arrival time calculated for the corresponding flow, and transmits the arrival of the received packet to the core node 925 Determine if the time is earlier or later than the expected arrival time.

여기서, 코어 노드(925)는 도착 예정 시간 보다 패킷이 빨리 도착한 것으로 판단되면 컨트롤러(910)로 상기 전달받은 패킷에 해당하는 플로우에 트래픽 폭증이 발생하였음을 지시하는 트래픽 폭증 통지 메시지(Traffic Congestion Notification)를 전송한다. 여기서, 코어 노드(925)는 패킷의 도착 예정 시간보다 패킷이 빨리 들어오는 경우 바로 컨트롤러(910)에 트래픽 폭증 통지 메시지를 전송하도록 구성될 수도 있고, 패킷이 미리 설정된 허용치를 초과한 후에도 계속 빨리 들어오는 경우에 트래픽 폭증 통지 메시지를 전송하도록 구성될 수도 있다. 또한, 코어 노드(925)는 트래픽 폭증과 관련된 패킷을 바로 폐기하도록 설정될 수도 있고, 트래픽 폭증과 관련된 패킷에 DSCP 마킹을 수행하도록 구성될 수도 있다. 트래픽 폭증이 발생한 경우 해당 패킷에 대한 처리 방법은 컨트롤러(925)가 각 노드(921, 923 또는 925)에 제공할 수 있고, 컨트롤러(925)는 미리 설정된 QoS 관리 정책에 따라 처리 방법을 각 노드에 제공할 수 있다.If it is determined that the packet arrives sooner than the expected arrival time, the core node 925 notifies the controller 910 of a traffic congestion notification message indicating that a traffic explosion has occurred in the flow corresponding to the received packet, . Here, the core node 925 may be configured to send a traffic surge notification message to the controller 910 immediately when a packet arrives earlier than the scheduled arrival time of the packet, or if the packet continues to come quickly even after exceeding a predetermined allowable value To send a traffic spoofing notification message. In addition, the core node 925 may be configured to immediately discard packets associated with traffic spikes, and may be configured to perform DSCP marking on packets associated with traffic spikes. When a traffic explosion occurs, a processing method for the packet may be provided by the controller 925 to each node 921, 923, or 925, and the controller 925 may transmit a processing method to each node .

코어 노드(925)는 상술한 바와 같은 과정을 통해 수락된 패킷에 대해서는 패킷 도착 간격(t_Δ)을 이용하여 동일 플로우의 다음 패킷에 대한 도착 예정 시간(η)을 수학식 1과 같이 갱신한다.The core node 925 updates the expected arrival time η for the next packet of the same flow using Equation 1 using the packet arrival interval t_Δ for the accepted packet through the process as described above.

Figure pat00001
Figure pat00001

한편, 전술한 과정을 통해 컨트롤러(910)가 임의의 노드로부터 트래픽 폭증 통지 메시지를 수신하면, 컨트롤러(910)는 폭증이 발생한 해당 플로우에 대하여 트래픽 폭증이 발생한 노드의 이전에 위치한 노드(예를 들면, 트래픽 폭증이 발생한 노드에 패킷을 포워딩한 노드)에 플로우 전송 속도를 제어하기 위한 플로우 전송 속도 제어 메시지를 전송한다. 플로우 전송 속도 제어 메시지에는 플로우에 대한 적정 전송 속도를 포함할 수 있고, 상기 적정 전송 속도는 컨트롤러(910)가 설정할 수 있다. On the other hand, when the controller 910 receives the traffic spoofing notification message from any node through the above-described process, the controller 910 notifies the node where the traffic explosion occurred to the previously located node (for example, , A node that forwarded the packet to the node where the traffic explosion occurred, and a flow rate control message for controlling the flow rate. The flow rate control message may include an appropriate transmission rate for the flow, and the appropriate transmission rate may be set by the controller 910.

컨트롤러(910)로부터 상기 플로우 전송 속도 제어 메시지를 수신한 노드(도 9에서는 에지 노드(921))는 플로우 전송 속도 제어 메시지에 포함된 전송 속도 정보에 기초하여 각 패킷에 대한 패킷 도착 간격(t_Δ)을 계산 한다.
The node (edge node 921 in FIG. 9) receiving the flow rate control message from the controller 910 receives the packet arrival interval t_Δ for each packet based on the transmission rate information included in the flow rate control message, .

도 10은 본 발명의 일 실시예에 따른 서비스 품질을 제공 방법을 실행하는 장치의 구성을 나타내는 블록도로서, QoS 제공 방법을 실행하는 장치는 전술한 노드가 될 수 있다.FIG. 10 is a block diagram showing a configuration of an apparatus for executing a method for providing quality of service according to an embodiment of the present invention, wherein the apparatus executing the QoS providing method may be the node described above.

도 10을 참조하면, 본 발명의 일 실시예에 따른 노드(1000)는 저장부(1030) 및 패킷 처리부(1010)를 포함할 수 있다.Referring to FIG. 10, a node 1000 according to an embodiment of the present invention may include a storage unit 1030 and a packet processing unit 1010.

저장부(1030)는 도 2 도시한 바와 같은 플로우 학습 테이블(1031), 포워딩 테이블(1033) 및 QoS 규칙 테이블(1035)을 포함할 수 있다. 포워딩 테이블(1033) 및 QoS 규칙 테이블(1035)에는 컨트롤러로부터 제공된 포워딩 정보 및 QoS 규칙 정보가 각각 포함되며, 플로우 학습 테이블(1031)은 포워딩 테이블(1033), QoS 규칙 테이블(1035)에 포함된 정보 또는 컨트롤러로부터 제공받은 포워딩 정보 또는 QoS 규칙 정보에 기초하여 노드(1000)에서 자체적으로 학습된 정보를 포함한다.The storage unit 1030 may include a flow learning table 1031, a forwarding table 1033, and a QoS rule table 1035 as shown in FIG. The forwarding table 1033 and the QoS rule table 1035 each include forwarding information and QoS rule information provided from the controller and the flow learning table 1031 includes forwarding table 1033 and information included in the QoS rule table 1035 Or information learned in the node 1000 based on the forwarding information or QoS rule information provided from the controller.

패킷 처리부(1010)는 도 3 내지 도 10에 도시한 바와 같이 유입된 패킷의 헤더 정보에 기초하여 마이크로 플로우 단위로 QoS를 제공하기 위한 처리를 수행한다.The packet processing unit 1010 performs processing for providing QoS on a microflow basis based on header information of an incoming packet as shown in FIG. 3 to FIG.

구체적으로, 패킷 처리부(1010)는 임 각 플로우의 첫 번째 패킷이 유입되면 유입된 패킷에 해당하는 포워딩 정보 및 QoS 규칙을 포워딩 테이블(1033) 및 QoS 규칙 테이블(1035)로부터 검색하고, 해당 정보들이 존재하지 않는 것으로 판단되면 컨트롤러로 첫 번째 패킷의 전부 또는 일부를 전달하여 컨트롤러로부터 포워딩 테이블(1033) 및 QoS 규칙 테이블(1035)에 대한 정보를 수신하고, 수신한 정보를 기반으로 플로우 학습 테이블(1031)에 해당 마이크로 플로우를 위한 엔트리를 생성한다. Specifically, the packet processing unit 1010 searches the forwarding table 1033 and the QoS rule table 1035 for forwarding information and QoS rules corresponding to incoming packets when the first packet of each flow flows, If it is determined that the packet does not exist, all or part of the first packet is delivered to the controller to receive information about the forwarding table 1033 and the QoS rule table 1035 from the controller, and based on the received information, ) To generate an entry for the corresponding microflow.

또한, 패킷 처리부(1010)는 패킷이 유입되면 유입된 패킷에 해당하는 플로우를 구분하기 위한 해쉬 값을 생성하고, 생성된 해쉬 값을 이용하여 플로우 학습 테이블(1031)에서 유입된 패킷에 상응하는 플로우를 검색하고, 유입된 패킷에 해당하는 플로우가 존재하지 않는 것으로 판단되면, 유입된 패킷에 해당하는 포워딩 정보 및 QoS 규칙을 각각 포워딩 테이블(1033) 및 QoS 규칙 테이블(1035)에서 검색한다. 이후, 패킷 처리부(1010)는 도 4 내지 도 8에 도시한 바와 같이 유입된 패킷에 해당하는 포워딩 정보 및 QoS 정보의 존재 유무를 판단하여 전술한 바와 같은 네 가지 경우 중 해당 하는 경우에 따른 패킷 처리 과정을 수행한다.In addition, the packet processor 1010 generates a hash value for distinguishing a flow corresponding to an incoming packet when a packet is received, and generates a hash value by using a flow corresponding to the packet received from the flow learning table 1031 If it is determined that there is no flow corresponding to the incoming packet, the forwarding information and the QoS rule corresponding to the incoming packet are searched in the forwarding table 1033 and the QoS rule table 1035, respectively. 4 to 8, the packet processing unit 1010 determines whether or not the forwarding information and the QoS information corresponding to the incoming packet are present. Then, the packet processing unit 1010 performs packet processing .

또한, 에지 노드에 포함된 패킷 처리부(1010)는 각 플로우별로 대역이 할당되면 도 9에 도시한 바와 같이 각 플로우별로 유입되는 매 패킷에 대해 패킷 도착 간격(t_Δ)을 계산하고, 계산된 패킷 도착 간격(t_Δ) 정보를 패킷의 헤더에 포함시켜 다음 노드로 포워딩 한다.The packet processing unit 1010 included in the edge node calculates a packet arrival interval t_Δ for each packet flowing in each flow as shown in FIG. 9 when a bandwidth is allocated for each flow, (T_ [Delta]) information is included in the header of the packet and forwarded to the next node.

또한, 코어 노드에 포함된 패킷 처리부(1010)는 패킷 도착 간격(t_Δ) 정보가 포함된 SDN 헤더를 포함하는 패킷이 전달되면, 전달받은 패킷의 헤더에 포함된 패킷 도착 간격에 기초하여 상기 패킷의 도착 시간을 판단하고, 판단된 패킷의 도착 시간을 상기 패킷의 해당 플로우에 대하여 계산된 도착 예정 시간과 비교하여 전달받은 패킷에 해당하는 플로우에 트래픽 폭증이 발생하였는가를 판단하고, 트래픽 폭증이 발생한 것으로 판단되면 트래픽 폭증 통지 메시지(Traffic Congestion Notification)를 컨트롤러에 전송한다. 또한, 패킷 처리부(1010)는 미리 설정된 정책에 따라 트래픽 폭증과 관련된 패킷을 처리(예를 들면, 폐기 또는 DSCP 마킹 등)할 수 있다. In addition, when a packet including an SDN header including the packet arrival interval (t_A) information is received, the packet processing unit 1010 included in the core node calculates the packet arrival interval Determines the arrival time, compares the arrival time of the determined packet with the estimated arrival time calculated for the corresponding flow of the packet, determines whether a traffic explosion occurs in the flow corresponding to the received packet, And transmits a Traffic Congestion Notification message to the controller when the determination result is affirmative. In addition, the packet processing unit 1010 may process (e.g., discard or DSCP mark) a packet related to a traffic surge according to a preset policy.

또한, 에지 노드 또는 코어 노드에 포함된 패킷 처리부(1010)는 컨트롤러로부터 플로우 전송 속도 제어 메시지를 수신하는 경우, 수신한 플로우 전송 속도 제어 메시지에 포함된 전송 속도 정보에 기초하여 패킷의 처리를 수행할 수 있다.
In addition, when receiving the flow rate control message from the controller, the packet processing unit 1010 included in the edge node or the core node performs packet processing based on the transmission rate information included in the received flow rate control message .

이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. It will be possible.

110 : 컨트롤러 130 : 노드
131 : 플로우 테이블 210 : 컨트롤러
230 : 노드 231 : 플로우 학습 테이블
233 : 포워딩 테이블 235 : QoS 규칙 테이블
910 : 컨트롤러 921, 923 : 에지 노드
925 : 코어 노드 1000 : 노드
1010 : 패킷 처리부 1030 : 저장부
1031 : 플로우 학습 테이블 1033 : 포워딩 테이블
1035 : QoS 규칙 테이블
110: controller 130: node
131: Flow table 210: Controller
230: node 231: flow learning table
233: forwarding table 235: QoS rule table
910: Controller 921, 923: Edge node
925: core node 1000: node
1010: Packet processing unit 1030:
1031: Flow learning table 1033: Forwarding table
1035: QoS rule table

Claims (15)

네트워크의 임의의 노드에서 수행되는 서비스 품질 제공 방법에 있어서,
소정 플로우의 첫 번째 패킷을 수신하는 단계;
상기 패킷에 해당하는 포워딩 정보 및 QoS(Quality of Service) 규칙을 포워딩 테이블 및 QoS 규칙 테이블에서 각각 검색하는 단계;
상기 포워딩 테이블 및 QoS 규칙 테이블에 상기 포워딩 정보 및 QoS 규칙 정보가 존재하지 않는 경우 컨트롤러로 상기 패킷을 전달하는 단계; 및
상기 컨트롤러로부터 수신한 포워딩 정보 및 QoS 규칙 정보에 기초하여 플로우 학습 테이블에 상기 패킷에 해당하는 플로우 엔트리(entry)를 생성하는 단계를 포함하는 서비스 품질 제공 방법.
A method for providing quality of service performed at an arbitrary node of a network,
Receiving a first packet of a predetermined flow;
Retrieving forwarding information and QoS (Quality of Service) rules corresponding to the packet from a forwarding table and a QoS rule table, respectively;
Transmitting the packet to the controller when the forwarding information and the QoS rule information do not exist in the forwarding table and the QoS rule table; And
And generating a flow entry corresponding to the packet in the flow learning table based on the forwarding information and QoS rule information received from the controller.
청구항 1에 있어서,
상기 컨트롤러로부터 수신한 포워딩 정보 및 QoS 규칙 정보의 단위와 상기 플로우 학습 테이블에 생성되는 플로우 엔트리의 단위는 서로 다른 것을 특징으로 하는 서비스 품질 제공 방법.
The method according to claim 1,
Wherein the unit of the forwarding information and the QoS rule information received from the controller is different from the unit of the flow entry generated in the flow learning table.
청구항 1에 있어서,
상기 플로우 엔트리를 생성하는 단계는 마이크로 플로우 엔트리를 생성하는 것을 특징으로 하는 서비스 품질 제공 방법.
The method according to claim 1,
Wherein the step of generating the flow entry generates a microflow entry.
네트워크의 임의의 노드에서 수행되는 서비스 품질 제공 방법에 있어서,
수신된 패킷에 해당하는 플로우 정보를 플로우 학습 테이블에서 검색하는 단계;
상기 플로우 학습 테이블에 상기 플로우 정보가 존재하지 않는 경우, 상기 패킷에 해당하는 포워딩 정보 및 QoS 규칙 정보를 포워딩 테이블 및 QoS 규칙 테이블에서 각각 검색하는 단계;
상기 포워딩 정보 및 QoS 규칙 정보 중 적어도 하나의 정보가 상기 포워딩 테이블 및 상기 QoS 규칙 테이블에 존재하지 않는 경우, 존재하지 않는 적어도 하나의 정보를 컨트롤러로부터 획득하는 단계; 및
상기 포워딩 테이블 및 상기 QoS 규칙 테이블 중 적어도 하나의 테이블로부터 획득한 정보와 상기 컨트롤러로부터 획득한 정보 중 적어도 하나의 정보를 이용하여 상기 플로우 학습 테이블을 학습시키는 단계를 포함하는 서비스 품질 제공 방법.
A method for providing quality of service performed at an arbitrary node of a network,
Searching the flow learning table for flow information corresponding to the received packet;
If the flow information does not exist in the flow learning table, searching for forwarding information and QoS rule information corresponding to the packet in a forwarding table and a QoS rule table, respectively;
If at least one of the forwarding information and the QoS rule information is not present in the forwarding table and the QoS rule table, acquiring at least one information that does not exist from the controller; And
And learning the flow learning table using at least one of information obtained from at least one of the forwarding table and the QoS rule table and information acquired from the controller.
청구항 4에 있어서, 상기 서비스 품질 제공 방법은
상기 포워딩 정보 및 QoS 규칙 정보가 상기 포워딩 테이블 및 상기 QoS 규칙 테이블에 각각 존재하는 경우,
상기 포워딩 테이블 및 상기 QoS 규칙 테이블로부터 상기 패킷에 적용할 포워딩 정보 및 QoS 규칙 정보를 각각 획득하는 단계;
획득한 상기 포워딩 정보 및 상기 QoS 규칙 정보를 이용하여 상기 플로우 학습 테이블을 학습시키는 단계; 및
획득한 상기 포워딩 정보 및 상기 QoS 규칙 정보를 이용하여 상기 패킷을 처리하는 단계를 더 포함하는 것을 특징으로 하는 서비스 품질 제공 방법.
5. The method of claim 4,
If the forwarding information and the QoS rule information are respectively present in the forwarding table and the QoS rule table,
Obtaining forwarding information and QoS rule information to be applied to the packet from the forwarding table and the QoS rule table, respectively;
Learning the flow learning table using the acquired forwarding information and the QoS rule information; And
And processing the packet using the acquired forwarding information and the QoS rule information.
청구항 4에서,
상기 존재하지 않는 적어도 하나의 정보를 컨트롤러로부터 획득하는 단계는,
상기 포워딩 정보가 상기 포워딩 테이블에 존재하나 상기 QoS 규칙 정보가 상기 QoS 규칙 테이블에 존재하지 않는 경우,
상기 컨트롤러에 상기 QoS 규칙 정보의 갱신을 요청하는 메시지를 전송하는 단계;
상기 컨트롤러로부터 제공된 QoS 규칙 정보 및 상기 포워딩 테이블로부터 획득한 포워딩 정보를 이용하여 상기 플로우 학습 테이블을 학습시키는 단계; 및
상기 컨트롤러로부터 제공된 QoS 규칙 정보 및 상기 포워딩 테이블로부터 획득한 포워딩 정보에 기초하여 상기 패킷을 처리하는 단계를 포함하는 것을 특징으로 하는 서비스 품질 제공 방법.
In claim 4,
Wherein the obtaining of the at least one non-existent information from the controller comprises:
If the forwarding information is present in the forwarding table but the QoS rule information is not present in the QoS rule table,
Transmitting a message for requesting update of the QoS rule information to the controller;
Learning the flow learning table using QoS rule information provided from the controller and forwarding information acquired from the forwarding table; And
And processing the packet based on QoS rule information provided from the controller and forwarding information obtained from the forwarding table.
청구항 4에서,
상기 존재하지 않는 적어도 하나의 정보를 컨트롤러로부터 획득하는 단계는,
상기 포워딩 정보가 상기 포워딩 테이블에 존재하지 않고, 상기 QoS 규칙 정보가 상기 QoS 규칙 테이블에 존재하는 경우,
상기 컨트롤러에 상기 포워딩 정보의 갱신을 요청하는 메시지를 전송하는 단계;
상기 컨트롤러로부터 제공된 포워딩 정보 및 상기 QoS 규칙 테이블로부터 획득한 QoS 규칙 정보를 이용하여 상기 플로우 학습 테이블을 학습시키는 단계; 및
상기 컨트롤러로부터 제공된 포워딩 정보 및 상기 QoS 규칙 테이블로부터 획득한 QoS 규칙 정보에 기초하여 상기 패킷을 처리하는 단계를 포함하는 것을 특징으로 하는 서비스 품질 제공 방법.
In claim 4,
Wherein the obtaining of the at least one non-existent information from the controller comprises:
If the forwarding information is not present in the forwarding table and the QoS rule information is present in the QoS rule table,
Transmitting a message requesting update of the forwarding information to the controller;
Learning the flow learning table using forwarding information provided from the controller and QoS rule information acquired from the QoS rule table; And
And processing the packet based on forwarding information provided from the controller and QoS rule information obtained from the QoS rule table.
청구항 4에서,
상기 존재하지 않는 적어도 하나의 정보를 컨트롤러로부터 획득하는 단계는,
상기 포워딩 정보가 상기 포워딩 테이블에 존재하지 않고, 상기 QoS 규칙 정보가 상기 QoS 규칙 테이블에 존재하지 않는 경우,
상기 컨트롤러에 상기 포워딩 정보 및 상기 QoS 규칙의 갱신을 요청하는 메시지를 전송하는 단계;
상기 컨트롤러로부터 제공된 포워딩 정보 및 상기 QoS 규칙 정보를 이용하여 상기 플로우 학습 테이블을 학습시키는 단계; 및
상기 컨트롤러로부터 제공된 포워딩 정보 및 상기 QoS 규칙 정보에 기초하여 상기 패킷을 처리하는 단계를 포함하는 것을 특징으로 하는 서비스 품질 제공 방법.
In claim 4,
Wherein the obtaining of the at least one non-existent information from the controller comprises:
If the forwarding information does not exist in the forwarding table and the QoS rule information does not exist in the QoS rule table,
Transmitting the forwarding information and a message requesting update of the QoS rule to the controller;
Learning the flow learning table using forwarding information and QoS rule information provided from the controller; And
And processing the packet based on forwarding information provided from the controller and the QoS rule information.
청구항 4에 있어서,
상기 서비스 품질 제공 방법은,
각 플로우별로 유입되는 패킷에 대해 패킷 도착 간격을 계산하는 단계; 및
상기 계산된 패킷 도착 간격 정보를 상기 패킷의 헤더에 포함시킨 후, 상기 패킷 도착 간격 정보가 포함된 패킷을 다른 노드로 포워딩하는 단계를 더 포함하는 것을 특징으로 하는 서비스 품질 제공 방법.
The method of claim 4,
The service quality providing method includes:
Calculating a packet arrival interval for a packet flowing in each flow; And
Further comprising forwarding the packet including the packet arrival interval information to another node after the calculated packet arrival interval information is included in the header of the packet.
청구항 9에 있어서,
상기 패킷 도착 간격 정보가 포함된 패킷을 다른 노드로 포워딩하는 단계는,
상기 패킷이 IP(Internet Protocol) 패킷인 경우, 상기 IP 패킷의 MAC(Medium Access Control) 헤더와 IP 헤더 사이에 SDN(Software Defined Networking) 헤더를 추가하고, 상기 SDN 헤더에 상기 패킷 도착 간격 정보를 포함시키는 것을 특징으로 하는 서비스 품질 제공 방법.
The method of claim 9,
Wherein the step of forwarding a packet including the packet arrival interval information to another node comprises:
(SDN) header between an MAC (medium access control) header and an IP header of the IP packet when the packet is an Internet Protocol (IP) packet, and includes the packet arrival interval information in the SDN header The quality of service.
청구항 4에 있어서,
상기 서비스 품질 제공 방법은,
각 플로우별로 유입되는 패킷의 도착시간을 상기 패킷의 플로우에 대하여 계산된 도착 예정 시간과 비교하는 단계; 및
상기 패킷의 도착시간이 상기 도착 예정 시간보다 빠른 경우 상기 컨트롤러로 상기 패킷의 플로우에 트래픽 폭증이 발생하였음을 지시하는 메시지를 전송하는 단계를 더 포함하는 서비스 품질 제공 방법.
The method of claim 4,
The service quality providing method includes:
Comparing an arrival time of a packet flowing in each flow with an estimated arrival time calculated for a flow of the packet; And
If the arrival time of the packet is earlier than the expected arrival time, transmitting to the controller a message indicating that a traffic explosion has occurred in the flow of the packet.
청구항 11에 있어서,
상기 각 플로우별로 유입되는 패킷의 도착시간을 상기 패킷의 플로우에 대하여 계산된 도착 예정 시간과 비교하는 단계는,
상기 패킷의 헤더에 포함된 패킷 도착 간격 정보에 기초하여 상기 패킷의 도착시간을 판단하고, 판단된 상기 패킷의 도착 시간을 상기 도착 예정 시간과 비교하는 것을 특징으로 하는 서비스 품질 제공 방법.
The method of claim 11,
Wherein comparing the arrival time of the packet flowing in each flow with the estimated arrival time calculated with respect to the flow of the packet,
Determining arrival time of the packet based on packet arrival interval information included in a header of the packet, and comparing the arrival time of the packet with the expected arrival time.
패킷의 포워딩 정보를 포함하는 포워딩 테이블, 상기 패킷에 적용할 QoS 규칙 정보를 포함하는 QoS 규칙 테이블 및 상기 포워딩 테이블 및 상기 QoS 규칙 정보에 기초하여 학습되는 플로우 학습 테이블을 포함하는 저장부; 및
상기 저장부에 저장된 정보에 기초하여 유입된 패킷의 포워딩과 상기 유입된 패킷에 QoS를 적용하는 패킷 처리부를 포함하는 서비스 품질 제공 장치.
A forwarding table including forwarding information of a packet, a QoS rule table including QoS rule information to be applied to the packet, and a flow learning table that is learned based on the forwarding table and the QoS rule information. And
And a packet processing unit for applying forwarding of an incoming packet and QoS to the incoming packet based on information stored in the storage unit.
청구항 13에 있어서,
상기 패킷 처리부는 소정 플로우의 첫 번째 패킷을 수신하고, 상기 패킷에 해당하는 포워딩 정보 및 QoS 규칙을 포워딩 테이블 및 QoS 규칙 테이블에서 각각 검색하여 상기 포워딩 테이블 및 QoS 규칙 테이블에 상기 포워딩 정보 및 QoS 규칙 정보가 존재하지 않는 경우 컨트롤러로 상기 패킷을 전달한 후, 상기 컨트롤러로부터 수신한 포워딩 정보 및 QoS 규칙 정보에 기초하여 상기 플로우 학습 테이블에 상기 패킷에 해당하는 플로우 엔트리를 생성하는 것을 특징으로 하는 서비스 품질 제공 장치.
14. The method of claim 13,
The packet processing unit receives the first packet of the predetermined flow, searches the forwarding table and the QoS rule table for the forwarding information and the QoS rule corresponding to the packet, respectively, and transmits the forwarding information and the QoS rule information And if it does not exist, generates a flow entry corresponding to the packet in the flow learning table based on forwarding information and QoS rule information received from the controller after delivering the packet to the controller .
청구항 14에 있어서,
상기 패킷 처리부는
수신된 패킷에 해당하는 플로우 정보를 상기 플로우 학습 테이블에서 검색하여 상기 플로우 학습 테이블에 상기 플로우 정보가 존재하지 않는 경우, 상기 수신된 패킷에 해당하는 포워딩 정보 및 QoS 규칙 정보를 포워딩 테이블 및 QoS 규칙 테이블에서 각각 검색한 후, 상기 포워딩 정보 및 QoS 규칙 정보 중 적어도 하나의 정보가 상기 포워딩 테이블 및 상기 QoS 규칙 테이블에 존재하지 않는 경우, 존재하지 않는 적어도 하나의 정보를 컨트롤러로부터 획득하여 상기 포워딩 테이블 및 상기 QoS 규칙 테이블 중 적어도 하나의 테이블로부터 획득한 정보와 상기 컨트롤러로부터 획득한 정보 중 적어도 하나의 정보를 이용하여 상기 플로우 학습 테이블을 학습시키는 것을 특징으로 하는 서비스 품질 제공 장치.
15. The method of claim 14,
The packet processing unit
Searches the flow learning table for flow information corresponding to a received packet, and if the flow information does not exist in the flow learning table, forwarding information and QoS rule information corresponding to the received packet are transmitted to a forwarding table and a QoS rule table And if at least one of the forwarding information and the QoS rule information does not exist in the forwarding table and the QoS rule table, at least one information that does not exist is acquired from the controller, And the flow learning table is learned using at least one of information obtained from at least one table in the QoS rule table and information acquired from the controller.
KR1020130125060A 2012-10-22 2013-10-21 Method and apparatus for providing quality of service in software defiend neworking network KR102067439B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/060,459 US9197568B2 (en) 2012-10-22 2013-10-22 Method for providing quality of service in software-defined networking based network and apparatus using the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120117195 2012-10-22
KR20120117195 2012-10-22

Publications (2)

Publication Number Publication Date
KR20140052847A true KR20140052847A (en) 2014-05-07
KR102067439B1 KR102067439B1 (en) 2020-01-20

Family

ID=50885979

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130125060A KR102067439B1 (en) 2012-10-22 2013-10-21 Method and apparatus for providing quality of service in software defiend neworking network

Country Status (1)

Country Link
KR (1) KR102067439B1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101578193B1 (en) 2014-12-31 2015-12-16 (주)넷비젼텔레콤 Method and System for controlling an access gateway using software defined network
KR20160000887A (en) * 2014-06-24 2016-01-06 경희대학교 산학협력단 Context-aware content providing system for qos in mobile cloud system
KR20160002155A (en) * 2014-06-30 2016-01-07 에스케이텔레콤 주식회사 Method fof transmitting of contents based on sdn network and ccn network
KR20160002154A (en) * 2014-06-30 2016-01-07 에스케이텔레콤 주식회사 Method for generate contents name and routing method based on contents name using sdn networkd, apparatus using the same
KR101656038B1 (en) 2015-03-11 2016-09-09 (주)넷비젼텔레콤 Method and System for providing Duplication and Load-Balancing
KR101712168B1 (en) * 2015-08-24 2017-03-03 주식회사 케이티 Method for controling packet-in message, switch and controller thereof
WO2017099498A1 (en) * 2015-12-08 2017-06-15 엘지전자 주식회사 Packet transmission method performed by node in wireless communication system and terminal using said method
US9912581B2 (en) 2014-08-27 2018-03-06 Electronics And Telecommunications Research Institute Flow inheritance
KR20190088578A (en) * 2014-06-30 2019-07-26 알까뗄 루슨트 Security in software defined network
KR20230075242A (en) * 2021-11-22 2023-05-31 아주대학교산학협력단 DQN-based resource management method for wireless communication

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073655A1 (en) * 2002-10-09 2004-04-15 Chao Kan Packet sequence number network monitoring system
KR20070051044A (en) * 2005-11-14 2007-05-17 주식회사 케이티 Performance meansurement apparatus of transfering packet and method thereof
KR20110037860A (en) * 2009-10-06 2011-04-13 한국전자통신연구원 Method for applying dynamic updates of forwarding and qos rules on flow based network devices
US20110261825A1 (en) * 2009-03-09 2011-10-27 Nec Corporation OpenFlow COMMUNICATION SYSTEM AND OpenFlow COMMUNICATION METHOD

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073655A1 (en) * 2002-10-09 2004-04-15 Chao Kan Packet sequence number network monitoring system
KR20070051044A (en) * 2005-11-14 2007-05-17 주식회사 케이티 Performance meansurement apparatus of transfering packet and method thereof
US20110261825A1 (en) * 2009-03-09 2011-10-27 Nec Corporation OpenFlow COMMUNICATION SYSTEM AND OpenFlow COMMUNICATION METHOD
KR20110037860A (en) * 2009-10-06 2011-04-13 한국전자통신연구원 Method for applying dynamic updates of forwarding and qos rules on flow based network devices

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160000887A (en) * 2014-06-24 2016-01-06 경희대학교 산학협력단 Context-aware content providing system for qos in mobile cloud system
KR20160002155A (en) * 2014-06-30 2016-01-07 에스케이텔레콤 주식회사 Method fof transmitting of contents based on sdn network and ccn network
KR20160002154A (en) * 2014-06-30 2016-01-07 에스케이텔레콤 주식회사 Method for generate contents name and routing method based on contents name using sdn networkd, apparatus using the same
KR20190088578A (en) * 2014-06-30 2019-07-26 알까뗄 루슨트 Security in software defined network
US9912581B2 (en) 2014-08-27 2018-03-06 Electronics And Telecommunications Research Institute Flow inheritance
KR101578193B1 (en) 2014-12-31 2015-12-16 (주)넷비젼텔레콤 Method and System for controlling an access gateway using software defined network
KR101656038B1 (en) 2015-03-11 2016-09-09 (주)넷비젼텔레콤 Method and System for providing Duplication and Load-Balancing
KR101712168B1 (en) * 2015-08-24 2017-03-03 주식회사 케이티 Method for controling packet-in message, switch and controller thereof
WO2017099498A1 (en) * 2015-12-08 2017-06-15 엘지전자 주식회사 Packet transmission method performed by node in wireless communication system and terminal using said method
US10608925B2 (en) 2015-12-08 2020-03-31 Lg Electronics Inc. Packet transmission method performed by node in wireless communication system and terminal using said method
KR20230075242A (en) * 2021-11-22 2023-05-31 아주대학교산학협력단 DQN-based resource management method for wireless communication

Also Published As

Publication number Publication date
KR102067439B1 (en) 2020-01-20

Similar Documents

Publication Publication Date Title
US9197568B2 (en) Method for providing quality of service in software-defined networking based network and apparatus using the same
KR102067439B1 (en) Method and apparatus for providing quality of service in software defiend neworking network
US11134012B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
US9413611B2 (en) Generating and enforcing a holistic quality of service policy in a network
US8284789B2 (en) Methods and apparatus for providing dynamic data flow queues
KR101877595B1 (en) METHOD FOR CONTROLLING QoS USING TRAFFIC PROCESSING BASED ON SERVICE
KR101571978B1 (en) Method for providing bandwidth based on grouping of multi flow
KR20140102398A (en) Method for sharing network based on software defined network to support multiple operator
CN106453138B (en) Message processing method and device
EP2904745A2 (en) Method and apparatus for accelerating forwarding in software-defined networks
KR101618985B1 (en) Method and apparatus for dynamic control of traffic in software defined network enviroment
US20140241349A1 (en) Openflow switch and packet processing method thereof
JP5999251B2 (en) COMMUNICATION SYSTEM, SWITCH, CONTROL DEVICE, PACKET PROCESSING METHOD, AND PROGRAM
KR101746105B1 (en) Openflow switch capable of service chaining
KR20140050461A (en) Method and apparatus to implement virtual networks using open flow switches and controller
Alharbi et al. Improving the quality of service for critical flows in smart grid using software-defined networking
KR101739097B1 (en) Service chaining method in openflow switch
KR101739100B1 (en) Method of controlling openflow switch capable of service chaining and controller thereof
Chen et al. A multi-wireless bandwidth aggregation mechanism in SDN networks
Grežo et al. Network traffic measurement and management in software defined networks
Hamad et al. Performance Assessment of QoS metrics in Software Defined Networking using Floodlight Controller
Mousheng et al. Controllable network architecture based on SDN
JP2015523749A (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
WO2018130306A1 (en) Quality of service class indicator structure and corresponding controllers and control methods
WO2016023149A1 (en) Method for ensuring traffic quality of service and central controller

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant