KR101581127B1 - Network system and communication method and network device - Google Patents
Network system and communication method and network device Download PDFInfo
- Publication number
- KR101581127B1 KR101581127B1 KR1020140085125A KR20140085125A KR101581127B1 KR 101581127 B1 KR101581127 B1 KR 101581127B1 KR 1020140085125 A KR1020140085125 A KR 1020140085125A KR 20140085125 A KR20140085125 A KR 20140085125A KR 101581127 B1 KR101581127 B1 KR 101581127B1
- Authority
- KR
- South Korea
- Prior art keywords
- layer
- interface
- network
- application layer
- module
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/321—Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
Abstract
Description
네트워크 시스템과 통신 방법, 및 네트워크 장치가 개시된다.A network system, a communication method, and a network apparatus are disclosed.
소프트웨어 정의 네트워킹(SDN) 환경에서 어플리케이션(application)을 개발할 경우, SDN 컨트롤러(Controller)가 노출하는 노스바운드 인터페이스(NorthBound Interface)를 활용하여 특정 목적에 맞는 어플리케이션을 개발할 수 있다. When developing an application in a software defined networking (SDN) environment, the application can be developed for a specific purpose by utilizing the NorthBound interface exposed by the SDN controller.
SDN 컨트롤러와 SDN 스위치 장비들 사이에는 산업 표준인 오픈 플로우(OpenFlow) 등이 정의되어 있는 반면에, SDN 컨트롤러와 SDN 어플리케이션 간의 인터페이스(Interface)는 산업 표준이 정해지지 않은 상황이다. 즉, SDN 컨트롤러의 벤더 별 또는 OSS(Open Source Software) 별로 어플리케이션 개발을 위한 서로 다른 인터페이스가 다양하게 존재한다. 이로 인해 SDN 어플리케이션의 개발 시에 특정 솔루션(solution)의 종속성을 피할 수 없고, 개발 생산성 및 운영 효율성 또한 저하될 수 있다. While the industry standard OpenFlow is defined between the SDN controller and the SDN switch equipment, the interface between the SDN controller and the SDN application has not been set to an industry standard. That is, there are various interfaces for developing applications for each SDN controller vendor or OSS (Open Source Software). As a result, the dependency of a specific solution can not be avoided in developing an SDN application, and development productivity and operational efficiency may also be degraded.
이 밖에도, 하드웨어 리소스들(Hardware Resources)의 추상화를 통해 가상화 기능을 제공하는 네트워크 기능 가상화(Network Function Virtualization; NFV)에서는 NFV 오케스트레이터(Orchestrator)를 통해 외부 인터페이스를 제공한다. 네트워크 기능 가상화(NFV) 또한 소프트웨어 정의 네트워킹(SDN)과 마찬가지로 산업 표준이 정해 지지 않고 있다. In addition, Network Function Virtualization (NFV), which provides virtualization capabilities through the abstraction of hardware resources, provides an external interface through the NFV Orchestrator. Network Functional Virtualization (NFV) Like software defined networking (SDN), industry standards have not been set.
일실시예에 따르면, 소프트웨어 정의 네트워킹(SDN) 및 네트워크 기능 가상화(NFV) 네트워크 환경에서 인터페이스의 통합을 통해 어플리케이션을 위한 단일 접점을 제공할 수 있다.According to one embodiment, it is possible to provide a single point of contact for applications through the integration of interfaces in software defined networking (SDN) and network functional virtualization (NFV) network environments.
일실시예에 따르면, 네트워크 시스템은, 다수의 통신 디바이스들을 제어하는 소프트웨어 형태의 다수의 이종 컨트롤러(Controller)들을 포함하는 네트워크 제어 계층(Network Control Layer); 및 상기 네트워크 제어 계층과 상기 네트워크 제어 계층의 상위인 응용 계층(Application Layer) 간에 통합 인터페이스를 제공하는 다중 제어 인터페이스 계층(Multi Controller Interface(MCI) Layer)을 포함할 수 있다. According to one embodiment, a network system comprises: a network control layer including a plurality of heterogeneous controllers in software form for controlling a plurality of communication devices; And a Multi Controller Interface (MCI) layer that provides an integrated interface between the network control layer and an application layer that is an upper layer of the network control layer.
상기 네트워크 시스템은, 소프트웨어 정의 네트워킹(software-defined networking; SDN) 및 네트워크 기능 가상화(Network Function Virtualization; NFV) 중 적어도 하나의 네트워크 환경에 기반할 수 있다. The network system may be based on at least one network environment, such as software-defined networking (SDN) and network function virtualization (NFV).
상기 통합 인터페이스는, 상기 소프트웨어 정의 네트워킹(SDN)을 위한 상기 이종 컨트롤러들 각각이 상기 응용 계층으로 제공하는 인터페이스 및 상기 네트워크 기능 가상화(NFV)를 위한 오케스트레이터(Orchestrator)가 상기 응용 계층으로 제공하는 인터페이스가 추상화되어 통합된 것일 수 있다. Wherein the integrated interface comprises an interface provided by the heterogeneous controllers for the software defined networking (SDN) to the application layer and an interface provided by the orchestrator for the network functional virtualization (NFV) May be abstracted and integrated.
상기 다수의 이종 컨트롤러들은 소프트웨어 정의 네트워킹(SDN)을 위한 컨트롤러들 및 네트워크 기능 가상화(NFV)를 위한 관리자(Manager)들을 포함할 수 있다. The plurality of disparate controllers may include controllers for software defined networking (SDN) and managers for network functional virtualization (NFV).
상기 다중 제어 인터페이스(MCI) 계층은, 일반적인 네트워크 환경에서 제공되는 서비스들에 대한 통합 및 연동을 수행하는 제1 모듈, 상기 다중 제어 인터페이스 계층과 연결되는 적어도 하나의 컨트롤러를 관리하는 제2 모듈, 상기 다수의 이종 컨트롤러들 각각이 제공하는 동일 목적을 위한 서로 다른 인터페이스들을 하나의 통합 인터페이스로 추상화하는 제3 모듈, 상기 제3 모듈에서 추상화된 통합 인터페이스를 일반화(normalize)하여 상기 응용 계층으로 제공하는 제4 모듈, 대용량 데이터 처리를 위해 인터페이스 데이터를 클러스터링하여 관리하는 제5 모듈, 상기 응용 계층의 세션을 관리하는 제6 모듈, 또는 메모리 기반의 DBMS(DataBase Management System)를 포함하는 제7 모듈 중 적어도 하나를 포함할 수 있다. The MCI layer includes a first module for performing integration and interworking with services provided in a general network environment, a second module for managing at least one controller connected to the multiple control interface layer, A third module for abstracting the different interfaces for the same purpose provided by each of the plurality of heterogeneous controllers into one integrated interface, a third module for normalizing the abstracted abstract interface in the third module, 4 modules, at least one of a seventh module including a fifth module for cluster data management and a sixth module for managing sessions of the application layer, or a memory-based DBMS (Data Base Management System) . ≪ / RTI >
상기 다중 제어 인터페이스 계층은, 상기 통합 인터페이스를 통해 메시지를 전달함으로써 상기 응용 계층과 통신하고, 상기 메시지는, 상기 다중 제어 인터페이스 계층에 대한 호출 결과를 나타내는 식별자, 상기 다수의 이종 컨트롤러들 중 상기 응용 계층이 요청한 정보를 제공하는 컨트롤러의 식별 정보, 상기 응용 계층이 요청한 정보를 제공하는 컨트롤러가 관리하는 클러스터의 식별 정보, 또는 상기 다중 제어 인터페이스 계층에 대한 호출을 통해 상기 응용 계층이 요청한 결과 값 중 적어도 하나를 포함할 수 있다. Wherein the multiple control interface layer communicates with the application layer by conveying a message through the unified interface, the message including an identifier indicating a result of a call to the multiple control interface layer, At least one of the identification information of the controller providing the requested information, the identification information of the cluster managed by the controller providing information requested by the application layer, or the result value requested by the application layer through the call to the multiple control interface layer . ≪ / RTI >
상기 다중 제어 인터페이스 계층에 대한 호출 결과를 나타내는 식별자는, 상기 다중 제어 인터페이스 계층에 대한 호출이 성공했음을 나타내는 제1 코드, 상기 호출은 성공했으나 요청 내용은 없음을 나타내는 제2 코드, 인가받지 않은 요청임을 나타내는 제3 코드, 상기 다중 제어 인터페이스 계층을 통해 요청한 인터페이스가 존재하지 않음을 나타내는 제4 코드, 또는 상기 다중 제어 인터페이스 계층 내부의 오류 발생을 나타내는 제5 코드 중 적어도 하나를 포함할 수 있다. The identifier indicating the result of the call to the multiple control interface layer includes a first code indicating that the call to the multiple control interface layer has succeeded, a second code indicating that the call succeeded but no request content, and an unauthorized request A fourth code indicating that there is no interface requested through the multiple control interface layer, or a fifth code indicating an error occurrence in the multiple control interface layer.
일실시예에 따르면, 통신 방법은, 네트워크 제어 계층(Network Control Layer)을 위한 다수의 이종 컨트롤러들로부터 상기 네트워크 제어 계층의 상위인 응용 계층과의 통신 요청을 수신하는 단계; 및 상기 요청에 응답하여, 다중 제어 인터페이스(Multi Controller Interface; MCI) 계층을 통해, 상기 네트워크 제어 계층과 상기 응용 계층(Application Layer) 간의 통신을 위한 통합 인터페이스를 제공하는 단계를 포함할 수 있다. According to one embodiment, a communication method includes: receiving a communication request from a plurality of heterogeneous controllers for a network control layer with an application layer that is an upper layer of the network control layer; And providing an integrated interface for communication between the network control layer and the application layer through a multi controller interface (MCI) layer in response to the request.
상기 통신은, 소프트웨어 정의 네트워킹(software-defined networking; SDN) 및 네트워크 기능 가상화(Network Function Virtualization; NFV) 중 적어도 하나의 네트워크 환경에 기반할 수 있다. The communication may be based on at least one network environment, such as software-defined networking (SDN) and network function virtualization (NFV).
상기 통합 인터페이스는, 상기 소프트웨어 정의 네트워킹(SDN)을 위한 상기 이종 컨트롤러들 각각이 상기 응용 계층으로 제공하는 인터페이스 및 상기 네트워크 기능 가상화(NFV)를 위한 오케스트레이터(Orchestrator)가 상기 응용 계층으로 제공하는 인터페이스가 추상화되어 통합된 것일 수 있다. Wherein the integrated interface comprises an interface provided by the heterogeneous controllers for the software defined networking (SDN) to the application layer and an interface provided by the orchestrator for the network functional virtualization (NFV) May be abstracted and integrated.
상기 다수의 이종 컨트롤러들은 소프트웨어 정의 네트워킹(SDN)을 위한 컨트롤러들 및 네트워크 기능 가상화(NFV)를 위한 관리자(Manager)들을 포함할 수 있다. The plurality of disparate controllers may include controllers for software defined networking (SDN) and managers for network functional virtualization (NFV).
상기 다중 제어 인터페이스(MCI) 계층은, 일반적인 네트워크 환경에서 제공되는 서비스들에 대한 통합 및 연동을 수행하는 제1 모듈, 상기 다중 제어 인터페이스 계층과 연결되는 적어도 하나의 컨트롤러를 관리하는 제2 모듈, 상기 다수의 이종 컨트롤러들 각각이 제공하는 동일 목적을 위한 서로 다른 인터페이스들을 하나의 통합 인터페이스로 추상화하는 제3 모듈, 상기 제3 모듈에서 추상화된 통합 인터페이스를 일반화(normalize)하여 상기 응용 계층으로 제공하는 제4 모듈, 대용량 데이터 처리를 위해 인터페이스 데이터를 클러스터링하여 관리하는 제5 모듈, 상기 응용 계층의 세션을 관리하는 제6 모듈, 또는 메모리 기반의 DBMS(DataBase Management System)를 포함하는 제7 모듈 중 적어도 하나를 포함할 수 있다. The MCI layer includes a first module for performing integration and interworking with services provided in a general network environment, a second module for managing at least one controller connected to the multiple control interface layer, A third module for abstracting the different interfaces for the same purpose provided by each of the plurality of heterogeneous controllers into one integrated interface, a third module for normalizing the abstracted abstract interface in the third module, 4 modules, at least one of a seventh module including a fifth module for cluster data management and a sixth module for managing sessions of the application layer, or a memory-based DBMS (Data Base Management System) . ≪ / RTI >
상기 다중 제어 인터페이스(MCI) 계층을 통해, 상기 다수의 이종 컨트롤러들에게 상기 응용 계층과의 통신을 위한 메시지를 전송하는 단계를 포함하고, 상기 메시지는, 상기 다중 제어 인터페이스 계층에 대한 호출 결과를 나타내는 식별자, 상기 다수의 이종 컨트롤러들 중 상기 응용 계층이 요청한 정보를 제공하는 컨트롤러의 식별 정보, 상기 응용 계층이 요청한 정보를 제공하는 컨트롤러가 관리하는 클러스터의 식별 정보, 또는 상기 다중 제어 인터페이스 계층에 대한 호출을 통해 상기 응용 계층이 요청한 결과 값 중 적어도 하나를 포함할 수 있다. Transmitting a message for communication with the application layer to the plurality of heterogeneous controllers through the multi-control interface (MCI) layer, the message including a message indicating a result of the call to the multiple control interface layer An identification of the controller that provides information requested by the application layer, identification information of a cluster managed by the controller that provides information requested by the application layer, or a call to the multiple control interface layer And may include at least one of the result values requested by the application layer.
상기 다중 제어 인터페이스 계층에 대한 호출 결과를 나타내는 식별자는, 상기 다중 제어 인터페이스 계층에 대한 호출이 성공했음을 나타내는 제1 코드, 상기 호출은 성공했으나 요청 내용은 없음을 나타내는 제2 코드, 인가받지 않은 요청임을 나타내는 제3 코드, 상기 다중 제어 인터페이스 계층을 통해 요청한 인터페이스가 존재하지 않음을 나타내는 제4 코드, 또는 상기 다중 제어 인터페이스 계층 내부의 오류 발생을 나타내는 제5 코드 중 적어도 하나를 포함할 수 있다. The identifier indicating the result of the call to the multiple control interface layer includes a first code indicating that the call to the multiple control interface layer has succeeded, a second code indicating that the call succeeded but no request content, and an unauthorized request A fourth code indicating that there is no interface requested through the multiple control interface layer, or a fifth code indicating an error occurrence in the multiple control interface layer.
일실시예에 따르면, 네트워크 장치는, 상기 네트워크 장치의 동작을 제어하는 프로그램을 기록하는 메모리; 및 상기 프로그램을 구동시키는 하나 이상의 프로세서를 포함하고, 상기 프로그램은, 네트워크 제어 계층(Network Control Layer)을 위한 다수의 이종 컨트롤러들이, 상기 네트워크 제어 계층과 상기 네트워크 제어 계층의 상위인 응용 계층(Application Layer) 간의 통합 인터페이스를 제공하는 다중 제어 인터페이스(Multi Controller Interface; MCI) 계층을 통해, 상기 응용 계층과 통신하도록 제어할 수 있다.According to one embodiment, the network device comprises: a memory for storing a program for controlling the operation of the network device; And at least one processor for driving the program, wherein the plurality of heterogeneous controllers for a network control layer comprise at least one of a network control layer and an application layer (MCI) layer that provides an integrated interface between the application layer and the application layer.
본 발명의 일 측에 따르면, 소프트웨어 정의 네트워킹(SDN) 및 네트워크 기능 가상화(NFV) 네트워크 환경에서 다수의 이기종 SDN 컨트롤러(controller)들 간의 노스바운드 인터페이스(NorthBound Interface) 및 NFV 오케스트레이터(Orchestrator) 인터페이스의 통합을 통해 어플리케이션을 위한 단일 접점을 제공함으로써 개발 향상성 및 운영 효율성을 제공할 수 있다.According to one aspect of the present invention there is provided a method for providing a network interface between a plurality of heterogeneous SDN controllers in a Software Defined Networking (SDN) and Network Functional Virtualization (NFV) network environment, the NorthBound Interface and the NFV Orchestrator interface Integration provides a single point of contact for the application, providing development enhancement and operational efficiency.
본 발명의 일 측에 따르면, 다중 제어 인터페이스 계층(Multi Controller Interface(MCI) Layer)이 SDN 컨트롤러 및 NFV 오케스트레이터에 대한 관리를 대신 수행함으로써 어플리케이션이 자체의 기능에만 집중하도록 할 수 있다.According to one aspect of the present invention, a multi-controller interface (MCI) layer can perform management of the SDN controller and the NFV orchestrator instead so that the application concentrates only on its own functions.
도 1은 일실시예에 따른 다중 제어 인터페이스(Multi Controller Interface(MCI) 계층(Layer)을 포함하는 네트워크 시스템을 설명하기 위한 도면이다.
도 2는 소프트웨어 정의 네트워킹(software-defined networking; SDN) 환경에서 SDN 어플리케이션이 하나의 SDN 컨트롤러에게 네트워크 토폴로지 정보를 요청하는 경우를 나타낸 도면이다.
도 3은 소프트웨어 정의 네트워킹 환경에서 SDN 어플리케이션이 다수의 SDN 컨트롤러들에게 네트워크 토폴로지 정보를 요청하는 경우를 나타낸 도면이다.
도 4는 일실시예에 따른 다중 제어 인터페이스(MCI) 계층을 통해 SDN 어플리케이션에게 단일 접점을 제공하는 방법을 설명하기 위한 도면이다.
도 5는 일실시예에 따른 다중 제어 인터페이스(MCI) 계층의 구성 요소를 나타낸 도면이다.
도 6은 일실시예에 따른 다중 제어 인터페이스(MCI) 계층이 응용 어플리케이션에게 제공하는 데이터 구조를 나타낸 도면이다.
도 7은 일실시예에 따른 통신 방법을 나타낸 플로우 차트이다.
도 8은 일실시예에 따른 네트워크 장치의 블록도이다. 1 is a block diagram illustrating a network system including a Multi Controller Interface (MCI) layer according to an exemplary embodiment of the present invention.
2 is a diagram illustrating a case where an SDN application requests network topology information to one SDN controller in a software-defined networking (SDN) environment.
3 is a diagram illustrating a case where an SDN application requests network topology information to a plurality of SDN controllers in a software defined networking environment.
4 is a diagram illustrating a method for providing a single point of contact to an SDN application through a multiple control interface (MCI) layer according to one embodiment.
FIG. 5 is a diagram illustrating components of a multiple control interface (MCI) layer according to one embodiment.
6 is a diagram illustrating a data structure provided by a multiple control interface (MCI) layer according to an exemplary embodiment of the present invention.
7 is a flowchart illustrating a communication method according to an embodiment.
8 is a block diagram of a network device in accordance with one embodiment.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.In the following, embodiments will be described in detail with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Various modifications may be made to the embodiments described below. It is to be understood that the embodiments described below are not intended to limit the embodiments, but include all modifications, equivalents, and alternatives to them.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used only to illustrate specific embodiments and are not intended to limit the embodiments. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this embodiment belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. In the following description of the embodiments, a detailed description of related arts will be omitted if it is determined that the gist of the embodiments may be unnecessarily blurred.
도 1은 일실시예에 따른 다중 제어 인터페이스(Multi Controller Interface(MCI) 계층(Layer)을 포함하는 네트워크 시스템을 설명하기 위한 도면이다. 1 is a block diagram illustrating a network system including a Multi Controller Interface (MCI) layer according to an exemplary embodiment of the present invention.
일실시예에서 네트워크 환경은 소프트웨어 정의 네트워킹(Software Defined Networking; 이하, SDN) 및 네트워크 기능 가상화(Network Function Virtualization; NFV)를 포함하는 네트워크 환경으로 이해할 수 있다. In one embodiment, the network environment can be understood as a network environment including Software Defined Networking (SDN) and Network Function Virtualization (NFV).
이하에서는 다중 제어 인터페이스(Multi Controller Interface(MCI) 계층(Layer)에 대한 설명에 앞서, 소프트웨어 정의 네트워킹(SDN) 및 네트워크 기능 가상화(NFV)에 대해 설명하기로 한다. In the following, software defined networking (SDN) and network function virtualization (NFV) will be described before describing the Multi Controller Interface (MCI) layer.
소프트웨어 정의 네트워킹(SDN)은 장비 사업자의 종속적 프로토콜 기반 하에 논의되어 왔던 네트워크 산업 구조를 소프트웨어 기반의 공개 표준 프로토콜로 재편하는 기술, 산업 구조, 생태계 조성 전반을 표현한 차세대 네트워크 기술이다. Software-defined networking (SDN) is a next-generation network technology that represents the entire technology, industrial structure, and ecosystem composition of the network industry structure, which has been discussed under the dependent protocol of equipment operators, into a software-based open standard protocol.
소프트웨어 정의 네트워킹(SDN)에서 컨트롤러(controller)는 소프트웨어화되어 경로와 정책을 결정하는 역할을 담당하며, 스위치(switch)는 컨트롤러로부터 받은 정책을 기반으로 패킷 포워딩을 수행할 수 있다. 컨트롤러와 스위치 간에 이용되는 통신 프로토콜로는 오픈 플로우(OpenFlow) 프로토콜이 대표적이다. 오픈 플로우(OpenFlow) 프로토콜의 스펙(spec)은 컨트롤러와 스위치 간의 메시지 규약을 정의한다.In software defined networking (SDN), the controller is softwareed to determine the path and policy, and the switch can perform packet forwarding based on the policy received from the controller. The communication protocol used between the controller and the switch is the OpenFlow protocol. The specification of the OpenFlow protocol defines the message conventions between the controller and the switch.
오픈 플로우(OpenFlow) 프로토콜은 소프트웨어 정의 네트워킹(SDN)의 전체 계층(layer) 관점에서 '사우스바운드 인터페이스(SouthBound Interface; SBI)'라 불릴 수 있다. 사우스바운드 인터페이스(SBI) 영역이 오픈 플로우(OpenFlow)라는 프로토콜로 표준화가 이루어지고 있기 때문에, SDN 컨트롤러는 하위 디바이스(device)들에 대한 벤더의 종속성 없이 디바이스들을 관리 및 제어할 수 있다. The OpenFlow protocol may be referred to as the SouthBound Interface (SBI) in terms of the entire layer of software defined networking (SDN). Since the south bound interface (SBI) area is standardized with a protocol called OpenFlow, the SDN controller can manage and control devices without vendor dependency on the underlying devices.
노스바운드 인터페이스(NorthBound Interface; NBI)는 SDN 컨트롤러가 상위 응용 어플리케이션들에게 제공하는 인터페이스로 이해할 수 있다. 노스바운드 인터페이스(NBI) 영역에서는 아직 표준화가 이루어지지 않고 있으며 SDN 컨트롤러의 벤더 별로 각자의 인터페이스를 정의하고 있는 상황이다. The NorthBound Interface (NBI) is understood as an interface that the SDN controller provides to high-end applications. In the northbound interface (NBI) area, there is no standardization yet, and SDN controller vendors define their own interfaces.
SDN 컨트롤러의 노스바운드 인터페이스(NBI)를 이용하여 개발을 해야 하는 SDN 어플리케이션의 입장에서 볼 때, 특정 컨트롤러에 대한 종속성을 피할 수 없다. 또한, 신규 컨트롤러가 추가되거나, 또는 노스바운드 인터페이스(NBI)가 업데이트(update) 되었을 경우, 각각의 노스바운드 인터페이스(NBI)에 맞게 어플리케이션이 다시 개발되어야 할 수도 있다. 각각의 노스바운드 인터페이스(NBI)에 맞게 어플리케이션을 다시 개발하는 경우, 어플리케이션의 개발 생산성 및 운영 효율성 또한 저하될 수 있다. From the standpoint of SDN applications that need to be developed using the SDN controller's northbound interface (NBI), dependencies on certain controllers can not be avoided. Also, if a new controller is added, or a northbound interface (NBI) is updated, the application may have to be redeveloped for each northbound interface (NBI). If the application is redeveloped for each North-Bound Interface (NBI), the development productivity and operational efficiency of the application may also be compromised.
네트워크 기능 가상화(NFV)는 서버(server) 및 스토리지(storage) 등 네트워크를 구성하는 하드웨어 자원들(resources)에 대하여 프로그램에 의한(programmable) 관리가 가능하게 하는 기술이다. Network Functional Virtualization (NFV) is a technology that enables programmable management of hardware resources that make up a network, such as servers and storage.
네트워크 기능 가상화(NFV) 기술을 통해 하드웨어 자원들에 대한 프로그래밍이 가능해 짐에 따라 범용 서버로 네트워크 기능을 수행하는 한편, 복잡한 네트워크를 단순화 시킬 수 있다. 네트워크의 단순화는 운영 하드웨어의 물리적 감소를 의미하고, 장비 비용을 낮출 수 있다. 또한, 네트워크의 단순화는 궁극적으로 유연한 네트워크 연결 및 확장에 의한 서비스의 고도화를 통해 사용자 환경과 서비스 요구에 따른 신속한 대응을 가능하게 할 수 있다. As network functional virtualization (NFV) technology enables programming of hardware resources, it can simplify complex networks while performing network functions with a general-purpose server. The simplification of the network means a physical reduction of the operating hardware and can lower the equipment cost. In addition, simplification of the network ultimately enables the rapid response according to the user environment and the service demand through the enhancement of the service by the flexible network connection and expansion.
네트워크 기능 가상화(NFV)는 오케스트레이터 인터페이스(Orchestrator Interface)를 통해 상술한 기능들은 소프트웨어적으로 구현을 할 수 있으나, 이 부분에 대한 표준화 또한 아직 이루어지지 않은 상황이다.
Network Functional Virtualization (NFV) can implement the above functions through software through the Orchestrator Interface, but the standardization of this part has not been done yet.
도 1을 참조하면, 소프트웨어 정의 네트워킹(SDN) 및 네트워크 기능 가상화(NFV)에 기반하는 네트워크 환경에서의 네트워크 시스템이 도시된다. Referring to Figure 1, a network system in a network environment based on Software Defined Networking (SDN) and Network Functional Virtualization (NFV) is illustrated.
일실시예에 따른 네트워크 시스템은 인프라스트럭쳐 계층(Infrastructure Layer)(110), 네트워크 제어 계층(Network Control Layer)(120), 다중 제어 인터페이스 계층(Multi Controller Interface(MCI) Layer)(130) 및 어플리케이션 계층(Application Layer)(140)를 포함할 수 있다. The network system according to one embodiment includes an
인프라스트럭쳐 계층(Infrastructure Layer)(110)은 예를 들어, 스위치, 라우터 장비 등과 같은 SDN 디바이스들, 네트워크 기능 가상화(NFV)에서 프로그래밍된 서버(server) 및 스토리지(storage) 등의 하드웨어 자원들(resources), 및 기존 네트워크(Legacy Network)의 네트워크 구성 요소들(Network Elements)을 포함할 수 있다. The
네트워크 제어 계층(Network Control Layer)(120)은 인프라스트럭쳐 계층(110)에 포함된 하드웨어 또는 소프트웨어 형태의 다수의 통신 디바이스들을 제어하는 소프트웨어 형태의 다수의 이종 컨트롤러(Controller)들을 포함할 수 있다. The
네트워크 제어 계층(Network Control Layer)(120)은 다수의 통신 디바이스들을 제어하는 소프트웨어 형태의 다수의 이종 컨트롤러(Controller)들을 포함할 수 있다. 다수의 이종 컨트롤러들은 소프트웨어 정의 네트워킹(SDN)을 위한 컨트롤러들 및 네트워크 기능 가상화(NFV)를 위한 관리자들(Managers)들을 포함할 수 있다. The
소프트웨어 정의 네트워킹(SDN)을 위한 컨트롤러들은 상용 SDN 컨트롤러 및 오픈 소스 SDN 컨트롤러 등을 포함할 수 있다.The controllers for software defined networking (SDN) may include commercial SDN controllers and open source SDN controllers.
다중 제어 인터페이스 계층(Multi Controller Interface(MCI) Layer)(130)은 네트워크 제어 계층(120)과 응용 계층(140) 간에 통합 인터페이스를 제공할 수 있다. A multi-controller interface (MCI)
여기서, 통합 인터페이스는 소프트웨어 정의 네트워킹(SDN)을 위한 이종 컨트롤러들 각각이 응용 계층(140)으로 제공하는 인터페이스 및 네트워크 기능 가상화(NFV)를 위한 오케스트레이터(Orchestrator)가 응용 계층(140)으로 제공하는 인터페이스가 추상화되어 통합된 것일 수 있다. Here, the unified interface includes an interface that each of the heterogeneous controllers for software defined networking (SDN) provides to the
다중 제어 인터페이스 계층(MCI Layer)(130)은 다수의 이종 SDN 컨트롤러들 간의 노스바운드 인터페이스(NBI)와 네트워크 기능 가상화(NFV)의 오케스트레이터 인터페이스(Orchestrator Interface)에게 어플리케이션 계층(140)에 대한 단일 접점을 제공할 수 있다. The
어플리케이션 계층(Application Layer)(140)은 다중 제어 인터페이스 계층(MCI Layer)(130)이 제공하는 단일화된 API(Application Program Interface)를 이용하여 개발된 어플리케이션들을 포함할 수 있다. The
이하의 도 2 및 도 3에서는 소프트웨어 정의 네트워킹(SDN) 환경에서 SDN 어플리케이션이 하나의 컨트롤러 또는 다수의 SDN 컨트롤러들에게 네트워크 토폴로지 정보를 요청하는 경우를 설명한다. 또한, 도 4에서는 SDN 어플리케이션이 일실시예에 따른 다중 제어 인터페이스(MCI) 계층을 통해 네트워크 토폴로지 정보를 요청하는 경우를 설명한다.
2 and 3 below, a case where an SDN application requests network topology information to one controller or a plurality of SDN controllers in a software defined networking (SDN) environment will be described. In addition, FIG. 4 illustrates a case where an SDN application requests network topology information through a multiple control interface (MCI) layer according to an embodiment.
도 2는 소프트웨어 정의 네트워킹(SDN) 환경에서 SDN 어플리케이션(SDN Application)이 하나의 컨트롤러의 노스바운드 인터페이스(NorthBound Interface)를 활용하는 경우를 나타낸 도면이다. 2 is a diagram illustrating a case where an SDN application (SDN Application) in a software defined networking (SDN) environment utilizes a NorthBound interface of one controller.
도 2를 참조하면, SDN 어플리케이션이 SDN 컨트롤러(SDN controller)에게 네트워크 토폴로지(Topology) 정보를 요청하는 경우가 도시된다. Referring to FIG. 2, a case where an SDN application requests network topology information to an SDN controller (SDN controller) is shown.
SDN 어플리케이션은 SDN 컨트롤러의 노스바운드 인터페이스(NorthBound Interface)를 이용하여 네트워크 토폴로지 정보를 요청할 수 있다. 이때, SDN 어플리케이션은 해당 SDN 컨트롤러가 제공하는 API(Application Program Interface), 다시 말해 노스바운드 인터페이스인 AA를 호출해야만 네트워크 토폴로지 정보를 제공받을 수 있다. AA는 예를 들어, "/realnetwork/topologies/detail.xml"일 수 있다.
SDN applications can request network topology information using the SDN controller's NorthBound interface. At this time, the SDN application needs to call the application program interface (API) provided by the corresponding SDN controller, that is, the north bound interface AA to receive the network topology information. AA may be, for example, "/realnetwork/topologies/detail.xml".
도 3은 소프트웨어 정의 네트워킹(SDN) 환경에서 SDN 어플리케이션이 다수의 SDN 컨트롤러들에게 네트워크 토폴로지 정보를 요청하는 경우를 나타낸 도면이다. 3 is a diagram illustrating a case where an SDN application requests network topology information from a plurality of SDN controllers in a software defined networking (SDN) environment.
도 3을 참조하면, SDN 어플리케이션이 네트워크 제어 계층(Network Control Layer)에 포함된 SDN 컨트롤러들(예를 들어, SDN 컨트롤러 1 및 SDN 컨트롤러 2)에게 네트워크 토폴로지 정보를 요청하는 경우가 도시된다. Referring to FIG. 3, an SDN application requests network topology information to SDN controllers (for example,
이때, SDN 컨트롤러 별로 네트워크 토폴로지 정보를 제공하기 위한 노스바운드 인터페이스의 명칭은 상이하다. At this time, the name of the north bound interface for providing the network topology information differs for each SDN controller.
네트워크 토폴로지 정보를 제공하기 위한 SDN 컨트롤러 1의 노스바운드 인터페이스의 명칭은 AA이고, SDN 컨트롤러 2의 노스바운드 인터페이스의 명칭은 AB일 수 있다. The name of the northbound interface of the
AA는 예를 들어, "/realnetwork/topologies/detail.xml"이고, AB는 예를 들어, "/controller/nb/v2/topology/{containerName}(SDN controller 2)"일 수 있다. AA may be, for example, "/realnetwork/topologies/detail.xml" and AB may be, for example, "/ controller / nb / v2 / topology / {containerName} (SDN controller 2)".
이와 같이 각 SDN 컨트롤러 별로 노스바운드 인터페이스의 명칭이 상이하기 때문에 네트워크 토폴로지 정보를 활용하는 SDN 어플리케이션은 SDN 컨트롤러들 각각의 노스바운드 인터페이스를 호출해야 한다. Because the name of the northbound interface is different for each SDN controller, an SDN application utilizing the network topology information must call the northbound interface of each of the SDN controllers.
도 3에서는 서로 다른 SDN 컨트롤러들이 제공하는 노스바운드 인터페이스가 웹 서비스(Web Service)에 기반하는 동일한 인터페이스인 경우를 예로 들어 설명하였다. In FIG. 3, the case where the northbound interface provided by the different SDN controllers is the same interface based on the Web service has been described as an example.
SDN 컨트롤러의 노스바운드 인터페이스 방식이 예를 들어, JMS(Java Message Service), Jar 형태 등과 같이 서로 상이하거나, 노스바운드 인터페이스가 호출하는 URL(Uniform Resource Locator)이 갱신되는 경우 네트워크 토폴로지 정보의 요청을 위해 더욱 복잡한 과정이 요구된다.
If the SDN controller's northbound interface scheme is different from each other, for example, JMS (Java Message Service), Jar type, or if the Uniform Resource Locator (URL) invoked by the northbound interface is updated, A more complex process is required.
도 4는 일실시예에 따른 다중 제어 인터페이스(MCI) 계층을 통해 SDN 어플리케이션에게 단일 접접을 제공하는 방법을 설명하기 위한 도면이다. 4 is a diagram illustrating a method for providing a single connection to an SDN application through a multiple control interface (MCI) layer according to an embodiment.
도 4를 참조하면, 일실시예에 따른 다중 제어 인터페이스(MCI) 계층이 SDN 어플리케이션에게 단일 접점을 제공하는 한편, 네트워크 제어 계층(Network Control Layer)에 포함된 SDN 컨트롤러들(예를 들어, SDN 컨트롤러 1 및 SDN 컨트롤러 2)을관리하는 개념을 도식화한 도면이 도시된다. Referring to FIG. 4, a multi-control interface (MCI) layer according to an exemplary embodiment provides a single point of contact to an SDN application, while SDN controllers included in a network control layer (for example, an
다중 제어 인터페이스(MCI) 계층은 예를 들어, NBI 컨버터(converter)를 이용하여 SDN 컨트롤러들 간의 상이한 노스바운드 인터페이스들을 하나로 통합하여 SDN 어플리케이션에게 단일 접점을 제공할 수 있다. The Multiple Control Interface (MCI) layer can, for example, use an NBI converter to integrate the different northbound interfaces between the SDN controllers into one to provide a single point of contact to the SDN application.
다중 제어 인터페이스(MCI) 계층이 제공하는 통합된 노스바운드 인터페이스는 예를 들어, "lgcns/MCI/AA"일 수 있다. The integrated northbound interface provided by the multiple control interface (MCI) layer may be, for example, "lgcns / MCI / AA ".
또한, 다중 제어 인터페이스(MCI) 계층은 예를 들어, 컨트롤러 관리 모듈(Controller Mgt)에 의해 다중 제어 인터페이스(MCI) 계층과 연결된 SDN 컨트롤러 1 및 SDN 컨트롤러 2를 관리할 수 있다. 다중 제어 인터페이스(MCI) 계층은 SDN 컨트롤러 1 및 SDN 컨트롤러 2에 대한 접속 및 인증 관리 등을 수행할 수 있다. In addition, the multiple control interface (MCI) layer can manage the
도 4에서 볼 수 있듯이 SDN 어플리케이션은 네트워크 토폴로지 정보를 활용함에 있어 SDN 컨트롤러의 종류가 무엇인지에 상관없이 통합 인터페이스("lgcns/MCI/AA")를 통해 해당 정보를 수신할 수 있다. As shown in FIG. 4, the SDN application can receive the information through the integrated interface ("lgcns / MCI / AA") regardless of the type of the SDN controller in utilizing the network topology information.
다중 제어 인터페이스(MCI) 계층이 제공하는 통합 인터페이스를 통해 정보를 제공받음으로써, SDN 어플리케이션은 SDN 컨트롤러의 인터페이스 방식이 변경되거나, 또는 인터페이스의 명칭이 바뀌는 경우에도 추가 어플리케이션의 개발이 필요하지 않게 된다. By providing information through the integrated interface provided by the multiple control interface (MCI) layer, the SDN application does not need to develop additional applications even when the SDN controller interface method is changed or the interface name is changed.
이로 인해, SDN 어플리케이션은 SDN 컨트롤러에 대한 종속성이 없이, 어플리케이션의 개발 생산성 및 운영 효율성을 증대시킬 수 있다. This allows the SDN application to increase the development productivity and operational efficiency of the application without any dependency on the SDN controller.
도 4를 통해 설명한 내용은 SDN 컨트롤러뿐만 아니라 네트워크 기능 가상화(NFV)를 위한 관리자(Manager)들에도 동일하게 적용될 수 있다.
4 can be equally applied to managers for network function virtualization (NFV) as well as SDN controllers.
도 5는 일실시예에 따른 다중 제어 인터페이스(MCI) 계층의 구성 요소를 나타낸 도면이다. FIG. 5 is a diagram illustrating components of a multiple control interface (MCI) layer according to one embodiment.
도 5를 참조하면, 다중 제어 인터페이스(MCI) 계층(500)은 서비스 오케스트레이션(Service Orchestration) 모듈(510), 컨트롤러 관리(Controller Management) 모듈(520), SB(South Bound) 인터페이스(SB Interface) 모듈(530), 커먼 인터페이스(Common Interface) 모듈(540), 클러스터 관리(Cluster Management) 모듈(550), 세션 관리(Session Management) 모듈(560), 및 인 메모리 DB(In Memory DB)(570) 중 적어도 하나를 포함할 수 있다. 5, the multiple control interface (MCI)
서비스 오케스트레이션(Service Orchestration) 모듈(510)은 일반적인 현재의 네트워크 환경에서 제공되는 서비스들에 대한 통합 및 연동을 수행할 수 있다. The
컨트롤러 관리(Controller Management) 모듈(520)은 다중 제어 인터페이스(MCI) 계층과 연결되는 적어도 하나의 컨트롤러를 관리할 수 있다. 컨트롤러 관리(Controller Management) 모듈(520)은 다중 제어 인터페이스(MCI) 계층과 연결되는 적어도 하나의 컨트롤러에 대한 접속 및 인증 관리 등을 수행할 수 있다. The
SB 인터페이스(SB Interface) 모듈(530)은 다수의 이종 컨트롤러들 각각이 제공하는 동일 목적을 위한 서로 다른 인터페이스들을 하나의 통합 인터페이스로 추상화할 수 있다. 여기서, 다수의 이종 컨트롤러들은 소프트웨어 정의 네트워킹(SDN)을 위한 컨트롤러들 및 네트워크 기능 가상화(NFV)를 위한 관리자(Manager)들을 포함할 수 있다. The
커먼 인터페이스(Common Interface) 모듈(540)은 SB 인터페이스 모듈(530)에서 추상화된 통합 인터페이스를 일반화(normalize)하여 응용 계층(Application Layer)으로 제공할 수 있다. The
클러스터 관리(Cluster Management) 모듈(550)은 대용량 데이터 처리를 위해 인터페이스 데이터를 클러스터링(clustering)하여 관리할 수 있다. The
세션 관리(Session Management) 모듈(560)은 응용 계층의 세션(Session)을 관리할 수 있다. 세션 관리(Session Management) 모듈(560)은 응용 계층의 세션(Session) 관리를 통해 SDN 컨트롤러 및 네트워크 기능 가상화(NFV)를 위한 오케스트레이터(Orchestrator)의 접근에 대한 관리를 수행할 수 있다. The
인 메모리 DB(In Memory DB)(570)는 메모리 기반의 DBMS(DataBase Management System)를 포함할 수 있다. 인 메모리 DB(In Memory DB)(570)는 디스크 기반의 DBMS와 달리 메모리 기반의 DBMS로서, 데이터의 실시간 접근성이 뛰어나 빠른 대처가 필요로 되는 네트워크 환경에 적합하다.
The in-memory DB (In Memory DB) 570 may include a memory-based DBMS (Data Base Management System). The in-memory DB (In Memory DB) 570 is a memory-based DBMS, unlike a disk-based DBMS, and is suitable for a network environment in which the real-time accessibility of data is excellent and a quick response is required.
도 6은 일실시예에 따른 다중 제어 인터페이스(MCI) 계층이 응용 어플리케이션에게 제공하는 데이터 구조를 나타낸 도면이다. 6 is a diagram illustrating a data structure provided by a multiple control interface (MCI) layer according to an exemplary embodiment of the present invention.
도 6을 참조하면, 응용 어플리케이션이 다중 제어 인터페이스(MCI) 계층으로부터 제공받는 메시지는 Result_Code(610), Destination_ID (620), Cluster_ID(630) 및 Result_Set(640) 중 적어도 하나를 포함할 수 있다. 6, a message that an application application receives from a multiple control interface (MCI) layer may include at least one of
Result_Code(610)는 다중 제어 인터페이스(MCI) 계층에 대한 호출 결과를 나타내는 식별자이다. 예를 들어, Result_Code(610)가 제1 코드인 경우는 다중 제어 인터페이스(MCI) 계층에 대한 호출이 성공했음을 나타내고, 제2 코드인 경우는 다중 제어 인터페이스(MCI) 계층에 대한 호출은 성공했으나 요청 내용은 없음을 나타낼 수 있다. 예를 들어, 제1 코드는 '00'이고, 제2 코드는 '01'일 수 있다.
또한, Result_Code(610)가 제3 코드인 경우는 다중 제어 인터페이스 계층에 대한 호출이 인가받지 않은 요청임을 나타내고, 제4 코드인 경우는 다중 제어 인터페이스 계층을 통해 요청한 인터페이스가 존재하지 않음을 나타낼 수 있다. 이 밖에도, Result_Code(610)가 제5 코드인 경우는 다중 제어 인터페이스(MCI) 계층 내부의 오류 발생을 나타낼 수 있다. 예를 들어, 제3 코드는 '02'이고, 제4 코드는 '03', 제5 코드는 '04'일 수 있다.If the
Destination_ID (620)는 다수의 이종 컨트롤러들 중 응용 계층이 요청한 정보를 제공하는 컨트롤러 또는 MANO(Management & Orchestration)의 식별 정보(예를 들어, ID)를 나타낼 수 있다. The
Cluster_ID(630)는 응용 계층이 요청한 정보를 제공하는 컨트롤러가 관리하는 클러스터의 식별 정보를 나타낼 수 있다. The
Result_Set(640)은 다중 제어 인터페이스(MCI) 계층에 대한 호출을 통해 응용 계층이 요청한 결과 값을 나타낼 수 있다. Result_Set(640)은 예를 들어, xml 또는 json 형태일 수 있다.
The
도 7은 일실시예에 따른 통신 방법을 나타낸 플로우 차트이다. 7 is a flowchart illustrating a communication method according to an embodiment.
도 7을 참조하면, 소프트웨어 정의 네트워킹(SDN) 및 네트워크 기능 가상화(NFV)에 기반한 네트워크 환경에서의 통신 방법이 도시된다.Referring to FIG. 7, a method of communication in a network environment based on software defined networking (SDN) and network functional virtualization (NFV) is illustrated.
일실시예에 따른 다중 제어 인터페이스(MCI) 계층은 네트워크 제어 계층(Network Control Layer)을 위한 다수의 이종 컨트롤러들로부터 네트워크 제어 계층의 상위인 응용 계층과의 통신 요청을 수신할 수 있다(710). 이때, 다수의 이종 컨트롤러들은 소프트웨어 정의 네트워킹(SDN)을 위한 컨트롤러들 및 네트워크 기능 가상화(NFV)를 위한 관리자(Manager)들을 포함할 수 있다. The multiple control interface (MCI) layer according to an exemplary embodiment may receive 710 a communication request from a plurality of heterogeneous controllers for a network control layer to an application layer that is an upper layer of the network control layer. At this time, the plurality of heterogeneous controllers may include controllers for software defined networking (SDN) and managers for network functional virtualization (NFV).
다중 제어 인터페이스(MCI) 계층은 단계(710)의 요청에 응답하여 다수의 이종 컨트롤러들에게 네트워크 제어 계층과 응용 계층(Application Layer) 간의 통신을 위한 통합 인터페이스를 제공할 수 있다(720). The multiple control interface (MCI) layer may provide 720 an integrated interface for communication between the network control layer and the application layer to a plurality of heterogeneous controllers in response to the request of
여기서, 통합 인터페이스는 소프트웨어 정의 네트워킹(SDN)을 위한 이종 컨트롤러들 각각이 응용 계층으로 제공하는 인터페이스 및 네트워크 기능 가상화(NFV)를 위한 오케스트레이터(Orchestrator)가 응용 계층으로 제공하는 인터페이스가 추상화되어 통합된 것일 수 있다. Here, the integrated interface includes an interface provided by the heterogeneous controllers for software defined networking (SDN) to the application layer and an interface provided by the orchestrator for network function virtualization (NFV) to the application layer, Lt; / RTI >
다중 제어 인터페이스(MCI) 계층은 다수의 이종 컨트롤러들에게 응용 계층과의 통신을 위한 메시지를 전송할 수 있다(730). 이때, 메시지는 도 6에 도시된 것과 같은 데이터 구조를 가질 수 있으며, 이에 대한 설명은 도 6의 해당 부분을 참조한다.
The Multiple Control Interface (MCI) layer may send a message to the plurality of disparate controllers for communication with the application layer (730). At this time, the message may have a data structure as shown in FIG. 6, and a description thereof will be made with reference to the corresponding portion of FIG.
도 8은 일실시예에 따른 네트워크 장치의 블록도이다.8 is a block diagram of a network device in accordance with one embodiment.
도 8을 참조하면, 일실시예에 따른 네트워크 장치(800)는 메모리(810), 프로세서(830) 및 통신부(850)를 포함할 수 있다. Referring to FIG. 8, a
메모리(810)는 네트워크 장치(800)의 동작을 제어하는 프로그램을 기록할 수 있다. The
프로세서(830)는 하나 이상이 포함될 수 있으며, 메모리(810)에 저장된 프로그램을 구동시킬 수 있다. One or more of the
이때, 메모리(810)에 저장된 프로그램은 네트워크 제어 계층을 위한 다수의 이종 컨트롤러들이, 네트워크 제어 계층과 네트워크 제어 계층의 상위인 응용 계층 간의 통합 인터페이스를 제공하는 다중 제어 인터페이스 계층을 통해, 응용 계층과 통신하도록 제어하는 프로그램일 수 있다. At this time, the program stored in the
통신부(850)는 프로세서(830)의 제어에 따라 네트워크 제어 계층, 또는 다중 제어 인터페이스 계층과 데이터를 주고받을 수 있다.
The
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment of the present invention can be implemented in the form of a program command which can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and configured for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. This is possible.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be construed as being limited to the embodiments described, but should be determined by equivalents to the appended claims, as well as the following claims.
810: 메모리
830: 프로세서
850: 통신부810: Memory
830: Processor
850:
Claims (16)
다수의 통신 디바이스들을 제어하는 소프트웨어 형태의 다수의 이종 컨트롤러(Controller)들을 포함하는 네트워크 제어 계층(Network Control Layer); 및
상기 네트워크 제어 계층과 상기 네트워크 제어 계층의 상위인 응용 계층(Application Layer) 간에 통합 인터페이스를 제공하는 다중 제어 인터페이스 계층(Multi Controller Interface(MCI) Layer)
을 포함하고,
상기 다중 제어 인터페이스 계층은,
상기 다수의 이종 컨트롤러들 각각이 제공하는 동일 목적을 위한 서로 다른 인터페이스들이 추상화된 통합 인터페이스를 상기 응용 계층으로 제공하는, 네트워크 시스템.In a network system,
A network control layer including a plurality of heterogeneous controllers in the form of software for controlling a plurality of communication devices; And
A Multi Controller Interface (MCI) layer providing an integrated interface between the network control layer and an application layer that is an upper layer of the network control layer,
/ RTI >
Wherein the multiple control interface layer comprises:
Wherein the application layer provides an integrated interface in which different interfaces for the same purpose provided by the plurality of heterogeneous controllers are abstracted.
상기 네트워크 시스템은,
소프트웨어 정의 네트워킹(software-defined networking; SDN) 및 네트워크 기능 가상화(Network Function Virtualization; NFV) 중 적어도 하나의 네트워크 환경에 기반하는, 네트워크 시스템.The method according to claim 1,
The network system includes:
Wherein the network system is based on at least one network environment of software-defined networking (SDN) and network function virtualization (NFV).
상기 통합 인터페이스는,
상기 소프트웨어 정의 네트워킹(SDN)을 위한 상기 이종 컨트롤러들 각각이 상기 응용 계층으로 제공하는 인터페이스 및 상기 네트워크 기능 가상화(NFV)를 위한 오케스트레이터(Orchestrator)가 상기 응용 계층으로 제공하는 인터페이스가 추상화되어 통합된 것인, 네트워크 시스템.3. The method of claim 2,
The integrated interface comprises:
An interface provided by the heterogeneous controllers for the software defined networking (SDN) to the application layer and an interface provided by the orchestrator for the network functional virtualization (NFV) to the application layer are abstracted and integrated Network system.
상기 다수의 이종 컨트롤러들은
소프트웨어 정의 네트워킹(SDN)을 위한 컨트롤러들 및 네트워크 기능 가상화(NFV)를 위한 관리자(Manager)들을 포함하는, 네트워크 시스템.The method according to claim 1,
The plurality of heterogeneous controllers
A controller for software defined networking (SDN), and a manager for network functional virtualization (NFV).
상기 다중 제어 인터페이스(MCI) 계층은,
일반적인 네트워크 환경에서 제공되는 서비스들에 대한 통합 및 연동을 수행하는 제1 모듈, 상기 다중 제어 인터페이스 계층과 연결되는 적어도 하나의 컨트롤러를 관리하는 제2 모듈, 상기 다수의 이종 컨트롤러들 각각이 제공하는 동일 목적을 위한 서로 다른 인터페이스들을 하나의 통합 인터페이스로 추상화하는 제3 모듈, 상기 제3 모듈에서 추상화된 통합 인터페이스를 일반화(normalize)하여 상기 응용 계층으로 제공하는 제4 모듈, 대용량 데이터 처리를 위해 인터페이스 데이터를 클러스터링하여 관리하는 제5 모듈, 상기 응용 계층의 세션을 관리하는 제6 모듈, 또는 메모리 기반의 DBMS(DataBase Management System)를 포함하는 제7 모듈 중 적어도 하나를 포함하는, 네트워크 시스템.The method according to claim 1,
The multi-control interface (MCI)
A first module for performing integration and interworking with services provided in a general network environment, a second module for managing at least one controller connected to the multiple control interface layer, and a second module for managing the same A fourth module for normalizing the abstracted abstract interface in the third module and providing the integrated interface to the application layer, a second module for abstracting the interface data A sixth module for managing a session of the application layer, or a seventh module including a memory-based DBMS (DataBase Management System).
상기 다중 제어 인터페이스 계층은,
상기 통합 인터페이스를 통해 메시지를 전달함으로써 상기 응용 계층과 통신하고,
상기 메시지는,
상기 다중 제어 인터페이스 계층에 대한 호출 결과를 나타내는 식별자, 상기 다수의 이종 컨트롤러들 중 상기 응용 계층이 요청한 정보를 제공하는 컨트롤러의 식별 정보, 상기 응용 계층이 요청한 정보를 제공하는 컨트롤러가 관리하는 클러스터의 식별 정보, 또는 상기 다중 제어 인터페이스 계층에 대한 호출을 통해 상기 응용 계층이 요청한 결과 값 중 적어도 하나를 포함하는, 네트워크 시스템.The method according to claim 1,
Wherein the multiple control interface layer comprises:
Communicating with the application layer by passing a message over the unified interface,
The message comprises:
An identifier indicating a result of a call to the multiple control interface layer, identification information of a controller providing information requested by the application layer among the plurality of heterogeneous controllers, identification of a cluster managed by a controller providing information requested by the application layer Information, or a result value requested by the application layer through a call to the multiple control interface layer.
상기 다중 제어 인터페이스 계층에 대한 호출 결과를 나타내는 식별자는,
상기 다중 제어 인터페이스 계층에 대한 호출이 성공했음을 나타내는 제1 코드, 상기 호출은 성공했으나 요청 내용은 없음을 나타내는 제2 코드, 인가받지 않은 요청임을 나타내는 제3 코드, 상기 다중 제어 인터페이스 계층을 통해 요청한 인터페이스가 존재하지 않음을 나타내는 제4 코드, 또는 상기 다중 제어 인터페이스 계층 내부의 오류 발생을 나타내는 제5 코드 중 적어도 하나를 포함하는, 네트워크 시스템.The method according to claim 6,
The identifier indicating the result of the call to the multiple control interface layer,
A first code indicating success in a call to the multiple control interface layer, a second code indicating that the call succeeded but no request content, a third code indicating a request not being granted, Or a fifth code indicating an error occurrence within the multiple control interface layer. ≪ Desc / Clms Page number 13 >
네트워크 제어 계층(Network Control Layer)을 위한 다수의 이종 컨트롤러들로부터 상기 네트워크 제어 계층의 상위인 응용 계층과의 통신 요청을 수신하는 단계; 및
상기 요청에 응답하여, 다중 제어 인터페이스(Multi Controller Interface; MCI) 계층을 통해, 상기 네트워크 제어 계층과 상기 응용 계층(Application Layer) 간의 통신을 위한 통합 인터페이스를 제공하는 단계
를 포함하고,
상기 다중 제어 인터페이스 계층은,
상기 다수의 이종 컨트롤러들 각각이 제공하는 동일 목적을 위한 서로 다른 인터페이스들이 추상화된 통합 인터페이스를 상기 응용 계층으로 제공하는, 통신 방법.In a communication method,
Receiving a communication request from a plurality of heterogeneous controllers for a network control layer with an application layer that is an upper layer of the network control layer; And
Providing an integrated interface for communication between the network control layer and the application layer through a multi controller interface (MCI) layer in response to the request;
Lt; / RTI >
Wherein the multiple control interface layer comprises:
Wherein the application layer provides an integrated interface in which different interfaces for the same purpose provided by the plurality of heterogeneous controllers are abstracted.
상기 통신은,
소프트웨어 정의 네트워킹(software-defined networking; SDN) 및 네트워크 기능 가상화(Network Function Virtualization; NFV) 중 적어도 하나의 네트워크 환경에 기반하는, 통신 방법.9. The method of claim 8,
The communication includes:
Wherein the at least one network environment is based on at least one of software-defined networking (SDN) and network function virtualization (NFV).
상기 통합 인터페이스는,
상기 소프트웨어 정의 네트워킹(SDN)을 위한 상기 이종 컨트롤러들 각각이 상기 응용 계층으로 제공하는 인터페이스 및 상기 네트워크 기능 가상화(NFV)를 위한 오케스트레이터(Orchestrator)가 상기 응용 계층으로 제공하는 인터페이스가 추상화되어 통합된 것인, 통신 방법.10. The method of claim 9,
The integrated interface comprises:
An interface provided by the heterogeneous controllers for the software defined networking (SDN) to the application layer and an interface provided by the orchestrator for the network functional virtualization (NFV) to the application layer are abstracted and integrated / RTI >
상기 다수의 이종 컨트롤러들은
소프트웨어 정의 네트워킹(SDN)을 위한 컨트롤러들 및 네트워크 기능 가상화(NFV)를 위한 관리자(Manager)들을 포함하는, 통신 방법.9. The method of claim 8,
The plurality of heterogeneous controllers
Controllers for software defined networking (SDN), and managers for network functional virtualization (NFV).
상기 다중 제어 인터페이스(MCI) 계층은,
일반적인 네트워크 환경에서 제공되는 서비스들에 대한 통합 및 연동을 수행하는 제1 모듈, 상기 다중 제어 인터페이스 계층과 연결되는 적어도 하나의 컨트롤러를 관리하는 제2 모듈, 상기 다수의 이종 컨트롤러들 각각이 제공하는 동일 목적을 위한 서로 다른 인터페이스들을 하나의 통합 인터페이스로 추상화하는 제3 모듈, 상기 제3 모듈에서 추상화된 통합 인터페이스를 일반화(normalize)하여 상기 응용 계층으로 제공하는 제4 모듈, 대용량 데이터 처리를 위해 인터페이스 데이터를 클러스터링하여 관리하는 제5 모듈, 상기 응용 계층의 세션을 관리하는 제6 모듈, 또는 메모리 기반의 DBMS(DataBase Management System)를 포함하는 제7 모듈 중 적어도 하나를 포함하는, 통신 방법.9. The method of claim 8,
The multi-control interface (MCI)
A first module for performing integration and interworking with services provided in a general network environment, a second module for managing at least one controller connected to the multiple control interface layer, and a second module for managing the same A fourth module for normalizing the abstracted abstract interface in the third module and providing the integrated interface to the application layer, a second module for abstracting the interface data And a seventh module including a fifth module for managing the session of the application layer, a sixth module for managing sessions of the application layer, or a memory based DBMS (DataBase Management System).
상기 다중 제어 인터페이스(MCI) 계층을 통해, 상기 다수의 이종 컨트롤러들에게 상기 응용 계층과의 통신을 위한 메시지를 전송하는 단계
를 포함하고,
상기 메시지는,
상기 다중 제어 인터페이스 계층에 대한 호출 결과를 나타내는 식별자, 상기 다수의 이종 컨트롤러들 중 상기 응용 계층이 요청한 정보를 제공하는 컨트롤러의 식별 정보(아이디), 상기 응용 계층이 요청한 정보를 제공하는 컨트롤러가 관리하는 클러스터의 식별 정보, 또는 상기 다중 제어 인터페이스 계층에 대한 호출을 통해 상기 응용 계층이 요청한 결과 값 중 적어도 하나를 포함하는, 통신 방법.9. The method of claim 8,
Transmitting a message for communication with the application layer to the plurality of heterogeneous controllers through the multiple control interface (MCI) layer
Lt; / RTI >
The message comprises:
(ID) of a controller that provides information requested by the application layer among the plurality of heterogeneous controllers, a controller that provides information requested by the application layer, and an identifier The identification information of the cluster, or the result value requested by the application layer through a call to the multiple control interface layer.
상기 다중 제어 인터페이스 계층에 대한 호출 결과를 나타내는 식별자는,
상기 다중 제어 인터페이스 계층에 대한 호출이 성공했음을 나타내는 제1 코드, 상기 호출은 성공했으나 요청 내용은 없음을 나타내는 제2 코드, 인가받지 않은 요청임을 나타내는 제3 코드, 상기 다중 제어 인터페이스 계층을 통해 요청한 인터페이스가 존재하지 않음을 나타내는 제4 코드, 또는 상기 다중 제어 인터페이스 계층 내부의 오류 발생을 나타내는 제5 코드 중 적어도 하나를 포함하는, 통신 방법.14. The method of claim 13,
The identifier indicating the result of the call to the multiple control interface layer,
A first code indicating success in a call to the multiple control interface layer, a second code indicating that the call succeeded but no request content, a third code indicating a request not being granted, Or a fifth code indicating an error occurrence within the multiple control interface layer. ≪ Desc / Clms Page number 12 >
상기 네트워크 장치의 동작을 제어하는 프로그램을 기록하는 메모리; 및
상기 프로그램을 구동시키는 하나 이상의 프로세서
를 포함하고,
상기 프로그램은,
네트워크 제어 계층(Network Control Layer)을 위한 다수의 이종 컨트롤러들이, 상기 네트워크 제어 계층과 상기 네트워크 제어 계층의 상위인 응용 계층(Application Layer) 간의 통합 인터페이스를 제공하는 다중 제어 인터페이스(Multi Controller Interface; MCI) 계층을 통해, 상기 응용 계층과 통신하도록 제어하고,
상기 다중 제어 인터페이스 계층은,
상기 다수의 이종 컨트롤러들 각각이 제공하는 동일 목적을 위한 서로 다른 인터페이스들이 추상화된 통합 인터페이스를 상기 응용 계층으로 제공하는, 네트워크 장치. In a network device,
A memory for storing a program for controlling an operation of the network device; And
One or more processors for running the program
Lt; / RTI >
The program includes:
A plurality of heterogeneous controllers for a network control layer include a Multi Controller Interface (MCI) that provides an integrated interface between the network control layer and an application layer that is an upper layer of the network control layer, Layer, to communicate with the application layer,
Wherein the multiple control interface layer comprises:
Wherein the application layer provides an integrated interface in which different interfaces for the same purpose provided by the plurality of heterogeneous controllers are abstracted.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140085125A KR101581127B1 (en) | 2014-07-08 | 2014-07-08 | Network system and communication method and network device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140085125A KR101581127B1 (en) | 2014-07-08 | 2014-07-08 | Network system and communication method and network device |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101581127B1 true KR101581127B1 (en) | 2015-12-30 |
Family
ID=55088099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140085125A KR101581127B1 (en) | 2014-07-08 | 2014-07-08 | Network system and communication method and network device |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101581127B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101876918B1 (en) * | 2017-04-24 | 2018-07-11 | 주식회사 이노그리드 | Method for providing container cluster service based on multiple orchestrator |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120110693A (en) * | 2011-03-30 | 2012-10-10 | 주식회사 케이디티 시스템즈 | Integrated remote monitoring and controlling system extensible to mobile environment |
-
2014
- 2014-07-08 KR KR1020140085125A patent/KR101581127B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120110693A (en) * | 2011-03-30 | 2012-10-10 | 주식회사 케이디티 시스템즈 | Integrated remote monitoring and controlling system extensible to mobile environment |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101876918B1 (en) * | 2017-04-24 | 2018-07-11 | 주식회사 이노그리드 | Method for providing container cluster service based on multiple orchestrator |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10812345B2 (en) | Automated service profiling and orchestration | |
EP3462311A1 (en) | Virtual network function deployment method, device and system adopting network edge computing | |
EP3143511B1 (en) | Method and apparatus for affinity-based network configuration | |
US20170201595A1 (en) | Provisioning iaas services | |
CN105939365B (en) | Master control borad User space obtains the method and device of data from business intralaminar nuclei state | |
US20140280817A1 (en) | Systems and methods for managing connections in an orchestrated network | |
EP3286936B1 (en) | Device and method for adding a service | |
EP3149921B1 (en) | Providing router information according to a programmatic interface | |
CN103843308A (en) | Execution of applications distributed across a plurality of computing devices | |
US9059891B2 (en) | Method for providing wireless application privilege management | |
WO2019137516A1 (en) | Network slice deployment method and apparatus | |
WO2012121899A2 (en) | System and method to provide remote device management for mobile virtualized platforms | |
US7966394B1 (en) | Information model registry and brokering in virtualized environments | |
KR101581127B1 (en) | Network system and communication method and network device | |
Schmidt et al. | Addressing the challenges of mission-critical information management in next-generation net-centric pub/sub systems with opensplice dds | |
KR102651239B1 (en) | Method for communicating using virtualization scheme and electric device for performing the same | |
KR20150088462A (en) | Method for linking network device in cloud environment and apparatus therefor | |
KR20150032085A (en) | Method for processing huge data and constructing high performance nfv system | |
US11949557B2 (en) | Device, method, and program for ICT resource management using service management information | |
Planning | SDN-NFV Reference Architecture | |
US10244051B2 (en) | Cloud metadata discovery API | |
KR102266051B1 (en) | Method for processing huge data and constructing high performance nfv system | |
KR101695850B1 (en) | Sdn-based autonomic control and management system and method for large-scale virtual networks | |
KR102062578B1 (en) | Method and apparatus for monitoring lifecycle of virtual network function | |
KR102131906B1 (en) | Main Board for Server Based on Board Management Controller and Driving Method Thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20181008 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20191007 Year of fee payment: 5 |