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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
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
본 발명은 노드 장치, 상기 노드 장치의 패킷을 처리하는 방법 및 상기 노드 장치의 패킷 처리와 관련된 제어 정보를 관리하는 제어 장치를 포함하는 네트워크 시스템에 관한 것이다.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
도 1을 참조하면, 본 발명의 실시예들에 따른 네트워크 시스템(10)은 제1 네트워크로 연결된 제어 장치(100) 및 복수의 노드 장치들(201, 202, 이하 200)을 포함한다. 네트워크 시스템(10)은 복수의 단말 장치들(401, 402, 이하 400)과 상기 제1 네트워크와 다른 제2 네트워크(300)로 연결될 수 있다. Referring to FIG. 1 , a
네트워크 시스템(10)은 제1 네트워크로 연결되어 하나의 클라우드 서비스를 제공하는 서버로서, 복수의 사용자들에게 저장 공간을 제공할 수 있다. 이때, 사용자들이 사용한 공간이 늘어나면서, 물리적으로 분리된 노드 장치들(200)의 가상 머신들이 하나의 사용자에게 할당되도록 설정될 수 있고, 물리적으로 분리된 노드 장치들(200)에 존재하는 서로 다른 사용자의 저장 영역이 공유되도록 설정할 수도 있다. 이와 같은 기능을 수행하기 위해서는 종래에는 노드 장치들(200)로 수신된 패킷의 처리 및 제어를 담당하는 스위치 장치를 포함하였고, 스위치 장치가 가지는 한정된 리소스를 통해서 관리되는 노드 장치들(200), 가상 머신의 수, 사용자의 수에는 한정이 있었다. 그러나, 본 발명의 실시예들에 따른 네트워크 시스템(10)은 패킷의 처리 및 제어를 담당하는 스위치 장치를 물리적으로 추가함이 없이 소프트웨어 적으로 구현된 제어 장치(100)를 통해서 패킷의 처리 및 제어를 담당할 수 있다. 또한, 제어 정보의 생성 및 변경은 스위치 장치에 대한 설정 변경 없이 소프트웨어 적인 설정, 저장을 통해서 가능할 수 있다. The
또한, 이미 설정된 가상 머신들로 인해, 저장 영역이 늘어나서 복수의 가상 머신을 하나의 사용자에게 할당하는 경우, 복수의 가상 머신들에 대한 중복된 제어 정보들이 필요했다. 그러나, 본 발명의 실시예들에 따른 네트워크 시스템(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
제어 장치(100) 및 복수의 노드 장치들(200)은 복수의 사용자들에게 할당되는 복수의 가상 머신을 포함할 수 있다. 제어 장치(100)는 하나의 클라우드 서버로서 동작하기 위한 제어 정보 등을 저장 관리하게 된다. 노드 장치들(200)은 각각 하나 이상의 가상 머신을 생성하고, 가상 머신을 사용자에게 할당하게 된다. 여기서, 가상 머신들은 물리적으로는 하나의 장치에 포함되어 있으나, 논리적으로 독립된 장치를 말한다. 가상 머신은 가상 머신(드라이브 등)을 생성하는 애플리케이션 또는 프로그램에 의해서 생성될 수 있다. 가상 머신을 각각 구별하기 위해서, 제어 장치(100)는 각 가상 머신에는 구별되는 물리 주소를 할당하게 된다. 제1 사용자에게 할당된 하나 또는 그 이상의 가상 머신은 물리적으로 분리된 노드 장치들(200)에 포함될 수 있는데, 이런 경우, 원활한 데이터 공유를 위해서, 제어 장치(100)는 제1 가상 머신 및 제2 가상 머신 사이의 패킷을 송수신할 수 있도록 노드 장치들(200)을 제어한다. The
종래에는 제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
제어 장치(100)는 제1 네트워크로 연결된 복수의 노드 장치들(200) 사이의 패킷의 처리를 제어한다. 이를 위해서, 제어 장치(100)는 상기 패킷의 수신 여부를 결정하는 제어 정보를 생성할 수 있다. 각 노드 장치(200)는 하나 이상의 가상 머신을 포함할 수 있는데, 제어 장치(100)는 서로 다른 노드 장치(200)에 포함된 제1 가상 머신 및 제2 가상 머신 사이의 관계를 제어 정보로 생성할 수 있다. 제어 장치(100)는 동일한 사용자에게 할당되어 패킷의 공유가 필요한 제1 가상 머신 및 제2 가상 머신에 할당된 물리 주소들을 서로 연결시키는 제어 정보를 생성할 수 있다. 여기서, 물리 주소들을 연결시키는 방법은 제1 가상 머신의 물리 주소 및 제2 가상 머신의 물리 주소의 일부가 일치하도록 설정할 수도 있으며, 연결 관계, 소유 관계가 있는 제1 가상 머신 및 제2 가상 머신의 물리 주소들을 하나의 레코드로 생성하여 저장할 수도 있다. 제어 장치(100)는 각 노드 장치(200)로부터의 요청에 따라 각 노드 장치(200)의 주소와 관련된 제어 정보를 검색하여 전송할 수 있다. The
제어 장치(100)는 외부의 단말 장치(400)로부터 노드 장치(200)가 수신한 외부 패킷의 처리를 제어한다. 이를 위해서, 제어 장치(100)는 상기 외부 패킷의 차단 여부를 결정하는 방화벽 정보를 생성할 수 있다. 제어 장치(100)는 외부의 단말 장치(400)로부터의 패킷을 노드 장치(200)에 의해 수신하도록 제어한다. 제어 장치(100) 및 노드 장치(200)는 외부 네트워크 망과 연결되지 않은 폐쇄적인 네트워크 망으로 연결되어 있다. 제어 장치(100)는 구체적으로 오픈플로우 기술이 적용된 제어 장치를 말할 수 있으며, 플로우 테이블을 저장하는 장치 및 오플플로우 패킷을 제어하는 장치를 포함할 수 있다. The
제어 장치(100)는 제어 정보 및/또는 방화벽 정보를 설정하는 패킷을 통해 제어 정보 및/또는 방화벽 정보를 생성, 변경할 수도 있다. 제어 장치(100)는 사용자의 단말 장치(400)로부터 수신한 패킷을 통해 제어 정보 및/또는 방화벽 정보를 생성, 변경할 수 있다. The
여기서, 제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
복수 개의 노드 장치들(200)은 컴퓨터(예를 들면, 데스크톱, 랩톱, 태블릿 등), 미디어 컴퓨팅 플랫폼(예를 들면, 케이블, 위성 셋톱박스, 디지털 비디오 레코더), 핸드헬드 컴퓨팅 디바이스(예를 들면, PDA, 이메일 클라이언트 등), 핸드폰의 임의의 형태, 또는 다른 종류의 컴퓨팅 또는 커뮤니케이션 플랫폼의 임의의 형태를 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니다. The plurality of
제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
복수의 단말 장치들(400)은 유무선 통신 환경에서 웹 서비스를 이용할 수 있는 통신 단말기를 의미한다. 여기서, 복수의 단말 장치들(400)은 사용자의 퍼스널 컴퓨터일 수도 있고, 또는 사용자의 휴대용 단말일 수도 있다. The plurality of
이를 더욱 상세히 설명하면, 복수의 단말 장치들(400)은 컴퓨터(예를 들면, 데스크톱, 랩톱, 태블릿 등), 미디어 컴퓨팅 플랫폼(예를 들면, 케이블, 위성 셋톱박스, 디지털 비디오 레코더), 핸드헬드 컴퓨팅 디바이스(예를 들면, PDA, 이메일 클라이언트 등), 핸드폰의 임의의 형태, 또는 다른 종류의 컴퓨팅 또는 커뮤니케이션 플랫폼의 임의의 형태를 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니다. Describing this in more detail, the plurality of
도 2는 본 발명의 실시예들에 따른 제어 장치(100)의 구조를 나타내는 블록도이다. 2 is a block diagram showing the structure of a
도 2를 참조하면, 본 발명의 실시예들에 따른 제어 장치(100)는 통신 인터페이스(110), 프로세서(120), 저장 매체(130)를 포함할 수 있다. Referring to FIG. 2 , a
통신 인터페이스부(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
프로세서(120)는 통상적으로 제어 장치(100)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(120)는 저장 매체(130)에 탑재된 제어 소프트웨어 뿐만 아니라, 제어 정보 처리부(131), 방화벽 정보 처리부(132)를 실행하도록 제어할 수 있다. The processor 120 typically controls the overall operation of the
프로세서(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
저장 매체(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
도 3은 제어 장치(100)의 구조를 나타내는 블록도이다. 3 is a block diagram showing the structure of the
도 3을 참조하면, 제어 장치(100)는 제어 정보 처리부(131) 및 방화벽 정보 처리부(132)를 포함할 수 있다. Referring to FIG. 3 , the
제어 정보 처리부(131)는 제1 네트워크로 연결된 노드 장치들(200) 사이의 패킷 송수신을 처리하기 위한 제어 정보를 생성하고, 변경하는 기능을 수행한다. 제어 정보는 제1 네트워크에 포함된 하나 이상의 가상 머신들 사이의 관계를 설정하는 정보로서, 동일한 사용자에게 가상 머신을 식별하기 위해 부여된 물리 주소를 이용하여 생성될 수 있다. 예를 들어, 제어 정보는 제1 사용자에게 할당된 가상 머신의 물리 주소들을 2개씩 혹은 그 이상으로 연결한 정보로 생성될 수 있다. The control
제어 정보 처리부(131)는 노드 장치들(200)로 악성 코드, 바이러스 등의 공격의 대상이 되는 패킷을 차단하기 위해서 가상 머신들의 MAC/IP 정보를 저장 관리 할 수 있다. 제어 정보 처리부(131)는 저장된 가상 머신들의 MAC/IP 주소를 이용하여, 목적지와 대응되는 네트워크 주소가 변조된 패킷을 드랍(drop)시킬 수 있다. 제어 정보 처리부(131)는 네트워드 주소가 변조된 패킷이 유입되면, 자동적으로 이에 대한 처리를 위한 제어 정보를 요청하고, 미리 등록된 변조 패킷과 관련된 정보와 비교하여 통신 가능 여부를 확인할 수 있다. 상기 변조 패킷과 관련된 정보는 MAC/IP 어드레스 정보를 포함할 수 있다. 제어 정보 처리부(131)는 네트워크 정보가 변조된 패킷에 대한 제어 정보(drop rule)를 생성하여 저장할 수 있다. The control
방화벽 정보 처리부(132)는 노드 장치들(200)이 수신한 제2 네트워크(300)로부터의 패킷 송수신을 처리하기 위한 방화벽 정보를 생성하고, 변경하는 기능을 수행한다. 방화벽 정보는 차단할 패킷의 네트워크 정보이며, 네트워크 정보를 변조한 패킷과 관련된 정보를 포함할 수 있다. 네트워크 정보가 변조된 패킷은 악성 코드 및/또는 바이러스 등이 포함되었을 가능성이 높으므로, 변조 여부를 통해 차단 여부를 결정할 수 있다. 또한, 방화벽 정보는 차단되어야 하는 패킷의 목적지와 대응되는 IP 정보, 서브넷 마스크 등을 포함할 수 있다. 제어 장치(100)는 수신된 패킷의 차단 여부를 좀더 빠르게 검색할 수 있도록 각 정보의 종류 별로 정렬되도록 제어할 수 있다. The firewall
본 발명의 실시예들에 따른 제어 장치(100)는 제1 네트워크로 연결된 노드 장치들(200)로부터의 요청에 따라 패킷의 처리와 관련된 제어 정보 및 방화벽 정보를 상기 노드 장치(200)로 전송하게 된다. 이를 통해, 본 발명의 실시예들에 따른 제어 장치(100)는 폐쇄된 망으로 연결된 노드 장치(200)들 사이의 패킷 송수신을 관리할 수 있다. The
도 4는 노드 장치(200)의 구조를 나타내는 블록도이다. 4 is a block diagram showing the structure of the
도 4를 참조하면, 노드 장치(200)는 통신 인터페이스부(210)를 통해 수신된 패킷을 수신하거나 차단하는 등의 기능을 수행하는 패킷 제어부(231), 하나 이상의 가상 머신(232a, 232b 이하, 232)를 포함할 수 있다. Referring to FIG. 4, the
패킷 제어부(231)는 통신 인터페이스부(210)를 통해 수신된 패킷을 수신하거나 차단하는 등의 기능을 수행할 수 있으며, 패킷의 오류를 검출하거나 검출된 오류를 회복 시키는 오류 제어 기능을 수행할 수도 있다. 또한, 패킷 제어부(231)는 발신 장치 및 수신 장치 사이의 속도 차이를 해결하기 위해 흐름을 제어하는 기능을 수행하고, 패킷, 프레임의 동기를 맞추는 기능을 수행할 수도 있다. 또한, 패킷 제어부(231)는 패킷이 발신지인 제1 노드 장치(200)로부터 목적지인 제2 노드 장치(200)로 성공적으로 전송될 수 있도록 하는 기능을 수행할 수도 있다. 패킷 제어부(231)에 대한 상세한 설명은 도 5에 대한 설명에서 하겠다. The
노드 장치(200)는 물리적으로는 하나의 컴퓨팅 장치이지만 논리적으로는 분리된 하나 이상의 가상 머신(232)를 포함할 수 있다. 가상 머신(232)은 관리자에 의해 소정의 프로그램, 애플리케이션을 통해 생성될 수 있다. 하나의 노드 장치(200)에 포함된 가상 머신(232)이라 하더라도, 상기 하나 이상의 가상 머신(232)는 각각 구별되는 물리 주소로 할당될 수 있다. The
본 발명의 실시예들에 따른 제어 장치(100) 및 노드 장치들(200)을 포함하는 네트워크 시스템(10)은 클라우드 서비스를 제공하면서 좀더 넓은 저장 공간을 필요로 할 수 있는데, 이런 경우, 노드 장치를 추가하고, 노드 장치에 하나 이상의 가상 머신을 설정하는 과정을 거치게 된다. 클라우드 서비스를 제공하는 제공자는 클라우드 서비스를 사용하는 사용자를 위한 저장 공간을 제공하기 위해서, 사용자들에게 각각 할당되는 가상 머신들을 생성하게 된다. 또한, 클라우드 서비스를 제공하는 제공자는 서로 다른 노드 장치들에 할당된 복수의 가상 머신들을 하나의 사용자에게 할당할 수도 있다. 도 5는 패킷 제어부(231)의 구조를 나타내는 블록도이다. The
도 5를 참조하여 본 발명의 실시예들에 따른 노드 장치(200)의 패킷 제어부(231)가 제어 정보를 요청하고 수신하는 과정을 중심으로 설명하겠다. 패킷 제어부(231)는 수신 제어부(2311), 제어 정보 요청부(2312), 제어 정보 수신부(2313), 패킷 처리부(2314), 백업부(2315)를 포함할 수 있다. Referring to FIG. 5 , a process of requesting and receiving control information by the
본 발명의 실시예들에 따른 노드 장치(200)는 패킷을 수신한 경우, 상기 패킷의 처리와 관련하여 자체적으로 처리하지 않고, 제1 네트워크로 연결된 제어 장치(100)에게 제어와 관련된 정보를 요청하고, 상기 요청의 응답으로 수신된 정보에 따라 패킷의 수신 또는 차단 여부를 결정하게 된다. 종래의 클라우드 서비스를 제공하는 노드 장치들의 경우, 생성시부터 패킷을 서로 공유하는, 동일한 사용자에게 할당된 가상 머신들에 소정의 범위에 포함되는 네트워크 정보 예를 들어 물리 주소, 서브넷 마스크를 할당하는데 반해, 본 발명의 실시예들에 따른 노드 장치(200)는 패킷을 서로 공유할 수 있도록 제어 정보를 일일이 제어 장치(100)로부터 수신하여 처리한다. 이를 통해, 노드 장치(200)는 가상 머신을 동적으로 사용자들에게 할당할 수 있다. 좀더 구체적으로는 제어 장치(100)는 상기 가상 머신에 대한 제어 정보 만을 변경함으로써, 제1 사용자에게 할당된 가상 머신을 제1 사용자가 아닌 다른 사용자에게 할당할 수 있다. When the
수신 제어부(2311)는 통신 인터페이스부(210)를 통해 수신된 패킷에 포함된 발신지 IP 주소를 고려하여, 상기 패킷의 발신 장치가 제1 네트워크로 연결되어 있는지 또는 상기 제1 네트워크가 아닌 다른 네트워크로 연결되어 있는지 여부를 판단할 수 있다. The
정보 요청부(2312)는 수신된 패킷이 제1 네트워크와 연결된 노드 장치(200)로부터 수신된 경우, 제어 정보를 요청하는 제1 신호를 생성하고, 상기 제1 신호를 제어 장치(100)로 전송한다. When the received packet is received from the
정보 요청부(2312)는 수신된 패킷이 제1 네트워크와 연결되지 않은 단말 장치(400)로부터 수신된 경우, 방화벽 정보를 요청하는 제2 신호를 생성하고, 상기 제2 신호를 제어 장치로 전송한다. When the received packet is received from the
정보 수신부(2313)는 제어 장치(100)로부터 상기 수신된 패킷과 관련된 제어 정보 또는 방화벽 정보를 수신한다. The
패킷 처리부(2314)는 상기 정보 수신부(2313)를 통해 수신된 제어 정보에 따라 상기 수신된 패킷의 수신 여부를 결정하고, 상기 수신 여부에 따라 상기 패킷을 수신한다. 또한 패킷 처리부(2314)는 상기 정보 수신부(2313)를 통해 수신된 방화벽 정보에 따라 상기 수신된 상기 패킷을 차단한다. The
백업부(2315)는 정보 수신부(2313)를 통해 수신된 패킷에 대한 제어 정보 또는 방화벽 정보를 백업하여 저장하는 기능을 수행한다. 백업부(2315)를 통해, 본 발명의 실시예들에 따른 노드 장치(200)는 이전에 수신된 패킷과 동일한 발신지 장치로부터 수신된 패킷의 처리를 위해서, 제어 정보 또는 방화벽 정보를 요청하는 신호를 중복해서 전송할 필요가 없다. 본 발명의 실시예들에 따른 노드 장치(200)는 이전에 수신된 패킷과 동일하게 현 패킷을 수신하거나 차단하게 된다. The
도 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
도 7의 흐름도는 노드 장치(200)가 제1 네트워크가 아닌 네트워크로 연결된 단말 장치(400)로부터 수신된 패킷을 처리하는 방법에 대한 것이다. The flowchart of FIG. 7 relates to a method in which the
단말 장치(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
도 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
본 발명의 실시예들에 따른 네트워크 시스템(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
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, 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 노드 장치로부터 제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 네트워크와 다른 제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 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 제어 정보 요청부;
상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 제어 정보 수신부;
상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 패킷 처리부;를 포함하는 제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.
상기 제어 정보 처리부는
상기 제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.
상기 제어 장치는
상기 제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.
상기 제어 장치의 상기 제어 정보 처리부는
상기 제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.
상기 노드 장치가 상기 제어 정보를 백업하는 단계;를 더 포함하고,
상기 노드 장치가 상기 다른 노드 장치로부터 제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.
상기 제어 정보를 요청하는 단계는
상기 노드 장치가 제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.
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015100656A1 (en) * | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | Method and device for implementing virtual machine communication |
-
2016
- 2016-06-23 KR KR1020160078613A patent/KR102554413B1/en active IP Right Grant
Patent Citations (1)
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 | |
TWI626537B (en) | Methods and systems for analyzing record and usage in post package repair | |
EP2499787B1 (en) | Smart client routing | |
US9413652B2 (en) | Systems and methods for path maximum transmission unit discovery | |
KR101857511B1 (en) | Method and apparatus for determining virtual machine migration | |
US20120291028A1 (en) | Securing a virtualized computing environment using a physical network switch | |
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 | |
CN114765572A (en) | Fault processing method, control plane network element, switching decision network element and related equipment | |
CN104780201A (en) | Data packet processing method and device for use in IPVS (Internet Protocol Virtual Server) cluster | |
US20240137314A1 (en) | Service chaining in fabric networks | |
CN112187635B (en) | Message forwarding method and device | |
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 |
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 |