KR100788130B1 - Method and system for CPU utilization management in DNS server - Google Patents
Method and system for CPU utilization management in DNS server Download PDFInfo
- Publication number
- KR100788130B1 KR100788130B1 KR1020040074720A KR20040074720A KR100788130B1 KR 100788130 B1 KR100788130 B1 KR 100788130B1 KR 1020040074720 A KR1020040074720 A KR 1020040074720A KR 20040074720 A KR20040074720 A KR 20040074720A KR 100788130 B1 KR100788130 B1 KR 100788130B1
- Authority
- KR
- South Korea
- Prior art keywords
- tcp
- dns server
- cpu utilization
- server
- tcp connection
- Prior art date
Links
Images
Classifications
-
- 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/0695—Management of faults, events, alarms or notifications the faulty arrangement being the maintenance, administration or management system
-
- 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/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 DNS 서버의 CPU 이용율이 한계치를 넘지 않도록 관리하는 방법 및 그 관리시스템을 개시한다.The present invention discloses a method and a management system for managing the DNS server so that the CPU utilization rate does not exceed the limit.
본 발명의 DNS 서버의 CPU 이용율 관리방법은 DNS 서버와 클라이언트들 간의 TCP 패킷들을 일정 시간 동안 수집하는 제 1 단계; 상기 수집된 각 TCP 패킷들에 대응되는 TCP 연결을 식별하고 해당 TCP 연결들을 종류별로 분류하는 제 2 단계; 상기 분류된 TCP 연결들을 그 특성 및 대응되는 상기 클라이언트의 IP 주소별로 분포를 구하는 제 3 단계; 및 상기 제 3단계의 분포 중 지연이 가장 큰 IP 주소를 검색하여 해당 IP 주소로부터의 트래픽을 차단 또는 제한하는 제 4 단계를 포함하며, DNS 서버의 CPU 이용율에 영향을 끼치는 요소를 찾아내고 그 요소를 제거해줌으로써 CPU 이용율이 한계치 이상으로 높아지는 것을 사전에 방지하여 DNS 서버가 정상적으로 동작될 수 있도록 해준다.The CPU utilization management method of the DNS server of the present invention includes a first step of collecting TCP packets between the DNS server and the clients for a predetermined time; Identifying a TCP connection corresponding to each of the collected TCP packets and classifying the corresponding TCP connections by type; Obtaining a distribution of the classified TCP connections by their characteristics and corresponding IP addresses of the clients; And a fourth step of blocking or restricting traffic from the IP address by searching for the IP address having the greatest delay among the distributions of the third step, and finding an element affecting the CPU utilization rate of the DNS server. By eliminating the problem, the DNS server can be operated normally by preventing the CPU utilization from rising above the limit in advance.
Description
도 1은 클라이언트와 서버간의 정상적인 DNS 질의에 대한 TCP 연결을 나타내는 도면.1 shows a TCP connection to a normal DNS query between a client and a server.
도 2a 내지 도 2d는 비정상적인 TCP 연결들의 예를 나타내는 도면.2A-2D illustrate examples of abnormal TCP connections.
도 3은 본 발명의 DNS 서버의 CPU 이용율 관리시스템의 구성을 나타내는 구성도.3 is a configuration diagram showing the configuration of the CPU utilization management system of the DNS server of the present invention.
도 4는 도 3의 관리시스템에서의 CPU 이용율 관리 방법을 설명하기 위한 순서도.4 is a flowchart for explaining a CPU utilization management method in the management system of FIG.
도 5는 도 4에서 TCP 연결을 분류하는 단계를 보다 상세하게 설명하기 위한 순서도.FIG. 5 is a flowchart for explaining in more detail the steps of classifying TCP connections in FIG. 4; FIG.
본 발명은 DNS(Domain Name Server)의 CPU 이용율을 관리하는 방법 및 그 관리시스템에 관한 것으로서, 보다 상세하게는 DNS 서버의 TCP 패킷을 분석하여 DNS 서버의 성능에 영향을 끼치는 사용자 단말을 찾아낸 후 해당 단말로부터의 트래픽 을 제한함으로써 서버의 CPU 이용율이 높아지는 것을 사전에 방지하는 CPU 이용율을 관리하는 방법 및 그 방법을 이용한 관리시스템에 관한 것이다.The present invention relates to a method of managing CPU utilization of a DNS (Domain Name Server) and a management system thereof. More particularly, the present invention relates to analyzing a TCP packet of a DNS server to find a user terminal affecting the performance of the DNS server. The present invention relates to a method of managing CPU utilization, which prevents the CPU utilization rate of the server from increasing by limiting traffic from the terminal, and a management system using the method.
DNS는 사용자와 인터넷 네트워크 간에 가장 중요한 인터페이스로, 사용자가 입력한 도메인 이름을 IP 주소로 바꾸어주는 역할을 수행한다. 이러한 DNS 서버가 장애없이 합리적인 성능으로 관리되어야 사용자가 인터넷 접속에 제약을 받지 않게 된다.DNS is the most important interface between the user and the Internet network. It is responsible for translating the domain name entered by the user into an IP address. This DNS server must be managed with reasonable performance without interruption, so that users are not restricted from access to the Internet.
DNS 서버의 트래픽은 DNS 질의(query)와 응답(answer)으로 구성되며, DNS 질의는 사용자 단말로부터 주로 도메인 네임 또는 IP 주소와 관련된 질문이다.The traffic of DNS server is composed of DNS query and answer. DNS query is a question mainly related to domain name or IP address from user terminal.
DNS 질의는 UDP(User Datagram Protocol) 데이터그램 또는 TCP(Transmission Control Protocol) 연결을 이용할 수 있는데, 90% 이상이 UDP 데이터그램을 이용한다.DNS queries can use User Datagram Protocol (UDP) datagrams or Transmission Control Protocol (TCP) connections, with over 90% using UDP datagrams.
종래에는 DNS 서버로 유입되는 트래픽양에 따라 그 유입량을 조절해줌으로써 CPU 이용율을 조절해주는 방법이 사용되고 있다.Conventionally, a method of controlling CPU utilization by adjusting the inflow amount according to the traffic amount flowing into the DNS server is used.
그러나, 실제 DNS 서버의 CPU 이용율은 DNS 서버로 유입되는 트래픽양과 무관한 경우가 많아, 종래와 같은 방법으로는 CUP 이용율을 효과적으로 관리할 수 없는 문제가 있어 CPU 이용율을 보다 효율적을 관리할 수 있는 새로운 형태의 접근 방식이 필요하다.However, the actual CPU utilization rate of the DNS server is often independent of the amount of traffic flowing into the DNS server.Therefore, there is a problem that the CUP utilization rate cannot be effectively managed by the conventional method. You need a form of approach.
따라서, 상술된 문제를 해결하기 위한 본 발명의 목적은 DNS 서버와 클라이언트들 간의 TCP 트래픽들을 분류 및 관리하여 DNS 서버의 CPU 이용율에 영향을 끼 치는 요소를 찾아내고 그 요소를 제거해줌으로써 CPU 이용율이 한계치 이상으로 높아지는 것을 사전에 방지하여 DNS 서버가 정상적으로 동작될 수 있도록 하는데 있다.Accordingly, an object of the present invention to solve the above-mentioned problem is to classify and manage TCP traffic between DNS server and clients to find out the factors affecting CPU utilization of DNS server and to remove the factors, thereby limiting CPU utilization. This is to prevent the above rise in advance so that the DNS server can operate normally.
위와 같은 목적을 달성하기 위한 본 발명의 DNS 서버의 CPU 이용율 관리시스템은 DNS 서버의 CPU 이용율이 기 설정된 이용율 한계치를 초과하게 되면, 상기 DNS 서버와 클라이언트들 간의 TCP 트래픽을 수집하여 비정상적인 TCP 연결들을 그 특성 및 각 특성에 대응되는 상기 클라이언트의 IP 주소별로 분류하여 이들 중 CPU 이용율에 가장 많은 영향을 주는 IP 주소를 검색한 후, 검색된 IP 주소를 갖는 트래픽 유입을 조절하기 위한 제어신호를 출력하는 부하 모니터링 및 관리서버; 및 상기 DNS 서버의 전단에 구비되어 상기 DNS 서버로 유입되는 TCP 트래픽을 스위칭하며, 상기 부하 모니터링 및 관리서버로부터 상기 제어신호에 따라 상기 검색된 IP 주소를 갖는 트래픽을 선택적으로 차단 또는 제한하는 부하 분산용 스위치를 구비한다.The CPU utilization management system of the DNS server of the present invention for achieving the above object, when the CPU utilization rate of the DNS server exceeds a predetermined utilization threshold, collecting TCP traffic between the DNS server and the client to remove the abnormal TCP connections Load monitoring outputting control signals for controlling traffic inflow with the searched IP addresses after searching for IP addresses which have the most influence on CPU utilization by classifying by characteristics and IP addresses of the clients corresponding to each characteristic And a management server; And switching TCP traffic flowing into the DNS server at a front end of the DNS server, and selectively blocking or restricting traffic having the retrieved IP address according to the control signal from the load monitoring and management server. With a switch.
본 발명의 DNS 서버의 CPU 이용율 관리방법은 DNS 서버와 클라이언트들 간의 TCP 패킷들을 일정 시간 동안 수집하는 제 1 단계; 상기 수집된 각 TCP 패킷들에서 비정상적인 TCP 연결을 식별하고 해당 TCP 연결들을 종류별로 분류하는 제 2 단계; 상기 분류된 TCP 연결들을 그 특성 및 대응되는 상기 클라이언트의 IP 주소별로 분포를 구하는 제 3 단계; 및 상기 제 3 단계의 분포 중 지연이 가장 큰 IP 주소를 검색하여 해당 IP 주소를 갖는 트래픽이 상기 DNS 서버로 유입되는 것을 차단 또는 제한하는 제 4 단계를 포함한다.The CPU utilization management method of the DNS server of the present invention includes a first step of collecting TCP packets between the DNS server and the clients for a predetermined time; Identifying a abnormal TCP connection in each of the collected TCP packets and classifying the corresponding TCP connections by type; Obtaining a distribution of the classified TCP connections by their characteristics and corresponding IP addresses of the clients; And a fourth step of searching for an IP address having the greatest delay among the distributions of the third step and blocking or restricting traffic having the corresponding IP address from flowing into the DNS server.
이하, 첨부된 도면들을 참조하여 본 발명의 바람직한 실시예를 보다 상세하 게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.
우선, DNS 서버의 트래픽과 CPU 이용율의 상관관계를 알아 보면, 표 1에서와 같이 약간의 TCP 트래픽이 DNS 서버에 존재하여도 서버의 CPU 이용율이 많이 높아짐을 알 수 있다.First, when the correlation between the DNS server traffic and the CPU utilization rate, as shown in Table 1, even if some TCP traffic is present in the DNS server, the CPU utilization rate of the server is much higher.
표 1에서, A, B, C, D는 하나의 부하분산(load balancing) 스위치에 여러대의 서버를 연결하는 서버팜을 나타내며, DNS 서버 1, 2는 각각의 서버팜(A, B, C, D)에 연결된 DNS 서버들을 나타내는 것으로, DNS 서버 1은 TCP와 UDP 트래픽을 동시에 처리하는 반면 DNS 서버 2는 UDP 트래픽 만을 처리한다. 그리고, 본 실시예에서는 부하분산 스위치에는 53번 포트를 사용하는 트래픽만 유입되도록 허용하였으며, DNS 서버에는 DNS 관련 트래픽만 유입되도록 설정하였다.In Table 1, A, B, C, and D represent server farms connecting multiple servers to one load balancing switch, and
따라서, 표 1에서와 같이 TCP 트래픽이 서버의 CPU 이용율에 크게 영향을 미치므로, 본 실시예에서는 DNS 서버의 TCP 패킷을 분석하여 DNS 서버의 성능에 영향을 끼치는 사용자 단말을 찾아낸 후 해당 단말로부터의 트래픽을 제한함으로써 서버의 CPU 이용율이 높아지는 것을 사전에 방지한다. Therefore, as shown in Table 1, since the TCP traffic greatly affects the CPU utilization rate of the server, the present embodiment analyzes the TCP packet of the DNS server to find the user terminal affecting the performance of the DNS server, By limiting traffic, the server's CPU utilization is prevented from increasing.
도 1은 클라이언트와 서버간의 정상적인 DNS 질의에 대한 TCP 연결을 나타낸다.1 shows a TCP connection to a normal DNS query between a client and a server.
TCP 연결을 시도하기 위해 클라이언트는 서버로 SYN 메시지를 전송하며, 이에 대한 응답으로 서버는 클라이언트에게 SYN+ACK 메시지를 전송하고 스택에 진행중인 연결에 대한 정보를 저장한다. 다음에, 클라이언트가 SYN+ACK 메시지에 대해 ACK 메시지를 서버로 전송함으로서 TCP 연결이 이루어진다. To attempt a TCP connection, the client sends a SYN message to the server. In response, the server sends a SYN + ACK message to the client and stores information about the connection in progress on the stack. The TCP connection is then made by sending a ACK message to the server for the SYN + ACK message.
TCP 연결이 이루어진 후, 클라이언트가 서버로 DNS 질의(query)를 전송하면, 서버는 클라이언트로 DNS 응답을 전송한다. 이때, 초기 SYN 패킷을 제외하고, 연결을 맺은 모든 패킷들은 ACK 비트가 설정된다.After a TCP connection is made, the client sends a DNS query to the server, which sends a DNS response to the client. At this time, except for the initial SYN packet, all the packets that have established a connection have the ACK bit set.
DNS 질의와 그에 대한 응답 교환이 완료되면 TCP 연결을 종료하는데, 어느 단말(클라이언트 또는 서버)에서든지 FIN 패킷을 생성하여 상대 단말로 전송함으로써 연결이 종료된다. 또한, 도시되지는 않았지만 어느 단말이 RESET 패킷을 생성하여 상대 단말로 전송하면 진행되던 TCP 패킷 순서(sequence)와는 상관없이 즉시 연결이 종료된다.When the DNS query and the response exchange are completed, the TCP connection is terminated. The connection is terminated by generating a FIN packet from the terminal (client or server) and transmitting it to the counterpart terminal. In addition, although not shown, if a terminal generates a RESET packet and transmits it to the counterpart terminal, the connection is immediately terminated regardless of the TCP packet sequence.
그런데, 도 2a 내지 도 2d에서와 같은 비 정상적인 TCP 연결들이 발생되면, DNS 서버의 CPU 이용율에 크게 영향을 미치게 된다.However, when abnormal TCP connections are generated as shown in FIGS. 2A to 2D, the CPU utilization of the DNS server is greatly affected.
도 2a는 ACK 패킷이 반복되는 TCP 연결로, DNS 서버가 9개의 ACK 패킷을 생성하다가 RESET 패킷을 전송하여 연결을 종료하는 경우이다. ACK 패킷은 75초 간격으로 전송되므로 ACK 패킷의 반복은 긴 지연시간을 초래하며, 이러한 ACK 패킷의 반복에 의한 지연은 TCP 연결 개수 및 패킷 개수에서 차지하는 비중이 높은 편이 다. 이러한 지연은 특정 사용자 단말로부터 집중적으로 유발된다.FIG. 2A illustrates a TCP connection in which ACK packets are repeated. The DNS server generates 9 ACK packets and then terminates the connection by transmitting RESET packets. Since the ACK packet is transmitted at 75 second intervals, the repetition of the ACK packet causes a long delay time, and the delay due to the repetition of the ACK packet tends to be high in the number of TCP connections and packets. This delay is caused intensively from a particular user terminal.
도 2b는 ServFail 패킷이 반복되는 TCP 연결이다. DNS 서버가 클라이언트에게 적절한 응답을 할 수 없는 경우에 ServFail 패킷을 전송하게 되는데, 이러한 ServFail 패킷에 대해 클라이언트가 ACK 패킷을 서버로 전송하면 연결이 정상적으로 종료된다. 그러나, 클라이언트가 ServFail 패킷에 대해 응답을 하지 않으면 서버는 계속해서 ServFail 패킷을 클라이언트로 전송하게 되어 지연 발생 및 CPU 이용율에 영향을 주게 된다. 이러한 경우는 전체 TCP 패킷 및 연결 개수에서 차지하는 비율은 작지만 연결 지연 시간이 길다는 특성이 있다.2B is a TCP connection in which a ServFail packet is repeated. When the DNS server cannot send a proper response to the client, the ServFail packet is sent. If the client sends an ACK packet to the server, the connection is terminated normally. However, if the client does not respond to the ServFail packet, the server continues to send the ServFail packet to the client, which affects the delay and CPU utilization. In this case, although the ratio of the total number of TCP packets and connections is small, the connection latency is long.
도 2c는 FIN 패킷이 반복되는 TCP 연결이다. 이 역시 서버 측에서 FIN 패킷을 전송하여도 클라이언트가 ACK 패킷을 전송하지 않아 FIN 패킷이 반복적으로 전송되는 경우이다. 이러한 연결은 발생 비율이 적으나 지연 시간은 186초로 긴 편이다.2C is a TCP connection in which a FIN packet is repeated. This is also the case in which the FIN packet is repeatedly transmitted because the client does not transmit the ACK packet even though the server sends the FIN packet. This connection has a low incidence but long delay of 186 seconds.
도 2d는 SYN 패킷이 반복되는 TCP 연결이다. TCP 연결 시작과정에서 클라이언트가 RESET 패킷을 보냈으나, DNS 서버가 SYN 패킷을 반복적으로 전송하여 종료를 지연시키는 경우이다. 이러한 연결은 비종료 TCP 연결 중에서 가장 많은 비율을 차지하는 것으로, 각 서버 별로 하나의 사용자가 집중적으로 발생시키며 이러한 연결이 TCP 53번 포트를 이용한 SYS 공격이다.2D is a TCP connection in which SYN packets are repeated. The client sent a RESET packet at the beginning of a TCP connection, but the DNS server delayed the termination by sending SYN packets repeatedly. These connections make up the largest percentage of non-terminating TCP connections, with one user concentrated on each server, which is a SYS attack using TCP port 53.
본 발명은 이와 같은 비정상적인 TCP 연결들을 찾아내어 해당 사용자 단말의 트래픽을 제한하는 것이다.The present invention is to detect such abnormal TCP connections to limit the traffic of the user terminal.
도 3은 본 발명의 DNS 서버의 CPU 이용율 관리시스템의 구성을 나타내는 구 성도이다.3 is a configuration diagram showing the configuration of the CPU utilization management system of the DNS server of the present invention.
본 발명의 CPU 이용율 관리시스템은 부하 모니터링 및 관리서버(10) 및 부하 분산용 스위치(20)를 구비한다.The CPU utilization management system of the present invention includes a load monitoring and
부하 모니터링 및 관리서버(10)는 DNS 서버(40)의 CPU 이용율을 기 설정된 이용율 한계치와 비교하여 현재의 이용율이 한계치를 초과하게 되면 DNS 서버(40)와 클라이언트들(30) 간의 TCP 트래픽을 수집하여 종료되지 않은 TCP 연결들을 그 특성별로 분류한다. 다음에, 부하 모니터링 및 관리서버(10)는 분류된 TCP 연결들을 클라이언트(30)의 IP 주소별로 다시 분류하여 DNS 서버(40)의 CPU 이용율에 가장 큰 영향을 주는 IP를 검색한 후, 부하 분산용 스위치(20)로 해당 IP로부터의 트래픽을 차단 또는 제한 하도록 명령을 내린다.The load monitoring and
부하 분산용 스위치(20)는 클라이언트들(30)과 DNS 서버(40) 사이에 설치되어 부하 모니터링 및 관리서버(10)의 제어에 따라 클라이언트들(30)과 DNS 서버(40) 사이의 트래픽 전송을 스위칭한다.The
도 4는 도 3의 관리시스템에서의 CPU 이용율 관리 방법을 설명하기 위한 순서도이다.FIG. 4 is a flowchart for describing a CPU utilization management method in the management system of FIG. 3.
우선, 부하 모니터링 및 관리서버(10)는 DNS 서버(40)가 정상적으로 구동될 수 있는 CPU 이용율의 한계치를 미리 정하여 설정한 후(단계 410), DNS 서버(40)의 현재 CPU 이용율과 단계 410에서 설정된 CPU 이용율 한계치를 비교한다(단계 420).First, the load monitoring and
단계 420의 비교결과, 현재의 CPU 이용율이 기 설정된 CPU 이용율 한계치 보다 크지 않으면, 부하 모니터링 및 관리서버(10)는 본 발명에 따른 CPU 이용율 관 리 방법을 적용하지 않고 DNS 서버(40)의 CPU 이용율을 지속적으로 모니터링하면서 현재의 동작 상태를 유지한다.As a result of the comparison of
그러나, 현재의 CPU 이용율이 기 설정된 CPU 이용율 한계치를 초과하게 되면, 부하 모니터링 및 관리서버(10)는 기 설정된 일정 시간(예컨대, 5분)동안 DNS 서버(40)와 클라이언트들(30) 간에 송수신되는 TCP 패킷들을 수집한다(단계 430).However, if the current CPU utilization exceeds the predetermined CPU utilization threshold, the load monitoring and
TCP 패킷 수집이 완료되면, 부하 모니터링 및 관리서버(10)는 수집된 TCP 패킷들을 하나씩 읽어들여 해당 패킷이 새로 생성되는 연결을 위한 패킷인지 아니면 기존에 존재하던 연결에 대한 패킷들인지를 식별한 후 식별된 패킷들의 특성에 따라 TCP 연결들을 종류별로 분류한다(단계 440).When the TCP packet collection is completed, the load monitoring and
다음에, DNS 서버의 CPU 이용율에 영향을 끼치는 요소를 찾아내기 위해 부하 모니터링 및 관리서버(10)는 단계 440에서 분류된 TCP 연결들에 대해 표 2와 같이 각 클라이언트 IP 주소별로 TCP 특성 및 연결별 IP 주소 분포표를 작성한다(단계 450).Next, in order to find out the factors influencing the CPU utilization of the DNS server, the load monitoring and
즉, 부하 모니터링 및 관리서버(10)는 DNS 서버(40)를 사용하는 각 클라이언트들(30)의 IP 주소별로 "TCP 연결 개수", "TCP 패킷 개수", " TCP 연결 지연 시간", 및 각 TCP 연결 종류별(비정상 종료의 종류 및 정상적인 DNS 질의) 분포를 표 2와 같이 정리하여 분포표를 생성한다. 이중에서, TCP 연결의 지연 시간이 DNS 서버의 CPU 이용율과 가장 관계가 많으며, TCP 연결의 지연은 상술한 바와 같이 "반복되는 ACK", "반복되는 ServFail" 등이 발생된 TCP 연결이 가장 큰 영향을 준다.That is, the load monitoring and
따라서, 부하 모니터링 및 관리서버(10)는 작성된 분포표의 "TCP 연결 지연 시간"에서 가장 높은 비율을 차지하는 단말의 IP가 부적절한 트래픽을 많이 발생시켜 CPU 이용율에 가장 큰 영향을 주고 있는 것으로 판단하여 해당 단말의 IP를 파악한다(단계 460).Therefore, the load monitoring and
그리고, 부하 모니터링 및 관리서버(10)는 DNS 서버의 앞단에 위치하는 부하 분산용 스위치(20)로 해당 IP로부터 발생되는 트래픽의 유입을 차단시키거나 제한하도록 지시하여 트래픽을 차단한다(470).The load monitoring and
도 5는 도 4에서 단계 440의 과정을 보다 상세하게 설명하기 위한 순서도이다.FIG. 5 is a flowchart illustrating the process of
부하 모니터링 및 관리서버(10)는 도 4의 단계 430에서 수집된 TCP 패킷들을 하나씩 읽어온다(단계 511). 부하 모니터링 및 관리서버(10)는 수집된 TCP 패킷들이 다 읽혀지지 않고 아직 남아 있으면(단계 512), 읽혀진 패킷들이 새로운 TCP 연결에 대한 것인지 아니면 기존에 존재하던 TCP 연결에 대한 것인지를 식별한다(단계 513).
The load monitoring and
이때, TCP 연결을 유지하는 구조체(structure)는 "IP 주소", "포트번호", "FIN 카운트", "ServFail 카운트", "ACK 카운트", "TCP 플래그", "시작한 시각", "끝나는 시각" 및 "유형" 등의 항목들을 가지고 있다. 따라서, 부하 모니터링 및 관리서버(10)는 TCP 연결을 유지하는 구조체의 배열을 읽어서 "IP 주소"와 "포트번호" 값이 같은 연결이 존재하는지를 판별하여, 해당 항목의 값이 같은 연결이 존재하면 해당 패킷은 기존에 존재하던 TCP 연결에 대한 것이며 그렇지 않으면 새로운 TCP 연결에 대한 것이다.At this time, the structure holding the TCP connection is "IP address", "port number", "FIN count", "ServFail count", "ACK count", "TCP flag", "start time", "end time" "And" type ". Therefore, the load monitoring and
단계 513에서, 해당 패킷이 새로운 TCP 연결에 대한 것이면, 부하 모니터링 및 관리서버(10)는 새로운 구조체를 생성하여 구조체의 배열에 해당 TCP 연결을 추가하여 새로운 자료구조를 생성한다(단계 514). 이때, 새로운 구조체에는 "IP 주소", "포트번호", "시작한 시각", "TCP 플래그" 등이 기록되며, "끝나는 시각"이 현 패킷의 시간으로 기록된다.In
그러나, 단계 513에서, 해당 패킷이 기존의 TCP 연결에 대한 것이면, 기존의 자료구조의 정보를 수정한다(단계 515). 즉, 해당 구조체에서 "끝나는 시각"이 현 패킷의 시간으로 갱신된다.However, in
다음에, 부하 모니터링 및 관리서버(10)는 기존의 TCP 연결이 종료되었는지 여부를 확인(단계 516)하여, 종료되었으면 해당 TCP 연결을 기록한 후 해당 자료구조는 삭제한다(단계 517). 단계 516에서의 종료 여부는 FIN 패킷의 발생여부 또는 RESET 패킷의 발생여부를 통해 판단할 수 있으나, RESET의 경우 DNS 서버(40)가 RESET 패킷을 받은 후에도 더 진행하는 경우가 많기 때문에 단계 516에서는 FIN 패킷의 발생여부를 통해 종료 여부를 판단한다. 이때, 부하 모니터링 및 관리서버(10)는 FIN 패킷이 2번 이상 발생되며, 현재의 TCP 패킷이 ACK인 경우 종료로 판단한다.Next, the load monitoring and
단계 516에서, TCP 연결이 종료되지 않은 경우에는, 부하 모니터링 및 관리서버(10)는 TCP 연결의 종류를 분류하기 위해 먼저 해당 패킷의 내용이 ServFail 인지를 판단한다(단계 518). 판단결과, 해당 패킷의 내용이 ServFail이면, 부하 모니터링 및 관리서버(10)는 ServFail 카운트를 1 증가시킨다(단계 519).In
단계 518에서, 해당 패킷의 내용이 ServFail이 아니면, 부하 모니터링 및 관리서버(10)는 해당 패킷이 FIN인지를 판단한다(단계 520). 판단결과, 해당 패킷이 FIN 이면, 부하 모니터링 및 관리서버(10)는 FIN 카운트를 1 증가시킨다(단계 521).In
단계 520에서, 해당 패킷이 FIN 이 아니면, 부하 모니터링 및 관리서버(10)는 이전의 패킷과 현재의 패킷이 모두 ACK 인지를 판단한다(단계 522). 판단결과, 모두 ACK이면, 부하 모니터링 및 관리서버(10)는 ACK 카운트를 1 증가시킨다(단계 523).In
단계 522에서, 이전의 패킷과 현재의 패킷이 모두 ACK가 아닌 경우, 부하 모니터링 및 관리서버(10)는 해당 패킷이 DNS 질의인지 여부를 판단한다(단계 524). 판단결과, 해당 패킷이 DNS 질의이면, 부하 모니터링 및 관리서버(10)는 해당 패킷을 정상 질의로 기록한다(단계 525).In
상술된 단계 518 내지 단계 525의 동작들은 수집된 패킷들이 모두 읽혀질 때 까지 진행되며, 단계 512에서, TCP 패킷이 존재하지 않으면 부하 모니터링 및 관리서버(10)는 종료되지 않은 TCP 연결들과 RESET으로 종료되는 연결들을 분류하여 기록한다(단계 526). 이때, ServFail 카운트가 2 이상이면 표 2의 항목에서 "반복되는 ServFail"로, FIN 카운트가 2 이상이면 "반복되는 FIN"으로, 패킷이 SYN으로 끝나면 "반복되는 SYN"으로, 그리고 ACK 카운트가 2 보다 크면 "반복되는 ACK"로 각각 분류한다.The operations of
이렇게 분류된 각 TCP 연결들에 대한 정보는 별도의 저장장치에 기록된다.Information about each of these classified TCP connections is recorded in a separate storage device.
이러한 과정을 통해 각 TCP 연결들의 특성을 알 수 있으며, 특히 해당 연결이 시작된 시각과 끝나는 시각을 통해 TCP 연결을 구성하는 패킷들이 처음 보인 시간을 단계 519에서 기록하고 패킷이 마지막으로 보인 시간을 단계 615에서 기록하며 이들의 시간차를 이용하여 해당 TCP 연결의 지연시간을 산출할 수 있다. 또한, 종료되지 않은 TCP 연결들은 DNS 서버(40)가 마지막으로 패킷을 보내거나 받은 뒤에도 어느 정도 더 기다리게 되는데, DNS 서버(40)가 사용하는 운영체제마다 해당 값이 다르므로 해당 값을 더하여 TCP 연결의 지연 시간을 계산한다.Through this process, the characteristics of each TCP connection can be known. In particular, the time at which the packets constituting the TCP connection are first shown in
상술한 바와 같이, 본 발명의 DNS 서버의 CPU 이용율 관리방법은 DNS 서버와 클라이언트들 간의 TCP 트래픽들을 분류 및 관리하여 DNS 서버의 CPU 이용율에 영향을 끼치는 요소를 찾아내고 그 요소를 제거해줌으로써 CPU 이용율이 한계치 이상으로 높아지는 것을 사전에 방지하여 DNS 서버가 정상적으로 동작될 수 있도록 해준다.As described above, the CPU utilization management method of the DNS server of the present invention classifies and manages the TCP traffic between the DNS server and the clients to find out the factors affecting the CPU utilization of the DNS server and to remove the factors. This prevents the DNS server from operating normally by preventing it from going above the limit.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040074720A KR100788130B1 (en) | 2004-09-17 | 2004-09-17 | Method and system for CPU utilization management in DNS server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040074720A KR100788130B1 (en) | 2004-09-17 | 2004-09-17 | Method and system for CPU utilization management in DNS server |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060025867A KR20060025867A (en) | 2006-03-22 |
KR100788130B1 true KR100788130B1 (en) | 2007-12-21 |
Family
ID=37131239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040074720A KR100788130B1 (en) | 2004-09-17 | 2004-09-17 | Method and system for CPU utilization management in DNS server |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100788130B1 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101336458B1 (en) * | 2007-01-03 | 2013-12-04 | 주식회사 케이티 | System for Anomaly Detection of DNS Sever with Real Time in Internet and Method thereof |
KR100841952B1 (en) * | 2007-03-20 | 2008-06-30 | 삼성중공업 주식회사 | Method and system for data transmission control of distributed control system |
KR100975580B1 (en) * | 2007-06-12 | 2010-08-13 | 경희대학교 산학협력단 | Apparatus and method for managing resource in mobile terminal |
KR100973402B1 (en) * | 2007-10-10 | 2010-07-30 | 주식회사 케이티 | Centralized DNS analysis system |
KR101353472B1 (en) | 2008-08-29 | 2014-01-23 | 삼성테크윈 주식회사 | The sever, the system and the method for providing dynamic domain name service |
KR100949183B1 (en) * | 2010-01-06 | 2010-03-23 | (주)지란지교소프트 | Method and device for monitoring pattern of using by window title |
CN109032805A (en) * | 2018-08-06 | 2018-12-18 | 深圳乐信软件技术有限公司 | A kind of scalable appearance method, apparatus of elasticity, server and storage medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020027226A (en) * | 2000-10-02 | 2002-04-13 | 다치카와 게이지 | Communication system and resource assigning method therefor |
KR20030009887A (en) * | 2001-07-24 | 2003-02-05 | 주식회사 케이티 | A system and method for intercepting DoS attack |
KR20030061666A (en) * | 2002-01-15 | 2003-07-22 | 주식회사 아론통신기술 | Traffic collecting/analyzing system and its method |
KR20030070648A (en) * | 2002-02-26 | 2003-09-02 | 주식회사 플랜티넷 | system for harmful cite connection interception service using tunneling protocol and service method thereof |
KR20040036228A (en) * | 2002-10-24 | 2004-04-30 | 한국전자통신연구원 | The system and method of malicious traffic detection and response in network |
KR20040039100A (en) * | 2002-11-01 | 2004-05-10 | 한국전자통신연구원 | Hierarchical packet analysis based intrusion detection system |
KR20040042397A (en) * | 2002-11-14 | 2004-05-20 | 한국전자통신연구원 | Method and system for defensing distributed denial of service |
-
2004
- 2004-09-17 KR KR1020040074720A patent/KR100788130B1/en active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020027226A (en) * | 2000-10-02 | 2002-04-13 | 다치카와 게이지 | Communication system and resource assigning method therefor |
KR20030009887A (en) * | 2001-07-24 | 2003-02-05 | 주식회사 케이티 | A system and method for intercepting DoS attack |
KR20030061666A (en) * | 2002-01-15 | 2003-07-22 | 주식회사 아론통신기술 | Traffic collecting/analyzing system and its method |
KR20030070648A (en) * | 2002-02-26 | 2003-09-02 | 주식회사 플랜티넷 | system for harmful cite connection interception service using tunneling protocol and service method thereof |
KR20040036228A (en) * | 2002-10-24 | 2004-04-30 | 한국전자통신연구원 | The system and method of malicious traffic detection and response in network |
KR20040039100A (en) * | 2002-11-01 | 2004-05-10 | 한국전자통신연구원 | Hierarchical packet analysis based intrusion detection system |
KR20040042397A (en) * | 2002-11-14 | 2004-05-20 | 한국전자통신연구원 | Method and system for defensing distributed denial of service |
Also Published As
Publication number | Publication date |
---|---|
KR20060025867A (en) | 2006-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7698460B2 (en) | Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same | |
US7843827B2 (en) | Method and device for configuring a network device | |
US9531628B2 (en) | Content delivery network map generation using passive measurement data | |
EP1999890B1 (en) | Automated network congestion and trouble locator and corrector | |
CA2448221C (en) | Communications network with congestion avoidance | |
CN106972985B (en) | Method for accelerating data processing and forwarding of DPI (deep packet inspection) equipment and DPI equipment | |
JP2019134484A (en) | System and method for regulating access request | |
US20050152364A1 (en) | Traffic control system of P2P network | |
US11522798B2 (en) | Method and system for triggering augmented data collection on a network based on traffic patterns | |
EP1128613A2 (en) | Method and apparatus for load balancing of network services | |
KR100788130B1 (en) | Method and system for CPU utilization management in DNS server | |
JP2006311048A (en) | Band control device | |
CN118233111A (en) | Attack detection method, system and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20121205 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131205 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20141208 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20151207 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20161205 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20171204 Year of fee payment: 11 |