KR20180000524A - 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
KR20180000524A
KR20180000524A KR1020160078613A KR20160078613A KR20180000524A KR 20180000524 A KR20180000524 A KR 20180000524A KR 1020160078613 A KR1020160078613 A KR 1020160078613A KR 20160078613 A KR20160078613 A KR 20160078613A KR 20180000524 A KR20180000524 A KR 20180000524A
Authority
KR
South Korea
Prior art keywords
packet
control information
network
node device
virtual machine
Prior art date
Application number
KR1020160078613A
Other languages
Korean (ko)
Other versions
KR102554413B1 (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
    • H04L61/20
    • 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

According to an embodiment of the present invention, in a node device including one or more virtual machines to which different physical addresses are allocated, disclosed is the node device which includes: a packet receiving unit for receiving a first packet from a first node device connected through a first network; a control information requesting unit for transmitting a signal requesting control information related to the processing of the first packet to a control device connected through the first network; a control information receiving unit for receiving a response of the signal from the control device and determining whether to receive the packet according to the control information included in a response signal of the signal; and a packet processing unit for receiving the packet according to whether the packet is received or not, and transmitting the packet to a virtual machine to which a destination address is allocated. Accordingly, the present invention can determine whether to receive the packet by receiving the control information from the control information and determine whether to block the packet by receiving firewall information.

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}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a network system including a node device, a method of 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 of processing packets of the node device, and a control device for managing control information associated with packet processing of the node device.

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

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

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

본 발명의 실시예들은 복수의 가상 머신을 포함하는 하나 이상의 노드 장치 사이의 패킷을 송수신과 관련된 제어 정보를 제어 장치로부터 수신함으로써, 상기 패킷의 수신 여부를 결정하는 노드 장치를 제공한다. Embodiments of the present invention provide a node device for determining whether to receive the packet 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.

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

또한, 본 발명의 실시예들은 증가하는 사용자들의 수 만큼 노드 장치를 추가로 설치해야 하는 경우, 설치된 노드 장치들까지도 하나의 네트워크 망을 통해 관리하기 위한 네트워크 장치(스위치 등)의 추가가 필요 없는 네트워크 시스템을 제공한다. Further, in the embodiments of the present invention, when a node device is to be additionally installed as many as the number of users to be increased, a network device (a switch or the like) for managing the installed node devices through a single network, System.

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

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

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

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

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

상기 제어 정보 처리부는 상기 제1 네트워크로 연결된 제1 가상 머신 및 제2 가상 머신이 제1 사용자에게 할당된 경우, 상기 제1 가상 머신의 물리 주소 및 상기 제2 가상 머신의 물리 주소 사이의 패킷의 송수신이 가능하도록 설정되는 제어 정보를 생성할 수 있다.Wherein the control information processing unit is configured to determine whether or not the first virtual machine and the second virtual machine connected to the first network are allocated to the first user and the packet between the physical address of the first virtual machine and the physical address of the second virtual machine It is possible to generate control information that is set to enable transmission and reception.

상기 제어 장치는 상기 제1 네트워크와 다른 네트워크로부터 수신된 패킷의 처리를 위해서, 차단해야 하는 네트워크 정보에 포함된 ip 주소 또는 서브넷마스크의 크기 순으로 정렬한 방화벽 정보를 생성하여 저장하는 방화벽 정보 처리부;를 포함할 수 있다.A firewall information processing unit for generating and storing firewall information arranged in the order of size of an IP address or a subnet mask included in network information to be blocked for processing a packet received from a network different from the first network; . ≪ / RTI >

상기 제어 장치의 상기 제어 정보 처리부는 상기 제2 노드 장치에 포함된 제2 가상 머신의 물리 주소를 할당하고, 상기 제2 가상 머신의 물리 주소와 상기 제1 사용자에게 할당된 하나 이상의 가상 머신의 물리 주소 사이의 관계에 따른 제어 정보를 생성할 수 있다.Wherein 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 sets a physical address of the second virtual machine and a physical address of one or more virtual machines assigned to the first user, The control information according to the relationship between addresses can be generated.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서 상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징을 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. In the following embodiments, terms such as inclusive or possessed mean that a feature or element described in the specification is present, and does not exclude the possibility that one or more other features or components are added in advance.

