【第八天】DNS及其查询过程

DNS及其查询过程

什么是DNS?

一般我们的主机,服务器都有一个ip地址,例如10.10.10.1。在计算机层面,如果我们要发送请求的话,首先就要知道我们的目标,也就是对方的ip地址。而IP地址很难记,比如百度的ip地址就是36.152.44.95,这是不是很难记。

此时DNS(Domain Name System)域名系统出现了。它是因特网中的一项核心服务,实现了域名和IP地址相互映射的分布式数据库。也就是用www.baidu.com映射36.152.44.95,此后我们就只用记www.baidu.com了。

域名的形式

域名可以被划分为各个子域,子域可以被划分为子域的子域。

域名的层级

根域名,顶级域名,次生域名,主机域名

每一级都会有很多服务器。

而DNS解析的时候就得要得到这些服务器的帮助。

查询过程:

  1. 首先用户在浏览器输入URL地址后,会先查询浏览器缓存中是否有该域名对应的IP地址。
  2. 如果浏览器缓存中没有,就会去计算机本地的Host文件中查询是否有对应的缓存。
  3. 如果Host文件中也没有,则会向本地的DNS解析器发送一个DNS请求。
  4. 如果本地的DNS解析器没有缓存该域名的解析记录,它就会向根DNS服务器发出查询请求。根DNS服务器不负责解析域名,但是它能告诉本地DNS解析器应该向哪个顶级域(.com/.net/.org)的DNS服务器继续查询。
  5. 本地DNS解析器接着向指定的顶级DNS服务器发送查询请求。顶级域DNS服务器也不负责具体的域名解析,但它能告诉本地DNS解析器应该前往哪个权威DNS服务器查询下一步信息。
  6. 本地DNS服务器最后向权威DNS服务器发送查询请求。权威DNS服务器是负责存储特定域名和IP地址映射的服务器。当权威服务器收到查询请求时,它会查找你请求的域名(如"example.com")对应的IP地址,并将结果返回给本地DNS解析器。
  7. 本地DNS解析器将收到的IP地址返回给浏览器,并且还会将域名解析结果缓存到本地,以便下次访问时更快地响应。
相关推荐
橘子真甜~43 分钟前
C/C++ Linux网络编程15 - 网络层IP协议
linux·网络·c++·网络协议·tcp/ip·计算机网络·网络层
Henry Zhu1239 小时前
VPP中ACL源码详解第二篇:ACL数据平面处理
运维·服务器·网络·计算机网络
xiufeia10 小时前
(5)应用层
计算机网络
Henry Zhu12313 小时前
VPP中ACL源码详解第六篇:多核和性能优化实现以及调试与观测
运维·网络·网络协议·计算机网络·性能优化
不染尘.14 小时前
虚拟网络环境及socket概述
linux·c语言·网络·windows·计算机网络
GanGuaGua15 小时前
计算机网络:HTTP报文
网络·网络协议·计算机网络·http
Henry Zhu12315 小时前
VPP中ACL源码详解第七篇:综合案例实践与总结
服务器·网络·计算机网络
Logic10116 小时前
《计算机组网技术》形考实训1(四个案例):从零组建小型局域网,详解交换机与VLAN配置
计算机网络·网络工程·vlan·交换机·局域网·形考作业·国家开放大学
Neolnfra1 天前
任意文件下载漏洞
计算机网络·安全·web安全·网络安全·系统安全·安全威胁分析·安全架构
colofullove2 天前
计算机网络-5-网络层
网络·计算机网络