KR20220125965A - Apparatus for Realtime Monitoring Performance Degradation of Network System - Google Patents

Apparatus for Realtime Monitoring Performance Degradation of Network System Download PDF

Info

Publication number
KR20220125965A
KR20220125965A KR1020210029940A KR20210029940A KR20220125965A KR 20220125965 A KR20220125965 A KR 20220125965A KR 1020210029940 A KR1020210029940 A KR 1020210029940A KR 20210029940 A KR20210029940 A KR 20210029940A KR 20220125965 A KR20220125965 A KR 20220125965A
Authority
KR
South Korea
Prior art keywords
server
client
session
information
application
Prior art date
Application number
KR1020210029940A
Other languages
Korean (ko)
Other versions
KR102563247B1 (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 KR1020210029940A priority Critical patent/KR102563247B1/en
Publication of KR20220125965A publication Critical patent/KR20220125965A/en
Application granted granted Critical
Publication of KR102563247B1 publication Critical patent/KR102563247B1/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/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/024Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0695Management of faults, events, alarms or notifications the faulty arrangement being the maintenance, administration or management system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/208Port mirroring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Abstract

The present invention relates to a network performance degradation monitoring device for detecting network failures and external attacks in real time by mirroring and receiving packets transmitted and received from a server-side in a network system in which a plurality of client devices and a plurality of server devices are connected. The network performance degradation monitoring device comprises: a packet analysis module extracting information about a session, information about a server connected to the session, information about a client connected to the session, and the type of the mirrored packet from the mirrored packet; a structure management module managing a session structure, a server structure, and a client structure based on the information analyzed by the packet analysis module; a risk management module calculating and managing a performance degradation risk as a ratio of standby flows to all flows performed in the network system from information stored in the session structure, the server structure, and the client structure; a plurality of session structures formed for each session of all sessions performed in the network system; a plurality of server structures formed for each server of all servers forming all the sessions; and a plurality of client structures formed for each client of all clients forming all the sessions. According to the present invention, network quality, failure, and security are diagnosed quickly by classifying, storing, and searching network packet information transmitted and received to and from the network system at high speed.

Description

네트워크 시스템 성능 저하 실시간 모니터링 장치{Apparatus for Realtime Monitoring Performance Degradation of Network System}Realtime Monitoring Performance Degradation of Network System

이 발명은 네트워크 시스템의 성능 저하를 모니터링하는 장치에 관한 것으로서, 보다 상세하게는 네트워크 TCP 프로토콜의 패킷을 빠르게 분석하여 네트워크 장애와 외부 공격을 실시간으로 검출하기 위한 장치에 관한 것이다.The present invention relates to a device for monitoring the performance degradation of a network system, and more particularly, to a device for rapidly analyzing a packet of a network TCP protocol to detect a network failure and an external attack in real time.

TCP(Transmission Control Protocol)는 IP 프로토콜 위에서 연결형 서비스를 지원하는 전송계층 프로토콜로, 인터넷 환경에서 기본으로 사용한다. TCP 프로토콜 종류로는 FTP, SSH, Telent, SMPT, DNS, DHCP, HTTP, HTTPS, POP3, SNMP, SSL 등이 있다. Transmission Control Protocol (TCP) is a transport layer protocol that supports connection-type services on top of the IP protocol, and is basically used in the Internet environment. TCP protocol types include FTP, SSH, Telent, SMPT, DNS, DHCP, HTTP, HTTPS, POP3, SNMP, and SSL.

TCP 프로토콜은 신뢰할 수 없는 공용망인 인터넷에서 데이터의 유실없는 통신을 보장하기 위해서, 데이터 패킷이 정상적으로 송수신할 준비가 되었는지를 확인하는 절차를 진행하는데, 이를 3-way handshaking이라고 하며, 다음과 같이 이루어진다.In order to guarantee data loss-free communication on the Internet, which is an unreliable public network, the TCP protocol proceeds with a procedure to check whether data packets are normally ready for transmission and reception. This is called 3-way handshaking, and is done as follows.

먼저, 클라이언트 시스템은 TCP 연결을 맺기 위해 통신하고자 하는 서버 시스템에게 통신을 하고 싶다는 메시지를 보낸다(SYN 플래그가 세팅된 패킷 전송).First, the client system sends a message that it wants to communicate to the server system with which it wants to communicate to establish a TCP connection (transmitting a packet with the SYN flag set).

서버 시스템은 SYN 신호를 받으면 SYN-RECEIVED 상태로 변경되고, 그에 대한에 대한 응답 및 나도 통신 준비가 되었다는 메시지로서, SYN-ACK 플래그를 세팅한 메시지를 클라이언트 시스템에게 전송하여 응답한다.When the server system receives the SYN signal, it changes to the SYN-RECEIVED state, and responds by sending a message that sets the SYN-ACK flag to the client system as a response and a message that I am ready to communicate.

클라이언트 시스템은 이 SYN-ACK 신호를 받으면 ESTABLISHED 상태로 변경하고 서버 시스템에 ACK 신호를 전송하여 응답한다. 클라이언트의 ACK 신호를 받은 서버 시스템이 ESTABLISHED 상태로 변경하면 서버 시스템과 클라이언트 시스템 간의 연결이 성공적으로 완료된다.When the client system receives this SYN-ACK signal, it changes to the ESTABLISHED state and responds by sending an ACK signal to the server system. When the server system that has received the client's ACK signal changes to the ESTABLISHED state, the connection between the server system and the client system is successfully completed.

이후, 기존 통신과 새로운 통신을 구분해야 하므로 헤더에 플래그(flag)값을 넣어서 트랜잭션(transaction)이 이루어지고, 애플리케이션 서비스마다 세션(session)이 생성된다.Thereafter, since it is necessary to distinguish between the existing communication and the new communication, a transaction is performed by putting a flag value in the header, and a session is created for each application service.

클라이언트 시스템과 서버 시스템 간 트랜잭션은, 클라이언트 시스템과 서버 시스템 사이의 세션이 생성된 상태에서, 클라이언트 시스템이 트랜잭션 요청 메시지를 전송하고, 서버 시스템이 해당 트랜잭션 요청 메시지에 응답하는 절차로 이루어진다. 각 트랜잭션은 하나의 패킷으로 이루어질 수도 있고, 복수의 패킷들로 이루어질 수도 있다. 즉, 서버 시스템과 클라이언트 시스템이 인터넷을 통해 데이터를 보내기 위한 경로배정(라우팅)을 효율적으로 하기 위해서는, 전송 프로토콜에 기반하여 한 번에 보낼 수 있는 데이터의 양이 제한된다. 따라서 하나의 트랜잭션에 데이터의 양이 많은 경우, 여러 개의 조각들로 나누어 전송하는데, 이러한 조각들을 패킷이라고 한다.A transaction between a client system and a server system consists of a procedure in which the client system transmits a transaction request message and the server system responds to the transaction request message while a session between the client system and the server system is created. Each transaction may consist of one packet or a plurality of packets. That is, in order for the server system and the client system to efficiently allocate a route (routing) for sending data through the Internet, the amount of data that can be sent at one time is limited based on the transmission protocol. Therefore, when there is a large amount of data in one transaction, it is divided into several pieces and transmitted, and these pieces are called packets.

전통적인 네트워크 시스템들은 사용자가 사용하는 클라이언트 장치와 웹 사이트와 연관된 다양한 서버 장치들을 포함한다. 일반적으로 클라이언트 장치는 웹 사이트를 이용하기 위해, 특정 IP 주소를 갖는 서버에 접속 요청을 하고, 대기 시간을 거쳐 접속한다. 이때, 다수의 사용자에 의해 다수의 클라이언트 장치가 특정 시점에 몰려서 서버에 접속을 시도하거나 트랜잭션 요청하는 경우, 병목현상에 의해 서버와 연관된 네트워크 시스템의 성능이 저하될 수 있다. 이러한 성능 저하의 원인을 신속하게 파악하고, 이에 대한 대응이 최대한 빠르게 이루어져야 한다.Traditional network systems include a client device used by a user and various server devices associated with a web site. In general, in order to use a web site, a client device makes a connection request to a server having a specific IP address and accesses it after a waiting time. In this case, when a plurality of client devices are crowded by a plurality of users at a specific point in time and attempt to access the server or request a transaction, the performance of the network system associated with the server may be deteriorated due to a bottleneck. It is necessary to quickly identify the cause of such performance degradation, and respond to it as quickly as possible.

이러한 네트워크 시스템의 성능 저하의 원인을 파악하기 위한 선행기술로서, 대한민국 공개특허 제2020-0033090호 "네트워크 보안 모니터링 방법, 네트워크 보안 모니터링 장치 및 시스템"이 있다.As a prior art for identifying the cause of the performance degradation of such a network system, there is Korean Patent Laid-Open No. 2020-0033090 "Method for Network Security Monitoring, Network Security Monitoring Device and System".

상술한 선행기술은, 제1엔티티(서버)와, 제2엔티티(클라이언트단말), 및 제1엔티티 및 제2엔티티 간에 구비되는 스위칭 장치 및 상기 스위칭 장치와 연결되는 네트워크 보안 모니터링 장치를 포함한다. 이 보안 기술은, 네트워크 보안 모니터링 장치가 스위칭 장치로부터 미러링하는 것을 기반으로, 제1엔티티와 제2엔티티 간에 송수신되는 적어도 하나의 패킷들에 대한, 미러링된 적어도 하나의 패킷들을 획득하는 단계; 및 상기 네트워크 보안 모니터링 장치가, 미러링된 적어도 하나의 패킷에 포함된 정보들 중 적어도 일부를 기반으로 제1엔티티와 제2엔티티와 연관된 네트워크에 대한 보안 문제 발생 여부를 결정하는 단계를 포함하여 이루어진다.The above-described prior art includes a first entity (server), a second entity (client terminal), a switching device provided between the first entity and the second entity, and a network security monitoring device connected to the switching device. The security technique includes the steps of, based on a network security monitoring device mirroring from a switching device, for at least one packet transmitted/received between a first entity and a second entity, acquiring at least one mirrored packet; and determining, by the network security monitoring apparatus, whether a security problem occurs with respect to a network associated with the first entity and the second entity based on at least a portion of information included in at least one mirrored packet.

이 선행기술에서, 패킷 정보를 기반으로 보안 문제 발생 여부를 결정하는 단계는, 미리 결정한 제1소스 IP 로부터 제1목적지 IP까지의 구간의 접속의 수가 미리 결정한 임계값 이상이라는 결정, 미리 결정한 제1URL에 대한 요청이 미리 결정한 임계값 이상이라는 결정, 미리 결정한 제1서버의 BPS(Bit Per Second)가 미리 결정한 임계값 이상이라는 결정, 미리 결정한 제2소스 IP로부터의 PPS(Packet per Second)가 미리 결정한 임계값 이상이라는 결정, 미리 결정한 제3소스 IP로부터의 동기신호(SYN) 패킷의 수가 미리 결정한 임계값 이상이라는 결정, 및 미리 결정한 제4소스 IP가 미리 결정한 임계값 이상의 개수의 서버 IP로 동시에 접속을 시도한다는 결정 중 적어도 하나를 기반으로 보안 문제 발생 여부를 결정한다.In this prior art, the step of determining whether a security problem occurs based on packet information includes determining that the number of connections in a section from a predetermined first source IP to a first destination IP is greater than or equal to a predetermined threshold, a predetermined first URL It is determined that the request for the . Determining that the threshold is greater than or equal to the predetermined number of synchronization signal (SYN) packets from the third source IP is greater than or equal to the predetermined threshold, and the predetermined fourth source IP is simultaneously connected to the number of server IPs greater than or equal to the predetermined threshold. Determines whether or not a security problem occurs based on at least one of the decisions to try.

이러한 선행기술은, 상술한 바와 같이 접속의 수, 요청의 수, BPS, PPS, 동기신호 패킷의 수, 서버 IP로의 동시 접속의 수 등을 각각의 임계값과 비교하여 보안 문제 발생 여부를 결정한다. In this prior art, as described above, the number of connections, the number of requests, the number of BPS, PPS, the number of synchronization signal packets, the number of simultaneous connections to the server IP, etc. are compared with the respective threshold values to determine whether or not a security problem occurs. .

선행기술의 발명의 상세한 설명 [0085] 단락 내지 [0187] 단락에, 서버와 클라이언트단말 간 송수신되는 패킷을 분석하는 패킷 분석 모듈의 기능 및 동작이 기재되어 있다. 이러한 선행기술의 패킷 분석 모듈은 패킷들을 분석하여 다양한 성능 지표들을 산출하여 보안 문제 발생 여부를 결정하기 때문에 실시간 처리가 어려운 문제점이 있다.DETAILED DESCRIPTION OF THE PRIOR ART In paragraphs [0085] to [0187], functions and operations of a packet analysis module for analyzing packets transmitted and received between a server and a client terminal are described. The packet analysis module of the prior art has a problem in that it is difficult to process in real time because it analyzes packets and calculates various performance indicators to determine whether or not a security problem occurs.

대한민국 공개특허 제2020-0033090호Republic of Korea Patent Publication No. 2020-0033090 대한민국 공개특허 제2019-0088342호Republic of Korea Patent Publication No. 2019-0088342 대한민국 공개특허 제2019-0088343호Republic of Korea Patent Publication No. 2019-0088343

이 발명의 목적은 네트워크 시스템에 송수신되는 네트워크 패킷 정보를 고속으로 분류, 저장 및 검색함으로써, 네트워크 품질, 장애 및 보안 진단을 빠르게 하고 네트워크 성능 저하를 실시간으로 모니터링하는 장치를 제공하는데 그 목적이 있다.It is an object of the present invention to provide an apparatus for rapidly classifying, storing, and searching network packet information transmitted and received to and from a network system, thereby rapidly diagnosing network quality, failure and security, and monitoring network performance degradation in real time.

상술한 목적을 달성하기 위한 이 발명에 따른 네트워크 성능 저하 실시간 모니터링 장치는, Network performance degradation real-time monitoring apparatus according to the present invention for achieving the above object,

다수의 클라이언트장치들과 다수의 서버장치들이 연결된 네트워크 시스템에서, 서버단에서 송수신되는 패킷을 미러링하여 제공받는 네트워크 성능 저하 모니터링 장치에 있어서,In a network system in which a plurality of client devices and a plurality of server devices are connected, in the network performance degradation monitoring device provided by mirroring packets transmitted and received at the server end,

상기 미러링된 패킷으로부터 세션에 관한 정보와 상기 세션에 연결된 서버에 관한 정보와 상기 세션에 연결된 클라이언트에 관한 정보와 상기 미러링된 패킷의 종류를 추출하는 패킷 분석 모듈과, 상기 패킷 분석 모듈에서 분석된 정보를 기반으로 세션 구조체와 서버 구조체와 클라이언트 구조체를 관리하는 구조체 관리 모듈과; 상기 세션 구조체와 상기 서버 구조체와 상기 클라이언트 구조체에 저장된 정보로부터 상기 네트워크 시스템에서 이루어지는 모든 플로우 대비 대기 플로우의 비율로서 성능 저하 리스크를 산출하며 관리하는 리스크 관리 모듈과, 상기 네트워크 시스템에서 이루어지는 모든 세션에 대해 각 세션별로 형성된 복수의 세션 구조체들과, 상기 모든 세션을 형성하는 모든 서버에 대해 각 서버별로 형성된 복수의 서버 구조체들과, 상기 모든 세션을 형성하는 모든 클라이언트에 대해 각 클라이언트별로 형성된 복수의 클라이언트 구조체들을 포함하고;a packet analysis module for extracting session information, information about a server connected to the session, information about a client connected to the session, and a type of the mirrored packet from the mirrored packet; information analyzed by the packet analysis module a structure management module for managing a session structure, a server structure, and a client structure based on ; A risk management module for calculating and managing a performance degradation risk as a ratio of standby flows to all flows made in the network system from the information stored in the session structure, the server structure, and the client structure, and for all sessions made in the network system A plurality of session structures formed for each session, a plurality of server structures formed for each server for all servers forming all the sessions, and a plurality of client structures formed for each client for all clients forming all sessions including;

상기 각 세션 구조체는 해당 세션에 관한 정보와, 해당 세션에 연결된 서버에 대응하는 서버 구조체에 연결하기 위한 서버 구조체 포인터와, 해당 세션에 연결된 클라이언트에 대응하는 클라이언트 구조체에 연결하기 위한 클라이언트 구조체 포인터를 포함하고;Each of the session structures includes information about the corresponding session, a server structure pointer for connecting to a server structure corresponding to a server connected to the corresponding session, and a client structure pointer for connecting to a client structure corresponding to a client connected to the corresponding session. do;

상기 각 서버 구조체는 해당 서버에 관한 정보와, 상기 서버가 연결된 모든 세션들에 대응하는 세션 구조체 포인터들을 관리하는 세션 구조체 관리 테이블과, 상기 서버와 연결된 모든 클라이언트들에 대응하는 클라이언트 IP 주소들을 관리하는 클라이언트 정보 관리 테이블을 포함하고;Each of the server structures includes information about the corresponding server, a session structure management table for managing session structure pointers corresponding to all sessions to which the server is connected, and client IP addresses corresponding to all clients connected to the server. a client information management table;

상기 각 클라이언트 구조체는 해당 클라이언트에 관한 정보와, 상기 클라이언트가 연결된 모든 세션들에 대응하는 세션 구조체 포인터들을 관리하는 세션 구조체 관리 테이블과, 상기 클라이언트와 연결된 모든 서버들에 대응하는 서버 IP 주소들을 관리하는 서버 정보 관리 테이블을 포함하는 것을 특징으로 한다.Each of the client structures includes a session structure management table that manages information about the corresponding client, session structure pointers corresponding to all sessions to which the client is connected, and server IP addresses corresponding to all servers connected to the client. It is characterized in that it includes a server information management table.

이 발명에 따르면 네트워크 시스템에 송수신되는 네트워크 패킷 정보를 세션별, 서버별, 클라이언트별, 애플리케이션별, 지역별로 분류하여 구조체로 저장 및 링크로 연결하여 관리함으로써, 네트워크 시스템의 성능 저하 여부 및 원인을 신속하게 검출할 수 있는 잇점이 있다.According to the present invention, network packet information transmitted and received to and from the network system is classified by session, server, client, application, and region, stored in a structure, and managed by linking with a link, thereby quickly determining whether or not the performance of the network system is degraded and the cause. There is a benefit that can be detected.

도 1은 이 발명이 적용되는 네트워크 환경을 도시한 도면이다.
도 2는 이 발명에 따른 네트워크 성능 저하 모니터링 장치의 구성도이다.
도 3은 네트워크 시스템에서, 서버와 클라이언트간 세션 연결 예시도이다.
도 4는 도 3의 네트워크 시스템 예시도에서 생성되는 구조체 구성 및 연결도이다.
도 5는 이 발명에 따른 세션 구조체의 구성도이다.
도 6은 이 발명에 따른 서버 구조체의 구성도이다.
도 7은 이 발명에 따른 클라이언트 구조체의 구성도이다.
도 8은 이 발명에 따른 애플리케이션 구조체의 구성도이다.
도 9는 이 발명에 따른 지역 구조체의 구성도이다.
도 10은 이 발명의 구조체 생성 및 업데이트 과정을 도시한 동작 흐름도이다.
도 11은 이 발명의 리스크 관리 과정을 도시한 동작 흐름도이다.
1 is a diagram illustrating a network environment to which the present invention is applied.
2 is a block diagram of a network performance degradation monitoring apparatus according to the present invention.
3 is an exemplary diagram of a session connection between a server and a client in a network system.
FIG. 4 is a structure configuration and connection diagram generated in the exemplary network system diagram of FIG. 3 .
5 is a block diagram of a session structure according to the present invention.
6 is a block diagram of a server structure according to the present invention.
7 is a block diagram of a client structure according to the present invention.
8 is a block diagram of an application structure according to the present invention.
9 is a block diagram of a local structure according to the present invention.
10 is an operation flowchart illustrating a process of creating and updating a structure according to the present invention.
11 is an operation flowchart illustrating a risk management process of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and will be described in detail in the detailed description. However, this is not intended to limit the present invention to a specific embodiment, it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention.

각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.In describing each figure, like reference numerals are used for like elements. Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.

예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. The term “and/or” includes a combination of a plurality of related listed items or any of a plurality of related listed items.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.Terms such as those defined in commonly used dictionaries should be interpreted as having meanings consistent with the meanings in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. shouldn't

앞서 설명한 바와 같이 서버와 클라이언트 장치간 통신은 3-way handshaking, 세션 연결, 트랜잭셕 요청 및 응답 과정으로 이루어진다. 다수의 사용자에 의해 다수의 클라이언트 장치가 특정 시점에 몰려서 서버에 접속을 시도하거나 트랜잭션 요청을 하는 경우, 특정 서버에 3-way handshaking의 SYN 신호와 트랜잭션 요청이 누적되어, 해당 SYN 신호에 대한 응답 대기 시간이나 트랜잭션 요청에 대한 응답 대기 시간이 길어진다. 다시 말해, 3-way handshaking과 트랜잭션을 포함한 전체 플로우(flow) 중 SYN 대기 플로우와 트랜잭션 대기 플로우가 증가하게 된다. 이 발명에서는 전체 플로우 중 SYN 대기 플로우와 트랜잭션 대기 플로우의 비율을 기반으로 성능 저하 리스크를 관리하는 방법을 제안한다.As described above, communication between the server and the client device consists of 3-way handshaking, session connection, and transaction request and response processes. When a large number of client devices are clustered by multiple users at a specific point in time to access the server or make a transaction request, 3-way handshaking SYN signals and transaction requests are accumulated in a specific server, waiting for a response to the corresponding SYN signal The time or waiting time for a response to a transaction request increases. In other words, SYN wait flows and transaction wait flows increase among all flows including 3-way handshaking and transactions. This invention proposes a method for managing performance degradation risk based on the ratio of SYN waiting flows and transaction waiting flows among all flows.

도 1은 본 발명이 적용되는 네트워크 환경을 도시한 도면이다.1 is a diagram illustrating a network environment to which the present invention is applied.

이 발명이 적용되는 네트워크 환경은 복수의 클라이언트장치(111,112,113), 네트워크(120),라우터(130), 패킷 미러링 기능을 구비한 스위치(140), 복수의 서버장치(151,152,153) 및 이 발명에 따른 네트워크 성능 저하 모니터링 장치(160)가 포함된다.A network environment to which the present invention is applied includes a plurality of client devices 111, 112, and 113, a network 120, a router 130, a switch 140 having a packet mirroring function, a plurality of server devices 151, 152, 153, and a network according to the present invention. A degradation monitoring device 160 is included.

클라이언트장치(111,112,113)는 네트워크(120)를 통해 특정 웹 사이트 또는 웹 애플리케이션에 접속한다. 이때, 접속은 상기 웹 사이트 및/또는 웹 애플리케이션과 연관된 서버장치(151,152,153)에서 수행된다. 클라이언트장치(111,112,113)는 웹 브라우저를 통해 특정 웹 페이지에 접속하여 원하는 페이지 또는 애플리케이션의 실행을 요청한다. 상기 요청은, html 문서와 같은 정적인 콘텐츠뿐만 아니라 동영상, 오디오와 같은 멀티미디어 콘텐츠 및/또는 기타 다른 애플리케이션의 실행을 포함할 수 있다.The client devices 111 , 112 , and 113 access a specific web site or web application through the network 120 . In this case, the connection is performed in the server devices 151, 152, and 153 associated with the web site and/or web application. The client devices 111, 112, and 113 access a specific web page through a web browser and request execution of a desired page or application. The request may include not only static content such as an html document, but also multimedia content such as video and audio and/or execution of other applications.

클라이언트장치(111,112,113)는 사용자에 의해 동작하고, 통신 기능(인터넷 접속 및 웹 브라우저 실행 기능 포함) 및 데이터 처리 기능을 포함하는 임의의 장치를 포함할 수 있다. 클라이언트장치(111,112,113)는, 이동국(MS), 이용자 장비(UE: User Equipment), 사용자 터미널(UT: User Terminal), 무선 터미널, 액세스 터미널(AT), 고정 및 이동 가입자 유닛(Subscriber Unit), 가입자 스테이션(SS: Subscriber Station), 셀룰러 전화, 무선기기(wireless device), 무선 통신 디바이스, 무선송수신유닛(WTRU: Wireless Transmit/Receive Unit), 이동 노드, 모바일, 모바일국, 개인 휴대 정보 단말(personal digital assistant), 스마트폰, 랩톱, 넷북, 개인용 컴퓨터, 무선 센서, 소비자 전자기기(CE), 사물인터넷(IoT) 디바이스 또는 다른 용어들로서 지칭될 수 있다. 클라이언트장치(111,112,113)의 다양한 변형 실시예들은 무선 통신 기능을 가지는 휴대용 컴퓨터, 무선 통신 기능을 가지는 디지털 카메라와 같은 촬영장치, 무선 통신 기능을 가지는 게이밍 장치, 무선 통신 기능을 가지는 음악저장 및 재생 가전제품, 무선 인터넷 접속 및 브라우징이 가능한 인터넷 가전제품뿐만 아니라 이러한 기능들의 조합들을 통합하고 있는 휴대형 유닛 또는 단말기들을 포함할 수 있으나, 이에 한정되는 것은 아니다.The client devices 111 , 112 , and 113 are operated by a user and may include any device including communication functions (including Internet access and web browser execution functions) and data processing functions. The client devices 111, 112, and 113 include mobile stations (MS), user equipment (UE), user terminals (UTs), wireless terminals, access terminals (AT), fixed and mobile subscriber units (Subscriber Units), subscribers. Subscriber Station (SS), cellular phone, wireless device, wireless communication device, wireless transmit/receive unit (WTRU), mobile node, mobile, mobile station, personal digital assistant), smartphone, laptop, netbook, personal computer, wireless sensor, consumer electronics (CE), Internet of Things (IoT) device or other terms. Various modified embodiments of the client devices 111, 112 and 113 include a portable computer having a wireless communication function, a photographing device such as a digital camera having a wireless communication function, a gaming device having a wireless communication function, and a music storage and playback home appliance having a wireless communication function. , Internet appliances capable of wireless Internet access and browsing, as well as portable units or terminals incorporating combinations of these functions, but are not limited thereto.

각 클라이언트장치(111,112,113)는 사용자 입력을 수신하기 위한 마우스 및 키보드와 같은 입력장치들 및 사용자가 네트워킹된 장치들과 상호 작용하기 위한 제어 사용자 인터페이스를 제공하기 위한 디스플레이를 포함하는 사용자 통신 인터페이스를 포함할 수 있다. 사용자 인터페이스는 사용자에게 정보를 제공하기 위해 그래픽 사용자 인터페이스(GUI: Graphical User Interface)를 포함할 수 있다.Each client device 111 , 112 , 113 may include a user communication interface including input devices such as a mouse and keyboard for receiving user input and a display for providing a control user interface for the user to interact with the networked devices. can The user interface may include a graphical user interface (GUI) to provide information to the user.

네트워크(120)는 유선 및/또는 무선 네트워크를 포함한다. 네트워크(120)는 인터넷을 포함할 수 있다. 네트워크(120)는 다양하게 접속된 클라이언트장치(111,112,113)와 서버장치(151,152,153) 간에 데이터를 송신하고 수신하기 위해 물리층(매체)을 제공하는 시리얼 버스를 포함할 수 있다. 여기서 시리얼 버스는 1394 시리얼 버스를 포함할 수 있다. 이는 시간-다중 송신(Time-multiplexed) 오디오/비디오(A/V) 스트림 및 표준 아이피(IP: Internet Protocol) 통신(예컨대, IETF REC 2734)을 양쪽 모두 지원할 수 있고, 다만 반드시 이에 한정되는 것은 아니다. 네트워크(120)는 비-1394 네트워크(예컨대, 이더넷 등)도 포함할 수 있다. 또한, 네트워크(120)는 홈 네트워크를 포함할 수도 있다. 뿐만 아니라 네트워크(120)는 사물인터넷(IoT) 연결을 지원하는 임의의 네트워크일 수도 있다. 클라이언트장치(111,112,113) 각각은 네트워크(120)에서 하나 이상의 서버장치들(151,152,153)과 통신할 수 있다.Network 120 includes wired and/or wireless networks. Network 120 may include the Internet. The network 120 may include a serial bus that provides a physical layer (medium) to transmit and receive data between variously connected client devices 111 , 112 , and 113 and server devices 151 , 152 , 153 . Here, the serial bus may include a 1394 serial bus. It may support both, but not necessarily limited to, time-multiplexed audio/video (A/V) streams and standard Internet Protocol (IP) communications (eg, IETF REC 2734). . Network 120 may also include non-1394 networks (eg, Ethernet, etc.). Also, the network 120 may include a home network. In addition, the network 120 may be any network supporting Internet of Things (IoT) connection. Each of the client devices 111 , 112 , and 113 may communicate with one or more server devices 151 , 152 , and 153 in the network 120 .

서버장치(151,152,153)는 사용자에게 서비스들을 제공하기 위해 네트워크 자원을 이용하여 사용자들의 요청에 응답한다. 이는 정보(데이터)의 리턴(return)을 포함한다. 또한, 기능의 성능(예컨대, 기계적인 기능) 및 상태의 리턴, 데이터 스트림 및 상태의 리턴, 데이터 스트림의 수용 및 상태의 리턴, 또는 각종 행위에 대한 상태의 저장을 포함한다. 서버장치(151,152,153)는 그 자신의 하드웨어의 제어를 구현하기 위해, 주문형, 내장형, 제어 프로그램을 포함할 수 있다.The server devices 151, 152, and 153 respond to users' requests by using network resources to provide services to users. This includes the return of information (data). It also includes the performance of a function (eg, a mechanical function) and return of state, data stream and return of state, acceptance of data stream and return of state, or storage of state for various actions. The server devices 151 , 152 , and 153 may include customized, built-in, and control programs to implement control of their own hardware.

서버장치(151,152,153)는 특정 웹 사이트 및/또는 웹 애플리케이션과 연관될 수 있고, 각 웹 사이트 및/또는 웹 애플리케이션에서 수행되는 작업과 관련된 연산 및 관리를 수행한다. 서버장치(151,152,153)는 클라이언트장치들(111,112,113) 및 다른 서버들과 상호 작용할 수 있다. 예시적인 서비스들은 MPEG 소싱/싱킹(sourcing/sinking), 및 디스플레이 서비스를 포함할 수 있다.The server devices 151 , 152 , and 153 may be associated with a specific web site and/or web application, and perform calculations and management related to tasks performed in each web site and/or web application. The server devices 151 , 152 , and 153 may interact with the client devices 111 , 112 , 113 and other servers. Exemplary services may include MPEG sourcing/sinking, and display services.

서버장치(151,152,153)는 네트워크(120)를 통해 장치의 명령 및 제어를 위한 인터페이스를 제공하는 인터페이스 데이터(예컨대, HTML, XML, 자바, 자바스크립트, GIF, JPEG, MPEG, 그래픽 파열 또는 의도한 목적에 사용되는 임의의 다른 포맷)와 같은 정보를 처리할 수 있다. 서버장치(151,152,153)는, 그 장치의 명령 및 제어를 제공하는 하나 이상의 하이퍼마크업언어(HTML: Hypertext Markup Language)와 같은 정보를 처리할 수 있다. 서버장치(151,152,153)는 브라우저 기법을 이용하여 HTML 페이지를 나타내는 인터넷 표준을 사용한다.The server devices 151 , 152 , and 153 provide interface data (eg, HTML, XML, Java, JavaScript, GIF, JPEG, MPEG, graphic burst or for the intended purpose) that provides an interface for command and control of the device via the network 120 . any other format used). Server devices 151 , 152 , 153 may process information such as one or more Hypertext Markup Language (HTML) that provides commands and control of the device. The server devices 151, 152, and 153 use the Internet standard for representing HTML pages using a browser technique.

이 발명에서 서버장치(151,152,153)는 웹 서버, 앱 서버 및 데이터베이스 서버를 포함할 수 있다. 다만, 반드시 3개의 서버장치의 조합으로만 구성되어야 하는 것은 아니다. 웹 서버만 존재하고, 앱 서버 및 데이터베이스 서버는 존재하지 않는 것도 유효하고, 또는 앱 서버 하나만 구성되는 것도 가능하고, 기타 다양한 형태 및 계층의 서버 조합도 가능하다.In the present invention, the server devices 151, 152, and 153 may include a web server, an app server, and a database server. However, it does not necessarily have to consist only of a combination of three server devices. It is valid that only the web server exists, and the app server and the database server do not exist, or it is possible to configure only one app server, and a combination of servers of various types and layers is also possible.

웹 서버는 웹 클라이언트(Web Client)에게 요청된 컨텐츠를 제공하는 서버이다. 웹 서버는 정적인 HTML이나 JPEG, GIF 같은 이미지를 HTTP 프로토콜을 통해 웹 브라우저에 제공할 수 있다. 경우에 따라, 웹 서버도 내부 애플리케이션을 동작시킬 수 있는 컨테이너를 내장할 수 있다.The web server is a server that provides requested content to a web client. The web server can serve static HTML or images such as JPEG or GIF to the web browser via HTTP protocol. In some cases, the web server may also embed a container that can run internal applications.

앱 서버는 WAS(Web Application Server) 서버라고도 불릴 수 있고, 이는 클라이언트/서버 환경에서 트랜잭션 처리 및 관리와 애플리케이션 실행 환경을 제공하는 미들웨어 소프트웨어 서버를 나타낸다. 전형적으로, 서버단은 웹 서버, 애플리케이션 서버, 데이터베이스 서버의 3계층 웹 컴퓨팅 환경으로 구축될 수 있는데, 이때, 앱 서버는 클라이언트/서버 환경의 애플리케이션 서버와 같은 역할을 한다. 앱 서버는 애플리케이션 실행 환경과 데이터베이스 접속 기능을 제공하고, 트랜잭션을 관리하며, 업무를 처리하는 비즈니스 로직을 수행하고, 다른 기종 시스템 간의 애플리케이션 연동 등을 수행한다.The app server may also be called a WAS (Web Application Server) server, which represents a middleware software server that provides an application execution environment and transaction processing and management in a client/server environment. Typically, the server end may be built as a three-tier web computing environment of a web server, an application server, and a database server, where the app server acts as an application server in a client/server environment. The app server provides an application execution environment and database access function, manages transactions, performs business logic to process tasks, and interworks applications between different types of systems.

데이터베이스 서버는 웹 서버 및/또는 앱 서버가 취급하는 각종 데이터가 저장되어 있는 저장소이다. 데이터베이스 서버는 웹 서버 및/또는 앱 서버가 처리하는 작업, 웹 사이트, 웹 애플리케이션의 성격에 따라 그와 연관된 엄청난 양의 데이터가 저장될 수 있다. 이는 개인정보, 기관정보, 각종 콘텐츠(예컨대, 멀티미디어 콘텐츠)와 연관된 데이터 등을 포함할 수 있다.The database server is a storage in which various data handled by the web server and/or the app server are stored. The database server may store a huge amount of data associated therewith depending on the nature of the web server and/or the web server and/or the job processed by the app server, the web site, or the web application. This may include personal information, institutional information, data related to various contents (eg, multimedia contents), and the like.

라우터(130) 또는 라우팅 기능을 갖는 공유기는 네트워크(120)를 통해 클라이언트장치(111,112,113)로부터 전송된 패킷의 위치 및 수신처를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 그 경로를 따라 데이터 패킷을 스위치(140)로 전행시킨다. 라우터(130)는 수신측 IP 주소를 식별하여 해당 데이터를 스위치(140)로 포워딩한다.The router 130 or the router having a routing function extracts the location and destination of packets transmitted from the client devices 111, 112, and 113 through the network 120, and designates an optimal route to the location, and data along the route The packet is forwarded to the switch 140 . The router 130 identifies the receiving IP address and forwards the corresponding data to the switch 140 .

스위치(140)는 각 서버장치(151,152,153)의 고유한 MAC 주소를 기억하고 있다가, 이 주소를 통해 어떤 패킷이 어디로 전송되어야 하는지 판단하여 라우터(130)로부터 제공받은 패킷을 해당 서버(151,152,153)로 전송한다. 스위치(140)는 OSI 2계층, OSI 3계층, OSI 4계층 및/또는 다른 계층(예컨대, OSI 7계층)의 역할을 하는 스위치를 포함한다. 예컨대, 경로를 설정하는 기능을 수행할 수 있다. 또한, 로드밸런싱이나 포트포워딩, QoS 등의 기능을 수행할 수도 있다. 스위치는 네트워크 스위치, 스위칭 허브, 포트 스위칭 허브 등으로 불릴 수 있다.The switch 140 memorizes the unique MAC addresses of the respective server devices 151, 152, and 153, determines which packets are to be transmitted and where through this address, and transfers the packets received from the router 130 to the corresponding servers 151, 152, and 153. send. The switch 140 includes a switch serving as OSI layer 2, OSI layer 3, OSI layer 4, and/or other layers (eg, OSI layer 7). For example, a function of setting a path may be performed. In addition, functions such as load balancing, port forwarding, and QoS may be performed. The switch may be referred to as a network switch, a switching hub, a port switching hub, or the like.

스위치(140)는 패킷 미러링 기능을 포함하여, 클라이언트장치(111,112,113)에서 서버장치(151,152,153)로 수신되는 모든 패킷 및 서버장치(151,152,153)에서 클라이언트장치(111,112,113)로 송신되는 모든 패킷을 복제 또는 캡처하고, 복제한 패킷을 이 발명에 따른 네트워크 성능 저하 모니터링 장치(160)로 제공한다.The switch 140 copies or captures all packets received from the client devices 111, 112, 113 to the server devices 151, 152, 153 and all packets transmitted from the server devices 151, 152, 153 to the client devices 111, 112, 113, including a packet mirroring function, and , and provides the duplicated packet to the network performance degradation monitoring apparatus 160 according to the present invention.

이 발명에서 세션이라 함은 3-way handshaking하는 과정을 포함하는 것으로 명명한다. 즉, 3-way handshaking이 종료되어야 해당 서버와 클라이언트 간에 세션이 연결된 것이나, 3-way handshaking 시도가 일시적으로 증가하면 네트워크 시스템의 성능 저하가 발생할 수 있으므로, 이 발명의 명세서에서는 클라이언트장치가 서버와 접속하기 위해 SYN 신호를 전송하며 접속 시도할 때부터 세션이라고 명명한다.In this invention, a session is named to include a process of 3-way handshaking. That is, the session is connected between the server and the client only after the 3-way handshaking is terminated, but if the 3-way handshaking attempt temporarily increases, the performance of the network system may deteriorate. In order to do this, it transmits a SYN signal and calls it a session from the time it attempts to connect.

도 2는 이 발명에 따른 네트워크 성능 저하 모니터링 장치의 구성도이다.2 is a block diagram of a network performance degradation monitoring apparatus according to the present invention.

이 발명의 네트워크 성능 저하 모니터링 장치는, 패킷 분석 모듈(200)과, 구조체 관리 모듈(210)과, 리스크 관리 모듈(220)과, 디스플레이 관리 모듈(230)을 포함한다.The network performance degradation monitoring apparatus of the present invention includes a packet analysis module 200 , a structure management module 210 , a risk management module 220 , and a display management module 230 .

패킷 분석 모듈(200)은 미러링된 패킷으로부터, 세션에 관한 정보와, 서버에 관한 정보와, 클라이언트에 관한 정보와, 애플리케이션에 관한 정보와, 지역에 관한 정보와, 해당 미러링된 패킷 종류(해당 패킷이 SYN 신호인지, SYN-ACK 신호인지, 트랜잭션 요청 신호인지, 트랜잭션 응답 신호인지)를 추출한다. 패킷 분석 모듈(200)이 미러링된 패킷으로부터 상술한 정보들을 분석하는 방법은 선행특허 대한민국 공개특허 제2020-0033090호를 참조할 수 있다.From the mirrored packet, the packet analysis module 200 provides information about a session, information about a server, information about a client, information about an application, information about a region, and a corresponding mirrored packet type (corresponding packet) from the mirrored packet. Whether it is a SYN signal, a SYN-ACK signal, a transaction request signal, or a transaction response signal) is extracted. A method for the packet analysis module 200 to analyze the above-described information from a mirrored packet may refer to Korean Patent Laid-Open No. 2020-0033090.

구조체 관리 모듈(210)은 패킷 분석 모듈(200)에서 분석된 패킷 정보를 기반으로 후술하는 각 구조체들을 관리한다.The structure management module 210 manages each structure to be described later based on the packet information analyzed by the packet analysis module 200 .

리스크 관리 모듈(220)은 네트워크 시스템에서 이루어지는 모든 플로우(flow) 대비 대기 플로우(SYN 대기, 트랜잭션 응답 대기)의 비율로서 성능 저하 리스크를 계산한다. 이 리스크 관리 모듈(220)은 서버별, 클라이언트별, 애플리케이션별, 지역별 및 전체 네트워크 시스템의 성능 저하 리스크를 계산한다.The risk management module 220 calculates a performance degradation risk as a ratio of standby flows (SYN waiting, transaction response waiting) to all flows made in the network system. The risk management module 220 calculates the performance degradation risk of each server, each client, each application, region, and the entire network system.

디스플레이 관리 모듈(230)은 리스크 관리 모듈(220)에서 산출된 서버별, 클라이언트별, 애플리케이션별, 지역 및 전체 네트워크 시스템의 성능 저하 리스크를 화면에 표시하도록 한다.The display management module 230 displays the performance degradation risk of each server, each client, each application, region, and the entire network system calculated by the risk management module 220 on the screen.

이 발명의 네트워크 성능 저하 모니터링 장치는, 각 정보들을 구조체로 관리한다.The network performance degradation monitoring apparatus of the present invention manages each piece of information as a structure.

이 발명의 네트워크 성능 저하 모니터링 장치는, 네트워크 시스템에서 이루어지는 모든 세션에 대해 각 세션별로 형성된 복수의 세션 구조체들(241,242,243)과, 상기 모든 세션을 형성하는 모든 서버에 대해 각 서버별로 형성된 복수의 서버 구조체들(251,252,253)과, 상기 모든 세션을 형성하는 모든 클라이언트에 대해 각 클라이언트별로 형성된 복수의 클라이언트 구조체들(261,262,263)과, 상기 모든 클라이언트가 사용하는 모든 애플리케이션에 대해 각 애플리케이션별로 형성된 복수의 애플리케이션 구조체들(271,272,273)과, 상기 모든 클라이언트가 속한 지역에 대해 각 지역별로 형성된 복수의 지역 구조체들(281,282,283)을 포함한다.Network performance degradation monitoring apparatus of the present invention, a plurality of session structures (241,242,243) formed for each session for all sessions made in a network system, and a plurality of server structures formed for each server for all servers forming all the sessions (251,252,253), a plurality of client structures (261,262,263) formed for each client for all clients forming all the sessions, and a plurality of application structures formed for each application for all applications used by all the clients ( 271,272,273) and a plurality of local structures 281,282,283 formed for each region with respect to the region to which all the clients belong.

상기 세션 구조체들(241,242,243)은 세션 트리 테이블(240)에 의해 관리되고, 상기 서버 구조체들(251,252,253)은 서버 트리 테이블(250)에 의해 관리되고, 상기 클라이언트 구조체들(261,262,263)은 클라이언트 트리 테이블(260)에 의해 관리되고, 상기 애플리케이션 구조체들(271,272,273)은 애플리케이션 해쉬 테이블(270)에 의해 관리되고, 상기 지역 구조체들(281,282,283)은 지역 해쉬 테이블(280)에 의해 관리된다.The session structures 241,242,243 are managed by a session tree table 240, the server structures 251,252,253 are managed by a server tree table 250, and the client structures 261,262,263 are managed by a client tree table ( 260 , the application structures 271,272 and 273 are managed by the application hash table 270 , and the local structures 281,282 and 283 are managed by the local hash table 280 .

상기 세션 트리 테이블(240)과 상기 서버 트리 테이블(250)과 상기 클라이언트 트리 테이블(260)과 상기 애플리케이션 해쉬 테이블(270)과 상기 지역 해쉬 테이블(280)은 각각이 관리하는 구조체들에 대해 레드블랙 트리(Red-Black Tree) 알고리즘을 적용하여 관리한다. 레드블랙 트리 알고리즘에 대해 설명은 를 참조한다.The session tree table 240, the server tree table 250, the client tree table 260, the application hash table 270, and the local hash table 280 are red and black for structures managed respectively. It is managed by applying the Red-Black Tree algorithm. For a description of the red-black tree algorithm, see .

상기한 지역 정보는 나라(country) 정보일 수도 있고, 도시(city) 정보일 수도 있다. 클라이언트가 속한 지역 정보는 클라이언트 IP 주소로부터 얻을 수 있다.The region information may be country information or city information. The local information to which the client belongs can be obtained from the client IP address.

도 3은 네트워크 시스템에서, 서버와 클라이언트간 세션 연결 예시도이다.3 is an exemplary diagram of a session connection between a server and a client in a network system.

서버1과 클라이언트1(애플리케이션1 사용) 사이에 세션(이를 세션1이라 함)이 연결되고, 서버1과 클라이언트3(애플리케이션1 사용) 사이에 세션(이를 세션2라 함)이 연결되고, 서버2와 클라이언트2(애플리케이션2 사용) 사이에 세션(이를 세션3이라 함)이 연결되고, 서버2와 클라이언트3(애플리케이션2 사용) 사이에 세션(이를 세션4라 함)이 연결되고, 서버2와 클라이언트5(애플리케이션2 사용) 사이에 세션(이를 세션5라 함)이 연결되고, 서버3과 클라이언트4(애플리케이션2 사용) 사이에 세션(이를 세션6이라 함)이 연결된다. 클라이언트1과 클라이언트2는 지역1에 위치하고, 클라이언트3과 클라이언트4와 클라이언트5는 지역2에 위치한다.A session (this is called session 1) is connected between server1 and client1 (using application1), a session (this is called session2) is connected between server1 and client3 (using application1), and server2 A session (this is called session 3) is connected between client2 and client2 (using application2), a session (this is called session4) is connected between server2 and client3 (using application2), and server2 and client A session (this is called session 5) is connected between 5 (using application 2), and a session (this is called session 6) is connected between server 3 and client 4 (using application 2). Client1 and Client2 are located in Region1, and Client3, Client4, and Client5 are located in Region2.

도 4는 도 3의 네트워크 시스템 예시도에서 생성되는 구조체 구성 및 연결도이고, 도 5는 이 발명에 따른 세션 구조체의 구성도이다.FIG. 4 is a structure configuration and connection diagram generated in the exemplary network system diagram of FIG. 3 , and FIG. 5 is a configuration diagram of a session structure according to the present invention.

도 3의 예시도에서 세션이 6개 이므로 세션 구조체 6개가 형성된다. 세션1 구조체에는 서버1과 클라이언트1 사이에 연결된 세션1에 관한 정보가 기록되고 관리되며, 해당 세션에 관련된 서버, 클라이언트, 애플리케이션, 지역 정보가 기록된 각 구조체가 링크된다.In the exemplary diagram of FIG. 3 , since there are 6 sessions, 6 session structures are formed. In the session 1 structure, information on session 1 connected between server 1 and client 1 is recorded and managed, and each structure in which server, client, application, and region information related to the session is recorded is linked.

세션 구조체는 도 5에 도시된 바와 같이 해당 세션에 관한 정보(51)와, 해당 세션에 연결된 서버에 대응하는 서버 구조체에 연결하기 위한 서버 구조체 포인터(52)와, 해당 세션에 연결된 클라이언트에 대응하는 클라이언트 구조체에 연결하기 위한 클라이언트 구조체 포인터(53)와, 해당 세션에 연결된 클라이언트에 의해 활성화된 애플리케이션에 대응하는 애플리케이션 구조체에 연결하기 위한 애플리케이션 구조체 포인터(54)와, 해당 세션에 연결된 클라이언트가 위치한 지역에 대응하는 지역 구조체에 연결하기 위한 지역 구조체 포인터(55)를 포함한다.As shown in FIG. 5, the session structure includes information about the session 51, a server structure pointer 52 for connecting to a server structure corresponding to a server connected to the session, and a client connected to the session. A client structure pointer 53 for connecting to a client structure, an application structure pointer 54 for connecting to an application structure corresponding to an application activated by a client connected to the session, and a location in which the client connected to the session is located. contains a local structure pointer 55 for linking to a corresponding local structure.

여기서, 세션에 관한 정보에는 해당 세션에 연결된 서버 정보와, 해당 세션에 연결된 클라이언트 정보와, 해당 세션에 연결된 클라이언트에 의해 활성화된 애플리케이션 정보와, 해당 세션에 연결된 클라이언트가 위치한 지역 정보와, 해당 세션의 상태 정보(요청, 대기, 응답)가 포함된다. 즉, 클라이언트로부터 SYN 신호 또는 트랜잭션 요청 신호가 서버로 전송되는지, 해당 요청에 대한 응답이 마무리되지 않은 대기 상태인지, 해당 요청에 대한 응답이 클라이언트로 전송된 응답 완료 상태인지 등의 정보를 포함한다. 리스크 관리 모듈(220)은 네트워크 시스템에 연결된 모든 세션에 대해, 주기적으로 해당 세션의 상태 정보를 입력받아 전체 플로우 중 대기 플로우의 비율을 계산하여 성능 저하 리스크를 산출한다.Here, the session information includes server information connected to the session, client information connected to the session, application information activated by the client connected to the session, region information where the client connected to the session is located, and information about the session. Status information (request, wait, response) is included. That is, it includes information such as whether a SYN signal or a transaction request signal is transmitted from the client to the server, whether a response to the corresponding request is in an unfinished standby state, or whether a response to the corresponding request is transmitted to the client. The risk management module 220 calculates a performance degradation risk by periodically receiving state information of a corresponding session for all sessions connected to the network system and calculating a ratio of standby flows among all flows.

세션1 구조체는 세션1에 관한 정보와, 서버1 구조체 포인터와, 클라이언트1 구조체 포인터와, 애플리케이션1 구조체 포인터와, 지역1 구조체 포인터가 링크되어 저장된다. 이와 동일하게, 세션2 구조체에는 서버1과 클라이언트3 사이에 연결된 세션2에 관한 정보가 기록되고 관리되며, 세션2에 관한 정보와, 서버1 구조체 포인터와, 클라이언트3 구조체 포인터와, 애플리케이션1 구조체 포인터와, 지역2 구조체 포인터가 링크되어 저장된다.In the session1 structure, information about session1, server1 structure pointer, client1 structure pointer, application1 structure pointer, and area1 structure pointer are linked and stored. Similarly, in the session 2 structure, information on session 2 connected between server 1 and client 3 is recorded and managed, and information about session 2, server 1 structure pointer, client 3 structure pointer, and application 1 structure pointer Wow, the local 2 structure pointer is linked and stored.

이와 동일하게, 세션3 구조체에는 서버2와 클라이언트2 사이에 연결된 세션3에 관한 정보가 기록되고 관리되고, 세션4 구조체에는 서버2와 클라이언트3 사이에 연결된 세션4에 관한 정보가 기록되고 관리되며, 세션5 구조체에는 서버2와 클라이언트 5 사이에 연결된 세션5에 관한 정보가 기록되고 관리되고, 세션6 구조체에는 서버3과 클라이언트 4 사이에 연결된 세션6에 관한 정보가 기록되고 관리된다.Similarly, information about session 3 connected between server 2 and client 2 is recorded and managed in the session 3 structure, and information about session 4 connected between server 2 and client 3 is recorded and managed in the session 4 structure, Information on session 5 connected between server 2 and client 5 is recorded and managed in the session 5 structure, and information about session 6 connected between server 3 and client 4 is recorded and managed in the session 6 structure.

각 세션 구조체에는 각 세션에 대한 정보와, 해당 세션에 대응하는 서버 구조체에 연결하기 위한 서버 구조체 포인터와, 해당 세션에 대응하는 클라이언트 구조체에 연결하기 위한 클라이언트 구조체 포인터와, 해당 클라이언트가 사용하는 애플리케이션 구조체에 연결하기 위한 애플리케이션 구조체 포인터와, 해당 클라이언트가 속한 지역 구조체에 연결하기 위한 지역 구조체 포인터가 기록된다.Each session structure contains information about each session, a server structure pointer to connect to a server structure corresponding to the session, a client structure pointer to connect to a client structure corresponding to the session, and an application structure used by the client. An application structure pointer for connecting to , and a local structure pointer for connecting to the local structure to which the client belongs are recorded.

도 6은 이 발명에 따른 서버 구조체의 구성도이다.6 is a block diagram of a server structure according to the present invention.

서버 구조체는 해당 서버에 관한 정보(61)와, 상기 서버가 연결된 모든 세션들에 대응하는 세션 구조체 포인터들을 관리하는 세션 구조체 관리 테이블(62)과, 상기 서버와 연결된 모든 클라이언트들에 대응하는 클라이언트 IP 주소들을 관리하는 클라이언트 정보 관리 테이블(63)과, 상기 서버와 연결된 모든 클라이언트들에서 활성화된 모든 애플리케이션들에 대응하는 애플리케이션 리스트를 관리하는 애플리케이션 정보 관리 테이블(64)과, 해당 서버의 과거 리스크 정보들을 저장하는 서버 리스크 테이블(65)과, 해당 서버의 현재 성능 저하 리스크를 저장하는 서버 현재 리스크(66)를 포함한다. 상기 클라이언트 IP 주소와 애플리케이션 리스트는 해쉬값으로 관리되는 것이 바람직하다.The server structure includes information about the corresponding server 61, a session structure management table 62 for managing session structure pointers corresponding to all sessions to which the server is connected, and a client IP corresponding to all clients connected to the server. A client information management table 63 for managing addresses, an application information management table 64 for managing an application list corresponding to all applications activated in all clients connected to the server, and past risk information of the server It includes a server risk table 65 to store, and a server current risk 66 to store the current performance degradation risk of the server. Preferably, the client IP address and the application list are managed as hash values.

리스크 관리 모듈(220)은 주기적(예컨대, 1초)으로 전체 플로우 대비 대기 플로우의 비율을 산출하여 순간 리스크를 계산하고, 이렇게 산출된 순간 리스크와 각 구조체에 저장된 과거 리스크 정보들을 기반으로 과거 7초간의 리스크들을 평균하여 현재 리스크를 계산한다.The risk management module 220 calculates the instantaneous risk by calculating the ratio of the standby flow to the total flow periodically (eg, 1 second), and based on the calculated instantaneous risk and the past risk information stored in each structure for the past 7 seconds The current risk is calculated by averaging the risks of

서버1 구조체는 서버1에 관한 정보가 기록되고 관리되고, 서버2 구조체에는 서버2에 관한 정보가 기록되고 관리되며, 서버3 구조체에는 서버 3에 관한 정보가 기록되고 관리된다.In the server1 structure, information on the server1 is recorded and managed, in the server2 structure information on the server2 is recorded and managed, and in the server3 structure information on the server3 is recorded and managed.

도 7은 이 발명에 따른 클라이언트 구조체의 구성도이다.7 is a block diagram of a client structure according to the present invention.

클라이언트 구조체는 해당 클라이언트에 관한 정보(71)와, 상기 클라이언트가 연결된 모든 세션들에 대응하는 세션 구조체 포인터들을 관리하는 세션 구조체 관리 테이블(72)과, 상기 클라이언트와 연결된 모든 서버들에 대응하는 서버 IP 주소들을 관리하는 서버 정보 관리 테이블(73)과, 상기 클라이언트에서 활성화된 모든 애플리케이션 리스트를 관리하는 애플리케이션 정보 관리 테이블(74)과, 해당 클라이언트의 과거 리스크 정보들을 저장하는 클라이언트 리스크 테이블(75)과, 해당 클라이언트의 현재 성능 저하 리스크를 저장하는 클라이언트 현재 리스크(76)를 포함한다. 상기 서버 IP 주소와 애플리케이션 리스트는 해쉬값으로 관리되는 것이 바람직하다.The client structure includes information about the corresponding client 71, a session structure management table 72 that manages session structure pointers corresponding to all sessions to which the client is connected, and a server IP corresponding to all servers connected to the client. A server information management table 73 for managing addresses, an application information management table 74 for managing a list of all applications activated in the client, and a client risk table 75 for storing past risk information of the client; and a client current risk 76 that stores the current degradation risk of that client. Preferably, the server IP address and the application list are managed as hash values.

여기서, 클라이언트 리스크는 전체 플로우 중 서버의 대기 플로우를 기반으로 산출되며, 각 클라이언트마다 응답 대기 상태의 플로우의 비율로서 계산된다. 리스크 관리 모듈(220)은 주기적(예컨대, 1초)으로 전체 플로우 대비 대기 플로우의 비율을 순간 리스크를 계산하고, 각 구조체에 저장된 과거 리스크 정보들을 기반으로 과거 7초간의 리스크들을 평균하여 현재 리스크를 계산한다.Here, the client risk is calculated based on the server's standby flow among all flows, and is calculated as the ratio of the response standby flow for each client. The risk management module 220 periodically (eg, 1 second) calculates the instantaneous risk of the ratio of the standby flow to the total flow, and averages the risks of the past 7 seconds based on the past risk information stored in each structure to determine the current risk Calculate.

도 8은 이 발명에 따른 애플리케이션 구조체의 구성도이다.8 is a block diagram of an application structure according to the present invention.

애플리케이션 구조체는 해당 애플리케이션에 관한 정보(81)와, 상기 애플리케이션이 활성화된 모든 클라이언트가 연결된 모든 세션들에 대응하는 세션 구조체 포인터들을 관리하는 세션 구조체 관리 테이블(82)과, 상기 애플리케이션이 활성화된 모든 클라이언트들에 대응하는 클라이언트 IP 주소들을 관리하는 클라이언트 정보 관리 테이블(83), 해당 애플리케이션의 과거 리스크 정보들을 저장하는 애플리케이션 리스크 테이블(84)과, 해당 애플리케이션의 현재 성능 저하 리스크를 저장하는 애플리케이션 현재 리스크(85)를 포함한다. 여기서, 상기 클라이언트 IP 주소는 해쉬값으로 관리되는 것이 바람직하다.The application structure includes a session structure management table 82 that manages information 81 about the application, session structure pointers corresponding to all sessions to which all clients in which the application is activated are connected, and a session structure management table 82 in which the application is activated. A client information management table 83 that manages client IP addresses corresponding to the applications, an application risk table 84 that stores past risk information of the application, and an application current risk 85 that stores the current performance degradation risk of the application ) is included. Here, the client IP address is preferably managed as a hash value.

도 9는 이 발명에 따른 지역 구조체의 구성도이다.9 is a block diagram of a local structure according to the present invention.

지역 구조체는 해당 지역에 관한 정보(91)와, 상기 지역에 위치한 모든 클라이언트가 연결된 모든 세션들에 대응하는 세션 구조체 포인터들을 관리하는 세션 구조체 관리 테이블(92)과, 상기 지역에 위치한 모든 클라이언트들에 대응하는 클라이언트 IP 주소들을 관리하는 클라이언트 정보 관리 테이블(93)과, 상기 모든 클라이언트들에 활성화된 애플리케이션들에 대응하는 애플리케이션 리스트를 관리하는 애플리케이션 정보 관리 테이블(94)과, 해당 지역의 상세 지역 분류를 위한 하부 지역 리스트를 관리하는 하부 지역 관리 테이블(95)과, 해당 지역의 과거 리스크 정보들을 저장하는 지역 리스크 테이블(96)과, 해당 지역의 현재 성능 저하 리스크를 저장하는 지역 현재 리스크(97)를 포함한다. 여기서, 상기 클라이언트 IP 주소와 애플리케이션 리스트는 해쉬값으로 관리되는 것이 바람직하다.The local structure includes information 91 on the region, a session structure management table 92 that manages session structure pointers corresponding to all sessions connected to all clients located in the region, and a session structure management table 92 for all clients located in the region. The client information management table 93 for managing the corresponding client IP addresses, the application information management table 94 for managing the application list corresponding to the applications activated to all the clients, and the detailed regional classification of the region A sub-region management table 95 for managing a sub-region list for, a regional risk table 96 for storing historical risk information of the region, and a regional current risk 97 for storing the current performance degradation risk of the region include Here, the client IP address and the application list are preferably managed as hash values.

도 10은 이 발명의 구조체 생성 및 업데이트 과정을 도시한 동작 흐름도이다.10 is an operation flowchart illustrating a process of creating and updating a structure according to the present invention.

패킷 분석 모듈은 미러링된 패킷이 입력되면(S101), 해당 패킷을 분석한다(S102). 패킷으로부터 세션 정보를 추출하고, 구조체 관리 모듈(210)은 세션 트리 테이블(240)에 해당 세션에 대응하는 세션 구조체를 쿼리한다. 세션 트리 테이블(240)은 해당 세션 구조체가 존재하지 않은 경우에는 해당 세션 구조체를 생성하여 구조체 관리 모듈에 리턴하고, 해당 세션 구조체가 존재하는 경우에는 해당 세션 구조체의 현재 상태를 업데이트한다(S103).When a mirrored packet is input (S101), the packet analysis module analyzes the corresponding packet (S102). Extracting session information from the packet, the structure management module 210 queries the session tree table 240 for a session structure corresponding to the session. The session tree table 240 generates a corresponding session structure and returns it to the structure management module when the corresponding session structure does not exist, and when the corresponding session structure exists, the current state of the corresponding session structure is updated (S103).

아울러, 해당 세션 구조체와 링크된 서버 구조체를 생성하거나 해당 서버 구조체를 업데이트한다(S104). 또한, 해당 세션 구조체와 링크된 클라이언트 구조체를 생성하거나 해당 클라이언트 구조체를 업데이트한다(S105). 또한, 해당 세션 구조체와 링크된 애플리케이션 구조체를 생성하거나 해당 애플리케이션 구조체를 업데이트한다(S106). 또한, 해당 세션 구조체와 링크된 지역 구조체를 생성하거나 해당 지역 구조체를 업데이트한다(S107).In addition, a server structure linked with the corresponding session structure is created or the corresponding server structure is updated (S104). In addition, a client structure linked with the corresponding session structure is created or the corresponding client structure is updated (S105). In addition, an application structure linked with the corresponding session structure is created or the corresponding application structure is updated (S106). Also, a local structure linked with the corresponding session structure is created or the corresponding local structure is updated (S107).

즉, 새로운 세션이 생성된 경우, 세션 구조체를 생성하고, 해당 세션 구조체에 대응하는 서버 구조체, 클라이언트 구조체, 애플리케이션 구조체, 지역 구조체를 생성하거나, 기 생성된 서버 구조체, 클라이언트 구조체, 애플리케이션 구조체, 지역 구조체에서, 세션 구조체 관리 테이블, 서버 정보 관리 테이블, 클라이언트 정보 관리 테이블, 애플리케이션 정보 관리 테이블 등을 업데이트하여 현재 생성된 세션에 관한 정보를 추가한다.That is, when a new session is created, a session structure is created and a server structure, a client structure, an application structure, and a local structure corresponding to the session structure are created, or a previously created server structure, a client structure, an application structure, and a local structure are created. In , the session structure management table, the server information management table, the client information management table, the application information management table, etc. are updated to add information about the currently created session.

도 11은 이 발명의 리스크 관리 과정을 도시한 동작 흐름도이다.11 is an operation flowchart illustrating a risk management process of the present invention.

리스크 관리 모듈은 리스크 산출 주기가 도래하면(S111), 모든 플로우의 세션별 상태 정보를 검출한다.(S112). 리스크 관리 모듈은 각 서버별로 플로우 대비 대기 플로우를 산출하고, 각 서버별 과거 리스크 정보를 읽고 평균값을 계산하여 현재 리스크를 계산하고, 각 서버의 서버 구조체의 서버 리스크 테이블 및 서버 현재 리스크를 업데이트한다(S113).When the risk calculation cycle arrives (S111), the risk management module detects state information for each session of all flows (S112). The risk management module calculates the flow versus standby flow for each server, reads historical risk information for each server and calculates the average value to calculate the current risk, and updates the server risk table and server current risk of the server structure of each server ( S113).

리스크 관리 모듈은 각 클라이언트별로 플로우 대비 대기 플로우를 산출하고, 각 클라이언트별 과거 리스크 정보를 읽고 평균값을 계산하여 현재 리스크를 계산하고, 각 클라이언트의 클라이언트 구조체의 클라이언트 리스크 테이블 및 클라이언트 현재 리스크를 업데이트한다(S114). The risk management module calculates the flow versus waiting flow for each client, reads the historical risk information for each client and calculates the average value to calculate the current risk, and updates the client risk table and client current risk of each client's client structure ( S114).

리스크 관리 모듈은 각 애플리케이션별로 플로우 대비 대기 플로우를 산출하고, 각 애플리케이션별 과거 리스크 정보를 읽고 평균값을 계산하여 현재 리스크를 계산하고, 각 애플리케이션의 애플리케이션 구조체의 애플리케이션 리스크 테이블 및 애플리케이션 현재 리스크를 업데이트한다(S115).The risk management module calculates the flow versus standby flow for each application, reads the historical risk information for each application and calculates the average value to calculate the current risk, and updates the application risk table and application current risk of each application's application structure ( S115).

리스크 관리 모듈은 각 지역별로 플로우 대비 대기 플로우를 산출하고, 각 지역별 과거 리스크 정보를 읽고 평균값을 계산하여 현재 리스크를 계산하고, 각 지역의 지역 구조체의 지역 리스크 테이블 및 지역 현재 리스크를 업데이트한다(S116).The risk management module calculates the flow versus standby flow for each region, reads the historical risk information for each region and calculates the average value to calculate the current risk, and updates the regional risk table and regional current risk of the regional structure in each region (S116) ).

200 : 패킷 분석 모듈 210 : 구조체 관리 모듈
220 : 리스크 관리 모듈 230 : 디스플레이 관리 모듈
240 : 세션 트리 테이블 241~243 : 세션 구조체
250 : 서버 트리 테이블 251~253 : 서버 구조체
260 : 클라이언트 트리 테이블 261~263 : 클라이언트 구조체
270 : 애플리케이션 해쉬 테이블 271~273 : 애플리케이션 구조체
280 : 지역 해쉬 테이블 281~283 : 지역 구조체
200: packet analysis module 210: structure management module
220: risk management module 230: display management module
240: session tree table 241 to 243: session structure
250: server tree table 251-253: server structure
260: client tree table 261 to 263: client structure
270: application hash table 271-273: application structure
280: local hash table 281 to 283: local structure

Claims (6)

다수의 클라이언트장치들과 다수의 서버장치들이 연결된 네트워크 시스템에서, 서버단에서 송수신되는 패킷을 미러링하여 제공받는 네트워크 성능 저하 모니터링 장치에 있어서,
상기 미러링된 패킷으로부터 세션에 관한 정보와 상기 세션에 연결된 서버에 관한 정보와 상기 세션에 연결된 클라이언트에 관한 정보와 상기 미러링된 패킷의 종류를 추출하는 패킷 분석 모듈과, 상기 패킷 분석 모듈에서 분석된 정보를 기반으로 세션 구조체와 서버 구조체와 클라이언트 구조체를 관리하는 구조체 관리 모듈과; 상기 세션 구조체와 상기 서버 구조체와 상기 클라이언트 구조체에 저장된 정보로부터 상기 네트워크 시스템에서 이루어지는 모든 플로우 대비 대기 플로우의 비율로서 성능 저하 리스크를 산출하며 관리하는 리스크 관리 모듈과, 상기 네트워크 시스템에서 이루어지는 모든 세션에 대해 각 세션별로 형성된 복수의 세션 구조체들과, 상기 모든 세션을 형성하는 모든 서버에 대해 각 서버별로 형성된 복수의 서버 구조체들과, 상기 모든 세션을 형성하는 모든 클라이언트에 대해 각 클라이언트별로 형성된 복수의 클라이언트 구조체들을 포함하고;
상기 각 세션 구조체는 해당 세션에 관한 정보와, 해당 세션에 연결된 서버에 대응하는 서버 구조체에 연결하기 위한 서버 구조체 포인터와, 해당 세션에 연결된 클라이언트에 대응하는 클라이언트 구조체에 연결하기 위한 클라이언트 구조체 포인터를 포함하고;
상기 각 서버 구조체는 해당 서버에 관한 정보와, 상기 서버가 연결된 모든 세션들에 대응하는 세션 구조체 포인터들을 관리하는 세션 구조체 관리 테이블과, 상기 서버와 연결된 모든 클라이언트들에 대응하는 클라이언트 IP 주소들을 관리하는 클라이언트 정보 관리 테이블을 포함하고;
상기 각 클라이언트 구조체는 해당 클라이언트에 관한 정보와, 상기 클라이언트가 연결된 모든 세션들에 대응하는 세션 구조체 포인터들을 관리하는 세션 구조체 관리 테이블과, 상기 클라이언트와 연결된 모든 서버들에 대응하는 서버 IP 주소들을 관리하는 서버 정보 관리 테이블을 포함하는 것을 특징으로 하는 네트워크 시스템 성능 저하 실시간 모니터링 장치.
In a network system in which a plurality of client devices and a plurality of server devices are connected, in the network performance degradation monitoring device provided by mirroring packets transmitted and received at the server end,
a packet analysis module for extracting session information, information about a server connected to the session, information about a client connected to the session, and a type of the mirrored packet from the mirrored packet; information analyzed by the packet analysis module a structure management module for managing a session structure, a server structure, and a client structure based on ; A risk management module for calculating and managing a performance degradation risk as a ratio of standby flows to all flows made in the network system from the information stored in the session structure, the server structure, and the client structure, and for all sessions made in the network system A plurality of session structures formed for each session, a plurality of server structures formed for each server for all servers forming all the sessions, and a plurality of client structures formed for each client for all clients forming all sessions including;
Each of the session structures includes information about the corresponding session, a server structure pointer for connecting to a server structure corresponding to a server connected to the corresponding session, and a client structure pointer for connecting to a client structure corresponding to a client connected to the corresponding session. do;
Each of the server structures includes information about the corresponding server, a session structure management table for managing session structure pointers corresponding to all sessions to which the server is connected, and client IP addresses corresponding to all clients connected to the server. a client information management table;
Each of the client structures includes information about the corresponding client, a session structure management table managing session structure pointers corresponding to all sessions to which the client is connected, and server IP addresses corresponding to all servers connected to the client. Network system performance degradation real-time monitoring device comprising a server information management table.
제 1 항에 있어서,
상기 패킷 분석 모듈은 상기 클라이언트에서 활성화된 애플리케이션에 관한 정보와, 상기 클라이언트가 위치한 지역에 관한 정보를 더 추출하고,
상기 네트워크 시스템 성능 저하 실시간 모니터링 장치는, 상기 모든 세션을 형성하는 모든 클라이언트에서 활성화된 각 애플리케이션별로 형성된 복수의 애플리케이션 구조체들과, 상기 모든 세션을 형성하는 모든 클라이언트가 위치한 각 지역별로 형성된 복수의 지역 구조체들을 더 포함하고,
상기 세션 구조체는 해당 세션에 연결된 클라이언트에서 활성화된 애플리케이션에 대응하는 애플리케이션 구조체에 연결하기 위한 애플리케이션 구조체 포인터와, 해당 세션에 연결된 클라이언트가 위치한 지역에 대응하는 지역 구조체에 연결하기 위한 지역 구조체 포인터를 더 포함하고,
상기 서버 구조체는 해당 서버와 연결된 모든 클라이언트들에서 활성화된 애플케이션 리스트들을 관리하는 애플리케이션 정보 관리 테이블을 더 포함하고,
상기 클라이언트 구조체는 해당 클라이언트에서 활성화된 애플리케이션들에 대응하는 애플리케이션 리스트를 관리하는 애플리케이션 정보 관리 테이블을 더 포함한 것을 특징으로 하는 네트워크 시스템 성능 저하 실시간 모니터링 장치.
The method of claim 1,
The packet analysis module further extracts information about an application activated in the client and information about a region in which the client is located,
The network system performance degradation real-time monitoring apparatus includes a plurality of application structures formed for each application activated in all clients forming all the sessions, and a plurality of local structures formed in each region in which all clients forming all sessions are located. including more
The session structure further includes an application structure pointer for connecting to an application structure corresponding to an application activated by a client connected to the session, and a local structure pointer for connecting to a local structure corresponding to a region in which the client connected to the session is located. do,
The server structure further includes an application information management table for managing the list of applications activated in all clients connected to the server,
The client structure further comprises an application information management table for managing an application list corresponding to applications activated in the corresponding client, network system performance degradation real-time monitoring apparatus.
제 2 항에 있어서, 상기 지역 정보는 나라 정보 또는 도시 정보인 것을 특징으로 하는 네트워크 시스템 성능 저하 실시간 모니터링 장치.The apparatus of claim 2, wherein the area information is country information or city information. 제 2 항에 있어서,
상기 네트워크 시스템 성능 저하 실시간 모니터링 장치는,
상기 복수의 세션 구조체들을 관리하는 세션 트리 테이블과,
상기 복수의 서버 구조체들을 관리하는 서버 트리 테이블과,
상기 복수의 클라이언트 구조체들을 관리하는 클라이언트 트리 테이블과,
상기 복수의 애플리케이션 구조체들을 관리하는 애플리케이션 해쉬 테이블과,
상기 복수의 지역 구조체들을 관리하는 지역 해쉬 테이블을 더 포함하는 것을 특징으로 하는 네트워크 시스템 성능 저하 실시간 모니터링 장치.
3. The method of claim 2,
The network system performance degradation real-time monitoring device,
a session tree table for managing the plurality of session structures;
a server tree table for managing the plurality of server structures;
a client tree table for managing the plurality of client structures;
an application hash table for managing the plurality of application structures;
Network system performance degradation real-time monitoring apparatus further comprising a local hash table for managing the plurality of local structures.
제 4 항에 있어서,
상기 세션 트리 테이블, 상기 서버 트리 테이블, 상기 클라이언트 트리 테이블, 상기 애플리케이션 해쉬 테이블, 상기 지역 해쉬 테이블 각각은,
각각의 관리 대상 구조체들에 대해 레드블랙 트리 알고리즘을 적용하여 관리하는 것을 특징으로 하는 네트워크 시스템 성능 저하 실시간 모니터링 장치.
5. The method of claim 4,
Each of the session tree table, the server tree table, the client tree table, the application hash table, and the local hash table,
A real-time monitoring device for network system performance degradation, characterized in that it manages each managed structure by applying a red-black tree algorithm.
제 1 항에 있어서,
상기 리스크 관리 모듈에서 산출된 서버별, 클라이언트별, 애플리케이션별, 지역 및 전체 네트워크 시스템의 성능 저하 리스크를 화면에 표시하도록 하는 디스플레이 관리 모듈을 더 포함한 것을 특징으로 하는 네트워크 시스템 성능 저하 실시간 모니터링 장치.
The method of claim 1,
Network system performance degradation real-time monitoring device, characterized in that it further comprises a display management module for displaying on the screen the performance degradation risk of each server, client, application, region, and the entire network system calculated by the risk management module.
KR1020210029940A 2021-03-08 2021-03-08 Apparatus for Realtime Monitoring Performance Degradation of Network System KR102563247B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210029940A KR102563247B1 (en) 2021-03-08 2021-03-08 Apparatus for Realtime Monitoring Performance Degradation of Network System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210029940A KR102563247B1 (en) 2021-03-08 2021-03-08 Apparatus for Realtime Monitoring Performance Degradation of Network System

Publications (2)

Publication Number Publication Date
KR20220125965A true KR20220125965A (en) 2022-09-15
KR102563247B1 KR102563247B1 (en) 2023-08-03

Family

ID=83281506

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210029940A KR102563247B1 (en) 2021-03-08 2021-03-08 Apparatus for Realtime Monitoring Performance Degradation of Network System

Country Status (1)

Country Link
KR (1) KR102563247B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190088343A (en) 2018-01-18 2019-07-26 주식회사맥데이타 Network performance indicator visualization method and apparatus, and system
KR20190088342A (en) 2018-01-18 2019-07-26 주식회사맥데이타 Network performance diagnosis method and apparatus, and system
KR102072700B1 (en) * 2019-07-31 2020-02-03 (주)소울시스템즈 Apparatus and method for real-time application performance monitoring based on full packet processing
KR20200033090A (en) 2018-09-19 2020-03-27 주식회사맥데이타 An apparatus for network monitoring and method thereof, and system
KR102174190B1 (en) * 2019-09-09 2020-11-04 주식회사 맥데이타 Performance visualization method, apparatus and system for 5g based network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190088343A (en) 2018-01-18 2019-07-26 주식회사맥데이타 Network performance indicator visualization method and apparatus, and system
KR20190088342A (en) 2018-01-18 2019-07-26 주식회사맥데이타 Network performance diagnosis method and apparatus, and system
KR20200033090A (en) 2018-09-19 2020-03-27 주식회사맥데이타 An apparatus for network monitoring and method thereof, and system
KR102072700B1 (en) * 2019-07-31 2020-02-03 (주)소울시스템즈 Apparatus and method for real-time application performance monitoring based on full packet processing
KR102174190B1 (en) * 2019-09-09 2020-11-04 주식회사 맥데이타 Performance visualization method, apparatus and system for 5g based network

Also Published As

Publication number Publication date
KR102563247B1 (en) 2023-08-03

Similar Documents

Publication Publication Date Title
US10659354B2 (en) Processing data packets using a policy based network path
US11522734B2 (en) Method for controlling a remote service access path and relevant device
EP2629466B1 (en) Method, device and system for forwarding data in communication system
US9338192B1 (en) Connection management using connection request transfer protocol
KR101573122B1 (en) Method, gateway, proxy and system for implementing mobile internet services
US11381667B1 (en) Methods and systems for implementing a regionally contiguous proxy service
US10355961B2 (en) Network traffic capture analysis
US20190215308A1 (en) Selectively securing a premises network
US11817946B2 (en) Proxy selection by monitoring quality and available capacity
US20100235464A1 (en) Handoff and optimization of a network protocol stack
US20230336446A1 (en) Application records using session information
KR102563247B1 (en) Apparatus for Realtime Monitoring Performance Degradation of Network System
CN111818134A (en) Data transmission method and device based on fog calculation in substation data center
US9015309B2 (en) Networked probe system
CN112543191B (en) Load balancing method and device
CN115474212B (en) CDN network transmission optimization method, system, electronic equipment and storage medium
KR100509097B1 (en) Web relay for transporting the web-based message to web user and method thereof using the web relay
KR20080046900A (en) Load balancing system and method load balancing device

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant