KR20200046424A - Host apparatus with improved configuration of virtual machines - Google Patents
Host apparatus with improved configuration of virtual machines Download PDFInfo
- Publication number
- KR20200046424A KR20200046424A KR1020180127567A KR20180127567A KR20200046424A KR 20200046424 A KR20200046424 A KR 20200046424A KR 1020180127567 A KR1020180127567 A KR 1020180127567A KR 20180127567 A KR20180127567 A KR 20180127567A KR 20200046424 A KR20200046424 A KR 20200046424A
- Authority
- KR
- South Korea
- Prior art keywords
- virtual
- packet
- network interface
- host device
- switch
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- 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/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- 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
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9068—Intermediate storage in different physical parts of a node or terminal in the network interface card
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (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
본 출원은 가상머신들 사이의 패킷 전송을 효율적으로 수행할 수 있는 개선된 연결구조를 포함하는 호스트 장치에 관한 것이다. The present application relates to a host device including an improved connection structure capable of efficiently performing packet transmission between virtual machines.
가상화 기술을 기반으로 클라우드에 가상머신(Virtual Machine)을 생성하고, 각 가상머신이 정해진 작업을 수행하는 것이 보편화 되고 있다. 주로 CPU를 사용한 대용량 계산을 수행하던 기존의 IT향 가상머신 뿐만 아니라 NFV(Network Function Virtualization) 기술에 기반한 VNF(Virtual Network Function)들이 주요 가상머신으로 등장하고 있으며, 상기 가상머신들은 L2 Switch, L3 Router, Firewall 등 다양한 네트워크 기능들을 수행한다. 이러한 VNF들은 그 특성상 고속 패킷 처리가 요구되며, 입출력에 집중된(IO-Intensive) 작업 특성으로 인해 성능 최적화를 위한 차별화 된 방법이 요구된다.It is common for virtual machines to be created in the cloud based on virtualization technology, and that each virtual machine performs a predetermined task. VNFs (Virtual Network Functions) based on NFV (Network Function Virtualization) technology as well as existing IT-oriented virtual machines mainly performing large-capacity calculations using CPUs are appearing as L2 Switch and L3 Router. , Firewall performs various network functions. Due to the nature of these VNFs, high-speed packet processing is required, and a differentiated method for optimizing performance is required due to the characteristics of IO-intensive work.
본 출원은, 가상머신들 사이의 패킷 전송을 효율적으로 수행할 수 있는 가상머신들의 개선된 연결구조를 포함하는 호스트 장치를 제공하고자 한다. The present application is to provide a host device including an improved connection structure of virtual machines capable of efficiently performing packet transmission between virtual machines.
본 출원은, SR-IOV(Single-Root Input/Output Virtualization)를 이용하는 네트워크 인터페이스 제어부와 OVS-DPDK(Open vSwitch Data Plane Development Kit)를 이용하는 가상스위치를 포함하여, 가상머신들 사이의 패킷 전송 성능을 개선할 수 있는 호스트 장치를 제공하고자 한다. This application includes packet-switching performance between virtual machines, including a network interface control unit using a single-root input / output virtualization (SR-IOV) and a virtual switch using an Open vSwitch Data Plane Development Kit (OVS-DPDK). We want to provide a host device that can be improved.
본 출원은, 가상머신들간 패킷 전송을 효율적으로 수행하기 위한 연결구조 개선을 통하여, 동일 물리 노드에서 실행 중인 가상머신들간의 패킷 전송 지연을 줄이고, 불필요한 외부 패킷 전송을 예방할 수 있는 호스트 장치를 제공하고자 한다. The present application is to provide a host device capable of reducing a packet transmission delay between virtual machines running on the same physical node and preventing unnecessary external packet transmission through improvement of a connection structure for efficiently performing packet transmission between virtual machines. do.
본 발명의 일 실시예에 의한 가상머신들의 개선된 연결구조를 포함하는 호스트 장치는, 복수의 가상머신; 물리포트(Physical Function)와, 상기 물리포트에 추가적으로 형성되는 복수의 가상포트(Virtual Function)들을 포함하며, 각각의 가상포트들은 상기 가상 머신과 연결하고, 상기 물리포트는 가상스위치와 연결하는 네트워크 인터페이스 제어부(NIC: Network Interface Controller); 및 상기 가상 머신들 사이의 내부 데이터 경로를 형성하여, 상기 가상 머신들 사이의 패킷 송수신을 지원하는 가상 스위치를 포함할 수 있다. A host device including an improved connection structure of virtual machines according to an embodiment of the present invention includes: a plurality of virtual machines; It includes a physical port (Physical Function), and a plurality of virtual ports (Virtual Functions) additionally formed on the physical port, each virtual port is connected to the virtual machine, the physical port is a network interface to connect to the virtual switch Network Interface Controller (NIC); And a virtual switch that forms an internal data path between the virtual machines and supports packet transmission and reception between the virtual machines.
여기서 상기 네트워크 인터페이스 제어부는, SR-IOV(Single-Root Input/Output Virtualization)를 이용하여, 상기 물리포트에 복수의 가상포트들을 형성하는 것일 수 있다. Here, the network interface controller may be to form a plurality of virtual ports on the physical port by using Single-Root Input / Output Virtualization (SR-IOV).
여기서 상기 네트워크 인터페이스 제어부는, 수신하는 패킷의 목적지 주소에 따라, 상기 패킷을 각각의 가상포트 또는 물리포트로 분배하여 전송하는 임베디드(embedded) L2 스위치를 더 포함할 수 있다. Here, the network interface controller may further include an embedded L2 switch that distributes and transmits the packet to each virtual port or physical port according to the destination address of the received packet.
여기서 상기 네트워크 인터페이스 제어부는, 상기 가상머신으로부터 상기 가상포트를 통하여 패킷을 수신하면, 상기 패킷의 목적지 주소를 검색하고, 상기 목적지 주소가 상기 호스트 장치의 내부주소이면, 상기 패킷을 상기 가상 스위치로 입력할 수 있다. Here, when the network interface control unit receives a packet through the virtual port from the virtual machine, it searches for a destination address of the packet, and if the destination address is an internal address of the host device, inputs the packet to the virtual switch can do.
여기서 상기 네트워크 인터페이스 제어부는, 상기 패킷의 목적지 주소가 상기 호스트 장치의 내부주소가 아니면, 상기 패킷을 외부 L2 스위치로 전송할 수 있다. Here, if the destination address of the packet is not the internal address of the host device, the network interface control unit may transmit the packet to an external L2 switch.
여기서 상기 네트워크 인터페이스 제어부는, 외부 L2 스위치 또는 상기 가상 스위치로부터 패킷을 수신하면, 상기 패킷의 목적지 주소에 대응하는 가상머신을 검색하고, 검색된 가상머신이 연결된 가상포트를 통하여 상기 패킷을 전송할 수 있다. Here, when receiving a packet from the external L2 switch or the virtual switch, the network interface control unit may search for a virtual machine corresponding to the destination address of the packet and transmit the packet through a virtual port to which the searched virtual machine is connected.
여기서 상기 가상 스위치는, OVS-DPDK(Open vSwitch Data Plane Development Kit)를 이용하여 상기 호스트 장치 내에 구현할 수 있다. Here, the virtual switch can be implemented in the host device by using an Open vSwitch Data Plane Development Kit (OVS-DPDK).
여기서 상기 가상 스위치는, 상기 네트워크 인터페이스 제어부로부터 패킷을 수신하면, 상기 패킷의 목적지 주소에 대응하는 가상머신을 검색하고, 검색된 가상머신이 연결된 가상포트를 포함하는 네트워크 인터페이스 제어부의 물리포트로 상기 패킷을 전송할 수 있다. Here, when the virtual switch receives a packet from the network interface control unit, it searches for a virtual machine corresponding to the destination address of the packet, and retrieves the packet to the physical port of the network interface control unit including the virtual port to which the searched virtual machine is connected. Can transmit.
덧붙여 상기한 과제의 해결수단은, 본 발명의 특징을 모두 열거한 것이 아니다. 본 발명의 다양한 특징과 그에 따른 장점과 효과는 아래의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.In addition, not all the features of the present invention are listed in the solution means of the above-mentioned subject. Various features of the present invention and the advantages and effects thereof may be understood in more detail with reference to specific embodiments below.
본 발명의 일 실시예에 의한 가상머신들의 개선된 연결구조를 포함하는 호스트 장치에 의하면, 동일 물리 노드에서 실행 중인 가상머신들간의 패킷 전송 지연을 줄이고, 불필요한 외부 패킷 전송을 예방하는 것이 가능하다. According to a host device including an improved connection structure of virtual machines according to an embodiment of the present invention, it is possible to reduce a packet transmission delay between virtual machines running on the same physical node and prevent unnecessary external packet transmission.
본 발명의 일 실시예에 의한 가상머신들의 개선된 연결구조를 포함하는 호스트 장치에 의하면, 물리 노드 내부 가상머신들간의 패킷 전송은 가상스위치가 담당하고, 외부 물리 노드에서 실행 중인 가상머신과의 패킷 전송은 네트워크 인터페이스 제어부가 담당하므로, 패킷 부하를 분산시킬 수 있다. 또한, 외부 L2 스위치에서 발생하는 혼잡을 제거할 수 있으며, VNF(Virtual Network Function) 등 가상머신에 대하여 고속 패킷 처리를 제공할 수 있다. According to a host device including an improved connection structure of virtual machines according to an embodiment of the present invention, a packet is transmitted between virtual machines inside a physical node by a virtual switch, and packets with a virtual machine running in an external physical node Since the transmission is performed by the network interface control unit, packet load can be distributed. In addition, congestion occurring in the external L2 switch can be eliminated, and high-speed packet processing can be provided for a virtual machine such as a virtual network function (VNF).
본 발명의 일 실시예에 의한 가상머신들의 개선된 연결구조를 포함하는 호스트 장치에 의하면, 가상화된 네트워크 기능들 간에 발생하는 네트워크 대역폭 간섭을 최소화할 수 있다. 또한, 일관된 방법으로 내부 데이터 경로와 외부데이터경로를 분리할 수 있으므로, 고성능의 패킷 전송을 제공할 수 있다. According to a host device including an improved connection structure of virtual machines according to an embodiment of the present invention, it is possible to minimize network bandwidth interference occurring between virtualized network functions. In addition, since the internal data path and the external data path can be separated in a consistent manner, high-performance packet transmission can be provided.
도1은 본 발명의 일 실시예에 의한 호스트 장치들 사이의 데이터 전송 시스템을 나타내는 블록도이다.
도2는 본 발명의 일 실시예에 의한 호스트 장치를 나타내는 블록도이다.
도3은 본 발명의 일 실시예에 의한 호스트 장치의 네트워크 인터페이스 제어부를 나타내는 개략도이다. 1 is a block diagram showing a data transmission system between host devices according to an embodiment of the present invention.
2 is a block diagram showing a host device according to an embodiment of the present invention.
3 is a schematic diagram showing a network interface control unit of a host device according to an embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일한 부호를 사용한다.Hereinafter, preferred embodiments will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present invention pertains can easily implement the present invention. However, in the detailed description of a preferred embodiment of the present invention, when it is determined that a detailed description of related known functions or configurations may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. In addition, the same reference numerals are used throughout the drawings for parts having similar functions and functions.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 '연결'되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 '간접적으로 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 명세서에 기재된 "~부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. In addition, throughout the specification, when a part is said to be 'connected' to another part, it is not only 'directly connected', but also 'indirectly connected' with another element in between. Includes. In addition, "including" a component means that other components may be further included instead of excluding other components, unless otherwise stated. In addition, terms such as “~ unit” and “module” described in the specification mean a unit that processes at least one function or operation, which may be implemented in hardware or software, or a combination of hardware and software.
도1은 본 발명의 일 실시예에 의한 호스트 장치들 사이의 데이터 전송 시스템을 나타내는 블록도이다.1 is a block diagram showing a data transmission system between host devices according to an embodiment of the present invention.
도1을 참조하면 본 발명의 일 실시예에 의한 데이터 전송 시스템은, 호스트 장치(100) 및 외부 L2 스위치(200)를 포함할 수 있다. Referring to FIG. 1, a data transmission system according to an embodiment of the present invention may include a
이하 도1을 참조하여 본 발명의 일 실시예에 의한 호스트 장치들 사이의 데이터 전송 시스템을 설명한다. Hereinafter, a data transmission system between host devices according to an embodiment of the present invention will be described with reference to FIG. 1.
호스트 장치(100)는 내부에 복수의 가상머신(Virtual Machine, 110)들을 포함할 수 있으며, 각각의 가상머신(110)에 대한 패킷(packet) 전송 등 통신을 제공할 수 있다. 여기서, 가상머신 VM1은 하나의 물리적 노드 Nodei을 형성하는 호스트 장치에 포함된 다른 가상머신 VMn과 통신을 수행하거나, 다른 물리적 노드 Nodej에 해당하는 호스트 장치에 포함되는 다른 가상머신 VMm과 통신을 수행할 수 있다. 이를 위하여, 동일한 호스트장치(100) 내에서 수행하는 패킷 전송을 위한 내부 데이터 경로(L1)와, 서로 다른 호스트장치(100)들 사이에서 수행하는 패킷 전송을 위한 외부 데이터 경로(L2)를 형성할 수 있다. The
구체적으로, 도1에 도시한 바와 같이, 내부데이터경로(L1)는 호스트 장치(100) 내에 포함된 가상스위치(130)를 경유할 수 있으며, 외부데이터경로(L2)는 호스트 장치(100)의 외부에 구비된 외부 L2 스위치(200)를 경유하도록 구현될 수 있다. 이와 같이, 각각의 내부 데이터 경로(L1)와 외부 데이터 경로(L2)를 구별하는 경우, 패킷 부하를 분산시킬 수 있으므로 가상머신들(110) 사이의 패킷 전송 지연을 줄일 수 있다. 또한, 불필요한 외부 패킷 전송을 방지할 수 있으므로, 가상머신들(110) 사이의 패킷 전송 성능을 향상시키는 것이 가능하다. 즉, 호스트 장치(100) 내부의 패킷전송은 내부 가상스위치(130)가 전담하므로 외부 L2 스위치(200)에서 발생할 수 있는 혼잡 등을 방지할 수 있다. Specifically, as shown in Figure 1, the internal data path (L1) may pass through the
도2는 본 발명의 일 실시예에 의한 호스트 장치를 나타내는 블록도이다. 2 is a block diagram showing a host device according to an embodiment of the present invention.
도2를 참조하면 본 발명의 일 실시예에 의한 호스트 장치(100)는 복수의 가상머신(110), 네트워크 인터페이스 제어부(120) 및 가상 스위치(130)를 포함할 수 있다. Referring to FIG. 2, the
이하 도2를 참조하여 본 발명의 일 실시예에 의한 호스트 장치를 설명한다. Hereinafter, a host device according to an embodiment of the present invention will be described with reference to FIG. 2.
가상머신(110)은 호스트 장치(100) 내에 복수개 구비될 수 있으며, 각각 독립적으로 동작할 수 있다. 가상머신(110)들은 가상화 기술을 기반으로 구현될 수 있으며, 예를들어, 가상데스크톱 서비스(Virtual Desktop Service)나 NFV(Network Function Virtualzation) 기술을 기반으로 하는 VNF(Virtual Network Function)를 제공할 수 있다. 여기서, 가상머신(110)은 호스트 장치(100)가 제공하는 CPU, 메모리 등의 리소스를 기반으로 구현할 수 있다. 추가적으로, 가상머신(110)에는 가상화된 MAC 주소(Media Access Control Address) 등이 각각 설정되어 있을 수 있으며, MAC 주소를 이용하여 대응하는 가상머신(110)들을 특정할 수 있다. A plurality of
네트워크 인터페이스 제어부(NIC: Network Interface Controller, 120)는 호스트 장치(100)를 네트워크에 연결하여, 호스트 장치(100)에 통신을 제공할 수 있다. 네트워크 인터페이스 제어부(120)는 네트워크 인터페이스 카드, 랜 카드, 이더넷 카드 등 물리적인 하드웨어일 수 있으며, 실시예에 따라서는, 네트워크 인터페이스 제어부(120)를 가상화하는 것도 가능하다. 즉, 가상화를 통하여 하나의 물리포트(Physical Function, 121)에 복수의 가상포트(Virtual Function, 122)들이 추가되도록 구현할 수 있다. 여기서, 네트워크 인터페이스 제어부(120)는 하나의 호스트 장치(100) 내에 복수개 포함될 수 있으며(NIC1, … , NICj), 실시예에 따라서는 각각의 네트워크 인터페이스 제어부(120) 내에 물리포트(121)들이 복수개 포함될 수 있다. The network interface controller (NIC) 120 may connect the
구체적으로, 네트워크 인터페이스 제어부(120)는 SR-IOV(Single-Root Input/Output Virtualization)를 이용하여 가상화할 수 있다. 이 경우, 도3에 도시한 바와 같이, 물리포트(121)에 가상포트(122)와 임베디드(embedded) L2 스위치(123) 등이 가상화되어 더 포함될 수 있다. 여기서, 임베디드 L2 스위치(123)는 물리포트(121)로 입력되는 패킷들을 분류할 수 있으며, 상기 물리포트(121)에 가상화된 각각의 가상포트(122)로 패킷을 전송할 수 있다. 즉, 임베디드 L2 스위치(123)는 수신한 패킷의 목적지 주소에 따라, 패킷을 분배할 수 있으며, 각각의 목적지 주소에 대응하는 가상포트(122)로 해당 패킷을 전송할 수 있다. 따라서, 네트워크 인터페이스 제어부(120)의 가상화에 의하여 물리포트(121)에 복수의 가상화 포트(122)들이 더 추가되는 경우에도, 정확하게 각각의 패킷을 분배하여 전송할 수 있다. Specifically, the
한편, 네트워크 인터페이스 제어부(120)는, 각각의 가상포트(122)들을 가상 머신(110)에 연결하고, 물리포트(121)들은 가상스위치(130)와 연결하는 방식으로 데이터 경로를 형성할 수 있다. 이를 통하여, 호스트 장치(100) 내부에 위치하는 각각의 가상머신(110)들 사이의 내부 데이터 경로(L1)와, 호스트 장치(100)의 외부와 연결되는 외부 데이터 경로(L2)를 분리할 수 있다.Meanwhile, the
구체적으로, 네트워크 인터페이스 제어부(120)는, 가상머신(110)으로부터 가상포트(122)를 통하여 패킷을 수신하면, 먼저 패킷의 목적지 주소를 검색할 수 있다. 이후, 목적지 주소가 동일한 호스트 장치(100) 내에 포함되는 내부주소이면, 수신한 패킷을 가상 스위치(130)로 전송할 수 있다. 즉, 해당 호스트 장치(100) 내에 포함되는 다른 가상머신(110)으로 전송하는 패킷이므로, 가상 스위치(130)를 경유하는 내부 데이터 경로(L1)로 전송할 수 있다. 다만, 목적지 주소가 동일한 물리포트(121)에 할당된 가상포트(122)인 경우에는, 수신한 패킷을 임베디드 L2 스위치(123)을 통하여 가상머신(130)으로 직접 전송할 수 있다.반면에, 패킷의 목적지 주소가 호스트 장치(100)의 내부주소가 아닌 경우에는, 네트워크 인터페이스 제어부(120)가 해당 패킷을 외부 L2 스위치(200)로 전송할 수 있다. 즉, 다른 호스트 장치(100)에 포함되는 가상머신이거나, 외부의 다른 단말로 전송하는 패킷이므로, 외부 L2 스위치(200)를 경유하는 외부 데이터 경로(L2)로 전송할 수 있다. Specifically, when receiving a packet from the
또한, 실시예에 따라서는, 네트워크 인터페이스 제어부(120)가 물리포트(121)를 통하여 외부 L2 스위치(200) 또는 가상 스위치(130)로부터 패킷을 수신할 수 있다. 즉, 외부 L2 스위치(200) 또는 가상 스위치(130)는, 해당 네트워크 인터페이스 제어부(120)에 연결된 가상머신(110)으로 패킷을 전송하기 위하여, 해당 네트워크 인터페이스 제어부(120)의 물리포트(121)로 패킷을 전송할 수 있다. Also, according to an embodiment, the
이 경우, 네트워크 인터페이스 제어부(120)는 상기 물리포트(121)에 가상화된 복수의 가상포트(122)에 연결된 가상머신(110)들 중에서, 패킷의 목적지 주소에 대응하는 가상머신(110)을 검색할 수 있으며, 검색된 가상머신(110)으로 패킷을 전송할 수 있다. 여기서, 임베디드 L2 스위치(123)가 패킷의 목적지 주소에 대응하는 가상머신(110)을 검색할 수 있으며, 검색된 가상머신(110)에 대응하는 가상포트(122)로 패킷을 전송할 수 있다. In this case, the network
가상 스위치(130)는 가상 머신(110)들 사이의 내부 데이터 경로를 형성할 수 있으며, 동일한 호스트 장치(100) 내에 포함된 가상 머신(110)들 사이의 패킷 송수신을 지원할 수 있다. 즉, 동일한 호스트 장치(100) 내에 포함된 가상 머신(110)들 사이의 패킷 송수신은 가상 스위치(130)를 경유하여 전송될 수 있다. 예를들어, 가상 스위치(130)는 동일한 호스트 장치(100) 내의 다른 네트워크 인터페이스 제어부(120)에 포함된 물리포트나, 동일한 호스트 장치(100) 내의 동일한 네트워크 인터페이스 제어부(120)에 포함된 다른 물리포트에 가상화된 복수의 가상포트(122)들에 연결된 가상머신(110)들에게 패킷 송수신을 제공할 수 있다.The
여기서, 가상 스위치(130)는 OVS-DPDK(Open vSwitch Data Plane Development Kit)를 이용하여 구현한 것일 수 있으며, 호스트 장치(100)는 OVS-DPDK(Open vSwitch Data Plane Development Kit)를 구현하기 위하여, 전용의 CPU 등 리소스를 추가적으로 제공할 수 있다. Here, the
도1을 참조하면, 가상스위치(130)는 네트워크 인터페이스 제어부(120)로부터 패킷을 수신할 수 있으며, 수신한 패킷의 목적지 주소에 대응하는 가상머신(110)을 검색할 수 있다. 이후, 검색된 가상머신(110)이 연결된 네트워크 인터페이스 제어부(120)의 물리포트(121)로 패킷을 전송할 수 있다. 이 경우, 네트워크 인터페이스 제어부(120)는 임베디드 L2 스위치(123)를 이용하여 수신한 패킷의 목적지 주소에 대응하는 가상머신(110)을 검색할 수 있으며, 해당 가상머신(110)이 연결된 가상포트(122)로 패킷을 전송할 수 있다. 이를 통하여, 동일한 호스트 장치(100) 내에 포함된 다른 가상머신(110)으로 정확하게 패킷을 전송할 수 있다. Referring to FIG. 1, the
추가적으로, 본 발명의 일 실시예에 의한 호스트 장치(100)의 내부 데이터 경로(L1) 및 외부 데이터 경로(L2)의 경우, 외부 L2 스위치(200)와 가상스위치(130) 사이에 L2 계층의 루프(Loop)를 생성할 수 있다. 따라서, STP(Spanning Tree Protocol)을 사용하는 경우에는, STP가 루프 예방을 위해 가상스위치(130)와 네트워크 인터페이스 제어부(120) 사이의 연결을 단절시키는 등의 문제가 발생할 수 있다. 이를 해결하기 위하여, 본 발명의 일 실시예에 의한 호스트 장치(100)에서는, STP를 대신하여 SPB(Shortest Path Bridging, IEEE 820.1aq)와 같은 다중경로 기술을 적용하도록 할 수 있다. Additionally, in the case of the internal data path L1 and the external data path L2 of the
본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명에 따른 구성요소를 치환, 변형 및 변경할 수 있다는 것이 명백할 것이다.The present invention is not limited by the above-described embodiments and the accompanying drawings. For those skilled in the art to which the present invention pertains, it will be apparent that components according to the present invention can be substituted, modified and changed without departing from the technical spirit of the present invention.
100, 300: 호스트 장치
110, 310: 가상머신
120, 320: 네트워크 인터페이스 제어부
121: 물리포트
122: 가상포트
123: 임베디드 L2 스위치
130, 330: 가상스위치
200: 외부 L2 스위치100, 300:
120, 320: network interface control unit 121: physical port
122: virtual port 123: embedded L2 switch
130, 330: Virtual switch 200: External L2 switch
Claims (8)
물리포트(Physical Function)와, 상기 물리포트에 추가적으로 형성되는 복수의 가상포트(Virtual Function)들을 포함하며, 각각의 가상포트들은 상기 가상 머신과 연결하고, 상기 물리포트는 가상스위치와 연결하는 네트워크 인터페이스 제어부(NIC: Network Interface Controller); 및
상기 가상 머신들 사이의 내부 데이터 경로를 형성하여, 상기 가상 머신들 사이의 패킷 송수신을 지원하는 가상 스위치를 포함하는 호스트 장치.
A plurality of virtual machines;
It includes a physical port (Physical Function), and a plurality of virtual ports (Virtual Functions) additionally formed on the physical port, each virtual port is connected to the virtual machine, the physical port is a network interface to connect to the virtual switch Network Interface Controller (NIC); And
And a virtual switch that forms an internal data path between the virtual machines to support packet transmission and reception between the virtual machines.
SR-IOV(Single-Root Input/Output Virtualization)를 이용하여, 상기 물리포트에 복수의 가상포트들을 형성하는 것을 특징으로 하는 호스트 장치.
According to claim 1, The network interface control unit
A host device characterized by forming a plurality of virtual ports on the physical port using SR-IOV (Single-Root Input / Output Virtualization).
수신하는 패킷의 목적지 주소에 따라, 상기 패킷을 상기 물리포트에 가상화된 각각의 가상포트로 분배하여 전송하는 임베디드(embedded) L2 스위치를 더 포함하는 것을 특징으로 하는 호스트 장치.
The method of claim 2, wherein the network interface control unit
And an embedded L2 switch for distributing and transmitting the packet to each virtual port virtualized to the physical port according to the destination address of the received packet.
상기 가상머신으로부터 상기 가상포트를 통하여 패킷을 수신하면, 상기 패킷의 목적지 주소를 검색하고, 상기 목적지 주소가 상기 호스트 장치의 내부주소이면, 상기 패킷을 상기 가상 스위치로 입력하는 것을 특징으로 하는 호스트 장치.
According to claim 1, The network interface control unit
When a packet is received from the virtual machine through the virtual port, the destination address of the packet is retrieved, and if the destination address is an internal address of the host device, the packet is input to the virtual switch. .
상기 패킷의 목적지 주소가 상기 호스트 장치의 내부주소가 아니면, 상기 패킷을 외부 L2 스위치로 전송하는 것을 특징으로 하는 호스트 장치.
The method of claim 4, wherein the network interface control unit
If the destination address of the packet is not the internal address of the host device, the host device, characterized in that for transmitting the packet to the external L2 switch.
상기 물리포트를 통하여 외부 L2 스위치 또는 상기 가상 스위치로부터 패킷을 수신하면, 상기 물리포트에 가상화된 복수의 가상포트에 연결된 가상머신 중에서 상기 패킷의 목적지 주소에 대응하는 가상머신을 검색하고, 검색된 가상머신으로 상기 패킷을 전송하는 것을 특징으로 하는 호스트 장치.
According to claim 1, The network interface control unit
When a packet is received from an external L2 switch or the virtual switch through the physical port, a virtual machine corresponding to the destination address of the packet is searched among virtual machines connected to a plurality of virtual ports virtualized to the physical port, and the searched virtual machine The host device, characterized in that for transmitting the packet.
OVS-DPDK(Open vSwitch Data Plane Development Kit)를 이용하여 상기 호스트 장치 내에 구현하는 것을 특징으로 하는 호스트 장치.
The method of claim 1, wherein the virtual switch
A host device characterized in that it is implemented in the host device using an OVS-DPDK (Open vSwitch Data Plane Development Kit).
상기 네트워크 인터페이스 제어부로부터 패킷을 수신하면, 상기 패킷의 목적지 주소에 대응하는 가상머신을 검색하고, 검색된 가상머신이 연결된 가상포트를 포함하는 네트워크 인터페이스 제어부의 물리포트로 상기 패킷을 전송하는 것을 특징으로 하는 호스트 장치. The method of claim 1, wherein the virtual switch
When receiving a packet from the network interface control unit, it searches for a virtual machine corresponding to the destination address of the packet, and transmits the packet to the physical port of the network interface control unit including the virtual port connected to the searched virtual machine Host device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180127567A KR20200046424A (en) | 2018-10-24 | 2018-10-24 | Host apparatus with improved configuration of virtual machines |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180127567A KR20200046424A (en) | 2018-10-24 | 2018-10-24 | Host apparatus with improved configuration of virtual machines |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20200046424A true KR20200046424A (en) | 2020-05-07 |
Family
ID=70733668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180127567A KR20200046424A (en) | 2018-10-24 | 2018-10-24 | Host apparatus with improved configuration of virtual machines |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20200046424A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220081480A (en) * | 2020-12-09 | 2022-06-16 | 디노플러스 (주) | Low-latency cloud service providing device using deep learning-based data packet processing acceleration technology |
-
2018
- 2018-10-24 KR KR1020180127567A patent/KR20200046424A/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220081480A (en) * | 2020-12-09 | 2022-06-16 | 디노플러스 (주) | Low-latency cloud service providing device using deep learning-based data packet processing acceleration technology |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11005755B2 (en) | Packet processing method in cloud computing system, host, and system | |
EP3370158B1 (en) | Network interface card switching for virtual networks | |
US9838300B2 (en) | Temperature sensitive routing of data in a computer system | |
CA2991208C (en) | Packet processing method in cloud computing system, host, and system | |
RU2584449C2 (en) | Communication control system, switching node and communication control method | |
US7830882B2 (en) | Switch scaling for virtualized network interface controllers | |
US11593140B2 (en) | Smart network interface card for smart I/O | |
US20170161090A1 (en) | Communication control program, communication control method, and information processing device | |
US20210320872A1 (en) | Cloud computing data center system, gateway, server, and packet processing method | |
US11669468B2 (en) | Interconnect module for smart I/O | |
US11729098B2 (en) | Methods and apparatus to manage a physical network to reduce network dependencies in a multi-fabric virtual network | |
US9787608B2 (en) | Unified fabric port | |
WO2016184283A1 (en) | Data stream management method and system for virtual machine | |
KR20170081537A (en) | Apparatus and method for high speed data transfer between virtual desktop | |
US20230308398A1 (en) | Latency-aware load balancer for topology-shifting software defined networks | |
KR20200046424A (en) | Host apparatus with improved configuration of virtual machines | |
US20220360529A1 (en) | Packet Transmission Method and Apparatus, and Device | |
EP4170981A1 (en) | Control system, control method, and non-transitory computer readable storage medium |