DNS的复习

DNS的含义

DNS是 Domain Name System 的缩写,也就是 域名解析系统,它的作用非常简单,就是根据域名查出对应的 IP地址。

你可以把它想象成一本巨大的电话本,比如当你要访问域名www.baidu.com,首先要通过DNS查出它的IP地址,如下图所示:

DNS的层级

主机名.次级域名.顶级域名.根域名
host.sld.tld.root
  • 根域名 :.root 或者 . ,根域名通常是省略的

  • 顶级域名,如 .com.cn

  • 次级域名,如 baidu.com 里的 baidu,这个是用户可以进行注册购买的

  • 主机域名,比如 baike.baidu.com 里的baike,这个是用户可分配的

列如www.baidu.com

  1. com: 一级域名. 表示这是一个企业域名。同级的还有 “net”(网络提供商), “org”(⾮非盈利组织) 等。

  1. baidu: 二级域名,指公司名。

  1. www: 表示主机域名为 www。

DNS的记录类型

CNAME : 通常称别名指向。一般来说,为了服务的安全可靠,至少应该有两条NS记录,而A记录和MX记录也可以有多条,这样就提供了服务的冗余性,防止出现单点失败。CNAME记录主要用于域名的内部跳转,为服务器配置提供灵活性,用户感知不到。举例来说,facebook.github.io这个域名就是一个CNAME记录。

您可以为一个主机设置别名。

比如设置 test.mydomain.com,用来指向一个主机www.rddns.com ,那么以后就可以用test.mydomain.com来代替访问www.rddns.com了。

说明:

CNAME的目标主机地址只能使用主机名,不能使用IP地址;

主机名前不能有任何其他前缀,如:http://等是不被允许的;

A记录优先于CNAME记录。即如果一个主机地址同时存在A记录和CNAME记录,则CNAME记录不生效。

DNS 查询类型

递归查询

本机向本地域名服务器发出一次查询请求,就静待最终的结果。如果本地域名服务器无法解析,自己会以DNS客户机的身份向其它域名服务器查询,直到得到最终的IP地址告诉本机。

在理想情况下,可以使用缓存的记录数据,从而使 DNS 域名服务器能够直接使用非递归查询

迭代查询

本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步到哪里去查询,然后它再去查,每次它都是以客户机的身份去各个服务器查询。

迭代查询一般发生在 DNS Server 之间,当 Client 发出域名解析的请求后,DNS Server 需要给予最佳答案,这个最佳答案可能是"距离最近"的顶级域名服务器,也能是权威域名服务器。无论如何,Client 需要对返回结果再次发起请求,知道获得最终结果

非递归查询

可以理解为缓存查找或者一次搞定的查找。

非递归查询发生在 Client 和 DNS Server 之间,指的是,请求的 DNS Server 已经知道答案,直接返回。这里可能有两种情况,一种是 DNS Server 本机缓存了对应的 IP,或者是缓存了对应的域名的权威服务器。第二种情况只需要再发一次请求,即可拿到结果返回

当 DNS 解析器客户端查询 DNS 服务器以获取其有权访问的记录时通常会进行此查询,因为其对该记录具有权威性,或者该记录存在于其缓存内。

DNS 服务器通常会缓存 DNS 记录,查询到来后能够直接返回缓存结果,以防止更多带宽消耗和上游服务器上的负载。

递归查询与迭代查询相结合

展示一下查询百度的例子:

一些查询工具
nslookup命令用于互动式地查询域名记录。
whois命令用来查看域名的注册情况。
host命令可以看作dig命令的简化版本,返回当前请求域名的各种记录。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值