KR101541168B1 - Route control method for flow of controller in software defined network - Google Patents

Route control method for flow of controller in software defined network Download PDF

Info

Publication number
KR101541168B1
KR101541168B1 KR1020150025592A KR20150025592A KR101541168B1 KR 101541168 B1 KR101541168 B1 KR 101541168B1 KR 1020150025592 A KR1020150025592 A KR 1020150025592A KR 20150025592 A KR20150025592 A KR 20150025592A KR 101541168 B1 KR101541168 B1 KR 101541168B1
Authority
KR
South Korea
Prior art keywords
path
edge switch
flow
edge
host
Prior art date
Application number
KR1020150025592A
Other languages
Korean (ko)
Inventor
추현승
도미솔
박진우
정순교
Original Assignee
성균관대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성균관대학교산학협력단 filed Critical 성균관대학교산학협력단
Priority to KR1020150025592A priority Critical patent/KR101541168B1/en
Application granted granted Critical
Publication of KR101541168B1 publication Critical patent/KR101541168B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

According to an embodiment of the present invention, a path control method for a flow of a controller in a software defined network environment comprises the steps of: storing at least one path from a random edge switch disposed on the edge on a network to a different edge switch, and more specifically, allocating identification information for distinguishing a path of each edge switch pair, which is predetermined based on topology of the network, by each path and storing the same; determining a first edge switch and a second edge switch adjacent to a second host by receiving flow information from the first edge switch adjacent to a first host when a flow from the first host to the second host is generated; selecting one path from searched paths by searching for paths between the first edge switch and the second edge switch among stored paths; and transmitting information on a path selected by the first edge switch so the flow is processed through the selected path.

Description

소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법{ROUTE CONTROL METHOD FOR FLOW OF CONTROLLER IN SOFTWARE DEFINED NETWORK}[0001] The present invention relates to a method of controlling a flow of a controller in a software-defined network environment,

본 발명은 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법에 관한 것이다.The present invention relates to a path control method for a flow of a controller in a software defined network environment.

소프트웨어 정의 네트워크(SDN, Software Defined Network)는 네트워크 기능을 논리적으로 중앙 집중화하여 제어하기 위한 기술이다. 기존 네트워크 기술의 제어 기능은 개별 장비에 분산되어 있으며, 각 장비의 데이터 전송 기능을 제어하는 역할을 한다. 반면, 소프트웨어 정의 네트워크에서는 제어 기능을 개별 장비로부터 분리하여 별도의 제어 장비로 집중하며 데이터 전송 기능은 제어 장비를 통해 소프트웨어적으로 제어한다. 즉, 컨트롤 영역은 중앙 집중화되어 네트워크 전체의 경로 결정 및 관리를 주로 담당하고, 데이터 영역은 상대적으로 단순화되어 주로 컨트롤 영역에서 지정한 방식에 따라 플로우를 처리한다. Software Defined Network (SDN) is a technology for logically centralizing and controlling network functions. Control functions of existing network technology are distributed to individual devices and control the data transmission function of each device. On the other hand, in the software defined network, the control functions are separated from the individual devices and concentrated in separate control devices, and the data transmission functions are controlled in software through the control devices. In other words, the control area is centralized and mainly responsible for route determination and management of the entire network, and the data area is relatively simplified, mainly handling the flow according to the method specified in the control area.

소프트웨어 정의 네트워크를 이용하면 네트워크 관리자가 직접 네트워크를 프로그래밍하여 관리하는 것이 가능하며, 보다 향상되고 자동화된 네트워크 컨트롤을 제공할 수 있다.Software-defined networks enable network administrators to program and manage their own networks, providing better and more automated network control.

이러한 소프트웨어 정의 네트워크를 이용하는 방법과 관련하여, 선행기술인 한국등록특허 제 10-1438212호는 소프트웨어 정의 네트워크 심층패킷 분석 방법 및 이를 이용하는 소프트웨어 정의 네트워크 시스템에 대하여 개시하고 있고, 한국등록특허 제 10-1465884호는 소프트웨어 정의 네트워크에서의 확률적 컨트롤러 선택 방법 및 장치에 대하여 개시하고 있다. 또한, 한국공개특허 제 2014-0135000호는 소프트웨어정의네트워킹 기반 통신시스템의 서비스 처리 방법 및 장치에 대하여 개시하고 있다.With respect to the method using this software defined network, Korean Patent No. 10-1438212 discloses a software defined network deep packet analysis method and a software defined network system using the same, and Korean Patent No. 10-1465884 Discloses a stochastic controller selection method and apparatus in a software defined network. Korean Patent Laid-Open Publication No. 2014-0135000 discloses a method and apparatus for processing a service of a software defined networking-based communication system.

다만, 소프트웨어 정의 네트워크에서 네트워크 제어 기능은 컨트롤러에 중앙 집중화되어 있기 때문에, 컨트롤러와 네트워크 장비 간의 컨트롤 메시지 오버헤드가 발생할 수 있다. 즉, 네트워크를 관리할 때 컨트롤 영역과 데이터 영역 간의 통신 지연이 발생할 수 있다. However, in software-defined networks, network control functions are centralized in the controller, which can result in control message overhead between the controller and the network equipment. That is, a communication delay may occur between the control area and the data area when managing the network.

특히, 이러한 오버헤드 및 통신 지연은 스위치에 새로운 플로우 처리 방식을 지정하는 경우에 발생할 수 있다. 이러한 오버헤드 및 통신 지연은 고성능 네트워크에 적합하지 못하며, 처리 방식이 결정될 때까지 플로우의 패킷 처리를 지연시킨다는 문제가 있다.In particular, this overhead and communication delay may occur when a new flow handling scheme is designated for the switch. Such overhead and communication delays are not suitable for high performance networks and there is a problem of delaying packet processing of flows until a processing scheme is determined.

본 발명은 전술한 문제점을 해결하기 위하여, 컨트롤 메시지에 의한 처리 지연을 최소화하면서도 네트워크상의 링크를 효율적으로 사용하도록 제어할 수 있는 컨트롤러 및 플로우에 대한 경로제어방법을 제공하는 데에 그 목적이 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a controller and a path control method for a flow that can control a link on a network to be used efficiently while minimizing processing delay caused by a control message.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 더 존재할 수 있다.It is to 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 be present.

상기와 같은 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법은 네트워크 상에서 가장자리에 배치된 임의의 엣지 스위치에서 타 엣지 스위치로의 적어도 하나의 경로를 저장하되, 네트워크의 토폴로지를 기초로 미리 설정된 각 엣지 스위치 쌍의 경로를 구분하기 위한 식별 정보를 상기 경로마다 할당하여 저장하는 단계; 제 1 호스트에서 제 2 호스트로의 플로우가 생성된 경우 제 1 호스트와 인접하는 제 1 엣지 스위치로부터 플로우의 정보를 수신하여 제 1 엣지 스위치와, 제 2 호스트와 인접하는 제 2 엣지 스위치를 결정하는 단계; 저장된 경로 중 제 1 엣지 스위치와 제 2 엣지 스위치 간의 경로를 검색하여 검색된 경로 중 어느 하나의 경로를 선택하는 단계; 및 플로우가 선택된 경로를 통해 처리되도록 제 1 엣지 스위치로 선택된 경로에 대한 정보를 송신하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of controlling a flow of a controller in a software defined network environment, the method comprising: receiving at least one edge switch from an edge switch Allocating and storing identification information for identifying a path of each edge switch pair set in advance on the basis of the topology of the network; When the flow from the first host to the second host is generated, information of the flow is received from the first edge switch adjacent to the first host to determine the first edge switch and the second edge switch adjacent to the second host step; Searching for a path between the first edge switch and the second edge switch among the stored paths and selecting any one of the retrieved paths; And transmitting information about the selected path to the first edge switch such that the flow is processed through the selected path.

또한, 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 환경에서의 컨트롤러는 네트워크 상에서 플로우의 경로를 제어하는 프로그램을 저장하는 메모리; 및 프로그램을 수행하는 프로세서를 포함한다. Further, a controller in a software defined network environment according to an embodiment of the present invention includes a memory for storing a program for controlling a flow path on a network; And a processor for executing the program.

이때, 프로세서는 프로그램의 실행에 따라, 네트워크 상에서 가장자리에 배치된 임의의 엣지 스위치에서 타 엣지 스위치로의 적어도 하나의 경로를 저장하되, 네트워크의 토폴로지를 기초로 미리 설정된 각 엣지 스위치 쌍의 경로를 구분하기 위한 식별 정보를 경로마다 할당하여 저장하는 단계; 제 1 호스트에서 제 2 호스트로의 플로우가 생성된 경우 제 1 호스트와 인접하는 제 1 엣지 스위치로부터 플로우의 정보를 수신하여 제 1 엣지 스위치와, 제 2 호스트와 인접하는 제 2 엣지 스위치를 결정하는 단계; 저장된 경로 중 제 1 엣지 스위치와 제 2 엣지 스위치 간의 경로를 검색하여 검색된 경로 중 어느 하나의 경로를 선택하는 단계; 및 플로우가 선택된 경로를 통해 처리되도록 제 1 엣지 스위치로 선택된 경로에 대한 정보를 송신하는 단계를 수행한다.At this time, according to the execution of the program, the processor stores at least one path from any edge switch disposed at the edge on the network to the other edge switch, and determines the path of each predetermined edge switch pair based on the topology of the network Allocating and storing identification information for each path; When the flow from the first host to the second host is generated, information of the flow is received from the first edge switch adjacent to the first host to determine the first edge switch and the second edge switch adjacent to the second host step; Searching for a path between the first edge switch and the second edge switch among the stored paths and selecting any one of the retrieved paths; And transmitting information about the selected path to the first edge switch such that the flow is processed through the selected path.

본 발명의 일 실시예에 따르면, 각 플로우에 다수의 경로를 할당하고 네트워크 상태에 따라 사용하는 경로를 변경하고, 기본경로를 지정할 수 있다. 또한, 본 발명은 빠른 경로 변경 적용을 위해 가능한 경로를 미리 계산하여 고정적으로 사용함으로써, 플로우 엔트리가 생성되는 동안 패킷을 처리하며, 플로우 생성 시 향상된 플로우의 처리 속도를 제공할 수 있다.According to an embodiment of the present invention, a plurality of paths may be allocated to each flow, a path used may be changed according to a network state, and a basic path may be specified. In addition, the present invention can pre-calculate possible paths for application of fast path change and use it fixedly, thereby processing packets during generation of flow entries, and providing an improved flow processing speed when generating flows.

도 1은 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법을 설명하기 위한 순서도이다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법에서 사용되는 스위치와 경로들의 연관관계를 나타낸 토폴로지의 일 예를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법에서 사용되는 컨트롤러의 경로 정보 테이블의 일 예를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법에서 사용되는 제1 엣지 스위치(A)의 플로우 테이블 및 식별 정보 테이블의 일 예를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법에서 로드 밸런싱을 설명하기 위한 순서도이다.
FIG. 1 is a flowchart for explaining a path control method for a flow of a controller in a software defined network environment according to an embodiment of the present invention. Referring to FIG.
2 is a diagram illustrating an example of a topology showing a relationship between switches and paths used in a path control method for a flow of a controller in a software defined network environment according to an embodiment of the present invention.
3 is a diagram illustrating an example of a path information table of a controller used in a path control method for a flow of a controller in a software defined network environment according to an embodiment of the present invention.
4 is a diagram showing an example of a flow table and an identification information table of a first edge switch A used in a path control method for a flow of a controller in a software defined network environment according to an embodiment of the present invention.
5 is a flowchart illustrating load balancing in a path control method for a flow of a controller in a software defined network environment 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 an element is referred to as "including" an element, it is to be understood that the element may include other elements as well as other elements, And does not preclude the presence or addition of one or more other features, integers, steps, operations, components, parts, or combinations thereof.

