KR101786623B1 - Method, apparatus and computer program for handling broadcast of software defined network - Google Patents

Method, apparatus and computer program for handling broadcast of software defined network Download PDF

Info

Publication number
KR101786623B1
KR101786623B1 KR1020160015320A KR20160015320A KR101786623B1 KR 101786623 B1 KR101786623 B1 KR 101786623B1 KR 1020160015320 A KR1020160015320 A KR 1020160015320A KR 20160015320 A KR20160015320 A KR 20160015320A KR 101786623 B1 KR101786623 B1 KR 101786623B1
Authority
KR
South Korea
Prior art keywords
broadcasting
group
path
broadcast
switch
Prior art date
Application number
KR1020160015320A
Other languages
Korean (ko)
Other versions
KR20170093648A (en
Inventor
박현우
황인욱
김재호
송용주
윤병성
Original Assignee
아토리서치(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아토리서치(주) filed Critical 아토리서치(주)
Priority to KR1020160015320A priority Critical patent/KR101786623B1/en
Publication of KR20170093648A publication Critical patent/KR20170093648A/en
Application granted granted Critical
Publication of KR101786623B1 publication Critical patent/KR101786623B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • 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/46Cluster building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

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

Abstract

본 발명은 소프트웨어 정의 네트워크에서 컨트롤러가 브로드캐스팅을 지원하는 방법에 대한 것으로, 브로드캐스팅 경로를 적어도 하나 이상 계산하는 A 단계; 브로드캐스트 패킷을 미리 설정된 기준에 따라 적어도 하나 이상의 그룹으로 분류하고, 그룹 각각에 상기 브로드캐스팅 경로를 매칭하여, 각 그룹에 속하는 브로드캐스트 패킷은 매칭된 브로드캐스팅 경로에 따라 처리하도록 스위치를 제어하는 B 단계; 토폴로지가 변경된 경우, 토폴로지 변경과 관련된 브로드캐스팅 경로는 토폴로지 변경사항을 반영하여 다시 계산하고, 토폴로지 변경과 무관한 브로드캐스팅 경로와 매칭된 그룹에 속하는 브로드캐스트 패킷은 토폴로지 변경 전 매칭된 브로드캐스팅 경로를 적용하여 지연 없이 처리하도록 상기 스위치를 제어하는 C 단계를 포함하는 것을 특징으로 한다.The present invention relates to a method for a controller to support broadcasting in a software defined network, comprising the steps of: calculating at least one broadcasting path; A switch for controlling a switch to classify broadcast packets into at least one group according to a preset reference, match the broadcast paths to each group, and process the broadcast packets belonging to each group according to a matched broadcasting path; step; If the topology changes, the broadcast path associated with the topology change is recalculated to reflect the topology change, and broadcast packets that are matched to the broadcast path that is not related to the topology change are not matched to the broadcast path before the topology change And controlling the switch so as to process it without delay.

Description

소프트웨어 정의 네트워크에서 브로드캐스트를 처리하는 방법, 장치 및 컴퓨터 프로그램 {METHOD, APPARATUS AND COMPUTER PROGRAM FOR HANDLING BROADCAST OF SOFTWARE DEFINED NETWORK}METHOD, APPARATUS AND COMPUTER PROGRAM FOR HANDLING BROADCAST OF SOFTWARE DEFINED NETWORK FIELD OF THE INVENTION [0001]

본 발명은 소프트웨어 정의 네트워크를 제어하는 방법에 대한 것이다. 보다 구체적으로 본 발명은 소프트웨어 정의 네트워크에서 브로드캐스팅을 지원하는 방법에 대한 것이다. The present invention relates to a method for controlling a software defined network. More particularly, the present invention relates to a method for supporting broadcasting in a software defined network.

소프트웨어 정의 네트워킹 (Software Defined Networking, 이하 SDN이라 칭함)은 네트워크의 모든 네트워크 장비를 지능화된 중앙관리시스템에 의해 관리하는 기술을 의미한다. SDN 기술에서는 기존 하드웨어 형태의 네트워크 장비에서 자체적으로 수행하는 패킷 처리와 관련된 제어 동작을 소프트웨어 형태로 제공되는 컨트롤러가 대신하여 처리함으로써, 기존의 네트워크 구조보다 다양한 기능을 개발하고 부여할 수 있다는 장점을 갖는다.Software Defined Networking (SDN) is a technology that manages all the network devices in the network by an intelligent central management system. In the SDN technology, a controller provided in a software form instead of a control operation related to packet processing performed in a network device of existing hardware type has a merit in that it can develop and assign various functions over an existing network structure .

SDN 시스템은 일반적으로 전체 네트워크를 제어하는 컨트롤러 서버와, 상기 컨트롤러 서버에 의해 제어되며 패킷을 처리하는 복수의 오픈플로우 스위치와, 오픈플로우 스위치의 하위 계층에 해당하는 호스트를 포함하여 구성된다. 여기에서 오픈플로우 스위치는 패킷의 송수신 기능만을 담당하게 되고, 패킷의 경로 설정, 관리 및 제어는 모두 컨트롤러 서버에서 이루어진다. 즉, 네트워크 장비를 이루는 Data Plane과 Control Plane을 분리하는 것이 SDN 시스템의 기본 구조라 볼 수 있다.The SDN system generally comprises a controller server for controlling the entire network, a plurality of open flow switches controlled by the controller server for processing packets, and a host corresponding to a lower layer of the open flow switch. Here, the open flow switch is only responsible for transmitting and receiving packets, and routing, management, and control of the packets are all performed in the controller server. In other words, separating the data planes and control planes that form the network equipment is the basic structure of the SDN system.

Open Networking Foundation, “OpenFlow Specification 1.2.0”Open Networking Foundation, "OpenFlow Specification 1.2.0"

본 발명은 소프트웨어 정의 네트워크에서 브로드캐스팅을 보다 효율적으로 지원하는 방법을 제공하는 것을 목적으로 한다. 보다 구체적으로 본 발명은 네트워크의 브로드캐스팅 경로를 복수개 운용하여, 토폴로지에 변경에 따른 브로드캐스팅 지연을 방지하는 것을 목적으로 한다. It is an object of the present invention to provide a method for more efficiently supporting broadcasting in a software defined network. More specifically, the present invention aims to prevent a broadcasting delay due to a change in topology by operating a plurality of broadcasting paths of a network.

본 발명의 실시예를 따르는 소프트웨어 정의 네트워크에서 컨트롤러가 브로드캐스팅을 지원하는 방법은, 브로드캐스팅 경로를 적어도 하나 이상 계산하는 A 단계; 브로드캐스트 패킷을 미리 설정된 기준에 따라 적어도 하나 이상의 그룹으로 분류하고, 그룹 각각에 상기 브로드캐스팅 경로를 매칭하여, 각 그룹에 속하는 브로드캐스트 패킷은 매칭된 브로드캐스팅 경로에 따라 처리하도록 스위치를 제어하는 B 단계; 토폴로지가 변경된 경우, 토폴로지 변경과 관련된 브로드캐스팅 경로는 토폴로지 변경사항을 반영하여 다시 계산하고, 토폴로지 변경과 무관한 브로드캐스팅 경로와 매칭된 그룹에 속하는 브로드캐스트 패킷은 토폴로지 변경 전 매칭된 브로드캐스팅 경로를 적용하여 지연 없이 처리하도록 상기 스위치를 제어하는 C 단계를 포함하는 것을 특징으로 한다. A method for a controller to support broadcasting in a software defined network according to an embodiment of the present invention includes the steps of: calculating at least one broadcasting path; A switch for controlling a switch to classify broadcast packets into at least one group according to a preset reference, match the broadcast paths to each group, and process the broadcast packets belonging to each group according to a matched broadcasting path; step; If the topology changes, the broadcast path associated with the topology change is recalculated to reflect the topology change, and broadcast packets that are matched to the broadcast path that is not related to the topology change are not matched to the broadcast path before the topology change And controlling the switch so as to process it without delay.

나아가 본 발명의 실시예를 따르는 소프트웨어 정의 네트워크에서 컨트롤러에서 브로드캐스팅을 지원하는 장치는, 스위치와 통신하는 통신부; 및 브로드캐스팅 경로를 적어도 하나 이상 계산하고, 브로드캐스트 패킷을 미리 설정된 기준에 따라 적어도 하나 이상의 그룹으로 분류하고, 그룹 각각에 상기 브로드캐스팅 경로를 매칭하여, 각 그룹에 속하는 브로드캐스트 패킷은 매칭된 브로드캐스팅 경로에 따라 처리하도록 상기 스위치를 제어하고, 토폴로지가 변경된 경우, 토폴로지 변경과 관련된 브로드캐스팅 경로는 토폴로지 변경사항을 반영하여 다시 계산하고, 토폴로지 변경과 무관한 브로드캐스팅 경로와 매칭된 그룹에 속하는 브로드캐스트 패킷은 토폴로지 변경 전 매칭된 브로드캐스팅 경로를 적용하여 지연 없이 처리하도록 상기 스위치를 제어하는 제어부를 포함하는 것을 특징으로 한다. Further, an apparatus for supporting broadcasting in a controller in a software defined network according to an embodiment of the present invention includes: a communication unit for communicating with a switch; And at least one broadcasting path, classifies the broadcast packets into at least one group according to a preset reference, matches the broadcasting path to each of the groups, and broadcast packets belonging to each group are broadcast And if the topology has changed, the broadcasting path associated with the topology change is calculated again to reflect the topology change, and the broadcast path associated with the topology change is broadcast, And a control unit for controlling the switch to process the cast packet without delay by applying a matched broadcasting path before the topology change.

한편 본 발명의 실시예를 따라 소프트웨어 정의 네트워크에서 컨트롤러가 브로드캐스팅을 지원하는 처리를 수행하기 위하여 컴퓨터 판독가능한 기록 매체에 저장된 컴퓨터 프로그램은, 브로드캐스팅 경로를 적어도 하나 이상 계산하는 기능; 브로드캐스트 패킷을 미리 설정된 기준에 따라 적어도 하나 이상의 그룹으로 분류하고, 그룹 각각에 상기 브로드캐스팅 경로를 매칭하여, 각 그룹에 속하는 브로드캐스트 패킷은 매칭된 브로드캐스팅 경로에 따라 처리하도록 스위치를 제어하는 기능; 토폴로지가 변경된 경우, 토폴로지 변경과 관련된 브로드캐스팅 경로는 토폴로지 변경사항을 반영하여 다시 계산하고, 토폴로지 변경과 무관한 브로드캐스팅 경로와 매칭된 그룹에 속하는 브로드캐스트 패킷은 토폴로지 변경 전 매칭된 브로드캐스팅 경로를 적용하여 지연 없이 처리하도록 상기 스위치를 제어하는 기능을 수행하는 것을 특징으로 한다. In accordance with an embodiment of the present invention, a computer program stored in a computer-readable recording medium for performing a process of supporting broadcasting in a software-defined network includes: a function of calculating at least one broadcasting path; A function of classifying broadcast packets into at least one group according to a preset reference, matching the broadcast paths to each group, and controlling the switch to process the broadcast packets belonging to each group according to a matched broadcasting path ; If the topology changes, the broadcast path associated with the topology change is recalculated to reflect the topology change, and broadcast packets that are matched to the broadcast path that is not related to the topology change are not matched to the broadcast path before the topology change And controls the switch to process without delay.

본 발명에 따르면, 네트워크 운영 정보를 반영하여 브로드캐스팅 경로를 계산하고, 복수의 경로로 브로드캐스팅을 처리하기 때문에 네트워크 리소스를 효율적으로 사용할 수 있는 효과가 있다. 나아가 본 발명에 따르면 토폴로지가 변경되는 경우, 변경 사항과 무관한 경로는 그대로 적용하여 브로드캐스팅 패킷을 처리할 수 있어, 브로드캐스팅 지연이 방지되는 효과가 있다. According to the present invention, the broadcasting path is calculated by reflecting the network operation information, and the broadcasting is processed by a plurality of paths, so that the network resource can be efficiently used. Further, according to the present invention, when the topology is changed, the broadcast packet can be processed by applying the route irrelevant to the change, thereby preventing broadcasting delay.

도 1은 소프트웨어 정의 네트워킹을 설명하기 위한 도면
도 2는 스패닝 트리 기반으로 브로드캐스팅을 처리하는 방법을 설명하기 위한 도면
도 3은 본 발명의 실시예를 따르는 브로드캐스팅 지원 방법에 대해 설명하기 위한 도면
도 4는 본 발명의 실시예를 따라 토폴로지 변경시 스패닝 트리를 수정하는 방법을 설명하기 위한 도면
도 5는 본 발명의 실시예를 따라 브로드캐스팅을 지원하는 방법을 설명하기 위한 순서도
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a drawing for describing software defined networking.
2 is a diagram for explaining a method of processing broadcasting based on a spanning tree
3 is a diagram for explaining a broadcasting support method according to an embodiment of the present invention;
4 is a view for explaining a method of modifying a spanning tree when a topology is changed according to an embodiment of the present invention;
5 is a flowchart illustrating a method of supporting broadcasting according to an embodiment of the present invention.

본 발명은 이하에 기재되는 실시예들의 설명 내용에 한정되는 것은 아니며, 본 발명의 기술적 요지를 벗어나지 않는 범위 내에서 다양한 변형이 가해질 수 있음은 자명하다. 그리고 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 널리 알려져 있고 본 발명의 기술적 요지와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. It is to be understood that the present invention is not limited to the description of the embodiments described below, and that various modifications may be made without departing from the technical scope of the present invention. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.

한편, 첨부된 도면에서 동일한 구성요소는 동일한 부호로 표현된다. 그리고 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시될 수도 있다. 이는 본 발명의 요지와 관련이 없는 불필요한 설명을 생략함으로써 본 발명의 요지를 명확히 설명하기 위함이다. 이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. In the drawings, the same components are denoted by the same reference numerals. And in the accompanying drawings, some of the elements may be exaggerated, omitted or schematically illustrated. It is intended to clearly illustrate the gist of the present invention by omitting unnecessary explanations not related to the gist of the present invention. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 명세서에서 “플로우 룰”의 용어는 해당 업계의 통상의 기술자 입장에서 소프트웨어 정의 네트워크에서 컨트롤러 서버가 적용하는 네트워크 정책을 의미하는 것으로 이해되어야 한다.It should be understood that the term " flow rule " in the context of the present invention means a network policy applied by a controller server in a software defined network in the context of a skilled artisan.

나아가 본 명세서에서 오픈플로우 스위치(200)는 오픈플로우 프로토콜만을 지원하는 스위치, 오픈플로우 프로토콜을 지원하는 가상 스위치, 오픈플로우 프로토콜을 지원하는 일반적인 L2 스위치를 포함하는 개념으로 이해될 수 있다.Further, in the present specification, the open flow switch 200 can be understood as a concept including a switch supporting only an open flow protocol, a virtual switch supporting an open flow protocol, and a general L2 switch supporting an open flow protocol.

도 1은 소프트웨어 정의 네트워크의 구성을 설명하기 위한 도면이다. 도 1을 참조하면, 소프트웨어 정의 네트워크(Software Defined Network)는 컨트롤러 서버 (100), 네트워크 장비(200) 및 호스트(300)를 포함할 수 있다. 네트워크 장비(200)와 호스트(300)는 노드(Node)라고 지칭할 수 있으며, 링크(Link)는 2개의 노드 사이의 연결을 의미할 수 있다. 1 is a diagram for explaining a configuration of a software defined network. Referring to FIG. 1, a software defined network may include a controller server 100, network equipment 200, and a host 300. The network device 200 and the host 300 may be referred to as a node, and a link may denote a connection between two nodes.

컨트롤러 서버(100)는 네트워크 장비(200)를 관리하는 기능을 하는 것으로, 복수의 네트워크 장비(200)를 중앙 집중형으로 관리 및 제어한다. 구체적으로 컨트롤러 서버(100)는 토폴로지 관리(Topology management), 패킷 처리와 관련된 경로 관리(Path management), 링크 디스커버리(Link discovery), 패킷 흐름인 플로우 관리(Flow management) 등의 기능을 하는 응용 프로그램이 탑재된 형태로 구현될 수 있다. The controller server 100 manages the network equipment 200 and centrally manages and controls the plurality of network equipment 200. Specifically, the controller server 100 includes an application program that performs functions such as topology management, path management related to packet processing, link discovery, and packet flow flow management, And can be implemented in a mounted form.

네트워크 장비(200)는 컨트롤러 서버(100)의 제어에 따라 패킷을 처리하는 기능을 한다. 네트워크 장비(200)의 예로는 이동 통신 기지국, 기지국 제어기, 게이트웨이 장비, 유선 네트워크의 스위치, 라우터 등이 있다. The network device 200 functions to process packets under the control of the controller server 100. Examples of the network equipment 200 include a mobile communication base station, a base station controller, a gateway equipment, a wired network switch, and a router.

소프트웨어 정의 네트워크에서 컨트롤러 서버(100)와 오픈플로우 스위치(200)는 상호간 정보를 주고 받아야 하며, 이를 위한 프로토콜로 널리 사용되는 것이 오픈플로우 (OpenFlow) 프로토콜이다. 즉, 오픈플로우 프로토콜은 컨트롤러 서버(100)와 오픈플로우 스위치(200)간 서로 통신할 수 있는 표준 규격이다. In the software defined network, the controller server 100 and the open flow switch 200 exchange information with each other. The open flow protocol is widely used as a protocol for this. That is, the open flow protocol is a standard that allows the controller server 100 and the open flow switch 200 to communicate with each other.

오픈플로우 프로토콜을 따르면, 스위치(200)는 컨트롤 채널(Control Channel)을 통해 컨트롤러 서버(100)와 정보를 교환하고, 파이프라인(Pipeline) 프로세싱을 위한 하나 이상의 플로우 테이블(Flow table), 그룹 테이블, 미터 테이블 및/또는 패킷 전달을 위한 네트워크 인터페이스로 하나 이상의 포트를 가질 수 있다. According to the open flow protocol, the switch 200 exchanges information with the controller server 100 via a control channel, and includes one or more flow tables for pipeline processing, a group table, A meter table and / or a network interface for packet delivery.

한편, 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식을 브로드캐스팅이라고 한다. 전송된 데이터에 대한 처리, 즉 데이터를 수신할지 드랍할지 여부는 수신 호스트가 목적지 주소를 근거로 결정한다. On the other hand, the way data transmitted by a transmitting host is transmitted to all hosts connected to the network is called broadcasting. The processing of transmitted data, that is, whether data is received or dropped, is determined based on the destination address of the receiving host.

브로드캐스팅은 네트워크 전체에 데이터가 전송되기 때문에 트래픽이 급격히 증가되며, 특히 브로드캐스팅 경로에 루프가 존재하면 네트워크 성능에 미치는 영향이 크다. 따라서 종래의 네트워크는 분산 프로토콜인 스패닝 트리 프로토콜을 사용하여 루프 현상을 방지해왔다. 스패닝 트리는 토폴로지의 모든 노드가 링크로 연결되면서 루프가 포함되지 않는 네트워크 구성을 의미한다. Broadcasting increases the traffic dramatically because data is transmitted throughout the network, especially if there is a loop in the broadcasting path. Therefore, the conventional network has prevented the loop phenomenon by using the spanning tree protocol which is the distributed protocol. A spanning tree refers to a network configuration in which all nodes in the topology are linked by links and no loops are included.

도 2는 스패닝 트리 기반으로 브로드캐스팅을 처리하는 방법을 설명하기 위한 도면이다. 2 is a diagram for explaining a method of processing broadcasting based on a spanning tree.

도 2a에 도시된 네트워크에서 호스트 A (210)가 전송한 브로드캐스트 패킷은 네트워크에 연결된 모든 호스트, 즉 호스트 B (220), 호스트 C (230), 호스트 D (240) 및 호스트 E (250)에 전송된다. The broadcast packets transmitted by the host A 210 in the network shown in FIG. 2A are transmitted to all the hosts connected to the network, that is, the host B 220, the host C 230, the host D 240 and the host E 250 .

도 2b는 도 2a의 네트워크를 스위치와 링크로 연결한 토폴로지 그래프이다. 도 2b와 같은 네트워크에서 스패닝 트리는 모든 노드가 링크로 연결되어 있으며, 루프가 발생하지 않는 트리 구조인 도 2c의 형태로 구성될 수 있다. 스패닝 트리는 종래의 기술에 따라 다양한 알고리즘을 이용하여 계산될 수 있다. FIG. 2B is a topology graph of the network of FIG. 2A connecting switches and links. In the network as shown in FIG. 2B, the spanning tree may be configured as shown in FIG. 2C, which is a tree structure in which all nodes are connected by a link and no loop occurs. The spanning tree can be computed using various algorithms according to conventional techniques.

도 2a와 같은 네트워크에서 호스트 A (210)가 전송한 브로드캐스트 패킷은 도 2c와 같은 경로를 따라 네트워크 전체 호스트에 전송될 수 있다. The broadcast packet transmitted from the host A 210 in the network as shown in FIG. 2A can be transmitted to all the hosts in the network along the path as shown in FIG. 2C.

호스트 A (210)의 브로드캐스트 패킷을 수신한 스위치 260은 도 2c의 경로에 따라 스위치 261에 패킷을 전달하고, 스위치 261은 연결된 호스트 220에 해당 브로드캐스트 패킷을 포워딩하며, 동시에 도 2c의 경로를 따라 스위치 262에 패킷을 전달하고, 패킷을 수신한 스위치 262는 연결된 호스트 D (240)에 해당 브로드캐스트 패킷을 포워딩하며, 동시에 도 2c의 경로에 따라 스위치 263 및 264에 패킷을 전달하고, 패킷을 수신한 스위치 263 및 264는 연결된 호스트 C (230) 및 호스트 E (250)에 브로드캐스트 패킷을 포워딩할 수 있다. The switch 260 receiving the broadcast packet of the host A 210 forwards the packet to the switch 261 according to the path of FIG. 2C, the switch 261 forwards the broadcast packet to the connected host 220, The switch 262 forwards the packet to the switch 262, the switch 262 forwards the corresponding broadcast packet to the connected host D 240, and at the same time forwards the packet to the switches 263 and 264 according to the path of FIG. The received switches 263 and 264 may forward the broadcast packet to the connected host C 230 and host E 250.

종래의 네트워크 구조에서 브로드캐스팅은 레거시 스위치에서 지원되며, 레거시 스위치는 스패닝 트리 프로토콜에 따라 스패닝 트리를 구성하는 링크만 브로드캐스팅에 사용하는 방식으로 브로드캐스팅을 지원할 수 있다.In a conventional network structure, broadcasting is supported in a legacy switch, and a legacy switch can support broadcasting in such a manner that only a link constituting a spanning tree is used for broadcasting according to a spanning tree protocol.

한편 소프트웨어 정의 네트워크에서 브로드캐스팅 경로는 컨트롤러의 제어에 따라 오픈플로우 프로토콜로 설정될 수 있다. 즉, 소프트웨어 정의 네트워크에서는 컨트롤러가 스패닝 트리 기반으로 브로드캐스팅 경로를 계산하고, 패킷 처리에 대한 플로우 룰을 스위치에 전송하는 방식으로 브로드캐스팅을 지원할 수 있다. On the other hand, in a software defined network, the broadcasting path can be set as an open flow protocol under the control of the controller. That is, in a software defined network, a controller can support broadcasting by calculating a broadcasting path based on a spanning tree and transmitting a flow rule for packet processing to the switch.

나아가, 컨트롤러는 노드간 이동 비용 및/또는 링크의 가중치를 고려하여 스패닝 트리를 계산할 수 있다. 모든 노드들이 링크로 연결되고 루프가 없으며, 동시에 노드 간 이동 비용이 최소한인 스패닝 트리를 MST (Minimum Spanning Tree)라고 한다. 노드간 이동 비용 및/또는 링크의 가중치는 네트워크 상태를 고려하여 계산될 수 있다.Furthermore, the controller can calculate the spanning tree considering the cost of moving between nodes and / or the weight of the link. The spanning tree, in which all nodes are connected by a link, there is no loop, and at the same time the cost of moving between nodes is minimum, is called MST (Minimum Spanning Tree). The cost of moving between nodes and / or the weight of the link may be calculated taking into account the network conditions.

그런데 네트워크 토폴로지 구성이 변경되면, 즉 네트워크 구성 요소가 추가 및/또는 삭제되면, 컨트롤러는 MST를 다시 계산하고, 브로드캐스팅 경로를 다시 설정해야 한다. 이와 같은 일련의 과정에서 브로드캐스팅 처리에 지연(latency)이 발생할 수 있다. However, if the network topology configuration changes, that is, network components are added and / or deleted, the controller must recalculate the MST and re-establish the broadcast path. In such a series of processes, latency may occur in the broadcasting process.

나아가 종래에는 토폴로지가 변경되면, 그 형태를 고려하지 않고, 전체 브로드캐스팅 경로가 다시 계산되었다. 즉, 전체 경로에 영향이 없는 변경이라 하더라도 MST 재계산 및 브로드캐스팅 경로 변경이 요구되며, 이에 따른 지연이 발생하는 문제가 있었다. Furthermore, when the topology is conventionally changed, the entire broadcasting path is recalculated without regard to its form. That is, even if the change does not affect the entire path, the MST recalculation and the broadcasting path change are required, and there is a problem that the delay occurs.

본 발명은 상기와 같은 문제를 해결하기 위한 것이다. The present invention is intended to solve the above problems.

본 발명의 실시예를 따르면, 컨트롤러는 브로드캐스팅 처리를 위한 MST를 동시에 복수개 운용하는 특징이 있다. MST를 복수개 운용하여 브로드캐스팅 경로를 설정하면, 토폴로지에 변경이 발생한다 하더라도, 변경 사항과 무관한 MST가 적용된 경로는 지연 없이 브로드캐스팅에 적용될 있어 전체 네트워크의 효율이 증가하는 효과가 있다. According to the embodiment of the present invention, the controller has a feature of operating a plurality of MSTs simultaneously for broadcasting processing. If multiple broadcasting MSTs are used to set the broadcasting path, the route to which the MST is applied irrespective of the change is applied to the broadcasting without delay even if the topology changes, thereby increasing the efficiency of the entire network.

나아가 본 발명의 실시예를 따르면, 토폴로지 구성이 추가된 경우, 복수의 MST 전체를 다시 계산할 필요 없이, 토폴로지 변경 전 MST에 추가된 구성만 반영하여 브로드캐스팅 경로를 설정할 수 있는 특징이 있다. Further, according to the embodiment of the present invention, when a topology configuration is added, a broadcast path can be set by reflecting only the configuration added to the MST before the topology change, without recomputing the entire MSTs.

본 발명을 따르는 구체적인 예시는 첨부된 도면을 참고하여 후술된다. Specific examples according to the present invention will be described below with reference to the accompanying drawings.

도 3은 본 발명의 실시예를 따르는 브로드캐스팅 지원 방법에 대해 설명하기 위한 도면이다. 3 is a diagram for explaining a broadcasting support method according to an embodiment of the present invention.

300과 같은 토폴로지에서 MST는 301, 302, 303, 304와 같이 복수개 계산될 수 있다. In a topology such as 300, the MST can be calculated in a plurality of ways such as 301, 302, 303,

MST를 계산하는 알고리즘은 종래의 기술을 적용할 수 있으나, 본 발명의 실시예를 따르면 오픈플로우 프로토콜을 이용하여 획득한 네트워크 운영 정보를 MST 계산을 위한 가중치로 활용할 수 있다.According to the embodiment of the present invention, the network operating information acquired using the open flow protocol can be utilized as a weight for calculating the MST.

예를 들어 오픈플로우 프로토콜은 메시지 타입으로 포트 상태 메시지 (OFPT_PORT_STATUS message) 및/또는 멀티 파트 요청 메시지 (OFPT_MULTIPART_REQUEST message) 타입을 지원하고 있다. 이를 이용하여 컨트롤러는 링크의 대역폭, 트래픽 양 등 네트워크 운영 정보를 획득할 수 있으며, 획득한 네트워크 운영 정보를 MST 계산의 가중치로 활용할 수 있다. For example, the open flow protocol supports a port status message (OFPT_PORT_STATUS message) and / or a multipart request message (OFPT_MULTIPART_REQUEST message) type as a message type. Using this, the controller can acquire the network operation information such as the bandwidth and traffic amount of the link, and utilize the obtained network operation information as the weight of the MST calculation.

상기 실시예를 따르면 실시간 네트워크 운영 정보가 MST 계산에 반영되고, MST는 복수개 운용되기 때문에 네트워크 전체의 리소스가 효율적으로 사용되는 효과가 있다. According to the embodiment, real-time network operation information is reflected in the MST calculation, and since a plurality of MSTs are operated, the resources of the entire network can be efficiently used.

보다 구체적으로 본 발명의 실시예를 따르면, 컨트롤러는 스위치의 포트 상태 메시지로부터 포트별 대역폭 정보를 획득하고, 멀티 파트 요청 메시지로부터 링크의 트래픽 사용량에 대한 정보를 획득할 수 있다. 이후 컨트롤러는 획득한 네트워크 운영 정보를 MST 계산의 가중치로 활용하여 MST를 복수개 계산할 수 있다. More specifically, according to an embodiment of the present invention, the controller can obtain bandwidth-specific bandwidth information from the port status message of the switch and obtain information on traffic usage of the link from the multipart request message. Then, the controller can calculate a plurality of MSTs by using the obtained network operation information as a weight of the MST calculation.

본 발명은 획득한 네트워크 운영정보를 MST 계산의 가중치로 활용하는 것에 특징이 있으며, 상기 가중치를 이용하여 MST를 다수개 계산하는 알고리즘은 종래의 기술에 따라 다양하게 적용될 수 있다. The present invention is characterized by utilizing the obtained network operation information as a weight of the MST calculation. An algorithm for calculating a plurality of MSTs using the weight values can be variously applied according to the conventional technique.

다시 도 3에 대한 설명으로 복귀하면, 300과 같은 토폴로지에서 301, 302, 303 및 304와 같은 4개의 MST를 브로드캐스팅 경로로 활용하는 구체적으로 방법은 아래와 같다. Returning to the description of FIG. 3, a concrete method of utilizing four MSTs such as 301, 302, 303 and 304 as a broadcasting path in a topology such as 300 is as follows.

먼저 컨트롤러는 브로드캐스팅 패킷을 임의의 기준에 따라 4개의 그룹으로 그룹핑할 수 있다. 이는 그룹마다 특정 MST를 고유하게 매칭하여, 해당 그룹에 속하는 브로드캐스팅 패킷은 매칭된 MST를 이용한 경로로 처리되기 위한 것이다. First, the controller can group broadcasting packets into four groups according to an arbitrary criterion. This is because a particular MST is uniquely matched to each group and a broadcast packet belonging to the group is processed by a route using a matched MST.

한편, 특히 본 발명의 실시예를 따르면, 컨트롤러는 패킷의 헤더 중 마스킹 가능한 필드를 이용하여 패킷에 그룹을 할당할 수 있다. In particular, according to an embodiment of the present invention, the controller can assign a group to a packet using a maskable field in a header of the packet.

오픈플로우 프로토콜은 헤더 매치 필드(Header Match Fields)의 구체적인 내용을 미리 규정하고 있다. 예를 들어 OXM_OF_ETH_DST, OXM_OF_ETH_SRC, OXM_OF_VLAN_VID, OXM_OF_IPV4_SRC, OXM_OF_IPV4_DST, OXM_OF_ARP_SPA, OXM_OF_ARP_TPA, OXM_OF_ARP_SHA, OXM_OF_ARP_THA, OXM_OF_IPV6_SRC, OXM_OF_IPV6_DST 및 OXM_OF_IPV6_FLABEL 는 마스크 가능한 것으로 규정하고 있다. The open flow protocol specifies the contents of the header match fields in advance. For example OXM_OF_ETH_DST, OXM_OF_ETH_SRC, OXM_OF_VLAN_VID, OXM_OF_IPV4_SRC, OXM_OF_IPV4_DST, OXM_OF_ARP_SPA, OXM_OF_ARP_TPA, OXM_OF_ARP_SHA, OXM_OF_ARP_THA, OXM_OF_IPV6_SRC, OXM_OF_IPV6_DST OXM_OF_IPV6_FLABEL and are defined as being the mask.

컨트롤러는 이와 같이 마스킹 가능한 헤더의 필드를 이용하여 패킷에 그룹을 할당할 수 있다. 예를 들어 이더넷 소스 맥 주소를 이용하여 브로드캐스팅 패킷을 4개의 그룹으로 분류하는 경우, 컨트롤러는 소스 맥 주소 끝자리가 00인 패킷은 제 1 그룹, 01인 패킷은 제 2 그룹, 10인 패킷은 제 3 그룹, 11인 패킷은 제 4 그룹으로 분류할 수 있다. The controller can thus assign a group to the packet using the field of the maskable header. For example, when broadcasting packets are classified into four groups using an Ethernet source MAC address, the controller assigns the first group of packets with the source MAC address of 00 as the first group, the second group as the packets with the address 01, 3, and 11 packets can be classified into the fourth group.

이후 컨트롤러는 제 1 그룹에 MST 301, 제 2 그룹에 MST 302, 제 3 그룹에 MST 303, 제 4 그룹에 MST 304를 할당하고, 할당된 MST를 따르는 브로드캐스팅 경로를 설정하는 플로우 룰을 전송할 수 있다. Thereafter, the controller assigns the MST 301 to the first group, the MST 302 to the second group, the MST 303 to the third group, and the MST 304 to the fourth group, and to transmit a flow rule for setting a broadcasting path conforming to the allocated MST have.

예를 들어 도 2의 스위치 260의 포트 1, 포트 2, 포트 3이 각각 스위치 263, 262, 261과 연결된 경우, 아래의 표 1은 도 3의 MST에 따라 스위치 260에 브로드캐스팅 경로를 설정하는 플로우 룰의 예시이다.For example, when Port 1, Port 2, and Port 3 of the switch 260 of FIG. 2 are connected to the switches 263, 262, and 261, respectively, Table 1 below shows a flow of setting a broadcasting path to the switch 260 according to MST in FIG. It is an example of a rule.

Match FieldsMatch Fields InstructionsInstructions OXM_OF_ETH_SRC (이더넷 소스 MAC 주소)OXM_OF_ETH_SRC (Ethernet source MAC address) OXM_OF_ETH_DST
(이더넷 목적지 MAC 주소)
OXM_OF_ETH_DST
(Ethernet destination MAC address)
1One 00:00:00:00:00:00/
00:00:00:00:00:03
00: 00: 00: 00: 00: 00 /
00: 00: 00: 00: 00: 03
FF:FF:FF:FF:FF:FFFF: FF: FF: FF: FF: FF Output : 포트 1Output: Port 1
22 00:00:00:00:00:01/
00:00:00:00:00:03
00: 00: 00: 00: 00: 01 /
00: 00: 00: 00: 00: 03
FF:FF:FF:FF:FF:FFFF: FF: FF: FF: FF: FF Output : 포트 1, 2Output: Ports 1 and 2
33 00:00:00:00:00:10/
00:00:00:00:00:03
00: 00: 00: 00: 00: 10 /
00: 00: 00: 00: 00: 03
FF:FF:FF:FF:FF:FFFF: FF: FF: FF: FF: FF Output : 포트 2,3Output: ports 2,3
44 00:00:00:00:00:11/
00:00:00:00:00:03
00: 00: 00: 00: 00: 11 /
00: 00: 00: 00: 00: 03
FF:FF:FF:FF:FF:FFFF: FF: FF: FF: FF: FF Output : 포트 3Output: Port 3

표 1의 첫 번째 행은 스위치 260에서 수신한 브로드캐스트 패킷 중 제 1 그룹은 MST 301에 따라 포트 1을 통해 스위치 263에 전달할 것을 지시하며, 두 번째 행은 제 2 그룹은 MST 302에 따라 포트 1 및 포트 2을 통해 스위치 263 및 스위치 262에 전달할 것을 지시하는 플로우 엔트리이다.The first row of Table 1 indicates that the first group of broadcast packets received at switch 260 should be forwarded to switch 263 over port 1 according to MST 301, And port 2 to switch 263 and switch 262, respectively.

한편 세 번째 행은 스위치 260에서 수신한 브로드캐스트 패킷 중 제 3 그룹은 MST 303에 따라 포트 2 및 포트 3을 통해 스위치 262 및 스위치 261에 전달할 것을 지시하며, 네 번째 행은 제 4 그룹은 MST 304에 따라 포트 3을 통해 스위치 261에 전달할 것을 지시하는 플로우 엔트리이다. While the third line indicates that the third group of broadcast packets received at switch 260 should be forwarded to switch 262 and switch 261 via port 2 and port 3 according to MST 303, To the switch 261 via port 3. [

도 4는 토폴로지가 변경된 경우 브로드캐스팅 경로를 설정하는 예시를 설명하기 위한 도면이다. 4 is a diagram for explaining an example of setting a broadcasting path when the topology is changed.

도 4a와 같은 예에서, 스위치 260과 스위치 263을 연결하는 링크 265가 삭제되는 경우를 고려할 수 있다. In the example as shown in FIG. 4A, it can be considered that the link 265 connecting the switch 260 and the switch 263 is deleted.

이와 같은 경우, 종래의 기술에 따르면 토폴로지가 변경되었기 때문에 MST가 다시 계산되고, 계산된 MST를 반영한 브로드캐스팅 경로가 플로우 변경 메시지의 형태로 다시 전송되어야 한다. In this case, according to the conventional art, since the topology is changed, the MST is calculated again, and the broadcasting path reflecting the calculated MST should be transmitted again in the form of a flow change message.

그러나 본 발명의 실시예를 따르면 링크 265는 도 3의 MST 301, MST 302에 포함되지만, MST 303 및 MST 304와는 무관한 것을 알 수 있다. 따라서 모든 플로우 룰이 변경될 필요 없이 MST 303 및 MST 304에 매칭된 그룹의 브로드캐스팅은 종래의 룰을 적용하여 처리할 수 있다. However, according to the embodiment of the present invention, the link 265 is included in the MST 301 and the MST 302 in FIG. 3, but is independent of the MST 303 and the MST 304. Therefore, the broadcasting of the group matched to the MST 303 and the MST 304 can be performed by applying the conventional rule without changing all the flow rules.

즉, 표 1의 플로우 룰에서 첫번째 행과 두번째 행만 변경되면 족하고, 세번째 행과 네번째 행은 변경될 필요없이 토폴로지 변경 전후로 일관되게 적용될 수 있다. That is, only the first row and the second row in the flow rule of Table 1 need to be changed, and the third row and the fourth row can be consistently applied before and after the topology change without changing.

이와 같이 본 발명의 실시예를 따르면, 토폴로지가 변경된다 하더라도, 토폴로지 변경과 무관한 MST에 매칭된 그룹에 속하는 브로드캐스트 패킷은 플로우 룰 변경 없이 처리될 수 있다. According to the embodiment of the present invention, even if the topology is changed, broadcast packets belonging to the group matched with the MST regardless of the topology change can be processed without changing the flow rules.

한편, 토폴로지 변경과 관련된 MST는 변경 사항을 반영하여 다시 계산될 수 있다. 특히 본 발명의 실시예를 따르면, 해당 그룹의 패킷은 토폴로지 변경에 따른 새로운 플로우 룰이 적용되기 전에는 다른 MST, 즉 토폴로지 변경과 무관한 MST를 적용하여 처리하거나, 드랍될 수 있다. On the other hand, the MST associated with the topology change can be recalculated to reflect the changes. Particularly, according to the embodiment of the present invention, the packet of the group can be processed or dropped by applying another MST, that is, MST irrelevant to the topology change, before a new flow rule according to the topology change is applied.

본 발명의 다른 실시예를 따르면, 도 4a와 같은 예에서 스위치 264의 포트 3을 통해 링크 266이 연결되어 다른 스위치 267이 추가되는 경우를 고려할 수 있다. (스위치 264의 포트 1은 스위치 262, 포트 2는 스위치 261과 연결)According to another embodiment of the present invention, in the example shown in FIG. 4A, it can be considered that the link 266 is connected through the port 3 of the switch 264 so that another switch 267 is added. (Port 1 of switch 264 is connected to switch 262, port 2 is connected to switch 261)

이와 같은 경우, 종래의 기술에 따르면 토포롤지가 변경되었기 때문에, MST가 다시 계산되고 계산된 MST를 반영한 브로드캐스팅 경로가 플로우 변경 메시지의 형태로 다시 전송되어야 한다. In this case, since the topology has been changed according to the prior art, the MST is calculated again and the broadcasting path reflecting the calculated MST should be transmitted again in the form of a flow change message.

그러나 네트워크 엣지에 설치된 링크 266 및 노드 267은 전체 스위치에 영향을 미치지 않고, 스위치 264에만 영향을 미친다. 따라서 본 발명의 실시예를 따르면 전체 MST를 다시 계산하는 것이 아니라, 토폴로지 변경전 MST에 추가된 구성만 반영하여 해당 스위치의 플로우 룰을 수정하는 방식으로 간단하게 처리할 수 있다. 변경된 MST는 도 4b와 같다. However, the link 266 and the node 267 installed in the network edge do not affect the entire switch, but only the switch 264. Therefore, according to the embodiment of the present invention, the entire MST is not re-calculated but can be simply processed by a method of modifying the flow rule of the corresponding switch by reflecting only the configuration added to the MST before the topology change. The modified MST is shown in FIG. 4B.

보다 구체적으로, 컨트롤러는 스위치 264가 브로드캐스트 패킷을 수신하면, 제 1 그룹 및 제 4 그룹은 포트 1 및 3을 통해 전송하고, 제 2 그룹 및 제 3 그룹은 포트 2 및 포트 3을 통해 전송하도록 플로우 룰을 변경할 것이다. More specifically, when the switch 264 receives the broadcast packet, the controller transmits the first group and the fourth group through ports 1 and 3, and the second group and the third group transmits through port 2 and port 3 We will change the flow rule.

도 5는 본 발명의 실시예에 따르는 소프트웨어 정의 네트워크에서 브로드캐스팅을 지원하는 방법을 설명하기 위한 순서도이다. 5 is a flowchart illustrating a method of supporting broadcasting in a software defined network according to an embodiment of the present invention.

도 5의 단계 510에서 컨트롤러는 해당 시점의 네트워크 토폴로지에서 브로드캐스팅 경로 설정을 위한 MST를 복수개 계산할 수 있다. In step 510 of FIG. 5, the controller can calculate a plurality of MSTs for setting the broadcasting path in the network topology of the corresponding point in time.

특히 본 발명의 실시예를 따르면, 컨트롤러는 네트워크 운영정보를 MST 계산의 가중치로 활용할 수 있다. Particularly, according to the embodiment of the present invention, the controller can utilize the network operation information as the weight of the MST calculation.

보다 구체적으로 컨트롤러는 스위치로부터 포트 상태 메시지를 수신하여 포트별 대역폭 정보를 획득하고, 멀티 파트 요청 메시지를 수신하여 링크의 트래픽 사용량에 대한 정보를 획득할 수 있다. 이후 컨트롤러는 획득한 네트워크 운영 정보를 MST 계산의 가중치로 활용하여 MST를 복수개 계산할 수 있다. 상기 가중치를 이용하여 MST를 다수개 계산하는 알고리즘은 종래의 기술에 따라 다양하게 적용될 수 있다. More specifically, the controller receives the port status message from the switch, obtains bandwidth-specific bandwidth information, and receives the multi-part request message to obtain information on traffic usage of the link. Then, the controller can calculate a plurality of MSTs by using the obtained network operation information as a weight of the MST calculation. The algorithm for calculating a plurality of MSTs using the weight values may be variously applied according to conventional techniques.

단계 520에서 컨트롤러는 브로드캐스트 패킷을 계산된 MST 수만큼 그룹으로 분류하고, 그룹별로 MST를 할당할 수 있다. In step 520, the controller classifies the broadcast packets into groups of the calculated number of MSTs, and allocates MSTs for each group.

특히 본 발명의 실시예를 따르면, 컨트롤러는 패킷의 헤더 중 마스킹 가능한 필드를 이용하여 패킷에 그룹을 할당할 수 있는 특징이 있다. In particular, according to an embodiment of the present invention, the controller is capable of assigning a group to a packet using a maskable field in a header of the packet.

보다 구체적으로 컨트롤러는 플로우 룰의 매치 필드에 OXM_OF_ETH_DST, OXM_OF_ETH_SRC, OXM_OF_VLAN_VID, OXM_OF_IPV4_SRC, OXM_OF_IPV4_DST, OXM_OF_ARP_SPA, OXM_OF_ARP_TPA, OXM_OF_ARP_SHA, OXM_OF_ARP_THA, OXM_OF_IPV6_SRC, OXM_OF_IPV6_DST 및 OXM_OF_IPV6_FLABEL 등 마스킹 가능한 필드 값을 임의의 범위로 분할한 값을 기재하여 브로드캐스트 패킷을 그룹으로 분류할 수 있다. And more specifically, the controller is described a value dividing a masking possible field values, etc. OXM_OF_ETH_DST, OXM_OF_ETH_SRC, OXM_OF_VLAN_VID, OXM_OF_IPV4_SRC, OXM_OF_IPV4_DST, OXM_OF_ARP_SPA, OXM_OF_ARP_TPA, OXM_OF_ARP_SHA, OXM_OF_ARP_THA, OXM_OF_IPV6_SRC, OXM_OF_IPV6_DST and OXM_OF_IPV6_FLABEL the match field of the flow rules in a certain range Broadcast packets can be classified into groups.

나아가 컨트롤러는 그룹별로 MST를 할당하고, 할당된 MST를 따르는 브로드캐스팅 경로를 설정하는 플로우 룰을 각 스위치에 전송할 수 있다. (단계 530)Further, the controller may assign a MST to each group and send a flow rule to each switch to set a broadcasting path that follows the assigned MST. (Step 530)

한편, 단계 540 이후는 토폴로지가 변경된 경우에 브로드캐스팅 경로를 제어하는 예시에 대한 것이다. On the other hand, step 540 and subsequent steps are for an example of controlling the broadcasting path when the topology is changed.

단계 570에서 토폴로지의 일부 구성이 삭제된 경우를 고려할 수 있다. A case where some configuration of the topology is deleted in step 570 can be considered.

이와 같은 경우, 종래에는 토폴로지가 변경되었기 때문에 MST가 다시 계산되고, 계산된 MST를 반영한 브로드캐스팅 경로가 플로우 변경 메시지의 형태로 전체 네트워크에 전송되어야 한다. In this case, since the topology has conventionally been changed, the MST is calculated again, and the broadcasting path reflecting the calculated MST must be transmitted to the entire network in the form of a flow change message.

그러나 본 발명을 따르면 따라서 모든 플로우 룰이 변경될 필요 없이, 토폴로지 변경과 관련된 MST만 다시 계산되면 족하다. (단계 580) 즉, 토폴로지 변경과 무관한 MST에 매칭된 그룹의 브로드캐스팅은 종래의 플로우 룰 적용하여 처리할 수 있다. However, according to the present invention, therefore, only the MST associated with the topology change need be recalculated without requiring all the flow rules to change. (Step 580). That is, broadcasting of the group matched to the MST irrespective of the topology change can be processed by applying the conventional flow rule.

한편, 토폴로지 변경과 관련된 MST는 변경 사항을 반영하여 다시 계산될 수 있다. 특히 본 발명의 실시예를 따르면, 토폴로지 변경과 관련된 MST에 매칭된 그룹의 패킷은 새로운 플로우 룰이 적용되기 전에는 다른 MST, 즉 토폴로지 변경과 무관한 MST를 적용하여 처리하거나, 드랍될 수 있다. On the other hand, the MST associated with the topology change can be recalculated to reflect the changes. Particularly, according to the embodiment of the present invention, a group of packets matched with the MST related to the topology change can be processed or dropped by applying another MST, that is, an MST irrelevant to the topology change, before the new flow rule is applied.

한편, 단계 540에서 토폴로지 일부 구성이 추가된 경우를 고려할 수 있다. 이와 같은 경우, 본 발명의 실시예를 따르는 컨트롤러는 전체 MST를 다시 계산하는 것이 아니라, 종래의 MST에 추가된 구성만을 반영하고, (단계 550) 추가된 구성과 관련된 스위치의 플로우 룰만 변경할 수 있다. (단계 560)On the other hand, a case in which some configuration of the topology is added in step 540 can be considered. In such a case, the controller according to the embodiment of the present invention not only recalculates the entire MST, but reflects only the configuration added to the conventional MST, and only the flow rules of the switches related to the added configuration can be changed (step 550). (Step 560)

본 명세서와 도면에 게시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 게시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식 가진 자에 자명한 것이다. The embodiments of the present invention disclosed in the present specification and drawings are intended to be illustrative only and not intended to limit the scope of the present invention. It is to be understood by those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.

Claims (6)

소프트웨어 정의 네트워크에서 컨트롤러가 브로드캐스팅을 지원하는 방법에 있어서,
브로드캐스팅 경로를 적어도 하나 이상 계산하는 A 단계;
브로드캐스트 패킷을 미리 설정된 기준에 따라 적어도 하나 이상의 그룹으로 분류하고, 그룹 각각에 상기 브로드캐스팅 경로를 매칭하여, 각 그룹에 속하는 브로드캐스트 패킷은 매칭된 브로드캐스팅 경로에 따라 처리하도록 스위치를 제어하는 B 단계; 및
토폴로지가 변경된 경우, 토폴로지 변경과 관련된 제 1 브로드캐스팅 경로는 토폴로지 변경사항을 반영하여 변경하고, 토폴로지 변경과 무관한 제 2 브로드캐스팅 경로와 매칭된 그룹에 속하는 브로드캐스트 패킷은 토폴로지 변경 전 매칭된 브로드캐스팅 경로를 적용하여 지연 없이 처리하도록 상기 스위치를 제어하는 C 단계를 포함하며,
상기 C 단계는,
상기 토폴로지 변경과 관련된 제 1 브로드캐스팅 경로와 매칭된 그룹에 속하는 브로드캐스트 패킷은, 상기 토폴로지가 변경된 후 상기 제 1 브로드캐스팅 경로가 변경되기 전에는, 상기 제 2 브로드캐스팅 경로를 적용하여 처리하도록 상기 스위치를 제어하는 단계를 포함하는 것을 특징으로 하는 브로드캐스팅 지원 방법.
In a method for a controller to support broadcasting in a software defined network,
An A step of calculating at least one broadcasting path;
A switch for controlling a switch to classify broadcast packets into at least one group according to a preset reference, match the broadcast paths to each group, and process the broadcast packets belonging to each group according to a matched broadcasting path; step; And
When the topology is changed, the first broadcasting path related to the topology change is changed to reflect the topology change, and the broadcast packet belonging to the group matched with the second broadcasting path that is not related to the topology change, And controlling the switch to process the casting path without delay,
In the step C,
Wherein a broadcast packet belonging to a group matched with a first broadcasting path related to the topology change is transmitted to the switch through the second broadcasting path before the first broadcasting path is changed after the topology is changed, The method comprising the steps of:
제 1항에 있어서, 상기 A 단계는,
상기 스위치로부터 수신한 포트 상태 메시지 (OFPT_PORT_STATUS message) 및 멀티 파트 요청 메시지 (OFPT_MULTIPART_REQUEST message)를 이용하여 링크의 대역폭 및 트래픽 양을 계산하는 단계;
상기 대역폭 및 트래픽 양을 반영하여 상기 브로드캐스팅 경로를 적어도 하나 이상 계산하는 단계를 포함하는 것을 특징으로 하는 브로드캐스팅 지원 방법.
2. The method according to claim 1,
Calculating a bandwidth and traffic amount of a link using a port status message (OFPT_PORT_STATUS message) and a multipart request message (OFPT_MULTIPART_REQUEST message) received from the switch;
And calculating at least one of the broadcasting paths reflecting the bandwidth and the amount of traffic.
제 1 항에 있어서, 상기 B 단계는,
계산된 브로드캐스팅 경로 수만큼 상기 브로드캐스트 패킷의 그룹을 생성하고, 상기 그룹에 브로드캐스팅 경로를 매칭하는 단계; 및
패킷의 헤더 중 마스킹 가능한 필드를 이용하여 상기 브로드캐스트 패킷에 그룹을 할당하고, 해당 그룹의 브로드캐스트 패킷은 매칭된 브로드캐스팅 경로를 적용하여 처리하도록 지시하는 플로우 룰을 상기 스위치에 전송하는 단계를 포함하는 것을 특징으로 하는 브로드캐스팅 지원 방법.
The method according to claim 1,
Generating a group of the broadcast packets by the calculated number of broadcasting paths, and matching the broadcasting path to the group; And
Transmitting a flow rule to the switch instructing to assign a group to the broadcast packet using a maskable field of a header of the packet and to process the broadcast packet of the group by applying a matched broadcasting path Lt; RTI ID = 0.0 > 1, < / RTI >
제 1항에 있어서, 상기 C 단계는,
토폴로지 구성이 추가된 경우, 모든 브로드캐스팅 경로를 전체 토폴로지에 대해 다시 계산하지 않고, 토폴로지 변경 전 브로드캐스팅 경로에 추가된 구성을 반영하는 단계; 및
토폴로지 구성이 삭제된 경우, 삭제된 구성과 관련된 브로드캐스팅 경로와 매칭된 그룹에 속하는 브로드캐스트 패킷의 처리에 대한 플로우 룰을 삭제하는 단계를 포함하는 것을 특징으로 하는 브로드캐스팅 지원 방법.
2. The method of claim 1,
If the topology configuration is added, reflecting the configuration added to the broadcasting path before the topology change, without recalculating all of the broadcasting paths for the entire topology; And
And deleting a flow rule for processing a broadcast packet belonging to a group matched with a broadcast path associated with the deleted configuration when the topology configuration is deleted.
소프트웨어 정의 네트워크에서 컨트롤러에서 브로드캐스팅을 지원하는 장치에 있어서,
스위치와 통신하는 통신부; 및
브로드캐스팅 경로를 적어도 하나 이상 계산하고, 브로드캐스트 패킷을 미리 설정된 기준에 따라 적어도 하나 이상의 그룹으로 분류하고, 그룹 각각에 상기 브로드캐스팅 경로를 매칭하여, 각 그룹에 속하는 브로드캐스트 패킷은 매칭된 브로드캐스팅 경로에 따라 처리하도록 상기 스위치를 제어하고, 토폴로지가 변경된 경우, 토폴로지 변경과 관련된 제 1 브로드캐스팅 경로는 토폴로지 변경사항을 반영하여 변경하고, 토폴로지 변경과 무관한 제 2 브로드캐스팅 경로와 매칭된 그룹에 속하는 브로드캐스트 패킷은 토폴로지 변경 전 매칭된 브로드캐스팅 경로를 적용하여 지연 없이 처리하도록 상기 스위치를 제어하는 제어부를 포함하며,
상기 제어부는, 상기 토폴로지 변경과 관련된 제 1 브로드캐스팅 경로와 매칭된 그룹에 속하는 브로드캐스트 패킷은, 상기 토폴로지가 변경된 후 상기 제 1 브로드캐스팅 경로가 변경되기 전에는, 상기 제 2 브로드캐스팅 경로를 적용하여 처리하도록 상기 스위치를 제어하는 것을 특징으로 하는 브로드캐스팅 지원 장치.
In a device that supports broadcasting in a controller in a software defined network,
A communication unit for communicating with the switch; And
At least one broadcasting path is calculated, at least one group of broadcast packets is classified into at least one group according to a predetermined criterion, each of the groups is matched with the broadcasting path, and broadcast packets pertaining to each group are matched broadcast And when the topology is changed, the first broadcasting path associated with the topology change is changed in accordance with the topology change, and the second broadcasting path related to the second broadcasting path and the group matched with the topology change- And a control unit for controlling the switch to process the broadcast packet belonging thereto without delay by applying a matched broadcasting path before the topology change,
Wherein the control unit applies the second broadcasting path before the first broadcasting path is changed after the topology is changed by changing the broadcasting path of the broadcast packet belonging to the group matched with the first broadcasting path related to the topology change And controls the switch to process the broadcast.
소프트웨어 정의 네트워크에서 컨트롤러가 브로드캐스팅을 지원하는 처리를 수행하기 위하여 컴퓨터 판독가능한 기록 매체에 저장된 컴퓨터 프로그램에 있어서,
브로드캐스팅 경로를 적어도 하나 이상 계산하는 기능;
브로드캐스트 패킷을 미리 설정된 기준에 따라 적어도 하나 이상의 그룹으로 분류하고, 그룹 각각에 상기 브로드캐스팅 경로를 매칭하여, 각 그룹에 속하는 브로드캐스트 패킷은 매칭된 브로드캐스팅 경로에 따라 처리하도록 스위치를 제어하는 기능;
토폴로지가 변경된 경우, 토폴로지 변경과 관련된 제 1 브로드캐스팅 경로는 토폴로지 변경사항을 반영하여 변경하고, 토폴로지 변경과 무관한 제 2 브로드캐스팅 경로와 매칭된 그룹에 속하는 브로드캐스트 패킷은 토폴로지 변경 전 매칭된 브로드캐스팅 경로를 적용하여 지연 없이 처리하도록 상기 스위치를 제어하는 기능을 수행하며,
상기 스위치를 제어하는 기능은,
상기 토폴로지 변경과 관련된 제 1 브로드캐스팅 경로와 매칭된 그룹에 속하는 브로드캐스트 패킷은, 상기 토폴로지가 변경된 후 상기 제 1 브로드캐스팅 경로가 변경되기 전에는, 상기 제 2 브로드캐스팅 경로를 적용하여 처리하도록 상기 스위치를 제어하는 기능을 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
A computer program stored in a computer-readable recording medium for performing processing in a software-defined network in which a controller supports broadcasting,
A function of calculating at least one broadcasting path;
A function of classifying broadcast packets into at least one group according to a preset reference, matching the broadcast paths to each group, and controlling the switch to process the broadcast packets belonging to each group according to a matched broadcasting path ;
When the topology is changed, the first broadcasting path related to the topology change is changed to reflect the topology change, and the broadcast packet belonging to the group matched with the second broadcasting path that is not related to the topology change, Performs a function of controlling the switch to process the casting path without delay,
The function of controlling the switch includes:
Wherein a broadcast packet belonging to a group matched with a first broadcasting path related to the topology change is transmitted to the switch through the second broadcasting path before the first broadcasting path is changed after the topology is changed, The computer program comprising the steps of:
KR1020160015320A 2016-02-05 2016-02-05 Method, apparatus and computer program for handling broadcast of software defined network KR101786623B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160015320A KR101786623B1 (en) 2016-02-05 2016-02-05 Method, apparatus and computer program for handling broadcast of software defined network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160015320A KR101786623B1 (en) 2016-02-05 2016-02-05 Method, apparatus and computer program for handling broadcast of software defined network

Publications (2)

Publication Number Publication Date
KR20170093648A KR20170093648A (en) 2017-08-16
KR101786623B1 true KR101786623B1 (en) 2017-10-17

Family

ID=59752623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160015320A KR101786623B1 (en) 2016-02-05 2016-02-05 Method, apparatus and computer program for handling broadcast of software defined network

Country Status (1)

Country Link
KR (1) KR101786623B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102394491B1 (en) * 2020-05-27 2022-05-06 주식회사에어플러그 Method and apparatus for obtaining information relating to service-based operations of devices connected to a network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Open Networking Foundation,"OpenFlow Switch Specification 1.5.1"(2015.03.26.)*

Also Published As

Publication number Publication date
KR20170093648A (en) 2017-08-16

Similar Documents

Publication Publication Date Title
US10938748B2 (en) Packet processing method, computing device, and packet processing apparatus
CN104202266B (en) A kind of communication means, interchanger, controller and communication system
US8599830B2 (en) Method and system for network aware virtual machines
EP2920932B1 (en) Apparatus for a high performance and highly available multi-controllers in a single sdn/openflow network
CN108429680B (en) Route configuration method, system, medium and equipment based on virtual private cloud
JP5488979B2 (en) Computer system, controller, switch, and communication method
CN108574616A (en) A kind of method, equipment and the system of processing routing
CN112165725A (en) Message processing method and device
WO2020108587A1 (en) Data processing method, controller and forwarding device
KR102342723B1 (en) Multi-homed network routing and forwarding method based on programmable network technology
JP2002141932A (en) Method for assigning network shared band and network system
TWI639325B (en) Automatically configured switch,method of automatically configuring a switch, and software defined network system with auto-deployment switches and auto-deploying method thereof
KR101855742B1 (en) Method and apparatus for destination based packet forwarding control in software defined networking
WO2019184653A1 (en) Link configuration method and controller
EP3313031B1 (en) Sdn-based arp realization method and apparatus
KR101658824B1 (en) Method, apparatus and computer program for updating flow rules of software defined network
KR101786620B1 (en) Method, apparatus and computer program for subnetting of software defined network
US8908702B2 (en) Information processing apparatus, communication apparatus, information processing method, and relay processing method
KR101870146B1 (en) Method and apparatus for destination based packet forwarding control in software defined networking of leaf-spine architecture
US8675669B2 (en) Policy homomorphic network extension
KR101786623B1 (en) Method, apparatus and computer program for handling broadcast of software defined network
JP7127537B2 (en) Transport network control device, communication system, transfer node control method and program
KR101786616B1 (en) Method, apparatus and computer program for subnetting of software defined network
KR101767439B1 (en) Method, apparatus and computer program for managing paths for packets of software defined network
KR101931139B1 (en) Method, apparatus, and computer program for verifying host status information in a software defined network

Legal Events

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