KR20190062530A - 도메인 네임 분석 방법, 서버 및 저장 매체 - Google Patents

도메인 네임 분석 방법, 서버 및 저장 매체 Download PDF

Info

Publication number
KR20190062530A
KR20190062530A KR1020197013202A KR20197013202A KR20190062530A KR 20190062530 A KR20190062530 A KR 20190062530A KR 1020197013202 A KR1020197013202 A KR 1020197013202A KR 20197013202 A KR20197013202 A KR 20197013202A KR 20190062530 A KR20190062530 A KR 20190062530A
Authority
KR
South Korea
Prior art keywords
domain name
data
name resolution
packet
request packet
Prior art date
Application number
KR1020197013202A
Other languages
English (en)
Other versions
KR102199403B1 (ko
Inventor
펑보 쟝
하이룽 왕
팡저우 천
Original Assignee
텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 filed Critical 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20190062530A publication Critical patent/KR20190062530A/ko
Application granted granted Critical
Publication of KR102199403B1 publication Critical patent/KR102199403B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • H04L61/1511
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2546Arrangements for avoiding unnecessary translation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

Landscapes

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

Abstract

제공되는 것은, 도메인 네임 분석 요청 패킷을 획득하는 단계, 획득된 도메인 네임 분석 요청 패킷을 제1 캐시 영역 내에 캐싱하는 단계, 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 캐싱된 도메인 네임 분석 요청 패킷 내의 헤더 데이터를 변경하는 단계, 캐싱된 도메인 네임 분석 요청 패킷에 의해 분석을 위해 요청되는 도메인 네임을 추출하고, 요청된 기록 유형을 추출하는 단계, 추출된 도메인 네임에 대응하고, 추출된 기록 유형인 사전 캐싱된 응답 데이터를 제2 캐시 영역에서 검색하는 단계, 및 도메인 네임 분석 응답 패킷을 획득하기 위해, 획득된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷에 결합하는 단계를 포함하는 도메인 네임 분석 방법이다.

Description

도메인 네임 분석 방법, 서버 및 저장 매체
본 출원은 컴퓨터 기술 분야에 관한 것이고, 특히 도메인 네임 분석 방법, 서버, 및 저장 매체에 관한 것이다.
본 출원은 2017년 1월 11일에 중국 특허청에 "DOMAIN NAME RESOLUTION METHOD AND APPARATUS"라는 명칭으로 출원된 중국 특허 출원번호 2017100211114의 우선권을 주장하며, 상기 출원은 그 전문이 참조로서 병합된다.
컴퓨터 기술의 발달과 함께, 컴퓨터에 의하여 인터넷으로부터 정보를 얻는 것이 점차 대중적이 되었다. 인터넷에서 정보를 얻을 때, 사용자는 인터넷 프로토콜 주소(Internet Protocol address, IP address)가 필요하지만, IP 주소를 직접 사용하는 것은 불편한다. 종래 기술에서, 도메인 네임과 IP 어드레스와 사이의 매핑 관계가 구축되었다. 사용자가 분석을 요청한 도메인 네임이 분석을 위해 획득된 후, 도메인 네임과의 매핑 관계를 갖는 IP 주소가 획득된 도메인 네임에 기초하여 획득되고, 그 후 인터넷이 IP 주소에 기초하여 액세스된다.
그러나, 종래의 도메인 네임 분석 방식에서, 도메인 네임 분석 요청 패킷이 획득된 후, 분석될 도메인 네임에 대응하는 IP 어드레스가 분석을 통해 획득되기 전까지, 분석이 도메인 네임 분석 요청 패킷의 데이터 프로토콜의 각 계층에 기초하여 수행된다. 복수의 데이터 복제가 전체 분석 프로세스에서 요구되므로, 도메인 네임 분석 효율이 낮다.
본 출원의 다양한 실시예에 따르면, 도메인 네임 분석 방법, 서버, 및 저장 매체가 제공된다.
도메인 네임 분석 방법이 제공되고,
서버가, 도메인 네임 분석 요청 패킷을 획득하는 단계,
상기 서버가, 획득된 도메인 네임 분석 요청 패킷을 제1 캐시 영역(cache area) 내에 캐싱하는 단계,
상기 서버가 상기 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 캐싱된 도메인 네임 분석 요청 패킷 내의 헤더 데이터를 변경하는 단계,
상기 서버가, 캐싱된 도메인 네임 분석 요청 패킷 내에서 요청된 기록 유형 및 분석될 도메인 네임을 추출하는 단계,
상기 서버가, 추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 위해 제2 캐시 영역을 검색하는 단계, 및
상기 서버가, 상기 도메인 네임 분석 응답 패킷을 획득하기 위해, 상기 사전 캐싱된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷에 결합하는 단계를 포함한다.
메모리 및 프로세서를 포함하는 서버가 제공되고, 메모리는 컴퓨터 판독 가능 명령을 저장하고, 컴퓨터 판독 가능 명령은, 프로세서에 의해 실행될 때, 프로세서로 하여금,
도메인 네임 분석 요청 패킷을 획득하는 단계;
제1 캐시 영역(cache area) 내에 획득된 도메인 네임 분석 요청 패킷을 캐싱하는 단계;
상기 서버가 상기 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 캐싱된 도메인 네임 분석 요청 패킷 내의 헤더 데이터를 변경하는 단계,
캐싱된 도메인 네임 분석 요청 패킷 내에서 요청된 기록 유형 및 분석될 도메인 네임을 추출하는 단계,
추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 위해 제2 캐시 영역을 검색하는 단계, 및
도메인 네임 분석 응답 패킷을 획득하기 위해, 상기 사전 캐싱된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷에 결합하는 단계를 수행하게 한다.
컴퓨터 판독 가능 명령을 저장하는 비휘발성 저장 매체가 제공된다. 컴퓨터 판독 가능 명령은, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금,
도메인 네임 분석 요청 패킷을 획득하는 단계;
제1 캐시 영역(cache area) 내에 획득된 도메인 네임 분석 요청 패킷을 캐싱하는 단계;
상기 서버가 상기 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 캐싱된 도메인 네임 분석 요청 패킷 내의 헤더 데이터를 변경하는 단계,
캐싱된 도메인 네임 분석 요청 패킷 내에서 요청된 기록 유형 및 분석될 도메인 네임을 추출하는 단계,
추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 위해 제2 캐시 영역을 검색하는 단계, 및
도메인 네임 분석 응답 패킷을 획득하기 위해, 상기 사전 캐싱된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷에 결합하는 단계를 수행하게 한다.
본 출원의 하나 이상의 실시예의 세부 사항이 아래의 첨부 도면 및 설명에서 제공된다. 본 출원의 다른 특징, 목적, 및 장점은 상세한 설명, 첨부 도면, 및 청구범위를 참조하여 더욱 분명하게 된다.
본 출원의 실시예 내의 기술적 해결 방안을 보다 명확하게 설명하기 위해, 실시예를 설명하기 위해 요구되는 첨부 도면이 아래에서 간략히 설명된다. 분명히, 아래 설명의 첨부 도면은 단지 본 출원의 몇 가지 실시예만을 도시하고, 당업자는 창작적 노력 없이 이러한 첨부 도면으로부터 다른 첨부 도면을 획득할 수 있다.
도 1은 일 실시예에 따른 도메인 네임 분석 방법의 응용 환경을 도시한 도면이다;
도 2는 일 실시예에 따른 도메인 네임 분석 방법을 구현하도록 구성된 서버의 내부 구조를 도시한 개략도이다;
도 3은 일 실시예에 따른 도메인 네임 분석 방법의 개략적 흐름도이다;
도 4는 일 실시예에 따른 선택된 분석 스레드를 사용하여 도메인 네임 분석 요청 패킷을 획득하는 프로세스를 도시한 개략적 흐름도이다;
도 5는 일 실시예에 따른 도메인 네임 분석 서버의 내부 구조도이다;
도 6은 일 실시예에 따른 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷 내의 헤더 데이터를 변경하는 프로세스를 도시한 개략적 흐름도이다;
도 7은 일 실시예에 따른 추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 제2 캐시 영역에서 검색하는 프로세스를 도시하는 개략적 흐름도이다;
도 8은 일 실시예에 따른 도메인 네임 분석 응답 패킷을 획득하기 위해, 사전 캐싱된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷과 결합하는 프로세스를 도시하는 개략적 흐름도이다;
도 9는 다른 실시예에 따른 도메인 네임 분석 방법의 개략적 흐름도이다;
도 10은 일 실시예에 따른 도메인 네임 분석 프로세스의 논리도이다;
도 11은 일 실시예에 따른 서버의 구조 블록도이다;
도 12는 다른 실시예에 따른 서버의 구조 블록도이다; 그리고
도 13은 또 다른 실시예에 따른 서버의 구조 블록도이다.
본 출원의 목적, 기술적 해결책, 및 장점을 보다 명확하고 이해하기 쉽게하기 위해, 본 출원은 첨부 도면 및 이하의 실시예를 참조하여 상세하게 설명된다. 여기에 기술된 구체적인 실시예는 단지 본 출원을 설명하기 위해 사용되었지만, 본원을 제한하려 의도되지 않았음이 이해되어야 한다.
도 1은 본 발명의 실시예에 따른 도메인 네임 분석 방법의 응용 환경을 나타낸 도면이다. 도 1을 참조하면, 도메인 네임 분석 방법은 도메인 네임 분석 시스템에 적용된다. 도메인 네임 분석 시스템은 단말(110), 도메인 네임 분석 서버(120), 및 인증된 도메인 네임 서버(130)를 포함한다. 단말(110)은 네트워크를 통하여 도메인 네임 분석 서버(120)와 연결되고, 도메인 네임 분석 서버(120) 네트워크를 통하여 인증된 도메인 네임 서버(130)에 링크된이다. 단말(110)은 데스크탑 단말 또는 이동 단말일 수 있다. 이동 단말은 이동 전화, 태블릿 컴퓨터, 노트북 컴퓨터, 스마트 시계, PDA(personal digital assistant), 네트워크 가능 전자 판독기 등 중 적어도 하나일 수 있다. 도메인 네임 분석 서버(120) 및 인증된 도메인 네임 서버(130)는 독립적인 물리적 서버 또는 물리적 서버 클러스터일 수 있다.
도 2에 도시된 대로, 서버가 일 실시예에 따라 제공된다. 서버는 도메인 네임 분석 방법을 구현하기 위해 도 1의 도메인 네임 분석 서버(120)로서 기능할 수 있다. 도 2를 참조하면, 서버는 시스템 버스를 거쳐 링크된 프로세서, 메모리, 및 네트워크 인터페이스를 포함한다. 메모리는 비휘발성 저장 매체 및 내부 메모리를 포함한다. 서버의 비휘발성 저장 매체는 운영 체제 및 컴퓨터 판독 가능 명령을 저장할 수 있다. 컴퓨터 판독 가능 명령은, 실행될 때, 프로세서로 하여금 도메인 네임 분석 방법을 수행하게 할 수 있다. 서버의 프로세서는 컴퓨팅 및 제어를 수행하여 전체 서버의 실행을 지원하도록 구성된다. 서버의 내부 메모리는 컴퓨터 판독 가능 명령을 저장할 수 있다. 컴퓨터 판독 가능 명령은, 프로세서에 의해 실행될 때, 프로세서로 하여금 도메인 네임 분석 방법을 수행하게 할 수 있다. 서버의 네트워크 인터페이스는 네트워크를 통하여 외부 단말과 통신하도록 구성, 예를 들어, 단말에 의해 송신되는 도메인 네임 분석 요청 패킷을 수신하고 도메인 네임 분석 응답 패킷을 단말에게 반환한다. 서버는 독립된 서버로 구현되거나 복수의 서버를 포함하는 서버 클러스터로서 구현될 수 있다. 당업자라면, 도 2에 도시된 구조에서는, 본 출원의 해결 방안과 관련된 일부 구조의 블록도만 도시되어 있다는 것을 이해해야 하고, 블록도는 본 출원의 해결 방안이 적용되는 서버를 제한하지 않음을 이해해야 한다. 구체적으로, 서버는 도 2에 도시된 것보다 더 많거나 또는 더 적은 컴포넌트를 포함할 수 있고, 일부 컴포넌트는 결합되거나, 또는 컴포넌트는 서로 다른 방식으로 배열될 수 있다.
도 3에 도시된 대로, 도메인 네임 분석 방법이 일 실시예에 따라 제공된다. 본 실시예는 본 방법이 도 1의 도메인 네임 분석 서버(120)에 적용되는 예시를 사용하여 설명된다. 본 방법은 아래의 단계 S302 내지 S312를 포함한다.
단계 S302에서 도메인 네임 분석 요청 패킷이 획득된다.
도메인 네임 분석 요청 패킷은 도메인 네임 분석의 수행을 요구하기 위한 데이터 패킷이다. 도메인 네임은 점으로 구분된 문자열을 포함하는 인터넷상의 컴퓨터 또는 컴퓨터 그룹의 이름이며, 데이터 전송 중에 컴퓨터의 전자적 오리엔테이션(orientation)을 식별하기 위해 사용된다. 도메인 네임 분석은 도메인 네임을 도메인 네임 분석 요청 패킷이 가리키는 기록 유형으로 분석하는 프로세스를 말한다. 기록 유형은, 예를 들어 어드레스-포인팅(address-pointing) 기록 유형, 또는 메일 교환 기록 유형, 또는 에일리어스(alias) 기록 유형을 포함한다.
사용자에 의해 입력된 도메인 네임을 획득하고, 도메인 네임을 사용하여 인터넷에 대한 액세스 요청을 획득할 때, 단말은 먼저 요청이 가리키는 기록 유형을 결정하고, 요청이 가리키는 기록 유형을 갖고, 획득된 도메인 네임에 대응하는 기록을 로컬 데이터베이스 또는 캐시에서 검색할 수 있다. 기록이 발견되면, 단말은 기록에 기초하여 인터넷에 접속한다. 기록이 발견되지 않으면, 단말은, 도메인 네임 분석 요청 패킷의 포맷에 기초하여, 획득된 도메인 네임 및 요청이 가리키는 기록 유형을 캡슐화하여, 도메인 네임 분석 요청 패킷을 생성하고, 도메인 네임 분석 요청 패킷을 도메인 네임 분석 서버에게 송신한다. 도메인 네임 분석 서버는 단말에 의해 송신된 도메인 네임 분석 요청 패킷을 수신하여 도메인 네임 분석 요청 패킷을 획득된이다.
단계 S304에서, 획득된 도메인 네임 분석 요청 패킷이 제1 캐시 영역에 캐싱된다.
제1 캐시 영역은 도메인 네임 분석 서버 내의 캐시를 분할하여 획득된 캐시 영역을 말하고, 획득된 도메인 네임 분석 요청 패킷을 저장하기 위해 사용된다. 구체적으로, 도메인 네임 분석 서버는 네트워크 어댑터를 거쳐 데이터 패킷을 수신하고, 도메인 네임 분석 요청 패킷을 수신한 후 프로세스를 통해 수신된 도메인 네임 분석 요청 패킷을 제1 캐시 영역 내에 캐시할 수 있다.
일 실시예에서, 도메인 네임 분석 서버는 네트워크 어댑터에 의해 수신된 도메인 네임 분석 요청 패킷을 획득하기 위해, 운영 체제 커널을 사용하여 커널 공간 내에서 네트워크 어댑터 구동 프로세스를 시작하고, 획득된 도메인 네임 분석 요청 패킷을 커널 공간의 제1 캐시 영역 내에 저장하여 운영 체제 커널로부터의 응답을 대기할 수 있다.
일 실시예에서, 도메인 네임 분석 서버는 커널 공간에서 구동되는 데이터 패킷 인터셉트 프로세스를 미리 설정할 수 있다. 네트워크 어댑터 구동 프로세스가 네트워크 어댑터에 의해 수신되는 도메인 네임 분석 요청 패킷을 획득한 후에, 도메인 네임 분석 서버의 사용자 공간에서의 도메인 네임 분석 프로세스는 데이터 패킷 인터셉트 프로세스를 시작할 수 있고, 데이터 패킷 인터셉트 프로세스를 사용하여 사용자 공간의 제1 캐시 영역 내에, 네트워크 어댑터 구동 프로세스에 의해 얻어진 도메인 네임 분석 요청 패킷을 저장하여 사용자 공간 내의 도메인 네임 분석 처리로부터의 응답을 대기한다.
운영 체제는 컴퓨터 하드웨어 및 소프트웨어를 관리하도록 구성된다. 커널 공간은 운영 체제 커널이 위치하는 영역을 말하며, 커널 기능 모듈은 커널 공간에서 구동된다. 사용자 공간은 커널 공간과 서로 다른 운영 체제 내의 공간을 말한다. 네트워크 어댑터는 링크 계층에서 작동하는 네트워크 컴포넌트이며 데이터 패킷을 송신하고 수신하도록 구성된다. 네트워크 어댑터 구동 프로세스는 네트워크 어댑터에 의해 수신되는 데이터 패킷을 획득하고 데이터 패킷을 네트워크 어댑터에게 송신하기 위해, 운영 체제 커널에 의해 호출되는 프로세스이다. 데이터 패킷 인터셉트 프로세스는 네트워크 어댑터 구동 프로세스에 의해 획득된 데이터 패킷을 사용자 공간에 인터셉트하기 위해 사용되는 사전 구성된 프로세스이다. 예를 들어, 도메인 네임 분석 서버는 데이터 평면 개발 키트(data plane development kit, DPDK)를 사용하여 데이터 패킷 인터셉트 프로세스를 미리 구성 할 수 있다. 구성된 데이터 패킷 인터셉트 프로세스는 인터셉트된 데이터 패킷을 커널 공간을 거쳐 전달하지 않고, 인터셉트된 데이터 패킷을 사용자 공간에 직접 저장하고 전송할 수 있다. 데이터 패킷 인터셉트 프로세스는 운영 체제 커널에 의해 시작되거나, 또는 사용자 공간 내의 도메인 네임 분석 프로세스에 의해 시작될 수 있다.
단계 S306에서, 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 캐싱된 도메인 네임 분석 요청 패킷 내의 헤더 데이터가 변경된다.
도메인 네임 분석 데이터 패킷은 일반적으로 헤더 데이터, 질의 문제(query problem), 응답, 인증된 응답, 및 추가 정보의 다섯 부분으로 구성된다. 일반적으로, 도메인 네임 분석 요청 패킷과 도메인 네임 분석 응답 패킷은 앞서 말한 다섯 부분을 포함하는 데이터 패킷 포맷을 갖는다. 헤더 데이터는 도메인 네임 분석 데이터 패킷 내에 포함되는 필수적인 부분이고, 도메인 네임 분석 데이터 패킷 식별자, 도메인 네임 분석 데이터 패킷 플래그, 요청 문제의 개수, 자원 기록의 개수, 인증된 자원 기록의 개수, 및 추가 자원 기록의 개수를 포함한다.
도메인 네임 분석 데이터 패킷 식별자는 도메인 네임 분석 데이터 패킷을 식별하기 위해 사용된다. 도메인 네임 분석 요청 패킷과 해당 도메인 네임 분석 응답 패킷은 동일한 도메인 네임 분석 데이터 패킷 식별자를 가지며, 도메인 네임 분석 데이터 패킷 식별자는 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷을 매칭하기 위해 사용될 수 있다. 도메인 네임 분석 데이터 패킷 플래그는 도메인 네임 분석 데이터 패킷이 요청 패킷인지 또는 응답 패킷인지 여부를 정의하고, 또한 헤더 데이터 이외의 부분이 포함될 필요가 있는지 여부를 정의하고 질의 타입을 정의한다. 요청 문제의 개수, 자원 기록의 개수, 인증된 자원 기록의 개수, 및 추가 자원 기록의 개수는 질의 문제의 개수, 응답의 개수, 인증된 응답의 개수, 및 추가 정보의 수량에 각각 대응한다.
도메인 네임 분석 서버는 먼저 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 결정하고, 도메인 네임 분석 응답 패킷의 결정된 헤더 데이터에 기초하여, 도메인 네임 분석 요청 패킷의 헤더 데이터 및 도메인 네임 분석 응답 패킷의 헤더 데이터의 차이 데이터(difference data)를 결정할 수 있다. 도메인 네임 서버는 결정된 차이 데이터를 제1 캐시 영역 내에 위치시키고, 도메인 네임 분석 응답 패킷의 헤더 데이터에 기초하여 위치된 차이 데이터를 변경할 수 있다.
차이 데이터는 도메인 네임 분석 데이터 패킷 플래그 및 자원 기록의 개수를 포함한다. 예를 들면, 수신된 도메인 네임 분석 요청 패킷 내에 포함되는 도메인 네임 분석 데이터 패킷 플래그 내의 요청 패킷을 나타내는 문자는 "0"이고, 응답을 나타내는 "1"로 변경되어야 한다. 자원 기록의 개수는 요청 문제의 개수에 기반하여 그에 따라 변경된다.
단계 S308에서, 캐싱된 도메인 네임 분석 요청 패킷 내에서 요청된 기록 유형 및 분석될 도메인 네임이 추출된다.
도메인 네임 분석 요청 패킷 내에서 요청된 도메인 네임과 요청된 기록 유형은 도메인 네임 분석 요청 패킷의 질의 문제 부분으로 캡슐화된다. 도메인 네임 분석 서버는 도메인 네임 분석 요청 패킷을 획득한 후 분석 결과를 얻기 위해 도메인 네임 분석 요청 패킷을 분석하고, 분석 결과로부터, 요청된 기록 유형 및 도메인 네임 분석 요청 패킷 내에서 분석될 도메인 네임을 추출할 수 있다.
요청된 기록 유형은, 예를 들어, 어드레스-포인팅 기록 유형, 또는 메일 교환 기록 유형, 또는 에일리어스 기록 유형을 포함한다. 어드레스-포인팅 기록, 즉 A(어드레스) 기록은 IP(Internet Protocol) 포인팅이라고도 한다. 어드레스-포인팅 기록은 호스트 네임 또는 도메인 네임에 대응하는 IP 주소를 지정하기 위해 사용되는 기록이다. 메일 교환 기록, 즉 MX(mail exchanger) 기록은, 메일이 전자 메일 시스템을 거쳐 송신될 때 받는 사람의 주소 접미사(address suffix)를 기반으로 메일 서버를 위치시키기 위해 사용되는 기록이다. 받는 사람의 주소 접미사는 메일 서버의 IP 주소를 가리킨다. 에일리어스 포인팅 기록, 즉 CNAME 기록은 에일리어스 기록이라고도 한다. 에일리어스 기록은 복수의 네임 또는 도메인 네임을 동일한 컴퓨터에 매핑하기 위한 기록이다. 상기 기록은 두 개의 도메인 네임 또는 네임을 포함하며, 첫 번째 도메인 네임이 두 번째 도메인 네임을 가리킨다.
단계 S310에서, 제2 캐시 영역이 추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 위해 검색된다.
제2 캐시 영역은 도메인 네임 분석 서버 내의 캐시를 분할하여 획득되는 캐시 영역이며, 사전 캡슐화된 응답 데이터를 저장하기 위해 사용된다. 제2 캐시 영역과 제1 캐시 영역은 서로 다른 캐시 영역이다.
각 도메인 네임 분석 후, 도메인 네임 분석 서버는 분석 결과를 기록하고, 도메인 네임 분석 기록을 데이터베이스 내에 저장할 수 있다. 도메인 네임 분석 서버는, 로컬에 저장된 도메인 네임 분석 기록이 신뢰할 수 있는(authoritative) 도메인 네임 서버 내에 저장된 해당 도메인 네임 분석 기록과 일치하는지 여부를 검출하기 위해, 신뢰할 수 있는 도메인 네임 서버로의 연결을 구축할 수 있다. 두 개의 기록이 일치하지 않으면 신뢰할 수 있는 도메인 네임 서버에 저장된 해당 도메인 네임 분석 기록이 로컬 데이터베이스에 동기화된다. 검출 동작은 미리 설정된 검출 기간 내에 수행되거나, 또는 현재 시간 인스턴트(current time instant)가 도메인 네임 분석 기록에 포함된 캐시 데드라인(cache deadline)을 넘을 때 수행될 수 있다.
응답 데이터의 포맷은 고정되어 있으며, 도메인 네임 분석 서버는, 사전 설정된 응답 포맷에 따라, 응답 데이터를 획득하기 위해 데이터베이스에 저장된 도메인 네임 분석 기록을 캡슐화하고, 응답 데이터를 제2 캐시에 캐싱할 수 있다. 응답 데이터는 요구 사항(requirement)에 기반하여 검색된다. 도메인 네임 분석 서버는 획득된 응답 데이터를 분류하고, 응답 데이터의 기록 유형에 기초하여 분류된 응답 데이터를 제2 캐시 영역 내에 캐싱할 수 있다. 도메인 네임 분석이 수행될 경우, 도메인 네임 분석 서버는, 추출된 기록 유형에 기초하여, 추출된 기록 유형을 갖는 응답 데이터 세트를 결정하고, 이후, 결정된 응답 데이터 세트로부터, 추출된 도메인 네임에 대응하는 사전 캐싱된 응답 데이터를 선택한다.
대안적으로, 도메인 네임 분석 서버는 획득된 응답 데이터를 분류하고, 응답 데이터의 도메인 네임에 기초하여 분류된 응답 데이터를 제2 캐시 영역 내에 캐싱할 수 있다. 도메인 네임 분석이 수행될 경우, 도메인 네임 분석 서버는, 추출한 도메인 네임에 기초하여, 추출한 도메인 네임에 대응하는 응답 데이터 세트를 결정하고, 이후, 결정된 응답 데이터 세트로부터, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 선택한다.
대안적으로, 도메인 네임 분석 서버는 로컬 저장된 도메인 네임 분석 기록에 대응하는 이력 기록(historical record)의 개수를 획득하고, 응답 데이터의 도메인 네임 분석 기록에 대응하는 이력 기록의 개수의 내림차순으로 획득된 응답 데이터를 랭크(rank)하며, 랭크된 매겨진 응답 데이터를 제2 캐시 영역 내에 캐싱한다. 도메인 네임 분석이 수행될 경우, 도메인 네임 분석 서버는 추출된 도메인 네임에 대응하고 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 검색한다.
단계 S308 내지 S310은 단계 S306과 비동기적으로 수행될 수 있다.
단계 S312에서, 도메인 네임 분석 응답 패킷을 획득하기 위해, 사전 캐싱된 응답 데이터가 변경된 도메인 네임 분석 요청 패킷에 결합된다.
도메인 네임 분석 서버는 제1 캐시 영역에 캐싱된 변경된 도메인 네임 분석 요청 패킷을 위치시키고, 위치된 도메인 네임 분석 요청 패킷에 포함되는 데이터의 말미에 상기 사전 캐싱된 응답 데이터를 부가하고, 도메인 네임 분석 응답 패킷을 얻기 위해 캐싱된 도메인 네임 분석 요청 패킷에 응답 데이터를 결합할 수 있다.
도메인 네임 분석 방법에서, 획득된 도메인 네임 분석 요청 패킷이 제1 캐시 영역 내에 저장되고, 캐싱된 도메인 네임 분석 요청 패킷이 제1 캐시 영역 내에서 분석되고, 도메인 네임 분석 요청 패킷의 헤더 데이터가 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터로 변경된 후, 사전 캐싱된 응답 데이터는, 도메인 네임 분석 응답 패킷을 획득하기 위해, 변경된 도메인 네임 요청 패킷과 결합된다. 검색된 응답 데이터는 제2 캐시 영역 내에 사전 저장되고, 응답 데이터가 검색된 후, 응답 데이터가 변경된 도메인 네임 분석 요청 패킷과 직접적으로 결합될 수 있어서, 도메인 네임 분석의 효율성이 크게 향상될 수 있다. 게다가, 응답 데이터가 제2 캐시 영역으로부터 제1 캐시 영역으로 복제된 후에, 도메인 네임 분석 프로세스는 제1 캐시 영역에서 완료될 수 있으므로, 데이터 복제 횟수가 효과적으로 감소되고, 도메인 네임 분석 효율이 더욱 향상된다.
일 실시예에서, 단계 S302는, 운영 체제 커널이 네트워크 어댑터 수신 큐로부터 데이터 패킷을 읽어들이고 데이터 패킷을 사용자 공간으로 전송할 때, 전송되는 데이터 패킷 내의 데이터 프로토콜 식별자를 획득하는 단계, 및 데이터 프로토콜 식별자가 전송되는 데이터 패킷이 도메인 네임 분석 요청 패킷임을 지시하는 경우에, 도메인 네임 분석 요청 패킷을 획득하는 단계를 포함한다. 본 실시예에서, 제1 캐시 영역과 제2 캐시 영역은 사용자 공간 내에 있다.
데이터 프로토콜 식별자는 데이터 패킷에 포함된 데이터 프로토콜의 각 계층의 식별자를 말한다. 데이터 패킷이 생성되고, 데이터 링크 계층, 네트워크 계층, 전송 계층 등을 거쳐 전송되는 경우, 각 데이터 프로토콜 계층의 데이터 프로토콜 식별자는 데이터 패킷에 부가된다. 서로 다른 유형의 데이터 패킷에 포함된 다양한 계층의 데이터 프로토콜은 서로 다른 식별자를 갖는다. 예를 들어, 네트워크 계층의 데이터 패킷의 데이터 프로토콜 식별자는 TCP(Transmission Control Protocol)/UDP(User Datagram Protocol)이고, 전송 계층 내의 목적지 포트가 포트 53 인 데이터 패킷은 도메인 네임 분석 데이터 패킷이다.
도메인 네임 분석 서버의 운영 체제 커널은 사전 구성된 데이터 패킷 인터셉트 프로세스를 시작하고, 네트워크 어댑터 수신 큐(queue)로부터 데이터 패킷을 읽어들이고, 읽어들인 데이터 패킷을 사용자 공간으로 전송할 수 있다. 사용자 공간에서의 도메인 네임 분석 프로세스는 전송되는 데이터 패킷에 포함된 데이터 프로토콜 식별자를 획득하고, 도메인 네임 분석 요청 패킷과 매칭하는 데이터 프로토콜의 각 계층의 식별자에 기초하여 획득된 데이터 프로토콜 식별자를 검출한다. 획득된 데이터 프로토콜 식별자가 도메인 네임 분석 요청 패킷과 매칭하는 데이터 프로토콜의 각 계층의 식별자와 일치하는 경우, 전송되는 데이터 패킷이 도메인 네임 분석 요청 패킷인 것이 지시되고, 사용자 공간 내의 도메인 네임 분석 프로세스는 도메인 네임 분석 요청 패킷을 획득한다.
대안적으로, 획득된 데이터 프로토콜 식별자가 도메인 네임 분석 요청 패킷과 매칭하는 데이터 프로토콜의 각 계층의 식별자와 일치하지 않는 경우, 전송되는 데이터 패킷이 비-도메인 네임-분석 요청 패킷인 것이 지시되고, 사용자 공간 내의 도메인 네임 분석 프로세스는 전송되는 데이터 패킷을 운영 체제 커널에 피드백한다.
본 실시예에서, 도메인 네임 분석이, 사용자 공간에서, 도메인 네임 분석 요청 패킷으로 판단된 데이터 패킷에 대해, 커널 공간에 의해 데이터 패킷을 포워딩하지 않고 직접 수행되므로, 커널 공간 내에서의 분석 동안 요구되는 복수의 데이터 복제가 회피될 수 있고, 따라서, 도메인 네임 분석 효율성이 향상된다. 게다가, 비-도메인 네임-분석 요청 패킷으로 판단된 데이터 패킷이 운영 체제 커널에 피드백됨으로써, 사용자 공간에서 분석될 수 없는 데이터 패킷을 처리하는 방식이 제공되어, 데이터 패킷 분석의 성공률이 향상된다.
일 실시예에서, 도메인 네임 분석 방법은, 병렬 분석 스레드로부터 유휴 모드의 분석 스레드를 선택하고, 선택된 분석 스레드를 사용하여 단계 S302 내지 단계 S312를 수행하는 단계를 더 포함한다.
분석 스레드는 도메인 네임 분석을 수행하기 위해 사용되는 스레드를 의미한다. 유휴 모드는 도메인 네임 분석이 현재 시간 인스턴트 내에 수행되지 않음을 지시한다. 구체적으로, 복수의 병렬 분석 스레드는 도메인 네임 분석 서버의 도메인 네임 분석 프로세스 내에서 병렬로 구동되고, 분석 스레드는 서로 독립적이다. 도메인 네임 분석 서버의 도메인 네임 분석 프로세스는 네트워크 어댑터에 의해 수신되는 도메인 네임 분석 요청 패킷을 획득하기 위해 네트워크 어댑터 구동 프로세스를 시작하고, 이후 유휴 모드에서 획득된 도메인 네임 분석 요청 패킷에 대한 도메인 네임 분석 프로세스를 수행하기 위해 유휴 모드인 분석 스레드를 선택한다.
본 실시예에서, 도메인 네임 분석 프로세스는 다른 스레드와의 데이터 상호작용 처리없이, 분석 스레드에 의해 독립적으로 수행되며, 이에 따라 스레드 간의 데이터 상호작용 처리를 위한 대기 프로세스가 회피되고, 도메인 네임 분석 효율성이 더욱 향상된다.
도 4에 도시된 대로, 일 실시예에서, 도메인 네임 분석 방법에서 사용되는 제1 캐시 영역 및 제2 캐시 영역은 사용자 공간 내에 있다. 도메인 네임 분석 방법에서, 선택된 분석 스레드를 사용하여 도메인 네임 분석 요청 패킷을 얻는 과정은 아래의 S402 내지 S406을 포함한다.
단계 S402에서, 운영 체제 커널이 네트워크 어댑터 수신 큐로부터 데이터 패킷을 읽어들이고 데이터 패킷을 사용자 공간으로 전송할 때, 전송되는 데이터 패킷에 포함된 데이터 프로토콜 식별자를 선택된 분석 스레드를 사용하여 얻는다.
도메인 네임 분석 서버의 운영 체제 커널은 사전 구성된 데이터 패킷 인터셉트 프로세스를 시작하고, 네트워크 어댑터 수신 큐로부터 데이터 패킷을 읽어들이고, 읽어들인 데이터 패킷을 사용자 공간으로 전송할 수 있다. 이후, 도메인 네임 분석 서버는 전송되는 데이터 패킷 내에 포함된 데이터 프로토콜 식별자를 사용자 공간 내의 분석 스레드를 사용하여 획득한다.
단계 S404에서, 데이터 프로토콜 식별자가, 전송되는 데이터 패킷이 비-도메인 네임-분석 요청인 것을 나타내는 경우에, 전송되는 데이터 패킷이 선택된 분석 스레드를 사용하여 사용자 공간 내의 제3 캐시 영역 내에 캐싱된다.
도메인 네임 분석 서버는, 사용자 공간 내의 분석 스레드를 사용하여, 획득된 데이터 프로토콜 식별자를 도메인 네임 분석 요청 패킷과 매칭하는 데이터 프로토콜의 각 계층의 식별자와 비교한다. 비교 결과가 획득된 데이터 프로토콜 식별자가 도메인 네임 분석 요청 패킷과 매칭하는 데이터 프로토콜의 각 계층의 식별자와 일치하지 않음을 가리키는 경우, 도메인 네임 분석 서버는 전송되는 데이터 패킷이 비-도메인 네임-분석 요청 패킷인 것으로 판단한다. 사용자 공간 내의 도메인 네임 분석 프로세스는 전송되는 데이터 패킷을 사용자 공간의 제3 캐시 영역 내에 캐싱한다. 제3 캐시 영역은 도메인 네임 분석 서버 내의 캐시를 분할하여 획득되는 캐시 영역이며, 전송되는 비-도메인 네임-분석 요청 패킷을 사용자 공간에 저장하기 위해 사용된다.
단계 S406에서, 데이터 패킷이, 병렬 처리 스레드들과 독립인 커널 상호작용 스레드를 사용하여 제3 캐시 영역으로부터 읽히고, 읽힌 데이터 패킷은 운영 체제 커널로 피드백된다.
커널 상호작용 스레드는 커널 공간과 상호작용하는, 분석 스레드와 독립인 스레드이다. 구체적으로, 사용자 공간 내의 분석 스레드는 운영 체제 커널과 직접 상호작용할 수 없다. 따라서 운영체제 커널에게 피드백될 비-도메인 네임-분석 요청 패킷은 사용자 공간의 제3 캐시 영역에 캐싱된다. 이후, 운영 체제 커널과 상호작용할 수 있고 병렬 분석 스레드와 독립인 커널 상호작용 스레드가 제3 캐시 영역으로부터 데이터 패킷을 읽어들이고 커널 공간의 캐시 영역 내에 읽어들인 데이터 패킷을 캐싱한다. 커널 공간 내의 분석 스레드는 커널 공간의 캐시 영역 내에 캐싱된 데이터 패킷을 분석하고, 분석 패킷에 대응하는 응답 패킷을 획득한다.
본 실시예에서, 사용자 공간에서의 도메인 네임 분석 프로세스에 의해 분석될 수 없는 비-도메인 네임-분석 요청 패킷이 운영 체제 커널에 피드백되어, 사용자 공간의 도메인 네임 분석 프로세스에 의한 비-도메인 네임-분석 요청 패킷의 분석 실패가 회피되고, 데이터 패킷 분석의 성공율이 향상된다.
일 실시예에서, 도메인 네임 분석 방법은, 데이터 패킷을 획득하고 제1 캐시 영역 내에 데이터 패킷을 캐싱하는 단계, 제1 캐시 영역에서, 데이터 패킷 내의 데이터 프로토콜 식별자를 검출하는 단계, 및 데이터 프로토콜 식별자가 전송되는 데이터 패킷이 도메인 네임 분석 요청 패킷임을 지시하는 경우 단계 S306 내지 단계 S310을 수행하거나 또는 데이터 프로토콜 식별자가 전송되는 데이터 패킷이 비-도메인 네임-분석 요청 패킷임을 지시하는 경우 캐싱된 데이터 패킷을 운영 체제 커널에게 피드백하는 단계를 더 포함한다.
도메인 네임 분석 방법에서, 운영 체제 커널이 네트워크 어댑터 수신 큐로부터 데이터 패킷을 읽어들이고 데이터 패킷을 사용자 공간으로 전송한 후에, 읽어들여진 데이터 패킷은 사용자 공간의 제1 캐시 영역 내에 직접 캐싱될 수 있다. 유휴 모드의 분석 스레드는 사용자 공간의 병렬 분석 스레드로부터 선택되고, 제1 캐시 영역에 캐싱된 데이터 패킷이 도메인 네임 분석 요청 패킷인지 여부가 검출된다. 캐싱된 데이터 패킷이 도메인 네임 분석 요청 패킷인 것으로 판단되는 경우, 단계 S306 내지 단계 S310이 선택된 분석 스레드를 사용하여 수행된다. 캐싱된 데이터 패킷이 비-도메인 네임-분석 요청 패킷인 것으로 판단되는 경우, 제1 캐시 영역의 비-도메인 네임-분석 요청 패킷의 어드레스 포인터가 선택한 분석 스레드를 사용하여 제3 캐시 영역 내에 캐싱된다. 다음으로, 병렬 분석 스레드와 독립인 커널 상호작용 스레드는 제3 캐시 영역 내에 저장된 어드레스 포인터에 기초하여 제1 캐시 영역으로부터 비-도메인 네임-분석 요청 패킷을 읽어들이고, 비-도메인 네임-분석 요청 패킷을 커널 공간의 캐시 영역 내에 저장한다. 이후, 운영 체제 커널은 커널 공간의 캐시 영역에 저장된 비-도메인 네임-분석 요청 패킷에 응답한다.
포인터는 메모리 주소의 컴퓨터 언어를 나타내기 위해 사용되는 변수이다. 제2 캐시 영역 내의 비-도메인 네임-분석 요청 패킷의 어드레스 포인터는 제2 캐시 영역 내의 비-도메인 네임-분석 요청 패킷의 캐시 어드레스를 가리킨다. 비-도메인 네임-분석 요청 패킷은, 예를 들어, ARP(Address Resolution Protocol) 요청 패킷 또는 OSPF(Open Shortest Path First) 요청 패킷이다.
본 실시예에서, 데이터 패킷은 제1 캐시 영역 내에 직접 캐싱된다. 도메인 네임 분석 동작은, 데이터 패킷이 도메인 네임 분석 요청 패킷인 것으로 판단된 경우에 직접 수행된다. 대안적으로, 데이터 패킷이 비-도메인 네임-분석 요청 패킷인 것으로 판단되는 경우, 제1 캐시 영역 내의 비-도메인 네임-분석 요청 패킷은 운영 체제 커널에게 피드백된다. 이러한 방식으로, 데이터 복제 횟수가 더욱 감소되고, 사용자 공간에서 분석될 수 없는 데이터 패킷을 처리하는 방식이 제공되어, 데이터 패킷 분석의 성공율이 향상된다.
도 5는 일 실시예에 따른 도메인 네임 분석 서버의 내부 구조도이다. 도 5를 참조하면, 도메인 네임 분석 서버의 시스템 공간은 커널 공간과 사용자 공간으로 구분된다. 운영 체제 커널은 네트워크 어댑터 수신 큐로부터 데이터 패킷을 읽어들이고 데이터 패킷을 사용자 공간으로 전송하기 위해, 데이터 패킷 인터셉트 프로세스를 시작할 수 있다. 사용자 공간 내의 분석 스레드가, 전송되는 데이터 패킷이 도메인 네임 분석 데이터 패킷인 것으로 판단하는 경우, 전송되는 도메인 네임 분석 데이터 패킷은 제1 캐시 영역 내에 캐싱되거나, 또는 분석 스레드가, 전송되는 데이터 패킷이 비-도메인 네임-분석 데이터 패킷인 것으로 판단하는 경우, 전송되는 비-도메인 네임-분석 데이터 패킷은 제3 캐시 영역 내에 캐싱된다. 분석 스레드와 독립인, 사용자 공간 내의 커널 상호작용 스레드는, 커널 공간의 캐시 영역 내에, 제3 캐시 영역에 캐싱된 비-도메인 네임-분석 데이터 패킷을 캐싱하여, 운영 체제 커널은 응답을 수행할 수 있다.
도 6에 도시된 대로, 일 실시예에서, 단계 S306은 아래의 단계 S602 내지 S608을 포함한다.
단계 S602에서, 제1 캐시 영역 내에 캐싱된 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터가 결정된다.
획득된 도메인 네임 분석 요청 패킷을 제1 캐시 영역에 캐싱한 후, 도메인 네임 분석 서버는 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터를 임시 캐시 파일 또는 로그 파일 내에 저장할 수 있다. 도메인 네임 분석 서버는, 도메인 네임 분석 요청 패킷 내의 데이터의 변경이 요구될 때, 헤드 어드레스 포인터를 읽어들인다.
단계 S604에서, 제1 캐시 영역 내에 캐싱된 도메인 네임 분석 요청 패킷 내의 변경될 데이터의 어드레스 포인터 오프셋이 결정된다. 변경될 데이터는 도메인 네임 분석 요청 패킷 및 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 각 헤더 데이터 내의 차이 데이터를 나타낸다.
도메인 네임 분석 서버는 먼저 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 결정하고, 결정된 도메인 네임 분석 응답 패킷의 헤더 데이터에 기초하여, 도메인 네임 분석 요청 패킷의 헤더 데이터와 도메인 네임 분석 응답 패킷의 헤더 데이터의 차이 데이터를 결정하고, 결정된 차이 데이터를 변경될 데이터로서 사용할 수 있다.
통상, 바이트에 기초한 분할은 도메인 네임 분석 데이터 패킷의 헤더 데이터 내에 캡슐화된 데이터에 대해 수행된다. 예를 들어, 도메인 네임 분석 데이터 패킷의 헤더 데이터의 첫 번째 바이트 및 두 번째 바이트는 도메인 네임 분석 데이터 패킷 식별자를 나타내고, 세 번째 바이트 및 네 번째 바이트는 도메인 네임 분석 데이터 패킷 플래그를 나타낸다. 도메인 네임 분석 데이터 패킷 플래그의 문자 필드 내의 첫 번째 비트는 플래그 비트이고, "0"은 도메인 네임 분석 요청 패킷을 나타내고, "1"은 도메인 네임 분석 응답 패킷을 나타내는 등이다. 도메인 네임 분석 서버는 결정된 차이 데이터가 위치한 바이트에 기초하여 변경될 데이터의 어드레스 포인터 오프셋을 결정할 수 있다.
단계 S606에서, 변경될 데이터는 헤드 어드레스 포인터 및 어드레스 포인터 오프셋에 기초하여 제1 캐시 영역 내에 위치된다.
변경될 데이터의 어드레스 포인터는, 변경될 데이터의 어드레스 포인터 오프셋을 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터에 부가하여 획득될 수 있으며, 도메인 네임 분석 서버는 획득된 어드레스 포인터에 기초하여 제1 캐시 영역 내에서 변경될 데이터의 캐시 어드레스(cache address)를 결정할 수 있다.
단계 S608에서, 위치된 변경될 데이터가 변경될 데이터에 대응하는 도메인 네임 분석 응답 패킷 내의 데이터로 변경된다.
도메인 네임 분석 서버는, 제1 캐시 영역의 변경될 데이터의 결정된 캐시 어드레스 내에, 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 써넣는다. 예를 들어, 데이터 패킷 유형을 나타내는 플래그 비트는 요청 패킷을 나타내는 플래그에서 응답 패킷을 나타내는 플래그로 변경된다.
본 실시예에서, 도메인 네임 분석 요청 패킷이 캐싱된 제1 캐시 영역 내에서, 도메인 네임 분석 요청 패킷의 헤더 데이터가 도메인 네임 분석에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터로 직접 변경되어서, 분석 프로세스에서 도메인 네임 분석 응답 패킷의 실시간 캡슐화가 회피되고, 응답 시간이 단축되며, 도메인 네임 분석 효율이 더욱 향상될 수 있다.
도 7에 도시된 대로, 일 실시예에서, 단계 S310은 아래의 단계 S702 내지 S710을 포함한다.
단계 S702에서, 추출된 도메인 네임으로부터 매핑된 해시 값이 획득된다.
해시 값(hash value)은 해시 알고리즘을 통해 임의의 길이를 갖는 이진 값을 매핑하여 획득되는, 고정 길이를 갖는 작은 이진 값이다. 예를 들어 해시 알고리즘에서, 문자열의 모든 문자에 대응하는 ASCII(American Standard Code for Information Interchange) 코드가 누적된다. 이 경우, 문자열 "ming"에 대응하는 해쉬 값은 109+105+110+103=427이다. 도메인 네임 분석 서버는, 사전 설정된 해시 알고리즘에 기초하여, 추출된 도메인 네임으로부터 매핑된 해시 값을 계산할 수 있다.
단계 S704에서, 해시 테이블 내에서, 해시 값이 가리키는 링크된 리스트가 결정된다.
해시 테이블은 도메인 네임과 해시 값 간의 매핑 관계에 기초하여, 도메인 네임에 대응하는 응답 데이터의 도메인 네임 및 캐시 어드레스를 저장하기 위해 사용되는 테이블이다. 해시 값은 해시 테이블 내의 저장 위치를 나타낸다. 도메인 네임에 대응되는 도메인 네임 및 응답 데이터는 도메인 네임으로부터 매핑된 해시 값이 가리키는 저장 위치에 저장된다. 링크된 리스트는 복수의 데이터 요소를 저장하기 위해 사용되는 링크된 저장장치 구조를 갖는다. 본 실시예에서, 링크된 리스트는 동일한 해시 값에 매핑되고 동일한 해시 값이 가리키는 도메인 네임을 저장하는 서브리스트이다.
도메인 네임 분석 서버는 도메인 네임 분석 요청 패킷 내에서 요청된 기록 유형에 기초하여, 복수의 해시 테이블을 미리 구축할 수 있고, 각각의 해시 테이블은 도메인 네임에 대응하는, 동일한 기록 유형을 갖는 응답 데이터의 캐시 어드레스를 저장한다. 해시 값이 가리키는 링크된 리스트는 추출된 요청 유형에 대응하는 해시 테이블 내에서 결정된다. 대안적으로, 도메인 네임 분석 서버는, 하나의 해시 테이블에, 응답 데이터의 캐시 어드레스, 대응하는 도메인 네임, 및 응답 데이터의 기록 유형을 저장할 수 있고, 해시 테이블 내에서, 해시 값이 가리키는 링크된 리스트를 결정할 수 있다.
단계 S706에서, 링크된 리스트가 추출된 도메인 네임을 포함하고 추출된 기록 유형에 대응하는 노드에 대해 검색된다.
링크된 리스트에 저장된 각 요소를 노드라고 한다. 각 노드는, 데이터 요소를 저장하는 데이터 필드 및 다음 노드의 어드레스를 저장하는 포인터 필드의 두 부분을 포함한다.
도메인 네임 분석 서버는, 결정된 링크된 리스트 내에서, 추출된 도메인 네임을 각 노드의 데이터 필드에 저장된 도메인 네임과 비교하고, 노드에 저장된 도메인 네임이 추출된 도메인 네임과 일치하는 경우 노드가 검색될 노드인 것으로 판단할 수 있다. 검색에 사용된 링크된 리스트는 추출된 요청 유형을 갖는 해시 테이블에 속한다.
도메인 네임 분석 서버가, 하나의 해시 테이블에, 응답 데이터의 캐시 어드레스, 대응하는 도메인 네임, 및 응답 데이터의 기록 유형을 저장하는 경우, 도메인 네임 분석 서버는, 결정된 링크된 리스트에서, 추출된 도메인 네임을 각 노드의 데이터 필드에 저장된 도메인 네임과 성공적으로 비교한 후, 결정된 링크된 리스트에서, 추출된 기록 유형을 각 노드의 데이터 필드 내에 저장된 기록 유형과 비교한다. 노드에 저장된 기록 유형이 추출된 기록 유형과 일치하는 경우, 노드는 검색될 노드인 것으로 판단된다.
단계 S708에서, 응답 데이터의 캐시 어드레스가 발견된 노드로부터 추출된다.
단계 S710에서, 사전 캐싱된 응답 데이터가 캐시 어드레스에 기초하여 제2 캐시 영역으로부터 읽힌다.
도메인 네임 분석 서버는 제2 캐시 영역의 캐시 어드레스로부터 캐싱된 데이터를 읽어들일 수 있고, 읽힌 캐싱된 데이터는 사전 캐싱된 응답 데이터이다.
본 실시예에서, 해시 테이블은 응답 데이터의 캐시 어드레스에 대해 검색되고, 그 후, 응답 데이터가 발견된 어드레스에 기초하여 캐시로부터 읽힘으로써, 대응하는 응답에 대해 각각의 캐시를 직접 검색함으로써 야기되는 시간 낭비가 회피되고, 검색 속도가 크게 향상되며, 도메인 네임 분석 효율성이 더욱 향상된다.
도메인 네임 분석 서버가 해시 테이블 내에서 대응하는 응답 데이터를 찾지 못한 경우, 도메인 네임 분석 서버는 추출된 도메인 네임에 대응하는 주 도메인 네임(primary domain name)을 결정하고, 도메인 네임 시작 기록 유형을 갖는, 결정된 주 도메인 네임에 대응하는 응답 데이터를 해시 테이블에서 검색한다. 도메인 네임은 지리적 도메인(geographical domain) 또는 메커니즘 도메인(mechanism domain)에 따라 계층화된, 계층적 구조를 가진다. 계층은 소수점을 사용하여 구분된다. 도메인 네임은 우측에서 좌측으로, 최상위 도메인 네임 필드, 제2 레벨 도메인 네임 필드 등을 포함한다. 가장 왼쪽의 필드는 주 도메인 네임이다. 예를 들어, 요청된 도메인 네임은 www.xx.com이고 요청된 도메인 네임의 주 도메인 네임은 xx.com이다. 도메인 네임 시작 기록은 주 도메인 네임에 대응하는 인증된 도메인 네임 서버를 나타낸다.
본 실시예에서는, 요구된 기록 유형 및 도메인 네임 분석 요청 패킷 내의 분석될 도메인 네임에 대응하는 응답 데이터가 없고, 도메인 네임 시작 기록이 피드백되는 경우에 대한 처리 방법이 제공되어서, 도메인 네임 분석 요청 측은 도메인 네임 시작 기록에 기초하여 도메인 네임 분석 요청을 인증된 도메인 네임 서버에게 송신할 수 있으므로, 도메인 네임 분석의 성공률이 향상될 수 있다.
도 8에 도시된 대로, 일 실시예에서, 단계 S312는 아래의 단계 S802 내지 S808을 포함한다.
단계 S802에서, 제1 캐시 영역 내의 변형 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터가 획득된다.
획득된 도메인 네임 분석 요청 패킷을 제1 캐시 영역에 캐싱한 후, 도메인 네임 분석 서버는 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터를 임시 캐시 파일 또는 로그 파일에 저장하고, 도메인 네임 분석 요청 패킷의 데이터를 변경할 것이 요구될 때 헤드 어드레스 포인터를 읽어들일 수 있다. 도메인 네임 분석 요청 패킷이 변경된 후, 헤드 어드레스 포인터는 변경되지 않은 채로 남아있다.
단계 S804에서, 변경된 도메인 네임 분석 요청 패킷의 총 데이터 수량에 대응하는 어드레스 포인터 오프셋이 획득된다.
도메인 네임 분석 서버는 변경된 도메인 네임 분석 요청 패킷의 총 데이터 수량을 검출하고, 검출된 총 데이터 수량에 기초하여, 변경된 도메인 네임 분석 요청 패킷의 제1 캐시 영역 내의 캐시 어드레스 간격을 결정하고, 어드레스 간격의 크기에 기초하여 어드레스 포인터 오프셋을 결정한다.
단계 S806에서, 응답 데이터의 헤드 어드레스 포인터가 어드레스 포인터 오프셋 및 변경된 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터에 기초하여 결정된다.
도메인 네임 분석 서버는 응답 데이터의 헤드 어드레스 포인터를 얻기 위해, 어드레스 포인터 오프셋을 변경된 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터에 부가할 수 있다.
단계 S808에서, 변경된 도메인 네임 분석 요청 패킷 및 캐싱된 응답 데이터를 포함하는, 제1 캐시 영역에 캐싱된 도메인 네임 분석 응답 패킷을 획득하기 위해, 응답 데이터가 응답 데이터의 헤드 어드레스 포인터에 기초하여 제1 캐시 영역 내에 캐싱된다.
응답 데이터의 결정된 헤드 어드레스 포인터는 변경된 도메인 네임 분석 요청 패킷에 포함되는 데이터의 마지막 바이트의 캐시 어드레스의 다음 캐시 어드레스이다. 응답 데이터는, 변경된 도메인 네임 분석 요청 패킷 및 캐싱된 응답 데이터를 포함하는, 제1 캐시 영역에 캐싱된 도메인 네임 분석 응답 패킷을 획득하기 위해, 결정된 어드레스 포인터에 기초하여 제1 캐시 영역 내에 캐싱된다.
본 실시예에서, 도메인 네임 분석 프로세서에서, 도메인 네임 분석 요청 패킷 및 도메인 네임 분석 응답 패킷은 모두 제1 캐시 영역 내에서 획득된다. 제2 캐시 영역에서 발견된 응답 데이터가 제1 캐시 영역의 도메인 네임 분석 요청 패킷에 포함된 데이터의 꼬리에 복제되는 것이 제공될 때, 응답 데이터는 도메인 네임 응답 패킷을 획득하기 위해 도메인 네임 분석 요청 패킷과 조합될 수 있어서, 도메인 네임 분석의 효율성이 향상된다.
도 9에 도시된 대로, 도메인 네임 분석 방법이 일 실시예에 따라 제공된다. 상기 방법은 아래의 단계 S902 내지 S924를 포함한다.
단계 S902에서, 유휴 모드의 분석 스레드가 사용자 공간 내의 병렬 분석 스레드로부터 선택된다.
단계 S904에서, 운영 체제 커널이 네트워크 어댑터 수신 큐로부터 데이터 패킷을 읽어들이고 데이터 패킷을 사용자 공간으로 전송할 때, 전송되는 데이터 패킷의 데이터 프로토콜 식별자가 선택된 분석 스레드를 사용하여 획득된다.
단계 S906에서, 전송되는 데이터 패킷이 도메인 네임 분석 요청 패킷인지 여부가 획득된 데이터 프로토콜 식별자에 기초하여 결정되고, 전송되는 데이터 패킷이 도메인 네임 분석 요청 패킷으로서 결정되면 S908 단계가 수행되고, 전송되는 데이터 패킷이 비-도메인 네임-분석 요청 패킷으로서 결정되면 S910 단계가 수행된다.
단계 S908에서, 선택된 분석 스레드를 사용하여 도메인 네임 분석 요청 패킷이 획득되고, 상기 방법은 단계 S912로 진행한다.
단계 S910에서, 전송되는 데이터 패킷이 선택된 분석 스레드를 사용하여 사용자 공간 내의 제3 캐시 영역 내에 캐싱되고, 데이터 패킷이 병렬 분석 스레드와 독립인 커널 상호작용 스레드를 사용하여 제3 캐시 영역으로부터 읽히고, 읽힌 데이터 패킷이 운영 체제 커널에 피드백된다.
단계 S912에서, 획득된 도메인 네임 분석 요청 패킷이 사용자 공간의 제1 캐시 영역 내에 캐싱된다.
단계 S914에서, 선택된 분석 스레드를 사용하여, 제1 캐시 영역 내에 캐싱된 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터가 결정되고, 제1 캐시 영역에 캐싱된 도메인 네임 분석 요청 패킷 내의 변경될 데이터의 어드레스 포인터 오프셋이 결정되며, 여기서 변경될 데이터는 도메인 네임 분석 요청 패킷 및 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 각 헤더 데이터 내의 차이 데이터를 나타내고, 변경될 데이터가 헤드 어드레스 포인터 및 어드레스 포인터 오프셋에 기초하여 제1 캐시 영역 내에 위치되고, 위치된 변경될 데이터는 변경될 데이터에 대응하는 도메인 네임 분석 응답 패킷 내의 데이터로 변경된다.
단계 S916에서, 선택된 분석 스레드를 사용하여, 캐싱된 도메인 네임 분석 요청 패킷 내에서 요청된 기록 유형과 분석될 도메인 네임이 추출된다.
단계 S918에서, 현재 시간 인스턴트가 응답 데이터 내에 포함된 캐시 데드라인을 넘었는지 여부가 결정되고, 현재 시간 인스턴트가 캐시 데드라인을 넘으면 상기 방법은 단계 S920으로 진행하고, 현재 시간 인스턴트가 캐시 데드라인을 넘지 않으면 상기 방법은 단계 S922로 진행한다.
캐시 데드라인은 응답 데이터의 유효 기간을 나타낸다. 각 기록 유형에 대해, 도메인 네임 분석을 통해 획득된 결과는 변경될 수 있다. 현재 시간 인스턴트가 응답 데이터에 포함된 캐시 데드라인을 넘으면, 응답 데이터 내에 캡슐화된 도메인 네임 분석 기록이 변경되는지 여부를 검출할 것이 요구된다. 도메인 네임 분석 기록이 변경되지 않는 경우, 응답 데이터 내에 포함된 캐시 데드라인은 재설정된다.
단계 S920에서, 선택된 분석 스레드를 사용하여, 추출된 도메인 네임으로부터 매핑된 해시 값이 획득되고, 해쉬 값이 가리키는 링크된 리스트가 해시 테이블 내에서 결정되고, 링크된 리스트는 추출된 도메인 네임을 포함하고 추출된 기록 유형을 갖는 노드에 대해 검색되고, 발견된 노드로부터 응답 데이터의 캐시 어드레스가 추출되며, 사전 캐싱된 응답 데이터가 캐시 어드레스에 기초하여 제2 캐시 영역으로부터 읽힌다.
단계 S922에서, 도메인 네임 분석 기록이 업데이트되고, 업데이트된 도메인 네임 분석 기록이 미리 설정된 응답 포맷에 따라 업데이트된 응답 데이터 내에 캡슐화되며, 제2 캐시 영역 내의 사전 캐싱된 응답 데이터가 업데이트된 응답 데이터로 대체되고, 상기 방법은 단계 S920로 진행한다.
현재 시간 인스턴트가 응답 데이터에 포함된 캐시 데드라인을 넘으면, 도메인 네임 분석 서버는, 로컬에 저장된 도메인 네임 분석 기록이 신뢰할 수 있는 도메인 네임 서버에 저장된 대응하는 도메인 네임 분석 기록과 일치하는지 여부를 검출하기 위해, 신뢰할 수 있는 도메인 네임 서버에 대한 연결을 구축할 수 있다. 두 개의 기록이 일치하지 않으면, 로컬에 저장된 도메인 네임 분석 기록은 신뢰할 수 있는 도메인 네임 서버에 저장된 대응하는 도메인 네임 분석 기록을 기반으로 업데이트되고, 업데이트된 도메인 네임 분석 기록이 미리 설정된 응답 포맷에 따라 업데이트된 응답 데이터 내에 캡슐화되며, 제2 캐시 영역 내의 사전 캐싱된 응답 데이터는 업데이트된 응답 데이터로 대체된다.
단계 S924에서, 선택된 분석 스레드를 사용하여, 제1 캐시 영역 내의 변경된 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터가 획득되고, 변경된 도메인 네임 분석 요청 패킷의 총 데이터 수량에 대응하는 어드레스 포인터 오프셋이 획득되고, 응답 데이터의 헤드 어드레스 포인터가 어드레스 포인터 오프셋 및 변경된 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터에 기초하여 결정되며; 응답 데이터는, 변경된 도메인 네임 분석 요청 패킷 및 캐싱된 응답 데이터를 포함하는, 제1 캐시 영역 내에 캐싱된 도메인 네임 분석 응답 패킷을 획득하기 위해, 응답 데이터의 헤드 어드레스 포인터에 기초하여 제1 캐시 영역 내에 캐싱된다.
본 실시예에서, 획득된 도메인 네임 분석 요청 패킷이 사용자 공간의 제1 캐시 영역 내에 저장되고, 캐싱된 도메인 네임 분석 요청 패킷이 단일의 분석 스레드를 사용하여 제1 캐시 영역 내에서 분석됨으로써, 스레드 간 데이터 상호작용 처리를 위한 대기 프로세스가 회피되고, 데이터 처리 효율성이 향상된다. 검색될 응답 데이터는 사용자 공간의 제2 캐시 영역 내에 미리 저장되고, 응답 데이터가 발견된 후 응답 데이터는 변경된 도메인 네임 분석 요청 패킷과 직접 결합될 수 있어, 도메인 네임 분석 효율이 크게 향상된다. 게다가, 도메인 네임 분석 프로세스 내에서 요구되는 모든 데이터는 자기 디스크로부터 데이터를 읽어들일 필요없이 사용자 공간의 캐시 영역 내에 저장되므로, 데이터 처리 속도가 크게 향상된다. 게다가, 응답 데이터가 제2 캐시 영역으로부터 제1 캐시 영역에 복제된 후, 도메인 네임 분석 프로세스가 제1 캐시 영역 내에서 완료될 수 있으므로, 데이터 복제 횟수가 효과적으로 감소되고, 도메인 네임 분석 효율이 더욱 향상된다.
도 10은 일 실시예에 따른 도메인 네임 분석 프로세스의 논리도이다. 도 10을 참조하면, 도메인 네임 분석 서버의 시스템 공간은 커널 공간과 사용자 공간으로 구분된다. 운영 체제 커널은 네트워크 어댑터 구동 프로세스에 의해 읽힌 데이터 패킷을 사용자 공간으로 전송하기 위해 데이터 패킷 인터셉트 프로세스를 시작할 수 있다. 도메인 네임 분석 서버는 사용자 공간의 제1 캐시 영역 내에 도메인 네임 분석 데이터 패킷을 캐싱하고, 도메인 네임 분석 데이터 패킷 내의 분석될 도메인 네임에 대응하는, 요청된 기록 유형을 가지는 응답 데이터를 사용자 공간 내의 제2 캐시 영역에서 검색하고; 발견된 응답 데이터를 제1 캐시 영역 내의 도메인 네임 분석 요청 패킷의 말미에 저장하며; 도메인 네임 분석 응답 패킷을 획득하기 위해, 도메인 네임 분석 요청 패킷의 헤더 데이터를 변경한다. 비-도메인 네임-분석 응답 패킷은 운영 체제 커널에 피드백된다.
이해되어야 할 것은, 본 출원의 실시예에서의 단계가 반드시 단계 번호에 의해 지시된 순서로 수행되는 것은 아니라는 것이다. 본 명세서에서 달리 명확하게 규정되어 있지 않는 한, 단계는 엄격한 순서 제한없이 수행되며, 다른 순서로 수행될 수 있다. 게다가, 실시예들 중 적어도 일부 단계는 복수의 하위 단계 또는 복수의 스테이지를 포함할 수 있으며, 이들 하위 단계 또는 스테이지는 반드시 동일한 시간 인스턴트에 수행되어야하는 것은 아니며, 서로 다른 시간 인스턴트에 수행될 수 있다. 하위 단계 또는 스테이지는 반드시 순차적으로 수행될 필요는 없으며, 하위 단계 또는 스테이지는 다른 단계의 적어도 일부의 다른 단계, 다른 단계의 하위 단계 또는 스테이지와 교대로 수행될 수 있다.
도 11에 도시된 대로, 서버(1100)가 일 실시예에 따라 제공된다. 서버(1100)의 내부 구조에있어서, 도 2에 도시된 구조를 참조할 수 있다. 아래의 모듈의 전부 또는 일부는 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 도 11을 참조하면, 서버(1100)는 획득 모듈(1101), 변경 모듈(1102), 추출 모듈(1103), 검색 모듈(1104), 및 결합 모듈(1105)을 포함한다.
획득 모듈(1101)은 도메인 네임 분석 요청 패킷을 획득하고, 획득된 도메인 네임 분석 요청 패킷을 제1 캐시 영역 내에 캐시하도록 구성된다.
변경 모듈(1102)은, 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 캐싱된 도메인 네임 분석 요청 패킷 내에 포함된 헤더 데이터를, 제1 캐시 영역에서 변경하도록 구성된다.
추출 모듈(1103)은 캐싱된 도메인 네임 분석 요청 패킷 내에서 요청된 기록 유형 및 분석될 도메인 네임을 추출하도록 구성된다.
검색 모듈(1104)은 추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 위해 제2 캐시 영역을 검색하도록 구성된다.
결합 모듈(1105)은 도메인 네임 분석 응답 패킷을 획득하기 위해, 발견된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷에 결합하도록 구성된다.
서버(1100)는 획득된 도메인 네임 분석 요청 패킷을 제1 캐시 영역 내에 저장하고, 캐싱된 도메인 네임 분석 요청 패킷을 제1 캐시 영역에서 분석하고, 도메인 네임 분석 요청 패킷에 포함되는 헤더 데이터를 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터로 변경하며, 도메인 네임 분석 응답 패킷을 획득하기 위해, 발견된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷과 조합한다. 검색될 응답 데이터가 제2 캐시 영역 내에 미리 저장되고, 응답 데이터는, 응답 데이터가 발견된 후 변경된 도메인 네임 분석 요청 패킷과 직접 결합될 수 있어서, 도메인 네임 분석 효율이 크게 향상될 수 있다. 게다가, 응답 데이터가 제2 캐시 영역에서부터 제1 캐시 영역으로 복제된 후에, 도메인 네임 분석 프로세스가 제1 캐시 영역 내에서 완료될 수 있으므로, 데이터 복제 횟수가 효과적으로 감소되고, 도메인 네임 분석 효율이 더욱 향상된다.
일 실시예에서, 획득 장치(1101)는 또한, 운영 시스템 커널이 네트워크 어댑터 수신 큐로부터 데이터 패킷을 읽어들이고, 데이터 패킷을 사용자 공간으로 전송할 때, 전송되는 데이터 패킷 내의 데이터 프로토콜 식별자를 획득하고, 데이터 프로토콜 식별자가, 전송되는 데이터 패킷이 도메인 네임 분석 요청 패킷임을 지시하는 경우, 도메인 네임 분석 요청 패킷을 획득하도록 구성된다. 이 실시예에서, 제1 캐시 영역과 제2 캐시 영역은 사용자 공간 내에 있다.
이 실시예에서, 도메인 네임 분석이, 커널 공간을 거쳐 데이터 패킷을 전송하지 않고, 도메인 네임 분석 요청 패킷으로서 결정된 데이터 패킷에 대해, 사용자 공간에서, 직접 수행되므로, 커널 공간에서의 분석 동안 요구되는 복수의 데이터 복제가 회피되고, 도메인 네임 분석 효율이 향상된다. 게다가, 비-도메인 네임-분석 요청 패킷으로 판단된 데이터 패킷은 운영 체제 커널에 피드백되어, 사용자 공간에서 분석될 수 없는 데이터 패킷을 처리하는 방식이 제공되고, 데이터 패킷 분석의 성공률이 향상된다.
일 실시예에서, 변경 모듈(1102)은 또한, 제1 캐시 영역에 캐싱된 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터를 결정하고, 제1 캐시 영역에 캐싱된 도메인 네임 분석 요청 패킷 내의 변경될 데이터의 어드레스 포인터 오프셋을 결정하고, 여기서 변경될 데이터는 도메인 네임 분석 요청 패킷과 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 각각의 헤더 데이터의 차이 데이터를 나타내고, 헤드 어드레스 포인터 및 어드레스 포인터 오프셋에 기초하여 제1 캐시 영역 내에 변경될 데이터를 위치시키고, 위치된 변경될 데이터를 변경될 데이터에 대응하는 도메인 네임 분석 응답 패킷 내의 데이터로 변경하도록 구성된다.
본 실시예에서, 도메인 네임 분석 요청 패킷이 캐싱되는 제1 캐시 영역에서, 도메인 네임 분석 요청 패킷의 헤더 데이터가 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터로 직접 변경되어서, 분석 프로세스에서 도메인 네임 분석 응답 패킷의 실시간 캡슐화가 회피되고, 응답 시간이 단축되며, 도메인 네임 분석 효율이 더욱 향상될 수 있다.
일 실시예에서, 검색 모듈(1104)은 또한, 추출된 도메인 네임으로부터 매핑된 해시 값을 획득하고, 해시 테이블 내에서, 해시 값이 가리키는 링크된 리스트를 결정하고, 추출된 도메인 네임을 포함하고, 추출된 기록 유형을 갖는 노드를 링크된 리스트에서 검색하고, 발견된 노드로부터 응답 데이터의 캐시 어드레스를 추출하고며, 캐시 어드레스에 기초하여 제2 캐시 영역으로부터 상기 사전 캐싱된 응답 데이터를 읽어들이도록 구성된다.
본 실시예에서, 해시 테이블은 응답 데이터의 캐시 어드레스에 대해 검색되고, 그후, 응답 데이터는 발견된 어드레스에 기초하여 캐시로부터 읽힘으로써, 대응하는 응답 데이터를 각 캐시에서 직접 검색함으로써 야기되는 시간 낭비가 회피되고, 검색 속도가 크게 향상되며, 도메인 네임 분석 효율성이 더욱 향상된다.
일 실시예에서, 결합 모듈(1105)은 또한, 제1 캐시 영역에서 변경된 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터를 획득하고, 변경된 도메인 네임 분석 요청 패킷의 총 데이터 수량에 대응하는 어드레스 포인터 오프셋을 획득하고, 어드레스 포인터 오프셋 및 변경된 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터에 기초하여 응답 데이터의 헤드 어드레스 포인터를 결정하며, 변경된 도메인 네임 분석 요청 패킷 및 캐싱된 응답 데이터를 포함하는, 제1 캐시 영역에 캐싱된 도메인 네임 분석 응답 패킷을 획득하기 위해, 응답 데이터의 헤드 어드레스 포인터에 기초하여 응답 데이터를 제1 캐시 영역 내에 캐싱하도록 구성된다.
본 실시예에서, 도메인 네임 분석 프로세스에서, 도메인 네임 분석 요청 패킷 및 도메인 네임 분석 응답 패킷은 모두 제1 캐시 영역 내에서 획득된다. 제2 캐시 영역에서 발견된 응답 데이터가 제1 캐시 영역 내의 도메인 네임 분석 요청 패킷에 포함된 데이터의 꼬리에 복제되는 것이 제공되어, 응답 데이터가 도메인 네임 분석 응답 패킷을 획득하기 위해, 도메인 네임 분석 요청 패킷과 결합될 수 있어서, 도메인 네임 분석 효율이 향상된다.
도 12는 다른 실시예에 따른 서버(1100)의 구조 블록도이다. 도 12를 참조하면, 서버(1100)는 사전 캐싱 모듈(1106)을 더 포함한다.
사전 캐싱 모듈(1106)은, 현재 시간 인스턴트가 응답 데이터에 포함된 캐시 데드라인을 넘으면, 도메인 네임 분석 기록을 업데이트하고, 사전 설정된 응답 포맷에 따라 업데이트된 도메인 네임 분석 기록을 업데이트된 응답 데이터 내에 캡슐화하며, 제2 캐시 영역 내의 사전 캐싱된 응답 데이터를 업데이트된 응답 데이터로 대체하도록 구성된다. 응답 데이터는 사전 설정된 응답 포맷에 따라 도메인 네임 분석 기록을 캡슐화하여 획득된다.
본 실시예에서, 획득된 도메인 네임 분석 요청 패킷은 사용자 공간의 제1 캐시 영역 내에 저장되고, 캐싱된 도메인 네임 분석 요청 패킷이 단일의 분석 스레드를 사용하여 제1 캐시 영역에서 분석됨으로써, 스레드 간 데이터 상호작용 프로세스를 위한 대기 프로세스가 회피되고, 데이터 처리 효율성이 향상된다. 검색될 응답 데이터는 사용자 공간의 제2 캐시 영역 내에 미리 저장되고, 응답 데이터는, 응답 데이터가 발견된 후 변경된 도메인 네임 분석 요청 패킷과 직접 결합될 수 있어서, 도메인 네임 분석 효율이 크게 향상된다. 게다가, 도메인 네임 분석 프로세스에서 요구되는 모든 데이터는 자기 디스크로부터 데이터를 읽어들이는 것 없이 사용자 공간의 캐시 영역 내에 저장되므로, 데이터 처리 속도가 크게 향상된다. 게다가, 응답 데이터가 제2 캐시 영역에서부터 제1 캐시 영역으로 복제된 후, 도메인 네임 분석 프로세스가 제1 캐시 영역 내에서 완료될 수 있으므로, 데이터 복제 횟수가 효과적으로 감소되고, 도메인 네임 분석 효율이 더욱 향상된다.
도 13에 도시된 대로, 일 실시예에 따라 서버(1300)가 제공된다. 서버(1300)의 내부 구조에 있어서, 도 2에 도시된 구조가 참조될 수 있다. 아래의 모듈의 전부 또는 일부는 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 도 13을 참조하면, 서버(1300)는 선택 모듈(1301), 획득 모듈(1302), 변경 모듈(1303), 추출 모듈(1304), 검색 모듈(1305), 및 결합 모듈(1306)을 포함한다.
선택 모듈(1301)은 병렬 분석 스레드로부터 유휴 모드의 분석 스레드를 선택하도록 구성된다.
획득 모듈(1302)은 선택된 분석 스레드를 사용하여 도메인 네임 분석 요청 패킷을 획득하고, 획득된 도메인 네임 분석 요청 패킷을 제1 캐시 영역 내에 캐싱하도록 구성된다.
변경모듈(1303)은, 캐싱된 도메인 네임 분석에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 선택된 분석 스레드를 사용하여 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷의 헤더 데이터를 수정도록 구성된다.
추출 모듈(1304)은, 선택된 분석 스레드를 사용하여, 캐싱된 도메인 네임 분석 요청 패킷 내에서 분석될 도메인 네임 및 요청된 기록 유형을 추출하도록 구성된다.
검색 모듈(1305)은, 선택된 분석 스레드를 사용하여, 추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 제2 캐시 영역에서 검색하도록 구성된다.
결합 모듈(1306)은, 도메인 네임 분석 응답 패킷을 획득하기 위해, 선택된 분석 스레드를 사용하여, 발견된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷과 결합하도록 구성된다.
본 실시예에서, 도메인 네임 분석 프로세스는 다른 스레드와 수행된 데이터 상호작용 처리를 수반하지 않고 분석 스레드에 의해 독립적으로 수행되어서, 스레드 간의 데이터 상호작용 처리를 위한 대기 프로세스가 회피되고, 도메인 네임 분석 효율이 더욱 향상된다.
일 실시예에서, 획득 모듈(1302)은 또한, 운영 체제 커널이 네트워크 어댑터 수신 큐로부터 데이터 패킷을 읽어들이고 데이터 패킷을 사용자 공간으로 전송할 때 선택된 분석 스레드를 사용하여, 전송되는 데이터 패킷에 포함된 데이터 프로토콜 식별자를 획득하고, 데이터 프로토콜 식별자가 전송되는 데이터 패킷이 비-도메인 네임-분석 요청 패킷임을 지시하는 경우, 선택된 분석 스레드를 사용하여 전송되는 데이터 패킷을 사용자 공간의 제3 캐시 영역 내에 캐시하고, 병렬 분석 스레드들과 독립인 커널 상호작용 스레드를 사용하여 제3 캐시 영역으로부터 데이터 패킷을 읽어들이며, 읽힌 데이터 패킷을 운영 체제 커널에 피드백하도록 구성된다. 본 실시예에서, 제1 캐시 영역과 제2 캐시 영역은 사용자 공간 내에 있다.
본 실시예에서, 사용자 공간에서의 도메인 네임 분석 프로세스에 의해 분석될 수 없는 비-도메인 네임-분석 요청 패킷은 운영 체제 커널에 피드백되어, 사용자 공간의 도메인 네임 분석 프로세스에 의한 비-도메인 네임-분석 요청 패킷의 분석 실패가 회피되고, 데이터 패킷 분석의 성공률이 향상된다.
당업자는 앞서 설명한 실시예에서의 방법의 프로세스 중 일부 또는 전부가 컴퓨터 프로그램에 의해 지시되는 관련 하드웨어에 의해 구현될 수 있다는 것을 이해할 수 있다. 프로그램은 비휘발성 컴퓨터 판독 가능 저장 매체 내에 저장될 수 있다. 프로그램이 실행될 때, 실시예 내의 앞서 설명한 방법의 과정이 수행된다. 본 출원의 실시예에서 사용되는 메모리, 또는 저장 장치, 또는 데이터베이스, 또는 다른 매체는 각각 비휘발성 및/또는 휘발성 메모리를 포함할 수 있다. 비휘발성 메모리는 읽기 전용 메모리(read-only memory, ROM), 또는 프로그램 가능 ROM(programmable ROM, PROM), 또는 전기적 프로그램 가능 ROM(electrically programmable ROM, EPROM), 또는 전기적 소거 가능 프로그램 가능 ROM(electrically erasable programmable ROM, EEPROM), 또는 플래시 메모리를 포함 할 수 있다. 휘발성 메모리는 랜덤 액세스 메모리(random access memory, RAM) 또는 외부 캐시 메모리를 포함할 수 있다. 제한이 아닌 설명으로, RAM은 정적 램(static RAM, SRAM), 동적 램(dynamic RAM, DRAM), 동기식 DRAM (synchronous DRAM, SDRAM), 더블 데이터 속도 SDRAM(double dat rate, DDR SDRAM), 향상된 SDRAM(enhanced SDRAM, ESDRAM), 동기링크(Synchlink) DRAM(SDRAM), 램버스(Rambus) 다이렉트 RAM(RDRAM), 다이렉트 램버스 다이내믹 RAM(DRDRAM), 및 램버스 다이내믹 RAM(RDRAM)과 같은, 다양한 유형을 포함할 수 있다.
앞서 설명한 실시예의 기술적 특징은 임의의 방식으로 조합될 수 있다. 설명을 간략하게 하기 위해, 앞서 설명한 실시예 내의 기술적 특징의 모든 가능한 조합이 설명되는 것은 아니다. 그러나 이러한 기술적 특징의 조합이 서로 모순되지 않는 한, 상기 조합은 본 명세에서 정의되는 범위에 속하는 것으로 간주되어야 한다.
앞서 설명한 실시예는 본 출원의 몇몇 구현만을 설명한다. 실시예는 구체적으로 상세하게 설명되었으며, 본 발명의 특허 범위에 대한 제한으로 해석될 수 없다. 명심해야 할 것은, 당업자는 본 출원의 개념을 벗어나지 않고 다양한 변경 및 개선을 행할 수 있으며, 변경 및 개선은 모두 본 출원의 보호 범위 내로 되어야 한다는 것이다. 그러므로, 본 출원의 특허 보호 범위는 첨부된 청구 범위에 의해 정의되어야 한다.

Claims (24)

  1. 도메인 네임 분석(domain name resolution) 방법으로서,
    서버가, 도메인 네임 분석 요청 패킷을 획득하는 단계,
    상기 서버가, 획득된 도메인 네임 분석 요청 패킷을 제1 캐시 영역(cache area) 내에 캐싱하는 단계,
    상기 서버가 상기 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 캐싱된 도메인 네임 분석 요청 패킷 내의 헤더 데이터를 변경하는 단계,
    상기 서버가, 캐싱된 도메인 네임 분석 요청 패킷 내에서 요청된 기록 유형 및 분석될 도메인 네임을 추출하는 단계,
    상기 서버가, 추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 위해 제2 캐시 영역을 검색하는 단계, 및
    상기 서버가, 상기 도메인 네임 분석 응답 패킷을 획득하기 위해, 상기 사전 캐싱된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷에 결합하는 단계
    를 포함하는 도메인 네임 분석 방법.
  2. 제1항에 있어서,
    상기 제1 캐시 영역 및 상기 제2 캐시 영역은 사용자 공간 내에 있고, 상기 서버가, 도메인 네임 분석 요청 패킷을 획득하는 단계는,
    상기 서버가, 운영 체제 커널이 네트워크 어댑터 수신 큐(queue)로부터 데이터 패킷을 읽어들이고 상기 데이터 패킷을 상기 사용자 공간으로 전송할 때, 전송되는 데이터 패킷 내의 데이터 프로토콜 식별자를 획득하는 단계; 및
    상기 서버가, 상기 데이터 프로토콜 식별자가 전송되는 데이터 패킷이 도메인 네임 분석 요청 패킷임을 지시하는 경우에, 상기 도메인 네임 분석 요청 패킷을 획득하는 단계
    를 포함하는, 도메인 네임 분석 방법.
  3. 제1항에 있어서,
    상기 서버가, 병렬 분석 스레드(parallel resolution thread)로부터 유휴 모드의 분석 스레드를 선택하는 단계; 및
    선택된 분석 스레드를 사용하여 상기 서버가, 도메인 네임 분석 요청 패킷을 획득하고 제1 캐시 영역 내에 획득된 도메인 네임 분석 요청 패킷을 캐싱하는 스텝; 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 상기 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷 내의 헤더 데이터를 변경하는 스텝; 캐싱된 도메인 네임 분석 요청 패킷 내에서 요청된 기록 유형 및 분석될 도메인 네임을 추출하는 스텝; 추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 위해 제2 캐시 영역을 검색하는 스텝; 및 도메인 네임 분석 응답 패킷을 획득하기 위해, 상기 사전 캐싱된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷에 결합하는 스텝을 수행하는 단계
    를 더 포함하는 도메인 네임 분석 방법.
  4. 제3항에 있어서,
    상기 서버의 제1 캐시 영역 및 제2 캐시 영역은 사용자 공간 내에 있고, 상기 선택된 분석 스레드를 사용하여 상기 서버가, 도메인 네임 분석 요청 패킷을 획득하는 스텝은,
    상기 서버가, 운영 체제 커널이 네트워크 어댑터 수신 큐로부터 데이터 패킷을 읽어들이고 상기 데이터 패킷을 상기 사용자 공간으로 전송할 때, 선택된 분석 스레드를 사용하여, 전송되는 데이터 패킷 내의 데이터 프로토콜 식별자를 획득하는 것;
    상기 서버가, 상기 데이터 프로토콜 식별자가 전송되는 데이터 패킷이 비-도메인 네임-분석 요청 패킷임을 지시하는 경우에, 선택된 분석 스레드를 사용하여 전송되는 데이터 패킷을 상기 사용자 공간 내의 제3 캐시 영역 내에 캐싱하는 것; 및
    상기 서버가, 병렬 분석 스레드들과 독립인 커널 상호작용 스레드를 사용하여 상기 제3 캐시 영역으로부터 상기 데이터 패킷을 읽어들이고, 읽어들인 데이터 패킷을 상기 운영 체제 커널에 피드백하는 것
    을 포함하는 도메인 네임 분석 방법.
  5. 제1항에 있어서,
    상기 서버가 상기 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 캐싱된 도메인 네임 분석 요청 패킷 내의 헤더 데이터를 변경하는 단계는,
    상기 서버가, 상기 제1 캐시 영역 내에 캐싱된 상기 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터(head address pointer)를 결정하는 단계;
    상기 서버가, 상기 제1 캐시 영역 내에 캐싱된 상기 도메인 네임 분석 요청 패킷 내의 변경될 데이터의 어드레스 포인터 오프셋을 결정하는 단계 - 여기서 상기 변경될 데이터는 상기 도메인 네임 분석 요청 패킷 및 상기 도메인 네임 분석 요청 패킷에 대응하는 상기 도메인 네임 분석 응답 패킷의 각 헤더 데이터 내의 차이 데이터를 나타냄 -;
    상기 서버가, 상기 헤드 어드레스 포인터 및 상기 어드레스 포인터 오프셋에 기초하여 상기 제1 캐시 영역 내에 상기 변경될 데이터를 위치시키는 단계; 및
    상기 서버가, 위치된 변경될 데이터를 상기 변경될 데이터에 대응하는 상기 도메인 네임 분석 응답 패킷 내의 데이터로 변경하는 단계
    를 포함하는, 도메인 네임 분석 방법.
  6. 제1항에 있어서,
    상기 응답 데이터는 미리 설정된 응답 포맷에 따라 도메인 네임 분석 기록을 캡슐화하여 획득되고,
    상기 도메인 네임 분석 방법은,
    상기 서버가, 현재 시간 인스턴트가 상기 응답 데이터 내에 포함된 캐시 데드라인을 넘으면, 상기 도메인 네임 분석 기록을 업데이트하는 단계;
    상기 서버가, 상기 미리 설정된 응답 포맷에 따라 업데이트된 도메인 네임 분석 기록을 업데이트된 응답 데이터 내에 캡슐화하는 단계; 및
    상기 서버가, 상기 제2 캐시 영역 내의 사전 캐싱된 응답 데이터를 업데이트된 응답 데이터로 대체하는 단계
    를 더 포함하는 도메인 네임 분석 방법.
  7. 제1항에 있어서,
    상기 서버가, 추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 위해 제2 캐시 영역을 검색하는 단계는,
    상기 서버가, 추출된 도메인 네임으로부터 매핑된 해시 값(hash value)을 획득하는 단계;
    상기 서버가 해시 테이블(hash table) 내에서, 상기 해시 값이 가리키는 링크된 리스트를 결정하는 단계;
    상기 서버가, 추출된 도메인 네임을 포함하고 추출된 기록 유형을 갖는 노드에 대한 링크된 리스트를 검색하는 단계;
    상기 서버가, 발견된 노드로부터 상기 응답 데이터의 캐시 어드레스(cache address)를 추출하는 단계; 및
    상기 서버가, 상기 캐시 어드레스에 기초하여 상기 제2 캐시 영역으로부터 상기 사전 캐싱된 응답 데이터를 읽어들이는 단계
    를 포함하는, 도메인 네임 분석 방법.
  8. 제1항에 있어서,
    상기 서버가, 상기 도메인 네임 분석 응답 패킷을 획득하기 위해, 상기 사전 캐싱된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷에 결합하는 단계는,
    상기 서버가, 상기 제1 캐시 영역 내의 변경된 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터를 획득하는 단계;
    상기 서버가, 변경된 도메인 네임 분석 요청 패킷의 총 데이터 수량에 대응하는 어드레스 포인터 오프셋을 획득하는 단계;
    상기 서버가, 상기 어드레스 포인터 오프셋 및 변경된 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터에 기초하여 상기 응답 데이터의 헤드 어드레스 포인터를 결정하는 단계; 및
    상기 서버가, 변경된 도메인 네임 분석 요청 패킷 및 캐싱된 응답 데이터를 포함하는, 상기 제1 캐시 영역 내에 캐싱된 도메인 네임 분석 응답 패킷을 획득하기 위해, 상기 응답 데이터의 상기 헤드 어드레스 포인터에 기초하여 상기 응답 데이터를 상기 제1 캐시 영역 내에 캐싱하는 단계
    를 포함하는, 도메인 네임 분석 방법.
  9. 서버로서,
    메모리 및 프로세서를 포함하고, 상기 메모리는 컴퓨터 판독 가능 명령을 저장하고, 상기 컴퓨터 판독 가능 명령은, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    도메인 네임 분석 요청 패킷을 획득하는 단계;
    제1 캐시 영역(cache area) 내에 획득된 도메인 네임 분석 요청 패킷을 캐싱하는 단계;
    상기 서버가 상기 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 캐싱된 도메인 네임 분석 요청 패킷 내의 헤더 데이터를 변경하는 단계,
    캐싱된 도메인 네임 분석 요청 패킷 내에서 요청된 기록 유형 및 분석될 도메인 네임을 추출하는 단계,
    추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 위해 제2 캐시 영역을 검색하는 단계, 및
    도메인 네임 분석 응답 패킷을 획득하기 위해, 상기 사전 캐싱된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷에 결합하는 단계
    를 수행하게 하는, 서버.
  10. 제9항에 있어서,
    상기 제1 캐시 영역 및 상기 제2 캐시 영역은 사용자 공간 내에 있고, 도메인 네임 분석 요청 패킷을 획득하는 단계는,
    운영 체제 커널이 네트워크 어댑터 수신 큐로부터 데이터 패킷을 읽어들이고 상기 데이터 패킷을 상기 사용자 공간으로 전송할 때, 전송되는 데이터 패킷 내의 데이터 프로토콜 식별자를 획득하는 단계; 및
    상기 서버가, 상기 데이터 프로토콜 식별자가 전송되는 데이터 패킷이 도메인 네임 분석 요청 패킷임을 지시하는 경우에, 상기 도메인 네임 분석 요청 패킷을 획득하는 단계
    를 포함하는, 서버.
  11. 제9항에 있어서,
    상기 컴퓨터 판독 가능 명령은, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    병렬 분석 스레드(parallel resolution thread)로부터 유휴 모드의 분석 스레드를 선택하는 단계; 및
    선택된 분석 스레드를 사용하여, 도메인 네임 분석 요청 패킷을 획득하고 제1 캐시 영역 내에 획득된 도메인 네임 분석 요청 패킷을 캐싱하는 스텝; 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 상기 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷 내의 헤더 데이터를 변경하는 스텝; 캐싱된 도메인 네임 분석 요청 패킷 내에서 요청된 기록 유형 및 분석될 도메인 네임을 추출하는 스텝; 추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 위해 제2 캐시 영역을 검색하는 스텝; 및 도메인 네임 분석 응답 패킷을 획득하기 위해, 상기 사전 캐싱된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷에 결합하는 스텝을 수행하는 단계
    를 또한 수행하게 하는, 서버.
  12. 제11항에 있어서,
    상기 제1 캐시 영역 및 제2 캐시 영역은 사용자 공간 내에 있고, 상기 선택된 분석 스레드를 사용하여, 도메인 네임 분석 요청 패킷을 획득하는 스텝은,
    운영 체제 커널이 네트워크 어댑터 수신 큐로부터 데이터 패킷을 읽어들이고 상기 데이터 패킷을 상기 사용자 공간으로 전송할 때, 선택된 분석 스레드를 사용하여, 전송되는 데이터 패킷 내의 데이터 프로토콜 식별자를 획득하는 것;
    상기 데이터 프로토콜 식별자가 전송되는 데이터 패킷이 비-도메인 네임-분석 요청 패킷임을 지시하는 경우에, 선택된 분석 스레드를 사용하여 상기 사용자 공간 내의 제3 캐시 영역 내에 전송되는 데이터 패킷을 캐싱하는 것; 및
    병렬 분석 스레드들과 독립인 커널 상호작용 스레드를 사용하여 상기 제3 캐시 영역으로부터 상기 데이터 패킷을 읽어들이고, 읽어들인 데이터 패킷을 상기 운영 체제 커널에 피드백하는 것
    을 포함하는, 서버.
  13. 제9항에 있어서,
    상기 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 캐싱된 도메인 네임 분석 요청 패킷 내의 헤더 데이터를 변경하는 단계는,
    상기 제1 캐시 영역 내에 캐싱된 상기 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터(head address pointer)를 결정하는 단계;
    상기 제1 캐시 영역 내에 캐싱된 상기 도메인 네임 분석 요청 패킷 내의 변경될 데이터의 어드레스 포인터 오프셋을 결정하는 단계 - 여기서 상기 변경될 데이터는 상기 도메인 네임 분석 요청 패킷 및 상기 도메인 네임 분석 요청 패킷에 대응하는 상기 도메인 네임 분석 응답 패킷의 각 헤더 데이터 내의 차이 데이터를 나타냄 -;
    상기 헤드 어드레스 포인터 및 상기 어드레스 포인터 오프셋에 기초하여 상기 제1 캐시 영역 내에 상기 변경될 데이터를 위치시키는 단계; 및
    위치된 변경될 데이터를 상기 변경될 데이터에 대응하는 상기 도메인 네임 분석 응답 패킷 내의 데이터로 변경하는 단계
    를 포함하는, 서버.
  14. 제9항에 있어서,
    상기 응답 데이터는 미리 설정된 응답 포맷에 따라 도메인 네임 분석 기록을 캡슐화하여 획득되고,
    상기 컴퓨터 판독 가능 명령은, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    현재 시간 인스턴트가 상기 응답 데이터 내에 포함된 캐시 데드라인을 넘으면, 상기 도메인 네임 분석 기록을 업데이트하는 단계;
    상기 미리 설정된 응답 포맷에 따라 업데이트된 도메인 네임 분석 기록을 업데이트된 응답 데이터 내에 캡슐화하는 단계; 및
    상기 제2 캐시 영역 내의 사전 캐싱된 응답 데이터를 업데이트된 응답 데이터로 대체하는 단계
    를 또한 수행하게 하는, 서버.
  15. 제9항에 있어서,
    추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 위해 제2 캐시 영역을 검색하는 단계는,
    추출된 도메인 네임으로부터 매핑된 해시 값(hash value)을 획득하는 단계;
    해시 테이블(hash table) 내에서, 상기 해시 값이 가리키는 링크된 리스트를 결정하는 단계;
    추출된 도메인 네임을 포함하고 추출된 기록 유형에 대응하는 노드에 대한 링크된 리스트를 검색하는 단계;
    발견된 노드로부터 상기 응답 데이터의 캐시 어드레스(cache address)를 추출하는 단계; 및
    상기 캐시 어드레스에 기초하여 상기 제2 캐시 영역으로부터 상기 사전 캐싱된 응답 데이터를 읽어들이는 단계
    를 포함하는, 서버.
  16. 제9항에 있어서,
    상기 도메인 네임 분석 응답 패킷을 획득하기 위해, 상기 사전 캐싱된 데이터를 변경된 도메인 네임 분석 요청 패킷에 결합하는 단계는,
    상기 제1 캐시 영역 내의 변경된 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터를 획득하는 단계;
    변경된 도메인 네임 분석 요청 패킷의 총 데이터 수량에 대응하는 어드레스 포인터 오프셋을 획득하는 단계;
    상기 어드레스 포인터 오프셋 및 변경된 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터에 기초하여 상기 응답 데이터의 헤드 어드레스 포인터를 결정하는 단계; 및
    변경된 도메인 네임 분석 요청 패킷 및 캐싱된 응답 데이터를 포함하는, 상기 제1 캐시 영역 내에 캐싱된 도메인 네임 분석 응답 패킷을 획득하기 위해, 상기 응답 데이터의 상기 헤드 어드레스 포인터에 기초하여 상기 제1 캐시 영역 내에 상기 응답 데이터를 캐싱하는 단계
    를 포함하는, 서버.
  17. 컴퓨터 판독 가능 명령을 저장하는 비휘발성 저장 매체로서,
    상기 컴퓨터 판독 가능 명령은, 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    도메인 네임 분석 요청 패킷을 획득하는 단계;
    제1 캐시 영역(cache area) 내에 획득된 도메인 네임 분석 요청 패킷을 캐싱하는 단계;
    상기 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 캐싱된 도메인 네임 분석 요청 패킷 내의 헤더 데이터를 변경하는 단계,
    캐싱된 도메인 네임 분석 요청 패킷 내에서 요청된 기록 유형 및 분석될 도메인 네임을 추출하는 단계,
    추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 위해 제2 캐시 영역을 검색하는 단계, 및
    도메인 네임 분석 응답 패킷을 획득하기 위해, 상기 사전 캐싱된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷에 결합하는 단계
    를 수행하게 하는, 저장 매체.
  18. 제17항에 있어서,
    상기 제1 캐시 영역 및 상기 제2 캐시 영역은 사용자 공간 내에 있고, 도메인 네임 분석 요청 패킷을 획득하는 단계는,
    운영 체제 커널이 네트워크 어댑터 수신 큐로부터 데이터 패킷을 읽어들이고 상기 데이터 패킷을 상기 사용자 공간으로 전송할 때, 전송되는 데이터 패킷 내의 데이터 프로토콜 식별자를 획득하는 단계; 및
    상기 데이터 프로토콜 식별자가 전송되는 데이터 패킷이 도메인 네임 분석 요청 패킷임을 지시하는 경우에, 상기 도메인 네임 분석 요청 패킷을 획득하는 단계
    를 포함하는, 저장 매체.
  19. 제17항에 있어서,
    상기 컴퓨터 판독 가능 명령어는 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    병렬 분석 스레드(parallel resolution thread)로부터 유휴 모드의 분석 스레드를 선택하는 단계; 및
    선택된 분석 스레드를 사용하여, 도메인 네임 분석 요청 패킷을 획득하고 제1 캐시 영역 내에 획득된 도메인 네임 분석 요청 패킷을 캐싱하는 스텝; 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 상기 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷 내의 헤더 데이터를 변경하는 스텝; 캐싱된 도메인 네임 분석 요청 패킷 내에서 요청된 기록 유형 및 분석될 도메인 네임을 추출하는 스텝; 추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 위해 제2 캐시 영역을 검색하는 스텝; 및 도메인 네임 분석 응답 패킷을 획득하기 위해, 상기 사전 캐싱된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷에 결합하는 스텝을 수행하는 단계
    를 또한 수행하게 하는, 저장 매체.
  20. 제19항에 있어서,
    상기 제1 캐시 영역 및 제2 캐시 영역은 사용자 공간 내에 있고, 상기 선택된 분석 스레드를 사용하여, 도메인 네임 분석 요청 패킷을 획득하는 스텝을 수행하는 단계는,
    운영 체제 커널이 네트워크 어댑터 수신 큐로부터 데이터 패킷을 읽어들이고 상기 데이터 패킷을 상기 사용자 공간으로 전송할 때 선택된 분석 스레드를 사용하여, 전송되는 데이터 패킷 내의 데이터 프로토콜 식별자를 획득하는 단계;
    상기 데이터 프로토콜 식별자가 전송되는 데이터 패킷이 비-도메인 네임-분석 요청 패킷임을 지시하는 경우에, 선택된 분석 스레드를 사용하여 상기 사용자 공간 내의 제3 캐시 영역 내에 전송되는 데이터 패킷을 캐싱하는 단계; 및
    병렬 분석 스레드들과 독립인 커널 상호작용 스레드를 사용하여 상기 제3 캐시 영역으로부터 상기 데이터 패킷을 읽어들이고, 읽어들인 데이터 패킷을 상기 운영 체제 커널에 피드백하는 단계
    를 포함하는, 저장 매체.
  21. 제17항에 있어서,
    상기 제1 캐시 영역 내에서, 캐싱된 도메인 네임 분석 요청 패킷에 대응하는 도메인 네임 분석 응답 패킷의 헤더 데이터를 획득하기 위해, 캐싱된 도메인 네임 분석 요청 패킷 내의 헤더 데이터를 변경하는 단계는,
    상기 제1 캐시 영역 내에 캐싱된 상기 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터(head address pointer)를 결정하는 단계;
    상기 제1 캐시 영역 내에 캐싱된 상기 도메인 네임 분석 요청 패킷 내의 변경될 데이터의 어드레스 포인터 오프셋을 결정하는 단계 - 여기서 상기 변경될 데이터는 상기 도메인 네임 분석 요청 패킷 및 상기 도메인 네임 분석 요청 패킷에 대응하는 상기 도메인 네임 분석 응답 패킷의 각 헤더 데이터 내의 차이 데이터를 나타냄 -;
    상기 헤드 어드레스 포인터 및 상기 어드레스 포인터 오프셋에 기초하여 상기 제1 캐시 영역 내에 상기 변경될 데이터를 위치시키는 단계; 및
    위치된 변경될 데이터를 상기 변경될 데이터에 대응하는 상기 도메인 네임 분석 응답 패킷 내의 데이터로 변경하는 단계
    를 포함하는, 저장 매체.
  22. 제17항에 있어서,
    상기 응답 데이터는 미리 설정된 응답 포맷에 따라 도메인 네임 분석 기록을 캡슐화하여 획득되고,
    상기 컴퓨터 판독 가능 명령은, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    현재 시간 인스턴트가 상기 응답 데이터 내에 포함된 캐시 데드라인을 넘으면, 상기 도메인 네임 분석 기록을 업데이트하는 단계;
    상기 미리 설정된 응답 포맷에 따라 업데이트된 도메인 네임 분석 기록을 업데이트된 응답 데이터 내에 캡슐화하는 단계; 및
    상기 제2 캐시 영역 내의 사전 캐싱된 응답 데이터를 업데이트된 응답 데이터로 대체하는 단계
    를 또한 수행하게 하는, 저장 매체.
  23. 제17항에 있어서,
    추출된 도메인 네임에 대응하고, 추출된 기록 유형을 갖는 사전 캐싱된 응답 데이터를 위해 제2 캐시 영역을 검색하는 단계는,
    추출된 도메인 네임으로부터 매핑된 해시 값(hash value)을 획득하는 단계;
    해시 테이블(hash table) 내에서, 상기 해시 값이 가리키는 링크된 리스트를 결정하는 단계;
    추출된 도메인 네임을 포함하고 추출된 기록 유형을 갖는 노드에 대한 링크된 리스트를 검색하는 단계;
    발견된 노드로부터 상기 응답 데이터의 캐시 어드레스(cache address)를 추출하는 단계; 및
    상기 캐시 어드레스에 기초하여 상기 제2 캐시 영역으로부터 상기 사전 캐싱된 응답 데이터를 읽어들이는 단계
    를 포함하는, 저장 매체.
  24. 제17항에 있어서,
    상기 도메인 네임 분석 응답 패킷을 획득하기 위해, 상기 사전 캐싱된 응답 데이터를 변경된 도메인 네임 분석 요청 패킷에 결합하는 단계는,
    상기 제1 캐시 영역 내의 변경된 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터를 획득하는 단계;
    변경된 도메인 네임 분석 요청 패킷의 총 데이터 수량에 대응하는 어드레스 포인터 오프셋을 획득하는 단계;
    상기 어드레스 포인터 오프셋 및 변경된 도메인 네임 분석 요청 패킷의 헤드 어드레스 포인터에 기초하여 상기 응답 데이터의 헤드 어드레스 포인터를 결정하는 단계; 및
    변경된 도메인 네임 분석 요청 패킷 및 캐싱된 응답 데이터를 포함하는, 상기 제1 캐시 영역 내에 캐싱된 도메인 네임 분석 응답 패킷을 획득하기 위해, 상기 응답 데이터의 상기 헤드 어드레스 포인터에 기초하여 상기 제1 캐시 영역 내에 상기 응답 데이터를 캐싱하는 단계
    를 포함하는, 저장 매체.
KR1020197013202A 2017-01-11 2017-12-22 도메인 네임 분석 방법, 서버 및 저장 매체 KR102199403B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710021111.4A CN106790762B (zh) 2017-01-11 2017-01-11 域名解析方法和装置
CN201710021111.4 2017-01-11
PCT/CN2017/117904 WO2018130061A1 (zh) 2017-01-11 2017-12-22 域名解析方法、服务器和存储介质

Publications (2)

Publication Number Publication Date
KR20190062530A true KR20190062530A (ko) 2019-06-05
KR102199403B1 KR102199403B1 (ko) 2021-01-06

Family

ID=58947925

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197013202A KR102199403B1 (ko) 2017-01-11 2017-12-22 도메인 네임 분석 방법, 서버 및 저장 매체

Country Status (7)

Country Link
US (1) US10826869B2 (ko)
EP (1) EP3570512B1 (ko)
JP (1) JP6816275B2 (ko)
KR (1) KR102199403B1 (ko)
CN (1) CN106790762B (ko)
MA (1) MA47252A (ko)
WO (1) WO2018130061A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210147575A (ko) * 2020-05-29 2021-12-07 주식회사맥데이타 대용량 네트워크 모니터링을 위한 실시간 패킷 분석 방법 및 장치
KR20220001606A (ko) * 2020-06-30 2022-01-06 주식회사맥데이타 대용량 네트워크 모니터링을 위한 실시간 패킷 데이터 저장 방법 및 장치

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790762B (zh) * 2017-01-11 2022-05-24 腾讯科技(深圳)有限公司 域名解析方法和装置
CN107483604B (zh) * 2017-08-29 2020-12-15 武汉斗鱼网络科技有限公司 Nginx-RTMP动态更新DNS缓存的方法和装置
CN108600406B (zh) * 2018-03-27 2021-06-01 上海兆芯集成电路有限公司 处理不同类型请求的网络装置
JP7044033B2 (ja) * 2018-11-06 2022-03-30 日本電信電話株式会社 アクセス制御方法、アクセス制御装置、およびデータ処理装置
CN110147864B (zh) 2018-11-14 2022-02-22 腾讯科技(深圳)有限公司 编码图案的处理方法和装置、存储介质、电子装置
CN111030988B (zh) * 2019-11-01 2022-01-04 烽火通信科技股份有限公司 一种自反馈调度导流方法及系统
CN111711706B (zh) * 2020-04-30 2023-04-07 广州根链国际网络研究院有限公司 Dns递归请求方法及系统
CN111770049B (zh) * 2020-05-09 2022-06-03 优刻得科技股份有限公司 全局缓存变量及报文信息存储方法及装置
CN112040027B (zh) * 2020-09-14 2023-06-16 网易(杭州)网络有限公司 一种数据处理的方法及装置、电子设备、存储介质
CN112887442B (zh) * 2021-01-11 2023-02-07 杭州迪普科技股份有限公司 域名解析查询请求的处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080113023A (ko) * 2006-02-28 2008-12-26 마이크로소프트 코포레이션 글로벌 이름 영역을 위한 방법, 시스템 및 장치-판독가능 매체
KR20150146422A (ko) * 2014-06-19 2015-12-31 캐비엄, 인코포레이티드 수정을 위해 패킷을 개별 레이어들로 분할하고 수정 후에 레이어들을 지능적으로 다시 연결하는 방법 및 이의 장치
CN105681483A (zh) * 2015-12-29 2016-06-15 赛尔网络有限公司 基于dns服务器测量特定ip范围解析占比的方法及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073707A1 (en) * 2001-05-23 2004-04-15 Hughes Electronics Corporation Generating a list of network addresses for pre-loading a network address cache via multicast
US7769826B2 (en) * 2003-06-26 2010-08-03 Nominum, Inc. Systems and methods of providing DNS services using separate answer and referral caches
US7440453B2 (en) * 2004-11-12 2008-10-21 International Business Machines Corporation Determining availability of a destination for computer network communications
CN100544372C (zh) * 2007-06-14 2009-09-23 中兴通讯股份有限公司 一种电话号码映射域名服务器的内存处理方法及装置
US7783764B2 (en) * 2008-05-27 2010-08-24 Silver Spring Networks, Inc. Multi-protocol network registration and address resolution
US8677018B2 (en) * 2008-08-25 2014-03-18 Google Inc. Parallel, side-effect based DNS pre-caching
US9197486B2 (en) * 2008-08-29 2015-11-24 Google Inc. Adaptive accelerated application startup
CN102075432B (zh) * 2011-01-25 2012-11-28 上海聚欣网络科技有限公司 一种用于发送及接收报文的方法、装置、设备及系统
US9083644B2 (en) * 2012-02-14 2015-07-14 International Business Machines Corporation Packet routing for embedded applications sharing a single network interface over multiple virtual networks
US9215205B1 (en) * 2012-04-20 2015-12-15 Infoblox Inc. Hardware accelerator for a domain name server cache
CN102882991B (zh) * 2012-09-29 2016-03-30 北京奇虎科技有限公司 一种浏览器及其进行域名解析的方法
CN103634315B (zh) * 2013-11-29 2017-11-10 哈尔滨工业大学(威海) 域名服务器的前端控制方法及系统
CN104917851B (zh) * 2015-05-08 2019-01-22 成都亚信网络安全产业技术研究院有限公司 信息处理方法及dns缓存服务器
US10061619B2 (en) * 2015-05-29 2018-08-28 Red Hat, Inc. Thread pool management
CN105162900B (zh) * 2015-09-25 2019-02-15 中国互联网络信息中心 一种多节点协作的域名解析和缓存方法及系统
CN106096023B (zh) * 2016-06-24 2019-03-08 腾讯科技(深圳)有限公司 数据读取方法、数据写入方法及数据服务器
CN108206814B (zh) * 2016-12-20 2021-03-16 腾讯科技(深圳)有限公司 一种防御dns攻击的方法、装置及系统
CN106790762B (zh) * 2017-01-11 2022-05-24 腾讯科技(深圳)有限公司 域名解析方法和装置
US10375016B1 (en) * 2018-04-02 2019-08-06 Cloudflare, Inc. Managing domain name system (DNS) record cache across multiple DNS servers using multicast communication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080113023A (ko) * 2006-02-28 2008-12-26 마이크로소프트 코포레이션 글로벌 이름 영역을 위한 방법, 시스템 및 장치-판독가능 매체
KR20150146422A (ko) * 2014-06-19 2015-12-31 캐비엄, 인코포레이티드 수정을 위해 패킷을 개별 레이어들로 분할하고 수정 후에 레이어들을 지능적으로 다시 연결하는 방법 및 이의 장치
CN105681483A (zh) * 2015-12-29 2016-06-15 赛尔网络有限公司 基于dns服务器测量特定ip范围解析占比的方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210147575A (ko) * 2020-05-29 2021-12-07 주식회사맥데이타 대용량 네트워크 모니터링을 위한 실시간 패킷 분석 방법 및 장치
KR20220001606A (ko) * 2020-06-30 2022-01-06 주식회사맥데이타 대용량 네트워크 모니터링을 위한 실시간 패킷 데이터 저장 방법 및 장치

Also Published As

Publication number Publication date
JP6816275B2 (ja) 2021-01-20
EP3570512B1 (en) 2023-05-24
EP3570512A4 (en) 2020-11-18
EP3570512A1 (en) 2019-11-20
CN106790762A (zh) 2017-05-31
JP2019537372A (ja) 2019-12-19
MA47252A (fr) 2019-11-20
KR102199403B1 (ko) 2021-01-06
CN106790762B (zh) 2022-05-24
US20190215299A1 (en) 2019-07-11
WO2018130061A1 (zh) 2018-07-19
US10826869B2 (en) 2020-11-03

Similar Documents

Publication Publication Date Title
KR102199403B1 (ko) 도메인 네임 분석 방법, 서버 및 저장 매체
US10958752B2 (en) Providing access to managed content
US8321503B2 (en) Context-specific network resource addressing model for distributed services
US6754799B2 (en) System and method for indexing and retrieving cached objects
US9870374B2 (en) Replicating data across data centers
US11102118B2 (en) System and method for supporting ICN-within-IP networking
US20160188749A1 (en) Feed Data Storage and Query
US10846338B2 (en) Data processing device, data processing method, and non-transitory computer readable medium
US20160315997A1 (en) File transfer method, device, and system
WO2014190700A1 (zh) 一种内存访问的方法、缓冲调度器和内存模块
US10205679B2 (en) Resource object resolution management
CN112817983A (zh) 句柄标识解析缓存方法、查询方法及其句柄标识解析系统
CN106959975B (zh) 一种转码资源缓存处理方法、装置及设备
CN112261090A (zh) Web数据处理方法、装置、计算机设备和可读存储介质
CN106817437B (zh) 地址记录的查询方法和装置
CN109495525B (zh) 网络组件、解析内容标识的方法和计算机可读存储介质
CN113411364B (zh) 资源获取方法、装置及服务器
CN112532414B (zh) 确定isp归属的方法、装置、设备及计算机存储介质
CN114124887B (zh) Dns服务器的视图查询方法、dns服务器及可读存储介质
WO2023143061A1 (zh) 一种数据访问方法及其数据访问系统
CN116888941A (zh) 用于数据发现的域名系统
CN116974734A (zh) 一种对象存储系统、对象修改方法及相关设备
CN116166662A (zh) 数据流标记方法、装置、设备及存储介质
CN115878922A (zh) 数据热更新方法、装置、电子设备及计算机可读存储介质
CN116775570A (zh) 信息查询方法、装置和计算机设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant