DNS系统

DNS系统

TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序. 但是IP地址不方便记忆。于是人们发明了一种叫主机名的东西, 是一个字符串, 并且使用hosts文件来描述主机名和IP地址的关系。最初, 通过互连网信息中心(SRI-NIC)来管理这个hosts文件的。如果一个新计算机要接入网络, 或者某个计算机IP变更, 都需要到信息中心申请变更hosts文件.。其他计算机也需要定期下载更新新版本的hosts文件才能正确上网。 为了方便使用以及管理,构建了DNS系统,一个组织的系统管理机构, 维护系统内的每个主机的IP和主机名的对应关系. 如果新计算机接入网络, 将这个信息注册到数据库中; 用户输入域名的时候, 会自动查询DNS服务器, 由DNS服务器检索数据库, 得到对应的IP地址。DNS是一整套从域名映射到IP的系统。

域名

在这里插入图片描述

域名级别划分:

域名的书写:由低级到高级
在这里插入图片描述

域名系统是树形的--------域名树

在这里插入图片描述

域名服务器
根域名服务器:最高层次的服务器

根域名服务器知道所有顶级域名服务器的域名和地址;在Internet上有13个不同IP地址的根域名服务器

名字是a.rootsuser.net~m.rootsuser.net

顶级域名服务器:

管理该顶级域名服务器注册的所有的二级域名;

权限域名服务器:

负责一个区的域名服务器:

区:DNS服务器实际管辖的范围。

本地域名服务器:

不属于DNS系统;但是当主机发送域名查询请求的时候,这个查询请求报文就发给本地域名服务器。

域名解析的流程

1、在浏览器中输入www . qq .com 域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。

2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。

3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。

4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。

5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(http://qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找http://qq.com域服务器,重复上面的动作,进行查询,直至找到www . qq .com主机。

6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。

从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间就是的交互查询就是迭代查询。

迭代查询:自己查
递归查询:抱大腿
为什么根域名服务器有13个

互联网域名系统 在层次结构的根部使用13个DNS服务器集群有几个原因:13号被选为网络可靠性和性能之间的折中,13是基于互联网协议(IP)的约束,版本4(IPv4)。

尽管IPv4中只存在13个指定的DNS根服务器名称,但实际上,这些名称中的每一个都不代表单个计算机,而是代表由多台计算机组成的服务器群集。这种使用集群可提高DNS的可靠性,而不会对其性能产生任何负面影响。

由于新出现的IP版本6标准对单个数据报的大小没有如此低的限制,我们可以预计,随着时间的推移,未来的DNS将包含更多的根服务器来支持IPv6。
原文链接:
DNS为什么有13个服务器

为什么DNS使用UDP协议

答:不是只用了UDP服务,优先用了udp服务,因为开销小,这样的无连接的,尽最大能力交付的不可靠数据连接, 一次UDP名字服务器交换可以短到两个包:一个查询包、一个响应包。一次TCP交换则至少包含9个包:三次握手初始化TCP会话、一个查询包、一个响应包以及四次分手的包交换。 考虑到效率原因,TCP连接的开销大得,故采用UDP作为DNS的运输层协议,这也将导致只有13个根域名服务器的结果。只会在UDP报文中表明有截断的时候使用TCP查询。

Linux下访问DNS服务

Linux下使用/etc/resolv.conf存放DNS服务器的IP地址。里面分别存储了首选DNS服务器地址和被选DNS服务器地址。Linux下访问DNS服务器的程序是host。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值