본 발명은 SDN 컨트롤러, SDN 네트워크 시스템 및 이의 L3 라우팅 프로토콜 기반 ZTP 구현 방법에 관한 것이다.The present invention relates to an SDN controller, an SDN network system, and a method for implementing ZTP based on an L3 routing protocol thereof.
SDN(Software Defined Networking, 소프트웨어 정의 네트워킹, 이하 SDN) 기술은 네트워크의 모든 장비를 지능화된 중앙 관리 시스템에 의해 관리하는 기술을 말한다. SDN 기술에서는 기존 하드웨어 형태의 네트워크 장비에서 자체적으로 수행하는 패킷 처리와 관련된 제어 동작을 소프트웨어 형태로 제공되는 컨트롤러가 대신 처리하게 함으로써, 기존 네트워크 구조보다 다양한 기능을 개발하고 부여할 수 있다는 장점을 갖는다.SDN (Software Defined Networking) technology refers to a technology that manages all network devices through an intelligent central management system. SDN technology has the advantage of being able to develop and provide various functions compared to existing network structures by having a controller provided in software form instead process the control operations related to packet processing that are performed by existing hardware-type network devices.
한편, 종래 기술의 경우 라우터나 스위치 등 구성 디바이스를 네트워크 상에 추가하기 위하여 ZTP 방법을 적용하고 있으나, 독자적인 프로토콜을 사용함으로 인해 해당 프로토콜을 지원하는 디바이스만이 적용 가능하다는 한계가 있다.Meanwhile, in the case of conventional technology, the ZTP method is applied to add configuration devices such as routers and switches to the network, but there is a limitation that only devices that support the protocol can be applied because a unique protocol is used.
본 발명이 해결하고자 하는 과제는 L3 라우팅 프로토콜을 적용하여 네트워크 상에 추가될 신규 디바이스를 감지하고, 관리 시스템 상에 산재되어 있는 설정 정보 중 감지된 추가 대상 디바이스의 설정 정보와 일치하는 설정 정보를 검출하여 추가 대상 디바이스에 적용 가능하도록 하는, SDN 컨트롤러, SDN 네트워크 시스템 및 이의 L3 라우팅 프로토콜 기반 ZTP 구현 방법을 제공하는 것이다.The problem to be solved by the present invention is to provide an SDN controller, an SDN network system and a method for implementing ZTP based on an L3 routing protocol thereof, which detects a new device to be added to a network by applying an L3 routing protocol, detects setting information that matches the setting information of the detected additional target device among setting information scattered on a management system, and applies the detected setting information to the additional target device.
다만, 본 발명이 해결하고자 하는 과제는 상기된 바와 같은 과제로 한정되지 않으며, 또다른 과제들이 존재할 수 있다.However, the problems to be solved by the present invention are not limited to the problems described above, and other problems may exist.
상술한 과제를 해결하기 위한 본 발명의 제1 측면에 따른 SDN 컨트롤러에서의 L3 라우팅 프로토콜 기반 ZTP(Zero Touch Provisioning) 구현 방법은 ZTP IP 주소 대역을 할당하는 단계; 상기 ZTP IP 주소 대역에 ICMP 패킷을 전송하는 단계; 기존 네트워크 상에 추가할 대상인 디바이스(이하, 추가 대상 디바이스)로부터 상기 ICMP 패킷에 대한 응답을 수신하는 단계; 상기 응답에 대응하여 상기 추가 대상 디바이스와의 통신 연결됨에 따라, 상기 추가 대상 디바이스에 L3 라우팅 프로토콜의 설정 정보를 요청하는 단계; 및 데이터베이스 내 미리 구축된 추가 예상 디바이스에 대한 설정 정보 중 상기 요청하여 수신한 L3 라우팅 프로토콜의 설정 정보와 일치하는 설정 정보를 상기 추가 대상 디바이스로 전송하는 단계를 포함한다.According to the first aspect of the present invention for solving the above-described problem, a method for implementing ZTP (Zero Touch Provisioning) based on L3 routing protocol in an SDN controller includes the steps of: allocating a ZTP IP address band; transmitting an ICMP packet to the ZTP IP address band; receiving a response to the ICMP packet from a device to be added to an existing network (hereinafter, “addition target device”); requesting L3 routing protocol setting information from the additional target device as communication is connected with the additional target device in response to the response; and transmitting setting information matching the L3 routing protocol setting information requested and received from among setting information for additional expected devices built in advance in a database to the additional target device.
본 발명의 일부 실시예는, 상기 추가 예상 디바이스에 대한 설정 정보를 상기 데이터베이스 상에 생성하여 저장하는 단계; 및 상기 추가 대상 디바이스의 예상 추가 위치와 연결되는 상기 네트워크 경로 내 모든 디바이스를 대상으로 상기 ZTP IP 주소 대역에 대한 L3 라우팅 프로토콜의 설정 정보를 적용시키는 단계를 더 포함할 수 있다.Some embodiments of the present invention may further include a step of generating and storing configuration information for the additional expected device on the database; and a step of applying configuration information of an L3 routing protocol for the ZTP IP address band to all devices within the network path connected to the expected additional location of the additional target device.
본 발명의 일부 실시예에 있어서, 상기 데이터베이스 내 미리 구축된 추가 예상 디바이스에 대한 설정 정보 중 상기 요청한 L3 라우팅 프로토콜의 설정 정보와 일치하는 설정 정보를 상기 추가 대상 디바이스로 전송하는 단계는, 상기 일치하는 설정 정보를 네트워크 관리자 인터페이스로 전송하는 단계; 상기 네트워크 관리자 인터페이스에 의해 변경된 설정 정보를 수신하는 단계; 및 상기 변경된 설정 정보를 상기 추가 대상 디바이스로 전송하는 단계를 포함할 수 있다.In some embodiments of the present invention, the step of transmitting, to the additional target device, the configuration information that matches the configuration information of the requested L3 routing protocol among the configuration information for the additional expected device pre-built in the database, may include the steps of transmitting the matching configuration information to a network manager interface; receiving the configuration information changed by the network manager interface; and transmitting the changed configuration information to the additional target device.
본 발명의 일부 실시예에 있어서, 상기 추가 대상 디바이스에는 디바이스 데몬이 설치되어, 상기 추가 대상 디바이스의 부팅 시 실행되어 패킷 모니터링과, IP 주소 및 L3 라우팅 프로토콜의 설정 정보를 적용할 수 있다.In some embodiments of the present invention, a device daemon is installed in the additional target device, and is executed when the additional target device boots to monitor packets and apply setting information of an IP address and an L3 routing protocol.
본 발명의 일부 실시예에 있어서, 상기 추가 대상 디바이스는 상기 패킷 모니터링을 통해 상기 L3 라우팅 프로토콜에서의 경로 파악 패킷(hello 패킷)을 감지하고, 상기 경로 파악 패킷 감지시 상기 경로 파악 패킷으로부터 SDN 컨트롤러와의 통신을 위한 정보를 추출할 수 있다.In some embodiments of the present invention, the additional target device can detect a route identification packet (hello packet) in the L3 routing protocol through the packet monitoring, and when the route identification packet is detected, extract information for communication with the SDN controller from the route identification packet.
본 발명의 일부 실시예에 있어서, 상기 SDN 컨트롤러와의 통신을 위한 정보는 VLAN 정보, 포트 정보 및 L3 라우팅 프로토콜 관련 정보 중 적어도 하나를 포함할 수 있다.In some embodiments of the present invention, information for communication with the SDN controller may include at least one of VLAN information, port information, and L3 routing protocol related information.
또한, 본 발명의 제2 측면에 따른 L3 라우팅 프로토콜 기반 ZTP 구현을 위한 SDN 컨트롤러는 관리자 인터페이스, 네트워크를 통해 연결된 디바이스와 데이터를 송수신하는 통신모듈, SDN 기반 네트워크 환경에서 L3 라우팅 프로토콜 기반 ZTP(Zero Touch Provisioning)를 구현하기 위한 프로그램이 저장된 메모리 및 상기 메모리에 저장된 프로그램을 실행시키는 프로세서를 포함한다. 이때, 상기 프로세서는 상기 프로그램을 실행시킴에 따라, 소정의 ZTP IP 주소 대역에 ICMP 패킷을 전송하여, 기존 네트워크 상에 추가할 대상인 디바이스(이하, 추가 대상 디바이스)로부터 상기 ICMP 패킷에 대한 응답을 수신하고, 상기 응답에 대응하여 상기 추가 대상 디바이스와의 통신 연결됨에 따라, 상기 추가 대상 디바이스에 L3 라우팅 프로토콜의 설정 정보를 요청하며, 상기 메모리의 데이터베이스 내 미리 구축된 추가 예상 디바이스에 대한 설정 정보 중 상기 요청하여 수신한 L3 라우팅 프로토콜의 설정 정보와 일치하는 설정 정보를 상기 추가 대상 디바이스로 전송한다.In addition, an SDN controller for implementing ZTP based on L3 routing protocol according to the second aspect of the present invention includes a management interface, a communication module for transmitting and receiving data with a device connected through a network, a memory storing a program for implementing ZTP (Zero Touch Provisioning) based on L3 routing protocol in an SDN-based network environment, and a processor for executing the program stored in the memory. At this time, when the processor executes the program, it transmits an ICMP packet to a predetermined ZTP IP address band, receives a response to the ICMP packet from a device to be added to an existing network (hereinafter, “additional target device”), and in response to the response, requests setting information of the L3 routing protocol to the additional target device as communication is connected with the additional target device, and transmits setting information that matches the setting information of the L3 routing protocol requested and received among setting information for additional expected devices built in advance in the database of the memory to the additional target device.
또한, 본 발명의 제3 측면에 따른 L3 라우팅 프로토콜을 활용하여 ZTP을 제공하는 SDN 네트워크 시스템은 소정의 ZTP(Zero Touch Provisioning) IP 주소 대역에 ICMP 패킷을 전송하여 기존 네트워크 상에 추가할 디바이스로부터 ICMP 패킷에 대한 응답을 수신하고, 상기 응답에 대응하여 상기 디바이스와 통신 연결됨에 따라 L3 라우팅 프로토콜의 설정 정보를 요청하고, 데이터베이스 내 구축된 추가 예상 디바이스에 대한 설정 정보 중 상기 요청하여 수신한 L3 라우팅 프로토콜의 설정 정보와 일치하는 설정 정보를 상기 디바이스로 전송하는 SDN 컨트롤러와, 디바이스 데몬이 설치되어 디바이스 부팅 시 L3 라우팅 프로토콜을 설정 정보를 적용하여 상기 SDN 컨트롤러와 통신 연결되어 상기 네트워크에 추가되는 적어도 하나의 디바이스를 포함한다.In addition, the SDN network system providing ZTP by utilizing the L3 routing protocol according to the third aspect of the present invention includes an SDN controller which transmits an ICMP packet to a predetermined ZTP (Zero Touch Provisioning) IP address band, receives a response to the ICMP packet from a device to be added on an existing network, requests setting information of an L3 routing protocol by communicating with the device in response to the response, and transmits setting information matching the setting information of the L3 routing protocol requested and received from among setting information for additional expected devices built in a database to the device, and at least one device added to the network by applying the setting information of the L3 routing protocol when a device daemon is installed and booting the device and communicating with the SDN controller.
상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합되어 상기 L3 라우팅 프로토콜 기반 ZTP 구현 방법을 실행하며, 컴퓨터 판독가능 기록매체에 저장된다.According to another aspect of the present invention for solving the above-described problem, a computer program is coupled with a computer as hardware to execute the L3 routing protocol-based ZTP implementation method, and is stored in a computer-readable recording medium.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the present invention are included in the detailed description and drawings.
상술한 본 발명에 의하면, 보편적인 L3 라우팅 프로토콜을 이용하여 ZTP를 구현함으로써, 디바이스의 제조사 및 특정 프로토콜의 지원 여부에 관계 없이 단기간에 신규 디바이스를 기존 네트워크에 연결시킬 수 있다.According to the present invention described above, by implementing ZTP using a universal L3 routing protocol, a new device can be connected to an existing network in a short period of time regardless of the manufacturer of the device and whether or not it supports a specific protocol.
또한, 네트워크 관리자에게 설정 정보의 디바이스로의 전송 및 적용을 위한 최종 확인 및 변경 가능성을 부여할 수 있고, 이를 통해 네트워크 디바이스 장애에 따른 교체 필요나 사전 네트워크 분석 미숙에 따른 설정 변경 필요시 유연한 대처가 가능하다는 장점이 있다.In addition, it can give network administrators the ability to make final confirmation and changes for transmission and application of configuration information to devices, which has the advantage of allowing flexible response in case of replacement of network devices due to failure or configuration changes due to lack of prior network analysis.
이와 달리, 네트워크 관리자가 부재한 경우, SDN 컨트롤러로 권한 부여를 통해 모든 ZTP 과정의 자동화가 가능하도록 할 수 있다.Alternatively, in the absence of a network administrator, automation of all ZTP processes can be enabled through authorization by the SDN controller.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.
도 1은 본 발명의 일 실시예에서의 소프트웨어 정의 네트워크의 구성을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 SDN 네트워크 시스템을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 L3 라우팅 프로토콜 기반 ZTP 구현을 위한 SDN 컨트롤러의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 SDN 컨트롤러에서의 L3 라우팅 프로토콜 기반 ZTP 구현 방법의 순서도이다.
도 5는 본 발명의 일 실시예에 따른 디바이스에서의 L3 라우팅 프로토콜 기반 ZTP 구현 방법의 순서도이다.FIG. 1 is a diagram for explaining the configuration of a software-defined network in one embodiment of the present invention.
FIG. 2 is a diagram illustrating an SDN network system according to one embodiment of the present invention.
FIG. 3 is a block diagram of an SDN controller for implementing ZTP based on an L3 routing protocol according to one embodiment of the present invention.
FIG. 4 is a flowchart of a method for implementing ZTP based on an L3 routing protocol in an SDN controller according to one embodiment of the present invention.
FIG. 5 is a flowchart of a method for implementing ZTP based on an L3 routing protocol in a device according to one embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.The advantages and features of the present invention, and the methods for achieving them, will become clear with reference to the embodiments described in detail below together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and these embodiments are provided only to make the disclosure of the present invention complete and to fully inform a person skilled in the art of the scope of the present invention, and the present invention is defined only by the scope of the claims.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of describing embodiments only and is not intended to limit the present invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. The terms "comprises" and/or "comprising" as used in the specification do not exclude the presence or addition of one or more other components in addition to the mentioned components. Like reference numerals refer to like components throughout the specification, and "and/or" includes each and every combination of one or more of the mentioned components. Although "first", "second", etc. are used to describe various components, these components are not limited by these terms. These terms are only used to distinguish one component from another component. Therefore, it should be understood that a first component mentioned below may also be a second component within the technical spirit of the present invention.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with the meaning commonly understood by those skilled in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries shall not be ideally or excessively interpreted unless explicitly specifically defined.
이하에서는 먼저 통상의 기술자의 이해를 돕기 위해 본 발명이 착안된 배경에 대해 설명한 후, 본 발명에 대해 상세히 설명하도록 한다.Below, the background of the invention will first be explained to help those skilled in the art understand, and then the invention will be described in detail.
네트워크에 추가되는 라우터나 스위치 등을 구성하는 디바이스는 주변 디바이스들과 통신을 하기 위한 설정 정보들을 갖추고 있어야 한다. 이러한 설정 정보는 IP 주소, 포트 정보, VLAN 정보 등을 포함할 수 있다. 설정 정보는 일반적으로 파일 형태로 스위치의 메모리 내에 존재한다.Devices such as routers and switches added to the network must have configuration information for communicating with surrounding devices. This configuration information may include IP addresses, port information, VLAN information, etc. The configuration information is usually stored in the switch's memory in the form of a file.
디바이스 추가 시에 이러한 설정 정보가 없다면 통신이 불가능하므로, 네트워크 관리자가 직접 해당 디바이스에 장비를 연결하여 설정 정보를 생성하고 적용해야만 한다.If this configuration information is not present when adding a device, communication is not possible, so the network administrator must directly connect the equipment to the device to create and apply the configuration information.
따라서, 일반적으로는 사전에 기존 네트워크를 분석하여 디바이스의 설정 정보를 생성하고, 설치하고자 하는 디바이스에 적용한 후, 설치 당일 네트워크에 연결하는 절차로 디바이스를 추가한다.Therefore, the device is generally added by analyzing the existing network in advance to generate device configuration information, applying it to the device to be installed, and then connecting it to the network on the day of installation.
하지만, 위 경우 당일 설정 변경이 필요한 경우나 디바이스 교체가 필요한 경우 동적으로 대응이 불가능하다는 단점이 있다.However, in the above case, there is a disadvantage in that it is impossible to respond dynamically when same-day setting changes or device replacement are required.
Zero Touch Provisioning(이하, ZTP)는 위와 같은 불편함을 해결하고자 등장한 개념으로, 네트워크 관리 시스템이 새로운 디바이스를 감지하면 자동으로 필요한 설정을 적용하는 일련의 과정을 말한다. 즉, ZTP는 네트워크 구성에 임의의 디바이스가 추가될 때 동적으로 빠르게 설정 정보를 적용하여 하위 요소에 서비스를 공급하는 방법이다.Zero Touch Provisioning (ZTP) is a concept that emerged to solve the inconvenience mentioned above, and refers to a series of processes in which a network management system automatically applies the necessary settings when a new device is detected. In other words, ZTP is a method of dynamically and quickly applying setting information when an arbitrary device is added to a network configuration to supply services to lower elements.
그런데 기존의 ZTP 방법들은 통신이 불가능한 상황을 극복하기 위해 일반적으로 독자적인 프로토콜과 에이전트를 사용한다. 새로 설치되는 디바이스는 해당 프로토콜을 이용하여 본인의 존재를 알리는 hello 패킷을 기존 네트워크에 전달한다. 이때, 에이전트는 기존 네트워크에 설치되는 일종의 프로그램으로, 디바이스가 보낸 hello 패킷을 감지하면 디바이스에 요구되는 설정 정보를 전송한다. 하지만, 종래의 ZTP 방법들은 해당 프로토콜을 지원하는 디바이스만이 사용 가능하다는 단점이 있었다.However, existing ZTP methods generally use their own protocols and agents to overcome situations where communication is impossible. A newly installed device uses the protocol to send a hello packet to the existing network to announce its existence. At this time, the agent is a type of program installed on the existing network, and when it detects the hello packet sent by the device, it sends the required configuration information to the device. However, existing ZTP methods had a disadvantage in that only devices supporting the protocol could use them.
이하에서는 도 1을 참고하여 소프트웨어 정의 네트워크에 대해 설명하도록 한다.Below, a software-defined network is described with reference to Fig. 1.
도 1은 본 발명의 일 실시예에서의 소프트웨어 정의 네트워크의 구성을 설명하기 위한 도면이다.FIG. 1 is a diagram for explaining the configuration of a software-defined network in one embodiment of the present invention.
도 1을 참조하면, 소프트웨어 정의 네트워크(Software Defined Network)는 SDN 컨트롤러, 네트워크 장비 및 호스트를 포함한다. 이때, 네트워크 장비와 호스트는 노드(Node)라 지칭할 수 있으며, 링크(Link)는 2개의 노드 사이의 연결을 의미한다.Referring to Figure 1, a software defined network includes an SDN controller, network equipment, and a host. At this time, the network equipment and the host can be referred to as nodes, and a link means a connection between two nodes.
SDN 컨트롤러는 네트워크 장비를 관리하는 기능을 하며, 복수의 네트워크 장비를 중앙 집중형으로 관리 및 제어한다. 구체적으로 SDN 컨트롤러는 토폴로지 관리(Topology management), 패킷 처리와 관련된 경로 관리(Path management), 링크 디스커버리(Link discovery), 패킷 흐름인 플로우 관리(Flow management) 등의 기능을 하는 소프트웨어가 탑재된 형태로 구현될 수 있다.The SDN controller manages network equipment and centrally manages and controls multiple network equipment. Specifically, the SDN controller can be implemented in a form equipped with software that performs functions such as topology management, path management related to packet processing, link discovery, and flow management, which is packet flow.
네트워크 장비는 SDN 컨트롤러의 제어에 따라 패킷을 처리하는 기능을 수행한다. 이때, 네트워크 장비의 일 예로는 이동 통신 기지국, 기지국 제어기, 게이트웨이 장비, 유선 네트워크 스위치, 라우터 등일 수 있다. 다만, 설명의 편의를 위해 이하에서는 네트워크 장비는 SDN 스위치인 경우를 중심으로 설명하며, 동일한 도면 부호를 병기하도록 한다.Network equipment performs the function of processing packets under the control of the SDN controller. At this time, examples of network equipment may include a mobile communication base station, a base station controller, a gateway equipment, a wired network switch, a router, etc. However, for the convenience of explanation, the following explanation will focus on the case where the network equipment is an SDN switch, and the same drawing symbols will be used.
소프트웨어 정의 네트워크에서 SDN 컨트롤러와 네트워크 장비는 상호간에 정보를 주고 받아야 하며, 이를 위한 프로토콜로 널리 사용되는 것이 오픈플로우(OpenFlow) 프로토콜이다. 즉, 오픈플로우 프로토콜은 SDN 컨트롤러와 네트워크 장비 간 서로 통신할 수 있는 표준 규격이다.In a software-defined network, SDN controllers and network devices must exchange information with each other, and the protocol widely used for this purpose is the OpenFlow protocol. In other words, the OpenFlow protocol is a standard specification that allows SDN controllers and network devices to communicate with each other.
호스트는 네트워크 장비의 하위 계층에 해당하는 단말 등을 의미하는 것으로, 클라이언트 및 서버를 통칭하는 의미로 사용될 수 있다. 호스트는 소프트웨어 정의 네트워크를 통해 다른 호스트에 보내기 위한 패킷을 생성하고, 패킷을 네트워크 인터페이스의 포트를 통해 네트워크 장비로 전송할 수 있다.A host refers to a terminal corresponding to a lower layer of network equipment, and can be used to collectively refer to clients and servers. A host can create packets to be sent to other hosts through a software-defined network, and transmit packets to network equipment through a port of a network interface.
예컨대, 제1 호스트가 제2 호스트로 패킷을 보내고자 할 때, 우선 제1 호스트는 보내고자 하는 패킷을 생성하고, 해당 패킷을 제1 호스트와 연결된 네트워크 장비로 전송한다. 네트워크 장비에 해당 패킷의 처리를 규정한 플로우 테이블이 존재하는 경우, 네트워크 장비가 규정대로 패킷을 처리한다.For example, when a first host wants to send a packet to a second host, the first host first creates the packet to be sent and transmits the packet to a network device connected to the first host. If the network device has a flow table that specifies the processing of the packet, the network device processes the packet as specified.
하지만, 네트워크 장비에 해당 패킷과 관련된 플로우 테이블이 없는 경우, 네트워크 장비는 SDN 컨트롤러에 패킷 유입을 알리는 패킷-인 메시지(Packet-in Message)를 전송한다.However, if the network device does not have a flow table related to the packet, the network device sends a Packet-in Message to the SDN controller to notify the packet of the incoming packet.
SDN 컨트롤러는 오퍼레이터의 정책이나 미리 설정된 알고리즘에 따라 패킷의 처리를 규정하는 플로우 모드 메시지를 생성하여 네트워크 장비로 전송하고, 네트워크 장비는 플로우 모드 메시지에 의해 변경된 플로우 테이블을 참조하여 해당 패킷을 처리한다.The SDN controller generates a flow mode message that specifies the processing of packets according to the operator's policy or a preset algorithm and transmits it to the network device, and the network device processes the packet by referring to the flow table changed by the flow mode message.
한편, 제1 호스트가 제2 호스트로 패킷을 보낼 수 있는 경로는 다양하다. 전체 네트워크에는 복수의 네트워크 장비 및 호스트가 존재하므로 각 노드마다 복수의 링크를 가지기 때문이다. 이때, SDN 컨트롤러는 전체 네트워크 토폴로지 맵에 기반하여 패킷을 보낼 수 있는 복수 개의 경로 중에서 최적 경로를 연산한다. 그리고 SDN 컨트롤러는 연산된 최적 경로에 대한 정보를 네트워크 장비에 전송하고, 네트워크 장비는 최적 경로로 패킷을 처리하는 것이 일반적이다.Meanwhile, there are various paths through which the first host can send packets to the second host. This is because there are multiple network devices and hosts in the entire network, and each node has multiple links. At this time, the SDN controller calculates an optimal path among multiple paths through which packets can be sent based on the entire network topology map. Then, the SDN controller sends information about the calculated optimal path to the network device, and the network device usually processes the packet along the optimal path.
이하에서는 도 2 내지 도 3을 참조하여 본 발명의 일 실시예에 따른 L3 라우팅 프로토콜을 활용하여 ZTP을 제공하는 SDN 네트워크 시스템(1) 및 SDN 컨트롤러(100)에 대해 설명하도록 한다.Hereinafter, an SDN network system (1) and an SDN controller (100) that provide ZTP by utilizing an L3 routing protocol according to one embodiment of the present invention will be described with reference to FIGS. 2 and 3.
도 2는 본 발명의 일 실시예에 따른 SDN 네트워크 시스템(1)을 도시한 도면이다. 이때, 도 2의 예시에서는 추가 예상 디바이스 1, 2, 3을 위한 설정 정보를 데이터베이스(101) 상에 저장하고 있는 것을 도시하고 있으며, 후술하는 디바이스 데몬이 적용된 추가 대상 디바이스 1, 2(200a, 200b)가 실제로 토폴로지에 연결된 상황을 도시한 것이다.FIG. 2 is a diagram illustrating an SDN network system (1) according to one embodiment of the present invention. At this time, the example of FIG. 2 illustrates that setting information for additional expected devices 1, 2, and 3 are stored in a database (101), and illustrates a situation in which additional target devices 1 and 2 (200a, 200b) to which a device daemon described below is applied are actually connected to the topology.
본 발명의 일 실시예에 따른 SDN 네트워크 시스템(1)은 SDN 컨트롤러(100)와 적어도 하나의 디바이스(200a, 200b)를 포함한다.An SDN network system (1) according to one embodiment of the present invention includes an SDN controller (100) and at least one device (200a, 200b).
SDN 컨트롤러(100)는 신규로 추가가 예상되는 디바이스(이하 추가 예상 디바이스)에 대한 설정 정보를 데이터베이스(101) 상에 생성 및 저장한다. 추가 예상 디바이스를 위한 설정 정보는 네트워크 관리자에 의해 준비되어 SDN 컨트롤러(100)의 데이터베이스(101) 내에 저장될 수 있다.The SDN controller (100) creates and stores configuration information for devices expected to be newly added (hereinafter, additionally expected devices) in a database (101). Configuration information for additionally expected devices can be prepared by a network manager and stored in the database (101) of the SDN controller (100).
SDN 컨트롤러(100)는 기존 네트워크(a) 상에 추가할 대상인 디바이스(이하 추가 대상 디바이스, 200)와의 통신 연결을 위하여 ZTP IP 주소 대역을 할당하고, 할당된 ZTP IP 주소 대역에 지속적으로 ICMP(Internet Control Message Protocol) 패킷을 전송하여 통신을 시도한다.The SDN controller (100) allocates a ZTP IP address band for communication connection with a device (hereinafter, a target device for addition, 200) to be added to an existing network (a), and attempts communication by continuously transmitting ICMP (Internet Control Message Protocol) packets to the allocated ZTP IP address band.
추가 대상 디바이스(200)는 ICMP 패킷에 대한 응답을 전송하며, 해당 IP 주소를 사용하여 SDN 컨트롤러(100)와 연결될 수 있다.The additional target device (200) transmits a response to the ICMP packet and can be connected to the SDN controller (100) using its IP address.
이때, SDN 컨트롤러(100)는 추가 대상 디바이스(200)와의 통신 연결을 위하여, 추가 대상 디바이스(200)의 예상 추가 위치와 연결되는 네트워크(a) 경로 내 모든 디바이스들을 대상으로 ZTP IP 주소 대역에 대한 L3 프로토콜의 설정 정보를 적용시킬 수 있다.At this time, the SDN controller (100) can apply L3 protocol setting information for the ZTP IP address band to all devices within the network (a) path connected to the expected additional location of the additional target device (200) in order to establish a communication connection with the additional target device (200).
즉, 본 발명의 일 실시예는 보편적인 L3 라우팅 프로토콜을 사용함으로써 추가 대상 디바이스 1, 2(200a, 200b)가 각각 다른 제조사의 디바이스일지라도 디바이스 데몬(210a, 210b) 설치를 통해 종속성이 없는 ZTP의 구현이 가능하다. 또한, 기존 네트워크(a)의 디바이스들에 ZTP IP 대역에 대한 L3 라우팅 프로토콜을 설정하도록 함으로써, 추가 대상 디바이스(200)의 연결 위치에 구애받지 않고 ZTP의 지원이 가능하다는 장점이 있다.That is, one embodiment of the present invention enables implementation of ZTP without dependency by installing a device daemon (210a, 210b) even if additional target devices 1 and 2 (200a, 200b) are devices of different manufacturers by using a universal L3 routing protocol. In addition, by setting an L3 routing protocol for the ZTP IP band in devices of an existing network (a), there is an advantage in that support for ZTP is possible regardless of the connection location of the additional target device (200).
일 실시예로, SDN 컨트롤러(100)는 ZTP IP 주소를 소유한 추가 대상 디바이스(200)와 통신 연결되면, 추가 대상 디바이스(200)에 임의의 설정 정보를 적용할 수 있다. 해당 설정 정보는 적용시점에서 네트워크 관리자에 의해 변경도 가능하며, 상기 설정 정보는 파일 형태로 추가 대상 디바이스(200)에 전송될 수 있다.In one embodiment, when the SDN controller (100) is connected to an additional target device (200) that has a ZTP IP address, it can apply arbitrary setting information to the additional target device (200). The setting information can also be changed by the network manager at the time of application, and the setting information can be transmitted to the additional target device (200) in the form of a file.
즉, SDN 컨트롤러(100)는 추가 대상 디바이스(200)와의 통신 연결에 따라, 추가 대상 디바이스(200)에 L3 라우팅 프로토콜 설정 정보를 요청 및 수신하고, 데이터베이스(101) 내 미리 구축된 추가 예상 디바이스에 대한 설정 정보 중 추가 대상 디바이스(200)로부터 수신한 L3 라우팅 프로토콜의 설정 정보와 일치하는 설정 정보를 추가 대상 디바이스(200)로 전송할 수 있다.That is, the SDN controller (100) may request and receive L3 routing protocol setting information from the additional target device (200) according to the communication connection with the additional target device (200), and may transmit setting information that matches the setting information of the L3 routing protocol received from the additional target device (200) among the setting information for the additional expected device built in advance in the database (101) to the additional target device (200).
이에 따라, SDN 컨트롤러(100)는 일치하는 설정 정보를 곧바로 추가 대상 디바이스(200)로 전송 및 적용하도록 함으로써 신규로 추가될 추가 대상 디바이스(200)가 연결되는 시점부터 최종 설정 정보를 전송할 때까지 모든 ZTP 과정을 자동화할 수 있다. 즉, 본 발명의 일 실시예에서 SDN 컨트롤러(100)는 네트워크 관리자에게 최종적으로 설정 정보를 확인하는 권한을 위임받아 네트워크 관리자 없이도 자체적으로 모든 ZTP 과정을 자동화할 수 있다.Accordingly, the SDN controller (100) can automate all ZTP processes from the time when a newly added additional target device (200) is connected until the final setting information is transmitted by directly transmitting and applying matching setting information to the additional target device (200). That is, in one embodiment of the present invention, the SDN controller (100) can automate all ZTP processes on its own without the network manager by delegating the authority to finally confirm the setting information to the network manager.
또는, SDN 컨트롤러(100)는 데이터베이스(101) 내 미리 구축된 추가 예상 디바이스에 대한 설정 정보 중 추가 대상 디바이스(200)로부터 수신한 L3 라우팅 프로토콜의 설정 정보와 일치하는 설정 정보를 네트워크 관리자 인터페이스(300)로 전송할 수 있다. 네트워크 관리자는 제공받은 설정 정보를 추가 대상 디바이스(200)에 전송할지 여부를 최종적으로 확인하기 위한 네트워크 관리자 인터페이스(300)를 구비하며, 네트워크 관리자 인터페이스(300)를 통해 필요한 경우 설정 정보를 동적으로 변경할 수 있다. 이에 따라, SDN 컨트롤러(100)가 네트워크 관리자 인터페이스(300)로부터 변경된 설정 정보를 수신하면, 변경된 설정 정보를 추가 대상 디바이스로 전송하여 적용되도록 할 수 있다. 이때, 추가 대상 디바이스(200)가 물리적으로 연결된 후 일련의 과정에서 네트워크 관리자는 최종 확인만을 진행하게 된다. 여기에서 말하는 일련의 과정은 신규 스위치를 물리적으로 연결한 이후부터 SDN 컨트롤러(100)를 통해 설정 정보를 신규 스위치에 적용하기까지의 모든 ZTP 과정을 말한다.Alternatively, the SDN controller (100) may transmit, to the network manager interface (300), the configuration information that matches the configuration information of the L3 routing protocol received from the additional target device (200) among the configuration information for the additional expected device pre-built in the database (101). The network manager is equipped with a network manager interface (300) for finally confirming whether to transmit the provided configuration information to the additional target device (200), and may dynamically change the configuration information if necessary through the network manager interface (300). Accordingly, when the SDN controller (100) receives the changed configuration information from the network manager interface (300), it may transmit the changed configuration information to the additional target device so that it is applied. At this time, the network manager only performs the final confirmation in a series of processes after the additional target device (200) is physically connected. The series of processes referred to here refer to all ZTP processes from physically connecting a new switch to applying the configuration information to the new switch through the SDN controller (100).
한편, 본 발명의 일 실시예에서 디바이스(200)에는 디바이스 데몬(210)이 설치되어 있는바, 종래 기술과 달리 부가적인 에이전트의 설치 없이 디바이스의 위치에 구애받지 않고 ZTP를 구현할 수 있다. 이때, 디바이스 데몬(210)은 디바이스에 설치된 일종의 프로세서로, 추가 대상 디바이스(200)가 부팅되는 시점에 함께 실행되어 패킷 모니터링과, IP 주소 및 L3 라우팅 프로토콜의 설정 정보를 적용한다.Meanwhile, in one embodiment of the present invention, a device daemon (210) is installed in the device (200), so that, unlike the conventional technology, ZTP can be implemented regardless of the location of the device without installing an additional agent. At this time, the device daemon (210) is a type of processor installed in the device, and is executed together with the additional target device (200) when it boots up to monitor packets and apply setting information of IP address and L3 routing protocol.
일 실시예로, 디바이스 데몬(210)은 디바이스(200)의 리눅스 커널 상에서 실행되기 때문에 종래 기술과 같이 디바이스 종속성이 문제되지 않고 여러 디바이스들에 보편적으로 적용이 가능하다.In one embodiment, since the device daemon (210) runs on the Linux kernel of the device (200), device dependency is not a problem as in the prior art and can be universally applied to multiple devices.
일 실시예로, 추가 대상 디바이스(200)는 디바이스 데몬(210)을 실행시킴으로써 패킷 모니터링 기능을 통해 L3 라우팅 프로토콜에서의 경로 파악 패킷을 감지하고, 경로 파악 패킷 감지시 경로 파악 패킷으로부터 SDN 컨트롤러(100)와의 통신을 위한 정보를 추출할 수 있다. 이때, 경로 파악 패킷은 hello 패킷일 수 있으나 이에 반드시 한정되는 것은 아니다. 디바이스 데몬(210)을 이용하여 일정 시간동안 경로 파악 패킷을 감지를 시작하고, 경로 파악을 위한 패킷이 아직 들어오지 않은 경우에는 반복적으로 패킷 모니터링 기능을 활성화한다. 디바이스 데몬(210)을 이용한 패킷 모니터링 방법은 상기 방법에 반드시 한정되는 것은 아니다.In one embodiment, the additional target device (200) can detect a route identification packet in the L3 routing protocol through a packet monitoring function by executing the device daemon (210), and extract information for communication with the SDN controller (100) from the route identification packet when the route identification packet is detected. At this time, the route identification packet may be a hello packet, but is not necessarily limited thereto. The device daemon (210) is used to start detecting the route identification packet for a certain period of time, and if a packet for route identification has not yet arrived, the packet monitoring function is repeatedly activated. The packet monitoring method using the device daemon (210) is not necessarily limited to the above method.
여기에서 SDN 컨트롤러(100)와의 통신을 위한 정보는 VLAN 정보, 포트 정보 및 L3 라우팅 프로토콜 설정 정보 중 적어도 하나를 포함할 수 있다. 추출된 정보는 추가 대상 디바이스(200) 설정에 적용되어 SDN 컨트롤러(100)와 통신을 구축할 수 있다.Here, information for communication with the SDN controller (100) may include at least one of VLAN information, port information, and L3 routing protocol setting information. The extracted information may be applied to the setting of an additional target device (200) to establish communication with the SDN controller (100).
이때, L3 라우팅 프로토콜 설정 정보는 IP 주소와 같이 해당 디바이스를 식별하기 위한 정보를 의미하며, 또한 상기 정보는 SDN 컨트롤러(100)에 전송되어 추가 대상 디바이스(200)의 위치를 구분하기 위한 구분자로 사용되며, 구분자로 사용됨에 따라 SDN 컨트롤러(100) 데이터베이스(101) 내 미리 구축된 추가 예상 디바이스에 대한 설정 정보 중 올바른 설정 정보를 수신할 수 있도록 한다. 예를 들어 OSPF를 사용하는 경우 OSPF peer network IP 주소를 사용할 수 있다. 즉, 신규 스위치의 디바이스 데몬이 주변 스위치와의 OSPF 패킷 교환을 통해 신규 스위치에 OSPF peer network IP 정보를 설정할 수 있다. 그리고 설정된 OSPF peer network IP 정보는 동일 서브넷 내에서 신규 스위치만 사용 가능하다. 따라서, SDN 컨트롤러(100)의 설정 정보 데이터베이스(101) 내에 같은 OSPF peer network IP를 사용하는 설정은 한 가지만 존재하게 되고, SDN 컨트롤러(100)는 해당 설정을 신규 스위치에 적용할 수 있다.At this time, the L3 routing protocol setting information means information for identifying the corresponding device, such as an IP address, and also the information is transmitted to the SDN controller (100) and used as a delimiter for distinguishing the location of the additional target device (200), and by being used as a delimiter, it enables the correct setting information to be received among the setting information for the additional expected device built in advance in the SDN controller (100) database (101). For example, when OSPF is used, an OSPF peer network IP address can be used. That is, the device daemon of the new switch can set OSPF peer network IP information in the new switch through OSPF packet exchange with the surrounding switch. In addition, the set OSPF peer network IP information can only be used by the new switch within the same subnet. Therefore, there is only one setting using the same OSPF peer network IP in the setting information database (101) of the SDN controller (100), and the SDN controller (100) can apply the setting to the new switch.
L3 라우팅 프로토콜 설정 정보는 전술한 바와 같이 SDN 컨트롤러(100)의 데이터베이스(101) 내 저장된 설정 정보(예를 들어 IP 주소)와 비교하여 일치하는 설정 정보를 추가 대상 디바이스(200)를 위해 생성한 설정 정보로 적용할 수 있다. 추가 대상 디바이스(200)에 컨트롤러(100)에서 생성한 설정 정보가 정상적으로 적용된 것을 확인하기 위해 ICMP 통신이 되는 것을 확인한다.As described above, the L3 routing protocol configuration information can be compared with the configuration information (e.g., IP address) stored in the database (101) of the SDN controller (100) and the matching configuration information can be applied as the configuration information generated for the additional target device (200). To confirm that the configuration information generated by the controller (100) is normally applied to the additional target device (200), it is confirmed that ICMP communication is performed.
도 3은 본 발명의 일 실시예에 따른 L3 라우팅 프로토콜 기반 ZTP 구현을 위한 SDN 컨트롤러(100)의 블록도이다.FIG. 3 is a block diagram of an SDN controller (100) for implementing ZTP based on an L3 routing protocol according to one embodiment of the present invention.
본 발명의 일 실시예에 따른 SDN 컨트롤러(100)는 통신모듈(110), 메모리(120) 및 프로세서(130)를 포함한다.An SDN controller (100) according to one embodiment of the present invention includes a communication module (110), a memory (120), and a processor (130).
통신모듈(110)은 네트워크 관리자 인터페이스(300), 네트워크(a)를 통해 연결된 디바이스(200)와 데이터를 송수신한다.The communication module (110) transmits and receives data with a device (200) connected via a network manager interface (300) and a network (a).
메모리(120)에는 SDN 기반 네트워크 환경에서 L3 라우팅 프로토콜 기반 ZTP(Zero Touch Provisioning)를 구현하기 위한 프로그램이 저장되며, 추가 예상 디바이스에 대한 설정 정보가 저장된 데이터베이스(101)를 포함한다.The memory (120) stores a program for implementing ZTP (Zero Touch Provisioning) based on L3 routing protocol in an SDN-based network environment, and includes a database (101) in which setting information for additional expected devices is stored.
프로세서(130)는 메모리에 저장된 프로그램을 실행시켜 기존 네트워크(a) 상에 추가할 대상인 추가 대상 디바이스(200)와 통신 연결을 수행하고, 통신 연결됨에 따라 추가 대상 디바이스(200)에 L3 라우팅 프로토콜 설정 정보를 요청 및 수신하며, 데이터베이스(101) 내 미리 구축된 추가 예상 디바이스에 대한 설정 정보 중 추가 대상 디바이스(200)로부터 수신한 L3 라우팅 프로토콜의 설정 정보와 일치하는 설정 정보를 추가 대상 디바이스(200)를 위한 설정 정보로 적용하도록 전송할 수 있다.The processor (130) executes a program stored in memory to perform a communication connection with an additional target device (200) to be added to an existing network (a), and as the communication connection is established, requests and receives L3 routing protocol setting information from the additional target device (200), and transmits setting information that matches the setting information of the L3 routing protocol received from the additional target device (200) among the setting information for additional expected devices built in advance in the database (101) so that it can be applied as setting information for the additional target device (200).
이하에서는 도 4 내지 도 5를 참조하여 본 발명의 일 실시예에 따른 SDN 컨트롤러(100) 및 디바이스(200)에서 수행되는 L3 라우팅 프로토콜 기반 ZTP 구현 방법에 대해 설명하도록 한다.Hereinafter, a method for implementing ZTP based on an L3 routing protocol performed in an SDN controller (100) and a device (200) according to one embodiment of the present invention will be described with reference to FIGS. 4 and 5.
도 4는 본 발명의 일 실시예에 따른 SDN 컨트롤러(100)에서의 L3 라우팅 프로토콜 기반 ZTP 구현 방법의 순서도이다.FIG. 4 is a flowchart of a method for implementing ZTP based on an L3 routing protocol in an SDN controller (100) according to one embodiment of the present invention.
먼저, SDN 컨트롤러(100)는 ZTP IP 주소 대역을 할당한다(S110).First, the SDN controller (100) allocates a ZTP IP address band (S110).
다음으로, 추가 예상 디바이스에 대한 설정 정보를 데이터베이스(101) 상에 저장하고(S120), 추가 대상 디바이스(200)의 예상 추가 위치와 연결되는 네트워크(a) 경로 내 모든 디바이스를 대상으로 ZTP IP 주소 대역에 대한 L3 라우팅 프로토콜 설정 정보를 적용시킨다(S130).Next, setting information for additional expected devices is stored in a database (101) (S120), and L3 routing protocol setting information for the ZTP IP address band is applied to all devices within the network (a) path connected to the expected additional location of the additional target device (200) (S130).
다음으로, ZTP IP 주소 대역에 ICMP 패킷을 전송하고(S140), 기존 네트워크(a) 상에 추가 대상 디바이스로부터 ICMP 패킷에 대한 응답을 수신한다(S150).Next, an ICMP packet is transmitted to the ZTP IP address band (S140), and a response to the ICMP packet is received from an additional target device on the existing network (a) (S150).
다음으로, 응답에 대응하여 추가 대상 디바이스(200)와의 통신 연결됨에 따라, 추가 대상 디바이스에 L3 라우팅 프로토콜 설정 정보를 요청하여 수신하고(S160), 수신한 설정 정보와 데이터베이스(101) 내 저장된 설정 정보 중 일치하는 설정 정보를 추가 대상 디바이스(200)로 전송한다(S170).Next, in response to the response, as communication is established with an additional target device (200), L3 routing protocol setting information is requested and received from the additional target device (S160), and setting information that matches the received setting information and the setting information stored in the database (101) is transmitted to the additional target device (200) (S170).
도 5는 본 발명의 일 실시예에 따른 디바이스(200)에서의 L3 라우팅 프로토콜 기반 ZTP 구현 방법의 순서도이다.FIG. 5 is a flowchart of a method for implementing ZTP based on an L3 routing protocol in a device (200) according to one embodiment of the present invention.
먼저, 디바이스(200)는 설정 정보에 ZTP IP 주소가 존재하는지 여부를 확인하고(S210), 존재하는 경우 ZTP IP 주소를 설정한다(S220).First, the device (200) checks whether a ZTP IP address exists in the setting information (S210), and if so, sets the ZTP IP address (S220).
다음으로, 패킷 모니터링 기능을 실행하여(S230), L3 라우팅 프로토콜에서의 경로 파악 패킷을 감지하고(S240), 경로 파악 패킷 감지시 경로 파악 패킷으로부터 SDN 컨트롤러(100)와의 통신을 위한 정보를 추출한다(S250). 이때, SDN 컨트롤러(100)와의 통신을 위한 정보는 VLAN 정보, 포트 정보 및 L3 라우팅 프로토콜 관련 정보일 수 있다.Next, a packet monitoring function is executed (S230), a route identification packet in an L3 routing protocol is detected (S240), and when a route identification packet is detected, information for communication with the SDN controller (100) is extracted from the route identification packet (S250). At this time, the information for communication with the SDN controller (100) may be VLAN information, port information, and information related to the L3 routing protocol.
한편, 상술한 설명에서, 단계 S110 내지 S250은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 1 내지 도 3의 내용과 도 4 및 도 5의 내용은 상호 적용될 수 있다.Meanwhile, in the above description, steps S110 to S250 may be further divided into additional steps or combined into fewer steps, depending on the implementation of the present invention. In addition, some steps may be omitted as needed, and the order between the steps may be changed. In addition, even if other omitted contents are present, the contents of FIGS. 1 to 3 and the contents of FIGS. 4 and 5 may be mutually applied.
이상에서 전술한 본 발명의 일 실시예에 따른 SDN 컨트롤러에서의 L3 라우팅 프로토콜 기반 ZTP 구현 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.The method for implementing ZTP based on L3 routing protocol in an SDN controller according to one embodiment of the present invention described above can be implemented as a program (or application) to be executed in combination with a computer as hardware and stored in a medium.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, Ruby, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.The above-described program may include codes coded in a computer language, such as C, C++, JAVA, Ruby, or machine language, that can be read by the processor (CPU) of the computer through the device interface of the computer, so that the computer reads the program and executes the methods implemented as a program. Such codes may include functional codes related to functions that define functions necessary for executing the methods, and may include control codes related to execution procedures necessary for the processor of the computer to execute the functions according to a predetermined procedure. In addition, such codes may further include memory reference-related codes regarding which location (address address) of the internal or external memory of the computer should be referenced for additional information or media necessary for the processor of the computer to execute the functions. In addition, if the processor of the computer needs to communicate with another computer or server located remotely in order to execute the functions, the code may further include communication-related code regarding how to communicate with another computer or server located remotely using the communication module of the computer, what information or media to send and receive during communication, etc.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.The above-mentioned storage medium means a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short period of time, such as a register, cache, or memory. Specifically, examples of the above-mentioned storage medium include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. That is, the above-mentioned program can be stored in various storage media on various servers that the above-mentioned computer can access, or in various storage media on the user's above-mentioned computer. In addition, the above-mentioned medium can be distributed to computer systems connected to a network, so that a computer-readable code can be stored in a distributed manner.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustrative purposes, and those skilled in the art will understand that the present invention can be easily modified into other specific forms without changing the technical idea or essential characteristics of the present invention. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. For example, each component described as a single component may be implemented in a distributed manner, and likewise, components described as distributed may be implemented in a combined manner.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims described below rather than the detailed description above, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention.
a: 네트워크
1: SDN 네트워크 시스템
100: SDN 컨트롤러
101: 설정 정보 데이터베이스
110: 통신모듈
120: 메모리
130: 프로세서
200: 추가 대상 디바이스
210: 디바이스 데몬
300: 네트워크 관리자 인터페이스a: network
1: SDN network system
100: SDN Controller
101: Configuration Information Database
110: Communication module
120: Memory
130: Processor
200: Additional target devices
210: Device Daemon
300: Network Manager Interface
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020230022082AKR20240129352A (en) | 2023-02-20 | 2023-02-20 | Sdn controller, sdn network system and method for implementing ztp(zero touch provisioning) based on l3 routing protocol |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020230022082AKR20240129352A (en) | 2023-02-20 | 2023-02-20 | Sdn controller, sdn network system and method for implementing ztp(zero touch provisioning) based on l3 routing protocol |
| Publication Number | Publication Date |
|---|---|
| KR20240129352Atrue KR20240129352A (en) | 2024-08-27 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020230022082ACeasedKR20240129352A (en) | 2023-02-20 | 2023-02-20 | Sdn controller, sdn network system and method for implementing ztp(zero touch provisioning) based on l3 routing protocol |
| Country | Link |
|---|---|
| KR (1) | KR20240129352A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210145155A (en) | 2019-04-04 | 2021-12-01 | 시스코 테크놀러지, 인크. | Cloud enabling of legacy trusted networking devices for zero-touch provisioning and enterprise as-a-service |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210145155A (en) | 2019-04-04 | 2021-12-01 | 시스코 테크놀러지, 인크. | Cloud enabling of legacy trusted networking devices for zero-touch provisioning and enterprise as-a-service |
| Publication | Publication Date | Title |
|---|---|---|
| US7159016B2 (en) | Method and apparatus for configuring an endpoint device to a computer network | |
| JP6571776B2 (en) | System and method for automatic device detection, device management and remote assistance | |
| US9923978B2 (en) | Automated network service discovery and communication | |
| US7380025B1 (en) | Method and apparatus providing role-based configuration of a port of a network element | |
| RU2562438C2 (en) | Network system and network management method | |
| EP2562970B1 (en) | Switch, and flow table control method | |
| US8219713B2 (en) | Method and system for a network controller based pass-through communication mechanism between local host and management controller | |
| JP2004509539A5 (en) | ||
| US20090049161A1 (en) | Server management program in network system | |
| US20220311733A1 (en) | Communication device and communication system | |
| US12212487B2 (en) | LAN system, method and unit supporting dynamic self-adaptive network configuration | |
| KR100714681B1 (en) | Network management device and method | |
| JP2006129355A (en) | Information processor, data transmission system, data transmission method, and program for performing the data transmission method on the information processor | |
| JP3996922B2 (en) | Centralized management system and method for network connection means in a network where different communication protocols coexist | |
| JP5018969B2 (en) | COMMUNICATION CONTROL PROGRAM, COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, AND COMMUNICATION CONTROL METHOD | |
| US11641307B2 (en) | Method for configuring a network node | |
| CN100433645C (en) | Network device management method and network management system | |
| JP2006262193A (en) | Control device, packet transfer method, and packet processing device | |
| US20250071090A1 (en) | Software defined perimeter integration for software defined cellular telecommunications networks | |
| US10931565B2 (en) | Multi-VRF and multi-service insertion on edge gateway virtual machines | |
| KR102092015B1 (en) | Method, apparatus and computer program for recognizing network equipment in a software defined network | |
| KR20240129352A (en) | Sdn controller, sdn network system and method for implementing ztp(zero touch provisioning) based on l3 routing protocol | |
| Cisco | Configuring CMPC+ | |
| CN105323088A (en) | Springboard processing method and springboard processing device | |
| Cisco | Command Reference |
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application | St.27 status event code:A-0-1-A10-A12-nap-PA0109 | |
| PA0201 | Request for examination | St.27 status event code:A-1-2-D10-D11-exm-PA0201 | |
| D13-X000 | Search requested | St.27 status event code:A-1-2-D10-D13-srh-X000 | |
| D14-X000 | Search report completed | St.27 status event code:A-1-2-D10-D14-srh-X000 | |
| PG1501 | Laying open of application | St.27 status event code:A-1-1-Q10-Q12-nap-PG1501 | |
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection | St.27 status event code:A-1-2-D10-D21-exm-PE0902 | |
| PE0601 | Decision on rejection of patent | St.27 status event code:N-2-6-B10-B15-exm-PE0601 |