[go: up one dir, main page]

KR101645222B1 - 어드밴스드 도메인 네임 시스템 및 운용 방법 - Google Patents

어드밴스드 도메인 네임 시스템 및 운용 방법 Download PDF

Info

Publication number
KR101645222B1
KR101645222B1 KR1020150063407A KR20150063407A KR101645222B1 KR 101645222 B1 KR101645222 B1 KR 101645222B1 KR 1020150063407 A KR1020150063407 A KR 1020150063407A KR 20150063407 A KR20150063407 A KR 20150063407A KR 101645222 B1 KR101645222 B1 KR 101645222B1
Authority
KR
South Korea
Prior art keywords
query
dns server
response
cache data
ttl
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020150063407A
Other languages
English (en)
Inventor
이석문
이판정
배진현
Original Assignee
(주)넷피아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)넷피아 filed Critical (주)넷피아
Priority to KR1020150063407A priority Critical patent/KR101645222B1/ko
Application granted granted Critical
Publication of KR101645222B1 publication Critical patent/KR101645222B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • H04L67/2842
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/083Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
    • H04L61/1511

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은, 어드밴스드 도메인 네임 시스템으로서, 클라이언트 디바이스로부터 질의(Query)를 수신하는 수신부; 수신부에 유입된 상기 질의에 대해 로그(log)를 기록하는 로그 저장 DB; TTL(Time to Live) 정보를 포함한 질의 및 응답 정보를 캐시 데이터로 저장하는 캐시 메모리(Cache Memory); 수신부를 통해 전달된 상기 질의에 대해, 캐시 데이터의 존재 여부 및 TTL의 유효 여부를 판단하여 응답을 처리하는 처리부; 및 외부 DNS 서버 계층으로의 질의 및 응답을 통해 캐시 데이터를 업데이트하고, 클라이언트 서버로의 응답을 처리하는 질의부를 포함하고, 처리부는, TTL이 유효한 경우 캐시 데이터로 응답을 처리하고, TTL이 유효하지 않은 경우 캐시 데이터로 우선 응답을 처리하는 것을 특징으로 한다.

Description

어드밴스드 도메인 네임 시스템 및 운용 방법{ADVANCED DOMAIN NAME SYSTEM AND MANAGEMENT METHOD}
본 발명은 어드밴스드 도메인 네임 시스템 및 운용 방법에 관한 것으로서, 더욱 상세하게는 기존 도메인 네임 시스템(Domain Name System) 서버를 개선하여 응답 속도를 향상시키고 장애 시에도 정상 동작 및 신속한 복구가 가능하도록 구현하기 위한 어드밴스드 도메인 네임 시스템 및 운용 방법에 관한 것이다.
DNS(Domain Name System 또는 Domain Name Server) 서비스는 주로 TCP/IP(Transfer Control Protocol/Internet Protocol) 네트워크에서 사용되는 네임 서비스로서 사람이 기억하기 쉽게 문자로 만들어진 호스트 네임을 컴퓨터가 처리할 수 있는 숫자로 구성되고 계층구조를 가진 IP 주소(Internet Protocol Address)로 변환해주어 호스트에 접속할 수 있도록 지원하는 서비스이다.
도 1을 참조하여 일반적인 DNS 서비스에 대해 설명하면, 클라이언트 디바이스(10)가 DNS 질의를 보내면, 프록시로 동작하는 로컬 DNS 서버(20)에 전달되고(110), 로컬 DNS 서버(20)는 이 질의를 DNS 서버 계층에 전달한다. DNS 서버들은 계층 구조를 가지고 호스트에 대한 매핑을 분산하여 처리하는데, 이러한 외부 DNS 서버 계층은 루트 DNS 서버(30), 최상위 레벨 도메인 네임(TLD: top-level domain) DNS 서버(40), 책임(authoritative) DNS 서버(50)로 이루어져 있다.
한편, 로컬 DNS 서버(20)는 질의를 수신하는 수신부(21), 처리부(22), 질의부(23), 로그 저장 DB(24) 및 캐시 메모리(25)를 구비한다. 기본적으로, 클라이언트 디바이스(10)로부터 질의가 들어오면, 수신부(21)가 질의를 수신하여 로그 저장 DB(24)에 저장함과 동시에 처리부(22)에 질의를 전달하고, 처리부(22)는 캐시 메모리(140)에 캐시 데이터가 없거나 TTL(time to live)이 유효하지 않은 경우 질의부(23)를 통해 외부 DNS 서버로의 질의(181 내지 186)를 보내 응답 데이터를 수신하고, 캐시 메모리에 저장(또는 업데이트) 후(190) 요청 클라이언트 디바이스(10)에 결과를 송신하다(195).
즉, 로컬 DNS 서버(20)는 지연 성능 향상과 네트워크의 DNS 메시지 수를 줄이기 위해 캐싱(caching)을 사용하는데, 로컬 DNS 서버(20)에 호스트 네임에 대한 질의 응답 후 유효한 시간(TTL) 안에 같은 질의가 들어오면 외부 DNS 서버(30, 40, 50)로의 질의 없이 캐시 메모리(25)에 저장된 데이터로 응답한다(150, 160).
그러나, 도 1에 도시한 기존 DNS 서비스는, 빠른 응답이 필요하고 데이터가 쉽게 바뀌지 않은 DNS 서버의 특성에도 불구하고, TTL의 유효성 여부에 따라 캐시 메모리를 이용하기 때문에 응답 속도가 느리고, 불필요한 트래픽이 발생할 수 있으며, 외부 DNS와의 연동에 장애가 발생한 경우 정상적인 서비스가 불가하다는 문제점이 있다.
본 발명의 목적은 캐시 데이터의 유효성이 없더라도 우선 응답이 가능하도록 구현함으로써, TTL이 짧은 경우에도 빠른 응답을 제공하고, 외부 DNS와의 연동 장애 시에도 정상 서비스를 제공할 수 있는 어드밴스드 도메인 네임 시스템(Advanced DNS)을 제공하는 데 있다.
본 발명의 다른 목적은 임시 DNS의 구현을 통해 DDos 공격과 같은 장애 발생 시 임시 DNS로의 포워딩 처리를 통해 내부 장애 및 외부 장애에 대응할 수 있는 어드밴스드 도메인 네임 시스템을 제공하는 데 있다.
본 발명의 또 다른 목적은 클라이언트 디바이스에서 로컬 DNS 서버로 들어오는 질의 외에, 외부 DNS 서버로의 질의 및 응답, 로컬 DNS 서버의 응답 로그도 저장함으로써 오류 발생 시 원인 추적이 용이한 어드밴스드 도메인 네임 시스템을 제공하는 데 있다.
본 발명의 제1 측면은, 어드밴스드 도메인 네임 시스템으로서, 클라이언트 디바이스로부터 질의(Query)를 수신하는 수신부; 상기 수신부에 유입된 상기 질의에 대해 로그(log)를 기록하는 로그 저장 DB; TTL(Time to Live) 정보를 포함한 질의 및 응답 정보를 캐시 데이터로 저장하는 캐시 메모리(Cache Memory); 상기 수신부를 통해 전달된 상기 질의에 대해, 상기 캐시 데이터의 존재 여부 및 상기 TTL의 유효 여부를 판단하여 응답을 처리하는 처리부; 및 외부 DNS 서버 계층으로의 질의 및 응답을 통해 상기 캐시 데이터를 업데이트하고, 상기 클라이언트 서버로의 응답을 처리하는 질의부를 포함하고, 상기 처리부는, 상기 TTL이 유효한 경우 상기 캐시 데이터로 응답을 처리하고, 상기 TTL이 유효하지 않은 경우 상기 캐시 데이터로 우선 응답을 처리한 후 상기 질의부를 통해 상기 외부 DNS 서버 계층으로 상기 질의를 송신하고, 상기 질의에 대한 응답 정보를 수신하여 상기 캐시 데이터를 업데이트한 후 상기 클라이언트 디바이스로 응답 정보를 송신하는 것을 특징으로 한다.
실시 예로서, 상기 처리부는 상기 질의에 대한 캐시 메모리가 존재하지 않는 경우 상기 질의부를 통해 상기 외부 DNS 서버 계층으로 상기 질의를 송신하고, 상기 질의에 대한 응답 정보를 수신하여 상기 캐시 데이터 업데이트 및 상기 클라이언트 디바이스로의 응답을 처리하는 것을 특징으로 한다.
실시 예로서, 외부 DNS 서버 계층은 루트 DNS 서버, TLD DNS 서버 및 책임(Authority) DNS 서버를 포함한다.
실시 예로서, 어드밴스드 도메인 네임 시스템은 상기 로그 및 상기 캐시 데이터를 백업하여 저장하는 임시 DNS 서버와 연동한다. 처리부는 장애 발생 시 미리 결정된 기준에 따라 식별된 상기 질의의 일부 데이터만 상기 임시 DNS 서버에 포워딩하여 저장하도록 설정할 수 있다.
실시 예로서, 로그 저장 DB는 상기 클라이언트 디바이스로 유출되는 응답 정보, 상기 외부 DNS 서버 계층으로 유출되는 질의 정보, 및 상기 외부 DNS 서버 계층으로부터 유입되는 질의 정보를 더 저장할 수 있다.
본 발명의 제2 측면은, 어드밴스드 도메인 네임 시스템의 운용 방법으로서, 클라이언트 디바이스로부터 질의를 수신하는 단계; 상기 질의에 대해 로그(log)를 기록하는 단계; TTL(Time to Live) 정보를 포함한 질의 및 응답 정보를 캐시 데이터로 저장하는 단계; 및 상기 질의에 대해, 상기 캐시 데이터의 존재 여부 및 상기 TTL의 유효 여부를 판단하여 응답을 처리하는 단계를 포함하고, 상기 처리하는 단계는, 상기 TTL이 유효한 경우 상기 캐시 데이터로 응답을 처리하고, 상기 TTL이 유효하지 않은 경우 상기 캐시 데이터로 우선 응답을 처리한 후 외부 DNS 서버 계층으로 상기 질의를 송신하고, 상기 질의에 대한 응답 정보를 수신하여 상기 캐시 데이터를 업데이트한 후 상기 클라이언트 디바이스로 응답 정보를 송신한다.
본 발명은 TTL이 유효하지 않은 경우에도 캐시 메모리에 캐시된 데이터를 이용하여 우선 응답이 가능하도록 구현함으로써, 기존의 DNS 서비스 속도를 개선하는 효과를 갖는다.
또한, 본 발명은 임시 DNS 서버의 운영을 통해, 본 발명은 내부 장애 및 외부 장애에 대응하여 정상적인 서비스가 가능하고, 실제 장애 발생 시 신속한 복구가 용이해진다는 효과가 있다.
도 1은 기존 DNS의 질의 처리 방법을 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른, DNS의 질의 처리 방법을 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른, DNS의 질의 처리 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 일 실시예에 따른, 임시 DNS의 동작을 설명하기 위한 블록도이다.
도 5는 본 발명의 일 실시예에 따른, 임시 DNS의 동작을 설명하기 위한 순서도이다.
도 6의 본 발명의 일 실시예에 따른, 로그 저장 방법을 설명하기 위한 블록도이다.
다수의 도면에서 동일한 참조번호는 동일한 구성요소를 가리킨다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하에서, 도 2 내지 도 6을 참조하여, 본 발명이 제안하는 어드밴스드 로컬 DNS 서버(20)에 대해 설명한다.
도 2는 본 발명의 일 실시예에 따른, DNS의 질의 처리 방법을 설명하기 위한 블록도이다. 본 발명의 DNS 서비스는 클라이언트 디바이스(10), 로컬 DNS 서버(20), 루트 DNS 서버(30), TLD DNS 서버(40) 및 책임 DNS 서버(50)를 포함하고, 로컬 DNS 서버(20)는 수신부(21), 처리부(22), 질의부(23), 로그저장 DB(24), 캐시 메모리(25)를 포함한다. 로컬 DNS 서버(20)는 도시한 구성요소 외에 서비스 구현을 위한 다른 구성요소들을 포함할 수 있으며, 도시한 구성요소들(21, 22, 23, 24, 25)은 분리된 것처럼 도시되었으나 하나 이상의 구성요소가 통합된 형태로도 구현될 수 있다.
클라이언트 디바이스(10)는 인터넷 사용자가 로컬 DNS 서버(20)로 호스트 네임 질의(Query)를 보내는 디바이스로서, 랩탑, 데스크탑, 워크스테이션, 또는 다른 적절한 컴퓨터들과 같이 다양한 디지털 컴퓨터뿐만 아니라, 개인용 휴대 단말기(PDA), 셀룰러 전화, 스마트폰 등 컴퓨팅 디바이스와 같은 다양한 모바일 형태의 모바일 디바이스일 수 있고, 인터넷 프로토콜을 이용한 IPTV 등 통신이 가능한 디지털 디바이스를 모두 포함한다.
로컬 DNS 서버(20)는 클라이언트 디바이스(10)로부터 수신한 질의를 외부 DNS 서버 계층(30, 40, 50)에 전달하는 서버로서, 질의를 수신하는 수신부(21), 요청된 질의를 기록하는 로그 저장 DB(24), 수신한 질의에 대해 캐시 메모리를 열람하여 응답할 데이터를 추출하거나, 유효한 데이터가 없는 경우 질의부(23)를 통해 외부 DNS 서버(30, 40, 50)에 요청하는 처리부(22), 외부 DNS 서버(30, 40, 50)에 질의를 보내고 응답 데이터를 수신하는 질의부(23), 및 호스트 네임과 IP 주소 쌍을 저장하는 캐시 메모리(25)를 포함한다.
클라이언트 디바이스(10)로부터 질의가 들어오면(210, 220), 로컬 DNS 서버(20)의 처리부(22)는 캐시 메모리(25)에 캐시되어 있는 데이터에 대한 유효성 검사(TTL 검사)를 통해서 응답 데이터로 사용할지 유무를 확인하는 과정을 거친다. 여기서, 호스트 네임을 IP 주소로 매핑하기 위한 자원 레코드(RR, resource record)는, (Name, Value, Type, TTL)과 같은 필드를 포함하여 저장되는데, TTL(time to live)은 자원 레코드의 생존 시간으로서 캐시에 저장되는 시간을 결정한다.
처리부(22)는 TTL 검사를 통해 유효한 경우(유효 시간이 남아있는 경우) 캐시 메모리(25)에 저장된 데이터를 추출하여 즉각적인 응답을 처리한다(240, 250, 260). 처리부(22)는 캐시 메모리(25)에 TTL이 유효하지 않은 경우에도 캐시된 데이터를 이용해서 클라이언트 디바이스(10)에 우선 응답을 처리하고(250), 내부적으로 질의부(23)를 통해 외부 DNS 서버(30, 40, 50)에 질의하에 캐시 데이터를 업데이트한다(270, 280, 290). 이는 본 발명의 특징적인 구성으로서, 기존의 로컬 DNS 서버는 TTL 검사 시 캐시 데이터의 유효성이 없는 경우 오염된 데이터로 인식하여 사용하지 않고 외부 질의를 통해서 캐시 데이터를 수신하여 캐시 메모리를 업데이트한 후 클라이언트 디바이스(10)로 결과를 전달하는데 반해, 본 발명의 로컬 DNS 서버(20)는 유효성이 없는 경우에도 외부 질의 전 우선 응답 처리를 하고, 내부적으로 캐시 메모리 업데이트를 진행한다. 이러한 프로세스를 통해, 본 발명은 신속한 응답이 가능하고(예컨대, TTL이 짧은 경우에도 빠른 응답이 가능), 외부 DNS 서버와의 연동 장애 시에도 정상 서비스 제공이 가능하다는 이점이 있다.
도 3은 본 발명의 일 실시예에 따른, DNS의 질의 처리 방법을 설명하기 위한 순서도이다. 로컬 DNS 서버(20)는 클라이언트 디바이스(10)로부터 질의를 수신한다(310). 처리부(22)는 캐시 메모리(25)에 캐시 데이터가 존재하는지, TTL이 유효한지 여부를 확인한다(320, 330 단계). 320, 330 단계는 선후 관계로 도시되었으나 동시에 실시되거나 매우 짧은 시간에 선후관계를 가지고 실시될 수 있고, 순서가 바뀌어 실시될 수도 있다.
320 단계에서, 캐시 데이터가 존재하는 경우, TTL이 유효한지를 확인하여 유효한 경우 캐시 메모리(25)에 저장된 데이터로 응답을 처리한다(390 단계). 또는 캐시 메모리 열람 시, 캐시 데이터가 존재하지 않는 경우에는 질의부(23)를 통해 외부 DNS 서버로부터 응답을 수신하여 캐시 메모리를 업데이트하고 클라이언트 디바이스(10)에 응답을 송신한다(350 내지 380 단계).
캐시 데이터가 존재하지만 TTL이 유효하지 않은 경우에, 기존의 DNS 서버는 외부 질의를 통해 응답을 처리하였다. 그러나, 본 발명의 로컬 DNS 서버(20)는 캐시 메모리(25)에 저장된 데이터로 우선 응답을 처리함으로써, 신속한 응답이 가능하다(340 단계). 이후에, 본 발명의 로컬 DNS 서버(20)는 내부적으로 질의부(23)를 통해 외부 DNS 서버에 질의를 실시하고, 응답받은 데이터로 캐시 메모리 업데이트를 실시하고, 클라이언트 디바이스(10)에 결과 응답을 처리한다(350 내지 380 단계).
이처럼, 본 발명의 로컬 DNS 서버(20)는 TTL이 유효하지 않은 경우에도 캐시 메모리에 캐시된 데이터를 이용하여 우선 응답이 가능하도록 구현함으로써, 기존의 DNS 서비스 속도를 개선하는 효과를 갖는다.
도 4는 본 발명의 일 실시예에 따른, 임시 DNS의 동작을 설명하기 위한 블록도이다. 본 발명은 기존의 로컬 DNS 서버를 개선하기 위해 임시 DNS 서버를 구축하여 운용하는 기술에 대해 제안한다. 본 도면에서 로컬 DNS 서버(20)와 임시 DNS 서버(60)는 분리되어 운용되도록 도시되어 있으나, 통합된 형태로도 구현될 수 있다.
먼저, 기존에 운영되는 로컬 DNS 서버는 DDoS(Distribute Denial of Service) 공격와 같은 장애 발생 시, 정상적인 서비스가 중단되고 신속한 복구가 힘들다는 문제점이 있었다.
본 발명은 이러한 문제점을 해결하기 위하여, 임시 DNS 서버(60)를 구축할 수 있다. 임시 DNS 서버(60)는 기존에 운영되는 로컬 DNS 서버(20)의 로그 및/또는 캐시 메모리 내용을 저장하는 데이터베이스와 같은 역할을 하여, 모든 데이터를 메모리에 가지고 있으면서 외부 DNS 서버 계층(30, 40, 50)에 대한 질의는 실시하지 않는 서버이다.
예를 들어, 랜덤 문자열을 포함하는 DDoS 공격(예컨대, 랜덤문자열.www.naver.com)이 들어오는 경우 로컬 DNS 서버 및 외부 DNS 서버 계층 모두에게 과부하가 발생한다. 이 때, 랜덤 문자열을 제외한 도메인네임(www.naver.com)만 임시 DNS 서버(60)에 포워딩 처리를 실시함으로써, 외부 DNS 서버(60)에 저장되는 로그 또는 캐시 메모리를 보호할 수 있다. 또한 로컬 DNS 서버(20)는 로그 저장 DB(24) 및 캐시 메모리(25)에 대해, 임시 DNS 서버(60)로 포워딩 처리를 함으로써, 정상적인 서비스가 가능하도록 구현한다.
본 실시예에서, 임시 DNS 서버(60)는 데이터베이스의 역할을 수행하여, 통상적으로 로컬 DNS 서버(20)의 모든 로그와 캐시 메모리 저장을 수행하되, 장애 발생시에는 일부 도메인 네임(예컨대, 일부 식별된 문자열)만을 저장하도록 구현될 수 있다.
일 실시예로서, 로컬 DNS 서버(20)는 장애 발생 시 임시 DNS 서버(60)에 로그 및 캐시 메모리를 기록하고, 열람하여 DNS 서비스를 수행하도록 구현된다.
이러한 임시 DNS 서버(60) 운영을 통해, 본 발명은 내부 장애 및 외부 장애에 대응하여 정상적인 서비스가 가능하고, 실제 장애 발생 시 신속한 복구가 용이해진다는 효과가 있다.
도 5는 본 발명의 일 실시예에 따른, 임시 DNS 서버(60)의 동작을 설명하기 위한 순서도이다. 로컬 DNS 서버(20)가 클라이언트 디바이스(10)로부터 질의를 수신하면(510 단계), 장애 발생 여부를 판단하게 된다(520 단계). 예컨대, 평소들어오는 기준 트래픽을 월등히 넘어서는 과도한 트래픽이 발생한 경우 장애가 발생한 것으로 판단할 수 있다.
장애가 발생하지 않은 통상적인 경우에, 로컬 DNS 서버(20)는 정상 서비스를 실시하되, 임시 DNS 서버(60)에 로그 및 캐시 메모리를 백업한다(530 단계). 예를 들어, 백업은 1일 1회 실시할 수 있다.
장애가 발생한 경우, 로컬 DNS 서버(20)는 임시 DNS 서버(60)에 질의 데이터 중 선별된 데이터(예컨대, 랜덤문자열을 제외한 도메인 네임)만을 포워딩 처리하여, 임시 DNS 서버를 업데이트하도록 구현할 수 있다(540, 550 단계).
일 실시예로서, 장애 발생 시 로컬 DNS 서버(20)의 로그 저장 DB와 캐시 메모리를 사용하지 않고, 임시 DNS 서버(60)에 선별된 데이터를 로그로 저장하고 캐시 메모리를 저장 및 업데이트할 수 있다.
다른 실시예로서, 장애 발생 시 로컬 DNS 서버(20)의 로그 저장 DB와 캐시 메모리를 사용하되, 임시 DNS 서버(60)에 선별된 데이터의 로그 및 캐시 데이터를 저장 및 업데이트하도록 구현할 수 있다.
이러한 임시 DNS 서버 운용 방법을 통해, 장애 발생 시에도 임시 DNS 서버를 보호할 수 있고, 로컬 DNS 서버의 정상적인 서비스 및 신속한 복구가 가능해진다.
도 6의 본 발명의 일 실시예에 따른, 로그 저장 방법을 설명하기 위한 블록도이다. 로컬 DNS 서버(20)에 유입되고 유출되는 데이터 유형은, 클라이언트 디바이스로 유출되는 데이터(610), 외부 DNS 서버(90)로부터 유입되는 데이터(620), 외부 DNS 서버(90)로 유출되는 데이터(630), 클라이언트 디바이스로부터 유입되는 데이터(640)로 구분할 수 있다. 일반적으로 로컬 DNS 서버(20)는 클라이언트 디바이스로부터 유입되는 데이터(640)에 대해서만 로그를 남기며, 이를 기반으로 사용자의 질의에 대한 통계를 생성 및 제공할 수 있다. 이 때, 로그는 시간, 요청 클라이언트 정보(ID, Port), 요청 쿼리 정보(도메인, class, type)을 포함한다. 그러나 기존의 클라이언트 디바이스로부터 유입되는 데이터(640)만 로그로 기록하는 방식을 이용할 경우 장애 발생 시 오류를 잡아내기 힘든 문제점이 있었다.
본 발명은 이러한 문제점을 개선하기 위하여, 로컬 DNS 서버(20)가 클라이언트 디바이스로 유출되는 데이터(610), 외부 DNS 서버(90)로부터 유입되는 데이터(620), 외부 DNS 서버(90)로 유출되는 데이터(630)의 로그를 저장하는 기술을 제안한다.
구체적으로, 본 발명은 로그 저장 프로그램을 이용하여 네트워크 단계의 패킷(packet)을 분석해서 처리한다. 즉, 클라이언트 디바이스(10)로부터 로컬 DNS 서버(20)로 유출입되는 패킷들, 외부 DNS 서버(90)로부터 로컬 DNS 서버(20)에 유출입되는 패킷들을 기록함으로써, 로컬 DNS 서버의 장애가 발생하더라도 네트워크 단계에서 전송되는 패킷을 분석하여 보다 상세한 분석이 가능하다.
예를 들어, L4 장비에서 서버의 동작 여부를 알기 위해서 만들어진 비정상적인 DNS 패킷은 네트워크 단계에서는 잡히지만, DNS 프로그램까지는 도달되지 않는다. 본 발명의 로그 저장 프로그램은 네트워크 단에서의 패킷을 저장하므로, 상술한 예와 같이 DNS 프로그램에 도달되지 않는 경우에도 로그로 동작 확인이 가능해진다는 효과가 있다.
이처럼, 클라이언트 디바이스(10)-로컬 DNS 서버(20)-외부 DNS 서버(90) 간에 유출입되는 데이터 로그를 모두 기록하는 경우, DNS 서버의 동작 시간(즉, 응답 시간) 확인이 가능하고, 장애 발생 시에도 정상응답 유무와 외부질의에 대한 응답을 확인함으로써 원인 해결이 용이하다는 장점이 있다. 또한 4가지 유형의 로그를 통한 데이터를 분석함으로써, 캐시 사용률 확인 및 외부 질의 도메인 확인을 통한 외부 의존 도메인의 확인이 가능해지고, 응답 코드를 통한 문제 도메인 및 서비스 정상성공률 확인이 가능해진다는 이점이 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예를 들어 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한 각 실시 예는 여러 가지 형태로 변형될 수 있다.
또한, 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구범위뿐만 아니라 이 발명의 특허 청구범위와 균등한 것들에 의해 정해져야 한다.
10: 클라이언트 디바이스
20: 로컬 DNS 서버
30: 루트 DNS 서버
40: TLD DNS 서버
50: 책임 DNS 서버

