zoukankan      html  css  js  c++  java
  • 通过负载均衡器+域名实现容灾切换(2)DNS解析过程理解

    • DNS

    域名系统(Domain Name System),是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。
    DNS系统中,常见的资源记录类型有:
    主机记录(A记录):RFC 1035定义,A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。
    别名记录(CNAME记录): RFC 1035定义,CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录。
    IPv6主机记录(AAAA记录): RFC 3596定义,与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址。
    服务位置记录(SRV记录): RFC 2782定义,用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等。
    NAPTR记录:RFC 3403定义,它提供了正则表达式方式去映射一个域名。NAPTR记录非常著名的一个应用是用于ENUM查询。
    NS记录(Name Server记录):记录的是域名服务器的记录,用来指定该域名应该由哪个DNS服务器进行解析。NS记录优先于A记录。即,如果一个主机地址同时存在NS记录和A记录,则A记录不生效。这里的NS记录只对子域名生效。

    • TTL

    TTL值全称是“生存时间(Time To Live)”,简单的说它表示DNS记录在DNS服务器上缓存时间。

    • FQDN

    全限定域名(Fully Qualified Domain Name):同时带有主机名和域名的名称(通过符号“.”间隔)。
    例如:主机名是bigserver,域名是mycompany.com,那么FQDN就是bigserver.mycompany.com。
    全限定域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。
    从全限定域名中包含的信息可以看出主机在域名树中的位置。DNS解析流程:首先查找本机HOSTS表,有的直接使用表中定义,没有查找网络连接中设置的DNS 服务器由他来解析。


    ============================================
    DNS查询过程
    ===========================================

    DNS查询有两种方式:递归和迭代
    DNS客户端设置使用的DNS服务器一般都是递归服务器,它负责全权处理客户端的DNS查询请求,直到返回最终结果。而DNS服务器之间一般采用迭代查询方式。

    以查询 zh.123.com为例:
    客户端发送查询报文"query zh.123.com"至DNS服务器,DNS服务器首先检查自身缓存,如果存在记录则直接返回结果。
    如果记录老化或不存在,则“转3”
    DNS服务器向根域名服务器发送查询报文"query zh.123.com",根域名服务器返回顶级域.com的权威域名服务器地址。
    DNS服务器向.org 域的权威域名服务器发送查询报文"query zh.123.com",得到二级域.123.com的权威域名服务器地址。
    DNS服务器向.123.com域的权威域名服务器发送查询报文"query zh.123.com",得到主机zh的A记录,存入自身缓存并返回给客户端。
    本文描述如果GSLB对DNS解析返回的是单个A地址。站点故障情况下,DNS缓存机制对容灾切换的影响。详细影响见“4.BS架构GLSB容灾切换原理&局限”,本文主要尝试寻找是否解决缓存导致切换时长过长的问题。

  • 相关阅读:
    iOS 数字滚动 类似于老
    iOS 实现转盘的效果
    iOS 摇一摇的功能
    APP上架证书无效:解决
    iOS--UIAlertView与UIAlertController和UIAlertAction之间的事儿
    ios 获取字符串所需要占用的label的高度
    适配----Autolayout
    OC中 block 的用法
    微信小程序如何播放腾讯视频?
    IOS-UICollectionView
  • 原文地址:https://www.cnblogs.com/yickel/p/10961959.html
Copyright © 2011-2022 走看看