码迷,mamicode.com
首页 > 其他好文 > 详细

DNS资源记录类型和请求流程

时间:2019-10-21 20:59:24      阅读:439      评论:0      收藏:0      [点我收藏+]

标签:www   通过   数字   16px   不可   区域解析库   ip地址   aaa   smtp   

DNS分布均衡(Load balance)的实现

在上级数据库中写两条记录(同一个名字对应对个IP时),DNS会自动将请求基于轮循方式,分给每个DNS服务器

例如:
  第一次将请求给第一个DNS,第二次将请求给第二个DNS,... 依次循环

注:客户端连接第一个主机连接不上时,将请求都给第二个主机,linux还可以给第三个DNS服务器   第一个找不到时,不会再让第二个DNS、第三个DNS去找(因为根域都找不到)

 

DNS分布式特点

基于授权将功能分散出去,让多个主机分别处理
数据放在多个位置,导致数据在多处存储不一致,数据访问的不确定结果

一致性:任何时候,每个主机返回数据是一致的
分区容错性:DNS,一个主机不在线时,另一个主机允许继续提供服务(分布式系统都应该满足)
结果可用性:DNS,任何时候,无论有多少个主机宕机,都能得到结果(不确定结果)

E.g  DNS域名分布式
    满足分区容错性,结果可用性
    牺牲一致,但最终结果一致

 

缓存定义、作用、多级缓存

缓存:进程内存中维护的一段内存空间
  hash:名称<Domain>-----值<IP>
  查询:O(1)
  失效前,一直都在使用缓存

缓存的作用
  缓存时长:TTL
    长:长时间内,都能快速解析。别人修改无从得知
    短:数据实时一致,服务器压力、负荷大,带宽消耗多
多级缓存
  客户端<程序提供的缓存>------》DNS<本地:提供缓存>-----》迭代得出结果

 

一次完整的解析请求

1)本地主机发起递归,运营商缓存DNS迭代

技术图片

 

2) 本地主机发起递归,本地缓存DNS迭代

技术图片

 


 

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

资源记录:Resource Record ---RR 详细记录所有主机名和IP对应的关系

  记录类型:A,AAAA,PTR,SOA,NS ,CNAME,MX

SOA:Start Of Authority 起始授权记录-----一个区域解析库有且仅能有一个SOA记录,而必须为解析库的第一条记录
    在解析库第一条     只能有一个SOA记录
A:internet Address 作用FQDN
--->IP AAAA :FQDN---> IPv6 PTR:PoinTeR(指针) ,IP --->FQDN NS : Name Server ---专用于标明当前区域的负责人DNS服务器 CNAME:Canonical Name 别名记录 MX:Mail eXchanger 邮件交换器---标明当前域内用于接收邮件的主机

 

二、资源记录定义的格式:

语法:name [TTL]  IN  RR_TYPE  vlaue

1)TTL: 可从全局继承,解析结果的缓存时长,单位是"s" 秒;IN:internet

2)@ 可用于引用当前区域的名字

3)相邻多个资源记录,name相同时,可以省略name

4)每个NS,MX记录对应一个A记录

 2.1、SOA记录

name-----当前区域的名字(正、反) 例如:"magedu.com."
value-----由多部分组成
   当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字    主DNS名或区域名(@)    当前区域管管理员邮件地址(不能用@,需.替代):linux@magedu.com. -----》linux.magedu.com.   (主从DNS服务器协调属性及否定答案的统一TTL值)     (       serial <=10位 ; 表示序列号 而分号表示注释       refresh    ; 刷新       retry     ; 重试       expire     ; 过期       TTL       ; 否定答案的TTL     ) 默认s
出现在解析库中任何一个名字,都需要最后加一个点结尾,必不可少的
例如: magedu.com.
86400 IN SOA ns.magedu.com. nsadmin.magedu.com. (    20170916 ; serial    10M ; refresh    5M ; retry    1W ; expire    1D ; TTL )

 

2.2、NS 记录

name-----当前区域名字
value-----当前区域某DNS服务器的名字,例如:ns.magedu.com.

注:一个区域可以有多个NS记录,需要多条记录来实现   相邻的两个资源记录的name相同时,后续的可省略
  对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录
E.g:   magedu.com. [
86400] IN NS ns1.magedu.com.   magedu.com. [86400] IN NS ns2.magedu.com.   magedu.com. [86400] IN NS ns3.magedu.com. 或简写   magedu.com. [86400] IN NS ns1.magedu.com.          [86400] IN NS ns2.magedu.com.          [86400] IN NS ns3.magedu.com.

 

2.3、MX记录

name-----当前区域的名
value------当前区域的某邮件服务器(smtp服务器)的主机名,
一个区域内,MX记录可有多个;但是每个记录的value之前应该有一个数字[0-99:优先级递减]表示此服务器的优先级:数字越小优先级越
注:对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录
E.g:   magedu.com. [86400] IN MX 10 mx1.magedu.com.   magedu.com. [86400] IN MX 20 mx2.magedu.com.

 

2.4、A记录

name-----某主机的FQDN
value-----主机名对应主机的IP地址

 E.g
  www.magedu.com. [86400] IN A 1.1.1.1
  www.magedu.com. [86400] IN A 1.1.1.2

注:
  a)轮循:同一个名字有多个不同的值,通过多条记录定义多个不同的值
       第一次请求:解析为1.1.1.1,第二次请求:解析为1.1.1.2,... 依次循环
 
 b)同一个值有多个不同的定义名字,仅代表通过不同的名字可以找到同一个主机     mx1.magedu.com. [
86400] IN A 1.1.1.3     mx2.magedu.com. [86400] IN A 1.1.1.3   c)泛域名解析:避免用户写错名称时,给错误答案。通过泛域名解析进行解析至某特定地址     *.magedu.com. [86400] IN A 1.1.1.4     magedu.com. [86400] IN A 1.1.1.4

 

2.5、PTR记录

name----IP,有特定格式:把IP地址反过来写,1.2.3.4 --要写作-> 4.3.2.1;而有特定后缀:in-add.arpa.
      完整写法 4.3.2.1.in-addr.arpa. value FQDN   例如:     4.3.2.1.in-addr.arpa. [86400] IN PTR www.magedu.com.   注:可省略网络地址及后缀,主机地址需要反写     4.3.2 [86400] IN PTR www.magedu.com.

 

2.6、CNAME记录

name 别名
value 正式名字的FQDN

E.g :
  web.magedu.com. [86400] IN CNAME www.magedu.com.

一个主机有多个名字时,用别名实现

  E.g :
    magedu.com.      [86400] IN A 1.1.1.1
    web.magedu.com.  [86400] IN CNAME  www.magedu.com
    mail.magedu.com. [86400] IN CNAME  www.magedu.com
    pop3.magedu.com. [86400] IN CNAME  www.magedu.com

DNS资源记录类型和请求流程

标签:www   通过   数字   16px   不可   区域解析库   ip地址   aaa   smtp   

原文地址:https://www.cnblogs.com/liuzhiyun/p/11710113.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!