KR20140039014A - Switch migration method for software-defined-networks with a plurality of controllers - Google Patents

Switch migration method for software-defined-networks with a plurality of controllers Download PDF

Info

Publication number
KR20140039014A
KR20140039014A KR1020140021262A KR20140021262A KR20140039014A KR 20140039014 A KR20140039014 A KR 20140039014A KR 1020140021262 A KR1020140021262 A KR 1020140021262A KR 20140021262 A KR20140021262 A KR 20140021262A KR 20140039014 A KR20140039014 A KR 20140039014A
Authority
KR
South Korea
Prior art keywords
controller
switch
migration
packet
mode
Prior art date
Application number
KR1020140021262A
Other languages
Korean (ko)
Other versions
KR101478944B1 (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 KR20140021262A priority Critical patent/KR101478944B1/en
Publication of KR20140039014A publication Critical patent/KR20140039014A/en
Application granted granted Critical
Publication of KR101478944B1 publication Critical patent/KR101478944B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports

Abstract

The prevent invention relates to a software defined network (SDN), providing a switch migration method for a SDN which is capable of recognizing that the switch migration mode has been changed from the openflow switch migration in which one of multiple slave controllers connected to a network switch enters the master mode towards another openflow switch migration in which the master mode controller to which packets are inputted by the switch enters the slave mode as well as providing the switch migration process with no packet being lost.

Description

복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법 {Switch migration method for software-defined-networks with a plurality of controllers}[0001] The present invention relates to a method for changing a switch connection in a software defined network having a plurality of controllers,

본 발명은 소프트웨어 정의 네트워크(SDN: software defined network)에 관한 것으로서, 네트워크 스위치에 복수의 컨트롤러가 접속된 환경에서 Slave 모드의 컨트롤러들 중 하나를 Master 모드로 변경하는 openflow 규격의 Switch migration을 패킷 손실 없이 제공하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software defined network (SDN), in which switching flows of an openflow standard for switching one of the controllers of the slave mode to the master mode in an environment where a plurality of controllers are connected to the network switch, And more particularly to a method of changing a switch connection in a software defined network having a plurality of controllers providing the same.

최근 스마트폰 수요 및 이용 증가에 따라 무선 데이터의 폭발적인 증가, 클라우드 컴퓨팅, M2M, 스마트TV 등 방송과 통신산업의 융합, ICT 중심의 융합 산업 등은 네트워크 기술의 고도화를 요구하고 있다. 이에 따라 네트워크 구조의 한계성을 극복하고, 새로운 요구사항들을 수용하기 위한 기술적 대안으로서 개발된 기술이 소프트웨어 정의 네트워크(SDN: software defined network)이다. 소프트웨어 정의 네트워크는 통신 서비스 사업자나 기업의 환경변화에 대응하기 위해, 네트워크 구성을 고정된 하드웨어로부터 가변성을 부여하는 소프트웨어 기반으로 전환시켜 네트워킹의 유연성 및 효과적인 관리 기능을 제공한다.
Recently, explosive increase of wireless data due to increase in demand and usage of smartphone, convergence of broadcasting and communication industries such as cloud computing, M2M and smart TV, and convergence industry centering on ICT have demanded advancement of network technology. Accordingly, a technology developed as a technical alternative to overcome the limitations of the network structure and to accommodate new requirements is a software defined network (SDN). Software-defined networks provide networking flexibility and effective management capabilities by transforming network configurations from fixed hardware to software-based ones to accommodate changes in the environment of communication service providers and enterprises.

본 발명에 대한 배경 기술로서, 도면 제1도에 도시된 WO 2013/139298 A1호의 응용 계층 최적화를 제공하는 소프트웨어 정의 네트워킹 지원 기술이 있다. 이 기술은 소프트웨어 정의 네트워크(SDN) 도메인 내 복수의 노드들에 대해 컨트롤 플레인 기능을 관리하는 네트워크 노드로서, 각 노드들로부터 복수의 네트워크 정보를 수집하고 도메인별로 정해진 규칙에 기반하여 네트워크 정보를 포워딩하며, 네트워크 정보에 따른 트래픽 최적화 정보를 수신하고, 상기 트래픽 최적화 정보에 기초하여 노드별 포워딩 판단 연산을 수행하는 프로세서를 구비한다. 또 다른 실시예로서 하나 이상의 소프트웨어 정의 네트워크(SDN) 노드들로부터 1차적인 네트워크 정보를 수집하고, 소프트웨어 정의 네트워크(SDN) 노드들로부터 수신되는 네트워크 정보를 취합하며, 상기 취합된 네트워크 정보에 기초하여 복수의 트래픽 최적화 판단을 수행하여 트래픽 최적화 판단 결과를 소프트웨어 정의 네트워크(SDN) 노드들로 포워딩하는 프로세서를 포함하는 응용 레이어 트래픽 최적화(ALTO) 노드를 구비한다.
As a background to the present invention, there is a software defined networking support technique that provides application layer optimization of WO 2013/139298 Al, shown in FIG. This technology is a network node that manages control plane functions for a plurality of nodes in a Software Defined Network (SDN) domain, collects a plurality of network information from each node and forwards the network information based on rules determined for each domain And a processor for receiving traffic optimization information according to the network information, and performing a forwarding determination operation for each node based on the traffic optimization information. In yet another embodiment, the method may include collecting primary network information from one or more software defined network (SDN) nodes, collecting network information received from software defined network (SDN) nodes, And an application layer traffic optimization (ALTO) node including a processor for performing a plurality of traffic optimization decisions to forward traffic optimization determination results to software defined network (SDN) nodes.

본 발명에 대한 다른 배경 기술로서, 도면 제2도에 도시된 전송 기반의 스위칭 디바이스에서 분기 데이터 플레인을 제공하는 시스템 및 방법 기술이 잇다. 이 기술은, 네트워크 스위칭 디바이스의 패킷 기반 라우팅을 수행하는 매크로 플로우 서브 플레인과 네트워크 스위칭 디바이스의 전송 기반 라우팅을 수행하는 마이크로플로우 서브 플레인을 포함하는 하드웨어 데이터 플레인을 구비한 네트워크 스위칭 디바이스를 특징으로 한다. 네트워크 스위칭 디바이스는 소프트웨어 정의 네트워크(SDN) 컨트롤러로부터 패킷 기반 라우팅 규칙을 수신하고, 마이크로플로우 서브 플레인에 전송 기반 라우팅 규칙을 제공한다.
Another background to the present invention is a system and methodology for providing a branch data plane in a transmission based switching device as shown in FIG. 2. The technique features a network switching device having a hardware data plane including a macro flow subplane for performing packet based routing of a network switching device and a microflow subplane for performing transmission based routing of the network switching device. The network switching device receives packet-based routing rules from a software defined network (SDN) controller and provides transmission-based routing rules to the microflow subplane.

본 발명에 대한 또 다른 배경 기술로서, 도면 제3도에 도시된 라우트 구분 및 우선 순위 부여 기능이 프로그램되고 스위치 라우팅 테이블을 이용하는 소프트웨어 정의 네트워크(SDN) 컨트롤러 기술이 있다. 이 기술은 하나 이상의 복수의 스위치와 상기 하나 이상의 복수의 스위치에 접속된 하나 이상의 복수의 디바이스들과, 상기 네트워크 내의 하나 이상의 복수의 스위치에 연결된 소프트웨어 정의 네트워크(SDN) 컨트롤러와, 상기 소프트웨어 정의 네트워크(SDN) 컨트롤러는 프로세서에 의해 수행되는 집적 논리를 구비하며, 상기 집적 논리는 상기 하나 이상의 복수의 디바이스들과 하나 이상의 복수의 스위치 각각 간의 SDN 루트를 결정하여 소프트웨어 정의 네트워크(SDN) 컨트롤러에 제공하는 것을 특징으로 한다.
As another background of the present invention, there is a software defined network (SDN) controller technology in which the route classification and prioritization function shown in FIG. 3 is programmed and a switch routing table is used. The technology includes a software defined network (SDN) controller coupled to one or more switches in the network, one or more devices connected to the one or more switches and one or more switches, SDN) controller having integrated logic performed by a processor, wherein the integration logic determines an SDN route between the one or more plurality of devices and each of one or more of the plurality of switches to provide to a software defined network (SDN) controller .

WOWO 20131392982013139298 A1A1 USUS 2013022322620130223226 A1A1 USUS 2013026600720130266007 A1A1 USUS 2013021521520130215215 A1A1 WOWO 20131043752013104375 A1A1 KRKR 10-2012-001628510-2012-0016285 AA KRKR 10-104483510-1044835 B1B1

'OpenFlow Switch Specification', Version 1.3.3 (Protocol version 0x04), Open Networking Foundation, September 27, 2013 'OpenFlow Switch Specification', Version 1.3.3 (Protocol version 0x04), Open Networking Foundation, September 27, 2013 'SDN Architecture Overview', Version 1.0, Open Networking Foundation, December 12, 2013  'SDN Architecture Overview', Version 1.0, Open Networking Foundation, December 12, 2013 'Software-Defined Networking: The New Norm for Networks', ONF White Paper, Open Networking Foundation, April 13, 2012   'Software-Defined Networking: The New Norm for Networks', ONF White Paper, Open Networking Foundation, April 13, 2012

네트워크 스위치에 복수의 컨트롤러가 접속된 환경에서 Slave 모드의 컨트롤러들 중 하나를 Master 모드로 변경하는 openflow 규격의 Switch migration 은, Master 모드로의 변경을 요청한 컨트롤러와 스위치간의 Master 모드 변경 여부와 그 시점을 구분할 수 있으나, 초기 상태로서 Master 모드였던 컨트롤러는 Slave 모드로 변경되었음을 인식할 수 있는 구성이 제공되지 않는 문제가 있다. 이로 인해 Master 모드였던 컨트롤러는 전달 지연(propagation delay)과 각 node가 packet을 처리하는 데 소요되는 처리 시간 지연(processing delay) 이후 스위치측으로 패킷을 전송(Packet-Out)하게 되고, 상기 스위치는 Slave Mode로 변경된 컨트롤러로부터의 패킷을 controller-to-switch 메시지로 간주하여 무시(drop out)하게 되어 패킷 손실(packet loss)이 불가피하다.In an environment where multiple controllers are connected to a network switch, switch migration of the openflow standard that changes one of the controllers of the slave mode to master mode determines whether or not the master mode is changed between the controller and the switch However, there is a problem that the controller which is in the master mode as an initial state is not provided with a configuration that recognizes that the mode is changed to the slave mode. As a result, the controller, which was in the master mode, transmits a packet to the switch side (packet-out) after the propagation delay and the processing delay required for each node to process the packet, A packet from the controller is regarded as a controller-to-switch message, and the packet loss is inevitable.

본 발명은, openflow 규격의 Switch migration에 있어서 초기 상태로서 Master 모드였던 컨트롤러가 Slave 모드로 변경되었음을 인식할 수 있는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법을 제공하는 것을 해결하고자 하는 과제로 한다.SUMMARY OF THE INVENTION The present invention provides a method for changing a switch connection in a software defined network having a plurality of controllers capable of recognizing that a controller that was in the master mode as an initial state in switch migration of the openflow standard is changed to the slave mode .

또한 본 발명은 openflow 규격의 Switch migration을 패킷 손실 없이 제공하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법을 제공하는 것을 해결하고자 하는 과제로 한다.
Another object of the present invention is to provide a switch connection changing method in a software defined network having a plurality of controllers that provide switch migration of an openflow standard without packet loss.

상기의 과제에 대해 본 발명은, 스위치로부터 packet이 전송되는 Master 모드의 컨트롤러가 openflow 규격의 Switch migration에 의해 Slave 모드로 변경되었음을 인식할 뿐만 아니라, 패킷 손실 없는 Switch migration 을 제공하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법을 과제의 해결 수단으로 제공한다.
In order to solve the above problem, the present invention is not limited to a system in which a master controller in which a packet is transmitted from a switch recognizes that the controller is switched to the slave mode by switch migration of the openflow standard, It provides a way to change the switch connection in a software defined network as a solution to the problem.

본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법에 의하면, openflow 규격의 Switch migration에 있어서 초기 상태로서 Master 모드였던 컨트롤러가 Slave 모드로 변경되었음을 인식할 수 있도록 하는 기술적 효과를 제공한다.According to the method for changing the switch connection in the software defined network having a plurality of controllers of the present invention, it is possible to provide a technical effect to enable the controller, which is in the master mode as the initial state in the switch migration of the openflow standard, to recognize that the controller has been changed to the slave mode .

또한 본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법에 의하면, openflow 규격의 Switch migration을 패킷 손실 없이 달성할 수 있도록 하는 작용 효과를 제공한다.
Further, according to the switch connection changing method in the software defined network having a plurality of controllers of the present invention, it is possible to achieve an effect of enabling switching migration of the openflow standard without packet loss.

도면 제1도는 본 발명의 배경 기술로서, 응용 계층 최적화를 제공하는 소프트웨어 정의 네트워킹 지원 기술의 구성
도면 제2도는 본 발명의 다른 배경 기술로서, 전송 기반의 스위칭 디바이스에서 분기 데이터 플레인을 제공하는 시스템 및 방법 기술의 구성
도면 제3도는 본 발명의 또 다른 배경 기술로서, 라우트 구분 및 우선 순위 부여 기능이 프로그램되고 스위치 라우팅 테이블을 이용하는 소프트웨어 정의 네트워크(SDN) 컨트롤러 기술의 구성
도면 제4도는 SDN 아키텍처의 논리적인 구조
도면 제5도는 본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크 구성의 일례
도면 제6도는 본 발명의 소프트웨어 정의 네트워크에서 복수의 컨트롤러 구성의 일례
도면 제7도는 ONF(Open Networking Foundation)의 Openflow switch 규격에 의한 스위치 접속의 변경(Migrate Switch)의 흐름
도면 제8도는 ONF(Open Networking Foundation)의 Openflow switch 규격에 의한 스위치 접속의 변경(Migrate Switch)에 따른 패킷 손실 과정
도면 제9도는 본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법의 처리 흐름
FIG. 1 is a schematic diagram of a configuration of a software-defined networking support technology that provides application layer optimization
FIG. 2 is a further background of the present invention as a system and methodology for providing a branch data plane in a transmission-based switching device.
FIG. 3 is a diagram of another configuration of a software defined network (SDN) controller technology in which a route classification and prioritization function is programmed and a switch routing table is used
Figure 4 shows the logical structure of the SDN architecture
FIG. 5 is an example of a software defined network configuration having a plurality of controllers according to the present invention;
6 shows an example of a plurality of controller configurations in a software defined network of the present invention
FIG. 7 shows a flow of a switch connection change (Migrate Switch) according to the OpenFlow switch standard of ONF (Open Networking Foundation)
FIG. 8 is a diagram illustrating a packet loss process according to a switch connection change according to an OpenFlow switch standard of ONF (Open Networking Foundation)
FIG. 9 is a flow chart of a process of changing a switch connection in a software defined network having a plurality of controllers according to the present invention;

이하의 내용은 단지 본 발명의 원리를 예시한다. 이에 따라 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예 들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다. 또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다.The following merely illustrates the principles of the invention. Accordingly, those skilled in the art will be able to devise various apparatuses which, although not explicitly described or shown herein, embody the principles of the invention and are included in the concept and scope of the invention. It is to be understood that all of the conditional terms and embodiments recited herein are expressly intended to be purely for purposes of understanding the concepts of the present invention and are not intended to be limiting to such specifically recited embodiments and conditions . It is also to be understood that the detailed description, as well as the principles, aspects and embodiments of the invention, as well as specific embodiments thereof, are intended to cover structural and functional equivalents thereof.

상술한 목적, 특징 및 장점들은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 더욱 분명해 질 것이다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다.
The above objects, features and advantages will become more apparent from the following detailed description in conjunction with the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

최근 클라우드 서비스의 출현, 모바일 기기와 콘텐츠의 폭발적인 증가, 서버 가상화 등은 기존의 전통적인 네트워크 아키텍처에 새로운 논의를 불러일으키는 주요한 트렌드로 등장하고 있다. 기존 대부분의 네트워크는 트리 구조로 배열된 이더넷 스위치 계층으로 만들어진 단계적인 구조로 이루어져 있다. 네트워크 부문에서 이러한 계층적인 디자인은 클라이언트-서버 컴퓨팅이 지배적인 상황에서의 일반적인 디자인이다. 하지만 이러한 고정적인 계층적 네트워크 구조는 오늘날의 대규모 기업용 데이터센터, 통신사업자 환경에서 요구되는 역동적인 컴퓨팅이나 스토리지 환경에는 적합하지 않다. 따라서 현재 네트워크 시장의 요구사항을 전통적인 네트워크 아키텍처로 충족시키는 것은 사실상 불가능하다. 결국 기존 네트워크 아키텍처는 오늘날의 소비자, 기업, 통신사업자 등 다양한 수요자들의 요구사항이 충족되도록 설계되어 있지 않아, 다음과 같은 다양한 한계점들이 나타나고 있는 것이다.The recent emergence of cloud services, the explosive growth of mobile devices and content, and server virtualization are emerging as major trends for new discussion on traditional traditional network architectures. Most existing networks consist of a hierarchical structure made up of an Ethernet switch layer arranged in a tree structure. In the network sector, this hierarchical design is a common design in a situation where client-server computing dominates. However, this fixed hierarchical network architecture is not suitable for the dynamic computing or storage environments required by today's large enterprise data centers and carrier environments. It is virtually impossible to meet the requirements of the current network market with traditional network architectures. As a result, the existing network architecture is not designed to meet the needs of various consumers such as today's consumers, companies, and telecom operators.

소프트웨어 정의 네트워크 또는 소프트웨어 정의 네트워킹(SDN: software defined networking)은 네트워크 제어 기능이 패킷 포워딩과 분리되어 직접 프로그래밍을 지원하는 네트워크 아키텍처이다. SDN에서는 접근 가능한 컴퓨팅 장치로 제어 영역이 분리되어 컴퓨팅장치로 이주됨에 따라, 논리적 또는 가상적인 실체로서 네트워크를 관리, 제어할 수 있는 애플리케이션 및 네트워크 서비스의 이용이 가능하다.Software-defined network or software defined networking (SDN) is a network architecture in which network control functions are separated from packet forwarding and support direct programming. In the SDN, since the control area is separated and accessible to the computing device as an accessible computing device, it is possible to utilize applications and network services that can manage and control the network as a logical or virtual entity.

도면 제4도는 SDN 아키텍처의 논리적인 구조를 나타내고 있는데, 네트워크의 핵심적인 기능이 네트워크를 전체적으로 제어하는 소프트웨어 기반의 SDN 컨트롤러에 집중되어 있다. 따라서 네트워크는 하나의 논리적 스위치와 같은 응용 프로그램으로 나타난다. 또한 네트워크를 제어계층에 중앙집중화함으로써, SDN은 네트워크의 설정, 관리, 보안 등에 있어 유연성을 제공하고, SDN 프로그램을 통해 네트워크 리소스를 최적화할 수 있다. 이와 같은 SDN 아키텍처는 라우팅, 멀티 캐스트, 보안, 액세스 제어, 대역폭 관리, 트래픽 엔지니어링, 프로세서 및 스토리지 최적화, 서비스 품질, 에너지 사용량, 모든 형태의 정책관리를 포함하여, 사용자가 비즈니스 목표에 부합하는 맞춤형으로 네트워크 서비스를 구현할 수 있도록 API의 집합을 제공한다. 따라서 SDN 제어와 애플리케이션 계층 사이에 개방형 API를 사용함으로써 비즈니스 애플리케이션들의 수행을 위한 세부 사항에 얽매이지 않고, 네트워크 서비스와 기능을 활용하여 네트워크에서 작동할 수 있다.Figure 4 shows the logical structure of the SDN architecture, where the core functions of the network are focused on a software-based SDN controller that controls the network as a whole. Thus, the network appears as an application, such as a single logical switch. By centralizing the network to the control layer, SDN also provides flexibility in network configuration, management and security, and can optimize network resources through the SDN program. This SDN architecture enables users to customize their business objectives to meet their business objectives, including routing, multicast, security, access control, bandwidth management, traffic engineering, processor and storage optimization, quality of service, energy usage, Provides a set of APIs to implement network services. Thus, by using an open API between the SDN control and the application layer, it is not tied to details for the execution of business applications and can operate on the network utilizing network services and functions.

SDN의 핵심 컴포넌트인 OpenFlow 기술은 기존의 폐쇄적인 네트워킹 기술을 개방형 네트워킹 기술로 변화시켜서 새로운 네트워킹 기술 발전을 위한 기반을 제공하였다. OpenFlow 기술의 상용화 및 표준화를 촉진시키기 위해서 설립된 ONF(Open Networking Foundation)는 네트워킹 기술을 컴퓨팅 기술로 재해석하고 OpenFlow 기술을 기반으로 SDN(Software-Defined Networking) 기술을 정의하였다.OpenFlow technology, a core component of SDN, has transformed traditional closed networking technologies into open networking technologies, providing the basis for developing new networking technologies. Established to promote commercialization and standardization of OpenFlow technology, ONF (Open Networking Foundation) redefined networking technology as a computing technology and defined Software-Defined Networking (SDN) technology based on OpenFlow technology.

OpenFlow는 표준 통신 인터페이스에 해당하는 일종의 라우팅 프로토콜로서 이해할 수 있다. 따라서 OpenFlow는 OpenFlow 컨트롤러와 OpenFlow 지원 네트워크 장비(스위치/라우터) 사이에서 커뮤니케이션 역할을 담당한다. 현재 IP 기반의 라우팅(routing)에서는 다양한 요구수준에 상관없이 두 종단점 사이(endpoint to endpoint)의 데이터 흐름을 네트워크 안에서 동일한 경로로 흐르게 하여, 결국 사용자에게 애플리케이션 및 세션 계층에서의 컨트롤을 제공하지 못하고 있다. 일반적으로 네트워크 장비(라우터, 스위치)는 하드웨어 기반의 플로우 테이블(flow table)을 이용하여 네트워크 트래픽을 처리하고 있다. 하지만 OpenFlow 기술은 소프트웨어 컨트롤러를 통해 플로우 테이블을 조작하여 데이터 경로를 설정함으로써 프로그래머블 네트워크 장비를 제공한다.
OpenFlow can be understood as a kind of routing protocol corresponding to a standard communication interface. Therefore, OpenFlow acts as a communication between OpenFlow controller and OpenFlow-enabled network equipment (switch / router). Current IP-based routing does not allow the flow of data between two endpoints to the same path in the network, regardless of various levels of demand, and ultimately fails to provide control to the user at the application and session layer . In general, network devices (routers, switches) handle network traffic using hardware-based flow tables. However, OpenFlow technology provides programmable network equipment by manipulating the flow table through the software controller to set the data path.

도면 제5도는 본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크 구성의 일례를 도시한다. 본 발명의 소프트웨어 정의 네트워크는 도면 하단에 도시된 물리적 네트워크 인프라(Physical Network Infrastructure)와 상기 물리적 네트워크 인프라가 접속되는 분산 SDN 제어 플레인(Distributed SDN Control Plane)을 구비한다. 상기 분산 SDN 제어 플레인은 복수개의 노드들 및 상기 노드들에 대한 분산 데이터를 저장하는 분산 데이터 저장부(Distributed Data Store)가 구비되고, 상기 각각의 노드는 물리적 네트워크 인프라가 접속되는 코어 제어 모듈 및 상기 코어 제어 모듈을 통해 물리적 네트워크 인프라에 제공되는 어플리케이션들이 구비된다. 상기 분산 SDN 제어 플레인(Distributed SDN Control Plane)은 컨트롤러들로써 구성되는데, 물리적 네트워크 인프라에 대한 부하량을 계측(Load Measurement)하고 부하 적응 판단부(Load Adaptation Decisions)로써 부하의 균형 상태를 연산한다. 상기 분산 SDN 제어 플레인은 상기 부하 적응 판단부에 의한 부하의 균형 상태에 따라 소프트웨어 정의 네트워크(SDN)을 제어하는 조치를 수행하게되며, 스위치 접속의 변경(Migrate Switch)이나 컨트롤러의 제거 또는 부가 접속을 수행한다.
FIG. 5 shows an example of a software defined network configuration having a plurality of controllers according to the present invention. The software defined network of the present invention includes a Distributed SDN Control Plane to which the physical network infrastructure and the physical network infrastructure shown in the lower part of the figure are connected. Wherein the distributed SDN control plane includes a plurality of nodes and a distributed data store for storing distributed data for the nodes, each of the nodes including a core control module to which a physical network infrastructure is connected, And applications provided to the physical network infrastructure through the core control module. The Distributed SDN Control Plane is configured as a controller that measures the load on the physical network infrastructure and calculates the balance state of the load by using Load Adaptation Decisions. The distributed SDN control plane performs a control to control a software defined network (SDN) according to the balance state of the load by the load adaptation determination unit, and performs a change of a switch connection, a removal of a controller, .

도면 제6도는 본 발명의 소프트웨어 정의 네트워크에서 복수의 컨트롤러 구성의 일례를 도시한다. 분산 SDN 제어 플레인(Distributed SDN Control Plane)에 있어서 트래픽이 적은 경우에는 단일의 컨트롤러에 의한 Single Control Plane 구성이 가능하다. 그러나 트래픽이 증가하여 병목 현상이 발생하는 것을 방지하기 위해서는 복수의 컨트롤러에 의한 Multi-Control Plane으로 구성하여 분산 처리를 수행해야 한다. 다수의 컨트롤러가 SDN network를 관리하는 환경에서는 스위치별로 하나 이상의 컨트롤러가 접속되어 각 스위치들을 제어한다. 이때 스위치는 상기 컨트롤러들을 Equal, Master, Slave의 세가지 모드로 구분하여 구동되며, 상기 컨트롤러들은 스위치에 대한 접속과 함께 컨트롤러들 간의 별도의 채널이 구비되어 정보를 교환할 수 있도록 구성된다.FIG. 6 shows an example of a plurality of controller configurations in a software defined network of the present invention. When there is less traffic in the Distributed SDN Control Plane, a Single Control Plane can be configured by a single controller. However, in order to prevent bottleneck due to increase of traffic, it is necessary to construct a multi-control plane by a plurality of controllers and perform distributed processing. In an environment where multiple controllers manage the SDN network, one or more controllers are connected to each switch to control each switch. At this time, the switch is operated by dividing the controllers into three modes of Equal, Master, and Slave, and the controllers are configured to exchange information with a separate channel between the controllers together with connection to the switch.

이때 Equal 모드의 컨트롤러는 접속된 스위치에 대한 접근이 허용되고 스위치로부터 제공되는 asynchronous 메시지를 모두 전송받을 수 있다. Equal 모드의 컨트롤러는 접속된 스위치 측으로 controller-to-switch 메시지를전송함으로써 스위치의 모드를 변경할 수 있다. The controller in Equal mode is allowed access to the connected switch and receives all asynchronous messages from the switch. A controller in Equal mode can change the mode of a switch by sending a controller-to-switch message to the connected switch.

Master 모드의 컨트롤러는 Equal 모드와 마찬가지로 접속된 스위치에 대한 모든 접근이 허용되고 스위치로부터 제공되는 asynchronous 메시지를 모두 전송받을 수 있다. 또한 Master 모드의 컨트롤러는 접속된 스위치 측으로 controller-to-switch 메시지를 전송함으로써 스위치의 모드를 변경할 수 있다. 다만 Equal 모드와 Master 모드의 다른 점은 Master 컨트롤러가 각 스위치 마다 단일의 컨트롤러로 존재하여야 한다는 점이다. Master mode controllers, like Equal mode, are allowed full access to the connected switch and receive all asynchronous messages from the switch. The master mode controller can also change the mode of the switch by sending a controller-to-switch message to the connected switch. However, the difference between Equal mode and Master mode is that the Master controller must exist as a single controller for each switch.

Slave 모드의 컨트롤러는 스위치에 대해 읽기전용의 접근만이 가능하다. Slave 모드의 컨트롤러는 스위치로부터 제공되는 asynchronous 메시지를 받을 수 없고, 스위치의 상태를 변경하기 위한 controller-to-switch 메시지를 스위치 측으로 전송하는 경우 스위치는 컨트롤러 측으로 error packet을 전송하도록 구성되므로 Slave 모드의 컨트롤러가 전송하는 controller-to-switch 메시지를 무시한다. 따라서 Slave 모드의 컨트롤러는 OFPT_ROLE_REQUEST 메시지를 사용하여 스위치의 상태를 변경한다.The controller in slave mode only has read-only access to the switch. If the controller in the slave mode can not receive the asynchronous message provided by the switch and the controller transmits the controller-to-switch message for changing the state of the switch to the switch side, the switch is configured to send the error packet to the controller side. Ignore the controller-to-switch messages sent by the controller. Therefore, the controller in Slave mode uses the OFPT_ROLE_REQUEST message to change the state of the switch.

복수의 컨트롤러에 의해 SDN network을 관리하는 환경에서 Switch Migration 을 수행하는 데 있어서 반드시 유지되어야 하는 조건이 있다. 그것은 Safety 조건과 Liveness 조건이다. There is a condition that must be maintained in performing switch migration in an environment where the SDN network is managed by a plurality of controllers. It is a safety condition and a liveness condition.

Safety 조건은 스위치로부터 제공되는 모든 메시지들이 단일의 컨트롤러에 의해 처리되어야 한다는 것이다. 만약 스위치로부터 제공되는 메시지가 둘 이상의컨트롤러에 의해 동시에 처리된다면 처리 과정이 다를 수도 있고 처리 정보가 스위치 측에 중첩되어 원치 않는 결과가 나타나기 때문이다. 스위치로부터 제공되는 하나의 메시지가 둘 이상의 컨트롤러들에서 각기 다른 처리를 하고 각각 다른 명령을 스위치에 전송하면 각 컨트롤러로부터의 명령들은 스위치에서 중첩되어 같은 flow에 속하는 packet들에 대해 여러 개의 다른 명령이 부여될 수 있다. 그렇기 때문에 스위치로부터 제공되는 메시지는 단일의 컨트롤러에서 처리해야한다. 이러한 Safety 조건을 유지하기 위해서는 복수의 컨트롤러가 SDN network를 관리하는 환경에서 컨트롤러들에 대해 스위치로부터 제공되는 메시지들을 확인하고 그에 따른 명령을 할 수 있는 Equal 모드를 이용하는 Switch Migration은 적합하지 않다. A safety condition is that all messages from the switch must be processed by a single controller. If the messages provided by the switch are processed by more than one controller at the same time, the processing may be different and the processing information may be superimposed on the switch side, resulting in undesirable results. When a message provided by a switch performs different processing on two or more controllers and transmits different commands to the switch, commands from each controller are superimposed on the switches to give different commands to the packets belonging to the same flow . Therefore, the messages provided by the switch must be processed by a single controller. In order to maintain these safety conditions, Switch Migration using Equal mode is not suitable for checking the messages provided by the switch to the controllers in an environment where multiple controllers manage the SDN network.

다음으로 Liveness 조건이란 각 스위치별로 적어도 하나의 컨트롤러는 active한 상태로 접속되어 있어야 한다는 것이다. 다시 말해 Liveness 조건을 충족하기 위해서는 스위치로부터 제공되는 메시지를 처리하기 위해서 스위치에는 항상 Master 모드의 컨트롤러나 Equal 모드의 컨트롤러가 하나 이상 접속되어 있어야 한다. Liveness 조건만을 고려하면, 스위치에 접속되어 있는 모든 컨트롤러를 Equal 모드로 할당하면 될 수 있겠으나, 동시에 Safety 조건을 만족하기 위해서는 Master 모드와 Slave 모드를 사용해야 한다.
Next, the liveness condition means that at least one controller for each switch should be connected in an active state. In other words, in order to satisfy the liveness condition, the switch must always have at least one master mode controller or at least one equal-mode controller in order to process the messages provided by the switch. Considering only the liveness condition, all controllers connected to the switch can be assigned to the Equal mode, but at the same time, the Master mode and the Slave mode must be used to satisfy the safety condition.

도면 제7도는 ONF(Open Networking Foundation)의 Openflow switch 규격에 의한 스위치 접속의 변경(Migrate Switch)의 흐름을 도시한다. Migration이란 스위치에 하나 이상의 컨트롤러가 접속된 환경에서 Slave 모드의 컨트롤러들 중 하나를 Master 모드로 변경하는 것이다. 도면에서는 초기 상태로서 Slave 모드의 컨트롤러를 제1컨트롤러(100), 초기 상태로서 Master 모드의 컨트롤러를 제2컨트롤러(200), 그리고 상기 제1컨트롤러(100)와 제2컨트롤러(200)가 접속된 스위치(300)를 예로 들어 설명한다.FIG. 7 shows the flow of a switch connection change (Migrate Switch) according to the OpenFlow switch standard of ONF (Open Networking Foundation). Migration means changing one of the controllers in Slave mode to Master mode in an environment where more than one controller is connected to the switch. In the drawing, the controller in the slave mode is referred to as the first controller 100 as an initial state, the controller in the master mode in the initial state is referred to as the second controller 200, and the first controller 100 and the second controller 200 are connected The switch 300 will be described as an example.

Openflow 규격에 의하면;According to the Openflow standard;

- Master 모드로 변경이 요구되는 Slave 모드의 제1컨트롤러(100)는 접속된 스위치(300)측으로 OFPT_ROLE_REQUEST 메시지를 이용하여 Master 모드로의 변경을 요청(S010)한다. - The first controller 100 in the slave mode requiring a change to the master mode requests the switch 300 to change to the master mode using the OFPT_ROLE_REQUEST message (S010).

- OFPT_ROLE_REQUEST 메시지를 전송받은 스위치(300)는 OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)를 Master 모드로 변경하고 이전의 Master 모드 상태였던 제2콘트롤러(200)를 Slave 모드로 변경한다. 이어 스위치(300)는 OFPT_ROLE_REQUEST 메시지를 이용하여 Master 모드로의 변경을 요청한 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송(S020)한다.The switch 300 receiving the OFPT_ROLE_REQUEST message changes the first controller 100 that has transmitted the OFPT_ROLE_REQUEST message to the master mode and changes the second controller 200 that was in the previous master mode to the slave mode. The switch 300 transmits a Role Reply to the first controller 100 requesting change to the Master mode using the OFPT_ROLE_REQUEST message (S020).

이때 스위치(300)는, 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송하는 시점부터 제1컨트롤러(100)를 Master 컨트롤러로 인식하고, OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)는 스위치(300)로부터 Role Reply를 전송받는 시점부터 Master 컨트롤러로 접속된다.At this time, the switch 300 recognizes the first controller 100 as a Master controller from the time of transmitting the Role Reply indicating that the mode is changed to the Master mode to the first controller 100, and transmits the OFPT_ROLE_REQUEST message to the first controller 100 Is connected to the master controller from the time when the relay reply is received from the switch 300.

상기와 같은 ONF(Open Networking Foundation)의 Openflow switch 규격에 의한 스위치 접속의 변경(Migrate Switch)은 도면에서 확인할 수 있듯이, Master 모드로의 변경을 요청한 제1컨트롤러(100)와 스위치(300)간의 Master 모드 변경 여부와 그 시점을 구분할 수 있으나, 초기 상태로서 Master 모드였던 제2컨트롤러(200)는 Slave 모드로 변경되었음을 인식할 수 있는 구성이 제공되지 않는 문제가 있다.
As shown in the figure, the switch between the first controller 100 and the switch 300 that requests the change to the master mode is a switch between the switch 300 and the switch 300, It is possible to distinguish whether or not the mode is changed, but there is a problem that the second controller 200, which was the master mode as an initial state, is not provided with a configuration capable of recognizing that the mode has been changed to the slave mode.

도면 제8도는 ONF(Open Networking Foundation)의 Openflow switch 규격에 의한 스위치 접속의 변경(Migrate Switch)에 따른 패킷 손실 과정을 도시한다.FIG. 8 is a diagram illustrating a packet loss process according to a switch connection change according to an OpenFlow switch standard of ONF (Open Networking Foundation).

스위치 접속의 변경(Migrate Switch)에 따른 패킷 손실은 스위치(300)로부터 Master 모드의 제2컨트롤러(200)측으로 packet을 전송하게 되면 전달 지연(propagation delay)과 각 node가 packet을 처리하는 데 소요되는 처리 시간 지연(processing delay)가 발생한다. 이를 도면 제7도의 Openflow 규격에 의한 스위치 접속의 변경(Migrate Switch)에 적용하여 설명하면 다음과 같다.When a packet is transmitted from the switch 300 to the second controller 200 in the master mode, the packet loss due to the change of the switch connection (migration switch) A processing delay occurs. This is applied to a switch connection change (Migrate Switch) according to the Openflow standard of FIG. 7 as follows.

- Master 모드의 제2컨트롤러(200)측으로 스위치(300)로부터 packet이 전송되고(S000), - A packet is transmitted from the switch 300 to the second controller 200 side in the Master mode (S000)

- Master 모드로 변경이 요구되는 Slave 모드의 제1컨트롤러(100)는 접속된 스위치(300)측으로 OFPT_ROLE_REQUEST 메시지를 이용하여 Master 모드로의 변경을 요청(S010)한다. - The first controller 100 in the slave mode requiring a change to the master mode requests the switch 300 to change to the master mode using the OFPT_ROLE_REQUEST message (S010).

- OFPT_ROLE_REQUEST 메시지를 전송받은 스위치(300)는 OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)를 Master 모드로 변경하고 이전의 Master 모드 상태였던 제2콘트롤러(200)를 Slave 모드로 변경한다. 이어 스위치(300)는 OFPT_ROLE_REQUEST 메시지를 이용하여 Master 모드로의 변경을 요청한 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송(S020)한다.The switch 300 receiving the OFPT_ROLE_REQUEST message changes the first controller 100 that has transmitted the OFPT_ROLE_REQUEST message to the master mode and changes the second controller 200 that was in the previous master mode to the slave mode. The switch 300 transmits a Role Reply to the first controller 100 requesting change to the Master mode using the OFPT_ROLE_REQUEST message (S020).

이때 스위치(300)는, 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송하는 시점부터 제1컨트롤러(100)를 Master 컨트롤러로 인식하고, OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)는 스위치(300)로부터 Role Reply를 전송받는 시점부터 Master 컨트롤러로 접속된다.At this time, the switch 300 recognizes the first controller 100 as a Master controller from the time of transmitting the Role Reply indicating that the mode is changed to the Master mode to the first controller 100, and transmits the OFPT_ROLE_REQUEST message to the first controller 100 Is connected to the master controller from the time when the relay reply is received from the switch 300.

- Master 모드였던 제2컨트롤러(200)는 상기 스위치(300)가 Role Reply를 제1컨트롤러(100)로 전송하는 시점부터 Slave Mode로 변경되었으므로, 전달 지연(propagation delay)과 각 node가 packet을 처리하는 데 소요되는 처리 시간 지연(processing delay) 이후 제2컨트롤러(200)로부터 스위치(300)측으로 패킷을 전송(Packet-Out)하면(S030), 상기 스위치(300)는 Slave Mode의 제2컨트롤러(200)로부터의 패킷을 controller-to-switch 메시지로 간주하여 무시(drop out)한다. 따라서 상기 과정에서는 패킷 손실(packet loss)이 불가피하다.
The second controller 200 in the master mode has been changed from the time when the switch 300 transmits the relay reply to the first controller 100 to the slave mode so that the propagation delay and each node processes the packet The packet is transmitted from the second controller 200 to the switch 300 in step S030 after a processing delay for processing the first controller 200. The switch 300 is connected to the second controller 200 as a controller-to-switch message and drops it out. Therefore, packet loss is inevitable in the above process.

도면 제9도는 본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법의 처리 흐름을 도시한다. FIG. 9 shows a processing flow of a switch connection changing method in a software defined network having a plurality of controllers according to the present invention.

적어도 하나의 Slave 모드 컨트롤러로서 제1컨트롤러(100)와, 단일의 Master 모드의 제2컨트롤러(200)를 포함하고 상기 제1컨트롤러(100)와 제2컨트롤러(200)가 스위치(300)에 접속되고, 상기 제1컨트롤러(100)와 제2컨트롤러(200)가 컨트롤러들 간의 채널을 통해 연결되어 구성되는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법으로서, 이하 도면을 인용하여 본 발명의 구성을 상세하게 설명한다. A first controller 100 as a slave mode controller and a second controller 200 in a single master mode and wherein the first controller 100 and the second controller 200 are connected to the switch 300 Wherein the first controller (100) and the second controller (200) are connected to each other through a channel between controllers, the method comprising: Will be described in detail.

- Master 모드의 제2컨트롤러(200)측으로 스위치(300)로부터 packet이 전송되고(S100), A packet is transmitted from the switch 300 to the second controller 200 in the Master mode (S100)

- Slave 모드로 변경이 요구되는 Master 모드의 제2컨트롤러(200)는 컨트롤러들 간의 채널을 통해 Switch migration의 시작을 알리는 packet을 Slave 모드의 제1컨트롤러(100) 측으로 전송한다. 이때 상기 제2컨트롤러(200)는 Switch migration의 시작을 알리는 packet에 time stamp 정보를 부가하여 제1컨트롤러(100) 측으로 전송(S110)한다. 이후 Master 모드의 제2컨트롤러(200)는 스위치(300)로부터 제공되는 packet을 처리하지 않고 내부에 저장 보관한다.The second controller 200 in Master mode, which is requested to change to the slave mode, transmits a packet indicating the start of switch migration to the first controller 100 side of the slave mode through the channel between the controllers. At this time, the second controller 200 adds time stamp information to the packet indicating the start of switch migration and transmits it to the first controller 100 (S110). Thereafter, the second controller 200 in the master mode stores and stores the packet provided from the switch 300 without processing.

- Master 모드의 제2컨트롤러(200)로부터 Switch migration의 시작을 알리는 packet을 전송받은 Slave 모드의 제1컨트롤러(100)는 접속된 스위치(300)측으로 OFPT_ROLE_REQUEST 메시지를 이용하여 Master 모드로의 변경을 요청(S120)한다. The first controller 100 of the slave mode which has received the packet informing the start of the switch migration from the second controller 200 in the master mode requests to the connected switch 300 side to change to the master mode by using the OFPT_ROLE_REQUEST message (S120).

- OFPT_ROLE_REQUEST 메시지를 전송받은 스위치(300)는 OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)를 Master 모드로 변경하고 이전의 Master 모드 상태였던 제2콘트롤러(200)를 Slave 모드로 변경한다. 이어 스위치(300)는 OFPT_ROLE_REQUEST 메시지를 이용하여 Master 모드로의 변경을 요청한 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송(S130)한다.The switch 300 receiving the OFPT_ROLE_REQUEST message changes the first controller 100 that has transmitted the OFPT_ROLE_REQUEST message to the master mode and changes the second controller 200 that was in the previous master mode to the slave mode. Then, the switch 300 transmits a Role Reply to the first controller 100 requesting the change to the Master mode using the OFPT_ROLE_REQUEST message (Step S130).

이때 스위치(300)는, 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송하는 시점부터 제1컨트롤러(100)를 Master 컨트롤러로 인식하고, OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)는 스위치(300)로부터 Role Reply를 전송받는 시점부터 Master 컨트롤러로서 스위치(300)에 접속된다.At this time, the switch 300 recognizes the first controller 100 as a Master controller from the time of transmitting the Role Reply indicating that the mode is changed to the Master mode to the first controller 100, and transmits the OFPT_ROLE_REQUEST message to the first controller 100 Is connected to the switch 300 as a master controller from the time of receiving the relay reply from the switch 300. [

- 이어 스위치(300)로부터 Role Reply를 전송받아 Master 모드로 변경되었음을 판단한 제1컨트롤러(100)는, Slave 모드로 변경된 제2콘트롤러(200)에 대해 Switch migration 정보를 전송받을 준비가 되었음을 알리는 Ready for Migration packet을 컨트롤러들 간의 채널을 통해 전송(S140)한다. 상기 제1컨트롤러(100)는 Ready for Migration packet에 time stamp 정보를 부가하여 제2컨트롤러(200) 측으로 전송한다.The first controller 100 receives the relay reply from the earswitch 300 and determines that the master mode has been changed. The first controller 100 notifies the second controller 200 that the slave mode has been changed to Ready for And transmits the migration packet through the channel between the controllers (S140). The first controller 100 adds time stamp information to the Ready for Migration packet and transmits it to the second controller 200 side.

- 다음으로 Ready for Migration packet을 전송받은 제2컨트롤러(200)는 스위치(300)로 ‘Hello' 패킷을 전송(S150)하고,Next, the second controller 200 receiving the Ready for Migration packet transmits a 'Hello' packet to the switch 300 (S150)

- 상기 스위치(300)는 Slave 모드로 변경된 제2컨트롤러(200)로부터의‘Hello' 패킷에 대해 에러 메시지를 전송(S160)한다. 따라서 제2컨트롤러(200)는 이전의 Master 모드로부터 Slave 모드로 변경되었음을 판단할 수 있다.- The switch 300 transmits an error message to the 'Hello' packet from the second controller 200 changed to the slave mode (S160). Therefore, the second controller 200 can determine that the master mode has been changed from the previous master mode to the slave mode.

- 다음으로 Slave 모드로 변경된 제2컨트롤러(200)는 Master 모드로 변경된 제1컨트롤러(100)측으로 Switch migration이 완료되었음을 알리는 End of Migration 메시지 및 처리하지 않고 내부에 저장 보관된 패킷을 컨트롤러들 간의 채널을 통해 전송(S170)한다. 이때 Master 모드로 변경된 제1컨트롤러(100)는 Switch migration의 시작을 알리는 packet에 포함된 time stamp와 Ready for Migration packet의 time stamp 정보를 참조하여 Slave 모드로 변경된 제2컨트롤러(200)에 저장 보관되었던 패킷을 처리함으로써 패킷 손실을 방지한다.
Next, the second controller 200 changed to the slave mode transmits an End of Migration message informing that the switch migration is completed to the first controller 100 which has been changed to the master mode, (S170). At this time, the first controller 100 changed to the master mode refers to the time stamp information included in the packet indicating the start of the switch migration and the time stamp information of the Ready for Migration packet, and stores it in the second controller 200 changed to the slave mode Packet loss is prevented by processing the packet.

이상과 같이 설명된 본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법에 의하면, openflow 규격의 Switch migration을 패킷 손실 없이 제공하는 특징이 있다.
According to the switch connection changing method in the software defined network having the plurality of controllers of the present invention described above, the switch migration of the openflow standard is provided without packet loss.

본 발명의 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법은 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술 사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
Although the method for changing a switch connection in a software defined network having a plurality of controllers according to the present invention has been described with reference to the limited embodiments and drawings, the present invention is not limited thereto and the present invention is not limited thereto. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

100 : 제1컨트롤러 200 : 제2컨트롤러
300 : 스위치
100: first controller 200: second controller
300: Switch

Claims (7)

적어도 하나의 Slave 모드 컨트롤러로서 제1컨트롤러(100)와, 단일의 Master 모드의 제2컨트롤러(200)를 포함하고 상기 제1컨트롤러(100)와 제2컨트롤러(200)가 스위치(300)에 접속되고, 상기 제1컨트롤러(100)와 제2컨트롤러(200)가 컨트롤러들 간의 채널을 통해 연결되어 구성되는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법으로서,
- Master 모드의 제2컨트롤러(200)측으로 스위치(300)로부터 packet이 전송되는 단계(S100),
- Slave 모드로 변경이 요구되는 Master 모드의 제2컨트롤러(200)가 컨트롤러들 간의 채널을 통해 Switch migration의 시작을 알리는 packet을 Slave 모드의 제1컨트롤러(100) 측으로 전송하는 단계(S110),
- 이어 Master 모드의 제2컨트롤러(200)로부터 Switch migration의 시작을 알리는 packet을 전송받은 Slave 모드의 제1컨트롤러(100)가, 접속된 스위치(300)측으로 OFPT_ROLE_REQUEST 메시지를 전송하여 Master 모드로의 변경을 요청하는 단계(S120),
- OFPT_ROLE_REQUEST 메시지를 전송받은 스위치(300)는, OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)를 Master 모드로 변경하고 이전의 Master 모드 상태였던 제2콘트롤러(200)를 Slave 모드로 변경하며, 또한 스위치(300)는 OFPT_ROLE_REQUEST 메시지를 이용하여 Master 모드로의 변경을 요청한 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송하는 단계(S130)를 수행하고,
- 이어 스위치(300)로부터 Role Reply를 전송받아 Master 모드로 변경되었음을 판단한 제1컨트롤러(100)가, Slave 모드로 변경된 제2콘트롤러(200)에 대해 Switch migration 정보를 전송받을 준비가 되었음을 알리는 Ready for Migration packet을 컨트롤러들 간의 채널을 통해 전송하는 단계(S140),
- 다음으로 Ready for Migration packet을 전송받은 제2컨트롤러(200)는 스위치(300)로 ‘Hello' 패킷을 전송하는 단계(S150),와
- 상기 스위치(300)는 Slave 모드로 변경된 제2컨트롤러(200)로부터의‘Hello' 패킷에 대해 에러 메시지를 전송하는 단계(S160),
- 다음으로 Slave 모드로 변경된 제2컨트롤러(200)는 Master 모드로 변경된 제1컨트롤러(100)측으로 Switch migration이 완료되었음을 알리는 End of Migration 메시지 및 처리하지 않고 내부에 저장 보관된 패킷을 컨트롤러들 간의 채널을 통해 전송하는 단계(S170),
의 수순으로 구성된 것을 특징으로 하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법
A first controller 100 as a slave mode controller and a second controller 200 in a single master mode and wherein the first controller 100 and the second controller 200 are connected to the switch 300 And a plurality of controllers connected to the first controller (100) and the second controller (200) through a channel between the controllers, the method comprising:
A step S100 of transmitting a packet from the switch 300 to the second controller 200 of the master mode,
Transmitting, by the second controller 200 of the master mode requiring the change to the slave mode, a packet indicating the start of switch migration to the first controller 100 in the slave mode through a channel between the controllers (S110);
The first controller 100 of the slave mode which has received the packet informing the start of the switch migration from the second controller 200 of the master mode transmits the OFPT_ROLE_REQUEST message to the connected switch 300 side to change to the master mode (S120), < / RTI >
The switch 300 having received the OFPT_ROLE_REQUEST message changes the first controller 100 that has transmitted the OFPT_ROLE_REQUEST message to the master mode and changes the second controller 200 that was in the previous Master mode to the slave mode, The controller 300 performs a step S130 of transmitting a role reply to the first controller 100 requesting change to the master mode using the OFPT_ROLE_REQUEST message,
Then, the first controller 100 that has received the Role Reply from the switch 300 and has been changed to the master mode is ready for informing that it is ready to receive switch migration information for the second controller 200 changed to the slave mode. Transmitting a migration packet through a channel between controllers (S140),
Next, the second controller 200 receiving the Ready for Migration packet transmits a 'Hello' packet to the switch 300 (S150), and
- The switch 300 transmits an error message to the 'Hello' packet from the second controller 200 changed to the slave mode (S160)
Next, the second controller 200 changed to the slave mode transmits an End of Migration message informing that the switch migration is completed to the first controller 100 which has been changed to the master mode, (S170),
And a method for changing a switch connection in a software defined network having a plurality of controllers
제1항에 있어서 상기 Slave 모드로 변경이 요구되는 Master 모드의 제2컨트롤러(200)가 컨트롤러들 간의 채널을 통해 Switch migration의 시작을 알리는 packet을 Slave 모드의 제1컨트롤러(100) 측으로 전송하는 단계(S110)는,
상기 제2컨트롤러(200)가 Switch migration의 시작을 알리는 packet에 time stamp 정보를 부가하여 제1컨트롤러(100) 측으로 전송하는 단계를 더 구비한 것을 특징으로 하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법
2. The method of claim 1, wherein the second controller 200 of the master mode requiring the change to the slave mode transmits a packet indicating the start of switch migration to the first controller 100 in the slave mode through a channel between the controllers. (S110),
In the software defined network having a plurality of controllers, the second controller 200 further comprises the step of adding time stamp information to the packet indicating the start of the switch migration to the first controller 100 side. How to change the switch connection
제2항에 있어서 상기 제2컨트롤러(200)가 Switch migration의 시작을 알리는 packet에 time stamp 정보를 부가하여 제1컨트롤러(100) 측으로 전송하는 단계(S110)는,
상기 제2컨트롤러(200)가 Switch migration의 시작을 알리는 packet에 time stamp 정보를 부가하여 제1컨트롤러(100) 측으로 전송한 이후, 제2컨트롤러(200)가 스위치(300)로부터 제공되는 packet을 처리하지 않고 내부에 저장 보관하는 단계를 수행하도록 구성된 것을 특징으로 하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법
The method of claim 2, wherein the second controller 200 adds time stamp information to a packet indicating the start of switch migration and transmits the time stamp information to the first controller 100 (S110).
After the second controller 200 adds time stamp information to the packet indicating the start of switch migration and transmits the packet to the first controller 100, the second controller 200 processes the packet provided from the switch 300 And storing and storing the program in a software definition network having a plurality of controllers.
제1항에 있어서 상기 스위치(300)가 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송하는 단계(S130)에 있어서,
상기 스위치(300)는 상기 Role Reply를 전송하는 시점부터 제1컨트롤러(100)를 Master 컨트롤러로 인식하도록 구성된 것을 특징으로 하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법
The method of claim 1, wherein in the step S130 of transmitting a relay reply indicating that the switch 300 has been changed to the master mode to the first controller 100 side,
Wherein the switch (300) is configured to recognize the first controller (100) as a master controller from the time of transmitting the Role Reply.
제1항에 있어서 상기 스위치(300)가 제1컨트롤러(100) 측으로 Master 모드로 변경되었음을 알리는 Role Reply를 전송하는 단계(S130)에 있어서,
OFPT_ROLE_REQUEST 메시지를 전송한 제1컨트롤러(100)는 스위치(300)로부터 Role Reply를 전송받는 시점부터 Master 컨트롤러로서 스위치(300)에 접속되도록 구성된 것을 특징으로 하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법
The method of claim 1, wherein in the step S130 of transmitting a relay reply indicating that the switch 300 has been changed to the master mode to the first controller 100 side,
The first controller 100 that has transmitted the OFPT_ROLE_REQUEST message is configured to be connected to the switch 300 as a master controller from the time of receiving the relay reply from the switch 300. In a software defined network having a plurality of controllers, How to change connection
제1항에 있어서 상기 제1컨트롤러(100)가 Slave 모드로 변경된 제2콘트롤러(200)에 대해 Switch migration 정보를 전송받을 준비가 되었음을 알리는 Ready for Migration packet을 컨트롤러들 간의 채널을 통해 전송하는 단계(S140)에 있어서,
상기 제1컨트롤러(100)는 Ready for Migration packet에 time stamp 정보를 부가하여 제2컨트롤러(200) 측으로 전송하는 단계를 더 구비한 것을 특징으로 하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법
The method of claim 1, wherein the first controller 100 transmits a Ready for Migration packet through the channel between the controllers indicating that the first controller 100 is ready to receive switch migration information for the second controller 200 changed to slave mode ( S140),
The first controller 100 further includes adding time stamp information to the Ready for Migration packet and transmitting the time stamp information to the second controller 200. The switch connection is changed in a software defined network having a plurality of controllers. Way
제1항에서 상기 Slave 모드로 변경된 제2컨트롤러(200)가 Master 모드로 변경된 제1컨트롤러(100)측으로 Switch migration이 완료되었음을 알리는 End of Migration 메시지 및 처리하지 않고 내부에 저장 보관된 패킷을 컨트롤러들 간의 채널을 통해 전송하는 단계(S170)에 있어서,
상기 End of Migration 메시지 및 처리하지 않고 제2컨트롤러(200)의 내부에 저장 보관된 패킷을 전송받은 제1컨트롤러(100)는, Switch migration의 시작을 알리는 packet에 포함된 time stamp와 Ready for Migration packet의 time stamp 정보를 참조하여 Slave 모드로 변경된 제2컨트롤러(200)에 저장 보관되었던 패킷을 처리하는 단계를 더 구비한 것을 특징으로 하는 복수의 컨트롤러를 구비한 소프트웨어 정의 네트워크에서 스위치 접속 변경 방법
The method according to claim 1, wherein the second controller (200) changed to the slave mode transmits an end of migration message to the first controller (100), which has been changed to the master mode, In step S170,
The first controller 100, which has received the End of Migration message and the packet stored and stored in the second controller 200 without processing the end of migration message, transmits a time stamp and a Ready for Migration packet Further comprising the step of processing the packet stored and held in the second controller (200) changed to the slave mode with reference to the time stamp information of the second controller (200).
KR20140021262A 2014-02-24 2014-02-24 Switch migration method for software-defined-networks with a plurality of controllers KR101478944B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20140021262A KR101478944B1 (en) 2014-02-24 2014-02-24 Switch migration method for software-defined-networks with a plurality of controllers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20140021262A KR101478944B1 (en) 2014-02-24 2014-02-24 Switch migration method for software-defined-networks with a plurality of controllers

Publications (2)

Publication Number Publication Date
KR20140039014A true KR20140039014A (en) 2014-03-31
KR101478944B1 KR101478944B1 (en) 2015-01-02

Family

ID=50647022

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140021262A KR101478944B1 (en) 2014-02-24 2014-02-24 Switch migration method for software-defined-networks with a plurality of controllers

Country Status (1)

Country Link
KR (1) KR101478944B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160018412A (en) * 2014-08-07 2016-02-17 주식회사 케이티 Method and apparatus for changing role of controller in software defined networking environment
KR101601098B1 (en) 2014-12-29 2016-03-08 서강대학교산학협력단 Reducing method and system of number of communications between SDN controller
KR20160028250A (en) * 2014-09-03 2016-03-11 주식회사 케이티 Duplex control system and method for control in software defined network
CN106230622A (en) * 2016-07-22 2016-12-14 杭州华三通信技术有限公司 A kind of cluster implementation method and device
CN105163353B (en) * 2015-10-22 2019-04-26 中国科学技术大学 HiNOC network seamless switching method based on SDN

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011100173A (en) 2009-11-03 2011-05-19 Mitsubishi Electric Corp Network configuration management system
JP5910811B2 (en) 2011-07-27 2016-04-27 日本電気株式会社 Switch device control system, configuration control device and configuration control method thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160018412A (en) * 2014-08-07 2016-02-17 주식회사 케이티 Method and apparatus for changing role of controller in software defined networking environment
KR20160028250A (en) * 2014-09-03 2016-03-11 주식회사 케이티 Duplex control system and method for control in software defined network
KR101601098B1 (en) 2014-12-29 2016-03-08 서강대학교산학협력단 Reducing method and system of number of communications between SDN controller
CN105163353B (en) * 2015-10-22 2019-04-26 中国科学技术大学 HiNOC network seamless switching method based on SDN
CN106230622A (en) * 2016-07-22 2016-12-14 杭州华三通信技术有限公司 A kind of cluster implementation method and device
CN106230622B (en) * 2016-07-22 2020-02-11 新华三技术有限公司 Cluster implementation method and device

Also Published As

Publication number Publication date
KR101478944B1 (en) 2015-01-02

Similar Documents

Publication Publication Date Title
US10320683B2 (en) Reliable load-balancer using segment routing and real-time application monitoring
EP3208979B1 (en) Software-defined network-based method and system for implementing content distribution network
US9948553B2 (en) System and method for virtual network-based distributed multi-domain routing control
US10938727B2 (en) Method and device for offloading processing of data flows
KR101473783B1 (en) Method and apparatus for control of dynamic service chaining by using tunneling
EP2920932B1 (en) Apparatus for a high performance and highly available multi-controllers in a single sdn/openflow network
US9537741B2 (en) Data path performance measurement using test messages in a software defined network
RU2651149C2 (en) Sdn-controller, data processing center system and the routed connection method
US20210243771A1 (en) Management & orchestration aided transparent of 3gpp network into tsn bases industrial network
US20160219076A1 (en) Hardware trust for integrated network function virtualization (nfv) and software defined network (sdn) systems
KR101478944B1 (en) Switch migration method for software-defined-networks with a plurality of controllers
EP2901630B1 (en) Method operating in a fixed access network and user equipments
CN114009096A (en) Interworking of application workload routing and network-defined edge routing
Wang et al. Implementation of multipath network virtualization with SDN and NFV
KR101460048B1 (en) Method and apparatus for control of dynamic service chaining by using tagging
JP7092813B2 (en) Packet transmission method and equipment
Görkemli et al. Dynamic management of control plane performance in software-defined networks
Agliano et al. Resource management and control in virtualized SDN networks
KR20140143803A (en) Control apparatus, communication system, node control method and program
CN104320322A (en) Message control method and equipment
JP2013179494A (en) Virtual network infrastructure control system and method
Bifulco et al. CATENAE: A scalable service function chaining system for legacy mobile networks
KR101802037B1 (en) Method and system of transmitting oam message for service function chaining in software defined network environment
Luo et al. Design and implementation of a scalable sdn-of controller cluster
CN108234241B (en) Channel detection method and access device

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee