KR102101602B1 - 트래픽 관리 장치 및 방법 - Google Patents

트래픽 관리 장치 및 방법 Download PDF

Info

Publication number
KR102101602B1
KR102101602B1 KR1020190039619A KR20190039619A KR102101602B1 KR 102101602 B1 KR102101602 B1 KR 102101602B1 KR 1020190039619 A KR1020190039619 A KR 1020190039619A KR 20190039619 A KR20190039619 A KR 20190039619A KR 102101602 B1 KR102101602 B1 KR 102101602B1
Authority
KR
South Korea
Prior art keywords
host
traffic management
command
virtual
processors
Prior art date
Application number
KR1020190039619A
Other languages
English (en)
Inventor
맹영재
장문수
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020190039619A priority Critical patent/KR102101602B1/ko
Application granted granted Critical
Publication of KR102101602B1 publication Critical patent/KR102101602B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/042Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L61/2007
    • 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
    • H04L61/5007Internet protocol [IP] addresses

Landscapes

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

Abstract

트래픽 관리 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 트래픽 관리 장치는 트래픽 관리 장치의 트래픽 관리 방법에 있어서, 호스트에 대한 복수개의 가상 호스트들을 생성하는 단계; 상기 복수개의 가상 호스트들에 복수개의 네트워크 인터페이스 컨트롤러들과 IP를 할당하는 단계 및 상기 복수개의 가상 호스트들에 할당된 IP를 운영하기 위해 명령어를 실행하는 단계를 포함한다.

Description

