域名解析耗时就是将域名解析获得对应IP地址,并返回给客户端这个过程所消耗的时间。
当我们对某个域名发起访问,并不是直接就能对响应站点发起访问的,需要借助DNS获取域名与IP地址对应关系,在取得解析记录之后,才能发起访问。
解析过程的具体流程大致如下:
(1)客户端对某个域名发起访问。
(2)浏览器会首先对浏览器、系统缓存以及本机HOSTS文件等本地信息进行查询,如果有结果直接告知客户端,解析过程结束。
(3)如果本地没有结果,浏览器就会请求递归服务器,递归服务器有结果就会告知客户端,解析过程借宿。
(4)如果递归服务器没有结果,就会委托递归服务器进行全球递归查询,首先请求根域名。
(5)根域名告知递归服务器域名所在的顶级域名服务器,递归服务器对顶级服务器发起请求。
(6)顶级服务器告知递归服务器域名所在的权威域名服务器,权威域名服务器将解析记录告知递归服务器。
(7)递归服务器将结果再告知客户端,解析过程结束。
流程图如下所示:
由此可见,影响域名解析耗时的因素有以下几点:
(1)本地缓存
如果本地缓存中有域名和IP地址的对应关系,就会直接在本机获取结果,无需进行全球递归查询,这样解析用时就大大缩短,但缓存对于解析安全有较大影响;
(2)递归服务器
一般而言,我们无法决定用户使用何种DNS Server,大部分初级用户使用的是本地ISP自动获取的DNS Server,部分用户则使用第三方DNS Server比如Open DNS或者Google DNS。
不过你可以建议你的用户使用Google DNS (8888 和8844),该DNS Server会比电信或网通自动获取的DNS Server快许多。
(3)权威域名服务器
权威域名服务器时影响域名解析耗时的关键,一般的解析服务器都是单节点单线路,如果域名距离较远,可能就会因为跨域跨网造成较大的延迟,如果域名的访问量大,还会造成线路的拥堵。所以为了减少解析时间,建议选择性能较好,多节点,多线路的权威域名服务器。
DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。
DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。
域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。
扩展资料:
DNS服务器类型:
1、主域名服务器
负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。
2、辅助域名服务器
当主域名服务器出现故障、关闭或负载过重时,辅助域名服务器作为主域名服务器的备份提供域名解析服务。辅助域名服务器中的区域文件中的数据是从另外的一台主域名服务器中复制过来的,是不可以修改的。
3、缓存域名服务器
从某个远程服务器取得每次域名服务器的查询回答,一旦取得一个答案就将它放在高速缓存中,以后查询相同的信息就用高速缓存中的数据回答,缓存域名服务器不是权威的域名服务器,因为它提供的信息都是间接信息。
4、转发域名服务器
负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。
参考资料来源:百度百科-域名服务器
多数人认知的dns解析次序:浏览器缓存-> *** 作系统dns cache ->hosts文件->非权威域名服务器->根域名服务器->顶级域名服务器->二级域名服务器->权威域名服务器。
实际次序:
浏览器缓存-> *** 作系统dns cache包含hosts ->->非权威域名服务器->根域名服务器->顶级域名服务器->二级域名服务器->权威域名服务器。
主要区别在hosts,Win10会在启动时加载hosts中的条目到 *** 作系统dns缓存,win10还会监视hosts文件的变化,并动态更新,如新加或删除条目,都会更新 *** 作系统dns缓存。如果尝试解析一个未知的域名,win10并不会访问hosts,观察依据是hosts的访问时间不会更新。
Windows hosts文件路径: C:\WINDOWS\system32\drivers\etc\hosts
chrome://net-internals/#dns
ipconfig /displaydns 显示已有缓存
ipconfig /displaydns > C:\Users\SDWQ\Desktop\dnstxt 导出到再查看
ipconfig /flushdns 强制更新缓存
全球共有13台根域名服务器。这13台根域名服务器中名字分别为“A”至“M”,其中10台设置在美国,另外各有一台设置于英国、瑞典和日本。
根服务器主要用来管理互联网的主目录,全世界只有13台。1个为 根服务器架构主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理。
功用:在根域名服务器中虽然没有每个域名的具体信息,但储存了负责每个域(如COM、NET、ORG等)的解析的域名服务器的地址信息,如同通过北京电信你问不到广州市某单位的电话号码,但是北京电信可以告诉你去查020114。世界上所有互联网访问者的浏览器的将域名转化为IP地址的请求(浏览器必须知道数字化的IP地址才能访问网站)理论上都要经过根服务器的指引后去该域名的权威域名服务器(authoritative name server, 如haiercom的权威域名服务器是dns1hichina com)上得到对应的IP地址,当然现实中提供接入服务的ISP的缓存域名服务器上可能已经有了这个对应关系(域名到IP地址)的缓存。据说,在主根服务器系统上还有一个更高级的、隐藏着的母服务器,当然也在美国,而全世界所有的顶级域名都是由这台母服务器来确定的。
我国在国内建立新的根服务器是有必要的,正所谓有备无患。据有关报道称,我国已经掌握了下一代互联网IPv6域名根服务器技术,不管困难多大,我们都必须建立IPv6域名根服务器,中国要从国家安全战略高度上建设下一代互联网,目前至少要保证国内的站点由国内的域名服务器来解析。这样,即使在最糟糕的情况下,美国终止对中国域名的解析时,虽然国外的用户无法再连接到我国的网络,但是我国可以自己解决中国境内的域名解析问题。
一、IPv6优势简介
域名系统(Domain Name System,简称DNS)的主要功能是通过域名和IP地址之间的相互对应关系来精确定位网络资源,即根据域名查询IP地址,反之亦然。DNS是当今Internet的基础架构,众多的网络服务都是建立在DNS体系基础之上的。业界权威人士说:“只有理解了DNS,才真正懂得了Internet。” IPv6协议是用来取代IPv4的互联网协议。相比IPv4,IPv6具有很多优点。首先,它提供了巨大的地址空间;其次,IPv6的地址结构和地址分配采用严格的层次结构,以便于进行地址聚合,从而使路由器中路由表的规模大幅度“瘦身”;再次,IPv6协议支持网络节点地址的自动配置,可以实现即插即用功能。此外,IPv6协议对主机移动性有较好的支持,适合于越来越多的互联网移动应用;IPv6协议在安全性、对多媒体流的支持性等方面都具有超过IPv4的优势。
IPv6网络中的DNS非常重要,一些IPv6的新特性和DNS的支持密不可分。本文从IPv6 DNS的体系结构、IPv6的地址解析、IPv6地址自动配置和即插即用、IPv4到IPv6的过渡等几方面对IPv6时代的DNS进行了分析和研究。
二、IPv6域名系统的体系结构
IPv6网络中的DNS与IPv4的DNS在体系结构上是一致的,都采用树型结构的域名空间。IPv4协议与IPv6协议的不同并不意味着需要单独应用IPv4 DNS体系和IPv6 DNS体系,相反,它们的DNS体系和域名空间必须保持一致,即IPv4和IPv6共同拥有统一的域名空间。在IPv4到IPv6的过渡阶段,域名可以同时对应于多个IPv4和IPv6的地址。随着IPv6网络的普及,IPv6地址将逐渐取代IPv4地址。
的最上方是DNS树形结构中惟一的根(Root),用点号“”表示。根的下一级称为域(Top Level Domain, 简称TLD),也称一级域。域的下级就是二级域(Second Level Domain, 简称SLD),二级域的下级就是三级域,依此类推。每个域都是其上级域的子域(Sub Domain),比如 “netcn”是“cn”的子域,而“cnnicnetcn”既是“netcn”的子域,也是“cn”的子域。
DNS树上的每一个节点都有一个标识(Label),根节点的标识是“空”(即长度为0),其他节点的标识长度在1~63字节之间。一个节点的域名是由从这个节点到根节点的路径上的所有标识从左到右顺序排列组成的,标识之间用“”分隔。
整个DNS域名空间划分成若干个区(Zone),见上图中的椭圆标记。每个区都有域名服务器(包括主服务器和辅服务器),以资源记录(Resource Record)的形式来存储域名信息。资源记录包括了主机名(域名)和IP地址的对应以及子域服务器的授权等多种类型。 用户在使用DNS服务时,不必细致地了解DNS域名空间的树型结构体系,只须在设置网络时指定一个DNS服务器或使用动态主机配置(DHCP)等相关技术。用户的应用程序可以通过 *** 作系统内嵌的解析器(Resolver)访问DNS系统,查询域名相关的网络资源信息。
三. IPv6地址及其表示方法
IPv6地址长度为128比特,地址按照其传输类型分为3种:
(1)单播地址(Unicast Address):用来标识单一网络接口。目标地址是单播地址的数据包将发送给以这个地址为标识的网络接口。
(2)任播地址(Anycast Address):用来标识一组网络接口(通常属于不同的节点)。目标地址是任播地址的数据包发送给其中路由意义上最近的一个网络接口的地址。
(3)多播地址(Multicast Address):用来标识一组网络接口(通常属于不同的节点)。发送到多播地址的数据包将发送给本组中所有的网络接口。在IPv6中没有广播地址(Broadcast Address),用多播地址取代。 其中,单播地址按照地址的传输范围分为可聚合全局单播地址(Aggregatable Global Unicast Addresses)、NSAP地址、IPX层次地址、站点本地地址(Site-Local Address)和链路本地地址(link-Local Address)等。所有的网络接口至少要有一个链路本地地址,同时还可以拥有多个地址(包括单播地址,任播地址和多播地址)。
IPv6的地址在表示和书写时,用冒号将128比特分割成8个16比特的部分,每个部分包括4位的16进制数字。例如:
1080:0000:0000:0000:0008:0800:200C:123A
在每个4位一组的十六进制数中,如其高位为0,则可省略。例如将0800写成800,0008写成8,0000写成0。于是1080:0000:0000:0000:0008:0800:200C:123A可缩写成1080:0:0:0:8:800:200C:123A。为了进一步简化,规范中导入了重叠冒号的规则,即用重叠冒号置换地址中的连续16比特的0。例如,将上例中的连续3个0置换后,可以表示成如下的缩写形式: 1080::8:800:200C:123A。重叠冒号的规则在一个地址中只能使用一次,例如:地址0:0:0:BA98:7654:0:0:0可缩写成::BA98:7654:0:0:0或0:0:0:BA98:7654::,但不能记成::BA98:7654::。
另外,可以用“IPv6地址/前缀长度”来表示地址前缀。这个表示方法类似于CIDR中IPv4的地址前缀表示法。这里IPv6地址是上述任一种表示法所表示的IPv6地址,前缀长度是一个十进制值,指定该地址中最左边的用于组成前缀的比特数。例如,对32比特的前缀10800000(十六进制),可以如下表示:
1080::8:800:200C:123A/32
1080::/32
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)