如何缩短域名的 DNS 解析时间

如何缩短域名的 DNS 解析时间,第1张

1、增加域名缓存命中率

如果访问者访问网站时,域名在本机戒当地的 DNS Server 缓存中,则可以大大加快该域名的解析时间。

以下方法可以增加域名在 DNS Server 中的缓存命中率:

 提高网站的访问量。

网站的访问量越高,意味着网站域名被请求解析的次数越多,则该域名被 DNS Server 缓存的几率就越大。

 增加域名 A 记录和 CName 的 TTL (Time-To-Live) 值。

TTL 就是一条域名解析记录在 DNS Server 中的存留时间和过期时间。增大 TTL 值可以让 DNS Server 缓存该域名更长时间,增加

缓存的命中率。TTL 一般默认为一小时,可以根据实际情况设为一天甚至一周以上。

当然,如果你域名的 IP 经常变化,则 TTL 丌应过大,否则各地的 DNS Server 会暂时无法获得新的正确的 IP 地址。事实上我们可以选择两个网站让他们采用相同服务器、相同 IP 、相同网页内容,不同的 TTL 值(可以一个设为1小时,一个设为一周)在同一天内的监控结果。

通过观察可以注意到,TTL值设为一周的域名 DNS 解析所花的时间可以忽略丌计,这就是域名 A 记录 TTL 时间长,增加了缓存的命中率带来的加速效果。

2、选择更快的本地 DNS Server

一般而言,我们无法决定用户使用何种 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、选择更快的域名 Name Server

在域名的 whois 信息中,我们可以看到域名的 Name Server,丌同的 Name Server 有丌同的域名管理面板用来管理 A 记录和 CName等信息。

由于一般的站长无法在全世界建立 Name Server 的镜像,所以我们只能选择离目标访客物理距离近的 Name Server 以加快访客的解析速度。

比如你的网站主要浏览量来自中国,则你的 Name Server 最好也在中国境内,最好是电信和网通双线的。如果你的网站主要浏览量

作为一个站长,一定希望自己网站的打开速度足够快,以免访问者因为失去耐心而关闭浏览器。 本文将介绍如何缩短网站域名的DNS 解析时间,来让访问者更快的打开你的网站。 一、域名的DNS 解析过程 将一个域名解析成IP 地址,主要由以下几个步骤: 1. 将域名解析请求发送给本地的域名服务器 (DNS Server) 。 2. 域名服务器 (DNS Server) 收到请求后,先查询本地缓存,如果有该域名的纪录项,则直接返回目标IP 地址。 3. 如果本地缓存中没有,则直接发送请求给根域名服务器 (Root Name Server) 。 根域名服务器 (Root Name Server) 返回给本地域名服务器 (DNS Server) 一个所查询域的主域名服务器 (gTLD Server) 地址。 4. 本地域名服务器 (DNS Server) 再向上一步返回的 TLD 服务器发送请求。 接受请求的 TLD 服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器 (Name Server) 的地址。 5. 正常情况下 Name Server 会有相应的记录,并返回给 DNS Server 。 6. 本地 DNS Server 根据域名的TTL 值,把返回的结果保存到缓存,同时将解析结果返回给客户机。 二、缩短域名的DNS 解析时间 知道了域名的DNS 解析过程,就可以采取相应的措施,缩短解析时间,我们所能影响和选择的方面主要包括缓存、本地DNS Server 和域名的Name Server。 1、增加域名的缓存命中率 如果访问者访问网站时,域名在本机或当地的DNS Server 缓存中,则可以大大加快该域名的解析时间。 以下方法可以增加域名在DNS Server 中的缓存命中率: 提高网站的访问量。 网站的访问量越高,意味着网站域名被请求解析的次数越多,则该域名被 DNS Server 缓存的几率就越大。 增加域名A 记录和CName 的TTL (Time-To-Live) 值。 TTL 就是一条域名解析记录在DNS Server 中的存留时间和过期时间。增大TTL 值可以让DNS Server 缓存该域名更长时间,增加缓存的命中率。 TTL 一般默认为一小时,可以根据实际情况设为一天甚至一周以上。 当然,如果你域名的IP 经常变化,则TTL 不应过大,否则各地的DNS Server 会暂时无法获得新的正确的IP 地址。 下图是两个网站采用相同服务器、相同IP、相同网页内容,不同的TTL 值在同一天内的监控结果。 图一:TTL 设为一小时 图二:TTL 设为一周 可以注意到,图二中域名DNS 解析所花的时间可以忽略不计,这就是域名A 记录 TTL 时间长,增加了缓存的命中率带来的加速效果。 2、选择更快的本地DNS Server 一般而言,我们无法决定用户使用何种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、选择更快的域名Name Server 在域名的whois 信息中,我们可以看到域名的Name Server,不同的Name Server 有不同的域名管理面板用来管理A 记录和CName 等信息。 由于一般的站长无法在全世界建立Name Server 的镜像,所以我们只能选择离目标访客物理距离近的Name Server 以加快访客的解析速度。 比如你的网站主要浏览量来自中国,则你的Name Server 最好也在中国境内,最好是电信和网通双线的。如果你的网站主要浏览量来自美国,则你可以用 Godaddy 的Name Server。 不过近年来宫信步势大,大量域名都转移至了国外,而国内缺少免费、稳定的第三方Name Server,使得这个问题很难解决。Godaddy 的免费Name Server,国内解析起来实在很慢,也许我们可以期待无所不能的Google 将来提供免费的 Name Server 给我们。

有dns限制说法的。

报告说测试dns时如果输入的域名长度为128位字符,就会发出错误的dns包,看代码什么的都没有问题,可是wireshark抓到得就是错误的包,估计是

dns长度有限制,于是问google,一大堆结果说什么的都有,有的说长度不能超过20个

字符,有的说2-46,还有的说国际域名长度不能超过67个字符,结果测试下来都不对,没办法,只能找rfc,

结果一看就明白了(以后要坚定了,这种问题直接找rfc才最有效),rfc1035中有说明,为了和现有的域名兼

用,域名应该满足由各个lables以点号分隔,各lable长度应该在63个字符之内,而且总长度应该不超过255.


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/665002.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-26
下一篇2023-07-26

发表评论

登录后才能评论

评论列表(0条)

    保存