도 1은 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법을 설명하기 위한 순서도이다.FIG. 1 is a flowchart for explaining a path control method for a flow of a controller in a software defined network environment according to an embodiment of the present invention. Referring to FIG.

우선, 네트워크 상에서 가장자리에 배치된 임의의 엣지 스위치에서 타 엣지 스위치로의 적어도 하나의 경로를 저장하되, 네트워크의 토폴로지를 기초로 미리 설정된 각 엣지 스위치 쌍의 경로를 구분하기 위한 식별 정보를 경로마다 할당하여 저장한다(S110).At first, at least one path from any edge switch disposed on the edge of the network to the other edge switch is stored, and identification information for distinguishing the path of each edge switch pair set on the basis of the topology of the network is allocated for each path (S110).

이어서, 제 1 호스트에서 제 2 호스트로의 플로우가 생성된 경우 제 1 호스트와 인접하는 제 1 엣지 스위치로부터 플로우의 정보를 수신하여 제 1 엣지 스위치와, 제 2 호스트와 인접하는 제 2 엣지 스위치를 결정한다(S120).Then, when a flow from the first host to the second host is generated, information of the flow is received from the first edge switch adjacent to the first host, and the first edge switch and the second edge switch adjacent to the second host (S120).

이어서, 저장된 경로 중 제 1 엣지 스위치와 제 2 엣지 스위치 간의 경로를 검색하여 검색된 경로 중 어느 하나의 경로를 선택한다(S130).Subsequently, a path between the first edge switch and the second edge switch of the stored path is searched to select one of the searched paths (S130).

다음으로, 플로우가 선택된 경로를 통해 처리되도록 제 1 엣지 스위치로 선택된 경로에 대한 정보를 송신한다(S140).Next, information on the path selected by the first edge switch is transmitted so that the flow is processed through the selected path (S140).

이하에서는, 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법에 대해 도 2내지 도 5를 참고하여 상기와 같은 단계들을 좀더 자세히 설명하기로 한다.Hereinafter, the above-described steps will be described in detail with reference to FIGS. 2 to 5 with respect to the path control method for the flow of the controller in the software-defined network environment.

도 2는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법에서 사용되는 스위치와 경로들의 연관관계를 나타낸 토폴로지의 일 예를 도시한 도면이고, 도 3은 컨트롤러의 경로 정보 테이블의 일 예를 도시한 도면이고, 도 4는 제1 엣지 스위치(A)의 플로우 테이블 및 식별 정보 테이블의 일 예를 도시한 도면이다.2 is a diagram illustrating an example of a topology showing a relationship between switches and paths used in a path control method for a flow of a controller in a software defined network environment according to an embodiment of the present invention. FIG. 4 is a diagram showing an example of a flow table and an identification information table of the first edge switch A. FIG.

본 발명에서는 각 링크에 로드를 효율적으로 분배하기 위하여 각 엣지 스위치(A 내지 G) 간에 다수의 경로를 할당하고 네트워크 상태에 따라 사용하는 경로를 변경할 수 있다.In the present invention, in order to efficiently distribute the load to each link, a plurality of paths may be allocated between the edge switches A to G, and the path used may be changed according to the network state.

이때, 도2에 도시된 바와 같이, 네트워크 토폴로지(20) 정보를 이용하여 네트워크상의 각 엣지 스위치 쌍에 대한 다수의 경로를 사전에 결정할 수 있다. 여기서, 각 엣지 스위치(A 내지 G)는 송신지 및 수신지로 사용될 수 있고, 컨트롤러(200)의 플로우에 대한 공통된 경로로 사용될 수 있다. 또한, 각 엣지 스위치는 식별 정보 테이블 및 플로우 테이블을 포함할 수 있다. 또한, 엣지 스위치란 네트워크 토폴로지(20) 상의 다수의 스위치 중 호스트에 인접하여 주로 외곽에 배치되어 있는 스위치를 의미한다. At this time, as shown in FIG. 2, the network topology 20 information can be used to determine a plurality of paths for each edge switch pair on the network in advance. Here, each of the edge switches A to G can be used as a transmission destination and a destination, and can be used as a common route to the flow of the controller 200. [ Further, each edge switch may include an identification information table and a flow table. In addition, the edge switch refers to a switch that is disposed on the outer periphery of a plurality of switches on the network topology 20 adjacent to the host.

덧붙여, 소프트웨어 정의 네트워크 환경에서 컨트롤러와 각각의 스위치는 해당 네트워크의 기설정된 프로토콜을 이용하여 정보를 교환하고, 스위치는 일반적으로 보안 채널을 통해 컨트롤러로부터 제어 정보를 전달받아 플로우 테이블에 할당 및 저장할 수 있다. 플로우 테이블은 룰(Rule), 액션(Action), 스텟(Stats)으로 이루어지는데, 룰은 포트, IP 등 목적지 관리를 위한 패킷 헤더 정보를 체크하는 기능을 하고, 액션은 암호화, 차단, 전송 등의 기능을 수행하며, 스텟은 전송 패킷의 수와 전송 상태 통계를 산출할 수 있다. In addition, in a software defined network environment, the controller and each of the switches exchange information using a predetermined protocol of the network, and the switch can generally receive control information from the controller via the secure channel and allocate and store the control information in the flow table . The flow table consists of rules, actions, and stats. The rules are used to check packet header information for destination management such as port and IP, and actions are used for encryption, blocking, and transmission. Function, and the stat can calculate the number of transmission packets and the transmission status statistics.

도2 및 3을 참조하여, 각 엣지 스위치 쌍(310)에 대한 사전에 경로가 설정되는 방식을 설명하면, 각 엣지 스위치 쌍(310) (x, y)에 대하여 최단 거리 경로를 결정하고, 결정된 경로 상의 링크를 토폴로지(20)에서 제거하고, 다시 최단 거리 경로를 결정할 수 있다. 이러한 과정을 반복하여, 가능한 모든 경로(320)를 결정할 수 있다.Referring to Figs. 2 and 3, a description will be given of a method in which paths are set in advance for each edge switch pair 310. The shortest path is determined for each edge switch pair 310 (x, y) The link on the path can be removed from the topology 20, and the shortest path can be determined again. This process can be repeated to determine all possible paths 320.

저장하는 단계(S110)는 네트워크의 토폴로지(20)를 기초로 각 엣지 스위치 쌍(310)에 해당하는 미리 설정된 모든 경로(320)에 대하여, 각 경로(320)의 구분을 위한 식별 정보(330)를 할당하여 저장할 수 있고, 경로(320) 정보를 컨트롤러(200)에서 유지할 수 있다. 또한, 자세한 내용은 후술하겠지만, 각 엣지 스위치 쌍(310)의 경로(320) 중 최단경로를 기본경로로 할당하여 플로우 엔트리가 생성되지 않은 플로우를 처리하기 위해 사용할 수 있다.The step of storing S110 stores the identification information 330 for distinguishing each path 320 with respect to all predetermined paths 320 corresponding to each edge switch pair 310 based on the topology 20 of the network, And the path 320 information can be retained in the controller 200. [0033] FIG. As will be described in detail later, the shortest path among the paths 320 of each edge switch pair 310 may be allocated as a basic path and used for processing a flow in which a flow entry is not created.

결정하는 단계(S120)는 제 1 호스트(210)에서 제 2 호스트(220)로 향하는 플로우가 새로 생성될 수 있다. 이러한 경우, 제 1 호스트(210)와 인접하는 제 1 엣지 스위치(230)로부터 플로우의 정보를 수신하여, 제 1 엣지 스위치(230)를 결정할 수 있다. 또한, 제2 호스트(220)와 인접하는 제 2 엣지 스위치(240)로부터 플로우의 정보를 수신하여, 제 2 엣지 스위치(240)를 결정할 수 있다. 여기서, 플로우의 정보는 플로우의 헤더(410) 정보를 포함할 수 있다.In step S120, a flow from the first host 210 to the second host 220 may be newly generated. In this case, the first edge switch 230 can determine the first edge switch 230 by receiving the information of the flow from the first edge switch 230 adjacent to the first host 210. In addition, the second edge switch 240 can determine the second edge switch 240 by receiving information of the flow from the second edge switch 240 adjacent to the second host 220. [ Here, the information of the flow may include information of the header 410 of the flow.

선택하는 단계(S130)는 저장된 경로(320) 중 제 1 엣지 스위치(230)와 제 2 엣지 스위치(240) 간의 경로(320)를 검색하여 검색된 경로(320) 중 어느 하나의 경로를 선택할 수 있다. The selecting step S130 may select any one of the retrieved paths 320 by searching the path 320 between the first edge switch 230 and the second edge switch 240 of the stored path 320 .

선택하는 단계(S130)는 검색된 경로(320) 중 최소 링크 사용률(340)을 나타내는 경로(320)를 선택할 수 있다.The selecting step S 130 may select a path 320 that represents the minimum link utilization 340 among the retrieved paths 320.

각 엣지 스위치 쌍(310)에 대한 경로(320)에 해당하는 각각의 링크 사용률(340)은 엣지 스위치 쌍(310) 중 적어도 어느 하나에 의해 주기적으로 또는 랜덤하게 보고될 수 있다.Each link utilization rate 340 corresponding to path 320 for each edge switch pair 310 may be reported periodically or at random by at least one of the edge switch pairs 310. [

이러한 단계에서 발생하는 컨트롤 영역과 데이터 영역의 통신 지연을 해결하기 위해, 플로우 셋업 지연을 최소화하는 방식을 이용할 수 있다. 또한, 각 경로(320)의 중간 스위치(B, C, E, F, G)에서는 와일드카드와 식별 정보(330, 430)를 이용하여 라우팅 할 수 있다.In order to solve the communication delay between the control area and the data area generated at this stage, a method of minimizing the flow setup delay can be used. Also, the intermediate switches B, C, E, F, and G of each path 320 can be routed using the wildcard and the identification information 330 and 430.

경로 선택 과정을 자세히 설명하면, 제 1 엣지 스위치(230)에서는 제 1 엣지 스위치(230)의 식별 정보 테이블(도 4의 b)을 이용하여, 플로우가 사용 중인 경로를 나타낼 수 있다. 플로우 생성 시, 기본경로 A-G-D를 이용하여 우선적으로 패킷을 처리하고, 제 1 엣지 스위치(230)의 플로우 테이블(도 4의 a)만 변경하여 경로(320)를 적용시킬 수 있다. 이때, 복수 개의 경로(320) 중 링크 사용률(340)이 0.3으로 가장 낮은 경로 A-B-C-D를 선택하고, 제 1 엣지 스위치(230)에 해당하는 식별 정보(430) g2를 액션(420)으로 가진 플로우 H1→H2(f1)를 추가할 수 있다. 또한, 플로우의 경로 변경 시, 플로우의 제 1 엣지 스위치(230)에서의 식별 정보 테이블(도4의 b)을 변경하여, 플로우의 경로 변경을 처리할 수 있다.The path selection process will be described in more detail. In the first edge switch 230, the flow can indicate the path in use by using the identification information table (b in FIG. 4) of the first edge switch 230. In generating the flow, the path can be applied by preferentially processing packets using the basic path A-G-D and changing only the flow table of the first edge switch 230 (Fig. 4A). At this time, a path ABCD having the lowest link utilization rate 340 of a plurality of paths 320 is selected, and a flow H1 having the action 420 as the identification information 430 g2 corresponding to the first edge switch 230 is selected → H2 (f1) can be added. In addition, when changing the route of the flow, the identification information table (b in Fig. 4) in the first edge switch 230 of the flow can be changed to process the route change of the flow.

송신하는 단계(S140)에서는 플로우가 기본적으로 설정된 최단 경로(기본 경로) 대신에 상술한 선택하는 단계(S130)에서 선택된 경로를 통해 처리되도록 제 1 엣지 스위치(230)로 선택된 경로에 대한 정보를 송신할 수 있다.In the transmission step S140, information on the path selected by the first edge switch 230 is processed so as to be processed through the path selected in the above-described selecting step S130 instead of the shortest path (basic path) can do.

플로우의 라우팅 과정을 자세히 설명하면, H1에서 H2로 향하는 플로우 f1이 생성되었을 경우, 제 1 엣지 스위치(230)는 최단경로인 기본경로A-G-D의 식별 정보(330) g1을 이용하여 플로우 f1의 패킷을 처리하고, f1의 플로우 헤더(410)를 컨트롤러(200)로 전송하여 플로우 f1에 대한 처리 방식을 질의할 수 있다.When a flow f1 from H1 to H2 is generated, the first edge switch 230 uses the identification information 330 g1 of the basic path AGD, which is the shortest path, to transmit the packet of the flow f1 And transmits the flow header 410 of f1 to the controller 200 to query the processing method for the flow f1.

컨트롤러(200)는 제 1 호스트(210)과 제 2 호스트(220)가 각각 연결된 제 1 엣지 스위치(230) 및 제 2 엣지 스위치(240)를 파악한다. 이후에 컨트롤러(200)는 제 1 및 제 2 엣지 스위치 쌍(A, D) 사이의 경로(320) 중 링크 사용률(340)이 0.3으로 가장 낮은 경로 A-B-C-D에 대응하는 식별 정보(330) g2를 선택하여, 플로우 f1을 처리하기 위한 경로로 선정할 수 있다. 다음으로, 제 1 엣지 스위치(230)의 플로우 테이블(도4의 a)에 플로우 f1을 위한 엔트리가 추가되고, 액션(420)을 통해 경로(320) A-B-C-D에 대응하는 식별 정보(430) g2를 할당함으로써, 제 1 엣지 스위치(230)에 라우팅 정보가 입력될 수 있다.The controller 200 recognizes the first edge switch 230 and the second edge switch 240 to which the first host 210 and the second host 220 are connected, respectively. The controller 200 selects the identification information 330 g2 corresponding to the path ABCD having the lowest link utilization rate 340 of 0.3 among the paths 320 between the first and second edge switch pairs A and D , It is possible to select the path for processing the flow f1. Next, an entry for flow f1 is added to the flow table (a in Fig. 4) of the first edge switch 230 and the identification information 430 g2 corresponding to the path 320 ABCD through the action 420 By routing, routing information can be input to the first edge switch 230.

여기서, 패킷 처리 과정에 대하여 자세히 설명하면, 패킷이 엣지 스위치에 들어오게 되면, 플로우 테이블의 룰에 의해서 패킷의 헤더 정보를 점검할 수 있다. 이때, 패킷의 헤더 정보가 플로우 헤더(410) 정보와 일치하는 경우, 지정된 액션(420)에 의해서 패킷이 처리될 수 있다. 반면, 패킷 헤더 정보가 플로우 헤더(410) 정보와 일치하지 않는 경우, 엣지 스위치는 컨트롤러(200)에 처리 방식을 요청할 수 있다. 요청받은 컨트롤러(200)는 패킷의 처리를 지정하여, 엣지 스위치 플로우 테이블에 설치하여 패킷을 처리할 수 있다.Here, the packet process will be described in detail. When the packet enters the edge switch, the header information of the packet can be checked by the rules of the flow table. At this time, if the header information of the packet matches the information of the flow header 410, the packet can be processed by the designated action 420. On the other hand, if the packet header information does not match the flow header 410 information, the edge switch may request the controller 200 for the processing method. The requested controller 200 can designate the processing of the packet and install it in the edge switch flow table to process the packet.

앞서 상술한 컨트롤러(200)의 플로우에 대한 경로(320) 제어방법은 각 엣지 스위치 쌍(310)에 대한 경로(320)에 해당하는 각각의 링크 사용률(340)을 수신하는 단계를 더 포함할 수 있다. 이때, 앞서 상술한 선택하는 단계(S130)는 검색된 경로에 해당하는 각각의 링크 사용률(340)과 미리 설정된 임계 사용률을 비교한 결과에 기초하여 선택할 수 있다. 즉, 경로를 선택함에 있어서, 컨트롤러(200)는 링크 사용률(340) 뿐만 아니라 스위치에 걸리는 로드의 밸런싱까지 함께 고려하여 경로를 선택할 수 있는데, 이에 대해서는 도 5를 참고하여 설명하기로 한다. The method of controlling path 320 for the flow of controller 200 described above may further comprise receiving a respective link utilization rate 340 corresponding to path 320 for each edge switch pair 310 have. At this time, the above-described selection step S130 can be selected based on a result of comparing the link utilization rate 340 corresponding to the searched route with a predetermined threshold utilization rate. That is, in selecting a path, the controller 200 can select a route by taking into consideration not only the link utilization rate 340 but also the balancing of the load on the switch, which will be described with reference to FIG.

도 5는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법에서 로드 밸런싱을 설명하기 위한 순서도이다.5 is a flowchart illustrating load balancing in a path control method for a flow of a controller in a software defined network environment according to an embodiment of the present invention.

로드 밸런싱은 링크 사용률(340)이 임계 사용률(임계값) 이상의 사용률을 보일 경우 수행할 수 있다.Load balancing can be performed when the link utilization 340 shows a usage rate above the threshold utilization (threshold).

도 5를 참조하여, 로드 밸런싱의 수행과정을 설명하면, 각 엣지 스위치는 주기적으로 컨트롤러(200)에 상태 정보를 전송할 수 있다(S510).Referring to FIG. 5, the process of performing load balancing will be described. In operation S510, each edge switch periodically transmits status information to the controller 200. FIG.

컨트롤러(200)는 각 엣지 스위치 및 플로우의 상태 정보 수집 및 네트워크상에서의 모든 링크 상태 정보를 점검할 수 있다(S520).The controller 200 may collect status information of each edge switch and flow and check all link status information on the network (S520).

각 엣지 스위치 쌍(310)에 해당하는 링크 사용률(340)이 임계 사용률(임계값) 보다 높을 경우에는 S520단계를 반복하고, 각 엣지 스위치 쌍(310)에 해당하는 링크 사용률(340)이 임계 사용률(임계값) 보다 낮을 경우에는 S540 단계를 수행할 수 있다(S530).If the link utilization rate 340 corresponding to each edge switch pair 310 is higher than the threshold utilization rate (threshold value), the step S520 is repeated and the link utilization rate 340 corresponding to each edge switch pair 310 is compared with the threshold utilization ratio (Threshold value), the step S540 may be performed (S530).

컨트롤러(200)는 해당하는 엣지 스위치 쌍(310)에 사용되는 플로우를 파악하고, 경로(320)를 변경할 플로우를 선정할 수 있다(S540). The controller 200 can recognize a flow used for the corresponding edge switch pair 310 and select a flow to change the path 320 (S540).

여기서, 선정된 플로우(선정 대상)는 최근 특정 기간 내에 전송한 패킷이 있으며, 로드 밸런싱 대상이 되지 않은 플로우 중에서 전송한 패킷 바이트 수가 최대인 플로우 일 수 있다.Here, the selected flow (to be selected) may be a flow in which there is a packet that has been transmitted recently within a specific period, and the number of bytes of the packet transmitted in the flow not subjected to load balancing is the maximum.

각 엣지 스위치 쌍(310)에 해당하는 링크 사용률(340)이 임계 사용률(임계값) 보다 높을 경우에는 S520 단계를 반복하고, 각 엣지 스위치 쌍(310)에 해당하는 링크 사용률(340)이 임계 사용률(임계값) 보다 낮을 경우에는 S540 단계를 수행할 수 있다(S550).If the link utilization rate 340 corresponding to each edge switch pair 310 is higher than the threshold utilization rate (threshold value), the step S520 is repeated and the link utilization rate 340 corresponding to each edge switch pair 310 is compared with the threshold utilization ratio (Threshold value), the step S540 may be performed (S550).

예시적으로, 엣지 스위치 쌍(A, D)의 경로(320) A-B-C-D의 링크 사용률(340) 0.3이 미리 설정된 임계 사용률(임계값) 이상일 경우, 제 1 엣지 스위치(230)는 경로(320) A-B-C-D에 대응하는 식별 정보(330) g2에 할당된 플로우 일부를 식별 정보(330) g1 및 g3으로 우회하게 할 수 있다. 이후에도 링크 사용률(340)이 임계 사용률(임계값) 이상인 경우에는 컨트롤러(200)에 경로(320) A-B-C-D의 상태 변화를 알리고, 컨트롤러(200)는 제 1 및 제 2 엣지 스위치 쌍 (A, D)에 이용되는 경로(320)를 파악하여, 해당 경로의 가장 오래된 플로우부터 변경할 수 있다. 이때, 경로가 최근에 로드 밸런싱을 수행한 경우, 컨트롤러(200)는 다음 순위의 플로우를 대상으로 변경 할 수 있다. 경로 변경이 끝나면, 로드 밸런싱 대상 경로 및 대체 경로의 로드 밸런싱 수행 시간이 업데이트 될 수 있다. 이러한 과정은 링크 사용률(340)이 미리 설정된 임계 사용률(임계값) 이하로 떨어질 때까지 반복 될 수 있다.Illustratively, when the link utilization rate 340 of the path 320 ABCD of the edge switch pair A and D is equal to or greater than a predetermined threshold utilization threshold, the first edge switch 230 is connected to the path 320 ABCD (330) g1 and g3, the part of the flow assigned to the identification information (330) g2 corresponding to the identification information (330) g2. The controller 200 notifies the controller 200 of the state change of the path 320 ABCD when the link utilization rate 340 is equal to or greater than the threshold use rate (threshold value), and the controller 200 notifies the controller 200 of the first and second edge switch pairs A and D, And can change from the oldest flow of the route. At this time, when the path has recently performed load balancing, the controller 200 may change the flow of the next rank. When the path change is completed, the load balancing target path and the load balancing execution time of the alternate path may be updated. This process can be repeated until the link utilization rate 340 falls below a predetermined threshold utilization rate (threshold value).

소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법은 컨트롤러(20)를 포함할 수 있다. 또한, 컨트롤러(20)는 메모리 및 프로세서로 구성될 수 있다.In the software defined network environment, the path control method for the flow of the controller may include the controller 20. In addition, the controller 20 may be composed of a memory and a processor.

메모리는 네트워크 상에서 플로우의 경로를 제어하는 프로그램을 저장할 수 있다. 또한, 메모리는 추가적으로 생성되거나 송수신된 정보를 저장할 수 있다.The memory may store a program that controls the path of the flow on the network. In addition, the memory may store additional generated or transmitted and received information.

프로세서는 프로그램을 수행할 수 있다. 우선, 프로세서는 프로그램의 실행에 따라, 네트워크 상에서 가장자리에 배치된 임의의 엣지 스위치에서 타 엣지 스위치로의 적어도 하나의 경로를 저장하되, 네트워크의 토폴로지를 기초로 미리 설정된 각 엣지 스위치 쌍의 경로를 구분하기 위한 식별 정보를 경로마다 할당하여 저장할 수 있다.The processor may execute the program. At first, the processor stores at least one path from any edge switch to the other edge switch disposed at the edge on the network according to the execution of the program, and determines the path of each preset edge switch pair based on the topology of the network The identification information for each path can be allocated and stored.

이어서, 프로세서는 제 1 호스트에서 제 2 호스트로의 플로우가 생성된 경우 제 1 호스트와 인접하는 제 1 엣지 스위치로부터 플로우의 정보를 수신하여 제 1 엣지 스위치와, 제 2 호스트와 인접하는 제 2 엣지 스위치를 결정할 수 있다.Then, when a flow from the first host to the second host is generated, the processor receives the information of the flow from the first edge switch adjacent to the first host and generates a first edge switch and a second edge adjacent to the second host, The switch can be determined.

이어서, 프로세서는 저장된 경로 중 제 1 엣지 스위치와 제 2 엣지 스위치 간의 경로를 검색하여 검색된 경로 중 어느 하나의 경로를 선택할 수 있다. Then, the processor can select one of the paths retrieved by searching the path between the first edge switch and the second edge switch of the stored path.

다음으로, 프로세서는 플로우가 선택된 경로를 통해 처리되도록 제 1 엣지 스위치로 선택된 경로에 대한 정보를 송신할 수 있다.Next, the processor may send information about the selected path to the first edge switch so that the flow is processed through the selected path.

이러한, 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법은 사전에 결정된 경로를 이용하여 새로운 플로우 처리 방식을 지정하는 경우에 발생하는 오버헤드 및 통신 지연을 감소시킬 수 있다. 또한, 이러한 오버헤드 및 통신 지연이 감소함에 따라 플로우의 처리 속도를 향상시킬 수 있다.In this software-defined network environment, the path control method for the flow of the controller can reduce the overhead and communication delay that occur when a new flow processing method is specified using a predetermined path. In addition, as the overhead and communication delay are reduced, the processing speed of the flow can be improved.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.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.

20: 토폴로지 200: 컨트롤러
210: 제 1 호스트 220: 제 2 호스트
230: 제 1 엣지 스위치 240: 제 2 엣지 스위치
310: 스위치 쌍 320: 경로
330, 430: 식별 정보 340: 링크 사용률
410: 플로우 헤더 420: 액션
20: Topology 200: Controller
210: first host 220: second host
230: first edge switch 240: second edge switch
310: switch pair 320: path
330, 430: identification information 340: link utilization rate
410: Flow Header 420: Action

Claims (6)

소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법에 있어서,
상기 네트워크 상에서 가장자리에 배치된 임의의 엣지 스위치에서 타 엣지 스위치로의 적어도 하나의 경로를 저장하되, 상기 네트워크의 토폴로지를 기초로 미리 설정된 각 엣지 스위치 쌍의 경로를 구분하기 위한 식별 정보를 상기 경로마다 할당하여 저장하는 단계;
제 1 호스트에서 제 2 호스트로의 플로우가 생성된 경우 상기 제 1 호스트와 인접하는 제 1 엣지 스위치로부터 상기 플로우의 정보를 수신하여 상기 제 1 엣지 스위치와, 상기 제 2 호스트와 인접하는 제 2 엣지 스위치를 결정하는 단계;
상기 저장된 경로 중 상기 제 1 엣지 스위치와 상기 제 2 엣지 스위치 간의 경로를 검색하여 상기 검색된 경로 중 최소 링크 사용률을 나타내는 경로를 선택하는 단계; 및
상기 플로우가 상기 선택된 경로를 통해 처리되도록 상기 제 1 엣지 스위치로 상기 선택된 경로에 대한 정보를 송신하는 단계를 포함하되,
기 선택하는 단계는 상기 검색된 경로에 해당하는 각각의 링크 사용률이 미리 설정된 임계 사용률 보다 높을 경우, 로드 밸런싱을 수행하여 선택하되, 상기 경로 선택이 끝나면, 상기 로드 밸런싱 대상 경로 및 대체 경로의 로드 밸런싱 수행 시간이 업데이트 되는 것을 특징으로 하는 컨트롤러의 플로우에 대한 경로 제어방법.
CLAIMS 1. A path control method for a flow of a controller in a software defined network environment,
Wherein at least one path from one edge switch to another edge switch disposed on an edge of the network is stored, and identification information for identifying a path of each edge switch pair set in advance on the basis of the topology of the network is stored for each path Allocating and storing the data;
When a flow from a first host to a second host is generated, receiving information of the flow from a first edge switch adjacent to the first host and transmitting the flow information from the first edge switch to a second edge adjacent to the second host Determining a switch;
Selecting a route indicating the minimum link utilization rate among the searched routes by searching a route between the first edge switch and the second edge switch among the stored routes; And
And transmitting information about the selected path to the first edge switch such that the flow is processed through the selected path,
Wherein the step of selecting includes performing load balancing and selecting a load balancing target path and an alternative path load balancing when the path selection is completed when each of the link utilization ratios corresponding to the searched path is higher than a preset threshold utilization ratio, Wherein the time is updated.
삭제delete 제 1 항에 있어서,
상기 각 엣지 스위치 쌍에 대한 경로에 해당하는 각각의 링크 사용률은 상기 엣지 스위치 쌍 중 적어도 어느 하나에 의해 주기적으로 또는 랜덤하게 보고되는 것을 특징으로 하는 컨트롤러의 플로우에 대한 경로 제어방법.
The method according to claim 1,
Wherein each link utilization rate corresponding to the path for each edge switch pair is periodically or randomly reported by at least one of the pair of edge switches.
제 1 항에 있어서,
상기 각 엣지 스위치 쌍에 대한 경로에 해당하는 각각의 링크 사용률을 수신하는 단계를 더 포함하는 것을 특징으로 하는 컨트롤러의 플로우에 대한 경로 제어방법.
The method according to claim 1,
Further comprising receiving each link utilization rate corresponding to a path for each of the edge switch pairs.
제 1 항에 있어서,
상기 플로우의 정보는 상기 플로우의 헤더 정보를 포함하는 것을 특징으로 하는 컨트롤러의 플로우에 대한 경로 제어방법.
The method according to claim 1,
Wherein the information of the flow includes header information of the flow.
소프트웨어 정의 네트워크 환경에서의 컨트롤러에 있어서,
상기 네트워크 상에서 플로우의 경로를 제어하는 프로그램을 저장하는 메모리; 및
상기 프로그램을 수행하는 프로세서를 포함하되,
상기 프로세서는 상기 프로그램의 실행에 따라,
상기 네트워크 상에서 가장자리에 배치된 임의의 엣지 스위치에서 타 엣지 스위치로의 적어도 하나의 경로를 저장하되, 상기 네트워크의 토폴로지를 기초로 미리 설정된 각 엣지 스위치 쌍의 경로를 구분하기 위한 식별 정보를 상기 경로마다 할당하여 저장하는 단계;
제 1 호스트에서 제 2 호스트로의 플로우가 생성된 경우 상기 제 1 호스트와 인접하는 제 1 엣지 스위치로부터 상기 플로우의 정보를 수신하여 상기 제 1 엣지 스위치와, 상기 제 2 호스트와 인접하는 제 2 엣지 스위치를 결정하는 단계;
상기 저장된 경로 중 상기 제 1 엣지 스위치와 상기 제 2 엣지 스위치 간의 경로를 검색하여 상기 검색된 경로 중 최소 링크 사용률을 나타내는 경로를 선택하는 단계; 및
상기 플로우가 상기 선택된 경로를 통해 처리되도록 상기 제 1 엣지 스위치로 상기 선택된 경로에 대한 정보를 송신하는 단계를 수행하되, 상기 선택하는 단계는 상기 검색된 경로에 해당하는 각각의 링크 사용률이 미리 설정된 임계 사용률 보다 높을 경우, 로드 밸런싱을 수행하여 선택하되, 상기 경로 선택이 끝나면, 상기 로드 밸런싱 대상 경로 및 대체 경로의 로드 밸런싱 수행 시간이 업데이트 되는 것을 특징으로 하는 컨트롤러.
A controller in a software defined network environment,
A memory for storing a program for controlling a path of a flow on the network; And
And a processor for performing the program,
The processor, upon execution of the program,
Wherein at least one path from one edge switch to another edge switch disposed on an edge of the network is stored, and identification information for identifying a path of each edge switch pair set in advance on the basis of the topology of the network is stored for each path Allocating and storing the data;
When a flow from a first host to a second host is generated, receiving information of the flow from a first edge switch adjacent to the first host and transmitting the flow information from the first edge switch to a second edge adjacent to the second host Determining a switch;
Selecting a route indicating the minimum link utilization rate among the searched routes by searching a route between the first edge switch and the second edge switch among the stored routes; And
And transmitting the information about the selected path to the first edge switch so that the flow is processed through the selected path, wherein the step of selecting includes the step of determining whether each link utilization rate corresponding to the retrieved path satisfies a predetermined threshold utilization ratio The load balancing execution time of the load balancing target path and the alternative path is updated when the path selection is completed.
KR1020150025592A 2015-02-24 2015-02-24 Route control method for flow of controller in software defined network KR101541168B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150025592A KR101541168B1 (en) 2015-02-24 2015-02-24 Route control method for flow of controller in software defined network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150025592A KR101541168B1 (en) 2015-02-24 2015-02-24 Route control method for flow of controller in software defined network

Publications (1)

Publication Number Publication Date
KR101541168B1 true KR101541168B1 (en) 2015-08-03

Family

ID=53873150

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150025592A KR101541168B1 (en) 2015-02-24 2015-02-24 Route control method for flow of controller in software defined network

Country Status (1)

Country Link
KR (1) KR101541168B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101681516B1 (en) * 2016-05-31 2016-12-01 아토리서치(주) Method, apparatus and computer program for operating dual-ring in software defined networking environment
CN113630330A (en) * 2021-08-09 2021-11-09 北京邮电大学 Multi-controller load balancing method and system for software defined network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005086803A (en) * 2003-09-08 2005-03-31 Fujitsu Ltd Resource load measurement method, network control apparatus, communication node and storage medium

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005086803A (en) * 2003-09-08 2005-03-31 Fujitsu Ltd Resource load measurement method, network control apparatus, communication node and storage medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101681516B1 (en) * 2016-05-31 2016-12-01 아토리서치(주) Method, apparatus and computer program for operating dual-ring in software defined networking environment
CN113630330A (en) * 2021-08-09 2021-11-09 北京邮电大学 Multi-controller load balancing method and system for software defined network
CN113630330B (en) * 2021-08-09 2023-07-28 北京邮电大学 Multi-controller load balancing method and system for software defined network

Similar Documents

Publication Publication Date Title
JP7417825B2 (en) slice-based routing
CN109787921B (en) CDN bandwidth scheduling method, acquisition and scheduling server and storage medium
EP3641244B1 (en) Method and apparatus for selecting path
CA2963580C (en) Data forwarding method, device, and system in software-defined networking
US8537846B2 (en) Dynamic priority queue level assignment for a network flow
KR101494561B1 (en) Technique for managing traffic at a router
US9246814B2 (en) Communication system, control apparatus, communication node, and communication method
CN106209623B (en) Method and control device for determining forwarding path
CN109818881B (en) CDN bandwidth scheduling method, acquisition and scheduling server and storage medium
Wang et al. Implementation of multipath network virtualization with SDN and NFV
JP7288980B2 (en) Quality of Service in Virtual Service Networks
US11146477B2 (en) Discovery and admission control of forwarding boxes in a software-defined network
US20140098674A1 (en) Communication system, control device, and processing rule setting method and program
JP4771988B2 (en) Load balancing device and network device
EP2905929B1 (en) Communication system, control apparatus, control method, and program
JP6569374B2 (en) Switch device and control method of switch device
US11863322B2 (en) Communication method and apparatus
US20150295654A1 (en) System architecture for global optimization of flexible grid optical network and global optimization method therefor
US10917354B2 (en) System and method for reactive path selection
JP4589847B2 (en) Network resource control method for dynamic control and network resource control apparatus for dynamic control
EP2220568B1 (en) Methods and systems for providing efficient provisioning of data flows
KR101541168B1 (en) Route control method for flow of controller in software defined network
Nepolo et al. A predictive ECMP routing protocol for fat-tree enabled data centre networks
JP5212503B2 (en) COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM
Nithin et al. Efficient load balancing for multicast traffic in data center networks using SDN

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: 20180820

Year of fee payment: 4