UCloud 自主研發(fā)的終端鏈路探測SDK正式開(kāi)源發(fā)布,開(kāi)放云平臺的專(zhuān)業(yè)網(wǎng)絡(luò )運營(yíng)、數據分析能力幫助出海企業(yè)以尊重用戶(hù)隱私、數據安全加密的方式,探測終端訪(fǎng)問(wèn)APP的網(wǎng)絡(luò )鏈路質(zhì)量,定向優(yōu)化移動(dòng)端網(wǎng)絡(luò )體驗 。
背景
快步解鎖非洲大陸
2018年9月25日,UCloud 拉各斯數據中心落地。第一步解鎖尼日利亞后,非洲業(yè)務(wù)板塊愈加清晰:西非以尼日利亞、加納為主;東非以肯尼亞、坦桑尼亞、埃塞俄比亞為主;北非埃及、摩洛哥;南非。但是,我們的用戶(hù)目標覆蓋非洲全大陸,現實(shí)瓶頸卻是跨國互聯(lián)訪(fǎng)問(wèn)體驗差,甚至有的鄰國訪(fǎng)問(wèn)繞行歐洲倫敦或阿姆斯特丹。

UCloud 尼日利亞數據中心外景
為了加快對非洲這片大陸的探索,我們正在積極籌備南非、肯尼亞新節點(diǎn)。

非洲區域業(yè)務(wù)板塊分布
落地產(chǎn)品
終端鏈路探測SDK
在我們接觸到的用戶(hù)中,大家普遍對海外復雜的網(wǎng)絡(luò )環(huán)境以及APP終端網(wǎng)絡(luò )故障定位有深刻的體驗和訴求。為了解決用戶(hù)實(shí)際問(wèn)題,UCloud 正式開(kāi)源發(fā)布終端鏈路探測SDK,開(kāi)放云平臺資源幫助出海企業(yè)以尊重用戶(hù)隱私、數據安全加密的方式,主動(dòng)探測終端訪(fǎng)問(wèn)APP的網(wǎng)絡(luò )鏈路質(zhì)量,定向優(yōu)化移動(dòng)端網(wǎng)絡(luò )體驗。

Android系統終端網(wǎng)絡(luò )探測開(kāi)源地址 https://github.com/ucloud/netanalysis-sdk-android

iOS系統終端網(wǎng)絡(luò )探測開(kāi)源地址
https://github.com/ucloud/netanalysis-sdk-ios
研發(fā)的過(guò)程中,我們主要遇到3個(gè)技術(shù)問(wèn)題:上報的數據獲取不到外網(wǎng)IP而無(wú)法定位地理位置,不同終端的上報外網(wǎng)IP卻一樣,以及如何有效分析網(wǎng)絡(luò )質(zhì)量數據。
產(chǎn)品特性
開(kāi)放云平臺能力
專(zhuān)業(yè)網(wǎng)絡(luò )運營(yíng)能力,后臺海量數據分析
無(wú)法獲取終端外網(wǎng)IP或外網(wǎng)IP雷同的情形,這與不同國家、城市、運營(yíng)商NAT網(wǎng)關(guān)的組網(wǎng)結構有關(guān)。NAT網(wǎng)關(guān)是因為IPv4公網(wǎng)地址數量不足而采用的地址翻譯技術(shù)。在IPv6技術(shù)應用前,運營(yíng)商可以通過(guò)代理轉發(fā)相對無(wú)限地擴容終端服務(wù)能力。但是,也有觀(guān)點(diǎn)提出,NAT技術(shù)是阻礙了IPv6推廣應用的因素之一。

IPv6流量超過(guò)5%的國家或地區,信息來(lái)源:https://www.internetsociety.org/resources/2018/state-of-ipv6-deployment-2018/
為解決獲取終端有效的外網(wǎng)IP,我們在探測網(wǎng)絡(luò )質(zhì)量的同時(shí),向后臺發(fā)送一個(gè)HTTP請求,從header剝出外網(wǎng)IP,并查詢(xún)歸屬地、運營(yíng)商等信息。網(wǎng)絡(luò )探測數據搜集后,非對稱(chēng)加密上報到后臺與相應的外網(wǎng)IP匹配,完成驗證存儲。

原始測試數據查詢(xún)
為了方便通過(guò)開(kāi)放接口查詢(xún)、分析網(wǎng)絡(luò )數據,對外網(wǎng)IP、質(zhì)量數據等反復斟酌數據結構定義,盡可能直觀(guān)暴露最相關(guān)的網(wǎng)絡(luò )數據。

后臺Grafana監控示范
我們將從數據中心、運營(yíng)商維度分析,利用自身商務(wù)資源、專(zhuān)線(xiàn)、Anycast流量調度技術(shù),調優(yōu)移動(dòng)終端網(wǎng)絡(luò ),以此實(shí)現用戶(hù)訪(fǎng)問(wèn)體驗的提升。

Anycast 公網(wǎng)就近選路訪(fǎng)問(wèn)尼日利亞可用區
開(kāi)放API查詢(xún)接口,數據加密、權限管理
SDK探測的網(wǎng)絡(luò )數據,全部采用非對稱(chēng)加密后上報后臺進(jìn)行驗證、解密和存儲,公網(wǎng)傳輸時(shí)全程加密。我們?yōu)殚_(kāi)發(fā)者提供接口,匹配APP_ID、加密公私鑰,驗證通過(guò)后可查詢(xún)、下載應用APP的終端網(wǎng)絡(luò )數據。

后臺數據存儲業(yè)務(wù)流程
UCloud 已經(jīng)推出KMS(密鑰管理服務(wù)),為用戶(hù)提供創(chuàng )建、控制加密數據的密鑰。我們將持續探討終端鏈路探測與KMS服務(wù)結合的應用場(chǎng)景,用戶(hù)可以直接通過(guò)控制臺管理主密鑰CMK狀態(tài),啟用或禁用后臺對網(wǎng)絡(luò )質(zhì)量數據的解密。如果用戶(hù)刪除CMK,則通過(guò)CMK加密后的數據將永遠無(wú)法恢復,以此達到用戶(hù)自主管理數據的效果。
SDK原始數據
SDK原始數據

終端Traceroute網(wǎng)絡(luò )質(zhì)量原始數據,部分顯示
非對稱(chēng)加密

外網(wǎng)IP查詢(xún)到的信息非對稱(chēng)加密,部分顯示
base64 encode SDK上報

SDK上報網(wǎng)絡(luò )質(zhì)量數據
后臺API網(wǎng)關(guān)收到上報數據請求后,根據app_id查詢(xún)后端匹配密鑰對的私鑰對加密數據進(jìn)行驗證。若公、私鑰不匹配,即驗證失敗。驗證通過(guò)后,操作私鑰解密,完成數據上報存儲。
后臺接收存儲數據
后臺接收存儲數據

數據接收解密,部分顯示
隱私安全
終端SDK數據脫敏
技術(shù)不僅極大提高人類(lèi)的效率,同時(shí)我們也看到潛在的傷害。為了讓開(kāi)發(fā)者充分、透明了解網(wǎng)絡(luò )鏈路探測獲取的終端信息,我們選擇開(kāi)源代碼。通過(guò)不斷優(yōu)化核心代碼,著(zhù)重提升ping、trace-route發(fā)送包效率、網(wǎng)絡(luò )數據加密以及后臺為應對代碼開(kāi)源后的高并發(fā)處理、解密驗證等功能。
除了通過(guò)PING & Traceroute 兩種方式探測獲取終端與APP業(yè)務(wù)之間的網(wǎng)絡(luò )延遲、丟包數據,以及一般IP數據庫查詢(xún)返回的location等信息外,SDK不獲取任何用戶(hù)數據,尤其不獲取敏感的終端IMEI(國際移動(dòng)設備識別碼)。

終端IMEI示例
UCloud 終端鏈路探測SDK支持iOS、Android 兩款主流終端環(huán)境,用戶(hù)隱私、安全加密等標準要求向iOS系統靠攏。我們正將核心的探測服務(wù)拆分為網(wǎng)絡(luò )測試工具,提交APP Store獨立審核,以下為Demo版本,歡迎安裝試用。
終端鏈路探測工具Demo
如果你對終端鏈路探測工具的使用場(chǎng)景有更多的想法,歡迎留言分享給我們。留言點(diǎn)贊數最多的前3位,將獲贈《三體》小說(shuō)。