移动解析新思路:HttpDNS解决方案


移动解析新思路:HttpDNS解决方案

文章插图
项目背景
某股份制银行,部分省份的用户报告无法访问该行手机银行和主页,排查发现通过DNS解析手机银行和微信银行等域名得到错误结果 。
某企业用户,内部用户反馈部分域名无法解析,经排查,4G用户可以正常解析,家庭宽带用户无法解析 。
传统DNS
VS
HttpDNS
【移动解析新思路:HttpDNS解决方案】传统DNS
传统的智能DNS解析过程利用地址库来判断用户来源:
移动解析新思路:HttpDNS解决方案

文章插图
传统的智能DNS存在被污染的可能:
移动解析新思路:HttpDNS解决方案

文章插图
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解决方案

文章插图
  1. 将域名请求通过新的Http请求发向LTM;
  2. LTM接收到格式化的Http请求后,从中取出客户端源地址+需要解析的域名;
  3. LTM重新发起新的DNS解析请求,以真实客户端源地址作为DNS请求源地址,向GTM发起DNS解析;
  4. GTM在topology地址库中根据真实客户端源地址,获得最优解析结果(对应最优DC/线路);
  5. GTM并将DNS解析结果发回给LTM;
  6. LTM将收到的DNS解析结果重新构造成Http response响应包,发回给客户端 。
技术架构及方案
移动解析新思路:HttpDNS解决方案

文章插图
三层架构,第一层LB负责HttpDNS VS池以及DNS监听地址资源池的负载均衡
  • 客户端HttpDNS请求到达VS_HttpDNS,负载到后端HttpDNS VS 1或2;
  • Layer VS将DNS请求发送到LB上的VS_DNS,负载到DNS 1或2;
  • DNS 1或2响应DNS请求,通过Auto last hop回到LB;
  • LB通过Auto last hop回到Layer VS;
  • VS_HttpDNS应答client请求 。
终端行为实现高可用
  • 客户终端发起Http://your-HttpDNS-vs-ip/?sip=1.1.1.1&dn=www.xxx.com.cn ,sip的HttpDNS请求中your-HttpDNS-vs-ip为静态地址,HttpDNS服务发布多个公网地址后,终端请求多次失败,主动发起对其他地址的请求;
  • 传统的智能DNS解析可作为HttpDNS请求全部失败后的备用方式;
  • 以上实现高可用的行为需终端软件开发设计完成 。
运维和监控
  • 建议在Http-DNS层和GTM层通过HSL(高速日志引擎)将DNS相关日志实施输出,通过外部日志分析工具(如ELK),构建DNS监控体系监控体系 。
  • Http-DNS层至少输出HttpDNS请求信息,包括请求域名信息,源ip信息及响应情况;DNS层,输出源ip信息,以及DNS域名信息,及响应情况 。这两层的F5设备输出信息可以相互对应,都包含源ip信息,域名信息,响应信息 。
  • 更多的视图可以包含实时解析统计,地理分布(请求、响应),线路统计,总解析数,失败解析数,总响应数,失败请求发生的最新时间以及对应query id,查询类型柱状图,LDNS来源等信息 。
 
传统DNS
所有的域名请求到达ldns,通过ldns向GTM获取解析结果,topology算法根据ldns地址给出智能解析结果 。
HttpDNS
改造完成可以发出HttpDNS request请求的应用,通过Http 请求向启用httpDNS的LTM获取解析结果,topology算法根据client端地址给出智能解析结果 。
HttpDNS的请求,在公网传输可使用Https加密,在request到达HttpDNS_VS之前完成ssl卸载即可 。
 
关键的适用场景和收益
适用场景
  • 适用于各种手机App以及C/S场合




    推荐阅读