CN103701955A - 域名查询请求的方法及其系统 - Google Patents

域名查询请求的方法及其系统 Download PDF

Info

Publication number
CN103701955A
CN103701955A CN201410003598.XA CN201410003598A CN103701955A CN 103701955 A CN103701955 A CN 103701955A CN 201410003598 A CN201410003598 A CN 201410003598A CN 103701955 A CN103701955 A CN 103701955A
Authority
CN
China
Prior art keywords
domain name
inquiry
request
judging
class record
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.)
Granted
Application number
CN201410003598.XA
Other languages
English (en)
Other versions
CN103701955B (zh
Inventor
韩枫
蒋超
陈政璋
刘贵荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER LLC
Original Assignee
BEILONG KNET (BEIJING) TECHNOLOGY Co Ltd
INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER LLC
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 BEILONG KNET (BEIJING) TECHNOLOGY Co Ltd, INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER LLC filed Critical BEILONG KNET (BEIJING) TECHNOLOGY Co Ltd
Priority to CN201410003598.XA priority Critical patent/CN103701955B/zh
Publication of CN103701955A publication Critical patent/CN103701955A/zh
Application granted granted Critical
Publication of CN103701955B publication Critical patent/CN103701955B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种域名查询请求的方法及其系统,属于通信技术领域,该域名查询请求的方法包括:判断请求中各条查询的域名是否相同;若判断出所述请求中各条查询的域名相同时,则判断本地缓存是否存在所有查询的类型记录;若判断出本地缓存不存在部分查询的类型记录时,则根据所述域名转发请求包至相应的权威服务器。本发明的技术方案可以避免重复冗余的多次请求和递归查询操作,提高DNS服务器的性能。

Description

域名查询请求的方法及其系统
技术领域
本发明涉及通信技术领域,具体涉及一种域名查询请求的方
法及其系统。
背景技术
目前计算机域名系统或域名解析服务器(Domain NameSystem,简称DNS)主要是由运营商部署,并为自己的用户提供免费的DNS解析服务。用户发起的域名解析请求,将以UDP报文的方式发给DNS服务器,DNS服务器接收处理后,仍以UDP报文的形式将结果记录返回给用户。
UDP报文的格式为:
Figure BDA0000452954220000011
其中,报文头的格式为:
Figure BDA0000452954220000012
Figure BDA0000452954220000021
其中,QDCOUNT:指示查询记录的个数。
RCODE:指回复时指定的返回码:0:无差错;1:格式错;2:DNS出错;3:域名不存在;4:DNS不支持这类查询;5:DNS拒绝查询;6-15:保留字段。
报文中类型记录的格式为:
Figure BDA0000452954220000022
Type:记录的类型。例如类型A,则RDATA中返回IPv4地址;类型为AAAA,则RDATA中返回IPv6地址。
在进行域名查询请求时,DNS服务器回复时要在报文头的opcode位指明查询的结果状态。如果查询数QDCOUNT大于1,即一个请求要查询多条域名记录,每条域名记录的查询结果可能为:无差错、不存在、格式错误等,结果状态不相同,此时opcode位无法返回一个统一的结果状态。对于多条不同域名的查询,递归服务器递归查找过程中访问的是不同的一系列权威服务器,各条域名记录的查询依次进行,与单条域名记录分别请求查询无大异,即多条不同域名的查询封装在一个请求包中,意义不大。因此,DNS服务器对于查询数QDCOUNT大于1的请求包,直接返回域名不存在,RCODE位置NXDomain,DNS服务器不进行查找操作。这样产生的缺陷是,同一域名不同类型的解析任务,也只能分次单独请求、获得应答。
目前主流的操作系统都默认使用启用双栈(IPv4/IPv6)操作系统,当用户输入一个域名,浏览器先向DNS服务器请求查询IPv6地址,而当前IPv6服务器较少,因此大部分情况下将获取不到IPv6地址,浏览器会再向DNS服务器请求查询该域名的IPv4地址。因此,大多数时候,解析一个域名要耗费2次DNS服务,进行两次递归查询,从而造成大量的冗余操作,执行效率低下,浪费DNS服务器资源和时间等。
发明内容
本发明提供一种域名查询请求的方法及其系统,其可以避免重复冗余的多次请求和递归查询操作,提高DNS服务器的性能。
为实现上述目的,本发明提供一种域名查询请求的方法,该方法包括:
判断请求中各条查询的域名是否相同;
若判断出所述请求中各条查询的域名相同时,则判断本地缓存是否存在所有查询的类型记录;
若判断出本地缓存不存在部分查询的类型记录时,则根据所述域名转发请求包至相应的权威服务器。
进一步地,在所述判断请求中各条查询的域名是否相同之前还包括:
将查询数大于1的查询请求封装成一个请求包。
进一步地,还包括:
权威服务器接收转发过来的请求包,查询判断请求包中的域名是否存在类型记录,并返回应答。
进一步地,权威服务器接收转发过来的请求包,查询判断请求包中的域名是否存在类型记录,并返回应答具体包括:
若权威服务器查询判断出存在与域名相应的类型记录,则将返回所述存在的类型记录;
若权威服务器查询判断出不存在与域名相应的类型记录,则将返回域名不存在。
进一步地,所述判断请求中各条查询的域名是否相同还包括:
若判断出请求中各条查询的域名不相同,则返回格式错误。
进一步地,还包括:若判断出本地缓存存在所有查询的类型记录时,则将所述所有查询的类型记录打包返回给客户端。
为实现上述目的,本发明提供一种域名查询请求的系统,该系统包括:
第一判断单元,用于判断请求中各条查询的域名是否相同;
第二判断单元,用于在第一判断单元判断出所述请求中各条查询的域名相同时,判断本地缓存是否存在所有查询的类型记录;
转发单元,用于在第二判断单元判断出本地缓存不存在部分查询的类型记录时,根据所述域名转发请求包至相应的权威服务器。
进一步地,还包括:
封装单元,用于将查询数大于1的查询请求封装成一个请求包。
本发明提供的域名查询请求的方法及其系统中,通过将同一域名不同类型的解析任务封装成一个请求包,实现一次请求与递归查询完成同一域名不同类型的多个解析任务,其可以避免重复冗余的多次请求和递归查询操作,提高DNS服务器的性能。
附图说明
图1为本发明实施例一提供的域名查询请求的方法的流程示意图;
图2为本发明的实施例二提供的域名查询请求的系统的流程示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。
图1为本发明实施例一提供的一种域名查询请求的方法的流程示意图,如图1所示,该域名查询请求的方法包括:
步骤S101、判断请求中各条查询的域名是否相同。
具体地,当用户请求查询多条域名的类型记录时,则递归服务器提取所有的域名进行一个逻辑判断,当判断出各条查询的域名不相同时,则将返回格式错误给用户。
步骤S102、若判断出所述请求中各条查询的域名相同时,则查找判断本地缓存是否存在所有查询的类型记录。
具体地,当递归服务器判断出各条查询的域名相同时,则先查找本地缓存,若在本地缓存中能找到所有查询的类型记录,则将所有类型记录打包返回给用户。
步骤S103、若判断出本地缓存不存在部分查询的类型记录时,则根据所述域名转发请求包至相应的权威服务器。
具体地,若部分查询的类型记录在本地缓存中找不到,则根据相同的域名对应的部分类型记录,该部分类型记录将存在于同一权威服务器中,因此,可以根据域名将请求包转发给相应的权威服务器中。
步骤S100、进一步地,在所述判断请求中各条查询的域名是否相同之前还包括:将查询数大于1的查询请求封装成一个请求包。
具体地,例如:对于IPv6用户输入一个用户名,将对于IPv6用户输入的一个域名,将AAAA类型的查询和A类型的查询封装在一个请求包中,一次同时发给DNS服务器。
优选地,该域名查询请求的方法还包括:权威服务器接收转发过来的请求包,查询判断请求包中的域名是否存在类型记录,并返回应答。
具体地,权威服务器接收转发过来的请求包,查询判断请求包中的域名是否存在类型记录,并返回应答具体包括:
若权威服务器查询判断出存在与域名相应的类型记录,则将返回所述存在的类型记录;
若权威服务器查询判断出不存在与域名相应的类型记录,则将返回域名不存在。
进一步地,所述判断请求中各条查询的域名是否相同还包括:
若递归服务器判断出请求中各条查询的域名不相同,则返回格式错误。
进一步地,还包括:若权威服务器判断出本地缓存存在所有查询的类型记录时,则将所述所有查询的类型记录打包返回给客户端。
本实施例提供的域名查询请求的方法中,通过将同一域名不同类型的解析任务封装成一个请求包,实现一次请求与递归查询完成同一域名不同类型的多个解析任务,其可以避免重复冗余的多次请求和递归查询操作,提高DNS服务器的性能。
图2为本发明的实施例二提供的域名查询请求的系统的流程示意图,如图2所示,该域名查询请求的系统包括:第一判断单元21、第二判断单元22、转发单元23和封装单元24,其中,第一判断单元21用于判断请求中各条查询的域名是否相同;第二判断单元22用于在第一判断单元判断出所述请求中各条查询的域名相同时,判断本地缓存是否存在所有查询的类型记录;转发单元23用于在第二判断单元判断出本地缓存不存在部分查询的类型记录时,根据所述域名转发请求包至相应的权威服务器;封装单元24用于将相同域名的查询请求封装成一个查询数大于1的请求包。
本实施例中,优选地,封装单元24将将查询数大于1的查询请求封装成一个请求包。例如:对于IPv6用户输入的一个域名,将AAAA类型的查询和A类型的查询封装在一个请求包中,一次同时发给DNS服务器。
递归服务器对于查询数大于1的请求包,通过第一判断单元21提取域名进行一个逻辑判断,若判断出各条查询的域名不相同,则递归服务器返回格式错误;若判断出所有查询的域名相同,则通过第二判断单元22先查找本地缓存,若查找判断出本地缓存中能找到所有查询的类型记录,则将所有查询的类型记录打包返回给用户,如果部分查询的类型记录在缓存中找不到,则由于域名相同,所有查询的类型记录将在同一权威服务器中,因此转发单元23可根据域名将请求包转发给相应的权威服务器。
权威服务器对于递归服务器发送过来的请求包,首先提取第一条查询的域名,及其他各条查询的解析类型,查找该域名相对应的解析类型的类型记录,查找结果中若有一条查询存在,则返回存在的类型记录,状态位RCODE置no error;若查询的域名不存在,则状态位RCODE可统一地返回NXDomain。
本实施例提供的域名查询请求的系统中,通过将同一域名不同类型的解析任务封装成一个请求包,实现一次请求与递归查询完成同一域名不同类型的多个解析任务,其可以避免重复冗余的多次请求和递归查询操作,提高DNS服务器的性能。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (8)

1.一种域名查询请求的方法,其特征在于,包括:
判断请求中各条查询的域名是否相同;
若判断出所述请求中各条查询的域名相同时,则判断本地缓存是否存在所有查询的类型记录;
若判断出本地缓存不存在部分查询的类型记录时,则根据所述域名转发请求包至相应的权威服务器。
2.根据权利要求1所述的域名查询请求的方法,其特征在于,在所述判断请求中各条查询的域名是否相同之前还包括:
将查询数大于1的查询请求封装成一个请求包。
3.根据权利要求2所述的域名查询请求的方法,其特征在于,还包括:
权威服务器接收转发过来的请求包,查询判断请求包中的域名是否存在类型记录,并返回应答。
4.根据权利要求3所述的域名查询请求的方法,其特征在于,权威服务器接收转发过来的请求包,查询判断请求包中的域名是否存在类型记录,并返回应答具体包括:
若权威服务器查询判断出存在与域名相应的类型记录,则将返回所述存在的类型记录;
若权威服务器查询判断出不存在与域名相应的类型记录,则将返回域名不存在。
5.根据权利要求1所述的域名查询请求的方法,其特征在于,所述判断请求中各条查询的域名是否相同还包括:
若判断出请求中各条查询的域名不相同,则返回格式错误。
6.根据权利要求1所述的域名查询请求的方法,其特征在于,还包括:若判断出本地缓存存在所有查询的类型记录时,则将所述所有查询的类型记录打包返回给客户端。
7.一种域名查询请求的系统,其特征在于,包括:
第一判断单元,用于判断请求中各条查询的域名是否相同;
第二判断单元,用于在第一判断单元判断出所述请求中各条查询的域名相同时,判断本地缓存是否存在所有查询的类型记录;
转发单元,用于在第二判断单元判断出本地缓存不存在部分查询的类型记录时,根据所述域名转发请求包至相应的权威服务器。
8.根据权利要求7所述的域名查询请求的系统,其特征在于,还包括:
封装单元,用于将查询数大于1的查询请求封装成一个请求包。
CN201410003598.XA 2014-01-03 2014-01-03 域名查询请求的方法及其系统 Active CN103701955B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410003598.XA CN103701955B (zh) 2014-01-03 2014-01-03 域名查询请求的方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410003598.XA CN103701955B (zh) 2014-01-03 2014-01-03 域名查询请求的方法及其系统

Publications (2)

Publication Number Publication Date
CN103701955A true CN103701955A (zh) 2014-04-02
CN103701955B CN103701955B (zh) 2017-06-20

Family

ID=50363347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410003598.XA Active CN103701955B (zh) 2014-01-03 2014-01-03 域名查询请求的方法及其系统

Country Status (1)

Country Link
CN (1) CN103701955B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681491A (zh) * 2016-04-08 2016-06-15 网宿科技股份有限公司 一种域名解析加速方法、系统和装置
CN112202675A (zh) * 2020-10-10 2021-01-08 四川天邑康和通信股份有限公司 一种基于linux内核解析DNS实现使用域名访问路由器的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730187B2 (en) * 2006-10-05 2010-06-01 Limelight Networks, Inc. Remote domain name service
CN101826996A (zh) * 2010-03-19 2010-09-08 中国科学院计算机网络信息中心 域名系统流量检测方法与域名服务器
US20100274970A1 (en) * 2009-04-23 2010-10-28 Opendns, Inc. Robust Domain Name Resolution
CN101996193A (zh) * 2009-08-21 2011-03-30 北京搜狗科技发展有限公司 一种展现网络资源链接的处理方法、系统及互联网终端
CN102882791A (zh) * 2012-10-30 2013-01-16 杭州迪普科技有限公司 一种dns业务处理的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730187B2 (en) * 2006-10-05 2010-06-01 Limelight Networks, Inc. Remote domain name service
US20100274970A1 (en) * 2009-04-23 2010-10-28 Opendns, Inc. Robust Domain Name Resolution
CN101996193A (zh) * 2009-08-21 2011-03-30 北京搜狗科技发展有限公司 一种展现网络资源链接的处理方法、系统及互联网终端
CN101826996A (zh) * 2010-03-19 2010-09-08 中国科学院计算机网络信息中心 域名系统流量检测方法与域名服务器
CN102882791A (zh) * 2012-10-30 2013-01-16 杭州迪普科技有限公司 一种dns业务处理的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681491A (zh) * 2016-04-08 2016-06-15 网宿科技股份有限公司 一种域名解析加速方法、系统和装置
CN105681491B (zh) * 2016-04-08 2018-09-14 网宿科技股份有限公司 一种域名解析加速方法、系统和装置
CN112202675A (zh) * 2020-10-10 2021-01-08 四川天邑康和通信股份有限公司 一种基于linux内核解析DNS实现使用域名访问路由器的方法
CN112202675B (zh) * 2020-10-10 2022-04-15 四川天邑康和通信股份有限公司 一种基于linux内核解析DNS实现使用域名访问路由器的方法

Also Published As

Publication number Publication date
CN103701955B (zh) 2017-06-20

Similar Documents

Publication Publication Date Title
US10225188B2 (en) Routing messages between virtual networks
US20190081923A1 (en) Method and system for increasing speed of domain name system resolution within a computing device
WO2021078281A1 (zh) 报文转发及域名地址查询
EP1997026B1 (en) Global names zone
CN101251806B (zh) 使固件能从iSCSI设备引导系统的方法、系统和设备
CN100573496C (zh) 用于处理跨IPv4和IPv6网络的IPv4 DNS PTR查询的方法和装置
US8769057B1 (en) Employing a hierarchy of servers to resolve fractional IP addresses
CN103856580B (zh) 一种IPv6客户机访问IPv4服务器的方法
CN100576846C (zh) 多协议域名解析服务的服务代理方法
JP5812008B2 (ja) ネームデータベースサーバ、名前解決システム、エントリ検索方法およびエントリ検索プログラム
US20150350069A1 (en) Network packet encapsulation and routing
CN102546854A (zh) 一种域名和服务器建立http连接的域名解析方法
JPWO2012053162A1 (ja) ネームデータベースサーバ、名前解決システム、エントリ検索方法およびエントリ検索プログラム
CN102868550B (zh) 全网流量调度器及使用该调度器查询域名解析记录的方法
CN101252583B (zh) 启用InfiniBand网络自举的方法以及InfiniBand主机设备
CN101252604A (zh) 添加ipv6和dhcp支持到网络支持包的方法和设备
CN103891247A (zh) 用于基于域名系统的设备和目标发现的方法和系统
CN103685584A (zh) 一种基于隧道技术的反域名劫持方法和系统
CN104584517A (zh) 在数据中心中使用的用于将IPv4分组在IPv6网络上路由的方法和网络节点
CN102970387A (zh) 一种域名解析方法、装置及系统
CN103701955A (zh) 域名查询请求的方法及其系统
CN103888554A (zh) IPv4与IPv6互通的域名解析方法和系统
CN101252582A (zh) 启用InfiniBand网络自举的方法以及InfiniBand主机设备
US8972604B1 (en) Network address retention and assignment
CN107995325A (zh) 一种Android上降低域名解析失败的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180104

Address after: Yang Yanlu 101408 Beijing city Huairou District Yanqi Economic Development Zone No. 88, a layer of D9

Patentee after: INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER LLC

Address before: Yang Yanlu 101408 Beijing city Huairou District Yanqi Economic Development Zone No. 88, a layer of D9

Co-patentee before: Beilong Knet (Beijing) Technology Co., Ltd.

Patentee before: INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER LLC