我们已经准备好了,你呢?

2026我们与您携手共赢,为您的企业形象保驾护航!

大多数网络通信都是基于TCP/IP的,而TCP/IP又是基于IP地址的。因此,计算机在网络上通信时,只能识别202.96.134.133等IP地址,而不能识别域名。我们记不住10多个网站的IP地址,所以当我们访问一个网站时,我们常常会在浏览器地址栏中输入域名来看到我们需要的页面。这是因为有一台称为 DNS 服务器的计算机。自动将我们的域名“翻译”成对应的IP地址,然后调出该IP地址对应的网页。

什么是 DNS

DNS(Name)是域名系统的英文缩写。它是组织成域层次结构的计算机和网络服务命名系统。它用于 TCP/IP 网络。它提供的服务是将主机名和域名转换为IP地址的工作。 DNS就是这样一个“翻译器”,它的基本工作原理可以用下图来表示。

DNS 使用的协议

可以看出DNS同时占用UDP和TCP端口53。这种单一应用协议同时使用两种传输协议的情况在TCP/IP协议栈中也是一个例外。但很少有人知道DNS在什么情况下使用这两种协议。

DNS在执行区域传输时使用TCP协议,其他时候使用UDP协议;

DNS规范规定了两种类型的DNS服务器,一种称为主DNS服务器,另一种称为辅助DNS服务器。在一个区域中,主DNS服务器从自己的数据文件中读取该区域的DNS数据信息,而从DNS服务器则从该区域的主DNS服务器中读取该区域的DNS数据信息。当辅助DNS服务器启动时,需要与主DNS服务器进行通信并加载数据信息。这称为区域传输。

为什么同时使用 TCP 和 UDP?

首先了解TCP和UDP传输字节的长度限制:

UDP消息的最大长度为512字节,而TCP允许消息长度超过512字节。当DNS查询超过512字节时,协议的TC标志出现删除标记,使用TCP发送。通常传统的UDP报文一般不大于512字节。

当使用 TCP 进行区域传输时,有两个主要注意事项:

二级域名服务器会定期(一般3小时)查询主域名服务器,了解数据是否发生变化。如果有变化,将进行区域传输以进行数据同步。区域传输将使用 TCP 而不是 UDP,因为同步传输的数据量远大于请求和响应中的数据量。

TCP是一种可靠的连接,保证数据的准确性。

解析域名时使用UDP协议:

客户端向DNS服务器查询域名。一般返回的内容不超过512字节,可以使用UDP传输。无需经过TCP三路握手,因此DNS服务器负载更低,响应速度更快。虽然理论上客户端在查询DNS服务器时也可以指定使用TCP,但实际上很多DNS服务器在配置时只支持UDP查询包。

DNS查询流程

当你在浏览器中输入域名时,操作系统会首先检查其本地的hosts文件是否有这种URL映射关系。如果有,就会先调用IP地址映射来完成域名解析。

如果hosts中没有该域名的映射,则搜索本地DNS解析器缓存,查看是否存在该URL的映射关系。如果有则直接返回完成域名解析。

如果主机和本地 DNS 解析器缓存之间没有对应的 URL 映射关系,则首先查找 TCP/ip 参数中设置的首选 DNS 服务器。这里我们称之为本地DNS服务器。当本服务器收到查询时,如果查询的域名包含在本地配置区资源中,则将解析结果返回给客户端,完成域名解析。这个决议具有权威性。

如果要查询的域名没有被本地DNS服务器区域解析,但服务器缓存了URL映射关系,则调用该IP地址映射来完成域名解析。这个决议并不具有权威性。

如果本地DNS服务器的本地区域文件和缓存解析无效,则根据本地DNS服务器的设置(是否设置转发器)进行查询。如果不使用转发模式,本地DNS会将请求发送到13台根DNS服务器。收到请求后,会判断谁授权管理这个域名(.com),并返回一个负责顶级域名服务器的IP。本地DNS服务器收到IP信息后,会联系负责.com域的服务器。负责.com域的服务器收到请求后,如果无法解析,就会寻找管理.com域的下级DNS服务器地址(),交给本地DNS服务器。当本地DNS服务器收到这个地址后,就会寻找域服务器,重复上述动作,进行查询,直到找到主机。

如果采用转发方式,DNS服务器会将请求转发给上级DNS服务器,由上级DNS服务器进行解析。如果上层服务器无法解析,则要么查找根DNS,要么将请求转发给上层服务器。这个循环。无论本地DNS服务器是使用转发还是root提示,最终结果都会返回到本地DNS服务器,然后DNS服务器返回给客户端。

二维码
扫一扫在手机端查看

本文链接:https://www.by928.com/shan-xi/8369.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线