精准调度,高速体验:移动防劫持D+详解


被誉为“互联网女皇”的KPCB合伙人玛丽·米克(Mary Meeker)在发布的年度互联网报告中指出,目前全球网民总数约为28亿人,较2014年增加8%。目前全球智能手机用户为21亿人,较2014年增长23%。中国手机网民规模5.27亿,手机网民占整体网民比例为83.4%

D+就是DNSPOD研发的移动解析服务的专用名称。使用HTTP协议向D+服务器的80端口进行请求,代替传统的DNS协议向DNS服务器的53端口进行请求,绕开了运营商的Local DNS,从而避免了使用运营商Local DNS造成的劫持和跨网问题。

D+基础原理

D+的原理非常简单,主要有两步:

A、客户端直接访问D+接口,获取业务在域名配置管理系统上配置的访问延迟最优的IP。(基于容灾考虑,还是保留次选使用运营商LocalDNS解析域名的方式)

B、客户端向获取到的IP后就向直接往此IP发送业务协议请求。以Http请求为例,通过在header中指定host字段,向HttpDNS返回的IP发送标准的Http请求即可。

D+竞争优势:

从原理上来讲,D+只是将域名解析的协议由DNS协议换成了Http协议,并不复杂。但是这一微小的转换,却带来了无数的收益:

A、根治域名解析异常:由于绕过了运营商的LocalDNS,用户解析域名的请求通过Http协议直接透传到了腾讯的HttpDNS服务器IP上,用户在客户端的域名解析请求将不会遭受到域名解析异常的困扰。

B、调度精准:D+能直接获取到用户IP,通过结合腾讯自有专利技术生成的IP地址库以及测速系统,可以保证将用户引导的访问最快的IDC节点上。

C、实现成本低廉:接入HttpDNS的业务仅需要对客户端接入层做少量改造,无需用户手机进行root或越狱;而且由于Http协议请求构造非常简单,兼容各版本的移动操作系统更不成问题;另外D+的后端配置完全复用现有权威DNS配置,管理成本也非常低。总而言之,就是以最小的改造成本,解决了业务遭受域名解析异常的问题,并满足业务精确流量调度的需求。

D、扩展性强:D+提供可靠的域名解析服务,业务可将自有调度逻辑与D+返回结果结合,实现更精细化的流量调度。比如指定版本的客户端连接请求的IP地址,指定网络类型的用户连接指定的IP地址等。

D+接入方案

1、移动APP

(1)通过D+获取域名对应IP

(2)以http协议为例,通过curl指定host,往获取到的IP发起请求:

curl  www.qq.com  -x192.168.0.111:80

(3)私有协议可直接通过获取到的IP建立FD,连接建立后直接进行数据传输即可

(4)或可直接hook系统gethostbyname函数:iOS版本

https://github.com/facebook/fishhook

(5)直接使用官方SDK:LibDP

2、Web APP:

(1)接入服务器收到用户请求后,将用户IP及域名传给D+,获得对应IP地址

(2)直出使用时的前台模板使用IP替换域名

(3)直出时把解析结果打印在页面上,供后续js异步渲染时继续IP替换域名

(4)实际示例:使用chrome打开,模拟手机访问,查看源码:

http://get.photo.qq.com/get/page/home

3、PC APP:

使用Detours Hook GetAddrInfo,实现不修改URL的方式替换URL中的域名到IP

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值