DNS(Domain Name Service):域名服务
1、不只是运营商才能搭建DNS服务器,个人也可以搭建DNS服务器。
2、大型公司很依赖DNS服务器,其优点是可以自定义域名,这样员工就能便捷的访问内网的服务器,同时可以添加一下常用的域名记录,减少网络通信的时间消耗。
3、其他机构例如学校也可以根据自己的需要来搭建自己的DNS服务器。
域名的组成:
域名:
1、如“www.sina.com.cn”是一个域名,但是严格来说,”sina.com.cn”才是域名(全球唯一),而”www”是主机名,但是人们习惯把主机位+域名称为域名。
2、域名分有根域名(.)、顶级域名(com、gov…)、一级域名(edu、taobao…)、二级域名(www、blog、mail…,这一部分也可能被称为主机名)、三级域名等等,一个完整的域名应该是:www.baidu.com.,后面的小点表示根域名,我们一般不用自己输入。
3、“主机名.域名”称为完全限定域名(FQDN)。一个域名下可以有多个主机,域名全球唯一,所以主机位是什么,该FQDN都唯一。
4、一般管理员在命名其主机时,会根据其主机的功能命名:
网站:www——“www.sina.com.cn”
博客:blog——“blog.sina.com.cn”
论坛:bbs……
两种查询方式
递归查询:客户机与本地DNS服务器之间
即下图左边圈:
1、pc对本地服务器
2、所问即所答即递归解析
迭代查询:本地DNS服务器与根等其他DNS服务器的解析过程
即下图右边圈:
1、本地服务器对公网DNS服务器
2、所问非所答即迭代解析(我不知道具体的主机IP是什么,不过我可以告诉你去哪找)
DNS解析过程
图解:图中有序号,即为解析步骤,大体有8个步骤
在解析过程中,客户机得到一个域名之后首先查看自己的浏览器缓存时候有相关的记录,如果没有,再查看host文件内是否有定义该域名对应的主机记录,如果还是没有,则客户机才会将域名发送给本地DNS服务器进行解析。当本地DNS服务器接收到解析请求之后,其同样也是会到缓存中查找是否有记录,如果有,则返回主机记录即可完成解析,如果没有,则本地DNS服务器则需要将域名发送给根域名服务器进行解析,根域名记录的是顶级域名服务器的主机IP,因此根域名服务器将相应的顶级域名服务器的IP地址返回给本地DNS服务器。本地DNS服务器再根据该顶级域名服务器IP将域名发送至相应的服务器进行解析,以此类推一直定位到该域名的服务器,再由该域名服务器返回一个主机IP给本地DNS服务器,本地DNS服务器将IP返回给客服机,客户机就可以通过IP访问相应服务的主机。
根域名服务器再接收到解析请求后判断是否为自己负责的域名段,若不是,则会返回信息告诉本地DNS服务器访问其他根域名服务器。主机IP在返回的的过程中,本地DNS服务器会将该记录缓存起来,同时客户机也会将该记录进行缓存。
本地DNS服务器:可以是公司内部的也可以是运营商的
转发器:
作用:
公司的DNS服务器一般属于轻级服务器,需要迭代查询的操作可以转发给其他专门的大型DNS服务器,以减轻服务器的负载。
路径:
收到请求——发现缓存里面没有——转发给上级DNS——递归解析——得到返回结果——返回结果至客户机
按照查询内容分类
正向解析:已知域名解析ip
反向解析:已知ip解析域名(邮件过滤里面用得到,用的少)
哪些设备之间一般是递归查询?
客户机和本地DNS
客户机、转发器和DNS
迭代查询:
1、一台服务器负责某部分域名解析,遇见不是它负责的域名,它会去根域名服务器一路查询下去
2、所有的DNS服务器一定内置了十三个根域名服务器的地址,全世界目前只有十三个根域名服务器。