DNS:解析域资源记录(A, AAAA, PTR, SOA, NS, CNAME, MX)

深入理解DNS:解析记录类型与服务器工作原理
DNS是Domain Name Service的缩写,用于将域名转换为IP地址。本文详细介绍了DNS查询类型(递归和迭代查询),服务器类型(主DNS、从DNS、缓存DNS和转发器)以及DNS解析库,特别强调了各种资源记录(A, AAAA, PTR, SOA, NS, CNAME, MX)的作用。同时,讨论了DNS服务器如何通过区域传递和缓存机制来提高解析效率。" 103714354,8591405,Redis 入门教程:数据类型与实战,"['数据库', 'Redis', '缓存系统', '数据结构', 'NoSQL']

目录

DNS简介

DNS查询类型

服务器类型

DNS解析库


 

DNS简介

DNS:Domain Name Service,是一种协议,基于C/S架构,监听与udp/53,tcp/53,在网络七层中的应用层协议

网络中通信时通过IP地址进行通信的,域名只是IP地址的标记,小范围通信中,使用host文件解析配置可以的

由于网络中的站点众多,每天新增的也很多,就出现的IANA,做域名解析

本地名称解析配置文件:hosts

  • Linux:/etc/hosts
  • Windows:C:\Windows\System32\drivers\etc\hosts
  • 域名填写格式:2.2.2.2  www.zhui.com

为了便于管理进行片区管理,DNS进行导致树状结构来管理

根服务器表示是个点【 . 】互联网访问是可以省略的

其中:com(商业组织)、deu(教育组织)、mil(军事组织)、gov(政府组织)、net(网络组织)、org(非盈利组织)、int(国际性组织)等等,称为顶级域:Top Level Domain 【tld】

从大的地方分为:组织域、国家域(.cn)、反向域

 

DNS查询类型

递归查询:查询一次,就可以得到最终结果

  • 访问www.node3.com
  • 中间人是本地接入网络DNS服务商提供

迭代查询:发送请求,有可能得到的参考请求,需多次请求,才能找到

  • 访问www.node3.com

服务器类型

名称服务器:域内负责解析本域内的名称的主机【如:根服务器:13组服务器】

解析类型:

  • Name --> IP  【域名--> IP】
  • IP --> Name  【IP --> IP】
  • 注意:正反向解析是两个不同的名称空间,是两棵不同的解析树

DNS服务器的类型:

  • 主DNS服务器:维护所负责解析的域内解析库服务器;解析库由管理维护
  • 从DNS服务器:从主DNS服务器或其它的从DNS服务器那里“复制”(区域传递)一份解析库
    • 序列号:解析库的版本号;前提:主服务器解析库内容发生变化,其序列递增
    • 刷新时间间隔:从服务器从主服务器请求同步解析库的时间间隔
    • 重试时间间隔:从服务器从主服务器请求同步解析库失败时,再次尝试的时间间隔
    • 过期时长:从服务器始终联系不到主服务器时,多久多后放弃从服务器角度,停止提供服务
    • "通知"机制【主服务器一旦发生改变,就会立刻通知从服务器,即便没到同步时间】
    • 区域传送:
      • 全量传送:传送整个解析库
      • 增量传送:传递解析库变化的那部分内容
  • 缓存DNS服务器
  • 转发器

DNS解析库

DNS解析

  • Domain:   正向:FQDN --> IP  、反向: IP --> FQDN
  • FQDN【Full Qualified Domain Name:www.node3.com.

DNS 一次完整的查询请求经过的流程

  • Client --> hosts文件 --> DNS Service -->Local Cache --> DNS Server (recursion:递归请求) --> Server Cache -->iteration(迭代) --> answer
  • 客户端发起请求,本地hosts文件去解析,没有就会发送到DNS Service,DNS Service现在本地缓存中查找,没有去DNS service 查找,先在DNS Service 缓存中查找,没有找到就会迭代请求,给出应答
  • 解析答案
    • 肯定答案:正向答案,存在
    • 否定答案:请求的条目不存在等原因导致无法返回结果
    • 权威答案:从DNS Service中负责的域中的回应
    • 非权威答案:从缓存,或各个节点返回的

