DNS与HTTPDNS 笔记

DNS域名解析

我们在浏览一个网页时,人们很难去记住访问网页的真实IP地址,通过域名与IP的绑定,实现知道域名即可访问相对应的网页。所以需要一个地址谱,记录所有域名与IP绑定的一个表。这就是DNS服务器。

DNS服务器结构

dns结构为树状层次结构。

根DNS服务器
   |---顶级域名DNS服务器(.com  .cn  .net)
          |--权威DNS服务器(xxx.com  xxx.cn  xxx.net)

DNS解析流程

当我们需要访问www.baidu.com时

// 本地 DNS有缓存时
客户端   =>   本地DNS

注* 本地DNS缓存分为两种
1. 本地设备的DNS表,
2. 本地运营商(电信,移动等)DNS表
// 本地 DNS无缓存时
客户端   =>   根DNS   =>   顶级DNS   =>   权威DNS   =>   具体IP地址
注* 最后一步是为了负载均衡时反向代理服务器返回集群中某一个IP
DNS与HTTPDNS 笔记_第1张图片
3F145415-92B2-47CE-8296-7D5AA7965D85.png

全局负载均衡器

对于复杂的应用,尤其是跨地域跨运营商的大型应用,就需要专门的设备来做这件事,就是全局负载均衡器,为了解决不同的运营商客户,可以访问相同运营商机房中的资源。

客户端   =>   根DNS   =>   顶级DNS   =>   权威DNS    =>   第一层GSLB     =>   第二次GSLB     =>    具体IP地址 
第一层GSLB :判断用户是哪个运营商
第二层GSLB :判断用户是哪个区域返回多个内部负载均衡的地址 
DNS与HTTPDNS 笔记_第2张图片
加入全局负载均衡策略.png

普通的DNS存在的问题

1.该地址可能已经发送了改变,导致访问不到从而重新进行DNS域名解析这条漫长的路。
2.由于缓存的DNS路径与实际去往的地址路径有偏差,导致“绕远路”。
3.如果A运营商转发给B运营商去处理,B运营商转发给到C运营商去解析,那么就会存在很慢问题

HTTP DNS

HTTP DNS一般用于移动端的一门技术,由于移动端发起的请求时的IP地址可以判断运营商,通过HTTPDNS服务器集群获取对应的DNS域名解析得到最近地址,而不走传统的去本地DNS解析。由于传统的DNS表我们无法去干预它,不能对其进行控制。通过HTTPDNS解决了可以通过客户端/HTTPDNS服务器去控制DNS表的更新及修改。

客户端   =>  HTTPDNS服务器IP表   =>客户端(缓存到本地)

当手机访问一个地址的时候,检查本地是否缓存,如果这个缓存跟本地的DNS不一样,就交给手机应用去做,由HTTPDNS代替了本地的DNS服务器,而非整个运营商统一做,如何更新,何时更新,手机应用客户端可以与服务器协调来做

你可能感兴趣的:(DNS与HTTPDNS 笔记)