CN101170585B - 一种域名查询方法 - Google Patents
一种域名查询方法 Download PDFInfo
- Publication number
- CN101170585B CN101170585B CN2007101247181A CN200710124718A CN101170585B CN 101170585 B CN101170585 B CN 101170585B CN 2007101247181 A CN2007101247181 A CN 2007101247181A CN 200710124718 A CN200710124718 A CN 200710124718A CN 101170585 B CN101170585 B CN 101170585B
- Authority
- CN
- China
- Prior art keywords
- domain name
- inquiry
- name
- resolver
- address
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种域名查询方法,用于向域名系统进行IP地址的二次查询,包括以下步骤:应用程序给域名赋予查询类型;所述应用程序向解析器发送包括查询类型的域名查询请求;所述解析器向本地名字服务器发送封装有查询类型的查询报文;所述本地名字服务器根据所述查询报文的类型查找到域名的正确IP地址,并返回给应用程序。本发明通过二次查询得到域名的正确IP地址或邮件信息,使查询效率得到提高,同时方便用户使用。
Description
技术领域
本发明涉及网络通信领域的域名查询方法。
背景技术
在20世纪70年代,ARPAnet(Advance Research Projects AgencyNetwork)只是一个拥有几百台主机的网络,当时ARPAnet所有主机域名和IP地址的映射关系,通过一个名为hosts.txt的文件就能完全记录。当ARPAnet采用TCP/IP协议后,网络规模爆炸性地增长,并发展成为当前的因特网。由于网络的流量和负载增大、以及域名冲突等问题,采用hosts.txt文件记录主机域名和IP地址的映射关系已经不能完成之前的历史使命,随之出现了DNS(域名系统),用来查询主机域名和IP地址的映射关系。RFC1034和RFC1035是当前描述DNS的规范,目前还有许多其它种类的RFC补充RFC1034和RFC1035的内容,它们描述了DNS潜在的安全问题、实现问题、管理问题、动态更新名字服务器的机制等。
DNS有三个主要的组成部分:名字空间和资源记录、名字服务器、解析器。应用程序向DNS的解析器查询域名时,解析器向名字服务器发送域名的查询请求消息之后,在收到名字服务器的响应消息时,将响应消息中的资源记录存储到DNS的缓存单元。该资源记录在解析器中的有效时间为资源记录的生存时间(TTL,Time To Live)。在TTL之内,如果解析器再接收到同样的域名查询时,将会直接从缓存单元(cache)中得到该域名的正确IP地址,即该域名的有效资源记录,而不再向名字服务器发送查询请求消息。但是,如果在TTL之内,管理该域名的主名字服务器,即权威名 字服务器上对应的IP地址有改动,但是由于解析器或者低级的名字服务器(权威名字服务器以外的服务器)上与域名对应的资源记录没有更新,那么通过DNS得到的IP地址会是错误的。
为了解决上面的问题,有的解析器给用户提供了一种命令,用户使用该命令可以清除缓存单元中所有的资源记录。但是该方法会使得很多正常的资源记录也随之清除掉,待应用程序请求查询的域名包括在被清除掉的正确资源记录时,势必会向名字服务器发送查询,这样会耗费不必要的网络资源,同时也消耗了名字服务器的处理资源。况且,解析器是向本地的名字服务器查询域名,而很多时候被查询的域名对应的权威名字服务器不是本地的名字服务器,而是其它的名字服务器。这样就有可能权威名字服务器上更新了域名对应的资源记录,而包括本地名字服务器的低级名字服务器上没有更新资源记录,所以即使解析器向本地名字服务器发送查询请求,也得不到正确的记录,不可能彻底解决现有技术存在的问题。
因此,现有技术存在缺陷,有待于进一步改进和发展。
发明内容
本发明的目的在于提供一种增强型域名系统的查询方法,使TTL之内,应用程序查询域名得到错误的IP地址时,能够通过该域名系统进行二次查询得到该域名对应的正确IP地址。
本发明的技术方案如下:
一种域名查询方法,用于应用程序向域名系统进行IP地址的二次查询,包括以下步骤:
A、所述应用程序给域名赋予二次查询的指定查询类型,并向解析器发送包括查询类型的域名查询请求;
B、所述解析器向本地名字服务器发送封装有查询类型的查询报文;
C、所述本地名字服务器根据所述查询报文的查询类型查找到域名的正 确IP地址,并返回给应用程序。
所述的查询方法,其中,所述步骤C中的所述本地名字服务器查找过程是在管理所述域名的主名字服务器上进行。
所述的查询方法,其中,所述步骤C中的所述本地名字服务器查找过程还包括:将非本地名字服务器的指示消息发送给所述解析器,由所述解析器在管理所述域名的主名字服务器上进行。
所述的查询方法,其中,所述步骤C中将所查找到的域名正确IP地址返回给应用程序是由所述解析器执行的。
所述的查询方法,其中,所述解析器还将所述查找到的域名正确IP地址存储到一缓存单元。
所述的查询方法,其中,所述查询类型包括IPv4域重新查询到的指定类型。
所述的查询方法,其中,所述查询类型包括IPv6域重新查询到的指定类型。
与现有技术相比,本发明提供了一种域名查询方法,在域名系统中引入了一种新的查询类型,使应用程序收到错误的IP地址时,为该域名赋予了查询类型,使本地名字服务器或解析器根据所述查询类型找到管理所述域名的主名字服务器,从而使应用程序立即得到了该域名正确的IP地址,提高了查询效率,方便了用户使用。
附图说明
图1是本发明应用的DNS的结构示意图;
图2是本发明解析器的实现流程图;
图3是本发明本地名字服务器的实现流程图。
具体实施方式
下面结合附图,对本发明的较佳实施例作进一步详细说明。
图1是本发明域名系统100的结构图,包括解析器101、缓存单元102和本地名字服务器103。其中应用程序201一般是由主机操作系统调用的,并且所述解析器101和缓存单元102是主机操作系统的一部分。
在TTL内,应用程序按照现有技术的方法,向域名系统查询得到的所述IP地址或邮件消息是错误的时候,所述应用程序通过本发明的方法进行二次查询,以得到所述域名的正确IP地址或邮件消息。本发明域名系统对所述域名进行二次查询的过程,具体包括以下步骤。
所述应用程序向解析器发送某一指定查询类型的查询请求,所述查询请求中包含所述域名和查询类型。所述查询类型包括查询类型ANS或AAAANS,ANS指IPv4域重新查询到的指定类型,AAAANS指IPv6域重新查询到的指定类型。
所述解析器在二次查询域名的过程中,如图2所示,进行以下步骤的操作:
步骤201:所述解析器已准备好开始接收应用程序的查询请求。
步骤202:所述解析器接收到应用程序的查询请求。
步骤203:所述解析器判断所述查询请求中的查询类型,如果查询类型是A或者AAAA,就进入步骤206;如果不是,就进入步骤204。
步骤204:所述解析器查找所述缓存单元,看所述缓存单元是否有同所述域名和查询类型相匹配的有效资源记录,如果有,进入步骤205;如果没有,进入步骤206。
步骤205:所述解析器从所述缓存单元取出所述有效资源记录,并返回给应用程序。
步骤206:所述解析器将所述要查询的域名和查询类型封装于构造的查询报文,并将所述查询报文发送给本地名字服务器。
步骤207:所述解析器等待本地名字服务器的报文响应消息,如果所述 报文响应消息中是期望的消息,即与所述域名以及查询类型对应的有效资源记录,就进入步骤208;如果所述报文响应消息中是其它名字服务器即非本地名字服务器的指示消息,就需要将封装了查询类型的权威查询请求发送给其它的名字服务器,查找到管理该域名的主名字服务器,即权威名字服务器,并得到域名的正确IP地址,即有效资源记录。其它的名字服务器发送查询报文的过程没有在图中没有画出。
步骤208:所述解析器接收到的有效资源记录存入所述缓存单元,并将所述有效资源记录返回给所述应用程序。
步骤209:所述解析器二次查询域名的过程结束。当然,在上面的处理过程中,所述解析器也可以同时接收别的查询请求。
本发明的本地名字服务器在二次查询域名中,如图3所示,具体包括如下步骤:
步骤301:所述本地名字服务器已准备好开始接收所述解析器的查询报文。
步骤302:所述本地名字服务器接收到所述解析器发送的查询报文。
步骤303:所述本地名字服务器判断所述查询报文中的查询类型,如果所述查询类型是查询类型ANS或者AAAANS就进入步骤304;如果所述查询类型不是指定的查询类型,就进入步骤307。
步骤304:所述本地名字服务器查看自己是否是所述要查询的域名的权威名字服务器,如果是进入步骤307;如果不是进入步骤305。
步骤305:如果所述本地名字服务器向非本地名字服务器发送权威查询请求,所述权威查询请求中也封装了查询类型;或者向所述解析器返回其它名字服务器的指示消息。
如果所述本地名字服务器向所述非本地字服务器发送权威查询请求,进入步骤306;如果所述本地名字服务器是向所述解析器返回其它名字服务器的指示消息,进入步骤309。
步骤306:非本地名字服务器如果不是域名的权威名字服务器,就不能处理该查询请求,只是将收到的权威查询请求信息转发;只有所述域名的权威名字服务器才能识别查询请求信息中的查询类型,并返回所述域名的有效资源记录,即所述域名的正确IP地址。
所述本地名字服务器收到所述域名的权威名字服务器的响应消息,然后进入步骤308。
步骤307:所述本地名字服务器在域名数据库中查找同所述域名和查询相匹配的有效资源记录。
步骤308:所述本地名字服务器根据在所述域名数据库中找到的有效资源记录或者权威名字服务器响应的有效资源记录来构造响应报文,并将所述响应报文发送给所述解析器。
步骤309:所述本地名字服务器查询域名的过程结束。当然,在上面的域名查询过程中,所述本地名字服务器也可以接收别的查询报文。
本发明的域名查询方法,在TTL内应用程序收到域名对应的错误IP地址时,发起带有查询类型的域名二次查询,解析器根据所述查询类型构造查询报文并发送给本地名字服务器,所述本地名字服务根据查询类型查找域名的权威名字服务器查,以得到域名的有效资源记录,或者向解析器返回其它服务器的指示消息,由解析器向域名的权威名字服务器查询,最终得到域名的正确IP地址或邮件信息。
应当理解的是,上述针对本发明较佳实施例的表述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本发明的专利保护范围应以所附权利要求为准。
Claims (4)
1.一种域名查询方法,用于应用程序向域名系统进行IP地址的二次查询,包括以下步骤:
A、所述应用程序给域名赋予二次查询的指定查询类型,并向解析器发送包括查询类型的域名查询请求;
B、所述解析器向本地名字服务器发送封装有查询类型的查询报文;
C、所述本地名字服务器根据所述查询报文的查询类型查找到域名的正确IP地址,并返回给应用程序;
所述步骤C中的所述本地名字服务器查找过程是在管理所述域名的主名字服务器上进行;
所述步骤C中的所述本地名字服务器查找过程还包括:将非本地名字服务器的指示消息发送给所述解析器,由所述解析器在管理所述域名的主名字服务器上进行;
所述步骤C中将所查找到的域名正确IP地址返回给应用程序是由所述解析器执行的。
2.根据权利要求1所述的查询方法,其特征在于,所述解析器还将所述查找到的域名正确IP地址存储到一缓存单元。
3.根据权利要求1所述的查询方法,其特征在于,所述查询类型包括IPv4域重新查询到的指定类型。
4.根据权利要求1所述的查询方法,其特征在于,所述查询类型包括IPv6域重新查询到的指定类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101247181A CN101170585B (zh) | 2007-11-13 | 2007-11-13 | 一种域名查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101247181A CN101170585B (zh) | 2007-11-13 | 2007-11-13 | 一种域名查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101170585A CN101170585A (zh) | 2008-04-30 |
CN101170585B true CN101170585B (zh) | 2011-08-24 |
Family
ID=39391045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101247181A Active CN101170585B (zh) | 2007-11-13 | 2007-11-13 | 一种域名查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101170585B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431539B (zh) * | 2008-12-11 | 2011-04-20 | 华为技术有限公司 | 一种域名解析方法、系统及装置 |
CN101964968B (zh) * | 2009-07-22 | 2014-02-05 | 中兴通讯股份有限公司 | 一种移动网络中域名查询的方法及系统 |
CN102025795B (zh) * | 2010-01-22 | 2013-03-06 | 中国移动通信集团北京有限公司 | Dns响应报文处理方法、dns服务器及系统 |
CN101841520B (zh) * | 2010-01-22 | 2013-11-06 | 中国科学院计算机网络信息中心 | 域名系统以及域名系统的信息处理方法、装置 |
CN102340549B (zh) * | 2010-07-22 | 2014-03-26 | 中国移动通信集团公司 | 一种域名解析方法及装置 |
CN102984286B (zh) * | 2012-11-14 | 2015-03-04 | 上海牙木通讯技术有限公司 | 一种dns服务器的缓存更新方法、装置及系统 |
CN103581363B (zh) * | 2013-11-29 | 2017-12-12 | 哈尔滨工业大学(威海) | 对恶意域名和非法访问的控制方法及装置 |
CN106210159B (zh) * | 2015-05-07 | 2019-12-13 | 阿里巴巴集团控股有限公司 | 一种域名解析方法和设备 |
CN106899701B (zh) * | 2015-12-17 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 一种域名查询方法和装置 |
CN106790747A (zh) * | 2016-12-13 | 2017-05-31 | 北京网瑞达科技有限公司 | 一种域名系统dns二次递归解析的方法 |
CN109040328A (zh) * | 2017-06-12 | 2018-12-18 | 中兴通讯股份有限公司 | 请求发送方法及装置、家庭网关、存储介质、处理器 |
CN111917896B (zh) * | 2020-06-23 | 2022-09-16 | 北京邮电大学 | 一种可信的域名解析方法、系统、电子设备及存储介质 |
CN113556413B (zh) * | 2021-08-13 | 2023-07-25 | 中国互联网络信息中心 | 一种报文处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6351743B1 (en) * | 1999-05-26 | 2002-02-26 | Lucent Technologies Inc. | Method and apparatus for operating domain name servers |
CN1756263A (zh) * | 2004-09-27 | 2006-04-05 | 上海贝尔阿尔卡特股份有限公司 | 域名解析方法、域名服务器及域名系统 |
CN1976307A (zh) * | 2005-11-28 | 2007-06-06 | 日立通讯技术株式会社 | Dns服务器装置 |
-
2007
- 2007-11-13 CN CN2007101247181A patent/CN101170585B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6351743B1 (en) * | 1999-05-26 | 2002-02-26 | Lucent Technologies Inc. | Method and apparatus for operating domain name servers |
CN1756263A (zh) * | 2004-09-27 | 2006-04-05 | 上海贝尔阿尔卡特股份有限公司 | 域名解析方法、域名服务器及域名系统 |
CN1976307A (zh) * | 2005-11-28 | 2007-06-06 | 日立通讯技术株式会社 | Dns服务器装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101170585A (zh) | 2008-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101170585B (zh) | 一种域名查询方法 | |
US10148612B2 (en) | Method and system for increasing speed of domain name system resolution within a computing device | |
JP4045936B2 (ja) | アドレス変換装置 | |
CN102469167B (zh) | 域名查询的实现方法和系统 | |
US7194553B2 (en) | Resolving virtual network names | |
US7415536B2 (en) | Address query response method, program, and apparatus, and address notification method, program, and apparatus | |
US7558880B2 (en) | Dynamic DNS registration method, domain name solution method, DNS proxy server, and address translation device | |
EP2769307B1 (en) | Answer augmentation system for authoritative dns servers | |
EP2638689B1 (en) | A method for accessing content in networks and a corresponding system | |
WO2017173766A1 (zh) | 一种域名解析加速方法、系统和装置 | |
CN1547828A (zh) | 用于访问作为宽带接入终端的嵌入式万维网服务器的方法、系统和计算机程序产品 | |
CN112235408A (zh) | 网络系统、反向代理方法及反向代理服务器 | |
CN103380607A (zh) | Dns客户端地址、rr ttl更新的方法、装置及系统 | |
US20180375818A1 (en) | Dns-based method of transmitting data | |
JP2002152253A (ja) | 通信管理システム、通信端末、および通信管理方法、並びにプログラム記憶媒体 | |
CN101924644A (zh) | 一种通过域名进行信息交互的方法和系统 | |
CN117692173A (zh) | 请求报文的处理方法、系统及相关设备 | |
KR20090125315A (ko) | 도메인 네임 웹 관리시스템 | |
JP2004070754A (ja) | 論理アドレスサービス起動方法及び論理アドレス管理装置及びアプリケーション実行装置及び論理アドレスサービス管理プログラム及び論理アドレスサービス起動プログラム及び論理アドレスサービス管理プログラムを格納した記憶媒体及び論理アドレスサービス起動プログラムを格納した記憶媒体 | |
JP2004070751A (ja) | 論理アドレスサービス起動方法及び論理アドレス管理装置及びアプリケーション実行装置及び論理アドレスサービス管理プログラム及び論理アドレスサービス起動プログラム及び論理アドレスサービス管理プログラムを格納した記憶媒体及び論理アドレスサービス起動プログラムを格納した記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |