KR20220067834A - Intelligent server health check device based on machine learning of network packets - Google Patents

Intelligent server health check device based on machine learning of network packets Download PDF

Info

Publication number
KR20220067834A
KR20220067834A KR1020200154524A KR20200154524A KR20220067834A KR 20220067834 A KR20220067834 A KR 20220067834A KR 1020200154524 A KR1020200154524 A KR 1020200154524A KR 20200154524 A KR20200154524 A KR 20200154524A KR 20220067834 A KR20220067834 A KR 20220067834A
Authority
KR
South Korea
Prior art keywords
packet
flow
network
learning
present
Prior art date
Application number
KR1020200154524A
Other languages
Korean (ko)
Other versions
KR102654126B1 (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 KR1020200154524A priority Critical patent/KR102654126B1/en
Publication of KR20220067834A publication Critical patent/KR20220067834A/en
Application granted granted Critical
Publication of KR102654126B1 publication Critical patent/KR102654126B1/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]

Abstract

The present invention relates to a network packet machine learning-based intelligent server health check device. According to the present invention, the network packet machine learning-based intelligent server health check device comprises: a packet classification unit which classifies network packets flowing in or out between external Internet and an internal server into a packet flow for each service; a packet learning unit which learns normal traffic using the inflow and outflow of traffic as input characteristics and stores the trained model; and an intelligent server health inspection unit which temporarily stores the network packets classified as the packet flows for each service according to a time window, inputs flow information for the temporarily stored time window as an input characteristic to an abnormal flow detection model for which the learning has been completed, and determines whether the traffic is normal in real time. The present invention can increase the accuracy of the abnormal flow detection model.

Description

네트워크 패킷 기계학습 기반 지능형 서버 헬스체크 장치{Intelligent server health check device based on machine learning of network packets}Intelligent server health check device based on machine learning of network packets}

본 발명은 인터넷 서버류의 헬스 상태를 파악하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for determining the health status of Internet servers.

IoT 및 인터넷의 발달로 서비스 종류와 규모는 날로 복잡해지고 있으며, 하나의 통합 서비스는 대규모의 마이크로 서비스가 병합되고, 개별 마이크로 서비스는 물리적인 서버 클러스터로 관리된다. With the development of IoT and the Internet, the types and scale of services are getting more complex. One integrated service is merged with a large-scale microservice, and each microservice is managed as a physical server cluster.

따라서, 원활한 서비스를 위해, 통합 서비스를 구성하는 개별 마이크로 서비스 및 서버 클러스터의 장애는 수시로 점검되어야 할 것이다. Therefore, for smooth service, the failure of individual microservices and server clusters constituting the integrated service will have to be checked frequently.

종래의 장애 점검 즉, 서버 헬스 체크 방법에는 ICMP(Internet Control Message Protocol)를 이용하여 서버 장치 자체의 꺼짐과 네트워크 장애를 검사하는 방법, 서비스 세션의 끊김을 검사하는 방법 그리고 특정 서비스 포트에 직접 요청 메시지를 송신하고 응답 메시지를 수신하는 하트비트 방법 등이 있다. The conventional failure check, that is, server health check method, uses ICMP (Internet Control Message Protocol) to check the off and network failure of the server device itself, a method to check for service session disconnection, and a direct request message to a specific service port. There is a heartbeat method for sending a message and receiving a response message.

첫 번째 방법은 서버장치의 활성상태를 검사하기 때문에 특정 서비스의 활성상태는 검사하지 못하는 단점이 있다. Since the first method checks the active state of the server device, there is a disadvantage in that the active state of a specific service cannot be checked.

두 번째 방법은 헬스 체크 장치가 서버류 들과의 세션을 유지 및 관리하고 있어야 하므로 서비스의 수가 증가될수록 세션 유지보수를 위한 추가적이 비용이 발생할 수 있다. In the second method, since the health check device must maintain and manage sessions with servers, additional costs for session maintenance may occur as the number of services increases.

세 번째 방법은 서버의 상태를 검사하기 위한 네트워크 오버헤드가 발생할 수 있으며, 이 또한 서비스의 수가 증가될수록 메시지 송/수신을 위한 비용이 발생할 수 있는 문제점이 있다.In the third method, network overhead for checking the server status may occur, and there is also a problem that as the number of services increases, costs for message transmission/reception may occur.

본 발명은 종래 문제점을 해결하기 위한 것으로, 마이크로 서비스 및 서버 클러스터 기반의 통합서비스에서 하트비트 패킷과 같은 부가적인 네트워크 오버헤드의 발생 없이 개별 마이크로 서비스 및 개별 서버의 헬스를 검사하는 네트워크 패킷의 기계학습 기반 지능형 서버 헬스 체크 장치를 제공하고자 한다. The present invention is to solve the conventional problems, and machine learning of network packets that check the health of individual microservices and individual servers without generating additional network overhead such as heartbeat packets in microservices and server cluster-based integrated services We want to provide a base intelligent server health check device.

본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The object of the present invention is not limited to the object mentioned above, and other objects not mentioned will be clearly understood by those skilled in the art from the following description.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 네트워크 패킷의 기계학습 기반 지능형 서버 헬스 체크 장치는 외부 인터넷과 내부 서버간 유입되거나 유출되는 네트워크 패킷을 서비스별 패킷 플로우로 분류하여 저장하고, 트래픽의 유입 및 유출량을 입력 특성으로 하여 정상 트래픽 여부를 학습한 후 학습이 끝난 모델을 저장하는 패킷 학습부; 및 In order to achieve the above object, a machine learning-based intelligent server health check device for network packets according to an embodiment of the present invention classifies and stores network packets flowing in or out between the external Internet and an internal server into packet flows for each service, and traffic a packet learning unit that learns whether traffic is normal by using the inflow and outflow amounts as input characteristics, and stores the learned model; and

서비스별 패킷 플로우로 분류된 네트워크 패킷을 시간 윈도우에 따라 임시 저장하고, 상기 임시 저장된 시간 윈도우만큼의 플로우 정보를 상기 학습이 완료된 비정상 플로우 검출 모델에 입력 특징으로 입력하여, 트래픽의 정상 여부를 실시간으로 판단하는 지능형 서버헬스 검사부를 포함한다. Network packets classified into packet flows for each service are temporarily stored according to a time window, and flow information corresponding to the temporarily stored time window is input as an input feature to the abnormal flow detection model for which the learning is completed, and whether traffic is normal in real time It includes an intelligent server health inspection unit to determine.

본 발명의 일 실시예에 따르면, 마이크로서비스 및 서버 클러스터 기반의 통합서비스에서, 1차적으로, 추가적인 네트워크 오버헤드를 발생시키지 않고, 개별 마이크로서비스 및 개별 서버의 헬스 상태를 예측할 수 있는 효과가 있다. According to an embodiment of the present invention, in an integrated service based on microservices and server clusters, there is an effect of predicting the health status of individual microservices and individual servers without incurring additional network overhead primarily.

그리고, 본 발명의 일 실시예에 따르면, 2차적으로, 본 발명에서 제시하는 네트워크 패킷 기반 지능형 서버 헬스체크 방법이 기존의 주기적, 명시적 및 능동적인 서버 헬스체크 방법과 결합되어 사용될 경우 더욱 효율적으로 서버의 헬스를 체크할 수 있다. And, according to an embodiment of the present invention, secondarily, when the network packet-based intelligent server health check method presented in the present invention is used in combination with the existing periodic, explicit and active server health check method, more efficiently You can check the health of the server.

즉, 본 발명에 의해 비정상 서버가 발견된 시점부터 해당하는 서버에 대해서만 기존의 방법으로 상태를 체크한다면 다음과 같은 이득을 취할 수 있다. 먼저, 처음부터 기존의 방법을 사용하였을 경우보다 하트비트에 사용되는 네트워크 오버헤드를 줄일 수 있고, 두번째로 비정상 서버 발견의 정확도를 높일 수 있으며, 마지막으로 기존 방법의 결과를 상기 패킷학습부의 입력 특징에 추가하여 비정상 플로우 검출 모델의 정확도를 높일 수 있는 효과가 있다.That is, if an abnormal server is discovered according to the present invention and the status is checked only for the corresponding server by the existing method, the following benefits can be obtained. First, it is possible to reduce the network overhead used for heartbeat compared to the case where the existing method is used from the beginning, secondly, it is possible to increase the accuracy of abnormal server detection, and finally, the result of the existing method is inputted by the packet learning unit. In addition to this, there is an effect of increasing the accuracy of the abnormal flow detection model.

도 1은 본 발명의 일 실시예에 따른 네트워크 패킷의 기계학습 기반 지능형 서버 헬스 체크 장치를 적용하고자 하는 서버 클러스터 및 네트워크의 개념도.
도 2은 본 발명에 따른 네트워크 패킷의 기계학습 기반 지능형 서버 헬스 체크 장치를 설명하기 위한 구성블록도.
도 3은 도 2에 도시된 패킷 학습부의 패킷 분류기 구성을 설명하기 위한 구성블록도.
도 4는 본 발명의 일 실시예에 따른 네트워크 패킷의 기계학습 기반 지능형 서버 헬스 체크 장치에서 플로우 분류 모듈이 네트워크 패킷을 플로우 단위로 분류하는 방법을 설명하기 위한 순서도.
도 5는 도 2의 플로우 정보 저장소에 저장되는 정보를 설명하기 위한 참고도.
도 6은 도 2의 플로우 학습기가 심층신경망 및 순환신경망을 기반으로 수행하는 기계학습 개념도를 설명하기 위한 참고도.
도 7은 도 2의 플로우 정보 임시 저장소에 저장된 플로우 정보를 설명하기 위한 참고도.
도 8은 도 2에 도시된 지능형 서버헬스 검사부의 비정상 플로우 검출기의 동작을 설명하기 위한 참고도이다.
1 is a conceptual diagram of a server cluster and network to which an intelligent server health check device based on machine learning of network packets is to be applied according to an embodiment of the present invention.
2 is a block diagram illustrating a machine learning-based intelligent server health check device of a network packet according to the present invention.
FIG. 3 is a block diagram illustrating the configuration of a packet classifier of the packet learning unit shown in FIG. 2 ;
4 is a flowchart illustrating a method for a flow classification module to classify network packets into flow units in a machine learning-based intelligent server health check device of network packets according to an embodiment of the present invention;
5 is a reference diagram for explaining information stored in the flow information storage of FIG.
6 is a reference diagram for explaining a conceptual diagram of machine learning performed by the flow learner of FIG. 2 based on a deep neural network and a cyclic neural network.
7 is a reference diagram for explaining the flow information stored in the flow information temporary storage of FIG.
FIG. 8 is a reference diagram for explaining the operation of the abnormal flow detector of the intelligent server health inspection unit shown in FIG. 2 .

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in a variety of different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the technical field to which the present invention belongs It is provided to fully inform the possessor of the scope of the invention, and the present invention is only defined by the scope of the claims. On the other hand, the terms used herein are for the purpose of describing the embodiments and are not intended to limit the present invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, "comprises" and/or "comprising" refers to the presence of one or more other components, steps, operations and/or elements mentioned. or addition is not excluded.

도 1은 본 발명의 일 실시예에 따른 네트워크 패킷의 기계학습 기반 지능형 서버 헬스 체크 장치를 적용하고자 하는 서버 클러스터 및 네트워크의 개념도이다. 1 is a conceptual diagram of a server cluster and network to which an intelligent server health check device based on machine learning of a network packet is to be applied according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크 패킷의 기계학습 기반 지능형 서버 헬스 체크 장치(100)는 서비스의 유형에 따라 프론트엔드 서버(3-1), 미들 서버(3-2), 백엔드 서버(3-3) 등으로 분류된 서버에 적용될 수 있다. 1, the machine learning-based intelligent server health check apparatus 100 of network packets according to an embodiment of the present invention is a front-end server 3-1, a middle server 3- 2), it can be applied to servers classified into backend servers 3-3, and the like.

통합 서비스의 규모에 따라 각 서버는 단일 서버 또는 클러스터 또는 마이크로서비스 리플리카 셋으로 구성될 수 있고, 클러스터(또는 리플리카셋)의 규모 확장 정책에 따라 인터넷(1)으로부터 유입되거나 인터넷(1)으로 유출되는 트래픽은 부하 분산될 수도 있다. Depending on the scale of the integrated service, each server may be composed of a single server or a cluster or a set of microservice replicas. Depending on the scale expansion policy of the cluster (or replicaset), it may flow in from or out to the Internet (1). The resulting traffic may be load balanced.

본 발명의 일실시예에 따른 네트워크 패킷의 기계학습 기반 지능형 서버 헬스 체크 장치는 서버 클러스터(또는 리플리카셋)를 구성하는 서비스(도 1의 FS, MS, 또는 BS)로 유입 및 또는 서비스에서 유출되는 네트워크 패킷의 기계학습을 통하여 서버(서비스 또는 마이크로서비스)의 헬스상태를 체크할 수 있다. The machine learning-based intelligent server health check device of network packets according to an embodiment of the present invention flows into and out of a service (FS, MS, or BS in FIG. 1) constituting a server cluster (or replica set) The health status of a server (service or microservice) can be checked through machine learning of network packets.

이를 통하여 기존의 주기적, 명시적 및 능동적인 서버 헬스체크 방법에서 발생할 수 있는 불필요한 오버로드 예를 들어, 서버(서비스 또는 마이크로서비스)에 주기적으로 보내는 불필요한 검사 패킷을 줄일 수 있다.Through this, unnecessary overload that may occur in the existing periodic, explicit, and active server health check methods, for example, unnecessary check packets periodically sent to a server (service or microservice) can be reduced.

도 2은 본 발명에 따른 네트워크 패킷의 기계학습 기반 지능형 서버 헬스 체크 장치를 설명하기 위한 구성블록도이다. 2 is a block diagram illustrating a machine learning-based intelligent server health check device of a network packet according to the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크 패킷의 기계학습 기반 지능형 서버 헬스 체크 장치는 패킷 분류부(110), 패킷 학습부(120)와 지능형 서버헬스 검사부(130)를 포함한다. As shown in FIG. 2 , the machine learning-based intelligent server health check device for network packets according to an embodiment of the present invention includes a packet classification unit 110 , a packet learning unit 120 , and an intelligent server health check unit 130 . include

패킷 분류부(110)는 패킷 분류기(111), 비정상 플로우 검출 모델 저장소(122)를 포함한다. The packet classifier 110 includes a packet classifier 111 and an abnormal flow detection model storage 122 .

패킷 분류기(111)는 외부의 인터넷(1)으로부터 네트워크 장비(2)를 통해 내부 서버(서비스 또는 마이크로서비스)로 유입되거나 내부에서 외부로 유출되는 네트워크 패킷을 서비스별 패킷 플로우로 분류하고, 분류된 네트워크 패킷을 플로우 정보 저장수(122)와 플로우 정보 임시 저장소(131)에 저장한다. The packet classifier 111 classifies network packets flowing into an internal server (service or microservice) from the external Internet 1 through the network equipment 2 or flowing out from the inside into packet flows for each service, and classified The network packet is stored in the flow information storage number 122 and the flow information temporary storage 131 .

패킷 학습부(120)는 플로우 정보 저장소(121) 및 플로우 학습기(122)를 포함한다. The packet learning unit 120 includes a flow information storage 121 and a flow learner 122 .

플로우 정보 저장소(121)는 상기 분류된 패킷 플로우의 정보를 저장한다. The flow information storage 121 stores information on the classified packet flow.

플로우 학습기(122)는 트래픽의 유입 및 유출량을 입력 특성으로 하여 정상 트래픽 여부를 학습하여 비정상 플로우 검출모델 저장소(122)에 저장한다. The flow learner 122 uses the inflow and outflow of traffic as input characteristics to learn whether the traffic is normal or not, and stores it in the abnormal flow detection model storage 122 .

비정상 플로우 검출 모델 저장소(122)는 학습이 끝난 모델이 저장된다. The abnormal flow detection model storage 122 stores the trained model.

도 3은 도 2의 패킷 학습부(120)의 패킷 분류기(111)의 구성을 설명하기 위한 구성블록도이다. 3 is a block diagram illustrating the configuration of the packet classifier 111 of the packet learning unit 120 of FIG. 2 .

패킷 분류기(111)는 먼저 패킷 캡쳐 모듈(1211)을 활용하여 외부 인터넷으로부터 로컬 네트워크 장비로부터 유입되거나 로컬 네트워크 장비로부터 외부 인터넷으로 유출되는 트래픽을 캡쳐하고, 캡쳐된 각 패킷은 프로토콜 종류 및 패킷 사이즈 등의 정보를 구분하기 위해 플로우 분류 모듈(1212)로 입력된다. The packet classifier 111 first uses the packet capture module 1211 to capture traffic flowing in from the external Internet from the local network device or outgoing from the local network device to the external Internet, and each captured packet includes a protocol type and packet size, etc. It is input to the flow classification module 1212 to classify the information of .

도 4는 본 발명의 일 실시예에 따른 네트워크 패킷의 기계학습 기반 지능형 서버 헬스 체크 장치에서 플로우 분류 모듈(1212)이 네트워크 패킷을 플로우 단위로 분류하는 방법을 설명하기 위한 순서도이다. 4 is a flowchart illustrating a method for the flow classification module 1212 to classify network packets into flow units in the machine learning-based intelligent server health check device of network packets according to an embodiment of the present invention.

먼저 네트워크 패킷이 유입 또는 유출되면(S410), 패킷 캡쳐 도구인 패킷 캡쳐 모듈(1211)에 의해, 입력된 네트워크 패킷으로부터 네트워크 패킷의 기본정보 즉, 시간, 출발지 IP 주소, 목적지 IP 주소, 출발지 PORT, 목적지 PORT를 획득한다(S420). First, when a network packet is introduced or leaked (S410), by the packet capture module 1211, which is a packet capture tool, basic information of a network packet from the input network packet, that is, time, source IP address, destination IP address, source PORT, A destination PORT is acquired (S420).

이후, 상기 획득된 네트워크 패킷의 기본정보에 해당하는 플로우 테이블이 플로우 정보 저장소(121)에 존재하는지를 판단한다(S430). Thereafter, it is determined whether a flow table corresponding to the acquired basic information of the network packet exists in the flow information storage 121 (S430).

상기 판단 단계(S430)에서 획득된 네트워크 패킷의 기본정보에 해당하는 플로우 테이블이 이미 플로우 정보 저장소(121)에 존재한다면(YES), 해당 패킷의 시간, 방향, 패킷 크기를 해당 플로우 테이블에 저장한다(S440). If the flow table corresponding to the basic information of the network packet obtained in the determination step S430 already exists in the flow information storage 121 (YES), the time, direction, and packet size of the corresponding packet are stored in the flow table. (S440).

그에 반해, 상기 판단 단계(S430)에서 획득된 네트워크 패킷의 기본정보에 해당하는 플로우 테이블이 존재하지 않는다면(NO), 먼저 새로운 플로우 테이블을 생성한 후 패킷의 시간, 방향, 패킷 크기를 플로우 테이블에 저장한다(S450).On the other hand, if the flow table corresponding to the basic information of the network packet obtained in the determination step S430 does not exist (NO), a new flow table is first created, and then the time, direction, and packet size of the packet are stored in the flow table. Save (S450).

도 5는 도 2의 플로우 정보 저장소에 저장되는 정보를 설명하기 위한 참고도이다.FIG. 5 is a reference diagram for explaining information stored in the flow information storage of FIG. 2 .

플로우 분류 모듈(1212)에 의해 분류된 플로우 정보는 “서버주소:포트:전송계층_프로토콜” 형태로 이루어진 명칭을 갖는 테이블 중 하나에 저장된다. The flow information classified by the flow classification module 1212 is stored in one of tables having a name in the form of “server address: port: transport layer_protocol”.

플로우 테이블의 생성 시점은 새로운 서버주소, 포트, 전송계층 프로토콜 셋의 패킷이 캡쳐되어 플로우 분류 알고리즘에 의해 최초 분류될 때이다. The creation time of the flow table is when a packet of a new server address, port, and transport layer protocol set is captured and first classified by the flow classification algorithm.

플로우 테이블이 생성된 후에는 동일한 서버주소, 포트, 전송계층 프로토콜을 갖는 플로우의 시간, 방향, 크기가 동일한 테이블에 저장된다. After the flow table is created, the time, direction, and size of flows with the same server address, port, and transport layer protocol are stored in the same table.

본 발명의 일 실시예에서의 플로우 정보 저장소(121)에는 도 5에 도시된 바와 같이, 세개의 플로우 테이블이 생성되어 유지되고 있다. As shown in FIG. 5 , three flow tables are created and maintained in the flow information storage 121 according to an embodiment of the present invention.

테이블명이 10.0.0.1:5684:UDP인 첫번째 테이블에는 IP 주소가 10.0.0.1이고 5683 포트를 사용하며 UDP 전송 프로토콜을 사용하는 서버(서비스 또는 마이크로서비스)로 유입 또는 서버(서비스 또는 마이크로서비스)로부터 유출되는 플로우의 시간, 방향, 사이즈를 저장한다. The first table with the table name 10.0.0.1:5684:UDP has an IP address of 10.0.0.1, uses port 5683, and uses the UDP transport protocol to flow into or out of a server (service or microservice). It stores the time, direction, and size of the flow.

그리고, 테이블명이 10.0.0.2:8080:TCP인 두번째 테이블에는 IP 주소가 10.0.0.2이고 8080 포트를 사용하며 TCP 전송 프로토콜을 사용하는 서버(서비스 또는 마이크로서비스)로 유입 또는 서버(서비스 또는 마이크로서비스)로부터 유출되는 플로우의 시간, 방향, 사이즈를 저장하고 있다. And, in the second table whose table name is 10.0.0.2:8080:TCP, the IP address is 10.0.0.2, port 8080 is used, and the server (service or microservice) that uses the TCP transport protocol flows into or the server (service or microservice) It stores the time, direction, and size of the flow outflow.

마지막으로 테이블명이 10.0.0.2:1883:TCP인 테이블에는 IP 주소가 10.0.0.3이고 1883 포트를 사용하며 TCP 전송 프로토콜을 사용하는 서버(서비스 또는 마이크로서비스)로 유입 또는 서버(서비스 또는 마이크로서비스)로부터 유출되는 플로우의 시간, 방향, 사이즈를 저장하고 있다. Finally, a table with the table name 10.0.0.2:1883:TCP has an IP address of 10.0.0.3, uses port 1883, and uses the TCP transport protocol to either ingress to or from a server (service or microservice). It stores the time, direction, and size of the outgoing flow.

도 6은 도 2의 플로우 학습기(122)가 심층신경망 및 순환신경망을 기반으로 수행하는 기계학습 개념도를 설명하기 위한 참고도이다. 6 is a reference diagram for explaining a conceptual diagram of machine learning performed by the flow learner 122 of FIG. 2 based on a deep neural network and a cyclic neural network.

플로우 학습기(122)는 플로우 정보 저장소(121)에 저장된 플로우 정보를 이용하여 학습한다. The flow learner 122 learns by using the flow information stored in the flow information storage 121 .

플로우 학습기(122)는 먼저 플로우 정보 저장소(121)의 플로우 테이블에 저장된 플로우의 정보를 활용하여 임의의 시간 윈도우 단위로 유입량 및 유출량 쌍을 추출한다. The flow learner 122 first extracts a pair of inflow and outflow in an arbitrary time window unit by utilizing flow information stored in the flow table of the flow information storage 121 .

추출된 유입/유출량 쌍은 심층신경망 또는 순환신경망의 입력 특징으로 사용되며 이때, 트래픽 흐름이 발견되지 않은 시간의 유입/유출량은 제거될 수도 있다. 본 발명의 실시예에서는 유입/유출량 쌍 배열인 [[1350, 0], [0, 42], [1350, 0], [0, 42]]이 심층신경망 또는 순환신경망 모델의 입력 특징으로 사용된 경우이다. The extracted inflow/outflow pair is used as an input feature of a deep neural network or a recurrent neural network. In the embodiment of the present invention, the inflow/outflow pair array [[1350, 0], [0, 42], [1350, 0], [0, 42]] is used as an input feature of a deep neural network or a recurrent neural network model. is the case

심층신경망 모델과 순환신경망 모델을 별도로 학습시킬 수도 있으며 학습의 정확도를 높이기 위해 두가지 이상의 모델이 동시에 학습될 수도 있다. The deep neural network model and the recurrent neural network model can be trained separately, and two or more models can be trained simultaneously to increase the learning accuracy.

학습 과정은 본 발명에서 언급한 상기 통합서비스가 정상 구동되고 있을 때 수행되는 것이 바람직하다. The learning process is preferably performed when the integrated service mentioned in the present invention is running normally.

따라서, 상기 통합서비스의 정상 구동 시 실제 네트워크 트래픽을 이용하여 일정시간 동안 정상 플로우를 충분히 학습한 후 학습이 완료된 각 모델은 비정상 플로우 검출 모델로 별도로 저장되어 향후 비정상 플로우 검출기(132)에서 사용된다. Therefore, when the integrated service is normally operated, after sufficiently learning the normal flow for a certain period of time using actual network traffic, each model that has been trained is stored separately as an abnormal flow detection model to be used in the abnormal flow detector 132 in the future.

본 발명의 일 실시예에서의 학습 모델은 심층신경망 및 순환신경망이 이용되었으나, 이에 한정되지 않고, 선형회귀, LSTM, 랜덤포레스트 등의 다양한 기계학습 알고리즘의 적용이 가능하다. The learning model in an embodiment of the present invention uses a deep neural network and a recurrent neural network, but is not limited thereto, and various machine learning algorithms such as linear regression, LSTM, and random forest can be applied.

비정상 플로우 검출 모델은 상기 플로우 테이블 별로 학습되거나 모든 플로우 테이블이 한꺼번에 학습될 수도 있다. 전자는 플로우 테이블의 개수만큼 예측 모델이 생성되고 후자는 하나의 예측 모델이 생성된다.The abnormal flow detection model may be learned for each flow table or all flow tables may be learned at once. In the former, a prediction model is generated as many as the number of flow tables, and in the latter, one prediction model is generated.

도 7은 도 2의 플로우 정보 임시 저장소(131)에 저장된 플로우 정보를 설명하기 위한 참고도. FIG. 7 is a reference diagram for explaining flow information stored in the flow information temporary storage 131 of FIG. 2 .

플로우 정보 임시 저장소(131)의 각 테이블의 이름은 상기 패킷 학습부(120)에서 사용하는 플로우 정보 저장소(121)와 동일한다. Each table in the flow information temporary storage 131 has the same name as the flow information storage 121 used by the packet learning unit 120 .

플로우 정보 임시 저장소(131)는 캐시와 같은 임시 저장소이기 때문에 임의로 정한 시간 윈도우 크기만큼의 실시간 패킷 플로우 정보만 유지된다. Since the flow information temporary storage 131 is a temporary storage such as a cache, only real-time packet flow information of an arbitrarily determined time window size is maintained.

유지되는 정보는 비정상 플로우 검출기(132)를 통해 상기 지능형 서버헬스 검사부(130)에 의해 학습 완료된 비정상 플로우 검출 모델의 입력 특징으로 사용되고 입력 특징에 따라 플로우의 정상 유무가 예측된다. The maintained information is used as an input feature of the abnormal flow detection model that has been learned by the intelligent server health inspection unit 130 through the abnormal flow detector 132 , and the normality of the flow is predicted according to the input feature.

지능형 서버헬스 검사부(130)는 상기 패킷 학습부(120)의 패킷 분류기(111)와 비정상 플로우 검출 모델 저장소(122)를 공유하고, 플로우 정보 임시 저장소(131)와 비정상 플로우 검출기(132)를 포함한다. The intelligent server health inspection unit 130 shares the packet classifier 111 of the packet learning unit 120 and the abnormal flow detection model storage 122, and includes a flow information temporary storage 131 and an abnormal flow detector 132. do.

플로우 정보 임시 저장소(131)에는 패킷 분류기(111)에 의해 트래픽 정보가 저장된다. 여기서 트래픽 정보는 비정상 플로우 검출기(132)의 입력 특성으로 사용된다. Traffic information is stored in the flow information temporary storage 131 by the packet classifier 111 . Here, the traffic information is used as an input characteristic of the abnormal flow detector 132 .

비정상 플로우 검출기(132)는 패킷 학습부(120)의 플로우 학습기(122)에서 학습이 완료된 비정상 플로우 검출 모델을 이용하여 트래픽의 정상 여부를 실시간으로 판단한다. 만약, 비정상 플로우가 검출되면 목적지 주소 또는 출발지 주소에 해당하는 개별 서버(서비스 또는 마이크로서비스)에 오류가 발생하였다고 판단한다. The abnormal flow detector 132 determines in real time whether traffic is normal by using the abnormal flow detection model that has been trained in the flow learner 122 of the packet learning unit 120 . If an abnormal flow is detected, it is determined that an error has occurred in the individual server (service or microservice) corresponding to the destination address or source address.

도 8은 도 2에 도시된 지능형 서버헬스 검사부(130)의 비정상 플로우 검출기(132)의 동작을 설명하기 위한 참고도이다. 8 is a reference diagram for explaining the operation of the abnormal flow detector 132 of the intelligent server health inspection unit 130 shown in FIG.

도 8에 도시된 바와 같이, 플로우 정보 임시 저장소(131)에는 시간 윈도우만큼 플로우 정보가 저장된다. 이렇게 시간 윈도우 만큼 저장된 플로우 정보는 상기 패킷 학습부(120)에 의해 학습이 완료된 비정상 플로우 검출 모델에 입력 특징으로 입력된다. As shown in FIG. 8 , flow information is stored for as long as a time window in the flow information temporary storage 131 . The flow information stored for this time window is input as an input feature to the abnormal flow detection model that has been trained by the packet learning unit 120 .

입력 특징은 상기 패킷 학습부(120)의 입력 특징과 같이 시간 윈도우 내 각 시간의 트래픽 유입/유출량 배열로써 본 발명의 일 실시예에서는 [[1350, 0], [0, 42], [1350, 0], [0, 42]]이다. The input characteristic is an arrangement of traffic inflow/outflow at each time within the time window like the input characteristic of the packet learning unit 120. In an embodiment of the present invention, [[1350, 0], [0, 42], [1350, 0], [0, 42]].

비정상 플로우 검출 모델은 입력 특징을 입력 받아 플로우의 정상 여부를 예측하게 된다. 비정상 플로우를 예상해 보자면, 서버(서비스 또는 마이크로서비스)에 오류가 발행하여 응답 메시지 없이 계속해서 요청 메시지만 발생할 경우, 플로우 정보 임시 저장소(131)의 플로우 테이블에는 한 방향 트래픽이 비정상적으로 발생할 것이며, 패킷의 크기가 비정상적으로 크거나 작은 경우도 나타날 것이다. 비정상 플로우 검출기(132)는 상기 오류상황을 야기한 서버(서비스 또는 마이크로서비스)를 비정상 상태로 판단하게 된다.The abnormal flow detection model receives input characteristics and predicts whether the flow is normal. To predict an abnormal flow, if an error occurs in the server (service or microservice) and only a request message continues without a response message, one-way traffic will abnormally occur in the flow table of the flow information temporary storage 131, and There will also be cases where the size of is abnormally large or small. The abnormal flow detector 132 determines that the server (service or microservice) causing the error condition is abnormal.

본 발명의 일 실시예에 따르면, 마이크로서비스 및 서버 클러스터 기반의 통합서비스에서, 1차적으로, 추가적인 네트워크 오버헤드를 발생시키지 않고, 개별 마이크로서비스 및 개별 서버의 헬스 상태를 예측할 수 있는 효과가 있다. According to an embodiment of the present invention, in an integrated service based on microservices and server clusters, there is an effect of predicting the health status of individual microservices and individual servers without incurring additional network overhead primarily.

그리고, 본 발명의 일 실시예에 따르면, 2차적으로, 본 발명에서 제시하는 네트워크 패킷 기반 지능형 서버 헬스체크 방법이 기존의 주기적, 명시적 및 능동적인 서버 헬스체크 방법과 결합되어 사용될 경우 더욱 효율적으로 서버의 헬스를 체크할 수 있다. And, according to an embodiment of the present invention, secondarily, when the network packet-based intelligent server health check method presented in the present invention is used in combination with the existing periodic, explicit and active server health check method, more efficiently You can check the health of the server.

즉, 본 발명에 의해 비정상 서버가 발견된 시점부터 해당하는 서버에 대해서만 기존의 방법으로 상태를 체크한다면 다음과 같은 이득을 취할 수 있다. 먼저, 처음부터 기존의 방법을 사용하였을 경우보다 하트비트에 사용되는 네트워크 오버헤드를 줄일 수 있고, 두번째로 비정상 서버 발견의 정확도를 높일 수 있으며, 마지막으로 기존 방법의 결과를 상기 패킷학습부의 입력 특징에 추가하여 비정상 플로우 검출 모델의 정확도를 높일 수 있는 효과가 있다.That is, if an abnormal server is discovered according to the present invention and the status is checked only for the corresponding server by the existing method, the following benefits can be obtained. First, it is possible to reduce the network overhead used for heartbeat compared to the case where the existing method is used from the beginning, secondly, it is possible to increase the accuracy of abnormal server detection, and finally, the result of the existing method is inputted by the packet learning unit. In addition to this, there is an effect of increasing the accuracy of the abnormal flow detection model.

이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술분야에 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니되며 이하의 특허청구범위의 기재에 의하여 정해져야 할 것이다.As mentioned above, although the configuration of the present invention has been described in detail with reference to the accompanying drawings, this is merely an example, and those skilled in the art to which the present invention pertains can make various modifications and changes within the scope of the technical spirit of the present invention. Of course, this is possible. Therefore, the protection scope of the present invention should not be limited to the above-described embodiments and should be defined by the description of the following claims.

Claims (1)

외부 인터넷과 내부 서버간 유입되거나 유출되는 네트워크 패킷을 서비스별 패킷 플로우로 분류하여 저장하고, 트래픽의 유입 및 유출량을 입력 특성으로 하여 정상 트래픽 여부를 학습한 후 학습이 끝난 모델을 저장하는 패킷 학습부; 및
서비스별 패킷 플로우로 분류된 네트워크 패킷을 시간 윈도우에 따라 임시 저장하고, 상기 임시 저장된 시간 윈도우만큼의 플로우 정보를 상기 학습이 완료된 비정상 플로우 검출 모델에 입력 특징으로 입력하여, 트래픽의 정상 여부를 실시간으로 판단하는 지능형 서버헬스 검사부를 포함하는 네트워크 패킷의 기계학습 기반 지능형 서버 헬스 체크 장치.
Packet learning unit that classifies and stores network packets flowing in or out between the external Internet and the internal server into packet flows for each service, learning normal traffic using the inflow and outflow amounts as input characteristics, and then storing the learned model ; and
Network packets classified as packet flows for each service are temporarily stored according to a time window, and flow information corresponding to the temporarily stored time window is input as an input feature to the abnormal flow detection model for which the learning is completed, and whether the traffic is normal in real time An intelligent server health check device based on machine learning of network packets that includes an intelligent server health inspection unit to determine.
KR1020200154524A 2020-11-18 2020-11-18 Intelligent server health check device based on machine learning of network packets KR102654126B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200154524A KR102654126B1 (en) 2020-11-18 2020-11-18 Intelligent server health check device based on machine learning of network packets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200154524A KR102654126B1 (en) 2020-11-18 2020-11-18 Intelligent server health check device based on machine learning of network packets

Publications (2)

Publication Number Publication Date
KR20220067834A true KR20220067834A (en) 2022-05-25
KR102654126B1 KR102654126B1 (en) 2024-04-04

Family

ID=81797099

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200154524A KR102654126B1 (en) 2020-11-18 2020-11-18 Intelligent server health check device based on machine learning of network packets

Country Status (1)

Country Link
KR (1) KR102654126B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060059493A (en) * 2004-11-29 2006-06-02 학교법인 포항공과대학교 Apparatus for traffic identification on internet protocol network environment
KR20090054196A (en) * 2007-11-26 2009-05-29 한국전자통신연구원 Device and method for detecting anomalous traffic
KR101623071B1 (en) * 2015-01-28 2016-05-31 한국인터넷진흥원 System for detecting attack suspected anomal event
KR20180120558A (en) * 2017-04-27 2018-11-06 주식회사 케이티 System and method for predicting communication apparatuses failure based on deep learning
US20200150643A1 (en) * 2018-05-07 2020-05-14 Strong Force Iot Portfolio 2016, Llc Methods and systems for data collection, learning, and streaming of machine signals for analytics and maintenance using the industrial internet of things
KR102170743B1 (en) * 2019-12-26 2020-10-27 국방과학연구소 Apparatus and method for modeling steady-state network using unsupervised learning

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060059493A (en) * 2004-11-29 2006-06-02 학교법인 포항공과대학교 Apparatus for traffic identification on internet protocol network environment
KR20090054196A (en) * 2007-11-26 2009-05-29 한국전자통신연구원 Device and method for detecting anomalous traffic
KR101623071B1 (en) * 2015-01-28 2016-05-31 한국인터넷진흥원 System for detecting attack suspected anomal event
KR20180120558A (en) * 2017-04-27 2018-11-06 주식회사 케이티 System and method for predicting communication apparatuses failure based on deep learning
US20200150643A1 (en) * 2018-05-07 2020-05-14 Strong Force Iot Portfolio 2016, Llc Methods and systems for data collection, learning, and streaming of machine signals for analytics and maintenance using the industrial internet of things
KR102170743B1 (en) * 2019-12-26 2020-10-27 국방과학연구소 Apparatus and method for modeling steady-state network using unsupervised learning

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Dongfang Ma 외 2명, 'Daily Traffic Flow Forecasting Through a Contextual Convolutional Recurrent Neural Network Modeling Inter- and Intra-Day Traffic Patterns,' IEEE, (2020.02.24.)* *

Also Published As

Publication number Publication date
KR102654126B1 (en) 2024-04-04

Similar Documents

Publication Publication Date Title
Su et al. Redundant rule detection for software-defined networking
US8798051B2 (en) Information and communication processing system, method, and network node
TWI497286B (en) Method and system for analyzing root causes of relating performance issues among virtual machines to physical machines
US11669751B2 (en) Prediction of network events via rule set representations of machine learning models
US8924787B2 (en) Network debugging
CN113489711B (en) DDoS attack detection method, system, electronic device and storage medium
US20210211458A1 (en) Threat detection system for mobile communication system, and global device and local device thereof
US10862805B1 (en) Intelligent offloading of services for a network device
El-Shamy et al. Anomaly detection and bottleneck identification of the distributed application in cloud data center using software–defined networking
US20230131255A1 (en) Selective fidelity rates for network traffic replication by a digital twin device
Li et al. Layered fault management scheme for end-to-end transmission in internet of things
KR20180130295A (en) Apparatus for predicting failure of communication network and method thereof
WO2018035765A1 (en) Method and apparatus for detecting network abnormity
Zhang et al. Service failure diagnosis in service function chain
CN116723136B (en) Network data detection method applying FCM clustering algorithm
CN116708246A (en) Method, device, equipment and storage medium for detecting transmission link
US11108645B2 (en) Device interface matching using an artificial neural network
KR20220067834A (en) Intelligent server health check device based on machine learning of network packets
Wang et al. Machine Learning-Enabled Software-Defined Networks for QoE Management
Zhang et al. When nfv meets ann: Rethinking elastic scaling for ann-based nfs
CN115150289A (en) Exception handling method and system based on composite monitoring
CN111106974B (en) Method and device for testing lossless network performance
Shmelkin et al. On adapting SNMP as communication protocol in distributed control loops for self-adaptive systems
Jeon et al. Hierarchical Network Data Analytics Framework for 6G Network Automation: Design and Implementation
Kiani et al. Distributed rule anomaly detection in SDN-based IoT

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)