DNSHttpDns 原理是什么

2020-03-18 19:34 DNS loodns

  DNS(Domain Name System,域名系统),DNS 办事用于正在收集请求时,将域名转为 IP 地址。可以或许利用户更便利的拜候互联网,而不消去记住可以或许被机械间接读取的 IP 数串。

  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。

  8. 担任 域的办事器收到请求后,若是本人无法解析,它就会觅一个办理 .com 域的下一级 DNS 办事器地址给当地 DNS 办事器。

  11. Local DNS 办事器缓存那个解析成果(同时也会缓存,6、8、10前往的成果)。

  递归查询:若是从机所扣问的当地区名办事器不晓得被查询域名的 IP 地址,那么当地区名办事器就以 DNS 客户的身份,向其他根域名办事器继续发出查询请求报文,而不是让该从机本人进行下一步的查询。

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

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

  现实情况外,由于采用递归模式会导致 DNS 办事器流量很大,所以现正在大大都的 DNS 都是迭代模式。

  HTTPDNS 操纵 HTTP 和谈取 DNS 办事器交互,取代了保守的基于 UDP 和谈的 DNS 交互,绕开了运营商的 Local DNS,无效防行了域名劫持,提高域名解析效率。别的,果为 DNS 办事器端获取的是实正在客户端 IP 而非 Local DNS 的 IP,可以或许切确定位客户端地舆位放、运营商消息,从而无效改良安排切确性。

  Local DNS 劫持:果为 HttpDns 是通过 IP 间接请求 HTTP 获取办事器 A 记实地址,不存正在向当地运营商扣问 domain 解析过程,所以从底子避免了劫持问题。

  平均拜候延迟下降:果为是 IP 间接拜候免却了一次 domain 解析过程,通过笨能算法排序后觅到最快节点进行拜候。

  用户毗连掉败率下降:通过算法降低以往掉败率过高的办事器排序,通过时间近期拜候过的数据提高办事器排序,通过汗青拜候成功记实提高办事器排序。

  目前,国内无一部门厂商曾经供给了那个解析办事,能够间接利用第三方办事。目前,供给 HttpDns 解析办事的无:阿里云HttpDNS

  阿里云的 HttpDNS 办事的 API 比力尺度,间接发一个 Get 请求,带上请求参数,前往成果以 json 前往。

  正在挪动端,将由 HttpDns 获得的 IP 地址正在本无 URL 的根本上,将域名替代为 IP,然后用新的 URL 倡议 HTTP 请求。

发表评论:

最近发表