KR102554413B1 - 노드 장치, 상기 노드 장치의 패킷을 처리하는 방법 및 상기 노드 장치의 패킷 처리와 관련된 제어 정보를 관리하는 제어 장치를 포함하는 네트워크 시스템 - Google Patents

노드 장치, 상기 노드 장치의 패킷을 처리하는 방법 및 상기 노드 장치의 패킷 처리와 관련된 제어 정보를 관리하는 제어 장치를 포함하는 네트워크 시스템 Download PDF

Info

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

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls

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 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 제어 정보 요청부; 상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답 신호에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 제어 정보 수신부; 상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 패킷 처리부;를 포함하는, 노드 장치를 개시한다.

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}
본 발명은 노드 장치, 상기 노드 장치의 패킷을 처리하는 방법 및 상기 노드 장치의 패킷 처리와 관련된 제어 정보를 관리하는 제어 장치를 포함하는 네트워크 시스템에 관한 것이다.
통신 분야에서, 스위치는 단위 데이터를 다음 목적지까지 보내기 위해 경로 또는 회선을 선택하는 네트워크 장비이다. 스위치는 루트, 즉 보다 명확히 말하면, 인접한 네트워크 지점 중 어디로 데이터가 보내져야 하는지를 결정할 수 있는 장비인 라우터 기능을 포함할 수도 있다. 일반적으로 네트워크와 루트를 어떻게 결정해야 하는지에 관한 지식을 요구하는 라우터보다, 스위치가 훨씬 단순하고 더 빠르게 동작하는 장치이다. 스위치는 대개 OSI 참조 모델에서, 2계층, 즉 데이터 링크 계층과 관련된다. 그러나, 일부 신형 스위치들은 3계층인 네트워크 계층의 라우팅 기능을 수행하기도 한다. 스위치에 연결된 장치가 많을수록 브로드캐스트 트래픽(broadcast traffic)도 증가하게 되는데, 이는 네트워크 성능 저하의 원인이 되기도 한다.
또한, 클라우드 서비스를 제공하는데 있어서, 클라우드 서비스를 제공하는데 이용되는 물리적으로 분리된 노드 장치가 하나 추가됨에 따라 추가된 노드 장치의 네트워크 정보를 관리하기 위한 스위치의 설정이 필요했다. 또한,
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 실시예들은 복수의 가상 머신을 포함하는 하나 이상의 노드 장치 사이의 패킷을 송수신과 관련된 제어 정보를 제어 장치로부터 수신함으로써, 상기 패킷의 수신 여부를 결정하는 노드 장치를 제공한다.
또한, 본 발명의 실시예들은 네트워크로 연결되지 않은 단말 장치로부터 수신한 패킷의 차단과 관련된 방화벽 정보를 제어 장치로부터 수신함으로써, 상기 패킷의 차단 여부를 결정하는 네트워크 시스템을 제공한다.
또한, 본 발명의 실시예들은 증가하는 사용자들의 수 만큼 노드 장치를 추가로 설치해야 하는 경우, 설치된 노드 장치들까지도 하나의 네트워크 망을 통해 관리하기 위한 네트워크 장치(스위치 등)의 추가가 필요 없는 네트워크 시스템을 제공한다.
또한, 본 발명의 실시예들은 동일한 사용자에게 할당된 가상 머신들 사이에 패킷의 공유를 위해서 가상 머신을 동적으로 사용자들에게 할당하고, 제어 정보의 변경 만으로 제1 사용자에게 할당된 가상 머신을 다른 사용자에게 할당하는 네트워크 시스템을 제공한다.
본 발명의 일 실시예에 따른 서로 다른 물리 주소가 할당된 하나 이상의 가상 머신을 포함하는 노드 장치는, 제1 네트워크로 연결된 제1 노드 장치로부터 제1 패킷을 수신하는 패킷 수신부; 상기 제1 패킷의 처리와 관련된 제어 정보를 상기 제1 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 제어 정보 요청부; 상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 제어 정보 수신부; 상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 패킷 처리부;를 포함할 수 있다.
본 발명의 일 실시예에 따른 서로 다른 물리 주소가 할당된 하나 이상의 가상 머신을 포함하는 노드 장치는, 상기 제어 정보를 백업하는 백업부;를 더 포함할 수 있다. 이때 상기 패킷 처리부는 상기 패킷 수신부에 의해 상기 제1 노드 장치로부터 제2 패킷을 상기 제1 패킷과 연이어 수신한 경우, 상기 제어 장치로 패킷의 처리와 관련된 제어 정보를 요청하지 않고, 상기 백업부에 저장된 제어 정보에 따라 상기 제2 패킷을 목적지 주소가 할당된 가상 머신에 전송할 수 있다.
상기 제어 정보 요청부는 상기 패킷 수신부에 의해 제1 네트워크와 다른 제2 네트워크로 연결된 단말 장치로부터 제3 패킷을 수신한 경우, 상기 제3 패킷의 처리와 관련된 방화벽 정보를 상기 제어 장치로 요청하는 신호를 전송하고, 상기 제어 정보 수신부는 상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답 신호에 포함된 방화벽 정보에 따라 상기 패킷의 차단 여부를 결정하고, 상기 패킷 처리부는 상기 패킷의 차단 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송할 수 있다.
본 발명의 일 실시예에 따른 네트워크 시스템은, 서로 다른 물리 주소가 할당된 복수의 가상 머신을 포함하고, 제1 네트워크로 연결된 제1 노드 장치로부터 제1 패킷을 수신하는 패킷 수신부; 상기 제1 패킷의 처리와 관련된 제어 정보를 상기 제1 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 제어 정보 요청부; 상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 제어 정보 수신부; 상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 패킷 처리부;를 포함하는 제1 노드 장치 및 상기 제1 네트워크로 연결된 하나 이상의 가상 머신의 물리 주소 간의 관계를 기초로 패킷에 대한 처리와 관련된 제어 정보를 생성하여 저장하는 제어 정보 처리부;를 포함할 수 있다.
상기 제어 정보 처리부는 상기 제1 네트워크로 연결된 제1 가상 머신 및 제2 가상 머신이 제1 사용자에게 할당된 경우, 상기 제1 가상 머신의 물리 주소 및 상기 제2 가상 머신의 물리 주소 사이의 패킷의 송수신이 가능하도록 설정되는 제어 정보를 생성할 수 있다.
상기 제어 장치는 상기 제1 네트워크와 다른 네트워크로부터 수신된 패킷의 처리를 위해서, 차단해야 하는 네트워크 정보에 포함된 ip 주소 또는 서브넷마스크의 크기 순으로 정렬한 방화벽 정보를 생성하여 저장하는 방화벽 정보 처리부;를 포함할 수 있다.
상기 제어 장치의 상기 제어 정보 처리부는 상기 제2 노드 장치에 포함된 제2 가상 머신의 물리 주소를 할당하고, 상기 제2 가상 머신의 물리 주소와 상기 제1 사용자에게 할당된 하나 이상의 가상 머신의 물리 주소 사이의 관계에 따른 제어 정보를 생성할 수 있다.
본 발명의 일 실시예에 따른 서로 다른 물리 주소가 할당된 하나 이상의 가상 머신을 포함하는 노드 장치의 패킷 처리 방법은, 상기 노드 장치가 제1 네트워크로 연결된 다른 노드 장치로부터 제1 패킷을 수신하는 단계; 상기 노드 장치가 상기 제1 패킷의 처리와 관련된 제어 정보를 상기 제1 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 단계; 상기 노드 장치가 상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 단계; 상기 노드 장치가 상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 단계; 상기 제어 장치가 상기 노드 장치로 수신된 패킷의 발신지 주소 및 목적지 주소를 짝으로 연결하는 제어 정보를 생성하여 저장하는 단계;를 포함할 수 있다.
본 발명의 일 실시예에 따른 서로 다른 물리 주소가 할당된 하나 이상의 가상 머신을 포함하는 노드 장치의 패킷 처리 방법은, 상기 노드 장치가 상기 제어 정보를 백업하는 단계;를 더 포함하고, 상기 노드 장치가 상기 제1 노드 장치로부터 제2 패킷을 상기 제1 패킷의 후속으로 수신한 경우, 상기 제어 장치로 패킷의 처리와 관련된 제어 정보를 요청하지 않고, 상기 백업부에 저장된 제어 정보에 따라 상기 제2 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 단계를 더 포함할 수 있다.
상기 제어 정보를 요청하는 단계는 상기 노드 장치가 제1 네트워크와 다른 제2 네트워크로 연결된 단말 장치로부터 제3 패킷을 수신한 경우, 상기 제3 패킷의 처리와 관련된 방화벽 정보를 상기 제어 장치로 요청하는 신호를 전송하고, 상기 제어 정보를 수신 하는 단계는 상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답 신호에 포함된 방화벽 정보에 따라 상기 패킷의 차단 여부를 결정하고, 상기 가상 머신에 전송하는 단계는 상기 패킷의 차단 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송할 수 있다.
본 발명의 실시예에 따른 컴퓨터 프로그램은 컴퓨터를 이용하여 본 발명의 실시예에 따른 패킷을 처리하는 방법 중 어느 하나의 방법을 실행시키기 위하여 매체에 저장될 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해 질 것이다.
본 발명은 복수의 가상 머신을 포함하는 하나 이상의 노드 장치 사이의 패킷을 송수신과 관련된 제어 정보를 제어 장치로부터 수신함으로써, 상기 패킷의 수신 여부를 결정할 수 있다.
또한, 본 발명은 네트워크로 연결되지 않은 단말 장치로부터 수신한 패킷의 차단과 관련된 방화벽 정보를 제어 장치로부터 수신함으로써, 상기 패킷의 차단 여부를 결정할 수 있다.
또한, 본 발명은 증가하는 사용자들의 수 만큼 노드 장치를 추가로 설치해야 하는 경우, 설치된 노드 장치들까지도 하나의 네트워크 망을 통해 관리하기 위한 네트워크 장치(스위치 등)의 추가가 필요 없을 수 있다.
또한, 본 발명은 동일한 사용자에게 할당된 가상 머신들 사이에 패킷의 공유를 위해서 가상 머신을 동적으로 사용자들에게 할당하고, 제어 정보의 변경 만으로 제1 사용자에게 할당된 가상 머신을 다른 사용자에게 할당할 수 있다.
도 1은 본 발명의 실시예들에 따른 네트워크 시스템 및 단말 장치를 포함하는 전체적인 시스템을 나타내는 도면이다.
도 2는 제어 장치 및 노드 장치의 구조를 나타내는 블록도이다.
도 3은 제어 장치의 저장 매체의 구조를 나타내는 블록도이다.
도 4는 노드 장치의 저장 매체의 구조를 나타내는 블록도이다.
도 5는 패킷 제어부의 구조를 나타내는 블록도이다.
도 6 내지 도 7은 노드 장치에서의 패킷을 처리하는 방법을 나타내는 도면이다.
도 8은 본 발명의 실시예들에 따른 제어 장치에 의해 생성되는 제어 정보의 일 예를 나타내는 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다.
이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는한, 복수의 표현을 포함한다.
이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서 상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징을 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
어떤 실시예가 달리 구현 가능한 경우에 특정한 공정 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 공정이 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다.
이하의 실시예에서, "회로"는, 예를 들어, 프로그램가능한 회로에 의해 실행되는 인스트럭션을 저장하는 하드와이어드 회로, 프로그램가능한 회로, 상태 머신 회로, 및/또는 펌웨어를 단독으로 또는 임의의 조합으로 포함할 수 있다. 애플리케이션은 호스트 프로세서 또는 다른 프로그램가능한 회로와 같은 프로그램가능한 회로 상에서 실행될 수 있는 코드 또는 인스트럭션으로서 구현될 수 있다. 본원의 임의의 실시예에서 사용되는 바와 같은, 모듈은,회로로서 구현될 수 있다. 회로는 집적 회로 칩과 같은 집적 회로로서 구현될 수 있다.
이하의 실시예에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 실시예들에 따른 네트워크 시스템(10)을 나타내는 도면이다.
도 1을 참조하면, 본 발명의 실시예들에 따른 네트워크 시스템(10)은 제1 네트워크로 연결된 제어 장치(100) 및 복수의 노드 장치들(201, 202, 이하 200)을 포함한다. 네트워크 시스템(10)은 복수의 단말 장치들(401, 402, 이하 400)과 상기 제1 네트워크와 다른 제2 네트워크(300)로 연결될 수 있다.
네트워크 시스템(10)은 제1 네트워크로 연결되어 하나의 클라우드 서비스를 제공하는 서버로서, 복수의 사용자들에게 저장 공간을 제공할 수 있다. 이때, 사용자들이 사용한 공간이 늘어나면서, 물리적으로 분리된 노드 장치들(200)의 가상 머신들이 하나의 사용자에게 할당되도록 설정될 수 있고, 물리적으로 분리된 노드 장치들(200)에 존재하는 서로 다른 사용자의 저장 영역이 공유되도록 설정할 수도 있다. 이와 같은 기능을 수행하기 위해서는 종래에는 노드 장치들(200)로 수신된 패킷의 처리 및 제어를 담당하는 스위치 장치를 포함하였고, 스위치 장치가 가지는 한정된 리소스를 통해서 관리되는 노드 장치들(200), 가상 머신의 수, 사용자의 수에는 한정이 있었다. 그러나, 본 발명의 실시예들에 따른 네트워크 시스템(10)은 패킷의 처리 및 제어를 담당하는 스위치 장치를 물리적으로 추가함이 없이 소프트웨어 적으로 구현된 제어 장치(100)를 통해서 패킷의 처리 및 제어를 담당할 수 있다. 또한, 제어 정보의 생성 및 변경은 스위치 장치에 대한 설정 변경 없이 소프트웨어 적인 설정, 저장을 통해서 가능할 수 있다.
또한, 이미 설정된 가상 머신들로 인해, 저장 영역이 늘어나서 복수의 가상 머신을 하나의 사용자에게 할당하는 경우, 복수의 가상 머신들에 대한 중복된 제어 정보들이 필요했다. 그러나, 본 발명의 실시예들에 따른 네트워크 시스템(10)은 가상 머신을 미리 설정하지 않고, 사용자에게 제공되는 영역의 크기를 고려하여 가상 머신을 동적으로 생성할 수 있다. 또한, 종래의 네트워크 시스템의 제어 정보는 관리자에 의해 생성될 수 있는데 반해 본 발명의 실시예들에 따른 네트워크 시스템(10)의 제어 정보 및/또는 방화벽 정보는 서비스를 사용하는 사용자에 의해서도 생성, 변경될 수 있다.
제어 장치(100) 및 복수의 노드 장치들(200)은 복수의 사용자들에게 할당되는 복수의 가상 머신을 포함할 수 있다. 제어 장치(100)는 하나의 클라우드 서버로서 동작하기 위한 제어 정보 등을 저장 관리하게 된다. 노드 장치들(200)은 각각 하나 이상의 가상 머신을 생성하고, 가상 머신을 사용자에게 할당하게 된다. 여기서, 가상 머신들은 물리적으로는 하나의 장치에 포함되어 있으나, 논리적으로 독립된 장치를 말한다. 가상 머신은 가상 머신(드라이브 등)을 생성하는 애플리케이션 또는 프로그램에 의해서 생성될 수 있다. 가상 머신을 각각 구별하기 위해서, 제어 장치(100)는 각 가상 머신에는 구별되는 물리 주소를 할당하게 된다. 제1 사용자에게 할당된 하나 또는 그 이상의 가상 머신은 물리적으로 분리된 노드 장치들(200)에 포함될 수 있는데, 이런 경우, 원활한 데이터 공유를 위해서, 제어 장치(100)는 제1 가상 머신 및 제2 가상 머신 사이의 패킷을 송수신할 수 있도록 노드 장치들(200)을 제어한다.
종래에는 제1 네트워크로 연결된 각 노드 장치에 포함된 가상 머신들의 수량이 고정되며, 하나의 가상 머신은 하나의 사용자에게 할당되어야만 했다. 그러나, 본 발명의 실시예들에 따른 노드 장치(200)들은 고정되지 않고, 다양하게 분할된 가상 머신들을 포함하게 되며, 각 노드 장치(200)는 다양한 수의 사용자들에게 할당될 수 있는 가상 머신들을 포함하게 된다. 즉, 각 노드 장치(200)는 사용자에 의해 설정된 다양한 용량의 가상 머신들을 포함할 수 있다. 또한, 노드 장치(200)에 포함된 가상 머신들이 사용자들에게 할당됨에 따라 정적으로 관리되는 제어 정보 영역을 포함하게 된다. 또한, 사용자의 요청에 따라 제어 장치(100)는 동일한 사용자에게 할당되지 않은 가상 머신들 사이의 통신도 허용하는 제어 정보를 생성함에 따라, 동일한 사용자들에게 할당되지 않은 가상 머신들 사이의 통신을 가능하게 한다.
제어 장치(100)는 제1 네트워크로 연결된 복수의 노드 장치들(200) 사이의 패킷의 처리를 제어한다. 이를 위해서, 제어 장치(100)는 상기 패킷의 수신 여부를 결정하는 제어 정보를 생성할 수 있다. 각 노드 장치(200)는 하나 이상의 가상 머신을 포함할 수 있는데, 제어 장치(100)는 서로 다른 노드 장치(200)에 포함된 제1 가상 머신 및 제2 가상 머신 사이의 관계를 제어 정보로 생성할 수 있다. 제어 장치(100)는 동일한 사용자에게 할당되어 패킷의 공유가 필요한 제1 가상 머신 및 제2 가상 머신에 할당된 물리 주소들을 서로 연결시키는 제어 정보를 생성할 수 있다. 여기서, 물리 주소들을 연결시키는 방법은 제1 가상 머신의 물리 주소 및 제2 가상 머신의 물리 주소의 일부가 일치하도록 설정할 수도 있으며, 연결 관계, 소유 관계가 있는 제1 가상 머신 및 제2 가상 머신의 물리 주소들을 하나의 레코드로 생성하여 저장할 수도 있다. 제어 장치(100)는 각 노드 장치(200)로부터의 요청에 따라 각 노드 장치(200)의 주소와 관련된 제어 정보를 검색하여 전송할 수 있다.
제어 장치(100)는 외부의 단말 장치(400)로부터 노드 장치(200)가 수신한 외부 패킷의 처리를 제어한다. 이를 위해서, 제어 장치(100)는 상기 외부 패킷의 차단 여부를 결정하는 방화벽 정보를 생성할 수 있다. 제어 장치(100)는 외부의 단말 장치(400)로부터의 패킷을 노드 장치(200)에 의해 수신하도록 제어한다. 제어 장치(100) 및 노드 장치(200)는 외부 네트워크 망과 연결되지 않은 폐쇄적인 네트워크 망으로 연결되어 있다. 제어 장치(100)는 구체적으로 오픈플로우 기술이 적용된 제어 장치를 말할 수 있으며, 플로우 테이블을 저장하는 장치 및 오플플로우 패킷을 제어하는 장치를 포함할 수 있다.
제어 장치(100)는 제어 정보 및/또는 방화벽 정보를 설정하는 패킷을 통해 제어 정보 및/또는 방화벽 정보를 생성, 변경할 수도 있다. 제어 장치(100)는 사용자의 단말 장치(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, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
복수 개의 노드 장치들(200)은 컴퓨터(예를 들면, 데스크톱, 랩톱, 태블릿 등), 미디어 컴퓨팅 플랫폼(예를 들면, 케이블, 위성 셋톱박스, 디지털 비디오 레코더), 핸드헬드 컴퓨팅 디바이스(예를 들면, PDA, 이메일 클라이언트 등), 핸드폰의 임의의 형태, 또는 다른 종류의 컴퓨팅 또는 커뮤니케이션 플랫폼의 임의의 형태를 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
제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, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
복수의 단말 장치들(400)은 유무선 통신 환경에서 웹 서비스를 이용할 수 있는 통신 단말기를 의미한다. 여기서, 복수의 단말 장치들(400)은 사용자의 퍼스널 컴퓨터일 수도 있고, 또는 사용자의 휴대용 단말일 수도 있다.
이를 더욱 상세히 설명하면, 복수의 단말 장치들(400)은 컴퓨터(예를 들면, 데스크톱, 랩톱, 태블릿 등), 미디어 컴퓨팅 플랫폼(예를 들면, 케이블, 위성 셋톱박스, 디지털 비디오 레코더), 핸드헬드 컴퓨팅 디바이스(예를 들면, PDA, 이메일 클라이언트 등), 핸드폰의 임의의 형태, 또는 다른 종류의 컴퓨팅 또는 커뮤니케이션 플랫폼의 임의의 형태를 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
도 2는 본 발명의 실시예들에 따른 제어 장치(100)의 구조를 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 실시예들에 따른 제어 장치(100)는 통신 인터페이스(110), 프로세서(120), 저장 매체(130)를 포함할 수 있다.
통신 인터페이스부(110)는 제1 네트워크로 연결된 복수의 노드 장치(200)들과 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다. 통신 인터페이스부(110)는 제1 네트워크 외의 제2 네트워크를 통해서는 데이터 송수신하지 않도록 제어할 수 있다.
프로세서(120)는 통상적으로 제어 장치(100)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(120)는 저장 매체(130)에 탑재된 제어 소프트웨어 뿐만 아니라, 제어 정보 처리부(131), 방화벽 정보 처리부(132)를 실행하도록 제어할 수 있다.
프로세서(120)(processor)는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
저장 매체(130)는 제어 장치(100)에 포함되거나 제어 장치(100)와 전기적으로 연결된 저장 장치를 말한다. 저장 매체(130)는 제어 장치(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), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
도 3은 제어 장치(100)의 구조를 나타내는 블록도이다.
도 3을 참조하면, 제어 장치(100)는 제어 정보 처리부(131) 및 방화벽 정보 처리부(132)를 포함할 수 있다.
제어 정보 처리부(131)는 제1 네트워크로 연결된 노드 장치들(200) 사이의 패킷 송수신을 처리하기 위한 제어 정보를 생성하고, 변경하는 기능을 수행한다. 제어 정보는 제1 네트워크에 포함된 하나 이상의 가상 머신들 사이의 관계를 설정하는 정보로서, 동일한 사용자에게 가상 머신을 식별하기 위해 부여된 물리 주소를 이용하여 생성될 수 있다. 예를 들어, 제어 정보는 제1 사용자에게 할당된 가상 머신의 물리 주소들을 2개씩 혹은 그 이상으로 연결한 정보로 생성될 수 있다.
제어 정보 처리부(131)는 노드 장치들(200)로 악성 코드, 바이러스 등의 공격의 대상이 되는 패킷을 차단하기 위해서 가상 머신들의 MAC/IP 정보를 저장 관리 할 수 있다. 제어 정보 처리부(131)는 저장된 가상 머신들의 MAC/IP 주소를 이용하여, 목적지와 대응되는 네트워크 주소가 변조된 패킷을 드랍(drop)시킬 수 있다. 제어 정보 처리부(131)는 네트워드 주소가 변조된 패킷이 유입되면, 자동적으로 이에 대한 처리를 위한 제어 정보를 요청하고, 미리 등록된 변조 패킷과 관련된 정보와 비교하여 통신 가능 여부를 확인할 수 있다. 상기 변조 패킷과 관련된 정보는 MAC/IP 어드레스 정보를 포함할 수 있다. 제어 정보 처리부(131)는 네트워크 정보가 변조된 패킷에 대한 제어 정보(drop rule)를 생성하여 저장할 수 있다.
방화벽 정보 처리부(132)는 노드 장치들(200)이 수신한 제2 네트워크(300)로부터의 패킷 송수신을 처리하기 위한 방화벽 정보를 생성하고, 변경하는 기능을 수행한다. 방화벽 정보는 차단할 패킷의 네트워크 정보이며, 네트워크 정보를 변조한 패킷과 관련된 정보를 포함할 수 있다. 네트워크 정보가 변조된 패킷은 악성 코드 및/또는 바이러스 등이 포함되었을 가능성이 높으므로, 변조 여부를 통해 차단 여부를 결정할 수 있다. 또한, 방화벽 정보는 차단되어야 하는 패킷의 목적지와 대응되는 IP 정보, 서브넷 마스크 등을 포함할 수 있다. 제어 장치(100)는 수신된 패킷의 차단 여부를 좀더 빠르게 검색할 수 있도록 각 정보의 종류 별로 정렬되도록 제어할 수 있다.
본 발명의 실시예들에 따른 제어 장치(100)는 제1 네트워크로 연결된 노드 장치들(200)로부터의 요청에 따라 패킷의 처리와 관련된 제어 정보 및 방화벽 정보를 상기 노드 장치(200)로 전송하게 된다. 이를 통해, 본 발명의 실시예들에 따른 제어 장치(100)는 폐쇄된 망으로 연결된 노드 장치(200)들 사이의 패킷 송수신을 관리할 수 있다.
도 4는 노드 장치(200)의 구조를 나타내는 블록도이다.
도 4를 참조하면, 노드 장치(200)는 통신 인터페이스부(210)를 통해 수신된 패킷을 수신하거나 차단하는 등의 기능을 수행하는 패킷 제어부(231), 하나 이상의 가상 머신(232a, 232b 이하, 232)를 포함할 수 있다.
패킷 제어부(231)는 통신 인터페이스부(210)를 통해 수신된 패킷을 수신하거나 차단하는 등의 기능을 수행할 수 있으며, 패킷의 오류를 검출하거나 검출된 오류를 회복 시키는 오류 제어 기능을 수행할 수도 있다. 또한, 패킷 제어부(231)는 발신 장치 및 수신 장치 사이의 속도 차이를 해결하기 위해 흐름을 제어하는 기능을 수행하고, 패킷, 프레임의 동기를 맞추는 기능을 수행할 수도 있다. 또한, 패킷 제어부(231)는 패킷이 발신지인 제1 노드 장치(200)로부터 목적지인 제2 노드 장치(200)로 성공적으로 전송될 수 있도록 하는 기능을 수행할 수도 있다. 패킷 제어부(231)에 대한 상세한 설명은 도 5에 대한 설명에서 하겠다.
노드 장치(200)는 물리적으로는 하나의 컴퓨팅 장치이지만 논리적으로는 분리된 하나 이상의 가상 머신(232)를 포함할 수 있다. 가상 머신(232)은 관리자에 의해 소정의 프로그램, 애플리케이션을 통해 생성될 수 있다. 하나의 노드 장치(200)에 포함된 가상 머신(232)이라 하더라도, 상기 하나 이상의 가상 머신(232)는 각각 구별되는 물리 주소로 할당될 수 있다.
본 발명의 실시예들에 따른 제어 장치(100) 및 노드 장치들(200)을 포함하는 네트워크 시스템(10)은 클라우드 서비스를 제공하면서 좀더 넓은 저장 공간을 필요로 할 수 있는데, 이런 경우, 노드 장치를 추가하고, 노드 장치에 하나 이상의 가상 머신을 설정하는 과정을 거치게 된다. 클라우드 서비스를 제공하는 제공자는 클라우드 서비스를 사용하는 사용자를 위한 저장 공간을 제공하기 위해서, 사용자들에게 각각 할당되는 가상 머신들을 생성하게 된다. 또한, 클라우드 서비스를 제공하는 제공자는 서로 다른 노드 장치들에 할당된 복수의 가상 머신들을 하나의 사용자에게 할당할 수도 있다. 도 5는 패킷 제어부(231)의 구조를 나타내는 블록도이다.
도 5를 참조하여 본 발명의 실시예들에 따른 노드 장치(200)의 패킷 제어부(231)가 제어 정보를 요청하고 수신하는 과정을 중심으로 설명하겠다. 패킷 제어부(231)는 수신 제어부(2311), 제어 정보 요청부(2312), 제어 정보 수신부(2313), 패킷 처리부(2314), 백업부(2315)를 포함할 수 있다.
본 발명의 실시예들에 따른 노드 장치(200)는 패킷을 수신한 경우, 상기 패킷의 처리와 관련하여 자체적으로 처리하지 않고, 제1 네트워크로 연결된 제어 장치(100)에게 제어와 관련된 정보를 요청하고, 상기 요청의 응답으로 수신된 정보에 따라 패킷의 수신 또는 차단 여부를 결정하게 된다. 종래의 클라우드 서비스를 제공하는 노드 장치들의 경우, 생성시부터 패킷을 서로 공유하는, 동일한 사용자에게 할당된 가상 머신들에 소정의 범위에 포함되는 네트워크 정보 예를 들어 물리 주소, 서브넷 마스크를 할당하는데 반해, 본 발명의 실시예들에 따른 노드 장치(200)는 패킷을 서로 공유할 수 있도록 제어 정보를 일일이 제어 장치(100)로부터 수신하여 처리한다. 이를 통해, 노드 장치(200)는 가상 머신을 동적으로 사용자들에게 할당할 수 있다. 좀더 구체적으로는 제어 장치(100)는 상기 가상 머신에 대한 제어 정보 만을 변경함으로써, 제1 사용자에게 할당된 가상 머신을 제1 사용자가 아닌 다른 사용자에게 할당할 수 있다.
수신 제어부(2311)는 통신 인터페이스부(210)를 통해 수신된 패킷에 포함된 발신지 IP 주소를 고려하여, 상기 패킷의 발신 장치가 제1 네트워크로 연결되어 있는지 또는 상기 제1 네트워크가 아닌 다른 네트워크로 연결되어 있는지 여부를 판단할 수 있다.
정보 요청부(2312)는 수신된 패킷이 제1 네트워크와 연결된 노드 장치(200)로부터 수신된 경우, 제어 정보를 요청하는 제1 신호를 생성하고, 상기 제1 신호를 제어 장치(100)로 전송한다.
정보 요청부(2312)는 수신된 패킷이 제1 네트워크와 연결되지 않은 단말 장치(400)로부터 수신된 경우, 방화벽 정보를 요청하는 제2 신호를 생성하고, 상기 제2 신호를 제어 장치로 전송한다.
정보 수신부(2313)는 제어 장치(100)로부터 상기 수신된 패킷과 관련된 제어 정보 또는 방화벽 정보를 수신한다.
패킷 처리부(2314)는 상기 정보 수신부(2313)를 통해 수신된 제어 정보에 따라 상기 수신된 패킷의 수신 여부를 결정하고, 상기 수신 여부에 따라 상기 패킷을 수신한다. 또한 패킷 처리부(2314)는 상기 정보 수신부(2313)를 통해 수신된 방화벽 정보에 따라 상기 수신된 상기 패킷을 차단한다.
백업부(2315)는 정보 수신부(2313)를 통해 수신된 패킷에 대한 제어 정보 또는 방화벽 정보를 백업하여 저장하는 기능을 수행한다. 백업부(2315)를 통해, 본 발명의 실시예들에 따른 노드 장치(200)는 이전에 수신된 패킷과 동일한 발신지 장치로부터 수신된 패킷의 처리를 위해서, 제어 정보 또는 방화벽 정보를 요청하는 신호를 중복해서 전송할 필요가 없다. 본 발명의 실시예들에 따른 노드 장치(200)는 이전에 수신된 패킷과 동일하게 현 패킷을 수신하거나 차단하게 된다.
도 6 내지 도 7은 본 발명의 실시예들에 따른 패킷 처리 방법의 흐름도이다.
도 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 패킷의 발신지 주소 및 목적지 주소를 짝으로 연결한 제어 정보를 생성하여 저장하게 된다.
도 7의 흐름도는 노드 장치(200)가 제1 네트워크가 아닌 네트워크로 연결된 단말 장치(400)로부터 수신된 패킷을 처리하는 방법에 대한 것이다.
단말 장치(400)가 노드 장치(200)로 제2 패킷을 전송(S701)하는 경우, 수신한 노드 장치(200)는 상기 제2 패킷에 대한 방화벽 정보를 조회하는 신호를 생성하여 제어 장치(100)로 전송하게 된다(S702). 제어 장치(100)는 상기 제2 패킷의 발신 장치인 단말 장치(400)와 대응되는 네트워크 정보를 기초로 방화벽 정보를 검색하고, 상기 단말 장치(400)의 네트워크 정보, 예를 들어 IP 주소, 서브넷 마스크, 물리 주소 중 적어도 하나 이상의 네트워크 정보와 대응되는 방화벽 정보가 존재하는 경우, 상기 방화벽 정보를 상기 노드 장치(200)로 전송한다(S703). 노드 장치(200)는 수신된 방화벽 정보에 따라 제2 패킷을 차단한다(S704). S704 단계의 후속으로 제어 장치(100)는 상기 제2 패킷의 처리와 관련된 방화벽 정보를 생성 또는 변경하여 저장하게 된다. 즉, 제어 장치(100)는 상기 제2 패킷의 네트워크 정보를 방화벽 정보로 생성하여 저장할 수 있다. 도 8은 본 발명의 실시예들에 따른 네트워크 시스템의 가상 머신의 동적 할당을 설명하기 위한 도면이다.
도 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)에 존재하는 할당되지 않은 영역에 추가적으로 제한 없이 가상 머신을 생성할 수 있다.
본 발명의 실시예들에 따른 네트워크 시스템(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)를 생성할 수 있다.
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 나아가, 매체는 네트워크 상에서 전송 가능한 형태로 구현되는 무형의 매체를 포함할 수 있으며, 예를 들어 소프트웨어 또는 애플리케이션 형태로 구현되어 네트워크를 통해 전송 및 유통이 가능한 형태의 매체일 수도 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
10: 네트워크 시스템
100: 제어 장치
200: 노드 장치
300: 제2 네트워크
400: 단말 장치

