域名系统DNS

  1. 域名系统DNS是用来干什么的?
    DNS是用于将便于人们使用的机器名字(域名)转换为IP地址的系统。
    (博主认为学习一个协议应首先明白它是用来做什么的,然后协议的具体不过是实现这一目的的过程,带着协议最终要实现的效果来学习协议,学习目的会更明确)

  2. DNS中用到的术语
    域名: “域” 是是一个可以被管理的划分,域 还可以划分为子域,而子域可以继续划分子域,这样就形成了顶级域、二级域、三级域等等。互联网的域名空间如下所示,具体的含义(如cn代表中国)可以自行查阅。
    域名的结构采用层次树状结构的命名方法,这是为了便于管理和查询。
    互联网的域名空间

    域名服务器: 域名体系实则是抽象的,而具体实现域名系统的则是使用分布在各地的域名服务器,为了减少服务器的数量,并不是采用每一级的域名使用一个域名服务器,而是采用划分区的方式,一个服务器管辖的范围叫做 “区”
    (1) 权限域名服务器: 是每个区设置的相应的域名服务器,用来保存该区内所有 主机名 到 IP地址 的映射。另外,区是小于或等于域,但一定不能大于域。
    (2) 根域名服务器: 是最高层次的域名服务器,也是最重要的域名服务器;所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。
    (3) 顶级域名服务器: 负责管理顶级域名下注册的所有二级域名。
    (4) 本地域名服务器: 本地域名服务器并不属于域名服务器的层次结构,但是它对域名系统非常重要,主机发送的DNS查询请求都会发送给这个本地域名服务器(也是默认域名服务器),是操作系统的网络属性中设置的默认DNS的IP对应的主机。

  3. 域名解析的过程
    有了以上的约定,下面来看看DNS最终如何实现开篇提到的目的,以下面的例子讲解域名解析的整个过程。

    例:域名 m.xyz.com的主机想知道域名为y.abc.com的IP地址
    

    (1)本地服务器到其他服务器使用迭代查询方式(常用)
    迭代查询: 被询问到的服务器要么给出最终的结果IP,要么给出下一个应该查询的域名服务器,而不会替代DNS客户进行后续查询。DNS迭代查询举例
    a).主机向本地域名服务器发送DNS查询请求,此过程为递归查询。
    b).本地域名服务器采用迭代查询,向根域名服务器发送查询请求。
    c).根域名服务器检测到顶级域名是com,于是发送回应报文告诉本地域名服务器下一个应该查询的顶级域名服务器为dns.com(对应的IP地址会告诉本地域名服务器,根域名服务器有所有顶级域名和IP的映射)
    d).本地域名服务器向dns.com顶级域名服务器发送查询请求。
    e).与步骤 c 类似,顶级域名服务器告诉本地域名服务器应该查询的权限域名服务器为dns.abc.com
    f).本地服务器向dns.abc.com权限服务器发送查询请求
    g).dns.abc.com权限服务器告诉本地域名服务器,所查询的主机IP
    h).本地域名服务器最后把查询结果返回给主机m.xyz.com

    (2) 本地服务器到其他服务器使用递归查询方式
    在这里插入图片描述
    递归查询: 被询问到的 服务器不知道结果时,替代DNS客户进行后续查询。
    各个步骤的解释同上面类似,不再进行详述。
    注: 主机和本地域名服务器之间只能进行递归查询,即,本地域名服务器收到DNS客户的请求时,则以DNS客户的身份进行后续查询;后续的查询可采用迭代和递归两种方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值