트래픽 관리 장치 및 방법 {APPARATUS AND METHOD FOR MANAGING TRAFFIC}
본 발명은 네트워크 관리 기술에 관한 것으로, 보다 상세하게는 복수의 IP를 운영하여 트래픽을 관리하는 기술에 관한 것이다.
기존에 다수의 IP와 관련된 연구는 주로 네트워크 장비 수준에서 IP충돌을 회피하기 위함이다. 그러나, 사이버훈련을 위해 IP와 관련된 기술은 연구가 부족한 실정이다.
방어팀 중심의 사이버훈련을 위해서는 현실과 유사한 트래픽 네트워크 환경이 필요하다. 현실과 유사한 네트워트 트래픽 환경에는 다수의 일반 사용자들이 생성한 정상트래픽이 포함된다. 그러한 트래픽을 생성하기 위해서는 다수의 IP가 요구되는데, 자원이 한정된 환경에서는 적은 자원으로 가능한 많은 IP를 사용하도록 하는 것이 과제이다.
한편, 한국공개특허 제 10-2017-0101584 호“복수의 단일 루트 입력/출력 가상화 네트워크 카드들에 기반하여 가상 데스크 탑을 위한 서비스를 제공하는 호스트 서버 및 호스트 서버의 동작 방법”는 복수의 단일 루트 입력/출력 가상화 네트워크 카드들에 기반하여 가상 데스크 탑을 위한 서비스를 제공하는 호스트 서버 및 호스트 서버의 동작 방법에 관한 관하여 개시하고 있다.
본 발명은 적은 자원을 이용하여 다수의 IP를 운영하고 트래픽을 관리하는 것을 목적으로 한다.
또한, 본 발명은 자원이 제한된 환경에서 모든 분야에 트래픽 관리 기술을 적용 시키는 것을 목적으로 한다.
또한, 본 발명은 사이버훈련 네트워크 환경에서 실제와 유사한 네트워크 트래픽 환경을 구축하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 트래픽 관리 방법은 트래픽 관리 장치의 트래픽 관리 방법에 있어서, 호스트에 대한 복수개의 가상 호스트들을 생성하는 단계; 상기 복수개의 가상 호스트들에 복수개의 네트워크 인터페이스 컨트롤러들과 IP를 할당하는 단계 및 상기 복수개의 가상 호스트들에 할당된 IP를 운영하기 위해 명령어를 실행하는 단계를 포함한다.
이 때, 상기 생성하는 단계는 기설정된 리눅스 컨테이너 기술을 이용하여 가상 호스트에 상응하는 컨테이너를 생성할 수 있다.
이 때, 상기 기설정된 리눅스 컨테이너 기술은 도커(docker) 인 것일 수 있다.
이 때, 상기 생성하는 단계는 상기 복수개의 네트워크 인터페이스 컨트롤러의 개수에 상응하는 복수개의 컨테이너를 생성할 수 있다.
이 때, 상기 할당하는 단계는 상기 복수개의 네트워크 인터페이스 컨트롤러를 상기 복수개의 컨트롤러에 인식 시키기 위하여 파이프워크(pipework) 스크립트를 이용할 수 있다.
이 때, 상기 실행하는 단계는 사용자로부터 웹 유저 인터페이스를 통해 명령어를 요청받고, 상기 기설정된 리눅스 컨테이너 기술을 이용하여 상기 명령어를 실행할 수 있다.
이 때, 상기 실행하는 단계는 기설정된 양방향 통신 프로토콜을 이용하여 상기 컨테이너에서 상기 명령어를 실행할 수 있다.
이 때, 상기 기설정된 양방향 통신 프로토콜은 실시간 통신을 이용하여 웹 어플리케이션의 작성을 지원하는 라이브러리에 상응할 수 있다.
이 때, 상기 라이브러리는 HTML5의 WebSocket 프로토콜을 지원할 수 있다.
이 때, 상기 생성하는 단계는 상기 호스트에서 지원하는 네트워크 인터페이스 컨트롤러의 개수가 제한된 경우, 상기 가상 호스트를 복제하고, 복제된 가상 호스트 내의 클라이언트가 상기 트래픽 관리 장치와 통신하도록 설정할 수 있다.
또한, 상기의 목적을 달성하기 위한 본 발명의 일실시예에 따른 트래픽 관리 장치는 하나 이상의 프로세서; 메모리; 및 하나 이상의 프로그램을 포함하고, 상기 하나 이상의 프로그램은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서에 의해 실행되고, 상기 하나 이상의 프로세서는 상기 하나 이상의 프로그램을 실행하여, 호스트에 대한 복수개의 가상 호스트들을 생성하고, 상기 복수개의 가상 호스트들에 네트워크 인터페이스 컨트롤러 및 IP를 할당하고, 상기 복수개의 가상 호스트들에 할당된 IP를 운영하기 위해 기설정된 명령어를 실행할 수 있다.
이 때, 상기 하나 이상의 프로세서는 기설정된 리눅스 컨테이너 기술을 이용하여 가상 호스트에 상응하는 컨테이너를 생성할 수 있다.
이 때, 상기 기설정된 리눅스 컨테이너 기술은 도커(docker) 인 것일 수 있다.
이 때, 상기 하나 이상의 프로세서는 상기 복수개의 네트워크 인터페이스 컨트롤러의 개수에 상응하는 복수개의 컨테이너를 생성할 수 있다.
이 때, 상기 하나 이상의 프로세서는 상기 복수개의 네트워크 인터페이스 컨트롤러를 상기 복수개의 컨트롤러에 인식 시키기 위하여 파이프워크(pipework) 스크립트를 이용할 수 있다.
이 때, 상기 하나 이상의 프로세서는 사용자로부터 웹 유저 인터페이스를 통해 명령어를 요청받고, 상기 기설정된 리눅스 컨테이너 기술을 이용하여 상기 명령어를 실행할 수 있다.
이 때, 상기 하나 이상의 프로세서는 기설정된 양방향 통신 프로토콜을 이용하여 상기 컨테이너에서 상기 명령어를 실행할 수 있다.
이 때, 상기 기설정된 양방향 통신 프로토콜은 실시간 통신을 이용하여 웹 어플리케이션의 작성을 지원하는 라이브러리에 상응할 수 있다.
상기 라이브러리는 HTML5의 WebSocket 프로토콜을 지원할 수 있다.
이 때, 상기 하나 이상의 프로세서는 호스트에서 지원하는 네트워크 인터페이스 컨트롤러의 개수가 제한된 경우, 상기 가상 호스트를 복제하고, 복제된 가상 호스트 내의 클라이언트가 상기 트래픽 관리 장치와 통신하도록 설정할 수 있다.
본 발명은 적은 자원을 이용하여 다수의 IP를 운영하고 트래픽을 관리할 수 있다.
또한, 본 발명은 자원이 제한된 환경에서 모든 분야에 트래픽 관리 기술을 적용 시킬 수 있다.
또한, 본 발명은 사이버훈련 네트워크 환경에서 실제와 유사한 네트워크 트래픽 환경을 구축할 수 있다.
도 1은 본 발명의 일실시예에 따른 명령어 실행을 수행하는 트래픽 관리 장치를 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 양방향 통신 프로토콜을 이용하는 트래픽 관리 장치를 나타낸 블록도이다.
도 3은 본 발명의 일실시예에 따른 트래픽 관리 방법을 나타낸 동작흐름도이다.
도 4는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명은 적은 자원으로 다수의 IP를 운영하여 훈련 트래픽을 생성하고 관리하는 장치 및 방법에 관한 것이다.
다수의 IP를 이용하는 가장 간단한 방법으로는 1개의 IP를 가진 HOST의 수를 늘리는 것이다. 하지만 이때의 단점은 n개의 IP를 사용하고자 할 때 n개의 HOST가 필요하다는 것인데 이는 자원적인 부담이 된다. 자원적인 부담을 줄이기 위해서는 하나의 HOST에서 1개의 IP 대신 다수의 IP를 사용하는 방법을 생각할 수 있고, 그 방법은 아래와 같다. 이때, 다수의 IP가 동일한 네트워크 subnet에 할당될 수 있다는 점을 동시에 고려해야 한다.
하나의 HOST에 다수의 NIC(네트워크 인터페이스 컨트롤러, Network Interface Controller)를 인식할 수 있다.
이 때, 하나의 HOST에 다수의 NIC가 설치될 수 있다. 각 NIC에 네트워크 대역이 서로 다른 IP가 할당되면 HOST의 라우팅에도 해당 네트워크 대역이 자동으로 인식된다. 하지만 각 NIC에 동일한 네트워크 대역이 할당되면 기본 NIC(IP가 먼저 할당된 NIC)을 통해서만 통신이 이루어진다. 동일 네트워크 대역을 가지는 NIC을 사용자 의도대로 사용하기 위해 라우팅 테이블을 설정할 수 있지만 이는 각 NIC으로 통신하고자 하는 목적지가 서로 다른 경우에 가능하다. 본 발명에서는 동일 목적지로의 통신이 요구되기 때문에 이 방법은 적절하지 않다. 즉, 하나의 HOST로는 네트워크 대역과 목적지가 같은 다수의 IP를 관리하는 것이 불가능하다.
또한, 하나의 HOST에 다수의 가상NIC를 이용한 어플리케이션 수준의 가상화를 수행할 수 있다.
본 발명의 일실시예에 따른 트래픽 관리 장치 및 방법은 자원을 절약하면서 다수의 HOST와 유사한 효과를 갖는 방법으로는 리눅스 컨테이너 기술인 docker 를 이용할 수 있다. docker는 하이퍼바이저(하나의 컴퓨터에서 여러 개의 운영체제를 사용할 수 있도록 하는 기술)와 달리 게스트OS를 두지 않고 docker engine이 호스트OS 커널을 바로 사용하기 때문에 하이퍼바이저 기반의 가상화보다 애플리케이션을 좀 더 빠르고 효율적으로 실행시킬 수 있다.
본 발명의 일실시예에 따른 트래픽 관리 장치 및 방법은 docker를 이용하여 생성한 컨테이너(가상 HOST)에 docker network의 MACVLAN을 이용하여 가상NIC을 인식시킬 수 있다. 하지만, docker를 이용하는 경우, 스위치의 보안 항목 중 "promiscuous mode"와 "forged traffic"을 허용해야 하는 부담이 있다.
또한, 본 발명의 일실시예에 따른 트래픽 관리 장치 및 방법은 하나의 HOST에 다수의 NIC를 설치하여 어플리케이션 수준의 가상화를 수행할 수 있다.
MACVLAN을 이용하는 방법(가상NIC)은 스위치에서 보안을 포기해야 하는 부담이 있다. 결국 가상NIC 이 아닌 physical NIC이 사용되어야 하는데, 본 발명의 일실시예에 따른 트래픽 관리 장치 및 방법은 physical NIC을 docker 컨테이너에 직접 인식시키는 방법으로 pipework 스크립트를 이용할 수 있다. pipework는 docker 컨테이너에 physical NIC을 직접 인식할 수 있도록 해주는 스크립트이다. docker와 pipework를 이용하면 다수의 컨테이너 각각이 physical NIC을 가지기 때문에, 동일 subnet과 동일 목적지를 가지더라도 통신에 문제가 없다.
따라서, 본 발명의 일실시예에 따른 트래픽 관리 장치 및 방법은 하나의 HOST에 다수의 NIC을 설치하는 방법을 이용하여 어플리케이션 수준의 가상화를 수행할 수 있다.
예를 들어, 본 발명의 일실시예에 따른 트래픽 관리 장치 및 방법은 하나의 HOST에 10개의 NIC을 연결하고 docker를 통해 9개의 컨테이너 생성 후, 9개 컨테이너 각각에 NIC과 IP를 설정할 수 있다.
이 때, 본 발명의 일실시예에 따른 트래픽 관리 장치 및 방법은 각 컨테이너에 할당된 IP를 이용하여 트래픽을 발생시키는 방법으로 두 가지를 이용할 수 있다.
즉, 본 발명의 일실시예에 따른 트래픽 관리 장치 및 방법은 docker의 exec 명령어를 이용하는 방법과 socket.io를 이용한 방법을 이용할 수 있다.
도 1은 본 발명의 일실시예에 따른 명령어 실행을 수행하는 트래픽 관리 장치를 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 명령어 실행을 수행하는 트래픽 관리 장치(100)는 트래픽 관리자 서버(Traffic Manager Server)에 상응할 수 있다.
트래픽 관리 장치(100)는 docker를 사용하여 명령어를 실행할 수 있다.
이 때, 트래픽 관리 장치(100)는 docker 컨테이너를 통한 명령어를 실행할 수 있다.
예를 들면, 트래픽 관리 장치(100)는 아래의 실시예 1과 같이, tes1 이름을 가진 컨테이너를 이용하여 wget 명령어를 이용할 수 있다.
[실시예 1]
# docker exec -it tes1 wget http://www.naver.com
이 때, 트래픽 관리 장치(100)는 UI로는 웹을 이용할 수 있다.
예를 들면, 트래픽 관리 장치(100)는 nginx 웹서버와 php-fpm7.0 웹어플리케이션을 이용한 서버로 구성될 수 있다.
사용자가 웹 UI를 통해 트래픽 관리 장치(100)(Traffic Manager Server)에 접속하여 명령어를 실행하면 트래픽 관리 장치(100)는 쉘에서 docker exec를 이용하여 해당 명령어를 실행하고, 명령어를 실행한 결과를 기록한뒤 사용자에게 전달할 수 있다.
도 2는 본 발명의 일실시예에 따른 양방향 통신 프로토콜을 이용하는 트래픽 관리 장치를 나타낸 블록도이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 양방향 통신 프로토콜을 이용하는 트래픽 관리 장치(100)는 양방향 통신 프로토콜을 이용하여 docker컨테이너에서 명령이 실행되도록 할 수 있다.
예를 들어, 트래픽 관리 장치(100)는 양방향 통신 프로토콜을 이용하기 위한 라이브러리로 socket.io를 이용할 수 있다. socket.io는 손쉽게 Real-time communication 웹 어플리케이션을 작성할 수 있도록 돕는 라이브러리이다.
socket.io는 HTML5의 WebSocket 프로토콜을 지원할 수 있다. WebSocket의 연결은 HTTP통신과는 다르게 클라이언트가 특정 주기로 Polling하지 않아도 클라이언트에 메시지를 전달할 수 있는 지속적이고 완전한 양방향 연결 스트림을 만드는 프로토콜이다.
이 때, 트래픽 관리 장치(100)의 UI로는 웹을 사용될 수 있고, 이를 위해 UI로는 nginx와 php-fpm7.0 이 사용될 수 있다.
이 때, 트래픽 관리 장치(100)는 웹 UI와 클라이언트 사이에 양방향 통신이 가능하기 때문에 명령어 실행 결과를 보다 실시간 또는 동적으로 받아 볼 수 있다.
만약 HOST인 트래픽 관리 장치(100)에서 지원하는 NIC의 개수가 제한된 경우에는, 제작된 HOST를 복제하고 복제된 HOST내의 클라이언트가 원본 HOST의 트래픽 관리 장치(100)를 바라보도록 할 수 있다. 이 때, 트래픽 관리 장치(100)는 한 곳에서 제어할 수 있는 IP의 수를 늘릴 수 있다.
도 3은 본 발명의 일실시예에 따른 트래픽 관리 방법을 나타낸 동작흐름도이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 트래픽 관리 방법은 먼저 가상 HOST를 생성할 수 있다(S110).
즉, 단계(S110)는 호스트에 대한 복수개의 가상 호스트들을 생성할 수 있다.
이 때, 단계(S110)는 다수의 NIC이 연결된 하나의 host에 다수의 가상 host를 생성할 수 있다.
이 때, 단계(S110)는 기설정된 리눅스 컨테이너 기술을 이용하여 가상 호스트에 상응하는 컨테이너를 생성할 수 있다.
상기 기설정된 리눅스 컨테이너 기술은 도커(docker) 인 것일 수 있다.
이 때, 단계(S110)는 상기 복수개의 네트워크 인터페이스 컨트롤러의 개수에 상응하는 복수개의 컨테이너를 생성할 수 있다.
또한, 본 발명의 일실시예에 따른 트래픽 관리 방법은 NIC 및 IP를 할당할 수 있다(S120).
즉, 단계(S120)는 복수개의 가상 호스트들에 복수개의 네트워크 인터페이스 컨트롤러들과 IP를 할당할 수 있다.
이 때, 단계(S120)는 생성된 각각의 가상 host에 NIC과 IP를 할당할 수 있다.
이 때, 단계(S120)는 어플리케이션 수준의 가상화를 이용할 수 있다.
이 때, 단계(S120)는 가상 host에 가상 NIC를 이용할 수 있다.
이 때, 단계(S120)는 가상 host에 host의 NIC를 연결할 수 있다.
예를 들어, 단계(S120)는 하나의 HOST에 10개의 NIC을 연결하고 docker를 통해 9개의 컨테이너 생성 후, 9개 컨테이너 각각에 NIC과 IP를 설정할 수 있다.
이 때, 단계(S120)는 상기 복수개의 네트워크 인터페이스 컨트롤러를 상기 복수개의 컨트롤러에 인식 시키기 위하여 파이프워크(pipework) 스크립트를 이용할 수 있다.
또한, 본 발명의 일실시예에 따른 트래픽 관리 방법은 명령어를 실행할 수 있다(S130).
즉, 단계(S130)는 복수개의 가상 호스트들에 할당된 IP를 운영하기 위해 명령어를 실행할 수 있다.
이 때, 단계(S130)는 다수의 IP를 운영하기 위해 웹 UI(User Interface)를 통해 가상 host에 직접 명령어를 실행할 수 있다.
이 때, 단계(S130)는 사용자로부터 웹 유저 인터페이스를 통해 명령어를 요청받고, 상기 기설정된 리눅스 컨테이너 기술을 이용하여 상기 명령어를 실행할 수 있다.
이 때, 단계(S130)는 docker를 사용하여 명령어를 실행할 수 있다.
이 때, 단계(S130)는 docker 컨테이너를 통한 명령어를 실행할 수 있다.
예를 들면, 단계(S130)는 상기의 실시예 1과 같이, tes1 이름을 가진 컨테이너를 이용하여 wget 명령어를 이용할 수 있다.
이 때, 단계(S130)는 UI로는 웹을 이용할 수 있다.
예를 들면, 단계(S130)는 nginx 웹서버와 php-fpm7.0 웹어플리케이션을 이용한 서버로 구성될 수 있다.
단계(S130)는 사용자가 웹 UI를 통해 트래픽 관리 장치(100)(Traffic Manager Server)에 접속하여 명령어를 실행하면 트래픽 관리 장치(100)는 쉘에서 docker exec를 이용하여 해당 명령어를 실행할 수 있다.
또한, 단계(S130)는 다수의 IP를 활용하기 위해 웹 UI와 양방향 통신 프로토콜을 통해 가상 host에 명령어를 실행할 수 있다.
이 때, 단계(S130)는 양방향 통신 프로토콜을 이용하여 docker 컨테이너에서 명령이 실행되도록 할 수 있다.
이 때, 단계(S130)는 기설정된 양방향 통신 프로토콜을 이용하여 상기 컨테이너에서 상기 명령어를 실행할 수 있다.
상기 기설정된 양방향 통신 프로토콜은 실시간 통신을 이용하여 웹 어플리케이션의 작성을 지원하는 라이브러리에 상응할 수 있다.
상기 라이브러리는 HTML5의 WebSocket 프로토콜을 지원할 수 있다.
예를 들어, 단계(S130)는 양방향 통신 프로토콜을 이용하기 위한 라이브러리로 socket.io를 이용할 수 있다. socket.io는 손쉽게 Real-time communication 웹 어플리케이션을 작성할 수 있도록 돕는 라이브러리이다.
socket.io는 HTML5의 WebSocket 프로토콜을 지원할 수 있다. WebSocket의 연결은 HTTP통신과는 다르게 클라이언트가 특정 주기로 Polling하지 않아도 클라이언트에 메시지를 전달할 수 있는 지속적이고 완전한 양방향 연결 스트림을 만드는 프로토콜이다.
이 때, 단계(S130)는 UI로 웹을 사용할 수 있고, 이를 위해 UI로는 nginx와 php-fpm7.0 을 사용할 수 있다.
이 때, 단계(S130)는 웹 UI와 클라이언트 사이에 양방향 통신이 가능하기 때문에 명령어 실행 결과를 보다 실시간 또는 동적으로 받아 볼 수 있다.
이 때, 단계(S130)는 만약 HOST인 트래픽 관리 장치(100)에서 지원하는 NIC의 개수가 제한된 경우에, 제작된 HOST를 복제하고 복제된 HOST내의 클라이언트가 원본 HOST의 트래픽 관리 장치(100)를 바라보도록 할 수 있다.
이 때, 단계(S130)는 트래픽 관리 장치(100)가 한 곳에서 제어할 수 있는 IP의 수를 늘릴 수 있다.
이 때, 단계(S130)는 호스트에서 지원하는 네트워크 인터페이스 컨트롤러의 개수가 제한된 경우, 상기 가상 호스트를 복제하고, 복제된 가상 호스트 내의 클라이언트가 상기 트래픽 관리 장치와 통신하도록 설정할 수 있다.
또한, 본 발명의 일실시예에 따른 트래픽 관리 방법은 명령어 실행 결과를 전송할 수 있다(S140).
즉, 단계(S140)는 명령어를 실행한 결과를 기록한뒤 사용자에게 전달할 수 있다.
도 4는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 트래픽 관리 장치(100)는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 4에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.
또한, 하나 이상의 프로세서(1110)는 하나 이상의 프로그램을 실행시킬 수 있다.
이 때, 하나 이상의 프로세서(1110)는 상기에서 설명한 본 발명의 일실시예에 따른 트래픽 관리 방법을 하나 이상의 프로그램을 통해 수행할 수 있다.
이 때, 하나 이상의 프로세서(1110)는 상기 하나 이상의 프로그램을 실행하여, 호스트에 대한 복수개의 가상 호스트들을 생성하고, 상기 복수개의 가상 호스트들에 네트워크 인터페이스 컨트롤러 및 IP를 할당하고, 상기 복수개의 가상 호스트들에 할당된 IP를 운영하기 위해 기설정된 명령어를 실행할 수 있다.
즉, 하나 이상의 프로세서(1110)는 다수의 NIC이 연결된 하나의 host에 다수의 가상 host를 생성할 수 있다.
이 때, 하나 이상의 프로세서(1110)는 기설정된 리눅스 컨테이너 기술을 이용하여 가상 호스트에 상응하는 컨테이너를 생성할 수 있다.
이 때, 상기 기설정된 리눅스 컨테이너 기술은 도커(docker) 인 것일 수 있다.
또한, 하나 이상의 프로세서(1110)는 생성된 각각의 가상 host에 NIC과 IP를 할당할 수 있다.
이 때, 하나 이상의 프로세서(1110)는 어플리케이션 수준의 가상화를 이용할 수 있다.
이 때, 하나 이상의 프로세서(1110)는 가상 host에 가상 NIC를 이용할 수 있다.
이 때, 하나 이상의 프로세서(1110)는 가상 host에 host의 NIC를 연결할 수 있다.
이 때, 하나 이상의 프로세서(1110)는 상기 복수개의 네트워크 인터페이스 컨트롤러의 개수에 상응하는 복수개의 컨테이너를 생성할 수 있다.
이 때, 하나 이상의 프로세서(1110)는 상기 복수개의 네트워크 인터페이스 컨트롤러를 상기 복수개의 컨트롤러에 인식 시키기 위하여 파이프워크(pipework) 스크립트를 이용할 수 있다.
예를 들어, 하나 이상의 프로세서(1110)는 하나의 HOST에 10개의 NIC을 연결하고 docker를 통해 9개의 컨테이너 생성 후, 9개 컨테이너 각각에 NIC과 IP를 설정할 수 있다.
또한, 하나 이상의 프로세서(1110)는 다수의 IP를 운영하기 위해 웹 UI(User Interface)를 통해 가상 host에 직접 명령어를 실행할 수 있다.
이 때, 하나 이상의 프로세서(1110)는 사용자로부터 웹 유저 인터페이스를 통해 명령어를 요청받고, 상기 기설정된 리눅스 컨테이너 기술을 이용하여 상기 명령어를 실행
이 때, 하나 이상의 프로세서(1110)는 docker를 사용하여 명령어를 실행할 수 있다.
이 때, 하나 이상의 프로세서(1110)는 docker 컨테이너를 통한 명령어를 실행할 수 있다.
예를 들면, 하나 이상의 프로세서(1110)는 상기의 실시예 1과 같이, tes1 이름을 가진 컨테이너를 이용하여 wget 명령어를 이용할 수 있다.
이 때, 하나 이상의 프로세서(1110)는 UI로는 웹을 이용할 수 있다.
예를 들면, 하나 이상의 프로세서(1110)는 nginx 웹서버와 php-fpm7.0 웹어플리케이션을 이용한 서버로 구성될 수 있다.
하나 이상의 프로세서(1110)는 사용자가 웹 UI를 통해 트래픽 관리 장치(100)(Traffic Manager Server)에 접속하여 명령어를 실행하면 트래픽 관리 장치(100)는 쉘에서 docker exec를 이용하여 해당 명령어를 실행할 수 있다.
또한, 하나 이상의 프로세서(1110)는 기설정된 양방향 통신 프로토콜을 이용하여 상기 컨테이너에서 상기 명령어를 실행할 수 있다.
이 때, 기설정된 양방향 통신 프로토콜은 실시간 통신을 이용하여 웹 어플리케이션의 작성을 지원하는 라이브러리에 상응할 수 있다.
이 때, 상기 라이브러리는 HTML5의 WebSocket 프로토콜을 지원할 수 있다.
이 때, 하나 이상의 프로세서(1110)는 다수의 IP를 활용하기 위해 웹 UI와 양방향 통신 프로토콜을 통해 가상 host에 명령어를 실행할 수 있다.
이 때, 하나 이상의 프로세서(1110)는 양방향 통신 프로토콜을 이용하여 docker 컨테이너에서 명령이 실행되도록 할 수 있다.
예를 들어, 하나 이상의 프로세서(1110)는 양방향 통신 프로토콜을 이용하기 위한 라이브러리로 socket.io를 이용할 수 있다. socket.io는 손쉽게 Real-time communication 웹 어플리케이션을 작성할 수 있도록 돕는 라이브러리이다.
socket.io는 HTML5의 WebSocket 프로토콜을 지원할 수 있다. WebSocket의 연결은 HTTP통신과는 다르게 클라이언트가 특정 주기로 Polling하지 않아도 클라이언트에 메시지를 전달할 수 있는 지속적이고 완전한 양방향 연결 스트림을 만드는 프로토콜이다.
이 때, 하나 이상의 프로세서(1110)는 UI로 웹을 사용할 수 있고, 이를 위해 UI로는 nginx와 php-fpm7.0 을 사용할 수 있다.
이 때, 하나 이상의 프로세서(1110)는 웹 UI와 클라이언트 사이에 양방향 통신이 가능하기 때문에 명령어 실행 결과를 보다 실시간 또는 동적으로 받아 볼 수 있다.
이 때, 하나 이상의 프로세서(1110)는 만약 HOST인 트래픽 관리 장치(100)에서 지원하는 NIC의 개수가 제한된 경우에, 제작된 HOST를 복제하고 복제된 HOST내의 클라이언트가 원본 HOST의 트래픽 관리 장치(100)를 바라보도록 할 수 있다.
이 때, 하나 이상의 프로세서(1110)는 트래픽 관리 장치(100)가 한 곳에서 제어할 수 있는 IP의 수를 늘릴 수 있다.
이 때, 하나 이상의 프로세서(1110)는 호스트에서 지원하는 네트워크 인터페이스 컨트롤러의 개수가 제한된 경우, 상기 가상 호스트를 복제하고, 복제된 가상 호스트 내의 클라이언트가 상기 트래픽 관리 장치와 통신하도록 설정할 수 있다.
또한, 하나 이상의 프로세서(1110)는 명령어 실행 결과를 전송할 수 있다.
즉, 하나 이상의 프로세서(1110)는 명령어를 실행한 결과를 기록한뒤 사용자에게 전달할 수 있다.
이상에서와 같이 본 발명에 따른 트래픽 관리 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100: 트래픽 관리 장치
1100: 컴퓨터 시스템 1110: 프로세서
1120: 버스 1130: 메모리
1131: 롬 1132: 램
1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치
1160: 스토리지 1170: 네트워크 인터페이스
1180: 네트워크

