DNS是什么?DNS全面解析

    SEO基础 wuya 115次浏览 已收录 0个评论

    DNS是什么,下面小编从下面七个维度详细介绍一下DNS

    •   一.DNS是做什么的?
    •   二.Windows 客户端名称解析流程
    •   三.DNS 服务器
    •   四.DNS 实现名称解析的过程
    •   五.协议和端口
    •   六.DNS后缀
    •   七.常用相关命令
    DNS是什么?DNS全面解析

    一.DNS是做什么的?

      DNS:Domain Name System

      功能:将计算机主机名解析为IP地址

      DNS域名是以层次树状结构进行管理的,又称为DNS名称空间。

      DNS名称空间中的每一个节点都使用完全限定域名(FQDN)来识别。FQDN是一种清楚的描述此节点和DNS名称空间中根域的关系的DNS名字。

      二.Windows 客户端名称解析流程

         步骤1:用户输入一个名称地址
        步骤2:PC首先查询这个名称是不是就是本机
        步骤3:读本机的Hosts文件
        步骤4:查找DNS服务器
        步骤5:查找NetBios名称缓存
        步骤6:查找Wins服务器
        步骤7:广播
    步骤8:查找LMHosts文件

    作者:superitpro
    来源:CSDN
    原文:https://blog.csdn.net/superitpro/article/details/8097474
    版权声明:本文为博主原创文章,转载请附上博文链接!

    DNS是什么?DNS全面解析

      三.DNS 服务器

      3.1 DNS客户端向服务器发起的名称解析请求有两种方式:

      递归查询:一般客户端向服务器发起。

      特点: 一定要返回明确的回复,回复结果有两种,成功,回复主机对应的IP。失败,回复无法解析

      迭代查询:一般服务器向其他服务器发起的查询。

      特点:非权威服务器向其他服务器发起的查询,其他服务器返回的是最佳答案。如下一层级DNS Server的NS 记录。

      3.2 权威服务器与非权威服务器

      权威服务器:DNS Server存储了对应的名称空间的记录。

      非权威服务器:DNS Server没有存储对应的名称空间的记录。

      查询响应类型

      DNS服务器对于客户请求的答复,常见的有以下三种类型:

    1.   权威答复:权威答复是返回给客户的正向答复,并且设置了DNS消息中的权威位。此答复代表从具有权威DNS服务器处发出。
    2.   参考答复:参考答复只在DNS服务器工作在迭代模式下使用,包含了其他有助于客户端解析请求的信息。例如,当DNS服务器不能为客户端发起的解析请求找到某个匹配值时,则向DNS客户端发送参考回复,告诉它有助于解析请求的信息。
    3.   否定答复:权威服务器在解析客户端的请求时发现客户端查询的名字不存在或存在对应的名字但是不存在指定类型的资源记录。此时权威服务器将对客户端给出否定答复。

      无论是哪种答复,DNS客户端都将结果保存在自己的本地缓存中。

      3.3 DNS转发

      DNS转发:DNS Server将自己无法解析的请求转发给指定的DNS Server。

      条件转发:DNS Server将特定的名称空间请求转发给指定的DNS Server。(新版的Windows DNS Server 已取消此功能,在Windows Server 2016 中,DNS功能进行了大幅更新,请参考DNS 策略与DNS Split-Brain)。

      3.4 DNS缓存

      缓存:DNS Server将所有解析过的结果保存在自己的缓存中,在该记录的TTL(此TTL由该记录的权威服务器设置)没有到期前,对于相同的解析请求,直接从缓存中返回结果 。对于Windows DNS Server ,可果要消除掉已缓存的记录,需要使用 dnscmd /clearcache 命令。

      3.5资源记录

      资源记录是用于答复DNS客户端请求的DNS数据库记录,常见的记录类型有

    1.   资源记录类型
    2.   说明
    3.   解释
    4.   主机(A)
    5.   IP地址

      主机(A)记录是名称解析的重要记录,它用于将特定的主机名映射到对应主机的IP地址 上。你可以在DNS服务器中手动创建或通过DNS客户端动态更新来创建。

      别名(CNAME)

      标准名称

      此记录用于将某个别名指向到某个主机(A)记录上,从而无需为某个需要新名字解析的主机额外创建A记录。

      邮件交换记录(MX)

    1.   邮件交换记录
    2.   此记录列出了负责接收发到域中的电子邮件服务器 ,通常用于邮件的收发。
    3.   名称服务器(NS)
    4.   名称服务器
    5.   此记录指定负责此DNS区域的权威名称服务器。

      3.DNS区域类型

      DNS区域分为两大类:正向查找区域和反向查找区域,其中

      正向查找区域用于FQDN到IP地址的映射,当DNS客户端请求解析某个FQDN时,DNS服务器在正向查找区域中进行查找,并回复给DNS客户端对应的IP地址;

      反向查找区域用于IP地址到FQDN的映射,当DNS客户端请求解析某个IP地址时,DNS服务器在反向查找区域中进行查找,并回复给DNS客户端对应的FQDN。

      每一类区域主要有二种区域类型:主要区域、辅助区域:

      主要区域(Primary):包含相应DNS命名空间所有的资源记录,是区域中所包含的所有DNS域的权威DNS服务器。可以对区域中所有资源记录进行读写,即此DNS服务器可以修改此区域中的数据。

      辅助区域(Secondary):主要区域的备份,从主要区域直接复制而来;同样包含相应DNS命名空间所有的资源记录,是区域中所包含的所有DNS域的权威DNS服务器;和主要区域不同之处是DNS服务器不能对辅助区域进行任何修改,即辅助区域是只读的。辅助区域数据只能以文本文件格式存放。

      四.DNS 实现名称解析的过程

      如上图:

      1是客户端对服务器发起的递归查询

      2,4,6是服务器代替客户端对其他DNS服务器发起的迭代查询

      3,5,8是a.com名称空间的非权威服务器回复的正向答复

      7是a.com名称空间的权威服务器回复的权威答复

      注意:

      1.上图中IP是2.2.2.2的com. name server对 a.com的名称空间来说是非权威服务器,但对.com的名称空间来查询时,他是.com名称空间的权威服务器。

      2.上图中IP是1.1.1.1 的root. name server 属于根服务器。为了正常的执行递归解析,DNS服务器必须知道从哪儿开始搜索DNS域名,而根提示信息则用于实现这一需求。根服务器全球共计13台,它们的地址默认保存在DNS Server中,对于Windows 系统的DNS Server ,文件保存位置是:

      控制台位置:

      五.协议和端口

      DNS协议工作在OSI网络模型的应用层,负责域名与IP地址的解析。

      DNS 在传输层上监听于TCP和UDP协议的53端口,主要使用UDP来处理解析请求。 DNS解析请求包含来自客户端的单个UDP请求,后跟来自服务器的单个UDP回复。当答案的长度超过512字节且客户端和服务器都支持EDNS时,将使用更大的UDP数据包。否则,会使用TCP再次发送查询。

      TCP主要用于区域传输等任务。有一些解析器实现使用TCP进行所有查询。

      六.DNS后缀

      附加主要的和连接特定的DNS后缀:当客户端对某一名称进行解析时,对这个名称附加上后缀,例如客户端计算机test1加入到sh.abc.com的子域,当它解析一台名称是test2(FQDN是:test1.abc.com)的主机时,会自动给test1加上DNS后缀,以tes1.sh.abc.com 和test1.abc.com这两个名称去向服务器请求解析。

      此连接的DNS后缀:在此位置通过添加后缀在DNS中注册不同的FQDN。如客户端计算机test1加入到sh.abc.com的子域,它的FQDN名称为test1.sh.abc.com . 当在此位置填入abc.com时,此计算机会向本域的DNS Server注册一条A记录,把test1.abc.com也指向自己的IP地址。

      七.常用相关命令

      查看本机DNS缓存记录

      ipconfig /displaydns |find “qq.com”

      清除本机DNS缓存记录

      ipconfig /flushdns

      初始化计算机上配置的 DNS 名称和 IP 地址的手工动注册

      ipconfig /registerdns

      设置首选dns

      netsh interface ip set dns name=”本地连接” source=static addr=192.168.1.1 register=PRIMARY

      设置备用dns

      netsh interface ip add dns name=”本地连接” addr=192.168.1.2  index=2

      设置网卡自动获取ip

      netsh interface ip set address name=”本地连接” source=dhcp

      设置自动获取dns

      netsh interface ip set dns name=”本地连接” source=dhcp register=PRIMARY

      显示“本地连接”配置结果

      netsh interface ip show config 本地连接


    学海无涯 , 版权所有丨如未注明 , 均为原创丨转载请注明DNS是什么?DNS全面解析
    喜欢 (0)
    发表我的评论
    取消评论
    表情 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址