KR20230142203A - 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치 및 방법 - Google Patents

컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치 및 방법 Download PDF

Info

Publication number
KR20230142203A
KR20230142203A KR1020220041149A KR20220041149A KR20230142203A KR 20230142203 A KR20230142203 A KR 20230142203A KR 1020220041149 A KR1020220041149 A KR 1020220041149A KR 20220041149 A KR20220041149 A KR 20220041149A KR 20230142203 A KR20230142203 A KR 20230142203A
Authority
KR
South Korea
Prior art keywords
packet
flows
network
data processing
analysis
Prior art date
Application number
KR1020220041149A
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 KR1020220041149A priority Critical patent/KR20230142203A/ko
Priority to PCT/KR2022/004928 priority patent/WO2023191162A1/ko
Publication of KR20230142203A publication Critical patent/KR20230142203A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/067Generation of reports using time frame reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치 및 방법에 관한 것으로, 상기 장치는 네트워크 라이브 스트림(stream)으로부터 네트워크 패킷을 캡쳐(capture)하여 수집하는 패킷 수집부; 상기 네트워크 패킷을 수신하여 소정의 기준에 따라 정렬된 플로우(flow)들을 생성하는 플로우 생성부; 상기 플로우들을 수신하여 내부 메모리(In-memory)에 저장하고 재사용 가능한 형태로 캐싱(caching)하는 플로우 캐시부; 캐싱된 플로우들을 수집하여 상기 네트워크 패킷에 관한 분석을 수행하여 분석 결과를 생성하는 패킷 분석부; 및 상기 플로우들 및 상기 분석 결과를 시각화 하도록 웹 기반의 인터페이스를 제공하는 인터페이스 제공부;를 포함한다.

Description

컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치 및 방법{DATA PROCESSING DEVICE AND METHOD CAPABLE OF ANALYZING CONTAINER-BASED NETWORK LIVE STREAM}
본 발명은 컨테이너 기반의 패킷 미러링 및 분석 기술에 관한 것으로, 보다 상세하게는 클라우드 네이티브 컨테이너 기반의 서버 및 네트워크에 대해 시계열 데이터의 수집과 처리, 모니터링 및 시각화를 제공할 수 있는 데이터 처리 기술에 관한 것이다.
고객 요구 사항과 비즈니스 환경의 변화를 신속하게 파악하고 시장을 선도하기 위해 기술을 어떻게 활용해 갈 것인가는 IT 조직에게 매우 중요한 과제이다. 최근에는 변화의 주기가 짧아지고 바로 앞을 예측하기가 점점 어려워지고 있다. 따라서, IT 조직에게 강하게 요구되는 것이 스피드와 유연성이다.
스피드와 유연성을 얻기 위한 방법으로서 주목하는 기술이 바로 클라우드 네이티브 기술이다. 급변하는 비즈니스 환경에서 성공하려면 기업들은 애플리케이션 설계, 구축 그리고 운영하는 방식을 바꿀 필요가 있다. 클라우드 네이티브 애플리케이션 개발은 클라우드 컴퓨팅 기술을 기반으로 애플리케이션을 구축, 실행 및 개선하는 접근 방식이다.
한편, 네트워크 및 인프라 환경을 분석하는 기존의 방식은 이더넷 인터페이스의 물리적인 미러링을 통해 패킷을 수집하고 wireshark와 같은 도구를 통해 패킷을 분석하였으며, 이를 위해 일반적인 벤더 네트워크 장치(예를 들어, Arista, Aruba, Cisco, Dell, Huawei, Juniper 등)는 기본적인 모니터링을 위한 SNMP 또는 sFlow 및 netFlow 기반 통계 수집 방식을 제공하고 있다.
한국등록특허 제10-1420784호 (2014.07.11)
본 발명의 일 실시예는 클라우드 네이티브 컨테이너 기반의 서버 및 네트워크에 대해 시계열 데이터의 수집과 처리, 모니터링 및 시각화를 제공할 수 있는 데이터 처리 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시예는 다양한 컨테이너 환경의 네트워크에서 해당 프로토콜을 미러링하거나 수집할 별도의 네트워크 물리 장비가 존재하지 않는 경우에도 패킷 분석이 가능하고, 기타 모니터링 시스템과 연동이 가능한 인터페이스를 제공할 수 있는 데이터 처리 장치 및 방법을 제공하고자 한다.
실시예들 중에서, 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치는 네트워크 라이브 스트림(stream)으로부터 네트워크 패킷을 캡쳐(capture)하여 수집하는 패킷 수집부; 상기 네트워크 패킷을 수신하여 소정의 기준에 따라 정렬된 플로우(flow)들을 생성하는 플로우 생성부; 상기 플로우들을 수신하여 내부 메모리(In-memory)에 저장하고 재사용 가능한 형태로 캐싱(caching)하는 플로우 캐시부; 캐싱된 플로우들을 수집하여 상기 네트워크 패킷에 관한 분석을 수행하여 분석 결과를 생성하는 패킷 분석부; 및 상기 플로우들 및 상기 분석 결과를 시각화 하도록 웹 기반의 인터페이스를 제공하는 인터페이스 제공부;를 포함한다.
상기 네트워크 라이브 스트림은 클라우드 상에서 정의되는 컨테이너(container) 기반의 네트워크 라이브 스트림을 포함할 수 있다.
상기 패킷 수집부는 네트워크 라이브 스트림으로부터 상기 네트워크 패킷을 캡쳐하는 패킷 캡쳐 모듈; 및 상기 네트워크 패킷을 파싱(parsing)하고 디코딩(decoding)하는 패킷 디코더 모듈을 포함할 수 있다.
상기 플로우 생성부는 최초 디코딩(decoding)된 패킷에 대해 소스 주소(src_ip), 목적지 주소(dst_ip), 소스 포트(src_port), 목적지 포트(dst_port), 패킷 메타데이터(packet metadata), 이더넷 인터페이스(ethernet interface), 네트워크 레이어(network layer) 및 전송 레이어(transport layer) 중 적어도 하나를 기준으로 상기 플로우를 생성할 수 있다.
상기 플로우 캐시부는 상기 플로우들을 독립적으로 수신하여 상기 내부 메모리에 저장하는 복수의 플로우 캐시 모듈들을 포함하고, 상기 복수의 플로우 캐시 모듈들 각각은 상기 플로우들에 대한 요청을 수신하는 제1 리스너(listener)를 포함할 수 있다.
상기 패킷 분석부는 상기 캐싱된 플로우들을 기초로 독립적인 패킷 분석을 수행하는 복수의 분석기들에게 전달하고 상기 복수의 분석기들로부터 각 분석 결과를 수집하여 통계적 분석에 따른 통계 메트릭(metric)을 생성할 수 있다.
상기 복수의 분석기들은 플로우 기반 패킷의 카운트(count) 및 바이트(byte)를 계산하는 패킷 분석기(packet analyzer); 플로우에 대한 시퀀스 분석을 통해 종단의 타임스탬프(timestamp)를 기준으로 전달된 패킷의 바이트(byte)와 통계 추정치를 계산하는 플로우 분석기(flow analyzer); 프로토콜(protocol) 수준의 시퀀스 넘버(seq_no)를 추적하여 실제 유효 데이터에 관한 왕복시간(trip time)을 측정하는 시퀀스 분석기(seq_based analyzer); 클라이언트 수준의 로컬 타임(local time)을 비교하여 실제 유효 데이터의 왕복시간과 지연(latency)을 측정하는 타임 분석기(tsval_based analyzer); 및 tcp 상에서 메시지의 송수신 과정에 발생하는 요청(req)과 응답(ack)의 순서쌍을 검색하여 측정하는 응답 분석기(ack_based analyzer)를 포함할 수 있다.
상기 패킷 분석부는 상기 캐싱된 플로우들에 관한 독립적인 패킷 분석을 수행하도록 모듈화 되어 구현된 추가 분석기와 결합하는 애드온(add-on) 모듈을 더 포함하고, 상기 복수의 분석기들 각각과 상기 애드온 모듈은 상기 패킷 분석에 대한 요청을 수신하는 제2 리스너(listener)를 포함할 수 있다.
상기 인터페이스 제공부는 상기 플로우들 및 상기 분석 결과에 대한 텍스트 형태의 데이터 값을 제공할 수 있다.
실시예들 중에서, 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 방법은 네트워크 라이브 스트림(stream)으로부터 네트워크 패킷을 캡쳐(capture)하여 수집하는 단계; 상기 네트워크 패킷을 수신하여 소정의 기준에 따라 정렬된 플로우(flow)들을 생성하는 단계; 상기 플로우들을 수신하여 내부 메모리(In-memory)에 저장하고 재사용 가능한 형태로 캐싱(caching)하는 단계; 캐싱된 플로우들을 수집하여 상기 네트워크 패킷에 관한 분석을 수행하여 분석 결과를 생성하는 단계; 및 상기 플로우들 및 상기 분석 결과를 시각화 하도록 웹 기반의 인터페이스를 제공하는 단계;를 포함한다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치 및 방법은 다양한 컨테이너 환경의 네트워크에서 해당 프로토콜을 미러링하거나 수집할 별도의 네트워크 물리 장비가 존재하지 않는 경우에도 패킷 분석이 가능하고, 기타 모니터링 시스템과 연동이 가능한 인터페이스를 제공할 수 있다.
본 발명의 일 실시예에 따른 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치 및 방법은 클라우드 네이티브 컨테이너 기반 서버 및 네트워크 시계열 데이터의 수집, 처리, 모니터링 및 시각화를 제공하고, 고가의 네트워크 탭이나 미러링 장비없이도 원하는 컨테이너 기반 어플리케이션의 패킷 미러링 및 분석 기능을 제공할 수 있다.
도 1은 본 발명에 따른 데이터 처리 시스템을 설명하는 도면이다.
도 2는 도 1의 데이터 처리 장치의 기능적 구성을 설명하는 도면이다.
도 3은 본 발명에 따른 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 과정을 설명하는 순서도이다.
도 4는 본 발명에 따른 클라우드 기반의 컨테이너로 구현되는 데이터 처리 장치의 구조를 설명하는 도면이다.
도 5는 본 발명에 따른 데이터 처리 장치의 동작 환경을 설명하는 도면이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명에 따른 데이터 처리 시스템을 설명하는 도면이다.
도 1을 참조하면, 데이터 처리 시스템(100)은 클라우드 서버(110) 및 데이터 처리 장치(130)를 포함할 수 있다.
클라우드 서버(110)는 클라우드 컴퓨팅을 구현하는 클라우드 컴퓨팅 인프라를 관리하는 컴퓨팅 장치에 해당할 수 있다. 즉, 클라우드 서버(110)는 물리적 구성들을 기반으로 가상화 프로세스를 처리할 수 있고, 이를 위한 다양한 자원들을 관리할 수 있다. 클라우드 서버(110)는 데이터 처리 장치(130)와 네트워크를 통해 연결될 수 있으며, 복수의 데이터 처리 장치(130)들과 동시에 연결되어 동작할 수도 있다.
데이터 처리 장치(130)는 본 발명에 따른 컨테이너 기반의 네트워크 라이브 스트림을 분석하는 데이터 처리 방법을 실행하는 컴퓨팅 장치에 해당할 수 있다. 데이터 처리 장치(130)는 시스템 구성으로서 프로세서, 메모리, 사용자 입출력부 및 네트워크 입출력부를 포함하여 구현될 수 있다. 데이터 처리 장치(130)는 클라우드 서버(110)와 연동하여 동작할 수 있으며, 이를 위하여 클라우드 서버(110)와 네트워크를 통해 연결될 수 있다.
여기에서는, 데이터 처리 장치(130)가 물리적으로 구현되는 경우로 가정하여 설명하지만, 필요에 따라 본 발명에 따른 데이터 처리 방법을 실행하는 컴퓨터 프로그램으로 구현될 수도 있다. 예를 들어, 데이터 처리 장치(130)는 패킷 미러링과 패킷 분석을 수행하는 소프트웨어로서 클라우드 상에서 동작하는 가상의 컨테이너 기반의 애플리케이션으로 구현될 수 있다. 이에 따라, 데이터 처리 장치(130)는 클라우드 서버(110)와 연동하여 클라우드 상에서 소프트웨어 기반의 오버레이 네트워크를 사용하는 과정에서 종단간 패킷에 대한 수집, 처리, 모니터링 및 시각화를 위한 효과적인 도구를 사용자에게 제공할 수 있다.
결과적으로, 데이터 처리 장치(130)는 기존의 네트워크 및 인프라 환경에서 이터넷 인터페이스의 물리적인 미러링(mirroring)을 기반으로 수행되었던 패킷 분석 과정을 가상화하여 다양한 컨테이너 환경에서 물리적인 제약에 독립적인 인터페이스를 제공할 수 있다.
도 2는 도 1의 데이터 처리 장치의 기능적 구성을 설명하는 도면이다.
도 2를 참조하면, 데이터 처리 장치(130)는 패킷 수집부(210), 플로우 생성부(230), 플로우 캐시부(250), 패킷 분석부(270), 인터페이스 제공부(290) 및 제어부(도 2에 미도시함)를 포함할 수 있다.
패킷 수집부(210)는 네트워크 라이브 스트림(stream)으로부터 네트워크 패킷을 캡쳐(capture)하여 수집할 수 있다. 여기에서, 네트워크 라이브 스트림은 클라우드 상에서 정의되는 컨테이너 기반의 네트워크 라이브 스트림을 포함할 수 있다. 즉, 패킷 수집부(210)는 소프트웨어로 구현된 컨테이너 기반의 네트워크 인터페이스를 통해 전송되는 패킷을 수집할 수 있고, 수집된 패킷들은 소정의 저장공간에 저장되어 보관될 수 있다.
한편, 패킷 수집부(210)는 물리적으로 구현된 네트워크 인터페이스를 통해 송수신되는 패킷을 수집하도록 구현될 수도 있으며, 이에 대한 구체적인 설명은 생략한다.
일 실시예에서, 패킷 수집부(210)는 패킷 캡쳐 모듈 및 패킷 디코더 모듈을 포함할 수 있다. 먼저, 패킷 캡쳐 모듈은 네트워크 라이브 스트림으로부터 네트워크 패킷을 캡쳐할 수 있다. 예를 들어, 패킷 수집부(210)는 컨테이너 기반 인터페이스를 미러링 하여 네트워크 패킷을 캡쳐할 수 있다. 이때, 패킷 캡쳐에 의해 생성되는 파일은 PCAP 파일을 포함할 수 있다. PCAP 파일은 '.pcap'의 확장자를 가질 수 있다. PCAP 파일은 글로벌 헤더(global header), 패킷 헤더(packet header) 및 패킷 데이터(packet data)를 포함할 수 있다. 따라서, 네트워크 라이브 스트림으로부터 실체 캡쳐된 최초의 패킷 데이터는 PCAP 파일에서 글로벌 헤더와 패킷 헤더의 다음에 나타날 수 있다.
또한, 패킷 디코더 모듈은 네트워크 패킷을 파싱(parsing)하고 파싱된 패킷들을 디코딩(decoding)할 수 있다. 패킷 디코더 모듈은 네트워크 전송 과정에서 인코딩(encoding)된 패킷들에 대해 적절한 디코딩 알고리즘을 적용하여 디코딩함으로써 원래의 패킷 데이터를 추출할 수 있다. 예를 들어, 패킷 디코더 모듈은 암호화된 패킷에 대해 이를 복원하는 복호화 알고리즘을 적용하여 디코딩 동작을 수행할 수 있다. 패킷 디코더 모듈에 의해 디코딩된 패킷들은 플로우 생성부(230)로 전달되어 플로우 생성 과정에 활용될 수 있다.
플로우 생성부(230)는 네트워크 패킷을 수신하여 소정의 기준에 따라 정렬된 플로우(flow)들을 생성할 수 있다. 여기에서, 플로우(flow)는 네트워크 라이브 스트림으로부터 소정의 시간 동안 수집된 패킷들의 집합에 해당할 수 있다. 즉, 플로우 생성부(230)는 디코딩된 패킷들을 시계열 순으로 정렬할 수 있고, 정렬된 패킷들 중에서 소정의 기준을 충족하는 패킷들을 선별하여 플로우를 생성할 수 있다. 이후, 플로우 생성부(230)에서 생성된 플로우들은 적절히 분류되어 저장될 수 있으며, 패킷 분석부(270)를 통해 복수의 분석기들 각각에게 선택적으로 전달될 수 있다.
일 실시예에서, 플로우 생성부(230)는 최초 디코딩(decoding)된 패킷에 대해 소스 주소(src_ip), 목적지 주소(dst_ip), 소스 포트(src_port), 목적지 포트(dst_port), 패킷 메타데이터(packet metadata), 이더넷 인터페이스(ethernet interface), 네트워크 레이어(network layer) 및 전송 레이어(transport layer) 중 적어도 하나를 기준으로 플로우를 생성할 수 있다.
예를 들어, 플로우 생성부(230)는 패킷들 중에서 동일한 주소(src_ip, dst_ip)를 가진 패킷들만을 묶어 플로우를 생성할 수 있다. 또한, 플로우 생성부(230)는 동일한 포트(src_port, dst_port)를 가진 패킷들만을 묶어 플로우를 생성할 수 있다. 플로우 생성부(230)는 패킷 메타데이터, 이더넷 인터페이스, 레이어들의 유사성이나 공통성을 기준으로 패킷들을 묶어 플로우를 생성할 수 있으며, 다양한 기준들의 조합을 통해 플로우를 생성할 수 있다. 플로우 생성부(230)에 의해 생성된 플로우들은 각 생성 기준에 따라 독립적으로 저장되어 관리될 수 있다. 즉, 플로우 생성부(230)는 빠른 분석 처리를 위해 플로우 처리를 위한 캐시 모듈에게 동시에 전달하는 라우터(router) 역할을 수행할 수 있다.
플로우 캐시부(250)는 플로우들을 수신하여 내부 메모리(In-memory)에 저장하고 재사용 가능한 형태로 캐싱(caching)할 수 있다. 플로우 캐시부(250)는 플로우 생성부(230)를 통해 생성된 플로우들을 수신할 수 있으며, 메모리 기반으로 저장함과 동시에 빠른 처리를 위한 캐싱 동작을 처리할 수 있다. 한편, 플로우 캐시부(250)는 병렬적인 처리를 위해 복수의 모듈들을 포함하여 구현될 수 있다.
일 실시예에서, 플로우 캐시부(250)는 플로우들을 독립적으로 수신하여 내부 메모리에 저장하는 복수의 플로우 캐시 모듈들을 포함할 수 있다. 여기에서, 복수의 플로우 캐시 모듈들 각각은 플로우들에 대한 요청을 수신하는 제1 리스너(listener)를 포함하여 구현될 수 있다. 즉, 제1 리스너는 웹 기반의 인터페이스를 통해 시각화를 위한 데이터를 제공하는 과정에서 외부의 요청을 검출하고 이를 각 플로우 캐시 모듈에 전달하는 역할을 수행할 수 있다. 각 플로우 캐시 모듈은 메모리에 저장된 플로우들을 소정의 캐싱 규칙에 따라 캐싱할 수 있고, 캐싱된 플로우를 기반으로 제1 리스너를 통해 전달된 요청에 대해 빠른 응답을 제공할 수 있다.
패킷 분석부(270)는 캐싱된 플로우들을 수집하여 네트워크 패킷에 관한 분석을 수행하여 분석 결과를 생성할 수 있다. 패킷 분석부(270)는 클라우드 네이티브 컨테이너 기반 서버 및 네트워크의 시계열 데이터들에 대한 모니터링 정보를 생성할 수 있으며, 시스템 및 자원 관리 등 시스템의 유지 보수를 위해 필요한 다양한 정보들을 생성하여 DB화 할 수 있다. 패킷 분석부(270)는 독립된 패킷 분석을 수행하는 다양한 분석기(analyzer)들을 포함하여 구현될 수 있으며, 각 분석기들과 연동하여 시스템 유지 보수에 필요한 다양한 정보들을 병렬적으로 생성할 수 있다.
일 실시예에서, 패킷 분석부(270)는 캐싱된 플로우들을 기초로 독립적인 패킷 분석을 수행하는 복수의 분석기들에게 전달하고 복수의 분석기들로부터 각 분석 결과를 수집하여 통계적 분석에 따른 통계 메트릭(metric)을 생성할 수 있다. 각 분석기들은 독립된 분석 방법을 실행하여 특징적인 분석 결과를 생성하도록 구현될 수 있다. 이에 따라, 패킷 분석부(270)는 각 분석 방법이 요구하는 다양한 특징의 플로우들을 선별하고 각 분석기에 전달하는 역할을 담당하는 마스터 분석기를 포함할 수 있고, 마스터 분석기가 각 분석기들과 연결되어 동작할 수 있다. 패킷 분석부(270)는 각 분석기들로부터 수신한 분석 결과를 통합할 수 있고, 다양한 통계 메트릭에 관한 데이터들을 생성할 수 있다.
여기에서, 통계 메트릭은 네트워크 라이브 스트림과 연관된 자원이나 성능 등에 관한 지표(index)들을 포함할 수 있다. 예를 들어, 통계 메트릭은 HTTP 응답 데이터 등의 응용 레이어(application layer) 관련 메트릭, 컨테이너 서비스 단위의 자원 사용량, 서버 클러스터 전체의 가용율(utilization) 등을 포함할 수 있다.
보다 구체적으로, 복수의 분석기들은 패킷 분석기(packet analyzer), RTT 분석기(RTT analyzer), 플로우 분석기(flow analyzer), 시퀀스 분석기(seq_based analyzer), 타임 분석기(tsval_based analyzer) 및 응답 분석기(ack_based analyzer)를 포함할 수 있다.
패킷 분석기(packet analyzer)는 플로우 기반 패킷의 카운트(count) 및 바이트(byte)를 계산할 수 있다. 예를 들어, 패킷 분석기는 플로우별 패킷의 개수를 계산하고 패킷의 평균, 최대 및 최소 크기를 산출할 수 있다.
RTT 분석기(RTT analyzer)는 패킷의 왕복하는데 소요되는 시간을 산출할 수 있다. 예를 들어, RTT 분석기는 패킷이 출발지에서 전송되어 목적지에 도착한 후 다시 출발지도 돌아오는데 소요되는 왕복 시간을 산출할 수 있다.
플로우 분석기(flow analyzer)는 플로우에 대한 시퀀스 분석을 통해 종단의 타임스탬프(timestamp)를 기준으로 전달된 패킷의 바이트(byte)와 통계 추정치를 계산할 수 있다. 또한, 시퀀스 분석기(seq_based analyzer)는 프로토콜(protocol) 수준의 시퀀스 넘버(seq_no)를 추적하여 실제 유효 데이터에 관한 왕복시간(trip time)을 측정할 수 있다. 즉, 시퀀스 분석기는 관찰자(observer)로부터 출발하여 목적지(destination)을 거쳐 다시 관찰자(observer)로 돌아오는 시간을 계산할 수 있다. 다만, GC나 여러가지 변수로 인해 분석 결과에 왜곡이 발생할 수 있다.
타임 분석기(tsval_based analyzer)는 클라이언트 수준의 로컬 타임(local time)을 비교하여 실제 유효 데이터의 왕복시간과 지연(latency)을 측정할 수 있다. 타임 분석기는 클라이언트에서 TCP_OPTION 헤더에 로컬 타임을 포함시켜 전송하면 이를 비교하는 방식으로 왕복 시간을 측정할 수 있다. 보다 구체적으로, 타임 분석기는 클라이언트가 요청을 전송하는 과정에서 로컬 타임을 요청과 함께 전송할 수 있고, 서버가 해당 요청에 응답을 생성하여 전송하는 과정에서 클라이언트가 보낸 로컬 타임을 ack와 함께 전송하는 경우 클라이언트 수준에서 ack의 시간(time)과 현재의 시간을 비교하여 해당 메시지가 왕복(round trip)한 시간을 계산할 수 있다.
또한, 타임 분석기는 로깅하는 프로토콜(protocol)을 사용하여 로컬 타임에 기반한 지연(latency)를 측정할 수 있다. 결과적으로, 타임 분석기는 클라이언트(client), 관찰자(observer), 목적지(dest) 및 관찰자(observer) 순으로 전달되는 과정의 시간을 측정할 수 있다.
또한, 응답 분석기(ack_based analyzer)는 tcp 상에서 메시지의 송수신 과정에 발생하는 요청(req)과 응답(ack)의 순서쌍을 검색하여 측정할 수 있다. 다만, 응답 분석기의 경우 패킷 전송의 중간에 응답 분실 등 다양한 상황이 발생할 경우 분석 결과의 품질이 나빠질 수 있다.
일 실시예에서, 패킷 분석부(270)는 캐싱된 플로우들에 관한 독립적인 패킷 분석을 수행하도록 모듈화 되어 구현된 추가 분석기와 결합하는 애드온(add-on) 모듈을 더 포함할 수 있다. 즉, 패킷 분석부(270)는 데이터 처리 장치(130)가 컨테이너 기반의 애플리케이션으로 구현되는 경우 다양한 분석 기법을 선택적으로 적용할 수 있도록 하는 애드온 모듈을 포함할 수 있다. 이에 따라, 소프트웨어로 구현된 독립적인 추가 분석기는 애드온 모듈에 결합되어 동작할 수 있으며, 패킷 분석부(270)는 애드온 모듈에 결합된 추가 분석기의 유형과 분석 방법 등에 관한 정보를 기초로 분석에 필요한 플로우를 제공할 수 있다.
특히, 패킷 분석부(270)는 애드온 모듈에 추가 분석기가 결합되어 동작하는 경우 다른 분석기와 결합 가능한 애드온 모듈을 추가로 생성하여 분석 기능에 관한 유연한 확장성을 제공할 수 있다. 한편, 복수의 분석기들 각각과 애드온 모듈은 패킷 분석에 대한 요청을 수신하는 제2 리스너(listener)를 포함하여 구현될 수 있다. 여기에서, 제2 리스너는 웹 기반의 인터페이스를 통해 시각화를 위한 데이터를 제공하는 과정에서 외부의 요청을 검출하고 이를 각 분석기와 애드온 모듈에 전달하는 역할을 수행할 수 있다. 각 분석기와 애드온 모듈은 실시간 분석된 결과를 생성할 수 있고, 제2 리스너를 통해 전달된 요청에 대해 빠른 응답을 제공할 수 있다.
인터페이스 제공부(290)는 플로우들 및 분석 결과를 시각화 하도록 웹 기반의 인터페이스를 제공할 수 있다. 웹 기반의 인터페이스는 API를 통해 구현되어 제공될 수 있다. 즉, 외부로부터 API를 통해 클라우드 기반으로 구현된 특정 컨테이너에 대한 모니터링 정보의 요청이 수신된 경우, 인터페이스 제공부(290)는 연관된 분석 정보 요청을 패킷 분석부(270)에게 전달하여 그 응답을 수신한 다음 웹 기반 인터페이스를 통해 외부로 전달할 수 있다. 이때, 웹 기반 인터페이스는 시각화 정보들의 효과적인 전달을 위해 다양한 형태로 구현될 수 있다.
일 실시예에서, 인터페이스 제공부(290)는 플로우들 및 분석 결과에 대한 텍스트 형태의 데이터 값을 제공할 수 있다. 인터페이스 제공부(290)는 웹 기반 인터페이스를 통해 외부 시각화 툴과 연동할 수 있다. 예를 들어, 인터페이스 제공부(290)는 웹 기반 인터페이스를 통해 프로메테우스(prometheus)와 연동할 수 있다. 프로메테우스는 인터페이스 제공부(290)의 HTTP 엔트포인트(HTTP Endpoint)에게 주기적으로 요청을 전송하여 다양한 분석 정보들을 스크레이핑(scraping)할 수 있다.
제어부(도 2에 미도시함)는 데이터 처리 장치(130)의 전체적인 동작을 제어하고, 패킷 수집부(210), 플로우 생성부(230), 플로우 캐시부(250), 패킷 분석부(270) 및 인터페이스 제공부(290) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.
도 3은 본 발명에 따른 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 과정을 설명하는 순서도이다.
도 3을 참조하면, 데이터 처리 장치(130)는 패킷 수집부(210)를 통해 네트워크 라이브 스트림(stream)으로부터 네트워크 패킷을 캡쳐(capture)하여 수집할 수 있다(S310). 데이터 처리 장치(130)는 플로우 생성부(230)를 통해 네트워크 패킷을 수신하여 소정의 기준에 따라 정렬된 플로우(flow)들을 생성할 수 있다(S330). 데이터 처리 장치(130)는 플로우 캐시부(250)를 통해 플로우들을 수신하여 내부 메모리(In-memory)에 저장하고 재사용 가능한 형태로 캐싱(caching)할 수 있다(S350).
또한, 데이터 처리 장치(130)는 패킷 분석부(270)를 통해 캐싱된 플로우들을 수집하여 네트워크 패킷에 관한 분석을 수행하여 분석 결과를 생성할 수 있다(S370). 데이터 처리 장치(130)는 인터페이스 제공부(290)를 통해 플로우들 및 분석 결과를 시각화 하도록 웹 기반의 인터페이스를 제공할 수 있다(S390).
도 4는 본 발명에 따른 클라우드 기반의 컨테이너로 구현되는 데이터 처리 장치의 구조를 설명하는 도면이다.
도 4를 참조하면, 데이터 처리 장치(130)는 컨테이너 기반 네트워크 라이브 스트림을 수집하여 ns(nano-seconds) 기반 네트워크 모니터링 분석 환경을 제공할 수 있다. 일 실시예에서, 데이터 처리 장치(130)의 동작은 크게 두가지 동작으로 분류될 수 있다. 즉, 데이터 처리 장치(130)는 패킷 데이터를 수집하는 콜렉터(collector) 동작과 패킷 데이터를 분석하는 애널라이저(analyzer) 동작을 수행할 수 있다.
특히, 데이터 처리 장치(130)는 컨테이너 기반으로 구현될 수 있으며, 컨테이너 기반의 네트워크 인터페이스에 직접 연결되어 네트워크 라이브 스트림으로부터 전송 중인 패킷들을 획득할 수 있다. 데이터 처리 장치(130)는 수집된 패킷 데이터를 기반으로 소정의 패킷들의 집합으로 정의되는 플로우들을 생성할 수 있다. 또한, 데이터 처리 장치(130)는 플로우들을 복수의 샤드(shard)들에게 분배하여 저장할 수 있다. 구체적으로, 데이터 처리 장치(130)는 최초 디코딩된 패킷에 대해 소정의 기준에 따라 플로우들을 생성할 수 있다. 이때, 적용되는 기준들에는 주소(ip), 포트(port), 메타데이터(metadata), 인터페이스(interface), 레이어(layer) 등이 포함될 수 있다.
데이터 처리 장치(130)는 분산 저장된 플로우들을 패킷 분석부(270)를 통해 수집하여 각 분석기들에게 전달할 수 있으며, 각 분석기들은 수신된 플로우들을 기초로 소정의 분석 동작을 수행하여 분석 결과를 생성할 수 있다. 각 분석기에서의 분석 결과는 다시 패킷 분석부(270)를 통해 통합될 수 있으며, 통합에 따른 통계적 메트릭들이 추가로 생성될 수 있다. 데이터 처리 장치(130)는 패킷 분석부(270)의 분석 결과와 플로우들에 대한 정보를 인터페이스 제공부(290)를 통해 외부에 공유할 수 있다. 즉, 데이터 처리 장치(130)는 컨테이너 기반 서버 및 네트워크의 시계열 데이터의 수집, 처리, 모니터링 및 시각화에 필요한 다양한 정보들을 제공할 수 있다.
도 5는 본 발명에 따른 데이터 처리 장치의 동작 환경을 설명하는 도면이다.
도 5를 참조하면, 데이터 처리 장치(130)는 5G 기반의 네트워크 에지로부터 PTP(Precision Time Protocol)를 통해 패킷 데이터를 수집할 수 있다. 패킷 데이터는 NPB(Network Packet Broker)를 통해 수집될 수 있으며, 데이터 처리 장치는 NIC를 통해 NPB로부터 패킷 데이터를 수신할 수 있다. 데이터 처리 장치(130)는 패킷 데이터를 정제하여 플로우를 생성하고 플로우를 선택적으로 활용하여 다양한 분석 결과들을 생성할 수 있다. 데이터 처리 장치(130)에서 생성된 플로우들과 분석 결과는 HTTP Endpoint를 통해 외부에 제공될 수 있다.
일 실시예에서, 데이터 처리 장치(130)는 패킷 분석부(270)를 통해 플로우 캐시부(250)를 통해 캐싱된 플로우들을 수집하고 네트워크 패킷에 관한 분석을 수행하여 분석 결과를 생성할 수 있다. 이때, 플로우 캐시부(250)는 플로우들을 독립적으로 수신하여 내부 메모리에 저장하는 복수의 플로우 캐시 모듈들을 포함하여 구현될 수 있으며, 각 플로우 캐시 모듈은 플로우들을 수신하여 내부 메모리(In-memory)에 저장하고 재사용 가능한 형태로 캐싱(caching)하는 동작을 처리할 수 있다.
또한, 패킷 분석부(270)는 복수의 플로우 캐시 모듈들에 의해 관리되는 플로우들과 해당 플로우들이 복수의 분석기들에 제공되어 생성된 분석 결과들에 관한 토폴로지 네트워크(topology network)을 생성할 수 있다. 여기에서, 토폴로지 네트워크는 플로우들의 캐싱 위치와 분석 결과의 분석 위치를 기반으로 패킷 분석에 사용된 플로우들과 분석 결과 사이의 상관 관계를 표현하는 시각화된 그래프에 해당할 수 있다.
보다 구체적으로, 토폴로지 네트워크는 플로우들을 캐싱하는 플로우 캐시 모듈들 각각에 대응하는 제1 노드들과 패킷 분석을 통해 독립된 분석 결과를 생성하는 분석기들 각각에 대응하는 제2 노드(node)들을 포함하여 구현될 수 있고, 패킷 분석에 사용되는 플로우들과 해당 패킷 분석에 따른 분석 결과 간의 연결 관계는 제1 노드들과 제2 노드들 사이의 연결(edge)로 표현될 수 있다. 이때, 각 연결(edge)은 플로우의 제공과 패킷 분석의 선후 관계에 따라 방향을 포함할 수 있다.
한편, 인터페이스 제공부(290)는 플로우들 및 분석 결과를 시각화 하도록 웹 기반의 인터페이스를 제공하는 과정에서 플로우들 및 분석 결과에 관한 토폴로지 네트워크를 함께 제공할 수 있다. 이를 위해, 인터페이스 제공부(290)는 외부에서 요청을 수신하는 경우 패킷 분석부(270)에게 해당 요청과 함께 토폴로지 네트워크에 관한 요청을 함께 전달할 수 있다. 패킷 분석부(270)는 해당 요청에 따라 응답을 생성하는 과정에서 특정 분석기에 플로우들을 제공하고 그에 따른 분석 결과를 수신할 수 있으며, 해당 정보를 기반으로 토폴로지 네트워크를 갱신할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 데이터 처리 시스템
110: 클라우드 서버 130: 데이터 처리 장치
210: 패킷 수집부 230: 플로우 생성부
250: 플로우 캐시부 270: 패킷 분석부
290: 인터페이스 제공부

