KR102451096B1 - System and method for multi-layer performance analysis of arbitrary section in network through socket control interface - Google Patents

System and method for multi-layer performance analysis of arbitrary section in network through socket control interface Download PDF

Info

Publication number
KR102451096B1
KR102451096B1 KR1020220045191A KR20220045191A KR102451096B1 KR 102451096 B1 KR102451096 B1 KR 102451096B1 KR 1020220045191 A KR1020220045191 A KR 1020220045191A KR 20220045191 A KR20220045191 A KR 20220045191A KR 102451096 B1 KR102451096 B1 KR 102451096B1
Authority
KR
South Korea
Prior art keywords
script
network
tcp
socket
performance analysis
Prior art date
Application number
KR1020220045191A
Other languages
Korean (ko)
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 KR1020220045191A priority Critical patent/KR102451096B1/en
Application granted granted Critical
Publication of KR102451096B1 publication Critical patent/KR102451096B1/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/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers

Landscapes

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

Abstract

The present invention relates to a multi-layer performance analysis system of an arbitrary section in a network through a socket control interface and a method therefor that perform a multi-layer performance analysis for a network through a socket (TCP, UDP) control interface connected to the network, and enable to perform an analysis for where there is a problem among all the equipment and sections involved in communication from a client to a server. The multi-layer performance analysis system comprises: a socket interface part; a background processing part; a script initialization part; and a script flow processing part.

Description

소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 시스템 및 그 방법{System and method for multi-layer performance analysis of arbitrary section in network through socket control interface}{System and method for multi-layer performance analysis of arbitrary section in network through socket control interface}

본 발명은 네트워크 내 임의구간의 성능 분석에 관한 것으로, 특히 네트워크에 연결된 소켓(TCP, UDP) 제어 인터페이스를 통한 네트워크에 대한 다계층 성능 분석을 수행하여 클라이언트에서 서버로의 통신에 관여하는 모든 장비와 구간 중 어디에 문제가 있는지 분석을 수행하기에 적당하도록 한 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 시스템 및 그 방법에 관한 것이다.The present invention relates to a performance analysis of an arbitrary section within a network, and in particular, performs multi-layer performance analysis on a network through a socket (TCP, UDP) control interface connected to the network to perform multi-layer performance analysis with all equipment involved in communication from a client to a server and It relates to a multi-layer performance analysis system and method for an arbitrary section in a network through a socket control interface that is suitable for performing analysis on where there is a problem in the section.

일반적으로 모든 클라이언트-서버 통신은 클라이언트가 자신이 연결된 네트워크를 통해 몇 단계의 다른 네트워크를 거쳐 서버가 연결된 네트워크에 접속, 궁극적으로 서버와 데이터를 주고받는 것을 기본으로 한다.In general, all client-server communication is based on the client connecting to the network to which the server is connected through several different networks through the network to which it is connected, and ultimately exchanging data with the server.

도 1은 일반적인 클라이언트-서버의 구조를 개념도이다.1 is a conceptual diagram illustrating the structure of a typical client-server.

그래서 특정 클라이언트-서버간 통신 수행시 여러 개 네트워크를 거칠 수 있다. 또한 경우에 따라서는 동일한 서버에 접속하는 경우에도 서로 다른 경로를 통해 데이터를 전송할 수 있다.Therefore, when performing communication between a specific client-server, it can go through several networks. Also, in some cases, data may be transmitted through different paths even when accessing the same server.

데이터를 전송할 때 어느 장비를 통과하거나 또는 어느 네트워크를 통과하게 될지는 각 장비에 설정된 라우팅 및 통신 규칙에 따라 달라진다.When data is transmitted, which device or network it will go through depends on the routing and communication rules set on each device.

각 네트워크는 다수의 통신장비 및 보안장비로 구성된다. 통신 품질 저하 또는 통신 이상이 발생한 경우, 문제는 어느 장비가 원인인지를 찾는 것이 가장 중요하다.Each network is composed of a number of communication equipment and security equipment. In the case of communication quality degradation or communication abnormality, it is most important to find out which equipment is the cause of the problem.

종래에는 악세디언(Accedian Network Inc.)에서 출원한 미국특허등록 제9306830호의 LAYER-3 PERFORMANCE MONITORING SECTIONALIZATION가 있다. 악세디언은 이러한 기술들을 이용하여 자체 개발한 하드웨어인 GBIC(Gigabit Interface Converter, 기가비트 접속 변환기)를 이용하여 네트워크의 다양한 매체를 지원한다.(이하, 악세디언의 GBIC를 이용한 네트워크 성능 분석 기술을 ‘종래기술1’이라 한다.)Conventionally, there is LAYER-3 PERFORMANCE MONITORING SECTIONALIZATION of US Patent Registration No. 9306830 filed by Accedian Network Inc. Accedian supports various media of the network using GBIC (Gigabit Interface Converter, Gigabit Access Converter), which is hardware developed by using these technologies. It is called 'Technology 1'.)

종래기술1에서는 검증 대상 네트워크가 TCP/IP이다. 기동 하드웨어는 악세디언에서 자체 개발한 GBIC이다. 사용형태를 보면, GBIC를 사용할 수 있는 스위치로 한정된다. GBIC가 스위치에 호환되지 않으면 사용이 불가하다. 또한 GBIC를 삽입할 수 있는 포트가 없으면 사용이 안된다. 지원가능 프로토콜은 지정된 프로토콜 규약으로서, TWAMP(Two-Way Active Measurement Protocol, 양방향 능동형 측정 프로토콜)/UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)이다. 테스트 시나리오를 보면, 종래기술1은 RTT(Round Trip Time, 왕복시간) 중심으로 지정된 시나리오만 사용 가능하다. 적용 가능 환경을 보면, 종래기술1은 스위치에 종속된다.In the prior art 1, the network to be verified is TCP/IP. The starting hardware is a GBIC developed by Accedian. In terms of usage, it is limited to switches that can use GBIC. If the GBIC is not compatible with the switch, it cannot be used. Also, if there is no port to insert GBIC, it cannot be used. Supportable protocols are designated protocol protocols, such as TWAMP (Two-Way Active Measurement Protocol, Bidirectional Active Measurement Protocol)/UDP (User Datagram Protocol, User Datagram Protocol). Looking at the test scenario, in the prior art 1, only a scenario designated based on a round trip time (RTT) can be used. Looking at the applicable environment, the prior art 1 is dependent on the switch.

또한 종래에는 시스코(Cisco Technology, Inc.)에서 스위치 또는 라우터에 특수기능을 부여하여, 네트워크의 성능 분석을 수행하였다. (이하, 시스코의 스위치를 이용한 네트워크 성능 분석 기술을 ‘종래기술2’라 한다.)In addition, conventionally, Cisco (Cisco Technology, Inc.) assigned a special function to a switch or router, and performed network performance analysis. (Hereinafter, Cisco's network performance analysis technology using a switch is referred to as 'Prior Art 2'.)

종래기술2에서는 검증 대상 네트워크가 TCP/IP이다. 기동 하드웨어는 시스코에서 스위치 또는 라우터에 특수기능을 부여한 하드웨어이다. 사용형태를 보면, 스위치에서 네트워크 성능 분석 기능을 활성화한다. 만약 스위치에 네트워크 성능 분석 기능이 없으면, 네트워크 성능 분석은 사용이 불가하다. 또한 스위치에 내장된 CPU는 스위칭에 전문화되어 있기 때문에 유연한 테스트 환경을 제공하기 어렵다. 지원가능 프로토콜은 지정된 프로토콜 규약으로서, TWAMP/UDP이다. 테스트 시나리오를 보면, 종래기술2는 RTT 중심으로 지정된 시나리오만 사용 가능하다. 적용 가능 환경을 보면, 종래기술2는 스위치에 종속된다.In the prior art 2, the network to be verified is TCP/IP. Startup hardware is hardware that Cisco gives special functions to a switch or router. In terms of usage, the network performance analysis function is activated in the switch. If the switch does not have a network performance analysis function, network performance analysis cannot be used. In addition, it is difficult to provide a flexible test environment because the CPU embedded in the switch is specialized for switching. Supportable protocols are designated protocol conventions, such as TWAMP/UDP. Looking at the test scenario, in the prior art 2, only the scenario designated as RTT center can be used. Looking at the applicable environment, the prior art 2 is dependent on the switch.

이처럼 종래기술은 네트워크 성능 분석시 하드웨어 기반으로 특정 하드웨어나 인터페이스에 종속되고, 네트워크 성능 분석 기능에 한계가 있다.As such, the prior art is dependent on a specific hardware or interface based on hardware when analyzing network performance, and has a limitation in network performance analysis function.

US 9,306,830 B2US 9,306,830 B2

이에 본 발명은 상기와 같은 종래의 제반 문제점을 해결하기 위해 제안된 것으로, 본 발명의 목적은 네트워크에 연결된 소켓(TCP, UDP) 제어 인터페이스를 통한 네트워크에 대한 다계층 성능 분석을 수행하여 클라이언트에서 서버로의 통신에 관여하는 모든 장비와 구간 중 어디에 문제가 있는지 분석을 수행할 수 있는 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 시스템 및 그 방법을 제공하는 데 있다.Accordingly, the present invention has been proposed in order to solve the problems of the related art as described above, and an object of the present invention is to perform multi-layer performance analysis on a network through a socket (TCP, UDP) control interface connected to the network to perform multi-layer performance analysis from the client to the server. An object of the present invention is to provide a multi-layered performance analysis system and method for an arbitrary section in a network through a socket control interface that can analyze where there is a problem among all equipment and sections involved in communication with the network.

도 2는 본 발명의 일 실시예에 의한 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 시스템의 블록구성도이다.2 is a block diagram of a multi-layer performance analysis system of an arbitrary section in a network through a socket control interface according to an embodiment of the present invention.

이에 도시된 바와 같이, 다계층 성능 분석 시스템(100)이 네트워크의 TCP 또는 UDP 소켓과의 인터페이스를 수행하게 하는 소켓 인터페이스부(110)와; 상기 소켓 인터페이스부(110)를 통해 네트워크와 통신하고, 스크립트에 의한 네트워크와의 데이터 통신에 따른 통신 성공 여부를 판별하여 네트워크에 대한 다계층 성능 분석을 수행하는 백그라운드 처리부(120)와; 상기 소켓 인터페이스부(110)를 통해 네트워크의 성능 분석을 수행하기 위한 스크립트에 대해 초기화를 수행하는 스크립트 초기화부(130)와; 상기 스크립트 초기화부(130)에서 초기화된 스크립트에 대해 상기 백그라운드 처리부(120)를 통한 흐름처리를 수행하고, 스크립트가 TCP를 포함하면 TCP 핸드세이크(Handshake)를 수행하게 하고, TCP 또는 UDP 데이터에 대한 네트워크로의 송신과 수신 처리를 수행하는 스크립트 흐름처리부(140);를 포함하여 구성된 것을 특징으로 한다.As shown here, the multi-layer performance analysis system 100 and a socket interface unit 110 to perform an interface with the TCP or UDP socket of the network; a background processing unit 120 communicating with the network through the socket interface unit 110, determining whether communication is successful according to data communication with the network by a script, and performing multi-layer performance analysis on the network; a script initialization unit 130 that initializes a script for performing network performance analysis through the socket interface unit 110; Flow processing through the background processing unit 120 is performed on the script initialized by the script initialization unit 130, and a TCP handshake is performed if the script includes TCP, and the TCP or UDP data is processed. It is characterized in that it comprises a; script flow processing unit 140 for performing transmission and reception processing to the network.

상기 백그라운드 처리부(120)는, 상기 스크립트 흐름처리부(140)에서 TCP 핸드세이크 수행시, TCP 핸드세이크 소요시간을 측정하고, TCP 또는 UDP의 데이터 송수신시 데이터 송신과 수신 사이의 시간을 측정하여 RTT(Round Trip Time, 왕복시간)를 계산하고, 데이터 총량을 송수신 시간으로 분석하여 BPS(Bits Per Second, 초당 비트 수)를 추출하여, 실패 원인이 타임아웃(timeout)인지 또는 소켓 오류인지를 판별하고, 네트워크의 다계층인 L2 헤더, L3 헤더, L4 헤더, 페이로드 각각 중에서 문제가 발생한 계층과 네트워크 구간을 분석하고, RTT 및 BPS 및 타임아웃 정보를 이용하여 문제 원인을 분석하여 제공하는 것을 특징으로 한다.The background processing unit 120 measures the time required for the TCP handshake when the script flow processing unit 140 performs the TCP handshake, and measures the time between data transmission and reception during TCP or UDP data transmission and reception to RTT ( Round Trip Time) is calculated, and the total amount of data is analyzed as sending and receiving time to extract BPS (Bits Per Second) to determine whether the cause of failure is a timeout or a socket error, It is characterized in that it analyzes the layer and network section where the problem occurs among each of the L2 header, L3 header, L4 header, and payload, which are multi-layers of the network, and analyzes the cause of the problem using RTT and BPS and timeout information. .

상기 다계층 성능 분석 시스템(100)은, 대규모의 더미 데이터(dummy data)를 생성하는 기능, 바이너리 데이터와 16진수 텍스트간의 변환 기능을 포함하여, 스크립트에서 접근이 어려운 자원에 접근하거나 속도가 상대적으로 느린 이유로 빠른 처리가 필요한 기능들을 제공하여, 상기 스크립트 흐름처리부(140)에서 호출하여 사용할 수 있도록 유틸리티 기능을 제공하는 유틸리티 처리부(150);를 더욱 포함하여 구성된 것을 특징으로 한다.The multi-layer performance analysis system 100 includes a function of generating large-scale dummy data, a function of converting between binary data and hexadecimal text, and accessing resources that are difficult to access in a script or having a relatively low speed. It is characterized in that it further includes a; utility processing unit 150 that provides a utility function so that it can be called and used by the script flow processing unit 140 by providing functions that require fast processing for a reason of being slow.

도 7은 본 발명의 일 실시예에 의한 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 방법을 보인 흐름도이다.7 is a flowchart illustrating a multi-layer performance analysis method of an arbitrary section in a network through a socket control interface according to an embodiment of the present invention.

이에 도시된 바와 같이, 다계층 성능 분석 시스템(100)의 소켓 인터페이스부(110)에서 네트워크의 TCP 또는 UDP 소켓과의 인터페이스를 수행하여 네트워크와의 통신을 시작하게 하는 소켓 인터페이스 단계(ST1)와; 상기 소켓 인터페이스 단계 후 네트워크의 성능 분석을 수행하기 위한 스크립트에 대해 초기화를 수행하는 스크립트 초기화 단계(ST2)와; 상기 스크립트 초기화 단계에서 초기화된 스크립트에 대해 스크립트 흐름처리부(140)에서 흐름처리를 수행하여, 스크립트가 TCP를 포함하면 TCP 핸드세이크(Handshake)를 수행하게 하고, TCP 또는 UDP 데이터에 대한 네트워크로의 송신과 수신 처리를 수행하며, 백그라운드 처리부(120)에서 스크립트에 의한 네트워크와의 데이터 통신에 따른 통신 성공 여부를 판별하여 네트워크에 대한 다계층 성능 분석을 수행하여, 네트워크에 대한 성능분석의 테스트 결과를 출력하는 스크립트 및 백그라운드 처리단계(ST3, ST4);를 포함하여 수행하는 것을 특징으로 한다.As shown in this figure, the socket interface unit 110 of the multi-layer performance analysis system 100 performs an interface with a TCP or UDP socket of the network to start communication with the network, a socket interface step (ST1); a script initialization step (ST2) of performing initialization on a script for performing network performance analysis after the socket interface step; The script flow processing unit 140 performs flow processing on the script initialized in the script initialization step, and when the script includes TCP, a TCP handshake is performed, and TCP or UDP data is transmitted to the network and reception processing, and the background processing unit 120 determines whether communication is successful according to data communication with the network by the script, performs multi-layer performance analysis on the network, and outputs the test result of the performance analysis on the network Script and background processing steps (ST3, ST4); characterized in that it is performed including.

도 8은 도 7의 상세 흐름도이다.8 is a detailed flowchart of FIG. 7 .

상기 스크립트 및 백그라운드 처리단계는, 상기 소켓 인터페이스부(110)에서 접속한 소켓이 TCP 소켓이면, 스크립트 흐름처리부(140)에서 TCP 핸드세이크를 수행하도록 처리하고, 백그라운드 처리부(120)에서 TCP 핸드세이크의 소요시간을 측정하여 TCP 핸드세이크의 성공 또는 실패 여부를 진단하는 TCP 핸드세이크 단계(ST11 ~ ST17)와; 소켓이 TCP 소켓이 아니거나 또는 상기 TCP 핸드세이크 단계 후, 상기 스크립트 흐름처리부(140)는 TCP 또는 UDP의 데이터 송신을 위한 스크립트를 처리하고, 상기 백그라운드 처리부(120)는 데이터의 송신과 수신 사이의 시간을 측정하여 RTT를 계산하고, 데이터 총량을 송수신 시간으로 분석하여 BPS를 추출하여, 실패 원인이 타임아웃인지 또는 소켓 오류인지를 판별하고, 네트워크의 다계층인 L2 헤더, L3 헤더, L4 헤더, 페이로드 각각 중에서 문제가 발생한 계층과 네트워크 구간을 분석하고, RTT 및 BPS 및 타임아웃 정보를 이용하여 문제 원인을 분석하여 제공하는 데이터 송수신 처리단계(ST18 ~ ST26);를 포함하여 수행하는 것을 특징으로 한다.In the script and background processing step, if the socket accessed by the socket interface unit 110 is a TCP socket, the script flow processing unit 140 performs a TCP handshake, and the background processing unit 120 performs the TCP handshake. a TCP handshake step (ST11 to ST17) of diagnosing whether the TCP handshake succeeds or fails by measuring the required time; If the socket is not a TCP socket or after the TCP handshake step, the script flow processing unit 140 processes a script for data transmission of TCP or UDP, and the background processing unit 120 performs an operation between transmission and reception of data. Time is measured to calculate RTT, and BPS is extracted by analyzing the total amount of data as transmission/reception time to determine whether the cause of failure is a timeout or socket error. The data transmission/reception processing step (ST18 ~ ST26) that analyzes the layer and network section in which the problem occurs in each payload, and analyzes the cause of the problem using RTT and BPS and timeout information (ST18 ~ ST26); characterized in that it is performed do.

도 9는 도 7에서 스크립트가 TCP fast reconnection 스크립트일 경우의 처리를 보인 흐름도이다.FIG. 9 is a flowchart showing processing when the script in FIG. 7 is a TCP fast reconnection script.

이에 도시된 바와 같이, 상기 스크립트 및 백그라운드 처리단계는, 스크립트가 TCP fast reconnection이면, 지정된 서버로 TCP 핸드세이크를 수행하여 TCP 핸드세이크 이벤트를 발생시키고, 서버에 연결되면 연결을 끊는 동작을 복수회 반복시키는 TCP fast reconnection 수행단계(ST31 ~ ST35)와; 상기 TCP fast reconnection 수행단계에서 복수회의 반복 횟수가 종료되면, 반복 횟수의 중간에 연결이 안 되는 경우가 발생하면 실패로 판정하고, 복수회의 반복 횟수에서 모두 연결되면 성공으로 판정하는 판정단계(ST36);를 포함하여 수행하는 것을 특징으로 한다.As shown in this figure, in the script and background processing step, if the script is TCP fast reconnection, a TCP handshake is performed to a designated server to generate a TCP handshake event, and the operation of disconnecting the connection when connected to the server is repeated a plurality of times. TCP fast reconnection execution step (ST31 ~ ST35); In the TCP fast reconnection performing step, when the number of repetitions of a plurality of times is terminated, a determination step of determining a failure if a connection cannot be made in the middle of the number of repetitions, and determining success if all connections are made in the number of repetitions of the plurality of repetitions (ST36) It is characterized in that it is performed including ;.

도 10은 도 7에서 스크립트가 HTTP HEAD 스크립트일 경우의 처리를 보인 흐름도이다.FIG. 10 is a flowchart showing processing when the script in FIG. 7 is an HTTP HEAD script.

이에 도시된 바와 같이, 상기 스크립트 및 백그라운드 처리단계는, 스크립트가 HTTP HEAD 스크립트이면, TCP 핸드세이크를 수행하여 TCP 핸드세이크 이벤트를 발생시키고, 서버에 연결되면 HTTP HEAD request를 보내는 HTTP HEAD 수행단계(ST41 ~ ST44)와; 상기 HTTP HEAD 수행단계에서 서버가 데이터를 보내면 서브 응답 이벤트를 발생하고 데이터 송신 및 수신 여부와 RTT를 확인하고, 상기 HTTP HEAD 수행단계에서 서버가 일정 시간 동안 아무런 응답이 없으면 타임아웃 이벤트를 발생시키는 판정단계(ST45 ~ ST48);를 포함하여 수행하는 것을 특징으로 한다.As shown in this figure, the script and background processing step is, if the script is an HTTP HEAD script, performs a TCP handshake to generate a TCP handshake event, and sends an HTTP HEAD request when connected to the server (ST41) ~ ST44) and; When the server sends data in the HTTP HEAD execution step, a sub response event is generated, data transmission and reception status and RTT are checked, and when the server does not respond for a certain period of time in the HTTP HEAD execution step, a timeout event is generated. Steps (ST45 ~ ST48); characterized in that it is performed including.

