李良一


摘 要 隨著中國互聯(lián)網(wǎng)行業(yè)的飛速發(fā)展,全球移動運營商大多面臨網(wǎng)內(nèi)資源匱乏,網(wǎng)間結(jié)算費用高的問題。建設IDC,引入部分CP廠家,建設內(nèi)容網(wǎng)絡和Cache系統(tǒng)都是解決問題的思路。
關鍵詞 互聯(lián)網(wǎng);Cache;HTTP;302重定向
隨著互聯(lián)網(wǎng)技術的不斷發(fā)展及網(wǎng)絡應用的日益廣泛,網(wǎng)絡流量爆炸式增長,在線視頻、P2P流量等占據(jù)互聯(lián)網(wǎng)流量的60%~80%。現(xiàn)有和未來可預見增長的帶寬已不能滿足大流量、持續(xù)占用帶寬的應用。數(shù)據(jù)傳輸延遲、網(wǎng)絡擁塞等諸多問題導致用戶體驗降低。傳統(tǒng)的解決方案存在著各種局限性,例如,骨干網(wǎng)帶寬擴容會減少運營商投資收益,封堵限速又會影響用戶上網(wǎng)體驗。Cache成為各運營商對內(nèi)容資源補足的一種常規(guī)技術手段[1]。
Cache通過分析和研究,采用先進的被動緩存技術,通過將大量占據(jù)出口帶寬、相同的網(wǎng)絡資源進行本地化緩存,對P2P文件傳輸、HTTP文件下載、Web頁面瀏覽以及在線視頻播放等各種應用實現(xiàn)網(wǎng)內(nèi)緩存加速。在不影響用戶體驗的情況下,降低出口流量,減少網(wǎng)間結(jié)算費用,節(jié)省運營商投資成本和運營成本,提高用戶上網(wǎng)體驗。
Cache系統(tǒng)通過HTTP重定向引導機制應采用非代理處理方式。邊緣服務節(jié)點根據(jù)用戶的訪問熱度提前對內(nèi)容進行緩存,后續(xù)當系統(tǒng)監(jiān)測到用戶發(fā)出的HTTP訪問請求屬于已緩存的資源,才由系統(tǒng)向用戶返回HTTP 302重定向報文,響應報文的目標地址為緩存服務器的IP地址,用戶終端接收到該條HTTP 302消息后,將向緩存服務器發(fā)起請求下載數(shù)據(jù),如圖2:
目前用戶訪問互聯(lián)網(wǎng)使用終端較多,不同的終端適配不同的應用軟件會存在不同的限制,本次主要討論下蘋果MAC筆記下優(yōu)酷客戶端針對302報文的限制。討論現(xiàn)象為使用的MAC蘋果筆記本上安裝的優(yōu)酷客戶端使某運營商不能正常播放優(yōu)酷視頻,而切換到其他運營商則可正常播放,故障運營商側(cè)部署有Cache系統(tǒng)。通過抓包工具分析mac優(yōu)酷客戶端從發(fā)起視頻調(diào)度http請求算起,到客戶端發(fā)送視頻資源http請求,中間只能有兩個302重定向,超過兩個302重定向,客戶端就不再發(fā)起http請求。現(xiàn)在發(fā)現(xiàn)的邊緣節(jié)點返回給客戶端302重定向后,就不再向Cache系統(tǒng)發(fā)起視頻資源http請求。
首先客戶端向源站發(fā)送視頻調(diào)度http請求,返回第1個302重定向,包頭location中包含視頻資源的url,接著客戶端向源站發(fā)送視頻資源http請求,重定向系統(tǒng)劫持后給客戶端返回第2個302重定向,然后客戶端向邊緣節(jié)點發(fā)送視頻資源http請求,slb給客戶端返回第3個重定向,客戶端收到302重定向后就不在發(fā)送location里面包含的url的http請求。
此次過程中在MAC客戶端側(cè)共產(chǎn)生3次302重定向,在產(chǎn)生第2次重定向后客戶端則不再對其進行響應,而在非MAC客戶端中即使出現(xiàn)3次302重定向,訪問視頻資源仍可以正常播放。雖然多次出現(xiàn)302報文屬于Cache系統(tǒng)自身服務配置問題,正常報文應在1~2次之間(包含源站自身調(diào)度機制),但是實際在多數(shù)實際服務過程中并不影響用戶訪問感知,上述現(xiàn)象只是少數(shù)出現(xiàn)的服務隱患,為確保服務質(zhì)量可根據(jù)請求頭字段中的User-Agent來判斷是不是mac優(yōu)酷客戶端發(fā)送過來的http請求,如果是mac客戶端發(fā)過來的話,可以先判斷該資源是否存在緩存文件,如果存在緩存文件,可以讀取緩存文件并返回給客戶端(因為已經(jīng)驗證過,緩存文件存在的情況下,視頻可以正常播放),如果不存在緩存文件,直接做bypass處理,不對相應文件進行緩存。
對于視頻類業(yè)務流量較高,如出現(xiàn)小范圍內(nèi)的問題,特別是與客戶端有關的,需要具體問題具體分析,制定有效措施,才能避免因緩存視頻而不能播放給用戶帶來不必要的麻煩。
參考文獻
[1] 周領良,朱延超,劉軼,等.基于Cache命中率校準的并行程序性能預測[J].高性能計算技術,2015(1):22-25.