区域解析库:由众多RR组成:

资源记录:Resource Record, RR

  • 记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX
  • A:internet Address,作用,FQDN --> IP
  • AAAA: FQDN --> IPv6
  • PTR: PoinTeR,IP --> FQDN
  • SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,而必须为解析库的第一条记录
  • NS: Name Server,专用于标明当前区域的DNS服务器
  • CNAME:Canonical Name,别名记录
  • MX: Mail eXchanger,邮件交换器

资源记录定义的格式:

  • 语法:name    [TTL]    IN     rr_type     value
  • 注意:
    • TTL可从全局继承
    • @可用于引用当前区域的名字
    • 同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应
    • 同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;此仅表示通过多个不同的名字可以找到同一个主机而已

A:

  • name: 某主机的FQDN,例如www.node3.com.
  • value: 主机名对应主机的IP地址
  • 例如:
                        www.node3.com.    IN      A   1.1.1.1
                        www.node3.com.    IN      A   1.1.1.2
                        test2.node2.com.    IN      A   1.1.1.3
                        test1.node1.com.    IN      A   1.1.1.3
  • 注意:
                        *.node3.com.         IN       A    1.1.1.4
                        node3.com.            IN      A     1.1.1.4

AAAA:

  • name: FQDN
  • value: IPv6

PTR:

  • name: IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1;而有特定后缀:in-addr.arpa.,所以完整写法为:4.3.2.1.in-addra.arpa.
  • value: FQDN
  • 例如:
                    4.3.2.1.in-addr.arpa.     IN     PTR     www.node3.com
  • 简写成:
                   4      IN  PTR     www.node3.com.
  • 注意:网络地址及后缀可省略;主机地址依然需要反着写

SOA:

  • name: 当前区域的名字,例如  "node3.com."
  • value: 有多部分组成
    • 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字
    • 录前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,例如dns.node3.com;
    • 主从服务协调属性的定义以及否定的答案的统一的TTL
  • node3.com.     86400     IN     SOA     ns.node3.com.     www.node3.com.     (
                                    2015042201  ;序列号
                                    2H                 ;刷新时间
                                    10M              ;重试时间
                                    1W                ;过期时间
                                    1D                ;否定答案的TTL值
                    )

NS: 

  • name: 当前区域的名字
  • value:当前区域的某DNS服务器的名字,例如ns.magedu.com.; 注意:一个区域可以有多个NS记录
  • 例如:
                    node3.com.        IN         NS      ns1.node3.com.
                    node3.com.        IN         NS      ns2.node3.com.
  • 注意:
  • 相邻的两个资源记录的name相同时,后续的可省
  • 对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录

CNAME:

  • name: 别名的FQDN
  • value: 正工名字的FQDN
  • 例如:
                          www.node3.com.     IN      ZHANG    
                          www.node3.com.

子域授权:每个域的名称服务器,都是通过其上级名称服务器在解析库进行授权

类似根域授权tld

            .com.            IN         NS      ns1.com.
            .com.            IN       NS         ns2.com.
            ns1.com.     IN         A     2.2.2.1
            ns2.com.      IN         A     2.2.2.2

magedu.com. 在.com的名称服务器上,解析库中添加资源记录:【glue record:粘合记录(上一级授予给下一级)】

            node3.com.     IN     NS         ns1.node3.com.
           node3.com.     IN     NS         ns2.node3.com.
           node3.com.     IN     NS         ns3.node3.com.
            ns1.node3.com.     IN     A      3.3.3.1
            ns2.node3.com.     IN     A      3.3.3.2
            ns3.node3.com.     IN     A      3.3.3.3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值