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 PDFInfo
- 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
Links
- 230000036541 health Effects 0.000 title claims abstract description 33
- 238000010801 machine learning Methods 0.000 title claims abstract description 19
- 230000002159 abnormal effect Effects 0.000 claims abstract description 31
- 238000001514 detection method Methods 0.000 claims abstract description 18
- 238000007689 inspection Methods 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 16
- 238000013528 artificial neural network Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 4
- 230000003862 health status Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- 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/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
Abstract
Description
본 발명은 인터넷 서버류의 헬스 상태를 파악하는 방법 및 장치에 관한 것이다.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
통합 서비스의 규모에 따라 각 서버는 단일 서버 또는 클러스터 또는 마이크로서비스 리플리카 셋으로 구성될 수 있고, 클러스터(또는 리플리카셋)의 규모 확장 정책에 따라 인터넷(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
패킷 분류부(110)는 패킷 분류기(111), 비정상 플로우 검출 모델 저장소(122)를 포함한다. The
패킷 분류기(111)는 외부의 인터넷(1)으로부터 네트워크 장비(2)를 통해 내부 서버(서비스 또는 마이크로서비스)로 유입되거나 내부에서 외부로 유출되는 네트워크 패킷을 서비스별 패킷 플로우로 분류하고, 분류된 네트워크 패킷을 플로우 정보 저장수(122)와 플로우 정보 임시 저장소(131)에 저장한다. The
패킷 학습부(120)는 플로우 정보 저장소(121) 및 플로우 학습기(122)를 포함한다. The
플로우 정보 저장소(121)는 상기 분류된 패킷 플로우의 정보를 저장한다. The
플로우 학습기(122)는 트래픽의 유입 및 유출량을 입력 특성으로 하여 정상 트래픽 여부를 학습하여 비정상 플로우 검출모델 저장소(122)에 저장한다. The
비정상 플로우 검출 모델 저장소(122)는 학습이 끝난 모델이 저장된다. The abnormal flow
도 3은 도 2의 패킷 학습부(120)의 패킷 분류기(111)의 구성을 설명하기 위한 구성블록도이다. 3 is a block diagram illustrating the configuration of the
패킷 분류기(111)는 먼저 패킷 캡쳐 모듈(1211)을 활용하여 외부 인터넷으로부터 로컬 네트워크 장비로부터 유입되거나 로컬 네트워크 장비로부터 외부 인터넷으로 유출되는 트래픽을 캡쳐하고, 캡쳐된 각 패킷은 프로토콜 종류 및 패킷 사이즈 등의 정보를 구분하기 위해 플로우 분류 모듈(1212)로 입력된다. The
도 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
테이블명이 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
플로우 학습기(122)는 플로우 정보 저장소(121)에 저장된 플로우 정보를 이용하여 학습한다. The
플로우 학습기(122)는 먼저 플로우 정보 저장소(121)의 플로우 테이블에 저장된 플로우의 정보를 활용하여 임의의 시간 윈도우 단위로 유입량 및 유출량 쌍을 추출한다. The
추출된 유입/유출량 쌍은 심층신경망 또는 순환신경망의 입력 특징으로 사용되며 이때, 트래픽 흐름이 발견되지 않은 시간의 유입/유출량은 제거될 수도 있다. 본 발명의 실시예에서는 유입/유출량 쌍 배열인 [[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
본 발명의 일 실시예에서의 학습 모델은 심층신경망 및 순환신경망이 이용되었으나, 이에 한정되지 않고, 선형회귀, 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
플로우 정보 임시 저장소(131)의 각 테이블의 이름은 상기 패킷 학습부(120)에서 사용하는 플로우 정보 저장소(121)와 동일한다. Each table in the flow information
플로우 정보 임시 저장소(131)는 캐시와 같은 임시 저장소이기 때문에 임의로 정한 시간 윈도우 크기만큼의 실시간 패킷 플로우 정보만 유지된다. Since the flow information
유지되는 정보는 비정상 플로우 검출기(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
지능형 서버헬스 검사부(130)는 상기 패킷 학습부(120)의 패킷 분류기(111)와 비정상 플로우 검출 모델 저장소(122)를 공유하고, 플로우 정보 임시 저장소(131)와 비정상 플로우 검출기(132)를 포함한다. The intelligent server
플로우 정보 임시 저장소(131)에는 패킷 분류기(111)에 의해 트래픽 정보가 저장된다. 여기서 트래픽 정보는 비정상 플로우 검출기(132)의 입력 특성으로 사용된다. Traffic information is stored in the flow information
비정상 플로우 검출기(132)는 패킷 학습부(120)의 플로우 학습기(122)에서 학습이 완료된 비정상 플로우 검출 모델을 이용하여 트래픽의 정상 여부를 실시간으로 판단한다. 만약, 비정상 플로우가 검출되면 목적지 주소 또는 출발지 주소에 해당하는 개별 서버(서비스 또는 마이크로서비스)에 오류가 발생하였다고 판단한다. The
도 8은 도 2에 도시된 지능형 서버헬스 검사부(130)의 비정상 플로우 검출기(132)의 동작을 설명하기 위한 참고도이다. 8 is a reference diagram for explaining the operation of the
도 8에 도시된 바와 같이, 플로우 정보 임시 저장소(131)에는 시간 윈도우만큼 플로우 정보가 저장된다. 이렇게 시간 윈도우 만큼 저장된 플로우 정보는 상기 패킷 학습부(120)에 의해 학습이 완료된 비정상 플로우 검출 모델에 입력 특징으로 입력된다. As shown in FIG. 8 , flow information is stored for as long as a time window in the flow information
입력 특징은 상기 패킷 학습부(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
비정상 플로우 검출 모델은 입력 특징을 입력 받아 플로우의 정상 여부를 예측하게 된다. 비정상 플로우를 예상해 보자면, 서버(서비스 또는 마이크로서비스)에 오류가 발행하여 응답 메시지 없이 계속해서 요청 메시지만 발생할 경우, 플로우 정보 임시 저장소(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
본 발명의 일 실시예에 따르면, 마이크로서비스 및 서버 클러스터 기반의 통합서비스에서, 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.
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)
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 |
-
2020
- 2020-11-18 KR KR1020200154524A patent/KR102654126B1/en active IP Right Grant
Patent Citations (6)
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)
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) |