域名解析耗时就是将域名解析获得对应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 (8.8.8.8 和8.8.4.4),该DNS Server会比电信或网通自动获取的DNS Server快许多。
(3)权威域名服务器
权威域名服务器时影响域名解析耗时的关键,一般的解析服务器都是单节点单线路,如果域名距离较远,可能就会因为跨域跨网造成较大的延迟,如果域名的访问量大,还会造成线路的拥堵。所以为了减少解析时间,建议选择性能较好,多节点,多线路的权威域名服务器。
DNS(Domain Name System),即域名系统,是互联网中最基础的一项服务,主要提供域名和 IP 地址之间映射关系的查询服务。
DNS 不仅方便了人们访问不同的互联网服务,更为很多应用提供了,动态服务发现和全局负载均衡(Global Server Load Balance,GSLB)的机制。这样,DNS 就可以选择离用户最近的 IP 来提供服务。即使后端服务的 IP 地址发生变化,用户依然可以用相同域名来访问。
我们以极客时间的网站 time.geekbang.org 为例,来理解域名的含义。
这个字符串中,最后面的 org 是顶级域名,中间的 geekbang 是二级域名,而最左边的 time 则是三级域名。
如下图所示,注意点(.)是所有域名的根,也就是说所有域名都以点作为后缀,也可以理解为,在域名解析的过程中,所有域名都以点结束。
# host www.baidu.com
# nslookup www.baidu.com
# nslookup www.baidu.com 8.8.8.8
# dig www.baidu.com
# nslookup -debug time.geekbang.org
# time nslookup time.geekbang.org
# dig +trace +nodnssec time.geekbang.org
Why option rotate in resolv.conf picks up second nameserver as first every time?
https://access.redhat.com/solutions/1426263
nslookup-OK-but-ping-fail问题处理
https://plantegg.github.io/2019/01/09/nslookup-OK-but-ping-fail
time命令:测量命令的执行时间或者系统资源的使用情况
http://m.biancheng.net/linux/time.html
程序员如何学习和构建网络知识体系
https://plantegg.github.io/2020/05/24/%E7%A8%8B%E5%BA%8F%E5%91%98%E5%A6%82%E4%BD%95%E5%AD%A6%E4%B9%A0%E5%92%8C%E6%9E%84%E5%BB%BA%E7%BD%91%E7%BB%9C%E7%9F%A5%E8%AF%86%E4%BD%93%E7%B3%BB
家里是100M宽带,为什么打开网页时解析主机很慢?
我们需要先计算出100m宽带的速度。100m宽带的理论速度为12.5m/s,即每秒下载和/或传输速度为12.5m。有人可能会问,这个理论传输速度是如何得出的?事实上,电信部门用“位”来定义网络速度,但计算机在传输中显示的是“字节”,1字节等于8位。因此,最终转换为100/8=12.5,因此100m宽带的速度约为12.5。
独家或在家共享100m是有区别的!许多运营商都在提倡千兆光纤家庭!事实上,它们都是骗局,因为它们是共享的!如果有1000户家庭,平均为100万户。
运营商线路或网络设备(如交换机)的老化也会导致网络速度减慢!如果是一个老社区,情况更明显!从社区节点到你家只需要一条100米长的电缆!访问的路径越长,节点越多,遇到的老化情况越多,速度越慢!
检查DNS解析:在DOS窗口中,通过NSLOOKUP命令检查DNS服务器解析是否正常;如果DNS服务器无法正常解析模型,可以更换公共运营商的DNS服务器;例如,可以使用114.114.114.114、223.5.5.5等。内容提供商方面的问题、被访问的内容服务提供商服务器的性能不足、中继访问的带宽不足等;将导致访问延迟和其他问题。我们深切感受到的是各种购物节和服务商的反应。
首先,我首先想到的是DNS服务器的问题,因为DNS服务器的主要功能是解析,将我们网站的域名解析为IP地址进行访问,所以打开网页解析速度太慢的主要原因是您使用的DNS存在问题。
通常当我们拨号上网时,运营商会自动将DNS分配给我们的运营商,不同省份的运营商分配的DNS不同。您可以使用第三方DNS替换DNS地址,以测试页面解析速度慢的问题是否已得到改善。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)