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

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

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

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

DNS分布式特点

基于授权将功能分散出去,让多个主机分别处理
数据放在多个位置,导致数据在多处存储不一致,数据访问的不确定结果 一致性:任何时候,每个主机返回数据是一致的
分区容错性:DNS,一个主机不在线时,另一个主机允许继续提供服务(分布式系统都应该满足)
结果可用性:DNS,任何时候,无论有多少个主机宕机,都能得到结果(不确定结果) E.g DNS域名分布式
    满足分区容错性,结果可用性
    牺牲一致,但最终结果一致

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

缓存:进程内存中维护的一段内存空间
  hash:名称<Domain>-----值<IP>
  查询:O()
  失效前,一直都在使用缓存 缓存的作用
  缓存时长:TTL
    长:长时间内,都能快速解析。别人修改无从得知
    短:数据实时一致,服务器压力、负荷大,带宽消耗多
多级缓存
  客户端<程序提供的缓存>------》DNS<本地:提供缓存>-----》迭代得出结果
.CN域名属中国国别域名,CNNIC是注册局,CN含义为中国。注册时要求实名。.COM域名属国际通用域名,ICANN是注册局,含义为公司,但任何人都可注册,且不强制实名。
区别如下:
、访问范围与使用范围
com和.cn域名均可全球访问,并允许企业和个人注册,.com的使用范畴和基础人群更大一些。
、注册管理地点
.cn域名注册管理是在中国,成功后必须要提供真实有效的资料,审核通过后才能正常使用;.com域名注册管理在美国,并不强制要求提供资料。
、国家范围
.cn为中国国别域名,.com为国际域名。
、注册要求
.cn注册必须实名,.com则不一定实名。
、域名顶级类别
.com 是国际顶级域名;而.cn 是国家级顶级域名
、使用角度
.com 是立即注册就立即成功,就直接可以做解析使用 ;而.cn 只能公司注册,需要提供公司的相关证件审核通过才算注册成功,而且注册成功了之后默认是锁定状态,需要提供备案号或者绑定海外空间解锁申请给域名商才能解锁做解析。

一次完整的解析请求

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. IN SOA ns.magedu.com. nsadmin.magedu.com. (
   ; 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. [] IN NS ns1.magedu.com.
  magedu.com. [] IN NS ns2.magedu.com.
  magedu.com. [] IN NS ns3.magedu.com.
或简写
  magedu.com. [] IN NS ns1.magedu.com.
         [] IN NS ns2.magedu.com.
         [] IN NS ns3.magedu.com.

2.3、MX记录

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

2.4、A记录

name-----某主机的FQDN
value-----主机名对应主机的IP地址 E.g
  www.magedu.com. [] IN A 1.1.1.1
  www.magedu.com. [] IN A 1.1.1.2 注:
  a)轮循:同一个名字有多个不同的值,通过多条记录定义多个不同的值
     第一次请求:解析为1.1.1.,第二次请求:解析为1.1.1.,... 依次循环
 
 b)同一个值有多个不同的定义名字,仅代表通过不同的名字可以找到同一个主机
    mx1.magedu.com. [] IN A 1.1.1.3
    mx2.magedu.com. [] IN A 1.1.1.3   c)泛域名解析:避免用户写错名称时,给错误答案。通过泛域名解析进行解析至某特定地址
    *.magedu.com. [] IN A 1.1.1.4
    magedu.com. [] 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. [] IN PTR www.magedu.com.
  注:可省略网络地址及后缀,主机地址需要反写
    4.3. [] IN PTR www.magedu.com.

2.6、CNAME记录

name 别名
value 正式名字的FQDN E.g :
  web.magedu.com. [] IN CNAME www.magedu.com. 一个主机有多个名字时,用别名实现   E.g :
    magedu.com. [] IN A 1.1.1.1
    web.magedu.com. [] IN CNAME www.magedu.com
    mail.magedu.com. [] IN CNAME www.magedu.com
    pop3.magedu.com. [] IN CNAME www.magedu.com
https://blog.51cto.com/4593973/2147681

三十三、DNS资源记录类型和请求流程的更多相关文章

  1. dns资源记录类型

    资源记录的定义格式: 语法:name [TTL] IN RR_TYPE value SOA: name:当前区域的名字,例如"magedu.com.",或者"2.168. ...

  2. DNS资源记录的七类

    在Microsoft产品系列中,ADDS是一个很出色的设计平台,说到AD,那么我们就不得不提起他的合作伙伴--DNS,相信大家都知道,DNS在AD中的重要地位,就如男人和女人一样,要想有所作为,他们2 ...

  3. DNS 资源记录解释

    ;SOA授权的开始;;SOA或授权的开始记录用来表示区域的启动;每个区域必须只有一个SOA记录;从名字服务器,在不能和主服务器通信的情况下,将提供12小时DNS服务, 在指定的时间后停止为那个区域提供 ...

  4. Java开发笔记(三十三)字符包装类型

    正如整型int有对应的包装整型Integer那样,字符型char也有对应的包装字符型Character.初始化字符包装变量也有三种方式,分别是:直接用等号赋值.调用包装类型的valueOf方法.使用关 ...

  5. DNS解惑之资源记录(2)

    1.区域解析库 每个域都要维护一个区域解析库,而区域解析库都是由一条条的记录组成的,而每一条记录就被称为资源记录(resource  record  RR). 我们知道大多数域名下面都不仅仅有www服 ...

  6. DNS资源纪录(Resource Record)介绍

          http://dns-learning.twnic.net.tw/bind/intro6.html 类型 SOA NS A AAAA PTR CNAME MX -------------- ...

  7. 域名注册域名解析域名绑定 dns服务器解析 域名记录的添加 记录类型含义@ www 访问域名请求过程

    创建一个web应用,简言之就是访问一个域名,可以到达一个地方,这个地方就是你存放供别人查看的文件的地方 就像一条绳,从这头拉一下,可以拉出来另一头的东西 主要有两个部分: 域名 虚拟主机(空间) 1. ...

  8. DNS记录类型介绍(A记录、MX记录、NS记录等)

    DNS A记录 NS记录 MX记录 CNAME记录 TXT记录 TTL值 PTR值 建站名词解释:DNS A记录 NS记录 MX记录 CNAME记录 TXT记录 TTL值 PTR值 泛域名 泛解析 域 ...

  9. 【转】DNS记录类型介绍(A记录、MX记录、NS记录等)

    DNS A记录 NS记录 MX记录 CNAME记录 TXT记录 TTL值 PTR值 建站名词解释:DNS A记录 NS记录 MX记录 CNAME记录 TXT记录 TTL值 PTR值 泛域名 泛解析 域 ...

随机推荐

  1. 【转载】使用Class.getResource和ClassLoader.getResource方法获取文件路径

    自从转投Java阵营后,一直发下Java程序的路径读取异常麻烦,因此查阅了比较多的版本内容,整合了一份自己的学习笔记.主要使用Class及通过ClassLoader来动态获取文件路径. 查阅链接如下: ...

  2. JavaScript,遍历,for

    (for循环,for...in ,for...of ,forEach)(:for in总是得到数组,字符串的下标,而for of和forEach一样,是直接得到值) (forEach() 方法用于调用 ...

  3. MD 使用 i5ting_toc 转换成 HTML

    MD 使用 i5ting_toc 转换成 HTML 本文作者:天析 作者邮箱:2200475850@qq.com 发布时间: Wed, 10 Jul 2019 13:59:00 +0800 前言 md ...

  4. linux 命令 wc

    语法:wc [选项] 文件… 说明:该命令统计给定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取.wc同时也给出所有指定文件的总统计数.字是由空格字符区分开的最大字符串. (1) 统 ...

  5. Linux 知识

    linux下如何查看某软件是否已安装 因为linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了.总结起来就是这样几类: 1.rpm包安装的,可以用rpm -qa看到,如果要查 ...

  6. python之反射机制与callattr()、issubclass()、isinstance、type()相关

    一.反射机制 * 反射可以理解为 通过字符串的形式,动态导入模块: 利用字符串的形式,在对象(模块)中操作(查找/获取/删除/添加)成员,是一种基于字符串的事件驱动! 反射机制的内置函数 # hasa ...

  7. C++——Big Three(copy ctor、copy op=、dtor)

    Big Three C++ 中Big Three指的是copy ctor 和 copy op=  和  dtor m_data是个字符串指针.一般而言,处理字符串,都是使用指针,在需要存储字符的时候再 ...

  8. 个性化召回算法实践(二)——LFM算法

    LFM算法核心思想是通过隐含特征(latent factor)联系用户兴趣和物品,找出潜在的主题和分类.LFM(latent factor model)通过如下公式计算用户u对物品i的兴趣: \[ P ...

  9. linux网络编程之socket编程(十一)

    今天继续学习socket编程,这次主要是学习超时方法的封装,内容如下: ①.alarm[不常用,了解既可] 它的实现思路是这样的: 但是这种方案有一定的问题,因为闹钟可能会作为其它的用途,这时所设置的 ...

  10. Mysql 安装,及其闪退的问题解决

    1.下载 Mysql 64下载链接(华军软件) http://soft.onlinedown.net/soft/3573.htm 2.安装 2.1 傻瓜式安装 不再赘述,略过. 2.2安装完成打开闪退 ...