어떤 실시예가 달리 구현 가능한 경우에 특정한 공정 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 공정이 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다. If certain embodiments are otherwise feasible, the particular process sequence may be performed differently from the sequence described. For example, two processes that are described in succession may be performed substantially concurrently, and may be performed in the reverse order of the order described.

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

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

도 1은 본 발명의 실시예들에 따른 네트워크 시스템(10)을 나타내는 도면이다. 1 is a diagram of a network system 10 in accordance with 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 apparatus 100 and a plurality of node apparatuses 201, 202, and 200 connected to a first network. The network system 10 may be connected to a plurality of terminal devices 401 and 402 (hereinafter referred to as 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 connected to the first network and providing a single cloud service, and can provide storage space to a plurality of users. At this time, as the space used by the users is increased, the virtual machines of the physically separated node devices 200 can be set to be assigned to one user, and the virtual machines of the physically separated node devices 200 It is also possible to set the storage area of the user to be shared. In order to perform such a function, conventionally, a switch device for processing and controlling a packet received by the node devices 200 is included, and the node devices 200 managed through the limited resources of the switch device, The number of machines and the number of users were limited. However, the network system 10 according to the embodiments of the present invention does not physically add a switch device for packet processing and control, . In addition, generation and modification of control information may be possible through software setting and storage without changing the setting for the switch device.

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

제어 장치(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 assigned 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 assigns the virtual machines to the users. Here, the virtual machines are physically contained in one device, but logically independent devices. A virtual machine may be created by an application or program that creates a virtual machine (such as a drive). To distinguish the virtual machines from each other, the control device 100 assigns physical addresses that are distinguished to each virtual machine. One or more virtual machines assigned to the first user may be included in the physically separate node devices 200. In this case, for smooth data sharing, And controls the node devices 200 so as to transmit and receive packets between the 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 the embodiments of the present invention are not fixed but include variously divided virtual machines, and each node device 200 includes a virtual machine . That is, each node device 200 may include virtual machines of various capacities set by the user. In addition, the virtual machines included in the node device 200 include statically managed control information areas as they are allocated to users. In response to a request from the user, the control device 100 generates control information allowing communication between virtual machines not assigned to the same user, thereby enabling communication between virtual machines not assigned to the same users .

제어 장치(100)는 제1 네트워크로 연결된 복수의 노드 장치들(200) 사이의 패킷의 처리를 제어한다. 이를 위해서, 제어 장치(100)는 상기 패킷의 수신 여부를 결정하는 제어 정보를 생성할 수 있다. 각 노드 장치(200)는 하나 이상의 가상 머신을 포함할 수 있는데, 제어 장치(100)는 서로 다른 노드 장치(200)에 포함된 제1 가상 머신 및 제2 가상 머신 사이의 관계를 제어 정보로 생성할 수 있다. 제어 장치(100)는 동일한 사용자에게 할당되어 패킷의 공유가 필요한 제1 가상 머신 및 제2 가상 머신에 할당된 물리 주소들을 서로 연결시키는 제어 정보를 생성할 수 있다. 여기서, 물리 주소들을 연결시키는 방법은 제1 가상 머신의 물리 주소 및 제2 가상 머신의 물리 주소의 일부가 일치하도록 설정할 수도 있으며, 연결 관계, 소유 관계가 있는 제1 가상 머신 및 제2 가상 머신의 물리 주소들을 하나의 레코드로 생성하여 저장할 수도 있다. 제어 장치(100)는 각 노드 장치(200)로부터의 요청에 따라 각 노드 장치(200)의 주소와 관련된 제어 정보를 검색하여 전송할 수 있다. The control device 100 controls the processing of packets between a plurality of node devices 200 connected to the 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 may generate the relationship between the first virtual machine and the second virtual machine included in the different node devices 200 as control information can do. The control device 100 may generate control information that is assigned to the same user and connects physical addresses assigned to the first virtual machine and the second virtual machine, which need sharing of the packet, to each other. Here, the method of connecting the physical addresses may be such that a physical address of the first virtual machine and a part of the physical address of the second virtual machine coincide with each other, and the first virtual machine and the second virtual machine Physical addresses can be created and stored as a single record. The controller 100 may search for and transmit control information related to the address of each node 200 according to a request from each node 200.

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

제어 장치(100)는 제어 정보 및/또는 방화벽 정보를 설정하는 패킷을 통해 제어 정보 및/또는 방화벽 정보를 생성, 변경할 수도 있다. 제어 장치(100)는 사용자의 단말 장치(400)로부터 수신한 패킷을 통해 제어 정보 및/또는 방화벽 정보를 생성, 변경할 수 있다. The control device 100 may generate and change control information and / or firewall information through a packet for setting control information and / or firewall information. The control device 100 can generate and change control information and / or firewall information through the packet received from the user 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 plays a role of connecting the controller 100 and the node device 200. That is, the first network refers to a communication network that provides a connection path so that a plurality of node devices 200 can access the control device 100 and then transmit and receive data. The first network may be 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, Wireless networks, but the scope of the invention is not so limited.

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

제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 plays a role of connecting a plurality of terminal devices 400 to the node device 200. That is, the second network 300 refers to a communication network that provides a connection path so that a plurality of terminal devices 400 can access and transmit data to a plurality of terminal devices 400. The second network 300 may be 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, Communication, and the like, but the scope of the present invention is not limited thereto.

복수의 단말 장치들(400)은 유무선 통신 환경에서 웹 서비스를 이용할 수 있는 통신 단말기를 의미한다. 여기서, 복수의 단말 장치들(400)은 사용자의 퍼스널 컴퓨터일 수도 있고, 또는 사용자의 휴대용 단말일 수도 있다. The plurality of terminal devices 400 means a communication terminal that can use a web service 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, 이메일 클라이언트 등), 핸드폰의 임의의 형태, 또는 다른 종류의 컴퓨팅 또는 커뮤니케이션 플랫폼의 임의의 형태를 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니다. A plurality of terminal devices 400 may be connected to a computer (e.g., a desktop, a laptop, a tablet, etc.), a media computing platform (e.g., a cable, a satellite set- A computing device (e.g., a PDA, an email client, etc.), any form of mobile phone, or any other type of computing or communication platform, although the invention is not so limited.

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

도 2를 참조하면, 본 발명의 실시예들에 따른 제어 장치(100)는 통신 인터페이스(110), 프로세서(120), 저장 매체(130)를 포함할 수 있다. Referring to FIG. 2, a control apparatus 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 signals such as control signals or data signals with a plurality of node devices 200 connected to the first network. The communication interface unit 110 can control not to transmit or 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 not only the control software installed on the storage medium 130, but also the control information processing unit 131 and the firewall information processing unit 132.

프로세서(120)(processor)는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.The processor 120 may be, for example, a data processing device embedded in hardware having circuitry physically structured to perform the functions represented by code or instructions contained within the program. As an example of the data processing apparatus built in hardware, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated circuit (ASIC) circuit, and a field programmable gate array (FPGA), 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 operation of the control apparatus 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 may be a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD or XD memory) (Random Access Memory) SRAM (Static Random Access Memory), ROM (Read Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory) A disk, and / or an optical disk.

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

도 3을 참조하면, 제어 장치(100)는 제어 정보 처리부(131) 및 방화벽 정보 처리부(132)를 포함할 수 있다. 3, the control apparatus 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 generates and changes control information for processing packet transmission / reception between the node devices 200 connected to the first network. The control information is information for setting a relationship between one or more virtual machines included in the first network and can be generated using the physical address assigned to identify the virtual machine to the same user. For example, the control information may be generated by connecting two or more physical addresses of a virtual machine assigned to a 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 to be attacked by malicious codes, viruses, and the like to the node devices 200. [ The control information processing unit 131 can drop the packet whose network address corresponding to the destination is modulated by using the MAC / IP address of the stored virtual machines. The control information processing unit 131 can automatically check whether communication is possible by comparing the information with the pre-registered modulation packet when the packet having the modulated network address is input. The information associated with the modulation packet may include MAC / IP address information. The control information processing unit 131 may generate and store control information (drop rule) for a packet whose network information is modulated.

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

본 발명의 실시예들에 따른 제어 장치(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 the processing of a packet to the node device 200 in response to a request from the node devices 200 connected to the first network do. Accordingly, the control apparatus 100 according to the embodiments of the present invention can manage transmission and reception of packets between the node devices 200 connected to the closed network.

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

도 4를 참조하면, 노드 장치(200)는 통신 인터페이스부(210)를 통해 수신된 패킷을 수신하거나 차단하는 등의 기능을 수행하는 패킷 제어부(231), 하나 이상의 가상 머신(232a, 232b 이하, 232)를 포함할 수 있다. 4, the node device 200 includes a packet control unit 231 for performing a function of receiving or intercepting a packet received through the communication interface unit 210, at least one virtual machine 232a, 232b, 232).

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

노드 장치(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 logically separate. The virtual machine 232 can be created by a manager through a predetermined program or application. Even though the virtual machine 232 included in one node device 200, the one or more virtual machines 232 can be assigned to different physical addresses.

본 발명의 실시예들에 따른 제어 장치(100) 및 노드 장치들(200)을 포함하는 네트워크 시스템(10)은 클라우드 서비스를 제공하면서 좀더 넓은 저장 공간을 필요로 할 수 있는데, 이런 경우, 노드 장치를 추가하고, 노드 장치에 하나 이상의 가상 머신을 설정하는 과정을 거치게 된다. 클라우드 서비스를 제공하는 제공자는 클라우드 서비스를 사용하는 사용자를 위한 저장 공간을 제공하기 위해서, 사용자들에게 각각 할당되는 가상 머신들을 생성하게 된다. 또한, 클라우드 서비스를 제공하는 제공자는 서로 다른 노드 장치들에 할당된 복수의 가상 머신들을 하나의 사용자에게 할당할 수도 있다. 도 5는 패킷 제어부(231)의 구조를 나타내는 블록도이다. The network system 10 including the control device 100 and the node devices 200 according to the embodiments of the present invention may require more storage space while providing cloud services. In this case, And a process of setting one or more virtual machines in the node device. Providers providing cloud services will create virtual machines that are allocated to users, respectively, to provide storage space for users using cloud services. In addition, the provider providing the cloud service may allocate a plurality of virtual machines assigned 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 사용자가 아닌 다른 사용자에게 할당할 수 있다. The node device 200 according to the embodiments of the present invention requests the control device 100 connected to the first network with information related to control without processing itself in connection with the processing of the packet upon receiving the packet And determines whether to receive or block the packet according to the information received in response to the request. In the case of node devices that provide a conventional cloud service, network information, for example, a physical address and a subnet mask, which are included in a predetermined range, are allocated to virtual machines allocated to the same user, , The node device 200 according to the embodiments of the present invention receives and processes control information from the control device 100 so that packets can be shared with each other. Thus, the node device 200 can dynamically allocate the virtual machine to the users. More specifically, the control device 100 can change the control information for the virtual machine, thereby allocating the virtual machine assigned to the first user to a user other than the first user.

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

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

정보 수신부(2313)는 제어 장치(100)로부터 상기 수신된 패킷과 관련된 제어 정보 또는 방화벽 정보를 수신한다. The information receiving unit 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 to receive the received packet according to the control information received through the information receiving unit 2313, and receives the packet according to whether the received packet is received. The packet processor 2314 blocks the received packet according to the firewall information received through the information receiver 2313.

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

도 6 내지 도 7은 본 발명의 실시예들에 따른 패킷 처리 방법의 흐름도이다. 6 to 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 flow chart of Figure 6 is for a method of 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, when the packet from the first node device 201 connected to the first network device 201 to the second node device 202 When transmission / reception occurs, the second node device 202 as a destination transmits a signal for requesting control information to the control device 100 for processing the first packet (S602). The controller 100 searches the control information based on the source address and the destination address included in the signal for requesting the control information for the first packet, and when the retrieved control information exists, (Step S603). And 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 if there is control information for the first packet, or receives the first packet if the control information does not exist . Or 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 the destination address of the first packet are allocated to the same user Whether the first packet is received or not can be determined based on whether the first packet is received (S604). That is, 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 the destination address of the first packet are the same user or share When the first packet is allocated to a user having a space to be used for the first packet. Or the control information may include whether or not the first packet is modulated. The node devices 200 may determine whether to modulate based on the network information of the first packet. By acquiring the network information in which the modulation packet is generated from the control apparatus 100, the node devices 200 can determine whether to drop the packet. Subsequent to step S604, the control device 100 generates or modifies control information associated with the processing of the first packet. 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 coupled in pairs.

도 7의 흐름도는 노드 장치(200)가 제1 네트워크가 아닌 네트워크로 연결된 단말 장치(400)로부터 수신된 패킷을 처리하는 방법에 대한 것이다. The flowchart of FIG. 7 is for a method in which a node device 200 processes a packet received from a terminal device 400 connected to a network rather than a 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 a second packet to the node device 200 (S701), the receiving node device 200 generates a signal for inquiring firewall information for the second packet, (S702). The control device 100 searches for firewall information based on the network information corresponding to the terminal device 400 serving as the second packet transmission device and transmits the network information of the terminal device 400, If there is firewall information corresponding to at least one of the network information, the mask, and the 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). In step S704, the controller 100 generates or modifies firewall information related to the processing of the second packet. That is, the control apparatus 100 can generate and store network information of the second packet as firewall information. 8 is a view for explaining dynamic allocation of a virtual machine 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)에 존재하는 할당되지 않은 영역에 추가적으로 제한 없이 가상 머신을 생성할 수 있다. A first node device 201, a second node device 202, and a third node device 203, as shown in Fig. 8, and includes a control device 100, a first node device 201, a second node device 202, Assume that there is a network system 10 that provides services. Here, the first node device 201 includes a first virtual machine VM1, a second virtual machine VM2, a third virtual machine VM3, and the second node device 202 includes a fourth virtual machine VM4), and the third node device 203 includes a fifth virtual machine VM5 and a sixth virtual machine VM6. The first virtual machine VM1 and the fourth virtual machine VM4 are assigned to the first user and the second virtual machine VM2 is assigned to the second user and the third virtual machine VM3 , The control device 100 generates control information FC1 for 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 Storage management. In this way, the number of virtual machines allocated to the node devices 200 included in the network system 10 may be different from each other. 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 includes an unallocated area existing in each of the node devices 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 virtual machines or allocate them to other users in a manner that only the control information of the control device 100 is changed or newly added, After that, the fifth virtual machine VM5 can be assigned to the first user and the sixth virtual machine VM6 can be assigned to the third user. C2, the control device 100 controls the first virtual machine VM1 and the fourth virtual machine VM4 to connect with the fifth virtual machine VM5 allocated to the first user 1 control information for connecting the physical addresses between the first virtual machine VM1 and the fifth virtual machine VM5 and control information FC2 for connecting physical addresses between the fourth virtual machine VM4 and the fifth virtual machine VM5 Can be generated. In addition, the control device 100 is connected between the third virtual machine VM3 and the sixth virtual machine VM6 so as to be able to connect the third virtual machine VM3 to the sixth virtual machine VM6 allocated to the third user. Lt; RTI ID = 0.0 > FC3 < / RTI >

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

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

본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.The specific acts described in the present invention are, by way of example, not intended to limit the scope of the invention in any way. For brevity of description, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of such systems may be omitted. Also, the connections or connecting members of the lines between the components shown in the figures are illustrative of functional connections and / or physical or circuit connections, which may be replaced or additionally provided by a variety of functional connections, physical Connection, or circuit connections. Also, unless explicitly mentioned, such as "essential "," importantly ", etc., it may not be a necessary component for application of the present invention.

본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.The use of the terms "above" and similar indication words in the specification of the present invention (particularly in the claims) may refer to both singular and plural. In addition, in the present invention, when a range is described, it includes the invention to which the individual values belonging to the above range are applied (unless there is contradiction thereto), and each individual value constituting the above range is described in the detailed description of the invention The same. Finally, the steps may be performed in any suitable order, unless explicitly stated or contrary to the description of the steps constituting the method according to the invention. The present invention is not necessarily limited to the order of description of the above steps. The use of all examples or exemplary language (e.g., etc.) in this invention is for the purpose of describing the present invention only in detail and is not to be limited by the scope of the claims, It is not. It will also be appreciated by those skilled in the art that various modifications, combinations, and alterations may be made depending on design criteria 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 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 제어 정보 요청부;
상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 제어 정보 수신부;
상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 패킷 처리부;를 포함하는, 노드 장치.
A node device comprising one or more virtual machines assigned different physical addresses,
A packet receiver for receiving a first packet from a first node device connected to a first network;
A control information requesting unit for transmitting a signal requesting control information associated with the processing of the first packet to a control apparatus connected to the first network;
A control information receiving unit that receives a response of the signal from the control device and determines whether to receive the packet according to control information included in a response of the signal;
And a packet processor for receiving the packet according to whether the packet is received or not, and for transmitting the packet to a virtual machine to which a destination address is allocated.
제1항에 있어서,
상기 제어 정보를 백업하는 백업부;를 더 포함하고,
상기 패킷 처리부는
상기 패킷 수신부에 의해 상기 제1 노드 장치로부터 제2 패킷을 상기 제1 패킷과 연이어 수신한 경우, 상기 제어 장치로 패킷의 처리와 관련된 제어 정보를 요청하지 않고, 상기 백업부에 저장된 제어 정보에 따라 상기 제2 패킷을 목적지 주소가 할당된 가상 머신에 전송하는, 노드 장치.
The method according to claim 1,
And a backup unit for backing up the control information,
The packet processing unit
Wherein when the second packet is received from the first node device in succession to the first packet by the packet receiving unit, the control information is not requested to the control device according to the control information stored in the backup unit, And transmits the second packet to the virtual machine to which the destination address is assigned.
제1항에 있어서,
상기 제어 정보 요청부는
상기 패킷 수신부에 의해 제1 네트워크와 다른 제2 네트워크로 연결된 단말 장치로부터 제3 패킷을 수신한 경우, 상기 제3 패킷의 처리와 관련된 방화벽 정보를 상기 제어 장치로 요청하는 신호를 전송하고,
상기 제어 정보 수신부는
상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답 신호에 포함된 방화벽 정보에 따라 상기 패킷의 차단 여부를 결정하고,
상기 패킷 처리부는
상기 패킷의 차단 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는, 노드 장치.
The method according to claim 1,
The control information requesting unit
When the third packet is received from the terminal device connected to the second network different from the first network by the packet receiving unit, transmits a signal requesting the control device for firewall information related to the processing of the third packet,
The control information receiver
Receiving a response of the signal from the control device, determining whether to block the packet according to the firewall information included in the response signal of the signal,
The packet processing unit
Receives the packet according to whether the packet is blocked or not, and transmits the packet to a virtual machine to which a destination address is allocated.
서로 다른 물리 주소가 할당된 복수의 가상 머신을 포함하고, 제1 네트워크로 연결된 제1 노드 장치로부터 제1 패킷을 수신하는 패킷 수신부;
상기 제1 패킷의 처리와 관련된 제어 정보를 상기 제1 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 제어 정보 요청부;
상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 제어 정보 수신부;
상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 패킷 처리부;를 포함하는 제1 노드 장치 및
상기 제1 네트워크로 연결된 하나 이상의 가상 머신의 물리 주소 간의 관계를 기초로 패킷에 대한 처리와 관련된 제어 정보를 생성하여 저장하는 제어 정보 처리부;를 포함하는 제어 장치를 포함하는 네트워크 시스템.
A packet receiving unit for receiving a first packet from a first node device connected to a first network, the packet receiving unit including a plurality of virtual machines assigned different physical addresses;
A control information requesting unit for transmitting a signal requesting control information associated with the processing of the first packet to a control apparatus connected to the first network;
A control information receiving unit that receives a response of the signal from the control device and determines whether to receive the packet according to control information included in a response of the signal;
And a packet processing unit for receiving the packet according to whether the packet is received and for transmitting the packet to a virtual machine to which a destination address is assigned,
And a control information processor for generating and storing control information related to a process for a packet based on a relation between physical addresses of one or more virtual machines connected to the first network.
제4항에 있어서,
상기 제어 정보 처리부는
상기 제1 네트워크로 연결된 제1 가상 머신 및 제2 가상 머신이 제1 사용자에게 할당된 경우, 상기 제1 가상 머신의 물리 주소 및 상기 제2 가상 머신의 물리 주소 사이의 패킷의 송수신이 가능하도록 설정되는 제어 정보를 생성하는, 네트워크 시스템.
5. The method of claim 4,
The control information processing unit
When a first virtual machine and a second virtual machine connected to the first network are assigned to a first user, transmission and reception of packets between the physical address of the first virtual machine and the physical address of the second virtual machine are enabled And generates the control information.
제4항에 있어서,
상기 제어 장치는
상기 제1 네트워크와 다른 네트워크로부터 수신된 패킷의 처리를 위해서, 차단해야 하는 네트워크 정보에 포함된 ip 주소 또는 서브넷마스크의 크기 순으로 정렬한 방화벽 정보를 생성하여 저장하는 방화벽 정보 처리부;를 포함하는, 네트워크 시스템.
5. The method of claim 4,
The control device
And a firewall information processor for generating and storing firewall information arranged in the order of size of an IP address or a subnet mask included in network information to be blocked for processing packets received from a network different from the first network, Network system.
제5항에 있어서,
상기 제어 장치의 상기 제어 정보 처리부는
상기 제2 노드 장치에 포함된 제2 가상 머신의 물리 주소를 할당하고, 상기 제2 가상 머신의 물리 주소와 상기 제1 사용자에게 할당된 하나 이상의 가상 머신의 물리 주소 사이의 관계에 따른 제어 정보를 생성하는, 네트워크 시스템.
6. The method of claim 5,
The control information processing unit of the control device
Assigning a physical address of a second virtual machine included in the second node device and assigning control information according to a relationship between a physical address of the second virtual machine and a physical address of one or more virtual machines assigned to the first user Creating, network system.
서로 다른 물리 주소가 할당된 하나 이상의 가상 머신을 포함하는 노드 장치의 패킷 처리 방법에 있어서,
상기 노드 장치가 제1 네트워크로 연결된 다른 노드 장치로부터 제1 패킷을 수신하는 단계;
상기 노드 장치가 상기 제1 패킷의 처리와 관련된 제어 정보를 상기 제1 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 단계;
상기 노드 장치가 상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 단계;
상기 노드 장치가 상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 단계;
상기 제어 장치가 상기 노드 장치로 수신된 패킷의 발신지 주소 및 목적지 주소를 짝으로 연결하는 제어 정보를 생성하여 저장하는 단계;
를 포함하는, 패킷 처리 방법.
A packet processing method of a node device including one or more virtual machines assigned different physical addresses,
The node device receiving a first packet from another node device connected to the first network;
Transmitting, by the node device, a signal requesting control information associated with processing of the first packet to a controller connected to the first network;
The node device receiving a response of the signal from the control device and determining whether to receive the packet according to control information contained in a response of the signal;
Receiving the packet according to whether the node device receives the packet, and transmitting the packet to a virtual machine to which a destination address is allocated;
Generating and storing control information that couples the source address and the destination address of the packet received by the control device to the node device;
/ RTI >
제8항에 있어서,
상기 노드 장치가 상기 제어 정보를 백업하는 단계;를 더 포함하고,
상기 노드 장치가 상기 제1 노드 장치로부터 제2 패킷을 상기 제1 패킷의 후속으로 수신한 경우, 상기 제어 장치로 패킷의 처리와 관련된 제어 정보를 요청하지 않고, 상기 백업부에 저장된 제어 정보에 따라 상기 제2 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 단계를 더 포함하는, 패킷 처리 방법.
9. The method of claim 8,
Further comprising the step of the node device backing up the control information,
Wherein when the node device receives the second packet from the first node device subsequent to the first packet, the control device does not request control information related to the processing of the packet to the control device, And sending the second packet to a virtual machine to which a destination address is assigned.
제8항에 있어서,
상기 제어 정보를 요청하는 단계는
상기 노드 장치가 제1 네트워크와 다른 제2 네트워크로 연결된 단말 장치로부터 제3 패킷을 수신한 경우, 상기 제3 패킷의 처리와 관련된 방화벽 정보를 상기 제어 장치로 요청하는 신호를 전송하고,
상기 제어 정보를 수신 하는 단계는
상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답 신호에 포함된 방화벽 정보에 따라 상기 패킷의 차단 여부를 결정하고,
상기 가상 머신에 전송하는 단계는
상기 패킷의 차단 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는, 패킷 처리 방법.
9. The method of claim 8,
The step of requesting the control information
When the node device receives the third packet from the terminal device connected to the second network different from the first network, transmits a signal requesting the control device for firewall information related to the processing of the third packet,
The step of receiving the control information
Receiving a response of the signal from the control device, determining whether to block the packet according to the firewall information included in the response signal of the signal,
The step of transmitting to the virtual machine
Receiving the packet according to whether the packet is blocked, and transmitting the packet to a virtual machine to which a destination address is allocated.
컴퓨터를 이용하여 제8항 내지 제10항 중 어느 한 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.A computer program stored on a medium for carrying out 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 true KR20180000524A (en) 2018-01-03
KR102554413B1 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 (2)

* 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
KR20160018775A (en) * 2013-12-31 2016-02-17 후아웨이 테크놀러지 컴퍼니 리미티드 Method and device for implementing virtual machine communication

Patent Citations (2)

* 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
KR20160018775A (en) * 2013-12-31 2016-02-17 후아웨이 테크놀러지 컴퍼니 리미티드 Method and device for implementing virtual machine communication

Also Published As

Publication number Publication date
KR102554413B1 (en) 2023-07-11

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
JP6498230B2 (en) Flexible HDD / SSD storage support system and method
US11258667B2 (en) Network management method and related device
US9143582B2 (en) Interoperability for distributed overlay virtual environments
CN113015961A (en) Seamless automation of network device migration to and from a cloud management system
US9584369B2 (en) Methods of representing software defined networking-based multiple layer network topology views
CN112470436A (en) Multi-cloud connectivity using SRV6 and BGP
US9465641B2 (en) Selecting cloud computing resource based on fault tolerance and network efficiency
TWI626537B (en) Methods and systems for analyzing record and usage in post package repair
CN105657081A (en) DHCP (dynamic host configuration protocol) service providing method, device and system
US8902731B2 (en) Method, network card, and communication system for binding physical network ports
JP6152148B2 (en) How to increase memory fault tolerance
TWI602057B (en) Storage system and computer-implemented method thereof for remote zone management
CN116436838A (en) Network access controller and method
US10291709B2 (en) Protocol independent storage discovery and enablement
JP2016116184A (en) Network monitoring device and virtual network management method
US11095532B2 (en) Configuration and/or deployment of a service based on location information and network performance indicators of network devices that are to be used to support the service
CN111654559B (en) Container data transmission method and device
CN114765572A (en) Fault processing method, control plane network element, switching decision network element and related equipment
US10764330B2 (en) LAN/SAN network security management
US9985877B2 (en) Customer premises equipment virtualization
US11563678B1 (en) Orchestration of overlay paths for wide area network virtualization
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
JP6669807B2 (en) Computer system and computer
CN110768888A (en) Data transmission device and system

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