KR101883712B1 - Method, apparatus and computer program for managing a network function virtualization system - Google Patents

Method, apparatus and computer program for managing a network function virtualization system Download PDF

Info

Publication number
KR101883712B1
KR101883712B1 KR1020160151649A KR20160151649A KR101883712B1 KR 101883712 B1 KR101883712 B1 KR 101883712B1 KR 1020160151649 A KR1020160151649 A KR 1020160151649A KR 20160151649 A KR20160151649 A KR 20160151649A KR 101883712 B1 KR101883712 B1 KR 101883712B1
Authority
KR
South Korea
Prior art keywords
network function
module
plug
virtual network
api
Prior art date
Application number
KR1020160151649A
Other languages
Korean (ko)
Other versions
KR20180054112A (en
Inventor
안영배
이태경
김대훈
송용주
Original Assignee
아토리서치(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아토리서치(주) filed Critical 아토리서치(주)
Priority to KR1020160151649A priority Critical patent/KR101883712B1/en
Publication of KR20180054112A publication Critical patent/KR20180054112A/en
Application granted granted Critical
Publication of KR101883712B1 publication Critical patent/KR101883712B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages

Abstract

본 발명은 적어도 하나 이상의 가상 네트워크 기능을 관리하는 네트워크 기능 가상화 매니저를 실행하는 서버에 있어서, 가상 네트워크 기능의 사용자 설정 파라미터에 대한 사용자 입력을 수신할 수 있는 인터페이스를 생성하고, 상기 사용자 입력에 따라 상기 가상 네트워크 기능에 대한 설정 정보를 생성하는 적어도 하나 이상의 API 플러그인 모듈의 집합; 상기 가상 네트워크 기능을 상기 설정 정보에 따라 설정하는 적어도 하나 이상의 드라이버 플러그인 모듈의 집합; 상기 설정 정보를 상기 가상 네트워크 기능에 대해 저장하고, 상기 가상 네트워크 기능을 구현하는 가상 머신의 네트워크 정보 및 상기 가상 머신의 설정 정보를 저장하는 저장소; 및 상기 API 플러그인 모듈 집합 및 상기 드라이버 플러그인 모듈의 집합 에서 상기 가상 네트워크 기능에 연동할 API 플러그인 모듈 및 드라이버 플러그인 모듈을 선택하고, 선택된 API 플러그인 모듈 및 선택된 드라이버 플러그인 모듈을 페어로 매칭하여 상기 가상 네트워크 기능에 연동하는 매칭부를 포함하는 것을 특징으로 한다. The present invention provides a server for executing a network function virtualization manager for managing at least one virtual network function, the server for generating an interface capable of receiving a user input for a user setting parameter of a virtual network function, A set of at least one API plugin module for generating configuration information for a virtual network function; A set of at least one driver plug-in module for setting the virtual network function according to the setting information; A storage for storing the setting information for the virtual network function and for storing network information of the virtual machine implementing the virtual network function and setting information of the virtual machine; And selecting an API plug-in module and a driver plug-in module to be linked to the virtual network function in the API plug-in module set and the driver plug-in module set, matching the selected API plug-in module and the selected driver plug- And a matching unit operable to cooperate with the matching unit.

Description

네트워크 기능 가상화 시스템을 운용하는 방법, 장치 및 컴퓨터 프로그램 {METHOD, APPARATUS AND COMPUTER PROGRAM FOR MANAGING A NETWORK FUNCTION VIRTUALIZATION SYSTEM}METHOD, APPARATUS AND COMPUTER PROGRAM FOR MANAGING A NETWORK FUNCTION VIRTUALIZATION SYSTEM,

본 발명은 네트워크 기능 가상화(NFV, Network Function Virtualization) 시스템을 운용하는 방법에 대한 것이다. 보다 구체적으로 본 발명은 NFV 플랫폼에서 임의의 가상 네트워크 기능(VNF, Virtual Network Function)을 설정하는 방법에 대한 것이다. The present invention relates to a method for operating a network function virtualization (NFV) system. More specifically, the present invention relates to a method for setting a virtual network function (VNF) in an NFV platform.

최근 네트워크 기능 가상화 기술은 하드웨어 위주였던 네트워크 아키텍처 전반에 새로운 변화를 일으키고 있다. 네트워크 기능 가상화, 즉 NFV는 네트워크의 구성 요소인 하드웨어와 소프트웨어를 분리하고, 물리적인 네트워크 설비의 기능을 가상화하여 VM(Virtual Machine) 서버, 범용 프로세서를 탑재한 하드웨어, 클라우딩 컴퓨터에서 실행하는 개념이다. Recently, network function virtualization technology is making new changes throughout the network architecture, which is hardware-oriented. Network function Virtualization, or NFV, is a concept that is implemented on a virtual machine (VM) server, hardware with a general-purpose processor, and a cloud computer, by separating the hardware and software components of the network and virtualizing the functions of the physical network equipment .

이에 따르면 라우터, 로드 밸런서, 방화벽, 침입 방지, 가상 사설망 등 다양한 네트워크 장비들을 일반 서버에서 소프트웨어로 구현할 수 있어 네트워크 구성의 벤더 의존성에서 벗어날 수 있다. 값비싼 전용 장비를 범용 하드웨어와 전용 소프트웨어로 대체할 수 있기 때문이다. 나아가 장비 운영 비용 절감은 물론 트래픽 변화 등에 신속하게 대처할 수 있는 장점이 있다. According to this, various network devices such as routers, load balancers, firewalls, intrusion prevention, and virtual private networks can be implemented as software on general servers, thereby avoiding the vendor dependency of the network configuration. Expensive dedicated equipment can be replaced by general-purpose hardware and dedicated software. Furthermore, it has the advantage of being able to quickly cope with traffic change as well as equipment operation cost reduction.

한편 소프트웨어 정의 네트워킹, 즉 SDN (Software Defined Networking) 기술은 복잡한 컨트롤 플레인(control plane)의 기능을 데이터 플레인(data plane)과 분리하는 것이 특징이다. 이에 따르면 컨트롤 플레인의 복잡한 기능을 소프트웨어로 처리하고, 데이터 플레인은 네트워크 패킷의 전달, 무시, 변경 등 컨트롤 플레인이 지시하는 단순한 기능만을 수행할 수 있다. 이런 변화로, 복잡한 하드웨어의 제약 없이 소프트웨어로 새로운 네트워크 기능을 개발할 수 있으며, 동시에 이전 네트워크 구조에서 불가능했던 다양한 시도를 할 수 있게 되었다.Software-defined networking (SDN) technology, on the other hand, separates the complexity of the control plane from the data plane. According to this, the complicated functions of the control plane are processed by software, and the data plane can perform only simple functions indicated by the control plane, such as transferring, ignoring, and changing network packets. With these changes, software can develop new network functions without complex hardware constraints, while at the same time making various attempts that were not possible with previous network architectures.

상기 NFV와 SDN은 별개의 기술이지만 상호 보완적으로 작용할 수 있다. NFV에 의해 소프트웨어로 구현된 각종 네트워크 기능을 SDN을 이용하여 효율적으로 제어할 수 있기 때문이다. The NFV and the SDN are separate technologies, but can complement each other. This is because various network functions implemented by software by NFV can be efficiently controlled using SDN.

본 발명은 NFV 플랫폼에서 표준 인터페이스를 따르지 않는 3rd 파티 벤더의 VNF를 설정 및/또는 제어하는 방법을 제공하는 것을 목적으로 한다.It is an object of the present invention to provide a method for setting and / or controlling the VNF of a 3 rd party vendor that does not conform to the standard interface in the NFV platform.

상기 과제를 해결하기 위하여 본 발명의 실시예를 따르는 적어도 하나 이상의 가상 네트워크 기능을 관리하는 네트워크 기능 가상화 매니저를 실행하는 서버는, 가상 네트워크 기능의 사용자 설정 파라미터에 대한 사용자 입력을 수신할 수 있는 인터페이스를 생성하고, 상기 사용자 입력에 따라 상기 가상 네트워크 기능에 대한 설정 정보를 생성하는 적어도 하나 이상의 API 플러그인 모듈의 집합; 상기 가상 네트워크 기능을 상기 설정 정보에 따라 설정하는 적어도 하나 이상의 드라이버 플러그인 모듈의 집합; 상기 설정 정보를 상기 가상 네트워크 기능에 대해 저장하고, 상기 가상 네트워크 기능을 구현하는 가상 머신의 네트워크 정보 및 상기 가상 머신의 설정 정보를 저장하는 저장소; 및 상기 API 플러그인 모듈 집합 및 상기 드라이버 플러그인 모듈의 집합 에서 상기 가상 네트워크 기능에 연동할 API 플러그인 모듈 및 드라이버 플러그인 모듈을 선택하고, 선택된 API 플러그인 모듈 및 선택된 드라이버 플러그인 모듈을 페어로 매칭하여 상기 가상 네트워크 기능에 연동하는 매칭부를 포함하는 것을 특징으로 한다. According to an aspect of the present invention, there is provided a server for executing a network function virtualization manager for managing at least one virtual network function according to an embodiment of the present invention includes an interface capable of receiving user input on user setting parameters of a virtual network function A set of at least one API plug-in module for generating configuration information for the virtual network function according to the user input; A set of at least one driver plug-in module for setting the virtual network function according to the setting information; A storage for storing the setting information for the virtual network function and for storing network information of the virtual machine implementing the virtual network function and setting information of the virtual machine; And selecting an API plug-in module and a driver plug-in module to be linked to the virtual network function in the API plug-in module set and the driver plug-in module set, matching the selected API plug-in module and the selected driver plug- And a matching unit operable to cooperate with the matching unit.

나아가 본 발명의 실시예를 따르는 서버에서, 적어도 하나 이상의 가상 네트워크 기능을 관리하는 네트워크 기능 가상화 매니저를 운영하는 방법은, 가상 네트워크 기능의 사용자 설정 파라미터에 대한 사용자 입력을 수신할 수 있는 인터페이스를 생성하고, 상기 사용자 입력에 따라 상기 가상 네트워크 기능에 대한 설정 정보를 생성하는 적어도 하나 이상의 API 플러그인 모듈을 실행하는 단계; 상기 가상 네트워크 기능을 상기 설정 정보에 따라 설정하는 적어도 하나 이상의 드라이버 플러그인 모듈을 실행하는 단계; 상기 설정 정보를 상기 가상 네트워크 기능에 대해 저장하고, 상기 가상 네트워크 기능을 구현하는 가상 머신의 네트워크 정보 및 상기 가상 머신의 설정 정보를 저장하는 단계; 상기 API 플러그인 모듈 및 상기 드라이버 플러그인 모듈을 페어로 매칭하여 상기 가상 네트워크 기능에 연동하는 단계를 포함하는 것을 특징으로 한다. Further, in a server according to an embodiment of the present invention, a method of operating a network function virtualization manager managing at least one or more virtual network functions includes generating an interface capable of receiving a user input for a user setting parameter of a virtual network function Executing at least one API plug-in module for generating configuration information for the virtual network function according to the user input; Executing at least one driver plug-in module that sets the virtual network function according to the setting information; Storing the setting information for the virtual network function, storing network information of the virtual machine implementing the virtual network function, and setting information of the virtual machine; And connecting the API plug-in module and the driver plug-in module to the virtual network function by pairing the API plug-in module and the driver plug-in module.

본 발명에 따르면, 표준 인터페이스를 따르지 않는 VNF를 NFV 플랫폼에서 설정할 수 있어, 네트워크 기능 가상화 시스템을 유연하게 운용할 수 있는 효과가 있다.According to the present invention, the VNF that does not conform to the standard interface can be set in the NFV platform, and the network function virtualization system can be flexibly operated.

도 1은 NFV 시스템의 표준 아키텍처를 설명하기 위한 도면
도 2는 본 발명의 실시예를 따르는 NFV 시스템에서 임의의 VNF를 제어하는 프레임워크의 구성을 설명하기 위한 블록도
도 3은 본 발명의 실시예를 따라 VNF를 제어하는 예시를 설명하기 위한 도면
1 is a diagram for explaining a standard architecture of an NFV system;
2 is a block diagram for explaining the configuration of a framework for controlling an arbitrary VNF in an NFV system according to an embodiment of the present invention
3 is a diagram for explaining an example of controlling a VNF according to an embodiment of the present invention;

본 발명은 이하에 기재되는 실시예들의 설명 내용에 한정되는 것은 아니며, 본 발명의 기술적 요지를 벗어나지 않는 범위 내에서 다양한 변형이 가해질 수 있음은 자명하다. 그리고 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 널리 알려져 있고 본 발명의 기술적 요지와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. It is to be understood that the present invention is not limited to the description of the embodiments described below, and that various modifications may be made without departing from the technical scope of the present invention. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.

한편, 첨부된 도면에서 동일한 구성요소는 동일한 부호로 표현된다. 그리고 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시될 수도 있다. 이는 본 발명의 요지와 관련이 없는 불필요한 설명을 생략함으로써 본 발명의 요지를 명확히 설명하기 위함이다. 이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. In the drawings, the same components are denoted by the same reference numerals. And in the accompanying drawings, some of the elements may be exaggerated, omitted or schematically illustrated. It is intended to clearly illustrate the gist of the present invention by omitting unnecessary explanations not related to the gist of the present invention. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 NFV 시스템 표준 프레임워크를 설명하기 위한 도면이다. 1 is a diagram for explaining an NFV system standard framework.

NFV 시스템은 도 1에 도시된 바와 같이 VNF (20), VNF 인프라 (30), 및 VNF 관리 및 오케스트레이션(10) 모듈로 구성될 수 있다. The NFV system may comprise a VNF 20, a VNF infrastructure 30, and a VNF management and orchestration 10 module as shown in FIG.

NFV 시스템에서 VNF (20)는 특정의 네트워크 기능을 제공하는 가상화 객체들 (예를 들면, Firewall, DPI, EPC 시스템 등)의 집합이라고 할 수 있다. 상기 VNF (20) 기능 블록은 EM (21, Element Management)을 포함할 수 있으며, 상기 EM은 VNF 관련 설정 및 모니터링 기능을 하고 그에 대한 로그를 보유할 수 있다. In the NFV system, the VNF 20 is a collection of virtualization objects (e.g., Firewall, DPI, EPC systems, etc.) that provide specific network functionality. The VNF 20 functional block may include an EM (Element Management) 21. The EM may configure and monitor VNF-related functions and may have a log thereon.

도 1의 VNFI (30, NFV Infrastructure)는 NFV 시스템을 지원하는 모든 물리적, 논리적 자원을 의미하며, 물리적인 요소들을 가지고 가상화 단계를 거쳐 가상 자원을 제공하는 기능을 수행할 수 있다. The VNFI (30, NFV Infrastructure) of FIG. 1 means all physical and logical resources supporting the NFV system, and can perform the function of providing virtual resources through virtualization steps with physical elements.

한편 NFV 시스템에서 관리 및 오케스트레이션 (20)은 NFV를 카달로그에 등록하고, 등록된 NFV를 실행할 수 있는 인스턴스를 생성하며, 인스턴스에 물리적 자원 및 가상 자원을 할당하는 기능을 제공할 수 있다. On the other hand, in the NFV system, the management and orchestration 20 can provide a function of registering the NFV in the catalog, creating an instance capable of executing the registered NFV, and allocating physical resources and virtual resources to the instance.

상기 NFV 관리 및 오케스트레이션은 도 1에 도시된 바와 같이 오케스트레이터 (11, NFVO), VNFM (12, VNF Manager), VIM (13, VNF Infrastructure Manager)를 포함할 수 있다. The NFV management and orchestration may include an orchestrator 11, an NFVO, a VNFM 12, and a VNF infrastructure manager 13 as shown in FIG.

특히 VNFM (12)은 VNF 인스턴스의 라이프 사이클 관리를 위한 엔티티로, 적어도 하나 이상의 VNF 인스턴스를 관리하며, 이때 VNF 인스턴스는 같은 타입이거나 또는 다른 타입일 수 있다. 상기 VNFM은 VNF 인스턴스화, VNF 인스턴스 소프트웨어 업데이트 및 업그레이드, VNF 인스턴스 변경, 복구, 종료 등 모든 타입의 VNF에 적용되는 일반적인 공통 기능을 제공할 수 있다. In particular, the VNFM 12 is an entity for managing the life cycle of a VNF instance, and manages at least one or more VNF instances, wherein the VNF instance may be the same type or another type. The VNFM may provide general common functions applicable to all types of VNFs, such as VNF instantiation, VNF instance software update and upgrade, VNF instance change, recovery, and termination.

한편, 도 1과 같은 아키텍처에서 임의의 VNF에 대한 제어는 EM (21) 또는 VNFM (12)가 수행할 수 있으며 NFV 표준화 그룹에서 VNF, EM, VNFM 사이의 구현 시나리오는 확정되지 않은 상태이다. VNF 설정 인터페이스 역시 표준화되어 있지 않다. On the other hand, in the architecture shown in FIG. 1, the control for any VNF can be performed by the EM 21 or the VNFM 12, and the implementation scenario between the VNF, the EM, and the VNFM in the NFV standardization group is not confirmed. The VNF configuration interface is also not standardized.

따라서 벤더에 따라 VNF는 다양한 설정 값이 존재할 수 있으며, 같은 종류의 VNF도 벤더에 따라 설정 방법이 상이할 수 있다. 특히 벤더 정책에 따라 VNF를 구현하는 VM (Virtual Machine)에 대한 수정이 허용되지 않은 경우도 있다. VM 수정이 허용되지 않으면 VNF 설정 기능을 수행하는 EM 에이전트를 해당 VM에 실행시킬 수 없는 상황이 발생할 수 있다. Therefore, depending on the vendor, the VNF may have various setting values, and the setting method of the same type of VNF may vary depending on the vendor. In some cases, modifications to the VM (Virtual Machine) that implements the VNF are not allowed according to the vendor policy. If the modification of the VM is not allowed, there may occur a situation where the EM agent performing the VNF setting function can not be executed in the corresponding VM.

본 발명은 VNF 설정 인터페이스 표준이 확립되지 않아 발생하는 상기와 같은 문제를 해결하기 위한 것이다. 보다 구체적으로 본 발명을 따르면, 임의의 VNF를 설정할 수 있는 플러그인 모듈을 VNFM (12)에서 실행하고, 상기 플러그인 모듈을 통해 VNFM에서 임의의 VNF를 설정할 수 있는 효과가 있다. The present invention is intended to solve such a problem that occurs because the VNF setting interface standard is not established. More specifically, according to the present invention, a plug-in module capable of setting an arbitrary VNF is executed in the VNFM 12, and an arbitrary VNF can be set in the VNFM through the plug-in module.

이를 위해 본 발명의 실시예를 따르는 VNFM(12)는 VNF의 사용자 설정 파라미터에 대한 사용자 입력을 수신할 수 있는 인터페이스를 생성하고, 사용자 입력에 따라 해당 VNF에 대한 설정 정보를 생성하는 API 플러그인 모듈을 포함할 수 있다. 나아가 본 발명의 실시예를 따르는 VNFM(12)는 상기 설정 정보에 따라 임의의 VNF를 설정하는 드라이버 플러그인 모듈을 포함할 수 있다. To this end, the VNFM 12 according to the embodiment of the present invention includes an API plug-in module for generating an interface capable of receiving user input for a user setting parameter of the VNF and generating setting information for the corresponding VNF according to user input . Further, the VNFM 12 according to the embodiment of the present invention may include a driver plug-in module for setting an arbitrary VNF according to the setting information.

상기 API 플러그인 모듈 및 드라이버 플러그인 모듈은 페어로 제공될 수 있으며, 본 발명의 실시예를 따르는 API 플러그인 모듈 및 드라이버 플러그인 모듈 페어를 이용하여 VNFM가 VNF를 설정하는 보다 구체적인 설명은 첨부된 도면을 참고하여 후술된다. The API plug-in module and the driver plug-in module may be provided in a pair, and a more detailed description of the VNFM setting of the VNFM using the API plug-in module and the driver plug-in module pair according to the embodiment of the present invention will be described with reference to the accompanying drawings Described below.

도 2는 본 발명의 실시예를 따르는 NFV 시스템에서 임의의 VNF를 제어하는 프레임워크의 구성을 설명하기 위한 블록도이다. 2 is a block diagram for explaining a configuration of a framework for controlling an arbitrary VNF in an NFV system according to an embodiment of the present invention.

본 발명의 실시예를 따르는 VNFM (210)는 도 2에 도시되는 바와 같이 웹 UI (220), API 플러그인 모듈 (230), 네트워크 기능 서비스 모듈 (240), 드라이버 플러그인 모듈 (250) 및 설정 정보 저장소 (260)을 포함할 수 있다 2, the VNFM 210 includes a web UI 220, an API plug-in module 230, a network function service module 240, a driver plug-in module 250, RTI ID = 0.0 > 260 < / RTI >

네트워크 기능 서비스 모듈 (240)는 적어도 하나 이상의 VNF 인스턴스를 생성하며, VNF의 상태 관리를 위한 모니터링 기능을 수행하는 등 종래의 VNFM에서 담당한 VNF 인스턴스의 라이프 사이클 관리를 수행하는 엔터티로 동작할 수 있다.The network function service module 240 may operate as an entity that performs life cycle management of a VNF instance handled by a conventional VNFM, such as generating at least one VNF instance and performing a monitoring function for managing the state of the VNF .

API 플러그인 모듈 (230)은 임의의 VNF 설정을 위해 사용자가 사용할 수 있는 API를 제공해주는 플러그인 어플리케이션의 집합이다. 이때 사용자 입력을 수신하기 위해 웹 UI (220)와 연동할 수 있다. The API plug-in module 230 is a set of plug-in applications that provide an API that the user can use for any VNF configuration. At this time, the web UI 220 can be linked to receive user input.

한편 도 2는 웹 UI (220)가 VNFM (210)에 포함되어 있는 것으로 도시되어 있지만 이는 예시에 불과하다. 즉, 상기 웹 UI (220)는 구현에 따라 생략될 수 있다. On the other hand, FIG. 2 shows that the Web UI 220 is included in the VNFM 210, but this is merely an example. That is, the web UI 220 may be omitted depending on the implementation.

사용자 설정 파라미터는 VNF 타입 (예를 들어 LB, FW, IDS 등)에 따라 상이하며, 동일한 타입의 VNF라고 하더라도 벤더에 따라 상이할 수 있다. 따라서 상기 API 플러그인 모듈은 VNF의 사용자 설정 파라미터에 대한 사용자 입력을 수신할 수 있는 인터페이스를 생성하고, 사용자 입력에 따라 해당 VNF에 대한 설정 정보를 생성할 수 있다. The user setting parameters are different depending on the VNF type (for example, LB, FW, IDS, etc.), and even the same type of VNF may be different depending on the vendor. Therefore, the API plug-in module may generate an interface capable of receiving a user input for a VNF user setting parameter, and may generate setting information for the corresponding VNF according to a user input.

예를 들어 LB (Load Balancer)에 대한 사용자 설정 파라미터는 대상 서버의 추가, 삭제, 변경 또는 대상 포트의 추가, 삭제, 변경 등이 있으므로, LB를 설정하기 위한 API 플러그인 모듈은 임의의 LB 기능을 제공하는 VNF에 대한 로드밸러싱 대상 서버의 추가, 삭제, 변경 또는 로드밸런싱 포트의 추가, 삭제, 변경 등을 설정하는 사용자 입력을 수신하기 위한 인터페이스를 제공할 수 있다. For example, the user setting parameters for the LB (Load Balancer) include adding, deleting, changing, or adding, deleting, or changing the target port, so the API plugin module for setting LB provides arbitrary LB function Delete, change, or add a load balancing port to the VNF, delete or change the load balancing port, and so on.

본 발명의 실시예를 따르는 API 플러그인 모듈(230)은 생성한 설정 정보를 VNF 에 전달하는 드라이버 플러그인 모듈 (250)과 항상 페어로 제공될 수 있다. The API plug-in module 230 according to the embodiment of the present invention can be always provided in a pair with the driver plug-in module 250 that transmits the generated configuration information to the VNF.

드라이버 플러그인 모듈 (250)은 상기 API 플러그인 모듈 (230)을 통해 수신한 사용자 입력에 따라 생성된 설정 정보를 해당 VNF 에 전달하는 역할을 수행할 수 있다. 이때 상기 드라이버는 해당 VNF의 벤더가 제공하는 설정 방식에 따라 구현될 수 있다. The driver plug-in module 250 may transmit configuration information generated according to a user input received through the API plug-in module 230 to the corresponding VNF. At this time, the driver may be implemented according to the setting method provided by the vendor of the corresponding VNF.

LB 기능을 제공하는 VNF를 설정하는 앞의 예에서, 특정 벤더가 ssh 접속을 허용하는 경우, 드라이버 플러그인 모듈은 ssh를 이용하여 해당 VM에 접속하여 설정 정보에 따라 설정 파일을 직접 수정하는 방식으로 VNF를 설정하도록 구현될 수 있다. 한편 다른 벤더가 RestAPI를 제공하는 경우, 드라이버 플러그인 모듈은 RestAPI를 이용하여 VNF를 설정할 수 있다. In the previous example of configuring the VNF that provides the LB function, when a specific vendor allows ssh connection, the driver plugin module accesses the corresponding VM using ssh and directly modifies the configuration file according to the setting information. As shown in FIG. On the other hand, if another vendor provides RestAPI, the driver plugin module can configure VNF using RestAPI.

이때 본 발명의 실시예를 따르는 API 플러그인 모듈과 드라이버 플러그인 모듈은 항상 페어로 제공되지만 1:1 관계는 아닌 것에 유의할 필요가 있다. It should be noted that the API plug-in module and the driver plug-in module according to the embodiment of the present invention are always provided in pairs but not in a 1: 1 relationship.

앞의 예에서 대상 서버와 대상 포트를 모두 변경할 수 있는 API, 서버만 변경할 수 있는 API 등으로 사용자 설정 파라미터 구성이 상이한 다수의 플러그인 모듈이 동일한 타입의 VNF에 대해 존재할 수 있다. 나아가 드라이버 플러그인 모듈도 VM에 접속하여 설정 파일을 직접 변경하는 방식의 드라이버, RestAPI를 이용하여 VNF를 설정하는 방식의 드라이버가 동일한 타입의 VNF에 대해 존재할 수 있다. In the above example, a plurality of plug-in modules having different user configuration parameter configurations, such as an API capable of changing both the target server and the target port, and an API capable of changing only the server, may exist for the same type of VNF. Furthermore, a driver plug-in module may be connected to the VM to directly change a configuration file, and a driver for setting VNF using RestAPI may exist for the same type of VNF.

이 경우, (LB_FULL_API, LB_COMMON_DRIVER), (LB_FULL_API, LB_F5_DRIVER), (LB_MINIMUM_API, LB_F5_DRIVER) 와 같은 다양한 조합으로 API 플러그인 모듈과 드라이버 플러그인 모듈의 페어를 형성할 수 있다. In this case, API plug-in modules and driver plug-in module pairs can be formed in various combinations such as (LB_FULL_API, LB_COMMON_DRIVER), (LB_FULL_API, LB_F5_DRIVER), (LB_MINIMUM_API, LB_F5_DRIVER).

한편 본 발명의 실시예를 따르는 VNFM는 도 2에 도시된 바와 같이 설정 정보 저장소 (260)를 포함할 수 있다. 이는 설정 관리를 위한 스토리지 서비스를 제공하기 위한 것이다. Meanwhile, the VNFM according to an embodiment of the present invention may include a configuration information storage 260 as shown in FIG. This is to provide a storage service for configuration management.

보다 구체적으로, 설정 정보 저장소 (260)는 API 플러그인 모듈 (230)이 생성한 사용자 설정 정보를 해당 VNF에 대해 저장하고, VNF를 구현하는 VM에 대한 IP, NIP, MAC 주소 등 네트워크 설정 정보를 저장하는 역할을 수행할 수 있다. 나아가 설정 정보 저장소는 복수의 VNF에 대한 공유 저장소로 활용될 수 있다. More specifically, the setting information storage 260 stores the user setting information generated by the API plug-in module 230 for the corresponding VNF, and stores network setting information such as IP, NIP, and MAC address for the VM implementing the VNF Can play a role. Furthermore, the configuration information repository can be utilized as a shared repository for a plurality of VNFs.

이러한 설정 정보 저장소 (260)를 VNFM에 구축하면, 특정 VNF의 사용자 설정 정보, 네트워크 설정 정보를 다른 VNF에 공유하거나 복사할 수 있는 장점이 있다. 예를 들어 고가용성 제공을 위해 임의의 VNF 인스턴스가 복사되는 경우, 설정 정보 저장소를 이용하면 별도의 프로토콜 없이 VNF의 설정 정보를 공유할 수 있어 설치가 간이해지는 효과가 있다. When the setting information storage 260 is constructed in the VNFM, the user setting information and the network setting information of the specific VNF can be shared or copied to other VNFs. For example, when an arbitrary VNF instance is copied to provide high availability, the configuration information storage can be used to share configuration information of the VNF without a separate protocol, thereby simplifying installation.

한편, VNF 수정 가능 레벨에 따라 VNF를 설정하는 다양한 시나리오를 고려할 수 있다. On the other hand, various scenarios for setting the VNF according to the VNF modifiable level can be considered.

예를 들어 도 2의 270과 같은 노드의 VNF가 VM 수정이 허용되어 있는 경우를 고려할 수 있다. 이 경우, API 플러그인 모듈(230)과 드라이버 플러그인 모듈 (250)을 통하여 해당 VNF를 설정할 수 있는 것은 물론, 또는 설정용 API를 제공하는 EM 에이전트를 설치할 수도 있다. For example, consider the case where the VNF of the node 270 in FIG. 2 is allowed to modify the VM. In this case, not only the corresponding VNF can be set through the API plug-in module 230 and the driver plug-in module 250, but also an EM agent providing the setting API can be installed.

이 경우 EM에서 생성한 설정 정보를 API 플러그인 모듈, 드라이버 플러그인 모듈과 공유 (275, 277)하고, 설정 정보 저장소 (260)에 관련 정보를 저장할 수 있다.  In this case, the setting information generated by the EM can be shared (275, 277) with the API plug-in module and the driver plug-in module, and the related information can be stored in the setting information storage 260.

또 다른 예로 도 2의 280과 같은 노드의 VNF에서 설정용 API를 별도로 제공하는 경우를 고려할 수 있다. 이 경우, 본 발명의 실시예에 따라 해당 VNF를 설정할 수 있는 드라이버 플러그인 모듈을 상기 설정용 API와 연동하거나 (285) 또는 상기 설정용 API 를 사용하지 않고, 본 발명의 실시예를 따르는 API 플러그인 모듈을 통해 설정 정보를 생성하고, 드라이버 플러그인 모듈이 해당 VNF를 설정하는 방식으로 구현할 수도 있다. As another example, a configuration API may be separately provided in the VNF of the node 280 in FIG. In this case, the driver plug-in module capable of setting the corresponding VNF according to the embodiment of the present invention is linked with the setting API (285), or the API plug-in module according to the embodiment of the present invention And the driver plug-in module sets the corresponding VNF.

또 다른 예로 도 3의 290과 같은 노드의 VNF에서 어떠한 수정도 허용하지 않는 경우를 고려할 수 있다. 이 경우, 본 발명의 실시예를 따르는 API 플러그인 모듈을 통해 설정 정보를 생성하고, 드라이버 플러그인 모듈이 해당 VNF를 직접 설정 (295)할 수 있다. As another example, consider a case where no modification is allowed in the VNF of the node such as 290 in FIG. In this case, the configuration information may be generated through the API plug-in module according to the embodiment of the present invention, and the driver plug-in module may directly set (295) the corresponding VNF.

도 3은 도 3은 본 발명의 실시예를 따라 VNF를 제어하는 예시를 설명하기 위한 도면이다. 도 3은 LB 기능을 제공하는 VNF를 설정하는 예시에 대한 것이다. 3 is a diagram for explaining an example of controlling a VNF according to an embodiment of the present invention. Figure 3 is an example of setting up a VNF that provides LB functionality.

LB에 대한 사용자 설정 파라미터는 HTTP 전용으로 서버 설정 기능만을 제공하는 min-API (310) 또는 HTTP, HTTPS, SSL_Proxy 대상으로, 서버 설정 기능은 물론, 분산 방식 설정도 가능한 max-API (315)를 고려할 수 있다. The user setting parameter for LB is a min-API 310 for HTTP only, or a max-API 315 for HTTP, HTTPS, and SSL_Proxy that provides only a server setting function, .

나아가 LB 기능을 제공하는 VNF 를 설정하는 방식으로는 web 프로토콜로 제어하는 web 드라이버 (330), ssh 프로토콜로 제어하는 ssh 드라이버 (325)를 고려할 수 있다. Further, as a method of setting the VNF for providing the LB function, the web driver 330 for controlling the web protocol and the ssh driver 325 for controlling the ssh protocol can be considered.

이와 같은 상황에서 제 1 LB (340), 제 2 LB (350), 제 3 LB (360)를 설정하기 위해 가능한 API 플러그인 과 드라이버 플러그인의 조합은 아래와 같다.In this situation, a combination of the API plug-in and the driver plug-in that can be set for setting the first LB 340, the second LB 350, and the third LB 360 is as follows.

(min-API, web driver, LB#1) : 제 1 LB를 최소 기능만 사용하여 Web 프로토콜로 제어(min-API, web driver, LB # 1): Controlling the first LB with the Web protocol using minimal functionality

(min-API, web driver, LB#2) : 제 2 LB를 최소 기능만 사용하여 Web 프로토콜로 제어(min-API, web driver, LB # 2): Control the second LB with the Web protocol using minimal functionality

(max-API, web driver, LB#1) : 제 1 LB를 최대 기능 사용하여 Web 프로토콜로 제어(max-API, web driver, LB # 1): Controlling the first LB with Web protocol using maximum function

(max-API, web driver, LB#2) : 제 2 LB를 최대 기능 사용하여 Web 프로토콜로 제어(max-API, web driver, LB # 2): Controlling the second LB with Web protocol using maximum function

(max-API, ssh driver, LB#2) : 제 2 LB를 최대 기능 사용하여 ssh 프로토콜로 제어(max-API, ssh driver, LB # 2): control the second LB with ssh protocol using maximal function

(max-API, ssh driver, LB#3) : 제 3 LB를 최대 기능 사용하여 ssh 프로토콜로 제어(max-API, ssh driver, LB # 3): control the third LB with the ssh protocol using maximum functionality

본 명세서와 도면에 게시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 게시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. The embodiments of the present invention disclosed in the present specification and drawings are intended to be illustrative only and not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.

Claims (4)

적어도 하나 이상의 가상 네트워크 기능을 관리하는 네트워크 기능 가상화 매니저를 실행하는 서버에 있어서,
가상 네트워크 기능의 사용자 설정 파라미터에 대한 사용자 입력을 수신할 수 있는 인터페이스를 생성하고, 상기 사용자 입력에 따라 상기 가상 네트워크 기능에 대한 설정 정보를 생성하는 적어도 하나 이상의 API 플러그인 모듈의 집합;
상기 가상 네트워크 기능을 상기 설정 정보에 따라 설정하는 적어도 하나 이상의 드라이버 플러그인 모듈의 집합;
상기 설정 정보를 상기 가상 네트워크 기능에 대해 저장하고, 상기 가상 네트워크 기능을 구현하는 가상 머신의 네트워크 정보 및 상기 가상 머신의 설정 정보를 저장하는 저장소; 및
상기 API 플러그인 모듈 집합 및 상기 드라이버 플러그인 모듈의 집합 에서 상기 가상 네트워크 기능에 연동할 API 플러그인 모듈 및 드라이버 플러그인 모듈을 선택하고, 선택된 API 플러그인 모듈 및 선택된 드라이버 플러그인 모듈을 페어로 매칭하여 상기 가상 네트워크 기능에 연동하는 매칭부를 포함하는 것을 특징으로 하는 가상 네트워크 기능 매니저를 실행하는 서버.
A server that executes a network function virtualization manager that manages at least one or more virtual network functions,
A set of at least one API plugin module for generating an interface capable of receiving user input for a user setting parameter of a virtual network function and generating configuration information for the virtual network function according to the user input;
A set of at least one driver plug-in module for setting the virtual network function according to the setting information;
A storage for storing the setting information for the virtual network function and for storing network information of the virtual machine implementing the virtual network function and setting information of the virtual machine; And
Selecting an API plug-in module and a driver plug-in module to be linked to the virtual network function in the API plug-in module set and the driver plug-in module set, matching the selected API plug-in module and the selected driver plug- And a matching unit operatively coupled to the virtual network function manager.
제 1 항에 있어서,
상기 API 플러그인 모듈의 집합은, 상기 사용자 설정 파라미터 집합의 구성이 상이한 복수의 API 플러그인 모듈들을 포함하며,
상기 드라이버 플러그인 모듈의 집합은, 상기 가상 네트워크 기능을 설정하는 방식이 상이한 복수의 드라이버 플러그인 모듈들을 포함하는 것을 특징으로 하는 가상 네트워크 기능 매니저를 실행하는 서버.
The method according to claim 1,
Wherein the set of API plug-in modules includes a plurality of API plug-in modules having different configurations of the set of user-
Wherein the set of driver plug-in modules includes a plurality of driver plug-in modules that are different in a manner of setting the virtual network function.
서버에서, 적어도 하나 이상의 가상 네트워크 기능을 관리하는 네트워크 기능 가상화 매니저를 운영하는 방법에 있어서,
가상 네트워크 기능의 사용자 설정 파라미터에 대한 사용자 입력을 수신할 수 있는 인터페이스를 생성하고, 상기 사용자 입력에 따라 상기 가상 네트워크 기능에 대한 설정 정보를 생성하는 적어도 하나 이상의 API 플러그인 모듈을 실행하는 단계;
상기 가상 네트워크 기능을 상기 설정 정보에 따라 설정하는 적어도 하나 이상의 드라이버 플러그인 모듈을 실행하는 단계;
상기 설정 정보를 상기 가상 네트워크 기능에 대해 저장하고, 상기 가상 네트워크 기능을 구현하는 가상 머신의 네트워크 정보 및 상기 가상 머신의 설정 정보를 저장하는 단계;
상기 API 플러그인 모듈 및 상기 드라이버 플러그인 모듈을 페어로 매칭하여 상기 가상 네트워크 기능에 연동하는 단계를 포함하는 것을 특징으로 하는 네트워크 기능 가상화 매니저 운영 방법.
1. A method of operating a network function virtualization manager in a server, the network virtualization manager managing at least one or more virtual network functions,
Executing at least one API plug-in module for generating an interface capable of receiving user input for a user setting parameter of a virtual network function and generating configuration information for the virtual network function according to the user input;
Executing at least one driver plug-in module that sets the virtual network function according to the setting information;
Storing the setting information for the virtual network function, storing network information of the virtual machine implementing the virtual network function, and setting information of the virtual machine;
And plugging the API plug-in module and the driver plug-in module into a pair and interworking with the virtual network function.
삭제delete
KR1020160151649A 2016-11-15 2016-11-15 Method, apparatus and computer program for managing a network function virtualization system KR101883712B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160151649A KR101883712B1 (en) 2016-11-15 2016-11-15 Method, apparatus and computer program for managing a network function virtualization system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160151649A KR101883712B1 (en) 2016-11-15 2016-11-15 Method, apparatus and computer program for managing a network function virtualization system

Publications (2)

Publication Number Publication Date
KR20180054112A KR20180054112A (en) 2018-05-24
KR101883712B1 true KR101883712B1 (en) 2018-07-31

Family

ID=62296549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160151649A KR101883712B1 (en) 2016-11-15 2016-11-15 Method, apparatus and computer program for managing a network function virtualization system

Country Status (1)

Country Link
KR (1) KR101883712B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102019927B1 (en) * 2018-09-12 2019-11-04 숭실대학교산학협력단 Apparatus and method for network function virtualization
CN113204336A (en) * 2021-05-21 2021-08-03 珠海金山网络游戏科技有限公司 Game platform creating method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102148375B1 (en) * 2016-09-13 2020-08-26 에스케이텔레콤 주식회사 Apparatus and method for managing and orchestrating network function virtualization
KR102106566B1 (en) * 2016-09-19 2020-05-04 에스케이텔레콤 주식회사 Apparatus and method for managing and orchestrating network function virtualization

Also Published As

Publication number Publication date
KR20180054112A (en) 2018-05-24

Similar Documents

Publication Publication Date Title
US10972312B2 (en) Programmable infrastructure gateway for enabling hybrid cloud services in a network environment
CN111355604B (en) System and method for user customization and automation operations on software defined networks
US11483405B2 (en) Private cloud as a service
US9667653B2 (en) Context-aware network service policy management
US9935829B1 (en) Scalable packet processing service
US9699034B2 (en) Secure cloud fabric to connect subnets in different network domains
CN115918139A (en) Active assurance of network slicing
KR101714279B1 (en) System and method providing policy based data center network automation
US20140052877A1 (en) Method and apparatus for tenant programmable logical network for multi-tenancy cloud datacenters
US11281476B2 (en) Plugin framework to support zero touch management of heterogeneous infrastructure elements across distributed data centers
EP3249871A1 (en) Method and device for updating network service descriptor
US11477165B1 (en) Securing containerized applications
EP3676699A1 (en) Apparatus and method for configuring and monitoring virtual applications
US9503392B2 (en) Enhance private cloud system provisioning security
KR101883712B1 (en) Method, apparatus and computer program for managing a network function virtualization system
US9736027B2 (en) Centralized enterprise image upgrades for distributed campus networks
Jain Introduction to Software Defined Networking (SDN)
KR102184114B1 (en) Method and apparatus for providing network security service
US9497140B2 (en) Autonomous multi-node network configuration and self-awareness through establishment of a switch port group
US10560307B2 (en) Method and system for management of an openflow agent in openflow devices
KR20170006950A (en) Network flattening system based on sdn and method thereof
KR102062578B1 (en) Method and apparatus for monitoring lifecycle of virtual network function
US20230199628A1 (en) Systems and methods for modeling container-based network functions
US20210400022A1 (en) Methods and systems for network address translation (nat) traversal using a meet-in-the-middle proxy
Janovic Integrating ACI with Virtualization and Container Platforms

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant