DNS 域名系统(英文:Domain Name System,缩写:DNS)是因特网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。
是一个域名服务,应用层协议。
原理篇
DNS组成
根域(.)
顶级域(.com, .net, .org, .gov, .edu, .mil,.ac)
二级域(baidu.com,google.com ... ...)
dns查询
迭代查询
递归查询
如下图,从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间的交互查询就是迭代查询。
总结:
1.递归查询:
一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机;
2.迭代查询(反复查询):
一般DNS服务器之间属迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3的IP给DNS2,以便其再向DNS3发出请求;
所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询)”
也就是递归就是交给下一个服务器解决(下一个就相当于客户了,所以他也可以选择去递归,或者迭代)(迭代就是返回给当前的,当前自己再去处理)
递归即递给服务器,所有操作都有服务器来完成。
举例:比如学生问老师一个问题,王老师告诉他答案这之间的叫递归查询。这期间也许王老师也不会,这时王老师问张老师,这之间的查询叫迭代查询!
DNS解析
正向解析区域和反向解析区域
正向解析是将域名映射为IP地址
www.baidu.com --> 202.108.22.5
反向解析是将IP地址映射为域名
202.108.22.5 --> www.baidu.com
注意:二者的名称空间,非为同一个空间,即非为同一棵树;因此,也不是同一个解析库;
主-从DNS服务器
主DNS服务器:维护所负责解析的域数据库的那台服务器;读写操作均可进行;
从DNS服务器:从主DNS服务器那里或其它的从DNS服务器那里“复制”一份解析库;但只能进行读操作;
“复制”操作的实施方式:
序列号:serial, 也即是数据库的版本号;主服务器数据库内容发生变化时,其版本号递增;
刷新时间间隔:refresh, 从服务器每多久到主服务器检查序列号更新状况;
重试时间间隔:retry, 从服务器从主服务器请求同步解析库失败时,再次发起尝试请求的时间间隔;
过期时长:expire,从服务器始终联系不到主服务器时,多久之后放弃从主服务器同步数据;停止提供服务;
否定答案的缓存时长:
主服务器”通知“从服务器随时更新数据;
区域传送:
全量传送:axfr, 传送整个数据库;
增量传送:ixfr, 仅传送变量的数据;
<