精准调度,高速体验:移动防劫持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

时间: 2024-10-06 18:12:50

精准调度,高速体验:移动防劫持D+详解的相关文章

Dll劫持漏洞详解

  一.dll的定义 DLL(Dynamic Link Library)文件为动态链接库文件,又称"应用程序拓展",是软件文件类型.在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中.当我们执行某一个程序时,相应的DLL文件就会被调用.一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件. 如果在进程尝试加载一个DLL时没有指定DLL的绝对路径,那么Wi

比特币防篡改技术详解

区块链技术在当下的火爆程度不必多说,比特币作为中本聪大神的"亲儿子",自然是研究区块链技术绕不开的话题.比特币是一个完全开放的去中心化的金融系统,时刻暴露在全球黑客攻击之下仍能安全稳定的运行至今(除了在2010年遭到一次大整数溢出漏洞攻击),用事实证明了比特币系统的安全性和稳定性.这其中一整套完整的防篡改破坏的安全体系是其最大的安全报障,下面我们就来逐步揭开比特币防篡改特性的面纱,体会一下比特币设计的奥妙. 非对称加密算法 首先我们先复习一下非对称加密的概念:非对称加密都有一对密钥,分

假装网络工程师5——STP二层防环机制详解

[toc] 一.背景介绍 在网络架构设计中,防环是一个很重要的因素,环路的潜在隐患不再赘述,所以无论是三层还是二层都非常注意防环的机制,在三层中无论是ttl值还是ospf这种倒状树结构其目的都是为了避免环路,在二层中防环的机制则为生成树协议(spanning tree protocol),以及优化后的rstp和mstp,本章重点介绍stp生成树协议. 二.STP协议的端口状态 stp协议是通过计算后在实际产生环路的物理链路上逻辑的阻塞一个端口,只有当链路发生变化时被阻塞的端口才有可能从新参与计算

XSS,CSRF,Cookie防劫持的处理

Cookie与sessionHTTP天然是无状态的协议, 为了维持和跟踪用户的状态, 引入了Cookie和Session. Cookie包含了浏览器客户端的用户凭证, 相对较小. Session则维护在服务器, 用于维护相对较大的用户信息. 用通俗的语言, Cookie是钥匙, Session是锁芯. Cookie简单理解就是钥匙, 每次去服务端获取资源, 需要带着这把钥匙, 只有自己的锁芯(资源), 才能打开.. 但是如果钥匙被别人拿了, 那别人就可以冒充你的身份, 去打开你的锁芯, 从而获取

3 分钟的高速体验 Apache Spark SQL

"War of the Hadoop SQL engines. And the winner is -?" 这是一个非常好的问题.只要.无论答案是什么.我们都值花一点时间找出 Spark SQL 这个 Spark 里面的家庭成员. 原本Apache Spark SQL 官网上的代码片断(Spark官网上的样例有个通病:不提供完整代码)已经写得算比較清楚,但假设用户全然把它的代码拷贝下来,可能会碰到编译不通过的问题.另外,Spark官网上的样例还有另外一个通病:不提供test data.

DNS防劫持

DNS劫持指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应. 检测网站是否被劫持 域名是否被墙 DNS污染检测 网站打开速度检测 网站是否被黑 被入侵 被改标题 被挂黑链 网站劫持检测 DNS劫持的主要表现为看视频,点击之后莫名其妙的跳到了某些广告网站.正常情况下,当我们点击某个链接的时候,会向一个称作DNS服务器的东西发出请求,把链接转换成机器能够识别的ip地址,其过程如下: 域名->ip地址的过程被称作DNS解

App域名劫持之DNS高可用 - 开源版HttpDNS方案详解(转)

http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=209805123&idx=1&sn=ced8d67c3e2cc3ca38ef722949fa21f8&3rd=MzA3MDU4NTYzMw==&scene=6#rd 主题 开源 本文根据冯磊和赵星宇在“高可用架构”微信群所做的HttpDNS智能缓存库原理整理而成,转发请注明来自微信公众号ArchNotes. 冯磊,目前主要从事手机应用平台的构建,任职新浪网技术

阿里巴巴 Sigma 调度和集群管理系统架构详解

阿里巴巴 Sigma 调度和集群管理系统架构详解 划重点 阿里巴巴 9 年双 11 经历下来,交易额增长了 280 倍.交易峰值增长 800 多倍.系统数呈现爆发式增长.系统在支撑双 11 过程中的复杂度和支撑难度以指数级形式上升.双 11 峰值的本质是用有限的成本最大化提升用户体验和集群吞吐能力,用合理的代价解决峰值.本文将从阿里巴巴统一调度体系.混部架构.云化架构三个方面详解阿里是如何支撑如此庞大的系统. 统一调度体系 始于 2011 年建设的 Sigma 是服务阿里巴巴在线业务的调度系统,

Yarn 调度器Scheduler详解

理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源.在Yarn中,负责给应用分配资源的就是Scheduler.其实调度本身就是一个难题,很难找到一个完美的策略可以解决所有的应用场景.为此,Yarn提供了多种调度器和可配置的策略供我们选择. 一.调度器的选择 在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,FairS ched