Claims (10)

  1. 네트워크 라이브 스트림(stream)으로부터 네트워크 패킷을 캡쳐(capture)하여 수집하는 패킷 수집부;
    상기 네트워크 패킷을 수신하여 소정의 기준에 따라 정렬된 플로우(flow)들을 생성하는 플로우 생성부;
    상기 플로우들을 수신하여 내부 메모리(In-memory)에 저장하고 재사용 가능한 형태로 캐싱(caching)하는 플로우 캐시부;
    캐싱된 플로우들을 수집하여 상기 네트워크 패킷에 관한 분석을 수행하여 분석 결과를 생성하는 패킷 분석부; 및
    상기 플로우들 및 상기 분석 결과를 시각화 하도록 웹 기반의 인터페이스를 제공하는 인터페이스 제공부;를 포함하는 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치.
  2. 제1항에 있어서, 상기 네트워크 라이브 스트림은
    클라우드 상에서 정의되는 컨테이너(container) 기반의 네트워크 라이브 스트림을 포함하는 것을 특징으로 하는 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치.
  3. 제1항에 있어서, 상기 패킷 수집부는
    네트워크 라이브 스트림으로부터 상기 네트워크 패킷을 캡쳐하는 패킷 캡쳐 모듈; 및
    상기 네트워크 패킷을 파싱(parsing)하고 디코딩(decoding)하는 패킷 디코더 모듈을 포함하는 것을 특징으로 하는 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치.
  4. 제1항에 있어서, 상기 플로우 생성부는
    최초 디코딩(decoding)된 패킷에 대해 소스 주소(src_ip), 목적지 주소(dst_ip), 소스 포트(src_port), 목적지 포트(dst_port), 패킷 메타데이터(packet metadata), 이더넷 인터페이스(ethernet interface), 네트워크 레이어(network layer) 및 전송 레이어(transport layer) 중 적어도 하나를 기준으로 상기 플로우를 생성하는 것을 특징으로 하는 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치.
  5. 제1항에 있어서, 상기 플로우 캐시부는
    상기 플로우들을 독립적으로 수신하여 상기 내부 메모리에 저장하는 복수의 플로우 캐시 모듈들을 포함하고,
    상기 복수의 플로우 캐시 모듈들 각각은 상기 플로우들에 대한 요청을 수신하는 제1 리스너(listener)를 포함하는 것을 특징으로 하는 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치.
  6. 제1항에 있어서, 상기 패킷 분석부는
    상기 캐싱된 플로우들을 기초로 독립적인 패킷 분석을 수행하는 복수의 분석기들에게 전달하고 상기 복수의 분석기들로부터 각 분석 결과를 수집하여 통계적 분석에 따른 통계 메트릭(metric)을 생성하는 것을 특징으로 하는 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치.
  7. 제6항에 있어서, 상기 복수의 분석기들은
    플로우 기반 패킷의 카운트(count) 및 바이트(byte)를 계산하는 패킷 분석기(packet analyzer);
    플로우에 대한 시퀀스 분석을 통해 종단의 타임스탬프(timestamp)를 기준으로 전달된 패킷의 바이트(byte)와 통계 추정치를 계산하는 플로우 분석기(flow analyzer);
    프로토콜(protocol) 수준의 시퀀스 넘버(seq_no)를 추적하여 실제 유효 데이터에 관한 왕복시간(trip time)을 측정하는 시퀀스 분석기(seq_based analyzer);
    클라이언트 수준의 로컬 타임(local time)을 비교하여 실제 유효 데이터의 왕복시간과 지연(latency)을 측정하는 타임 분석기(tsval_based analyzer); 및
    tcp 상에서 메시지의 송수신 과정에 발생하는 요청(req)과 응답(ack)의 순서쌍을 검색하여 측정하는 응답 분석기(ack_based analyzer)를 포함하는 것을 특징으로 하는 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치.
  8. 제7항에 있어서, 상기 패킷 분석부는
    상기 캐싱된 플로우들에 관한 독립적인 패킷 분석을 수행하도록 모듈화 되어 구현된 추가 분석기와 결합하는 애드온(add-on) 모듈을 더 포함하고,
    상기 복수의 분석기들 각각과 상기 애드온 모듈은
    상기 패킷 분석에 대한 요청을 수신하는 제2 리스너(listener)를 포함하는 것을 특징으로 하는 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치.
  9. 제1항에 있어서, 상기 인터페이스 제공부는
    상기 플로우들 및 상기 분석 결과에 대한 텍스트 형태의 데이터 값을 제공하는 것을 특징으로 하는 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치.
  10. 네트워크 라이브 스트림(stream)으로부터 네트워크 패킷을 캡쳐(capture)하여 수집하는 단계;
    상기 네트워크 패킷을 수신하여 소정의 기준에 따라 정렬된 플로우(flow)들을 생성하는 단계;
    상기 플로우들을 수신하여 내부 메모리(In-memory)에 저장하고 재사용 가능한 형태로 캐싱(caching)하는 단계;
    캐싱된 플로우들을 수집하여 상기 네트워크 패킷에 관한 분석을 수행하여 분석 결과를 생성하는 단계; 및
    상기 플로우들 및 상기 분석 결과를 시각화 하도록 웹 기반의 인터페이스를 제공하는 단계;를 포함하는 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 방법.
KR1020220041149A 2022-04-01 2022-04-01 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치 및 방법 KR20230142203A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220041149A KR20230142203A (ko) 2022-04-01 2022-04-01 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치 및 방법
PCT/KR2022/004928 WO2023191162A1 (ko) 2022-04-01 2022-04-06 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220041149A KR20230142203A (ko) 2022-04-01 2022-04-01 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20230142203A true KR20230142203A (ko) 2023-10-11

Family

ID=88202978

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220041149A KR20230142203A (ko) 2022-04-01 2022-04-01 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치 및 방법

Country Status (2)

Country Link
KR (1) KR20230142203A (ko)
WO (1) WO2023191162A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101420784B1 (ko) 2010-08-06 2014-07-17 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 통신 네트워크 모니터링

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101097449B1 (ko) * 2009-12-28 2011-12-23 (주) 시스메이트 플로우 처리 방법 및 장치
KR101796529B1 (ko) * 2016-03-15 2017-11-15 주식회사 윈스 오토마타 기반 패킷 필터 시스템 및 그 방법
KR102024530B1 (ko) * 2017-02-01 2019-09-24 한국전자통신연구원 네트워크 데이터 통합 수집 장치 및 방법
KR102423038B1 (ko) * 2020-06-30 2022-07-21 주식회사 맥데이타 대용량 네트워크 모니터링을 위한 실시간 패킷 데이터 수집 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101420784B1 (ko) 2010-08-06 2014-07-17 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 통신 네트워크 모니터링

Also Published As

Publication number Publication date
WO2023191162A1 (ko) 2023-10-05

Similar Documents

Publication Publication Date Title
Ghasemi et al. Dapper: Data plane performance diagnosis of tcp
EP2240854B1 (en) Method of resolving network address to host names in network flows for network device
US9565076B2 (en) Distributed network traffic data collection and storage
US9294944B2 (en) Method and apparatus to monitor and analyze end to end flow control in an Ethernet/enhanced Ethernet environment
US9065767B2 (en) System and method for reducing netflow traffic in a network environment
US8730819B2 (en) Flexible network measurement
US8077718B2 (en) Distributed network management
US10541900B2 (en) Hierarchical time stamping
Inacio et al. {YAF}: Yet another flowmeter
Zdonik et al. SpringerBriefs in Computer Science
Hyun et al. Real‐time and fine‐grained network monitoring using in‐band network telemetry
CN110300085B (zh) 网络攻击的取证方法、装置、系统、统计集群和计算集群
US9356876B1 (en) System and method for classifying and managing applications over compressed or encrypted traffic
KR20220029142A (ko) Sdn 컨트롤러 서버 및 이의 sdn 기반 네트워크 트래픽 사용량 분석 방법
CN113746654A (zh) 一种IPv6地址管理和流量分析的方法和装置
KR20230142203A (ko) 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치 및 방법
US11323305B1 (en) Early detection of telemetry data streaming interruptions
Pacífico et al. Bloomtime: space-efficient stateful tracking of time-dependent network performance metrics
Yang et al. ChameleMon: Shifting Measurement Attention as Network State Changes
Liu et al. Programmable per-packet network telemetry: From wire to kafka at scale
CN105610655A (zh) 一种路由器流量监控与分析方法
Fan Measuring Named Data Networks
Madeira Identification of Skype Covert Channels using Sketches in SDNs
CN117499274A (zh) 基于弹性公网ip的流量监控方法、装置、设备及介质
JP7164140B2 (ja) 通信解析装置、通信解析方法およびプログラム