HTTPDNS基礎知識

article/2025/10/25 4:05:44

什么是 DNS

DNS(Domain Name System,域名系统),DNS 服务用于在网络请求时,将域名转为 IP 地址。能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的 IP 数串。

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

DNS(域名系统),Internet上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上的。

UDP协议不是可靠的传输协议,会丢包的。

HTTPDNS

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 请求。

本文转载自 linkedkeeper.com (文/张松然)  ©著作权归作者所有


http://chatgpt.dhexx.cn/article/uSX1af3n.shtml

相关文章

HTTPDNS调度

小编:对于互联网,域名是访问的第一跳,而这一跳很多时候会“失足”,导致访问错误内容,失败连接等,让我们在互联网上畅游的爽快瞬间消失,而对于这关键的第一跳,鹅厂也在持续深入研究和…

阿里云HttpDns接入

个人博客 http://www.milovetingting.cn 前言 简单记录集成阿里云HTTPDNS服务的过程 什么是HTTPDNS HTTPDNS是面向多端应用(移动端APP,PC客户端应用)的域名解析服务,具有域名防劫持、精准调度、实时解析生效的特性。 以上来自阿…

HTTPDNS解析

简介 HTTPDNS使用HTTP协议进行域名解析,代替现有基于UDP的DNS协议,域名解析请求直接发送到阿里云的HTTPDNS服务器,从而绕过运营商的Local DNS,能够避免Local DNS造成的域名劫持问题和调度不精准问题。 HTTPDNS是面向移动开发者推…

httpdns技术有什么用

dns解析现状问题1:暴利的dns劫持# 要说为啥会出现httpdns(先不用管意思,后面解释),那么,首先要说一下,现在的dns解析,是不是有啥问题? dns能有啥问题呢,就是…

什么是HTTPDNS跟随阿里的httpdns demo一步一步了解httpdns

阿里巴巴是这样说的 HTTPDNS使用HTTP协议进行域名解析,代替现有基于UDP的DNS协议,域名解析请求直接发送到阿里云的HTTPDNS服务器,从而绕过运营商的Local DNS,能够避免Local DNS造成的域名劫持问题和调度不精准问题。 分析demo htt…

HTTPDNS 快速入门

作者:林子 对于互联网,域名解析是访问的第一步,而这一步很多时候会导致访问速度慢、失败,甚至无法访问等,那么怎么解决这些问题呢?本文将带你快速入门 HTTPDNS,怎么解决 LocalDNS 异常导致用户访…

HttpDNS 服务详解

http://www.ttlsa.com/web/httpdns-detailed-service/ 摘要 对于互联网,域名是访问的第一跳,而这一跳很多时候会“失足”,导致访问错误内容,失败连接等,让我们在互联网上畅游的爽快瞬间消失,而对于这关键…

HTTPDNS 解析

简介 HTTPDNS使用HTTP协议进行域名解析,代替现有基于UDP的DNS协议,域名解析请求直接发送到阿里云的HTTPDNS服务器,从而绕过运营商的Local DNS,能够避免Local DNS造成的域名劫持问题和调度不精准问题。 HTTPDNS是面向移动开发者推…

HttpDNS简述

顾名思义,httpdns就是基于http协议进行域名解析的基础服务。可以用来代替传统的基于tcp/udp协议的dns服务。 HttpDNS解决的问题 HttpDNS 目的在于解决移动互联网中传统DNS 解析超时(异常)、域名劫持等问题: 传统DNS的现状&#x…

关于HTTPDNS,你知道多少?

导读: 全网域名劫持率高,域名解析失败、解析超时,IP调度不精准,域名解析变更生效不实时,这些问题是否一直困扰着你?作为网络请求最前置的环节,域名解析的稳定与精准程度直接决定了APP的访问体验…

Windows 桌面美化

大家都是程序员,我平时上班用mac,mac没啥想调整的,自己用的win想搞美化一点,就网上搜了不少东西。 这是我现在的桌面,桌面软件用的是wallpaper,stream18元有售。内部还有福利。。。。 我只保留了垃圾桶&…

WIN10桌面美化(折腾)

WIN10桌面美化(折腾) 先上我现在桌面的截图:我觉得mac dock挺好看的,所以我把任务栏改成Macdock 修改 :任务栏 修改工具 :MyDock (点击下载) 修改方法 : 先把win任务栏隐藏起来 下载解压

WIN10美化桌面

说到美化桌面这方面,每一个人都有自己的想法。没有最好,只有最适合。由于自己有强迫症这一点,所以我的方案是适合强迫症的。废话不多说,先上桌面截图吧: 下面说下步骤: 由于有强迫症,所以桌面一…

win10电脑桌面html,手把手教你美化win10电脑桌面的小技巧

电脑开机之后首先映入眼帘的是桌面,如果桌面背景不美观,会影响一整天的工作心情。美化Win10系统桌面大家只停留上更换桌面壁纸,改改图标又或者是字体,没什么个性。追求个性化的用户想要打造不一般的桌面,比如主题&…

win10主题美化(单)

网站:https://zhutix.com/tag/win10-zhuti/ Win10美化教程 以下内容新手必看必做,否则请做好重装系统的准备,一切后果自负 01、增加系统登录密码️ 并 关闭系统自动更新,可预防95%因美化引起的闪屏,万一闪屏可以在登录…

171029 windows10 桌面美化

最终效果 视频 https://www.youtube.com/watch?v6-5mromnf3c 壁纸 http://qph.ec.quoracdn.net/main-qimg-2cde0a53288265fd5dbe4285d60c3afc RocketDock https://rocketdock.com/download Win10-Theme https://limera1n.deviantart.com/art/Win10-Theme-for-RocketD…

WIn10桌面美化(一)Rainmeter的使用

随着时代的进步,人们使用电脑的频率越来越高,死板的桌面已经无法满足我们的需求,下面我就简单介绍美化桌面的方法。 这里我使用的是一款名为 Rainmeter 的软件 ,Rainmeter原本是一个系统状态监视软件,由于其强大的可定…

美化你的Xfce桌面

Xfce的鼎鼎大名你是不是早有耳闻了?Xfce是一个很好的轻量级桌面环境,占用系统资源少是他的优点,你可能会在一些嵌入式系统中见到他的身影,但他也有一个缺点,那就是默认的界面看起来有点旧。但这是不Xfce的错&#xff0…

Win10桌面美化(桌面数字时钟,悬浮侧边栏、透明任务栏、底部居中软件图标)

生命在于折腾,一个简洁清爽的界面可以让人心情愉悦,整理分享一下我的Win10桌面美化历程,先上效果图: 首先得准备一张好看的壁纸,文中涉及到的图片,软件已经全部打包,下载链接在文末。 1. 桌面数…

Win10值得推荐的软件,提升效率和桌面美观

某乎真强,删后留存 桌面镇楼,最近重装了win10,感觉系统又变得流畅了许多? 因为没有备份,所以软件都重新装了一遍,下面来记录一下Win10下不错的软件吧。 mac的可以查看另一篇文章:MAC值得推荐…