DNS是什么

DNS(Domain Name System) 是⼀种⽤于将域名(例如www.baidu.com)转换为IP地址(例如 220.181.111.188 )的分布式系统。在互联⽹上,计算机和其他⽹络设备使⽤IP地址来相互识别和通信。然⽽, IP地址是⼀串数字,不太⽅便⼈们使⽤和记忆,所以就使⽤了域名来代替复杂的IP地址。

对于DNS服务器若采⽤集中式的设计有以下问题

1、单点故障

如果 DNS 服务器崩溃,那么整个⽹络随之瘫痪。通信容量(traaffic volume) ,单个 DNS 服务器不得不处理所有的 DNS 查询,这种查询级别可能是上百万上千万级,⼀台服务器很难满⾜;

2、远距离集中式数据库

单个 DNS 服务器不可能 邻近 所有的⽤户,假设在美国的 DNS 服务器不可能临近让澳⼤利亚的查询使⽤,其中查 询请求势必会经过低速和拥堵的链路,造成严重的时延;

3、维护

维护成本巨⼤,⽽且还需要频繁更新

域名的层级关系

DNS 中的域名都是⽤句点来分隔的,⽐如 www.server.com ,这⾥的句点代表了不同层次之间的界限。 在域名中,越靠右的位置表示其层级越⾼。

DNS解析过程

1. 先查询浏览器缓存是否有该域名对应的IP地址。

2. 如果浏览器缓存中没有,会去计算机本地的Host⽂件中查询是否有对应的缓存。

3. 如果Host⽂件中也没有则会向本地的DNS服务器(通常由你的互联⽹服务提供商(ISP)提供, ⽐如中国移动)发送⼀个DNS查询请求。

4. 如果本地DNS解析器有该域名的ip地址,就会直接返回,如果没有缓存该域名的解析记录,它会向根DNS服 务器发出查询请求。根DNS服务器并不负责解析域名,但它能告诉本地DNS解析器应该向哪个顶级域 (.com/.net/.org)的DNS服务器继续查询。

5. 本地DNS解析器接着向指定的顶级域名DNS服务器发出查询请求。顶级域DNS服务器也不负责具体的域名解析,但它能告诉本地DNS解析器应该前往哪个权威DNS服务器查询下⼀步的信息。 6. 本地DNS解析器最后向权威DNS服务器发送查询请求。 权威DNS服务器是负责存储特定域名和IP地址映射的服务器。当权威DNS服务器收到查询请求时,它会查找"example.com"域名对应的IP地址,并将结果返回给本地DNS解析器。

7. 本地DNS解析器将收到的IP地址返回给浏览器,并且还会将域名解析结果缓存在本地,以便下次访问时更快地响应。

8. 浏览器发起连接: 本地DNS解析器已经将IP地址返回给您的计算机,您的浏览器可以使⽤该IP地址与⽬标服务器建⽴连接,开始获取⽹⻚内容。

递归查询和迭代查询

递归查询和迭代查询是在DNS解析过程中⽤于获取域名解析信息的两种不同⽅法。

1. 递归查询

在递归查询中,DNS客户端(通常是本地DNS解析器)向上层DNS服务器(如根域名服务器、顶级域名服务器)发 起查询请求,并要求这些服务器直接提供完整的解析结果。递归查询的特点是,DNS客户端只需要发送⼀个查询请 求,然后等待完整的解析结果。上层DNS服务器会⾃⾏查询下⼀级的服务器,并将最终结果返回给DNS客户端。

2. 迭代查询

在迭代查询中,DNS客户端向上层DNS服务器发起查询请求,但不要求直接提供完整的解析结果。相反,DNS客户 端只是询问上层服务器⼀个更⾼级的域名服务器的地址,然后再⾃⾏向那个更⾼级的服务器发起查询请求,以此类 推,直到获取完整的解析结果为⽌。 递归查询适合普通⽤户和客户端,⽽迭代查询适⽤于DNS服务器之间的通信。

此图属于迭代查询。

微软系统如何改成windows,从微软系统升级至Windows操作指南
拍摄菜单(AF/MF 设置)