名称解析服务和DNS服务实现原理
一、名字解析介绍和DNS
1.名字解析简单地来说就是将名字解析为IP地址。
2.本地名称解析配置文件:/etc/hosts
所以默认本机/etc/hosts优先级比DNS高,而且再/etc/hosts中一个名字只能对应一个IP
3.实现DNS优先级高于本机/etc/hosts,需要修改/etc/nsswitch.conf
[root@centos7 ~]# vim /etc/nsswitch.conf
#将hosts那一行dns和files换一下位置,保存
再次ping www.baidu.com
[root@centos7 ~]# ping www.baidu.com
发现dns优先级现在高于/etc/hosts了
4.DNS:Domain Name System 域名系统,应用层协议,是互联网的一项服务。它作为将域名和IP地址相互 映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构,服务器端:53/udp, 53/tcp
5.BIND:Bekerley Internet Name Domain,由 ISC (www.isc.org)提供的DNS软件实现DNS域名结构
6.
根域: 全球根服务器节点只有13个,10个在美国,1个荷兰,1个瑞典,1个日本 一级域名:Top Level Domain: tld 三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域 com, edu, mil, gov, net, org, int,arpa 二级域名:magedu.com 三级域名:study.magedu.com 最多可达到127级域名
二、DNS服务工作原理
- 客户端向离它最近的DNS服务器发起了查询请求,一般是由运营商提供
- 如果代理DNS服务器有记录则直接可以返回给客户端;如果没有记录则去根DNS服务器请求,根DNS并不会存储所以的主机名对应IP的记录,它只会记录它的子域的IP,例如
.com
等后缀的域,代理DNS服务器会拿到.com
域的DNS服务器IP - 然后再将请求发往
.com.
域的DNS服务器,如果还是没有找到主机,则再往它的下一级找,直到找到具体的主机,把IP返回给客户端,同时代理DNS服务器也会缓存一份到本地
一次完整的查询请求经过的流程:Client -->hosts文件 -->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根--> 顶级域名DNS-->二级域名DNS…
记录于2022-3-27-20:35