域名解析|青训营

96 阅读4分钟

DNS

DNS(Domain Name System)是域名系统的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,用于 TCP/IP 网络。

域名系统DNS 的作用

通常我们有两种方式识别主机:通过主机名或者 IP 地址。人们喜欢便于记忆的主机名表示,而路由器则喜欢定长的、有着层次结构的 IP 地址。为了满足这些不同的偏好,我们就需要一种能够进行主机名到IP 地址转换的目录服务,域名系统作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。

域名的层级关系

层级关系特点

因特网采用层次树状结构的域名结构

域名的结构由若干个分量组成,各分量之间用“点”隔开,分别代表不同级别的域名。

每一级的域名都由英文字母和数字组成,不超过63个字符,不区分大小写字母。
级别最低的域名写在最左边,而级别最高的顶级域名写在最右边。
完整的域名不超过255个字符。
域名系统既不规定一个域名需要包含多少个下级域名,也不规定每一级的域名代表什么意思。

各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由因特网名称与数字地址分配机构ICANN进行管理。

DNS域名解析过程

域名解析包含两种查询方式,分别是递归查询和迭代查询。

递归查询

如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户端的身份,向其他根域名服务器继续发出查询请求报文,即替主机继续查询,而不是让主机自己进行下一步查询。

我们以一个例子来了解DNS递归查询的工作原理,假设一个主机 (IP地址为m.xyz.com) 想知道域名y.abc.com的IP地址。

1、主机首先向其本地域名服务器进行递归查询。
2、本地域名服务器收到递归查询的委托后,也采用递归查询的方式向某个根域名服务器查询。
3、根域名服务器收到递归查询的委托后,也采用递归查询的方式向某个顶级域名服务器查询。
4、顶级域名服务器收到递归查询的委托后,也采用递归查询的方式向某个权限域名服务器查询。
过程如图所示:

当查询到域名对应的IP地址后,查询结果会在之前受委托的各域名服务器之间传递,最终传回给用户主机。

迭代查询

当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP 地址,要么告诉本地服务器下一步应该找哪个域名服务器进行查询,然后让本地服务器进行后续的查询。

迭代查询过程如下:

1、主机首先向其本地域名服务器进行递归查询。
2、本地域名服务器采用迭代查询,它先向某个根域名服务器查询。
3、根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器的IP地址。
4、本地域名服务器向顶级域名服务器进行迭代查询。
5、顶级域名服务器告诉本地域名服务器,下一次应查询的权限域名服务器的IP地址。
6、本地域名服务器向权限域名服务器进行迭代查询。
7、权限域名服务器告诉本地域名服务器所查询的域名的IP地址。
8、本地域名服务器最后把查询的结果告诉主机。

总结

域名解析可以说是计算机网络中比较重要的知识,在面试中也经常考到,我们应该多熟悉熟悉这方面的内容,从小的知识点着手,一步一步慢慢地深入了解,罗马不是一天建成的,知识也不是一天就能学会的,慢慢努力不断进步才是我们所追求的。