KR20200046424A - Host apparatus with improved configuration of virtual machines - Google Patents

Host apparatus with improved configuration of virtual machines Download PDF

Info

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
Application number
KR1020180127567A
Other languages
Korean (ko)
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 KR1020180127567A priority Critical patent/KR20200046424A/en
Publication of KR20200046424A publication Critical patent/KR20200046424A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate 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

The present application relates to a host apparatus including an improved connection structure of virtual machines. According to one embodiment of the present invention, the host apparatus comprises: a plurality of virtual machines; and a physical function and a plurality of virtual functions additionally formed on a physical function. Each of the virtual ports is connected to the virtual machine, and the physical function may include a network interface controller (NIC) connecting with a virtual switch and a virtual switch forming an internal data path between the virtual machines and supporting packet transmission and reception between the virtual machines.

Description

가상머신들의 개선된 연결구조를 포함하는 호스트 장치 {Host apparatus with improved configuration of virtual machines}Host device with improved configuration of virtual machines {Host apparatus with improved configuration of virtual machines}

본 출원은 가상머신들 사이의 패킷 전송을 효율적으로 수행할 수 있는 개선된 연결구조를 포함하는 호스트 장치에 관한 것이다. 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 host device 100 and an external L2 switch 200.

이하 도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 host device 100 may include a plurality of virtual machines (110) therein, and may provide communication such as packet transmission for each virtual machine (110). Here, the virtual machine VM1 communicates with another virtual machine VMn included in the host device forming one physical node Node i , or communicates with another virtual machine VMm included in the host device corresponding to another physical node Node j . Can be done. To this end, an internal data path L1 for packet transmission performed within the same host device 100 and an external data path L2 for packet transmission performed between different host devices 100 are formed. You can.

구체적으로, 도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 virtual switch 130 included in the host device 100, the external data path (L2) of the host device 100 It may be implemented to pass through the external L2 switch 200 provided on the outside. As described above, when distinguishing between the internal data path L1 and the external data path L2, packet load can be distributed, so that packet transmission delay between the virtual machines 110 can be reduced. In addition, since unnecessary external packet transmission can be prevented, it is possible to improve packet transmission performance between the virtual machines 110. That is, since the internal virtual switch 130 is dedicated to the packet transmission inside the host device 100, congestion and the like that may occur in the external L2 switch 200 can be prevented.

도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 host device 100 according to an embodiment of the present invention may include a plurality of virtual machines 110, a network interface controller 120, and a virtual switch 130.

이하 도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 virtual machines 110 may be provided in the host device 100, and may operate independently of each other. The virtual machines 110 may be implemented based on virtualization technology, for example, a virtual desktop service (Virtual Desktop Service) or a Network Function Virtualzation (NFV) technology-based Virtual Network Function (VNF) may be provided. have. Here, the virtual machine 110 may be implemented based on resources such as CPU and memory provided by the host device 100. Additionally, a virtualized MAC address (Media Access Control Address) may be set in the virtual machine 110, and the corresponding virtual machines 110 may be specified using the MAC address.

