KR101364746B1 - Trouble diagnosis apparatus and method for application delivery controller - Google Patents
Trouble diagnosis apparatus and method for application delivery controller Download PDFInfo
- Publication number
- KR101364746B1 KR101364746B1 KR1020130122093A KR20130122093A KR101364746B1 KR 101364746 B1 KR101364746 B1 KR 101364746B1 KR 1020130122093 A KR1020130122093 A KR 1020130122093A KR 20130122093 A KR20130122093 A KR 20130122093A KR 101364746 B1 KR101364746 B1 KR 101364746B1
- Authority
- KR
- South Korea
- Prior art keywords
- server
- packets
- packet
- adc
- time
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0604—Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
- H04L41/0613—Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time based on the type or category of the network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 어플리케이션 전달 컨트롤러 장애 진단 장치 및 방법에 관한 것으로, 특히 부하분산 장애와 서버 응답시간 지연 장애를 효과적으로 진단할 수 있는 어플리케이션 전달 컨트롤러 장애 진단 장치 및 방법에 관한 것이다.
The present invention relates to an apparatus and method for diagnosing an application delivery controller failure, and more particularly, to an apparatus and method for diagnosing an application delivery controller failure capable of effectively diagnosing a load balancing failure and a server response time delay failure.
어플리케이션 전달 컨트롤러(Application Delivery Controller, 이하 ADC라 함)란 어플리케이션 데이터를 조정하는 서버부하 분산기능을 하는 네트워크 장비이다.An Application Delivery Controller (ADC) is a network device that performs a server load distribution function to adjust application data.
이러한 ADC의 주요 기능으로는 서버부하 분산(Server Load Balancing), 방화벽 부하 분산(Firewall Load Balancing), 헬쓰 체크(Health Check), 대역폭 관리(Bandwidth Management) 등의 기능이 있다.Key features of these ADCs include Server Load Balancing, Firewall Load Balancing, Health Check, and Bandwidth Management.
여기서, 서버부하 분산은 하나의 인터넷 서비스에서 서버로 향하는 트래픽을 동일한 서비스를 제공하는 여러 개의 서버에게 효율적으로 분배하여 서버의 부하를 분산시켜 주는 기능을 의미한다.Here, the server load distribution refers to a function that distributes the load of the server by efficiently distributing the traffic from one Internet service to the server to multiple servers providing the same service.
자세히 말하면, 상기 서버부하 분산은 동일한 역할을 수행하는 서버 그룹을 가상 주소(Virtual IP Address)를 통해 관리하며, 서버로 향하는 트래픽을 일단 가상 주소를 가진 네트워크 장비(ADC)로 수신한 후, 분배정책에 따라 적절한 서버에 분배해 주는 것이다. 이러한 가상 주소는 서버 그룹의 대표 IP라 할 수 있다.In more detail, the server load distribution manages a group of servers that perform the same role through a virtual IP address, and receives traffic destined for the server to a network device (ADC) having a virtual address. According to the distribution to the appropriate server. This virtual address may be referred to as a representative IP of the server group.
최근 대부분의 사이트는 서버 한대로 사용자들의 트래픽을 감당하기 어렵기 때문에 동일한 역할을 수행하는 서버를 여러 대 두어서 사용자들의 트래픽이 증가하더라도 유연하고 안정적으로 사이트를 운영하고 있으며 이러한 트래픽 분산을 위해 ADC를 이용하고 있다.Recently, since most sites cannot handle the traffic of users with one server, there are several servers that play the same role, so that even if the traffic of users increases, the site operates flexibly and stably. Doing.
서버부하 분산은 설정에 따라 응답속도가 빠른 서버에 연결하는 방식 또는 접속이 가장 적은 서버에 연결하는 방식 등이 있으며, 이 방식을 부하 분산방식(Load Balancing Method)이라고 하고, L4 스위치에서 부하 분산을 하는 기준으로 장비별로 제공되는 방법에는 차이가 있다.Server Load Balancing is a method of connecting to a server with fast response or a server with the fewest connections depending on the configuration. This method is called Load Balancing Method. There is a difference in the methods provided for each equipment.
한편, 이러한 기능을 제공하는 ADC의 경우 장애가 발생할 경우 서비스 운영에 상당한 지장이 발생하게 되는데 이러한 ADC에서 주로 발생하는 장애로는 부하 분산 장애와 서버 응답시간 지연 장애가 있다.On the other hand, in case of an ADC that provides such a function, a significant disruption in service operation occurs when a failure occurs. The failures that occur mainly in the ADC include load balancing failure and server response time delay failure.
서버부하 분산의 장애란 부하 분산(load balancing) 설정에 맞추어 장비가 적절히 부하 분산을 하지 못하는 경우를 말한다. 예를 들어, 라운드-로빈(round-robin) 방식으로 부하 분산을 설정했음에도 불구하고 한쪽 서버로 부하가 몰리는 경우를 말한다. Failure of server load balancing is when the equipment fails to load balance properly in accordance with the load balancing configuration. For example, the load is concentrated on one server even though the load balancing is set in a round-robin manner.
서버 응답시간 지연은 사용자의 서비스 요청에 대한 응답시간이 늦음으로써, 서비스의 품질이 떨어지는 현상을 의미한다.The server response time delay refers to a phenomenon in which the quality of service is deteriorated due to a late response time for a service request of a user.
도 1은 ADC가 사용되는 일반적인 실시예를 개략적으로 도시한 도면이다.1 is a diagram schematically illustrating a general embodiment in which an ADC is used.
도시된 바와 같이, 종래의 서버부하 분산 관리시스템은 사용자가 가상 주소로 접속하는 클라이언트 단말(10), 어플리케이션에 저장된 어플리케이션 서버(14, 15, 16) 및 이러한 클라이언트 단말(10)과 어플리케이션 서버 사이에서 부하를 분산시키는 ADC(12)로 구성된다. As shown in the drawing, the conventional server load distribution management system includes a
도시된 구성은 하나의 ADC(12)가 3개의 실질적인 어플리케이션 서버(14, 15, 16)에 부하를 분산시키는 것에 대한 예시적 구성이지만 실질적으로는 복수의 ADC가 복수의 실제 서버(Real Server)와 다양하게 연결되어 해당 실제 서버 내에 논리적으로 구성되는 복수의 가상 서버(Virtual Server)에 대한 기능을 설정하고 그 상태를 모니터링해야 하는 것이 일반적이다. The illustrated configuration is an example configuration in which one
따라서, 이러한 ADC를 구비한 서버부하 분산 관리시스템에서 장애가 발생할 경우 그 원인을 신속하고 명확하게 판단해야 하며, 지속적 모니터링을 통해서 장애가 발생할 가능성이 발견될 경우 사전에 그에 대한 조치를 취해야 한다. Therefore, if a failure occurs in a server load distributed management system equipped with such an ADC, the cause of the failure should be determined quickly and clearly, and action should be taken in advance if a failure is found through continuous monitoring.
하지만, 현재까지는 모니터링 대상이 장비의 상태를 기준으로 하기 때문에 ADC나 실제 서버에 대한 성능이나 상태는 감시가 가능하지만 논리적으로 다양하고 복잡하게 구성되는 가상 서버를 단위로 장애가 발생하고 있는 상황에서 가상 서버 설정 오류, 부하 분산 설정 오류, ADC 고장, 가상 서버 오류, 가상 서버와 연동되는 하나 이상의 실제 서버 오류 중 어떠한 장애가 발생했는지를 판단하기에는 쉽지 않다. However, until now, the monitoring target is based on the status of the equipment, so it is possible to monitor the performance or status of the ADC or the actual server, but in the case of failures in logically diverse and complex virtual servers, It is difficult to determine which of the configuration errors, load balancing configuration errors, ADC failures, virtual server errors, or one or more real server errors associated with the virtual server has occurred.
따라서, 장애가 발생할 경우 ADC 전체에 대한 재설정, 교체가 이루어지거나 관련된 실제 서버 전체가 재설정되거나 교체되는 비효율적 관리가 이루어지고 있는 실정이다. Therefore, in the event of a failure, the entire ADC is reset or replaced, or the inefficient management of the entire actual server is reset or replaced.
한편, 다수의 ADC와 다수의 실제 서버를 통해 서비스를 제공하고 있는 경우 전체적인 서비스 관리는 가상 서버를 대상으로 이루어지게 되므로 장애에 대한 모니터링과 대응 역시 가상 서버를 기준으로 하는 것이 바람직하지만 현재까지는 장비를 단위로 장애가 모니터링 및 관리되므로 논리적 관리와 실질적 장애 사이의 괴리에 의해 네트워크 관리가 복잡하여 관리 비용이 높아지고 장애 발생 시 대응이 늦어 서비스 신뢰성이 낮아지는 상황이 발생하고 있다.
On the other hand, if the service is provided through multiple ADCs and multiple real servers, overall service management is performed on the virtual servers. Therefore, monitoring and response to failures are also preferably based on virtual servers. Since failures are monitored and managed on a per-unit basis, network management is complicated by the gap between logical management and actual failure, resulting in high management costs and slow response when failures occur, resulting in low service reliability.
본 발명은 상기 문제점을 해소하기 위해 안출된 본 발명 실시예의 목적은 가상 서버를 판단의 기준으로 하여 부하 분산 장애와 서버 응답시간 지연 장애를 서비스 품질 저하 없이 명확하게 진단할 수 있도록 한 어플리케이션 전달 컨트롤러 장애 진단 장치 및 방법을 제공하는 데 있다.An object of the present invention devised to solve the above problems is an application delivery controller failure to clearly diagnose load balancing failure and server response time delay failure without deterioration of service quality based on the virtual server as a criterion of determination. It is to provide a diagnostic apparatus and method.
본 발명 실시예의 다른 목적은 어플리케이션 전달 컨트롤러에 유입되는 패킷을 수집하여 전송계층 상의 TCP(Transmission Control Protocol) 플래그를 기준으로 사용자 요청에 대한 가상 서버의 동작 및 그에 따른 실제 서버의 동작을 구분하고 명시적 요청에 대한 부하 분산 동작이나 처리 시간을 파악함으로써 장애 발생 여부는 물론이고 장애 발생의 가능성도 용이하게 판단할 수 있도록 한 어플리케이션 전달 컨트롤러 장애 진단 장치 및 방법을 제공하는 데 있다.
Another object of the embodiment of the present invention is to collect the packets flowing into the application delivery controller to distinguish the operation of the virtual server and the actual operation of the server according to the user request based on the Transmission Control Protocol (TCP) flag on the transport layer It is an object of the present invention to provide an apparatus and method for diagnosing a failure of an application delivery controller that enables a user to easily determine whether or not a failure occurs by identifying a load balancing operation or processing time for a request.
상기 목적을 달성하기 위한 어플리케이션 전달 컨트롤러 장애 진단 장치는 어플리케이션 전달 컨트롤러(ADC)에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집부; 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하는 사용자 요청 분석부; 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하는 실제 서버 요청 분석부; 상기 사용자 요청 분석부의 요청 패킷 수와 상기 실제 서버 요청 분석부의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하는 부하분산 검증부를 포함하는 것을 특징으로 한다.Application delivery controller failure diagnosis apparatus for achieving the above object includes an ADC inflow packet collector for collecting a packet flowing into the application delivery controller (ADC); A user request analyzer configured to count the number of syn packets transmitted from the user terminal to the ADC among the packets collected by the ADC inflow packet collector as the number of user request packets; An actual server request analyzer configured to count the number of syn packets provided from the virtual server to the real server among the packets collected by the ADC inflow packet collection unit as the number of real server packets for each server; And a load distribution verification unit that determines an operation state of load balancing based on the number of request packets of the user request analyzer and the actual number of server packets of the server request analyzer.
상기 사용자 요청 분석부는 해싱값을 계산하여 실제 서버 별로 할당된 사용자 요청 패킷의 수를 확인하고, 상기 부하분산 검증부는 상기 사용자 요청 분석부를 통해 얻은 상기 사용자 요청 패킷의 실제 서버 할당 수와 상기 실제 서버 별 실제 서버 패킷 수가 대응되는지 확인하여 해시 부하 분산 동작 상태를 판단할 수 있다.The user request analyzer calculates a hashing value to check the number of user request packets allocated for each real server, and the load balancing verifier determines the actual server allocation number of the user request packets obtained by the user request analyzer and the actual server. The hash load balancing operation state can be determined by checking whether the actual number of server packets corresponds.
상기 사용자 요청 분석부는 상기 실제 서버 별 실제 서버 패킷 수가 균등하게 분산되었는지 확인하여 라운드 로빈 부하 분산 동작 상태를 판단할 수 있다.The user request analyzer may determine a round robin load balancing operation state by checking whether the number of real server packets for each real server is equally distributed.
가상 서버와 실제 서버 간의 대응 관계나 부하 분산 방식, 서버 응답 시간 지연 기준 등을 관리자 입력이나 ADC 접속을 통해 수집하는 설정 정보 수집부를 더 포함할 수 있다.The apparatus may further include a configuration information collection unit configured to collect a correspondence relationship between the virtual server and the real server, a load balancing scheme, and a server response time delay criterion through an administrator input or an ADC connection.
상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사부를 더 포함할 수 있다.ADC request processing time between the user request packet and the real server request packet, the real server response time between the real server request packet and the response packet responded by the real server, and the response packet of the real server and correspondingly The apparatus may further include a delay check unit that compares the sum of the ADC response processing time between the provided response packets with a reference time.
상기 지연시간 검사부는 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 소스 주소가 사용자의 IP이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고, 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 ADC 요청 처리 시간으로 계산할 수 있다.The delay time checker finds a packet whose source address is the user's IP and the TCP flag is syn and checks the time among the packets collected by the ADC inflow packet collector, and the source address is the virtual server IP and the destination address is the real server IP. At this point, we can find the packet whose TCP flag is syn, check the time, and calculate the difference in time as the ADC request processing time.
상기 지연시간 검사부는 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 실제 서버 응답 시간으로 계산할 수 있다.The delay time checker finds a packet whose source address is a virtual server IP, a destination address is a real server IP, and a TCP flag is syn, and checks the time among the packets collected through the ADC inflow packet collector. We can find the packet whose address is the virtual server and whose TCP flag is synack, check the time, and calculate the difference between each time as the actual server response time.
상기 지연시간 검사부는 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인하고 소스 주소가 가상 서버이고 목적지 주소가 사용자 IP이면서 TCP 플래그가 synack인 패킷을 찾아 시간을 확인한 후 각 시간의 차이를 ADC 응답 처리 시간으로 계산할 수 있다.
The delay checker finds a packet whose source address is a real server, a destination address is a virtual server, and a TCP flag is synack among the packets collected by the ADC inflow packet collector, and checks the time, and the source address is a virtual server and a destination address is After checking the time by finding the packet with user IP and TCP flag synack, the time difference can be calculated as the ADC response processing time.
본 발명의 다른 실시예에 따른 어플리케이션 전달 컨트롤러 장애 진단 장치는, 어플리케이션 전달 컨트롤러에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집부; 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하고 그 시간을 확인하며 선택적으로 해싱값을 계산하여 실제 서버별 할당된 패킷의 수를 확인하는 사용자 요청 분석부; 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하고 그 시간을 확인하는 실제 서버 요청 분석부; 상기 사용자 요청 분석부의 요청 패킷 수와 상기 실제 서버 요청 분석부의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하며 선택적으로 사용자 요청 패킷의 실제 서버 할당 수와 서버별 실제 서버 패킷 수가 같은지 판단하거나 실제 서버 패킷 수가 서버 별로 균일하게 분산되었는지 판단하는 부하분산 검증부; 상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사부를 포함하는 것을 특징으로 한다.
Application delivery controller failure diagnosis apparatus according to another embodiment of the present invention, the ADC incoming packet collection unit for collecting the packet flowing into the application delivery controller; Among the packets collected by the ADC inflow packet collection unit, the number of syn packets transmitted from the user terminal to the ADC is counted as the number of user request packets, the time is checked, and the hashing value is selectively calculated to calculate the number of packets actually allocated for each server. A user request analyzer for checking; A real server request analysis unit for counting the number of syn packets provided from the virtual server to the real server among the packets collected by the ADC inflow packet collection unit as the number of real server packets for each server and checking the time; Determine an operation state of load balancing based on the number of request packets of the user request analyzer and the number of actual server packets of the actual server request analyzer; and optionally determine whether the actual server allocation number of the user request packet is equal to the actual number of server packets per server, or A load balancing verifier determining whether the actual number of server packets is uniformly distributed for each server; ADC request processing time between the user request packet and the real server request packet, the real server response time between the real server request packet and the response packet responded by the real server, and the response packet of the real server and correspondingly And a delay time checker for comparing the total of the ADC response processing time between the provided response packets with a reference time.
본 발명의 또 다른 실시예에 따른 어플리케이션 전달 컨트롤러 장애 진단 방법은 어플리케이션 전달 컨트롤러와 연동하여 장애를 진단하는 장애 진단 장치를 이용한 장애 진단 방법으로서, 상기 장애 진단 장치가 상기 ADC에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집 단계; 상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하는 사용자 요청 분석 단계; 상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하는 실제 서버 요청 분석 단계; 상기 장애 진단 장치가 상기 사용자 요청 분석 단계의 요청 패킷 수와 상기 실제 서버 요청 분석 단계의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하는 부하분산 검증 단계를 포함하는 것을 특징으로 한다.An application delivery controller failure diagnosis method according to another embodiment of the present invention is a failure diagnosis method using a failure diagnosis apparatus for diagnosing a failure by interworking with an application delivery controller, wherein the failure diagnosis apparatus collects packets flowing into the ADC. ADC incoming packet collection step; A user request analysis step of counting the number of syn packets transmitted from the user terminal to the ADC among the packets collected by the fault diagnosis apparatus through the ADC inflow packet collection step as the number of user request packets; An actual server request analysis step of counting the number of syn packets provided from the virtual server to the real server among the packets collected by the fault diagnosis apparatus through the ADC inflow packet collection step by the actual number of server packets for each server; The failure diagnosis apparatus includes a load balancing verification step of determining an operation state of load balancing based on the number of request packets in the user request analysis step and the number of actual server packets in the actual server request analysis step.
상기 사용자 요청 분석 단계는 해싱값을 계산하여 실제 서버 별로 할당된 사용자 요청 패킷의 수를 확인하는 단계를 포함하고, 상기 부하분산 검증 단계는 상기 사용자 요청 분석 단계를 통해 얻은 상기 사용자 요청 패킷의 실제 서버 할당 수와 상기 실제 서버 별 실제 서버 패킷 수가 대응되는지 확인하여 해시 부하 분산 동작 상태를 판단하는 단계를 포함할 수 있다.The user request analyzing step includes calculating a hashing value and checking the number of user request packets allocated for each real server, and the load balancing verifying step includes a real server of the user request packet obtained through the user request analysis step. The method may include determining a hash load balancing operation state by checking whether an allocation number corresponds to an actual server packet number for each actual server.
상기 사용자 요청 분석 단계는 상기 실제 서버 별 실제 서버 패킷 수가 균등하게 분산되었는지 확인하여 라운드 로빈 부하 분산 동작 상태를 판단하는 단계를 포함할 수 있다.The analyzing of the user request may include determining whether the actual number of actual server packets for each real server is equally distributed to determine a round robin load balancing operation state.
가상 서버와 실제 서버 간의 대응 관계나 부하 분산 방식, 서버 응답 시간 지연 기준 등을 관리자 입력이나 ADC 접속을 통해 수집하는 설정 정보 수집 단계를 더 포함할 수 있다.The method may further include a configuration information collection step of collecting a correspondence relationship, a load balancing method, a server response time delay criterion, etc. between the virtual server and the real server through an administrator input or an ADC connection.
상기 장애 진단 장치가 상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사 단계를 더 포함할 수 있다.The apparatus for diagnosing the error may include an ADC request processing time between the user request packet and an actual server request packet, an actual server response time between an actual server request packet and a response packet responded by the actual server, and a response packet of the actual server. In response thereto, the method may further include a delay time checking step of comparing the sum of the ADC response processing time between the response packets provided to the user with the reference time.
상기 지연시간 검사 단계는 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 소스 주소가 사용자의 IP이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고, 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 ADC 요청 처리 시간으로 계산할 수 있다.In the delay checking step, a packet having a source address of the user's IP and a TCP flag syn is identified from the packets collected through the ADC inflow packet collecting step, and checking the time, and the source address is the virtual server IP and the destination address is the actual address. After finding the packet with the server IP and the TCP flag syn, the time can be checked and the time difference can be calculated as the ADC request processing time.
상기 지연시간 검사 단계는 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 실제 서버 응답 시간으로 계산할 수 있다.In the delay checking step, a packet having a source address of virtual server IP, a destination address of real server IP, and a TCP flag syn, and checking the time are identified among the packets collected through the ADC inflow packet collection step, and the source address of the real server And you can find the packet whose destination address is the virtual server and whose TCP flag is synack, check the time, and calculate the difference of each time as the actual server response time.
상기 지연시간 검사 단계는 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인하고 소스 주소가 가상 서버이고 목적지 주소가 사용자 IP이면서 TCP 플래그가 synack인 패킷을 찾아 시간을 확인한 후 각 시간의 차이를 ADC 응답 처리 시간으로 계산할 수 있다.
In the delay checking step, a packet having a source address is a real server, a destination address is a virtual server, and a TCP flag is synack among the packets collected through the ADC inflow packet collection step is checked for the time, and the source address is a virtual server. After checking the time by looking for the packet whose address is user IP and whose TCP flag is synack, the time difference can be calculated as the ADC response processing time.
본 발명의 또 다른 실시예에 따른 어플리케이션 전달 컨트롤러 장애 진단 방법은 어플리케이션 전달 컨트롤러와 연동하여 장애를 진단하는 장애 진단 장치를 이용한 장애 진단 방법으로서, 상기 장애 진단 장치가 어플리케이션 전달 컨트롤러에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집 단계; 상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하고 그 시간을 확인하며 선택적으로 해싱값을 계산하여 실제 서버별 할당된 패킷의 수를 확인하는 사용자 요청 분석 단계; 상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하고 그 시간을 확인하는 실제 서버 요청 분석 단계; 상기 장애 진단 장치가 상기 사용자 요청 분석 단계의 요청 패킷 수와 상기 실제 서버 요청 분석 단계의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하며 선택적으로 사용자 요청 패킷의 실제 서버 할당 수와 서버별 실제 서버 패킷 수가 같은지 판단하거나 실제 서버 패킷 수가 서버 별로 균일하게 분산되었는지 판단하는 부하분산 검증 단계; 상기 장애 진단 장치가 상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사 단계를 포함하는 것을 특징으로 한다.
The application delivery controller failure diagnosis method according to another embodiment of the present invention is a failure diagnosis method using a failure diagnosis apparatus for diagnosing a failure by interworking with an application delivery controller, and the failure diagnosis apparatus collects packets flowing into the application delivery controller. ADC incoming packet collection step; The fault diagnosis apparatus counts the number of syn packets transmitted from the user terminal to the ADC among the packets collected through the ADC inflow packet collection step as the number of user request packets, checks the time, and optionally calculates a hashing value for each server. A user request analysis step of confirming the number of allocated packets; An actual server request analysis step of counting the number of syn packets provided from the virtual server to the real server among the packets collected by the fault diagnosis apparatus through the ADC inflow packet collecting step by the number of real server packets for each server and checking the time; The failure diagnosis apparatus determines an operation state of load balancing based on the number of request packets in the user request analysis step and the number of actual server packets in the actual server request analysis step. A load balancing verification step of determining whether the actual number of server packets is the same or determining whether the actual number of server packets is uniformly distributed for each server; The apparatus for diagnosing the error may include an ADC request processing time between the user request packet and an actual server request packet, an actual server response time between an actual server request packet and a response packet responded by the actual server, and a response packet of the actual server. In response thereto, a delay checking step of comparing the sum of the ADC response processing time between the response packets provided to the user and the reference time may be included.
상기한 바와 같이 구성되는 본 발명의 실시예에 따른 어플리케이션 전달 컨트롤러 장애 진단 장치 및 방법은 가상 서버를 판단의 기준으로 하여 부하 분산 장애와 서버 응답시간 지연 장애를 서비스 품질 저하 없이 명확하게 진단할 수 있는 효과가 있다.The apparatus and method for diagnosing an application delivery controller failure according to an embodiment of the present invention configured as described above can clearly diagnose a load balancing failure and a server response time delay failure without degrading the service quality by using a virtual server as a criterion of determination. It works.
본 발명의 실시예에 따른 어플리케이션 전달 컨트롤러 장애 진단 장치 및 방법은 어플리케이션 전달 컨트롤러에 유입되는 패킷을 수집하여 전송계층 상의 TCP 플래그를 기준으로 사용자 요청에 대한 가상 서버의 동작 및 그에 따른 실제 서버의 동작을 구분하고 명시적 요청에 대한 부하 분산 동작이나 처리 시간을 파악함으로써 장애 발생 여부는 물론이고 장애 발생의 가능성도 용이하게 판단할 수 있는 효과가 있다.
The apparatus and method for diagnosing a failure of an application delivery controller according to an exemplary embodiment of the present invention collects packets flowing into the application delivery controller to perform an operation of a virtual server for a user request based on a TCP flag on a transport layer and an operation of an actual server accordingly. By identifying and identifying the load balancing operation or processing time for explicit requests, it is possible to easily determine whether or not a failure occurs.
도 1은 ADC가 사용되는 일반적인 실시예를 개략적으로 도시한 도면.
도 2는 가상 서버와 실제 서버의 대응 방식의 예시도.
도 3은 본 발명의 실시예에 따른 어플리케이션 전달 컨트롤러 장애 진단 장치가 적용된 서버부하 분산 시스템의 구성예.
도 4는 본 발명에 따른 해쉬(Hash) 부하 분산 탐지단계의 흐름을 도시한 순서도.
도 5는 본 발명에 따른 라운드-로빈(Round-robin) 부하 분산 탐지단계의 흐름을 도시한 순서도.
도 6은 본 발명에 따른 서버 응답시간 지연 탐지방법의 흐름을 도시한 순서도.1 shows schematically a general embodiment in which an ADC is used;
2 is an exemplary diagram of a corresponding method of a virtual server and a real server.
3 is a configuration example of a server load distribution system to which the application delivery controller failure diagnosis apparatus according to an embodiment of the present invention is applied.
Figure 4 is a flow chart illustrating the flow of hash load balancing detection step in accordance with the present invention.
5 is a flow chart illustrating the flow of a round-robin load balancing detection step in accordance with the present invention.
6 is a flow chart showing the flow of the server response time delay detection method according to the present invention.
이하, 본 발명의 바람직한 실시예를 첨부도면들을 참조하여 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 2는 ADC에 의해 논리적으로 설정되는 가상 서버(Virtual Server:VS)와 실제 서버(Real Server:RS)의 대응 관계를 예시한 것으로, 도시한 바와 같이 가상 서버는 실제 서버와 1:1 대응될 수 있고, 하나의 가상 서버가 복수의 실제 서버와 1:n 으로 대응될 수 있으며, 복수의 가상 서버가 하나의 실제 서버와 n:1 로 대응될 수 있고, 복수의 가상 서버와 복수의 실제 서버가 n:n 으로 대응될 수도 있다. FIG. 2 illustrates a correspondence relationship between a Virtual Server (VS) and a Real Server (RS) logically set by the ADC. As shown in FIG. One virtual server may correspond to a plurality of real servers in 1: n, and a plurality of virtual servers may correspond to one real server in n: 1, and a plurality of virtual servers and a plurality of real servers May correspond to n: n.
실질적으로 ADC의 수와 실제 서버의 수 및 서비스의 종류에 따라 대단히 다양한 논리적 가상 서버와 실제 서버의 대응 관계가 이루어지며 이러한 대응 관계는 실제 서버의 교체나 ADC의 교체 등에 의한 물리적 이유로 인하여 변동될 수 있고, 서비스의 확장이나 축소 등과 같은 논리적 이유로 인하여 변동될 수 있으므로 ADC에서의 가상 서버 설정, 네트워크 장비 설정 등은 가변적이어서 이를 지속적으로 관리하는 것이 용이하지 않다.In practice, there are various correspondences between logical virtual servers and real servers depending on the number of ADCs, the number of real servers, and the types of services. These correspondences may change due to physical reasons such as replacement of real servers or replacement of ADCs. As it can be changed due to logical reasons such as expansion or contraction of services, virtual server configuration and network equipment configuration in the ADC are variable and it is not easy to continuously manage them.
한편, ADC의 경우 제조사에 따라 설정 방식이 상이하기 때문에 여러 제조사의 ADC들이 포함된 네트워크의 경우 설정 미숙에 의한 장애 발생 위험이 높으며 이러한 논리적 가상 서버 설정에 의한 장애 시 장비 단위 상태 모니터링 만으로는 이러한 논리적 장애 원인을 명확하게 파악하기 어렵다. On the other hand, the ADC has a different configuration method depending on the manufacturer, so a network containing ADCs from multiple manufacturers has a high risk of failure due to inadequate configuration. It is difficult to clearly identify the cause.
특히, 기존 네트워크 장비의 경우 해당 장비의 기능에 관한 검증을 수행하는 헬쓰체크 기능을 통해서 해당 장비 자체에 대한 장애 판단이 가능했지만 ADC와 같이 부하를 분산시키기 위해 동일 기능의 논리적 가상 서버들을 관리하는 경우는 가상 서버와 실제 서버 간의 관계, 가상 IP를 이용하여 통합적으로 접속하는 사용자와의 관계, 부하 분산 관계 등을 복합적으로 고려해야 할 뿐만 아니라 복수의 ADC에 소정 서비스에 대한 부하 분산 기능이 분산 설정되는 경우도 존재하므로 ADC 장비가 자체적으로 부하 분산에 대한 장애나 서버 응답 시간 지연 장애를 진단하기 어렵다.In particular, in case of existing network equipment, failure check on the equipment itself is possible through the health check function that verifies the function of the equipment, but when managing logical virtual servers of the same function to distribute the load such as ADC In addition to considering the relationship between the virtual server and the real server, the user's relationship with the integrated access using the virtual IP, and the load balancing relationship, the load balancing function for a given service is distributed to a plurality of ADCs. Also, it is difficult for ADC equipment to diagnose load balancing failures or server response time failures.
따라서, 이러한 복합적이고 복잡한 구성을 가진 부하 분산 시스템의 장애를 가상 서버 단위로 명확하게 판단할 수 있는 방안이 요구된다. 한편, 애초에 부하 분산 시스템의 도입 배경이 증가되는 부하를 감소시키기 위한 것이라는 점에서 이러한 장애 진단을 위해 부하가 증가해서는 안된다.
Therefore, there is a need for a method that can clearly determine the failure of the load balancing system having a complex and complex configuration in units of virtual servers. On the other hand, the load should not be increased for diagnosing such a failure in that the background of the introduction of the load balancing system is to reduce the increased load.
전술한 문제점을 해결하기 위한 본 발명의 실시예를 도 3을 참조하여 설명하도록 한다. An embodiment of the present invention for solving the above problems will be described with reference to FIG. 3.
도 3은 본 발명의 실시예에 따른 어플리케이션 전달 컨트롤러 장애 진단 장치가 적용된 서버부하 분산 시스템의 구성예를 보인 것이다. 3 illustrates an example of a configuration of a server load distribution system to which an application delivery controller failure diagnosis apparatus according to an exemplary embodiment of the present invention is applied.
도시된 경우 하나의 ADC(12)를 예로 들어 설명하고 있으나 본 발명의 실시예에 따른 장애 진단 장치(100)는 복수의 ADC에 대해서도 가상 서버를 기준으로 장애 가능성이나 발생을 서비스의 부하를 증가시키지 않으면서 명확하게 진단할 수 있다. Although illustrated as one
특히, 본 발명의 실시예에 따른 장애 진단 장치(100)는 ADC의 가상 서버 설정 정보를 알 수 있다면 ADC의 제조사에 무관하게 범용적으로 장애를 진단할 수 있다. In particular, the
도시된 장애 진단 장치(100)는 ADC(12)에 유입되는 패킷 덤프 내용을 분석하여 장애를 진단한다. 이를 위해 ADC에 유입되는 패킷을 덤프하는 패킷 덤프부(50)가 요구되는데, ADC의 제조사 또는 장비 특성 상 ADC에 대응되는 기능이 내장된 경우가 있으므로 해당 기능이 내장되어 있다면 이를 활용할 수 있고, 이러한 패킷 덤프 기능을 구비하지 않은 ADC의 경우 별도의 패킷 덤프부(50)를 장비 외부에 추가로 구성할 수 있다.The illustrated
장애 진단 장치(100)는 패킷 덤프부(50)를 통해 ADC에 유입되는 패킷을 수집하는데 ADC 장비에 설정된 특정한 가상 서버 및 가상 서버에 할당된 실제 서버의 IP를 대상으로 할 수 있다. The
이러한 ADC 장비의 가상 서버 IP와 이에 대응되는 실제 서버의 IP 정보 및 이러한 대응 정보는 관리자나 별도의 통합 관리 장치로부터 수신할 수도 있으며, 상기 ADC(12)에 접속하여 그로부터 획득할 수도 있다. ADC는 제조사 별로 접속 방식과 사용 프로토콜 및 환경이 상이한데 이를 위해서 상기 장애 진단 장치(100)는 ADC의 종류를 판단하여 대응되는 ADC의 종류에 적합한 접속 방식으로 ADC에 접속하여 적합한 프로토콜로 해당 정보를 요청 및 수신할 수 있다. The virtual server IP of the ADC equipment and the IP information of the actual server corresponding thereto and the corresponding information may be received from an administrator or a separate integrated management device, or may be obtained by accessing the
예를 들어 ADC(12)가 특정 제조사의 것인 경우 SSL(Secure Sockets Layer), SNMP(Simple Network Management Protocol) 또는 해당 특정 제조사에서 제공하는 API(Application Progrm Interface)를 이용하여 접속하여 웹 콘솔을 통해 원하는 정보를 수집할 수 있고, 만일 상기 ADC(12)가 다른 특정 제조사의 것인 경우에는, Telnet, SNMP 프로토콜을 이용하여 접속한 후 CLI(Command Line Interface)를 통해 원하는 정보를 수집할 수 있다. 설정이 바뀌는 경우 상기 정보 수집을 다시 실시할 수 있는데, 이는 설정 변경 이벤트를 확인한 관리자나 별도의 ADC 통합 관리 장치의 갱신 요청에 의해서 실시될 수도 있다.
For example, if the
도시된 장애 진단 장치(100)는 상기 패킷 덤프부(50)를 통해 ADC에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집부(110)를 포함한다. 상기 장애 진단 장치(100)는 상기 ADC 유입 패킷들로부터 전송 계층의 TCP(Transmission Control Protocol) 세그먼트를 추출하여 소스 주소(Source address)와 목적지 주소(Destination address) 및 TCP 플래그(TCP flag:Code bits)를 확인하는 것으로 해당 패킷들이 누가 어디로 어떠한 목적으로 제공한 것인지를 알 수 있다. 상기 TCP 플래그를 통해 설정할 수 있는 내용으로 URG(Urgent pointer is vaild), ACK(Acknowledgement is valid), PSH(Request for push), RST(Reset the connection), SYN(Synchronize sequence numbers), FIN(Terminate the connection)이 있으며 이를 통해 해당 신호가 어떠한 용도인지 알 수 있다.The illustrated
먼저 상기 장애 진단 장치(100)는 상기 ADC 유입 패킷 수집부(110)에서 수집된 패킷을 분석하여 TCP 세그먼트의 소스 주소가 사용자 단말(1, 2)의 IP이면서 TCP 플래그가 syn(동기 상태 호)인 것을 찾아 대응되는 패킷의 수를 카운트한다. 이때 목적지 주소는 ADC의 가상 IP일 수 있다.First, the
하나의 세그먼트는 복수의 패킷으로 분리될 수 있으므로 세그먼트의 수를 카운트해도 되지만 가상 작은 단위의 패킷을 기준으로 카운트할 경우 정확도가 높아진다. Since one segment may be divided into a plurality of packets, the number of segments may be counted, but the accuracy is increased when counting packets based on virtual small units.
한편, TCP 프로토콜은 알려진 바와 같은 3-웨이 핸드쉐이킹을 실시하며 TCP의 syn 은 연결 설정을 요구하는 것이므로 해당 신호는 사용자 단말이 ADC에 가상IP로 접속을 요구하는 상황을 의미한다. 따라서 이러한 신호들을 카운트하면 사용자 단말이 ADC에 접속을 요구하는 총 수를 알 수 있다. Meanwhile, the TCP protocol performs three-way handshaking as known, and since the syn of the TCP requires a connection setup, the corresponding signal means a situation in which the user terminal requires a virtual IP connection to the ADC. Therefore, counting these signals tells you the total number of user terminals that require access to the ADC.
ADC는 이러한 ADC에 접속을 요구하는 사용자 단말을 부하 분산 방식에 따라 가상 서버 중 하나와 연결시키는데, 부하 분산 장애 시 이러한 요청이 가상 서버에 전달되지 않거나, 가상 서버에 대응되는 실제 서버에 전달되지 않게 된다. The ADC connects user terminals that require access to these ADCs with one of the virtual servers according to load balancing, so that in the event of a load balancing failure, these requests are not sent to the virtual server or to the real server corresponding to the virtual server. do.
이를 파악하기 위해서 상기 장애 진단 장치(100)는 덤프된 패킷을 대상으로 소스 주소가 가상 서버 IP이고 목적지 주소가 해당 가상 서버에 할당된 실제 서버IP이며 TCP 플래그가 syn인 것을 찾아 대응되는 패킷의 수를 카운트하는 실제 서버 요청 분석부(130)를 포함한다. To determine this, the
상기 장애 진단 장치(100)는 상기 사용자 요청 분석부(120)에서 얻어진 사용자 요청 패킷의 수와 상기 실제 서버 요청 분석부(130)에서 얻어진 실제 서버 요청 패킷의 수를 비교하여 사용자 요청이 실제 부하 분산 방식에 따라 실제 서버로 분산되어 요청되고 있는지 확인함으로써 부하 분산 장애 가능성이나 장애 발생을 판단한다.The
간단하게 사용자 요청 패킷의 수가 실제 서버 요청 패킷 수의 합과 같은지 판단하고 부하 분산 방식에 따라 실제 서버 요청 패킷이 적절히 분산되고 있는지 판단할 수 있다. It is possible to simply determine whether the number of user request packets is equal to the sum of the actual server request packets and determine whether the actual server request packets are properly distributed according to the load balancing method.
대표적인 부하 분산 방식은 해싱(hashing) 알고리즘에 따라 선택된 서버에 사용자 요청을 배분하는 해쉬 방식과 사용자의 요청을 순차적으로 서버에 분배하는 라운드 로빈(Round-robin) 방식이 있다. Typical load balancing methods include a hash method for distributing user requests to a selected server according to a hashing algorithm, and a round-robin method for distributing user requests sequentially to a server.
이러한 부하 분산 방식의 정상 동작을 확인하기 위해서 부하 분산 방식의 특성을 확인하기 위한 구성이 더 포함될 수 있다. In order to confirm the normal operation of the load balancing method, a configuration for checking the characteristics of the load balancing method may be further included.
예를 들어 해쉬 방식의 장애 확인을 위해서, 상기 사용자 요청 분석부(120)는 추출된 사용자 요청 패킷을 대상으로 해싱값을 계산하고 해싱된 값 별로 패킷의 수를 카운트하여 실제 서버 별로 할당된 패킷의 수를 파악하는 구성을 더 포함할 수 있다. 해싱을 위한 참조 데이터는 소스 주소의 끝자리를 이용하는 등 장비별로 다를 수 있으며 이에 대한 정보를 관리자나 ADC로부터 획득할 수 있다. For example, in order to check a failure of a hash method, the
또한 상기 부하분산 검증부(140)는 서버 요청 패킷를 실제 서버 별로 구분하여 그 수를 카운트한 후 상기 서버 별로 할당된 사용자 요청 패킷 수와 각각 비교하여 같은지 확인하는 것으로 해쉬 방식의 정상 동작 여부를 파악하는 구성을 포함할 수 있다. In addition, the load
다른 예로서, 라운드 로빈 방식의 장애 확인을 위해 상기 부하분산 검증부(140)에 실제 서버 별로 실제 서버 요청 패킷의 수가 균등하게 분배되고 있는지 아니면 일부 실제 서버로 패킷이 몰리는지 확인하는 구성을 포함할 수 있다.
As another example, a configuration for checking whether the number of real server request packets is distributed evenly or partially to some real servers is distributed to the load
한편, 상기 장애 진단 장치(100)는 사용자 단말의 요청을 ADC가 수신하여 가상 서버를 할당한 후 실제 서버에 연결 요청을 전달하는 ADC 요청 처리 시간, 가상 서버의 요청에 대한 실제 서버의 응답 시간인 실제 서버 응답 시간 및 실제 서버 응답에 따라 ADC가 사용자 단말에 응답하는 ADC 응답 처리 시간의 합으로 서버 응답 지연 시간을 구하고 기준 시간을 초과하는지 판단하는 지연시간 검사부(150)를 포함한다.On the other hand, the
상기 지연시간 검사부(150)는 ADC 유입 패킷 수집부(110)에서 수집된 패킷에서 사용자 요청 패킷을 선별하고 그 요청 시간과 해당 사용자 요청에 따라 ADC가 가상 서버를 할당하여 해당 가상 서버가 실제 서버에 접속을 요청하는 실제 서버 요청 패킷의 요청 시간을 확인한 후 그 차이 시간인 ADC 요청 처리 시간을 계산한다. 그리고, 상기 실제 서버 요청 패킷에 대한 실제 서버의 응답 패킷을 선별하고 그 시간을 확인하여 실제 서버 요청 패킷의 요청 시간과의 차이로부터 실제 서버 응답 시간을 계산한다. 그 다음 이러한 실제 서버의 응답에 의해 ADC가 사용자 단말에 보낸 응답 패킷을 선별하고 그 시간을 확인하여 상기 실제 서버 응답 시간과의 차이로부터 ADC 응답 처리 시간을 계산한다. 이후 상기 각각 계산된 ADC 요청 처리 시간, 실제 서버 응답 시간 및 ADC 응답 처리 시간을 합산하여 전체 응답 시간을 구한 후 그 시간이 기 설정된 기준 시간 내에 속하는지 확인함으로써 장애 여부나 장애 발생 가능성을 판단한다.The
한편, 상기 ADC 처리 시간 계산 시 상기 사용자 요청 패킷 선별은 사용자 요청 분석부(120)를 활용하고 실제 서버 요청 패킷 선별은 실제 서버 요청 분석부(130)를 활용할 수 있는데, 상기 사용자 요청 분석부(120)와 실제 서버 요청 분석부(130)는 각각 원하는 요청 패킷을 선별한 후 해당 패킷의 시간을 확인하여 이를 지연 시간 검사부(150)에 제공할 수 있다.
Meanwhile, when calculating the ADC processing time, the user request packet screening may be utilized by the
결국, 상기 장애 진단 장치(100)는 ADC에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집부(110), 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 파악하고 그 시간을 확인하며 필요한 경우 해싱값을 계산하여 실제 서버별 할당된 패킷의 수를 확인하는 사용자 요청 분석부(120), 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 파악하고 그 시간을 확인하는 실제 서버 요청 분석부(130), 상기 사용자 요청(syn) 패킷과 실제 서버 요청(syn) 패킷의 수를 비교하며 필요한 경우 사용자 요청 패킷의 실제 서버 할당 수와 실제 서버 요청의 실제 서버 패킷 수가 같은지 판단하거나 실제 서버에 할당된 패킷의 수가 균일하게 분산되었는지 판단하는 부하분산 검증부(140), 그리고 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 시간과, 실제 서버 요청 패킷과 실제 서버 응답 패킷 사이의 시간 및 실제 서버 응답 패킷과 사용자 응답 패킷 사이의 시간의 총합을 기준 시간과 비교하는 지연시간 검사부(150)를 포함할 수 있다.As a result, the
더하여, 상기 장애 진단 장치(100)는 가상 서버와 실제 서버 간의 대응 관계나 부하 분산 방식, 서버 응답 시간 지연 기준 등을 관리자 입력이나 ADC 접속을 통해 수집하는 설정 정보 수집부(미도시)를 더 구비할 수 있다.
In addition, the
이하, 이러한 본 발명의 실시예에 따른 구성을 이용하여 부하 분산 장애와 서버 응답 시간 지연 장애를 판단하는 개별적인 동작 과정을 도 4 내지 도 6을 참조하여 설명한다.
Hereinafter, an individual operation process of determining a load balancing failure and a server response time delay failure using the configuration according to the embodiment of the present invention will be described with reference to FIGS. 4 to 6.
도 4는 본 발명 실시예에 따른 장애 진단 장치(100)를 이용한 해쉬(Hash) 부하 분산 탐지단계의 흐름을 도시한 순서도로서, 도시된 바와 같이 우선 ADC로 유입되는 패킷을 패킷 덤프부를 통해 수집한다(S10). 4 is a flowchart illustrating a flow of a hash load balancing detection step using the
상기 패킷 덤프부는 ADC 장비 자체에서 제공되는 패킷의 덤프기능을 이용하거나 ADC 장비 외부에서의 패킷 덤프장비를 구현한 것일 수 있으며, ADC 장비에 설정된 특정한 가상 서버 및 상기 가상 서버에 할당된 실제 서버의 IP를 대상으로 패킷 덤프를 진행한다. The packet dump unit may use a packet dump function provided by the ADC device itself or implement a packet dump device outside the ADC device. The packet dump unit may include an IP of a specific virtual server configured in the ADC device and an actual server assigned to the virtual server. Proceed with packet dump.
이후, 사용자 요청 패킷 개수를 분석한다(S20).Thereafter, the number of user request packets is analyzed (S20).
상기 사용자 요청 패킷 개수를 분석하는 단계는 상기 덤프된 패킷을 대상으로 소스 주소가 사용자의 IP이면서(목적지 주소는 ADC의 가상 IP일 수 있음) TCP 플래그가 syn인 패킷의 개수를 찾고, 상기 패킷을 대상으로 해싱값을 계산한다. 해싱을 위해 참조하는 데이터는 장비별로 다른데, 예를 들어 소스 주소의 끝자리를 이용할 수 있다. 그리고, 상기 해싱된 값 별로 패킷 개수를 계산하여 실제 서버 별로 할당된 패킷 개수를 계산한다. The analyzing of the number of user request packets may include finding the number of packets for which the source address is the user's IP (the destination address may be the virtual IP of the ADC) and the TCP flag is syn. Compute a hashing value for the target. The data referenced for hashing varies from device to device, for example using the end of the source address. The number of packets is calculated for each actual server by calculating the number of packets for each hashed value.
그 다음, 실제 서버 별 요청 개수를 분석한다(S30).Next, the actual number of requests per server is analyzed (S30).
상기 덤프된 패킷을 대상으로 소스 주소가 가상 서버 IP이고 목적지 주소가 해당 가상 서버에 할당된 실제 서버이면서 TCP 플래그가 syn인 패킷의 개수를 계산한다.For the dumped packets, the number of packets whose source address is the virtual server IP and the destination address is the real server assigned to the virtual server and whose TCP flag is syn is calculated.
이후 해쉬 분산 기능의 장애 여부를 검증을 한다(S40).After that, the hash distribution function is verified whether or not a failure (S40).
앞서 사용자 요청 개수 분석 단계(S20)에서 계산된 사용자 요청에 의한 실제 서버 별로 계산된 할당 개수와 상기 실제 서버 별 요청 개수를 분석하는 단계(S30)에서 계산된 실제 서버 별로 계산된 요청 패킷의 수를 비교한다. 만일 실제 서버 별로 수집된 패킷의 개수가 동일하면, 해쉬 분산 방식이 정상적으로 동작하고 있다고 판단한다.
The number of allocations calculated for each real server by the user request calculated in the user request count analysis step S20 and the number of request packets calculated for each real server calculated in the step S30 of analyzing the actual server requests Compare. If the number of packets collected for each real server is the same, it is determined that the hash distribution scheme is operating normally.
도 5는 본 발명 실시예에 따른 장애 진단 장치(100)를 이용한 라운드-로빈(Round-robin) 부하 분산 탐지단계의 흐름을 도시한 순서도로서, 도시된 바와 같이 우선 ADC로 유입되는 패킷을 패킷 덤프부를 통해 수집한다(S110). 구체적인 내용은 도 4에서 언급한 내용과 유사하다.5 is a flowchart illustrating a flow of a round-robin load balancing detection step using the
이후, 사용자 요청 패킷 개수를 분석한다(S120).Thereafter, the number of user request packets is analyzed (S120).
상기 사용자 요청 패킷 개수를 분석하는 단계는 상기 덤프된 패킷을 대상으로 소스 주소가 사용자의 IP이면서 TCP 플래그가 syn인 패킷의 개수를 찾는데, 본 실시예에서는 해쉬에 관한 처리는 필요하지 않다.In the analyzing of the number of user request packets, the number of packets whose source address is the user's IP and the TCP flag is syn is searched for the dumped packets. In this embodiment, the hash processing is not necessary.
그 다음, 실제 서버별 요청 개수를 분석한다(S130).Then, the actual number of requests per server is analyzed (S130).
상기 덤프된 패킷을 대상으로 소스 주소가 가상 서버 IP이고 목적지 주소가 해당 가상 서버에 할당된 실제 서버이면서 TCP 플래그가 syn인 패킷의 개수를 계산한다. 이때 패킷의 개수는 실제 서버 별로 계산한다.For the dumped packets, the number of packets whose source address is the virtual server IP and the destination address is the real server assigned to the virtual server and whose TCP flag is syn is calculated. At this time, the number of packets is calculated for each server.
이후, 라운드 로빈 부하 분산 검증을 한다(S140).Thereafter, round robin load balancing verification is performed (S140).
상기 사용자 요청 개수 분석 단계(S120)에서 계산된 사용자 요청 패킷 개수가 상기 실제 서버별 요청 개수 분석 단계(S130)에서 실제 서버별로 계산된 요청 개수와 동일한지 비교하여 동일하지 않으면, 부하 분산이 정상 처리되지 않고 있음으로 간주한다. 만일, 실제 서버별로 수집된 패킷의 개수가 동일(혹은 균일하다고 판단할 수 있는 수준)하면, 라운드 로빈 분산 방식이 정상적으로 동작하고 있다고 판단한다. 그러나 일부 실제 서버로 패킷 개수가 몰리는 경우는 비정상적으로 간주한다.
If the number of user request packets calculated in the user request number analysis step S120 is the same as the number of requests calculated for each real server in the request number analysis step S130, the load balancing is normal. Is considered to be not. If the number of packets collected for each actual server is the same (or can be determined to be uniform), it is determined that the round robin distribution method is operating normally. However, it is considered abnormal if the number of packets to some real servers is too high.
또한, 본 발명은, 서버의 응답시간 측정을 위한 방법으로, ADC 장비로 유입되는 네트워크 패킷을 분석하여 서버의 응답시간을 계산하는 방법을 제시한다.In addition, the present invention, as a method for measuring the response time of the server, proposes a method for calculating the response time of the server by analyzing the network packets flowing into the ADC equipment.
도 6은 본 발명 실시예에 따른 장애 진단 장치(100)를 이용한 서버 응답시간 지연 탐지방법의 흐름을 도시한 순서도이다.6 is a flowchart illustrating a method for detecting a server response time delay using the
도시된 바와 같이 ADC로 유입되는 패킷을 패킷 덤프부를 통해 수집한다(S210).As shown, the packet flowing into the ADC is collected through the packet dump unit (S210).
이후 사용자 요청 대한 ADC의 처리시간을 계산한다(S220).Since the processing time of the ADC for the user request is calculated (S220).
이를 위해서 우선 덤프한 패킷에서 소스 주소가 사용자의 IP이면서 TCP 플래그가 syn인 패킷을 찾은 후 패킷 덤프시간을 찾는다. 이는 장애 진단 장치의 사용자 요청 분석부에서 실시될 수 있다. 그리고, 패킷에서 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인한다.To do this, first find the packet in the dumped packet with the source address of the user's IP and the TCP flag syn, and then find the packet dump time. This may be performed by the user request analysis unit of the failure diagnosis apparatus. In the packet, find the packet whose source address is the virtual server IP, the destination address is the real server IP, and whose TCP flag is syn.
상기 두 개의 패킷 간의 시간 차이를 사용자 요청에 따른 ADC의 처리시간, 즉 ADC 요청 처리 시간을 얻는다.The time difference between the two packets is used to obtain the processing time of the ADC according to the user request, that is, the processing time of the ADC request.
그 다음 ADC의 요청에 대한 실제 서버의 응답시간을 계산한다(S230).Next, the response time of the actual server for the ADC request is calculated (S230).
이를 위해서 패킷에서 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서, TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인한다. 이는 이미 앞서 단계(S220)에서 수행되었으므로 이를 이용한다. 그리고 패킷에서 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인한다. 즉, 가상 서버가 실제 서버에 연결을 위한 패킷을 전송하면 핸드쉐이킹을 위해서 이를 수신한 실제 서버가 상기 가상 서버에 syn과 ack 비트를 모두 선택한 패킷을 전송한다. 좀 더 구체적으로는 시퀀스 넘버를 통해서 대응되는 패킷 쌍도 확인할 수 있다. To do this, find the packet whose source address is the virtual server IP and the destination address is the real server IP, and whose TCP flag is syn. This is already done in step S220, so use it. In the packet, find the packet whose source address is the real server, the destination address is the virtual server, and whose TCP flag is synack. That is, when the virtual server transmits a packet for connection to the real server, the real server receiving the packet transmits a packet selected with both syn and ack bits to the virtual server for handshaking. More specifically, corresponding packet pairs may be identified through sequence numbers.
상기 두 패킷 간의 시간 차이를 계산하여 실제 서버의 응답시간을 얻는다.The response time of the actual server is obtained by calculating the time difference between the two packets.
그 다음 실제 서버의 응답에 대한 ADC의 처리시간을 계산한다(S240).Next, the processing time of the ADC for the response of the actual server is calculated (S240).
패킷에서 소스 주소가 실제 서버이며, 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인하는데, 이는 앞서 단계인 S230에서 확인한 내용을 활용한다. 그리고 패킷에서 소스 주소가 가상 서버이고 목적지 주소가 사용자 IP이면서 TCP 플래그가 synack인 패킷을 찾아 시간을 확인한다. In the packet, the source address is a real server, the destination address is a virtual server, and a packet whose TCP flag is synack is found to check the time, which utilizes the information checked in step S230. In the packet, find the packet whose source address is the virtual server, the destination address is the user's IP, and whose TCP flag is synack.
상기 두 패킷 간의 시간 차이를 계산하여 실제 ADC의 응답 처리시간으로 간주한다. 즉, ADC가 실제 서버의 응답을 받아 이를 사용자 단말에 중계하는 ADC의 처리 시간을 확인하는 것이다.The time difference between the two packets is calculated and regarded as the response processing time of the actual ADC. In other words, the ADC checks the processing time of the ADC that receives the response from the actual server and relays it to the user terminal.
마지막으로 앞서 단계 S220에서 얻은 ADC 요청 시간, 단계 S230에서 얻은 실제 서버의 응답 시간, 단계 S240에서 얻은 ADC 응답 처리 시간을 합산하여 서버 응답 시간을 얻는다(S250). 이후 해당 서버 응답 시간이 기 설정된 기준 시간 범위에 속하는지 판단하여 서버 응답 시간 지연 장애 여부나 장애 가능성을 확인할 수 있다.
Finally, the server response time is obtained by summing the ADC request time obtained in step S220, the response time of the actual server obtained in step S230, and the ADC response processing time obtained in step S240 (S250). Thereafter, the server response time may determine whether the server response time delay has failed or the possibility of failure by determining whether the server response time falls within a preset reference time range.
이상에서는 본 발명에 따른 바람직한 실시 예들에 대하여 도시하고 또한 설명하였다. 그러나 본 발명은 상술한 실시 예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다.
The foregoing embodiments and advantages are merely exemplary and are not to be construed as limiting the present invention. However, the present invention is not limited to the above-described embodiments, and various changes and modifications may be made by those skilled in the art without departing from the scope of the present invention. .
1: 사용자 단말 12: ADC
50: 패킷 덤프부 100: 장애 진단 장치
110: ADC 유입 패킷 수집부 120: 사용자 요청 분석부
130: 실제 서버 요청 분석부 140: 부하분산 검증부
150: 지연시간 검사부1: user terminal 12: ADC
50: packet dump unit 100: failure diagnosis device
110: ADC incoming packet collection unit 120: user request analysis unit
130: actual server request analysis unit 140: load balancing verification unit
150: delay time inspection unit
Claims (18)
상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하는 사용자 요청 분석부;
상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하는 실제 서버 요청 분석부;
상기 사용자 요청 분석부의 요청 패킷 수와 상기 실제 서버 요청 분석부의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하는 부하분산 검증부를 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
An ADC inflow packet collector configured to collect packets flowing into the application delivery controller (ADC);
A user request analyzer configured to count the number of syn packets transmitted from the user terminal to the ADC among the packets collected by the ADC inflow packet collector as the number of user request packets;
An actual server request analyzer configured to count the number of syn packets provided from the virtual server to the real server among the packets collected by the ADC inflow packet collection unit as the number of real server packets for each server;
And a load distribution verifying unit configured to determine an operation state of load balancing based on the number of request packets of the user request analyzer and the number of actual server packets of the actual server request analyzer.
상기 사용자 요청 분석부는 해싱값을 계산하여 실제 서버 별로 할당된 사용자 요청 패킷의 수를 확인하고,
상기 부하분산 검증부는 상기 사용자 요청 분석부를 통해 얻은 상기 사용자 요청 패킷의 실제 서버 할당 수와 상기 실제 서버 별 실제 서버 패킷 수가 대응되는 지 확인하여 해시 부하 분산 동작 상태를 판단하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
The method of claim 1,
The user request analysis unit calculates a hashing value to check the number of user request packets allocated for each actual server,
The load distribution verifying unit determines the hash load balancing operation state by checking whether the actual server allocation number of the user request packet and the actual server packet of the actual server obtained through the user request analysis unit correspond to each other. Fault diagnosis device.
상기 사용자 요청 분석부는 상기 실제 서버 별 실제 서버 패킷 수가 균등하게 분산되었는지 확인하여 라운드 로빈 부하 분산 동작 상태를 판단하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
The method of claim 1,
And the user request analyzer determines a round robin load balancing operation state by checking whether the number of actual server packets for each real server is equally distributed.
가상 서버와 실제 서버 간의 대응 관계나 부하 분산 방식, 서버 응답 시간 지연 기준을 관리자 입력이나 ADC 접속을 통해 수집하는 설정 정보 수집부를 더 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
The method of claim 1,
And a configuration information collection unit configured to collect a correspondence relationship, a load balancing method, and a server response time delay criterion between the virtual server and the real server through an administrator input or an ADC connection.
상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사부를 더 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
The method of claim 1,
ADC request processing time between the user request packet and the real server request packet, the real server response time between the real server request packet and the response packet responded by the real server, and the response packet of the real server and correspondingly Application delay controller failure diagnosis apparatus further comprises a delay time checker for comparing the total of the ADC response processing time between the response packets provided with the reference time.
상기 지연시간 검사부는 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 소스 주소가 사용자의 IP이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고, 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 ADC 요청 처리 시간으로 계산하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
6. The method of claim 5,
The delay time checker finds a packet whose source address is the user's IP and the TCP flag is syn and checks the time among the packets collected by the ADC inflow packet collector, and the source address is the virtual server IP and the destination address is the real server IP. And the TCP flag is syn, finds the packet, checks the time, and calculates the difference in time as the ADC request processing time.
상기 지연시간 검사부는 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 실제 서버 응답 시간으로 계산하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
6. The method of claim 5,
The delay time checker finds a packet whose source address is a virtual server IP, a destination address is a real server IP, and a TCP flag is syn, and checks the time among the packets collected through the ADC inflow packet collector. Apparatus for diagnosing a failure of an application delivery controller characterized in that the address is found in the virtual server and the TCP flag is synack, the time is checked, and the time difference is calculated as the actual server response time.
상기 지연시간 검사부는 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인하고 소스 주소가 가상 서버이고 목적지 주소가 사용자 IP이면서 TCP 플래그가 synack인 패킷을 찾아 시간을 확인한 후 각 시간의 차이를 ADC 응답 처리 시간으로 계산하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
6. The method of claim 5,
The delay checker finds a packet whose source address is a real server, a destination address is a virtual server, and a TCP flag is synack among the packets collected by the ADC inflow packet collector, and checks the time, and the source address is a virtual server and a destination address is Applied controller failure diagnosis apparatus, characterized in that the time to find the packet of the user IP and the TCP flag synack, check the time and calculate the difference of each time as the ADC response processing time.
상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하고 그 시간을 확인하며 선택적으로 해싱값을 계산하여 실제 서버별 할당된 패킷의 수를 확인하는 사용자 요청 분석부;
상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하고 그 시간을 확인하는 실제 서버 요청 분석부;
상기 사용자 요청 분석부의 요청 패킷 수와 상기 실제 서버 요청 분석부의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하며 선택적으로 사용자 요청 패킷의 실제 서버 할당 수와 서버별 실제 서버 패킷 수가 같은지 판단하거나 실제 서버 패킷 수가 서버 별로 균일하게 분산되었는지 판단하는 부하분산 검증부;
상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사부를 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
An ADC inflow packet collector configured to collect packets flowing into the application delivery controller;
Among the packets collected by the ADC inflow packet collection unit, the number of syn packets transmitted from the user terminal to the ADC is counted as the number of user request packets, the time is checked, and the hashing value is selectively calculated to calculate the number of packets actually allocated for each server. A user request analyzer for checking;
A real server request analysis unit for counting the number of syn packets provided from the virtual server to the real server among the packets collected by the ADC inflow packet collection unit as the number of real server packets for each server and checking the time;
Determine an operation state of load balancing based on the number of request packets of the user request analyzer and the number of actual server packets of the actual server request analyzer; and optionally determine whether the actual server allocation number of the user request packet is equal to the actual number of server packets per server, or A load balancing verifier determining whether the actual number of server packets is uniformly distributed for each server;
ADC request processing time between the user request packet and the real server request packet, the real server response time between the real server request packet and the response packet responded by the real server, and the response packet of the real server and correspondingly Apparatus for diagnosing failure of an application delivery controller comprising a delay time checker for comparing the sum of the ADC response processing time between the provided response packets with a reference time.
상기 장애 진단 장치가 상기 ADC에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집 단계;
상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하는 사용자 요청 분석 단계;
상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하는 실제 서버 요청 분석 단계;
상기 장애 진단 장치가 상기 사용자 요청 분석 단계의 요청 패킷 수와 상기 실제 서버 요청 분석 단계의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하는 부하분산 검증 단계를 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러(ADC) 장애 진단 방법.
A failure diagnosis method using a failure diagnosis apparatus that diagnoses a failure by interworking with an application delivery controller (ADC),
ADC inflow packet collection step of the fault diagnosis apparatus collects the packet flowing into the ADC;
A user request analysis step of counting the number of syn packets transmitted from the user terminal to the ADC among the packets collected by the fault diagnosis apparatus through the ADC inflow packet collection step as the number of user request packets;
An actual server request analysis step of counting the number of syn packets provided from the virtual server to the real server among the packets collected by the fault diagnosis apparatus through the ADC inflow packet collection step by the actual number of server packets for each server;
And a load balancing verification step in which the failure diagnosis apparatus determines an operation state of load balancing based on the number of request packets in the user request analysis step and the number of actual server packets in the actual server request analysis step. How to diagnose controller (ADC) faults.
상기 사용자 요청 분석 단계는 해싱값을 계산하여 실제 서버 별로 할당된 사용자 요청 패킷의 수를 확인하는 단계를 포함하고,
상기 부하분산 검증 단계는 상기 사용자 요청 분석 단계를 통해 얻은 상기 사용자 요청 패킷의 실제 서버 할당 수와 상기 실제 서버 별 실제 서버 패킷 수가 대응되는지 확인하여 해시 부하 분산 동작 상태를 판단하는 단계를 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
The method of claim 10,
The analyzing of the user request includes calculating a hashing value and checking the number of user request packets allocated for each actual server.
The load balancing verifying step may include determining a hash load balancing operation state by checking whether the actual server allocation number of the user request packet and the actual server packet number for the actual server correspond to each other through the user request analysis step. Application delivery controller failure diagnosis method.
상기 사용자 요청 분석 단계는 상기 실제 서버 별 실제 서버 패킷 수가 균등하게 분산되었는지 확인하여 라운드 로빈 부하 분산 동작 상태를 판단하는 단계를 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
The method of claim 10,
And analyzing the user request comprises determining whether the number of real server packets for each real server is equally distributed to determine a round robin load balancing operation state.
가상 서버와 실제 서버 간의 대응 관계나 부하 분산 방식, 서버 응답 시간 지연 기준을 관리자 입력이나 ADC 접속을 통해 수집하는 설정 정보 수집 단계를 더 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
The method of claim 10,
And collecting configuration information for collecting a correspondence relationship, a load balancing method, and a server response time delay criterion between the virtual server and the real server through an administrator input or an ADC connection.
상기 장애 진단 장치가 상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사 단계를 더 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
The method of claim 10,
The apparatus for diagnosing the error may include an ADC request processing time between the user request packet and an actual server request packet, an actual server response time between an actual server request packet and a response packet responded by the actual server, and a response packet of the actual server. Correspondingly, a delay check step of comparing the total of the ADC response processing time between the response packets provided to the user and the reference time, characterized in that the application delivery controller failure diagnosis method.
상기 지연시간 검사 단계는 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 소스 주소가 사용자의 IP이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고, 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 ADC 요청 처리 시간으로 계산하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
The method of claim 14,
In the delay checking step, a packet having a source address of the user's IP and a TCP flag syn is identified from the packets collected through the ADC inflow packet collecting step, and checking the time, and the source address is the virtual server IP and the destination address is the actual address. A method for diagnosing a failure of an application delivery controller characterized in that it finds a packet having a server IP and a TCP flag syn, checks the time, and calculates a time difference as an ADC request processing time.
상기 지연시간 검사 단계는 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 실제 서버 응답 시간으로 계산하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
The method of claim 14,
In the delay checking step, a packet having a source address of virtual server IP, a destination address of real server IP, and a TCP flag syn, and checking the time are identified among the packets collected through the ADC inflow packet collection step, and the source address of the real server And the destination address is a virtual server and finds a packet whose TCP flag is synack, checks the time, and calculates the difference in time as an actual server response time.
상기 지연시간 검사 단계는 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인하고 소스 주소가 가상 서버이고 목적지 주소가 사용자 IP이면서 TCP 플래그가 synack인 패킷을 찾아 시간을 확인한 후 각 시간의 차이를 ADC 응답 처리 시간으로 계산하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
The method of claim 14,
In the delay checking step, a packet having a source address is a real server, a destination address is a virtual server, and a TCP flag is synack among the packets collected through the ADC inflow packet collection step is checked for the time, and the source address is a virtual server. A method for diagnosing a failure of an application delivery controller characterized in that the time is determined by finding a packet whose address is a user IP and whose TCP flag is synack, and calculating the time difference as an ADC response processing time.
상기 장애 진단 장치가 ADC에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집 단계;
상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하고 그 시간을 확인하며 선택적으로 해싱값을 계산하여 실제 서버별 할당된 패킷의 수를 확인하는 사용자 요청 분석 단계;
상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하고 그 시간을 확인하는 실제 서버 요청 분석 단계;
상기 장애 진단 장치가 상기 사용자 요청 분석 단계의 요청 패킷 수와 상기 실제 서버 요청 분석 단계의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하며 선택적으로 사용자 요청 패킷의 실제 서버 할당 수와 서버별 실제 서버 패킷 수가 같은지 판단하거나 실제 서버 패킷 수가 서버 별로 균일하게 분산되었는지 판단하는 부하분산 검증 단계;
상기 장애 진단 장치가 상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사 단계를 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
Fault diagnosis method using a fault diagnosis device that diagnoses a fault in conjunction with an application delivery controller,
ADC inflow packet collection step of collecting a packet flowing into the ADC by the fault diagnosis device;
The fault diagnosis apparatus counts the number of syn packets transmitted from the user terminal to the ADC among the packets collected through the ADC inflow packet collection step as the number of user request packets, checks the time, and optionally calculates a hashing value for each server. A user request analysis step of confirming the number of allocated packets;
An actual server request analysis step of counting the number of syn packets provided from the virtual server to the real server among the packets collected by the fault diagnosis apparatus through the ADC inflow packet collecting step by the number of real server packets for each server and checking the time;
The failure diagnosis apparatus determines an operation state of load balancing based on the number of request packets in the user request analysis step and the number of actual server packets in the actual server request analysis step. A load balancing verification step of determining whether the actual number of server packets is the same or determining whether the actual number of server packets is uniformly distributed for each server;
The apparatus for diagnosing the error may include an ADC request processing time between the user request packet and an actual server request packet, an actual server response time between an actual server request packet and a response packet responded by the actual server, and a response packet of the actual server. And a delay time checking step of comparing the sum of the ADC response processing time between the response packets provided to the user with the reference time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130122093A KR101364746B1 (en) | 2013-10-14 | 2013-10-14 | Trouble diagnosis apparatus and method for application delivery controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130122093A KR101364746B1 (en) | 2013-10-14 | 2013-10-14 | Trouble diagnosis apparatus and method for application delivery controller |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101364746B1 true KR101364746B1 (en) | 2014-02-27 |
Family
ID=50271416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130122093A KR101364746B1 (en) | 2013-10-14 | 2013-10-14 | Trouble diagnosis apparatus and method for application delivery controller |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101364746B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001216282A (en) | 2000-02-04 | 2001-08-10 | Nec Corp | Server, client, client-server system, load distribution method, and recording medium |
JP2011237844A (en) | 2010-05-06 | 2011-11-24 | Hitachi Ltd | Load balancer and system |
JP2013105381A (en) | 2011-11-15 | 2013-05-30 | Hitachi Ltd | Communication system, method, and heartbeat proxy server |
KR20130083726A (en) * | 2012-01-13 | 2013-07-23 | 주식회사 케이티 | Virtual machine integration monitoring apparatus and method for cloud system |
-
2013
- 2013-10-14 KR KR1020130122093A patent/KR101364746B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001216282A (en) | 2000-02-04 | 2001-08-10 | Nec Corp | Server, client, client-server system, load distribution method, and recording medium |
JP2011237844A (en) | 2010-05-06 | 2011-11-24 | Hitachi Ltd | Load balancer and system |
JP2013105381A (en) | 2011-11-15 | 2013-05-30 | Hitachi Ltd | Communication system, method, and heartbeat proxy server |
KR20130083726A (en) * | 2012-01-13 | 2013-07-23 | 주식회사 케이티 | Virtual machine integration monitoring apparatus and method for cloud system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10917322B2 (en) | Network traffic tracking using encapsulation protocol | |
US12052150B2 (en) | Monitoring wireless access point events | |
CN109951576B (en) | Method, apparatus and storage medium for monitoring service | |
US8443074B2 (en) | Constructing an inference graph for a network | |
US10033602B1 (en) | Network health management using metrics from encapsulation protocol endpoints | |
US7836341B1 (en) | System and method for automatically diagnosing protocol errors from packet traces | |
JP6220625B2 (en) | Delay monitoring system and delay monitoring method | |
CN104506482A (en) | Detection method and detection device for network attack | |
JP5560936B2 (en) | Configuration information acquisition method, virtual probe, and configuration information acquisition control device | |
CN108600051B (en) | BGP Anycast cluster service quality detection method and detection equipment | |
WO2012002849A1 (en) | Apparatus and method for monitoring of connectivity services | |
KR20190066741A (en) | System for performing anomaly detection using traffic classification | |
JP4167876B2 (en) | Network measurement setting device | |
KR101364746B1 (en) | Trouble diagnosis apparatus and method for application delivery controller | |
Roy et al. | Understanding the limits of passive realtime datacenter fault detection and localization | |
CN102546652B (en) | System and method for server load balancing | |
WO2022270805A1 (en) | Automatic packet analysis-based automatic network failure resolution device and method therefor | |
US20200374353A1 (en) | Hybrid cluster architecture for reverse proxies | |
CN109347766A (en) | A kind of method and device of scheduling of resource | |
JP5381247B2 (en) | Load distribution device, load distribution method, load distribution program, and load distribution system | |
JP6928241B2 (en) | Traffic analyzers, traffic analysis methods, traffic analysis programs, and communication systems | |
KR101490316B1 (en) | Fault Detection System For Network Device And Fault Detection Method Using The Same | |
JP2012169756A (en) | Encrypted communication inspection system | |
US20080189410A1 (en) | Directing a network transaction to a probe | |
KR20120132910A (en) | Network management system and method using smart nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170210 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180201 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190211 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20200210 Year of fee payment: 7 |