KR102554413B1 - Node device, method for processing packet of the node device, and network system which comprises node device and control device for managing control information associated with the packet-processing - Google Patents

Node device, method for processing packet of the node device, and network system which comprises node device and control device for managing control information associated with the packet-processing Download PDF

Info

Publication number
KR102554413B1
KR102554413B1 KR1020160078613A KR20160078613A KR102554413B1 KR 102554413 B1 KR102554413 B1 KR 102554413B1 KR 1020160078613 A KR1020160078613 A KR 1020160078613A KR 20160078613 A KR20160078613 A KR 20160078613A KR 102554413 B1 KR102554413 B1 KR 102554413B1
Authority
KR
South Korea
Prior art keywords
packet
control information
node device
network
virtual machine
Prior art date
Application number
KR1020160078613A
Other languages
Korean (ko)
Other versions
KR20180000524A (en
Inventor
박민수
김주현
한성주
박영희
박미나
나충수
황호동
최윤희
김봉균
나윤호
Original Assignee
네이버클라우드 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버클라우드 주식회사 filed Critical 네이버클라우드 주식회사
Priority to KR1020160078613A priority Critical patent/KR102554413B1/en
Publication of KR20180000524A publication Critical patent/KR20180000524A/en
Application granted granted Critical
Publication of KR102554413B1 publication Critical patent/KR102554413B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls

Abstract

본 실시예는 서로 다른 물리 주소가 할당된 하나 이상의 가상 머신을 포함하는 노드 장치에 있어서, 제1 네트워크로 연결된 제1 노드 장치로부터 제1 패킷을 수신하는 패킷 수신부; 상기 제1 패킷의 처리와 관련된 제어 정보를 상기 제1 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 제어 정보 요청부; 상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답 신호에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 제어 정보 수신부; 상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 패킷 처리부;를 포함하는, 노드 장치를 개시한다. According to the present embodiment, a node device including one or more virtual machines to which different physical addresses are assigned includes: a packet receiver configured to receive a first packet from a first node device connected to a first network; a control information requesting unit transmitting a signal requesting control information related to processing of the first packet to a control device connected to the first network; a control information receiver configured to receive a response of the signal from the control device and determine whether to receive the packet according to control information included in the response signal of the signal; Discloses a node device comprising a; packet processing unit for receiving the packet according to whether or not the packet is received, and transmitting the packet to a virtual machine to which a destination address is assigned.

Description

노드 장치, 상기 노드 장치의 패킷을 처리하는 방법 및 상기 노드 장치의 패킷 처리와 관련된 제어 정보를 관리하는 제어 장치를 포함하는 네트워크 시스템{NODE DEVICE, METHOD FOR PROCESSING PACKET OF THE NODE DEVICE, AND NETWORK SYSTEM WHICH COMPRISES NODE DEVICE AND CONTROL DEVICE FOR MANAGING CONTROL INFORMATION ASSOCIATED WITH THE PACKET-PROCESSING}A network system comprising a node device, a method for processing packets of the node device, and a control device for managing control information related to packet processing of the node device COMPRISES NODE DEVICE AND CONTROL DEVICE FOR MANAGING CONTROL INFORMATION ASSOCIATED WITH THE PACKET-PROCESSING}

본 발명은 노드 장치, 상기 노드 장치의 패킷을 처리하는 방법 및 상기 노드 장치의 패킷 처리와 관련된 제어 정보를 관리하는 제어 장치를 포함하는 네트워크 시스템에 관한 것이다.The present invention relates to a network system including a node device, a method for processing a packet of the node device, and a control device for managing control information related to packet processing of the node device.

통신 분야에서, 스위치는 단위 데이터를 다음 목적지까지 보내기 위해 경로 또는 회선을 선택하는 네트워크 장비이다. 스위치는 루트, 즉 보다 명확히 말하면, 인접한 네트워크 지점 중 어디로 데이터가 보내져야 하는지를 결정할 수 있는 장비인 라우터 기능을 포함할 수도 있다. 일반적으로 네트워크와 루트를 어떻게 결정해야 하는지에 관한 지식을 요구하는 라우터보다, 스위치가 훨씬 단순하고 더 빠르게 동작하는 장치이다. 스위치는 대개 OSI 참조 모델에서, 2계층, 즉 데이터 링크 계층과 관련된다. 그러나, 일부 신형 스위치들은 3계층인 네트워크 계층의 라우팅 기능을 수행하기도 한다. 스위치에 연결된 장치가 많을수록 브로드캐스트 트래픽(broadcast traffic)도 증가하게 되는데, 이는 네트워크 성능 저하의 원인이 되기도 한다. In telecommunications, a switch is a network device that selects a path or circuit to send a unit of data to its next destination. A switch may also include a route, or more specifically, a router function, which is a device that can determine which of the adjacent network points data should be sent to. Switches are much simpler and faster-acting devices than routers, which generally require knowledge about the network and how to determine routes. Switches are usually associated with layer 2, the data link layer, in the OSI reference model. However, some newer switches also perform routing functions at layer 3, the network layer. As the number of devices connected to the switch increases, broadcast traffic also increases, which may cause network performance degradation.

또한, 클라우드 서비스를 제공하는데 있어서, 클라우드 서비스를 제공하는데 이용되는 물리적으로 분리된 노드 장치가 하나 추가됨에 따라 추가된 노드 장치의 네트워크 정보를 관리하기 위한 스위치의 설정이 필요했다. 또한, In addition, in providing cloud services, as one physically separated node device used to provide cloud services is added, it is necessary to set a switch for managing network information of the added node device. also,

전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.The foregoing background art is technical information that the inventor possessed for derivation of the present invention or acquired during the derivation process of the present invention, and cannot necessarily be said to be known art disclosed to the general public prior to filing the present invention.

본 발명의 실시예들은 복수의 가상 머신을 포함하는 하나 이상의 노드 장치 사이의 패킷을 송수신과 관련된 제어 정보를 제어 장치로부터 수신함으로써, 상기 패킷의 수신 여부를 결정하는 노드 장치를 제공한다. Embodiments of the present invention provide a node device that determines whether to receive a packet by receiving control information related to transmitting and receiving a packet between one or more node devices including a plurality of virtual machines from a control device.

또한, 본 발명의 실시예들은 네트워크로 연결되지 않은 단말 장치로부터 수신한 패킷의 차단과 관련된 방화벽 정보를 제어 장치로부터 수신함으로써, 상기 패킷의 차단 여부를 결정하는 네트워크 시스템을 제공한다.In addition, embodiments of the present invention provide a network system that determines whether to block a packet by receiving firewall information related to blocking a packet received from a terminal device not connected to a network from a control device.

또한, 본 발명의 실시예들은 증가하는 사용자들의 수 만큼 노드 장치를 추가로 설치해야 하는 경우, 설치된 노드 장치들까지도 하나의 네트워크 망을 통해 관리하기 위한 네트워크 장치(스위치 등)의 추가가 필요 없는 네트워크 시스템을 제공한다. In addition, the embodiments of the present invention are a network that does not require the addition of a network device (switch, etc.) for managing even the installed node devices through one network when it is necessary to additionally install node devices as the number of users increases. provide the system.

또한, 본 발명의 실시예들은 동일한 사용자에게 할당된 가상 머신들 사이에 패킷의 공유를 위해서 가상 머신을 동적으로 사용자들에게 할당하고, 제어 정보의 변경 만으로 제1 사용자에게 할당된 가상 머신을 다른 사용자에게 할당하는 네트워크 시스템을 제공한다.In addition, embodiments of the present invention dynamically allocate virtual machines to users in order to share packets among virtual machines allocated to the same user, and transfer the virtual machines allocated to the first user to other users only by changing control information. Provides a network system that allocates to

본 발명의 일 실시예에 따른 서로 다른 물리 주소가 할당된 하나 이상의 가상 머신을 포함하는 노드 장치는, 제1 네트워크로 연결된 제1 노드 장치로부터 제1 패킷을 수신하는 패킷 수신부; 상기 제1 패킷의 처리와 관련된 제어 정보를 상기 제1 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 제어 정보 요청부; 상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 제어 정보 수신부; 상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 패킷 처리부;를 포함할 수 있다.A node device including one or more virtual machines to which different physical addresses are assigned according to an embodiment of the present invention includes: a packet receiver configured to receive a first packet from a first node device connected to a first network; a control information requesting unit transmitting a signal requesting control information related to processing of the first packet to a control device connected to the first network; a control information receiver configured to receive a response to the signal from the control device and to determine whether to receive the packet according to control information included in the response to the signal; It may include; a packet processing unit which receives the packet according to whether the packet is received and transmits the packet to a virtual machine to which a destination address is assigned.

본 발명의 일 실시예에 따른 서로 다른 물리 주소가 할당된 하나 이상의 가상 머신을 포함하는 노드 장치는, 상기 제어 정보를 백업하는 백업부;를 더 포함할 수 있다. 이때 상기 패킷 처리부는 상기 패킷 수신부에 의해 상기 제1 노드 장치로부터 제2 패킷을 상기 제1 패킷과 연이어 수신한 경우, 상기 제어 장치로 패킷의 처리와 관련된 제어 정보를 요청하지 않고, 상기 백업부에 저장된 제어 정보에 따라 상기 제2 패킷을 목적지 주소가 할당된 가상 머신에 전송할 수 있다.A node device including one or more virtual machines to which different physical addresses are assigned according to an embodiment of the present invention may further include a backup unit for backing up the control information. At this time, when the packet processing unit continuously receives the first packet and the second packet from the first node device by the packet receiving unit, it does not request control information related to packet processing to the control device, and the backup unit According to the stored control information, the second packet may be transmitted to a virtual machine to which a destination address is assigned.

상기 제어 정보 요청부는 상기 패킷 수신부에 의해 제1 네트워크와 다른 제2 네트워크로 연결된 단말 장치로부터 제3 패킷을 수신한 경우, 상기 제3 패킷의 처리와 관련된 방화벽 정보를 상기 제어 장치로 요청하는 신호를 전송하고, 상기 제어 정보 수신부는 상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답 신호에 포함된 방화벽 정보에 따라 상기 패킷의 차단 여부를 결정하고, 상기 패킷 처리부는 상기 패킷의 차단 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송할 수 있다.When the control information requesting unit receives a third packet from a terminal device connected to a second network different from the first network by the packet receiving unit, it transmits a signal requesting firewall information related to the processing of the third packet to the control device. The control information receiving unit receives a response of the signal from the control device, determines whether or not to block the packet according to firewall information included in the response signal of the signal, and the packet processing unit determines whether or not the packet is blocked. According to the above, the packet may be received and the packet may be transmitted to a virtual machine to which a destination address is assigned.

본 발명의 일 실시예에 따른 네트워크 시스템은, 서로 다른 물리 주소가 할당된 복수의 가상 머신을 포함하고, 제1 네트워크로 연결된 제1 노드 장치로부터 제1 패킷을 수신하는 패킷 수신부; 상기 제1 패킷의 처리와 관련된 제어 정보를 상기 제1 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 제어 정보 요청부; 상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 제어 정보 수신부; 상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 패킷 처리부;를 포함하는 제1 노드 장치 및 상기 제1 네트워크로 연결된 하나 이상의 가상 머신의 물리 주소 간의 관계를 기초로 패킷에 대한 처리와 관련된 제어 정보를 생성하여 저장하는 제어 정보 처리부;를 포함할 수 있다.A network system according to an embodiment of the present invention includes a plurality of virtual machines to which different physical addresses are assigned, and includes a packet receiver configured to receive a first packet from a first node device connected to a first network; a control information requesting unit transmitting a signal requesting control information related to processing of the first packet to a control device connected to the first network; a control information receiver configured to receive a response to the signal from the control device and to determine whether to receive the packet according to control information included in the response to the signal; A first node device including a packet processing unit for receiving the packet according to whether the packet is received and transmitting the packet to a virtual machine to which a destination address is assigned, and a physical address of one or more virtual machines connected to the first network. and a control information processing unit that generates and stores control information related to packet processing based on the relationship between the packets.

상기 제어 정보 처리부는 상기 제1 네트워크로 연결된 제1 가상 머신 및 제2 가상 머신이 제1 사용자에게 할당된 경우, 상기 제1 가상 머신의 물리 주소 및 상기 제2 가상 머신의 물리 주소 사이의 패킷의 송수신이 가능하도록 설정되는 제어 정보를 생성할 수 있다.When the first virtual machine and the second virtual machine connected to the first network are allocated to the first user, the control information processing unit determines the number of packets between the physical address of the first virtual machine and the physical address of the second virtual machine. Control information set to enable transmission and reception may be generated.

상기 제어 장치는 상기 제1 네트워크와 다른 네트워크로부터 수신된 패킷의 처리를 위해서, 차단해야 하는 네트워크 정보에 포함된 ip 주소 또는 서브넷마스크의 크기 순으로 정렬한 방화벽 정보를 생성하여 저장하는 방화벽 정보 처리부;를 포함할 수 있다.The control device includes a firewall information processing unit for generating and storing firewall information arranged in order of size of IP addresses or subnet masks included in network information to be blocked, in order to process packets received from networks other than the first network; can include

상기 제어 장치의 상기 제어 정보 처리부는 상기 제2 노드 장치에 포함된 제2 가상 머신의 물리 주소를 할당하고, 상기 제2 가상 머신의 물리 주소와 상기 제1 사용자에게 할당된 하나 이상의 가상 머신의 물리 주소 사이의 관계에 따른 제어 정보를 생성할 수 있다.The control information processing unit of the control device allocates a physical address of a second virtual machine included in the second node device, and the physical address of the second virtual machine and the physical address of one or more virtual machines allocated to the first user. Control information according to the relationship between addresses may be generated.

본 발명의 일 실시예에 따른 서로 다른 물리 주소가 할당된 하나 이상의 가상 머신을 포함하는 노드 장치의 패킷 처리 방법은, 상기 노드 장치가 제1 네트워크로 연결된 다른 노드 장치로부터 제1 패킷을 수신하는 단계; 상기 노드 장치가 상기 제1 패킷의 처리와 관련된 제어 정보를 상기 제1 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 단계; 상기 노드 장치가 상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 단계; 상기 노드 장치가 상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 단계; 상기 제어 장치가 상기 노드 장치로 수신된 패킷의 발신지 주소 및 목적지 주소를 짝으로 연결하는 제어 정보를 생성하여 저장하는 단계;를 포함할 수 있다.A packet processing method of a node device including one or more virtual machines to which different physical addresses are assigned according to an embodiment of the present invention includes receiving a first packet from another node device connected to the node device through a first network. ; transmitting, by the node device, a signal requesting control information related to processing of the first packet to a control device connected to the first network; Receiving, by the node device, a response to the signal from the control device, and determining whether to receive the packet according to control information included in the response to the signal; receiving, by the node device, the packet according to whether the packet is received, and transmitting the packet to a virtual machine to which a destination address is assigned; It may include; generating and storing, by the control device, control information pairwise connecting the source address and the destination address of the packet received by the node device.

본 발명의 일 실시예에 따른 서로 다른 물리 주소가 할당된 하나 이상의 가상 머신을 포함하는 노드 장치의 패킷 처리 방법은, 상기 노드 장치가 상기 제어 정보를 백업하는 단계;를 더 포함하고, 상기 노드 장치가 상기 제1 노드 장치로부터 제2 패킷을 상기 제1 패킷의 후속으로 수신한 경우, 상기 제어 장치로 패킷의 처리와 관련된 제어 정보를 요청하지 않고, 상기 백업부에 저장된 제어 정보에 따라 상기 제2 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 단계를 더 포함할 수 있다.A packet processing method of a node device including one or more virtual machines to which different physical addresses are assigned according to an embodiment of the present invention further includes, by the node device, backing up the control information, and the node device When a second packet is received from the first node device as a follow-up to the first packet, the control device does not request control information related to packet processing to the control device, and the second packet according to the control information stored in the backup unit. The method may further include transmitting the packet to a virtual machine to which the destination address is assigned.

상기 제어 정보를 요청하는 단계는 상기 노드 장치가 제1 네트워크와 다른 제2 네트워크로 연결된 단말 장치로부터 제3 패킷을 수신한 경우, 상기 제3 패킷의 처리와 관련된 방화벽 정보를 상기 제어 장치로 요청하는 신호를 전송하고, 상기 제어 정보를 수신 하는 단계는 상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답 신호에 포함된 방화벽 정보에 따라 상기 패킷의 차단 여부를 결정하고, 상기 가상 머신에 전송하는 단계는 상기 패킷의 차단 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송할 수 있다.The requesting of the control information may include, when the node device receives a third packet from a terminal device connected to a second network different from the first network, requesting firewall information related to processing of the third packet to the control device. Transmitting the signal and receiving the control information may include receiving a response of the signal from the control device, determining whether or not to block the packet according to firewall information included in the response signal of the signal, and transmitting the signal to the virtual machine. In the transmitting step, the packet may be received according to whether the packet is blocked or not, and the packet may be transmitted to a virtual machine to which a destination address is assigned.

본 발명의 실시예에 따른 컴퓨터 프로그램은 컴퓨터를 이용하여 본 발명의 실시예에 따른 패킷을 처리하는 방법 중 어느 하나의 방법을 실행시키기 위하여 매체에 저장될 수 있다. A computer program according to an embodiment of the present invention may be stored in a medium in order to execute any one of methods of processing packets according to an embodiment of the present invention using a computer.

이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공된다. In addition to this, another method for implementing the present invention, another system, and a computer readable recording medium recording a computer program for executing the method are further provided.

전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해 질 것이다.Other aspects, features and advantages other than those described above will become apparent from the following drawings, claims and detailed description of the invention.

본 발명은 복수의 가상 머신을 포함하는 하나 이상의 노드 장치 사이의 패킷을 송수신과 관련된 제어 정보를 제어 장치로부터 수신함으로써, 상기 패킷의 수신 여부를 결정할 수 있다. According to the present invention, by receiving control information related to transmission and reception of packets between one or more node devices including a plurality of virtual machines from a control device, it is possible to determine whether to receive the packet.

또한, 본 발명은 네트워크로 연결되지 않은 단말 장치로부터 수신한 패킷의 차단과 관련된 방화벽 정보를 제어 장치로부터 수신함으로써, 상기 패킷의 차단 여부를 결정할 수 있다. Also, according to the present invention, it is possible to determine whether to block a packet by receiving firewall information related to blocking a packet received from a terminal device not connected to a network from a control device.

또한, 본 발명은 증가하는 사용자들의 수 만큼 노드 장치를 추가로 설치해야 하는 경우, 설치된 노드 장치들까지도 하나의 네트워크 망을 통해 관리하기 위한 네트워크 장치(스위치 등)의 추가가 필요 없을 수 있다. In addition, in the present invention, when it is necessary to additionally install node devices as the number of users increases, it may not be necessary to add a network device (switch, etc.) for managing even the installed node devices through one network.

또한, 본 발명은 동일한 사용자에게 할당된 가상 머신들 사이에 패킷의 공유를 위해서 가상 머신을 동적으로 사용자들에게 할당하고, 제어 정보의 변경 만으로 제1 사용자에게 할당된 가상 머신을 다른 사용자에게 할당할 수 있다.In addition, the present invention dynamically allocates virtual machines to users in order to share packets among virtual machines assigned to the same user, and allocates a virtual machine assigned to a first user to another user only by changing control information. can

도 1은 본 발명의 실시예들에 따른 네트워크 시스템 및 단말 장치를 포함하는 전체적인 시스템을 나타내는 도면이다.
도 2는 제어 장치 및 노드 장치의 구조를 나타내는 블록도이다.
도 3은 제어 장치의 저장 매체의 구조를 나타내는 블록도이다.
도 4는 노드 장치의 저장 매체의 구조를 나타내는 블록도이다.
도 5는 패킷 제어부의 구조를 나타내는 블록도이다.
도 6 내지 도 7은 노드 장치에서의 패킷을 처리하는 방법을 나타내는 도면이다.
도 8은 본 발명의 실시예들에 따른 제어 장치에 의해 생성되는 제어 정보의 일 예를 나타내는 도면이다.
1 is a diagram showing an overall system including a network system and a terminal device according to embodiments of the present invention.
2 is a block diagram showing the structure of a control device and a node device.
3 is a block diagram showing the structure of the storage medium of the control device.
4 is a block diagram showing the structure of a storage medium of a node device.
5 is a block diagram showing the structure of a packet control unit.
6 to 7 are diagrams illustrating a method of processing a packet in a node device.
8 is a diagram illustrating an example of control information generated by a control device according to embodiments of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. Since the present invention can apply various transformations and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. Effects and features of the present invention, and methods for achieving them will become clear with reference to the embodiments described later in detail together with the drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various forms.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, and when describing with reference to the drawings, the same or corresponding components are assigned the same reference numerals, and overlapping descriptions thereof will be omitted. .

이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. In the following embodiments, terms such as first and second are used for the purpose of distinguishing one component from another component without limiting meaning.

이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는한, 복수의 표현을 포함한다. In the following examples, expressions in the singular number include plural expressions unless the context clearly dictates otherwise.

이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서 상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징을 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. In the following embodiments, terms such as include or have mean that features or elements described in the specification exist, and do not preclude the possibility that one or more other features or elements may be added.

어떤 실시예가 달리 구현 가능한 경우에 특정한 공정 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 공정이 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다. When an embodiment is otherwise implementable, a specific process sequence may be performed differently from the described sequence. For example, two processes described in succession may be performed substantially simultaneously, or may be performed in an order reverse to the order described.

이하의 실시예에서, "회로"는, 예를 들어, 프로그램가능한 회로에 의해 실행되는 인스트럭션을 저장하는 하드와이어드 회로, 프로그램가능한 회로, 상태 머신 회로, 및/또는 펌웨어를 단독으로 또는 임의의 조합으로 포함할 수 있다. 애플리케이션은 호스트 프로세서 또는 다른 프로그램가능한 회로와 같은 프로그램가능한 회로 상에서 실행될 수 있는 코드 또는 인스트럭션으로서 구현될 수 있다. 본원의 임의의 실시예에서 사용되는 바와 같은, 모듈은,회로로서 구현될 수 있다. 회로는 집적 회로 칩과 같은 집적 회로로서 구현될 수 있다.In the following embodiments, “circuit” refers to, for example, hardwired circuitry, programmable circuitry, state machine circuitry, and/or firmware that store instructions executed by the programmable circuitry, alone or in any combination. can include An application may be implemented as code or instructions executable on programmable circuitry, such as a host processor or other programmable circuitry. As used in any of the embodiments herein, a module may be implemented as a circuit. The circuit may be implemented as an integrated circuit such as an integrated circuit chip.

이하의 실시예에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In the following embodiments, when a part "includes" a certain component, it means that it may further include other components, not excluding other components unless otherwise stated. In addition, terms such as “… unit”, “… unit”, and “module” described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software or a combination of hardware and software. there is.

도 1은 본 발명의 실시예들에 따른 네트워크 시스템(10)을 나타내는 도면이다. 1 is a diagram showing a network system 10 according to embodiments of the present invention.

도 1을 참조하면, 본 발명의 실시예들에 따른 네트워크 시스템(10)은 제1 네트워크로 연결된 제어 장치(100) 및 복수의 노드 장치들(201, 202, 이하 200)을 포함한다. 네트워크 시스템(10)은 복수의 단말 장치들(401, 402, 이하 400)과 상기 제1 네트워크와 다른 제2 네트워크(300)로 연결될 수 있다. Referring to FIG. 1 , a network system 10 according to embodiments of the present invention includes a control device 100 and a plurality of node devices 201 and 202 (hereinafter referred to as 200) connected through a first network. The network system 10 may be connected to a plurality of terminal devices 401, 402, 400 and a second network 300 different from the first network.

네트워크 시스템(10)은 제1 네트워크로 연결되어 하나의 클라우드 서비스를 제공하는 서버로서, 복수의 사용자들에게 저장 공간을 제공할 수 있다. 이때, 사용자들이 사용한 공간이 늘어나면서, 물리적으로 분리된 노드 장치들(200)의 가상 머신들이 하나의 사용자에게 할당되도록 설정될 수 있고, 물리적으로 분리된 노드 장치들(200)에 존재하는 서로 다른 사용자의 저장 영역이 공유되도록 설정할 수도 있다. 이와 같은 기능을 수행하기 위해서는 종래에는 노드 장치들(200)로 수신된 패킷의 처리 및 제어를 담당하는 스위치 장치를 포함하였고, 스위치 장치가 가지는 한정된 리소스를 통해서 관리되는 노드 장치들(200), 가상 머신의 수, 사용자의 수에는 한정이 있었다. 그러나, 본 발명의 실시예들에 따른 네트워크 시스템(10)은 패킷의 처리 및 제어를 담당하는 스위치 장치를 물리적으로 추가함이 없이 소프트웨어 적으로 구현된 제어 장치(100)를 통해서 패킷의 처리 및 제어를 담당할 수 있다. 또한, 제어 정보의 생성 및 변경은 스위치 장치에 대한 설정 변경 없이 소프트웨어 적인 설정, 저장을 통해서 가능할 수 있다. The network system 10 is a server that is connected to a first network and provides one cloud service, and can provide storage space to a plurality of users. At this time, as the space used by the users increases, the virtual machines of the physically separated node devices 200 may be set to be allocated to one user, and the different physical machines existing in the physically separated node devices 200 You can also set the user's storage area to be shared. In order to perform such a function, conventionally, a switch device in charge of processing and controlling packets received by the node devices 200 was included, and the node devices 200 managed through limited resources of the switch device, virtual The number of machines and the number of users were limited. However, the network system 10 according to embodiments of the present invention processes and controls packets through the control device 100 implemented in software without physically adding a switch device in charge of processing and controlling packets. can be in charge of In addition, generation and change of control information may be possible through software setting and storage without changing the setting of the switch device.

또한, 이미 설정된 가상 머신들로 인해, 저장 영역이 늘어나서 복수의 가상 머신을 하나의 사용자에게 할당하는 경우, 복수의 가상 머신들에 대한 중복된 제어 정보들이 필요했다. 그러나, 본 발명의 실시예들에 따른 네트워크 시스템(10)은 가상 머신을 미리 설정하지 않고, 사용자에게 제공되는 영역의 크기를 고려하여 가상 머신을 동적으로 생성할 수 있다. 또한, 종래의 네트워크 시스템의 제어 정보는 관리자에 의해 생성될 수 있는데 반해 본 발명의 실시예들에 따른 네트워크 시스템(10)의 제어 정보 및/또는 방화벽 정보는 서비스를 사용하는 사용자에 의해서도 생성, 변경될 수 있다. In addition, when a plurality of virtual machines are assigned to one user due to an increase in storage area due to already set virtual machines, overlapping control information for the plurality of virtual machines is required. However, the network system 10 according to embodiments of the present invention may dynamically create a virtual machine in consideration of the size of an area provided to a user, without setting the virtual machine in advance. In addition, control information of a conventional network system can be created by an administrator, whereas control information and/or firewall information of the network system 10 according to embodiments of the present invention are created and changed by a user using a service. It can be.

제어 장치(100) 및 복수의 노드 장치들(200)은 복수의 사용자들에게 할당되는 복수의 가상 머신을 포함할 수 있다. 제어 장치(100)는 하나의 클라우드 서버로서 동작하기 위한 제어 정보 등을 저장 관리하게 된다. 노드 장치들(200)은 각각 하나 이상의 가상 머신을 생성하고, 가상 머신을 사용자에게 할당하게 된다. 여기서, 가상 머신들은 물리적으로는 하나의 장치에 포함되어 있으나, 논리적으로 독립된 장치를 말한다. 가상 머신은 가상 머신(드라이브 등)을 생성하는 애플리케이션 또는 프로그램에 의해서 생성될 수 있다. 가상 머신을 각각 구별하기 위해서, 제어 장치(100)는 각 가상 머신에는 구별되는 물리 주소를 할당하게 된다. 제1 사용자에게 할당된 하나 또는 그 이상의 가상 머신은 물리적으로 분리된 노드 장치들(200)에 포함될 수 있는데, 이런 경우, 원활한 데이터 공유를 위해서, 제어 장치(100)는 제1 가상 머신 및 제2 가상 머신 사이의 패킷을 송수신할 수 있도록 노드 장치들(200)을 제어한다. The control device 100 and the plurality of node devices 200 may include a plurality of virtual machines allocated to a plurality of users. The control device 100 stores and manages control information for operating as one cloud server. Each of the node devices 200 creates one or more virtual machines and allocates the virtual machines to users. Here, the virtual machines are physically included in one device, but refer to logically independent devices. A virtual machine may be created by an application or program that creates a virtual machine (drive, etc.). In order to distinguish each virtual machine, the control device 100 assigns a distinct physical address to each virtual machine. One or more virtual machines assigned to the first user may be included in the physically separated node devices 200. In this case, for smooth data sharing, the control device 100 may include the first virtual machine and the second virtual machine. Controls the node devices 200 to transmit and receive packets between virtual machines.

종래에는 제1 네트워크로 연결된 각 노드 장치에 포함된 가상 머신들의 수량이 고정되며, 하나의 가상 머신은 하나의 사용자에게 할당되어야만 했다. 그러나, 본 발명의 실시예들에 따른 노드 장치(200)들은 고정되지 않고, 다양하게 분할된 가상 머신들을 포함하게 되며, 각 노드 장치(200)는 다양한 수의 사용자들에게 할당될 수 있는 가상 머신들을 포함하게 된다. 즉, 각 노드 장치(200)는 사용자에 의해 설정된 다양한 용량의 가상 머신들을 포함할 수 있다. 또한, 노드 장치(200)에 포함된 가상 머신들이 사용자들에게 할당됨에 따라 정적으로 관리되는 제어 정보 영역을 포함하게 된다. 또한, 사용자의 요청에 따라 제어 장치(100)는 동일한 사용자에게 할당되지 않은 가상 머신들 사이의 통신도 허용하는 제어 정보를 생성함에 따라, 동일한 사용자들에게 할당되지 않은 가상 머신들 사이의 통신을 가능하게 한다. Conventionally, the number of virtual machines included in each node device connected to the first network is fixed, and one virtual machine has to be allocated to one user. However, the node devices 200 according to embodiments of the present invention are not fixed, and include variously divided virtual machines, and each node device 200 is a virtual machine that can be assigned to various numbers of users. will include That is, each node device 200 may include virtual machines of various capacities set by the user. In addition, as the virtual machines included in the node device 200 are allocated to users, a statically managed control information area is included. In addition, as the control device 100 generates control information allowing communication between virtual machines not assigned to the same user according to a user's request, communication between virtual machines not assigned to the same user is possible. let it

제어 장치(100)는 제1 네트워크로 연결된 복수의 노드 장치들(200) 사이의 패킷의 처리를 제어한다. 이를 위해서, 제어 장치(100)는 상기 패킷의 수신 여부를 결정하는 제어 정보를 생성할 수 있다. 각 노드 장치(200)는 하나 이상의 가상 머신을 포함할 수 있는데, 제어 장치(100)는 서로 다른 노드 장치(200)에 포함된 제1 가상 머신 및 제2 가상 머신 사이의 관계를 제어 정보로 생성할 수 있다. 제어 장치(100)는 동일한 사용자에게 할당되어 패킷의 공유가 필요한 제1 가상 머신 및 제2 가상 머신에 할당된 물리 주소들을 서로 연결시키는 제어 정보를 생성할 수 있다. 여기서, 물리 주소들을 연결시키는 방법은 제1 가상 머신의 물리 주소 및 제2 가상 머신의 물리 주소의 일부가 일치하도록 설정할 수도 있으며, 연결 관계, 소유 관계가 있는 제1 가상 머신 및 제2 가상 머신의 물리 주소들을 하나의 레코드로 생성하여 저장할 수도 있다. 제어 장치(100)는 각 노드 장치(200)로부터의 요청에 따라 각 노드 장치(200)의 주소와 관련된 제어 정보를 검색하여 전송할 수 있다. The control device 100 controls packet processing between a plurality of node devices 200 connected to a first network. To this end, the control device 100 may generate control information for determining whether to receive the packet. Each node device 200 may include one or more virtual machines, and the control device 100 generates a relationship between a first virtual machine and a second virtual machine included in different node devices 200 as control information. can do. The control device 100 may generate control information for connecting physical addresses allocated to the first virtual machine and the second virtual machine that are allocated to the same user and need to share packets. Here, the method of connecting the physical addresses may be set so that parts of the physical addresses of the first virtual machine and the physical addresses of the second virtual machine match, and the connection relationship, the ownership relationship between the first virtual machine and the second virtual machine may be set. Physical addresses can also be created and stored as one record. The control device 100 may retrieve and transmit control information related to the address of each node device 200 according to a request from each node device 200 .

제어 장치(100)는 외부의 단말 장치(400)로부터 노드 장치(200)가 수신한 외부 패킷의 처리를 제어한다. 이를 위해서, 제어 장치(100)는 상기 외부 패킷의 차단 여부를 결정하는 방화벽 정보를 생성할 수 있다. 제어 장치(100)는 외부의 단말 장치(400)로부터의 패킷을 노드 장치(200)에 의해 수신하도록 제어한다. 제어 장치(100) 및 노드 장치(200)는 외부 네트워크 망과 연결되지 않은 폐쇄적인 네트워크 망으로 연결되어 있다. 제어 장치(100)는 구체적으로 오픈플로우 기술이 적용된 제어 장치를 말할 수 있으며, 플로우 테이블을 저장하는 장치 및 오플플로우 패킷을 제어하는 장치를 포함할 수 있다. The control device 100 controls processing of external packets received by the node device 200 from the external terminal device 400 . To this end, the control device 100 may generate firewall information for determining whether or not to block the external packet. The control device 100 controls a packet from an external terminal device 400 to be received by the node device 200 . The control device 100 and the node device 200 are connected to a closed network that is not connected to an external network. The control device 100 may specifically refer to a control device to which openflow technology is applied, and may include a device for storing a flow table and a device for controlling openflow packets.

제어 장치(100)는 제어 정보 및/또는 방화벽 정보를 설정하는 패킷을 통해 제어 정보 및/또는 방화벽 정보를 생성, 변경할 수도 있다. 제어 장치(100)는 사용자의 단말 장치(400)로부터 수신한 패킷을 통해 제어 정보 및/또는 방화벽 정보를 생성, 변경할 수 있다. The control device 100 may generate or change control information and/or firewall information through packets for setting control information and/or firewall information. The control device 100 may generate or change control information and/or firewall information through a packet received from the user's terminal device 400 .

여기서, 제1 네트워크는 제어장치(100) 및 노드 장치(200)를 연결하는 역할을 수행한다. 즉, 제1 네트워크는 복수 개의 노드 장치들(200)이 제어 장치(100)에 접속한 후 데이터를 송수신할 수 있도록 접속 경로를 제공하는 통신망을 의미한다. 제1 네트워크는 예컨대 LANs(Local Area Networks), WANs(Wide Area Networks), MANs(Metropolitan Area Networks), ISDNs(Integrated Service Digital Networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.Here, the first network serves to connect the control device 100 and the node device 200. That is, the first network refers to a communication network that provides an access path so that the plurality of node devices 200 can transmit and receive data after accessing the control device 100 . The first network is, for example, a wired network such as LANs (Local Area Networks), WANs (Wide Area Networks), MANs (Metropolitan Area Networks), ISDNs (Integrated Service Digital Networks), wireless LANs, CDMA, Bluetooth, satellite communication, etc. It may cover a wireless network, but the scope of the present invention is not limited thereto.

복수 개의 노드 장치들(200)은 컴퓨터(예를 들면, 데스크톱, 랩톱, 태블릿 등), 미디어 컴퓨팅 플랫폼(예를 들면, 케이블, 위성 셋톱박스, 디지털 비디오 레코더), 핸드헬드 컴퓨팅 디바이스(예를 들면, PDA, 이메일 클라이언트 등), 핸드폰의 임의의 형태, 또는 다른 종류의 컴퓨팅 또는 커뮤니케이션 플랫폼의 임의의 형태를 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니다. The plurality of node devices 200 may include a computer (eg, desktop, laptop, tablet, etc.), a media computing platform (eg, cable, satellite set-top box, digital video recorder), a handheld computing device (eg, , PDA, e-mail client, etc.), any type of cell phone, or any type of other kind of computing or communication platform, but the invention is not limited thereto.

제2 네트워크(300)는 복수 개의 단말 장치(400)들과 노드 장치(200)를 연결하는 역할을 수행한다. 즉, 제2 네트워크(300)는 복수 개의 단말 장치들(400)이 복수 개의 단말 장치(400)에 접속한 후 데이터를 송수신할 수 있도록 접속 경로를 제공하는 통신망을 의미한다. 제2 네트워크(300)는 예컨대 LANs(Local Area Networks), WANs(Wide Area Networks), MANs(Metropolitan Area Networks), ISDNs(Integrated Service Digital Networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. The second network 300 serves to connect the plurality of terminal devices 400 and the node device 200. That is, the second network 300 means a communication network that provides an access path so that the plurality of terminal devices 400 can transmit and receive data after accessing the plurality of terminal devices 400 . The second network 300 may be, for example, a wired network such as LANs (Local Area Networks), WANs (Wide Area Networks), MANs (Metropolitan Area Networks), ISDNs (Integrated Service Digital Networks), wireless LANs, CDMA, Bluetooth, satellite It may cover a wireless network such as communication, but the scope of the present invention is not limited thereto.

복수의 단말 장치들(400)은 유무선 통신 환경에서 웹 서비스를 이용할 수 있는 통신 단말기를 의미한다. 여기서, 복수의 단말 장치들(400)은 사용자의 퍼스널 컴퓨터일 수도 있고, 또는 사용자의 휴대용 단말일 수도 있다. The plurality of terminal devices 400 refer to communication terminals capable of using web services in a wired/wireless communication environment. Here, the plurality of terminal devices 400 may be a user's personal computer or a user's portable terminal.

이를 더욱 상세히 설명하면, 복수의 단말 장치들(400)은 컴퓨터(예를 들면, 데스크톱, 랩톱, 태블릿 등), 미디어 컴퓨팅 플랫폼(예를 들면, 케이블, 위성 셋톱박스, 디지털 비디오 레코더), 핸드헬드 컴퓨팅 디바이스(예를 들면, PDA, 이메일 클라이언트 등), 핸드폰의 임의의 형태, 또는 다른 종류의 컴퓨팅 또는 커뮤니케이션 플랫폼의 임의의 형태를 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니다. Describing this in more detail, the plurality of terminal devices 400 include a computer (eg, desktop, laptop, tablet, etc.), a media computing platform (eg, cable, satellite set-top box, digital video recorder), handheld It may include any form of computing device (eg, PDA, email client, etc.), cell phone, or other kind of computing or communication platform, but the invention is not limited thereto.

도 2는 본 발명의 실시예들에 따른 제어 장치(100)의 구조를 나타내는 블록도이다. 2 is a block diagram showing the structure of a control device 100 according to embodiments of the present invention.

도 2를 참조하면, 본 발명의 실시예들에 따른 제어 장치(100)는 통신 인터페이스(110), 프로세서(120), 저장 매체(130)를 포함할 수 있다. Referring to FIG. 2 , a control device 100 according to embodiments of the present invention may include a communication interface 110 , a processor 120 , and a storage medium 130 .

통신 인터페이스부(110)는 제1 네트워크로 연결된 복수의 노드 장치(200)들과 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다. 통신 인터페이스부(110)는 제1 네트워크 외의 제2 네트워크를 통해서는 데이터 송수신하지 않도록 제어할 수 있다. The communication interface unit 110 may be a device including hardware and software necessary for transmitting and receiving a signal such as a control signal or a data signal with a plurality of node devices 200 connected to the first network. The communication interface unit 110 may control not to transmit/receive data through the second network other than the first network.

프로세서(120)는 통상적으로 제어 장치(100)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(120)는 저장 매체(130)에 탑재된 제어 소프트웨어 뿐만 아니라, 제어 정보 처리부(131), 방화벽 정보 처리부(132)를 실행하도록 제어할 수 있다. The processor 120 typically controls the overall operation of the control device 100 . For example, the processor 120 may control the control software loaded in the storage medium 130 as well as the control information processing unit 131 and the firewall information processing unit 132 to be executed.

프로세서(120)(processor)는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.The processor 120 may refer to a data processing device embedded in hardware having a physically structured circuit to perform functions expressed by codes or instructions included in a program, for example. As an example of such a data processing device built into hardware, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated (ASIC) circuit), field programmable gate array (FPGA), etc., but the scope of the present invention is not limited thereto.

저장 매체(130)는 제어 장치(100)에 포함되거나 제어 장치(100)와 전기적으로 연결된 저장 장치를 말한다. 저장 매체(130)는 제어 장치(100)의 동작을 위한 복수의 모듈들을 저장할 수 있다. The storage medium 130 refers to a storage device included in the control device 100 or electrically connected to the control device 100 . The storage medium 130 may store a plurality of modules for the operation of the control device 100 .

저장 매체(130)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. The storage medium 130 is a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg SD or XD memory, etc.), RAM (RAM, Random Access Memory) SRAM (Static Random Access Memory), ROM (ROM, Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic It may include at least one type of storage medium among a disk and an optical disk.

도 3은 제어 장치(100)의 구조를 나타내는 블록도이다. 3 is a block diagram showing the structure of the control device 100.

도 3을 참조하면, 제어 장치(100)는 제어 정보 처리부(131) 및 방화벽 정보 처리부(132)를 포함할 수 있다. Referring to FIG. 3 , the control device 100 may include a control information processing unit 131 and a firewall information processing unit 132 .

제어 정보 처리부(131)는 제1 네트워크로 연결된 노드 장치들(200) 사이의 패킷 송수신을 처리하기 위한 제어 정보를 생성하고, 변경하는 기능을 수행한다. 제어 정보는 제1 네트워크에 포함된 하나 이상의 가상 머신들 사이의 관계를 설정하는 정보로서, 동일한 사용자에게 가상 머신을 식별하기 위해 부여된 물리 주소를 이용하여 생성될 수 있다. 예를 들어, 제어 정보는 제1 사용자에게 할당된 가상 머신의 물리 주소들을 2개씩 혹은 그 이상으로 연결한 정보로 생성될 수 있다. The control information processing unit 131 performs a function of generating and changing control information for processing packet transmission and reception between the node devices 200 connected to the first network. The control information is information for establishing a relationship between one or more virtual machines included in the first network, and may be generated using a physical address assigned to the same user to identify the virtual machine. For example, the control information may be generated by connecting two or more physical addresses of virtual machines assigned to the first user.

제어 정보 처리부(131)는 노드 장치들(200)로 악성 코드, 바이러스 등의 공격의 대상이 되는 패킷을 차단하기 위해서 가상 머신들의 MAC/IP 정보를 저장 관리 할 수 있다. 제어 정보 처리부(131)는 저장된 가상 머신들의 MAC/IP 주소를 이용하여, 목적지와 대응되는 네트워크 주소가 변조된 패킷을 드랍(drop)시킬 수 있다. 제어 정보 처리부(131)는 네트워드 주소가 변조된 패킷이 유입되면, 자동적으로 이에 대한 처리를 위한 제어 정보를 요청하고, 미리 등록된 변조 패킷과 관련된 정보와 비교하여 통신 가능 여부를 확인할 수 있다. 상기 변조 패킷과 관련된 정보는 MAC/IP 어드레스 정보를 포함할 수 있다. 제어 정보 처리부(131)는 네트워크 정보가 변조된 패킷에 대한 제어 정보(drop rule)를 생성하여 저장할 수 있다. The control information processing unit 131 may store and manage MAC/IP information of virtual machines in order to block packets that are targets of attacks such as malicious codes and viruses by the node devices 200 . The control information processing unit 131 may drop a packet whose network address corresponding to the destination is modulated by using the MAC/IP addresses of the stored virtual machines. The control information processing unit 131 automatically requests control information for processing when a packet whose netword address is modulated is introduced, and compares information related to modulated packets registered in advance to check whether communication is possible. Information related to the modulated packet may include MAC/IP address information. The control information processing unit 131 may generate and store control information (drop rule) for packets in which network information is modulated.

방화벽 정보 처리부(132)는 노드 장치들(200)이 수신한 제2 네트워크(300)로부터의 패킷 송수신을 처리하기 위한 방화벽 정보를 생성하고, 변경하는 기능을 수행한다. 방화벽 정보는 차단할 패킷의 네트워크 정보이며, 네트워크 정보를 변조한 패킷과 관련된 정보를 포함할 수 있다. 네트워크 정보가 변조된 패킷은 악성 코드 및/또는 바이러스 등이 포함되었을 가능성이 높으므로, 변조 여부를 통해 차단 여부를 결정할 수 있다. 또한, 방화벽 정보는 차단되어야 하는 패킷의 목적지와 대응되는 IP 정보, 서브넷 마스크 등을 포함할 수 있다. 제어 장치(100)는 수신된 패킷의 차단 여부를 좀더 빠르게 검색할 수 있도록 각 정보의 종류 별로 정렬되도록 제어할 수 있다. The firewall information processing unit 132 performs a function of generating and changing firewall information for processing packet transmission and reception from the second network 300 received by the node devices 200 . The firewall information is network information of a packet to be blocked, and may include information related to a packet for which network information has been tampered with. Since packets in which network information has been altered are highly likely to contain malicious codes and/or viruses, it is possible to determine whether or not to block based on whether or not the packets have been tampered with. In addition, the firewall information may include IP information corresponding to the destination of a packet to be blocked, a subnet mask, and the like. The control device 100 may control the information to be sorted according to each type of information so as to more quickly search whether or not the received packet is blocked.

본 발명의 실시예들에 따른 제어 장치(100)는 제1 네트워크로 연결된 노드 장치들(200)로부터의 요청에 따라 패킷의 처리와 관련된 제어 정보 및 방화벽 정보를 상기 노드 장치(200)로 전송하게 된다. 이를 통해, 본 발명의 실시예들에 따른 제어 장치(100)는 폐쇄된 망으로 연결된 노드 장치(200)들 사이의 패킷 송수신을 관리할 수 있다. The control device 100 according to embodiments of the present invention transmits control information and firewall information related to packet processing to the node device 200 according to a request from the node devices 200 connected to the first network. do. Through this, the control device 100 according to embodiments of the present invention may manage packet transmission and reception between node devices 200 connected to a closed network.

도 4는 노드 장치(200)의 구조를 나타내는 블록도이다. 4 is a block diagram showing the structure of the node device 200.

도 4를 참조하면, 노드 장치(200)는 통신 인터페이스부(210)를 통해 수신된 패킷을 수신하거나 차단하는 등의 기능을 수행하는 패킷 제어부(231), 하나 이상의 가상 머신(232a, 232b 이하, 232)를 포함할 수 있다. Referring to FIG. 4, the node device 200 includes a packet control unit 231 that performs functions such as receiving or blocking packets received through the communication interface unit 210, one or more virtual machines 232a, 232b or less, 232) may be included.

패킷 제어부(231)는 통신 인터페이스부(210)를 통해 수신된 패킷을 수신하거나 차단하는 등의 기능을 수행할 수 있으며, 패킷의 오류를 검출하거나 검출된 오류를 회복 시키는 오류 제어 기능을 수행할 수도 있다. 또한, 패킷 제어부(231)는 발신 장치 및 수신 장치 사이의 속도 차이를 해결하기 위해 흐름을 제어하는 기능을 수행하고, 패킷, 프레임의 동기를 맞추는 기능을 수행할 수도 있다. 또한, 패킷 제어부(231)는 패킷이 발신지인 제1 노드 장치(200)로부터 목적지인 제2 노드 장치(200)로 성공적으로 전송될 수 있도록 하는 기능을 수행할 수도 있다. 패킷 제어부(231)에 대한 상세한 설명은 도 5에 대한 설명에서 하겠다. The packet control unit 231 may perform functions such as receiving or blocking packets received through the communication interface unit 210, and may also perform an error control function of detecting errors in packets or recovering detected errors. there is. In addition, the packet control unit 231 may perform a function of controlling a flow in order to solve a speed difference between a sending device and a receiving device, and may perform a function of synchronizing packets and frames. In addition, the packet control unit 231 may perform a function of enabling packets to be successfully transmitted from the first node device 200 as a source to the second node device 200 as a destination. A detailed description of the packet controller 231 will be given in the description of FIG. 5 .

노드 장치(200)는 물리적으로는 하나의 컴퓨팅 장치이지만 논리적으로는 분리된 하나 이상의 가상 머신(232)를 포함할 수 있다. 가상 머신(232)은 관리자에 의해 소정의 프로그램, 애플리케이션을 통해 생성될 수 있다. 하나의 노드 장치(200)에 포함된 가상 머신(232)이라 하더라도, 상기 하나 이상의 가상 머신(232)는 각각 구별되는 물리 주소로 할당될 수 있다. The node device 200 may include one or more virtual machines 232 that are physically one computing device but are logically separated. The virtual machine 232 may be created by a manager through a predetermined program or application. Even if the virtual machine 232 is included in one node device 200, the one or more virtual machines 232 may be assigned to each distinct physical address.

본 발명의 실시예들에 따른 제어 장치(100) 및 노드 장치들(200)을 포함하는 네트워크 시스템(10)은 클라우드 서비스를 제공하면서 좀더 넓은 저장 공간을 필요로 할 수 있는데, 이런 경우, 노드 장치를 추가하고, 노드 장치에 하나 이상의 가상 머신을 설정하는 과정을 거치게 된다. 클라우드 서비스를 제공하는 제공자는 클라우드 서비스를 사용하는 사용자를 위한 저장 공간을 제공하기 위해서, 사용자들에게 각각 할당되는 가상 머신들을 생성하게 된다. 또한, 클라우드 서비스를 제공하는 제공자는 서로 다른 노드 장치들에 할당된 복수의 가상 머신들을 하나의 사용자에게 할당할 수도 있다. 도 5는 패킷 제어부(231)의 구조를 나타내는 블록도이다. The network system 10 including the control device 100 and the node devices 200 according to embodiments of the present invention may require a wider storage space while providing a cloud service. In this case, the node device and go through the process of configuring one or more virtual machines on the node device. A provider providing a cloud service creates virtual machines allocated to each user in order to provide storage space for users using the cloud service. In addition, a provider providing a cloud service may allocate a plurality of virtual machines allocated to different node devices to one user. 5 is a block diagram showing the structure of the packet control unit 231.

도 5를 참조하여 본 발명의 실시예들에 따른 노드 장치(200)의 패킷 제어부(231)가 제어 정보를 요청하고 수신하는 과정을 중심으로 설명하겠다. 패킷 제어부(231)는 수신 제어부(2311), 제어 정보 요청부(2312), 제어 정보 수신부(2313), 패킷 처리부(2314), 백업부(2315)를 포함할 수 있다. Referring to FIG. 5 , a process of requesting and receiving control information by the packet control unit 231 of the node device 200 according to embodiments of the present invention will be described. The packet control unit 231 may include a reception control unit 2311, a control information request unit 2312, a control information reception unit 2313, a packet processing unit 2314, and a backup unit 2315.

본 발명의 실시예들에 따른 노드 장치(200)는 패킷을 수신한 경우, 상기 패킷의 처리와 관련하여 자체적으로 처리하지 않고, 제1 네트워크로 연결된 제어 장치(100)에게 제어와 관련된 정보를 요청하고, 상기 요청의 응답으로 수신된 정보에 따라 패킷의 수신 또는 차단 여부를 결정하게 된다. 종래의 클라우드 서비스를 제공하는 노드 장치들의 경우, 생성시부터 패킷을 서로 공유하는, 동일한 사용자에게 할당된 가상 머신들에 소정의 범위에 포함되는 네트워크 정보 예를 들어 물리 주소, 서브넷 마스크를 할당하는데 반해, 본 발명의 실시예들에 따른 노드 장치(200)는 패킷을 서로 공유할 수 있도록 제어 정보를 일일이 제어 장치(100)로부터 수신하여 처리한다. 이를 통해, 노드 장치(200)는 가상 머신을 동적으로 사용자들에게 할당할 수 있다. 좀더 구체적으로는 제어 장치(100)는 상기 가상 머신에 대한 제어 정보 만을 변경함으로써, 제1 사용자에게 할당된 가상 머신을 제1 사용자가 아닌 다른 사용자에게 할당할 수 있다. When the node device 200 according to embodiments of the present invention receives a packet, it does not process itself in relation to the processing of the packet, but requests information related to control from the control device 100 connected to the first network. and determines whether to receive or block the packet according to the information received as a response to the request. In the case of conventional node devices providing cloud services, network information included in a predetermined range, such as a physical address and a subnet mask, is allocated to virtual machines assigned to the same user that share packets from the time of creation. , The node device 200 according to embodiments of the present invention receives and processes control information individually from the control device 100 so that packets can be shared with each other. Through this, the node device 200 may dynamically allocate virtual machines to users. More specifically, the control device 100 may allocate a virtual machine allocated to the first user to a user other than the first user by changing only control information on the virtual machine.

수신 제어부(2311)는 통신 인터페이스부(210)를 통해 수신된 패킷에 포함된 발신지 IP 주소를 고려하여, 상기 패킷의 발신 장치가 제1 네트워크로 연결되어 있는지 또는 상기 제1 네트워크가 아닌 다른 네트워크로 연결되어 있는지 여부를 판단할 수 있다. The reception control unit 2311 considers the source IP address included in the packet received through the communication interface unit 210, and determines whether the originating device of the packet is connected to the first network or to a network other than the first network. You can determine whether or not they are connected.

정보 요청부(2312)는 수신된 패킷이 제1 네트워크와 연결된 노드 장치(200)로부터 수신된 경우, 제어 정보를 요청하는 제1 신호를 생성하고, 상기 제1 신호를 제어 장치(100)로 전송한다. When the received packet is received from the node device 200 connected to the first network, the information request unit 2312 generates a first signal requesting control information and transmits the first signal to the control device 100. do.

정보 요청부(2312)는 수신된 패킷이 제1 네트워크와 연결되지 않은 단말 장치(400)로부터 수신된 경우, 방화벽 정보를 요청하는 제2 신호를 생성하고, 상기 제2 신호를 제어 장치로 전송한다. When the received packet is received from the terminal device 400 not connected to the first network, the information requesting unit 2312 generates a second signal requesting firewall information and transmits the second signal to the control device. .

정보 수신부(2313)는 제어 장치(100)로부터 상기 수신된 패킷과 관련된 제어 정보 또는 방화벽 정보를 수신한다. The information receiver 2313 receives control information or firewall information related to the received packet from the control device 100 .

패킷 처리부(2314)는 상기 정보 수신부(2313)를 통해 수신된 제어 정보에 따라 상기 수신된 패킷의 수신 여부를 결정하고, 상기 수신 여부에 따라 상기 패킷을 수신한다. 또한 패킷 처리부(2314)는 상기 정보 수신부(2313)를 통해 수신된 방화벽 정보에 따라 상기 수신된 상기 패킷을 차단한다. The packet processing unit 2314 determines whether or not the received packet is received according to the control information received through the information receiving unit 2313, and receives the packet according to whether or not the received packet has been received. Also, the packet processing unit 2314 blocks the received packet according to the firewall information received through the information receiving unit 2313.

백업부(2315)는 정보 수신부(2313)를 통해 수신된 패킷에 대한 제어 정보 또는 방화벽 정보를 백업하여 저장하는 기능을 수행한다. 백업부(2315)를 통해, 본 발명의 실시예들에 따른 노드 장치(200)는 이전에 수신된 패킷과 동일한 발신지 장치로부터 수신된 패킷의 처리를 위해서, 제어 정보 또는 방화벽 정보를 요청하는 신호를 중복해서 전송할 필요가 없다. 본 발명의 실시예들에 따른 노드 장치(200)는 이전에 수신된 패킷과 동일하게 현 패킷을 수신하거나 차단하게 된다. The backup unit 2315 performs a function of backing up and storing control information or firewall information for packets received through the information receiving unit 2313 . Through the backup unit 2315, the node device 200 according to embodiments of the present invention transmits a signal requesting control information or firewall information in order to process packets received from the same source device as previously received packets. There is no need to send duplicates. The node device 200 according to embodiments of the present invention receives or blocks the current packet in the same way as the previously received packet.

도 6 내지 도 7은 본 발명의 실시예들에 따른 패킷 처리 방법의 흐름도이다. 6 and 7 are flowcharts of a packet processing method according to embodiments of the present invention.

도 6의 흐름도는 제1 네트워크로 연결된 노드 장치들 간의 패킷을 처리하는 방법에 대한 것이다. 제1 노드 장치(201)가 제2 노드 장치(202)로 제1 패킷을 전송(S601)하게 되면, 즉 제1 네트워크로 연결된 제1 노드 장치(201)로부터 제2 노드 장치(202)로의 패킷 송수신이 발생하게 되면, 목적지인 제2 노드 장치(202)는 상기 제1 패킷에 대한 처리를 위해서, 제어 장치(100)로 제어 정보를 요청하는 신호를 전송하게 된다(S602). 제어 장치(100)는 상기 제1 패킷에 대한 제어 정보를 요청하는 신호에 포함된 발신지 주소 및 목적지 주소를 기초로 제어 정보를 검색하고, 검색된 제어 정보가 있는 경우, 상기 제어 정보를 제2 노드 장치(202)로 전송하게 된다(S603). 제2 노드 장치(202)는 상기 제어 정보에 따라 상기 제1 패킷의 수신 하게 된다. 좀더 구체적으로는 제2 노드 장치(202)는 상기 제1 패킷에 대한 제어 정보의 유무에 따라 즉 제어 정보가 존재하면, 제1 패킷을 수신하고, 제어 정보가 존재하지 않으면 제1 패킷을 수신하지 않을 수 있다. 또는 제2 노드 장치(202)는 상기 제1 패킷에 대한 제어 정보에 포함된 물리 주소들을 분석하여, 제1 패킷의 발신지 주소 및 목적지 주소와 대응되는 가상 머신들(232)이 동일한 사용자에게 할당되었는지 여부를 기준으로 제1 패킷의 수신 여부를 결정할 수 있다(S604). 즉, 제2 노드 장치(202)는 상기 제1 패킷에 대한 제어 정보에 포함된 물리 주소들을 분석하여, 제1 패킷의 발신지 주소 및 목적지 주소와 대응되는 가상 머신들(232)이 동일한 사용자 또는 공유되는 공간을 가지는 사용자에게 할당된 경우에 제1 패킷을 수신하도록 제어한다. 또는 제어 정보는 상기 제1 패킷의 변조 여부를 포함할 수 있다. 노드 장치들(200)은 제1 패킷의 네트워크 정보를 기초로 변조 여부를 판단할 수 있다. 변조 패킷이 발생되는 네트워크 정보를 제어 장치(100)로부터 획득함으로서, 노드 장치들(200)은 패킷의 드랍 여부를 결정할 수 있다. S604 단계의 후속으로, 제어 장치(100)는 상기 제1 패킷의 처리와 관련된 제어 정보를 생성 또는 변경하여 저장하게 된다. 즉, 제어 장치(100)는 상기 제1 패킷의 발신지 주소 및 목적지 주소를 짝으로 연결한 제어 정보를 생성하여 저장하게 된다. The flowchart of FIG. 6 relates to a method for processing packets between node devices connected to a first network. When the first node device 201 transmits the first packet to the second node device 202 (S601), that is, the packet from the first node device 201 connected to the first network to the second node device 202 When transmission/reception occurs, the destination second node device 202 transmits a signal requesting control information to the control device 100 in order to process the first packet (S602). The control device 100 searches for control information based on the source address and destination address included in the signal requesting control information for the first packet, and if there is the searched control information, the control information is transmitted to the second node device. It is transmitted to (202) (S603). The second node device 202 receives the first packet according to the control information. More specifically, the second node device 202 receives the first packet according to the presence or absence of control information for the first packet, that is, if the control information exists, and does not receive the first packet if the control information does not exist. may not be Alternatively, the second node device 202 analyzes the physical addresses included in the control information for the first packet to determine whether the virtual machines 232 corresponding to the source address and destination address of the first packet are allocated to the same user. Based on whether or not the first packet is received, it may be determined (S604). That is, the second node device 202 analyzes the physical addresses included in the control information for the first packet, and the virtual machines 232 corresponding to the source address and destination address of the first packet are the same user or shared Control to receive the first packet when it is allocated to a user having a space Alternatively, the control information may include whether or not the first packet is modulated. Node devices 200 may determine whether to modulate based on the network information of the first packet. By acquiring network information on which modulated packets are generated from the control device 100, the node devices 200 can determine whether to drop the packet. Following step S604, the control device 100 generates or changes control information related to the processing of the first packet and stores it. That is, the control device 100 generates and stores control information in which the source address and the destination address of the first packet are connected in pairs.

도 7의 흐름도는 노드 장치(200)가 제1 네트워크가 아닌 네트워크로 연결된 단말 장치(400)로부터 수신된 패킷을 처리하는 방법에 대한 것이다. The flowchart of FIG. 7 relates to a method in which the node device 200 processes packets received from the terminal device 400 connected to a network other than the first network.

단말 장치(400)가 노드 장치(200)로 제2 패킷을 전송(S701)하는 경우, 수신한 노드 장치(200)는 상기 제2 패킷에 대한 방화벽 정보를 조회하는 신호를 생성하여 제어 장치(100)로 전송하게 된다(S702). 제어 장치(100)는 상기 제2 패킷의 발신 장치인 단말 장치(400)와 대응되는 네트워크 정보를 기초로 방화벽 정보를 검색하고, 상기 단말 장치(400)의 네트워크 정보, 예를 들어 IP 주소, 서브넷 마스크, 물리 주소 중 적어도 하나 이상의 네트워크 정보와 대응되는 방화벽 정보가 존재하는 경우, 상기 방화벽 정보를 상기 노드 장치(200)로 전송한다(S703). 노드 장치(200)는 수신된 방화벽 정보에 따라 제2 패킷을 차단한다(S704). S704 단계의 후속으로 제어 장치(100)는 상기 제2 패킷의 처리와 관련된 방화벽 정보를 생성 또는 변경하여 저장하게 된다. 즉, 제어 장치(100)는 상기 제2 패킷의 네트워크 정보를 방화벽 정보로 생성하여 저장할 수 있다. 도 8은 본 발명의 실시예들에 따른 네트워크 시스템의 가상 머신의 동적 할당을 설명하기 위한 도면이다. When the terminal device 400 transmits the second packet to the node device 200 (S701), the received node device 200 generates a signal for querying firewall information for the second packet to control the control device 100 ) is transmitted (S702). The control device 100 searches for firewall information based on network information corresponding to the terminal device 400, which is the originating device of the second packet, and network information of the terminal device 400, for example, an IP address and a subnet. If there is firewall information corresponding to at least one network information of a mask and a physical address, the firewall information is transmitted to the node device 200 (S703). The node device 200 blocks the second packet according to the received firewall information (S704). Following step S704, the control device 100 creates or changes firewall information related to the processing of the second packet and stores it. That is, the control device 100 may generate and store the network information of the second packet as firewall information. 8 is a diagram for explaining dynamic allocation of virtual machines of a network system according to embodiments of the present invention.

도 8에 도시된 바와 같이, 제어 장치(100), 제1 노드 장치(201), 제2 노드 장치(202), 제3 노드 장치(203)를 포함하고, 제1 사용자 내지 제3 사용자에게 클라우드 서비스를 제공하는 네트워크 시스템(10)이 있다고 가정하자. 여기서, 제1 노드 장치(201)은 제1 가상 머신(VM1), 제2 가상 머신(VM2), 제3 가상 머신(VM3)을 포함하고, 제2 노드 장치(202)는 제4 가상 머신(VM4)를 포함하고, 제3 노드 장치(203)는 제5 가상 머신(VM5), 제6 가상 머신(VM6)를 포함한다. C1과 같이 최초에는 제1 사용자에게 제1 가상 머신(VM1) 및 제4 가상 머신(VM4)을 할당하고, 제2 사용자에게 제2 가상 머신(VM2), 제3 사용자에게 제3 가상 머신(VM3)을 할당하는 경우, 제어 장치(100)는 제1 사용자에게 할당된 제1 가상 머신의 물리 주소(VM1_phy_addr) 및 제4 가상 머신의 물리 주소(VM4_phy_addr)를 연결하는 제어 정보(FC1)를 생성하여 저장 관리한다. 이와 같이, 네트워크 시스템(10)에 포함된 노드 장치들(200)은 할당된 가상 머신의 수가 각각 다를 수 있다. 종래의 네트워크 시스템에 포함된 노드 장치들이 고정된 수의 가상 머신들을 가지는 반면, 본 발명의 실시예들에 따른 네트워크 시스템(10)은 각 노드 장치들(200)에 존재하는 할당되지 않은 영역에 추가적으로 제한 없이 가상 머신을 생성할 수 있다. As shown in Figure 8, including a control device 100, a first node device 201, a second node device 202, a third node device 203, the cloud to the first user to the third user Assume that there is a network system 10 providing a service. Here, the first node device 201 includes a first virtual machine (VM1), a second virtual machine (VM2), and a third virtual machine (VM3), and the second node device 202 is a fourth virtual machine ( VM4), and the third node device 203 includes a fifth virtual machine (VM5) and a sixth virtual machine (VM6). Like C1, the first virtual machine (VM1) and the fourth virtual machine (VM4) are initially allocated to the first user, the second virtual machine (VM2) to the second user, and the third virtual machine (VM3) to the third user. ) is allocated, the control device 100 generates control information (FC1) connecting the physical address (VM1_phy_addr) of the first virtual machine and the physical address (VM4_phy_addr) of the fourth virtual machine allocated to the first user. save and manage In this way, the node devices 200 included in the network system 10 may have different numbers of assigned virtual machines. While the node devices included in the conventional network system have a fixed number of virtual machines, the network system 10 according to the embodiments of the present invention additionally exists in the unallocated area present in each node device 200. You can create virtual machines without restrictions.

본 발명의 실시예들에 따른 네트워크 시스템(10)은 제어 장치(100)의 제어 정보 만을 변경하거나 새롭게 추가하는 방식으로 가상 머신을 추가하거나 다른 사용자에게 할당할 수 있기 때문에, C2와 같이 시간의 경과 후에, 제5 가상 머신(VM5)를 제1 사용자에게 할당하고, 제6 가상 머신(VM6)를 제3 사용자에게 할당할 수 있다. C2와 같은 상황이 되게 되면, 제어 장치(100)는 제1 가상 머신(VM1), 및 제4 가상 머신(VM4)를 새롭게 제1 사용자에게 할당된 제5 가상 머신(VM5)과 연결할 수 있도록 제1 가상 머신(VM1) 및 제5 가상 머신(VM5) 사이의 물리 주소를 연결하는 제어 정보 및 제4 가상 머신(VM4) 및 제5 가상 머신(VM5) 사이의 물리 주소를 연결하는 제어 정보(FC2)를 생성할 수 있다. 또한, 제어 장치(100)는 제3 가상 머신(VM3)을 새롭게 제3 사용자에게 할당된 제6 가상 머신(VM6)과 연결할 수 있도록 제3 가상 머신(VM3) 및 제6 가상 머신(VM6) 사이의 물리 주소를 연결하는 제어 정보(FC3)를 생성할 수 있다. Since the network system 10 according to the embodiments of the present invention can add a virtual machine or allocate it to another user by changing or newly adding only the control information of the control device 100, time elapses like C2. Later, the fifth virtual machine VM5 may be assigned to the first user, and the sixth virtual machine VM6 may be assigned to the third user. When a situation such as C2 is reached, the control device 100 is configured to connect the first virtual machine VM1 and the fourth virtual machine VM4 with the fifth virtual machine VM5 newly assigned to the first user. Control information linking physical addresses between the 1st virtual machine (VM1) and the fifth virtual machine (VM5) and control information (FC2) linking the physical addresses between the fourth virtual machine (VM4) and the fifth virtual machine (VM5). ) can be created. In addition, the control device 100 connects the third virtual machine VM3 with the sixth virtual machine VM6 newly assigned to the third user, so that the third virtual machine VM3 and the sixth virtual machine VM6 are connected. It is possible to generate control information (FC3) connecting the physical address of .

이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 나아가, 매체는 네트워크 상에서 전송 가능한 형태로 구현되는 무형의 매체를 포함할 수 있으며, 예를 들어 소프트웨어 또는 애플리케이션 형태로 구현되어 네트워크를 통해 전송 및 유통이 가능한 형태의 매체일 수도 있다. Embodiments according to the present invention described above may be implemented in the form of a computer program that can be executed on a computer through various components, and such a computer program may be recorded on a computer-readable medium. At this time, the medium is a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as a CD-ROM and a DVD, a magneto-optical medium such as a floptical disk, and a ROM hardware devices specially configured to store and execute program instructions, such as RAM, flash memory, and the like. Furthermore, the medium may include an intangible medium implemented in a form transmittable on a network, and may be, for example, a medium implemented in the form of software or an application and capable of transmission and distribution through a network.

한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.Meanwhile, the computer program may be specially designed and configured for the present invention, or may be known and usable to those skilled in the art of computer software. An example of a computer program may include not only machine language code generated by a compiler but also high-level language code that can be executed by a computer using an interpreter or the like.

본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.Specific implementations described in the present invention are examples and do not limit the scope of the present invention in any way. For brevity of the specification, description of conventional electronic components, control systems, software, and other functional aspects of the systems may be omitted. In addition, the connection of lines or connecting members between the components shown in the drawings are examples of functional connections and / or physical or circuit connections, which can be replaced in actual devices or additional various functional connections, physical connection, or circuit connections. In addition, if there is no specific reference such as "essential" or "important", it may not necessarily be a component necessary for the application of the present invention.

본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.In the specification of the present invention (particularly in the claims), the use of the term "above" and similar indicating terms may correspond to both singular and plural. In addition, when a range is described in the present invention, it includes an invention in which individual values belonging to the range are applied (unless there is a description to the contrary), and each individual value constituting the range is described in the detailed description of the invention Same as Finally, unless an order is explicitly stated or stated to the contrary for the steps constituting the method according to the present invention, the steps may be performed in any suitable order. The present invention is not necessarily limited according to the order of description of the steps. The use of all examples or exemplary terms (eg, etc.) in the present invention is simply to explain the present invention in detail, and the scope of the present invention is limited due to the examples or exemplary terms unless limited by the claims. it is not going to be In addition, those skilled in the art can appreciate that various modifications, combinations and changes can be made according to design conditions and factors within the scope of the appended claims or equivalents thereof.

10: 네트워크 시스템
100: 제어 장치
200: 노드 장치
300: 제2 네트워크
400: 단말 장치
10: network system
100: control device
200: node device
300: second network
400: terminal device

Claims (11)

서로 다른 물리 주소가 할당된 하나 이상의 가상 머신을 포함하는 노드 장치에 있어서,
제1 네트워크로 연결된 제1 노드 장치로부터 제1 패킷을 수신하는 패킷 수신부;
상기 제1 패킷의 처리와 관련된 제어 정보를 상기 제1 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 제어 정보 요청부;
상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 제어 정보 수신부;
상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 패킷 처리부;를 포함하는, 노드 장치.
In the node device including one or more virtual machines to which different physical addresses are assigned,
A packet receiving unit for receiving a first packet from a first node device connected to the first network;
a control information requesting unit transmitting a signal requesting control information related to processing of the first packet to a control device connected to the first network;
a control information receiver configured to receive a response to the signal from the control device and to determine whether to receive the packet according to control information included in the response to the signal;
A packet processing unit that receives the packet according to whether or not the packet is received and transmits the packet to a virtual machine to which a destination address is assigned; including a node device.
제1항에 있어서,
상기 제어 정보를 백업하는 백업부;를 더 포함하고,
상기 패킷 처리부는
상기 패킷 수신부에 의해 상기 제1 노드 장치로부터 제2 패킷을 상기 제1 패킷과 연이어 수신한 경우, 상기 제어 장치로 패킷의 처리와 관련된 제어 정보를 요청하지 않고, 상기 백업부에 저장된 제어 정보에 따라 상기 제2 패킷을 목적지 주소가 할당된 가상 머신에 전송하는, 노드 장치.
According to claim 1,
Further comprising a backup unit for backing up the control information;
The packet processing unit
When a second packet is successively received with the first packet from the first node device by the packet reception unit, control information related to packet processing is not requested from the control device, and according to the control information stored in the backup unit Transmitting the second packet to the virtual machine to which the destination address is assigned, the node device.
제1항에 있어서,
상기 제어 정보 요청부는
상기 패킷 수신부에 의해 제1 네트워크와 다른 제2 네트워크로 연결된 단말 장치로부터 제3 패킷을 수신한 경우, 상기 제3 패킷의 처리와 관련된 방화벽 정보를 상기 제어 장치로 요청하는 신호를 전송하고,
상기 제어 정보 수신부는
상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답 신호에 포함된 방화벽 정보에 따라 상기 패킷의 차단 여부를 결정하고,
상기 패킷 처리부는
상기 패킷의 차단 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는, 노드 장치.
According to claim 1,
The control information request unit
When a third packet is received from a terminal device connected to a second network different from the first network by the packet receiving unit, a signal requesting firewall information related to processing of the third packet is transmitted to the control device;
The control information receiver
Receiving a response of the signal from the control device, determining whether to block the packet according to firewall information included in the response signal of the signal;
The packet processing unit
A node device that receives the packet according to whether the packet is blocked and transmits the packet to a virtual machine to which a destination address is assigned.
서로 다른 물리 주소가 할당된 복수의 가상 머신을 포함하고, 제1 네트워크로 연결된 제1 노드 장치로부터 제1 패킷을 수신하는 패킷 수신부;
상기 제1 패킷의 처리와 관련된 제어 정보를 상기 제1 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 제어 정보 요청부;
상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 제어 정보 수신부;
상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 패킷 처리부;를 포함하는 제2 노드 장치 및
상기 제1 네트워크로 연결된 하나 이상의 가상 머신의 물리 주소 간의 관계를 기초로 패킷에 대한 처리와 관련된 제어 정보를 생성하여 저장하는 제어 정보 처리부;를 포함하는 제어 장치를 포함하는 네트워크 시스템.
A packet receiving unit including a plurality of virtual machines to which different physical addresses are assigned and receiving a first packet from a first node device connected to a first network;
a control information requesting unit transmitting a signal requesting control information related to processing of the first packet to a control device connected to the first network;
a control information receiver configured to receive a response to the signal from the control device and to determine whether to receive the packet according to control information included in the response to the signal;
A second node device including a packet processing unit receiving the packet according to whether the packet is received and transmitting the packet to a virtual machine to which a destination address is assigned; and
and a control information processing unit configured to generate and store control information related to packet processing based on a relationship between physical addresses of one or more virtual machines connected to the first network.
제4항에 있어서,
상기 제어 정보 처리부는
상기 제1 네트워크로 연결된 제1 가상 머신 및 제2 가상 머신이 제1 사용자에게 할당된 경우, 상기 제1 가상 머신의 물리 주소 및 상기 제2 가상 머신의 물리 주소 사이의 패킷의 송수신이 가능하도록 설정되는 제어 정보를 생성하는, 네트워크 시스템.
According to claim 4,
The control information processing unit
When the first virtual machine and the second virtual machine connected to the first network are allocated to the first user, packet transmission and reception between the physical address of the first virtual machine and the physical address of the second virtual machine is enabled. A network system that generates control information to be used.
제4항에 있어서,
상기 제어 장치는
상기 제1 네트워크와 다른 네트워크로부터 수신된 패킷의 처리를 위해서, 차단해야 하는 네트워크 정보에 포함된 ip 주소 또는 서브넷마스크의 크기 순으로 정렬한 방화벽 정보를 생성하여 저장하는 방화벽 정보 처리부;를 포함하는, 네트워크 시스템.
According to claim 4,
The control device
In order to process packets received from networks other than the first network, a firewall information processing unit that generates and stores firewall information arranged in the order of the size of the IP address or subnet mask included in the network information to be blocked; network system.
제5항에 있어서,
상기 제어 장치의 상기 제어 정보 처리부는
상기 제2 노드 장치에 포함된 제2 가상 머신의 물리 주소를 할당하고, 상기 제2 가상 머신의 물리 주소와 상기 제1 사용자에게 할당된 하나 이상의 가상 머신의 물리 주소 사이의 관계에 따른 제어 정보를 생성하는, 네트워크 시스템.
According to claim 5,
The control information processing unit of the control device
Allocating a physical address of a second virtual machine included in the second node device, and controlling information according to a relationship between the physical address of the second virtual machine and the physical address of one or more virtual machines assigned to the first user. creating a network system.
서로 다른 물리 주소가 할당된 하나 이상의 가상 머신을 포함하는 노드 장치의 패킷 처리 방법에 있어서,
상기 노드 장치가 제1 네트워크로 연결된 다른 노드 장치로부터 제1 패킷을 수신하는 단계;
상기 노드 장치가 상기 제1 패킷의 처리와 관련된 제어 정보를 상기 제1 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 단계;
상기 노드 장치가 상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 단계;
상기 노드 장치가 상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 단계;
상기 제어 장치가 상기 노드 장치로 수신된 패킷의 발신지 주소 및 목적지 주소를 짝으로 연결하는 제어 정보를 생성하여 저장하는 단계;
를 포함하는, 패킷 처리 방법.
A packet processing method of a node device including one or more virtual machines to which different physical addresses are assigned,
Receiving, by the node device, a first packet from another node device connected to a first network;
transmitting, by the node device, a signal requesting control information related to processing of the first packet to a control device connected to the first network;
Receiving, by the node device, a response to the signal from the control device, and determining whether to receive the packet according to control information included in the response to the signal;
receiving, by the node device, the packet according to whether the packet is received, and transmitting the packet to a virtual machine to which a destination address is assigned;
Generating and storing, by the control device, control information pairwise connecting the source address and the destination address of the packet received by the node device;
Including, packet processing method.
제8항에 있어서,
상기 노드 장치가 상기 제어 정보를 백업하는 단계;를 더 포함하고,
상기 노드 장치가 상기 다른 노드 장치로부터 제2 패킷을 상기 제1 패킷의 후속으로 수신한 경우, 상기 제어 장치로 패킷의 처리와 관련된 제어 정보를 요청하지 않고, 백업된 상기 제어 정보에 따라 상기 제2 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 단계를 더 포함하는, 패킷 처리 방법.
According to claim 8,
Further comprising; backing up the control information by the node device;
When the node device receives a second packet from the other node device as a follow-up to the first packet, the control device does not request control information related to packet processing from the control device, and according to the backed-up control information, the second packet The packet processing method further comprising transmitting the packet to a virtual machine to which the destination address is assigned.
제8항에 있어서,
상기 제어 정보를 요청하는 단계는
상기 노드 장치가 제1 네트워크와 다른 제2 네트워크로 연결된 단말 장치로부터 제3 패킷을 수신한 경우, 상기 제3 패킷의 처리와 관련된 방화벽 정보를 상기 제어 장치로 요청하는 신호를 전송하고,
상기 제어 정보를 수신 하는 단계는
상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답 신호에 포함된 방화벽 정보에 따라 상기 패킷의 차단 여부를 결정하고,
상기 가상 머신에 전송하는 단계는
상기 패킷의 차단 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는, 패킷 처리 방법.
According to claim 8,
The step of requesting the control information is
When the node device receives a third packet from a terminal device connected to a second network different from the first network, transmits a signal requesting firewall information related to processing of the third packet to the control device,
The step of receiving the control information is
Receiving a response of the signal from the control device, determining whether to block the packet according to firewall information included in the response signal of the signal;
The step of transmitting to the virtual machine is
Receiving the packet according to whether the packet is blocked, and transmitting the packet to a virtual machine to which a destination address is assigned.
컴퓨터를 이용하여 제8항 내지 제10항 중 어느 한 항의 방법을 실행시키기 위하여 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a recording medium to execute the method of any one of claims 8 to 10 using a computer.
KR1020160078613A 2016-06-23 2016-06-23 Node device, method for processing packet of the node device, and network system which comprises node device and control device for managing control information associated with the packet-processing KR102554413B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160078613A KR102554413B1 (en) 2016-06-23 2016-06-23 Node device, method for processing packet of the node device, and network system which comprises node device and control device for managing control information associated with the packet-processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160078613A KR102554413B1 (en) 2016-06-23 2016-06-23 Node device, method for processing packet of the node device, and network system which comprises node device and control device for managing control information associated with the packet-processing

Publications (2)

Publication Number Publication Date
KR20180000524A KR20180000524A (en) 2018-01-03
KR102554413B1 true KR102554413B1 (en) 2023-07-11

Family

ID=61002364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160078613A KR102554413B1 (en) 2016-06-23 2016-06-23 Node device, method for processing packet of the node device, and network system which comprises node device and control device for managing control information associated with the packet-processing

Country Status (1)

Country Link
KR (1) KR102554413B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100432675B1 (en) 2003-09-19 2004-05-27 주식회사 아이앤아이맥스 Method of controlling communication between equipments on a network and apparatus for the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015100656A1 (en) * 2013-12-31 2015-07-09 华为技术有限公司 Method and device for implementing virtual machine communication

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100432675B1 (en) 2003-09-19 2004-05-27 주식회사 아이앤아이맥스 Method of controlling communication between equipments on a network and apparatus for the same

Also Published As

Publication number Publication date
KR20180000524A (en) 2018-01-03

Similar Documents

Publication Publication Date Title
US10375015B2 (en) Methods and system for allocating an IP address for an instance in a network function virtualization (NFV) system
US11265368B2 (en) Load balancing method, apparatus, and system
EP2499787B1 (en) Smart client routing
TWI626537B (en) Methods and systems for analyzing record and usage in post package repair
US9413652B2 (en) Systems and methods for path maximum transmission unit discovery
US20120291028A1 (en) Securing a virtualized computing environment using a physical network switch
KR101857511B1 (en) Method and apparatus for determining virtual machine migration
US9910687B2 (en) Data flow affinity for heterogenous virtual machines
US20090063706A1 (en) Combined Layer 2 Virtual MAC Address with Layer 3 IP Address Routing
CN108737224B (en) Message processing method and device based on micro-service architecture
US10911405B1 (en) Secure environment on a server
CN105657081A (en) DHCP (dynamic host configuration protocol) service providing method, device and system
CN113326101B (en) Thermal migration method, device and equipment based on remote direct data storage
US9398121B1 (en) Selecting among virtual networking protocols
US20230421487A1 (en) Reflection route for link local packet processing
US20130100798A1 (en) Method, network card, and communication system for binding physical network ports
CN107517129B (en) Method and device for configuring uplink interface of equipment based on OpenStack
CN104780201A (en) Data packet processing method and device for use in IPVS (Internet Protocol Virtual Server) cluster
CN112187635B (en) Message forwarding method and device
CN114765572A (en) Fault processing method, control plane network element, switching decision network element and related equipment
US9563388B2 (en) Sharing a hosted device in a computer network
KR102554413B1 (en) Node device, method for processing packet of the node device, and network system which comprises node device and control device for managing control information associated with the packet-processing
US10862849B2 (en) Address resolution system
US11888736B2 (en) Service chaining in fabric networks
US20240137314A1 (en) Service chaining in fabric networks

Legal Events

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