一种基于应用层DNS消息分割的DNS包扩展方法技术

技术编号:12833690 阅读:116 留言:0更新日期:2016-02-07 19:15
本发明专利技术公开了属于互联网通信技术领域的一种基于应用层DNS消息分割的DNS包扩展方法。该方法包括:需要说明DNS消息分割的标准、DNS消息分片信息的表示、应用层DNS消息分割功能的标识和识别、分片重装的工作原理,采用在应用层进行DNS消息的分割和重组,能够突破DNS响应消息512字节的限制,并通过UDP协议传输,保持了DNS协议的灵活性同时实现了DNS消息的可扩展性;本方法不存在因IP分片在中间件中被丢弃导致的在接收端IP分片重新组装失败的问题;不需要建立TCP连接,因而能够降低响应时间。服务器端不需要维护TCP连接的状态信息同时,相对基于TCP的方案有优势。

【技术实现步骤摘要】

本专利技术属于互联网通信
,特别涉及一种基于应用层DNS消息分割的DNS包扩展方法
技术介绍
DNS提供了互联网上的一个重要的服务,其本质是建立了人的名字世界和底层的二进制协议地址世界的桥梁,每次,当我们通过互联网开始任何的事务之前,一个DNS的查询过程首先要完成;所以一个轻量级的、快速响应的DNS协议是非常必要的,这样DNS查询过程可以对用户而言透明地完成,DNS解析框架使用UDP作为传输协议,并通过地理分布的具有缓存功能的递归解析器来实现。同时在互联网发展过程中,传统的DNS协议也凸显了一些问题,由于IPv4协议对包尺寸的限制,DNS协议使用UDP传输DNS消息的最大包尺寸是固定的。在RFC 1035中规定,DNS消息的UDP包的大小不应超过512字节,这个强制性的限制随着DNS协议的发展已经不能满足新的需求;512字节的限制⑴限定了 DNS系统根服务器的数量,⑵限制了基于IPv6的DNS服务器的部署,(3)同时也阻碍了一些新的扩展协议的部署JnDNSSEC,由于DNSSEC携带大量的密钥和签名等信息(如DNSKEY,RRSIG, NSEC资源记录等),响应包的大小很容易超过512字节的限制。传统的DNS协议将UDP支持的DNS作为必选,将TCP支持的DNS作为候选。在DNS协议的发展过程中,DNS包扩展问题已经被仔细考虑过了,EDNS0作为DNS协议的一个扩展版本很早就被提出。EDNS0给出了而一个向后兼容的机制,其定义了一些新的扩展字段来支持DNS协议的进一步演进,其中说明了对包尺寸的扩大。在支持EDNS0的扩展消息中,在Addit1nal Data区中定义了一个所谓的OPT伪资源记录。支持EDNS0协议的发送消息和接收消息都要包括一个OPT资源记录。在OPT资源记录的CLASS域中指定了解析器请求和接收的UDP响应消息的长度,其范围可以在512-4096字节。当一个支持了 EDNS0的服务器收到这样的请求消息后,如果响应消息能够包括在解析器定义的字节长度范围之内,服务器会返回一个未被截断的足够容纳各类查询信息的响应消息。EDNS0能够容纳的最大包长为4096字节,基本能够满足各方面的需求,如支持DNSSEC的DNS响应消息的尺寸。结果DNS系统更多的依赖EDNS0协议来解决包扩展的问题,降低了因为512字节限制而对TCP的依赖。EDNS0提出了一个理想的机制解决包尺寸的扩展,同时保持了传统DNS基于UDP的方案的灵活性和高效性。但是情况并非如此。当一个服务器返回了一个支持m)Nso的响应消息超过了路径中的MTU最大包尺寸限制,中间设备将会对包分割成多个分片传输。网络中的防火墙或其它一些中间件,只允许一个响应包的第一个分片通过,而丢弃剩余的分片。特别是随着DNSSEC的部署超过2000字节的包非常的普遍。结果解析器不能够将所有的分片重新组装成完整的响应消息。为避免响应包被分片,可以同服务器协商一个尽可能小的包尺寸。但这时就有可能导致包尺寸仍不能满足响应包的需求而被截断。除了 UDP,TCP协议也被用于传输DNS消息。在DNS协议中规定DNS解析器和服务器“必须”支持UDP,“应该”支持TCP,用于发送非AXFR的查询请求。这意味着许多DNS实现版本将UDP作为一个必选的解决方案,而将TCP作为一个候选的解决方案,其只有在响应消息被截断或AXFR传输时被启用。实际上,很多存在的解析器并没有真正的支持TCP。但是,考虑到UDP内在的各种缺陷,一些研究者强调应该在DNS协议实现版本中更广泛的支持TCP,进一步全面的支持TCP。甚至,一些研究者将TCP作为DNS首选的传输协议。分别将DNS对TCP的利用的两种方式分别称为TCP候选方式和TCP首选方式。TCP候选方案首选UDP确保DNS协议的简单性和灵活性,同时利用TCP作为一种候补方案。当发生由于分割带来的重新组装失败或名字服务器的响应包截断等问题带来的基于UDP的DNS请求失败,TCP提供了最后的保障。除了包尺寸的限制,UDP弱的隐私保护、易受DoS攻击等问题使得一些研究者试图抛弃UDP协议,而直接使用TCP传输DNS消息,并通过对TCP协议的一些优化方案改善TCP的性能。但是,总的来说,由于TCP协议更长的延时和更大的资源消耗,人们对采用TCP进行DNS消息传输的方式仍然采取非常谨慎和保守的态度。传统的DNS协议以及一些扩展和改善方案,都不能很好的解决DNS协议的可扩展性问题。为实现DNS根名字服务器数量的扩展,IPv6根节点的部署、DNSSEC协议的支持,以及未来不断的出现的一些基于DNS的新特性,同时保证DNS解析协议的简单性、灵活性和高效性,提出了 DNS名字服务器在应用层将DNS消息进行分割成中间设备不会进一步分割的片段,通过传统的UDP消息传输DNS的分片,在DNS的解析器将经过分片的DNS消息进行重组,形成完整的DNS响应消息。
技术实现思路
本专利技术的目的是提出一种基于应用层DNS消息分割的DNS包扩展方法,其特征在于,基于应用层DNS消息分割的方案能够突破DNS响应消息512字节的限制,采用在应用层进行DNS消息的分割和重组,并通过UDP协议传输,保持了 DNS协议的灵活性同时实现了DNS消息的可扩展性;该方法包括:需要说明DNS消息分割的标准、DNS消息分片信息的表示、应用层DNS消息分割功能的标识和识别、分片重装的工作原理;所述说明DNS消息分割的标准,传统的DNS协议已经没有足够的字段进行协议扩展,而EDNS0协议是一个向后兼容并支持DNS进一步扩展的协议。所以扩展方案是以H)NS0为基础,并在H)NS0之上增加一些新的字段来实现;所述DNS消息分片信息的表示,首先在ENDS0的OPT伪资源记录的Z域中定义一个AF(Applicat1n Fragmentat1n,应用分段)位来标识当前的DNS逻辑实体对应用层DNS消息分割的支持,由于在Z字段中第一个位已经被DNSSEC所使用,所以将第二个位定义为AF位;所述应用层DNS消息分割功能的标识和识别,在OPT的RDATA字段扩展一个新的FRAGMENT选项字段来标识每个分片的信息,考虑到UDP不存在ACK机制,一个8bit位的分片数量是比较适中的;选项的数据部分包含两个字节,第一个字节定义当前的DNS消息包含几个分片,第二个字节表示当前分片的序号;基于应用层DNS消息分割的工作流程,需要在DNS标准协议中扩展的新的字段,EDNS0规定最大的DNS消息的尺寸是4096字节,这个长度基本能够满足当前的各方面需求,如果像TXT资源记录那样不能容纳在一个最大为4096的DNS包中,可以切换到基于TCP的DNS传输方案。所述应用层DNS消息分割的工作流程,当服务器端接受到请求消息后,确认DNS请求消息的AF位置为1,同时认为响应消息足够大,将进行分片;如果当前的服务器不支持应用层DNS消息分割方案,将忽略AF位,将TC(转换)位置为1,按照协议中的流程返回响应消息;如果当前的服务器支持应用层DNS消息分割的方案,将会对响应消息进行分片;分片的标准是建议每个分片尽量不超过512字节,并按照资源记录的边界进行分割,且每个分片的大小不一定必须一致,但同时分片的大小不能太本文档来自技高网
...
一种基于应用层DNS消息分割的DNS包扩展方法

【技术保护点】
一种基于应用层DNS消息分割的DNS包扩展方法,其特征在于,基于应用层DNS消息分割的方案能够突破DNS响应消息512字节的限制,采用在应用层进行DNS消息的分割和重组,并通过UDP协议传输,保持了DNS协议的灵活性同时实现了DNS消息的可扩展性;该方法包括:需要说明DNS消息分割的标准、DNS消息分片信息的表示、应用层DNS消息分割功能的标识和识别、分片重装的工作原理;所述说明DNS消息分割的标准,传统的DNS协议已经没有足够的字段进行协议扩展,而EDNS0协议是一个向后兼容并支持DNS进一步扩展的协议,所以扩展方案是以EDNS0为基础,并在EDNS0之上增加一些新的字段来实现;所述DNS消息分片信息的表示,首先在ENDS0的OPT伪资源记录的Z域中定义一个AF位来标识当前的DNS逻辑实体对应用层DNS消息分割的支持,由于在Z字段中第一个位已经被DNSSEC所使用,所以将第二个位定义为AF位;所述应用层DNS消息分割功能的标识和识别,在OPT的RDATA字段扩展一个新的FRAGMENT选项字段来标识每个分片的信息,考虑到UDP不存在ACK机制,一个8bit位的分片数量是比较适中的;选项的数据部分包含两个字节,第一个字节定义当前的DNS消息包含几个分片,第二个字节表示当前分片的序号;基于应用层DNS消息分割的工作流程,需要在DNS标准协议中扩展的新的字段,EDNS0规定最大的DNS消息的尺寸是4096字节,这个长度基本能够满足当前的各方面需求,如果像TXT资源记录那样不能容纳在一个最大为4096的DNS包中,可以切换到基于TCP的DNS传输方案。...

【技术特征摘要】

【专利技术属性】
技术研发人员:宋林健刘东李震李凤民潘居臣宋松余冬万润夏龚道彪
申请(专利权)人:北京天地互连信息技术有限公司中国石油天然气股份有限公司华北油田分公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1