精準調度,高速體驗:移動防劫持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

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章