Claims (20)

  1. 트래픽 관리 장치의 트래픽 관리 방법에 있어서,
    호스트에 대한 복수개의 가상 호스트들을 생성하는 단계;
    상기 복수개의 가상 호스트들에 복수개의 네트워크 인터페이스 컨트롤러들과 IP를 할당하는 단계; 및
    상기 복수개의 가상 호스트들에 할당된 IP를 운영하기 위해 명령어를 실행하는 단계;
    를 포함하고,
    상기 생성하는 단계는
    기설정된 리눅스 컨테이너 기술인 도커(docker)를 이용하여 상기 복수개의 가상 호스트들에 상응하는 복수개의 컨테이너들을 생성하고,
    상기 할당하는 단계는
    파이프워크(pipework) 스크립트를 이용하여 상기 복수개의 물리적 네트워크 인터페이스 컨트롤러들을 상기 복수개의 컨테이너들에 각각 인식 시켜, 상기 호스트에 상기 복수개의 물리적 네트워크 인터페이스 컨트롤러들을 연결시키고,
    상기 실행하는 단계는
    실시간 웹 어플리케이션을 위한 자바스크립트 라이브러리에서 지원하는 양방향 통신 프로토콜인 웹 소켓(WEBSOCKET) 프로토콜을 이용하여 상기 복수개의 컨테이너들에 상기 명령어를 실행하는 것을 특징으로 하는 트래픽 관리 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 청구항 1에 있어서,
    상기 실행하는 단계는
    사용자로부터 웹 유저 인터페이스를 통해 명령어를 요청받고, 상기 기설정된 리눅스 컨테이너 기술을 이용하여 상기 명령어를 실행하는 것을 특징으로 하는 트래픽 관리 방법.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 청구항 6에 있어서,
    상기 생성하는 단계는
    상기 호스트에서 지원하는 네트워크 인터페이스 컨트롤러의 개수가 제한된 경우, 상기 가상 호스트를 복제하고, 복제된 가상 호스트 내의 클라이언트가 상기 트래픽 관리 장치와 통신하도록 설정하는 것을 특징으로 하는 트래픽 관리 방법.
  11. 하나 이상의 프로세서;
    메모리; 및
    하나 이상의 프로그램을 포함하고,
    상기 하나 이상의 프로그램은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서에 의해 실행되고,
    상기 하나 이상의 프로세서는 상기 하나 이상의 프로그램을 실행하여,
    호스트에 대한 복수개의 가상 호스트들을 생성하고, 상기 복수개의 가상 호스트들에 네트워크 인터페이스 컨트롤러 및 IP를 할당하고, 상기 복수개의 가상 호스트들에 할당된 IP를 운영하기 위해 기설정된 명령어를 실행하고,
    기설정된 리눅스 컨테이너 기술인 도커(docker)를 이용하여 상기 복수개의 가상 호스트들에 상응하는 복수개의 컨테이너들을 생성하고,
    파이프워크(pipework) 스크립트를 이용하여 상기 복수개의 물리적 네트워크 인터페이스 컨트롤러들을 상기 복수개의 컨테이너들에 각각 인식 시켜, 상기 호스트에 상기 복수개의 물리적 네트워크 인터페이스 컨트롤러들을 연결시키고,
    실시간 웹 어플리케이션을 위한 자바스크립트 라이브러리에서 지원하는 양방향 통신 프로토콜인 웹 소켓(WEBSOCKET) 프로토콜을 이용하여 상기 복수개의 컨테이너들에 상기 명령어를 실행하는 것을 특징으로 하는 트래픽 관리 장치.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 청구항 11에 있어서,
    상기 하나 이상의 프로세서는
    사용자로부터 웹 유저 인터페이스를 통해 명령어를 요청받고, 상기 기설정된 리눅스 컨테이너 기술을 이용하여 상기 명령어를 실행하는 것을 특징으로 하는 트래픽 관리 장치.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 청구항 16에 있어서,
    상기 하나 이상의 프로세서는
    호스트에서 지원하는 네트워크 인터페이스 컨트롤러의 개수가 제한된 경우, 상기 가상 호스트를 복제하고, 복제된 가상 호스트 내의 클라이언트가 상기 트래픽 관리 장치와 통신하도록 설정하는 것을 특징으로 하는 트래픽 관리 장치.
KR1020190039619A 2019-04-04 2019-04-04 트래픽 관리 장치 및 방법 KR102101602B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190039619A KR102101602B1 (ko) 2019-04-04 2019-04-04 트래픽 관리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190039619A KR102101602B1 (ko) 2019-04-04 2019-04-04 트래픽 관리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102101602B1 true KR102101602B1 (ko) 2020-04-17

Family

ID=70460815

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190039619A KR102101602B1 (ko) 2019-04-04 2019-04-04 트래픽 관리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102101602B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101747518B1 (ko) * 2014-06-23 2017-06-14 인텔 코포레이션 소프트웨어 정의 네트워크에서의 가상화된 컨테이너 및 가상 머신을 통한 로컬 서비스 체이닝
KR20190020843A (ko) * 2014-11-11 2019-03-04 아마존 테크놀로지스, 인크. 컨테이너를 관리 및 스케줄링하기 위한 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101747518B1 (ko) * 2014-06-23 2017-06-14 인텔 코포레이션 소프트웨어 정의 네트워크에서의 가상화된 컨테이너 및 가상 머신을 통한 로컬 서비스 체이닝
KR20190020843A (ko) * 2014-11-11 2019-03-04 아마존 테크놀로지스, 인크. 컨테이너를 관리 및 스케줄링하기 위한 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Moradi, Farnaz, et al. "Conmon: An automated container based network performance monitoring system." 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM). IEEE, 2017.* *

Similar Documents

Publication Publication Date Title
US11934341B2 (en) Virtual RDMA switching for containerized
US10320674B2 (en) Independent network interfaces for virtual network environments
CN108780410B (zh) 计算系统中的容器的网络虚拟化
KR101956411B1 (ko) 복수의 서버로부터 클라이언트로의 단일 최종 사용자 경험 전달 기법
CN108694117B (zh) 基于容器技术的管理测试环境的方法和装置
CN111630495B (zh) 多种音频/视频操作系统的服务器支持
CN104901923B (zh) 一种虚拟机访问装置和方法
US11714690B2 (en) Audio, video and control system implementing virtual machines
CN103942087A (zh) 虚拟机热迁移方法及相关装置和集群系统
CN101924693A (zh) 用于在虚拟机间迁移进程的方法和系统
KR20150113353A (ko) 가상 데스크탑 이미지를 분산 저장 및 블록 레벨로 입출력하는 서버 시스템
US10810031B2 (en) Dirty memory tracking with assigned devices by exitless paravirtualization
US8630837B2 (en) Multicast emulation
CN111190837B (zh) 一种信息通信方法、装置及计算机可读存储介质
KR102101602B1 (ko) 트래픽 관리 장치 및 방법
US12107763B2 (en) Virtual network interfaces for managed layer-2 connectivity at computing service extension locations
Ellrod Optimizing Citrix® XenDesktop® for High Performance

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant