KR102409272B1 - 가상 플랫폼 환경에서의 통신 대상 ip를 기반으로 공공 ip를 공유하는 방법 및 호스트 장치 - Google Patents

가상 플랫폼 환경에서의 통신 대상 ip를 기반으로 공공 ip를 공유하는 방법 및 호스트 장치 Download PDF

Info

Publication number
KR102409272B1
KR102409272B1 KR1020200144288A KR20200144288A KR102409272B1 KR 102409272 B1 KR102409272 B1 KR 102409272B1 KR 1020200144288 A KR1020200144288 A KR 1020200144288A KR 20200144288 A KR20200144288 A KR 20200144288A KR 102409272 B1 KR102409272 B1 KR 102409272B1
Authority
KR
South Korea
Prior art keywords
virtual machine
packet
container
host
public
Prior art date
Application number
KR1020200144288A
Other languages
English (en)
Other versions
KR20220059098A (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 KR1020200144288A priority Critical patent/KR102409272B1/ko
Publication of KR20220059098A publication Critical patent/KR20220059098A/ko
Application granted granted Critical
Publication of KR102409272B1 publication Critical patent/KR102409272B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 방법이 제공된다. 상기 방법은 물리적인 또는 가상화된 네트워트 인터페이스 카드(Network Interface Card, NIC)가 소정의 클라이언트로부터 패킷을 수신하는 단계; 상기 네트워크 인터페이스 카드가 상기 수신한 패킷을 오픈 가상 스위치(Open vSwitch)로 전달하는 단계; 상기 오픈 가상 스위치에서 상기 패킷의 출발지 IP를 기반으로 호스트 또는 상기 가상머신/컨테이너 중 어느 하나로 목적지를 결정하는 단계; 및 상기 결정된 목적지에 상응하는 호스트 또는 가상머신/컨테이너로 공공 IP를 할당하여 상기 패킷을 전달하는 단계를 포함하고, 상기 가상머신/컨테이너는 호스트와 동일한 공공 IP를 공유하는 것을 특징으로 한다.

Description

가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 방법 및 호스트 장치{METHOD FOR SHARING PUBLIC IP BASED ON COMMUNICATION TAGET IP IN VIRTUAL PLATFORM ENVIROMENT AND HOST DEVICE THEREOF}
본 발명은 가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 방법 및 호스트 장치에 관한 것이다.
IP 네트워크 응용이 확장되면서 그 이용률의 증가로 인해 공인 IP 주소는 매우 부족한 상황에 처해있다.
이에, 대부분의 통신업자들은 공인 IP 주소의 확보 및 자망의 안정성 확보 등을 이유로 NAT(Network Address Translation) 기술을 이용한다.
NAT는 사설 IP 주소를 공인 IP 주소로, 공인 IP 주소를 사설 IP 주소로 상호 변환한다. 또한, NAT의 하나로서 PAT(Port Address Translation)는 IP 주소뿐만 아니라 TCP/UDP의 포트 번호를 변환한다. 이로써, 공인 IP 주소 를 다수가 함께 사용할 수 있게 하여 공인 IP 주소 부족의 문제를 해결한다.
NAT 장치는 하나의 공인 IP를 이용하여 복수의 단말들이 외부망에 접속되도록 제어하는데, 이를 위해 NAT 장치는 네트워크망의 내부에서 서로 다르게 할당된 사설 IP를 이용하여 단말들을 구분하고, 공인 IP를 공유하면서 단말들이 외부망에 접속되도록 한다.
한편, 가상화 기술이 발전하면서 서버(또는 호스트) 자원이나 네트워크를 효율적으로 사용하기 위하여, 서버 내부에 다수의 가상머신이 설치된다. 이와 같은 서버 가상화를 위하여 Linux 기반의 KVM(Kernel-based Virtual Machine) 하이퍼바이저(Hypervisor), Windows 기반의 VmWare 하이퍼바이저 등이 사용되고 있다.
하지만, 가상머신이 사용되는 경우 방화벽, NAT 장치 등에 대응하여 운영자가 포트 포워딩 정보를 설정해 주어야 하는 문제가 있다.
공개특허공보 제10-2017-0052004호(2017.05.12)
본 발명이 해결하고자 하는 과제는 가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 방법 및 호스트 장치를 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 상기된 바와 같은 과제로 한정되지 않으며, 또다른 과제들이 존재할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 제1 측면에 따른 적어도 하나의 가상머신(Virtual Machine, VM) 또는 가상화된 컨테이너(Containers)(이하, 가상머신/컨테이너)가 실행되는 가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 방법은 물리적인 또는 가상화된 네트워트 인터페이스 카드(Network Interface Card, NIC)가 소정의 클라이언트로부터 패킷을 수신하는 단계; 상기 네트워크 인터페이스 카드가 상기 수신한 패킷을 오픈 가상 스위치(Open vSwitch)로 전달하는 단계; 상기 오픈 가상 스위치에서 상기 패킷의 출발지 IP를 기반으로 호스트 또는 상기 가상머신/컨테이너 중 어느 하나로 목적지를 결정하는 단계; 및 상기 결정된 목적지에 상응하는 호스트 또는 가상머신/컨테이너로 공공 IP를 할당하여 상기 패킷을 전달하는 단계를 포함하고, 상기 가상머신/컨테이너는 호스트와 동일한 공공 IP를 공유한다.
본 발명의 일부 실시예에서, 상기 물리적인 또는 가상화된 네트워트 인터페이스 카드(Network Interface Contoller, NIC)가 소정의 클라이언트로부터 패킷을 수신하는 단계는, 상기 소정의 클라이언트로 호스트 클라이언트 및 가상머신 클라이언트 중 어느 하나로부터 패킷을 수신할 수 있다.
본 발명의 일부 실시예에서, 상기 오픈 가상 스위치에서 상기 패킷의 출발지 IP를 기반으로 상기 호스트 또는 가상머신/ 컨테이너 중 어느 하나로 목적지를 결정하는 단계는, 상기 오픈 가상 스위치가 상기 패킷을 수신함에 따라 상기 패킷의 출발지 IP가 상기 호스트 클라이언트에 해당하는 경우 상기 호스트로 목적지를 결정하고, 상기 패킷의 출발지 IP가 상기 가상머신 클라이언트에 해당하는 경우 상기 가상머신/컨테이너로 목적지를 결정할 수 있다.
본 발명의 일부 실시예에서, 상기 오픈 가상 스위치에서 상기 패킷의 출발지 IP를 기반으로 상기 가상머신 또는 컨테이너 중 어느 하나로 목적지를 결정하는 단계는, 상기 오픈 가상 스위치에 미리 설정된 룰(Rule)을 기반으로 상기 목적지를 결정할 수 있다.
본 발명의 일부 실시예에서, 상기 결정된 목적지에 상응하는 호스트 또는 가상머신/컨테이너로 공공 IP를 할당하여 상기 패킷을 전달하는 단계는, 상기 호스트 또는 가상머신/컨테이너에 각각 상응하는 가상화된 네트워크 인터페이스 카드로 상기 공공 IP를 이용하여 상기 패킷을 전달할 수 있다.
또한, 본 발명의 제2 측면에 따른 가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 호스트 장치는 적어도 하나의 가상머신(Virtual Machine, VM) 또는 가상화된 컨테이너(Containers)(이하, 가상머신/컨테이너)와, 소정의 클라이언트로부터 패킷을 수신하고, 호스트 또는 상기 가상머신/컨터이너로 패킷을 전달하는 물리적인 또는 가상화된 네트워크 인터페이스 카드와, 상기 네트워크 인터페이스 카드로부터 패킷을 수신하고, 상기 패킷의 출발지 IP를 기반으로 호스트 또는 상기 가상머신/컨테이너 중 어느 하나로 목적지를 결정하여, 상기 결정된 목적지에 상응하는 호스트 또는 가상머신/컨테이너로 공공 IP를 할당하여 상기 패킷을 전달하는 오픈 가상화 스위치(Open vSwitch)를 포함하며, 상기 호스트와 상기 가상머신/컨테이너는 호스트와 동일한 공공 IP를 공유한다.
상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합되어 상기 가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 방법을 실행하며, 컴퓨터 판독가능 기록매체에 저장된다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
전술한 본 발명에 따르면, 하나의 공공 IP만을 이용함으로써 NAT의 단점인 포트 제한 문제를 해결할 수 있다는 장점이 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1 및 도 2는 일반적인 가상화 환경의 네트워크를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 호스트 장치를 설명하기 위한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 도면을 참조하여 본 발명의 일 실시예에 따른 원격지의 네트워크 스위치에 대한 로그 데이터 수집 및 빅테이터 구축 방법에 대하여 설명하도록 한다.
도 1 및 도 2는 일반적인 가상화 환경의 네트워크를 설명하기 위한 도면이다.
최근 가입자가 하나의 공공 IP로 여러 클라이언트가 네트워크를 동시에 사용하기 위해 IP 공유기를 사용하는 경우가 매우 빈번하게 발생하고 있으며, 회사나 기업 내에서는 NAT(Network Address Translation)를 구성하여 사용하는 곳도 많이 늘어나는 추세이다.
도 1과 같이 NAT를 구성하여 공공 IP를 사용하는 실시예의 경우, 외부에서는 공공 IP를 1개만 사용하고, 내부에서는 IP 변환을 통해 사용하는 방식을 고려할 수 있다.
이와 같은 방식의 경우 가상머신/컨테이너가 클라이언트로 동작할 경우에는 별다른 제약 없이 네트워크 사용이 가능하나, 가상머신/컨테이너가 서버로 동작하고자 하는 경우에는, 외부에 있는 장치, 단말이 해당 호스트 장치에 접속하기 위해서는 포트 포워딩이나 DNAT를 이용하여 특정 IP 포트로 경로 설정을 해야만 한다.
이와 같은 도 1의 방식의 경우, 포트를 기반으로 동작하기 때문에, 웹서버 등과 같이 특정 포트만 사용하는 어플리케이션의 경우에는 특별히 문제되지 않는다. 하지만, 라우터와 같이 포트 매니지먼트를 위해 사용할 경우에는 포트 번호가 변경되어야 하기 때문에 제약이 따르게 된다.
또 다른 방식으로, 도 2와 같이 포트 기반의 방식을 적용하는 것이 아닌, 가상화 전용 별도의 네트워크 인터페이스 카드(Network Interface Card)를 이용하는 방식을 적용할 수 있다.
여기에서 별도의 네트워크 인터페이스 카드는 실제 물리적인 네트워크 인터페이스 카드일 수도 있고, 가상화된 네트워크 인터페이스 카드일 수도 있다.
이때, 가상화된 네트워크 인터페이스 카드의 경우에는 하나의 네트워크 인터페이스 카드에 여러 MAC 어드레스를 이용할 수 있다. 예를 들어, 두 개의 IP를 받아서 네트워크 인터페이스 카드 안에 두 개의 MAC 어드레스를 두고, 제1 MAC 어드레스로 패킷이 오면 호스트가 사용하고, 제2 MAC 어드레스로 패킷이 오면 가상머신/컨테이너가 사용하는 방식으로 운영하는 것이다. 가상머신/컨테이너가 여러 개가 있는 경우에는 각각 상응하는 MAC 어드레스를 따로 두는 방식이다.
이와 같은 방식의 경우, 네트워크 인터페이스 카드 내에 IP를 여러 개를 두고 IP를 전담시키면 가상머신/컨테이너가 거의 모든 네트워크 기능을 사용할 수 있으나, 공공 IP의 개수가 가상머신/컨테이너의 수만큼 더 필요하다는 근본적인 문제가 있다.
이와 달리, 본 발명의 일 실시예는 통신 대상의 IP를 기반으로 하나의 공공 IP를 이용하여 호스트와 가상머신/컨테이너가 패킷을 수신할 수 있도록 할 수 있다.
도 3은 본 발명의 일 실시예에 따른 가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 방법을 설명하기 위한 순서도이다. 도 4는 본 발명의 일 실시예에 따른 가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 호스트 장치를 설명하기 위한 도면이다.
참고로, 도 3에 도시된 각 단계들은 가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 호스트 장치에 의해 수행되는 것으로 이해될 수 있으나, 반드시 이에 한정되는 것은 아니다.
호스트 장치는 내부에 적어도 하나의 가상머신(Virtual Machine, VM) 또는 가상화된 컨테이너(Containers)(이하, 가상머신/컨테이너라 한다)를 포함하며, 각각의 가상머신/컨테이너에 대한 패킷 전송 등의 통신을 제공할 수 있다. 여기에서 가상머신은 하나의 물리적 노드를 형성하는 호스트 장치에 포함된 다른 가상머신/컨테이너와 통신을 수행하거나, 다른 물리적 노드에 해당하는 호스트 장치에 포함된 다른 가상머신과 통신을 수행할 수 있다.
가상머신/컨테이너는 호스트 장치 내에 적어도 하나가 구비될 수 있으며, 복수 개가 구비되는 경우 각각 독립적으로 동작할 수 있다.
가상머신/컨테이너는 가상화 기술을 기반으로 구현될 수 있으며, 예를 들어, 가상데스크톱 서비스(Virtual Desktop Service)나 NFV(Network Function Virtualzation) 기술을 기반으로 하는 VNF(Virtual Network Function)를 제공할 수 있다. 여기서, 가상머신/컨테이너는 호스트 장치가 제공하는 CPU, 메모리 등의 리소스를 기반으로 구현할 수 있다.
네트워크 인터페이스 카드는 물리적 또는 가상화되어 구현될 수 있으며, 물리적인 네트워크 인터페이스 카드는 호스트 장치를 네트워크에 연결하여, 호스트 장치에 통신을 제공할 수 있다. 가상화된 네트워크 인터페이스 카드는 가상머신/컨테이너를 네트워크에 연결하여, 가상머신/컨테이너에 통신을 제공할 수 있다.
이와 같은 물리적인 또는 가상화된 네트워크 인터페이스 카드를 통해 소정의 클라이언트로부터 패킷을 수신하면(S110), 네트워크 인터페이스 카드가 수신한 패킷을 오픈 가상 스위치(Open vSwitch)로 전달한다(S120).
일 실시예로, 소정의 클라이언트는 호스트 클라이언트 및 가상머신 클라이언트 중 어느 하나일 수 있다.
다음으로, 오픈 가상 스위치에서 패킷의 출발지 IP를 기반으로 호스트 또는 가상머신/컨테이너 중 어느 하나로 목적지를 결정한다(S130). 즉, 본 발명의 일 실시예는 각각 통신하는 대상의 IP를 기반으로 오픈 가상 스위치가 목적지를 결정할 수 있다.
일 실시예로, 오픈 가상 스위치가 패킷을 수신함에 따라, 패킷의 출발지 IP가 호스트 클라이언트에 해당하는 경우 호스트를 목적지로 결정하고, 패킷의 출발지 IP가 가상머신 클라이언트에 해당하는 경우 가상머신/컨테이너로 목적지를 결정할 수 있다.
이때, 오픈 가상 스위치에는 미리 설정된 룰(Rule)이 저장되어 있으며, 오픈 가상 스위치는 룰을 통해 패킷의 출발지를 확인한 후 목적지를 설정할 수 있다.
다음으로, 결정된 목적지에 상응하는 호스트 또는 가상머신/컨테이너로 공공 IP를 할당하여 패킷을 전달한다(S140). 이때, 오픈 가상 스위치는 호스트 또는 가상머신/컨테이너에 각각 상응하는 가상화된 네트워크 인터페이스 카드로 공공 IP를 이용하여 패킷을 전달한다.
여기에서 가상머신/컨테이너와 호스트는 동일한 공공 IP를 공유하는 것을 특징으로 한다.
이와 같이, 본 발명의 일 실시예는 하나의 공공 IP를 공유하면서 NAT의 단점인 포트 제한 문제를 해소할 수 있다.
이러한 본 발명의 일 실시예를 통해 호스트와 가상머신/컨트롤러의 역할을 구분하여 이용할 수 있다.
일 예로, 호스트에서는 컨트롤러나 로그 서버와 통신하는 등 매우 단순한 역할만을 수행하도록 하며, 주 작업은 가상머신/컨테이너에서 수행되고, 호스트는 컨트롤러나 로그 서버와 통신하며 가상머신/컨트롤러를 관리하는 역할만을 수행하도록 할 수 있다.
또 다른 예로, 도 1에 따른 포트 포워딩 방식과는 달리, 가상머신/컨테이너를 특정 서버 또는 서브넷과 다양한 방식으로 연결하여 네트워크 서비스를 제공할 수 있다는 장점이 있다.
한편, 상술한 설명에서, 단계 S110 내지 S140은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 3의 가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 방법의 내용은 도 4의 내용에도 적용될 수 있다.
이상에서 전술한 본 발명의 일 실시예에 따른 가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, Ruby, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (6)

  1. 호스트 장치에 포함되는 적어도 하나의 가상머신(Virtual Machine, VM) 또는 가상화된 컨테이너(Containers)(이하, 가상머신/컨테이너)가 실행되는 가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 방법에 있어서,
    물리적인 또는 가상화된 네트워크 인터페이스 카드(Network Interface Card, NIC)가 소정의 호스트 클라이언트 및 가상머신 클라이언트로부터 중 어느 하나로부터 패킷을 수신하는 단계;
    상기 네트워크 인터페이스 카드가 상기 수신한 패킷을 오픈 가상 스위치(Open vSwitch)로 전달하는 단계;
    상기 오픈 가상 스위치에서 상기 패킷의 출발지 IP를 기반으로 호스트 장치 또는 상기 가상머신/컨테이너 중 어느 하나로 목적지를 결정하는 단계; 및
    상기 결정된 목적지에 상응하는 호스트 장치 또는 가상머신/컨테이너로 공공 IP를 할당하여 상기 패킷을 전달하는 단계를 포함하고,
    상기 가상머신/컨테이너는 호스트 장치와 동일한 공공 IP를 공유하는 것을 특징으로 하고,
    상기 오픈 가상 스위치에서 상기 패킷의 출발지 IP를 기반으로 상기 호스트 또는 가상머신/ 컨테이너 중 어느 하나로 목적지를 결정하는 단계는,
    상기 오픈 가상 스위치가 상기 패킷을 수신함에 따라 상기 패킷의 출발지 IP가 상기 호스트 클라이언트에 해당하는 경우 상기 호스트로 목적지를 결정하고, 상기 패킷의 출발지 IP가 상기 가상머신 클라이언트에 해당하는 경우 상기 가상머신/컨테이너로 목적지를 결정하며,
    상기 결정된 목적지에 상응하는 호스트 또는 가상머신/컨테이너로 공공 IP를 할당하여 상기 패킷을 전달하는 단계는,
    상기 호스트에 상응하는 가상화된 네트워크 인터페이스 카드 또는 가상머신/컨테이너에 상응하는 가상화된 네트워크 인터페이스 카드로 상기 공공 IP를 이용하여 상기 패킷을 전달하는,
    가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 오픈 가상 스위치에서 상기 패킷의 출발지 IP를 기반으로 상기 가상머신 또는 컨테이너 중 어느 하나로 목적지를 결정하는 단계는,
    상기 오픈 가상 스위치에 미리 설정된 룰(Rule)을 기반으로 상기 목적지를 결정하는 것인,
    가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 방법.
  5. 삭제
  6. 적어도 하나의 가상머신(Virtual Machine, VM) 또는 가상화된 컨테이너(Containers)(이하, 가상머신/컨테이너)와,
    소정의 호스트 클라이언트 및 가상머신 클라이언트 중 어느 하나로부터 패킷을 수신하고, 호스트 장치 또는 상기 가상머신/컨테이너로 패킷을 전달하는 물리적인 또는 가상화된 네트워크 인터페이스 카드와,
    상기 네트워크 인터페이스 카드로부터 패킷을 수신하고, 상기 패킷의 출발지 IP를 기반으로 호스트 장치 또는 상기 가상머신/컨테이너 중 어느 하나로 목적지를 결정하여, 상기 결정된 목적지에 상응하는 호스트 또는 가상머신/컨테이너로 공공 IP를 할당하여 상기 패킷을 전달하는 오픈 가상화 스위치(Open vSwitch)를 포함하며,
    상기 호스트와 상기 가상머신/컨테이너는 호스트와 동일한 공공 IP를 공유하는 것을 특징으로 하고,
    상기 오픈 가상 스위치는 상기 패킷을 수신함에 따라 상기 패킷의 출발지 IP가 상기 호스트 클라이언트에 해당하는 경우 상기 호스트로 목적지를 결정하고, 상기 패킷의 출발지 IP가 상기 가상머신 클라이언트에 해당하는 경우 상기 가상머신/컨테이너로 목적지를 결정하며,
    상기 호스트에 상응하는 가상화된 네트워크 인터페이스 카드 또는 가상머신/컨테이너에 상응하는 가상화된 네트워크 인터페이스 카드로 상기 공공 IP를 이용하여 상기 패킷을 전달하는,
    가상 플랫폼 환경에서의 통신 대상 IP를 기반으로 공공 IP를 공유하는 호스트 장치.
KR1020200144288A 2020-11-02 2020-11-02 가상 플랫폼 환경에서의 통신 대상 ip를 기반으로 공공 ip를 공유하는 방법 및 호스트 장치 KR102409272B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200144288A KR102409272B1 (ko) 2020-11-02 2020-11-02 가상 플랫폼 환경에서의 통신 대상 ip를 기반으로 공공 ip를 공유하는 방법 및 호스트 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200144288A KR102409272B1 (ko) 2020-11-02 2020-11-02 가상 플랫폼 환경에서의 통신 대상 ip를 기반으로 공공 ip를 공유하는 방법 및 호스트 장치

Publications (2)

Publication Number Publication Date
KR20220059098A KR20220059098A (ko) 2022-05-10
KR102409272B1 true KR102409272B1 (ko) 2022-06-20

Family

ID=81591899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200144288A KR102409272B1 (ko) 2020-11-02 2020-11-02 가상 플랫폼 환경에서의 통신 대상 ip를 기반으로 공공 ip를 공유하는 방법 및 호스트 장치

Country Status (1)

Country Link
KR (1) KR102409272B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101911429B1 (ko) * 2018-07-27 2018-10-24 김영홍 보안 기능을 포함하는 통합 네트워크 공유 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101355461B1 (ko) * 2011-08-24 2014-01-24 주식회사 케이티 가상화 라우터를 구현하는 물리서버 및 그 방법
KR102312516B1 (ko) 2015-11-03 2021-10-14 한국전자통신연구원 사설 네트워크를 지원하는 포트 포워딩 제어장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101911429B1 (ko) * 2018-07-27 2018-10-24 김영홍 보안 기능을 포함하는 통합 네트워크 공유 시스템

Also Published As

Publication number Publication date
KR20220059098A (ko) 2022-05-10

Similar Documents

Publication Publication Date Title
US11418512B2 (en) Method for virtual machine to access physical server in cloud computing system, apparatus, and system
US11372802B2 (en) Virtual RDMA switching for containerized applications
US11190375B2 (en) Data packet processing method, host, and system
US10375015B2 (en) Methods and system for allocating an IP address for an instance in a network function virtualization (NFV) system
US9935920B2 (en) Virtualization gateway between virtualized and non-virtualized networks
US10887276B1 (en) DNS-based endpoint discovery of resources in cloud edge locations embedded in telecommunications networks
EP2996294A1 (en) Virtual switch method, relevant apparatus, and computer system
US20170272400A1 (en) Network virtualization of containers in computing systems
CN112910685B (zh) 实现对容器网络统一管理的方法及装置
US11743325B1 (en) Centralized load balancing of resources in cloud edge locations embedded in telecommunications networks
KR102409272B1 (ko) 가상 플랫폼 환경에서의 통신 대상 ip를 기반으로 공공 ip를 공유하는 방법 및 호스트 장치
US20170116016A1 (en) Screen compression service method and virtual network apparatus for performing the method
KR102441860B1 (ko) 공급자 네트워크 서비스 확장
Huang et al. SDN-based container management scheme with flexibly addresses allocation capability