Claims (11)

  1. 서로 다른 물리 주소가 할당된 하나 이상의 가상 머신을 포함하는 노드 장치에 있어서,
    제1 네트워크로 연결된 제1 노드 장치로부터 제1 패킷을 수신하는 패킷 수신부;
    상기 제1 패킷의 처리와 관련된 제어 정보를 상기 제1 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 제어 정보 요청부;
    상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 제어 정보 수신부;
    상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 패킷 처리부;를 포함하는, 노드 장치.
  2. 제1항에 있어서,
    상기 제어 정보를 백업하는 백업부;를 더 포함하고,
    상기 패킷 처리부는
    상기 패킷 수신부에 의해 상기 제1 노드 장치로부터 제2 패킷을 상기 제1 패킷과 연이어 수신한 경우, 상기 제어 장치로 패킷의 처리와 관련된 제어 정보를 요청하지 않고, 상기 백업부에 저장된 제어 정보에 따라 상기 제2 패킷을 목적지 주소가 할당된 가상 머신에 전송하는, 노드 장치.
  3. 제1항에 있어서,
    상기 제어 정보 요청부는
    상기 패킷 수신부에 의해 제1 네트워크와 다른 제2 네트워크로 연결된 단말 장치로부터 제3 패킷을 수신한 경우, 상기 제3 패킷의 처리와 관련된 방화벽 정보를 상기 제어 장치로 요청하는 신호를 전송하고,
    상기 제어 정보 수신부는
    상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답 신호에 포함된 방화벽 정보에 따라 상기 패킷의 차단 여부를 결정하고,
    상기 패킷 처리부는
    상기 패킷의 차단 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는, 노드 장치.
  4. 서로 다른 물리 주소가 할당된 복수의 가상 머신을 포함하고, 제1 네트워크로 연결된 제1 노드 장치로부터 제1 패킷을 수신하는 패킷 수신부;
    상기 제1 패킷의 처리와 관련된 제어 정보를 상기 제1 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 제어 정보 요청부;
    상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 제어 정보 수신부;
    상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 패킷 처리부;를 포함하는 제2 노드 장치 및
    상기 제1 네트워크로 연결된 하나 이상의 가상 머신의 물리 주소 간의 관계를 기초로 패킷에 대한 처리와 관련된 제어 정보를 생성하여 저장하는 제어 정보 처리부;를 포함하는 제어 장치를 포함하는 네트워크 시스템.
  5. 제4항에 있어서,
    상기 제어 정보 처리부는
    상기 제1 네트워크로 연결된 제1 가상 머신 및 제2 가상 머신이 제1 사용자에게 할당된 경우, 상기 제1 가상 머신의 물리 주소 및 상기 제2 가상 머신의 물리 주소 사이의 패킷의 송수신이 가능하도록 설정되는 제어 정보를 생성하는, 네트워크 시스템.
  6. 제4항에 있어서,
    상기 제어 장치는
    상기 제1 네트워크와 다른 네트워크로부터 수신된 패킷의 처리를 위해서, 차단해야 하는 네트워크 정보에 포함된 ip 주소 또는 서브넷마스크의 크기 순으로 정렬한 방화벽 정보를 생성하여 저장하는 방화벽 정보 처리부;를 포함하는, 네트워크 시스템.
  7. 제5항에 있어서,
    상기 제어 장치의 상기 제어 정보 처리부는
    상기 제2 노드 장치에 포함된 제2 가상 머신의 물리 주소를 할당하고, 상기 제2 가상 머신의 물리 주소와 상기 제1 사용자에게 할당된 하나 이상의 가상 머신의 물리 주소 사이의 관계에 따른 제어 정보를 생성하는, 네트워크 시스템.
  8. 서로 다른 물리 주소가 할당된 하나 이상의 가상 머신을 포함하는 노드 장치의 패킷 처리 방법에 있어서,
    상기 노드 장치가 제1 네트워크로 연결된 다른 노드 장치로부터 제1 패킷을 수신하는 단계;
    상기 노드 장치가 상기 제1 패킷의 처리와 관련된 제어 정보를 상기 제1 네트워크로 연결된 제어 장치로 요청하는 신호를 전송하는 단계;
    상기 노드 장치가 상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답에 포함된 제어 정보에 따라 상기 패킷의 수신 여부를 결정하는 단계;
    상기 노드 장치가 상기 패킷의 수신 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 단계;
    상기 제어 장치가 상기 노드 장치로 수신된 패킷의 발신지 주소 및 목적지 주소를 짝으로 연결하는 제어 정보를 생성하여 저장하는 단계;
    를 포함하는, 패킷 처리 방법.
  9. 제8항에 있어서,
    상기 노드 장치가 상기 제어 정보를 백업하는 단계;를 더 포함하고,
    상기 노드 장치가 상기 다른 노드 장치로부터 제2 패킷을 상기 제1 패킷의 후속으로 수신한 경우, 상기 제어 장치로 패킷의 처리와 관련된 제어 정보를 요청하지 않고, 백업된 상기 제어 정보에 따라 상기 제2 패킷을 목적지 주소가 할당된 가상 머신에 전송하는 단계를 더 포함하는, 패킷 처리 방법.
  10. 제8항에 있어서,
    상기 제어 정보를 요청하는 단계는
    상기 노드 장치가 제1 네트워크와 다른 제2 네트워크로 연결된 단말 장치로부터 제3 패킷을 수신한 경우, 상기 제3 패킷의 처리와 관련된 방화벽 정보를 상기 제어 장치로 요청하는 신호를 전송하고,
    상기 제어 정보를 수신 하는 단계는
    상기 제어 장치로부터 상기 신호의 응답을 수신하고, 상기 신호의 응답 신호에 포함된 방화벽 정보에 따라 상기 패킷의 차단 여부를 결정하고,
    상기 가상 머신에 전송하는 단계는
    상기 패킷의 차단 여부에 따라 상기 패킷을 수신하고, 상기 패킷을 목적지 주소가 할당된 가상 머신에 전송하는, 패킷 처리 방법.
  11. 컴퓨터를 이용하여 제8항 내지 제10항 중 어느 한 항의 방법을 실행시키기 위하여 기록매체에 저장된 컴퓨터 프로그램.
KR1020160078613A 2016-06-23 2016-06-23 노드 장치, 상기 노드 장치의 패킷을 처리하는 방법 및 상기 노드 장치의 패킷 처리와 관련된 제어 정보를 관리하는 제어 장치를 포함하는 네트워크 시스템 KR102554413B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160078613A KR102554413B1 (ko) 2016-06-23 2016-06-23 노드 장치, 상기 노드 장치의 패킷을 처리하는 방법 및 상기 노드 장치의 패킷 처리와 관련된 제어 정보를 관리하는 제어 장치를 포함하는 네트워크 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160078613A KR102554413B1 (ko) 2016-06-23 2016-06-23 노드 장치, 상기 노드 장치의 패킷을 처리하는 방법 및 상기 노드 장치의 패킷 처리와 관련된 제어 정보를 관리하는 제어 장치를 포함하는 네트워크 시스템

Publications (2)

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

Family

ID=61002364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160078613A KR102554413B1 (ko) 2016-06-23 2016-06-23 노드 장치, 상기 노드 장치의 패킷을 처리하는 방법 및 상기 노드 장치의 패킷 처리와 관련된 제어 정보를 관리하는 제어 장치를 포함하는 네트워크 시스템

Country Status (1)

Country Link
KR (1) KR102554413B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100432675B1 (ko) 2003-09-19 2004-05-27 주식회사 아이앤아이맥스 네트워크상의 장비들 간의 통신제어방법 및 이를 위한 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015100656A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 一种实现虚拟机通信的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100432675B1 (ko) 2003-09-19 2004-05-27 주식회사 아이앤아이맥스 네트워크상의 장비들 간의 통신제어방법 및 이를 위한 장치

