KR101706342B1 - Controller, switch and method based on open flow supporting data rate of packets on network - Google Patents
Controller, switch and method based on open flow supporting data rate of packets on network Download PDFInfo
- Publication number
- KR101706342B1 KR101706342B1 KR1020150118080A KR20150118080A KR101706342B1 KR 101706342 B1 KR101706342 B1 KR 101706342B1 KR 1020150118080 A KR1020150118080 A KR 1020150118080A KR 20150118080 A KR20150118080 A KR 20150118080A KR 101706342 B1 KR101706342 B1 KR 101706342B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- open flow
- open
- real
- flow switch
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
- H04L49/206—Real Time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 네트워크 상에서 패킷의 전송 속도를 지원하는 오픈플로우 기반 컨트롤러, 스위치 및 전송 속도 지원 방법에 관한 것이다.The present invention relates to an open flow based controller, a switch, and a transmission rate supporting method for supporting the transmission speed of a packet on a network.
최근 네트워크 기술의 발전과 사물 인터넷(internet of things; IoT) 및 사물 통신(machine to machine; M2M) 등의 출현으로 네트워크 상에서 사용자의 데이터 사용량이 증가하고, 사용 패턴 역시 다양하게 변화하고 있다. 특히, 모바일 기기의 사용이 증가함에 따라, AOD(audio on demand) 및 VOD(video on demand)와 같은 양질의 서비스를 실시간으로 빠르게 받고자 하는 사용자의 요구도 증가하고 있다. 이와 같이, 최근의 네트워크는 점점 복잡해지고 규모가 커지고 있다. 그러므로 기존의 네트워크 관리 모델을 이용하여 이러한 환경에서의 네트워크를 제어하기에는 한계가 있다. Recently, with the development of network technology and the emergence of internet of things (IoT) and machine to machine (M2M), the amount of data usage of users on the network has increased and usage patterns are also changing. Particularly, as the use of mobile devices increases, the demand of users who want to receive high quality services such as audio on demand (AOD) and video on demand (VOD) in real time is also increasing. As such, recent networks are becoming increasingly complex and growing in scale. Therefore, there is a limit to control the network in this environment using the existing network management model.
네트워크의 규모가 확장되고 복잡해짐에 따라, 효율적으로 네트워크를 관리하기 위하여 소프트웨어 정의 네트워크(software defined networking; SDN) 아키텍처가 등장하였다. 소프트웨어 정의 네트워크는 종래의 라우터(router)나 스위치(switch) 등의 하드웨어에 기초하여 구현되던 네트워크를 소프트웨어로 구현할 수 있는 기술이다. 또한, 소프트웨어 정의 네트워크는 중앙 제어 방식에 기초하여 네트워크를 제어할 수 있다. As the size and scale of the network grows, a software defined networking (SDN) architecture has emerged to efficiently manage the network. A software defined network is a technology capable of implementing a network that has been implemented based on hardware such as a conventional router or a switch in software. The software defined network can also control the network based on the central control scheme.
오픈플로우(openflow) 기반의 네트워크는 소프트웨어 정의 네트워크를 실현하기 위한 인터페이스(interface) 기술이다. 오픈플로우 기반의 네트워크는 소프트웨어 형태로 서버 또는 컴퓨팅 장치에 탑재되는 오픈플로우 컨트롤러(openflow controller)에 기초하여, 중앙 제어 방식으로 네트워크의 제어를 수행한다. 이때, 오픈플로우 컨트롤러는 기존 네트워크에서 스위치의 제어 기능을 담당한다. 즉, 오픈플로우 프로토콜(openflow protocol)을 통하여 하나 이상의 오픈플로우 스위치(openflow switch)를 제어한다. 이와 같이, 오픈플로우 기반의 네트워크는 중앙 제어 방식으로 네트워크를 제어하기 때문에, 네트워크에서 제공하는 서비스별로 향상된 QoS(quality of service)를 제공하는 것이 중요하다. An openflow-based network is an interface technology for realizing a software-defined network. An open flow based network performs control of a network in a centralized manner based on an open flow controller installed in a server or a computing device in the form of software. At this time, the open flow controller controls the switch in the existing network. That is, it controls one or more openflow switches through an openflow protocol. Since the open flow based network controls the network in a centralized manner, it is important to provide improved quality of service (QoS) for each service provided by the network.
이와 관련되어, 한국 공개특허공보 10-2014-0135000호(발명의 명칭: "소프트웨어정의네트워킹 기반 통신시스템의 서비스 처리 방법 및 ")는 소프트웨어 정의 네트워크 기반 통신 시스템의 서비스 처리 방법 및 장치를 개시하고 있다. 구체적으로 이 발명은 제 1 기지국, 제 1 기지국에 연동되는 제 1 오픈플로우 스위치, 제 1 오픈플로우 스위치와 연동되는 제 1 억세스 캐쉬, 제 1 기지국에 인접하는 제 2 기지국, 제 2 기지국에 연동되는 제 2 오픈플로우 스위치 및 제 2 오픈플로우 스위치와 연동되는 제 2 억세스 캐쉬를 포함한다. 그리고 이 발명은 제 1 기지국에 연결된 단말로부터 패킷이 수신될 때, 패킷에 해당하는 콘텐츠가 저장된 억세스 캐쉬를 확인하고, 확인된 억세스 캐쉬가 제 2 억세스 캐쉬인 경우, 패킷이 제 2 억세스 캐쉬를 거치도록 오픈플로우 스위치들의 경로를 설정한다. In this regard, Korean Patent Laid-Open Publication No. 10-2014-0135000 (entitled " Software Defined Networking-Based Communication System Service Processing Method ") discloses a method and apparatus for processing services of a software defined network-based communication system . More particularly, the present invention relates to a mobile communication system comprising a first base station, a first open flow switch operatively associated with a first base station, a first access cache operatively associated with a first open flow switch, a second base station adjacent to the first base station, And a second access cache interlocked with the second open flow switch and the second open flow switch. In this case, when a packet is received from a terminal connected to a first base station, an access cache in which a content corresponding to the packet is stored is checked. If the confirmed access cache is the second access cache, The path of the open flow switches is set.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 본 실시예는 네트워크 상에서 실시간 서비스 패킷 및 일반 서비스 패킷의 전송 속도를 지원하는 오픈플로우 컨트롤러, 오픈플로우 스위치 및 전송 속도 지원 방법을 제공하는데 그 목적이 있다. SUMMARY OF THE INVENTION The present invention provides an open flow controller, an open flow switch, and a transmission rate support method for supporting a transmission rate of a real-time service packet and a general service packet on a network, There is a purpose.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.It should be understood, however, that the technical scope of the present invention is not limited to the above-described technical problems, and other technical problems may exist.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 네트워크 상에서 패킷의 전송 속도를 지원하는 오픈플로우 컨트롤러는 패킷을 송수신하는 통신 모듈, 패킷을 처리하는 프로그램이 저장된 메모리 및 프로그램을 수행하는 프로세서를 포함한다. 이때, 프로세서는 프로그램의 실행에 따라, 오픈플로우 스위치로부터 패킷에 대한 처리 요청을 수신하면, 패킷이 실시간 서비스를 위한 패킷인지 판단하고, 오픈플로우 프로토콜을 통해 수집된 네트워크의 상태 정보에 기초하여, 패킷에 대응하는 라우팅 경로를 지정하며, 패킷이 실시간 서비스를 위한 패킷인 경우, 지정된 라우팅 경로에 위치하는 하나 이상의 오픈플로우 스위치에 패킷 및 패킷에 대응하는 우선순위 조정 요청을 전송한다.According to a first aspect of the present invention, there is provided an open flow controller for supporting a packet transmission speed on a network, including a communication module for transmitting and receiving a packet, a memory storing a program for processing a packet, And a processor. At this time, when the processor receives the processing request for the packet from the open flow switch according to the execution of the program, the processor determines whether the packet is a packet for the real-time service, and based on the status information of the network collected through the open- And if the packet is a packet for a real-time service, sends a priority adjustment request corresponding to the packet and the packet to one or more open flow switches located in the designated routing path.
또한, 본 발명의 제 2 측면에 따른 네트워크 상에서 패킷의 전송 속도를 지원하는 오픈플로우 스위치에 있어서, 패킷을 송수신하는 통신 모듈, 미터 테이블 및 패킷을 처리하는 프로그램이 저장된 메모리, 프로그램을 수행하는 프로세서를 포함한다. 프로세서는 프로그램의 실행에 따라, 오픈플로우 컨트롤러로부터 패킷 및 패킷에 대응하는 우선순위 조정 요청을 수신하면, 우선순위 조정 요청에 따라, 패킷에 대응하는 미터 테이블을 설정하여, 패킷을 처리한다.According to a second aspect of the present invention, there is provided an open flow switch for supporting packet transmission speed on a network, comprising: a memory for storing a communication module for transmitting and receiving a packet, a meter table and a program for processing a packet, . Upon receiving the priority adjustment request corresponding to the packet and the packet from the open flow controller according to the execution of the program, the processor sets a meter table corresponding to the packet according to the priority adjustment request and processes the packet.
그리고 본 발명의 제 3 측면에 따른 네트워크 상에서 오픈플로우 컨트롤러의 전송 속도를 지원하는 방법은 오픈플로우 스위치로부터 패킷에 대한 처리 요청을 수신하면, 오픈플로우 프로토콜을 통해 네트워크의 상태 정보를 수집하는 단계; 수집된 상태 정보에 기초하여, 패킷에 대응하는 라우팅 경로를 지정하는 단계; 패킷이 실시간 서비스를 위한 패킷인지 판단하는 단계; 및 패킷이 실시간 서비스를 위한 패킷인 경우, 라우팅 경로를 지정하는 단계 이후에, 지정된 라우팅 경로에 위치한 하나 이상의 오픈플로우 스위치에 패킷 및 패킷에 대응하는 우선순위 조정 요청을 전송하는 단계를 포함한다. A method for supporting a transmission rate of an open flow controller on a network according to the third aspect of the present invention includes collecting status information of a network through an open flow protocol upon receiving a processing request for a packet from the open flow switch; Designating a routing path corresponding to the packet based on the collected state information; Determining whether a packet is a packet for a real-time service; And sending a priority adjustment request corresponding to the packet and the packet to the one or more open flow switches located in the designated routing path after the step of designating the routing path if the packet is for a real-time service.
또한, 본 발명의 제 4 측면에 따른 네트워크 상에서의 오픈플로우 스위치의 전송 속도를 지원하는 방법은 오픈플로우 컨트롤러로부터 패킷 및 패킷에 대응하는 우선순위 조정 요청을 수신하면, 수신한 우선순위 조정 요청에 따라 미터 테이블을 설정하는 단계; 및 패킷을 처리하는 단계를 포함한다.The method for supporting the transmission rate of the open flow switch on the network according to the fourth aspect of the present invention is characterized in that upon receiving a priority adjustment request corresponding to packets and packets from the open flow controller, Setting a meter table; And processing the packet.
본 발명은 실시간 서비스를 위한 패킷을 목적지 단말까지 전송하는 네트워크에서 최적의 라우팅 경로를 지정할 수 있다. 또한, 본 발명은 라우팅 경로에 존재하는 오픈플로우 스위치에서 패킷을 빠르게 처리할 수 있다. 그러므로 본 발명은 사용자에게 QoS가 높은 실시간 서비스를 제공할 수 있다. The present invention can specify an optimal routing path in a network for transmitting a packet for a real-time service to a destination terminal. In addition, the present invention can quickly process packets in an open flow switch existing in a routing path. Therefore, the present invention can provide a real-time service with high QoS to a user.
도 1은 본 발명의 일 실시예에 따른 패킷 전송 속도를 지원하는 오픈플로우 기반 네트워크의 예시도이다.
도 2는 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 미터 테이블의 예시도이다.
도 4는 본 발명의 일 실시예에 따른 오픈플로우 스위치의 블록도이다.
도 5는 본 발명의 일 실시예에 따른 오픈 플로우 컨트롤러의 전송 속도 지원 방법의 순서도이다.
도 6은 본 발명의 일 실시예에 따른 오픈플로우 스위치의 실시간 서비스를 위한 패킷에 대한 전송 속도 지원 방법의 순서도이다.
도 7은 본 발명의 일 실시예에 따른 오픈플로우 스위치의 일반 서비스를 위한 패킷에 대한 전송 속도 지원 방법의 순서도이다.1 is an illustration of an open flow based network supporting packet transmission rates in accordance with an embodiment of the present invention.
2 is a block diagram of an open flow controller according to an embodiment of the present invention.
3 is an illustration of a meter table according to an embodiment of the present invention.
4 is a block diagram of an open flow switch according to an embodiment of the present invention.
5 is a flowchart of a method of supporting a transmission rate of an open flow controller according to an embodiment of the present invention.
6 is a flowchart of a method of supporting a transmission rate for a packet for real-time service of an open flow switch according to an embodiment of the present invention.
7 is a flowchart of a method of supporting a transmission rate for a packet for a general service of an open flow switch according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when a part is referred to as "including " an element, it does not exclude other elements unless specifically stated otherwise.
다음은 도 1을 참조하여 본 발명의 일 실시예에 따른 오픈플로우 기반 네트워크(10)를 설명한다. The following will describe an open flow based
도 1은 본 발명의 일 실시예에 따른 패킷 전송 속도를 지원하는 오픈플로우 기반 네트워크(10)의 예시도이다. 1 is an exemplary diagram of an open flow based
본 발명의 일 실시예에 따른 오픈플로우 기반 네트워크(10)는 오픈플로우 프로토콜에 기초하여, 단말(120)간의 패킷 통신을 수행한다. 이때, 오픈플로우 기반 네트워크(10)는 오픈플로우 컨트롤러(100), 오픈플로우 스위치(110) 및 단말(120)을 포함한다. The open flow based
오픈플로우 컨트롤러(100)는 오픈플로우 스위치(110)로부터 단말(120)이 전송한 패킷을 수신한다. 그리고 오픈플로우 컨트롤러(100)는 패킷에 대한 라우팅 경로를 설정하여 오픈 플로우 컨트롤러(100)와 연결된 하나 이상의 오픈플로우 스위치(110)로 패킷을 포워딩 한다. 이때, 오픈플로우 컨트롤러(100)는 컴퓨터 또는 서버(server)에 소프트웨어로 구현될 수 있다.The
오픈플로우 스위치(110)는 단말(120)로부터 패킷을 수신하여 오픈플로우 컨트롤러(100)에 전달한다. 또한, 오픈플로우 스위치(110)는 오픈플로우 컨트롤러(100)의 패킷 처리 명령에 따라, 패킷을 목적지 단말(120)로 전송하거나, 수정, 폐기하는 등의 처리를 수행한다. 이때, 오픈플로우 스위치(110)는 오픈플로우 프로토콜을 처리할 수 있는 스위치 또는 오픈플로우 프로토콜을 처리하도록 펌웨어 또는 소프트웨어가 추가된 일반적인 이더넷 스위치(Ethernet swithch)일 수 있다.The
또한, 단말(120)은 다른 단말로 패킷을 전송하거나, 다른 단말로부터 패킷을 수신할 수 있다. 이때, 단말(120)은 서버, 컴퓨터 및 모바일 디바이스 일 수 있으나 이에 한정된 것은 아니다. In addition, the
다음은 도 2 및 도 3을 참조하여 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(100)를 설명한다. Next, an
도 2는 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(100)의 블록도이다.2 is a block diagram of an
본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(100)는 오픈플로우 스위치(110)로부터 수신하는 패킷을 실시간 서비스를 위한 패킷 및 일반 서비스를 위한 패킷으로 구분한다. 그리고 오픈플로우 컨트롤러(100)는 패킷의 구분의 따라 패킷을 처리한다. 이때, 오픈플로우 컨트롤러(100)는 통신 모듈(200), 메모리(210) 및 프로세서(220)를 포함한다. The
통신 모듈(200)은 오픈플로우 스위치(110)와의 패킷을 송수신을 수행한다.The
메모리(210)는 패킷을 처리하는 프로그램이 저장된다. 이때, 메모리(210)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치를 통칭하는 것이다.The
프로세서(220)는 메모리(210)에 저장된 패킷을 처리하는 프로그램의 실행에 따라, 오픈플로우 스위치(110)로부터 통신 모듈(200)을 통하여 패킷에 대한 처리 요청을 수신하면, 수신된 패킷이 실시간 서비스를 위한 패킷인지 판단한다.When the
이때, 프로세서(220)는 패킷의 식별자(packet identifier)에 기초하여 패킷이 실시간 서비스를 위한 패킷인지, 일반 서비스를 위한 패킷인지 판단할 수 있다. 이때, 실시간 서비스는 실시간 스트리밍 서비스일 수 있다. 또한, 일반 서비스는 실시간 서비스를 제외한 비 실시간 서비스일 수 있다. 구체적으로, 프로세서(220)는 패킷의 식별자에 기초하여 패킷의 프로토콜에 대한 타입을 판별할 수 있다. 그리고 프로세서(220)는 판별된 프로토콜 타입에 따라 패킷이 실시간 서비스를 위한 패킷인지 일반 서비스를 위한 패킷인지를 구분할 수 있다. At this time, the
예를 들어, 패킷이 UDP(user diagram protocol)를 사용하여 전송되는 경우, 프로세서(220)는 해당 패킷을 실시간 서비스를 위한 패킷으로 구분할 수 있다. 또한, 패킷이 UDP와 상이한 프로토콜로 전송되는 경우, 프로세서(200)는 해당 패킷을 일반 서비스를 위한 패킷으로 구분할 수 있다. 이때, UDP는 DNS(Domain name service), IPTV(internet protocol television), 음성 인터넷 프로토콜(vocal over internet protocol; VoIP), 온라인 게임 및 실시간을 요구하는 비디오, 음악과 같은 서비스에 대한 패킷 전송에 사용된다. For example, when a packet is transmitted using a UDP (user diagram protocol), the
또한, 프로세서(220)는 오픈플로우 프로토콜에 기초하여 네트워크 상태 정보를 수집한다. 그리고 프로세서(220)는 수집된 네트워크 상태 정보에 패킷에 대응하는 라우팅 경로를 지정한다. 이때, 라우팅 경로는 최단 경로 우선 프로토콜(open shortest path first; OSPF) 및 라우팅 정보 프로토콜(routing information protocol; RIP) 중 어느 하나에 기초하여 산출될 수 있다. The
최단 경로 우선 프로토콜은 목적지 단말까지의 패킷 전송 비용(cost)이 가장 적은 경로를 우선하여 라우팅 경로를 설정하는 프로토콜이다. 또한, 라우팅 정보 프로토콜은 홉 수(hop count)에 대한 거리벡터 알고리즘(distance vector algorithm)에 기초하여, 목적지까지의 라우팅 경로를 생성하는 프로토콜이다. 이때, 거리벡터 알고리즘은 직접 연결된 스위치, 라우터 및 단말과 같은 노드의 정보에 기초하여, 최적 경로를 예측하는 알고리즘이다. The shortest path priority protocol is a protocol that sets the routing path with priority to the path with the smallest packet transmission cost to the destination terminal. The routing information protocol is a protocol for generating a routing path to a destination based on a distance vector algorithm for a hop count. At this time, the distance vector algorithm is an algorithm for predicting an optimal path based on information of nodes such as directly connected switches, routers, and terminals.
한편, 통신 모듈(200)에 의해서 수신된 패킷이 실시간 서비스 패킷인 경우, 프로세서(220)는 통신 모듈(200)을 통하여, 산출된 라우팅 경로에 위치하는 오픈플로우 스위치(110)에 패킷을 전송한다. 그리고 프로세서(220)는 패킷을 전송한 오픈플로우 스위치(110)에 패킷에 대응하는 우선순위 조정 요청을 전송할 수 있다. 이때, 우선순위 조정 요청을 수신한 오픈플로우 스위치(110)는 수신한 패킷에 대응하여, 오픈플로우 스위치(100)에 기 저장된 미터 테이블(meter table)을 설정하여, 우선순위를 조정할 수 있다. 미터 테이블은 도 3을 참조하여 설명한다. Meanwhile, when the packet received by the
오픈플로우 스위치(110)는 오픈플로우 스위치(110)에 포함된 메모리(410)에 플로우 테이블(flow table), 그룹 테이블(group table) 및 미터 테이블을 저장할 수 있다. 플로우 테이블은 오픈플로우 스위치(110)가 처리할 패킷에 대한 조건, 카운터 및 처리(action) 등을 저장할 수 있다. 그룹 테이블은 플로우 테이블에 저장된 처리에 대한 집합인 처리 버킷(action buckets)을 저장할 수 있다. 그리고 미터 테이블은 오픈플로우 스위치(110)가 수신한 패킷에 대하여 할당된 속도, 액션 등을 저장할 수 있다. The
도 3은 본 발명의 일 실시예에 따른 미터 테이블의 예시도이다. 3 is an illustration of a meter table according to an embodiment of the present invention.
구체적으로 미터 테이블은 플로우 테이블에 저장된 액션을 통해 실행될 수 있다. 그리고 미터 테이블, 패킷의 할당된 속도를 측정할 수 있고 제어할 수 있다. 이때, 도 3의 (a)와 같이 미터 테이블은 속성으로서 미터에 대한 식별자 속성(identifier; 300), 밴드 속성(band; 310) 및 카운트 속성(counter; 320)을 포함할 수 있다. Specifically, the meter table can be executed through an action stored in a flow table. And the meter table can measure and control the assigned speed of the packet. 3 (a), the meter table may include an
식별자 속성(300)에는 미터를 구별할 수 있는 정보가 저장될 수 있다. 또한, 밴드 속성(310)에는 오픈플로우 스위치(110)에 의해 해당 패킷에 대한 속도 및 패킷에 대한 처리되는 방법 등이 저장될 수 있다. 카운터 속성(320)에는 해당 미터에 의해서 처리된 패킷의 수가 저장될 수 있다. The
이때, 밴드 속성(310)은 도 3의 (b)와 같이 밴드 타입(type; 311), 레이트(rate; 312), 버스트(burst; 313), 밴드 카운터(314) 및 밴드 타입 옵션(315)을 포함할 수 있다. 밴드 타입(311)은 패킷의 처리 방법이 저장된다. 레이트(312)는 밴드에 적용할 수 있는 최소한의 속도가 저장되며, 버스트(313)는 패킷에 적용할 수 있는 최대의 속도가 저장된다. 또한, 밴드 카운터(314)는 미터 밴드에 의해 처리된 패킷의 수가 저장되며, 밴드 타입 옵션(315)은 패킷 드랍(drop) 또는 IP 헤더 정보에서 DSCP(differentiated service code point) 필드의 드랍 우선순위를 높이는 등의 옵션이 저장된다.At this time, the
오픈플로우 스위치(110)는 미터 테이블의 밴드 속성에서 레이트에 저장된 값을 증가시키거나, 감소시켜 우선순위를 조정할 수 있다. 그러므로 프로세서(220)가 오픈플로우 스위치(110)에 우선순위 조정 요청을 전송하면, 우선순위 조정 요청을 수신한 오픈플로우 스위치(110)는 미터 테이블의 밴드 속성(310)에서 레이트(312)를 수신한 우선순위 조정 요청에 대응하도록 설정하여, 우선순위를 조정할 수 있다. The
예를 들어, 프로세서(220)는 오픈플로우 스위치(110)가 실시간 서비스를 위한 패킷을 일반 서비스를 위한 패킷에 비하여 빨리 처리하도록 오픈플로우 스위치(110)에 실시간 서비스를 위한 패킷의 우선순위를 높게 조정하도록 우선순위 조정 요청을 전송할 수 있다. 우선순위 조정 요청을 수신한 오픈플로우 스위치(110)는 레이트(312)를 기 설정된 값보다 크게 설정할 수 있다. 그리고 오픈플로우 스위치(110)는 해당 패킷을 처리할 때, 기 설정된 값보다 크게 설정된 레이트(312)에 기초하여 처리할 수 있다. 그러므로 오플플로우 스위치(110)는 레이트(312)가 우선 순위가 조정되지 않은 패킷에 비하여, 해당 패킷을 빨리 처리할 수 있다. For example, the
만약, 수신된 패킷이 일반 서비스를 위한 패킷인 경우, 프로세서(220)는 통신 모듈(200)을 통하여, 지정된 라우팅 경로에 위치한 하나 이상의 오픈플로우 스위치(110)에 패킷에 대응하는 플로우 엔트리(flow entry)를 전송할 수 있다. 그리고 플로우 엔트리를 수신한 오픈플로우 스위치(110)는 오픈플로우 스위치(110)에 포함된 플로우 테이블에 플로우 엔트리를 설정할 수 있다. If the received packet is a packet for a general service, the
오픈플로우 스위치(110)의 메모리(410)에 저장된 플로우 테이블은 하나 이상의 플로우 엔트리를 포함할 수 있다. 이때, 플로우 엔트리는 패킷에 대한 조건, 카운터 및 액션을 포함할 수 있다. The flow table stored in the
이와 같이, 일반 서비스를 위한 패킷인 경우, 프로세서(220)는 라우팅 경로에 포함된 오픈플로우 스위치(110)에 우선순위 조정 요청을 전송하지 않고, 플로우 엔트리 만을 전송한다. 그러므로 오픈플로우 스위치(110)는 미터 테이블에 포함된 밴드의 레이트(312)에 대한 설정을 수행하지 않으므로, 미리 정해진 레이트(312)에 따라 일반 서비스를 위한 패킷을 처리할 수 있다. As described above, in the case of a packet for the general service, the
한편, 본 발명의 다른 실시예에 따른 오픈플로우 컨트롤러의 프로세서는 수신된 패킷이 일반 서비스 패킷인 경우, 패킷에 대하여 지정된 라우팅 경로에 포함된 오픈 플로우 스위치가 패킷에 대응하는 우선순위를 낮출 수 있도록 우선순위 조정 요청을 전송할 수 있다. 그러므로 우선순위 조정 요청을 수신한 오픈플로우 스위치는 오픈플로우 스위치에 기 저장된 미터 테이블에 포함된 레이트를 다른 패킷의 레이트 보다 낮게 설정하여, 우선순위를 조정할 수 있다. Meanwhile, in the processor of the open flow controller according to another embodiment of the present invention, when the received packet is a general service packet, the open flow controller included in the routing path specified for the packet A ranking adjustment request can be transmitted. Therefore, the open flow switch receiving the priority adjustment request can adjust the priority by setting the rate included in the meter table stored in the open flow switch lower than the rate of other packets.
또한, 수신된 패킷이 실시간 서비스 패킷인 경우, 프로세서는 오픈플로우 스위치가 패킷에 대응하여 기 저장된 미터 테이블을 설정하도록 할 수 있다. 오픈플로우 스위치는 미터 테이블 설정 요청을 수신하면, 패킷에 대응한 미터 테이블을 설정할 수 있다. Also, if the received packet is a real-time service packet, the processor can cause the open-flow switch to set a pre-stored meter table in response to the packet. When the open flow switch receives the meter table setting request, it can set the meter table corresponding to the packet.
다음은 도 4를 참조하여 본 발명의 일 실시예에 따른 오픈플로우 스위치(110)를 설명한다. Next, an
도 4는 본 발명의 일 실시예에 따른 오픈플로우 스위치(110)의 블록도이다.4 is a block diagram of an
오픈플로우 스위치(110)는 앞에서 설명한 바와 같이 오픈플로우 컨트롤러(100)로부터 패킷을 전송받아 오픈플로우 스위치(110)와 연결된 다른 하나 이상의 오픈플로우 스위치(110) 또는 하나 이상의 단말(120)로 전송한다. 또한, 오픈플로우 스위치(110)는 다른 오픈플로우 스위치(110)에서 수신한 패킷을 또 다른 오픈플로우 스위치(110)나 오픈플로우 컨트롤러(100) 및 단말(120)에 전송할 수 있으며, 단말(120)로부터 수신한 패킷을 오픈플로우 컨트롤러(100)로 전송할 수 있다. 이때, 오픈플로우 스위치(110)는 통신 모듈(400), 메모리(410) 및 프로세서(420)를 포함한다. The
통신 모듈(400)은 오픈플로우 컨트롤러(100), 단말(120) 및 다른 오픈플로우 스위치(110)로부터 패킷을 송수신한다. The
메모리(410)는 패킷을 처리하는 프로그램이 저장된다. 이때, 메모리(410)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치를 통칭하는 것이다.The
프로세서(420)는 메모리(410)에 저장된 패킷 처리 프로그램의 실행에 따라, 통신 모듈(400)을 통하여, 오픈플로우 컨트롤러(100)로부터 패킷 및 패킷에 대응하는 우선순위 조정 요청을 수신한다. 이때, 패킷은 실시간 서비스를 수행하기 위한 패킷일 수 있다. The
프로세서(420)는 오픈플로우 컨트롤러(100)부터 수신한 우선순위 조정 요청에 따라 패킷에 대응하는 미터 테이블을 설정하고 패킷을 처리한다. 이때, 미터 테이블은 위에서 도 3을 참조하여 설명한 바와 같다. The
구체적으로 설명하면, 프로세서(420)는 오픈플로우 컨트롤러(100)부터 우선순위 조정 요청을 수신하면, 패킷에 대응하는 미터 테이블에 포함된 레이트(312)를 설정할 수 있다. 앞에서 도 3을 참조하여 설명한 것과 같이, 미터 테이블의 레이트(312)는 최소 전송 속도를 저장하는 속성이다. 그러므로 프로세서(420)가 우선순위 조정 요청을 수신한 패킷에 대응하는 레이트(312)를 다른 패킷에 대응하는 레이트보다 높게 조정하면, 프로세서(420)는 우선순위 조정 요청을 수신한 패킷을 우선하여 처리될 수 있다. Specifically, when the
만약, 프로세서(420)가 오픈플로우 컨트롤러(100)로부터 통신 모듈(400)을 통하여 패킷 및 패킷에 대응하는 플로우 엔트리를 수신하면, 프로세서(420)는 메모리(410)에 기 저장된 플로우 테이블에 수신한 플로우 엔트리를 설정할 수 있다. 이때, 플로우 엔트리는 프로세서(420)가 통신 모듈(400)을 통하여 수신한 패킷이 실시간 서비스를 위한 패킷이 아닌 일반 서비스를 위한 패킷인 경우, 오픈플로우 컨트롤러(100)가 전송한 것일 수 있다. If the
프로세서(420)는 플로우 테이블에 오픈플로우 컨트롤러(100)로부터 수신한 플로우 엔트리를 설정한 이후, 설정된 플로우 테이블에 따라 수신한 패킷을 처리할 수 있다. The
다음은 도 5를 참조하여, 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(100)의 전송 속도 지원 방법을 설명한다. Next, a method of supporting the transmission rate of the
도 5는 본 발명의 일 실시예에 따른 오픈 플로우 컨트롤러(100)의 전송 속도 지원 방법의 순서도이다. 5 is a flowchart of a method of supporting a transmission rate of the
오픈플로우 컨트롤러(100)는 오픈플로우 스위치(110)로부터 패킷에 대한 처리 요청을 수신하면(S500), 먼저 오픈플로우 프로토콜을 통해 네트워크의 상태 정보를 수집한다(S510). When the
그리고 오픈플로우 컨트롤러(100)는 수집된 상태 정보에 기초하여, 패킷에 대응하는 라우팅 경로를 지정한다(S520). 이때, 라우팅 경로는 최단 경로 우선 프로토콜 및 라우팅 정보 프로토콜 중 어느 하나에 기초하여 산출될 수 있다. Then, the open-
또한, 오픈플로우 컨트롤러(100)는 오픈플로우 스위치(110)로부터 수신한 패킷이 실시간 서비스를 위한 패킷인지 판단한다(S530). 이때, 오픈플로우 컨트롤러(100)는 패킷의 식별자에 기초하여 패킷이 실시간 서비스를 위한 패킷인지, 일반 서비스를 위한 패킷인지 판단할 수 있다. 이때, 실시간 서비스는 실시간 스트리밍 서비스일 수 있다. 또한, 일반 서비스는 실시간 서비스를 제외한 비 실시간 서비스일 수 있다. Also, the open-
판단 결과 패킷이 실시간 서비스를 위한 패킷인 경우(S540), 오픈플로우 컨트롤러(100)는 지정된 라우팅 경로에 위치한 오픈플로우 스위치(110)에 패킷 및 패킷에 대응하는 우선순위 조정 요청을 전송한다(S550). 이때, 우선순위 조정 요청은 패킷을 수신한 하나 이상의 오픈플로우 스위치(110)가 수신한 패킷에 대응하여, 오픈플로우 스위치(110)에 기 저장된 미터 테이블을 설정하도록 요청하는 것이다. 즉, 오픈플로우 컨트롤러(100)가 우선순위 조정 요청을 오픈플로우 스위치(110)에 전송하면, 오픈플로우 스위치(110)는 오픈플로우 스위치(110)에 기 저장된 미터 테이블에 포함된 레이트(320)를 설정하여 우선순위를 조정할 수 있다. If it is determined that the packet is a packet for real-time service (S540), the open-
만약, 패킷이 실시간 서비스를 위한 패킷이 아닌 일반 서비스를 위한 패킷인 경우, 오픈플로우 컨트롤러(100)는 지정된 라우팅 경로에 위치한 하나 이상의 오픈플로우 스위치(110)에 패킷에 대응하는 플로우 엔트리를 전송할 수 있다(S560). 이때, 플로우 엔트리를 수신한 오픈플로우 스위치(110)는 기 저장된 플로우 테이블에 수신한 플로우 엔트리를 설정할 수 있다. If the packet is not a packet for a real-time service but a packet for a general service, the open-
다음은 도 6 및 도 7을 참조하여 본 발명의 일 실시예에 따른 오픈플로우 스위치(110)의 전송 속도 지원 방법을 설명한다. Next, a method of supporting the transmission speed of the
도 6은 본 발명의 일 실시예에 따른 오픈플로우 스위치(110)의 실시간 서비스를 위한 패킷에 대한 전송 속도 지원 방법의 순서도이다. 6 is a flowchart of a method of supporting a transmission rate for a packet for real-time service of the
오픈플로우 스위치(110)는 오픈플로우 컨트롤러(100)로부터 패킷 및 패킷에 대응하는 우선순위 조정 요청을 수신한다(S600). 이때, 우선순위 조정 요청은 수신한 패킷이 실시간 서비스를 위한 패킷인 경우, 오픈플로우 컨트롤러(100)가 오픈플로우 스위치(110)로 전송한 것일 수 있다. The
오픈플로우 스위치(110)는 수신한 우선순위 조정 요청에 따라 미터 테이블을 설정한다(S610). 이때, 오픈플로우 스위치(110)는 우선순위 조정 요청에 대응하여 미터 테이블에 포함된 레이트를 설정할 수 있다.The
그리고 오픈플로우 스위치(110)는 우선순위 조정 요청에 따라, 미터 테이블을 조정한 이후(S610), 오픈플로우 스위치(110)는 설정된 미터 테이블에 따라, 패킷을 처리한다(S620). After the
도 7은 본 발명의 일 실시예에 따른 오픈플로우 스위치(110)의 일반 서비스를 위한 패킷에 대한 전송 속도 지원 방법의 순서도이다. 7 is a flowchart of a method of supporting a transmission rate for a packet for a general service of the
만약, 오픈플로우 스위치(110)가 오픈플로우 컨트롤러(100)로부터 패킷 및 패킷에 대응하는 플로우 엔트리를 수신하면(S700), 오픈플로우 스위치(110)는 기 저장된 플로우 테이블에 플로우 엔트리를 설정할 수 있다(S710). 이때, 플로우 엔트리는 프로세서가 통신 모듈을 통하여 수신한 패킷이 실시간 서비스를 위한 패킷이 아닌 일반 서비스를 위한 패킷인 경우, 오픈플로우 컨트롤러(100)가 전송한 것일 수 있다. If the
또한, 오픈플로우 스위치(110)는 플로우 테이블에 오픈플로우 컨트롤러(100)로부터 수신한 플로우 엔트리를 설정한 이후(S710), 설정된 플로우 테이블에 따라 수신한 패킷을 처리할 수 있다(S720). Further, the
본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(100), 오픈플로우 스위치(110) 및 전송 속도 지원 방법은 실시간 서비스를 위한 패킷을 목적지 단말까지 전송하는 네트워크에서 최적의 라우팅 경로를 지정할 수 있다. 또한, 오픈플로우 컨트롤러(100), 오픈플로우 스위치(110) 및 전송 속도 지원 방법은 라우팅 경로에 존재하는 오픈플로우 스위치(110)에서 패킷을 빠르게 처리할 수 있다. 그러므로 오픈플로우 컨트롤러(100), 오픈플로우 스위치(110) 및 전송 속도 지원 방법은 사용자에게 Qos가 높은 실시간 서비스를 제공할 수 있다. The
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. One embodiment of the present invention may also be embodied in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium can include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.While the methods and systems of the present invention have been described in connection with specific embodiments, some or all of those elements or operations may be implemented using a computer system having a general purpose hardware architecture.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.
10: 오픈플로우 기반 네트워크
100: 오픈플로우 컨트롤러
110: 오픈플로우 스위치
120: 단말
200: 통신 모듈
210: 메모리
220: 프로세서
400: 통신 모듈
410: 메모리
420: 프로세서10: Open flow based network
100: Open flow controller
110: Open flow switch
120: terminal
200: Communication module
210: memory
220: Processor
400: communication module
410: Memory
420: processor
Claims (14)
패킷을 송수신하는 통신 모듈,
패킷을 처리하는 프로그램이 저장된 메모리 및
상기 프로그램을 수행하는 프로세서를 포함하고
상기 프로세서는 상기 프로그램의 실행에 따라, 오픈플로우 스위치로부터 패킷에 대한 처리 요청을 수신하면, 오픈플로우 프로토콜을 통해 수집된 네트워크의 상태 정보에 기초하여, 상기 패킷에 대응하는 라우팅 경로를 지정하며,
상기 패킷에 대응하는 프로토콜 타입에 기초하여 상기 패킷이 실시간 서비스를 위한 패킷인지 여부를 판단하고,
상기 패킷이 실시간 서비스를 위한 패킷인 경우, 상기 지정된 라우팅 경로에 위치하는 하나 이상의 오픈플로우 스위치에 상기 패킷에 대응하는 우선순위 조정 요청을 전송하되,
상기 우선순위 조정 요청은 상기 패킷을 수신한 하나 이상의 오픈플로우 스위치가 상기 수신한 패킷에 대응하여 상기 오픈플로우 스위치에 기저장된 미터 테이블의 상기 패킷에 대응하는 레이트 값을 타 패킷의 레이트 값보다 더 크도록 설정하는 것인, 전송 속도 지원 오픈플로우 컨트롤러.1. An open flow controller for supporting a packet transmission speed on a network,
A communication module for transmitting and receiving a packet,
A memory storing a program for processing a packet, and
And a processor for performing the program
When receiving the processing request for the packet from the open flow switch, the processor specifies the routing path corresponding to the packet based on the status information of the network collected through the open flow protocol,
Determining whether the packet is a packet for a real-time service based on a protocol type corresponding to the packet,
Sending a priority adjustment request corresponding to the packet to one or more open flow switches located in the designated routing path if the packet is a packet for a real-time service,
Wherein the priority adjustment request includes a rate value corresponding to the packet of the meter table stored in the open flow switch corresponding to the received packet by at least one open flow switch that has received the packet, , And a transmission rate supporting open-flow controller.
상기 프로세서는 상기 패킷이 실시간 서비스를 위한 패킷이 아닌 경우, 상기 지정된 라우팅 경로에 위치한 하나 이상의 오픈플로우 스위치에 상기 패킷에 대응하는 플로우 엔트리를 전송하되,
상기 플로우 엔트리를 수신한 오픈플로우 스위치는 상기 요청을 수신한 오픈플로우 스위치에 기 저장된 플로우 테이블에 상기 수신한 플로우 엔트리를 설정하는, 전송 속도 지원 오픈플로우 컨트롤러.The method according to claim 1,
The processor sends a flow entry corresponding to the packet to one or more open flow switches located in the designated routing path if the packet is not a packet for a real-time service,
And the open flow switch receiving the flow entry sets the received flow entry in the flow table pre-stored in the open flow switch receiving the request.
상기 패킷에 대응하는 라우팅 경로는 최단 경로 우선 프로토콜 및 라우팅 정보 프로토콜 중 어느 하나에 기초하여 산출되는 것인, 전송 속도 지원 오픈플로우 컨트롤러.The method according to claim 1,
Wherein the routing path corresponding to the packet is calculated based on either the shortest path priority protocol or the routing information protocol.
패킷을 송수신하는 통신 모듈,
패킷을 처리하는 프로그램이 저장된 메모리 및
상기 프로그램을 수행하는 프로세서를 포함하고,
상기 프로세서는 상기 프로그램의 실행에 따라, 오픈플로우 컨트롤러로부터 패킷 및 상기 패킷에 대응하는 우선순위 조정 요청을 수신하면, 상기 우선순위 조정 요청에 따라, 타 패킷의 레이트 값보다 당해 패킷의 레이트 값이 더 크도록 설정하고, 상기 당해 패킷을 처리하되,
상기 우선순위 조정 요청은 상기 오픈플로우 컨트롤러가 상기 당해 패킷에 대응하는 프로토콜 타입에 기초하여 상기 당해 패킷이 실시간 서비스를 위한 패킷인지 여부를 판단한 이후, 상기 판단 결과에 기초하여 전달한 것이며,
상기 타 패킷의 레이트 값 및 상기 당해 패킷의 레이트 값은 상기 메모리에 포함된 미터 테이블에 저장된 것인, 전송 속도 지원 오픈플로우 스위치.An open-flow switch for supporting packet transmission speed on a network,
A communication module for transmitting and receiving a packet,
A memory storing a program for processing a packet, and
And a processor for executing the program,
The processor, when receiving the packet and the priority adjustment request corresponding to the packet from the open flow controller according to the execution of the program, updates the rate value of the packet more than the rate value of the other packet according to the priority adjustment request And processing the packet,
Wherein the priority adjustment request is transmitted based on a result of the determination after the open flow controller determines whether the packet is a packet for real-time service based on a protocol type corresponding to the packet,
Wherein the rate value of the other packet and the rate value of the packet are stored in a meter table included in the memory.
상기 프로세서는 상기 오픈플로우 컨트롤러로부터 패킷 및 상기 패킷에 대응하는 플로우 엔트리를 수신하면, 상기 메모리에 기 저장된 플로우 테이블에 상기 플로우 엔트리를 설정하여 상기 패킷을 처리하되,
상기 플로우 엔트리는 상기 패킷이 실시간 서비스를 위한 패킷이 아닌 경우, 상기 오픈플로우 컨트롤러가 상기 오픈플로우 스위치로 전송한 것인, 전송 속도 지원 오픈플로우 스위치.6. The method of claim 5,
Wherein the processor sets the flow entry in the flow table stored in the memory and processes the packet when receiving the packet and the flow entry corresponding to the packet from the open flow controller,
Wherein the flow entry is one that the open flow controller has transmitted to the open flow switch when the packet is not a packet for real-time service.
오픈플로우 스위치로부터 패킷에 대한 처리 요청을 수신하면, 오픈플로우 프로토콜을 통해 상기 네트워크의 상태 정보를 수집하는 단계;
상기 수집된 상태 정보에 기초하여, 상기 패킷에 대응하는 라우팅 경로를 지정하는 단계;
상기 패킷에 대응하는 프로토콜 타입에 기초하여 상기 패킷이 실시간 서비스를 위한 패킷인지 여부를 판단하는 단계; 및
상기 패킷이 실시간 서비스를 위한 패킷인 경우, 상기 라우팅 경로를 지정하는 단계 이후에, 상기 지정된 라우팅 경로에 위치한 하나 이상의 오픈플로우 스위치에 상기 패킷 및 상기 패킷에 대응하는 우선순위 조정 요청을 전송하는 단계를 포함하되,
상기 우선순위 조정 요청은 상기 패킷을 수신한 하나 이상의 오픈플로우 스위치가 상기 수신한 패킷에 대응하여 상기 오픈플로우 스위치에 기저장된 미터 테이블의 상기 패킷에 대응하는 레이트 값을 타 패킷의 레이트 값보다 더 크도록 설정하는 것인, 오픈플로우 컨트롤러의 전송 속도 지원 방법.A method for supporting a transmission rate of an open flow controller on a network,
Collecting state information of the network through an open flow protocol upon receiving a processing request for the packet from the open flow switch;
Designating a routing path corresponding to the packet based on the collected state information;
Determining whether the packet is a packet for a real-time service based on a protocol type corresponding to the packet; And
Transmitting the packet and a priority adjustment request corresponding to the packet to at least one open flow switch located in the designated routing path after the step of designating the routing path if the packet is a packet for real-time service, Including,
Wherein the priority adjustment request includes a rate value corresponding to the packet of the meter table stored in the open flow switch corresponding to the received packet by at least one open flow switch that has received the packet, To the open flow controller.
상기 패킷이 실시간 서비스를 위한 패킷이 아닌 경우, 상기 라우팅 경로를 지정하는 단계 이후에, 상기 지정된 라우팅 경로에 위치한 하나 이상의 오픈플로우 스위치에 상기 패킷에 대응하는 플로우 엔트리를 전송하는 단계를 더 포함하되,
상기 플로우 엔트리를 수신한 오픈플로우 스위치는 상기 오픈플로우 스위치에 기 저장된 플로우 테이블에 상기 수신한 플로우 엔트리를 설정하는, 오픈플로우 컨트롤러의 전송 속도 지원 방법.10. The method of claim 9,
Further comprising the step of, if the packet is not a packet for a real-time service, sending a flow entry corresponding to the packet to the one or more open flow switches located in the designated routing path after the step of specifying the routing path,
And the open flow switch receiving the flow entry sets the received flow entry in the flow table pre-stored in the open flow switch.
오픈플로우 컨트롤러로부터 패킷 및 상기 패킷에 대응하는 우선순위 조정 요청을 수신하는 단계;
상기 수신한 우선순위 조정 요청에 따라 미터 테이블에 포함된 타 패킷의 레이트 값보다 당해 패킷의 레이트 값이 더 크도록 설정하는 단계; 및
상기 설정된 미터 테이블에 따라, 상기 패킷을 처리하는 단계를 포함하되,
상기 우선순위 조정 요청은 상기 오픈플로우 컨트롤러가 상기 당해 패킷에 대응하는 프로토콜 타입에 기초하여 상기 당해 패킷이 실시간 서비스를 위한 패킷인지 여부를 판단한 이후, 상기 판단 결과에 기초하여 전달한 것이며,
상기 타 패킷의 레이트 값 및 상기 당해 패킷의 레이트 값은 메모리에 포함된 미터 테이블에 저장된 것인, 오픈플로우 스위치의 전송 속도 지원 방법.A method for supporting a transmission rate of an open flow switch on a network,
Receiving a packet from the open flow controller and a priority adjustment request corresponding to the packet;
Setting a rate value of the packet to be larger than a rate value of another packet included in the meter table according to the received priority adjustment request; And
Processing the packet according to the set metric table,
Wherein the priority adjustment request is transmitted based on a result of the determination after the open flow controller determines whether the packet is a packet for real-time service based on a protocol type corresponding to the packet,
Wherein the rate value of the other packet and the rate value of the packet are stored in a meter table included in the memory.
상기 오픈플로우 컨트롤러로부터 패킷 및 상기 패킷에 대응하는 플로우 엔트리를 수신하면, 기 저장된 플로우 테이블에 상기 수신한 플로우 엔트리를 설정하는 단계를 더 포함하는, 오픈플로우 스위치의 전송 속도 지원 방법.13. The method of claim 12,
Further comprising setting the received flow entry in a pre-stored flow table when receiving a packet and a flow entry corresponding to the packet from the open flow controller.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150118080A KR101706342B1 (en) | 2015-08-21 | 2015-08-21 | Controller, switch and method based on open flow supporting data rate of packets on network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150118080A KR101706342B1 (en) | 2015-08-21 | 2015-08-21 | Controller, switch and method based on open flow supporting data rate of packets on network |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101706342B1 true KR101706342B1 (en) | 2017-02-27 |
Family
ID=58315745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150118080A KR101706342B1 (en) | 2015-08-21 | 2015-08-21 | Controller, switch and method based on open flow supporting data rate of packets on network |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101706342B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210052333A (en) * | 2019-10-29 | 2021-05-10 | 숭실대학교산학협력단 | Routing method considering quality of service in 5g network, recording medium and device for performing the method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120083489A (en) * | 2009-11-18 | 2012-07-25 | 닛본 덴끼 가부시끼가이샤 | Dynamic route branching system and dynamic route branching method |
KR101378313B1 (en) * | 2013-09-12 | 2014-03-27 | 주식회사 파이오링크 | Method, appratus, system and computer-readable recording medium for assisting communication between terminal and local host by using openflow |
KR20150048652A (en) * | 2013-10-28 | 2015-05-07 | 주식회사 케이티 | METHOD FOR CONTROLLING QoS USING TRAFFIC PROCESSING BASED ON SERVICE |
-
2015
- 2015-08-21 KR KR1020150118080A patent/KR101706342B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120083489A (en) * | 2009-11-18 | 2012-07-25 | 닛본 덴끼 가부시끼가이샤 | Dynamic route branching system and dynamic route branching method |
KR101378313B1 (en) * | 2013-09-12 | 2014-03-27 | 주식회사 파이오링크 | Method, appratus, system and computer-readable recording medium for assisting communication between terminal and local host by using openflow |
KR20150048652A (en) * | 2013-10-28 | 2015-05-07 | 주식회사 케이티 | METHOD FOR CONTROLLING QoS USING TRAFFIC PROCESSING BASED ON SERVICE |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210052333A (en) * | 2019-10-29 | 2021-05-10 | 숭실대학교산학협력단 | Routing method considering quality of service in 5g network, recording medium and device for performing the method |
KR102387114B1 (en) | 2019-10-29 | 2022-04-15 | 숭실대학교 산학협력단 | Routing method considering quality of service in 5g network, recording medium and device for performing the method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2940754C (en) | Network packet latency management | |
Egilmez et al. | OpenQoS: An OpenFlow controller design for multimedia delivery with end-to-end Quality of Service over Software-Defined Networks | |
CN109787801B (en) | Network service management method, device and system | |
EP3794782A1 (en) | Multipath selection system and method for datacenter-centric metro networks | |
CN107431968B (en) | Method for establishing routing table, electronic equipment and network | |
US10455042B2 (en) | Transmitting information across a communications network | |
CN110890994B (en) | Method, device and system for determining message forwarding path | |
KR101571978B1 (en) | Method for providing bandwidth based on grouping of multi flow | |
JP2013034164A (en) | Relay device, and relay method | |
CN108234314B (en) | Service scheduling method and device | |
JP3639792B2 (en) | Network system and communication bandwidth control method thereof | |
Kleinrouweler et al. | Modeling stability and bitrate of network-assisted HTTP adaptive streaming players | |
US20220321482A1 (en) | System and method for accelerating or decelerating a data transport network protocol based on real time transport network congestion conditions | |
WO2011123304A1 (en) | System and method for dynamically adjusting quality of service configuration based on real-time statistics of traffic mix | |
JP5574944B2 (en) | Radio relay apparatus and radio relay method | |
EP2445142A1 (en) | Dynamic bandwidth adjustment for multiple service support | |
CN113301000A (en) | Data transmission method, device, medium and equipment | |
CN114640636A (en) | Cloud video management method and system | |
KR101706342B1 (en) | Controller, switch and method based on open flow supporting data rate of packets on network | |
Egilmez et al. | Openqos: Openflow controller design and test network for multimedia delivery with quality of service | |
CN109039791B (en) | Bandwidth management method and device and computer equipment | |
Shi et al. | Multi-path forwarding strategy for named data networking based on pending interests and available bandwidth | |
US20230066060A1 (en) | Routing of bursty data flows | |
Canbal et al. | Wi-Fi QoS Management Program: Bridging the QoS Gap of Multimedia Traffic in Wi-Fi Networks | |
US20220070736A1 (en) | Traffic steering device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20200203 Year of fee payment: 4 |