KR102542430B1 - 이벤트 수집 장치 및 그 방법 - Google Patents
이벤트 수집 장치 및 그 방법 Download PDFInfo
- Publication number
- KR102542430B1 KR102542430B1 KR1020210157055A KR20210157055A KR102542430B1 KR 102542430 B1 KR102542430 B1 KR 102542430B1 KR 1020210157055 A KR1020210157055 A KR 1020210157055A KR 20210157055 A KR20210157055 A KR 20210157055A KR 102542430 B1 KR102542430 B1 KR 102542430B1
- Authority
- KR
- South Korea
- Prior art keywords
- tuple value
- request packet
- terminal
- same
- packet
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
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
이벤트 수집 장치 및 그 방법이 개시된다. 본 개시에 따르면, 이벤트 수집 장치는 제1 단말과 제2 단말 사이에 전송되는 복수의 패킷을 식별하고, 복수의 패킷 각각의 세부 정보를 비교하여 복수의 패킷이 상호간에 기 설정된 관계 조건을 충족하는지 여부를 판단하고, 관계 조건을 충족한 패킷들끼리 동일한 그룹으로 분류하며, 분류된 그룹 각각을 개별 세션에 해당하는 이벤트로 수집하는 기능을 제공한다.
Description
본 개시는 이벤트를 수집하기 위한 기술에 관한 것으로, 구체적으로 UDP(User Datagram Protocol) 기반의 입출력(I/O) 이벤트를 QUIC(Quick UDP Internet Connections) 프로토콜 기반의 세션 단위로 수집하는 기술에 관한 것이다.
송신자와 수신자 간의 통신서비스를 제공하는 전송 계층에서는, 데이터 전달을 위한 대표적인 프로토콜로서 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)를 사용한다.
TCP는 연결형 서비스를 지원하며 가상 회선 방식을 제공하는 프로토콜로서, 높은 신뢰성을 갖는 대신 UDP 대비 속도가 느린 단점이 존재한다. 반면, UDP는 비 연결형 서비스를 지원하며 데이터그램 방식을 제공하는 프로토콜로서, TCP 대비 속도가 빠르고 네트워크 부하가 적은 장점이 있으나, 네트워크 이벤트 정보를 수집할 때 입출력(I/O)이 발생할 때마다 정보를 수집하고, 저장해야 한다.
그런데, HTTP/3 표준으로 대표되는 인터넷 표준은 웹 브라우징(Web Browsing) 시 전송 계층의 통신 프로토콜로서 QUIC(Quick UDP Internet Connections) 프로토콜을 사용하는데, 이 QUIC 프로토콜은 데이터 전송을 위해 UDP를 사용한다. 즉, QUIC 프로토콜에 기반하여 데이터를 전송하게 되면 매우 많은 입출력이 발생할 것이고, 이때마다 UDP 특성상 이벤트 정보를 수집하게 되면 시스템에 매우 큰 오버헤드(overhead)가 발생하게 된다.
또한, 이처럼 이벤트 정보가 너무 많으면 각 정보를 바탕으로 한 데이터 분석 및 통계 정보 생성에도 매우 많은 컴퓨팅 자원이 소모되는 등 추가적인 문제도 발생할 수 있다.
본 개시는 상술한 문제점을 해결하기 위해 제안된 것으로, 서로 다른 단말 사이에 전송되는 패킷의 세부 정보를 비교하여 관계 조건을 충족한 패킷들끼리 동일한 그룹으로 분류하고, 그룹 각각을 개별 세션에 해당하는 이벤트로 수집하는 방법 및 이를 이용한 장치를 제공하는 것을 목적으로 한다.
구체적으로, 본 개시는 송신자와 수신자 간의 통신서비스를 수행함에 있어 이벤트 발생에 따른 과도한 정보 수집으로 인해 시스템에 부담을 초래하는 것을 방지하는 방법 및 이를 이용한 장치를 제공하는 것을 목적으로 한다.
본 개시에 의해 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
개시되는 일 실시예에 따른 이벤트 수집 방법은, 제1 단말과 제2 단말 사이에 전송되는 복수의 패킷을 식별하는 단계; 상기 복수의 패킷 각각의 세부 정보를 비교하여 상기 복수의 패킷이 상호간에 기 설정된 관계 조건을 충족하는지 여부를 판단하는 단계; 상기 관계 조건을 충족한 패킷들끼리 동일한 그룹으로 분류하는 단계; 및 상기 분류된 그룹 각각을 개별 세션에 해당하는 이벤트로 수집하는 단계를 포함한다.
일 실시예에 따르면, 상기 복수의 패킷 각각은, UDP(User Datagram Protocol)를 전송 계층 프로토콜로 하여 전송되는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 판단하는 단계는, 상기 복수의 패킷 상호간에 상기 복수의 패킷 각각의 5-튜플(5-tuple) 값을 비교함으로써 상기 관계 조건의 충족 여부를 판단하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 판단하는 단계는, 상기 제1 단말에서 상기 제2 단말로 전송되는 요청 패킷의 5-튜플 값과, 상기 요청 패킷의 전송 이후에 상기 제2 단말에서 상기 제1 단말로 전송되는 하나 이상의 응답 패킷 각각의 5-튜플 값을 비교함으로써 상기 관계 조건의 충족 여부를 판단하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 판단하는 단계는, 상기 요청 패킷의 5-튜플 값에 포함된 프로토콜 식별 정보와 상기 응답 패킷 각각의 5-튜플 값에 포함된 프로토콜 식별 정보의 동일 여부를 판단하는 단계; 상기 요청 패킷의 5-튜플 값에 포함된 소스 아이피(source ip) 및 소스 포트(source port)와 상기 응답 패킷 각각의 5-튜플 값에 포함된 타겟 아이피(target ip) 및 타겟 포트(target port)의 동일 여부를 판단하는 단계; 및 상기 요청 패킷의 5-튜플 값에 포함된 타겟 아이피 및 타겟 포트와 상기 응답 패킷 각각의 5-튜플 값에 포함된 소스 아이피 및 소스 포트의 동일 여부를 판단하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 수집하는 단계는, 상기 분류된 그룹 각각을 QUIC(Quick UDP Internet Connections)를 전송 계층 프로토콜로 이용한 통신 세션에 해당하는 이벤트로 수집하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 이벤트 수집 방법은, 상기 수집된 이벤트 별로 상기 이벤트에 포함된 패킷에 대한 상태 값을 산출하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 산출하는 단계는, 상기 이벤트에 포함된 패킷 중 상기 제1 단말에서 상기 제2 단말로 전송되는 요청 패킷에 대한 대푯값 및 상기 요청 패킷의 전송 이후에 상기 제2 단말에서 상기 제1 단말로 전송되는 응답 패킷에 대한 대푯값을 산출하는 것을 특징으로 할 수 있다.
개시되는 일 실시예에 따른 이벤트 수집 장치는, 하나 이상의 프로세서들; 메모리; 및 하나 이상의 프로그램들을 포함할 수 있고, 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램들은, 제1 단말과 제2 단말 사이에 전송되는 복수의 패킷을 식별하기 위한 명령; 상기 복수의 패킷 각각의 세부 정보를 비교하여 상기 복수의 패킷이 상호간에 기 설정된 관계 조건을 충족하는지 여부를 판단하기 위한 명령; 상기 관계 조건을 충족한 패킷들끼리 동일한 그룹으로 분류하기 위한 명령; 및 상기 분류된 그룹 각각을 개별 세션에 해당하는 이벤트로 수집하기 위한 명령을 포함할 수 있다.
개시되는 일 실시예에 따른 비일시적 컴퓨터 판독 가능 저장 매체는, 컴퓨터 판독 가능 명령어들을 저장하도록 구성되는 매체를 포함하고, 상기 컴퓨터 판독 가능 명령어들은 프로세서에 의해 실행되는 경우 상기 프로세서가: 제1 단말과 제2 단말 사이에 전송되는 복수의 패킷을 식별하는 단계; 상기 복수의 패킷 각각의 세부 정보를 비교하여 상기 복수의 패킷이 상호간에 기 설정된 관계 조건을 충족하는지 여부를 판단하는 단계; 상기 관계 조건을 충족한 패킷들끼리 동일한 그룹으로 분류하는 단계; 및 상기 분류된 그룹 각각을 개별 세션에 해당하는 이벤트로 수집하는 단계를 포함하는 이벤트 수집 방법을 수행하도록 할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 개시에 따르면, 입출력(I/O) 이벤트 등 패킷이 전송될 때마다 정보를 수집하는 대신 축약된 이벤트 단위로 정보를 수집함으로써, 시스템 자원의 효율성을 높이고 시스템의 성능을 향상시킬 수 있다.
또한, 본 개시에 따른 이벤트 수집 장치는 이벤트의 수집과 더불어 이벤트에 해당하는 세션을 구성하는 패킷에 대한 상태 값을 산출함으로써, 이벤트를 축약하여 수집함에 따라 발생할 수 있는 정보의 모호함, 불명확함, 유실 등의 우려를 불식하고, 이벤트 수집 장치와 별도의 장치에 의해 상태 값을 산출하는 데 따른 시스템 자원의 낭비도 방지할 수 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 이벤트 수집 시스템을 설명하기 위한 개략적인 구성도이다.
도 2는 일 실시예에 따른 이벤트 수집 방법을 설명하기 위한 흐름도이다.
도 3은 이벤트가 수집되는 과정을 보다 상세히 나타내는 예시도이다.
도 4는 추가적인 실시예에 따른 이벤트 수집 방법을 설명하기 위한 흐름도이다.
도 5는 이벤트 별로 산출되는 상태 값을 보다 상세히 나타내는 예시도이다.
도 6은 일 실시예에 따른 이벤트 수집 장치를 설명하기 위한 블록도이다.
도 2는 일 실시예에 따른 이벤트 수집 방법을 설명하기 위한 흐름도이다.
도 3은 이벤트가 수집되는 과정을 보다 상세히 나타내는 예시도이다.
도 4는 추가적인 실시예에 따른 이벤트 수집 방법을 설명하기 위한 흐름도이다.
도 5는 이벤트 별로 산출되는 상태 값을 보다 상세히 나타내는 예시도이다.
도 6은 일 실시예에 따른 이벤트 수집 장치를 설명하기 위한 블록도이다.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "..부", "..모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하고, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.
명세서 전체에서 기재된 "a, b, 및 c 중 적어도 하나"의 표현은, 'a 단독', 'b 단독', 'c 단독', 'a 및 b', 'a 및 c', 'b 및 c', 또는 'a, b, 및 c 모두'를 포괄할 수 있다.
이하에서 언급되는 "단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다.
특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 명세서에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다.
또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 개시의 실시 예들을 상세히 설명한다.
도 1은 일 실시예에 따른 이벤트 수집 시스템을 설명하기 위한 개략적인 구성도이다.
도시된 바와 같이, 일 실시예에 따른 이벤트 수집 시스템(100)은 이벤트 수집 장치(110), 제1 단말(120) 및 제2 단말(130)을 포함한다. 또한, 도 1에 도시된 구성요소들 외에 따른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
이벤트 수집 장치(110), 제1 단말(120) 및 제2 단말(130)은 유선 또는 무선의 네트워크를 이용하여 서로 통신할 수 있다. 이때, 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 시스템 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
이벤트 수집 장치(110)는 제1 단말(120)과 제2 단말(130) 사이에 전송되는 패킷을 식별하고, 식별된 패킷을 특정한 기준에 따라 축약된 이벤트로 수집할 수 있다. 이를 통해, 이벤트 수집 장치(110)는 매 패킷의 전송 시에 발생하는 이벤트마다 정보를 수집하는 것에 비해 수집되는 이벤트의 개수를 획기적으로 경감시킬 수 있다.
본 개시에 있어서, 이벤트 수집 장치(110)가 이벤트를 수집한다는 것은 곧 이벤트와 관련된 정보를 수집하는 것을 의미할 수 있다. 일 실시예에 따르면, 이벤트와 관련된 정보는 이벤트를 특정할 수 있는 식별 정보, 이벤트의 발생 원인이 되는 정보, 이벤트의 발생 결과 생성된 정보 중 적어도 일부를 포함할 수 있다.
도 1을 참조하면, 이벤트 수집 장치(110)는 제1 단말(120) 및 제2 단말(130)과 독립된 별도의 장치인 것처럼 도시되었으나, 이는 예시적인 것으로, 실시예에 따라서 이벤트 수집 장치(110)는 제1 단말(120)에 포함되거나, 제2 단말(130)에 포함된 장치일 수도 있다.
한편 일 실시예에 따르면, 제1 단말(120)은 클라이언트(client)-서버(server) 모델 아키텍처를 구성하는 클라이언트의 기능을 수행하고, 제2 단말(130)은 해당 아키텍처 하의 서버의 기능을 수행할 수 있다. 그러나 이는 예시적인 것으로, 제1 단말(120)이 서버의 기능을 수행하고, 제2 단말(130)이 클라이언트의 기능을 수행할 수도 있다. 또한, 실시예에 따라서 제1 단말(120)과 제2 단말(130)은 각각 피어 투 피어(P2P; Peer-to-Peer) 아키텍처를 구성하는 장치로 기능할 수도 있다.
이상과 관련하여, 이하 도면들을 통해 보다 상세히 설명하기로 한다.
도 2는 일 실시예에 따른 이벤트 수집 방법을 설명하기 위한 흐름도이다.
도 2에 도시된 방법은 예를 들어, 상술한 이벤트 수집 장치(110)에 의해 수행될 수 있다.
도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
단계 S210에서, 이벤트 수집 장치(110)는 제1 단말(120)과 제2 단말(130) 사이에 전송되는 복수의 패킷을 식별할 수 있다.
일 실시예에 따르면, 이벤트 수집 장치(110)가 식별하는 복수의 패킷 각각은 UDP(User Datagram Protocol)를 전송 계층 프로토콜로 하여 전송되는 패킷일 수 있다.
예를 들어, 클라이언트인 제1 단말(120)이 서버인 제2 단말(130)로 파일 다운로드를 요청하는 경우, 이벤트 수집 장치(110)는 제1 단말(120)에서 제2 단말(130)로 전송되는 파일 다운로드 요청 패킷을 식별하고, 요청 패킷에 대한 응답으로서 제2 단말(130)에서 제1 단말(120)로 전송되는 하나 이상의 응답 패킷을 식별할 수 있다. 이 경우, 각 응답 패킷은 제1 단말(120)이 다운로드를 요청한 파일의 적어도 일부를 포함할 수도 있고, 제1 단말(120)의 다운로드 요청을 수신하는데 실패했다는 메시지를 포함할 수도 있으며, 제1 단말(120)의 다운로드 요청을 수신했으나 해당 파일이 존재하지 않는다는 메시지를 포함할 수도 있다.
단계 S220에서, 이벤트 수집 장치(110)는 식별된 복수의 패킷 각각의 세부 정보를 비교하여 복수의 패킷이 상호간에 기 설정된 관계 조건을 충족하는지 여부를 판단할 수 있다.
일 실시예에 따르면, 이벤트 수집 장치(110)는 식별된 복수의 패킷 상호간에 복수의 패킷 각각의 5-튜플(5-tuple) 값을 비교함으로써 기 설정된 관계 조건의 충족 여부를 판단할 수 있다.
구체적으로, 이벤트 수집 장치(110)는 제1 단말(120)에서 제2 단말(130)로 전송되는 요청 패킷의 5-튜플 값과, 요청 패킷의 전송 이후에 제2 단말(130)에서 제1 단말(120)로 전송되는 하나 이상의 응답 패킷 각각의 5-튜플 값을 비교함으로써 기 설정된 관계 조건의 충족 여부를 판단할 수 있다.
보다 상세하게, 이벤트 수집 장치(110)의 판단 대상이 되는 관계 조건은 다음의 (1) 내지 (3)을 포함할 수 있다.
(1) 요청 패킷의 5-튜플 값에 포함된 프로토콜 식별 정보와 응답 패킷 각각의 5-튜플 값에 포함된 프로토콜 식별 정보의 동일 여부
(2) 요청 패킷의 5-튜플 값에 포함된 소스 아이피(source ip) 및 소스 포트(source port)와 응답 패킷 각각의 5-튜플 값에 포함된 타겟 아이피(target ip) 및 타겟 포트(target port)의 동일 여부
(3) 요청 패킷의 5-튜플 값에 포함된 타겟 아이피 및 타겟 포트와 응답 패킷 각각의 5-튜플 값에 포함된 소스 아이피 및 소스 포트의 동일 여부
예를 들어, 이벤트 수집 장치(110)는 상술한 (1)을 판단한 결과, 요청 패킷의 5-튜플 값에 포함된 프로토콜 식별 정보와 응답 패킷 각각의 5-튜플 값에 포함된 프로토콜 식별 정보가 동일한 경우, 상술한 (2)를 판단할 수 있다. 이후, 이벤트 수집 장치(110)는 요청 패킷의 5-튜플 값에 포함된 소스 아이피와 응답 패킷 각각의 5-튜플 값에 포함된 타겟 아이피가 동일하고, 요청 패킷의 5-튜플 값에 포함된 소스 포트와 응답 패킷 각각의 5-튜플 값에 포함된 타겟 포트가 동일한 경우, 상술한 (3)을 판단할 수 있다. 이후, 이벤트 수집 장치(110)는 요청 패킷의 5-튜플 값에 포함된 타겟 아이피와 응답 패킷 각각의 5-튜플 값에 포함된 소스 아이피가 동일하고, 요청 패킷의 5-튜플 값에 포함된 타겟 포트와 응답 패킷 각각의 5-튜플 값에 포함된 소스 포트가 동일한 경우, 요청 패킷과 응답 패킷이 관계 조건을 충족하는 것으로 판단할 수 있다.
한편 상술한 (1)과 관련하여 예시적으로, 프로토콜 식별 정보는 0이나 1 중 어느 하나의 값을 가질 수 있고, 이벤트 수집 장치(110)는 요청 패킷의 5-튜플 값에 포함된 프로토콜 식별 정보와 응답 패킷 각각의 5-튜플 값에 포함된 프로토콜 식별 정보가 모두 1로 동일한 경우에 상술한 (2)를 판단하고, 두 프로토콜 식별 정보가 동일하지 않거나 모두 0으로 동일한 경우에는 상술한 (2)를 판단하지 않고 요청 패킷과 응답 패킷이 관계 조건을 충족하지 못하는 것으로 판단할 수도 있다.
즉, 이벤트 수집 장치(110)는 요청 패킷과 응답 패킷이 모두 동일한 전송 계층 프로토콜(예를 들어, UDP)을 사용하고, 각자 소스와 타겟이 반대인 경우에 관계 조건을 충족하는 것으로 판단할 수 있다. 이로써, 이벤트 수집 장치(110)는 패킷이 전송될 때마다 정보를 수집하는 대신 축약된 이벤트 단위로 정보를 수집함으로써, 시스템 자원의 효율성을 높이고 시스템의 성능을 향상시킬 수 있다.
단계 S230에서, 이벤트 수집 장치(110)는 기 설정된 관계 조건을 충족한 패킷들끼리 동일한 그룹으로 분류할 수 있다.
예를 들어, 단계 S220에서의 판단 결과 A라는 요청 패킷과 B, C라는 응답 패킷이 관계 조건을 충족한 것으로 판단되는 경우, 이벤트 수집 장치(110)는 A, B, C를 동일한 그룹으로 분류할 수 있다. 다만 이는 예시적인 것으로, 반드시 요청 패킷 하나 당 복수의 응답 패킷이 전송되는 것은 아니며, 제1 단말(120)과 제2 단말(130) 사이에 이루어지는 세션의 종류에 따라 복수의 요청 패킷의 전송에 응하여 하나의 응답 패킷이 전송될 수도 있는 등, 요청 패킷과 응답 패킷 사이의 수적 관계는 1 대 1, 1 대 N, N 대 1, N 대 M 중 어느 하나에 해당할 수 있다(이때, N, M은 2 이상의 자연수).
단계 S240에서, 이벤트 수집 장치(110)는 분류된 그룹 각각을 개별 세션에 해당하는 이벤트로 수집할 수 있다.
일 실시예에 따르면, 이벤트 수집 장치(110)는 분류된 그룹 각각을 QUIC(Quick UDP Internet Connections)를 전송 계층 프로토콜로 이용한 통신 세션에 해당하는 이벤트로 수집할 수 있다.
도 3은 이벤트가 수집되는 과정을 보다 상세히 나타내는 예시도이다.
구체적으로, 도 3에는 제1 단말(120)과 제2 단말(130) 사이에서 하나의 요청 패킷이 전송됨에 따라 복수의 응답 패킷이 전송되는 세션이 도시되며, 제1 단말(120)의 IP 주소는 1.1.1.1이고 포트(포트 넘버)는 10240, 제2 단말(130)의 IP 주소는 1.1.1.2이고 포트는 443으로 도시되어 있다.
일 실시예에 따르면, 이벤트 수집 장치(110)는 제1 단말(120)에서 제2 단말(130)로 전송되는 1개의 요청 패킷(1번)과, 제2 단말(130)에서 제1 단말(120)로 전송되는 5개의 응답 패킷(2번 내지 6번)을 식별할 수 있다.
일 실시예에 따르면, 이벤트 수집 장치(110)는 1개의 요청 패킷과 5개의 응답 패킷 각각의 프로토콜 식별 정보를 기반으로 6개의 패킷 모두가 UDP를 전송 계층 프로토콜로 하여 전송되는 패킷임을 식별할 수 있다.
일 실시예에 따르면, 이벤트 수집 장치(110)는 요청 패킷의 5-튜플 값 중 소스 아이피 및 소스 포트에 각각 해당하는 제1 단말(120)의 IP 주소와 제1 단말(120)의 포트가 응답 패킷의 5-튜플 값 중 각각 타겟 아이피와 타겟 포트에 해당하고, 응답 패킷의 5-튜플 값 중 소스 아이피 및 소스 포트에 해당하는 제2 단말(130)의 IP 주소와 제2 단말(130)의 포트가 요청 패킷의 5-튜플 값 중 각각 타겟 아이피와 타겟 포트에 해당함에 따라, 도시된 1개의 요청 패킷과 5개의 응답 패킷을 동일한 하나의 그룹으로 분류하고, 이를 QUIC 세션 입출력(I/O) 이벤트로 수집할 수 있다.
도 4는 추가적인 실시예에 따른 이벤트 수집 방법을 설명하기 위한 흐름도이다.
도 4에 도시된 방법은 예를 들어, 상술한 이벤트 수집 장치(110)에 의해 수행될 수 있다.
도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
단계 S410에서, 이벤트 수집 장치(110)는 제1 단말(120)과 제2 단말(130) 사이에 전송되는 복수의 패킷을 식별할 수 있다.
단계 S420에서, 이벤트 수집 장치(110)는 식별된 복수의 패킷 각각의 세부 정보를 비교하여 복수의 패킷이 상호간에 기 설정된 관계 조건을 충족하는지 여부를 판단할 수 있다.
단계 S430에서, 이벤트 수집 장치(110)는 기 설정된 관계 조건을 충족한 패킷들끼리 동일한 그룹으로 분류할 수 있다.
단계 S440에서, 이벤트 수집 장치(110)는 분류된 그룹 각각을 개별 세션에 해당하는 이벤트로 수집할 수 있다.
단계 S450에서, 이벤트 수집 장치(110)는 수집된 이벤트 별로 이벤트에 포함된 패킷에 대한 상태 값을 산출할 수 있다.
일 실시예에 따르면, 이벤트 수집 장치(110)는 이벤트에 포함된 패킷 중 제1 단말(120)에서 제2 단말(130)로 전송되는 요청 패킷에 대한 대푯값 및 요청 패킷의 전송 이후에 제2 단말(130)에서 제1 단말(120)로 전송되는 응답 패킷에 대한 대푯값을 산출할 수 있다.
예를 들어, 이벤트 수집 장치(110)는 요청 패킷이 전송된 횟수를 나타내는 요청 횟수, 요청 패킷에 의해 전송된 바이트 수를 나타내는 요청 바이트 수, 응답 패킷이 전송된 횟수를 나타내는 응답 횟수, 응답 패킷에 의해 전송된 바이트 수를 나타내는 응답 바이트 수 중 적어도 일부를 산출하거나, 요청 횟수, 요청 바이트 수, 응답 횟수, 응답 바이트 수 중 적어도 일부를 이용하여 평균, 합계, 사분위값 등의 대푯값을 산출할 수 있다.
추가적인 예로서, 이벤트 수집 장치(110)는 요청 패킷의 전송에 소요된 시간을 나타내는 요청 시간, 요청 패킷의 전송 속도를 나타내는 요청 속도, 응답 패킷의 전송에 소요된 시간을 나타내는 응답 시간, 응답 패킷의 전송 속도를 나타내는 응답 속도 중 적어도 일부를 산출하거나, 요청 시간, 요청 속도, 응답 시간, 응답 속도 중 적어도 일부를 이용하여 평균, 합계, 사분위값 등의 대푯값을 산출할 수도 있다.
이를 통해, 이벤트 수집 장치(110)는 이벤트의 수집과 더불어 이벤트에 해당하는 시스템 행위, 시스템 입출력 등의 세션을 구성하는 패킷에 대한 상태 값을 산출함으로써, 이벤트를 축약하여 수집함에 따라 발생할 수 있는 정보의 모호함, 불명확함, 유실 등의 우려를 불식하고, 별도의 장치에 의해 상태 값을 산출하는 데 따른 시스템 자원의 낭비도 방지할 수 있다.
도 5는 이벤트 별로 산출되는 상태 값을 보다 상세히 나타내는 예시도이다.
구체적으로, 도 5에는 제1 단말(120)과 제2 단말(130) 사이에서 전송된 6개의 패킷을 축약한 하나의 QUIC 세션 I/O 이벤트를 기준으로 하여, 해당 이벤트에 포함된 6개의 패킷에 대한 상태 값이 도시되어 있다.
일 실시예에 따르면, 이벤트 수집 장치(110)는 요청 패킷에 대한 상태 값으로 요청 패킷이 전송된 횟수를 나타내는 요청 횟수 및 요청 패킷에 의해 전송된 바이트 수를 나타내는 요청 바이트 수를 산출할 수 있다.
구체적으로, 이벤트 수집 장치(110)는 도 3에 도시된 대로 요청 패킷이 1개 전송됨에 따라 요청 횟수를 1회로 산출하고, 상기 요청 패킷에 의해 전송된 바이트 수가 N임에 따라 요청 바이트 수를 N bytes로 산출할 수 있다.
한편 일 실시예에 따르면, 이벤트 수집 장치(110)는 응답 패킷에 대한 상태 값으로 응답 패킷이 전송된 횟수를 나타내는 응답 횟수 및 응답 패킷에 의해 전송된 바이트 수를 나타내는 응답 바이트 수를 산출할 수 있다.
구체적으로, 이벤트 수집 장치(110)는 도 3에 도시된 대로 응답 패킷이 5개 전송됨에 따라 응답 횟수를 5회로 산출하고, 상기 응답 패킷에 의해 전송된 바이트 수가 M임에 따라 응답 바이트 수를 M bytes로 산출할 수 있다.
도 6은 일 실시예에 따른 이벤트 수집 장치를 설명하기 위한 블록도이다.
이벤트 수집 장치(110)는 일 실시예에 따라, 트랜시버(111), 프로세서(113) 및 메모리(115)를 포함할 수 있다. 이벤트 수집 장치(110)는 트랜시버(111)를 통하여 기타 외부 장치 등과 연결되고, 데이터를 교환할 수 있다.
프로세서(113)는 도 1 내지 도 5를 통하여 전술한 적어도 하나의 방법을 수행할 수 있다. 메모리(115)는 도 1 내지 도 5를 통하여 전술한 적어도 하나의 방법을 수행하기 위한 정보를 저장할 수 있다. 메모리(115)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(113)는 프로그램을 실행하고, 정보를 제공하기 위해 이벤트 수집 장치(110)를 제어할 수 있다. 프로세서(113)에 의하여 실행되는 프로그램의 코드는 메모리(115)에 저장될 수 있다.
프로세서(113)는 트랜시버(111) 및 메모리(115)와 연결되어, 제1 단말(120)과 제2 단말(130) 사이에 전송되는 복수의 패킷을 식별하고, 복수의 패킷 각각의 세부 정보를 비교하여 복수의 패킷이 상호간에 기 설정된 관계 조건을 충족하는지 여부를 판단하고, 기 설정된 관계 조건을 충족한 패킷들끼리 동일한 그룹으로 분류하며, 분류된 그룹 각각을 개별 세션에 해당하는 이벤트로 수집할 수 있다.
또한 일 실시예에 따른 이벤트 수집 장치(110)는 사용자에게 정보를 제공할 수 있는 인터페이스를 더 포함할 수 있다.
도 6에 도시된 이벤트 수집 장치(110)는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 6에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
전술한 실시예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 메시지 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시예들이 구현될 수 있다.
Claims (10)
- 제1 단말과 제2 단말 사이에 UDP(User Datagram Protocol)를 전송 계층 프로토콜로 하여 전송되는 복수의 패킷을 식별하는 단계;
상기 복수의 패킷 각각의 세부 정보를 비교하여 상기 복수의 패킷이 상호간에 기 설정된 관계 조건을 충족하는지 여부를 판단하는 단계;
상기 관계 조건을 충족한 패킷들끼리 동일한 그룹으로 분류하는 단계; 및
상기 분류된 그룹 각각을 QUIC(Quick UDP Internet Connections)를 전송 계층 프로토콜로 이용한 개별적인 통신 세션에 해당하는 이벤트로 수집하는 단계를 포함하고,
상기 판단하는 단계는,
상기 제1 단말에서 상기 제2 단말로 전송되는 요청 패킷의 5-튜플 값에 포함된 프로토콜 식별 정보와 상기 요청 패킷의 전송 이후에 상기 제2 단말에서 상기 제1 단말로 전송되는 하나 이상의 응답 패킷 각각의 5-튜플 값에 포함된 프로토콜 식별 정보의 동일 여부를 판단하는 단계;
상기 요청 패킷의 5-튜플 값에 포함된 프로토콜 식별 정보와 상기 응답 패킷 각각의 5-튜플 값에 포함된 프로토콜 식별 정보가 동일한 경우, 상기 요청 패킷의 5-튜플 값에 포함된 소스 아이피(source ip)와 상기 응답 패킷 각각의 5-튜플 값에 포함된 타겟 아이피(target ip)의 동일 여부 및, 상기 요청 패킷의 5-튜플 값에 포함된 소스 포트(source port)와 상기 응답 패킷 각각의 5-튜플 값에 포함된 타겟 포트(target port)의 동일 여부를 판단하는 단계;
상기 요청 패킷의 5-튜플 값에 포함된 상기 소스 아이피와 상기 응답 패킷 각각의 5-튜플 값에 포함된 상기 타겟 아이피가 동일하고, 상기 요청 패킷의 5-튜플 값에 포함된 상기 소스 포트와 상기 응답 패킷 각각의 5-튜플 값에 포함된 상기 타겟 포트가 동일한 경우, 상기 요청 패킷의 5-튜플 값에 포함된 타겟 아이피와 상기 응답 패킷 각각의 5-튜플 값에 포함된 소스 아이피의 동일 여부 및, 상기 요청 패킷의 5-튜플 값에 포함된 타겟 포트와 상기 응답 패킷 각각의 5-튜플 값에 포함된 소스 포트의 동일 여부를 판단하는 단계; 및
상기 요청 패킷의 5-튜플 값에 포함된 타겟 아이피와 상기 응답 패킷 각각의 5-튜플 값에 포함된 소스 아이피가 동일하고, 상기 요청 패킷의 5-튜플 값에 포함된 타겟 포트와 상기 응답 패킷 각각의 5-튜플 값에 포함된 소스 포트가 동일한 경우, 상기 요청 패킷과 상기 응답 패킷 각각이 관계 조건을 충족하는 것으로 판단하는 단계를 포함하는, 이벤트 수집 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 제1항에 있어서,
상기 수집된 이벤트 별로 상기 이벤트에 포함된 패킷에 대한 상태 값을 산출하는 단계를 더 포함하는, 이벤트 수집 방법. - 제7항에 있어서,
상기 산출하는 단계는,
상기 이벤트에 포함된 패킷 중 상기 제1 단말에서 상기 제2 단말로 전송되는 요청 패킷에 대한 대푯값 및 상기 요청 패킷의 전송 이후에 상기 제2 단말에서 상기 제1 단말로 전송되는 응답 패킷에 대한 대푯값을 산출하는 것을 특징으로 하는, 이벤트 수집 방법. - 하나 이상의 프로세서들;
메모리; 및
하나 이상의 프로그램들을 포함하고,
상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며,
상기 하나 이상의 프로그램들은,
제1 단말과 제2 단말 사이에 UDP(User Datagram Protocol)를 전송 계층 프로토콜로 하여 전송되는 복수의 패킷을 식별하기 위한 명령;
상기 복수의 패킷 각각의 세부 정보를 비교하여 상기 복수의 패킷이 상호간에 기 설정된 관계 조건을 충족하는지 여부를 판단하기 위한 명령;
상기 관계 조건을 충족한 패킷들끼리 동일한 그룹으로 분류하기 위한 명령; 및
상기 분류된 그룹 각각을 QUIC(Quick UDP Internet Connections)를 전송 계층 프로토콜로 이용한 개별적인 통신 세션에 해당하는 이벤트로 수집하기 위한 명령을 포함하고,
상기 판단하기 위한 명령은,
상기 제1 단말에서 상기 제2 단말로 전송되는 요청 패킷의 5-튜플 값에 포함된 프로토콜 식별 정보와 상기 요청 패킷의 전송 이후에 상기 제2 단말에서 상기 제1 단말로 전송되는 하나 이상의 응답 패킷 각각의 5-튜플 값에 포함된 프로토콜 식별 정보의 동일 여부를 판단하기 위한 명령;
상기 요청 패킷의 5-튜플 값에 포함된 프로토콜 식별 정보와 상기 응답 패킷 각각의 5-튜플 값에 포함된 프로토콜 식별 정보가 동일한 경우, 상기 요청 패킷의 5-튜플 값에 포함된 소스 아이피(source ip)와 상기 응답 패킷 각각의 5-튜플 값에 포함된 타겟 아이피(target ip)의 동일 여부 및, 상기 요청 패킷의 5-튜플 값에 포함된 소스 포트(source port)와 상기 응답 패킷 각각의 5-튜플 값에 포함된 타겟 포트(target port)의 동일 여부를 판단하기 위한 명령;
상기 요청 패킷의 5-튜플 값에 포함된 상기 소스 아이피와 상기 응답 패킷 각각의 5-튜플 값에 포함된 상기 타겟 아이피가 동일하고, 상기 요청 패킷의 5-튜플 값에 포함된 상기 소스 포트와 상기 응답 패킷 각각의 5-튜플 값에 포함된 상기 타겟 포트가 동일한 경우, 상기 요청 패킷의 5-튜플 값에 포함된 타겟 아이피와 상기 응답 패킷 각각의 5-튜플 값에 포함된 소스 아이피의 동일 여부 및, 상기 요청 패킷의 5-튜플 값에 포함된 타겟 포트와 상기 응답 패킷 각각의 5-튜플 값에 포함된 소스 포트의 동일 여부를 판단하기 위한 명령; 및
상기 요청 패킷의 5-튜플 값에 포함된 타겟 아이피와 상기 응답 패킷 각각의 5-튜플 값에 포함된 소스 아이피가 동일하고, 상기 요청 패킷의 5-튜플 값에 포함된 타겟 포트와 상기 응답 패킷 각각의 5-튜플 값에 포함된 소스 포트가 동일한 경우, 상기 요청 패킷과 상기 응답 패킷 각각이 관계 조건을 충족하는 것으로 판단하기 위한 명령을 포함하는, 장치. - 비일시적 컴퓨터 판독 가능한 저장매체(non-transitory computer readable storage medium)로서,
컴퓨터 판독 가능 명령어들을 저장하도록 구성되는 매체를 포함하고,
상기 컴퓨터 판독 가능 명령어들은 프로세서에 의해 실행되는 경우 상기 프로세서가:
제1 단말과 제2 단말 사이에 UDP(User Datagram Protocol)를 전송 계층 프로토콜로 하여 전송되는 복수의 패킷을 식별하는 단계;
상기 복수의 패킷 각각의 세부 정보를 비교하여 상기 복수의 패킷이 상호간에 기 설정된 관계 조건을 충족하는지 여부를 판단하는 단계;
상기 관계 조건을 충족한 패킷들끼리 동일한 그룹으로 분류하는 단계; 및
상기 분류된 그룹 각각을 QUIC(Quick UDP Internet Connections)를 전송 계층 프로토콜로 이용한 개별적인 통신 세션에 해당하는 이벤트로 수집하는 단계를 포함하되,
상기 판단하는 단계는,
상기 제1 단말에서 상기 제2 단말로 전송되는 요청 패킷의 5-튜플 값에 포함된 프로토콜 식별 정보와 상기 요청 패킷의 전송 이후에 상기 제2 단말에서 상기 제1 단말로 전송되는 하나 이상의 응답 패킷 각각의 5-튜플 값에 포함된 프로토콜 식별 정보의 동일 여부를 판단하는 단계;
상기 요청 패킷의 5-튜플 값에 포함된 프로토콜 식별 정보와 상기 응답 패킷 각각의 5-튜플 값에 포함된 프로토콜 식별 정보가 동일한 경우, 상기 요청 패킷의 5-튜플 값에 포함된 소스 아이피(source ip)와 상기 응답 패킷 각각의 5-튜플 값에 포함된 타겟 아이피(target ip)의 동일 여부 및, 상기 요청 패킷의 5-튜플 값에 포함된 소스 포트(source port)와 상기 응답 패킷 각각의 5-튜플 값에 포함된 타겟 포트(target port)의 동일 여부를 판단하는 단계;
상기 요청 패킷의 5-튜플 값에 포함된 상기 소스 아이피와 상기 응답 패킷 각각의 5-튜플 값에 포함된 상기 타겟 아이피가 동일하고, 상기 요청 패킷의 5-튜플 값에 포함된 상기 소스 포트와 상기 응답 패킷 각각의 5-튜플 값에 포함된 상기 타겟 포트가 동일한 경우, 상기 요청 패킷의 5-튜플 값에 포함된 타겟 아이피와 상기 응답 패킷 각각의 5-튜플 값에 포함된 소스 아이피의 동일 여부 및, 상기 요청 패킷의 5-튜플 값에 포함된 타겟 포트와 상기 응답 패킷 각각의 5-튜플 값에 포함된 소스 포트의 동일 여부를 판단하는 단계; 및
상기 요청 패킷의 5-튜플 값에 포함된 타겟 아이피와 상기 응답 패킷 각각의 5-튜플 값에 포함된 소스 아이피가 동일하고, 상기 요청 패킷의 5-튜플 값에 포함된 타겟 포트와 상기 응답 패킷 각각의 5-튜플 값에 포함된 소스 포트가 동일한 경우, 상기 요청 패킷과 상기 응답 패킷 각각이 관계 조건을 충족하는 것으로 판단하는 단계를 포함하는 이벤트 수집 방법을 수행하도록 하는, 비일시적 컴퓨터 판독 가능한 저장 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210157055A KR102542430B1 (ko) | 2021-11-15 | 2021-11-15 | 이벤트 수집 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210157055A KR102542430B1 (ko) | 2021-11-15 | 2021-11-15 | 이벤트 수집 장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230070951A KR20230070951A (ko) | 2023-05-23 |
KR102542430B1 true KR102542430B1 (ko) | 2023-06-13 |
Family
ID=86544388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210157055A KR102542430B1 (ko) | 2021-11-15 | 2021-11-15 | 이벤트 수집 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102542430B1 (ko) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101295708B1 (ko) * | 2009-12-18 | 2013-08-16 | 고려대학교 산학협력단 | 트래픽 수집장치, 트래픽 분석장치, 시스템 및 그 분석방법 |
KR102272335B1 (ko) * | 2015-02-09 | 2021-07-02 | 주식회사 케이티 | Udp기반의 멀티캐스트로 컨텐츠를 제공하는 방법, 서버 그리고 사용자 단말 |
KR102055363B1 (ko) * | 2017-12-06 | 2019-12-12 | 에스케이텔레콤 주식회사 | 트래픽 분류를 이용하여 이상 탐지를 수행하기 위한 시스템 |
-
2021
- 2021-11-15 KR KR1020210157055A patent/KR102542430B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20230070951A (ko) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230327964A1 (en) | Distributed packet deduplication | |
CN102571756B (zh) | 文件系统会话中的多信道连接 | |
US9629012B2 (en) | Dynamic mobile application quality-of-service monitor | |
US11431496B2 (en) | Secret search device and secret search method | |
TWI591989B (zh) | 為熱流最佳化之資料流區段 | |
US10785163B2 (en) | Maintaining a queuing policy with multipath traffic | |
EP4195594A1 (en) | Congestion control method and apparatus, network node device and computer-readable storage medium | |
US11088952B2 (en) | Network traffic control based on application path | |
EP3457744B1 (en) | Service traffic control method and device | |
JP2016522627A (ja) | パケット処理方法および装置 | |
US9577939B2 (en) | Method and apparatus for distributing EtherChannel load based on variance | |
US10341224B2 (en) | Layer-3 flow control information routing system | |
US10462209B2 (en) | Increasing an efficiency of a file transfer by using multiple communication resources | |
US11088954B2 (en) | Link detection method and related apparatus | |
US20170302542A1 (en) | Automatically optimizing network traffic | |
CN107819697B (zh) | 数据传输方法、交换机及数据中心 | |
KR102542430B1 (ko) | 이벤트 수집 장치 및 그 방법 | |
WO2024067687A1 (zh) | 信息传输方法、第一通信节点、第二通信节点及存储介质 | |
EP2348686A1 (en) | Information processing device, method and computer program for decide an address | |
CN113170517B (zh) | 用于活动馈送通信的短消息服务链接 | |
US11792095B1 (en) | Computer network architecture mapping using metadata | |
US20130346580A1 (en) | Apparatus and method for generating qos profile for supporting data distribution service in cyber-physical system | |
US11558812B2 (en) | System and methods for multi-links SD-WAN using cellular device connections | |
US20120102086A1 (en) | Processing node selection system, information processing node, processing execution method and program | |
KR102548926B1 (ko) | 가상 네트워크 기능 조율 방법 및 그 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |