谈谈对现代DNS的认知

版权声明:本文为EnweiTech原创文章,未经博主允许不得转载。 https://blog.csdn.net/English0523/article/details/81943480

DNS是什么?

通俗地讲:

DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。 

域名解析服务器,域名本身是个名字,而网站还是存放在服务器里面的,而服务器都是分配的IP,所以,就要域名服务器来把域名转换成IP,发送给服务器,然后服务器给你发送你想要的内容。

专业地讲:

DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。

DNS是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,一个IP地址可以有多个域名,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器通常为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。

DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。

DNS:Domain Name System 域名管理系统域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,这一命名的方法或这样管理域名的系统叫做域名管理系统。

申请了DNS后,客户可以自己为域名作解析,或增设子域名。客户申请DNS时,建议客户一次性申请两个。

DNS服务器在域名解析过程中的查询顺序为:本地缓存记录、区域记录、转发域名服务器、根域名服务器。

智能dns解析

随着原中国电信集团按南北地域分家,新的中国电信和网通集团随即成立,互联网的骨干网也被一分为二了,北有网通、南有电信。从此,细心的网民可以发现,有些经常访问的网站速度一下子慢了下来,有时候还有访问不到的情况出现。例如北方地区的网络用户访问中国网通的服务器会非常快,而访问中国电信的服务器时,感觉非常慢。这种现象不仅影响了网站的访问量,更严重的是它直接影响了一些经营性网站的经济效益。据分析,产生这个问题的根本原因是中国电信分家之后,电信与网通之间的互连存在问题。虽然信息产业部已经在规划南北互通计划,但在今后相当长的一段时期内,南北方网互连的问题还会长期存在。

智能DNS解析 [1]  是针对电信和网通互联互通不畅的问题推出的一种DNS解决方案。

智能解析原理

智能DNS策略解析很好的解决了上面所述的问题。DNS策略解析最基本的功能是可以智能的判断访问您网站的用户,然后根据不同的访问者把您的域名分别解析成不同的IP地址。如访问者是网通用户,DNS策略解析服务器会把你的域名对应的网通IP地址解析给这个访问者。如访问者是电信用户,DNS策略解析服务器会把您域名对应的电信IP地址解析给这个访问者。

    智能DNS策略解析还可以实现就近访问机制(即将推出)。有些用户在国外和国内都放置了服务器,使用我们的DNS策略解析服务可以让国外的网络用户访问你国外的服务器,国内的用户访问国内的服务器,从而使国内外的用户都能迅速的访问到你的服务器。

智能DNS策略解析还可以给你的多个主机实现负载均衡,这时来自各地的访问流量会比较平均的分布到你的每一个主机上.我们提供的这套DNS策略解析服务为用户提供了完善的管理工具,用户登陆这个管理后台后就可以方便的自行添加、修改、删除您的各种域名记录.包括域名A记录、CNAME记录、MX记录。

DNS发展阶段:普通dns——智能DNS——集群DNS——DNSPOD+CDN负载dns——HTTPDNS——…

传统的基于 UDP 协议的公共 DNS 服务极易发生 DNS 劫持,从而造成安全问题。

DNS 域名系统结构

Root 域名:DNS 域名使用时,规定由尾部句号来指定名称位于根或更高级别的域层次结构

Top Level 顶级域名:用来指示某个国家、地区或组织使用的名称的类型名称。如 .com

Second Level 域名:个人或组织在 Internet 上使用的注册名称。如 linkedkeeper.com

Third Level 域名:已注册的二级域名派生的域名。如 misc.linkedkeeper.com

DNS 解析过程

1. 浏览器中输入 www.linkedkeeper.com,发出解析请求。

2. 本机的域名解析器 resolver 程序查询本地缓存和 host 文件中是否为域名的映射关系,如果有则调用这个 IP 地址映射,完成解析。

3. 如果 hosts 与本地解析器缓存都没有相应的网址映射关系,则本地解析器会向 TCP/IP 参数中设置的首选 DNS 服务器(我们叫它 Local DNS 服务器)发起一个递归的查询请求。

4. 服务器收到查询时,如果要查询的域名由本机负责解析,则返回解析结果给客户机,完成域名解析,此解析具有权威性。如果要查询的域名,不由 Local DNS 服务器解析,但该服务器已缓存了此网址映射关系,则调用这个 IP 地址映射,完成域名解析,此解析不具有权威性。

5. 如果 Local DNS 服务器本地区域文件与缓存解析都失效,则根据 Local DNS 服务器的设置(是否递归)进行查询,如果未用开启模式,Local DNS 就把请求发至13台 Root DNS。如果用的是递归模式,此 DNS 服务器就会把请求转发至上一级 DNS 服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根 DNS 或把转请求转至上上级,以此循环。

6. Root DNS 服务器收到请求后会判断这个域名是谁来授权管理,并会返回一个负责该顶级域名服务器的一个 IP。

7. Local DNS 服务器收到 IP 信息后,将会联系负责 .com 域的这台服务器。

8. 负责 .com 域的服务器收到请求后,如果自己无法解析,它就会找一个管理 .com 域的下一级 DNS 服务器地址给本地 DNS 服务器。

9. 当 Local DNS 服务器收到这个地址后,就会找 linkedkeeper.com 域服务器,10、11重复上面的动作,进行查询。

10. 最后 www.linkedkeeper.com 返回需要解析的域名的 IP 地址给 Local DNS 服务器。

11. Local DNS 服务器缓存这个解析结果(同时也会缓存,6、8、10返回的结果)。

12. Local DNS 服务器同时将结果返回给本机域名解析器。

13. 本机缓存解析结果。

14. 本机解析器将结果返回给浏览器。

15. 浏览器通过返回的 IP 地址发起请求。

递归查询和迭代查询

  • 递归查询:如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文,而不是让该主机自己进行下一步的查询。

  • 迭代查询:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:你下一步应当向哪一个域名服务器进行查询。然后让本地域名服务器进行后续的查询,而不是替本地域名服务器进行后续的查询。

由此可见,客户端到 Local DNS 服务器,Local DNS 与上级 DNS 服务器之间属于递归查询;DNS 服务器与根 DNS 服务器之前属于迭代查询。

实际环境中,因为采用递归模式会导致 DNS 服务器流量很大,所以现在大多数的 DNS 都是迭代模式。

结合 Wireshark 分析 DNS 协议

HttpDns 是什么

HTTPDNS 利用 HTTP 协议与 DNS 服务器交互,代替了传统的基于 UDP 协议的 DNS 交互,绕开了运营商的 Local DNS,有效防止了域名劫持,提高域名解析效率。另外,由于 DNS 服务器端获取的是真实客户端 IP 而非 Local DNS 的 IP,能够精确定位客户端地理位置、运营商信息,从而有效改进调度精确性。

HttpDns 主要解决的问题

  • Local DNS 劫持:由于 HttpDns 是通过 IP 直接请求 HTTP 获取服务器 A 记录地址,不存在向本地运营商询问 domain 解析过程,所以从根本避免了劫持问题。

  • 平均访问延迟下降:由于是 IP 直接访问省掉了一次 domain 解析过程,通过智能算法排序后找到最快节点进行访问。

  • 用户连接失败率下降:通过算法降低以往失败率过高的服务器排序,通过时间近期访问过的数据提高服务器排序,通过历史访问成功记录提高服务器排序。

如何进行改造支持 HttpDns

目前,国内有一部分厂商已经提供了这个解析服务,可以直接使用第三方服务。目前,提供 HttpDns 解析服务的有:阿里云HttpDNS

阿里云的 HttpDNS 服务的 API 比较标准,直接发一个 Get 请求,带上请求参数,返回结果以 json 返回。

1

http://203.107.1.1/d?host=www.linkedkeeper.com

请求成功时,返回结果如下:

1

2

3

4

5

6

7

8

{

  "host""www.linkedkeeper.com",

  "ips": [

    "115.238.23.241",

    "115.238.23.251"

  ],

  "ttl": 57

}

在移动端,将由 HttpDns 获得的 IP 地址在原有 URL 的基础上,将域名替换为 IP,然后用新的 URL 发起 HTTP 请求。

【对比分析】DNS & CDN & HTTPDNS 原理简析

背景:

域名系统 DNS (Domain Name System ): 作为域名和 IP 地址相互映射的一个分布式数据库,通过 DNS 可以将域名迅速解析为对应的 IP 地址,从而方便我们访问 Internet 上的任意一台主机(或网站)。

CDN(Content Delivery Network): 其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。

HTTPDNS: 使用 HTTP 请求来模拟 DNS 请求

0x00 DNS 原理

DNS 服务器类型:

  • 内部 DNS :位于内网中,提供内网 DNS 服务,也具备 Internet DNS 缓存与转发能力
  • 外部 DNS:位于 Internet 中,提供 Internet 的 DNS 服务(包括 DNS 缓存与转发)
  • 主 DNS:提供 DNS 服务(包括查询,缓存写入)
  • 辅 DNS:只提供 DNS 查询服务,与主 DNS 同步数据库
  • 唯缓存 DNS:自身不具备 DNS 解析能力,但具有 DNS 缓存数据库
  • 转发 DNS:具备转发特性,能将 DNS 请求转发给其他 DNS 服务器
  • 权威 DNS: 自身数据库中存在与 DNS 请求相对应的映射
  • 非权威 DNS:不存在相对应的映射,而存在对应缓存查询结果

本地 DNS: 即在主机的 DNS 设置值

域名组成: [ 主机名 ].[ 二级域名 ].[ 顶级域名 ],因此可以根据域名来在 树形结构 中找到一条从根到叶的路径,叶节点即是权威 DNS 

树型DNS结构.PNG

DNS 服务器的功能:

  • 权威 DNS,自身具备解析能力
  • 转发 DNS
  • 缓存 DNS

在由路由器组成的局域网中,本地 DNS 设置为自动获取(路由器),路由器 DNS 设置为(ISP 提供的 DNS),主机通过浏览器访问 http://www.jianshu.com 时 DNS 请求-响应情况:

dns-process.png

上图的文字描述如下:

  1. 192.168.110.252 在浏览器访问 http://www.jianshu.com
  2. 192.168.110.252 检查本地 hosts 文件中是否存在 www.jianshu.com 对应的 IP
  3. 若无,192.168.110.252 继续检查本地 DNS 缓存中是否存在 www.jianshu.com对应的 IP
  4. 若无, 192.168.110.252 向本地 DNS 服务器发起 DNS 查询请求
  5. 路由器接收到 DNS 查询请求后,检查路由器 DNS 缓存
  6. 若无,路由器以外网地址 202.202.202.202 向本地 DSN 服务器 (ISP DNS)发起 DNS 查询请求
  7. ISP DNS 接收到 DNS 查询请求后,发现自己不是权威 DNS ,且无对应的缓存数据,于是将请求转发给 其他 DNS 服务器 :happy:
  8. 其他 DNS 服务器 接收到请求后,一样发现自己不是权威 DNS,且无对应的缓存数据,于是开始进行 DNS 迭代查询:将请求发送给 根域名服务器
  9. 根域名服务器 接收到请求后,将 顶级域名服务器 (.com) IP 发送给 其他 DNS 服务器
  10. 其他 DNS 服务器 根据 IP 将 DNS 查询请求发送给 顶级域名服务器
  11. 顶级域名服务器 接收到请求后,将 二级域名服务器 (jianshu.com) IP 发送给 其他 DNS 服务器
  12. 其他域名服务器 根据 IP 将 DNS 查询请求发送给 二级域名服务器
  13. 二级域名服务器 接收到请求后,发现自己是权威 DNS 服务器,于是将 www.jianshu.com 映射的 IP 120.132.92.21 发送给 其他域名服务器
  14. 其他域名服务器 接收到解析结果后,将 120.132.92.21 逐层返回传递下去,最终直至 192.168.110.252
  15. 192.168.110.252 接收到 www.jianshu.com 解析结果 120.132.92.21 ,根据 IP 与 www.jianshu.com 建立 TCP 连接,然后发起 HTTP 请求主页内容

 DNS 协议结构

具体详见:结合Wireshark分析DNS 协议

wireshark-dns.PNG

wireshark-cname.PNG

根据上面的 wireshark 分析结果可以看出:DNS 服务器返回的不一定是 IP ,在 DNS 请求中域名为别名时,则 DNS 服务器会返回其 A 记录;

如上图中 cdn-qn0.jianshu.io 域名解析返回的是 CNAME 类型结果 cname iduvrz0.qiniudns.com ,这表明 cdn-qn0.jianshu.io 是别名,其 cname 指向(A 记录)是 iduvrz0.qiniudns.com

因为 A 记录与 IP 映射,于是主机又向 DNS 服务器 发起 iduvrz0.qiniudns.com DNS 请求

DNS 循环与 CDN

DNS循环: 当权威 DNS 发现一个域名映射多个 IP 时,会使用 IP 轮询的方式来将 IP 平均分配给多个 DNS 请求,从而达到负载均衡的效果

CDN: 由于 DNS 循环时平均分配,不能根据不同服务器的负载情况优化分配,甚至如果有一台服务器宕机了,DNS 不能及时了解到该情况把该服务器的 IP 分配出去,便会造成无法访问;因此,在权威 DNS 和 服务器之间加上一个 CDN 层就显得很必要了;CDN 在具备调度分配服务器能力的基础上,能够同步服务器运行情况,然后根据该情况及时适当调整调度策略,从而使得负载均衡能力大大提高;

CDN功能:

  • 调度分配主机;负载均衡,根据 IP,网络流量情况分配最靠近,网络最通畅的 CDN 节点实现加速
  • 反向代理
  • 静态缓存;缓存静态资源(html,图片,音乐,视频等)
  • 防止 DDOS 攻击

CDN原理图:

cdn.PNG

通过在权威 DNS 服务器中配置 images.jianshu.com 的 cname 指向(A 记录)为 abc.qiniudns.com

在 CDN DNS 中将 abc.qiniudns.com 与 110.110.110.110, 220.220.220.220, 330.330.330.330 三个 IP 映射

就可以实现通过 CDN 给域名images.jianshu.com 加速

更多 CDN 知识参见: CDN 知识

HTTPDNS

为了防止传统 DNS 解析过程中出现的 DNS 劫持,DNS 缓存版本过旧,因 DNS 服务器转发功能而造成的无法精准定位用户位置的情况,于是通过使用 HTTPDNS 为主,传统DNS为辅 的机制来实现快速,实时,精准的 DNS 解析,从而提供给用户快速,安全稳定,最新的网站访问体验

HttpDNS 服务详解

对于互联网,域名是访问的第一跳,而这一跳很多时候会“失足”,导致访问错误内容,失败连接等,让我们在互联网上畅游的爽快瞬间消失,而对于这关键的第一跳,鹅厂也在持续深入研究和思考对策,今天小编就邀请了我们负责这块域名解析的好伙伴—廖伟健同学跟我们做一个分享。同时,今天小编也非常希望了解大伙对这块内容的感受,所以今天文中加入了投票功能,希望您投上神圣的一票哦。事不延迟,我们启程 !

但凡使用域名来给用户提供服务的互联网企业,都或多或少地无法避免在有中国特色的互联网环境中遭遇到各种域名被缓存、用户跨网访问缓慢等问题。那么对于腾讯这样的域名数量在10万级别的互联网公司来讲,域名解析异常的情况到底有多严重呢?每天腾讯的分布式域名解析监测系统在不停地对全国所有的重点LocalDNS进行探测,腾讯域名在全国各地的日解析异常量是已经超过了80万条。这给腾讯的业务带来了巨大的损失。为此腾讯建立了专业的团队与各个运营商进行了深度沟通,但是由于各种原因,处理效率及效果均不能达到腾讯各业务部门的需求。除了和运营商进行沟通,有没有一种技术上的方案,能从根源上解决域名解析异常及用户访问跨网的问题呢?

一、问题根源:

要解决问题,我们得先得了解下现在国内各ISP的LocalDNS的基本情况。国内运营商LocalDNS造成的用户访问异常可以归为下三类:

1、域名缓存:

域名缓存很好理解,就是LocalDNS缓存了腾讯的域名的解析结果,不向腾讯权威DNS发起递归,示意图如下:

HttpDNS

为何LocalDNS要把域名解析结果进行缓存呢?原因有以下几个:

(1)保证用户访问流量在本网内消化:国内的各互联网接入运营商的带宽资源、网间结算费用、IDC机房分布、网内ICP资源分布等存在较大差异。为了保证网内用户的访问质量,同时减少跨网结算,运营商在网内搭建了内容缓存服务器,通过把域名强行指向内容缓存服务器的IP地址,就实现了把本地本网流量完全留在了本地的目的。

(2)推送广告:有部分LocalDNS会把部分域名解析结果的所指向的内容缓存,并替换成第三方广告联盟的广告。

这种类型的行为就是我们常说的域名缓存,域名缓存会导致用户产生以下的访问异常:

A、仅对80端口的http服务做了缓存,如果域名是通过https协议或其它端口提供服务的,用户访问就会出现失败。比如支付服务、游戏通过指定端口连接connect server服务等。

B、缓存服务器的运维水平参差不齐,时有出现缓存服务器故障导致用户访问异常的问题。

2、解析转发:

除了域名缓存以外,运营商的LocalDNS还存在解析转发的现象。解析转发是指运营商自身不进行域名递归解析,而是把域名解析请求转发到其它运营商的递归DNS上的行为。正常的LocalDNS递归解析过程是这样的:HttpDNS

HttpDNS

而部分小运营商为了节省资源,就直接将解析请求转发到了其它运营的递归LocalDNS上去了:

HttpDNS

这样的直接后果就是腾讯权威DNS收到的域名解析请求的来源IP就成了其它运营商的IP,最终导致用户流量被导向了错误的IDC,用户访问变慢。

3、LocalDNS递归出口NAT:

LocalDNS递归出口NAT指的是运营商的LocalDNS按照标准的DNS协议进行递归,但是因为在网络上存在多出口且配置了目标路由NAT,结果导致LocalDNS最终进行递归解析的时候的出口IP就有概率不为本网的IP地址:

HttpDNS

这样的直接后果就是GSLB DNS收到的域名解析请求的来源IP还是成了其它运营商的IP,最终导致用户流量被导向了错误的IDC,用户访问变慢。

二、现有的解决方案及存在的问题:

运营商的LocalDNS解析域名异常,给对用户访问腾讯业务的体验造成了非常大的损害。那么我们是如何处理这些域名解析异常的问题的呢?

1、实时监控+商务推动:

这种方案是目前腾讯的运营团队一直在使用的方案。这种方案就是周期比较长,毕竟通过行政手段来推动运营商来解决这个问题是比较耗时的。另外我们通过大数据分析,得出的结论是Top 3的问题用户均为移动互联网用户。对于这部分用户,我们有什么技术手段可以解决以上的问题呢?

2、绕过自动分配DNS,使用114dns或Google public DNS:

这个方案看上去很美好,114dns是国内最大的中立缓存DNS,而Google又是秉承不作恶理念的互联网工程帝国巨鳄,而且腾讯的权威DNS又支持edns-client-subnet功能,能直接识别使用Google publicDNS解析腾讯域名的用户的IP地址,不会出现流量调度失效。但是问题来了:

(1)如何在用户侧构造域名请求:对于PC端的客户端来说,构造一个标准的DNS请求包并不算什么难事。但在移动端要向一个指定的LocalDNS上发送标准的DNS请求包,而且要兼容各种iOS和android的版本的话,技术上是可行的,只是兼容的成本会很高。

(2)推动用户修改配置极高:如果要推动用户手动修改PC的DNS配置的话,在PC端和手机客户端的WiFI下面还算勉强可行。但是要用户修改在移动互联网环境下的DNS配置,其难度不言而喻。

3、完全抛弃域名,自建connectcenter进行流量调度:

如果要采用这种这种方案的话,首先你就得要拿到一份准确的IP地址库来判断用户的归属,然后再制定个协议搭个connect center来做调度,然后再对接入层做调度改造。这种方案和2种方案一样,不是不能做,只是成本会比较高,尤其对于腾讯这种业务规模如此庞大的公司而言。

三、利用HttpDNS解决用户域名解析异常:

既然上面的方案都存在那么多的问题,那有没有一种调度精准、成本低廉、配置方便的基于域名的流量调度系统呢?答案是肯定的。腾讯公司的GSLB 团队推出了一种全新的域名解析调度系统:HttpDNS。HttpDNS是为移动客户端量身定做的基于Http协议和域名解析的流量调度解决方案,专治LocalDNS解析异常以及流量调度不准。详细介绍如下:

(1)HttpDNS基本原理:

HttpDNS

HttpDNS的原理非常简单,主要有两步:

A、客户端直接访问HttpDNS接口,获取业务在域名配置管理系统上配置的访问延迟最优的IP。(基于容灾考虑,还是保留次选使用运营商LocalDNS解析域名的方式)

B、客户端向获取到的IP后就向直接往此IP发送业务协议请求。以Http请求为例,通过在header中指定host字段,向HttpDNS返回的IP发送标准的Http请求即可。

(2)HttpDNS优势:

从原理上来讲,HttpDNS只是将域名解析的协议由DNS协议换成了Http协议,并不复杂。但是这一微小的转换,却带来了无数的收益:

A、根治域名解析异常:由于绕过了运营商的LocalDNS,用户解析域名的请求通过Http协议直接透传到了腾讯的HttpDNS服务器IP上,用户在客户端的域名解析请求将不会遭受到域名解析异常的困扰。

B、调度精准:HttpDNS能直接获取到用户IP,通过结合腾讯自有专利技术生成的IP地址库以及测速系统,可以保证将用户引导的访问最快的IDC节点上。

C、实现成本低廉:接入HttpDNS的业务仅需要对客户端接入层做少量改造,无需用户手机进行root或越狱;而且由于Http协议请求构造非常简单,兼容各版本的移动操作系统更不成问题;另外HttpDNS的后端配置完全复用现有权威DNS配置,管理成本也非常低。总而言之,就是以最小的改造成本,解决了业务遭受域名解析异常的问题,并满足业务精确流量调度的需求。

D、扩展性强:HttpDNS提供可靠的域名解析服务,业务可将自有调度逻辑与HttpDNS返回结果结合,实现更精细化的流量调度。比如指定版本的客户端连接请求的IP地址,指定网络类型的用户连接指定的IP地址等。

当然各位可能会问:用户将首选的域名解析方式切换到了HttpDNS,那么HttpDNS的高可用又是如何保证的呢?另外不同运营商的用户访问到同一个HttpDNS的服务IP,用户的访问延迟如何保证?

为了保证高可用及提升用户体验,HttpDNS通过接入了腾讯公网交换平台的BGP Anycast网络,与全国多个主流运营商建立了BGP互联,保证了这些运营商的用户能够快速地访问到HttpDNS服务;另外HttpDNS在多个数据中心进行了部署,任意一个节点发生故障时均能无缝切换到备份节点,保证用户解析正常。

四、接入效果及未来展望:

当前HttpDNS已在腾讯内部接入了多个业务,覆盖数亿用户,并已持续稳定运行超过一年时间。而接入了HttpDNS的业务在用户访问体验方面都有了非常大的提升。以某个接入HttpDNS的业务为例,该业务仅通过接入HttpDNS,在未做任何其它优化的情况下,用户平均访问延迟下降超过10%,访问失败率下降了超过五分之一,用户访问体验的效果提升非常显著。另外腾讯的HttpDNS服务除了在腾讯内部被广泛使用以外,也受到了业务同行的肯定。国内最大的publicDNS服务商114dns在受到腾讯DNS的启发下,也推出了HttpDNS服务。

在未来的日子里,腾讯GSLB团队将会在腾讯内部进一步推广HttpDNS服务,并将在实际业务的需求下对HttpDNS服务进行升级,如提供更为通用、安全、简单的接入协议,进一步提升接入用户的网络访问体验等等。希望HttpDNS能为各位在解决域名解析异常及全局流量调度失效方面提供一个简单、可行的思路,也欢迎各位业界同行与腾讯一起,就如何进行更精准的全局流量调度方面进行更为深入的讨论!

附录:有趣的DNS原理过程图

猜你喜欢

转载自blog.csdn.net/English0523/article/details/81943480
DNS