Claims (12)

  1. 클라이언트 디바이스로부터 질의(Query)를 수신하는 수신부;
    상기 수신부에 유입된 상기 질의에 대해 로그(log)를 기록하는 로그 저장 DB;
    TTL(Time to Live) 정보를 포함한 질의 및 응답 정보를 캐시 데이터로 저장하는 캐시 메모리(Cache Memory);
    상기 수신부를 통해 전달된 상기 질의에 대해, 상기 캐시 데이터의 존재 여부 및 상기 TTL의 유효 여부를 판단하여 응답을 처리하는 처리부; 및
    외부 DNS 서버 계층으로의 질의 및 응답을 통해 상기 캐시 데이터를 업데이트하고, 상기 클라이언트 디바이스로의 응답을 처리하는 질의부를 포함하고,
    상기 처리부는, 상기 TTL이 유효한 경우 상기 캐시 데이터로 응답을 처리하고, 상기 TTL이 유효하지 않은 경우 상기 캐시 데이터로 우선 응답을 처리하며,
    상기 처리부는 장애 발생 시 미리 결정된 기준에 따라 식별된 상기 질의의 일부 데이터만 임시 DNS 서버에 포워딩하여 저장하도록 설정하고,
    상기 임시 DNS 서버는 데이터베이스의 역할을 수행하여, 로컬 DNS 서버의 모든 로그와 캐시 메모리 저장을 수행하되, 장애 발생시에는 일부 도메인 네임만을 저장하는 것을 특징으로 하는 어드밴스드 도메인 네임 시스템.
  2. 제 1 항에 있어서,
    상기 처리부는, 상기 TTL이 유효하지 않은 경우 상기 우선 응답을 처리한 후, 상기 질의부를 통해 상기 외부 DNS 서버 계층으로 상기 질의를 송신하고, 상기 질의에 대한 응답 정보를 수신하여 상기 캐시 데이터를 업데이트하는 것을 특징으로 하는 어드밴스드 도메인 네임 시스템.
  3. 제 1 항에 있어서,
    상기 로그 및 상기 캐시 데이터를 백업하여 저장하기 위해 상기 임시 DNS 서버와 연동하는 것을 특징으로 하는 어드밴스드 도메인 네임 시스템.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 로그 저장 DB는 상기 클라이언트 디바이스로 유출되는 응답 정보, 상기 외부 DNS 서버 계층으로 유출되는 질의 정보, 및 상기 외부 DNS 서버 계층으로부터 유입되는 질의 정보를 더 저장하는 것을 특징으로 하는 어드밴스드 도메인 네임 시스템.
  6. 제 5 항에 있어서,
    로그 저장 프로그램을 더 포함하고,
    상기 로그 저장 프로그램을 통해, 네트워크 단에서, 상기 클라이언트 디바이스로 유출되는 응답 정보, 상기 외부 DNS 서버 계층으로 유출되는 질의 정보, 및 상기 외부 DNS 서버 계층으로부터 유입되는 질의 정보의 패킷들을 더 저장하는 것을 특징으로 하는 어드밴스드 도메인 네임 시스템.
  7. 어드밴스드 도메인 네임 시스템의 운용 방법으로서,
    클라이언트 디바이스로부터 질의를 수신하는 단계;
    상기 질의에 대해 로그(log)를 기록하는 단계;
    TTL(Time to Live) 정보를 포함한 질의 및 응답 정보를 캐시 데이터로 저장하는 단계; 및
    상기 질의에 대해, 상기 캐시 데이터의 존재 여부 및 상기 TTL의 유효 여부를 판단하여 응답을 처리하는 단계를 포함하고,
    상기 처리하는 단계는, 상기 TTL이 유효한 경우 상기 캐시 데이터로 응답을 처리하고, 상기 TTL이 유효하지 않은 경우 상기 캐시 데이터로 우선 응답을 처리하며,
    상기 처리하는 단계는, 장애 발생 시 미리 결정된 기준에 따라 식별된 상기 질의의 일부 데이터만 임시 DNS 서버에 포워딩하여 저장하도록 설정하고,
    상기 임시 DNS 서버는 데이터베이스의 역할을 수행하여, 로컬 DNS 서버의 모든 로그와 캐시 메모리 저장을 수행하되, 장애 발생시에는 일부 도메인 네임만을 저장하는 것을 특징으로 하는 운용 방법.
  8. 제 7 항에 있어서,
    상기 처리하는 단계는, 상기 TTL이 유효하지 않은 경우, 상기 우선 응답을 처리한 후 외부 DNS 서버 계층으로 상기 질의를 송신하고, 상기 질의에 대한 응답 정보를 수신하여 상기 캐시 데이터를 업데이트하는 것을 특징으로 하는 운용 방법.
  9. 제 7 항에 있어서,
    상기 임시 DNS 서버와 연동하여, 상기 로그 및 상기 캐시 데이터를 상기 임시 DNS 서버에 백업하여 저장하는 단계를 더 포함하는 운용 방법.
  10. 삭제
  11. 제 7 항에 있어서,
    상기 로그를 기록하는 단계는, 상기 클라이언트 디바이스로 유출되는 응답 정보, 외부 DNS 서버 계층으로 유출되는 질의 정보, 및 상기 외부 DNS 서버 계층으로부터 유입되는 질의 정보를 더 저장하는 것을 특징으로 하는 운용 방법.
  12. 제 11항에 있어서,
    상기 로그를 기록하는 단계는, 미리 저장된 로그 저장 프로그램을 통해, 네트워크 단에서, 상기 클라이언트 디바이스로 유출되는 응답 정보, 상기 외부 DNS 서버 계층으로 유출되는 질의 정보, 및 상기 외부 DNS 서버 계층으로부터 유입되는 질의 정보의 패킷들을 더 저장하는 것을 특징으로 하는 운용 방법.
KR1020150063407A 2015-05-06 2015-05-06 어드밴스드 도메인 네임 시스템 및 운용 방법 Active KR101645222B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150063407A KR101645222B1 (ko) 2015-05-06 2015-05-06 어드밴스드 도메인 네임 시스템 및 운용 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150063407A KR101645222B1 (ko) 2015-05-06 2015-05-06 어드밴스드 도메인 네임 시스템 및 운용 방법

Publications (1)

Publication Number Publication Date
KR101645222B1 true KR101645222B1 (ko) 2016-08-12

Family

ID=56714988

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150063407A Active KR101645222B1 (ko) 2015-05-06 2015-05-06 어드밴스드 도메인 네임 시스템 및 운용 방법

Country Status (1)

Country Link
KR (1) KR101645222B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114124893A (zh) * 2021-11-24 2022-03-01 广州方硅信息技术有限公司 域名缓存方法、装置、系统、存储介质以及计算机设备
CN114338604A (zh) * 2021-12-31 2022-04-12 北京奇艺世纪科技有限公司 一种dns配置更新方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010090090A (ko) * 2001-09-13 2001-10-18 김태준 도메인 프록시 서버를 이용하여 도메인명 해석 시간을단축하는 시스템 및 방식
JP2004504681A (ja) * 2000-07-17 2004-02-12 エプリケーション ネットワークス リミテッド キャッシュ分散ネットーク上に静的及び動的コンテンツをキャッシュすることによる、WWWサイトのビット・レートの節約及びQoS改善

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004504681A (ja) * 2000-07-17 2004-02-12 エプリケーション ネットワークス リミテッド キャッシュ分散ネットーク上に静的及び動的コンテンツをキャッシュすることによる、WWWサイトのビット・レートの節約及びQoS改善
KR20010090090A (ko) * 2001-09-13 2001-10-18 김태준 도메인 프록시 서버를 이용하여 도메인명 해석 시간을단축하는 시스템 및 방식

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114124893A (zh) * 2021-11-24 2022-03-01 广州方硅信息技术有限公司 域名缓存方法、装置、系统、存储介质以及计算机设备
CN114338604A (zh) * 2021-12-31 2022-04-12 北京奇艺世纪科技有限公司 一种dns配置更新方法及系统
CN114338604B (zh) * 2021-12-31 2024-04-12 北京奇艺世纪科技有限公司 一种dns配置更新方法及系统

Similar Documents

Publication Publication Date Title
US11606388B2 (en) Method for minimizing the risk and exposure duration of improper or hijacked DNS records
US9985927B2 (en) Managing content delivery network service providers by a content broker
US10158620B2 (en) DNSSEC signing server
EP2266064B1 (en) Request routing
US20120297478A1 (en) Method and system for preventing dns cache poisoning
US10469532B2 (en) Preventing DNS cache poisoning
KR102681031B1 (ko) 도메인 네임 시스템과 연관된 공격을 방지하기 위한 방법 및 시스템
CN110324295B (zh) 一种域名系统泛洪攻击的防御方法和装置
CN103685168B (zh) 一种dns递归服务器的查询请求服务方法
CN104184775A (zh) 一种基于内容发布网络(cdn)的域名解析服务模型
CN107222492A (zh) 一种dns防攻击方法、设备和系统
CN103685584B (zh) 一种基于隧道技术的反域名劫持方法和系统
WO2018214853A1 (zh) 一种减小dns报文长度的方法、装置、介质及设备
WO2017096888A1 (zh) 域名解析系统的实现方法及装置
US10021176B2 (en) Method and server for managing traffic-overload on a server
CN108063833A (zh) Http dns解析报文处理方法及装置
CN102223422A (zh) 一种dns报文处理方法及网络安全设备
CN106411819A (zh) 一种识别代理互联网协议地址的方法及装置
KR101645222B1 (ko) 어드밴스드 도메인 네임 시스템 및 운용 방법
CN107222588A (zh) 一种提高dns可用性的方法及系统
KR101429120B1 (ko) 서브 도메인 네임을 수집하는 보안 시스템 및 그것의 동작 방법
JP2011176468A (ja) 名前解決装置、名前解決方法および名前解決プログラム
CN105357279A (zh) 一种dns请求报文的处理方法及系统
CN116827902A (zh) 域名生成方法、域名检测方法和电子设备、存储介质
KR20150089894A (ko) 쿠키 프락시 기능을 구비한 네트워크 주소 변환 장치 및 쿠키 프락시 기능을 지원하는 네트워크 주소 변환 방법

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20150506

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20160114

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20160712

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20160728

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20160728

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20200729

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20210713

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20220816

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20230705

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20250106

Start annual number: 9

End annual number: 9