도 11은 도 7에서 스크립트가 UDP RTT 스크립트일 경우의 처리를 보인 흐름도이다.FIG. 11 is a flowchart showing processing when the script in FIG. 7 is a UDP RTT script.

이에 도시된 바와 같이, 상기 스크립트 및 백그라운드 처리단계는, 스크립트가 UDP RTT 스크립트이면, 지정된 서버로 데이터를 보내는 UDP RTT 처리단계(ST51, ST52)와; 상기 UDP RTT 처리단계 후 서버 응답 이벤트가 발생하면 성공 처리하고, 서버 응답 이벤트가 발생하지 않으면 실패 처리하는 판정단계(ST53, ST54);를 포함하여 수행하는 것을 특징으로 한다.As shown in this figure, the script and background processing steps include: if the script is a UDP RTT script, UDP RTT processing steps (ST51, ST52) of sending data to a designated server; After the UDP RTT processing step, if a server response event occurs, success processing is performed, and when a server response event does not occur, a determination step (ST53, ST54) of failure processing is performed.

도 12는 도 7에서 스크립트가 SMTP EHLO 스크립트일 경우의 처리를 보인 흐름도이다.FIG. 12 is a flowchart showing processing in the case where the script in FIG. 7 is an SMTP EHLO script.

이에 도시된 바와 같이, 상기 스크립트 및 백그라운드 처리단계는, 스크립트가 SMTP((Simple Mail Transfer Protocol, 간이 전자우편 전송 프로토콜) EHLO(extended Hello, 확장 HELLO) 스크립트이면, TCP 핸드세이크를 수행하여 TCP 핸드세이크 이벤트를 발생시키고, 서버에 연결되면 EHLO 메시지를 송신하는 SMTP EHLO 처리단계(ST61 ~ ST64)와; 상기 SMTP EHLO 처리단계에서 서버에서의 도메인 서비스가 준비되었다는 메시지를 수신하면 완료처리하고, 상기 SMTP EHLO 처리단계에서 서버에서 연결을 강제로 단절하면, 연결 끊어짐 이벤트를 발생시키고 소켓 오류 및 실패 처리하는 판정단계(ST65 ~ ST69);를 포함하여 수행하는 것을 특징으로 한다.As shown in this figure, the script and the background processing step, if the script is an SMTP (Simple Mail Transfer Protocol) EHLO (extended Hello, Extended HELLO) script, performs a TCP handshake to perform a TCP handshake SMTP EHLO processing step (ST61 ~ ST64) of generating an event and sending an EHLO message when connected to the server; In the SMTP EHLO processing step, when a message indicating that the server is ready for domain service is received, complete processing, and the SMTP EHLO processing step When the connection is forcibly disconnected from the server in the processing step, a connection disconnection event is generated, and a determination step (ST65 to ST69) of processing a socket error and failure is performed.

본 발명에 의한 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 시스템 및 그 방법은 네트워크에 연결된 소켓(TCP, UDP) 제어 인터페이스를 통한 네트워크에 대한 다계층 성능 분석을 수행하여 클라이언트에서 서버로의 통신에 관여하는 모든 장비와 구간 중 어디에 문제가 있는지 분석을 수행할 수 있는 효과가 있다.A multi-layer performance analysis system and method of an arbitrary section in a network through a socket control interface according to the present invention perform multi-layer performance analysis on a network through a socket (TCP, UDP) control interface connected to the network, and transfer from a client to a server. It has the effect of being able to analyze where there is a problem among all equipment and sections involved in the communication of

도 1은 일반적인 클라이언트-서버의 구조를 개념도이다.
도 2는 본 발명의 일 실시예에 의한 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 시스템의 블록구성도이다.
도 3은 도 2의 본 발명이 적용되는 네트워크의 예시도이다.
도 4는 도 2에 의해 네트워크 내 임의구간의 다계층 성능 분석을 수행하는 예를 보인 개념도이다.
도 5는 본 발명이 성능 분석하는 일반적인 네트워크 패킷의 구조도이다.
도 6은 본 발명의 테스트 시나리오 적용 개념도이다.
도 7은 본 발명의 일 실시예에 의한 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 방법을 보인 흐름도이다.
도 8은 도 7의 상세 흐름도이다.
도 9는 도 7에서 스크립트가 TCP fast reconnection 스크립트일 경우의 처리를 보인 흐름도이다.
도 10은 도 7에서 스크립트가 HTTP HEAD 스크립트일 경우의 처리를 보인 흐름도이다.
도 11은 도 7에서 스크립트가 UDP RTT 스크립트일 경우의 처리를 보인 흐름도이다.
도 12는 도 7에서 스크립트가 SMTP EHLO 스크립트일 경우의 처리를 보인 흐름도이다.
1 is a conceptual diagram illustrating the structure of a typical client-server.
2 is a block diagram of a multi-layer performance analysis system of an arbitrary section in a network through a socket control interface according to an embodiment of the present invention.
3 is an exemplary diagram of a network to which the present invention of FIG. 2 is applied.
4 is a conceptual diagram illustrating an example of performing multi-layer performance analysis of an arbitrary section in a network according to FIG. 2 .
5 is a structural diagram of a general network packet for performance analysis of the present invention.
6 is a conceptual diagram illustrating a test scenario application of the present invention.
7 is a flowchart illustrating a multi-layer performance analysis method of an arbitrary section in a network through a socket control interface according to an embodiment of the present invention.
8 is a detailed flowchart of FIG. 7 .
FIG. 9 is a flowchart showing processing when the script in FIG. 7 is a TCP fast reconnection script.
FIG. 10 is a flowchart showing processing when the script in FIG. 7 is an HTTP HEAD script.
FIG. 11 is a flowchart showing processing when the script in FIG. 7 is a UDP RTT script.
FIG. 12 is a flowchart showing processing in the case where the script in FIG. 7 is an SMTP EHLO script.

이와 같이 구성된 본 발명에 의한 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 시스템 및 그 방법의 바람직한 실시예를 첨부한 도면에 의거하여 상세히 설명하면 다음과 같다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 판례 등에 따라 달라질 수 있으며, 이에 따라 각 용어의 의미는 본 명세서 전반에 걸친 내용을 토대로 해석되어야 할 것이다.A preferred embodiment of a multi-layer performance analysis system and method of an arbitrary section in a network through a socket control interface according to the present invention configured as described above will be described in detail with reference to the accompanying drawings. In the following description of the present invention, if it is determined that a detailed description of a related well-known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. And the terms to be described later are terms defined in consideration of functions in the present invention, which may vary depending on the intention or precedent of the user or operator, and accordingly, the meaning of each term should be interpreted based on the contents throughout this specification. will be.

먼저 본 발명은 네트워크에 연결된 소켓(TCP, UDP) 제어 인터페이스를 통한 네트워크에 대한 다계층 성능 분석을 수행하여 클라이언트에서 서버로의 통신에 관여하는 모든 장비와 구간 중 어디에 문제가 있는지 분석을 수행하고자 한 것이다.First, the present invention is to perform multi-layer performance analysis of the network through a socket (TCP, UDP) control interface connected to the network to analyze where there is a problem among all equipment and sections involved in communication from the client to the server. will be.

도 2는 본 발명의 일 실시예에 의한 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 시스템의 블록구성도이다.2 is a block diagram of a multi-layer performance analysis system of an arbitrary section in a network through a socket control interface according to an embodiment of the present invention.

본 발명의 다계층 성능 분석 시스템(100)은 소켓 인터페이스부(110), 백그라운드 처리부(120), 스크립트 초기화부(130), 스크립트 흐름처리부(140), 유틸리티 처리부(150)를 포함하여 구성할 수 있다.The multi-layer performance analysis system 100 of the present invention can be configured to include a socket interface unit 110 , a background processing unit 120 , a script initialization unit 130 , a script flow processing unit 140 , and a utility processing unit 150 . have.

소켓 인터페이스부(110)는 다계층 성능 분석 시스템(100)이 네트워크의 TCP 또는 UDP 소켓과의 인터페이스를 수행하게 한다. 소켓 인터페이스부(110)는 TCP와 UDP 이외에 raw IP(Internet Protocol), SCTP(Stream Control Transmission Protocol) 소켓 등을 포함하여 처리한다.The socket interface unit 110 allows the multi-layer performance analysis system 100 to interface with a TCP or UDP socket of a network. The socket interface unit 110 processes including a raw Internet Protocol (IP), Stream Control Transmission Protocol (SCTP) socket, etc. in addition to TCP and UDP.

백그라운드 처리부(120)는 소켓 인터페이스부(110)를 통해 네트워크와 통신하고, 스크립트에 의한 네트워크와의 데이터 통신에 따른 통신 성공 여부를 판별하여 네트워크에 대한 다계층 성능 분석을 수행한다. 그래서 백그라운드 처리부(120)는 스크립트 흐름처리부(140)에서 TCP 핸드세이크 수행시, TCP 핸드세이크 소요시간을 측정하고, TCP 또는 UDP의 데이터 송수신시 데이터 송신과 수신 사이의 시간을 측정하여 RTT를 계산하고, 데이터 총량을 송수신 시간으로 분석하여 BPS를 추출하여, 실패 원인이 타임아웃인지 또는 소켓 오류인지를 판별하고, 네트워크의 다계층인 L2 헤더, L3 헤더, L4 헤더, 페이로드 각각 중에서 문제가 발생한 계층과 네트워크 구간을 분석하고, RTT 및 BPS 및 타임아웃 정보를 이용하여 문제 원인을 분석하여 제공한다.The background processing unit 120 communicates with the network through the socket interface unit 110 , and determines whether communication is successful according to data communication with the network using a script, and performs multi-layer performance analysis on the network. Therefore, the background processing unit 120 measures the time required for the TCP handshake when the script flow processing unit 140 performs the TCP handshake, and calculates the RTT by measuring the time between data transmission and reception during TCP or UDP data transmission and reception. , analyzes the total amount of data by transmission/reception time to extract BPS to determine whether the cause of failure is a timeout or socket error and network section, and provide the cause of the problem by using RTT and BPS and timeout information.

여기서 백그라운드 처리부(120)에서 분석하는 RTT(Round Trip Time)는 클라이언트에서 데이터를 요청한 뒤 서버에서 응답을 받기까지의 시간을 측정하는 것이다. 또한 BPS(bits per second)는 업로드나 다운로드 가능한 최대 데이터 양을 측정하는 것이다. 또한 타임아웃(Timeout)은 오류의 일종이나, 측정 대상에도 포함된다. 그래서 타임아웃의 경우, 연결을 시도했으나 응답이 없거나, 데이터 교환 도중 일방이 갑자기 전송을 멈추는 등의 경우를 포함한다.Here, the RTT (Round Trip Time) analyzed by the background processing unit 120 measures the time from requesting data from the client to receiving a response from the server. Also, bits per second (BPS) measures the maximum amount of data that can be uploaded or downloaded. Also, a timeout is a kind of error, but is also included in the measurement target. So, in the case of timeout, there is no response when a connection is attempted, or one party abruptly stops transmission during data exchange.

스크립트 초기화부(130)는 소켓 인터페이스부(110)를 통해 네트워크의 성능 분석을 수행하기 위한 스크립트에 대해 초기화를 수행한다. 스크립트 초기화부(130)는 필요에 따라 사용하거나 사용하지 않을 수 있다. 스크립트 초기화부(130)는 전역변수 선언(예: 접속 시도 횟수 카운터), 필요 데이터 사전 생성(예: 네트워크 과부하 테스트를 위한 1GB 이상의 dummy payload) 등 통신을 수행하기 전 사전에 준비해야 할 내용들을 초기화하기 위해 사용한다.The script initialization unit 130 initializes a script for performing network performance analysis through the socket interface unit 110 . The script initialization unit 130 may or may not be used as needed. The script initialization unit 130 initializes the contents to be prepared before communication, such as declaring global variables (eg, a counter for the number of connection attempts) and creating a necessary data dictionary (eg, a dummy payload of 1 GB or more for a network overload test). use it to

스크립트 흐름처리부(140)는 스크립트 초기화부(130)에서 초기화된 스크립트에 대해 백그라운드 처리부(120)를 통한 흐름처리를 수행하고, 스크립트가 TCP를 포함하면 TCP 핸드세이크(Handshake)를 수행하게 하고, TCP 또는 UDP 데이터에 대한 네트워크로의 송신과 수신 처리를 수행한다. 그래서 스크립트 흐름처리부(140)는 소켓을 제어하고, 소켓의 주요 이벤트에 반응하여 통신을 제어하고, 테스트 시나리오를 진행하기 위해 사용한다. 스크립트 흐름처리부(140)는 통신 시작, 통신 수행, 성공 선언, 데이터 수신에 따른 이벤트 핸들러 등으로 구성할 수 있다.The script flow processing unit 140 performs flow processing through the background processing unit 120 for the script initialized by the script initialization unit 130, and when the script includes TCP, a TCP handshake is performed, and TCP Alternatively, transmission and reception of UDP data to and from the network are performed. Therefore, the script flow processing unit 140 is used to control the socket, control communication in response to a major event of the socket, and proceed with a test scenario. The script flow processing unit 140 may be configured as an event handler according to communication start, communication execution, success declaration, and data reception.

유틸리티 처리부(150)는 대규모의 더미 데이터(dummy data)를 생성하는 기능, 바이너리 데이터와 16진수 텍스트간의 변환 기능을 포함하여, 스크립트에서 접근이 어려운 자원에 접근하거나 속도가 상대적으로 느린 이유로 빠른 처리가 필요한 기능들을 제공하여, 스크립트 흐름처리부(140)에서 호출하여 사용할 수 있도록 유틸리티 기능을 제공한다.The utility processing unit 150 includes a function of generating a large-scale dummy data, a function of converting between binary data and hexadecimal text, accessing a resource that is difficult to access in a script, or fast processing due to a relatively slow speed. By providing necessary functions, a utility function is provided so that the script flow processing unit 140 can call and use it.

도 3은 도 2의 본 발명이 적용되는 네트워크의 예시도이다.3 is an exemplary diagram of a network to which the present invention of FIG. 2 is applied.

도 3에서와 같이 다계층 성능분석 시스템(100)은 시스템 A(100A) ~ 시스템 E(100E)와 같이 네트워크에서 클라이언트, 서버, 중간의 네트워크 장비들(라우터, 스위치, 보안장비 등)의 각종 위치에 접속할 수 있다. 그래서 다계층 성능분석 시스템(100)은 탑재된 테스트 스크립트의 내용(테스트 시나리오)에 따라 서버와 클라이언트 역할을 모두 수행할 수 있다. 만일 시스템 B(100B)의 서버 통신은 정상이지만 시스템 A(100A)의 통신은 문제가 있다면, 시스템 A(100A)가 연결된 사무실 스위치에 문제가 있다고 판단할 수 있다.As shown in Figure 3, the multi-layer performance analysis system 100 is a network such as system A (100A) ~ system E (100E), various locations of clients, servers, and intermediate network devices (routers, switches, security devices, etc.) can connect to Therefore, the multi-layer performance analysis system 100 can perform both the server and client roles according to the contents (test scenario) of the mounted test script. If the server communication of the system B 100B is normal but there is a problem in the communication of the system A 100A, it may be determined that there is a problem in the office switch to which the system A 100A is connected.

유사하게, 시스템 C(100C)가 클라이언트 역할을 할 때는 시스템 D(100D) 또는 서버팜 서버(100E)로의 통신은 이상이 없으나, 시스템 C(100C)가 서버 역할을 수행할 때 시스템 A(100A)와 시스템 B(100B)가 모두 문제를 일으킨다면 서버팜 스위치(100D)에 문제가 있다고 판단할 수 있다.Similarly, when system C (100C) is acting as a client, communication to system D (100D) or server farm server (100E) is fine, but when system C (100C) is acting as a server, system A (100A) If both and the system B (100B) cause a problem, it can be determined that there is a problem in the server farm switch (100D).

도 4는 도 2에 의해 네트워크 내 임의구간의 다계층 성능 분석을 수행하는 예를 보인 개념도이다.4 is a conceptual diagram illustrating an example of performing multi-layer performance analysis of an arbitrary section in a network according to FIG. 2 .

각 네트워크는 다수의 통신장비 및 보안장비로 구성된다. 이때 통신 품질 저하 또는 통신 이상이 발생한 경우, 문제는 어느 장비가 원인인지를 찾는 것이 가장 중요하다.Each network is composed of a number of communication equipment and security equipment. At this time, when communication quality deterioration or communication abnormality occurs, it is most important to find out which equipment is the cause of the problem.

그래서 본 발명에 의한 구간분석은 클라이언트에서 서버로의 통신에 관여하는 모든 장비와 구간 중 어느 구간에 문제가 있는지 찾아낼 수 있게 한다.Therefore, the section analysis according to the present invention makes it possible to find out which section has a problem among all equipment and sections involved in communication from the client to the server.

도 4와 같은 구조의 경우, A→B→C의 순서로 구간을 옮겨가며 분석하면, 문제의 원인이 되는 장비(IMPACT)를 빠르게 찾아낼 수 있게 된다.In the case of the structure shown in FIG. 4, if the sections are analyzed while moving in the order of A→B→C, it is possible to quickly find the equipment (IMPACT) causing the problem.

도 5는 본 발명이 성능 분석하는 일반적인 네트워크 패킷의 구조도이다.5 is a structural diagram of a general network packet for performance analysis of the present invention.

따라서 본 발명은 L2 헤더인 이더넷, L3 헤더인 IP, L4 헤더인 TCP 또는 UDP, 실제 데이터인 페이로드(Payload) 등의 네트워크 패킷의 다계층을 분석할 수 있다. 그래서 네트워크에서 문제발생시, 어느 네트워크 계층에서 문제가 발생했는지 파악할 수 있다.Therefore, the present invention can analyze multiple layers of network packets such as Ethernet as an L2 header, IP as an L3 header, TCP or UDP as an L4 header, and payload as actual data. So, when a problem occurs in the network, it is possible to identify in which network layer the problem occurred.

만일 네트워크의 성능 분석을 할 때, L3에만 관심이 있다면 L4 이하의 구성은 무시하게 된다. 특정 L7 프로토콜에 관심이 있으면, 모든 헤더와 payload가 모두 다 의미가 있다. 테스트 스크립트를 만들 때, 어느 계층에 관심이 있는지에 따라 테스트 스크립트의 구조와 내용이 달라지게 구성할 수 있다. 이를테면, L4 통신에만 관련이 있으면, payload를 임의의 데이터로 채우거나, 아니면 payload를 아예 비워서 보낼 수도 있다. HTTP 통신을 모사한다면 스크립트에서 payload에 HTTP 요청 및 응답 관련 내용을 생성하도록 만들 수 있다. 스크립트의 내용은 사용자가 어느 계층에 관심이 있느냐에 따라 달라지게 구성할 수 있다.If you are only interested in L3 when performing network performance analysis, configurations below L4 are ignored. If you are interested in a particular L7 protocol, all headers and payloads are meaningful. When creating a test script, the structure and content of the test script can be configured differently depending on which layer you are interested in. For example, if only L4 communication is involved, the payload can be filled with arbitrary data, or the payload can be sent empty. If you mimic HTTP communication, you can make the script generate HTTP request and response related content in the payload. The contents of the script can be configured differently depending on which layer the user is interested in.

동일한 양의 데이터를 전송하는 경우에도 네트워크의 구성 및 보안 설정 등에 따라 특정 조건에서는 동작이 느려지거나 전송이 거부되는 등의 상황이 발생할 수 있다(예: 보안설정으로 인한 차단, 로드 밸런싱 특성에 따른 지연, QoS 설정 등). 이러한 네트워크의 각종 상황에 대해, 본 발명은 스크립팅 엔진을 이용하여 동일 네트워크에서 서로 다른 계층의 성능을 동시에 측정할 수 있다.Even when the same amount of data is transmitted, depending on the network configuration and security settings, the operation may be slowed or transmission may be rejected under certain conditions (e.g., blocking due to security settings, delay due to load balancing characteristics) , QoS settings, etc.). For various situations of such a network, the present invention can measure the performance of different layers in the same network at the same time by using a scripting engine.

예를 들어, 만일 L4 테스트용 스크립트와 HTTP 테스트용 스크립트가 동시에 존재한다면, L4 테스트용 스크립트는 정상 동작하지만 HTTP 테스트용 스크립트는 동작에 실패하는 경우를 고려해 볼 수 있다. 이 사례를 놓고 보면, 동일한 네트워크의 동일한 조건에서 L4 수준에서의 동작과 L7 수준에서의 동작을 같이 측정할 수 있다.For example, if a script for L4 test and a script for HTTP test exist at the same time, it can be considered that the script for L4 test operates normally but the script for HTTP test fails. In this case, the operation at the L4 level and the operation at the L7 level can be measured together under the same conditions in the same network.

따라서 어느 계층을 측정할지는 개발된 스크립트의 내용에 따라 다르게 적용할 수 있고, 각 계층별로 해당하는 스크립트를 적용하여 L3~L7의 계층에 이르는 여러 계층의 성능과 이상동작 등에 대한 측정을 가능하게 한다.Therefore, which layer to measure can be applied differently depending on the contents of the developed script, and by applying the corresponding script for each layer, it is possible to measure the performance and abnormal behavior of various layers ranging from L3 to L7 layers.

도 6은 본 발명의 테스트 시나리오 적용 개념도이다.6 is a conceptual diagram illustrating a test scenario application of the present invention.

라즈베리 파이(Raspberry Pi) 등과 같은 SBC(single-board computer, 단일 보드 컴퓨터) 하드웨어인 경우, 운영체제 계층, TCP 또는 UDP의 네트워크 소켓 계층(Layer, 레이어), 흐름 제어용 스크립팅 엔진이 탑재되면, 스크립트는 테스트 시나리오 1, 테스트 시나리오 2, 테스트 시나리오 3과 같이 다양한 테스트 시나리오로 구현되어 네트워크의 다계층에 대한 성능 분석을 수행할 수 있게 된다.In the case of SBC (single-board computer, single board computer) hardware such as Raspberry Pi, if the operating system layer, the network socket layer of TCP or UDP, and the scripting engine for flow control are loaded, the script is tested It is implemented in various test scenarios such as Scenario 1, Test Scenario 2, and Test Scenario 3 to perform performance analysis on multiple layers of the network.

도 7은 본 발명의 일 실시예에 의한 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 방법을 보인 흐름도이다.7 is a flowchart illustrating a multi-layer performance analysis method of an arbitrary section in a network through a socket control interface according to an embodiment of the present invention.

먼저 소켓 인터페이스 단계(ST1)에서는 다계층 성능 분석 시스템(100)의 소켓 인터페이스부(110)에서 네트워크의 TCP 또는 UDP 소켓과의 인터페이스를 수행하여 네트워크와의 통신을 시작하게 한다.First, in the socket interface step ST1 , the socket interface unit 110 of the multi-layer performance analysis system 100 interfaces with a TCP or UDP socket of the network to start communication with the network.

또한 스크립트 초기화 단계(ST2)에서는 소켓 인터페이스 단계 후 네트워크의 성능 분석을 수행하기 위한 스크립트에 대해 초기화를 수행한다.Also, in the script initialization step ST2, initialization is performed on a script for performing network performance analysis after the socket interface step.

스크립트 및 백그라운드 처리단계(ST3, ST4)에서는 스크립트 초기화 단계에서 초기화된 스크립트에 대해 스크립트 흐름처리부(140)에서 흐름처리를 수행하여, 스크립트가 TCP를 포함하면 TCP 핸드세이크(Handshake)를 수행하게 하고, TCP 또는 UDP 데이터에 대한 네트워크로의 송신과 수신 처리를 수행하며, 백그라운드 처리부(120)에서 스크립트에 의한 네트워크와의 데이터 통신에 따른 통신 성공 여부를 판별하여 네트워크에 대한 다계층 성능 분석을 수행하여, 네트워크에 대한 성능분석의 테스트 결과를 출력한다.In the script and background processing steps (ST3, ST4), the script flow processing unit 140 performs flow processing on the script initialized in the script initialization step, and when the script includes TCP, a TCP handshake is performed, Transmission and reception processing for TCP or UDP data to the network is performed, and the background processing unit 120 determines whether communication is successful according to data communication with the network by a script, and performs multi-layer performance analysis on the network, Output the test result of the performance analysis for the network.

도 8은 도 7의 상세 흐름도이다.8 is a detailed flowchart of FIG. 7 .

그래서 TCP 핸드세이크 단계에서는 소켓 인터페이스부(110)에서 접속한 소켓이 TCP 소켓이면(ST11), 스크립트 흐름처리부(140)에서 TCP 소켓을 선택하고(ST12), TCP 핸드세이크를 수행하도록 처리한다(ST13). 그러면 백그라운드 처리부(120)에서 TCP 핸드세이크를 시도한다(ST14). 그래서 백그라운드 처리부(120)는 TCP 핸드세이크의 성공(ST15) 또는 실패(ST16) 여부를 판정한다. 이때 백그라운드 처리부(120)는 TCP 핸드세이크의 소요시간을 측정한다. 그리고 백그라운드 처리부(120)에서 TCP 핸드세이크 성공 판정을 하면, 스크립트 흐름처리부(140)는 TCP 핸드세이크 성공을 확인한다(ST17).So, in the TCP handshake step, if the socket connected by the socket interface unit 110 is a TCP socket (ST11), the script flow processing unit 140 selects a TCP socket (ST12) and processes to perform a TCP handshake (ST13). ). Then, the background processing unit 120 attempts a TCP handshake (ST14). Therefore, the background processing unit 120 determines whether the TCP handshake succeeds (ST15) or fails (ST16). At this time, the background processing unit 120 measures the time required for the TCP handshake. Then, when the background processing unit 120 determines the TCP handshake success, the script flow processing unit 140 confirms the TCP handshake success (ST17).

소켓이 TCP 소켓이 아니거나 또는 TCP 핸드세이크 단계 완료 후, 스크립트 흐름처리부(140)는 TCP 또는 UDP의 데이터를 네트워크로 송신한다(ST18). 그러면 백그라운드 처리부(120)는 네트워크로의 데이터 송신을 시도한다(ST19). 그리고 데이터 송신 시도에 따른 송신 성공(ST20) 또는 송신 실패(ST21) 판정을 수행한다. 또한 송신 성공이면 네트워크로부터 데이터를 수신한다(ST22). 만약 데이터를 네트워크로부터 수신하지 못하면 수신 실패(ST23)로 판정한다. 이때 백그라운드 처리부(120)는 데이터의 송신과 수신 사이의 시간을 측정하여 RTT를 계산하고, 데이터 총량을 송수신 시간으로 분석하여 BPS를 추출하여, 실패 원인이 타임아웃인지 또는 소켓 오류인지를 판별하고, 네트워크의 다계층인 L2 헤더, L3 헤더, L4 헤더, 페이로드 각각 중에서 문제가 발생한 계층과 네트워크 구간을 분석하고, RTT 및 BPS 및 타임아웃 정보를 이용하여 문제 원인을 분석하여 제공한다.After the socket is not a TCP socket or the TCP handshake step is completed, the script flow processing unit 140 transmits TCP or UDP data to the network (ST18). Then, the background processing unit 120 attempts to transmit data to the network (ST19). Then, the transmission success (ST20) or transmission failure (ST21) determination is performed according to the data transmission attempt. Also, if transmission is successful, data is received from the network (ST22). If data is not received from the network, it is determined as reception failure (ST23). At this time, the background processing unit 120 measures the time between transmission and reception of data to calculate the RTT, extracts the BPS by analyzing the total amount of data as the transmission/reception time, and determines whether the failure cause is a timeout or a socket error, It analyzes the layer and network section where the problem occurs among each of the L2 header, L3 header, L4 header, and payload, which are multi-layers of the network, and analyzes the cause of the problem using RTT and BPS and timeout information and provides it.

그리고 스크립트 흐름처리부(140)는 백그라운드 처리부(120)에서 네트워크로부터 데이터를 수신하면, 수신 데이터에 대한 처리(ex: 데이터 송신, 연결 종류 등)를 수행한다(ST24). 스크립트 흐름처리부(140)는 네트워크로의 데이터 송신과 수신이 완료되어 네트워크와의 연결이 종료되면(ST25), 테스트 성공 선언을 수행한다(ST26).Then, when the background processing unit 120 receives data from the network, the script flow processing unit 140 performs processing (eg: data transmission, connection type, etc.) on the received data (ST24). When the data transmission and reception to the network are completed and the connection to the network is terminated (ST25), the script flow processing unit 140 performs a test success declaration (ST26).

여기서 네트워크의 장애에 따른 실패의 원인은 타임아웃 또는 소켓 오류 중의 하나로 분석할 수 있다.Here, the cause of the failure due to a network failure can be analyzed as either a timeout or a socket error.

또한 소켓이 UDP 또는 raw IP인 경우, TCP 핸드세이크 단계(ST11 ~ ST17)가 생략된다.Also, when the socket is UDP or raw IP, the TCP handshake step (ST11 to ST17) is omitted.

도 9는 도 7에서 스크립트가 TCP fast reconnection 스크립트일 경우의 처리를 보인 흐름도이다.FIG. 9 is a flowchart showing processing when the script in FIG. 7 is a TCP fast reconnection script.

TCP fast reconnection 수행단계(ST31 ~ ST35)에서는 스크립트가 TCP fast reconnection이면, 지정된 서버로 TCP 핸드세이크를 수행하여 TCP 핸드세이크 이벤트를 발생시키고, 서버에 연결되면 연결을 끊는 동작을 복수회(ex: 10회) 반복시킨다.In the step of performing TCP fast reconnection (ST31 ~ ST35), if the script is TCP fast reconnection, it performs a TCP handshake to the specified server to generate a TCP handshake event, and disconnects the connection when connected to the server multiple times (ex: 10 times) is repeated.

그리고 판정단계(ST36)에서는 TCP fast reconnection 수행단계에서 복수회의 반복 횟수가 종료되면, 반복 횟수의 중간에 연결이 안 되는 경우가 발생하면 실패로 판정하고, 복수회의 반복 횟수에서 모두 연결되면 성공으로 판정한다.And in the determination step ST36, when the number of repetitions of multiple times is terminated in the step of performing TCP fast reconnection, if a case in which a connection cannot be established occurs in the middle of the number of repetitions, it is determined as a failure, and when all connections are made in the number of repetitions of multiple times, it is determined as success do.

도 10은 도 7에서 스크립트가 HTTP HEAD 스크립트일 경우의 처리를 보인 흐름도이다.FIG. 10 is a flowchart showing processing when the script in FIG. 7 is an HTTP HEAD script.

HTTP HEAD 수행단계(ST41 ~ ST44)에서는 스크립트가 HTTP HEAD 스크립트이면, TCP 핸드세이크를 수행하여 TCP 핸드세이크 이벤트를 발생시키고, 서버에 연결되면 HTTP HEAD request를 보낸다.In the HTTP HEAD execution steps (ST41 to ST44), if the script is an HTTP HEAD script, a TCP handshake is performed to generate a TCP handshake event, and an HTTP HEAD request is sent when connected to the server.

판정단계(ST45 ~ ST48)에서는 HTTP HEAD 수행단계에서 서버가 데이터를 보내면 서브 응답 이벤트를 발생하고 데이터 송신 및 수신 여부와 RTT를 확인하고, HTTP HEAD 수행단계에서 서버가 일정 시간(ex: 60초) 동안 아무런 응답이 없으면 타임아웃 이벤트를 발생시킨다.In the determination step (ST45 ~ ST48), when the server sends data in the HTTP HEAD execution phase, a sub-response event is generated and the data transmission and reception status and RTT are checked. If there is no response for a while, a timeout event is generated.

도 11은 도 7에서 스크립트가 UDP RTT 스크립트일 경우의 처리를 보인 흐름도이다.FIG. 11 is a flowchart showing processing when the script in FIG. 7 is a UDP RTT script.

UDP RTT 처리단계(ST51, ST52)에서는 스크립트가 UDP RTT 스크립트이면, 지정된 서버로 데이터를 보낸다.In the UDP RTT processing steps ST51 and ST52, if the script is a UDP RTT script, data is sent to the designated server.

판정단계(ST53, ST54)에서는 UDP RTT 처리단계 후 서버 응답 이벤트가 발생하면 성공 처리하고, 서버 응답 이벤트가 발생하지 않으면 실패 처리한다.In the determination steps ST53 and ST54, if a server response event occurs after the UDP RTT processing step, success processing is performed, and if a server response event does not occur, failure processing is performed.

도 12는 도 7에서 스크립트가 SMTP EHLO 스크립트일 경우의 처리를 보인 흐름도이다.FIG. 12 is a flowchart showing processing in the case where the script in FIG. 7 is an SMTP EHLO script.

SMTP EHLO 처리단계(ST61 ~ ST64)에서는 스크립트가 SMTP EHLO 스크립트이면, TCP 핸드세이크를 수행하여 TCP 핸드세이크 이벤트를 발생시키고, 서버에 연결되면 EHLO 메시지를 송신한다.In the SMTP EHLO processing steps (ST61 to ST64), if the script is an SMTP EHLO script, a TCP handshake is performed to generate a TCP handshake event, and when connected to the server, an EHLO message is transmitted.

판정단계(ST65 ~ ST69)에서는 SMTP EHLO 처리단계에서 서버에서의 도메인 서비스가 준비되었다는 메시지를 수신하면 완료처리하고, SMTP EHLO 처리단계에서 서버에서 연결을 강제로 단절하면, 연결 끊어짐 이벤트를 발생시키고 소켓 오류 및 실패 처리한다.In the judgment step (ST65 ~ ST69), if a message indicating that the domain service is ready from the server is received in the SMTP EHLO processing phase, the processing is completed. Handle errors and failures.

다음의 표 1은 본 발명과 종래기술1 및 종래기술2를 비교한 것이다.Table 1 below compares the present invention with the prior art 1 and the prior art 2.

구분division 본 발명the present invention 종래기술1prior art 1 종래기술2prior art 2 검증 대상 네트워크network to be verified TCP/IPTCP/IP TCP/IPTCP/IP TCP/IPTCP/IP 기동 하드웨어startup hardware Windows 또는 Linux 기반의 상용 하드웨어Commercial hardware based on Windows or Linux 자체 개발한 GBICSelf-developed GBIC 스위치/라우터 특수기능Switch/Router Special Features 사용 형태mode of use PC, 서버, SBC(라즈베리 파이 등 소형컴퓨터), 스마트폰, 태블릿 등에 설치 가능.
설치한 하드웨어에 따라 이더넷, WiFi, 이동통신망 (LTE, 5G 등) 등에 다양하게 연결 가능.
It can be installed on PC, server, SBC (small computer such as Raspberry Pi), smartphone, tablet, etc.
Depending on the installed hardware, various connections to Ethernet, WiFi, and mobile communication networks (LTE, 5G, etc.) are possible.
GBIC를 사용할 수 있는 스위치로 한정.
GBIC이 스위치에 호환되지 않으면 사용 불가.
Limited to switches that can use GBIC.
Not available if GBIC is not compatible with the switch.
스위치에서 기능 활성화(스위치에 기능이 없으면 사용 불가)Enable feature on switch (unavailable if switch doesn't have feature)
지원 가능 프로토콜Supported protocols ICMP, TCP, UDP 및 TCP 또는 UDP로 동작하는 모든 L7 프로토콜ICMP, TCP, UDP and any L7 protocol operating as TCP or UDP 지정된 프로토콜 또는 규약(TWAMP / UDP 중심)Specified protocol or convention (TWAMP/UDP centric) 지정된 프로토콜 또는 규약 (TWAMP / UDP 중심)Specified protocol or convention (TWAMP/UDP centric) 테스트 시나리오test scenario TCP handshake 반복, 특정 스타일의 payload 전송, 회선 과부하 시도 등 다양한 형태의 시나리오 적용 가능Various types of scenarios can be applied, such as repeating TCP handshake, sending a specific style of payload, and trying to overload the line RTT 중심의 지정된 시나리오만 사용 가능Only RTT-centric specified scenarios are available RTT 중심의 지정된 시나리오만 사용 가능Only RTT-centric specified scenarios are available 적용 가능 환경Applicable environment 서버-네트워크 특정 구간, 전체 네트워크 중 일부 구간, 클라이언트-네트워크 구간 등 자유롭게 구성 가능Freely configurable server-network specific section, partial network section, client-network section, etc. 스위치에 종속dependent on switch 스위치에 종속dependent on switch

표 1에서와 같이, 본 발명은 검증 대상 네트워크가 TCP/IP로서, 종래기술과 동일하다. As shown in Table 1, in the present invention, the verification target network is TCP/IP, which is the same as in the prior art.

반면에 본 발명의 기동 하드웨어는 윈도우즈 또는 리눅스 기반의 상용 하드웨어로서, 종래기술 보다 기동 하드웨어의 범위가 넓다. On the other hand, the startup hardware of the present invention is commercial hardware based on Windows or Linux, and the range of startup hardware is wider than that of the prior art.

사용형태를 보면, 본 발명은 PC, 서버, SBC(라즈베리 파이 등 소형컴퓨터), 스마트폰, 태블릿 등에 설치 가능하다. 또한 설치한 하드웨어에 따라 이더넷, WiFi, 이동통신망 (LTE, 5G 등) 등에 다양하게 연결 가능하다. 따라서 종래기술이 네트워크의 스위치로 한정되는 것이 비하여 본 발명은 다양한 연결이 가능하다.In terms of use, the present invention can be installed in a PC, a server, an SBC (small computer such as a Raspberry Pi), a smartphone, a tablet, and the like. Also, depending on the installed hardware, it can be connected to Ethernet, WiFi, mobile communication network (LTE, 5G, etc.) in various ways. Therefore, the present invention is capable of various connections, compared to the prior art being limited to a network switch.

지원가능 프로토콜의 경우, 본 발명은 ICMP((Internet Control Message Protocol, 인터넷 제어 메시지 프로토콜), TCP, UDP 및 TCP 또는 UDP로 동작하는 모든 L7 프로토콜에 적용가능하다. 종래기술이 TWAMP 또는 UDP 중심인 것에 비하여, 본 발명은 지원 가능 프로토콜이 더욱 다양하다.As for supportable protocols, the present invention is applicable to ICMP (Internet Control Message Protocol), TCP, UDP and any L7 protocol operating as TCP or UDP. In contrast, in the present invention, supportable protocols are more diverse.

테스트 시나리오를 보면, 본 발명은 TCP handshake 반복, 특정 스타일의 payload 전송, 회선 과부하 시도 등 다양한 형태의 시나리오 적용이 가능하다. 따라서 종래기술이 RTT 중심의 지정된 시나리오만 사용 가능한 것에 비하여, 본 발명은 네트워크의 상태 진단을 위한 다양한 테스트 시나리오 적용이 가능하다.Looking at the test scenario, the present invention can be applied to various types of scenarios such as repeating TCP handshake, transmitting a specific style of payload, and attempting to overload a line. Therefore, while the prior art can use only RTT-centered designated scenarios, the present invention can apply various test scenarios for diagnosing the state of a network.

적용 가능 환경을 보면, 본 발명은 서버-네트워크 특정 구간, 전체 네트워크 중 일부 구간, 클라이언트-네트워크 구간 등 자유롭게 구성 가능하다. 따라서 종래기술이 스위치에 종속되는 것에 비하여, 본 발명은 네트워크 상태 진단을 위한 다양한 구간에서 자유롭게 구성 가능한 장점이 있다.Looking at the applicable environment, the present invention can be freely configured such as a specific server-network section, a partial section of the entire network, and a client-network section. Therefore, compared to the prior art depending on the switch, the present invention has the advantage of being freely configurable in various sections for diagnosing the network state.

이처럼 본 발명은 네트워크에 연결된 소켓(TCP, UDP) 제어 인터페이스를 통한 네트워크에 대한 다계층 성능 분석을 수행하여 클라이언트에서 서버로의 통신에 관여하는 모든 장비와 구간 중 어디에 문제가 있는지 분석을 수행하게 된다.As such, the present invention performs multi-layer performance analysis on the network through a socket (TCP, UDP) control interface connected to the network to analyze where there is a problem among all equipment and sections involved in communication from the client to the server. .

이상에서 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서 본 발명에 개시된 실시예들은 본 발명의 기술적 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술적 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호범위는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술적 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the present invention has been described in more detail with reference to examples above, the present invention is not necessarily limited to these examples, and various modifications may be made within the scope without departing from the technical spirit of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain, and the scope of the technical spirit of the present invention is not limited by these embodiments. The protection scope of the present invention should be construed by the claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

100 : 다계층 성능분석 시스템
110 : 소켓 인터페이스부
120 : 백그라운드 처리부
130 : 스크립트 초기화부
140 : 스크립트 흐름처리부
150 : 유틸리티 처리부
100: multi-layer performance analysis system
110: socket interface unit
120: background processing unit
130: script initialization unit
140: script flow processing unit
150: utility processing unit

Claims (8)

다계층 성능 분석 시스템(100)이 네트워크의 TCP 또는 UDP 소켓과의 인터페이스를 수행하게 하는 소켓 인터페이스부(110)와;
상기 소켓 인터페이스부(110)를 통해 네트워크와 통신하고, 스크립트에 의한 네트워크와의 데이터 통신에 따른 통신 성공 여부를 판별하여 네트워크에 대한 다계층 성능 분석을 수행하는 백그라운드 처리부(120)와;
상기 소켓 인터페이스부(110)를 통해 네트워크의 성능 분석을 수행하기 위한 스크립트에 대해 초기화를 수행하는 스크립트 초기화부(130)와;
상기 스크립트 초기화부(130)에서 초기화된 스크립트에 대해 상기 백그라운드 처리부(120)를 통한 흐름처리를 수행하고, 스크립트가 TCP를 포함하면 TCP 핸드세이크(Handshake)를 수행하게 하고, TCP 또는 UDP 데이터에 대한 네트워크로의 송신과 수신 처리를 수행하는 스크립트 흐름처리부(140);를 포함하여 구성되고,
상기 백그라운드 처리부(120)는, 상기 스크립트 흐름처리부(140)에서 TCP 핸드세이크 수행시, TCP 핸드세이크 소요시간을 측정하고, TCP 또는 UDP의 데이터 송수신시 데이터 송신과 수신 사이의 시간을 측정하여 RTT를 계산하고, 데이터 총량을 송수신 시간으로 분석하여 BPS를 추출하여, 실패 원인이 타임아웃인지 또는 소켓 오류인지를 판별하고, 네트워크의 다계층인 L2 헤더, L3 헤더, L4 헤더, 페이로드 각각 중에서 문제가 발생한 계층과 네트워크 구간을 분석하고, RTT 및 BPS 및 타임아웃 정보를 이용하여 문제 원인을 분석하여 제공하는 것을 특징으로 하는 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 시스템.
a socket interface unit 110 for allowing the multi-layer performance analysis system 100 to interface with a TCP or UDP socket of a network;
a background processing unit 120 communicating with the network through the socket interface unit 110, determining whether communication is successful according to data communication with the network by a script, and performing multi-layer performance analysis on the network;
a script initialization unit 130 that initializes a script for performing network performance analysis through the socket interface unit 110;
Flow processing through the background processing unit 120 is performed on the script initialized by the script initialization unit 130, and a TCP handshake is performed if the script includes TCP, and the TCP or UDP data is processed. Script flow processing unit 140 for performing transmission and reception processing to the network; is configured to include,
The background processing unit 120 measures the time required for the TCP handshake when the script flow processing unit 140 performs the TCP handshake, and measures the time between data transmission and reception when transmitting and receiving TCP or UDP data to perform RTT. It calculates and analyzes the total amount of data by transmission/reception time to extract BPS to determine whether the cause of failure is a timeout or socket error, A multi-layer performance analysis system of an arbitrary section in the network through a socket control interface, characterized in that it analyzes the generated layer and network section, and analyzes the cause of the problem using RTT and BPS and timeout information.
삭제delete 다계층 성능 분석 시스템(100)의 소켓 인터페이스부(110)에서 네트워크의 TCP 또는 UDP 소켓과의 인터페이스를 수행하여 네트워크와의 통신을 시작하게 하는 소켓 인터페이스 단계(ST1)와;
상기 소켓 인터페이스 단계 후 네트워크의 성능 분석을 수행하기 위한 스크립트에 대해 초기화를 수행하는 스크립트 초기화 단계(ST2)와;
상기 스크립트 초기화 단계에서 초기화된 스크립트에 대해 스크립트 흐름처리부(140)에서 흐름처리를 수행하여, 스크립트가 TCP를 포함하면 TCP 핸드세이크(Handshake)를 수행하게 하고, TCP 또는 UDP 데이터에 대한 네트워크로의 송신과 수신 처리를 수행하며, 백그라운드 처리부(120)에서 스크립트에 의한 네트워크와의 데이터 통신에 따른 통신 성공 여부를 판별하여 네트워크에 대한 다계층 성능 분석을 수행하여, 네트워크에 대한 성능분석의 테스트 결과를 출력하는 스크립트 및 백그라운드 처리단계(ST3, ST4);를 포함하여 수행하고,
상기 스크립트 및 백그라운드 처리단계는,
상기 소켓 인터페이스부(110)에서 접속한 소켓이 TCP 소켓이면, 스크립트 흐름처리부(140)에서 TCP 핸드세이크를 수행하도록 처리하고, 백그라운드 처리부(120)에서 TCP 핸드세이크의 소요시간을 측정하여 TCP 핸드세이크의 성공 또는 실패 여부를 진단하는 TCP 핸드세이크 단계(ST11 ~ ST17)와;
소켓이 TCP 소켓이 아니거나 또는 상기 TCP 핸드세이크 단계 후, 상기 스크립트 흐름처리부(140)는 TCP 또는 UDP의 데이터 송신을 위한 스크립트를 처리하고, 상기 백그라운드 처리부(120)는 데이터의 송신과 수신 사이의 시간을 측정하여 RTT를 계산하고, 데이터 총량을 송수신 시간으로 분석하여 BPS를 추출하여, 실패 원인이 타임아웃인지 또는 소켓 오류인지를 판별하고, 네트워크의 다계층인 L2 헤더, L3 헤더, L4 헤더, 페이로드 각각 중에서 문제가 발생한 계층과 네트워크 구간을 분석하고, RTT 및 BPS 및 타임아웃 정보를 이용하여 문제 원인을 분석하여 제공하는 데이터 송수신 처리단계(ST18 ~ ST26);
를 포함하여 수행하는 특징으로 하는 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 방법.
a socket interface step (ST1) of starting communication with a network by performing an interface with a TCP or UDP socket of the network in the socket interface unit 110 of the multi-layer performance analysis system 100;
a script initialization step (ST2) of performing initialization on a script for performing network performance analysis after the socket interface step;
The script flow processing unit 140 performs flow processing on the script initialized in the script initialization step, and when the script includes TCP, a TCP handshake is performed, and TCP or UDP data is transmitted to the network and reception processing, and the background processing unit 120 determines whether communication is successful according to data communication with the network by the script, performs multi-layer performance analysis on the network, and outputs the test result of the performance analysis on the network Script and background processing steps (ST3, ST4);
The script and background processing step,
If the socket accessed by the socket interface unit 110 is a TCP socket, the script flow processing unit 140 processes to perform the TCP handshake, and the background processing unit 120 measures the required time of the TCP handshake to perform the TCP handshake. a TCP handshake step (ST11 to ST17) for diagnosing success or failure;
If the socket is not a TCP socket or after the TCP handshake step, the script flow processing unit 140 processes a script for data transmission of TCP or UDP, and the background processing unit 120 performs an operation between transmission and reception of data. Time is measured to calculate RTT, and BPS is extracted by analyzing the total amount of data as transmission/reception time to determine whether the cause of failure is a timeout or socket error. a data transmission/reception processing step (ST18 to ST26) of analyzing a layer and a network section in which a problem occurs in each payload, and analyzing the cause of the problem using RTT and BPS and timeout information;
A multi-layer performance analysis method of an arbitrary section within a network through a socket control interface, characterized in that it is performed, including:
삭제delete 청구항 3에 있어서,
상기 스크립트 및 백그라운드 처리단계는,
스크립트가 TCP fast reconnection이면, 지정된 서버로 TCP 핸드세이크를 수행하여 TCP 핸드세이크 이벤트를 발생시키고, 서버에 연결되면 연결을 끊는 동작을 복수회 반복시키는 TCP fast reconnection 수행단계(ST31 ~ ST35)와;
상기 TCP fast reconnection 수행단계에서 복수회의 반복 횟수가 종료되면, 반복 횟수의 중간에 연결이 안 되는 경우가 발생하면 실패로 판정하고, 복수회의 반복 횟수에서 모두 연결되면 성공으로 판정하는 판정단계(ST36);
를 포함하여 수행하는 특징으로 하는 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 방법.
4. The method according to claim 3,
The script and background processing step,
If the script is TCP fast reconnection, a TCP fast reconnection performing step (ST31 ~ ST35) of performing a TCP handshake to a designated server to generate a TCP handshake event, and repeating the operation of disconnecting when connected to the server multiple times;
In the TCP fast reconnection performing step, when the number of repetitions of a plurality of times is terminated, a determination step of determining a failure if a connection cannot be made in the middle of the number of repetitions, and determining success if all connections are made in the number of repetitions of the plurality of repetitions (ST36) ;
A multi-layer performance analysis method of an arbitrary section within a network through a socket control interface, characterized in that it is performed, including:
청구항 3에 있어서,
상기 스크립트 및 백그라운드 처리단계는,
스크립트가 HTTP HEAD 스크립트이면, TCP 핸드세이크를 수행하여 TCP 핸드세이크 이벤트를 발생시키고, 서버에 연결되면 HTTP HEAD request를 보내는 HTTP HEAD 수행단계(ST41 ~ ST44)와;
상기 HTTP HEAD 수행단계에서 서버가 데이터를 보내면 서브 응답 이벤트를 발생하고 데이터 송신 및 수신 여부와 RTT를 확인하고, 상기 HTTP HEAD 수행단계에서 서버가 일정 시간 동안 아무런 응답이 없으면 타임아웃 이벤트를 발생시키는 판정단계(ST45 ~ ST48);
를 포함하여 수행하는 특징으로 하는 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 방법.
4. The method according to claim 3,
The script and background processing step,
If the script is an HTTP HEAD script, performing a TCP handshake to generate a TCP handshake event, and sending an HTTP HEAD request when connected to a server (ST41 to ST44);
When the server sends data in the HTTP HEAD execution step, a sub response event is generated, data transmission and reception status and RTT are checked, and when the server does not respond for a certain period of time in the HTTP HEAD execution step, a timeout event is generated. step (ST45 to ST48);
A multi-layer performance analysis method of an arbitrary section within a network through a socket control interface, characterized in that it is performed, including:
청구항 3에 있어서,
상기 스크립트 및 백그라운드 처리단계는,
스크립트가 UDP RTT 스크립트이면, 지정된 서버로 데이터를 보내는 UDP RTT 처리단계(ST51, ST52)와;
상기 UDP RTT 처리단계 후 서버 응답 이벤트가 발생하면 성공 처리하고, 서버 응답 이벤트가 발생하지 않으면 실패 처리하는 판정단계(ST53, ST54);
를 포함하여 수행하는 특징으로 하는 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 방법.
4. The method according to claim 3,
The script and background processing step,
If the script is a UDP RTT script, the UDP RTT processing step (ST51, ST52) of sending data to a designated server;
a determination step (ST53, ST54) of success processing if a server response event occurs after the UDP RTT processing step, and failure processing if no server response event occurs;
A multi-layer performance analysis method of an arbitrary section within a network through a socket control interface, characterized in that it is performed, including:
청구항 3에 있어서,
상기 스크립트 및 백그라운드 처리단계는,
스크립트가 SMTP EHLO 스크립트이면, TCP 핸드세이크를 수행하여 TCP 핸드세이크 이벤트를 발생시키고, 서버에 연결되면 EHLO 메시지를 송신하는 SMTP EHLO 처리단계(ST61 ~ ST64)와;
상기 SMTP EHLO 처리단계에서 서버에서의 도메인 서비스가 준비되었다는 메시지를 수신하면 완료처리하고, 상기 SMTP EHLO 처리단계에서 서버에서 연결을 강제로 단절하면, 연결 끊어짐 이벤트를 발생시키고 소켓 오류 및 실패 처리하는 판정단계(ST65 ~ ST69);
를 포함하여 수행하는 것을 특징으로 하는 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 방법.
4. The method according to claim 3,
The script and background processing step,
If the script is an SMTP EHLO script, the SMTP EHLO processing step (ST61 ~ ST64) of performing a TCP handshake to generate a TCP handshake event, and transmitting an EHLO message when connected to the server;
In the SMTP EHLO processing step, if a message indicating that the domain service is ready from the server is received, the processing is completed. step (ST65 to ST69);
A multi-layer performance analysis method of an arbitrary section in a network through a socket control interface, characterized in that it is performed including a.
KR1020220045191A 2022-04-12 2022-04-12 System and method for multi-layer performance analysis of arbitrary section in network through socket control interface KR102451096B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220045191A KR102451096B1 (en) 2022-04-12 2022-04-12 System and method for multi-layer performance analysis of arbitrary section in network through socket control interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220045191A KR102451096B1 (en) 2022-04-12 2022-04-12 System and method for multi-layer performance analysis of arbitrary section in network through socket control interface

Publications (1)

Publication Number Publication Date
KR102451096B1 true KR102451096B1 (en) 2022-10-06

Family

ID=83597301

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220045191A KR102451096B1 (en) 2022-04-12 2022-04-12 System and method for multi-layer performance analysis of arbitrary section in network through socket control interface

Country Status (1)

Country Link
KR (1) KR102451096B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130093848A (en) * 2012-01-27 2013-08-23 한국전자통신연구원 Packet processing apparatus and method for load balancing of multi-layered protocols
KR101472012B1 (en) * 2013-12-31 2014-12-24 배재대학교 산학협력단 Network simulator based on software
US9306830B2 (en) 2013-01-30 2016-04-05 Accedian Networks Inc. Layer-3 performance monitoring sectionalization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130093848A (en) * 2012-01-27 2013-08-23 한국전자통신연구원 Packet processing apparatus and method for load balancing of multi-layered protocols
US9306830B2 (en) 2013-01-30 2016-04-05 Accedian Networks Inc. Layer-3 performance monitoring sectionalization
KR101472012B1 (en) * 2013-12-31 2014-12-24 배재대학교 산학협력단 Network simulator based on software

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Timothy Claeys 외 4 명, ‘Performance of the Transport Layer Security Handshake Over 6TiSCH’, Sensors 2021, (2021.03.21.)* *

Similar Documents

Publication Publication Date Title
US11522734B2 (en) Method for controlling a remote service access path and relevant device
US10097645B2 (en) Method and apparatus of performing peer-to-peer communication establishment and connection change-over
US7693045B2 (en) Verifying network connectivity
CN101164287A (en) File transfer protocol service performance testing method
US20150180743A1 (en) System and method for replaying network captures
US11307945B2 (en) Methods and apparatus for detecting, eliminating and/or mitigating split brain occurrences in high availability systems
JP2014502459A (en) System and method for measuring available capacity and narrow link capacity of an IP path from a single endpoint
BRPI0622098A2 (en) dual-mode and single-mode terminals, communication system, and software product
US20080010523A1 (en) Performance Testing Despite Non-Conformance
JP2014531866A (en) Test traffic interceptor
CN101595686A (en) Trigger the flow analysis at intermediate equipment place
US20060187820A1 (en) Vector routing-revised
JP6491091B2 (en) Method for monitoring wireless link of Wi-Fi node of subscriber premises equipment and subscriber premises equipment using the method
US9509777B2 (en) Connection method and management server
US20060280133A1 (en) Full duplex/half duplex mismatch detecting method and full duplex/half duplex mismatch detecting apparatus applicable with the method
KR102451096B1 (en) System and method for multi-layer performance analysis of arbitrary section in network through socket control interface
CN114143387B (en) QUIC-based application layer communication method, device and storage medium
US20040201382A1 (en) Error-tolerant connection test
US9769042B2 (en) Method for monitoring a communication system
CN108512686B (en) Multi-device data transmission method, device and system
CN113676369B (en) Network quality analysis method, data receiving server and storage medium
US20240015099A1 (en) Network traffic routing in an sd-wan
US20210119984A1 (en) Failure detection device, failure detection method, and failure detection program
CN116132333A (en) Method and device for selecting main WAN (wide area network) port by multi-WAN-port CPE (customer premise equipment)
KR100405661B1 (en) Operation system and method for high availability using agent in gateway

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant