当前位置: 移动技术网 > 科技>操作系统>Linux > DNS服务器原理简述

DNS服务器原理简述

2018年11月16日  | 移动技术网科技  | 我要评论

1. tld:top level domain 顶级域名

组织域:.com, .net, .org, .gov, .edu, .mil
国家域:.iq, .tw, .hk, .jp, .cn, ...

2. 域名分级

根域名: .
顶级域名:.com .edu .gov .int .net .cn .us .jp ........
二级域名:baidu.com microsoft.com jd.com qq.com aliyun.com edu.cn
三级域名:map.baidu.com nankai.edu.cn
四级域名:www.nankai.edu.cn cs.nankai.edu.cn

3. dns查询类型

dns查询类型分为递归查询和迭代查询;
递归查询的意思是找了谁谁就一定要给出答案。那么允许递归的意思就是帮忙去找位置,如a对b允许递归,那么b询问a时,a就去帮忙找答案;
迭代查询的意思是如果a不允许对b递归,那么a就会告诉b的下一层域的地址让b自己去找,如果迭代查询最终得出了答案,那一定是权威答案;

4. dns名称解析方式

正向解析: hostname ---> ip
访问示例:

a客户端请求www.jzbg.com --> 由dns服务器完成(1、查询本地缓存记录和hosts文件,如果有直接返回,2、向root"."发起查询查询,查询.com的ns记录返回其.com的ns服务器))--->再向.com的ns服务器查询"jzbg.com"域的ns服务器,并返回其结果值---->根据jzbg的ns服务器记录地址,---> ns服务器查询其所对应的www主机所对应的ip地址,并返回给服务器。

正向解析的层级如下:
.
com
jzbg
www

由于缓存是多层次缓存的,所以真正的查询可能并没有那么多步骤,上图的步骤是完全没有所需缓存的查询情况。假如某主机曾经向dns服务器提交了www.jzbg.com的查询,那么在dns服务器上除了缓存了www.jzbg.com的记录,还缓存了".com"和"jzbg.com"的记录,如果再有主机向该dns服务器提交ftp.jzbg.com的查询,那么将跳过"."和".com"的查询过程直接向jzbg.com发出查询请求。

反向解析: ip ---> hostname
访问示例:

a客户端想查询ip地址4.2.3.1反解记录 ---> 由dns发起请求查询"."域,由"."返回其ip-addr.arpa的ns记录,--> 服务器查询ip-addr.arpa的ns服务器,由ns服务器返回"1"区域的ns服务器地址,并将结果返回到服务器--->服务器查询"1"区域中的记录,由"1"区域返回"2"区域中的ns记录--->服务器向"2"区域查询"3"区域,由2区域返回3区域中的ns记录--->服务器再让3区域中的ns记录,3区域查询并返回4的主机所对应的主机地址。

反向解析的层级如下:
.
ip-addr.arpa
1
2
3
4 

5. 反向解析的作用

dns服务器里面有两个区域,即“正向查找区域”和“反向查找区域”,正向查找区域就是通常所说的域名解析,反向查找区域即是ip反向解析,它得到作用是通过查找ip地址的ptr记录来得到该ip地址指向的域名。要成功得到域名就必须有该ip地址的ptr记录。ptr及记录是邮件交换记录的一种,邮件交换记录中有a记录和ptr记录,a记录解析名字到地址,ptr记录解析地址到名字。
反向域名解析系统(reverse dns)的功能确保适当的邮件交换记录是生效的。反向域名解析与通常的正向域名解析相反,提供ip地址到域名的对应。ip反向解析主要应用到邮件服务器中来阻拦垃圾邮件。多数垃圾邮件发送者使用动态分配或者没有注册域名的ip地址来发送垃圾邮件,以避免追踪,使用域名反向解析后,就可以大大降低垃圾邮件的数量。
比如用xxx@name.com这个邮箱给kasum@lwork.com发一封信,lwork邮件服务器接到这封信会查看这封信的信头文件,这封信的信头文件会显示这封信是由哪个ip地址发出来的。然后根据这个ip地址进行反向解析,如果反向解析到这个ip对应的域名是name.com就接收这封邮件,如果反向解析这个ip没有对应到name.com,那么就拒绝这封邮件。
由于在域名系统中,一个ip地址可以对应多个域名,因此从ip出发去找域名,理论上应该遍历整个域名树,但是这在internet上是不现实的。为了完成逆向域名解析,系统提供一个特别域,该特别域称为逆向解析域in-addr.arpa.这样欲解析的ip地址就会被表达城一种像域名一样的可显示串形式,后缀以逆向解析域域名“in-addr.arpa”结尾。

测试反解(windows方法)

c:\users\administrator>nslookup -qt=ptr 111.204.53.64
服务器:  xd-cache-1.bjtelecom.net
address:  219.141.136.10
非权威应答:
64.53.204.111.in-addr.arpa      name = mail.ybjt.net

[c:\~]$ nslookup -qt=ptr 123.59.246.200
非权威应答:
服务器:  xd-cache-1.bjtelecom.net
address:  219.141.136.10
200.246.59.123.in-addr.arpa name = mail.ehousechina.com

测试反解(linux方法)

[allen@master ~]$ dig -x 123.59.246.200 | grep -a1 "answer section"
;; answer section:
200.246.59.123.in-addr.arpa. 21599 in   ptr mail.ehousechina.com.
[allen@master ~]$ dig -x 111.204.53.64 | grep -a1 "answer section"
;; answer section:
64.53.204.111.in-addr.arpa. 37  in  ptr mail.ybjt.net.

6. 权威答案与非权威答案

  • 权威答案:直接负责这个域的ns服务器返回的答案;
  • 非权威答案:服务器不负责这个域,只是因为之前解析过,所以缓存中有,返回缓存中的答案;将这种答案叫做非权威答案是因为,上级dns可能随时会更新,而所查询的dns服务器本地缓存不一定及时更新了,所以这时客户端得到的答案可能是无效的;

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网