行业资讯

为客户提供优质的机房资源和专业的运维服务

当前位置:网站首页 >  行业资讯  >  技术文章

DNS 是如何影响你上网速度的?
来源:   作者:SD-WAN广域网加速_电信国际专线_国际网络专线_深圳光纤专线上网  阅读:

本文详细介绍了DNS的相关知识,包括DNS工作原理、如何提高域名分析速度、DNS记录和报文。
1.域名和域名服务器
在日常互联网上,人们更喜欢在浏览器中输入网站域名,而不是IP地址。例如,如果您想访问新浪,您将输入wwww.sina.com,而不是163.177.151.109等IP。然而,计算机网络通信中识别的标志不是域名,而是IP地址,因为它可以在互联网上提供主机的位置信息,而且很长,路由器和其他设备更容易处理。DNS出现了,以适应人类和计算机的不同偏好(DomainNameSystem,域名系统),其主要任务是根据域名找出相应的IP地址。

先介绍域名和域名服务器,再介绍DNS的工作原理。域名由几个英文字符串组成(不区分大小写),每个字符串之间使用点号『.』分离连接,越右表示域名级别越高。例如,新浪的域名是wwwwwww,比如新浪的域名是wwwwwww。.sina.com,com是顶级域名(一级域名),sina是二级域名,www是三级域名。域名服务器(又称DNS服务器)负责存储域名和IP地址之间的映射关系。当我们需要获得域名对应的IP地址时,我们只需要从域名服务器中查询。因为域名很多,如果存储在域名服务器中,不仅查询速度慢,服务器压力大,而且很难保证服务的可靠性。因此,DNS采用分布式设计方案,大量域名服务器通过层次组织分布在世界各地。

域名服务器一般可分为以下四类:
1.根域名服务器:最高级别的域名服务器,互联网上有13个根域名服务器(按英文字母A到M的顺序命名,格式为[a~m].root-servers.net),每个根域名服务器都知道所有顶级域名服务器的IP地址,比如负责com域的顶级域名服务器的IP地址。顶级域名服务器:对于每个顶级域名,如com、org、edu等。,都有相应的顶级域名服务器。顶级域名服务器知道所有权威域名服务器的IP地址,比如负责com域的顶级域名服务器知道负责sina.权威域名服务器在com域的IP地址。权威域名服务器:一个网站需要将其域名和IP地址注册到相应的权威域名服务器中,如网站wwww.sina.负责sinaa的域名和IP地址存储在负责sina.在com域的权威域名服务器中。本地域名服务器:本地域名服务器不属于上述域名服务器的层次结构,但对域名系统非常重要。每个ISP(如大学和公司)都有一个本地域名服务器(也称为默认域名服务器)。详细介绍在下一节。

2.域名解析过程
在了解了域名和域名服务器的基本知识后,让我们了解域名分析的具体过程。以输入新浪域名为例,看看我们的主机是如何得到www的.sina.IP地址的com。请求主机向本地域名服务器发送DNS查询报文,询问wwwww.sina.什么是comIP地址;本地域名服务器将此查询报告转发至根域名服务器;根域名服务器发现要查询的顶级域名为com,于是向本地域名服务器发送响应信息,包装负责com域的顶级域名服务器的IP地址列表;域名服务器收到根域名服务器响应的消息后,选择一个顶级域名服务器的IP地址,并发送查询消息;顶级域名服务器发现要查询的二级域名是baidu,于是向本地域名服务器发送响应报文,报文包装负责sina.COM域权威域名服务器

IP地址列表;
域名服务器收到顶级域名服务器响应的消息后,选择其中一个权威域名服务器的IP地址,并发送查询消息;权威域名服务器通过查询数据库找到wwww.baidau.comIP地址,并将此信息封装成响应报文,发送到本地域名服务器;本地域名服务器向原请求主机发送响应信息。我们的主机知道新浪的IP地址,DNS查询过程结束。在此过程中,请求主机与本地域名服务器之间的交互称为递归查询,本地域名服务器与域名服务器层次结构中相关服务器之间的交互称为迭代查询。请求主机如何知道本地域名服务器的IP地址?
当用户插入网络电缆或连接WIFI时,计算机将通过DHCP协议分配IP地址,同时获取本地域名服务器的IP地址!域名服务器是如何知道根域名服务器的IP地址的?互联网上有13个根域名服务器,它们的IP地址是固定的,所以集成在操作系统中,每台电脑都知道!为了分析新浪域名的IP地址,共发送了8份DNS报纸。用户只是想与新浪的服务器互动,但他们花了很多时间进行域名分析。如果他们每次都这样做,他们不会慢死吗?因此,有必要提高域名分析的速度。

3.提高域名解析速度
(1)TCPorUDP
众所周知,TCP比UDP更可靠,但速度更慢。DNS应该采用哪种传输层协议?
如果使用TCP协议,不仅需要三次握手来建立连接,还需要拥塞控制,那么域名分析速度将慢到龟速度,不利于用户体验。
如果使用UDP协议,如果丢包怎么办?如果不能分析IP,如何访问目标网站?不利于用户体验。
事实上,DNS主要使用UDP,在特殊情况下,也会使用TCP,端口号为53。一般来说,DNS报文比较小,只需一个包就可以携带所有信息。既然只有一个包,就不需要考虑哪个包没有送达,直接重发一个包,所以不需要使用TCP这样复杂的协议,直接使用UDP协议,DNS协议自己处理加班和重传问题,提供可靠的服务。当然,有时候DNS报文比较大,比如响应报文中的一个域名可能包含很多IP记录。当服务器响应时,报文中的TC标志位置设置为1,表示响应长度超过512字节,报文仅返回前512字节。当我们的主机收到响应时,我们会使用TCP协议重新发送原始查询请求,以获得完整的报告。此外,为了防止域名服务器(主域名服务器)停机,无法分析域名,还需要设置辅助域名服务器。主域名服务器停机后,辅助域名服务器继续提供域名解析服务。辅助域名服务器定期(通常每3小时)向主服务器发送查询请求,以实现同步。此时,传输更多的数据,因此使用TCP协议。

(2)DNS缓存
即使使用UDP协议,如果每次都需要从根服务器开始逐层查询,还是很慢的,层次结构中的域名服务器会收到很多请求,处理速度会进一步降低!为了提高域名解析速度,减轻域名服务器的压力,DNS广泛使用缓存技术。当用户访问某个网站时,本地域名服务器会缓存解析域名与IP地址之间的映射关系一定时间。当用户在缓存过期前访问同一网站时,本地域名服务器可以直接返回查询结果,无需查询根域名服务器、顶级域名服务器等。,这样可以大大减少传输的DNS报文数量!事实上,不仅在本地域名服务器中设置了高缓存,而且用户主机也有缓存。对于Windows计算机,您可以通过命令ipconfig/displaydns查询当前的DNS缓存。例如,当我访问它时,

互联网上常见的公共 DNS 服务器的 IP 地址如下:


首选 DNS 服务器地址
备用 DNS 服务器地址
阿里
223.5.5.5
223.6.6.6
腾讯
119.29.29.29
182.254.116.116
百度
180.76.76.76
114.114.114.114
谷歌
8.8.8.8
8.8.4.4
114DNS
114.114.114.114 114.114.115.115

一般情况下,自动获取的本地域名服务器与主机位于同一个子网中,速度都挺快的。但是如果在上网过程中,发现打开网页的速度很慢,也可以尝试使用上面的公共 DNS 服务器,说不定速度会有所改善。


发布时间:2023-03-04  【打印此页】

保存图片,微信识别二维码

微信号:137-9853-3095

(点击微信号复制,添加好友)

  打开微信