KR20230060941A - Management apparatus for virtual network, and control method thereof - Google Patents
Management apparatus for virtual network, and control method thereof Download PDFInfo
- Publication number
- KR20230060941A KR20230060941A KR1020210145681A KR20210145681A KR20230060941A KR 20230060941 A KR20230060941 A KR 20230060941A KR 1020210145681 A KR1020210145681 A KR 1020210145681A KR 20210145681 A KR20210145681 A KR 20210145681A KR 20230060941 A KR20230060941 A KR 20230060941A
- Authority
- KR
- South Korea
- Prior art keywords
- host
- virtual
- container
- virtual machine
- network management
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000013507 mapping Methods 0.000 claims description 19
- 230000005641 tunneling Effects 0.000 claims description 9
- 230000010354 integration Effects 0.000 claims 2
- 230000006855 networking Effects 0.000 abstract description 15
- 238000011017 operating method Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 4
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- MWRWFPQBGSZWNV-UHFFFAOYSA-N Dinitrosopentamethylenetetramine Chemical compound C1N2CN(N=O)CN1CN(N=O)C2 MWRWFPQBGSZWNV-UHFFFAOYSA-N 0.000 description 1
- 229940112112 capex Drugs 0.000 description 1
- FEBLZLNTKCEFIT-VSXGLTOVSA-N fluocinolone acetonide Chemical compound C1([C@@H](F)C2)=CC(=O)C=C[C@]1(C)[C@]1(F)[C@@H]2[C@@H]2C[C@H]3OC(C)(C)O[C@@]3(C(=O)CO)[C@@]2(C)C[C@@H]1O FEBLZLNTKCEFIT-VSXGLTOVSA-N 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은, 가상 머신(VM, Virtual Machine)과 컨테이너(Container) 간에 통용되는 새로운 네트워킹 방식으로 컨테이너화된 가상 머신 기반의 가상 네트워크를 구축하기 위한 방안에 관한 것이다.The present invention relates to a method for constructing a containerized virtual machine-based virtual network using a new networking method commonly used between virtual machines (VMs) and containers.
클라우드 서비스 환경에서 컨테이너(Container)는 가상 머신(VM, Virtual Machine)에 비해 훨씬 가벼운 가상화 기술로서, 모든 연관 요소(관련 라이브러리, 구성 파일 등)를 하나의 패키지로 구성하는 것을 지원함에 따라, 컨테이너의 생성 및 배포 시간을 단축시킬 수 있을 뿐만 아니라 재 기동 또한 빠르다는 장점을 가진다.In a cloud service environment, a container is a virtualization technology that is much lighter than a virtual machine (VM), and supports configuring all related elements (related libraries, configuration files, etc.) Not only can creation and distribution time be shortened, but also has the advantage of being quick to restart.
이에, 가상 머신을 컨테이너화 한다면 단일 컨테이너 플랫폼으로 컨테이너 및 가상 머신을 모두 제공할 수 있어, 컨테이너가 가진 위 장점에 따라 CAPEX(Capital expenditures)와 OPEX(Operating Expenditure)를 모두 줄일 수 있다.Accordingly, containerization of virtual machines can provide both containers and virtual machines with a single container platform, reducing both CAPEX (Capital expenditures) and OPEX (Operating Expenditure) according to the above advantages of containers.
더욱이, 기존 클라우드 환경에서 제공되던 다양한 IT 서비스 및 기술을 모바일 네트워크의 엣지에서 제공하고자 하는 개념인 모바일엣지컴퓨팅(MEC, Mobile-Edge Computing) 환경으로 진화되고 있는 작금의 추세를 고려한다면, 물리 자원이 한정된 모바일엣지컴퓨팅 환경에서는 플랫폼 단일화는 필수적이다.Moreover, considering the current trend of evolving to the Mobile-Edge Computing (MEC) environment, which is a concept of providing various IT services and technologies provided in the existing cloud environment at the edge of the mobile network, physical resources In the limited mobile edge computing environment, platform unification is essential.
그러나, 가상 머신과 컨테이너 간에는 각 연결 포트의 포맷 및 IP 주소 할당 스킴(Scheme)과 같은 네트워킹 방식에 있어 차이를 보이게 되며, 따라서 이에 대한 고려 없이 가상 머신을 컨테이너화 하여 활용하는 경우, 플랫폼 단일화 이전에 가상 머신 기반의 정상적인 서비스 자체가 불가해지는 문제가 발생할 수 있다.However, there is a difference between a virtual machine and a container in networking methods such as the format of each connection port and IP address allocation scheme. Therefore, if a virtual machine is containerized and used without considering this, A problem in which machine-based normal service itself becomes impossible may occur.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, 가상 머신(VM, Virtual Machine)과 컨테이너(Container) 간에 통용되는 새로운 네트워킹 방식으로 컨테이너화된 가상 머신 기반의 가상 네트워크를 구축하는데 있다.The present invention was created in view of the above circumstances, and an object to be reached in the present invention is a containerized virtual machine-based virtual network as a new networking method commonly used between virtual machines (VMs) and containers. is building
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 가상네트워크관리장치는, 파드(POD) 형태인 컨테이너 내부에 가상 머신을 배치시킨 호스트를 생성하는 호스트 생성부; 및 상기 호스트와 상기 호스트 내부의 컨테이너를 연결하는 통합브릿지로 상기 호스트 내부의 컨테이너와 상기 호스트와는 다른 타 호스트 내부의 컨테이너를 연결시킨 가상 네트워크를 구축하는 네트워크 관리부를 포함하는 것을 특징으로 한다.In order to achieve the above object, a virtual network management apparatus according to an embodiment of the present invention includes a host creation unit for creating a host in which a virtual machine is placed inside a container in the form of a pod (POD); and a network management unit configured to construct a virtual network in which containers in the host and containers in another host different from the host are connected by an integrated bridge connecting the host and containers in the host.
구체적으로, 상기 네트워크 관리부는, 상기 호스트 내부에 제1 컨테이너, 및 상기 제1 컨테이너가 속한 가상 네트워크와는 다른 타 가상 네트워크에 속한 제2 컨테이너가 존재하는 경우, 상기 통합브릿지 간 연결을 지원하는 터널링브릿지로 상기 제1 컨테이너와 상기 제2 컨테이너를 연결할 수 있다.Specifically, the network management unit, when a first container and a second container belonging to another virtual network different from the virtual network to which the first container belongs exist inside the host, tunneling to support the connection between the integrated bridges. The first container and the second container may be connected by a bridge.
구체적으로, 상기 네트워크 관리부는, 상기 호스트에 대해서, 상기 가상 머신의 가상 포트; 상기 가상 머신의 가상 포트와 페어(Pair)를 이루며, 상기 컨테이너와 상기 컨테이너 내부의 가상 머신을 연결하는 내부브릿지와 연결되는 탭 포트; 상기 내부브릿지와 연결되는 상기 컨테이너의 가상 포트; 및 상기 컨테이너의 가상 포트와 페어(Pair)를 이루며, 상기 호스트와 상기 호스트 내부의 컨테이너를 연결하는 통합브릿지와 연결되는 가상 인터넷 포트를 생성할 수 있다.Specifically, the network manager may include, for the host, a virtual port of the virtual machine; a tap port paired with a virtual port of the virtual machine and connected to an internal bridge connecting the container and a virtual machine inside the container; a virtual port of the container connected to the internal bridge; and a virtual Internet port that forms a pair with the virtual port of the container and is connected to an integrated bridge connecting the host and the container inside the host.
구체적으로, 상기 네트워크 관리부는, 상기 호스트 내부에 제1 컨테이너, 및 상기 제1 컨테이너가 속한 가상 네트워크와는 다른 타 가상 네트워크에 속한 제2 컨테이너가 존재하는 경우, 상기 제1 컨테이너의 가상 머신에 할당 가능한 IP 대역과, 상기 제2 컨테이너의 가상 머신에 할당 가능한 IP 대역이 서로 달라지도록 가상 네트워크 별로 IP 대역을 다르게 할당할 수 있다.Specifically, the network management unit, when a first container and a second container belonging to another virtual network different from the virtual network to which the first container belongs exists inside the host, allocates the contents to the virtual machine of the first container. Different IP bands may be allocated for each virtual network so that the available IP bands and the IP bands allocable to the virtual machines of the second container are different from each other.
구체적으로, 상기 네트워크 관리부는, 상기 가상 네트워크 내 가상 머신 별로 IP 주소가 할당되면, 각 가상 머신의 MAC 주소와 IP 주소를 매칭시킨 매핑테이블을 생성하며, 상기 가상 네트워크 내 특정 가상 머신이 재 생성되는 경우에는, 상기 매핑테이블을 기초로 상기 특정 가상 머신의 MAC 주소와 매칭된 기존의 IP 주소를 상기 특정 가상 머신에 대해 동일하게 할당할 수 있다.Specifically, the network management unit, when an IP address is allocated for each virtual machine in the virtual network, creates a mapping table in which the MAC address and IP address of each virtual machine are matched, and a specific virtual machine in the virtual network is recreated. In this case, the existing IP address matched with the MAC address of the specific virtual machine may be equally allocated to the specific virtual machine based on the mapping table.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 가상네트워크관리장치의 동작 방법은, 파드(POD) 형태인 컨테이너 내부에 가상 머신을 배치시킨 호스트를 생성하는 호스트 생성단계; 및 상기 호스트와 상기 호스트 내부의 컨테이너를 연결하는 통합브릿지로 상기 호스트 내부의 컨테이너와 상기 호스트와는 다른 타 호스트 내부의 컨테이너를 연결시킨 가상 네트워크를 구축하는 네트워크 관리단계를 포함하는 것을 특징으로 한다.To achieve the above object, a method of operating a virtual network management device according to an embodiment of the present invention includes a host creation step of creating a host in which a virtual machine is placed inside a container in the form of a pod (POD); and a network management step of constructing a virtual network in which containers in the host and containers in another host different from the host are connected by an integrated bridge connecting the host and containers in the host.
구체적으로, 상기 네트워크 관리단계는, 상기 호스트 내부에 제1 컨테이너, 및 상기 제1 컨테이너가 속한 가상 네트워크와는 다른 타 가상 네트워크에 속한 제2 컨테이너가 존재하는 경우, 상기 통합브릿지 간 연결을 지원하는 터널링브릿지로 상기 제1 컨테이너와 상기 제2 컨테이너를 연결할 수 있다.Specifically, in the network management step, when a first container and a second container belonging to another virtual network different from the virtual network to which the first container belongs exist inside the host, supporting the connection between the integrated bridges. The first container and the second container may be connected by a tunneling bridge.
구체적으로, 상기 네트워크 관리단계는, 상기 호스트에 대해서, 상기 가상 머신의 가상 포트; 상기 가상 머신의 가상 포트와 페어(Pair)를 이루며, 상기 컨테이너와 상기 컨테이너 내부의 가상 머신을 연결하는 내부브릿지와 연결되는 탭 포트; 상기 내부브릿지와 연결되는 상기 컨테이너의 가상 포트; 및 상기 컨테이너의 가상 포트와 페어(Pair)를 이루며, 상기 호스트와 상기 호스트 내부의 컨테이너를 연결하는 통합브릿지와 연결되는 가상 인터넷 포트를 생성할 수 있다.Specifically, the network management step may include, for the host, a virtual port of the virtual machine; a tap port paired with a virtual port of the virtual machine and connected to an internal bridge connecting the container and a virtual machine inside the container; a virtual port of the container connected to the internal bridge; and a virtual Internet port that forms a pair with the virtual port of the container and is connected to an integrated bridge connecting the host and the container inside the host.
구체적으로, 상기 네트워크 관리단계는, 상기 호스트 내부에 제1 컨테이너, 및 상기 제1 컨테이너가 속한 가상 네트워크와는 다른 타 가상 네트워크에 속한 제2 컨테이너가 존재하는 경우, 상기 제1 컨테이너의 가상 머신에 할당 가능한 IP 대역과, 상기 제2 컨테이너의 가상 머신에 할당 가능한 IP 대역이 서로 달라지도록 가상 네트워크 별로 IP 대역을 다르게 할당할 수 있다.Specifically, in the network management step, when a first container and a second container belonging to another virtual network different from the virtual network to which the first container belongs exist inside the host, the virtual machine of the first container Different IP bands may be allocated for each virtual network so that an allocable IP band and an allocable IP band to the virtual machine of the second container are different from each other.
구체적으로, 상기 네트워크 관리단계는, 상기 가상 네트워크 내 가상 머신 별로 IP 주소가 할당되면, 각 가상 머신의 MAC 주소와 IP 주소를 매칭시킨 매핑테이블을 생성하며, 상기 가상 네트워크 내 특정 가상 머신이 재 생성되는 경우에는, 상기 매핑테이블을 기초로 상기 특정 가상 머신의 MAC 주소와 매칭된 기존의 IP 주소를 상기 특정 가상 머신에 대해 동일하게 할당할 수 있다.Specifically, in the network management step, when an IP address is assigned to each virtual machine in the virtual network, a mapping table matching the MAC address and IP address of each virtual machine is created, and a specific virtual machine in the virtual network is regenerated. In this case, the existing IP address matched with the MAC address of the specific virtual machine may be equally allocated to the specific virtual machine based on the mapping table.
이에, 본 발명의 가상네트워크관리장치 및 가상네트워크관리장치의 동작 방법에 의하면, 가상 머신(VM, Virtual Machine)과 컨테이너(Container) 간에 통용되는 새로운 네트워킹 방식으로 컨테이너화된 가상 머신 기반의 가상 네트워크를 구축하는 것이 가능해지므로, 컨테이너 및 가상 머신을 모두 활용한 단일 컨테이너 플랫폼의 형태로 만족도 높은 서비스를 제공할 수 있다.Accordingly, according to the virtual network management device and the operating method of the virtual network management device of the present invention, a containerized virtual machine-based virtual network is constructed with a new networking method commonly used between virtual machines (VMs) and containers. Therefore, it is possible to provide a highly satisfactory service in the form of a single container platform utilizing both containers and virtual machines.
도 1은 본 발명의 일 실시예에 따른 가상 네트워크 관리 환경을 설명하기 위한 예시도.
도 2는 본 발명의 일 실시예에 따른 가상네트워크관리장치의 개략적인 구성도.
도 3은 본 발명의 일 실시예에 따른 호스트 내 포트를 설명하기 위한 예시도.
도 4는 기존 방식의 가상 네트워크를 설명하기 위한 예시도.
도 5는 기본 방식의 가상 네트워크에서 컨테이너 재 시작 상황을 설명하기 위한 예시도.
도 6은 본 발명의 일 실시예에 따른 가상 네트워크에서 컨테이너 재 시작 상황을 설명하기 위한 예시도.
도 7은 본 발명의 일 실시예에 따른 매핑 엔트리를 비교 설명하기 위한 예시도.
도 8은 본 발명의 일 실시예에 따른 가상네트워크관리장치의 동작 방법을 설명하기 위한 순서도.1 is an exemplary view for explaining a virtual network management environment according to an embodiment of the present invention;
2 is a schematic configuration diagram of a virtual network management device according to an embodiment of the present invention.
3 is an exemplary view for explaining a port in a host according to an embodiment of the present invention;
4 is an exemplary diagram for explaining a conventional virtual network;
5 is an exemplary diagram for explaining a container restart situation in a basic virtual network;
6 is an exemplary diagram for explaining a container restart situation in a virtual network according to an embodiment of the present invention.
7 is an exemplary diagram for comparing and explaining mapping entries according to an embodiment of the present invention;
8 is a flowchart illustrating an operating method of a virtual network management device according to an embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
본 발명의 일 실시예에서는, 모바일엣지컴퓨팅(MEC, Mobile-Edge Computing) 기반의 가상화 기술을 다룬다.In one embodiment of the present invention, mobile edge computing (MEC, Mobile-Edge Computing) based virtualization technology is dealt with.
가상 머신의 연결성 제공을 위해서는, 가상 머신에 가상 포트(vPort, Virtual Port)를 연결하며, 이러한 가상 포트와 페어(Pair)된 다른 한 쪽은 탭 포트(TAP port)를 생성하여 생성된 탭 포트를 브릿지에 연결시켜 관리하는 것이 일반적이다.In order to provide connectivity for a virtual machine, a virtual port (vPort, Virtual Port) is connected to the virtual machine, and the other side paired with this virtual port creates a tap port and uses the created tap port. It is common to manage by connecting to a bridge.
또한, 컨테이너의 연결성 제공을 위한 일반적인 방법으로는, 컨테이너 그룹(예: POD)에 가상 포트를 생성하여 연결하고, 다른 한 쪽은 가상 인터넷 포트(veth Port) 형태로 생성하여, 이를 가상 인터넷 포트를 브릿지에 연결할 수 있다.In addition, as a general method for providing container connectivity, a virtual port is created and connected to a container group (eg POD), and the other side is created in the form of a virtual Internet port (veth port), which is used as a virtual Internet port. Can be connected to a bridge.
그러나, 가상 머신을 컨텐이너화 하는 경우, 네트워킹을 위해 컨테이너화된 가상 머신을 브릿지에 연결해야 하나 탭 포트와 가상 인터넷 포트의 포맷이 일치하지 않기 때문에 바로 브릿지에 연결할 수 없게 되는 문제가 발생하게 된다.However, when a virtual machine is containerized, the containerized virtual machine must be connected to the bridge for networking, but since the formats of the tap port and the virtual Internet port do not match, a problem arises in that the bridge cannot be directly connected.
또한, 컨테이너 네트워킹 모델은, CNI(Container Network Interface) 표준을 따르며, 이는 가상 머신 네트워킹 모델과는 다르기 때문에 기존의 가상 머신 워크로드를 컨테이너화된 가상 머신에 그대로 마이그레이션하여 사용하기가 힘들다.In addition, the container networking model follows the Container Network Interface (CNI) standard, which is different from the virtual machine networking model, so it is difficult to migrate and use existing virtual machine workloads as they are in containerized virtual machines.
특히, 가상 머신과 컨테이너 간 IP 주소 할당 스킴(Scheme)이 다르기 때문에 컨테이너에서 사용하던 방식을 가상 머신에 그대로 적용하는 경우, 가상 머신이 재 시작되거나, 마이그레이션 발생 시 IP 주소가 바뀌어 가상 머신에 대한 접근 자체가 불가능한 이슈 등이 발생할 수 있다.In particular, since the IP address allocation scheme is different between a virtual machine and a container, if the method used in a container is applied to a virtual machine as it is, the IP address is changed when the virtual machine is restarted or migration occurs, and access to the virtual machine Issues that cannot be solved by themselves may arise.
이처럼, 가상 머신과 컨테이너 간에는 각 연결 포트의 포맷 및 IP 주소 할당 스킴(Scheme)과 같은 네트워킹 방식에 있어 차이를 보이게 되며, 따라서 이에 대한 고려 없이 가상 머신을 컨테이너화 하여 활용하는 경우, 플랫폼 단일화 이전에 가상 머신 기반의 정상적인 서비스 자체가 불가해질 수 있음을 예상해볼 수 있다.As such, there is a difference between a virtual machine and a container in networking methods such as the format of each connection port and the IP address allocation scheme. Therefore, if a virtual machine is containerized and used without considering this, It can be expected that the machine-based normal service itself may become impossible.
이에, 본 발명의 일 실시예에서는, 가상 머신과 컨테이너 간에 통용되는 새로운 네트워킹 방식으로 컨테이너화된 가상 머신 기반의 가상 네트워크를 구축하고자 한다.Accordingly, in an embodiment of the present invention, a virtual network based on a containerized virtual machine is intended to be constructed using a new networking method commonly used between virtual machines and containers.
이와 관련하여, 도 1에서는 본 발명의 일 실시예에 따른 가상 네트워크 관리 환경을 보여주고 있다.In this regard, FIG. 1 shows a virtual network management environment according to an embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 가상 네트워크 관리 환경에서는, 가상 네트워크(net 1, net 2)를 구축하는 가상네트워크관리장치(100)를 포함하는 구성을 가질 수 있다.As shown in FIG. 1 , a virtual network management environment according to an embodiment of the present invention may have a configuration including a virtual
가상네트워크관리장치(100)는 호스트(Host#1, Host#2) 별 파드(POD) 형태의 컨테이너를 호스트(Host#1, Host#2) 간에 연결시켜 서로 다른 가상 네트워크(net 1, net 2)를 구축하는 장치를 일컫는 것으로서, 예컨대, 컨테이너화된 어플리케이션을 자동으로 배포, 스케일링 및 관리해주는 오픈소스 시스템인 쿠버네티스(Kubernetes)의 기반의 컴포넌트로 구현될 수 있다.The virtual
한편, 본 발명의 일 실시예에서는, 가상 머신의 컨테이너화 구현에 따라 파드(POD) 형태의 컨테이너 내부에 가상 머신(Virtual Machine)이 설치(생성)되는 배치 구조를 가지게 된다.Meanwhile, in an embodiment of the present invention, a virtual machine is installed (created) inside a container in the form of a pod according to containerization implementation of a virtual machine.
이상, 본 발명의 일 실시예에서는 전술한 구성을 통해서, 가상 머신과 컨테이너 간에 통용되는 새로운 네트워킹 방식으로 컨테이너화된 가상 머신 기반의 가상 네트워크를 구축할 수 있는데, 이하에서는 이를 실현하기 위한 가상네트워크관리장치(100)의 구성을 보다 구체적으로 살펴보기로 한다.As described above, in one embodiment of the present invention, a virtual network based on a containerized virtual machine can be built with a new networking method commonly used between virtual machines and containers through the above configuration. Hereinafter, a virtual network management device for realizing this The configuration of (100) will be examined in more detail.
도 2는 본 발명의 일 실시예에 따른 가상네트워크관리장치(100)의 구성을 개략적으로 보여주고 있다.2 schematically shows the configuration of a virtual
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 가상네트워크관리장치(100)는 호스트(Host#1, Host#2)를 생성하는 호스트 생성부(110), 및 호스트(Host#1, Host#2) 간에 컨테이너가 서로 연결된 가상 네트워크(net 1, net 2)를 구축하는 네트워크 관리부(120)를 포함하는 구성을 가질 수 있다.As shown in FIG. 2, the virtual
이러한, 가상네트워크관리장치(100)의 전체 구성 내지는 적어도 일부의 구성은 하드웨어 모듈 형태 또는 소프트웨어 모듈 형태로 구현되거나, 내지는 하드웨어 모듈과 소프트웨어 모듈이 조합된 형태로도 구현될 수 있다.All or at least some of the configurations of the virtual
여기서, 소프트웨어 모듈이란, 예컨대, 컨테이너화된 어플리케이션을 자동으로 배포, 스케일링 및 관리해주는 오픈소스 시스템인 쿠버네티스(Kubernetes)의 기반의 컴포넌트인 것으로 이해될 수 있다.Here, a software module may be understood as a component based on Kubernetes, an open source system that automatically distributes, scales, and manages containerized applications.
이상 본 발명의 일 실시예에 따른 가상네트워크관리장치(100)는 전술한 구성을 통해서 가상 머신과 컨테이너 간에 통용되는 새로운 네트워킹 방식으로 컨테이너화된 가상 머신 기반의 가상 네트워크를 구축할 수 있는데, 이하에서는 이를 실현하기 위한 가상네트워크관리장치(100) 내 각 구성에 대해 보다 구체적인 설명을 이어 가기로 한다.As described above, the virtual
호스트 생성부(110)는 호스트(Host#1, Host#2)를 생성하는 기능을 수행한다.The
보다 구체적으로, 호스트 생성부(110)는 파드(POD) 형태인 컨테이너 내부에 가상 머신(Virtual Machine)을 배치시킨 호스트(Host#1, Host#2)를 생성하게 된다.More specifically, the
이때, 호스트 생성부(110)는 컨테이너화된 하이퍼바이저(Containerized Hypervisor)를 파드(POD) 형태로 올리고, 해당 파드 내에 가상 머신(Virtual Machine)을 다시 설치하는 방식을 통해서 호스트(Host#1, Host#2)를 생성할 수 있다.At this time, the
네트워크 관리부(120)는 가상 네트워크(net 1, net 2)를 구축하는 기능을 수행한다.The
보다 구체적으로, 네트워크 관리부(120)는 호스트(Host#1, Host#2)가 생성되면, 호스트(Host#1, Host#2) 간에 내부의 컨테이너를 서로 연결시켜 가상 네트워크(net 1, net 2)를 구축하게 된다.More specifically, when the
이때, 네트워크 관리부(120)는 호스트(Host#1, Host#2)의 컨테이너와 해당 컨테이너 내부의 가상 머신을 연결하기 위한 내부브릿지, 및 호스트와 해당 호스트 내부의 컨테이너를 연결하기 위한 통합브릿지를 마련하고, 이러한 브릿지와의 연결을 위한 포트를 각 호스트(Host#1, Host#2)에 대해서 생성한다.At this time, the
즉, 네트워크 관리부(120)는 도 3에서와 같이, 하이퍼바이저를 통해서 가상 머신(VM)에 대한 가상 포트(eth0); 가상 머신의 가상 포트(eth0)와 페어(Pair)를 이루며, 내부브릿지(br-123)와 연결되는 탭 포트(tap123); 내부브릿지(br-123)와 연결되는 컨테이너(Container)의 가상 포트(net0)를 생성하며, 또한, 컨테이너 네트워크 인터페이스(CNI, Container Network Interface)을 통해서 컨테이너(net0)의 가상 포트와 페어(Pair)를 이루며, 통합브릿지(br-int)와 연결되는 가상 인터넷 포트(veth123)를 생성할 수 있다.That is, as shown in FIG. 3, the
참고로, 컨테이너(Container)의 가상 포트(net0)에는 IP 주소가 할당되지 않으며, 외부로부터의 트래픽 유입 시에는 컨테이너(Container)의 가상 포트(net0)를 통과 후 내부브릿지(br-123)를 거쳐 가상 머신의 가상 포트(eth0)로 전달될 수 있다.For reference, an IP address is not assigned to the virtual port (net0) of the container, and traffic from the outside passes through the virtual port (net0) of the container and passes through the internal bridge (br-123). It can be forwarded to the virtual port (eth0) of the virtual machine.
또한, 네트워크 관리부(120)는 각 호스트(Host#1, Host#2) 내 포트 생성이 완료되면, 호스트(Host#1, Host#2)와 각 호스트(Host#1, Host#2) 내부의 컨테이너를 연결하는 통합브릿지(br-int-0001, br-int-0002)로 호스트(Host#1, Host#2) 간에 내부의 컨테이너를 서로 연결한다.In addition, when the creation of the ports in each host (
즉, 네트워크 관리부(120)는 제1 가상 네트워크(net 1)를 구축하고자 하는 경우, 제1 통합브릿지(br-int-0001)로 제1 호스트(Host#1) 내부의 컨테이너와 제2 호스트(Host#1) 내부의 컨테이너를 연결하며, 제2 가상 네트워크(net 2)를 구축하고자 하는 경우, 제2 통합브릿지(br-int-0002)로 제1 호스트(Host#1) 내부의 컨테이너와 제2 호스트(Host#1) 내부의 컨테이너를 연결할 수 있다.That is, when the
또한, 네트워크 관리부(120)는 통합브릿지(br-int-0001, br-int-0002) 간 연결을 지원하는 터널링브릿지(br-tun)를 마련하고, 이러한 터널링브릿지(br-tun)를 통해서 각 호스트(Host#1, Host#2) 내부에서 서로 다른 가상 네트워크(net 1, net 2)에 속하고 있는 컨테이너를 서로 연결시킨다.In addition, the
또한, 네트워크 관리부(120)는 호스트(Host#1, Host#2) 간에 내부의 컨테이너 연결이 완료되면, 가상 네트워크(net 1, net 2) 별로 IP 대역을 할당한다.In addition, the
이때, 네트워크 관리부(120)는 각 가상 네트워크(net 1, net 2)에서 가상 머신에 할당 가능한 IP 대역이 달라지도록 가상 네트워크(net 1, net 2) 별로 서로 다른 IP 대역(net 1: 10.10.1.0/24, net 2: 10.10.2.0/24)을 할당할 수 있다.At this time, the
이렇게 되면, 본 발명의 일 실시예에서는 호스트(Host#1, Host#2) 단위로 IP 대역을 할당하는 기존 방식과는 달리, 가상 네트워크(net 1, net 2) 별로 서로 다른 IP 대역(net 1: 10.10.1.0/24, net 2: 10.10.2.0/24)이 할당됨에 따라 단일 호스트 내 컨테이너 별로 다른 가상 네트워크에 속하는 가상 머신을 설치(생성)할 수 있어 IP 주소의 중복과 낭비를 동시에 회피하는 것이 가능해진다.In this case, in one embodiment of the present invention, unlike the existing method of allocating IP bands in units of hosts (
또한, 단일 호스트 내 가상 머신이라 할지라도 서로 다른 가상 네트워크에 속함에 따라 가상 머신 간 트래픽 격리(isolation)이 가능해 짐을 예상할 수 있다.Also, even if virtual machines within a single host belong to different virtual networks, it can be expected that traffic isolation between virtual machines becomes possible.
설명의 이해를 돕기 위해 도 4에서는 호스트 단위로 IP 대역을 할당하는 기존 방식의 가상 네트워크를 예시적으로 보여주고 있다In order to help the understanding of the description, FIG. 4 shows an example of a conventional virtual network that allocates an IP band in units of hosts.
즉, 기존 방식에서는 호스트(Host#1, Host#2) 단위로 IP 대역이 할당됨에 따라 제1 호스트(Host#1)에 대해서는 10.10.1.0/24의 IP 대역이 할당되고, 제2 호스트(Host#2)에 대해서는 10.10.2.0/24의 다른 IP 대역이 할당되고 있음을 확인할 수 있다.That is, in the conventional method, as the IP band is allocated for each host (
그러나, 이 경우, 호스트 내 가상 머신을 많이 생성하지 않을 경우 IP 주소의 낭비가 발생하게 된다.However, in this case, if many virtual machines are not created in the host, IP addresses are wasted.
더욱이, 호스트 단위로 서로 다른 IP 대역이 할당됨에 따라 IP 주소의 중복 문제는 발생하지 않지만 기본적으로 모든 IP 주소들 사이의 통신은 가능하게 되어 보안에 취약해지는 문제점이 존재한다(10.10.0.0/16 대역 내 모든 가상 머신 들이 서로 통신 가능한 네트워크 구조).Moreover, as different IP bands are assigned to each host, duplication of IP addresses does not occur, but communication between all IP addresses is basically possible, resulting in security vulnerabilities (band 10.10.0.0/16). A network structure where all my virtual machines can communicate with each other).
한편, 본 발명의 일 실시예에서는 가상 네트워크의 운용 중 자원 고갈 혹은 노드 증설 등의 이유로 가상 머신의 마이그레이션(Migration)이 발생하거나, 가상 머신이 재 시작되는 관계로 컨테이너가 재 시작되는 경우를 고려한다.On the other hand, in one embodiment of the present invention, a case in which migration of a virtual machine occurs due to resource depletion or node expansion during operation of a virtual network, or a case in which a container is restarted due to a restart of a virtual machine is considered. .
이 경우, 재 시작 이전의 호스트와는 다른 호스트에서 컨테이너가 재 시작되며, 이에 따라 변경된 호스트에서 자신에게 할당된 IP 대역으로부터 랜덤하게 선택되는 IP 주소를 할당하는 것이 일반적이다.In this case, the container is restarted on a host different from the host before the restart, and accordingly, it is common to assign an IP address randomly selected from the IP range allocated to the changed host.
그러나, 도 5에서와 같이 기존 방식에 따라 호스트(Host#1, Host#2) 단위로 IP 대역이 할당된 경우라면, 제1 호스트(Host#1)와는 다른 IP 대역이 할당된 제2 호스트(Host#2)에서 컨테이너가 재 시작됨에 따라 IP 주소가 변동(10.10.1.10 ->10.0.2.16)되어 가상 머신에 연결되어 있는 모든 세션이 끊어지게 되는 이슈가 발생하게 된다.However, as shown in FIG. 5, if IP bands are allocated in units of hosts (
이에 따라, 네트워크 관리부(120)는 가상 네트워크 내 가상 머신 별로 IP 주소가 할당되면, 각 가상 머신의 MAC 주소와 IP 주소를 매칭시킨 매핑테이블을 생성하며, 가상 네트워크 내 특정 가상 머신이 재 생성되는 경우에는, 매핑테이블을 기초로 상기 특정 가상 머신의 MAC 주소와 매칭된 기존의 IP 주소를 상기 특정 가상 머신에 대해 동일하게 할당한다.Accordingly, when an IP address is allocated to each virtual machine in the virtual network, the
즉, 도 6에서와 같이, 제1 호스트(Host#1)의 컨테이너가 제2 호스트(Host#2)에서 재 시작되는 경우라 할지라도 가상 머신의 MAC 주소와 IP 주소가 가상 네트워크 별 매핑테이블로 관리됨에 따라, 이를 통해 재 시작 이전에 가상 머신에 대해 할당된 IP 주소(10.10.1.10)를 재 시작 이후에도 동일하게 유지시킬 수 있는 것이다.That is, as shown in FIG. 6, even if the container of the first host (Host#1) is restarted on the second host (Host#2), the MAC address and IP address of the virtual machine are converted into a mapping table for each virtual network. As managed, through this, the IP address (10.10.1.10) assigned to the virtual machine before restarting can be maintained even after restarting.
한편, 기존 방식에 의해 호스트(Host#1, Host#2) 단위로 가상 네트워크를 구축하여 IP 대역을 할당하는 경우, 내부 포트 수준의 매핑만을 지원하므로 외부에서 가상 머신의 모든 서비스에 접근하기 위해서는, 예컨대 도 7 (a)에서와 같이, 서비스 개수만큼의 매핑 엔트리를 만들어야 하므로 서비스 확장성을 떨어 뜨린다.On the other hand, in the case of allocating IP bands by building a virtual network in units of hosts (
반면, 본 발명의 일 실시예에서는 통합브릿지(br-int)와 터널링브릿지(br-tun)를 통해 가상 머신에 대해서 L3 수준의 매핑을 지원할 수 있으므로, 예컨대 도 7 (b)에서와 같이 단일 매핑 엔트리만을 사용하여 다양한 포트 접근이 가능해져 다양한 서비스의 외부 노출을 간편하게 할 수 있다.On the other hand, in one embodiment of the present invention, since L3 level mapping can be supported for virtual machines through an integrated bridge (br-int) and a tunneling bridge (br-tun), a single mapping as shown in FIG. It is possible to access various ports using only entries, making it easy to expose various services to the outside.
이상에서 살펴본 바와 같이 본 발명의 일 실시예에 따른 가상네트워크관리장치(100)의 구성에 따르면, 가상 머신(VM, Virtual Machine)과 컨테이너(Container) 간에 통용되는 새로운 네트워킹 방식으로 컨테이너화된 가상 머신 기반의 가상 네트워크를 구축하는 것이 가능해지므로, 컨테이너 및 가상 머신을 모두 활용한 단일 컨테이너 플랫폼의 형태로 만족도 높은 서비스를 제공할 수 있음을 알 수 있다.As described above, according to the configuration of the virtual
이하에서는, 도 8을 참조하여, 본 발명의 일 실시예에 따른 가상자원관리장치(50)의 동작 방법을 설명하기로 한다.Hereinafter, referring to FIG. 8, an operating method of the virtual resource management apparatus 50 according to an embodiment of the present invention will be described.
먼저, 호스트 생성부(110)는 파드(POD) 형태인 컨테이너 내부에 가상 머신(Virtual Machine)을 배치시킨 호스트(Host#1, Host#2)를 생성한다(S110).First, the
이때, 호스트 생성부(110)는 컨테이너화된 하이퍼바이저(Containerized Hypervisor)를 파드(POD) 형태로 올리고, 해당 파드 내에 가상 머신(Virtual Machine)을 다시 설치하는 방식을 통해서 호스트(Host#1, Host#2)를 생성할 수 있다.At this time, the
그리고 나서, 네트워크 관리부(120)는 호스트(Host#1, Host#2)의 컨테이너와 해당 컨테이너 내부의 가상 머신을 연결하기 위한 내부브릿지, 및 호스트와 해당 호스트 내부의 컨테이너를 연결하기 위한 통합브릿지를 마련하고, 이러한 브릿지와의 연결을 위한 포트를 각 호스트(Host#1, Host#2)에 대해서 생성한다(S120).Then, the
즉, 네트워크 관리부(120)는 앞서 예시한 도 3에서와 같이, 하이퍼바이저를 통해서 가상 머신(VM)에 대한 가상 포트(eth0); 가상 머신의 가상 포트(eth0)와 페어(Pair)를 이루며, 내부브릿지(br-123)와 연결되는 탭 포트(tap123); 내부브릿지(br-123)와 연결되는 컨테이너(Container)의 가상 포트(net0)를 생성하며, 또한, 컨테이너 네트워크 인터페이스(CNI, Container Network Interface)을 통해서 컨테이너(net0)의 가상 포트와 페어(Pair)를 이루며, 통합브릿지(br-int)와 연결되는 가상 인터넷 포트(veth123)를 생성할 수 있다.That is, the
참고로, 컨테이너(Container)의 가상 포트(net0)에는 IP 주소가 할당되지 않으며, 외부로부터의 트래픽 유입 시에는 컨테이너(Container)의 가상 포트(net0)를 통과 후 내부브릿지(br-123)를 거쳐 가상 머신의 가상 포트(eth0)로 전달될 수 있다.For reference, an IP address is not assigned to the virtual port (net0) of the container, and traffic from the outside passes through the virtual port (net0) of the container and passes through the internal bridge (br-123). It can be forwarded to the virtual port (eth0) of the virtual machine.
그런 다음, 네트워크 관리부(120)는 각 호스트(Host#1, Host#2) 내 포트 생성이 완료되면, 호스트(Host#1, Host#2)와 각 호스트(Host#1, Host#2) 내부의 컨테이너를 연결하는 통합브릿지(br-int-0001, br-int-0002)로 호스트(Host#1, Host#2) 간에 내부의 컨테이너를 서로 연결한다(S130).Then, when the creation of ports in each host (
즉, 네트워크 관리부(120)는 제1 가상 네트워크(net 1)를 구축하고자 하는 경우, 제1 통합브릿지(br-int-0001)로 제1 호스트(Host#1) 내부의 컨테이너와 제2 호스트(Host#1) 내부의 컨테이너를 연결하며, 제2 가상 네트워크(net 2)를 구축하고자 하는 경우, 제2 통합브릿지(br-int-0002)로 제1 호스트(Host#1) 내부의 컨테이너와 제2 호스트(Host#1) 내부의 컨테이너를 연결할 수 있다.That is, when the
이어서, 네트워크 관리부(120)는 통합브릿지(br-int-0001, br-int-0002) 간 연결을 지원하는 터널링브릿지(br-tun)를 마련하고, 이러한 터널링브릿지(br-tun)를 통해서 각 호스트(Host#1, Host#2) 내부에서 서로 다른 가상 네트워크(net 1, net 2)에 속하고 있는 컨테이너를 서로 연결시킨다(S140).Next, the
나아가, 네트워크 관리부(120)는 호스트(Host#1, Host#2) 간에 내부의 컨테이너 연결이 완료되면, 가상 네트워크(net 1, net 2) 별로 IP 대역을 할당한다(S150).Furthermore, the
이때, 네트워크 관리부(120)는 각 가상 네트워크(net 1, net 2)에서 가상 머신에 할당 가능한 IP 대역이 달라지도록 가상 네트워크(net 1, net 2) 별로 서로 다른 IP 대역(net 1: 10.10.1.0/24, net 2: 10.10.2.0/24)을 할당할 수 있다.At this time, the
이렇게 되면, 본 발명의 일 실시예에서는 호스트(Host#1, Host#2) 단위로 IP 대역을 할당하는 기존 방식과는 달리, 가상 네트워크(net 1, net 2) 별로 서로 다른 IP 대역(net 1: 10.10.1.0/24, net 2: 10.10.2.0/24)이 할당됨에 따라 단일 호스트 내 컨테이너 별로 다른 가상 네트워크에 속하는 가상 머신을 설치(생성)할 수 있어 IP 주소의 중복과 낭비를 동시에 회피하는 것이 가능해진다.In this case, in one embodiment of the present invention, unlike the existing method of allocating IP bands in units of hosts (
또한, 단일 호스트 내 가상 머신이라 할지라도 서로 다른 가상 네트워크에 속함에 따라 가상 머신 간 트래픽 격리(isolation)이 가능해 짐을 예상할 수 있다.Also, even if virtual machines within a single host belong to different virtual networks, it can be expected that traffic isolation between virtual machines becomes possible.
앞서 예시한 도 4에서는 호스트 단위로 IP 대역을 할당하는 기존 방식의 가상 네트워크를 예시적으로 보여주고 있다4, which was previously exemplified, shows an example of a conventional virtual network that allocates IP bands in units of hosts.
즉, 기존 방식에서는 호스트(Host#1, Host#2) 단위로 IP 대역이 할당됨에 따라 제1 호스트(Host#1)에 대해서는 10.10.1.0/24의 IP 대역이 할당되고, 제2 호스트(Host#2)에 대해서는 10.10.2.0/24의 다른 IP 대역이 할당되고 있음을 확인할 수 있다.That is, in the conventional method, as the IP band is allocated for each host (
그러나, 이 경우, 호스트 내 가상 머신을 많이 생성하지 않을 경우 IP 주소의 낭비가 발생하게 된다.However, in this case, if many virtual machines are not created in the host, IP addresses are wasted.
더욱이, 호스트 단위로 서로 다른 IP 대역이 할당됨에 따라 IP 주소의 중복 문제는 발생하지 않지만 기본적으로 모든 IP 주소들 사이의 통신은 가능하게 되어 보안에 취약해지는 문제점이 존재한다(10.10.0.0/16 대역 내 모든 가상 머신 들이 서로 통신 가능한 네트워크 구조).Moreover, as different IP bands are assigned to each host, duplication of IP addresses does not occur, but communication between all IP addresses is basically possible, resulting in security vulnerabilities (band 10.10.0.0/16). A network structure where all my virtual machines can communicate with each other).
한편, 본 발명의 일 실시예에서는 가상 네트워크의 운용 중 자원 고갈 혹은 노드 증설 등의 이유로 가상 머신의 마이그레이션(Migration)이 발생하거나, 가상 머신이 재 시작되는 관계로 컨테이너가 재 시작되는 경우를 고려한다.On the other hand, in one embodiment of the present invention, a case in which migration of a virtual machine occurs due to resource depletion or node expansion during operation of a virtual network, or a case in which a container is restarted due to a restart of a virtual machine is considered. .
이 경우, 재 시작 이전의 호스트와는 다른 호스트에서 컨테이너가 재 시작되며, 이에 따라 변경된 호스트에서 자신에게 할당된 IP 대역으로부터 랜덤하게 선택되는 IP 주소를 할당하는 것이 일반적이다.In this case, the container is restarted on a host different from the host before the restart, and accordingly, it is common to assign an IP address randomly selected from the IP range allocated to the changed host.
그러나, 앞서 예시한 도 5에서와 같이 기존 방식에 따라 호스트(Host#1, Host#2) 단위로 IP 대역이 할당된 경우라면, 제1 호스트(Host#1)와는 다른 IP 대역이 할당된 제2 호스트(Host#2)에서 컨테이너가 재 시작됨에 따라 IP 주소가 변동(10.10.1.10 ->10.0.2.16)되어 가상 머신에 연결되어 있는 모든 세션이 끊어지게 되는 이슈가 발생하게 된다.However, in the case where IP bands are allocated in units of hosts (
이에 따라, 네트워크 관리부(120)는 가상 네트워크 내 가상 머신 별로 IP 주소가 할당되면, 각 가상 머신의 MAC 주소와 IP 주소를 매칭시킨 매핑테이블을 생성하며, 가상 네트워크 내 특정 가상 머신이 재 생성되는 경우에는, 매핑테이블을 기초로 상기 특정 가상 머신의 MAC 주소와 매칭된 기존의 IP 주소를 상기 특정 가상 머신에 대해 동일하게 할당한다(S160-S180).Accordingly, when an IP address is allocated to each virtual machine in the virtual network, the
즉, 앞서 예시한 도 6에서와 같이, 제1 호스트(Host#1)의 컨테이너가 제2 호스트(Host#2)에서 재 시작되는 경우라 할지라도 가상 머신의 MAC 주소와 IP 주소가 가상 네트워크 별 매핑테이블로 관리됨에 따라, 이를 통해 재 시작 이전에 가상 머신에 대해 할당된 IP 주소(10.10.1.10)를 재 시작 이후에도 동일하게 유지시킬 수 있는 것이다.That is, as in FIG. 6 exemplified above, even if the container of the first host (Host#1) is restarted on the second host (Host#2), the MAC address and IP address of the virtual machine are different for each virtual network. As it is managed as a mapping table, through this, the IP address (10.10.1.10) assigned to the virtual machine before restarting can be maintained even after restarting.
이상에서 살펴본 바와 같이 본 발명의 일 실시예에 따른 가상네트워크관리장치(100)의 동작 방법에 따르면, 가상 머신(VM, Virtual Machine)과 컨테이너(Container) 간에 통용되는 새로운 네트워킹 방식으로 컨테이너화된 가상 머신 기반의 가상 네트워크를 구축하는 것이 가능해지므로, 컨테이너 및 가상 머신을 모두 활용한 단일 컨테이너 플랫폼의 형태로 만족도 높은 서비스를 제공할 수 있음을 알 수 있다.As described above, according to the operating method of the virtual
한편, 본 발명의 일 실시예에 따른 동작 방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.On the other hand, the operating method according to an embodiment of the present invention may be implemented in the form of program instructions that 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, etc. alone or in combination. Program instructions recorded on the medium may be those specially designed and configured for the present invention or those known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler. The hardware devices described above may be configured to act as one or more software modules to perform the operations of the present invention, and vice versa.
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.Although the present invention has been described in detail with reference to preferred embodiments, the present invention is not limited to the above embodiments, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the following claims. Anyone skilled in the art will extend the technical spirit of the present invention to the extent that various variations or modifications are possible.
본 발명에 따른 가상네트워크관리장치 및 가상네트워크관리장치의 동작 방법에 따르면, 가상 머신(VM, Virtual Machine)과 컨테이너(Container) 간에 통용되는 새로운 네트워킹 방식으로 컨테이너화된 가상 머신 기반의 가상 네트워크를 구축할 수 있다는 점에서 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.According to the virtual network management device and the operating method of the virtual network management device according to the present invention, a containerized virtual machine-based virtual network can be built with a new networking method commonly used between virtual machines (VMs) and containers. It is an invention with industrial applicability because it goes beyond the limits of existing technology in that it can not only be used for related technology, but also has a sufficient possibility of marketing or business of the applied device and can be clearly implemented in reality. .
100: 가상네트워크관리장치
110: 호스트 생성부
120: 네트워크 관리부100: virtual network management device
110: Host generation unit 120: Network management unit
Claims (10)
상기 호스트와 상기 호스트 내부의 컨테이너를 연결하는 통합브릿지로 상기 호스트 내부의 컨테이너와 상기 호스트와는 다른 타 호스트 내부의 컨테이너를 연결시킨 가상 네트워크를 구축하는 네트워크 관리부를 포함하는 것을 특징으로 하는 가상네트워크관리장치.a host creation unit that creates a host in which a virtual machine is placed inside a container in the form of a pod; and
and a network management unit for constructing a virtual network connecting containers inside the host and containers inside another host different from the host as an integrated bridge connecting the host and containers inside the host. Device.
상기 네트워크 관리부는,
상기 호스트 내부에 제1 컨테이너, 및 상기 제1 컨테이너가 속한 가상 네트워크와는 다른 타 가상 네트워크에 속한 제2 컨테이너가 존재하는 경우, 상기 통합브릿지 간 연결을 지원하는 터널링브릿지로 상기 제1 컨테이너와 상기 제2 컨테이너를 연결하는 것을 특징으로 하는 가상네트워크관리장치.According to claim 1,
The network management unit,
When a first container and a second container belonging to another virtual network different from the virtual network to which the first container belongs exist inside the host, the tunneling bridge supporting the connection between the first container and the integration bridge is provided. A virtual network management device characterized in that for connecting a second container.
상기 네트워크 관리부는,
상기 호스트에 대해서, 상기 가상 머신의 가상 포트; 상기 가상 머신의 가상 포트와 페어(Pair)를 이루며, 상기 컨테이너와 상기 컨테이너 내부의 가상 머신을 연결하는 내부브릿지와 연결되는 탭 포트; 상기 내부브릿지와 연결되는 상기 컨테이너의 가상 포트; 및 상기 컨테이너의 가상 포트와 페어(Pair)를 이루며, 상기 호스트와 상기 호스트 내부의 컨테이너를 연결하는 통합브릿지와 연결되는 가상 인터넷 포트를 생성하는 것을 특징으로 하는 가상네트워크관리장치.According to claim 1,
The network management unit,
for the host, a virtual port of the virtual machine; a tap port paired with a virtual port of the virtual machine and connected to an internal bridge connecting the container and a virtual machine inside the container; a virtual port of the container connected to the internal bridge; and a virtual Internet port that forms a pair with the virtual port of the container and is connected to an integrated bridge connecting the host and the container inside the host.
상기 네트워크 관리부는,
상기 호스트 내부에 제1 컨테이너, 및 상기 제1 컨테이너가 속한 가상 네트워크와는 다른 타 가상 네트워크에 속한 제2 컨테이너가 존재하는 경우, 상기 제1 컨테이너의 가상 머신에 할당 가능한 IP 대역과, 상기 제2 컨테이너의 가상 머신에 할당 가능한 IP 대역이 서로 달라지도록 가상 네트워크 별로 IP 대역을 다르게 할당하는 것을 특징으로 하는 가상네트워크관리장치.According to claim 1,
The network management unit,
When a first container and a second container belonging to another virtual network different from the virtual network to which the first container belongs exist inside the host, an IP band allocable to the virtual machine of the first container, and the second container A virtual network management device characterized in that IP bands are allocated differently for each virtual network so that the IP bands that can be allocated to the virtual machines of the container are different from each other.
상기 네트워크 관리부는,
상기 가상 네트워크 내 가상 머신 별로 IP 주소가 할당되면, 각 가상 머신의 MAC 주소와 IP 주소를 매칭시킨 매핑테이블을 생성하며, 상기 가상 네트워크 내 특정 가상 머신이 재 생성되는 경우에는, 상기 매핑테이블을 기초로 상기 특정 가상 머신의 MAC 주소와 매칭된 기존의 IP 주소를 상기 특정 가상 머신에 대해 동일하게 할당하는 것을 특징으로 하는 가상네트워크관리장치.According to claim 1,
The network management unit,
When an IP address is allocated to each virtual machine in the virtual network, a mapping table in which the MAC address and IP address of each virtual machine are matched is created, and when a specific virtual machine in the virtual network is regenerated, the mapping table is used. and allocating an existing IP address matched with the MAC address of the specific virtual machine to the specific virtual machine.
상기 호스트와 상기 호스트 내부의 컨테이너를 연결하는 통합브릿지로 상기 호스트 내부의 컨테이너와 상기 호스트와는 다른 타 호스트 내부의 컨테이너를 연결시킨 가상 네트워크를 구축하는 네트워크 관리단계를 포함하는 것을 특징으로 하는 가상네트워크관리장치의 동작 방법.A host creation step of creating a host in which a virtual machine is placed inside a container in the form of a pod (POD); and
and a network management step of constructing a virtual network connecting containers inside the host and containers inside another host different from the host as an integrated bridge connecting the host and containers inside the host. How the management device works.
상기 네트워크 관리단계는,
상기 호스트 내부에 제1 컨테이너, 및 상기 제1 컨테이너가 속한 가상 네트워크와는 다른 타 가상 네트워크에 속한 제2 컨테이너가 존재하는 경우, 상기 통합브릿지 간 연결을 지원하는 터널링브릿지로 상기 제1 컨테이너와 상기 제2 컨테이너를 연결하는 것을 특징으로 하는 가상네트워크관리장치의 동작 방법.According to claim 6,
The network management step,
When a first container and a second container belonging to another virtual network different from the virtual network to which the first container belongs exist inside the host, the tunneling bridge supporting the connection between the first container and the integration bridge is provided. A method of operating a virtual network management device, characterized in that connecting a second container.
상기 네트워크 관리단계는,
상기 호스트에 대해서, 상기 가상 머신의 가상 포트; 상기 가상 머신의 가상 포트와 페어(Pair)를 이루며, 상기 컨테이너와 상기 컨테이너 내부의 가상 머신을 연결하는 내부브릿지와 연결되는 탭 포트; 상기 내부브릿지와 연결되는 상기 컨테이너의 가상 포트; 및 상기 컨테이너의 가상 포트와 페어(Pair)를 이루며, 상기 호스트와 상기 호스트 내부의 컨테이너를 연결하는 통합브릿지와 연결되는 가상 인터넷 포트를 생성하는 것을 특징으로 하는 가상네트워크관리장치의 동작 방법.According to claim 6,
The network management step,
for the host, a virtual port of the virtual machine; a tap port paired with a virtual port of the virtual machine and connected to an internal bridge connecting the container and a virtual machine inside the container; a virtual port of the container connected to the internal bridge; and creating a virtual Internet port that forms a pair with the virtual port of the container and is connected to an integrated bridge connecting the host and the container inside the host.
상기 네트워크 관리단계는,
상기 호스트 내부에 제1 컨테이너, 및 상기 제1 컨테이너가 속한 가상 네트워크와는 다른 타 가상 네트워크에 속한 제2 컨테이너가 존재하는 경우, 상기 제1 컨테이너의 가상 머신에 할당 가능한 IP 대역과, 상기 제2 컨테이너의 가상 머신에 할당 가능한 IP 대역이 서로 달라지도록 가상 네트워크 별로 IP 대역을 다르게 할당하는 것을 특징으로 하는 가상네트워크관리장치의 동작 방법.According to claim 6,
The network management step,
When a first container and a second container belonging to another virtual network different from the virtual network to which the first container belongs exist inside the host, an IP band allocable to the virtual machine of the first container, and the second container A method of operating a virtual network management device, characterized in that IP bands are allocated differently for each virtual network so that the IP bands that can be allocated to the virtual machines of the container are different from each other.
상기 네트워크 관리단계는,
상기 가상 네트워크 내 가상 머신 별로 IP 주소가 할당되면, 각 가상 머신의 MAC 주소와 IP 주소를 매칭시킨 매핑테이블을 생성하며, 상기 가상 네트워크 내 특정 가상 머신이 재 생성되는 경우에는, 상기 매핑테이블을 기초로 상기 특정 가상 머신의 MAC 주소와 매칭된 기존의 IP 주소를 상기 특정 가상 머신에 대해 동일하게 할당하는 것을 특징으로 하는 가상네트워크관리장치의 동작 방법.According to claim 6,
The network management step,
When an IP address is allocated to each virtual machine in the virtual network, a mapping table in which the MAC address and IP address of each virtual machine are matched is created, and when a specific virtual machine in the virtual network is regenerated, the mapping table is used. A method of operating a virtual network management device, characterized in that allocating an existing IP address matched with the MAC address of the specific virtual machine to the specific virtual machine.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210145681A KR102660421B1 (en) | 2021-10-28 | 2021-10-28 | Management apparatus for virtual network, and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210145681A KR102660421B1 (en) | 2021-10-28 | 2021-10-28 | Management apparatus for virtual network, and control method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230060941A true KR20230060941A (en) | 2023-05-08 |
KR102660421B1 KR102660421B1 (en) | 2024-04-23 |
Family
ID=86381783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210145681A KR102660421B1 (en) | 2021-10-28 | 2021-10-28 | Management apparatus for virtual network, and control method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102660421B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015002424A (en) * | 2013-06-14 | 2015-01-05 | 日本電信電話株式会社 | Address allocation device, management device, address allocation program, and management program |
US20170214613A1 (en) * | 2016-01-25 | 2017-07-27 | Futurewei Technologies, Inc. | Service Function Chaining Across Multiple Subnetworks |
CN110838954A (en) * | 2019-11-07 | 2020-02-25 | 中国人民解放军国防科技大学 | Lightweight large-scale autonomous network protocol function test method |
JP2020191068A (en) * | 2019-05-17 | 2020-11-26 | 広東叡江云計算股▲分▼有限公司Guangdong Eflycloud Computing Co., Ltd | Virtual network card management method based on KVM |
JP6826586B2 (en) * | 2015-08-18 | 2021-02-03 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Dependency-based container deployment methods, systems, and programs |
-
2021
- 2021-10-28 KR KR1020210145681A patent/KR102660421B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015002424A (en) * | 2013-06-14 | 2015-01-05 | 日本電信電話株式会社 | Address allocation device, management device, address allocation program, and management program |
JP6826586B2 (en) * | 2015-08-18 | 2021-02-03 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Dependency-based container deployment methods, systems, and programs |
US20170214613A1 (en) * | 2016-01-25 | 2017-07-27 | Futurewei Technologies, Inc. | Service Function Chaining Across Multiple Subnetworks |
JP2020191068A (en) * | 2019-05-17 | 2020-11-26 | 広東叡江云計算股▲分▼有限公司Guangdong Eflycloud Computing Co., Ltd | Virtual network card management method based on KVM |
CN110838954A (en) * | 2019-11-07 | 2020-02-25 | 中国人民解放军国防科技大学 | Lightweight large-scale autonomous network protocol function test method |
Also Published As
Publication number | Publication date |
---|---|
KR102660421B1 (en) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11658936B2 (en) | Resizing virtual private networks in provider network environments | |
US11190375B2 (en) | Data packet processing method, host, and system | |
US10129201B2 (en) | Management of domain name systems in a large-scale processing environment | |
US9935920B2 (en) | Virtualization gateway between virtualized and non-virtualized networks | |
US20190089589A1 (en) | Network Offering in Cloud Computing Environment | |
US20180176130A1 (en) | System and method for managing public ip addresses for virtual data centers | |
US20130107881A1 (en) | Distributed Address Resolution Service for Virtualized Networks | |
CN112543919B (en) | Address migration service | |
US11196640B2 (en) | Releasing and retaining resources for use in a NFV environment | |
JP2019528005A (en) | Method, apparatus, and system for a virtual machine to access a physical server in a cloud computing system | |
WO2018157299A1 (en) | Virtualization method for optical line terminal (olt) device, and related device | |
US20130041987A1 (en) | System and Method for Deploying a Dynamic Virtual Network Address Translation Appliance | |
CN102571698A (en) | Access authority control method, system and device for virtual machine | |
US9686237B2 (en) | Secure communication channel using a blade server | |
WO2013024375A1 (en) | Dynamic network adapter memory resizing and bounding for virtual function translation entry storage | |
CN103581324A (en) | Cloud computing resource pool system and implement method thereof | |
US10237235B1 (en) | System for network address translation | |
JP2017224274A (en) | Virtualized rack management module | |
CN112099913A (en) | Method for realizing safety isolation of virtual machine based on OpenStack | |
CN105446797A (en) | Virtual machine access service method | |
CN114422350A (en) | Public cloud container instance creating method | |
US20140226523A1 (en) | Mechanism to dynamically apply configuration settings to interfaces using a port-profile | |
US10171292B1 (en) | Deploying a cloud infrastructure in a remote site | |
KR20230060941A (en) | Management apparatus for virtual network, and control method thereof | |
JP6013980B2 (en) | Address assignment device and address assignment program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |