KR20190056874A - Apparatus and method for terminal management in software defined network environment - Google Patents

Apparatus and method for terminal management in software defined network environment Download PDF

Info

Publication number
KR20190056874A
KR20190056874A KR1020170154241A KR20170154241A KR20190056874A KR 20190056874 A KR20190056874 A KR 20190056874A KR 1020170154241 A KR1020170154241 A KR 1020170154241A KR 20170154241 A KR20170154241 A KR 20170154241A KR 20190056874 A KR20190056874 A KR 20190056874A
Authority
KR
South Korea
Prior art keywords
terminal
information
port
switch
sdn
Prior art date
Application number
KR1020170154241A
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 KR1020170154241A priority Critical patent/KR20190056874A/en
Publication of KR20190056874A publication Critical patent/KR20190056874A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/0677Localisation of faults
    • 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/12Discovery or management of network topologies
    • 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/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

In an environment in which a plurality of switches are connected through a network and at least one terminal is connected to the switches, a software-defined network controller connected with the switches collects state information about at least one port included in each of the switches from the switches to manage omitted terminal information of at least one terminal. The collected state information is compared to pre-stored state information by port in regard to each of the switches to confirm whether there is lost terminal information, and then, based on switch identification information and lost port information including terminal information, flow rules, in which a switch corresponding to the switch identification information has port information as an input port, are listed. Based on the listed flow rules, the port information stored in the switch is extracted in relation to the lost port information, and the lost terminal information is updated with the extracted port information.

Description

소프트웨어 정의 네트워크 환경에서의 단말 관리 장치 및 방법{Apparatus and method for terminal management in software defined network environment}[0001] Apparatus and method for terminal management in a software defined network environment [

본 발명은 소프트웨어 정의 네트워크 환경에서의 단말 관리 장치 및 방법에 관한 것이다.The present invention relates to a terminal management apparatus and method in a software defined network environment.

소프트웨어 정의 네트워크(SDN: Software Defined Networking)는 기존의 네트워크 장비를 구성하는 데이터 평면(Data Plane)과 제어 평면(Control Plane)을 서로 분리하여, 네트워크에 대한 관리, 모니터링, 제어를 포함하여 전반적인 처리를 제어 평면이 담당하는 중앙 집중식 구조의 네트워킹을 말한다. 이때 제어 평면을 'SDN 제어기'라고 지칭하며, 오픈 플로우(OpenFlow), NetConf와 같이 표준화된 제어 평면 인터페이스를 통해 연결되어 있는 복수의 네트워크 장비들을 제어할 수 있다.Software Defined Networking (SDN) separates the data planes and control planes that make up the existing network equipment and provides overall processing including management, monitoring and control of the network. The networking of the centralized structure that the control plane is responsible for. At this time, the control plane is referred to as an 'SDN controller', and a plurality of network devices connected through a standardized control plane interface such as OpenFlow and NetConf can be controlled.

SDN 제어기는 SDN 기반 네트워크에서 네트워크 장비들의 연결 정보 자원을 토대로 토폴로지 맵(Topology Map)을 작성하여, 네트워크 관리자에게 빠른 장애 탐지, 효율적인 자원 관리 및 정책 적용을 위한 가시성을 제공한다. 또한, SDN 제어기는 작성한 토폴로지 맵을 바탕으로 최적 경로를 계산하여 SDN 스위치에 플로우 규칙(Flow Rule)을 전달하기 위해 Re-Active 방식을 이용한다. The SDN controller creates a topology map based on the connection information resources of the network devices in the SDN-based network, and provides the network manager with fast visibility for failure detection, efficient resource management, and policy application. In addition, the SDN controller calculates the optimal path based on the created topology map and uses the Re-Active method to transmit a flow rule to the SDN switch.

여기서, Re-Active 방식은 SDN 스위치로부터 특정 패킷 경로에 대한 문의가 오면, SDN 제어기는 토폴로지 맵을 바탕으로 최적 경로를 계산한 후 SDN 스위치에 플로우 규칙을 전달하는 방식이다. Re-Active 동작 방식에서 SDN 제어기는 토폴로지 맵을 작성하기 위하여, SDN 제어기에 연결되어 있는 복수의 SDN 스위치로 유입되는 패킷에 대한 정보를 파악해야 한다. 여기서 SDN 제어기는 패킷 헤더에 포함된 단말의 소스 IP와 MAC 주소 정보를 가져와 토폴로지 맵에 포함된 단말들의 정보를 매번 갱신한다.In the Re-Active scheme, when an inquiry about a specific packet path comes from the SDN switch, the SDN controller calculates the optimal path based on the topology map, and then transmits the flow rule to the SDN switch. In order to create a topology map in the Re-Active operation mode, the SDN controller has to grasp information on packets flowing into a plurality of SDN switches connected to the SDN controller. Here, the SDN controller fetches the source IP and MAC address information of the terminal included in the packet header and updates the information of the terminals included in the topology map every time.

이때 SDN 제어기는 갱신되어 저장되는 단말의 정보를 일정 갱신 시간이 지나면 삭제해버린다. 즉, SDN 제어기는 일정 시간 이상 호스트로부터 패킷이 전달되지 않은 경우 통신을 하지 않는다고 판단하고, 실시간 최신의 네트워크 상태 정보를 반영하기 위해 해당 단말 정보를 제거해 버리는 것이다. 이로 인해, SDN 제어기는 수집한 SDN 스위치의 포트 상태 정보를 통해 특정 스위치에 무언가가 연결 되었는지 여부는 알 수 있다. 그러나 해당 포트에 어떤 단말이 연결되어 있는지는 알 수 없는 경우가 발생한다. At this time, the SDN controller deletes the information of the terminal, which is updated and stored, after a predetermined update time. That is, the SDN controller determines that communication is not performed when a packet is not transmitted from the host for a predetermined period of time, and removes the corresponding terminal information to reflect the latest real-time network status information. Thus, the SDN controller can know whether or not something is connected to a specific switch through the collected port state information of the SDN switch. However, there is a case where it is not known which terminal is connected to the corresponding port.

특히 연결된 장비가 클라우드 스토리지, 웹서버, 화상회의 장치 등과 같이 사용자 본인의 필요에 의해 접근하는 서비스 서버의 경우, 통신이 자주 일어나지 않아 해당 서버의 연결정보를 잃기 쉽다. 이 경우 SDN 제어기를 통해 SDN 스위치와 연결된 실제 서버 정보를 확인하기 어렵기 때문에, 네트워크 관리자 입장에서는 고객별로 어떤 서버에 접근하여 서비스를 이용하는지 파악하기 어렵다.Especially, in case of a service server in which connected equipment is accessed by user's own needs such as cloud storage, web server, video conferencing device, communication is not frequent, and connection information of the corresponding server is easily lost. In this case, it is difficult to identify the actual server information connected to the SDN switch through the SDN controller. Therefore, it is difficult for the network manager to understand which server accesses the server and use the service.

따라서, 네트워크 관리자의 입장에서는 고객별 이용현황 파악 외에도 실제 서버장비의 교체나 이동으로 단말의 정보가 끊어진 것인지, 서버의 장애로 인해 단말의 정보가 끊어진 것인지 파악하기가 어렵다.Therefore, it is difficult for the network administrator to know whether the information of the terminal is broken due to the replacement or movement of real server equipment, or the information of the terminal is broken due to the server failure.

따라서, 본 발명은 SDN 환경에서 SDN 스위치가 손실된 단말의 정보를 복구하는 단말 관리 장치 및 방법을 제공한다.Therefore, the present invention provides a terminal management apparatus and method for recovering information of a terminal in which an SDN switch is lost in an SDN environment.

상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 하나의 특징인 복수의 스위치들이 네트워크를 통해 연결되어 있고, 상기 복수의 스위치들에 적어도 하나의 단말이 연결되어 있는 환경에서, 상기 복수의 스위치들이 연결되어 있는 소프트웨어 정의 네트워크 제어기가 상기 적어도 하나의 단말 중 누락된 단말 정보를 관리하는 방법으로서,In order to achieve the above object, according to an aspect of the present invention, a plurality of switches are connected through a network and at least one terminal is connected to the plurality of switches, A method of managing a missing terminal information among the at least one terminal, the connected software defined network controller comprising:

상기 복수의 스위치로부터 각각의 스위치에 구비되어 있는 적어도 하나의 포트에 대한 상태 정보를 수집하는 단계, 상기 수집한 상태 정보와 이미 저장되어 있는 상기 각각의 스위치에 대한 포트별 상태 정보를 비교하여, 손실된 단말 정보 여부를 확인하는 단계, 단말 정보가 있는 손실된 포트 정보와 스위치 식별 정보를 토대로, 상기 스위치 식별 정보에 대응하는 스위치에서, 상기 포트 정보를 입력 포트로 가지는 플로우 규칙을 목록화하는 단계, 그리고 상기 목록화된 플로우 규칙을 토대로 상기 손실된 포트 정보에 대하여 스위치에 저장된 포트 정보를 추출하고, 추출한 포트 정보로 손실된 단말 정보를 갱신하는 단계를 포함한다.Collecting state information about at least one port provided in each switch from the plurality of switches, comparing the collected state information with state information for each port for each switch already stored, A step of listing a flow rule having the port information as an input port in a switch corresponding to the switch identification information based on the lost port information and the switch identification information having the terminal information, Extracting the port information stored in the switch with respect to the lost port information based on the flow rules listed above, and updating the lost terminal information with the extracted port information.

상기 상태 정보를 수집하는 단계는, 상기 복수의 스위치 각각에 구비되어 있는 적어도 하나의 포트에 대한 활성/비활성 상태 정보와, 각 포트별 연결된 단말 정보를 수집하고, 상기 단말 정보는 상기 단말이 연결된 스위치의 식별 정보와 단말의 MAC 주소와 IP 주소를 포함할 수 있다.The collecting of the status information may include collecting active / inactive status information for at least one port of each of the plurality of switches and terminal information connected to each port, And the MAC address and the IP address of the terminal.

상기 손실된 단말 정보 여부를 확인하는 단계는, 상기 손실된 단말이 연결된 스위치의 포트가 활성 상태인지 비활성 상태인지 확인하는 단계, 상기 포트가 비활성 상태이면 상기 단말과 상기 단말이 연결된 스위치가 물리적으로 연결이 끊어져 발생한 제1 손실로 확인하는 단계, 그리고 상기 포트가 활성 상태이면, 상기 단말이 미리 설정된 시간 이상으로 패킷의 송수신이 없어 상기 단말에 대한 단말 정보를 삭제하여 발생한 제2 손실로 확인하는 단계를 포함할 수 있다.The step of verifying whether or not the lost terminal information is confirmed comprises the steps of: checking whether a port of a switch to which the lost terminal is connected is in an active state or in an inactive state; Confirming that the port is in an active state and confirming that the terminal has lost the terminal information for the terminal due to no transmission / reception of a packet for a predetermined time or longer, .

상기 플로우 규칙을 목록화하는 단계는, 단말 손실이 상기 제2 손실인 것으로 확인하면, 상기 단말이 연결된 스위치로 플로우 갱신 요청 메시지를 전송하는 단계를 포함하고, 상기 플로우 갱신 요청 메시지는 상기 스위치에 저장된 플로우 테이블의 복수의 필드 중 대기 시간(Idle Time) 필드를 0으로 갱신하도록 요청할 수 있다.Wherein the step of cataloging the flow rules comprises the step of transmitting a flow update request message to a switch to which the terminal is connected if it is determined that the terminal loss is the second loss and the flow update request message is stored in the switch It may request to update the Idle Time field among the plurality of fields of the flow table to zero.

상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 복수의 스위치들이 네트워크를 통해 연결되어 있고, 상기 복수의 스위치들에 적어도 하나의 단말이 연결되어 있는 환경에서, 상기 적어도 하나의 단말 중 누락된 단말 정보를 관리하는 단말 관리 장치로서,According to another aspect of the present invention, there is provided a method of controlling a plurality of switches connected to a plurality of switches via at least one network, The terminal management apparatus comprising:

상기 복수의 스위치로부터 각각 스위치에 구비된 적어도 하나의 포트 별 활성화 정보와 상기 적어도 하나의 포트에 연결된 단말 정보를 포함하는 수집하는 수집 모듈, 상기 수집 모듈이 수집한 단말 정보와 포트 별 활성화 정보와 미리 저장되어 있는 단말 정보를 토대로, 스위치에 연결된 단말에 대한 단말 정보의 손실 여부를 확인하는 판단 모듈, 그리고 상기 판단 모듈에서 확인한 단말 정보의 손실 여부에 따라, 손실된 단말 정보에 대응하는 단말 정보를 상기 단말이 연결된 스위치로부터 수신하여 복구하는 복구 모듈을 포함한다.A collection module for collecting at least one port-specific activation information and at least one port-connected terminal information from the plurality of switches, the terminal information collected by the collection module, A determination module for determining whether or not the terminal information of the terminal connected to the switch is lost on the basis of the stored terminal information and a terminal module for notifying terminal information corresponding to the lost terminal information, And a recovery module that receives and restores from the switch to which the terminal is connected.

상기 판단 모듈은, 단말 정보가 손실 되었으면 손실된 단말 정보의 손실 유형을 판단하며, 상기 손실 유형은 상기 포트가 비활성 상태이면 상기 단말과 상기 단말이 연결된 스위치가 물리적으로 연결이 끊어져 발생한 제1 손실과, 상기 포트가 활성 상태이면 상기 단말이 미리 설정된 시간 이상으로 패킷의 송수신이 없어 상기 단말에 대한 단말 정보를 삭제하여 발생한 제2 손실로 구분될 수 있다.Wherein the determination module determines a loss type of the lost terminal information if the terminal information is lost, and the loss type is a loss of the terminal information when the terminal is inactive, And if the port is in an active state, the terminal can be distinguished into a second loss due to deletion of terminal information for the terminal because there is no transmission or reception of a packet over a predetermined time.

상기 판단 모듈은, 상기 손실 유형이 제2 손실인 것으로 판단하면, 손실된 단말 정보에 대응하는 단말이 연결되어 있는 스위치의 식별 정보와 상기 단말이 연결되어 있는 포트 정보를 상기 복구 모듈로 제공할 수 있다.The determination module may provide the identification information of the switch to which the terminal corresponding to the lost terminal information is connected and the port information to which the terminal is connected to the recovery module if the loss type is determined to be the second loss have.

상기 복구 모듈은, 상기 스위치의 식별 정보와 포트 정보를 수신하면, 상기 포트 정보에 대응하는 포트 번호를 입력 포트로 갖는 플로우 엔트리의 대기 시간을 미리 설정된 시간으로 갱신하기 위한 플로우 갱신 메시지를 생성하여 상기 식별 정보에 대응하는 스위치로 전송할 수 있다.The recovery module generates a flow update message for updating the waiting time of the flow entry having the port number corresponding to the port information as the input port to a predetermined time upon receipt of the identification information and the port information of the switch, To the switch corresponding to the identification information.

상기 복구 모듈은, 상기 스위치의 식별 정보를 토대로 상기 스위치에 저장되어 있는 플로우 테이블을 조회하고, 상기 포트 번호를 입력 포트로 갖는 플로우 규칙을 분류하여 목록화할 수 있다.The recovery module inquires the flow table stored in the switch based on the identification information of the switch, and classifies and catalogs flow rules having the port number as an input port.

상기 복구 모듈은, 상기 목록화한 플로우 테이블에서 입력 포트 별로 소스 MAC 정보와 소스 IP 정보를 추출하고, 추출한 정보로 상기 손실된 단말 정보를 갱신하여 토폴로지 맵을 재 작성할 수 있다.The recovery module may extract the source MAC information and the source IP information for each input port in the flow table listed above, and rewrite the topology map by updating the lost terminal information with the extracted information.

본 발명에 따르면, SDN에 연결된 모든 단말들을 개별 관리할 필요 없이, SDN 스위치들과 연결된 SDN 제어기를 통해 손실된 단말 정보를 쉽게 복구할 수 있으며, SDN 토폴로지 맵에 바로 반영하여 단말 장애 발생 시 정확한 단말 위치 정보를 파악할 수 있다.According to the present invention, lost terminal information can be easily recovered through the SDN controller connected to the SDN switches without individually managing all terminals connected to the SDN, and can be directly reflected in the SDN topology map, Location information can be grasped.

또한, 단말과 같은 자산 정보를 SDN 제어기가 직접/수집 관리하는 것이 아니라, SDN 스위치 레벨에서 자신이 연결된 단말 정보를 플로우 테이블 내 엔트리 형태로 가지고 있으므로, SDN 제어기는 트래픽 부담 없이 손실된 단말을 관리할 수 있다.Since the SDN controller does not directly manage / collect the asset information such as the terminal, but has the terminal information connected thereto at the SDN switch level in the form of an entry in the flow table, the SDN controller manages the lost terminal .

또한, 기존 SDN 환경에서도 별도의 외부 장비 설치 등의 추가 비용 없이, SDN 제어기에 의해 제공되는 정보 수집기능을 활용하여 손쉽게 손실된 단말을 탐지하고 복구할 수 있다.In addition, even in the existing SDN environment, it is possible to easily detect and recover the lost terminal by utilizing the information gathering function provided by the SDN controller without additional cost such as installation of external equipment.

도 1은 본 발명의 실시예에 따른 SDN 환경의 예시도이다.
도 2는 본 발명의 실시예에 따른 SDN 제어기의 구조도이다.
도 3은 본 발명의 실시예에 따른 손실된 단말 정보를 복구하는 방법에 대한 흐름도이다.
도 4a 내지 도 4h는 본 발명의 실시예에 따른 SDN 기반 네트워크 구성에 대한 예시도이다.
도 5a 내지 도 5f는 본 발명의 실시예에 따른 단말 정보 복구 절차에 대한 예시도이다.
1 is an illustration of an SDN environment in accordance with an embodiment of the present invention.
2 is a structural diagram of an SDN controller according to an embodiment of the present invention.
3 is a flowchart of a method for recovering lost terminal information according to an embodiment of the present invention.
4A to 4H are exemplary views of an SDN-based network configuration according to an embodiment of the present invention.
FIGS. 5A through 5F are exemplary views illustrating terminal information recovery procedures according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when an element is referred to as " comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.

이하, 도면을 참조로 하여 본 발명의 실시예에 따른 소프트웨어 정의 네트워크 환경에서의 단말 관리 장치 및 방법에 대해 상세히 설명한다. 본 발명의 실시예에서는 SDN 스위치와 또 다른 SDN 스위치 사이를 연결하며 패킷이 전송되는 구간을 '링크'라 지칭한다. 그리고, 패킷을 전송하는 전송 주체 단말부터 패킷이 전송되는 목적지 단말까지의 패킷 이동 구간을 '경로'라 지칭한다. 전체 경로는 복수의 링크로 나눌 수 있다.Hereinafter, a terminal management apparatus and method in a software defined network environment according to an embodiment of the present invention will be described in detail with reference to the drawings. In the embodiment of the present invention, the interval between the SDN switch and another SDN switch is referred to as a 'link'. A packet moving period from a transmitting subject terminal transmitting a packet to a destination terminal transmitting a packet is referred to as a " path ". The entire path can be divided into a plurality of links.

또한, 본 발명의 실시예에서는 패킷을 전송하는 전송 주체 단말을 제1 단말(200-1), 패킷을 수신하는 목적지 단말을 제2 단말(200-2)로 도시하여 예를 들어 설명한다. 그리고, 본 발명의 실시예에서는 SDN 제어기(100)에 복수의 SDN 스위치(300-1∼300-n)가 연결되어 있는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다. 스위치(300-1∼300-n)는 각각 복수의 포트를 구비하고 있으며, 복수의 포트 중 적어도 하나를 통해 이웃한 스위치들과 연결되어 링크를 형성한다.In addition, in the embodiment of the present invention, a transmitting entity terminal for transmitting a packet is referred to as a first terminal 200-1, and a destination terminal for receiving a packet is described as a second terminal 200-2, for example. In the embodiment of the present invention, a plurality of SDN switches 300-1 to 300-n are connected to the SDN controller 100. However, the present invention is not limited thereto. Each of the switches 300-1 to 300-n has a plurality of ports and is connected to neighboring switches through at least one of the plurality of ports to form a link.

또한, 본 발명의 실시예에서는 SDN 스위치(300-1∼300-n)들이 각각 플로우 테이블을 가지고 있고, 이때 플로우 테이블의 엔트리에 등록되는 정보를 '플로우 규칙(Flow Rule)'이라 정의한다.In the embodiment of the present invention, the SDN switches 300-1 to 300-n each have a flow table, and the information registered in the entry of the flow table at this time is defined as a 'flow rule'.

도 1은 본 발명의 실시예에 따른 SDN 환경의 예시도이다.1 is an illustration of an SDN environment in accordance with an embodiment of the present invention.

도 1에 도시된 바와 같이, SDN 제어기(100)는 링크를 생성하는 복수의 스위치(300-1∼300-n)들과 연결되어 있다. As shown in FIG. 1, the SDN controller 100 is connected to a plurality of switches 300-1 to 300-n for generating links.

SDN 제어기(100)는 복수의 스위치(300-1∼300-n)들로부터 스위치 정보를 수집한다. 스위치 정보에는 스위치(300-1∼300-n) 각각의 스위치 식별 정보(DPID: Data Path ID), 스위치가 SDN 제어기(100)와 연결된 시간 정보가 포함되어 있다. 또한, SDN 제어기(100)는 자신에 연결된 전체 스위치 수, 연결 링크 수, 패킷을 송수신하는 단말 수, SDN 스위치(300-1∼300-n)에 등록된 플로우/그룹 규칙 정보를 수집한다. The SDN controller 100 collects switch information from a plurality of switches 300-1 to 300-n. The switch information includes the switch ID information (DPID) of each of the switches 300-1 to 300-n and the time information of the switch connected to the SDN controller 100. [ Also, the SDN controller 100 collects the flow / group rule information registered in the SDN switches 300-1 to 300-n, the total number of switches connected thereto, the number of connection links, the number of terminals transmitting and receiving packets, and the like.

또한, SDN 제어기(100)는 SDN 스위치(300-1∼300-n)에 등록된 플로우/그룹 규칙별 패킷 전송 속도, 패킷 카운트 정보, 플로우/그룹 테이블 엔트리 사이즈 정보, SDN 스위치(300-1∼300-n) 포트별 상태 정보, 포트별 패킷 수신/지연/에러 발생 패킷 수 정보도 수집한다. 또한, SDN 제어기(100)는 LLDP 프로토콜을 이용하여 SDN 스위치와 스위치 사이의 연결을 파악하고, 토폴로지 맵을 형성한다.In addition, the SDN controller 100 can transmit the packet transfer rate, the packet count information, the flow / group table entry size information, and the SDN switches 300-1 to 300-n, which are registered in the SDN switches 300-1 to 300- 300-n) It also collects status information for each port and packet reception / delay / error packet count information for each port. Also, the SDN controller 100 grasps the connection between the SDN switch and the switch using the LLDP protocol, and forms a topology map.

SDN 스위치(300-1∼300-n)는 연결할 SDN 제어기(100)의 IP 주소를 설정해 두고, 물리적으로 케이블이 연결되면 3-way handshake를 거쳐 TCP 연결을 확립한다. TCP 연결 확립을 위한 3-way handshake는 이미 알려진 사항으로, 본 발명의 실시예에서는 상세한 설명을 생략한다. TCP 연결이 확립되면 SDN 제어기(100)는 연결된 SDN 스위치(300-1∼300-n)와 특징 요청/응답(FeatureRequest/Reply) 메시지를 교환하여, SDN 스위치(300-1∼300-n)가 지원하는 기능을 확인한다. The SDN switches 300-1 to 300-n set the IP address of the SDN controller 100 to be connected, and when the cable is physically connected, the TCP connection is established through the 3-way handshake. The 3-way handshake for establishing a TCP connection is already known, and a detailed description thereof will be omitted in the embodiment of the present invention. When the TCP connection is established, the SDN controller 100 exchanges a Feature Request / Reply message with the connected SDN switches 300-1 to 300-n so that the SDN switches 300-1 to 300-n Check the supported functions.

그리고 SDN 제어기(100)는 SDN 스위치(300-1∼300-n)에 필요한 설정 정보를 보내거나, SDN 스위치(300-1∼300-n)의 상태 정보를 수집한다. 여기서 특징 요청/응답 메시지를 주고 받을 때, 단말(200, 200')에서 SDN 스위치(300-1∼300-n)로 들어온 패킷의 처리를 위한 플로우 규칙이 없거나, 플로우 규칙의 액션(Action)이 SDN 제어기(100)로 되어있을 때, SDN 스위치(300-1∼300-n)가 SDN 제어기(100)로 보내는 메시지를 패킷 인(Packet-In) 메시지라고 정의한다. Then, the SDN controller 100 sends necessary setting information to the SDN switches 300-1 to 300-n or collects status information of the SDN switches 300-1 to 300-n. Here, when there is no flow rule for processing a packet received from the terminal 200 or 200 'to the SDN switches 300-1 to 300-n, or when an action of a flow rule is not received SDN controller 100 defines a message that the SDN switches 300-1 to 300-n send to the SDN controller 100 as a Packet-In message.

반대로 패킷 인 메시지를 받은 SDN 제어기(100)가 SDN 스위치(300-1∼300-n)로 보내는 응답 메시지를 패킷 아웃(Packet-Out) 메시지라고 정의한다. 패킷 인 메시지의 경우 각 SDN 스위치(300-1∼300-n)마다 패킷의 도착지를 SDN 제어기(100)로 지정하는 플로우 규칙을 등록함으로써 동작된다. 이때 등록한 플로우 규칙을 패킷 인 규칙(Packet-In Rule)이라고 지칭한다.Conversely, a response message sent from the SDN controller 100 to the SDN switches 300-1 to 300-n that received the packet-in-packet message is defined as a packet-out message. In the case of a packet-in-message, each SDN switch 300-1 to 300-n is operated by registering a flow rule for designating the destination of the packet to the SDN controller 100. The flow rule registered at this time is referred to as a packet-in rule.

또한 SDN 제어기(100)는 신뢰성 있는 토폴로지 맵을 구성하기 위해 복수의 SDN 스위치(300-1∼300-n)와 연결되어 있는 단말(200, 200')의 정보를 갱신한다. 단말 정보를 갱신하는 과정에서, SDN 제어기(100)가 단말 정보에 손실이 발생한 것으로 확인하면, 손실된 단말 정보를 해당 단말이 연결되어 있는 SDN 스위치의 플로우 테이블 내 엔트리(entry)에서 검출하여 복구한다. SDN 제어기(100)가 단말 정보를 복구하는 방법은 이후 상세히 설명한다.In addition, the SDN controller 100 updates the information of the terminals 200 and 200 'connected to the plurality of SDN switches 300-1 to 300-n to configure a reliable topology map. If the SDN controller 100 determines that a loss occurs in the terminal information in the process of updating the terminal information, the lost terminal information is detected and recovered from an entry in the flow table of the SDN switch to which the terminal is connected . The method by which the SDN controller 100 restores the terminal information will be described in detail later.

SDN 스위치(300-1∼300-n)는 SDN 제어기(100)로부터 전송되는 플로우 규칙을 수신하여, 플로우 테이블 필드에 저장하여 플로우 규칙을 등록한다. 그리고, 패킷 전송 시 스위치 자체 또는 링크에 장애가 발생하여 패킷 전송이 불가능하면, 저장한 플로우 규칙을 토대로 우회 경로를 통해 패킷을 재전송한다.The SDN switches 300-1 to 300-n receive the flow rules transmitted from the SDN controller 100, store the flow rules in the flow table field, and register the flow rules. If the packet itself can not be transmitted due to a failure of the switch itself or the link during the packet transmission, the packet is retransmitted through the bypass path based on the stored flow rule.

각각의 스위치(300-1∼300-n)들은 하나 이상의 포트를 구비하고 있으며, 각각의 포트에는 포트 식별 정보가 설정되어 있는데 포트 식별 정보는 포트 번호를 의미한다. 도 1의 제1 SDN 스위치(300-1)를 예로 하여 설명하면, 제1 SDN 스위치(300-1)가 제1 단말(200-1)와 연결되어 있는 포트의 식별 정보는 '1'이고, 제1 SDN 스위치(300-1)가 제2 SDN 스위치(300-2)와 연결되어 링크를 형성하는 포트 식별 정보는 '2'이다. 도 1의 포트 정보는 하나의 예로 반드시 이와 같이 한정되는 것은 아니다.Each of the switches 300-1 to 300-n has one or more ports, and port identification information is set in each port, and the port identification information means a port number. 1, the identification information of the port to which the first SDN switch 300-1 is connected to the first terminal 200-1 is '1' The first SDN switch 300-1 is connected to the second SDN switch 300-2 and the port identification information forming the link is '2'. The port information in Fig. 1 is not necessarily limited to this example.

또한, SDN 스위치(300-1∼300-n)는 SDN 제어기(100)로부터 요청이 있을 시, 각각 저장하고 있는 플로우 테이블 내 엔트리 정보를 제공한다. 제공되는 플로우 테이블에 대한 정보는 SDN 제어기(100)가 단말 정보를 복구하기 위해 사용된다.In addition, the SDN switches 300-1 to 300-n provide entry information in the stored flow tables, respectively, when requested by the SDN controller 100. The information on the provided flow table is used by the SDN controller 100 to recover the terminal information.

이상에서 설명한 Re-Active 방식으로 동작하는 오픈 플로우 기반 SDN 환경에서 토폴로지 맵을 구성하기 위하여 SDN 스위치와 연결되는 단말(200, 200')의 정보를 갱신하는 과정에서 단말(200, 200') 정보가 손실되었을 때, 이를 감지하고 복구하는 SDN 제어기(100)의 구조에 대해 도 2를 참조로 설명한다.In the process of updating the information of the terminals 200 and 200 'connected to the SDN switch in order to configure the topology map in the open flow based SDN environment operating in the re-active manner described above, information of the terminals 200 and 200' The structure of the SDN controller 100 for detecting and recovering when it is lost will be described with reference to FIG.

도 2는 본 발명의 실시예에 따른 SDN 제어기의 구조도이다.2 is a structural diagram of an SDN controller according to an embodiment of the present invention.

도 2에 도시된 바와 같이, SDN 제어기(100)는 통신부(110), 프로세서(120), 메모리(130)를 포함한다. 프로세서(120)는 단말 정보 관리 모듈(121), 수집 모듈(122), 판단 모듈(123), 그리고 복구 모듈(124)로 구성된다. 본 발명의 실시예에서는 프로세서(120)에 단말 정보 관리 모듈(121)이 포함된 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.As shown in FIG. 2, the SDN controller 100 includes a communication unit 110, a processor 120, and a memory 130. The processor 120 includes a terminal information management module 121, a collection module 122, a determination module 123, and a recovery module 124. In the embodiment of the present invention, the processor 120 includes the terminal information management module 121, but the present invention is not limited thereto.

통신부(110)는 복수의 스위치(300-1∼300-n)와 데이터 평면(data plane) 및 제어 평면(control plane)을 형성하고, 데이터 평면을 통해서는 패킷을 송수신한다. 제어 평면을 통해서는 복수의 스위치(300-1∼300-n)와 패킷-인 메시지 또는 패킷-아웃 메시지를 송수신하고, 복수의 스위치(300-1∼300-n)에 대한 스위치 정보를 획득한다. 그리고 제어 평면을 통해서는 제1 단말(200-1)과 제2 단말(200-1) 사이에 패킷이 전달될 때, 패킷 전달을 위하여 생성된 플로우 규칙을 복수의 스위치(300-1∼300-n)에 전달한다. The communication unit 110 forms a data plane and a control plane with the plurality of switches 300-1 to 300-n and transmits and receives packets through the data plane. Transmits and receives packet-in messages or packet-out messages to and from the plurality of switches 300-1 to 300-n through the control plane, and acquires switch information for the plurality of switches 300-1 to 300-n . When a packet is transferred between the first terminal 200-1 and the second terminal 200-1 through the control plane, a flow rule generated for packet transmission is transmitted to the plurality of switches 300-1 through 300- n.

프로세서(120)의 단말 정보 관리 모듈(121)은 메모리(130)와 연동하여, 메모리(130)가 저장, 관리하는 SDN 스위치(300-1∼300-n)에 연동된 단말 정보를 관리한다. 이때, 메모리(130)에 저장된 단말 정보는 SDN 스위치(300-1∼300-n)가 SDN 제어기(100)와 처음 연결될 때, ARP를 통해 검출하여 전송한 단말 정보를 이용하여 토폴로지 맵을 구성하거나 플로우 규칙을 생성하여 저장한 단말 정보에 해당한다. The terminal information management module 121 of the processor 120 manages the terminal information linked to the SDN switches 300-1 to 300-n stored and managed by the memory 130 in cooperation with the memory 130. [ At this time, when the SDN switches 300-1 to 300-n are connected to the SDN controller 100 for the first time, the terminal information stored in the memory 130 forms a topology map using the terminal information detected and transmitted through the ARP Flow rules are generated and stored.

여기서 단말 정보에는 입력 포트, 송신지 단말의 MAC 주소(이하, '소스 MAC 주소'라 지칭함), 수신지 단말의 MAC 주소(이하, '목적지 MAC 주소'라 지칭함), 출력 포트, 대기 시간(Idle Time) 정보를 포함한다. 대기 시간 정보는 해당 플로우 규칙이 유지되는 시간을 나타내는 것으로, 대기 시간 동안 플로우 규칙과 일치하는 패킷이 없는 경우 대기 시간이 갱신되지 못하고, 자동으로 플로우 규칙은 폐기된다. 반대로, 대기 시간이 '0'으로 설정되어 있는 플로우 규칙의 경우에는, 패킷의 일치 여부를 떠나 플로우 규칙을 폐기하지 않고 유지시킨다. 단말 정보가 처음 메모리(130)에 저장되는 방법은 다양한 형태로 구현될 수 있으므로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다.Herein, the terminal information includes an input port, a MAC address (hereinafter referred to as a source MAC address), a MAC address of a destination terminal (hereinafter, referred to as a destination MAC address), an output port, Time information. The waiting time information indicates the time at which the flow rule is maintained. If there is no packet matching the flow rule during the waiting time, the waiting time is not updated and the flow rule is automatically discarded. On the contrary, in the case of the flow rule in which the waiting time is set to '0', the flow rule is maintained without discarding the packet. The method in which the terminal information is initially stored in the memory 130 may be implemented in various forms, and therefore, the present invention is not limited to any one method.

수집 모듈(122)은 미리 설정되어 있는 단위 시간 간격으로 복수의 SDN 스위치(300-1∼300-n)로부터 SDN 스위치의 포트별 상태 정보와 각 스위치에 연결되어 있는 단말의 단말 정보를 통신부(110)를 통해 수집한다. The acquisition module 122 receives status information of each port of the SDN switch and terminal information of a terminal connected to each switch from a plurality of SDN switches 300-1 to 300-n at predetermined unit time intervals, ).

포트별 상태 정보에는 각 SDN 스위치(300-1∼200-n)에 구비된 포트가 활성 상태인지 비활성 상태인지에 대한 정보가 포함되어 있다. 본 발명의 실시예에서는 단말 정보로, 단말이 스위치와 같은 네트워크 장비라면 단말 식별 정보인 DPID(DataPath ID)를 포함하는 것을 예로 하여 설명한다. 그리고 단말이 네트워크 장비 이외의 단말이라면, 단말의 MAC 주소, 그리고 단말의 IP 정보가 포함되어 있는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.The port-by-port status information includes information on whether the ports provided in the SDN switches 300-1 to 200-n are active or inactive. In the embodiment of the present invention, the terminal information includes a DPID (Data Path ID) which is terminal identification information if the terminal is a network device such as a switch. If the terminal is a terminal other than the network device, the MAC address of the terminal and the IP information of the terminal are described as an example, but the present invention is not limited thereto.

판단 모듈(123)은 수집 모듈(122)이 수집한 포트별 상태 정보를 토대로, SDN 스위치(300-1∼300-n)에 연결되어 있는 단말(200, 200')에 대한 단말 정보의 손실 유형을 판단한다. 여기서, 손실 유형은 실제 단말(200, 200')이 SDN 스위치(300-1∼300-n)와 물리적으로 연결이 끊어진 경우의 제1 손실과, 장시간 단말(200, 200')이 패킷을 송수신하지 않아 SDN 제어기(100)가 연결 정보를 갱신하지 못하고 SDN 제어기(100)가 단말 정보를 삭제하는 제2 손실로 구분할 수 있다.The determination module 123 determines the loss type of the terminal information for the terminals 200 and 200 'connected to the SDN switches 300-1 to 300-n based on the port-specific status information collected by the acquisition module 122 . Herein, the loss type indicates a first loss when the physical terminals 200 and 200 'are physically disconnected from the SDN switches 300-1 to 300-n and a first loss when the terminals 200 and 200' The SDN controller 100 does not update the connection information and the SDN controller 100 deletes the terminal information.

복구 모듈(124)은 판단 모듈(123이 확인한 손실 유형에 따라, SDN 스위치(300-1∼300-n)에서 손실된 단말 정보를 복구한다. 복구 모듈(124)이 단말 정보를 복구할 때, 손실된 단말 정보에 대응하는 단말이 연결되어 있는 SDN 스위치로부터 플로우 테이블 내 엔트리 정보를 수신하여 복구한다. 이에 대해서는, 이후 상세히 설명한다.The recovery module 124 restores the lost terminal information in the SDN switches 300-1 to 300-n according to the type of loss determined by the determination module 123. When the recovery module 124 restores the terminal information, The entry information in the flow table is received and restored from the SDN switch to which the terminal corresponding to the lost terminal information is connected, as will be described in detail later.

메모리(130)는 통신부(110)를 통해 수신한 다양한 정보 그리고 프로세서(120)가 형성한 장애 복구 그룹과 이를 토대로 생성한 플로우 규칙을 플로우 테이블의 필드에 저장하여, 플로우 규칙으로 등록한다. 이 외에, 메모리(130)는 SDN 제어기(100)의 동작에 필요한 프로그램 및 데이터를 저장한다.The memory 130 stores various information received through the communication unit 110, a fault recovery group formed by the processor 120, and a flow rule generated based on the fault recovery group, and registers the flow rule in the field of the flow table. In addition, the memory 130 stores programs and data necessary for the SDN controller 100 to operate.

이상에서 설명한 SDN 환경에서 SDN 제어기(100)가 SDN 스위치에 저장된 플로우 테이블 내 엔트리 정보를 토대로 손실된 단말 정보를 복구하는 방법에 대해 도 3을 참조로 설명한다.A method for recovering lost terminal information based on the entry information in the flow table stored in the SDN switch by the SDN controller 100 in the SDN environment described above will be described with reference to FIG.

도 3은 본 발명의 실시예에 따른 손실된 단말 정보를 복구하는 방법에 대한 흐름도이다.3 is a flowchart of a method for recovering lost terminal information according to an embodiment of the present invention.

도 3에 도시된 바와 같이, SDN 제어기(100)는 미리 설정한 단위 시간 간격으로, SDN 제어기(100)에 연결되어 있는 복수의 SDN 스위치(300-1∼300-n)의 각 포트 별 상태 정보를 수집한다(S100). 이때 수집되는 상태 정보는 포트의 활성화 여부(Enable/Disable 상태) 및 포트 별로 연결되어 있는 단말 정보가 포함된다. 3, the SDN controller 100 receives status information for each port of a plurality of SDN switches 300-1 to 300-n connected to the SDN controller 100 at predetermined unit time intervals (S100). The status information collected at this time includes whether the port is enabled (Enable / Disable status) and the terminal information connected to each port.

SDN 스위치(300-1∼300-n)에 연결되어 있는 단말은 네트워크 장비이거나 그 이외의 단말 장치가 될 수 있다. 만약 네트워크 장비가 연결되어 있다면, 단말 정보로 스위치 식별 정보(DPID)가 수집되고, 단말 장치라면 해당 단말 장치의 MAC, IP 주소 정보를 단말 정보로 수집한다.The terminals connected to the SDN switches 300-1 to 300-n may be network devices or other terminal devices. If the network equipment is connected, the switch identification information (DPID) is collected by the terminal information. If the terminal apparatus is a terminal apparatus, the terminal collects the MAC and IP address information of the terminal apparatus.

SDN 제어기(100)는 수신한 SDN 스위치(300-1∼300-n)의 포트별 상태 정보를 이미 저장되어 있는 포트별 상태 정보와 비교하여, 임의의 단말 정보에 손실이 발생하였는지 확인한다(S101). 여기서, 스위치와 같은 네트워크 장비의 경우 LLDP(Link Layer Discovery Protocol) 패킷을 통해 주기적으로 연결 정보를 SDN 스위치(300-1∼300-n)로 전달하기 때문에, 단말(200, 200')과 SDN 스위치(300-1∼300-n) 사이에 연결을 유지한다. The SDN controller 100 compares the status information of each port of the received SDN switches 300-1 to 300-n with the already stored port-by-port status information to check whether any terminal information is lost (S101 ). In the case of a network device such as a switch, connection information is periodically transmitted to the SDN switches 300-1 to 300-n through a link layer discovery protocol (LLDP) packet. Thus, the terminals 200 and 200 ' (300-1 to 300-n).

S101 단계에서 확인한 단말 정보의 손실은 네트워크 장비 이외의 단말 장치가 SDN 스위치(300-1∼300-n)에 연결되었을 때 발생한다. 본 발명의 실시예에서는 단말 정보의 손실 유형을 크게 다음과 같이 구분 지어 설명하는 것을 예로 하여 설명한다.The loss of the terminal information confirmed in step S101 occurs when a terminal device other than the network device is connected to the SDN switches 300-1 to 300-n. In the embodiment of the present invention, loss types of the terminal information are largely divided into the following categories and explained as an example.

- 제1 손실: 실제 단말이 SDN 스위치와 물리적으로 연결이 끊어진 경우에 발생하는 단말 정보 손실 유형- First loss: Type of terminal information loss that occurs when the physical terminal is physically disconnected from the SDN switch.

- 제2 손실: 장시간 단말이 다른 단말과 패킷을 주고받지 않아, SDN 제어기가 연결 정보를 갱신하지 못하고 삭제 해버린 경우에 발생하는 단말 정보 손실 유형- Second loss: Type of terminal information loss that occurs when the terminal does not exchange packets with other terminal for a long time and the SDN controller can not update the connection information and delete it.

제1 손실의 경우에는 실제 단말(200, 200')과 SDN 스위치(300-1∼300-n) 사이에 연결이 끊어져서, SDN 제어기(100)가 SDN 스위치(300-1∼300-n)로부터 연결된 포트 정보를 가져 올 수 없는 경우에 해당한다. 즉, 단말의 위치가 다른 장소로 이전되거나 SDN 스위치(300-1∼300-n)와 단말 사이에 물리적인 연결 장애가 발생할 경우, 단말 정보의 손실이 발생될 수 있다. In the case of the first loss, the connection between the actual terminals 200 and 200 'and the SDN switches 300-1 to 300-n is disconnected so that the SDN controller 100 is disconnected from the SDN switches 300-1 to 300-n This is the case when the connected port information can not be obtained. That is, if the location of the terminal is moved to another location or a physical connection failure occurs between the SDN switches 300-1 to 300-n and the terminal, loss of the terminal information may occur.

제2 손실의 경우에는 단말(200, 200')이 장시간 통신을 하지 않는 경우, SDN 제어기(100)가 단말 정보를 유지하지 않고 삭제하여 발생한다. In the case of the second loss, if the terminal 200 or 200 'does not communicate for a long time, the SDN controller 100 deletes it without holding the terminal information.

Re-Active 모드에서 SDN 스위치(300-1∼300-n)는 스위치 내부로 유입되는 데이터 패킷의 헤더 파일에 포함된 소스 정보를 주기적으로 SDN 제어기(100)에 패킷 인 메시지로 보낸다. 이때, SDN 스위치(300-1∼300-n)는 패킷 인 메시지로 보내는 정보를 토대로, SDN 스위치(300-1∼300-n)에 연결된 단말 정보를 SDN 제어기(100)가 갱신하도록 한다. 그런데 장시간 통신을 하지 않는 경우, SDN 제어기(100)는 SDN 스위치(300-1∼300-n)로부터 전송되는 패킷 인 메시지가 없기 때문에 갱신할 정보가 없어, 기존에 저장되어 있는 단말 정보를 삭제하게 된다. In the Re-Active mode, the SDN switches 300-1 to 300-n periodically send the source information included in the header file of the data packet to the SDN controller 100 as packets. At this time, the SDN switches 300-1 to 300-n allow the SDN controller 100 to update the terminal information connected to the SDN switches 300-1 to 300-n based on the information sent in the packet-in message. However, when the communication is not performed for a long time, the SDN controller 100 deletes the previously stored terminal information because there is no message to be transmitted from the SDN switches 300-1 to 300-n, do.

여기서 제1 손실의 경우에는 실제 물리적인 연결이 끊어진 것이기 때문에, 단말 연결 정보가 손실된 상태는 아니다. 하지만 제2 손실의 경우에는 물리적인 연결은 유지된 상태지만, 물리적으로 연결된 장비가 무엇인지는 전혀 알 수 없는 상태가 된다. Here, in the case of the first loss, since the actual physical connection is disconnected, the terminal connection information is not lost. However, in the case of the second loss, the physical connection is maintained, but it is completely unknown what the physically connected equipment is.

따라서 SDN 제어기(100)는 단말의 정보가 손실되었을 때 해당 손실된 단말과 연결된 스위치의 포트의 활성화/비활성화(Enable/Disable) 여부를 확인하여 제1 손실과 제2 손실을 구분한다(S102). 만약, 단말 정보가 손실되었는데 스위치 포트가 비활성화(Disable) 상태인 것으로 확인하였다면 SDN 제어기(100)는 해당 단말(200, 200')에 대한 정보 손실이 제1 손실인 것으로 확인한다. Accordingly, when the information of the terminal is lost, the SDN controller 100 discriminates whether the port of the switch connected to the lost terminal is enabled / disabled (Enable / Disable) to distinguish the first loss from the second loss (S102). If the terminal information is lost and it is confirmed that the switch port is in a disabled state, the SDN controller 100 confirms that the information loss for the corresponding terminal 200, 200 'is the first loss.

반대로 단말 정보가 손실된 것으로 확인하였는데 스위치 포트가 활성화(Enable) 상태이면, SDN 제어기(100)는 단말 정보의 손실이 제2 손실인 것으로 정의한다. SDN 제어기(100)는 정의한 손실 유형을 통해, 단말의 정보가 실제로 손실되는 제2 손실을 판단하고 분류한다. 그리고 제2 손실에 속하는 해당 단말(200, 200')이 연결된 포트 정보는, 단말(200, 200')이 연결되어 있는 해당 SDN 스위치(300-1∼300-n)의 DPID 정보와 함께 복구 모듈(124)로 전달한다.On the contrary, if it is determined that the terminal information has been lost, but the switch port is in the enabled state, the SDN controller 100 defines that the loss of the terminal information is the second loss. The SDN controller 100 determines and classifies the second loss in which the information of the terminal is actually lost through the defined loss type. The port information to which the corresponding terminal 200 or 200 'belonging to the second loss is connected is the DPID information of the SDN switches 300-1 to 300-n to which the terminals 200 and 200' are connected, (124).

복구 모듈(124)은 단말 정보가 손실된 포트 정보와 해당 단말이 연결된 SDN 스위치(300-1∼300-n)의 식별 정보를 수신하면, 플로우 변경 메시지(OFTP_FLOW_MOD)를 생성하여 해당 SDN 스위치로 전달한다(S103). 여기서, 플로우 변경 메시지는 스위치 식별 정보를 통해 해당 포트가 속한 SDN 스위치의 플로우 테이블에서 플로우 엔트리의 대기 시간(Idle Time)을 0으로 갱신시키기 위한 메시지이다. The recovery module 124 generates a flow change message (OFTP_FLOW_MOD) and transmits the flow change message (OFTP_FLOW_MOD) to the SDN switch 300-1 to 300-n when the terminal information is lost and the identification information of the SDN switches 300-1 to 300- (S103). Here, the flow change message is a message for updating the idle time of the flow entry to 0 in the flow table of the SDN switch to which the corresponding port belongs through the switch identification information.

SDN 스위치가 해당 메시지를 수신 받으면 플로우 테이블 내 매치 필드에서 입력 포트를 단말이 손실된 포트 정보로 갖는 모든 플로우 엔트리 정보를 확인한다. 그리고 해당 플로우 엔트리에 해당되는 대기 시간을 0으로 갱신하여 플로우 규칙이 폐기 되지 않도록 유지시킨다(S104). When the SDN switch receives the corresponding message, it checks all the flow entry information having the input port as the lost port information in the match field in the flow table. Then, the waiting time corresponding to the corresponding flow entry is updated to 0, so that the flow rule is not discarded (S104).

SDN 제어기(100)는 단말 정보가 손실된 SDN 스위치의 포트 정보를 입력 포트로 갖는 플로우 규칙을 분류하고 목록화하여 확인한다(S105). 그리고, 목록화한 플로우 규칙에서 단말 정보(IP, MAC 주소)를 추출하고(S106), 추출한 단말 정보에서 삭제된 포트의 단말 정보를 재 갱신한다(S107). 재 갱신이 완료되면 손실된 단말 정보에 대한 복구과정이 완료되고, SDN 제어기(100)는 해당 정보를 가지고 토폴로지 맵을 재 작성한다.The SDN controller 100 classifies and lists the flow rules having the port information of the SDN switch in which the terminal information is lost as an input port (S105). Then, terminal information (IP, MAC address) is extracted from the listed flow rules (S106), and the terminal information of the deleted port is renewed in the extracted terminal information (S107). When the re-update is completed, the recovery process for the lost terminal information is completed, and the SDN controller 100 rewrites the topology map with the information.

이상에서 설명한 바와 같이 SDN 제어기(100)가 SDN 기반 네트워크를 구성하고, 구성한 네트워크 상에서 단말 정보를 복구하는 실시예에 대해 도 4a 내지 도 4h, 그리고 도 5a 내지 도 5f를 참조로 설명한다.As described above, an embodiment in which the SDN controller 100 configures an SDN-based network and restores the terminal information on the configured network will be described with reference to FIGS. 4A to 4H and FIGS. 5A to 5F.

도 4a 내지 도 4h는 본 발명의 실시예에 따른 SDN 기반 네트워크 구성에 대한 예시도이고, 도 5a 내지 도 5f는 본 발명의 실시예에 따른 단말 정보 복구 절차에 대한 예시도이다.FIGS. 4A to 4H are views illustrating an SDN-based network configuration according to an embodiment of the present invention, and FIGS. 5A to 5F are exemplary views of a terminal information recovery procedure according to an embodiment of the present invention.

먼저, 도 4a에 도시된 바와 같이, 본 발명의 실시예에서는 설명의 편의를 위하여 SDN 제어기(100)에 두 개의 SDN 스위치인 제1 SDN 스위치(300-1)와 제2 SDN 스위치(300-2)가 연결되어 있는 것을 예로 하여 설명한다. 그리고 제1 SDN 스위치(300-1)에는 제1 단말(200-1)이 연결되어 있고, 제2 SDN 스위치(300-2)에는 제2 단말(200-2)이 연결되어 있는 것을 예로 하여 설명한다.As shown in FIG. 4A, in an embodiment of the present invention, for convenience of description, the SDN controller 100 is provided with a first SDN switch 300-1 and a second SDN switch 300-2 ) Are connected to each other. It is assumed that the first terminal 200-1 is connected to the first SDN switch 300-1 and the second terminal 200-2 is connected to the second SDN switch 300-2 do.

제1 SDN 스위치(300-1)의 식별 정보는 AA이고, 제2 SDN 스위치(300-2)의 식별 정보는 BB인 것을 예로 하여 설명한다. 또한, 제1 단말(200-1)의 IP는 10.0.0.1/24, MAC은 a인 것을 예로 하여 설명하며, 제2 단말(200-2)의 IP는 10.0.0.2/24, MAC은 b인 것을 예로 하여 설명한다.The identification information of the first SDN switch 300-1 is AA and the identification information of the second SDN switch 300-2 is BB. The IP of the first terminal 200-1 is 10.0.0.1/24 and the MAC thereof is a. The IP of the second terminal 200-2 is 10.0.0.2/24 and the MAC is b As an example.

제1 SDN 스위치(300-1)의 1번 포트에 제1 단말(200-1)이 연결되어 있고, 제2 SDN 스위치(300-2)의 2번 포트에 제2 단말(200-2)이 연결되어 있다. 제1 SDN 스위치(300-1)의 2번 포트와 제2 SDN 스위치(300-2)의 1번 포트를 통해 두 SDN 스위치(300-1, 300-2)가 연결되어 있다.The first terminal 200-1 is connected to the first port of the first SDN switch 300-1 and the second terminal 200-2 is connected to the second port of the second SDN switch 300-2 It is connected. Two SDN switches 300-1 and 300-2 are connected through a port 2 of the first SDN switch 300-1 and a port 1 of the second SDN switch 300-2.

SDN 제어기(100)는 제1 SDN 스위치(300-1) 그리고 제2 SDN 스위치(300-2)와 연결을 시도할 때, LLDP, 패킷 인 메시지, 패킷 아웃 메시지를 이용하여 제1 SDN 스위치(300-1)의 2번 포트와 제2 SDN 스위치(300-2)의 1번 포트를 통해 서로 연결되어 있음을 확인한다.When the SDN controller 100 attempts to establish a connection with the first SDN switch 300-1 and the second SDN switch 300-2, the SDN controller 100 transmits the first SDN switch 300 -1) and port 1 of the second SDN switch 300-2 are connected to each other.

그러면 도 4b에 나타낸 바와 같이, 제1 SDN 스위치(300-1)와 제2 SDN 스위치(300-2)에 각각 연결된 제1 단말(200-1)과 제2 단말(200-2)의 단말 정보를 ARP 메시지를 통해 SDN 제어기(100)로 제공한다. SDN 제어기(100)는 ARP 메시지를 통해 수신한 단말 정보를 추출한다. 4B, the terminal information of the first terminal 200-1 and the terminal information of the second terminal 200-2 connected to the first SDN switch 300-1 and the second SDN switch 300-2, respectively, To the SDN controller 100 via an ARP message. The SDN controller 100 extracts the terminal information received through the ARP message.

그리고, SDN 제어기(100)는 각 SDN 스위치(300-1, 300-2)의 식별 정보(DPID)와 포트 상태 정보를 수집하고, 수집한 정보를 이용하여 단말 정보가 반영된 토폴로지 맵을 재 작성한다. SDN 제어기(100)는 재 작성한 토폴로지 맵을 통해 단말과 SDN 스위치간, SDN 스위치가 상호 몇 번 포트로 연결되어 있는지 인식할 수 있다.Then, the SDN controller 100 collects the identification information (DPID) and the port status information of each of the SDN switches 300-1 and 300-2 and re-creates the topology map reflecting the terminal information using the collected information . The SDN controller 100 can recognize how many times the SDN switch is connected between the terminal and the SDN switch through the re-created topology map.

토폴로지 맵의 작성이 완료된 후, 도 4c에 나타낸 바와 같이 제1 단말(200-1)은 제2 단말(200-2)의 MAC 주소를 알아내기 위한 절차를 수행한다. 이는 제1 단말(200-1)에서 제2 단말(200-2)로 핑(Ping) 테스트를 통해 ICMP 패킷을 송수신한다고 가정하면, 제1 단말(200-1)은 ICMP 패킷을 제2 단말(200-2)로 보내기 위해 제2 단말(200-2)의 MAC 주소를 알아야 하기 때문이다. After the creation of the topology map is completed, as shown in FIG. 4C, the first terminal 200-1 performs a procedure for finding the MAC address of the second terminal 200-2. Assuming that the first terminal 200-1 transmits and receives ICMP packets through a ping test from the first terminal 200-1 to the second terminal 200-2, the first terminal 200-1 transmits an ICMP packet to the second terminal 200-2 The MAC address of the second terminal 200-2 must be known in order to transmit the MAC address to the second terminal 200-2.

따라서, 제1 단말(200-1)이 제2 단말(200-2)의 MAC 주소를 알아내기 위해, 제1 단말(200-1)은 제2 단말(200-2)의 MAC 주소를 요청하는 ARP 요청 메시지를 생성하여 자신이 연결되어 있는 제1 SDN 스위치(300-1)에 전달한다. 제1 SDN 스위치(300-1)은 1번 포트를 통해 수신한 ARP 요청 메시지를 어디로 보내야 하는지 모르기 때문에, 패킷 인 메시지로 SDN 제어기(100)에 전달하여 요청 메시지를 어디로 전송할지에 대해 문의한다. Accordingly, in order for the first terminal 200-1 to determine the MAC address of the second terminal 200-2, the first terminal 200-1 requests the MAC address of the second terminal 200-2 ARP request message to the first SDN switch 300-1 to which it is connected. Since the first SDN switch 300-1 does not know where to send the ARP request message received via the first port, the first SDN switch 300-1 transmits the message as a packet to the SDN controller 100 to inquire about where to send the request message.

그러면 도 4d에 나타낸 바와 같이, SDN 제어기(100)는 ARP 요청 메시지를 제2 단말(200-2)로 보내기 위한 경로를 계산한다. 여기서 SDN 제어기(100)는 ARP 요청 메시지의 헤더에 포함된 제1 단말(200-1)의 MAC 주소를 기준으로 플로우 규칙 생성한다. Then, as shown in FIG. 4D, the SDN controller 100 calculates a path for sending the ARP request message to the second terminal 200-2. Here, the SDN controller 100 generates a flow rule based on the MAC address of the first MS 200-1 included in the header of the ARP request message.

SDN 제어기(100)는 계산한 경로에 포함되는 제1 SDN 스위치(300-1)와 제2 SDN 스위치(300-2)에 플로우 변경 메시지(OFTP_FLOW_MOD)를 전달하여, SDN 제어기(100)가 생성한 플로우 규칙을 경로에 포함된 해당 SDN 스위치(300-1, 300-2)의 플로우 테이블에 등록하도록 한다. ARP 요청 메시지는 각 SDN 스위치(300-1, 300-2)의 플로우 엔트리에 매치되어 제1 SDN 스위치(300-1)의 1번 포트에서 2번 포트로, 제2 SDN 스위치(300-2)의 1번 포트에서 2번 포트를 통해 제2 단말(200-2)에 전달된다.The SDN controller 100 transmits a flow change message (OFTP_FLOW_MOD) to the first SDN switch 300-1 and the second SDN switch 300-2 included in the calculated path, The flow rule is registered in the flow table of the SDN switches 300-1 and 300-2 included in the path. The ARP request message is matched with the flow entry of each SDN switch 300-1 and 300-2 and is transmitted from the first port to the second port of the first SDN switch 300-1 and the second SDN switch 300-2, To the second terminal 200-2 through the second port.

플로우 테이블이 각각의 SDN 스위치(300-1, 300-2)에 등록되면, 제2 단말(200-2)은 제1 단말(200-1)로부터 ARP 요청 메시지를 수신한다. 그러면 도 4e에 나타낸 바와 같이, 제2 단말(200-2)은 자신 MAC 주소를 제1 단말(200-1)에 전달하기 위해 ARP 응답 메시지를 생성하여 제2 SDN 스위치(300-2)로 전달한다. SDN 제어기(100)는 ARP 요청 메시지와 같은 절차를 거쳐 제2 단말(200-2)의 MAC 주소를 기준으로 플로우 규칙을 생성한다.When the flow table is registered in each of the SDN switches 300-1 and 300-2, the second terminal 200-2 receives an ARP request message from the first terminal 200-1. Then, as shown in FIG. 4E, the second terminal 200-2 generates an ARP response message to deliver its MAC address to the first terminal 200-1 and transmits it to the second SDN switch 300-2 do. The SDN controller 100 generates a flow rule based on the MAC address of the second terminal 200-2 through the same procedure as the ARP request message.

SDN 제어기(100)는 제1 SDN 스위치(300-1)와 제2 SDN 스위치(300-2)의 플로우 테이블에 플로우 엔트리를 추가하도록 플로우 변경 메시지를 생성한다. ARP 응답 메시지는 각 SDN 스위치(300-1, 300-2)의 플로우 엔트리에 매치되어 제2 SDN 스위치(300-2)의 2번 포트에서 1번 포트로, 제1 SDN 스위치(300-1)의 2번 포트에서 1번 포트를 통해 제1 단말(200-1)에 전달된다.The SDN controller 100 generates a flow change message to add a flow entry to the flow table of the first SDN switch 300-1 and the second SDN switch 300-2. The ARP response message is matched with the flow entry of each SDN switch 300-1 and 300-2 and is transmitted to the first SDN switch 300-1 from the second port to the first port of the second SDN switch 300-2, To the first terminal 200-1 through the port # 2 of the first terminal 200-1.

제1 단말(200-1)과 제2 단말(200-2) 사이에 ARP 메시지의 송수신이 완료된 뒤, 도 4f에 나타낸 바와 같이 제2 단말(200-2)로부터 ARP 응답 메시지를 받은 제1 단말(200-1)은 해당 메시지에 포함된 제2 단말(200-2)의 MAC 주소를 이용하여 ICMP 요청 메시지 생성한다. 그리고 생성한 ICMP 요청 메시지를 제1 SDN 스위치(300-1)에 전달한다. After the transmission / reception of the ARP message is completed between the first terminal 200-1 and the second terminal 200-2, the first terminal 200-2 receives the ARP response message from the second terminal 200-2, The second terminal 200-1 generates an ICMP request message using the MAC address of the second terminal 200-2 included in the corresponding message. And transmits the generated ICMP request message to the first SDN switch 300-1.

그러면 상기에서 설명한 바와 같은 같은 절차를 거쳐, SDN 제어기(100)는 해당 패킷의 소스 IP와 목적지 IP주소를 기준으로 플로우 규칙을 생성한다. 그리고 플로우 변경 메시지를 통해서 각 SDN 제1 SDN 스위치(300-1)와 제2 SDN 스위치(300-2)의 플로우 테이블에 플로우 엔트리를 추가한다. ICMP 요청 메시지는 각 SDN 스위치(300-1, 300-2)의 플로우 엔트리에 매치되어 제1 SDN 스위치(300-1)의 1번 포트에서 2번 포트로, 제2 SDN 스위치(300-2)의 1번 포트에서 2번 포트를 통해 제2 단말(200-2)에 전달된다.Then, the SDN controller 100 generates a flow rule based on the source IP and the destination IP address of the packet through the same procedure as described above. Then, a flow entry is added to the flow table of each SDN first SDN switch 300-1 and the second SDN switch 300-2 through a flow change message. The ICMP request message is matched with the flow entry of each SDN switch 300-1 and 300-2 and is transmitted from the first port to the second port of the first SDN switch 300-1 and the second SDN switch 300-2, To the second terminal 200-2 through the second port.

제1 단말(200-1)로부터 ICMP 요청 메시지를 받은 제2 단말(200-2)는 도 4g에 나타낸 바와 같이, ICMP 요청 메시지에 포함된 제2 단말(200-2)의 MAC 주소를 토대로 ICMP 응답 메시지를 생성하여, 제2 SDN 스위치(300-2)에 전달한다. 그러면 SDN 제어기(100)는 해당 패킷의 소스 IP와 목적지 IP 주소를 기준으로 플로우 규칙을 생성한다. The second terminal 200-2 receiving the ICMP request message from the first terminal 200-1 transmits the ICMP request message to the second terminal 200-2 based on the MAC address of the second terminal 200-2 included in the ICMP request message, And transmits the generated response message to the second SDN switch 300-2. Then, the SDN controller 100 generates a flow rule based on the source IP and the destination IP address of the packet.

그리고 플로우 변경 메시지를 통해서 각 제1 SDN 스위치(300-1)과 제2 SDN 스위치(300-2)의 플로우 테이블에 플로우 엔트리를 추가한다. ICMP 응답 메시지는 SDN 스위치(300-1, 300-2)의 플로우 엔트리에 매치되어 제2 SDN 스위치(300-2)의 2번 포트에서 1번 포트로, 제1 SDN 스위치(300-1)의 2번 포트에서 1번 포트를 통해 제1 단말(200-1)에 전달된다.Then, a flow entry is added to the flow table of each of the first SDN switch 300-1 and the second SDN switch 300-2 through the flow change message. The ICMP response message is matched with the flow entry of the SDN switches 300-1 and 300-2 and is transmitted from port 2 to port 1 of the second SDN switch 300-2, And is transmitted from the second port to the first terminal 200-1 through the first port.

최종적으로 제1 SDN 스위치(300-1)와 제2 SDN 스위치(300-1)는 도 4h에 도시한 바와 같은 플로우 테이블의 엔트리들이 구성된다. 그리고 각 플로우 테이블의 타임아웃(Timeout) 필드에서 대기 시간은 300초(5분)로 기본 설정되었다고 가정한다. 본 발명의 실시예에서는 SDN 제어기(100)에 의해 MAC과 IP 주소 기반의 플로우 엔트리가 모두 생성되었지만, 경우에 따로 MAC 주소 기반의 플로우 엔트리만, 혹은 IP 주소 기반의 플로우 엔트리만 생성될 수 있다.Finally, the first SDN switch 300-1 and the second SDN switch 300-1 constitute entries of the flow table as shown in FIG. 4H. It is assumed that the waiting time in the timeout field of each flow table is set to 300 seconds (5 minutes) by default. In the embodiment of the present invention, both the MAC and the IP address based flow entry are generated by the SDN controller 100, but only the MAC address based flow entry or only the IP address based flow entry can be generated.

이상의 절차를 통해 SDN 기반 네트워크가 구성된 뒤, 제2 SDN 스위치(300-2)의 2번 포트에 연결된 제2 단말(200-2)의 정보가 손실되었다고 가정하면, 이를 SDN 제어기(100)가 감지하고 복구하는 과정에 대해 도 5a 내지 도 5f를 참조로 설명한다.Assuming that the information of the second terminal 200-2 connected to the port 2 of the second SDN switch 300-2 is lost after the SDN-based network is configured through the above procedure, the SDN controller 100 detects And the restoring process will be described with reference to Figs. 5A to 5F.

먼저 도 5a에 도시한 바와 같이, 수집 모듈은 SDN 제어기(100)를 통해서 연결된 제1 SDN 스위치(300-1)와 제2 SDN 스위치(300-2)의 각 포트별 활성화 여부 및 포트와 연결된 단말 정보를 수집한다. 그리고 수집한 포트별 활성화 여부 정보와 단말 정보를 판단 모듈에 전달한다. First, as shown in FIG. 5A, the acquisition module determines whether each of the first SDN switch 300-1 and the second SDN switch 300-2, which are connected through the SDN controller 100, Collect information. Then, it transmits information on whether the collected port is activated and terminal information to the judgment module.

그러면 도 5b에 나타낸 바와 같이, 판단 모듈은 수집 모듈로부터 전달받은 제1 SDN 스위치(300-1)와 제2 SDN 스위치(300-2)의 포트 정보에서 손실된 단말 정보가 있는지 확인한다. 그리고 제2 SDN 스위치(300-2)의 2번 포트에 연결되어 있는 단말에 대한 단말 정보가 손실됨을 확인한다. Then, as shown in FIG. 5B, the determination module determines whether there is lost terminal information in the port information of the first SDN switch 300-1 and the second SDN switch 300-2 received from the acquisition module. Then, it is confirmed that the terminal information of the terminal connected to the second port of the second SDN switch 300-2 is lost.

이때, 단말 정보의 손실 여부를 파악하는 과정에서 판단 모듈은 제2 SDN 스위치(300-2)의 2번 포트는 활성화는 되어 있으나 연결된 단말 정보가 없으므로 손실 유형 중 제2 손실에 해당되는 것으로 확인한다. 이 경우 SDN 제어기(100)는 제2 SDN 스위치(300-2)의 2번 포트에 단말이 연결되어 있는 것은 알지만, 연결된 단말이 무엇인지는 알지 못하는 상태가 발생한다.At this time, in the process of determining whether or not the terminal information is lost, the determination module determines that the second port of the second SDN switch 300-2 is activated but corresponds to the second loss among the loss types because there is no terminal information . In this case, the SDN controller 100 knows that the terminal is connected to the second port of the second SDN switch 300-2, but it does not know what the connected terminal is.

따라서, 도 5c에 나타낸 바와 같이, 판단 모듈은 단말 정보가 손실된 제2 SDN 스위치(300-2)의 2번 포트 상태가 활성화(Enable) 상태임을 확인하고, 해당 포트 번호와 해당 포트가 속한 제2 SDN 스위치(300-2)의 스위치 식별 정보를 복구 모듈에 전달한다.Therefore, as shown in FIG. 5C, the determination module confirms that the second port state of the second SDN switch 300-2 in which the terminal information is lost is the enabled state, 2 SDN switch 300-2 to the recovery module.

도 5d에 나타낸 바와 같이, 복구 모듈은 판단 모듈로부터 단말 정보가 손실된 제2 SDN 스위치(300-2)의 스위치 식별 정보와 해당 포트 번호를 전달받는다. 그러면 복구 모듈은 제2 SDN 스위치(300-2)에서 해당 포트 번호를 입력 포트로 갖는 플로우 엔트리의 대기 시간을 기존에 설정된 값으로 다시 재 갱신 하는 플로우 변경 메시지(OFTP_FLOW_MOD)를 생성하여 제2 SDN 스위치(300-2)로 전달한다.As shown in FIG. 5D, the recovery module receives the switch identification information of the second SDN switch 300-2 in which the terminal information is lost from the determination module and the corresponding port number. Then, the recovery module generates a flow change message (OFTP_FLOW_MOD) for re-updating the waiting time of the flow entry having the corresponding port number as an input port in the second SDN switch 300-2 to a previously set value, (300-2).

플로우 변경 메시지를 수신한 제2 SDN 스위치(300-2)는 자신의 테이블에서, 플로우 변경 메시지에 포함된 포트 번호 2번을 입력 포트로 갖는 플로우 엔트리를 확인한다. 그리고 일치하는 플로우 엔트리의 대기 시간을 0으로 갱신시켜 플로우 규칙 정보를 유지시킨다.Upon receipt of the flow change message, the second SDN switch 300-2 checks the flow entry having the port number 2 included in the flow change message as its input port in its table. Then, the waiting time of the matched flow entry is updated to 0 to maintain the flow rule information.

그리고 도 5e에 나타낸 바와 같이, 복구 모듈은 대기 시간을 갱신한 제2 SDN 스위치(300-2)의 모든 플로우 엔트리를 매치 필드의 입력 포트와 판단 모듈에서 전달받은 포트 정보를 비교하여, 입력 포트와 포트 정보가 일치하는지 검출한다. 또한, 복구 모듈은 해당 플로우 엔트리를 하나의 테이블 형태로 정리하는 필터링 절차를 수행한다. 복구 모듈은 포트 번호를 입력 포트로 갖는 플로우 엔트리를 분류한 후 다시 목록화한다.As shown in FIG. 5E, the recovery module compares all the flow entries of the second SDN switch 300-2 having updated the waiting time with the input port of the match field and the port information received from the determination module, And detects whether the port information matches. In addition, the recovery module performs a filtering procedure of organizing the corresponding flow entries into one table. The recovery module classifies and re-catalogs the flow entry having the port number as the input port.

도 5f에 나타낸 바와 같이, 복구 모듈은 필터링 절차와 목록화 절차가 수행된 테이블에서 소스 단말의 MAC 정보 혹은 IP 정보를 추출한다. 그리고 복구 모듈은 제2 SDN 스위치(300-2)의 2번 포트에 연결되는 단말의 정보를 재 갱신 후, 토폴로지 맵을 재 작성한다. As shown in FIG. 5F, the recovery module extracts MAC information or IP information of the source terminal from the table in which the filtering procedure and the cataloging procedure are performed. Then, the restoration module re-updates the information of the terminal connected to the port 2 of the second SDN switch 300-2, and re-creates the topology map.

이상에서 설명한 단말 복구 절차를 통해서는, 플로우 엔트리가 소스 단말의 IP 정보와 MAC 정보를 모두 포함하여 손실된 단말의 MAC과 IP 정보의 동시 복구가 가능하다. 만약 플로우 엔트리 정보가 MAC 기반 혹은 IP 기반으로 하나의 플로우 엔트리만 가지고 있다면, 복구되는 단말의 정보도 MAC 혹은 IP 하나만 가능하다.Through the terminal recovery procedure described above, the flow entry includes both the IP information and the MAC information of the source terminal, and it is possible to simultaneously recover the MAC and IP information of the lost terminal. If the flow entry information has only one flow entry based on the MAC-based or IP-based information, only the MAC or IP information of the restored terminal is available.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.

Claims (12)

복수의 스위치들이 네트워크를 통해 연결되어 있고, 상기 복수의 스위치들에 적어도 하나의 단말이 연결되어 있는 환경에서, 상기 복수의 스위치들이 연결되어 있는 소프트웨어 정의 네트워크 제어기가 상기 적어도 하나의 단말 중 누락된 단말 정보를 관리하는 방법으로서,
상기 복수의 스위치로부터 각각의 스위치에 구비되어 있는 적어도 하나의 포트에 대한 상태 정보를 수집하는 단계,
상기 수집한 상태 정보와 이미 저장되어 있는 상기 각각의 스위치에 대한 포트별 상태 정보를 비교하여, 손실된 단말 정보 여부를 확인하는 단계,
단말 정보가 있는 손실된 포트 정보와 스위치 식별 정보를 토대로, 상기 스위치 식별 정보에 대응하는 스위치에서, 상기 포트 정보를 입력 포트로 가지는 플로우 규칙을 목록화하는 단계, 그리고
상기 목록화된 플로우 규칙을 토대로 상기 손실된 포트 정보에 대하여 스위치에 저장된 포트 정보를 추출하고, 추출한 포트 정보로 손실된 단말 정보를 갱신하는 단계
를 포함하는 단말 정보 관리 방법.
In an environment in which a plurality of switches are connected through a network and at least one terminal is connected to the plurality of switches, a software-defined network controller to which the plurality of switches are connected is connected to a missing terminal As a method of managing information,
Collecting status information on at least one port of each switch from the plurality of switches,
Comparing the collected status information with status information for each port for each of the switches that is already stored,
Listing a flow rule having the port information as an input port in a switch corresponding to the switch identification information based on the lost port information and the switch identification information having the terminal information,
Extracting the port information stored in the switch with respect to the lost port information based on the flow rules listed above, and updating the lost terminal information with the extracted port information
The terminal information management method comprising:
제1항에 있어서,
상기 상태 정보를 수집하는 단계는,
상기 복수의 스위치 각각에 구비되어 있는 적어도 하나의 포트에 대한 활성/비활성 상태 정보와, 각 포트별 연결된 단말 정보를 수집하고,
상기 단말 정보는 상기 단말이 연결된 스위치의 식별 정보와 단말의 MAC 주소와 IP 주소를 포함하는 단말 정보 관리 방법.
The method according to claim 1,
The step of collecting the status information comprises:
Wherein the active / inactive status information for at least one port of each of the plurality of switches and terminal information for each port are collected,
Wherein the terminal information includes identification information of a switch to which the terminal is connected, and a MAC address and an IP address of the terminal.
제2항에 있어서,
상기 손실된 단말 정보 여부를 확인하는 단계는,
상기 손실된 단말이 연결된 스위치의 포트가 활성 상태인지 비활성 상태인지 확인하는 단계,
상기 포트가 비활성 상태이면 상기 단말과 상기 단말이 연결된 스위치가 물리적으로 연결이 끊어져 발생한 제1 손실로 확인하는 단계, 그리고
상기 포트가 활성 상태이면, 상기 단말이 미리 설정된 시간 이상으로 패킷의 송수신이 없어 상기 단말에 대한 단말 정보를 삭제하여 발생한 제2 손실로 확인하는 단계
를 포함하는 단말 정보 관리 방법.
3. The method of claim 2,
The method of claim 1,
Confirming whether the port of the switch to which the lost terminal is connected is active or inactive;
If the port is in an inactive state, confirming that the switch connected to the terminal and the terminal is physically disconnected and is regarded as a first loss;
If the port is in an active state, there is no transmission or reception of a packet over a predetermined time, and the terminal information about the terminal is deleted and confirmed as a second loss
The terminal information management method comprising:
제3항에 있어서,
상기 플로우 규칙을 목록화하는 단계는,
단말 손실이 상기 제2 손실인 것으로 확인하면, 상기 단말이 연결된 스위치로 플로우 갱신 요청 메시지를 전송하는 단계
를 포함하고,
상기 플로우 갱신 요청 메시지는 상기 스위치에 저장된 플로우 테이블의 복수의 필드 중 대기 시간(Idle Time) 필드를 0으로 갱신하도록 요청하는 단말 정보 관리 방법.
The method of claim 3,
The step of listing the flow rules comprises:
If it is confirmed that the terminal loss is the second loss, transmitting a flow update request message to the switch to which the terminal is connected
Lt; / RTI >
Wherein the flow update request message requests the idle time field among the plurality of fields of the flow table stored in the switch to be updated to zero.
제4항에 있어서,
상기 대기 시간 필드는, 상기 대기 시간 필드에 설정된 시간 내에 상기 단말에서 전송되는 또는 상기 단말로 전송되는 패킷이 없는 경우, 상기 단말에 대한 플로우 엔트리 정보가 삭제되도록 설정된 시간 필드인 단말 정보 관리 방법.
5. The method of claim 4,
Wherein the waiting time field is a time field in which the flow entry information for the terminal is deleted when there is no packet transmitted or transmitted to the terminal within the time set in the waiting time field.
복수의 스위치들이 네트워크를 통해 연결되어 있고, 상기 복수의 스위치들에 적어도 하나의 단말이 연결되어 있는 환경에서, 상기 적어도 하나의 단말 중 누락된 단말 정보를 관리하는 단말 관리 장치로서,
상기 복수의 스위치로부터 각각 스위치에 구비된 적어도 하나의 포트 별 활성화 정보와 상기 적어도 하나의 포트에 연결된 단말 정보를 포함하는 수집하는 수집 모듈,
상기 수집 모듈이 수집한 단말 정보와 포트 별 활성화 정보와 미리 저장되어 있는 단말 정보를 토대로, 스위치에 연결된 단말에 대한 단말 정보의 손실 여부를 확인하는 판단 모듈, 그리고
상기 판단 모듈에서 확인한 단말 정보의 손실 여부에 따라, 손실된 단말 정보에 대응하는 단말 정보를 상기 단말이 연결된 스위치로부터 수신하여 복구하는 복구 모듈
을 포함하는 단말 관리 장치.
A terminal management apparatus for managing missing terminal information among the at least one terminal in an environment where a plurality of switches are connected through a network and at least one terminal is connected to the plurality of switches,
A collection module for collecting at least one port-specific activation information and at least one port-connected terminal information from the plurality of switches,
A determination module for determining whether or not the terminal information of the terminal connected to the switch is lost based on the terminal information collected by the acquisition module, the activation information for each port, and the terminal information stored in advance,
A recovery module for receiving and recovering the terminal information corresponding to the lost terminal information from the switch connected to the terminal according to whether the terminal information confirmed by the determination module is lost or not,
The terminal management apparatus comprising:
제6항에 있어서,
상기 판단 모듈은,
단말 정보가 손실 되었으면 손실된 단말 정보의 손실 유형을 판단하며,
상기 손실 유형은 상기 포트가 비활성 상태이면 상기 단말과 상기 단말이 연결된 스위치가 물리적으로 연결이 끊어져 발생한 제1 손실과,
상기 포트가 활성 상태이면 상기 단말이 미리 설정된 시간 이상으로 패킷의 송수신이 없어 상기 단말에 대한 단말 정보를 삭제하여 발생한 제2 손실로 구분되는 단말 관리 장치.
The method according to claim 6,
Wherein the determination module comprises:
If the terminal information is lost, the loss type of the lost terminal information is determined,
Wherein the loss type includes a first loss caused when the switch connected to the terminal and the terminal is physically disconnected when the port is inactive,
And if the port is in an active state, the terminal is divided into a second loss caused by deletion of terminal information for the terminal due to no transmission / reception of a packet over a predetermined time.
제7항에 있어서,
상기 판단 모듈은,
상기 손실 유형이 제2 손실인 것으로 판단하면, 손실된 단말 정보에 대응하는 단말이 연결되어 있는 스위치의 식별 정보와 상기 단말이 연결되어 있는 포트 정보를 상기 복구 모듈로 제공하는 단말 관리 장치.
8. The method of claim 7,
Wherein the determination module comprises:
And provides identification information of a switch to which the terminal corresponding to the lost terminal information is connected and port information to which the terminal is connected, to the recovery module when it is determined that the loss type is the second loss.
제8항에 있어서,
상기 복구 모듈은,
상기 스위치의 식별 정보와 포트 정보를 수신하면, 상기 포트 정보에 대응하는 포트 번호를 입력 포트로 갖는 플로우 엔트리의 대기 시간을 미리 설정된 시간으로 갱신하기 위한 플로우 갱신 메시지를 생성하여 상기 식별 정보에 대응하는 스위치로 전송하는 단말 관리 장치.
9. The method of claim 8,
The recovery module includes:
And generates a flow update message for updating the waiting time of the flow entry having the port number corresponding to the port information as an input port to a predetermined time upon receipt of the identification information and the port information of the switch, To the switch.
제9항에 있어서,
상기 복구 모듈은,
상기 스위치의 식별 정보를 토대로 상기 스위치에 저장되어 있는 플로우 테이블을 조회하고, 상기 포트 번호를 입력 포트로 갖는 플로우 규칙을 분류하여 목록화하는 단말 관리 장치.
10. The method of claim 9,
The recovery module includes:
A flow table stored in the switch is inquired based on the identification information of the switch, and the flow rules having the port number as an input port are classified and cataloged.
제10항에 있어서,
상기 복구 모듈은,
상기 목록화한 플로우 테이블에서 입력 포트 별로 소스 MAC 정보와 소스 IP 정보를 추출하고, 추출한 정보로 상기 손실된 단말 정보를 갱신하여 토폴로지 맵을 재 작성하는 단말 관리 장치.
11. The method of claim 10,
The recovery module includes:
Extracts source MAC information and source IP information for each input port in the flow table listed above, and updates the lost terminal information with the extracted information to re-create the topology map.
제11항에 있어서,
상기 수신한 복수의 스위치 정보, 상기 갱신한 토폴로지 맵을 저장하는 메모리
를 포함하는 단말 관리 장치.
12. The method of claim 11,
A memory for storing the received plurality of switch information, the updated topology map,
The terminal management apparatus comprising:
KR1020170154241A 2017-11-17 2017-11-17 Apparatus and method for terminal management in software defined network environment KR20190056874A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170154241A KR20190056874A (en) 2017-11-17 2017-11-17 Apparatus and method for terminal management in software defined network environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170154241A KR20190056874A (en) 2017-11-17 2017-11-17 Apparatus and method for terminal management in software defined network environment

Publications (1)

Publication Number Publication Date
KR20190056874A true KR20190056874A (en) 2019-05-27

Family

ID=66679049

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170154241A KR20190056874A (en) 2017-11-17 2017-11-17 Apparatus and method for terminal management in software defined network environment

Country Status (1)

Country Link
KR (1) KR20190056874A (en)

Similar Documents

Publication Publication Date Title
JP5846221B2 (en) Network system and topology management method
US10044830B2 (en) Information system, control apparatus, method of providing virtual network, and program
US7656812B2 (en) Monitoring of data packets in a fabric
US9167031B2 (en) Distributed processing system and distributed processing method
US20050091396A1 (en) Method and apparatus for achieving dynamic capacity and high availability in multi-stage data networks using adaptive flow-based routing
JP5764820B2 (en) Transmission system and transmission system control method
JP4524686B2 (en) Cluster system, cluster member and program
WO2011155510A1 (en) Communication system, control apparatus, packet capture method and program
JP2006013827A (en) Packet transfer apparatus
US20170214609A1 (en) Forwarding method and forwarding device
JP2011166384A (en) Computer system and communication method
KR20140072343A (en) Method for handling fault in softwate defined networking networks
EP2911346B1 (en) Method and network device for establishing virtual cluster
CN107645394B (en) Switch configuration method in SDN network
Irawati et al. Link aggregation control protocol on software defined network
CN107612772B (en) Node state detection method and device of payment system
JP2021191007A (en) Network topology discovery method, network topology discovery device, and network topology discovery system
US10305811B2 (en) Control apparatus, communication system, communication node control method, and program
CN104618491A (en) Proxy server and data forwarding method
RU2612610C1 (en) Control device, communication system, method of transmitting control information and program
KR20190056874A (en) Apparatus and method for terminal management in software defined network environment
KR101625399B1 (en) Method and apparatus for controlling tcp connection in software defined network
KR20180093175A (en) System and method for end-to-end connection checking of SDN network
KR102092015B1 (en) Method, apparatus and computer program for recognizing network equipment in a software defined network
KR101969304B1 (en) Method and computer program for handling trouble using packet-out message in software defined networking environment