KR20150051107A - Method for fast flow path setup and failure recovery - Google Patents

Method for fast flow path setup and failure recovery Download PDF

Info

Publication number
KR20150051107A
KR20150051107A KR1020130163163A KR20130163163A KR20150051107A KR 20150051107 A KR20150051107 A KR 20150051107A KR 1020130163163 A KR1020130163163 A KR 1020130163163A KR 20130163163 A KR20130163163 A KR 20130163163A KR 20150051107 A KR20150051107 A KR 20150051107A
Authority
KR
South Korea
Prior art keywords
flow
path
information
packet
host
Prior art date
Application number
KR1020130163163A
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 주식회사 케이티
Publication of KR20150051107A publication Critical patent/KR20150051107A/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/76Routing in software-defined topologies, e.g. routing between virtual machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate 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/28Routing or path finding of packets in data switching networks using route fault recovery
    • 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/72Routing based on the source address

Abstract

Disclosed is a method of fast path configuration and fault recovery in a software-defined networking environment. A software-defined networking controller can be configured to determine the path of flow from a first host to a second host and to transmit information on the path of flow to a first networking device on the path of flow. Meanwhile, the networking device can be configured to receive a packet from a preceding networking device on the path and to add a flow entry to a flow table, which is managed by the networking device, by referring to path information of the flow included in the packet. Also, the networking device can be configured to update the path information of the flow by removing items corresponding to the networking device from the path information of the flow included in the packet and transmit, to the next networking device on the path, the packet including the updated path information of the flow.

Description

신속한 경로 설정 및 장애 복구 방법{Method for fast flow path setup and failure recovery}[0001] The present invention relates to a fast path setup and failure recovery method,

본 발명은 신속한 경로 설정 및 장애 복구 방법에 관한 것으로, 더욱 상세하게는 소프트웨어 정의 네트워크(Software Defined Network) 기술을 이용한 신속한 경로 설정 및 장애 복구 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention [0002] The present invention relates to a quick path setting and a fault recovery method, and more particularly, to a rapid path setting and a fault recovery method using a software defined network technology.

소프트웨어 정의 네트워킹(SDN; Software Defined Networking) 환경에서 네트워크 내의 네트워크 장치들(예컨대, 스위치들)은 단순히 플로우 테이블(flow table)에 명시된 대로 수신한 패킷(packet)을 전달하는 기능만을 수행하며 패킷을 원하는 경로로 전달하기 위한 라우팅과 같은 컨트롤 플레인(control plane)의 기능은 SDN 컨트롤러(SDN controller)가 수행한다. In a Software Defined Networking (SDN) environment, network devices (e.g., switches) in a network simply perform the function of delivering a received packet as specified in a flow table, The function of the control plane, such as routing for routing to the path, is performed by the SDN controller (SDN controller).

경로가 설정되어있지 않은 패킷이 SDN 네트워크에 들어왔을 때 패킷을 처음 수신한 엔트리 스위치가 SDN 컨트롤러에 패킷의 처리를 요청한다.When a packet whose path is not set enters the SDN network, the entry switch that first received the packet requests the SDN controller to process the packet.

예를 들면, 오픈플로우(OpenFlow)에서는 헤더 정보를 포함한 packet_in 메시지를 보내 알린다. SDN 컨트롤러에서 패킷처리 요청 메시지에서 플로우(flow) 정보를 추출하고 정책에 의하여 해당 플로우의 경로를 계산하여 패킷이 지정된 경로를 통해 전송될 수 있도록 경로 상의 스위치에 각각 플로우 엔트리(flow entry)들을 추가한다. For example, open flow (OpenFlow) sends a packet_in message containing header information to inform. The SDN controller extracts flow information from the packet processing request message and calculates the route of the flow according to the policy, and adds flow entries to the switches on the route so that the packets can be transmitted through the designated route .

예를 들어 오픈 플로우의 경우, 플로우 엔트리(flow entry)는 매치(Match), 우선순위(Priority), 카운터(Counters), 인스트럭션(Instructions), 타임 아웃(Timeouts), 쿠키(Cookies) 등으로 구성되는데 플로우 엔트리에 스위치가 패킷을 수신했을 때 패킷의 헤더 정보와 매치 필드(Match Field)의 항목을 비교한 후(송신지 및 수신지 IP 주소, 송신지 및 수신지 MAC 주소, 프로토콜, VLAN ID등) 일치할 경우 인스트럭션에 명시된 액션들을 수행한다. 일반적인 패킷 전송을 위해 사용되는 액션은 패킷을 지정된 출력 포트(output port)로 포워딩하는 출력(output) 액션이며 포트번호를 명시하여 패킷을 원하는 경로로 전달하게 한다.For example, in the case of an open flow, a flow entry consists of a match, a priority, a counter, an instruction, a timeout, and a cookie. When the switch receives a packet in the flow entry, it compares the packet header information with the match field (source and destination IP address, destination and destination MAC address, protocol, and VLAN ID) If it matches, it performs the actions specified in the instruction. The action used for generic packet transmission is an output action that forwards the packet to the designated output port, which specifies the port number to forward the packet to the desired path.

그러나, SDN 환경에서는 컨트롤러가 경로 설정 및 장애 복구를 중앙 집중적으로 제어하기 때문에 경로 설정 및 장애 복구에 소요되는 시간이 길어지는 단점이 있다.However, in the SDN environment, since the controller centrally controls path setting and failover, there is a disadvantage that the time required for path setting and failback is prolonged.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, SDN 환경에서 빠르게 경로를 설정할 수 있는 방법을 제공하는데 있다.In order to solve the above problems, an object of the present invention is to provide a method of quickly establishing a path in an SDN environment.

상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, SDN 환경에서 경로 상의 링크에 장애가 발생된 경우에 신속하게 장애를 복구할 수 있는 방법을 제공하는데 있다.It is another object of the present invention to solve the above problems and provide a method for quickly recovering a failure when a failure occurs on a path in an SDN environment.

상기 목적을 달성하기 위한 본 발명의 일 측면은, 소프트웨어 정의 네트워킹 컨트롤러의 동작 방법으로서, 제1 호스트로부터 제2 호스트까지의 플로우의 경로를 결정하는 단계 및 상기 플로우의 경로에 대한 정보를 상기 플로우의 경로 상의 첫 번째 네트워크 장치로 전달하는 단계를 포함하는 소프트웨어 정의 네트워킹 컨트롤러의 플로우 셋업 방법을 제공한다.According to an aspect of the present invention, there is provided a method of operating a software defined networking controller, comprising: determining a path of a flow from a first host to a second host; To a first network device on the path. ≪ Desc / Clms Page number 2 >

여기에서, 상기 플로우의 경로에 대한 정보는 상기 제1 호스트로부터 상기 제2 호스트까지에 순차적으로 경유되는 네트워크 장치들의 출력 포트들에 대한 정보를 포함할 수 있다.Here, the information on the path of the flow may include information on output ports of network devices sequentially passed from the first host to the second host.

여기에서, 상기 플로우의 경로에 대한 정보를 상기 플로우의 경로 상의 첫 번째 네트워크 장치로 전달하는 단계는, 상기 소프트웨어 정의 네트워킹 컨트롤러가 상기 플로우의 경로에 대한 정보를 상기 첫 번째 네트워크 장치의 플로우 엔트리에 추가시키는 것에 의해 수행될 수 있다.Wherein forwarding information about the path of the flow to the first network device on the path of the flow further comprises the step of the software defined networking controller adding information about the path of the flow to the flow entry of the first network device . ≪ / RTI >

여기에서, 상기 방법은 상기 제1 호스트로부터 상기 제2 호스트로 전달되어야 하는 패킷에 대한 정보를 수신하는 단계를 추가로 포함하고, 상기 패킷에 대한 정보는 상기 패킷의 헤더 정보가 포함된 소정의 메시지 형태로 수신될 수 있다..The method may further include receiving information on a packet to be transmitted from the first host to the second host, wherein the information on the packet includes a predetermined message including header information of the packet, Lt; / RTI >

여기에서, 상기 플로우의 경로에 대한 정보는 상기 플로우의 경로 상의 네트워크 장치들 간에 전송되는 패킷의 헤더에 포함될 수 있다. Here, the information on the route of the flow may be included in a header of a packet transmitted between network devices on the route of the flow.

여기에서, 상기 플로우의 경로에 대한 정보는 인코딩되어 상기 플로우의 경로 상의 네트워크 장치들 간에 전송되는 패킷의 헤더에 포함될 수 있다.Here, the information on the path of the flow may be encoded and included in a header of a packet transmitted between network devices on the path of the flow.

상기 목적을 달성하기 위한 본 발명의 다른 측면은, 소프트웨어 정의 네트워킹 컨트롤러에 대응되는 네트워크 장치의 동작 방법으로서, 상기 소프트웨어 정의 네트워킹 컨트롤러로부터 플로우의 경로 정보를 수신하는 단계; 및 상기 플로우의 경로 정보에서 자신에 대응된 항목을 제거하여 상기 플로우의 경로 정보를 업데이트하고, 업데이트된 상기 플로우의 경로 정보를 포함한 상기 플로우의 패킷을 상기 경로상의 다음 네트워크 장치로 전송하는 단계를 포함하는, 네트워크 장치의 플로우 셋업 방법을 제공한다.According to another aspect of the present invention, there is provided a method of operating a network device corresponding to a software defined networking controller, the method comprising: receiving path information of a flow from the software defined networking controller; And updating the route information of the flow by removing an item corresponding to the route information of the flow and transmitting the packet of the flow including the updated route information of the flow to the next network device on the route A method of setting up a flow of a network device is provided.

여기에서, 상기 플로우의 경로 정보는 소프트웨어 정의 네트워킹 컨트롤러에 의해 추가되는 플로우 엔트리에 포함되어 수신될 수 있다.Here, the path information of the flow can be received included in a flow entry added by the software defined networking controller.

여기에서, 상기 플로우의 경로에 대한 정보는 상기 경로상의 순차적으로 경유되는 네트워크 장치들의 출력 포트들에 대한 정보를 포함할 수 있다.Here, the information on the path of the flow may include information on output ports of network devices sequentially passed through the path.

여기에서, 상기 업데이트된 상기 플로우의 경로에 대한 정보는 상기 플로우의 패킷의 헤더에 포함되어 상기 경로상의 다음 네트워크 장치로 전송될 수 있다. 이때, 상기 패킷이 IP(Internet Protocol) 패킷인 경우, 상기 플로우의 경로에 대한 정보는 상기 패킷의 IP 옵션(IP options) 필드에 저장될 수 있다.Here, the updated information on the route of the flow may be included in the header of the packet of the flow and transmitted to the next network device on the route. At this time, when the packet is an IP (Internet Protocol) packet, information on the route of the flow may be stored in the IP options field of the packet.

상기 목적을 달성하기 위한 본 발명의 또 다른 측면은, 소프트웨어 정의 네트워킹 컨트롤러에 대응되는 네트워크 장치의 동작 방법으로서, 경로상의 이전 네트워크 장치로부터 패킷을 수신하는 단계, 상기 패킷에 포함된 플로우의 경로 정보를 참조하여 자신이 관리하는 플로우 테이블에 플로우 엔트리를 추가하는 단계, 및 상기 패킷에 포함된 플로우의 경로 정보에서 자신에 대응된 항목을 제거하여 상기 플로우의 경로 정보를 업데이트하고, 업데이트된 상기 플로우의 경로 정보를 포함한 상기 패킷을 상기 경로상의 다음 네트워크 장치로 전송하는 단계를 포함하는, 네트워크 장치의 플로우 셋업 방법을 제공한다.According to another aspect of the present invention, there is provided a method of operating a network device corresponding to a software defined networking controller, comprising: receiving a packet from a previous network device on a path; Adding a flow entry to a flow table managed by the node, referring to the route information of the flow, updating the route information of the flow by removing an item corresponding to the route information of the flow included in the packet, And sending the packet including information to the next network device on the path.

여기에서, 상기 플로우의 경로에 대한 정보는 상기 경로상의 순차적으로 경유되는 네트워크 장치들의 출력 포트들에 대한 정보를 포함할 수 있다.Here, the information on the path of the flow may include information on output ports of network devices sequentially passed through the path.

여기에서, 상기 플로우의 경로에 대한 정보는 상기 패킷의 헤더에 포함될 수 있다. 이때, 상기 패킷이 IP(Internet Protocol) 패킷인 경우, 상기 플로우의 경로에 대한 정보는 상기 패킷의 IP 옵션(IP options) 필드에 저장될 수 있다.Here, information on the route of the flow may be included in the header of the packet. At this time, when the packet is an IP (Internet Protocol) packet, information on the route of the flow may be stored in the IP options field of the packet.

여기에서. 상기 플로우의 경로에 대한 정보는 인코딩되어 상기 패킷의 헤더에 포함될 수 있다.From here. Information about the path of the flow may be encoded and included in the header of the packet.

상기 다른 목적을 달성하기 위한 본 발명은, 소프트웨어 정의 네트워킹 컨트롤러의 동작 방법으로서, 제1 호스트로부터 제2 호스트까지의 플로우의 동작 경로(working path)와 상기 동작 경로 상에 장애가 발생된 경우에 이용되는 대안 경로(backup path)를 결정하는 단계, 상기 결정된 동작 경로에 기초하여 상기 동작 경로상에 존재하는 네트워크 장치들에 대한 경로 설정을 수행하는 단계 및 상기 대안 경로에 대한 정보를 상기 플로우의 경로 상의 첫 번째 네트워크 장치로 전달하는 단계를 포함하는 소프트웨어 정의 네트워킹 컨트롤러의 빠른 장애 복구 방법을 제공한다.According to another aspect of the present invention, there is provided a method of operating a software defined networking controller, the method comprising: providing a working path of a flow from a first host to a second host, The method of claim 1, further comprising: determining a backup path; performing routing for network devices present on the operational path based on the determined operational path; and providing information about the alternate path to the first To a first network device in the network.

여기에서, 상기 대안 경로에 대한 정보는 상기 제1 호스트로부터 상기 제2 호스트까지에 순차적으로 경유되는 네트워크 장치들의 출력 포트들에 대한 정보를 포함할 수 있다.Here, the information on the alternative path may include information on output ports of network devices sequentially passed from the first host to the second host.

여기에서, 상기 대안 경로에 대한 정보를 상기 플로우의 경로 상의 첫 번째 네트워크 장치로 전달하는 단계는, 상기 소프트웨어 정의 네트워킹 컨트롤러가 상기 대안 경로에 대한 정보를 상기 첫 번째 네트워크 장치의 플로우 엔트리에 추가시키는 것에 의해 수행될 수 있다.Wherein forwarding information about the alternate route to the first network device on the path of the flow comprises: adding the information about the alternate route to the flow entry of the first network device by the software defined networking controller ≪ / RTI >

여기에서, 상기 대안 경로에 대한 정보는 상기 대안 경로 상의 네트워크 장치들 간에 전송되는 패킷의 헤더에 포함될 수 있다. 이때, 상기 패킷이 IP(Internet Protocol) 패킷인 경우, 상기 대안 경로에 대한 정보는 상기 패킷의 IP 옵션(IP options) 필드에 저장될 수 있다.Here, the information on the alternative route may be included in the header of the packet transmitted between the network devices on the alternative route. At this time, if the packet is an IP (Internet Protocol) packet, information on the alternative path may be stored in the IP options field of the packet.

여기에서, 상기 대안 경로에 대한 정보는 인코딩되어 상기 대안 경로 상의 네트워크 장치들 간에 전송되는 패킷의 헤더에 포함될 수 있다.Here, the information on the alternative route may be encoded and included in a header of a packet transmitted between network devices on the alternative route.

소스 라우팅 방식을 이용해 컨트롤러와 스위치 사이에 기존 방식보다 적은 횟수의 교신을 통해 경로를 설정함으로써 기존의 방법보다 빠르게 플로우 셋업을 가능하게 한다.Using source routing, the flow is established between the controller and the switch through fewer communications than the conventional method, allowing flow setup faster than conventional methods.

장애 복구를 위해 제안하는 방법을 적용함으로써 대안경로를 미리 설정해 줄 수도 있고(path protection), 대안 경로를 미리 설정하지 않았을 경우(restoration)에도, 기존의 방법보다 빠르게 장애를 복구할 수 있다. By applying the proposed method for failover, alternative paths can be set in advance, and failover can be restored faster than the existing method even if the alternative path is not set in advance.

본 발명에 따른 장애 복구 방법을 이용할 경우에는, 장애를 예방하기 위해서 또는 장애가 발생했을 때의 컨트롤러 부하를 줄일 수 있다.When the fault recovery method according to the present invention is used, it is possible to reduce the controller load in order to prevent a fault or when a fault occurs.

도 1a와 도 1b 는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크의 플로우 셋업 방법을 종래의 방법과 비교하여 설명하기 위한 개념도들이다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크의 플로우 셋업 방법에서 플로우 경로 정보의 인코딩 방법의 일예를 설명하기 위한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 플로우 셋업 방법을 설명하기 위한 메시지 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 플로우 셋업 방법을 수행하기 위한 SDN 컨트롤러의 동작 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시예에 따른 플로우 셋업 방법을 수행하기 위한 네트워크 장치의 동작 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시예에 따른 빠른 장애 복구 방법을 설명하기 위한 개념도이다.
FIGS. 1A and 1B are conceptual diagrams for explaining a flow setup method of a software defined network according to an embodiment of the present invention, in comparison with a conventional method.
2 is a conceptual diagram for explaining an example of a method of encoding flow path information in a flow setup method of a software defined network according to an embodiment of the present invention.
3 is a message flow diagram illustrating a flow setup method according to an embodiment of the present invention.
4 is a flowchart illustrating an operation method of an SDN controller for performing a flow setup method according to an embodiment of the present invention.
5 is a flowchart illustrating a method of operating a network device for performing a flow setup method according to an embodiment of the present invention.
6 is a conceptual diagram illustrating a fast failover method 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. Like reference numerals are used for like elements in describing each drawing.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.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 are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하, 본 발명에서 언급되는 통합 SDN 컨트롤러(Unified SDN controller)는 트래픽의 흐름을 제어하기 위해 관련 구성 요소(예를 들면, 스위치, 라우터 등)를 제어하는 기능 요소(entity)를 의미하는 것으로, 물리적인 구현 형태나 구현 위치 등에 한정되지 않는다. 예를 들어, 상기 통합 SDN 컨트롤러는 ONF(OpenFlow)나, IETF(Internet Engineering Task Force), ETSI(European Telecommunication Standards Institute) 및/또는 ITU-T(International Telecommunication Union Telecommunication) 등에서 정의하고 있는 컨트롤러 기능 요소(entity)를 의미할 수 있다. 또한, 본 발명에서 언급되는 '스위치(switch)' 또는 '라우터(router)'는 트래픽(또는 패킷)을 실질적으로 포워딩하거나 스위칭 또는 라우팅하는 기능 요소를 의미하는 것으로, ONF나, IETF, ETSI 및/또는 ITU-T 등에서 정의하고 있는 스위치, 라우터, 스위치 요소(Switching Element), 라우터 요소(Routing Element), 포워딩 요소(Forwarding Element) 등을 의미할 수 있다.Hereinafter, the Unified SDN Controller referred to in the present invention means a functional entity that controls related components (e.g., switches, routers, etc.) to control the flow of traffic. The present invention is not limited to the embodiment or implementation position. For example, the integrated SDN controller may include a controller function element defined by ONF (OpenFlow), Internet Engineering Task Force (IETF), European Telecommunication Standards Institute (ETSI), and / or International Telecommunication Union Telecommunication (ITU-T) entity. The term 'switch' or 'router' referred to in the present invention means a functional element for substantially forwarding, switching, or routing traffic (or packet). The ONF, the IETF, the ETSI and / A router, a switching element, a routing element, and a forwarding element defined in ITU-T and the like.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
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.

SDN 환경에서 일반적인 플로우 셋업(flow setup) 방법은 새로운 패킷의 경로를 설정할 때마다 컨트롤러에서 이용하고자 하는 경로상에 위치하는 스위치 모두에 플로우엔트리를 추가해야 하기 때문에 플로우의 경로를 설정하는데 걸리는 시간이 경로상의 스위치 개수에 비례하여 증가한다. 즉, 호스트(host)간 통신의 초기화 시간이 길어진다. Since the general flow setup method in the SDN environment requires adding a flow entry to all the switches located on the route to be used by the controller every time a new packet is set up, Lt; / RTI > That is, the initialization time of communication between the hosts becomes longer.

또한, 플로우 테이블 추가를 중앙의 컨트롤러에서 담당하기 때문에 컨트롤러와 스위치들과 교신이 많아지며 이는 중앙집중식 컨트롤러의 부하를 높인다.In addition, adding a flow table takes place in the central controller, which increases communication with controllers and switches, which increases the load on the centralized controller.

예를 들어, 경로의 길이가 n이고 컨트롤러가 플로우엔트리를 스위치에 전송하는데 걸리는 시간이 t라고 가정하면 하나의 경로를 설정하기 위해서는 총 (1+n)*t의 시간이 걸린다.For example, assuming that the length of the path is n and the time it takes for the controller to send the flow entry to the switch is t, it takes a total of (1 + n) * t to set one path.

한편, SDN 환경에서 일반적인 장애 복구 방법은 스위치나 링크에 장애가 발생했을 경우 장애에 영향을 받는 플로우들을 하나씩 차례로 우회시켜야 하는데 모든 과정을 컨트롤러에서 일일이 처리함으로써 장애복구 시간이 길어지며 컨트롤러의 부하 또한 높아진다. In the SDN environment, a common failure recovery method is to bypass the flows affected by the failure one by one in the event of a failure of a switch or a link. The entire process is handled by the controller, which increases the failure recovery time and increases the load on the controller.

예를 들어, 장애가 발생했을 경우 우회시켜야 하는 플로우의 개수가 k, 각 플로우의 우회경로의 평균 길이가 n, 컨트롤러에서 스위치에 플로우엔트리를 전송하는 시간을 t라고 가정하면 경로를 설정하기 위해 k*t*n의 시간이 걸린다.
For example, assuming that the number of flows to be bypassed is k, the average length of the bypass path of each flow is n, and the time when the controller transmits the flow entry to the switch is t, It takes time t * n.

본 발명의 일 실시예에 따른 SDN에서의 신속한 경로설정 및 장애복구 방법에서는 상술한 바와 같은 문제를 해결하기 위해 신속한 플로우셋업 방법 및 장애 복구 방법을 제공한다.
The fast path setup and failure recovery method in the SDN according to an embodiment of the present invention provides a quick flow setup method and a failure recovery method in order to solve the problem as described above.

도 1a와 도 1b 는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크의 플로우 셋업 방법을 종래의 방법과 비교하여 설명하기 위한 개념도들이다.FIGS. 1A and 1B are conceptual diagrams for explaining a flow setup method of a software defined network according to an embodiment of the present invention, in comparison with a conventional method.

즉, 도 1a는 기존 SDN에서의 플로우 셋업 방법을 설명하기 위한 개념도이다. 또한, 도 1b는 도 1a와 동일한 네트워크 구성에서 본 발명에 따른 SDN에서의 플로우 셋업 방법을 설명하기 위한 개념도이다.That is, FIG. 1A is a conceptual diagram for explaining a flow setup method in an existing SDN. FIG. 1B is a conceptual diagram for explaining a flow setup method in the SDN according to the present invention in the same network configuration as FIG. 1A.

본 발명에 따른 플로우 셋업 방법에서는, 새로운 패킷이 네트워크에 들어왔을 때, 중앙의 컨트롤러에서 경로상에 모든 스위치에 플로우엔트리를 추가해 주어야 하는 기존의 SDN 플로우 셋업 방식과 달리 컨트롤러에서 계산한 경로 정보를 처음 패킷을 수신한 엔트리 스위치로 전달하여 경로의 길이에 관계없이 기존의 방법보다 적은 횟수의 교신을 통해 경로를 설정할 수 있다. In the flow setup method according to the present invention, unlike the conventional SDN flow setup method in which a flow controller adds flow entries to all switches on a path in a central controller when a new packet enters the network, The packet can be transmitted to the received entry switch, and the path can be established through a smaller number of communications than the conventional method regardless of the length of the path.

이를 위해서, 스위치에서 경로 정보를 읽고 플로우엔트리에 해당 정보를 추가하고 패킷의 헤더에 경로정보를 추가하는 기능을 필요로 한다.
To do this, it needs a function to read the path information from the switch, add the information to the flow entry, and add the path information to the header of the packet.

먼저, 도 1a를 참조하면, 제1 호스트(110)가 제2 호스트(120)와의 통신을 위해 패킷 A(100)를 네트워크(130)로 유입시킨다. 이때, 패킷 A(100)는 네트워크(130)에 경로가 설정되어 있지 않은 새로운 패킷이다.First, referring to FIG. 1A, a first host 110 sends packet A 100 to a network 130 for communication with a second host 120. At this time, the packet A (100) is a new packet whose path is not set in the network 130.

제1 호스트가 전송한 패킷 A를 처음 수신한 제1 스위치(131; 이하에서, 엔트리 스위치(entry switch)라 언급됨)는 해당 패킷의 헤더 정보를 소정의 메시지(141; 예컨대, packet_in 메시지)에 실어 SDN 컨트롤러(150)에 전송한다. 이때, 상기 메시지는 ONF에서 표준화 중인 오픈플로우(OpenFlow) 또는 IETF(Internet Engineering Task Force)에서 표준화 중인 I2RS(Interface to Routing System)의 규약에 따른 메시지일 수 있다.The first switch 131 (hereinafter referred to as an entry switch) receiving the packet A transmitted from the first host first transmits the header information of the packet to a predetermined message 141 (for example, a packet_in message) And sends it to the SDN controller 150. At this time, the message may be a message according to an Open Flow (OpenFlow) standardization in the ONF or an Interface to Routing System (I2RS) standardized by the Internet Engineering Task Force (IETF).

SDN 컨트롤러(150)는 수신된 패킷의 플로우 정보를 보고 지정된 규칙에 따라 패킷이 전달되는 경로를 추출한다. 예를 들어, SDN 컨트롤러가 추출한 경로가 제1 스위치(131)->제2 스위치(132)->제4 스위치(134)라 가정한다.The SDN controller 150 looks up the flow information of the received packet and extracts the path through which the packet is delivered according to the specified rule. For example, it is assumed that the path extracted by the SDN controller is the first switch 131, the second switch 132, and the fourth switch 134.

SDN 컨트롤러(150)는 경로 상의 스위치들(제1 스위치(131), 제2 스위치(132), 제4 스위치(134))에 차례로 해당 패킷이 속한 플로우의 패킷들이 포워딩 되어야 하는 포트 정보를 명시하는 플로우 엔트리들을 추가한다(142, 143, 144).The SDN controller 150 sequentially specifies to the switches (the first switch 131, the second switch 132, and the fourth switch 134) on the path the port information to which the packets of the flow belonging to the packet belong (142, 143, 144).

경로상의 모든 스위치들에 플로우 엔트리들이 추가되면, 패킷은 설정된 경로에 따라서 제2 호스트로 전달된다. 이후에 해당 플로우에 속한 패킷들은 설정된 경로에 따라서, 제1 호스트로부터 제2 호스트로 전달될 수 있다.
When flow entries are added to all switches on the path, the packet is forwarded to the second host according to the set path. Thereafter, packets belonging to the flow can be transferred from the first host to the second host according to the set path.

반면, 도 1b를 참조하면, 본 발명에 따른 SDN에서의 플로우 셋업 방법은 아래와 같이 수행될 수 있다.On the other hand, referring to FIG. 1B, a flow setup method in the SDN according to the present invention can be performed as follows.

먼저, 제1 호스트(110)가 제2 호스트(120)와의 통신을 위해 패킷 A(100)를 네트워크(130)로 유입시킨다. 이때, 패킷 A(100)는 네트워크(130)에 경로가 설정되어 있지 않은 새로운 패킷이다.First, the first host 110 sends packet A 100 to the network 130 for communication with the second host 120. At this time, the packet A (100) is a new packet whose path is not set in the network 130.

도 1a에서 설명된 경우와 마찬가지로, 제1 호스트(110)가 전송한 패킷 A(100)를 처음 수신한 제1 스위치(131; 엔트리 스위치)는 해당 패킷의 헤더 정보를 소정의 메시지(예컨대, packet_in 메시지)에 실어 SDN 컨트롤러(150)에 전송한다(161). 1A, the first switch 131 (entry switch), which firstly receives the packet A 100 transmitted by the first host 110, transmits the header information of the packet to a predetermined message (for example, packet_in Message to the SDN controller 150 (161).

이때, 상기 메시지는 ONF에서 표준화 중인 오픈플로우(OpenFlow) 또는 IETF(Internet Engineering Task Force)에서 표준화 중인 I2RS(Interface to Routing System)의 규약에 따른 메시지일 수 있다.At this time, the message may be a message according to an Open Flow (OpenFlow) standardization in the ONF or an Interface to Routing System (I2RS) standardized by the Internet Engineering Task Force (IETF).

또한, SDN 컨트롤러는 도 1a에서 설명된 경우와 마찬가지로, 패킷의 플로우 정보를 보고 지정된 규칙에 따라 패킷이 전달되는 경로를 추출한다. 이때, 도 1a의 경우와 마찬가지로 SDN 컨트롤러가 추출한 경로가 제1 스위치(131)->제2 스위치(132)->제4 스위치(134)라 가정한다. The SDN controller also looks at the flow information of the packet and extracts the path through which the packet is delivered according to the specified rule, as in the case described in FIG. 1A. Here, as in the case of FIG. 1A, it is assumed that the path extracted by the SDN controller is the first switch 131, the second switch 132, and the fourth switch 134.

도 1a를 통해 설명된 종래 방법에서, SDN 컨트롤러(150)는 경로 상의 모든 스위치들에게 차례대로 해당 패킷이 속한 플로우의 패킷들이 포워딩 되어야 하는 출력 포트 정보를 명시하는 플로우 엔트리를 추가하는 동작을 수행하여야만 한다.In the conventional method described with reference to FIG. 1A, the SDN controller 150 has to perform an operation of adding, to all the switches on the path, a flow entry that sequentially specifies output port information to which packets of a flow belonging to the corresponding packet should be forwarded do.

그러나, 본 발명에 따른 플로우 셋업 방법에서, SDN 컨트롤러(150)는 제1 호스트(110)에서 제2 호스트(120)에 이르는 전체 플로우 경로에 대한 정보(162)를 제1 스위치(131)에게만 전달할 수 있다.However, in the flow setup method according to the present invention, the SDN controller 150 transmits only the information 162 about the entire flow path from the first host 110 to the second host 120 to only the first switch 131 .

즉, SDN 컨트롤러는 앞서 메시지(예를 들면, packet_in 메시지)를 보낸 엔트리 스위치(제1 스위치)에 계산된 전체 플로우 경로에 대한 정보를 포함하는 플로우 엔트리를 추가할 수 있다. 여기서, 계산된 전체 플로우 경로에 대한 정보는 를 소정의 방식으로 인코딩되어 플로우 엔트리에 추가될 수 있다.That is, the SDN controller may add a flow entry containing information about the entire flow path calculated to the entry switch (first switch) that previously sent the message (e.g., the packet_in message). Here, the calculated information on the entire flow path may be encoded in a predetermined manner and added to the flow entry.

제1 스위치는 플로우 엔트리에 포함된 경로 정보를 패킷의 헤더에 추가하고 플로우 엔트리에 지정된 출력 포트로 패킷을 포워딩한다(163). 예를 들면, 앞서 언급된 바와 같이 플로우에 대한 경로가 제1 스위치(131)->제2 스위치(132)->제4 스위치(134)로 결정되었다면, 제1 스위치가 패킷을 포워딩하는 출력 포트는 제2 스위치로 연결된 출력 포트이다.The first switch adds the path information included in the flow entry to the header of the packet and forwards the packet to the output port designated in the flow entry (163). For example, if the path for the flow is determined to be the first switch 131, the second switch 132, and the fourth switch 134 as described above, then the first switch is connected to the output port Is an output port connected to the second switch.

다음으로, 패킷을 받은 제2 스위치는 소스 라우팅(source routing) 방식으로 수신된 패킷의 헤더 정보를 확인하고 헤더에 경로 정보가 있을 경우 이 정보를 읽어 플로우 엔트리를 추가하고, 패킷을 제4 스위치(134)로 포워딩 한다(164).Next, the second switch receiving the packet checks the header information of the packet received by the source routing method. If there is path information in the header, the second switch reads the information, adds the flow entry, 134 (164).

이후, 제2 호스트(120)에 패킷이 도착할 때까지 경로상의 스위치들(제2 스위치, 제4 스위치)이 앞서 설명된 과정을 반복한다. 최종적으로, 경로상의 모든 스위치들에 플로우 엔트리들이 추가되어 경로가 설정되는 것과 동시에 패킷은 제2 호스트(220)에 전달된다. 이후에 해당 플로우에 속한 패킷들은 설정된 경로에 따라서, 제1 호스트로부터 제2 호스트로 전달될 수 있다.
Then, the switches (the second switch and the fourth switch) on the path repeat the process described above until a packet arrives at the second host 120. [ Finally, the flow is forwarded to the second host 220 at the same time as the flow entry is added to all the switches on the path. Thereafter, packets belonging to the flow can be transferred from the first host to the second host according to the set path.

상술된 플로우 경로에 대한 정보가 플로우 엔트리 상에 삽입되는 방식의 일 예는 하기 도 2와 같이 구성될 수 있다.An example of the manner in which information on the above-described flow path is inserted on the flow entry can be configured as shown in FIG.

도 2는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크의 플로우 셋업 방법에서 플로우 경로 정보의 인코딩 방법의 일 예를 설명하기 위한 개념도이다.2 is a conceptual diagram for explaining an example of a method of encoding flow path information in a flow setup method of a software defined network according to an embodiment of the present invention.

도 2를 참조하면, 예로써, 플로우 경로 정보는 오픈 플로우(OpenFlow) 플로우 엔트리의 메타 데이터(metadata) 필드를 이용하여 저장될 수 있다. 그러나, 용도가 중복되지 않는 한도 내에서 플로우 경로 정보는 플로우 엔트리 상의 어떤 필드를 이용하여 저장되어도 무방하다.Referring to FIG. 2, by way of example, flow path information may be stored using a metadata field of an OpenFlow flow entry. However, the flow path information may be stored using a certain field on the flow entry, so long as the use is not duplicated.

예로써, 메타 데이터 필드는 64비트로 구성될 수 있고, 플로우들의 메타 정보를 저장하도록 구성된 필드이다. By way of example, the metadata field can be composed of 64 bits and is a field configured to store meta information of flows.

먼저, 플래그(Flag; 210)는 4비트로 구성될 수 있고 16개의 서로 다른 정보를 표현할 수 있다. 본 발명의 일 실시예에서 플래그의 '0000'은 소스 라우팅 비활성 상태(disabled), 플래그의 '0001'은 소스 라우팅 활성 상태(enabled)를 정의하는 것으로 가정한다. 추후 필요에 따라 '0010'에서부터 '1111'까지 플래그 값을 추가할 수 있다. First, the flag (Flag) 210 can be composed of 4 bits and can express 16 different information. In an embodiment of the present invention, it is assumed that the flag '0000' defines source routing disabled (disabled) and the flag '0001' defines source routing enabled (enabled). You can add flag values from '0010' to '1111' as needed later.

다음으로, 플로우 경로에 대한 정보가 경로 상의 스위치에 순차적으로 전달되면서, 각 스위치에서 참고하여야 하는 부분은 스위치의 출력 포트(output port) 지정 정보(220)이다. 예를 들어 최대 64개의 출력 포트를 표현할 수 있도록 6개의 비트를 이용했다. 또한, 최대로 표현할 수 있는 플로우 경로의 길이는 10개의 노드(220-1, ..., 220-10)가 된다. Next, information on the flow path is sequentially transmitted to the switch on the path, and a part to be referred to by each switch is the output port designation information 220 of the switch. For example, we used six bits to represent up to 64 output ports. In addition, the maximum length of the flow path is 10 nodes 220-1, ..., 220-10.

그러나, 상기 필드 또는 비트값들이 도 2에 도시된 내용에 한정되는 것은 아니며 네트워크 관리자의 요구사항에 따라 해당 필드를 조정할 수 있다.
However, the field or bit values are not limited to the contents shown in FIG. 2, and the field can be adjusted according to the requirements of the network manager.

도 3은 본 발명의 일 실시예에 따른 플로우 셋업 방법을 설명하기 위한 메시지 흐름도이다.3 is a message flow diagram illustrating a flow setup method according to an embodiment of the present invention.

제1 스위치(131)가 자신의 플로우 테이블에 존재하지 않는 새로운 패킷을 수신했을 때, 예를 들면 오픈플로우 프로토콜에 따라 컨트롤러(150)에 패킷 인(packet_in) 메시지를 보내 새로운 패킷이 들어왔음을 알린다(S310). When the first switch 131 receives a new packet that does not exist in its own flow table, it sends a packet_in message to the controller 150 according to an open flow protocol, for example, (S310).

컨트롤러(150)는 해당 패킷의 플로우 정보를 확인하고 패킷의 경로 제1스위치(131), 제2 스위치(132), 및 제4 스위치(134)를 거치는 경로를 계산하여 제1 스위치(131)의 플로우 엔트리에 전체 플로우 경로에 대한 정보를 삽입한다(S320).The controller 150 checks the flow information of the packet and calculates the path of the packet through the path first switch 131, the second switch 132 and the fourth switch 134, Information on the entire flow path is inserted into the flow entry (S320).

예를 들면, 제1 스위치(131)에서 제2 스위치(132)로 패킷을 출력하는 제1 스위치의 출력포트(output port)가 1이고, 제2 스위치에서 제3 스위치로 패킷을 출력하는 제2 스위치의 출력포트가 3이고, 제3 스위치에서 제2 호스트로 패킷을 출력하는 제3 스위치의 출력포트가 2인 경우에, 플로우 엔트리에는 다음과 같이 플로우 경로 정보가 추가된다(앞서, 도 2를 통하여 설명된 인코딩 방법이 적용될 경우). 제1 스위치가 제2 스위치로 패킷을 전달하기 위한 출력 포트(1)은 기존의 방식에 따라 플로우 엔트리에 추가된다.
For example, the output port of the first switch for outputting a packet from the first switch 131 to the second switch 132 is 1, and the output port for outputting the packet from the second switch to the third switch 132 is 1, When the output port of the switch is 3 and the output port of the third switch for outputting packets from the third switch to the second host is 2, the flow path information is added to the flow entry as follows (see Fig. 2 If the encoding method described above is applied). The output port 1 for the first switch to forward the packet to the second switch is added to the flow entry according to the conventional scheme.

|0001 0000| 0000 0000 | 0000 0000 | 0000 0000 | 0000 0000 |1000 0011|
| 0001 0000 | 0000 0000 | 0000 0000 | 0000 0000 | 0000 0000 | 1000 0011 |

제1 스위치(131)는 플로우엔트리의 메타 데이터 필드의 플래그를 확인하여 '0001'이므로, 소스 라우팅이 활성화되었음을 인지하고, 상기 플로우 엔트리에 추가된 플로우 경로 정보를 패킷 헤더에 포함시켜 경로 상의 다음 스위치(즉, 제2 스위치)로 전달하여야 함을 인지하게 된다(S330).The first switch 131 confirms that the source routing is activated since the flag of the meta data field of the flow entry is '0001', and stores the flow path information added to the flow entry in the packet header, (I.e., the second switch) (S330).

이때, 플로우 경로 정보는, IP 패킷인 경우, IP의 헤더 중 IP 옵션(IP options) 필드를 이용할 수 있고 기타 다른 필드를 이용하거나 새로운 필드를 정의하는 방법도 가능하다.At this time, in the case of the IP packet, the flow path information can use the IP options field of the header of the IP and use another field or define a new field.

제2 스위치(132)는 플로우 경로 정보가 헤더에 추가된 패킷을 제1 스위치로부터 수신하고, 제1 스위치와 마찬가지로, 플로우 경로 필드의 플래그 값을 확인하여, '0001'로 설정되어있음을 확인한다. The second switch 132 receives the packet to which the flow path information is added in the header from the first switch, confirms the flag value of the flow path field as in the first switch, and confirms that it is set to '0001' .

제2 스위치(132)는 상기 출력 포트 지정 부분(220)의 가장 마지막 6비트('000011'; 220-10)를 독출하여, 플로우 경로 상의 다음 스위치인 제4 스위치로 패킷을 출력하기 위한 출력 포트가 3번 출력 포트임을 인지하고, 출력 포트 3을 지정하는 플로우 엔트리를 추가하고, 패킷을 제4 스위치로 출력한다(S340). 이때, 제2 스위치는 자신이 소비한 플로우 경로의 내용(마지막 6비트 '000011'; 220-10)을 제거하고, 나머지 내용을 패킷 헤더에 포함시켜 제4 스위치로 전달한다.The second switch 132 reads the last six bits ('000011'; 220-10) of the output port designation portion 220 and outputs an output port for outputting a packet to the fourth switch, which is the next switch on the flow path, Recognizes that the output port 3 is the output port 3, adds a flow entry for designating the output port 3, and outputs the packet to the fourth switch (S340). At this time, the second switch removes the content of the flow path (the last six bits '000011'; 220-10) consumed by the second switch, and transmits the remaining contents to the fourth switch.

이때, 제2 스위치가 자신이 소비한 플로우 경로의 내용(마지막 6비트 '000011')을 제거하는 방법은 6 비트 오른쪽 쉬프트 연산(shift right) 등을 이용할 수 있다.At this time, a 6-bit right shift operation or the like can be used as a method for removing the contents (the last 6 bits '000011') of the flow path consumed by the second switch.

마찬가지로, 제4 스위치(134)는 제2 스위치(132)에서 소비한 경로 정보를 제외한 플로우 경로 정보를 제2 스위치(132)로부터 수신한다. 예컨대, 제4 스위치가 수신하는 플로우 경로 정보는 아래와 같이 구성될 수 있다.
Similarly, the fourth switch 134 receives the flow path information excluding the path information consumed by the second switch 132 from the second switch 132. For example, the flow path information received by the fourth switch may be configured as follows.

|0001 0000| 0000 0000 | 0000 0000 | 0000 0000 | 0000 0000 |0000 0010|
| 0001 0000 | 0000 0000 | 0000 0000 | 0000 0000 | 0000 0000 0000 0010 |

제4 스위치는 플래그('0001')를 확인하여 소스 라우팅이 활성화되었음을 인지하고, 마지막 6비트(도 2에서 220-9가 6비트 오른쪽 쉬프트 연산된 값)가 지시하는 출력포트 2를 지정하는 플로우 엔트리를 추가하고, 패킷을 출력포트 2로 출력한다(S350).The fourth switch recognizes that the source routing is activated by checking the flag ('0001'), and the flow of designating the output port 2 indicated by the last 6 bits (the value of 220-9 by 6-bit right shift operation in FIG. 2) Adds the entry, and outputs the packet to the output port 2 (S350).

이상의 실시예에서는, 플로우의 경로에 대한 정보가 순차적으로 경유하는 네트워크 장치들의 출력 포트를 이용하여 저장되는 예가 설명되었다. 그러나, 플로우의 경로에 대한 정보는 경로 상의 각각의 네트워크 장치들에서 선택되어야 하는 출력 포트가 아니라, 각각의 네트워크 장치에서 다음 네트워크 장치를 특정할 수 있는 고유의 식별자로 지정될 수도 있을 것이다.
In the above embodiment, an example has been described in which information on a path of a flow is stored using output ports of network devices sequentially passing through. However, the information about the path of the flow may not be an output port that should be selected in each network device on the path, but may be designated as a unique identifier that can specify the next network device in each network device.

한편, 이하에서는 도 2 및 도 3을 통하여 설명된 본 발명에 따른 SDN 기술을 이용한 플로우 셋업 방법을 SDN 컨트롤러의 관점과 SDN 컨트롤러에 의해서 관리되는 네트워크 장치의 관점으로 각각 설명한다.The flow setup method using the SDN technique according to the present invention described with reference to FIG. 2 and FIG. 3 will be described below with reference to the view of the SDN controller and the view of the network device managed by the SDN controller, respectively.

도 4는 본 발명의 일 실시예에 따른 플로우 셋업 방법을 수행하기 위한 SDN 컨트롤러의 동작 방법을 설명하기 위한 순서도이다.4 is a flowchart illustrating an operation method of an SDN controller for performing a flow setup method according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 플로우 셋업 방법을 수행하기 위한 SDN 컨트롤러는 제1 호스트로부터 제2 호스트까지의 플로우의 경로를 결정하는 단계(S420) 및 상기 플로우의 경로에 대한 정보를 상기 플로우의 경로 상의 첫 번째 네트워크 장치로 전달하는 단계(S430)를 수행하게 된다.Referring to FIG. 4, an SDN controller for performing a flow setup method according to an embodiment of the present invention includes a step S420 of determining a path of a flow from a first host to a second host (S420) (S430) of forwarding the information to the first network device on the path of the flow.

한편, SDN 컨트롤러는 상기 제2 호스트로 전달되어야 하는 패킷에 대한 정보를 상기 첫 번째 네트워크 장치로부터 수신하는 단계(S410)를 추가로 수행할 수 있으며, 상기 패킷에 대한 정보는 상기 패킷의 헤더 정보가 포함된 소정의 메시지(예컨대, packet_in) 형태로 수신될 수 있다. In addition, the SDN controller may further include receiving (S410) information on a packet to be transmitted to the second host from the first network device, and the information on the packet includes header information of the packet May be received in the form of a predetermined message (e.g., packet_in) included.

이때, 제1 호스트에 유입된 패킷이 네트워크에 처음으로 유입된 패킷인 경우에, 해당 패킷에 대한 정보가 SDN 컨트롤러로 전달된다. At this time, in the case where a packet that has flown into the first host is a packet that is first introduced into the network, information about the packet is transmitted to the SDN controller.

SDN 컨트롤러는 SDN 기술의 특성 상, 망에 존재하는 모든 네트워크 장치들의 연결형상(topology)과 링크 비용들을 이미 알고 있으므로, 제1 호스트로부터 제2 호스트로의 플로우의 최적 경로를 산출할 수 있다.The SDN controller knows the topology and link costs of all the network devices existing in the network due to the characteristics of the SDN technology, and thus can calculate the optimal path of the flow from the first host to the second host.

산출된 플로우의 경로에 대한 정보는 상기 제1 호스트로부터 상기 제2 호스트까지의 경로 상에 존재하는 네트워크 장치들의 출력 포트들에 대한 정보를 순차적으로 포함하게 된다. 플로우의 경로에 대한 정보는 SDN 컨트롤러에 의해서 상기 플로우 경로 상의 첫 번째 네트워크 장치(제 1 스위치)의 플로우 엔트리 내의 소정 필드에 인코딩되어 저장될 수 있다. 이에 대한 하나의 실시예는 도 2를 통해 예시된 방법이 이용될 수 있다.The information on the path of the calculated flow sequentially includes information on the output ports of the network devices existing on the path from the first host to the second host. Information on the path of the flow can be encoded and stored in a predetermined field in the flow entry of the first network device (first switch) on the flow path by the SDN controller. One embodiment of this may be the method illustrated in FIG.

또한, 상기 플로우의 경로에 대한 정보는 상기 플로우의 경로 상에 존재하는 네트워크 장치들 간에 전송되는 패킷의 헤더에 포함되어 소스 라우팅 방식으로 전달될 수 있다.
Also, the information on the route of the flow may be included in the header of a packet transmitted between network devices existing on the route of the flow, and may be transmitted in a source routing manner.

소스 라우팅 방식으로 패킷의 헤더에 포함되어 전달된 플로우 경로에 대한 정보는 각각의 네트워크 장치에서 플로우 셋업을 위해서 이용될 수 있다.Information on the flow path that is included in the header of the packet in the source routing manner can be used for flow setup in each network device.

도 5는 본 발명의 일 실시예에 따른 플로우 셋업 방법을 수행하기 위한 네트워크 장치의 동작 방법을 설명하기 위한 순서도이다.5 is a flowchart illustrating a method of operating a network device for performing a flow setup method according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 일 실시예에 따른 플로우 셋업 방법을 수행하기 위한 네트워크 장치의 동작 방법은 경로 상의 이전 네트워크 장치로부터 패킷을 수신하는 단계(S510), 상기 패킷에 포함된 플로우의 경로 정보를 참조하여 자신이 관리하는 플로우 테이블에 플로우 엔트리를 추가하는 단계(S520) 및 상기 패킷에 포함된 플로우의 경로 정보에서 자신에 대응된 항목을 제거하여 상기 플로우의 경로 정보를 업데이트하고, 업데이트된 상기 플로우의 경로 정보를 포함한 상기 패킷을 상기 경로상의 다음 네트워크 장치로 전송하는 단계(S530)를 포함하여 구성될 수 있다.5, a method of operating a network device for performing a flow setup method according to an exemplary embodiment of the present invention includes receiving a packet from a previous network device on a path (S510), determining a path of a flow included in the packet (S520) of adding a flow entry to the flow table managed by the node by referring to the information, and updating the path information of the flow by removing an item corresponding to the flow information of the flow included in the packet, And transmitting the packet including path information of the flow to a next network device on the path (S530).

앞서 도 4를 통하여 설명된 바와 같이 패킷에 포함된 플로우의 경로 정보는 자신으로부터 최종 목적지(즉, 제2 호스트)까지의 경로 상에 존재하는 네트워크 장치들의 출력 포트들에 대한 정보를 순차적으로 포함하게 된다. As described with reference to FIG. 4, the path information of the flow included in the packet sequentially includes information on the output ports of the network devices existing on the path from itself to the final destination (i.e., the second host) do.

예를 들면, 도 1b에 예시된 경우에서, 제2 스위치는 자신으로부터 제4 스위치으로의 출력포트 정보와 제4 스위치로부터 제2 호스트로의 출력포트 정보가 포함된 플로우의 경로 정보를 수신한다. 동일한 경우에서, 제4 스위치는 자신으로부터 제2호스트로의 출력포트 정보가 포함된 플로우의 경로 정보를 수신한다.
For example, in the case illustrated in FIG. 1B, the second switch receives the output port information from itself to the fourth switch and the path information of the flow including the output port information from the fourth switch to the second host. In the same case, the fourth switch receives the path information of the flow including the output port information from itself to the second host.

한편, 본 발명에 따른 SDN에서의 플로우 셋업 방법은 빠른 장애 복구(failure recovery)를 위해서도 이용될 수 있다.Meanwhile, the flow setup method in the SDN according to the present invention can also be used for fast failure recovery.

도 6은 본 발명의 일 실시예에 따른 빠른 장애 복구 방법을 설명하기 위한 개념도이다.6 is a conceptual diagram illustrating a fast failover method according to an embodiment of the present invention.

즉, 도 6에서 설명되는 빠른 장애 복구 방법은 설정된 플로우 경로 상의 링크에 장애가 발생되었을 때 앞서 설명된 플로우 셋업 방법을 이용하여 빠른 복구를 수행할 수 있는 방법이다.That is, the fast failure recovery method illustrated in FIG. 6 is a method of performing a quick recovery using the flow setup method described above when a failure occurs in a link on a set flow path.

종래의 패스 프로텍션(path protection) 방식은 플로우 셋업시 백업 경로를 동시에 설정하는 방식을 취하므로, 스위치가 이중적으로 플로우 테이블을 관리하여야 하는 어려움이 있고 컨트롤러의 부하 또한 높아진다. In the conventional path protection method, since the backup path is set at the same time during the flow setup, there is a difficulty that the switch manages the flow table in a double manner, and the load on the controller also increases.

반면, 본 발명의 일 실시예에 따른 빠른 장애 복구 방법은 백업 경로를 백업 경로상의 모든 스위치가 아니라 하나의 스위치의 플로우 엔트리에 인코딩하여 삽입하므로 추가적으로 플로우엔트리를 추가, 관리할 필요가 없으며 스위치와 컨트롤러간의 통신 부하도 줄일 수 있다.On the other hand, the fast failure recovery method according to an embodiment of the present invention does not need to additionally manage and add a flow entry because the backup path is encoded and inserted into a flow entry of one switch, not all switches on the backup path. Can be reduced.

도 1a 및 도 1b의 예와 같이 새로운 패킷이 네트워크상에 들어왔을 때 패킷을 처음 수신한 제1 스위치(엔트리 스위치; 131)는 미리 정의된 메시지(예를 들면, packet_in 메시지)를 컨트롤러(150)에 보내 처리를 문의하게 된다. The first switch (entry switch) 131, which first receives a packet when a new packet enters the network, sends a predefined message (e.g., a packet_in message) to the controller 150 as shown in FIGS. 1A and 1B. To inquire about the processing.

이때, 컨트롤러(150)에서는 동작 경로(working path)와 대안 경로(backup path) 두 개의 경로를 계산하여 장애가 발생했을 경우에 우회할 경로를 찾는다. 동작 경로의 경우, 기존의 방법과 같이 경로를 설정할 수 있고(172, 173, 174), 대안 경로는 앞서 도 2를 통하여 설명된 플로우 경로 정보의 인코딩 방법을 이용하여 플로우 엔트리의 메타 데이터 필드에 인코딩되어 저장될 수 있다(175).
At this time, the controller 150 calculates two paths, a working path and a backup path, and finds a path to be bypassed when a failure occurs. In the case of the operation path, the path can be set (172, 173, 174) as in the conventional method, and the alternative path is encoded in the metadata field of the flow entry using the encoding method of the flow path information described above with reference to FIG. (175).

이하에서는, 제1 스위치(131)->제2 스위치(132)->제4 스위치(134)가 동작 경로로 설정되고, 제1 스위치(131)->제3 스위치(133)->제4 스위치(134)가 대안 경로로 설정된 경우의 본 발명에 따른 빠른 장애 복구 방법이 설명된다.Hereinafter, the first switch 131, the second switch 132, and the fourth switch 134 are set as an operation path, and the first switch 131, the third switch 133, A fast failover method according to the present invention when switch 134 is set as an alternative path is described.

예를 들어, 제1 스위치(131)와 제2 스위치(132)를 연결하는 링크 상에 장애(failure; 180)가 발생된 경우를 가정한다.For example, it is assumed that a failure 180 occurs on a link connecting the first switch 131 and the second switch 132.

통상적으로, 제1 스위치(131)는 유입된 패킷의 헤더를 보고 플로우 테이블에서 매치 필드와 일치하는 플로우엔트리를 찾고, 액션 리스트들을 검색한다. 본 발명에 따른 빠른 장애 복구 방법은 일 예로서 오픈플로우 1.3에서 제공하는 패스트페일오버(fast failover) 타입의 그룹 엔트리를 이용할 수 있다. Typically, the first switch 131 looks up the header of an incoming packet, finds a flow entry matching the match field in the flow table, and searches for action lists. The fast failure recovery method according to the present invention can use a fast failover type group entry provided in Open Flow 1.3 as an example.

액션이 그룹으로 설정되어 있을 경우 그룹 테이블을 검색해 해당하는 그룹 엔트리를 추출하고 액션 리스트에서 순차적으로 패킷을 전송할 포트를 검색하는데, 만일 우선순위가 높은 출력 포트(즉, 제1 스위치에서 제2 스위치로의 출력 포트)에 장애가 발생했을 경우 다음 우선순위의 출력 포트(즉, 제1 스위치에서 제3 스위치로의 출력 포트)로 패킷을 전송할 수 있다. 장애가 발생하여 다음 우선순위의 포트로 패킷을 전송할 때 인코딩된 경로정보를 확인하여 플래그 필드의 소스 라우팅이 활성화 되어있을 경우 패킷의 헤더에 삽입해 지정된 포트로 보낼 수 있다.If the action is set as a group, the group table is searched to extract a corresponding group entry, and a port to sequentially transmit a packet is retrieved from the action list. If an output port having a high priority (i.e., (I.e., the output port from the first switch to the third switch) when a failure occurs in the output port of the first switch (i.e., the output port of the first switch). When a packet is transmitted to the next priority port due to a failure, the encoded path information is checked. If the source routing of the flag field is activated, the packet can be inserted into the header of the packet and sent to the designated port.

즉, 제1 스위치가 제1 스위치와 제2 스위치간의 링크에 장애가 발생한 것을 탐지한 경우, 제1 스위치는 그룹 엔트리의 패스트페일오버 필드를 참조하여, 컨트롤러의 개입 없이 패스트 페일 오버 필드에 인코딩된 대안 경로에 대한 정보를 참조하여, 대안 경로(제1스위치->제3스위치->제4 스위치)로 우회할 수 있다.
That is, when the first switch detects that a failure has occurred in the link between the first switch and the second switch, the first switch refers to the fast-failover field of the group entry and notifies the alternate- (The first switch - > the third switch - > the fourth switch) by referring to the information about the path.

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

110: 제1 호스트 120: 제2 호스트
131~134: 네트워크 장치들
150: SDN 컨트롤러
200: 플로우 경로 정보 210: 플래그
220: 출력 포트 지정 정보
110: first host 120: second host
131 ~ 134: Network devices
150: SDN controller
200: Flow path information 210: Flag
220: About output port specification

Claims (19)

소프트웨어 정의 네트워킹 컨트롤러의 동작 방법으로서,
제1 호스트로부터 제2 호스트까지의 플로우의 경로를 결정하는 단계; 및
상기 플로우의 경로에 대한 정보를 상기 플로우의 경로 상의 첫 번째 네트워크 장치로 전달하는 단계를 포함하는 소프트웨어 정의 네트워킹 컨트롤러의 플로우 셋업 방법.
A method of operating a software defined networking controller,
Determining a path of a flow from a first host to a second host; And
And forwarding information about the path of the flow to a first network device on the path of the flow.
청구항 1에 있어서,
상기 플로우의 경로에 대한 정보는 상기 제1 호스트로부터 상기 제2 호스트까지에 순차적으로 경유되는 네트워크 장치들의 출력 포트들에 대한 정보를 포함하는 것을 특징으로 하는, 소프트웨어 정의 네트워킹 컨트롤러의 플로우 셋업 방법.
The method according to claim 1,
Wherein the information about the path of the flow includes information about output ports of network devices sequentially passed from the first host to the second host.
청구항 1에 있어서,
상기 플로우의 경로에 대한 정보를 상기 플로우의 경로 상의 첫 번째 네트워크 장치로 전달하는 단계는, 상기 소프트웨어 정의 네트워킹 컨트롤러가 상기 플로우의 경로에 대한 정보를 상기 첫 번째 네트워크 장치의 플로우 엔트리에 추가시키는 것에 의해 수행되는 것을 특징으로 하는, 소프트웨어 정의 네트워킹 컨트롤러의 플로우 셋업 방법.
The method according to claim 1,
Wherein the step of communicating information about the path of the flow to the first network device on the path of the flow further comprises the step of the software defined networking controller adding information about the path of the flow to the flow entry of the first network device Wherein the software-defined networking controller is configured to perform a flow setup of the software defined networking controller.
청구항 1에 있어서,
상기 제1 호스트로부터 상기 제2 호스트로 전달되어야 하는 패킷에 대한 정보를 수신하는 단계를 추가로 포함하고,
상기 패킷에 대한 정보는 상기 패킷의 헤더 정보가 포함된 소정의 메시지 형태로 수신되는 것을 특징으로 하는, 소프트웨어 정의 네트워킹 컨트롤러의 플로우 셋업 방법.
The method according to claim 1,
Further comprising receiving information on a packet to be forwarded from the first host to the second host,
Wherein the information about the packet is received in the form of a predetermined message including header information of the packet.
청구항 1에 있어서,
상기 플로우의 경로에 대한 정보는 상기 플로우의 경로 상의 네트워크 장치들 간에 전송되는 패킷의 헤더에 포함되는 것을 특징으로 하는, 소프트웨어 정의 네트워킹 컨트롤러의 플로우 셋업 방법.
The method according to claim 1,
Wherein the information about the path of the flow is included in a header of a packet transmitted between network devices on the path of the flow.
청구항 5에 있어서,
상기 플로우의 경로에 대한 정보는 인코딩되어 상기 플로우의 경로 상의 네트워크 장치들 간에 전송되는 패킷의 헤더에 포함되는 것을 특징으로 하는, 소프트웨어 정의 네트워킹 컨트롤러의 플로우 셋업 방법.
The method of claim 5,
Wherein the information about the path of the flow is encoded and included in a header of a packet transmitted between network devices on the path of the flow.
소프트웨어 정의 네트워킹 컨트롤러에 대응되는 네트워크 장치의 동작 방법으로서,
상기 소프트웨어 정의 네트워킹 컨트롤러로부터 플로우의 경로 정보를 수신하는 단계; 및
상기 플로우의 경로 정보에서 자신에 대응된 항목을 제거하여 상기 플로우의 경로 정보를 업데이트하고, 업데이트된 상기 플로우의 경로 정보를 포함한 상기 플로우의 패킷을 상기 경로상의 다음 네트워크 장치로 전송하는 단계를 포함하는, 네트워크 장치의 플로우 셋업 방법.
A method of operating a network device corresponding to a software defined networking controller,
Receiving path information of a flow from the software defined networking controller; And
Updating the route information of the flow by removing an item corresponding to the route information of the flow, and transmitting the packet of the flow including the updated route information of the flow to the next network device on the route , A method of setting up a flow of a network device.
청구항 7에 있어서,
상기 플로우의 경로 정보는 상기 소프트웨어 정의 네트워킹 컨트롤러에 의해 추가되는 플로우 엔트리에 포함되어 수신되는, 네트워크 장치의 플로우 셋업 방법.
The method of claim 7,
Wherein the path information of the flow is included in a flow entry added by the software defined networking controller.
청구항 7에 있어서,
상기 플로우의 경로에 대한 정보는 상기 경로상의 순차적으로 경유되는 네트워크 장치들의 출력 포트들에 대한 정보를 포함하는 것을 특징으로 하는, 네트워크 장치의 플로우 셋업 방법.
The method of claim 7,
Wherein the information about the path of the flow includes information about output ports of network devices sequentially passed on the path.
청구항 7에 있어서,
상기 업데이트된 상기 플로우의 경로에 대한 정보는 상기 플로우의 패킷의 헤더에 포함되어 상기 경로상의 다음 네트워크 장치로 전송되는 것을 특징으로 하는, 네트워크 장치의 플로우 셋업 방법.
The method of claim 7,
Wherein the updated information of the route of the flow is included in the header of the packet of the flow and is transmitted to the next network device on the route.
소프트웨어 정의 네트워킹 컨트롤러에 대응되는 네트워크 장치의 동작 방법으로서,
경로상의 이전 네트워크 장치로부터 패킷을 수신하는 단계;
상기 패킷에 포함된 플로우의 경로 정보를 참조하여 자신이 관리하는 플로우 테이블에 플로우 엔트리를 추가하는 단계; 및
상기 패킷에 포함된 플로우의 경로 정보에서 자신에 대응된 항목을 제거하여 상기 플로우의 경로 정보를 업데이트하고, 업데이트된 상기 플로우의 경로 정보를 포함한 상기 패킷을 상기 경로상의 다음 네트워크 장치로 전송하는 단계를 포함하는, 네트워크 장치의 플로우 셋업 방법.
A method of operating a network device corresponding to a software defined networking controller,
Receiving a packet from a previous network device on the path;
Adding a flow entry to a flow table managed by itself by referring to path information of a flow included in the packet; And
Updating the route information of the flow by removing an item corresponding to the route from the flow information of the flow included in the packet and transmitting the packet including the updated route information of the flow to the next network device on the route ≪ / RTI >
청구항 11에 있어서,
상기 플로우의 경로에 대한 정보는 상기 경로상의 순차적으로 경유되는 네트워크 장치들의 출력 포트들에 대한 정보를 포함하는 것을 특징으로 하는, 네트워크 장치의 플로우 셋업 방법.
The method of claim 11,
Wherein the information about the path of the flow includes information about output ports of network devices sequentially passed on the path.
청구항 11에 있어서,
상기 플로우의 경로에 대한 정보는 상기 패킷의 헤더에 포함되는 것을 특징으로 하는, 네트워크 장치의 플로우 셋업 방법.
The method of claim 11,
And the information on the path of the flow is included in the header of the packet.
청구항 13에 있어서,
상기 플로우의 경로에 대한 정보는 인코딩되어 상기 패킷의 헤더에 포함되는 것을 특징으로 하는, 네트워크 장치의 플로우 셋업 방법.
14. The method of claim 13,
Wherein the information about the path of the flow is encoded and included in a header of the packet.
소프트웨어 정의 네트워킹 컨트롤러의 동작 방법으로서,
제1 호스트로부터 제2 호스트까지의 플로우의 동작 경로(working path)와 상기 동작 경로 상에 장애가 발생된 경우에 이용되는 대안 경로(backup path)를 결정하는 단계;
상기 결정된 동작 경로에 기초하여 상기 동작 경로상에 존재하는 네트워크 장치들에 대한 경로 설정을 수행하는 단계; 및
상기 대안 경로에 대한 정보를 상기 플로우의 경로 상의 첫 번째 네트워크 장치로 전달하는 단계를 포함하는 소프트웨어 정의 네트워킹 컨트롤러의 빠른 장애 복구 방법.
A method of operating a software defined networking controller,
Determining a working path of a flow from a first host to a second host and a backup path to be used when a failure occurs on the operating path;
Performing path setting for network devices existing on the operation path based on the determined operation path; And
And forwarding information about the alternate path to the first network device on the path of the flow.
청구항 15에 있어서,
상기 대안 경로에 대한 정보는 상기 제1 호스트로부터 상기 제2 호스트까지에 순차적으로 경유되는 네트워크 장치들의 출력 포트들에 대한 정보를 포함하는 것을 특징으로 하는, 소프트웨어 정의 네트워킹 컨트롤러의 빠른 장애 복구 방법.
16. The method of claim 15,
Wherein the information about the alternate path includes information about output ports of network devices sequentially passed from the first host to the second host.
청구항 15에 있어서,
상기 대안 경로에 대한 정보를 상기 플로우의 경로 상의 첫 번째 네트워크 장치로 전달하는 단계는, 상기 소프트웨어 정의 네트워킹 컨트롤러가 상기 대안 경로에 대한 정보를 상기 첫 번째 네트워크 장치의 플로우 엔트리에 추가시키는 것에 의해 수행되는 것을 특징으로 하는, 소프트웨어 정의 네트워킹 컨트롤러의 빠른 장애 복구 방법.
16. The method of claim 15,
Wherein forwarding the information about the alternative route to the first network device on the path of the flow is performed by adding the information about the alternative route to the flow entry of the first network device by the software defined networking controller Wherein the software-defined networking controller is a fast failover method.
청구항 15에 있어서,
상기 대안 경로에 대한 정보는 상기 대안 경로 상의 네트워크 장치들 간에 전송되는 패킷의 헤더에 포함되는 것을 특징으로 하는, 소프트웨어 정의 네트워킹 컨트롤러의 빠른 장애 복구 방법.
16. The method of claim 15,
Wherein the information on the alternative path is included in a header of a packet transmitted between network devices on the alternative path.
청구항 15에 있어서,
상기 대안 경로에 대한 정보는 인코딩되어 상기 대안 경로 상의 네트워크 장치들 간에 전송되는 패킷의 헤더에 포함되는 것을 특징으로 하는, 소프트웨어 정의 네트워킹 컨트롤러의 빠른 장애 복구 방법.
16. The method of claim 15,
Wherein the information on the alternate path is encoded and included in a header of a packet transmitted between network devices on the alternate path.
KR1020130163163A 2013-11-01 2013-12-24 Method for fast flow path setup and failure recovery KR20150051107A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130132283 2013-11-01
KR20130132283 2013-11-01

Publications (1)

Publication Number Publication Date
KR20150051107A true KR20150051107A (en) 2015-05-11

Family

ID=53388693

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130163163A KR20150051107A (en) 2013-11-01 2013-12-24 Method for fast flow path setup and failure recovery

Country Status (1)

Country Link
KR (1) KR20150051107A (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017014878A1 (en) * 2015-07-20 2017-01-26 Schweitzer Engineering Laboratories, Inc. Routing of traffic in network through automatically generated and physically distinct communication paths
US9900206B2 (en) 2015-07-20 2018-02-20 Schweitzer Engineering Laboratories, Inc. Communication device with persistent configuration and verification
US9923779B2 (en) 2015-07-20 2018-03-20 Schweitzer Engineering Laboratories, Inc. Configuration of a software defined network
KR20180071659A (en) * 2016-12-20 2018-06-28 성균관대학교산학협력단 Switch, controller and method failure recovery using openflow based on openflow
US10341311B2 (en) 2015-07-20 2019-07-02 Schweitzer Engineering Laboratories, Inc. Communication device for implementing selective encryption in a software defined network
US10659314B2 (en) 2015-07-20 2020-05-19 Schweitzer Engineering Laboratories, Inc. Communication host profiles
US10785189B2 (en) 2018-03-01 2020-09-22 Schweitzer Engineering Laboratories, Inc. Selective port mirroring and in-band transport of network communications for inspection
US10863558B2 (en) 2016-03-30 2020-12-08 Schweitzer Engineering Laboratories, Inc. Communication device for implementing trusted relationships in a software defined network
US10979309B2 (en) 2019-08-07 2021-04-13 Schweitzer Engineering Laboratories, Inc. Automated convergence of physical design and configuration of software defined network
US11075908B2 (en) 2019-05-17 2021-07-27 Schweitzer Engineering Laboratories, Inc. Authentication in a software defined network
US11165685B2 (en) 2019-12-20 2021-11-02 Schweitzer Engineering Laboratories, Inc. Multipoint redundant network device path planning for programmable networks
US11228521B2 (en) 2019-11-04 2022-01-18 Schweitzer Engineering Laboratories, Inc. Systems and method for detecting failover capability of a network device
US11336564B1 (en) 2021-09-01 2022-05-17 Schweitzer Engineering Laboratories, Inc. Detection of active hosts using parallel redundancy protocol in software defined networks
US11750502B2 (en) 2021-09-01 2023-09-05 Schweitzer Engineering Laboratories, Inc. Detection of in-band software defined network controllers using parallel redundancy protocol
US11838174B2 (en) 2022-02-24 2023-12-05 Schweitzer Engineering Laboratories, Inc. Multicast fast failover handling
US11848860B2 (en) 2022-02-24 2023-12-19 Schweitzer Engineering Laboratories, Inc. Multicast fast failover turnaround overlap handling

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9866483B2 (en) 2015-07-20 2018-01-09 Schweitzer Engineering Laboratories, Inc. Routing of traffic in network through automatically generated and physically distinct communication paths
CN107710685A (en) * 2015-07-20 2018-02-16 施瓦哲工程实验有限公司 Flow route is carried out in a network by communication paths automatically generate and physically different
US9900206B2 (en) 2015-07-20 2018-02-20 Schweitzer Engineering Laboratories, Inc. Communication device with persistent configuration and verification
US9923779B2 (en) 2015-07-20 2018-03-20 Schweitzer Engineering Laboratories, Inc. Configuration of a software defined network
US10341311B2 (en) 2015-07-20 2019-07-02 Schweitzer Engineering Laboratories, Inc. Communication device for implementing selective encryption in a software defined network
US10659314B2 (en) 2015-07-20 2020-05-19 Schweitzer Engineering Laboratories, Inc. Communication host profiles
US10721218B2 (en) 2015-07-20 2020-07-21 Schweitzer Engineering Laboratories, Inc. Communication device for implementing selective encryption in a software defined network
WO2017014878A1 (en) * 2015-07-20 2017-01-26 Schweitzer Engineering Laboratories, Inc. Routing of traffic in network through automatically generated and physically distinct communication paths
US10863558B2 (en) 2016-03-30 2020-12-08 Schweitzer Engineering Laboratories, Inc. Communication device for implementing trusted relationships in a software defined network
KR20180071659A (en) * 2016-12-20 2018-06-28 성균관대학교산학협력단 Switch, controller and method failure recovery using openflow based on openflow
WO2018117336A1 (en) * 2016-12-20 2018-06-28 성균관대학교산학협력단 Openflow switch for error recovery, openflow controller and error recovery method
US10785189B2 (en) 2018-03-01 2020-09-22 Schweitzer Engineering Laboratories, Inc. Selective port mirroring and in-band transport of network communications for inspection
US11075908B2 (en) 2019-05-17 2021-07-27 Schweitzer Engineering Laboratories, Inc. Authentication in a software defined network
US10979309B2 (en) 2019-08-07 2021-04-13 Schweitzer Engineering Laboratories, Inc. Automated convergence of physical design and configuration of software defined network
US11228521B2 (en) 2019-11-04 2022-01-18 Schweitzer Engineering Laboratories, Inc. Systems and method for detecting failover capability of a network device
US11165685B2 (en) 2019-12-20 2021-11-02 Schweitzer Engineering Laboratories, Inc. Multipoint redundant network device path planning for programmable networks
US11336564B1 (en) 2021-09-01 2022-05-17 Schweitzer Engineering Laboratories, Inc. Detection of active hosts using parallel redundancy protocol in software defined networks
US11750502B2 (en) 2021-09-01 2023-09-05 Schweitzer Engineering Laboratories, Inc. Detection of in-band software defined network controllers using parallel redundancy protocol
US11838174B2 (en) 2022-02-24 2023-12-05 Schweitzer Engineering Laboratories, Inc. Multicast fast failover handling
US11848860B2 (en) 2022-02-24 2023-12-19 Schweitzer Engineering Laboratories, Inc. Multicast fast failover turnaround overlap handling

Similar Documents

Publication Publication Date Title
KR20150051107A (en) Method for fast flow path setup and failure recovery
EP3678326B1 (en) Communication system, control device and communication method
US9769054B2 (en) Network topology discovery method and system
JP4682887B2 (en) Failure recovery method, node and network
US9401928B2 (en) Data stream security processing method and apparatus
JP5939353B2 (en) Control device, communication system, switch control method, and program
US9385944B2 (en) Communication system, path switching method and communication device
JP2015198416A (en) Relay system and switch device
WO2011119583A1 (en) Aggregating data traffic from access domains
WO2013114489A1 (en) Control method, control apparatus, communication system, and program
US20130279324A1 (en) Tunnel fault detection method and traffic engineering node
KR102011021B1 (en) Method and framework for traffic engineering in network hypervisor of sdn-based network virtualization platform
CN107770061B (en) Method and equipment for forwarding message
WO2011118586A1 (en) Communication system, control device, forwarding node, method for updating processing rules, and program
US8767736B2 (en) Communication device, communication method, and recording medium for recording communication program
WO2015045275A1 (en) Control device, network system, packet transfer control method, and program for control device
JP2017085442A (en) Controller, communication system, control method, and program
US10257120B2 (en) Converting an aggregated flow to a real flow for core nodes
KR102111330B1 (en) Method for processing path failure in communication networks
JP2011234141A (en) Network apparatus, redundant network and loop avoidance method thereof
JP5701963B2 (en) network
JP5478684B2 (en) Edge node device, path control method, and program
KR20140131480A (en) Method and apparatus of protection switching in rooted multipoint networks
WO2016072424A1 (en) Control device, communication system, and relay device control method

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid