当前位置: 首页 > news >正文

网络协议之传统DNS存在的问题以及httpdns - 详解

网络协议之传统DNS存在的问题以及httpdns - 详解

写在前面

传统的DNS虽然应用的非常广泛,但是也是存在一些疑问的,本文就来一起来看下,以及其解决方案http dns。

1:传统DNS存在的问题

1.1:域名缓存问题

用户某次访问时,可能已经有了距离用户更近的服务IP,但是因为还是使用缓存的那种服务IP(注意并不是不能用了),所以就无法拿到最优的那个IP了。

1.2:域名转发疑问

存在该困难的原因是,有些运营商,自己并不会取获取DNS信息,而是将这个工作转发到其他的运营商来做,而DNS服务器来返回IP地址时会根据当前请求者所在的运营商,优先返回同一个运营商的IP地址,这样访问的速度会更快,而因为中间转发了一次,因此,最终返回的IP地址就不一定和用户是同一个运营商了。如下:
在这里插入图片描述

1.3:NAT

域名转发,可能会造成返回非同一个运营商下IP的问题。

1.4:域名更新难题

传统的DNS服务器解析流程如下:
在这里插入图片描述
这里的域名更新问题,就出在本地DNS服务器上,这个本地DNS服务器,是网络所属的运营商提供的,是不受我们自己控制的,而不同的运营商提供的本地DNS服务器的质量也是参差不齐,所以,就会存在对缓存处理上的不足,比如明明已经过期了却还不重新请求(忽略TTL,一种不负责的做法),而源于这不是我们自己的服务,所以对此也无能为力。

1.5:解析延迟

传统的DNS服务器解析流程如下:
在这里插入图片描述
一层套一层,应该多个请求,对于延时比较敏感的应用不是很友好,甚至可能造成解析超时。

2:httpDNS

httpDNS就是搭建一个基于http协议的服务或者是服务集群,然后通过访问这些http服务来获取IP地址,而因为是自己的服务,所以对于过期时间,更新啥的都好说,而不用受制于运营商的本地DNS缓存。因为需要绕过默认的DNS解析流程,所以需要额外的SDK的支持。但这种方式目前主要还是使用在手机移动客户端,架构如下:
在这里插入图片描述
主要是缓存设计,和智能调度两部分。分别看下。

2.1:缓存

为了方便理解httpDNS缓存,来和应用架构的缓存做个对比:
在这里插入图片描述

  • 同步更新
    同步更新就是,倘若是本地缓存过期,则直接请求httpDNS服务器,对应到应用架构就是Cache-aside 机制,即先读缓存,缓存读不到再请求HTTP DNS服务,如下图:
    在这里插入图片描述
    这种方式好处是保证数据最新,坏处是对httpDNS服务器在过期那一刻,可能会存在并发访问,增加httpDNS服务器的压力,当然也是一种浪费。
  • 异步更新
    对应到应用架构缓存就是refresh-aside 机制,即借助异步的方式来更新缓存,好处是保证只有一个请求更新缓存,坏处是如果是更新不及时可能会读到过期的数据。如下图:
    在这里插入图片描述

2.2:智能调度

否存活(健康检测),为了能够综合处理这些信息,就必须智能调度这样的一个组件。当然HTTP DNS也需要开放接口来让用户对调度策略进行查看和管理,所以最终架构如下:就是为了能够保证返回最优的一个IP地址给客户端,需要综合考虑各方面的因素,除了距离之外,还要考虑,服务器响应速度(sdk上报),错误率(sdk上报),服务是
在这里插入图片描述

写在后面

参考文章列表

网络协议之DNS 。

http://www.zskr.cn/news/80047.html

相关文章:

  • 2025年AI人工智能培训机构怎么选?这份避坑指南帮你锁定高性价比机构 - 品牌测评鉴赏家
  • AI浪潮下的冷思考:技术、就业与我们的未来
  • 信奥赛辅导机构深度解析:五家特色品牌助你精准选择 - 品牌测评鉴赏家
  • 需求获取
  • 20251209周二日记
  • 搞了3年云原生,我才发现“平台工程”的终点是开发者体验
  • 2025年优质SAT辅导机构概览与选择指南 - 品牌测评鉴赏家
  • #题解#洛谷P7167 喷泉#ST表#区间最值#
  • 电源芯片的选择
  • 【算法】可获得的最大点数问题
  • 【AI】第二篇 为什么会有神经网络
  • qemu安装aix7.2
  • C语言深度解剖:第一章关键字(五) - 实践
  • CF547B 题解
  • 10403_基于Springboot的旅游管理系统
  • MMH_蓝桥杯Python_语法基础_列表与循环语句基础
  • P5304 [GXOI/GZOI2019] 旅行者 题解
  • the attitude
  • win10 vscode 使用ssh登录 ubuntu
  • 2025年国内正规的微动开关工厂怎么选购,家电微动开关/大电流微动开关/新能源微动开关/小型微动开关/汽车微动开关供货商怎么选 - 品牌推荐师
  • 2025年河南工业大学2025新生周赛 (7)
  • 第四章 串
  • P3076 [USACO13FEB] Taxi G 题解
  • 102302142罗伟钊第四次作业
  • [ABC212D] Querying Multiset 题解
  • 2025年度不锈钢板直销优质厂家TOP榜单盘点,不锈钢中厚板/201不锈钢板/不锈钢热轧板/不锈钢板现货批发哪家好 - 品牌推荐师
  • Troubleshooting一定要逻辑严谨与逻辑自洽
  • 企业微信相关文档
  • 实用指南:【鸿蒙生态共建】鸿蒙6适配-API变化与兼容(2.UI交互与基础能力篇)--《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利
  • 【自荐】OneClip—— 一款简单专业的 macOS 剪贴板管理工具