CN111698341B - Dns权威响应方法及系统 - Google Patents
Dns权威响应方法及系统 Download PDFInfo
- Publication number
- CN111698341B CN111698341B CN202010360855.0A CN202010360855A CN111698341B CN 111698341 B CN111698341 B CN 111698341B CN 202010360855 A CN202010360855 A CN 202010360855A CN 111698341 B CN111698341 B CN 111698341B
- Authority
- CN
- China
- Prior art keywords
- request
- sequencing
- response
- ordering
- results
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种DNS权威响应方法及系统,其中所述方法包括如下步骤:接收用于DNS解析的第一请求报文,确定所述第一请求报文的查询内容及根据扩展标志确定服务质量排序的请求;发送第一响应报文,其中,根据所述第一请求报文的查询内容在所述第一响应报文的标准格式段反馈对应资源记录,并根据服务质量排序的请求在所述第一响应报文的排序结果协议段反馈排序结果。本发明可以保证DNS解析的服务质量,提高递归查询的性能。
Description
技术领域
本发明涉及计算机网络通信技术领域,尤其涉及一种DNS权威响应方法及系统。
背景技术
DNS(Domain Name System,域名系统)提供了互联网上的一个重要服务,其本质是建立了人的名字世界和底层的二进制协议地址世界的桥梁。当查询对应域名而需要发起DNS解析时,在本地查询不到对应域名的匹配结果后,会通过递归向权威DNS服务器发起查询,具体是从根域名服务器、顶级域名服务器、二级域名服务器等逐级递归查询,直到查询到对应域名的IP地址。然而,IPv6(Internet Protocol Version 6,互联网协议第6版)作为IPv4的下一代IP协议,每一级权威DNS服务器都会提供IPv4和IPv6的双栈支持,但是在当前的网络中,由于IPv6网络的建设尚不完善,导致使用IPv6地址访问相关服务器,可能会比使用IPv4地址进行访问要慢,反之也存在可能。因此,采用什么样的方式递归查询来保证DNS解析的高效快速,成为IPv4向IPv6过渡阶段亟待解决的难题。
发明内容
本发明的目的在于提供一种DNS权威响应方法及系统,解决了现有技术中IPv6网络建设不完善导致的DNS解析服务质量不佳,递归查询性能不稳定的技术问题。
为了解决上述技术问题,本发明的一种DNS权威响应方法,包括如下步骤:
接收用于DNS解析的第一请求报文,确定所述第一请求报文的查询内容及根据扩展标志确定服务质量排序的请求;
发送第一响应报文,其中,根据所述第一请求报文的查询内容在所述第一响应报文的标准格式段反馈对应资源记录,并根据服务质量排序的请求在所述第一响应报文的排序结果协议段反馈排序结果。
作为本发明上述DNS权威响应方法的进一步改进,所述排序结果协议段嵌入在DNS报文的附加资源记录区,通过扩展标志确定对应字段。
作为本发明上述DNS权威响应方法的进一步改进,所述排序结果协议段中包括:
排序应答资源记录数、排序授权资源记录数、排序附加资源记录数,用于标记请求或响应排序结果的数量;
服务质量排序编号,用于标记所述第一响应报文中应答资源记录区、授权资源记录区、附加资源记录区的资源记录优先级顺序。
作为本发明上述DNS权威响应方法的进一步改进,确定服务质量排序请求中的请求结果数量,在请求结果数量超过缓存的排序结果数量时,更新排序结果协议段中的排序应答资源记录数、排序授权资源记录数、排序附加资源记录数,并根据所有缓存的排序结果更新服务质量排序编号;
在请求结果数量未超过缓存的排序结果数量时,在缓存的排序结果中选取对应请求结果数量的最优排序结果封装在排序结果协议段中。
作为本发明上述DNS权威响应方法的进一步改进,所述排序结果通过定期向对应资源记录确定的对象进行服务质量检测确定。
作为本发明上述DNS权威响应方法的进一步改进,确定所述扩展标志失败时,直接通过所述第一响应报文的标准格式段反馈对应资源记录。
为了解决上述技术问题,本发明的一种DNS权威响应系统,包括:
接收单元,用于接收用于DNS解析的第一请求报文,确定所述第一请求报文的查询内容及根据扩展标志确定服务质量排序的请求;
发送单元,用于发送第一响应报文,其中,根据所述第一请求报文的查询内容在所述第一响应报文的标准格式段反馈对应资源记录,并根据服务质量排序的请求在所述第一响应报文的排序结果协议段反馈排序结果。
作为本发明上述DNS权威响应系统的进一步改进,所述排序结果协议段嵌入在DNS报文的附加资源记录区,通过扩展标志确定对应字段。
作为本发明上述DNS权威响应系统的进一步改进,所述排序结果协议段中包括:
排序应答资源记录数、排序授权资源记录数、排序附加资源记录数,用于标记请求或响应排序结果的数量;
服务质量排序编号,用于标记所述第一响应报文中应答资源记录区、授权资源记录区、附加资源记录区的资源记录优先级顺序。
作为本发明上述DNS权威响应系统的进一步改进,所述接收单元确定服务质量排序请求中的请求结果数量,所述发送单元在请求结果数量超过缓存的排序结果数量时,更新排序结果协议段中的排序应答资源记录数、排序授权资源记录数、排序附加资源记录数,并根据所有缓存的排序结果更新服务质量排序编号;
在请求结果数量未超过缓存的排序结果数量时,在缓存的排序结果中选取对应请求结果数量的最优排序结果封装在排序结果协议段中。
与现有技术相比,本发明在DNS报文标准格式的基础上进行扩展,向前兼容原有的DNS报文通信,在递归服务器与权威DNS服务器之间实现扩展需求的信息交互,从而支持响应若干个最优地址查询的请求。本发明可以保证DNS解析的服务质量,提高递归查询的性能。
结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
附图说明
为了更清楚地说明本发明实施方式或现有技术的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见,下面描述中的附图仅仅是本发明中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施方式中DNS递归架构示意图。
图2为本发明一实施方式中DNS权威响应方法流程图。
图3为本发明一实施方式中DNS报文格式扩展示意图。
图4为本发明一实施方式中负载均衡服务和权威服务模块示意图。
图5为本发明一实施方式中服务质量检测流程图。
图6为本发明一实施方式中DNS权威响应方式示意图。
图7为本发明一实施方式中DNS权威响应系统示意图。
图8为本发明一实施方式中DNS递归最优查询架构示意图。
图9为本发明一实施方式中DNS递归查询方式示意图。
具体实施方式
以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限定本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法或功能上的变化均包含在本发明的保护范围内。
需要说明的是,在不同的实施方式中,可能使用相同的标号或标记,但这些并不代表结构或功能上的绝对联系关系。并且,各实施方式中所提到的“第一”、“第二”也并不代表结构或功能上的绝对区分关系,这些仅仅是为了描述的方便。
对于用户而言,需要访问对应域名的网站时,首先需要根据对应域名查询出可以直接访问网站的IP地址,这个过程就是DNS解析。为了配合DNS解析,通常存在递归服务器和权威DNS服务器两种类型服务器,而权威DNS服务器自上而下进一步包括根域名服务器、顶级域名服务器、二级域名服务器等多级服务器。如图1所示,当用户发起DNS解析,比如向浏览器提供访问www.example.com网站的域名,一般会向本地域名服务器发送解析请求,如果本地域名服务器存在相应的解析结果,则直接反馈结果。如果本地域名服务器不存在相应的解析结果,则需要通过本地域名服务器的递归模块或特定的递归服务器向权威DNS服务器进行递归查询。具体先从根域名服务器开始查询.com的顶级域名服务器,获得后再向.com的顶级域名服务器查询域example.com的二级域名服务器,依此类推,可以通过域example.com的二级域名服务器查找到www.example.com相应的解析结果。在图1中,用户发起的是A记录查询,即最终获得的是访问对应网站服务器的IPv4地址。如上所述,通过根域名服务器可以查询到实现相应解析的顶级域名服务器,通过顶级域名服务器可以查询到实现相应解析的二级域名服务器,依此类推,任一级权威DNS服务器都存有相应的下一级权威DNS服务器,因此,每一级的权威DNS服务器反馈给递归服务器的下一级权威DNS服务器的服务质量,直接决定了递归的查询性能,特别是同时具有IPv4和IPv6两种服务地址集的情况。
如图2所示,本发明一实施方式中DNS权威响应方法流程图。对于各级权威DNS服务器而言,需要对递归服务器发起的请求做出响应,以告诉递归服务器对应访问的下级权威DNS服务器或者其他资源记录。为了让递归服务器具有高性能的访问能力,则需要反馈服务质量最优的访问地址,因此如何确定服务质量最优的访问地址,如何利用标准的DNS报文交互扩展信息成为本发明的重点。在本发明实施方式中,DNS权威响应方法,具体包括如下步骤:
步骤S1、接收用于DNS解析的第一请求报文,确定所述第一请求报文的查询内容及根据扩展标志确定服务质量排序的请求。作为任何一级权威DNS服务器,当接收到递归服务器的请求后,都需要相应地做出响应,而相互之间通过标准DNS报文进行交互。如图3所示,第一请求报文采用标准的DNS报文格式,这样才可以与现有的DNS设备兼容,标准的DNS报文格式分为头部和正文两部分,头部包括会话标识(2字节)、标志(2字节)、数量字段(查询问题数、应答资源记录数、授权资源记录数、附加资源记录数,8字节),正文包括查询问题区及资源记录区(应答资源记录区、授权资源记录区、附加资源记录区),通过查询问题区可以确定到相应的查询内容。为了扩展对服务质量排序的查询需求,在标准DNS报文中还携带相应的交互信息,如图3所示,在附加资源记录区嵌入了伪资源记录,它不是标准的DNS资源记录,其格式包括固定部分和可变部分,固定部分包括NAME字段(目前可以为空)、TYPE字段(伪资源记录的类型编号,可以分配为41,2字节)、CLASS字段(发送方的UDP有效负载大小,2字节)、TTL字段(扩展的DNS消息头部,对标准DNS报文头部的返回状态码标志扩展8比特,以表示更多的返回类型,还包括版本字段和Z标记,共4字节)、RDLEN字段(标记可变部分的长度,2字节)。可变部分则是RDATA字段(用于存放伪资源记录的具体内容),其内部的格式包括OPTION-CODE字段(扩展协议代码,用于区分不同的扩展协议,在本实施方式中可以采用18,共2字节)、OPTION-LENGTH字段(标记OPTION-DATA字段的长度,2字节)、OPTION-DATA字段(用于存放扩展查询交互的信息)。其中,OPTION-DATA中存放的信息是为了配合服务质量排序查询嵌入的具体交互内容,相应的格式包括OPTIMAL-ANSWER-COUNT字段(最优应答资源记录数或请求返回最优应答资源记录数,2字节)、OPTIMAL-AUTHORITY-COUNT字段(最优授权资源记录数或请求返回最优授权资源记录数,2字节)、OPTIMAL -ADDITIONAL-COUNT字段(最优附加资源记录数或请求返回最优附加资源记录数,2字节)及RRS-Number字段(用于存放应答资源记录、授权资源记录、附加资源记录编号根据服务质量的排序)。相应地,在第一请求报文中,当支持排序结果协议扩展时,可以通过OPTIMAL-ANSWER-COUNT字段、OPTIMAL-AUTHORITY-COUNT字段、OPTIMAL-ADDITIONAL- COUNT字段确定服务质量排序的请求,具体可以知道对应递归服务器请求的返回结果数量等。需要补充的是,在RRS-Number字段中,排序的应答资源记录、授权资源记录、附加资源记录是根据请求的数量决定的,具体可以通过OPTIMAL-ANSWER-COUNT字段、OPTIMAL-AUTHORITY-COUNT字段、OPTIMAL-ADDITIONAL-COUNT字段体现,相应存放的是应答资源记录、授权资源记录、附加资源记录对应的编号,由于理论上不会有哪个资源记录区的资源记录数量能够超过256个,所以针对RRS-Number中的每个编号仅只占用一个字节,因此相应的OPTION-DATA总长度就是6+N字节,其中N由OPTIMAL-ANSWER-COUNT字段、OPTIMAL-AUTHORITY- COUNT字段、OPTIMAL-ADDITIONAL-COUNT字段对应的数量总和确定,而通过对应编号的顺序就可以确定相应资源记录的优先级。
如上所述,通过在标准DNS报文的附加资源记录区中扩展排序结果协议段来嵌入扩展的请求及响应信息,由于并没有破坏原有的DNS报文结构,标准格式段仍然兼容保留,因此即使增加了扩展的消息传输给未支持的服务器时,后者依然可以依靠标准格式段的内容正确处理。进一步,对于UDP传输,当扩展信息导致DNS报文超过512字节时,可以结合标准DNS报文中的可截断标志,以重组大数据包,从而返回大包。对于嵌入到附加资源记录区的排序结果协议段而言,具体是通过一层一层的嵌套来实现的,每一层嵌套都具有定长部分和不定长部分,而在定长部分又定义了不定长部分的长度,从而可以实现相应的字段定位,从而完成相应的解码。具体地,排序结果协议段是以伪资源记录的形式嵌入在附加资源记录区内,可以通过TYPE字段等与附加资源记录区中的附加资源记录区别开,在伪资源记录中,可以在RDATA字段中嵌入多种扩展协议,而排序结果协议段就在其中,具体可以通过OPTION-CODE字段来判别,即通过扩展标志确定对应字段。
步骤S2、发送第一响应报文,其中,根据所述第一请求报文的查询内容在所述第一响应报文的标准格式段反馈对应资源记录,并根据服务质量排序的请求在所述第一响应报文的排序结果协议段反馈排序结果。如上所述,当接收到递归服务器的第一请求报文后,可以通过DNS报文的标准格式进行分析,确定查询的内容,进一步,还对第一请求报文中是否存在扩展标志进行判断以分析是否具有相应的排序结果协议段。在确定所述扩展标志失败时,说明发送第一请求报文的递归服务器并不支持排序结果协议扩展,因此即使返回排序结果协议段的内容,也会被对应的递归服务器忽略掉,因此直接通过所述第一响应报文的标准格式段反馈对应资源记录,即在应答资源记录区、授权资源记录区、附加资源记录区中写入相应的资源记录响应。
而对于支持排序结果协议扩展的情况,还可以从第一请求报文的附加资源记录区确定到排序结果协议段内容,从而获得递归服务器对应的服务质量排序的请求,即包括符合最优匹配策略的请求结果数量要求,具体通过OPTIMAL -ANSWER-COUNT字段、OPTIMAL-AUTHORITY-COUNT字段、OPTIMAL -ADDITIONAL-COUNT字段确定具体的请求结果数量,从而根据请求结果数量将排序结果反应在第一响应报文的排序结果协议段中,而对应的递归服务器收到相应的第一响应报文,就可以通过排序结果协议段获得相应的优先级信息。
如图3所示,在OPTION-DATA字段中具体有排序结果协议段的内容,其中分为定长的排序应答资源记录数、排序授权资源记录数、排序附加资源记录数字段,如上所述,占用6字节,在第一请求报文中用于定义请求结果数量,而第一响应报文中则反应返回排序结果的实际数量,同时还可以间接确定不定长服务质量排序编号字段的长度。作为不定长的服务质量排序编号字段,是第一响应报文中反馈排序结果优先级的关键信息段,可以通知对应递归服务器在第一响应报文中应答资源记录区、授权资源记录区、附加资源记录区的资源记录优先级顺序。具体地,可以通过获取服务质量排序编号的顺序确定相应的优先级,从而根据编号在应答资源记录区、授权资源记录区、附加资源记录区确定到对应的资源记录。
如图4所示,作为权威DNS服务器,采用了负载均衡服务和权威服务分置的设计架构,好处在于可以直接采用外挂程序的方式对原有的权威DNS服务器进行部署,不做较大的改动就可以支持排序结果协议扩展,具体还可以参照如下所述的实施例2。对于权威服务而言,存放着最原始的资源记录,可以支持标准的DNS查询,通过负载均衡服务的扩展,可以向负载均衡服务提供相应的资源记录缓存。为了支持如上所述的排序结果协议扩展,通过查询接口来实现与外部的递归服务器进行交互,而查询接口可以通过缓存获得组装第一响应报文的资源记录信息及优先级信息等。缓存则是存储各种类型的DNS信息,通过预取模块向权威服务获取可以对缓存中的信息进行补充和更新,而检测模块则是负载均衡服务中的另一个关键,根据缓存中的信息实现相应的服务质量检测,比如定期与指定的下级权威DNS服务器发起链路方面的检测等。
如图5所示,在负载均衡服务中,周期性发起重点域名对应结果集的服务质量检测,即根据对应资源记录确定的下级权威DNS服务器或者web服务器等实施服务质量检测,检测的周期还可以结合TTL(Time To Live,生存周期)值进行确定。在检测过程中,首先会去缓存中查找相应的资源记录,如果没有匹配到,则会通过预取模块向权威服务触发预取操作,将预取到的结果存储在缓存中。然后在匹配到缓存的前提下,发起服务质量检测,其方式支持TCP(Transmission Control Protocol,传输控制协议)、UDP(User DatagramProtocol,用户数据报协议)、HTTP(Hyper Text Transfer Protocol,超文本传输协议)、HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer,超文本传输安全协议)等,可以采用一个或多个的组合检测方式,不同的检测对象也可以采用不同的组合检测方式。通过检测来确定服务质量排序,即同一组的权威DNS服务器或web服务器之间的访问优先级顺序。将其检测结果存储在缓存中,以供查询时调用。具体地,对检测的结果中包括应答资源记录、授权资源记录、附加资源记录进行编号,根据检测的优先级顺序对应答资源记录、授权资源记录、附加资源记录进行排序,并按照应答资源记录、授权资源记录、附加资源记录对应的编号进行排序存储,这样在响应时,可以用于封装在相应的排序结果协议段中。
如图6所示,在具体的实施方式中,作为权威DNS服务器,当收到相应的DNS查询请求报文时,首先匹配缓存,当缓存中没有相应的资源记录时,说明负载均衡服务并没有从权威服务中预取相应的结果,此时相应的查询请求也没有相应的排序结果,只有转到权威服务,由权威服务执行常规的DNS报文响应。只有匹配到缓存的情况下,才对是否存在扩展标志进行确定,其目的就是对发起查询的递归服务器是否支持排序结果协议扩展进行分析,如果没有相应的扩展标志,则按照标准DNS协议进行响应。如果存在支持排序结果协议的扩展标志,则判断是否命中最优策略,如果没有命中,这里可以适用于没有及时做服务质量检测的情况等,直接采用标准DNS协议进行响应,优选地保留排序结果协议段内容格式。如果命中最优策略,则根据本地的最优资源记录进行响应处理,从缓存中获取到相应的编号排序等。在具体的实施方式中,存在请求返回的最优资源记录数与缓存中实际存储的最优资源记录数不匹配的情况,因此在请求结果数量超过缓存的排序结果数量时,更新排序结果协议段中的排序应答资源记录数、排序授权资源记录数、排序附加资源记录数,并根据所有缓存的排序结果更新服务质量排序编号,如上所述,在收到的请求报文中,排序结果协议段对应排序应答资源记录数、排序授权资源记录数、排序附加资源记录数字段中包括有相应的请求数量,由于这个请求数量并不能完全满足,因此在响应报文中会对这些字段的数量按照缓存的排序结果数量进行更新。在请求结果数量未超过缓存的排序结果数量时,在缓存的排序结果中选取对应请求结果数量的最优排序结果封装在排序结果协议段中,例如,当缓存中的排序结果数量有4个,而请求的结果数量只需要2个,则可以选取前2个最优的结果。这样当递归服务器收到相应的第一响应报文时,就可以按照如上所述,从附加资源记录区对应的排序结果协议段中获取服务质量排序编号,根据所述服务质量排序编号确定应答资源记录区、授权资源记录区、附加资源记录区中匹配结果的优先级。
如图7所示,本发明一实施方式中DNS权威响应系统示意图。DNS权威响应系统包括接收单元U1及发送单元U2,通过对最优服务质量的确定,并利用扩展的DNS报文与递归服务器进行交互,达到提高DNS解析性能的效果。为了进一步提高DNS解析性能,自根域名服务器开始的每一级权威DNS服务器都可以支持服务质量排序,就可以保证整个递归查询链上都可以选择最优的权威DNS服务器实现解析,实现最优的递归查询链。
接收单元U1,用于接收用于DNS解析的第一请求报文,确定所述第一请求报文的查询内容及根据扩展标志确定服务质量排序的请求。第一请求报文通常是递归服务器向权威DNS服务器发起查询的DNS报文,如图3所示,可以在查询问题区字段中确定到对应的查询内容,而在支持排序结果协议扩展的第一请求报文,还可以在排序结果协议段中确定服务质量排序的请求。排序结果协议段嵌入在DNS报文的附加资源记录区,通过扩展标志确定对应字段。具体地,排序结果协议段中包括:排序应答资源记录数、排序授权资源记录数、排序附加资源记录数,用于标记请求或响应排序结果的数量;服务质量排序编号,用于标记所述第一响应报文中应答资源记录区、授权资源记录区、附加资源记录区的资源记录优先级顺序。通过对第一请求报文进行分析,从而可以进一步执行响应操作。
发送单元U2,用于发送第一响应报文,其中,根据所述第一请求报文的查询内容在所述第一响应报文的标准格式段反馈对应资源记录,并根据服务质量排序的请求在所述第一响应报文的排序结果协议段反馈排序结果。参照DNS权威响应方法的具体实施方式,为了兼容排序结果协议扩展的DNS报文响应,需要对不论是否支持排序结果协议扩展的请求方都应该做出正确的响应。因此,对扩展标志进行判断,从而做出不同的响应操作。在确定所述扩展标志失败时,直接通过所述第一响应报文的标准格式段反馈对应资源记录。而在存在相应扩展标志的情况下,不仅根据所述第一请求报文的查询内容在所述第一响应报文的标准格式段反馈对应资源记录,还要根据服务质量排序的请求在所述第一响应报文的排序结果协议段反馈排序结果。进一步,确定服务质量排序请求中的请求结果数量,在请求结果数量超过缓存的排序结果数量时,更新排序结果协议段中的排序应答资源记录数、排序授权资源记录数、排序附加资源记录数,并根据所有缓存的排序结果更新服务质量排序编号;在请求结果数量未超过缓存的排序结果数量时,在缓存的排序结果中选取对应请求结果数量的最优排序结果封装在排序结果协议段中。在具体的实施方式中,第一响应报文中需要反馈的排序结果,是通过定期向对应资源记录确定的对象进行服务质量检测确定的。需要说明的是,DNS权威响应系统的具体实施方式还可以参照DNS权威响应方法的具体实施方式。
以下围绕实施例1、实施例2对DNS权威响应方法及系统做进一步地阐述。
实施例1:
如图8所示,在各级权威DNS服务器都支持服务质量排序的情况下,当用户向递归服务器发起www.example.com的解析请求时,如果递归服务器不存在相应的匹配时,就需要向根域名服务器、顶级域名服务器、二级域名服务器分别展开查询。在本实施方式中,为了让每级的权威DNS服务器返回的记录都是最佳的,需要定期向下级权威DNS服务器发起服务质量检测,从而不断更新服务质量最优的权威DNS服务器。递归服务器在选择根域名服务器开始递归查询时,优选地确定国内部署的根镜像服务器,或者雪人计划中国内维护的IPv6根域名服务器,由于对于国内来说这些服务器相对链路状态更好。相应地,向镜像根发起查询后,根域名服务器会根据定期的服务质量检测返回最优的顶级域名服务器,上述的交互过程仍采用标准的DNS报文,会相应地在附加资源记录区扩展排序结果协议段。递归服务器获得响应后,会通过响应报文确定最优的顶级域名服务器,向最优的顶级域名服务器发起查询,同理对应的顶级域名服务器也会根据服务质量检测的结果返回最优的二级域名服务器。依此类推,递归服务器向最优的二级域名服务器发起查询,二级域名服务器也会对域名对应的服务器进行服务质量检测,也会返回最优的最终解析结果,递归获得最优的最终解析结果后,将其返回给用户,进一步也会在递归服务器本地进行缓存以便下次查询使用。因为整个过程中访问的服务器都是最优的,因此可以在最短的时间内完成递归解析,同时,由于是将域名解析地址中服务质量最优的返回给用户,因此用户访问域名对应网络服务的体验也很顺畅。
如图9所示,对具有兼容特性的DNS解析,在对应权威DNS服务器响应相关请求返回了响应报文后,首先会根据响应报文来判断是否支持扩展的排序结果协议,如上所述,支持排序结果协议的会在报文附加资源记录区内嵌入相应的字段。如果支持根据排序结果协议段内容进行处理,具体仅将排序结果协议段中最优匹配结果进行缓存,而不支持的则根据标准格式段的内容进行处理,即将标准格式段中返回的所有匹配结果进行缓存。下一步对于从报文中提取的匹配结果处理比较相似,分别判断是否为最终的解析结果,如果是直接返回给用户,如果不是再确定匹配结果中的资源记录是不是CNAME记录(别名记录)。如果是CNAME记录,则针对别名重新发起查询请求,即从根域名服务器开始查询别名对应的资源记录。如果匹配结果中的资源记录不是CNAME记录,根据匹配结果中确定的NS记录及A记录、AAAA记录向下一级权威 DNS服务器发起请求,下一级权威DNS服务器也会返回相应的响应,从而循环进行。
实施例2:
通过在各级权威DNS服务器上部署负载均衡服务和权威服务两个模块,负载均衡服务用于对下级权威DNS服务器进行服务质量检测及针对递归查询的请求进行响应,权威服务作为传统权威DNS服务器的模块,用于存储、更新相应的资源记录。
比如主机1作为递归服务器,其递归程序使用53端口实现通信,主机2作为一级权威DNS 服务器。在主机2上部署负载均衡程序和权威程序,分别使用53和10053作为接收DNS查询的服务端口。主机3作为主机2的下级权威DNS服务器,相应的负载均衡程序和权威程序部署在主机3上,也分别使用53和10053作为接收DNS查询的服务端口。
主机1上的递归程序开启最优查询功能开关,并要求返回最优的2个匹配结果,假设主机2是链路最优的国内根镜像域名服务器,在递归程序中指定主机2的地址为根域名服务器的查询对象。主机2中的负载均衡程序中配置了下级权威DNS服务器的最优结果监控,假设主机3是其中之一。在主机2中记录了com的13条NS记录以及上述13条NS记录的13条A记录和13条AAAA记录。假设其中有1个NS记录对应的地址在国内,比如主机3,12个NS记录对应的地址在国外,那么此时国内用户在访问主机3的响应速度就会快于其他12个。
依此类推,顶级域名服务器的负载均衡程序中配置了example.com域的最优结果监控,顶级域名服务器管理的example.com域名的资源记录信息如下:记录了example.com的NS记录(ns1.example.com、ns2.example.com、ns3.example.com、ns4.example.com)以及NS记录的两条A记录(121.17.50.1和121.17.50.2)和两条AAAA记录(240e:eb:8001::8c2e:9024:6510和240e:eb:8001::8c2e:9024:6511),具体配置文件如下:
example.com IN NS ns1.example.com
example.com IN NS ns2.example.com
example.com IN NS ns3.example.com
example.com IN NS ns4.example.com
ns1.example.com IN A 121.17.50.1
ns2.example.com IN A 121.17.50.2
ns3.example.com IN AAAA 240e:eb:8001::8c2e:9024:6510
ns4.example.com IN AAAA 240e:eb:8001::8c2e:9024:6511
并且其中的两个IPv6的地址,240e:eb:8001::8c2e:9024:6510能正常提供服务,240e:eb:8001::8c2e:9024:6511无法正常连接,两个IPv4的地址,121. 17.50.1和121.17.50.2都能够提供正常的访问。并且以121.17.50.1的服务质量最优,240e:eb:8001::8c2e:9024:6510次之,121.17.50.2最差。
因此,在实际的解析过程中,当主机1中的递归程序收到了用户的一条www.example.com域名的查询请求,并且当前的递归程序是刚启动,没有任何的缓存信息时,会向主机2发起递归查询,与此同时还会再向主机2发送NS记录的请求。由于主机2的负载均衡程序中配置了com域的监控,并且要求返回2个匹配结果,故在负载均衡程序收到来自主机1发送过来的www.example.com的DNS解析请求后,会将com的2个服务质量最优的权威DNS服务器的资源记录返回给主机1,主机1在收到返回的响应报文后,会将报文中的扩展信息解析出来,对其中com的最优NS记录以及对应的2条A记录或者AAAA记录的地址放入缓存后再去进行下一级的递归查询。
相应地,主机1会从上述的两个地址中选择一个最优的地址发起访问,假设选择的就是主机3这台顶级域名服务器,会将www.example.com的查询请求发送到主机3的负载均衡程序监听的53端口,从而被主机3的负载均衡程序获取,主机3在获取到该请求后,会先去匹配缓存,再去根据请求报文中携带的扩展信息匹配最优响应策略。由于主机3的负载均衡程序事先已经配置了example.com域的最优结果监控策略,故是能成功命中的。命中策略后,负载均衡程序会根据策略的要求返回2个匹配结果,即将服务质量最优的121.17.50.1和服务质量次优的240e:eb:8001::8c2e:9024:6510添加进响应报文附加资源记录区中,相应的服务质量优先级顺序可以反应在附加资源记录区的排序结果协议段中,而对应的NS记录为:
example.com IN NS ns1.example.com
example.com IN NS ns3.example.com
添加进响应报文的授权资源记录区中返回给主机1。依此类推,后续继续进行下一级的查询过程,直到找到www.example.com对应的解析结果后返回给用户。由于返回的响应报文中具有优先级的信息,因此可以始终保证选择最优的权威DNS服务器实现查询,DNS解析性能大大提高。
结合本申请所公开的技术方案,可以直接体现为硬件、由控制单元执行的软件模块或二者组合,即一个或多个步骤和/或一个或多个步骤组合,既可以对应于计算机程序流程的各个软件模块,亦可以对应于各个硬件模块,例如ASIC(Application SpecificIntegrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或其他可编程逻辑器件、分立门或晶体逻辑器件、分立硬件组件或者其任意适当组合。为了描述的方便,描述上述装置时以功能分为各种模块分别描述,当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
通过以上实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请也可以借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分也可以以软件产品的形式体现出来。该软件可以由微控制单元执行,依赖于所需要的配置,也可以包括任何类型的一个或多个微控制单元,包括但不限于微控制器、DSP(Digital Signal Processor,数字信号控制单元)或其任意组合。该软件存储在存储器,例如,易失性存储器(例如随机读取存储器等)、非易失性存储器(例如只读存储器、闪存等)或其任意组合。
综上所述,本发明在DNS报文标准格式的基础上进行扩展,向前兼容原有的DNS报文通信,在递归服务器与权威DNS服务器之间实现扩展需求的信息交互,从而支持响应若干个最优地址查询的请求。本发明可以保证DNS解析的服务质量,提高递归查询的性能。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为了清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (5)
1.一种DNS权威响应方法,其特征在于,包括如下步骤:
接收用于DNS解析的第一请求报文,确定所述第一请求报文的查询内容及根据扩展标志确定服务质量排序的请求;
发送第一响应报文,其中,根据所述第一请求报文的查询内容在所述第一响应报文的标准格式段反馈对应资源记录,并根据服务质量排序的请求在所述第一响应报文的排序结果协议段反馈排序结果;
所述排序结果协议段嵌入在DNS报文的附加资源记录区,通过扩展标志确定对应字段;
确定服务质量排序请求中的请求结果数量,在请求结果数量超过缓存的排序结果数量时,更新排序结果协议段中的排序应答资源记录数、排序授权资源记录数、排序附加资源记录数,并根据所有缓存的排序结果更新服务质量排序编号;
在请求结果数量未超过缓存的排序结果数量时,在缓存的排序结果中选取对应请求结果数量的最优排序结果封装在排序结果协议段中;
确定所述扩展标志失败时,直接通过所述第一响应报文的标准格式段反馈对应资源记录。
2.根据权利要求1所述的DNS权威响应方法,其特征在于,所述排序结果协议段中包括:
排序应答资源记录数、排序授权资源记录数、排序附加资源记录数,用于标记请求或响应排序结果的数量;
服务质量排序编号,用于标记所述第一响应报文中应答资源记录区、授权资源记录区、附加资源记录区的资源记录优先级顺序。
3.根据权利要求1所述的DNS权威响应方法,其特征在于,所述排序结果通过定期向对应资源记录确定的对象进行服务质量检测确定。
4.一种DNS权威响应系统,其特征在于,包括:
接收单元,用于接收用于DNS解析的第一请求报文,确定所述第一请求报文的查询内容及根据扩展标志确定服务质量排序的请求;
发送单元,用于发送第一响应报文,其中,根据所述第一请求报文的查询内容在所述第一响应报文的标准格式段反馈对应资源记录,并根据服务质量排序的请求在所述第一响应报文的排序结果协议段反馈排序结果;
所述排序结果协议段嵌入在DNS报文的附加资源记录区,通过扩展标志确定对应字段;
所述接收单元确定服务质量排序请求中的请求结果数量,所述发送单元在请求结果数量超过缓存的排序结果数量时,更新排序结果协议段中的排序应答资源记录数、排序授权资源记录数、排序附加资源记录数,并根据所有缓存的排序结果更新服务质量排序编号;
在请求结果数量未超过缓存的排序结果数量时,在缓存的排序结果中选取对应请求结果数量的最优排序结果封装在排序结果协议段中;
确定所述扩展标志失败时,直接通过所述第一响应报文的标准格式段反馈对应资源记录。
5.根据权利要求4所述DNS权威响应系统,其特征在于,所述排序结果协议段中包括:
排序应答资源记录数、排序授权资源记录数、排序附加资源记录数,用于标记请求或响应排序结果的数量;
服务质量排序编号,用于标记所述第一响应报文中应答资源记录区、授权资源记录区、附加资源记录区的资源记录优先级顺序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010360855.0A CN111698341B (zh) | 2020-04-30 | 2020-04-30 | Dns权威响应方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010360855.0A CN111698341B (zh) | 2020-04-30 | 2020-04-30 | Dns权威响应方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111698341A CN111698341A (zh) | 2020-09-22 |
CN111698341B true CN111698341B (zh) | 2023-04-07 |
Family
ID=72476843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010360855.0A Active CN111698341B (zh) | 2020-04-30 | 2020-04-30 | Dns权威响应方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111698341B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711706B (zh) * | 2020-04-30 | 2023-04-07 | 广州根链国际网络研究院有限公司 | Dns递归请求方法及系统 |
CN113608877B (zh) * | 2021-08-13 | 2023-11-10 | 牙木科技股份有限公司 | 一种内容商ipv4和ipv6资源池负载均衡调度方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101087253A (zh) * | 2007-04-04 | 2007-12-12 | 华为技术有限公司 | 保存域名系统记录的方法、装置、域名解析方法及装置 |
US7761570B1 (en) * | 2003-06-26 | 2010-07-20 | Nominum, Inc. | Extensible domain name service |
CN106888277A (zh) * | 2017-03-07 | 2017-06-23 | 腾讯科技(深圳)有限公司 | 一种域名查询方法及装置 |
CN107592374A (zh) * | 2017-09-04 | 2018-01-16 | 北京新流万联网络技术有限公司 | Dns域名错误解析的dns纠正方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10554614B2 (en) * | 2016-06-23 | 2020-02-04 | Cisco Technology, Inc. | Utilizing service tagging for encrypted flow classification |
-
2020
- 2020-04-30 CN CN202010360855.0A patent/CN111698341B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7761570B1 (en) * | 2003-06-26 | 2010-07-20 | Nominum, Inc. | Extensible domain name service |
CN101087253A (zh) * | 2007-04-04 | 2007-12-12 | 华为技术有限公司 | 保存域名系统记录的方法、装置、域名解析方法及装置 |
CN106888277A (zh) * | 2017-03-07 | 2017-06-23 | 腾讯科技(深圳)有限公司 | 一种域名查询方法及装置 |
CN107592374A (zh) * | 2017-09-04 | 2018-01-16 | 北京新流万联网络技术有限公司 | Dns域名错误解析的dns纠正方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111698341A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11606388B2 (en) | Method for minimizing the risk and exposure duration of improper or hijacked DNS records | |
US9866523B2 (en) | Method and system for increasing speed of domain name system resolution within a computing device | |
US7558880B2 (en) | Dynamic DNS registration method, domain name solution method, DNS proxy server, and address translation device | |
JP5404766B2 (ja) | ルーティングをリクエストするための方法とシステム | |
US8503433B2 (en) | Routing methods and systems using ENUM servers | |
CN1143488C (zh) | 在基于ip的基站系统中自动配置新节点的方法和系统 | |
US20120084382A1 (en) | On-the-fly reverse mapping | |
US20130103848A1 (en) | Facilitating content accessibility via different communication formats | |
US20060095585A1 (en) | System and method for establishing communication between a client and a server in a heterogenous ip network | |
CN111698341B (zh) | Dns权威响应方法及系统 | |
US20030187882A1 (en) | Identifier query method, communication terminal, and network system | |
JP2011527043A (ja) | ネットワークコンピューティングコンポーネントを使用するルーティングリクエスト | |
US20080162724A1 (en) | Direct domain name service query | |
US11425086B2 (en) | Using DNS to communicate MC-TCP capability of server devices | |
JP2014501958A (ja) | ネットワークにおけるコンテンツにアクセスする方法および対応するシステム | |
CN111711706B (zh) | Dns递归请求方法及系统 | |
WO2017075869A1 (zh) | 一种本地dns根服务器的配置方法和服务方法 | |
WO2019201072A1 (zh) | Cdn业务调度处理方法及cdn服务器 | |
CN111988441B (zh) | 基于IPv6的组网接入方法及系统 | |
CN112333273B (zh) | 一种访问请求的转发方法及系统 | |
CN107222588A (zh) | 一种提高dns可用性的方法及系统 | |
CN107040616B (zh) | Tcp/dn/ip网络兼容tcp/ip网络的转换方法及报文收发方法 | |
Shue et al. | An Internet without the Internet protocol | |
CN111970179B (zh) | 基于IPv6的组网接入方法及系统 | |
Dostálek | DNS in Action A detailed and practical guide to DNS implementation, configuration, and administration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |