KR101931543B1 - Method and computer program for handling trouble using flow-mod message in software defined networking environment - Google Patents

Method and computer program for handling trouble using flow-mod message in software defined networking environment Download PDF

Info

Publication number
KR101931543B1
KR101931543B1 KR1020170140181A KR20170140181A KR101931543B1 KR 101931543 B1 KR101931543 B1 KR 101931543B1 KR 1020170140181 A KR1020170140181 A KR 1020170140181A KR 20170140181 A KR20170140181 A KR 20170140181A KR 101931543 B1 KR101931543 B1 KR 101931543B1
Authority
KR
South Korea
Prior art keywords
packet
arp request
request packet
action
physical address
Prior art date
Application number
KR1020170140181A
Other languages
Korean (ko)
Inventor
박현우
김지원
황인욱
김재호
박범수
송용주
Original Assignee
아토리서치(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아토리서치(주) filed Critical 아토리서치(주)
Priority to KR1020170140181A priority Critical patent/KR101931543B1/en
Application granted granted Critical
Publication of KR101931543B1 publication Critical patent/KR101931543B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0604Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
    • H04L41/0622Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time based on time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0604Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
    • H04L41/0613Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time based on the type or category of the network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

Abstract

The present invention relates to a method for handling a network fault that may occur upon network interface bonding using a flow-mode message generated by a controller in a software-defined networking environment and a computer program thereof. According to the present invention, a fault handling method of a controller that manages a host to which a network interface is bonded in a software-defined networking environment includes: a step of generating a message including an action of changing a first ARP request packet including a predetermined first logical address to one of an ARP response packet, a GARP packet or a second ARP request packet and an action of outputting the changed packet to an input port; and a step of transmitting the flow-mode message to a network equipment connected to the host at a predetermined cycle, wherein the flow-mode message is set to disappear from a flow table of the network equipment after a predetermined time has elapsed. According to the present invention, when a network interface of a terminal is bonded in a software-defined networking environment, faults occurring between the network equipment and the controller can be easily detected.

Description

플로우-모드 메시지를 이용한 소프트웨어 정의 네트워킹 환경에서의 장애 처리 방법 및 컴퓨터 프로그램{METHOD AND COMPUTER PROGRAM FOR HANDLING TROUBLE USING FLOW-MOD MESSAGE IN SOFTWARE DEFINED NETWORKING ENVIRONMENT}[0001] METHOD AND COMPUTER PROGRAM FOR HANDLING [0002] METHOD AND PROGRAM FOR DEFINED NETWORKING ENVIRONMENT [

본 발명은 소프트웨어 정의 네트워킹 환경에서의 장애 처리 방법에 관한 것으로, 보다 자세하게는 소프트웨어 정의 네트워킹 환경에서 컨트롤러가 생성하는 플로우-모드 메시지를 이용하여 네트워크 인터페이스 본딩 시 발생할 수 있는 네트워크 장애를 처리하는 방법 및 컴퓨터 프로그램에 관한 것이다. The present invention relates to a method for handling faults in a software defined networking environment, and more particularly to a method for handling network faults that may occur upon network interface bonding using flow-mode messages generated by a controller in a software defined networking environment, Program.

소프트웨어 정의 네트워킹 (Software Defined Networking, 이하 SDN이라 칭함)은 네트워크의 모든 네트워크 장비를 지능화된 중앙관리시스템에 의해 관리하는 기술을 의미한다. SDN 기술에서는 기존 하드웨어 형태의 네트워크 장비에서 자체적으로 수행하는 패킷 처리와 관련된 제어 동작을 소프트웨어 형태로 제공되는 컨트롤러가 대신하여 처리함으로써, 기존의 네트워크 구조보다 다양한 기능을 개발하고 부여할 수 있다. SDN 시스템은 일반적으로 전체 네트워크를 제어하는 컨트롤러 서버와, 상기 컨트롤러 서버에 의해 제어되며 패킷을 처리하는 복수의 오픈플로우 스위치와, 오픈플로우 스위치의 하위 계층에 해당하는 호스트를 포함하여 구성된다. 여기에서 오픈플로우 스위치는 패킷의 송수신 기능만을 담당하게 되고, 패킷의 경로 설정, 관리 및 제어는 모두 컨트롤러 서버에서 이루어진다. 즉, 네트워크 장비를 이루는 Data Plane과 Control Plane을 분리하는 것이 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 form of software can perform processing instead of a control operation related to the packet processing performed by itself in a conventional hardware type network device, so that various functions can be developed and given over the existing network structure. 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.

한편, 네트워크 본딩(Bonding)은 여러 개의 네트워크 인터페이스를 하나로 묶어 네트워크 인터페이스 장애 또는 링크 단절에 대비하기 위한 기술로, 레거시 네트워크(legacy network)에서 네트워크의 장애 허용 시스템(Fault tolerant system) 구현 내지는 로드밸런스 구현을 위해 사용되고 있다. Network bonding is a technique for preparing a network interface failure or link disconnection by grouping a plurality of network interfaces into a fault tolerant system or a load balance implementation in a legacy network .

임의의 단말에 구성된 하나 이상의 네트워크 인터페이스에 대하여 본딩이 이루어지면, 해당 컴퓨터는 활성화된 네트워크 인터페이스(이하, 본딩 인터페이스)는 기 설정된 임의의 IP(이하, 타겟 IP라 함)에 대해 정기적으로 ARP 요청을 전송하고, 일정 시간 내에 타겟 IP와 관련된 ARP 패킷이 수신되지 않으면 사용되지 않는 인터페이스를 본딩 인터페이스로 설정함으로써 장애 상황을 극복한다. (도 1 참조) When bonding is performed to one or more network interfaces configured in an arbitrary terminal, the computer periodically transmits an ARP request to a predetermined arbitrary IP (hereinafter, referred to as a target IP) through an activated network interface And if the ARP packet related to the target IP is not received within a predetermined time, the unused interface is set to the bonding interface to overcome the failure situation. (See Fig. 1)

그러나 소프트웨어 정의 네트워킹 환경(이하, SDN 환경이라 함)에서는 종래의 방법으로 장애를 감지하는 데 한계가 있다. SDN 환경에서는 링크나 스위치의 장애 뿐 아니라, 컨트롤러와 네트워크 장비 간의 관리 네트워크 장애도 감지해야하기 때문이다. 도 2와 같이 서버의 활성화 본딩 인터페이스와 연결된 스위치와 컨트롤러 사이의 링크가 끊어졌을 때, 종래 방식에 의하면 이러한 링크 단절이 감지되지 않아 문제가 발생할 수 있다. 따라서 SDN 환경에서 단말의 네트워크 인터페이스를 본딩하는 경우 네트워크에서 발생되는 장애를 감지할 수 있는 방법이 요구된다. However, in a software defined networking environment (hereinafter referred to as SDN environment), there is a limitation in detecting a failure by a conventional method. In SDN environments, not only failures of links or switches, but also the management network disturbances between the controller and network equipment must be detected. When the link between the switch and the controller connected to the active bonding interface of the server is broken as shown in FIG. 2, according to the conventional method, such a link disconnection is not detected and a problem may arise. Therefore, when bonding the network interface of the terminal in the SDN environment, a method of detecting a failure occurring in the network is required.

본 발명은 전술한 문제점을 해결하기 위한 것으로서, 소프트웨어 정의 네트워킹 환경에서 단말의 네트워크 인터페이스를 본딩한 경우 네트워크 장비와 컨트롤러 사이에서 발생되는 장애를 용이하게 감지할 수 있는 방법을 제공하는 것을 일 목적으로 한다. It is an object of the present invention to provide a method for easily detecting a failure occurring between a network device and a controller when a network interface of a terminal is bonded in a software defined networking environment .

소프트웨어 정의 네트워킹 환경에서도 단말이 네트워크 인터페이스를 본딩할 수 있게 되어, 보다 안정적인 네트워크 관리를 가능하게 하는 것을 다른 목적으로 한다. Another object of the present invention is to allow a terminal to bond a network interface in a software defined networking environment, thereby enabling more stable network management.

또한 본 발명은 네트워크에 가중되는 부하를 최소화 하고, 장애 처리를 위한 네트워크 장비의 처리 시간을 최소화함으로써, 빠른 장애 처리를 가능하게 하는 장애 처리 방법 및 컴퓨터 프로그램을 제공하는 것을 다른 목적으로 한다.It is another object of the present invention to provide a fault handling method and a computer program capable of minimizing the load imposed on the network and minimizing the processing time of the network equipment for fault handling, thereby enabling fast fault handling.

이러한 목적을 달성하기 위한 본 발명은 소프트웨어 정의 네트워킹 환경에서 네트워크 인터페이스가 본딩(Bonding)된 호스트를 관리하는 컨트롤러의 장애 처리 방법에 있어서, 기 설정된 제1 논리 주소를 포함하는 제1 ARP 요청 패킷을 ARP 응답 패킷, GARP 패킷 또는 제2 ARP 요청 패킷 중 어느 하나로 변경하는 액션 및 변경된 패킷을 입력 포트로 출력하는 액션을 포함하는 플로우-모드 메시지를 생성하는 단계, 상기 플로우-모드 메시지를 상기 호스트와 연결된 네트워크 장비에 기 설정된 주기로 전송하는 단계, 상기 플로우 모드 메시지는 기 설정된 시간이 지나면 상기 네트워크 장비의 플로우테이블에서 소멸하도록 설정된 것을 일 특징으로 한다. According to an aspect of the present invention, there is provided a fault handling method for a controller that manages a host to which a network interface is bonded in a software defined networking environment, the method comprising: receiving a first ARP request packet including a first logical address, Generating a flow-mode message including an action of changing a response packet, a response packet, a GARP packet, or a second ARP request packet, and an action of outputting the changed packet to an input port, Wherein the flow mode message is set to disappear from the flow table of the network device after a predetermined time has elapsed.

전술한 바와 같은 본 발명에 의하면 소프트웨어 정의 네트워킹 환경에서 단말의 네트워크 인터페이스를 본딩하는 경우 네트워크 장비와 컨트롤러 사이에서 발생되는 장애를 용이하게 감지할 수 있다.According to the present invention, when a network interface of a terminal is bonded in a software defined networking environment, faults occurring between the network equipment and the controller can be easily detected.

또한, 본 발명에 의하면 소프트웨어 정의 네트워킹 환경에서도 단말이 네트워크 인터페이스를 본딩할 수 있게 되어, 보다 안정적인 네트워크 관리가 가능해지는 장점이 있다. In addition, according to the present invention, a terminal can bond a network interface even in a software-defined networking environment, thereby enabling more stable network management.

뿐만 아니라, 본 발명에 의하면, 소프트웨어 정의 네트워킹 환경에서의 본딩 장애 처리에 있어서 네트워크에 가중되는 부하를 최소화 하고 장애 처리를 위한 네트워크 장비의 처리 속도를 향상시킬 수 있다. In addition, according to the present invention, it is possible to minimize the load on the network in the bonding failure processing in the software defined networking environment and to improve the processing speed of the network equipment for the failure processing.

도 1은 레거시 네트워크에서의 네트워크 인터페이스 본딩시 장애 처리 방법을 설명하기 위한 도면,
도 2는 소프트웨어 정의 네트워킹 환경에서의 종래 기술 적용의 한계를 설명하기 위한 도면,
도 3은 본 발명의 소프트웨어 정의 네트워킹 환경에서 단말의 네트워크 인터페이스를 본딩한 경우 발생되는 장애 처리 방법의 다른 실시 예를 설명하기 위한 도면,
도 4는 본 발명의 일 실시 예에 따른 플로우-모드 메시지를 이용한 장애 처리 방법을 설명하기 위한 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram for explaining a failure handling method in a network interface bonding in a legacy network,
2 is a diagram illustrating the limitations of prior art applications in a software defined networking environment;
3 is a diagram for explaining another embodiment of a fault handling method that occurs when a network interface of a terminal is bonded in a software defined networking environment of the present invention;
4 is a diagram for explaining a fault handling method using a flow-mode message according to an embodiment of the present invention.

전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용되며, 명세서 및 특허청구의 범위에 기재된 모든 조합은 임의의 방식으로 조합될 수 있다. 그리고 다른 식으로 규정하지 않는 한, 단수에 대한 언급은 하나 이상을 포함할 수 있고, 단수 표현에 대한 언급은 또한 복수 표현을 포함할 수 있음이 이해되어야 한다. The above and other objects, features, and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings, which are not intended to limit the 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. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same reference numerals are used to designate the same or similar components, and all combinations described in the specification and claims can be combined in any manner. It is to be understood that, unless the context requires otherwise, references to singular forms may include more than one, and references to singular forms may also include plural forms.

도 2는 소프트웨어 정의 네트워킹 환경에서의 장애 발생 상황을 설명하기 위한 도면이다. 도 2를 참조하면, 소프트웨어 정의 네트워킹 환경은 컨트롤러(100), 네트워크 장비(200) 및 호스트(300)를 포함할 수 있다. 네트워크 장비(200)와 호스트(300)는 노드(Node)라고 지칭할 수 있으며, 링크(Link)는 2개의 노드 사이의 연결을 의미할 수 있다.2 is a diagram for explaining a failure occurrence situation in a software defined networking environment. Referring to FIG. 2, a software defined networking environment may include a controller 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) 등의 기능을 하는 애플리케이션(소프트웨어)가 탑재된 형태로 구현될 수 있다. 본 명세서에서 특별한 언급이 없다면 컨트롤러(100)가 실행하는 장애 처리의 각 단계는 애플리케이션에 의해 실행되는 것으로 이해될 수 있다. The controller 100 manages the network equipment 200 and centrally manages and controls the plurality of network equipment 200. Specifically, the controller 100 is an application (software) that performs functions such as topology management, path management related to packet processing, link discovery, packet flow in flow management, Can be implemented. Unless otherwise specified herein, each step of the fault handling that controller 100 executes may be understood to be performed by an application.

네트워크 장비(200)는 컨트롤러(100)의 제어에 따라 패킷을 처리하는 기능을 한다. 도면에 도시된 스위치(200)는 패킷 처리를 위한 이동 통신 기지국, 기지국 제어기, 게이트웨이 장비, 라우터 등과 같은 네트워크 장비로도 교환 가능하다. 다만 설명의 편의를 위해 네트워크 장비가 스위치(200)인 경우를 도시하였으며, 본 발명의 일 실시 예에 따른 스위치(200)는 오픈플로우 스위치(200)인 경우를 중심으로 설명한다.The network equipment 200 functions to process packets under the control of the controller 100. The switch 200 shown in the figure can be exchanged with a network device such as a mobile communication base station, a base station controller, a gateway device, a router, etc. for packet processing. For convenience of explanation, a network device is a switch 200, and a switch 200 according to an embodiment of the present invention will be described with reference to an open flow switch 200.

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

보다 구체적으로 설명하면, 오픈플로우 스위치(200)는 크게 소프트웨어 계층과 하드웨어 계층으로 구분된다. 상기 소프트웨어 계층은 보안 채널(Secure Channel)을 통해 컨트롤러(100)과 정보를 교환한다. 상기 보안 채널은 오픈플로우 스위치(200)와 원거리에 위치한 컨트롤러(100) 간 통신 채널이며, 컨트롤러(100)과 오픈플로우 스위치(200)간 교환되는 정보는 암호화된다.More specifically, the open flow switch 200 is largely divided into a software layer and a hardware layer. The software layer exchanges information with the controller 100 through a secure channel. The secure channel is a communication channel between the open flow switch 200 and the remote controller 100. Information exchanged between the controller 100 and the open flow switch 200 is encrypted.

상기 하드웨어 계층에는 패킷을 규정 및 처리하고, 패킷에 관련된 통계 정보를 포함하는 플로우 테이블(Flow table)이 존재한다. 상기 플로우 테이블은 패킷 처리를규정하는 플로우 룰(Flow Rule)로 구성되며, 상기 플로우 룰은 컨트롤러(100)가 생성하여 오픈플로우 스위치(200)에 전송하는 플로우 모드 메시지(Flow-Mod Message)에 의해 추가, 수정 또는 삭제될 수 있다. 오픈플로우 스위치(200)는 상기 플로우 테이블을 참조하여 패킷을 처리한다. 플로우 테이블을 이루는 각 행을 플로우 엔트리(Flow Entry)라고 칭한다. 그리고 플로우 엔트리는 크게 세 가지 정보, 즉 플로우를 정의하는 패킷 헤더 정보(Rule), 패킷의 처리를 정의하는 동작 정보(Action) 및 플로우별 통계 정보(Stats)를 포함할 수 있다.The hardware layer has a flow table that defines and processes packets and includes statistical information related to the packets. The flow table includes a flow rule that defines packet processing. The flow rule is generated by a flow mode message (Flow-Mode Message) generated by the controller 100 and transmitted to the open flow switch 200 Added, modified or deleted. The open flow switch 200 processes the packet with reference to the flow table. Each row constituting the flow table is referred to as a flow entry. The flow entry can largely include three pieces of information: packet header information (Rule) defining a flow, operation information (Action) defining processing of a packet, and stat information (Stats) per flow.

호스트(300)는 오픈플로우 스위치(200)의 하위 계층에 해당하는 단말 등을 의미하는 것으로, 클라이언트 및 서버를 통칭하는 의미로 사용될 수 있다. 호스트(300)는 소프트웨어 정의 네트워킹 환경에서 다른 호스트에 보내고자 하는 패킷을 생성하고, 상기 패킷을 네트워크 인터페이스의 포트를 통해 오픈플로우 스위치(200)로 전송할 수 있다. 본 명세서에서는 호스트(300)의 네트워크 인터페이스가 본딩된 경우의 장애 처리 방법을 개시한다. 따라서 본 명세서에 설명된 각 실시 예에서 호스트(300)는 하나 이상의 네트워크 카드를 가지며, 하나 이상의 네트워크 카드는 본딩된 것으로 이해될 수 있다. The host 300 means a terminal or the like corresponding to a lower layer of the open flow switch 200, and can be used to mean a client and a server. The host 300 may generate a packet to be sent to another host in a software defined networking environment and transmit the packet to the open flow switch 200 through a port of the network interface. In this specification, a failure handling method when the network interface of the host 300 is bonded is disclosed. Thus, in each of the embodiments described herein, the host 300 may have one or more network cards, and one or more network cards may be understood to be bonded.

도 2에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 소프트웨어 정의 네트워킹 환경에서 네트워크 인터페이스가 본딩된 호스트(300)는 기 설정된 논리 주소를 타겟 주소로 하는 ARP 요청 패킷을 주기적으로 오픈플로우 스위치(200)에 보낼 수 있다. 이는 본딩 인터페이스를 유지 여부를 판단하기 위한 것으로, 호스트(300)는 ARP 요청 패킷에 대응되는 패킷을 수신하지 못하면 활성화 인터페이스를 전환한다. 2, in a software defined networking environment according to an exemplary embodiment of the present invention, a host 300 to which a network interface is connected periodically transmits an ARP request packet having a predetermined logical address as a target address to an open flow switch 200). This is for determining whether to maintain the bonding interface. If the host 300 does not receive the packet corresponding to the ARP request packet, the host 300 switches the active interface.

예를 들어, 호스트(300)는“bond-arp-ip-target 10.0.0.1”와 같은 설정을 사용하여 타겟 IP(10.0.0.1)로 ARP 요청 패킷을 주기적으로 전송할 수 있다. 도 2의 NIC 1과 NIC 2 가 본딩되었으며, NIC 1을 통해서 현재 패킷이 송수신되고 있다고 가정하자. 이 경우, NIC 1을 통해 지속적으로 전송되는 ARP 요청 패킷에 대응되는 응답이 수신되지 않으면, 호스트(300)는 본딩 인터페이스를 NIC 1에서 NIC 2로 변경할 수 있다. 따라서 이 후에 호스트(300)에서 전송되거나 호스트(300)로 입력되는 데이터는 NIC 2를 통해 송수신 된다. For example, the host 300 may periodically transmit an ARP request packet to the target IP (10.0.0.1) using a configuration such as " bond-arp-ip-target 10.0.0.1 ". Assume that NIC 1 and NIC 2 in FIG. 2 are bonded and the current packet is being transmitted and received through NIC 1. In this case, the host 300 may change the bonding interface from NIC 1 to NIC 2 if a response corresponding to the ARP request packet continuously transmitted via NIC 1 is not received. Therefore, the data transmitted from the host 300 or input to the host 300 thereafter is transmitted and received via the NIC 2.

ARP 요청 패킷은 상대방 호스트 혹은 라우터의 MAC 주소를 알기위해, 해당 노드의 IP 주소를 타겟으로하여 (Target IP address 필드에 타겟 주소를 넣어) 전송하는 것으로, 일반적으로 ARP 패킷은 이더넷 헤더 필드(목적지 물리 주소, 출발지 물리 주소, 타입), ARP 요청 또는 응답 페이로드(payload), 패딩 필드, CRC 필드를 포함할 수 있으며, ARP 요청 또는 응답 페이로드에는 하드웨어 타입(Hardware type), 프로토콜 타입(Protocol type), 물리 주소 길이(Hardware address length), 논리 주소 길이(Protocol address length), 오퍼레이션 코드(Operation code), 출발지 물리 주소(Source hardware address), 출발지 논리 주소(Source protocol address), 타겟(목적지) 물리 주소(Targer hardware address), 타겟(목적지) 논리 주소(Target protocol address)가 포함된다. The ARP request packet is transmitted by targeting the IP address of the corresponding node (target address in the Target IP address field) in order to know the MAC address of the counterpart host or router. In general, the ARP packet includes an Ethernet header field ARP request or response payload, a padding field, and a CRC field. The ARP request or response payload may include a hardware type, a protocol type, A hardware address length, a protocol address length, an operation code, a source hardware address, a source protocol address, a target (destination) physical address (Targer hardware address), and a target (destination) logical address.

한편, 오픈플로우 스위치(200)는 임의의 패킷을 수신하면, 상기 패킷의 처리를 규정한 플로우 테이블이 존재하는 경우에는 오픈플로우 스위치(200)가 해당 규정대로 패킷을 처리한다. 그러나 오픈플로우 스위치(200)에 상기 패킷에 관한 플로우 테이블이 없는 경우, 오픈플로우 스위치(200)는 컨트롤러(100)에 패킷 유입을 알리는 패킷-인 메시지(Packet-in Message)를 전송한다. 컨트롤러(100)는 오퍼레이터의 정책이나 미리 설정된 알고리즘에 따라 상기 패킷의 처리를 규정하는 플로우 테이블을 생성하여 오픈플로우 스위치(200)로 전송하고, 오픈플로우 스위치(200)는 상기 플로우 테이블을 수신하고 이에 기반하여 상기 패킷을 처리한다. On the other hand, when the open flow switch 200 receives an arbitrary packet and the flow table defining the processing of the packet exists, the open flow switch 200 processes the packet according to the regulation. However, when there is no flow table related to the packet in the open flow switch 200, the open flow switch 200 transmits a packet-in message informing the controller 100 of the packet flow. The controller 100 generates a flow table for specifying the processing of the packet according to an operator's policy or a preset algorithm and transmits the flow table to the open flow switch 200. The open flow switch 200 receives the flow table To process the packet.

이하에서는 도 3 내지 도4를 참조하여 본 발명의 일 실시 예에 따른 소프트웨어 정의 네트워크 환경에서 임의의 호스트(300)의 네트워크 인터페이스가 본딩되었을 때, 컨트롤러(100)가 플로우-모드 메시지를 이용하여 장애를 처리하는 방법을 설명한다. 3 to 4, when a network interface of an arbitrary host 300 is bonded in a software defined network environment according to an embodiment of the present invention, the controller 100 transmits a flow- Will be described.

컨트롤러(100)는 기 설정된 제1 논리 주소를 포함하는 제1 ARP 요청 패킷을 ARP 응답 패킷, GARP 패킷 또는 제2 ARP 요청 패킷 중 어느 하나로 변경하는 액션 및 변경된 패킷을 입력 포트로 출력하는 액션을 포함하는 플로우-모드 메시지(Flow-Mod Message)를 생성할 수 있다(S500). 여기서, 기 설정된 제1 논리 주소는 본 네트워킹 환경에서 본딩 네트워크 인터페이스의 유효성을 확인하기 위한 논리 주소로 미리 설정 또는 약속된 것일 수 있다.The controller 100 includes an action of changing a first ARP request packet including a predetermined first logical address to one of an ARP response packet, a GARP packet, or a second ARP request packet, and an action of outputting a changed packet to an input port A flow-mode message (Flow-Mode Message) may be generated (S500). Here, the predetermined first logical address may be preset or promised as a logical address for verifying the validity of the bonding network interface in the present networking environment.

플로우-모드 메시지는 전술한 바와 같이, 오픈플로우 스위치(200)에 저장된 플로우 테이블을 변경하거나, 플로우 룰을 추가하기 위한 메시지이다. The flow-mode message is a message for changing the flow table stored in the open flow switch 200 or adding a flow rule, as described above.

다음으로 컨트롤러(100)는 생성된 플로우-모드 메시지를 호스트와 연결된 하나 이상의 네트워크 장비에 기 설정된 주기로 전송할 수 있다(S600). 플로우-모드 메시지는 본딩된 네트워크 인터페이스 각각에 연결된 네트워크 장비 모두(200A, 200B)에 전송될 수 있다. Next, the controller 100 may transmit the generated flow-mode message to one or more network devices connected to the host at a predetermined cycle (S600). A flow-mode message may be sent to all of the network equipment (200A, 200B) connected to each of the bonded network interfaces.

한편, 플로우-모드 메시지는 기 설정된 시간이 지나면 네트워크 장비의 플로우테이블에서 소멸하도록 설정된 것일 수 있다. 예를 들어, 플로우-모드 메시지에는 하드 타임아웃(hard timeout)이 설정될 수 있는데, 하드 타임아웃 필드에 0이 아닌 값이 삽입되면, 해당 플로우 룰은 일치하는 패킷의 수와 상관없이 지정된 시간이 흐른 후 플로우 엔트리를 제거한다. On the other hand, the flow-mode message may be set to disappear from the flow table of the network equipment after a predetermined time. For example, a hard-timeout may be set in a flow-mode message. If a non-zero value is inserted in the hard-timeout field, the flow rule will take a specified time, regardless of the number of matching packets Remove flow entries after flow.

따라서 컨트롤러(100)와 오픈플로우 스위치(200A) 사이에 장애가 발생한 경우에는, 플로우 룰이 사라진 후에 새로운 플로우 룰을 추가하는 플로우-모드 메시지가 수신되지 않으므로, 오픈플로우 스위치(200A)가 ARP 요청 패킷을 수신하더라도 이에 대응되는 액션을 취할 수 없다. 그 결과, 호스트(300)는 약속된 타겟 IP(10.0.0.1)와 관련된 ARP 패킷을 기 설정된 시간 내에 수신하지 못하게 되는 바, 장애가 발생한 것으로 보아 활성화된 본딩 인터페이스(NIC 1)를 사용되지 않고 있는 인터페이스(NIC 2)로 전환할 수 있다. 본딩 인터페이스의 전환 후에 플로우-모드 메시지는 오픈플로우 스위치(200B)에도 주기적으로 전송되고 있으므로, 호스트(300)는 오픈플로우 스위치(200B)와 NIC 2를 연결하고 있는 링크를 사용하여 패킷을 송수신하게 될 것이며, ARP 요청 패킷의 전송 및 그에 대응되는 ARP 패킷의 수신 역시 호스트(300)의 본딩 네트워크 인터페이스(NIC) - 오픈플로우 스위치(200B) 사이에서 유지될 수 있다.Therefore, when a fault occurs between the controller 100 and the open flow switch 200A, the flow-mode message for adding a new flow rule is not received after the flow rule disappears. Therefore, the open flow switch 200A sends an ARP request packet Even if it is received, it can not take an action corresponding thereto. As a result, the host 300 can not receive the ARP packet associated with the promised target IP (10.0.0.1) within a predetermined time, and the activated bonding interface (NIC 1) (NIC 2). Since the flow-mode message is also periodically transmitted to the open-flow switch 200B after the switching of the bonding interface, the host 300 transmits and receives the packet using the link connecting the open-flow switch 200B and the NIC 2 And the transmission of the ARP request packet and the reception of the corresponding ARP packet can also be maintained between the bonding network interface (NIC) of the host 300 and the open flow switch 200B.

플로우-모드 메시지를 이용하는 본 실시 예에 의하면, 패킷-인 메시지를 수초 간격으로 계속해서 컨트롤러(100)에 보낼 필요가 없으므로, 컨트롤러(100)의 부하를 줄일 수 있다. 또한, 플로우-모드 메시지를 이용하면, 오픈플로우 스위치(200)는 해당 메시지의 set-field 액션에 따라 ARP 요청 패킷의 헤더 필드 값을 수정하기만 하면 되므로, 오픈플로우 스위치(200)의 CPU를 사용할 필요가 없어 반응 속도가 매우 빠르다. According to this embodiment using the flow-mode message, it is not necessary to send the packet-in message continuously to the controller 100 at intervals of several seconds, so that the load on the controller 100 can be reduced. In addition, using the flow-mode message, the open flow switch 200 only has to modify the header field value of the ARP request packet according to the set-field action of the message. Therefore, the open flow switch 200 uses the CPU of the open flow switch 200 The reaction speed is very fast because there is no need.

도 4를 참조하여 세부 실시예를 설명하면 다음과 같다. The detailed embodiment will be described with reference to FIG.

(1) ARP 요청 패킷을 ARP 응답 패킷(D)으로 변경하는 플로우-모드 메시지 전송(1) a flow-mode message transmission that changes an ARP request packet to an ARP response packet (D)

예를 들어, 호스트(300)가 [표 1]과 같은 ARP 요청 패킷을 오픈플로우 스위치(200)에 주기적으로 전송한다고 가정하자. 각 필드에서 ETH_SRC는 이더넷 헤더 필드에 포함되는 출발지 물리 주소, ETH_DST는 이더넷 헤더 필드에 포함되는 목적지 물리 주소, ARP_OP는 오퍼레이션 코드, ARP_SHA는 출발지 물리 주소, ARP_SPA는 출발지 논리 주소, ARP_THA는 목적지 물리 주소, ARP_TPA는 목적지 논리 주소를 의미한다. For example, assume that the host 300 periodically transmits an ARP request packet, such as Table 1, to the open flow switch 200. In each field, ETH_SRC is a source physical address included in an Ethernet header field, ETH_DST is a destination physical address included in an Ethernet header field, ARP_OP is an operation code, ARP_SHA is a source physical address, ARP_SPA is a source logical address, ARP_THA is a destination physical address, ARP_TPA means the destination logical address.

Figure 112017106003316-pat00001
Figure 112017106003316-pat00001

[표 1]의 ARP 요청 패킷은 10.0.0.5의 논리 주소와 11:22:33:44:55:66의 물리 주소를 갖는 호스트(300)에서 전송된 것으로, 목적지 논리 주소는 10.0.0.1이다. 여기서 목적지 논리 주소인 10.0.0.1은 실제 존재하는 호스트일 수도 있으나, 본 발명에 의한 소프트웨어 정의 네트워크 환경에서 본딩 장애 처리를 위해 미리 약속된 임의의 논리 주소일 수 있다. ARP 요청 패킷은 임의의 호스트의 물리 주소를 알기 위한 패킷이므로, 목적지 물리주소는 FF:FF:FF:FF와 같이 브로드캐스트 주소로 설정된다. The ARP request packet of Table 1 is transmitted from the host 300 having the logical address of 10.0.0.5 and the physical address of 11: 22: 33: 44: 55: 66, and the destination logical address is 10.0.0.1. Here, the destination logical address 10.0.0.1 may be an actual host, but it may be any logical address previously promised for handling the bonding failure in the software defined network environment according to the present invention. Since the ARP request packet is a packet for knowing the physical address of an arbitrary host, the destination physical address is set to a broadcast address such as FF: FF: FF: FF.

컨트롤러(100)는 ARP 요청 패킷이 오픈플로우 스위치(200A)에 수신되면, 해당 패킷을 ARP 응답 패킷(D)으로 변경시키는 플로우 룰을 오픈플로우 스위치(200A)에 주기적이고 연속적으로 전송할 수 있다. [표 1]은 오픈플로우 스위치(200A)로 전송된 플로우-모드 메시지로, 이는 오픈플로우 스위치(200A)의 플로우테이블에 한시적으로(2초) 저장되어 오픈플로우 스위치(200A)로 수신된 패킷을 처리한다. When the ARP request packet is received by the open flow switch 200A, the controller 100 can periodically and continuously transmit the flow rule for changing the packet to the ARP response packet D to the open flow switch 200A. Table 1 is a flow-mode message transmitted to the open-flow switch 200A. It is temporarily stored in the flow table of the open-flow switch 200A for 2 seconds, and the packet received by the open- .

[표 1]의 플로우 룰은 오픈플로우 스위치(200A)에 수신된 패킷이 ARP 요청 패킷이면 해당 패킷에 대하여 액션 필드에 삽입된 액션을 수행하도록 한다. The flow rule of Table 1 allows the open flow switch 200A to perform the action inserted in the action field for the packet when the packet received is the ARP request packet.

ARP 요청 패킷을 ARP 응답 패킷으로 변경하는 액션은 다음과 같다. 먼저, ARP 요청 패킷의 오퍼레이션 필드(ARP_OP)를 ARP 응답 패킷에 대응되는 ‘2’로 수정하고(액션 1), 이더넷 헤더 필드의 출발지 물리 주소(eth_src)를 기 설정된 제1 논리 주소(10.0.0.1)에 대응되는 제1 물리 주소(6c:3b:e5:5a:6c:1c)로 설정할 수 있다(액션 2). 다음으로, ARP 요청 패킷의 이더넷 헤더 필드에 포함되는 목적지 물리 주소(eth_dst)를 호스트(300)의 물리 주소(11:22:33:44:55:66)로 설정할 수 있다(액션 3). 그리고 ARP 요청 패킷의 출발지 물리 주소(arp_sha)를 제1 물리 주소(6c:3b:e5:5a:6c:1c)로 설정하며(액션 4), ARP 요청 패킷의 출발지 논리 주소(arp_spa)를 제1 논리 주소(10.0.0.1)로 설정할 수 있다(액션 5).The action to change an ARP request packet to an ARP reply packet is as follows. First, the operation field ARP_OP of the ARP request packet is modified to '2' corresponding to the ARP response packet (action 1), and the source physical address (eth_src) of the Ethernet header field is set to a predetermined first logical address 10.0.0.1 (6c: 3b: e5: 5a: 6c: 1c) corresponding to the first physical address (Action 2). Next, the destination physical address (eth_dst) included in the Ethernet header field of the ARP request packet can be set to the physical address (11:22:33:44:55:66) of the host 300 (action 3). Then, the source physical address (arp_sha) of the ARP request packet is set to the first physical address 6c (3b: e5: 5a: 6c: 1c) (action 4) It can be set to a logical address (10.0.0.1) (action 5).

ARP 요청 패킷의 목적지 물리 주소(arp_tha)를 호스트의 물리 주소(11:22:33:44:55:66)로 변경하고(액션 6), ARP 요청 패킷의 목적지 논리 주소(arp_tpa)를 호스트의 논리 주소(10.0.0.5)로 변경(액션 7)하면, ARP 요청 패킷은 ARP 응답 패킷으로 변경되며, 오픈플로우 스위치(200A)는 [표 2]의 마지막 액션(액션 8)에 따라 변경된 ARP 응답 패킷을 입력 포트로 출력할 수 있다.(Action 6), and changes the destination logical address (arp_tpa) of the ARP request packet to the host logical address (arp_tpa) of the ARP request packet by changing the destination physical address (arp_tha) of the ARP request packet to the physical address (11:22:33:44:55:66) (Action 7), the ARP request packet is changed to the ARP response packet. The open flow switch 200A changes the ARP response packet according to the last action (action 8) in [Table 2] Can be output to the input port.

Figure 112017106003316-pat00002
Figure 112017106003316-pat00002

(2) ARP 요청 패킷을 GARP 패킷(E)으로 변경하는 플로우-모드 메시지 전송(2) a flow-mode message transmission that changes an ARP request packet to a GARP packet (E)

컨트롤러(100)는 ARP 요청 패킷이 오픈플로우 스위치(200A)에 수신되면, 해당 패킷을 GARP 패킷(E)으로 변경시키는 플로우 룰을 오픈플로우 스위치(200A)에 주기적이고 연속적으로 전송할 수 있다. [표 3]은 오픈플로우 스위치(200A)로 전송된 플로우-모드 메시지로, 오픈플로우 스위치(200A)의 플로우테이블에 한시적으로(2초) 저장되어 오픈플로우 스위치(200A)로 수신된 패킷을 처리한다. When the ARP request packet is received by the open flow switch 200A, the controller 100 can periodically and continuously transmit the flow rule for changing the packet to the GARP packet (E) to the open flow switch 200A. Table 3 is a flow-mode message transmitted to the open flow switch 200A. It is stored temporarily (2 seconds) in the flow table of the open flow switch 200A to process the packet received by the open flow switch 200A do.

ARP 요청 패킷을 GARP 패킷으로 변경하는 액션은 다음과 같다. 제1 ARP 요청 패킷의 이더넷 헤더 필드에 포함되는 출발지 물리 주소(eth_src)를 제1 논리 주소에 대응되는 제1 물리 주소(6c:3b:e5:5a:6c:1c)로 설정할 수 있다(액션 1). 첫 번째 액션 전에, 오퍼레이션 코드(arp_op)를 ARP 응답 패킷에 대응되는 2로 변경할 수 있으나, GARP 패킷은 오퍼레이션 코드 값에 의해 정의되는 것은 아니므로 오퍼레이션 코드의 수정은 필수적인 것은 아니다. The action to change an ARP request packet to a GARP packet is as follows. The source physical address (eth_src) included in the Ethernet header field of the first ARP request packet can be set to the first physical address 6c: 3b: e5: 5a: 6c: 1c corresponding to the first logical address ). The operation code (arp_op) can be changed to 2 corresponding to the ARP response packet before the first action. However, since the GARP packet is not defined by the operation code value, modification of the operation code is not essential.

Figure 112017106003316-pat00003
Figure 112017106003316-pat00003

다음으로, ARP 요청 패킷의 이더넷 헤더 필드에 포함되는 목적지 물리 주소(eth_dst)를 브로드캐스트 주소(FF:FF:FF:FF:FF:FF)로 설정할 수 있다(액션 2). ARP 요청 패킷의 출발지 물리 주소(arp_sha)를 물리 주소(6c:3b:e5:5a:6c:1c)로 설정하며(액션 3), ARP 요청 패킷의 출발지 논리 주소(arp_spa)를 논리 주소(10.0.0.1)로 설정하면(액션 4), ARP 요청 패킷의 GARP 패킷으로의 변경이 완료된다. 오픈플로우 스위치(200A)는 [표 3]의 마지막 액션에 따라 변경된 GARP 패킷을 입력 포트로 출력(액션 5)함으로써, 호스트(300)로 GARP 패킷을 전송할 수 있다. Next, the destination physical address (eth_dst) included in the Ethernet header field of the ARP request packet can be set as a broadcast address (FF: FF: FF: FF: FF: FF) (action 2). (Action 3) and sets the source physical address (arp_sha) of the ARP request packet to the physical address (6c: 3b: e5: 5a: 6c: 1c) 0.1) (action 4), the change to the GARP packet of the ARP request packet is completed. The open flow switch 200A can transmit the GARP packet to the host 300 by outputting the changed GARP packet to the input port (action 5) according to the last action of [Table 3].

GARP는 자신의 IP 주소를 목적지로 하는 패킷이나, ARP 요청 패킷의 목적지 논리 주소(ARP_TPA)가 이미 10.0.0.1로 설정되어 있어 해당 필드는 별도의 수정이 불필요하다. GARP is a packet whose destination is its IP address, and the destination logical address (ARP_TPA) of the ARP request packet is already set to 10.0.0.1, so that the corresponding field is not required to be modified.

(3) 제1 ARP 요청 패킷을 제2 ARP 요청 패킷(F)으로 변경하는 플로우-모드 메시지 전송(3) a flow-mode message transmission that changes the first ARP request packet to a second ARP request packet (F)

컨트롤러(100)는 ARP 요청 패킷이 오픈플로우 스위치(200A)에 수신되면, 해당 패킷을 제2 ARP 요청 패킷(F)으로 변경시키는 플로우 룰을 오픈플로우 스위치(200A)에 주기적이고 연속적으로 전송할 수 있다. [표 4]는 오픈플로우 스위치(200A)로 전송된 플로우-모드 메시지로, 오픈플로우 스위치(200A)의 플로우테이블에 한시적으로(2초) 저장되어 오픈플로우 스위치(200A)로 수신된 패킷을 처리한다. When the ARP request packet is received by the open flow switch 200A, the controller 100 periodically and continuously transmits a flow rule for changing the packet to the second ARP request packet F to the open flow switch 200A . Table 4 is a flow-mode message transmitted to the open-flow switch 200A. It is stored temporarily (2 seconds) in the flow table of the open-flow switch 200A to process the packet received by the open-flow switch 200A do.

ARP 요청 패킷을 제2 ARP 요청 패킷(F)으로 변경하는 액션은 제1 ARP 요청 패킷의 이더넷 헤더 필드에 포함되는 출발지 물리 주소(eth_src)를 호스트의 물리 주소(11:22:33:44:55:66)와 다르게 설정하고, 변경된 제2 ARP 요청 패킷을 입력 포트로 출력함으로써, 호스트(300)가 제2 ARP 요청 패킷을 수신하도록 한다. The action of changing the ARP request packet to the second ARP request packet F is to change the source physical address (eth_src) included in the Ethernet header field of the first ARP request packet to the physical address of the host (11:22:33:44:55 : 66), and outputs the changed second ARP request packet to the input port so that the host 300 receives the second ARP request packet.

Figure 112017106003316-pat00004
Figure 112017106003316-pat00004

다시 말해서, (1) 내지 (3)의 실시 예와 같은 플로우-모드 메시지를 컨트롤러(100)가 오픈플로우 스위치(200A)로 전송하면, 오픈플로우 스위치(200A)는 플로우-모드 메시지에 포함된 플로우 룰에 따라 수신된 제1 ARP 요청 패킷을 처리하게 된다. 그리고 상기 플로우 룰에 따르면, 제1 ARP 요청 패킷은 ARP 응답 패킷, GARP 패킷, 제2 ARP 요청 패킷으로 수정변경되어, 입력 포트로 출력된다. In other words, when the controller 100 transmits a flow-mode message such as the embodiment of (1) to (3) to the open flow switch 200A, the open flow switch 200A transmits the flow And processes the received first ARP request packet according to the rule. According to the flow rule, the first ARP request packet is modified into an ARP response packet, a GARP packet, and a second ARP request packet, and output to the input port.

그 결과, ARP 응답 패킷, GARP 패킷, 제2 ARP 요청 패킷은 호스트(300)로 전송되고, 기 설정된 시간 내에 상기 ARP 응답 패킷, GARP 패킷 또는 상기 제2 ARP 요청 패킷 중 어느 하나가 수신되지 않으면 활성화된 본딩 인터페이스를 전환하도록 설정된 호스트(300)는, 상기 패킷들의 수신 여부에 따라 장애 여부를 판단할 수 있다.As a result, the ARP response packet, the GARP packet, and the second ARP request packet are transmitted to the host 300, and if any one of the ARP response packet, the GARP packet, or the second ARP request packet is not received within a predetermined time, The host 300 configured to switch the connected bonding interface can determine whether or not the packet is received according to whether or not the packets are received.

한편, 전술한 장애 처리 방법은 각 실시 예 중 어느 하나를 실행시키기 위하여 컴퓨터 판독 가능 매체에 저장된 장애 처리 응용 프로그램을 통해 컨트롤러(100)에서 구현될 수 있다. Meanwhile, the above-described failure handling method can be implemented in the controller 100 through the failure handling application program stored in the computer-readable medium for executing any one of the embodiments.

본 명세서에서 생략된 일부 실시 예는 그 실시 주체가 동일한 경우 동일하게 적용 가능하다. 또한, 전술한 본 발명은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.Some embodiments omitted in this specification are equally applicable if their implementation subject is the same. It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to be exemplary and explanatory only and are not restrictive of the invention, The present invention is not limited to the drawings.

100: 컨트롤러
200: 스위치
300: 호스트(단말)
100: controller
200: Switch
300: Host (terminal)

Claims (6)

소프트웨어 정의 네트워킹 환경에서 네트워크 인터페이스가 본딩(Bonding)된 호스트를 관리하는 컨트롤러의 장애 처리 방법에 있어서,
기 설정된 제1 논리 주소를 포함하는 제1 ARP 요청 패킷을 ARP 응답 패킷, GARP 패킷 또는 제2 ARP 요청 패킷 중 어느 하나로 변경하는 액션 및 변경된 패킷을 입력 포트로 출력하는 액션을 포함하는 플로우-모드 메시지를 생성하는 단계; 및
상기 플로우-모드 메시지를 상기 호스트와 연결된 하나 이상의 네트워크 장비에 기 설정된 주기로 전송하는 단계를 포함하며,
상기 플로우 모드 메시지는 기 설정된 시간이 지나면 상기 네트워크 장비의 플로우테이블에서 소멸하도록 설정되며,
상기 제1 ARP 요청 패킷을 상기 GARP 패킷으로 변경하는 액션은,
상기 제1 ARP 요청 패킷의 이더넷 헤더 필드에 포함되는 출발지 물리 주소를 상기 제1 논리 주소에 대응되는 제1 물리 주소로 설정하는 제1 액션;
상기 제1 ARP 요청 패킷의 이더넷 헤더 필드에 포함되는 목적지 물리 주소를 브로드캐스트 주소로 설정하는 제2 액션;
상기 제1 ARP 요청 패킷의 출발지 물리 주소를 상기 제1 물리 주소로 설정하는 제3 액션;
상기 제1 ARP 요청 패킷의 출발지 논리 주소를 상기 제1 논리 주소로 설정하는 제4 액션을 포함하는 장애 처리 방법.
A fault handling method of a controller for managing a host in which a network interface is bonded in a software defined networking environment,
A flow-mode message including an action of changing a first ARP request packet including a predetermined first logical address to one of an ARP response packet, a GARP packet, or a second ARP request packet, and an action of outputting the changed packet to an input port ≪ / RTI > And
And sending the flow-mode message to one or more network devices connected to the host at a predetermined period,
Wherein the flow mode message is set to expire in a flow table of the network device after a predetermined time,
Wherein the action of changing the first ARP request packet to the GARP packet comprises:
A first action to set a source physical address included in an Ethernet header field of the first ARP request packet to a first physical address corresponding to the first logical address;
A second action for setting a destination physical address included in an Ethernet header field of the first ARP request packet as a broadcast address;
A third action to set a source physical address of the first ARP request packet to the first physical address;
And setting a source logical address of the first ARP request packet to the first logical address.
제1항에 있어서,
상기 제1 ARP 요청 패킷을 상기 ARP 응답 패킷으로 변경하는 액션은
상기 제1 ARP 요청 패킷의 오퍼레이션 필드를 ARP 응답 패킷에 대응되는 값으로 설정하는 제1 액션;
상기 제1 ARP 요청 패킷의 이더넷 헤더 필드에 포함되는 출발지 물리 주소를 상기 제1 논리 주소에 대응되는 제1 물리 주소로 설정하는 제2 액션;
상기 제1 ARP 요청 패킷의 이더넷 헤더 필드에 포함되는 목적지 물리 주소를 상기 호스트의 물리 주소로 설정하는 제3 액션;
상기 제1 ARP 요청 패킷의 출발지 물리 주소를 상기 제1 물리 주소로 설정하는 제4 액션;
상기 제1 ARP 요청 패킷의 출발지 논리 주소를 상기 제1 논리 주소로 설정하는 제5 액션;
상기 제1 ARP 요청 패킷의 목적지 물리 주소를 상기 호스트의 물리 주소로 설정하는 제6 액션;
상기 제1 ARP 요청 패킷의 목적지 논리 주소를 상기 호스트의 논리 주소로 설정하는 제7 액션;
을 포함하는 장애 처리 방법.
The method according to claim 1,
The action of changing the first ARP request packet to the ARP response packet
A first action to set an operation field of the first ARP request packet to a value corresponding to an ARP response packet;
A second action for setting a source physical address included in an Ethernet header field of the first ARP request packet to a first physical address corresponding to the first logical address;
A third action for setting a destination physical address included in an Ethernet header field of the first ARP request packet as a physical address of the host;
A fourth action to set a source physical address of the first ARP request packet to the first physical address;
A fifth action to set a source logical address of the first ARP request packet to the first logical address;
A sixth action for setting a destination physical address of the first ARP request packet to a physical address of the host;
A seventh action for setting a destination logical address of the first ARP request packet to a logical address of the host;
≪ / RTI >
삭제delete 제1항에 있어서,
상기 제1 ARP 요청 패킷을 제2 ARP 요청 패킷으로 변경하는 액션은
상기 제1 ARP 요청 패킷의 이더넷 헤더 필드에 포함되는 출발지 물리 주소를 상기 호스트의 물리 주소와 다르게 설정하는 제1 액션을 포함하는 장애 처리 방법.
The method according to claim 1,
The action of changing the first ARP request packet to the second ARP request packet
And a first action for setting a source physical address included in an Ethernet header field of the first ARP request packet different from a physical address of the host.
제1항에 있어서,
상기 호스트는 기 설정된 시간 내에 상기 ARP 응답 패킷, GARP 패킷 또는 상기 제2 ARP 요청 패킷 중 어느 하나가 수신되지 않으면 활성화된 본딩 인터페이스를 전환하도록 설정된 장애 처리 방법.
The method according to claim 1,
Wherein the host is configured to switch the activated bonding interface if either the ARP response packet, the GARP packet, or the second ARP request packet is not received within a predetermined time.
제1항, 제2항, 제4항 및 제5항의 방법 중 어느 하나의 방법을 실행시키기 위하여 컴퓨터 판독 가능 매체에 저장된 컨트롤러 응용 프로그램.

A controller application program stored on a computer readable medium for executing the method of any one of claims 1, 2, 4 and 5.

KR1020170140181A 2017-10-26 2017-10-26 Method and computer program for handling trouble using flow-mod message in software defined networking environment KR101931543B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170140181A KR101931543B1 (en) 2017-10-26 2017-10-26 Method and computer program for handling trouble using flow-mod message in software defined networking environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170140181A KR101931543B1 (en) 2017-10-26 2017-10-26 Method and computer program for handling trouble using flow-mod message in software defined networking environment

Publications (1)

Publication Number Publication Date
KR101931543B1 true KR101931543B1 (en) 2019-03-13

Family

ID=65761840

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170140181A KR101931543B1 (en) 2017-10-26 2017-10-26 Method and computer program for handling trouble using flow-mod message in software defined networking environment

Country Status (1)

Country Link
KR (1) KR101931543B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100550013B1 (en) * 2003-12-04 2006-02-08 한국전자통신연구원 Packet communication method between router and virtual local area network
KR101712168B1 (en) * 2015-08-24 2017-03-03 주식회사 케이티 Method for controling packet-in message, switch and controller thereof
KR20170076064A (en) * 2015-12-24 2017-07-04 아토리서치(주) Method, apparatus and computer program for subnetting of software defined network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100550013B1 (en) * 2003-12-04 2006-02-08 한국전자통신연구원 Packet communication method between router and virtual local area network
KR101712168B1 (en) * 2015-08-24 2017-03-03 주식회사 케이티 Method for controling packet-in message, switch and controller thereof
KR20170076064A (en) * 2015-12-24 2017-07-04 아토리서치(주) Method, apparatus and computer program for subnetting of software defined network

Similar Documents

Publication Publication Date Title
US10044830B2 (en) Information system, control apparatus, method of providing virtual network, and program
EP3082309B1 (en) Sdn controller, data centre system and router connection method
KR20150051107A (en) Method for fast flow path setup and failure recovery
KR20140072343A (en) Method for handling fault in softwate defined networking networks
US8811190B2 (en) Maximum transmission unit (MTU) size discovery mechanism and method for data-link layers
EP2553870B1 (en) An operations, administrations and management proxy and a method for handling operations, administrations and management messages
US20120275316A1 (en) Failure Detection Method and Device for FCoE Virtual Link
KR20140106235A (en) Open-flow switch and packet manageing method thereof
WO2012077262A1 (en) Server management apparatus, server management method, and program
KR101658824B1 (en) Method, apparatus and computer program for updating flow rules of software defined network
KR102271639B1 (en) Method and device for modular orientation of AVB streams
CN102457404B (en) Detect the methods, devices and systems of communication path MTU
JP2004159146A (en) Communication network and packet transfer device
US8060628B2 (en) Technique for realizing high reliability in inter-application communication
US9560174B2 (en) Network routing overlay
KR20180122513A (en) Method and framework for traffic engineering in network hypervisor of sdn-based network virtualization platform
CN112910704B (en) Local area network system, method and device supporting dynamic self-adaptive network configuration
KR101610031B1 (en) Method for controlling openflow switch embedded controller in software defined network and apparatus thereof
KR101931543B1 (en) Method and computer program for handling trouble using flow-mod message in software defined networking environment
KR20120004461A (en) Method and apparatus for fault-resilient multicast and unicast in transport networks
KR101969304B1 (en) Method and computer program for handling trouble using packet-out message in software defined networking environment
US20170005912A1 (en) Method, apparatus and system for transmitting information
CN104243319A (en) Neighbor discovering method and device thereof
US8355399B1 (en) Communication method and system for a traffic shaper network
KR101625399B1 (en) Method and apparatus for controlling tcp connection in software defined network