- 我最近开了几个专栏,诚信互三!
====> |||《算法专栏》::刷题教程来自网站《代码随想录》。|||
====> |||《C++专栏》::记录我学习C++的经历,看完你一定会有收获。|||
====> |||《Linux专栏》::记录我学习Linux的经历,看完你一定会有收获。|||
====> |||《C#专栏》::记录我复习C#的经历,深度理解,查漏补缺,不定期更新。|||
====> |||《计算机网络专栏》::记录我学习计算机网络,看完你一定会有收获。|||
计算机网络:DNS域名解析系统
- 什么是DNS
- 为什么要有DNS
- DNS工作过程及周边
- 域名
- 域名服务器
- 域名服务器工作过程
什么是DNS
DNS(域名解析系统),如名字一样,它可以将域名解析为IP地址,同时还可以将非正式名字解析为正式名字,以及可以进行负载均衡。
为什么要有DNS
DNS最主要的功能是将域名解析为IP地址,但是为什么要解析呢?直接使用IP地址也可以啊,其实最主要的是IP地址是一串数字,数字对计算机来说很友好,但是对人来说就不太友好了,所以就诞生了域名,但是计算机使用不了域名,所以就需要DNS进行一个中间转换。
DNS工作过程及周边
要了解DNS的工作过程,首先需要了解域名。
域名
域名是由点(.) 符号分割的一些有规律的字符串,每个域名都可以代表一个IP地址比如 www.cplusplus.com,就是一个域名。
从左—>右,域名级别逐渐上升。如上述域名中com就是一个顶级域名,cplusplus就是一个二级域名,www就是一个三级域名。
同时域名是一个树形结构,除了顶级域名以外,还有根域名。
有一些顶级域名
1)国家级域名,如.cn中国,.us美国,.uk英国等。
2)还有一些通用的顶级域名,如.com商业公司,.net代表网络,.gov代表政府。
域名服务器
域名到IP地址的解析是运行在域名服务器上进行的,域名服务器可以管辖一个区的域名,该服务器中存在该区的所有域名到IP的转换,所以该服务器被称为权威域名服务器,同时,区和区之间也是相连的,以便于当主机需要解析的域名不在该区内时,可以区其他区查询域名。
域名服务器有以下分类。
(1)根域名服务器
每一层都存在域名服务器,根的域名服务器为根域名服务器, 根域名服务器有13个,根域名服务器中存在所有顶级域名服务器的IP地址,这样即使某一个根域名服务器存在问题,也可以去其他根域名服务器寻找,同时,顶级域名服务器一般不提供解析IP地址的作用,只提供查询的地址。
(2)顶级域名服务器
顶级域名服务器用来管理二级该顶级域名下的所有二级域名,在有DNS访问的时候,可以直接返回IP地址,也可以返回一个地址,让其继续查找。
(3)权威域名服务器
权威域名服务器维护了某个区的所有域名到IP地址的转换映射关系,所有这就要求权威域名服务器要收集所有它管辖区域内的主机/服务器的IP地址。
(4)本地域名服务器
本地域名服务器十分重要,主机进行域名到IP地址的转换时,首先要经过的就时本地域名服务器,在使用电脑的时候我们需要填写DNS地址,我们填写的也是本地域名服务器的IP地址,同时,有时候本地域名服务器和权威域名服务器是同一个,这取决于管辖范围内的主机数量。
域名服务器工作过程
首先,主机要访问某个域名,则需要向本地域名服务器中申请该域名的IP地址随后在去访问。
当本地服务器没有IP时,则需要进行IP查询,主要有两个查询方法。
(1)递归式查询
该查询方法耗时很大,所以不常用。
(2)递归与迭代式查询
主机先向本地域名服务器发起查询,如果本地服务器没有,则向根发起查询,如果根没有,则根会告诉我们下一步该往哪里查询,不断进行该操作,最后在查询到IP后,返回IP。
(3)域名查询的步骤如下
以域名y.abc.com为例。
1.客户机向本地域名服务器发起DNS请求报文。
2.首先查询本地缓存,若没有记录,则本地服务器向根服务器发起请求。
3.发现该域名是在.com的顶级域名下。于是本地域名服务器向.com顶级域名服务器中发起请求,并返回.abc.com域名。
4.本地服务器在向.abc.com的权威域名服务器访问,查询到y.abc.com的IP后,返回到本地域名服务器,并返回到请求主机中。
5.于是本地域名服务器将y.abc.com的IP保存在本地服务器的高速缓存中。
DNS系统将DNS查询的结果,本地服务器将DNS的结果存储到本地服务器的高速缓存中,这样在访问该域名时,就能直接从本地服务器中得到该域名的IP。
高速缓存不会被长久存储。