Also Published As

Publication number Publication date
KR20180000524A (ko) 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 (zh) 分析包裝後修復的紀錄與使用的方法及系統
EP2499787B1 (en) Smart client routing
US9413652B2 (en) Systems and methods for path maximum transmission unit discovery
KR101857511B1 (ko) 가상 머신 마이그레이션을 판정하는 방법 및 장치
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 (zh) 一种基于微服务架构的报文处理方法和装置
US10911405B1 (en) Secure environment on a server
CN105657081A (zh) 提供dhcp服务的方法、装置及***
CN113326101B (zh) 基于远程直接数据存储的热迁移方法、装置及设备
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 (zh) 一种基于OpenStack配置设备上行接口的方法和装置
CN104780201A (zh) 一种ipvs集群中的数据包处理方法及装置
CN114765572A (zh) 故障处理方法、控制面网元、切换决策网元及相关设备
US9563388B2 (en) Sharing a hosted device in a computer network
KR102554413B1 (ko) 노드 장치, 상기 노드 장치의 패킷을 처리하는 방법 및 상기 노드 장치의 패킷 처리와 관련된 제어 정보를 관리하는 제어 장치를 포함하는 네트워크 시스템
CN112187635A (zh) 报文转发方法及装置
US10862849B2 (en) Address resolution system
US11888736B2 (en) Service chaining in fabric networks
WO2024001549A1 (zh) 地址配置方法和电子设备

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