欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

DNS服务器原理简述

程序员文章站 2022-10-16 12:48:06
1. TLD:Top Level Domain *域名 组织域:.com, .net, .org, .gov, .edu, .mil 国家域:.iq, .tw, .hk, .jp, .cn, ... 2. 域名分级 根域名: . *域名:.com .edu .gov .int .net .cn ......

1. tld:top level domain *域名

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

2. 域名分级

DNS服务器原理简述

根域名: .
*域名:.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自己去找,如果迭代查询最终得出了答案,那一定是权威答案;
DNS服务器原理简述

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服务器本地缓存不一定及时更新了,所以这时客户端得到的答案可能是无效的;