네트워크 인터페이스 제어부(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 host device 100 to a network and provide communication to the host device 100. The network interface control unit 120 may be physical hardware such as a network interface card, a LAN card, an Ethernet card, etc., and in some embodiments, the network interface control unit 120 may be virtualized. That is, a plurality of virtual ports (Virtual Function, 122) can be implemented to be added to one physical port (Physical Function) through virtualization. Here, a plurality of network interface control units 120 may be included in one host device 100 (NIC1,…, NIC j ), and physical ports 121 may be provided in each network interface control unit 120 according to an embodiment. Multiple may be included.

구체적으로, 네트워크 인터페이스 제어부(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 network interface controller 120 may be virtualized using SR-IOV (Single-Root Input / Output Virtualization). In this case, as illustrated in FIG. 3, the virtual port 122 and the embedded L2 switch 123 may be virtualized and further included in the physical port 121. Here, the embedded L2 switch 123 may classify packets input to the physical port 121, and transmit packets to each virtual port 122 virtualized to the physical port 121. That is, the embedded L2 switch 123 may distribute packets according to the destination address of the received packet, and transmit the packet to the virtual port 122 corresponding to each destination address. Therefore, even when a plurality of virtualization ports 122 are further added to the physical port 121 by virtualization of the network interface controller 120, each packet can be accurately distributed and transmitted.

한편, 네트워크 인터페이스 제어부(120)는, 각각의 가상포트(122)들을 가상 머신(110)에 연결하고, 물리포트(121)들은 가상스위치(130)와 연결하는 방식으로 데이터 경로를 형성할 수 있다. 이를 통하여, 호스트 장치(100) 내부에 위치하는 각각의 가상머신(110)들 사이의 내부 데이터 경로(L1)와, 호스트 장치(100)의 외부와 연결되는 외부 데이터 경로(L2)를 분리할 수 있다.Meanwhile, the network interface controller 120 may form a data path by connecting each virtual port 122 to the virtual machine 110 and the physical ports 121 connecting the virtual switch 130. . Through this, the internal data path L1 between each virtual machine 110 located inside the host device 100 and the external data path L2 connected to the outside of the host device 100 can be separated. have.

구체적으로, 네트워크 인터페이스 제어부(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 virtual machine 110 through the virtual port 122, the network interface control unit 120 may first search for the destination address of the packet. Thereafter, if the destination address is an internal address included in the same host device 100, the received packet may be transmitted to the virtual switch 130. That is, since the packet is transmitted to another virtual machine 110 included in the corresponding host device 100, it can be transmitted to the internal data path L1 via the virtual switch 130. However, if the destination address is the virtual port 122 assigned to the same physical port 121, the received packet can be transmitted directly to the virtual machine 130 through the embedded L2 switch 123. On the other hand, the packet If the destination address of is not the internal address of the host device 100, the network interface control unit 120 may transmit the packet to the external L2 switch 200. That is, since it is a virtual machine included in another host device 100 or a packet transmitted to another external terminal, it can be transmitted to an external data path L2 via the external L2 switch 200.

또한, 실시예에 따라서는, 네트워크 인터페이스 제어부(120)가 물리포트(121)를 통하여 외부 L2 스위치(200) 또는 가상 스위치(130)로부터 패킷을 수신할 수 있다. 즉, 외부 L2 스위치(200) 또는 가상 스위치(130)는, 해당 네트워크 인터페이스 제어부(120)에 연결된 가상머신(110)으로 패킷을 전송하기 위하여, 해당 네트워크 인터페이스 제어부(120)의 물리포트(121)로 패킷을 전송할 수 있다. Also, according to an embodiment, the network interface controller 120 may receive a packet from the external L2 switch 200 or the virtual switch 130 through the physical port 121. That is, the external L2 switch 200 or the virtual switch 130, to transmit a packet to the virtual machine 110 connected to the network interface control unit 120, the physical port 121 of the network interface control unit 120 Can send packets.

이 경우, 네트워크 인터페이스 제어부(120)는 상기 물리포트(121)에 가상화된 복수의 가상포트(122)에 연결된 가상머신(110)들 중에서, 패킷의 목적지 주소에 대응하는 가상머신(110)을 검색할 수 있으며, 검색된 가상머신(110)으로 패킷을 전송할 수 있다. 여기서, 임베디드 L2 스위치(123)가 패킷의 목적지 주소에 대응하는 가상머신(110)을 검색할 수 있으며, 검색된 가상머신(110)에 대응하는 가상포트(122)로 패킷을 전송할 수 있다. In this case, the network interface control unit 120 searches the virtual machine 110 corresponding to the destination address of the packet from among the virtual machines 110 connected to the plurality of virtual ports 122 virtualized to the physical port 121. It is possible to send a packet to the searched virtual machine 110. Here, the embedded L2 switch 123 may search for the virtual machine 110 corresponding to the destination address of the packet, and transmit the packet to the virtual port 122 corresponding to the found virtual machine 110.

가상 스위치(130)는 가상 머신(110)들 사이의 내부 데이터 경로를 형성할 수 있으며, 동일한 호스트 장치(100) 내에 포함된 가상 머신(110)들 사이의 패킷 송수신을 지원할 수 있다. 즉, 동일한 호스트 장치(100) 내에 포함된 가상 머신(110)들 사이의 패킷 송수신은 가상 스위치(130)를 경유하여 전송될 수 있다. 예를들어, 가상 스위치(130)는 동일한 호스트 장치(100) 내의 다른 네트워크 인터페이스 제어부(120)에 포함된 물리포트나, 동일한 호스트 장치(100) 내의 동일한 네트워크 인터페이스 제어부(120)에 포함된 다른 물리포트에 가상화된 복수의 가상포트(122)들에 연결된 가상머신(110)들에게 패킷 송수신을 제공할 수 있다.The virtual switch 130 may form an internal data path between the virtual machines 110 and may support packet transmission and reception between the virtual machines 110 included in the same host device 100. That is, packet transmission / reception between the virtual machines 110 included in the same host device 100 may be transmitted via the virtual switch 130. For example, the virtual switch 130 is a physical port included in another network interface control unit 120 in the same host device 100, or other water included in the same network interface control unit 120 in the same host device 100. Packet transmission and reception may be provided to the virtual machines 110 connected to the plurality of virtual ports 122 virtualized in the report.

여기서, 가상 스위치(130)는 OVS-DPDK(Open vSwitch Data Plane Development Kit)를 이용하여 구현한 것일 수 있으며, 호스트 장치(100)는 OVS-DPDK(Open vSwitch Data Plane Development Kit)를 구현하기 위하여, 전용의 CPU 등 리소스를 추가적으로 제공할 수 있다. Here, the virtual switch 130 may be implemented using the OVS-DPDK (Open vSwitch Data Plane Development Kit), the host device 100 to implement the OVS-DPDK (Open vSwitch Data Plane Development Kit), Resources such as dedicated CPUs can be additionally provided.

도1을 참조하면, 가상스위치(130)는 네트워크 인터페이스 제어부(120)로부터 패킷을 수신할 수 있으며, 수신한 패킷의 목적지 주소에 대응하는 가상머신(110)을 검색할 수 있다. 이후, 검색된 가상머신(110)이 연결된 네트워크 인터페이스 제어부(120)의 물리포트(121)로 패킷을 전송할 수 있다. 이 경우, 네트워크 인터페이스 제어부(120)는 임베디드 L2 스위치(123)를 이용하여 수신한 패킷의 목적지 주소에 대응하는 가상머신(110)을 검색할 수 있으며, 해당 가상머신(110)이 연결된 가상포트(122)로 패킷을 전송할 수 있다. 이를 통하여, 동일한 호스트 장치(100) 내에 포함된 다른 가상머신(110)으로 정확하게 패킷을 전송할 수 있다. Referring to FIG. 1, the virtual switch 130 may receive a packet from the network interface control unit 120 and search for the virtual machine 110 corresponding to the destination address of the received packet. Thereafter, the packet may be transmitted to the physical port 121 of the network interface controller 120 to which the searched virtual machine 110 is connected. In this case, the network interface controller 120 may search for the virtual machine 110 corresponding to the destination address of the received packet using the embedded L2 switch 123, and the virtual port connected to the virtual machine 110 ( 122). Through this, it is possible to accurately transmit a packet to another virtual machine 110 included in the same host device 100.

추가적으로, 본 발명의 일 실시예에 의한 호스트 장치(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 host device 100 according to an embodiment of the present invention, the loop of the L2 layer between the external L2 switch 200 and the virtual switch 130 You can create (Loop). Therefore, when using the Spanning Tree Protocol (STP), problems such as disconnecting the connection between the virtual switch 130 and the network interface control unit 120 may occur in order for the STP to prevent loops. In order to solve this, in the host device 100 according to an embodiment of the present invention, a multipath technology such as Short Path Path Bridging (SPB, IEEE 820.1aq) may be applied in place of STP.

본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명에 따른 구성요소를 치환, 변형 및 변경할 수 있다는 것이 명백할 것이다.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: host device 110, 310: virtual machine
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.
제1항에 있어서, 상기 네트워크 인터페이스 제어부는
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).
제2항에 있어서, 상기 네트워크 인터페이스 제어부는
수신하는 패킷의 목적지 주소에 따라, 상기 패킷을 상기 물리포트에 가상화된 각각의 가상포트로 분배하여 전송하는 임베디드(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.
제1항에 있어서, 상기 네트워크 인터페이스 제어부는
상기 가상머신으로부터 상기 가상포트를 통하여 패킷을 수신하면, 상기 패킷의 목적지 주소를 검색하고, 상기 목적지 주소가 상기 호스트 장치의 내부주소이면, 상기 패킷을 상기 가상 스위치로 입력하는 것을 특징으로 하는 호스트 장치.
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. .
제4항에 있어서, 상기 네트워크 인터페이스 제어부는
상기 패킷의 목적지 주소가 상기 호스트 장치의 내부주소가 아니면, 상기 패킷을 외부 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.
제1항에 있어서, 상기 네트워크 인터페이스 제어부는
상기 물리포트를 통하여 외부 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.
제1항에 있어서, 상기 가상 스위치는
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).
제1항에 있어서, 상기 가상 스위치는
상기 네트워크 인터페이스 제어부로부터 패킷을 수신하면, 상기 패킷의 목적지 주소에 대응하는 가상머신을 검색하고, 검색된 가상머신이 연결된 가상포트를 포함하는 네트워크 인터페이스 제어부의 물리포트로 상기 패킷을 전송하는 것을 특징으로 하는 호스트 장치.
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.
KR1020180127567A 2018-10-24 2018-10-24 Host apparatus with improved configuration of virtual machines KR20200046424A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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