1. 程式人生 > >IP應用加速技術詳解:如何提升動靜混合站點的訪問速率?

IP應用加速技術詳解:如何提升動靜混合站點的訪問速率?

全站加速(DCDN)-IPA是阿里雲自主研發四層加速產品,它基於TCP/UDP的私有協議提供加速服務,包括解決跨運營商網路不穩定、單線源站、突發流量、網路擁塞等諸多因素導致的延遲高、服務不穩定的問題,提升傳輸效能和使用者體驗。

IP應用加速架構如下圖所示,首先,全球使用者就近接入邊緣節點,通過阿里雲的智慧排程系統接入二級節點,中間採用傳輸協議優化和路由優化,選取最快、最優的路徑。最後,二級節點到源站則選擇相同運營商進行回源。

在架構中也會使用CDN一些比較成熟的元件,包括排程系統、管控平臺、資料監控、IP地址庫及日誌採集等服務。

同時,在實際加速過程中,IP應用加速通過“就近接入、傳輸優化、智慧路由”三大技術能力提供更極致的加速體驗。其中就近接入與CDN加速原理一致,傳統靜態CDN的就近接入與快取是實現加速的主要手段,將使用者的訪問就近解析到離使用者最近的CDN節點,利用訪問CDN節點上的快取內容來實現加速的效果。但是對於動態加速來說,就近接入可以理解為一個就近上車的動作。傳輸優化在CDN場景中是一個基礎的手段,包括單邊加速和雙邊加速,傳輸優化可以為使用者提供更穩定、高效的傳輸。而智慧理由則是動態加速場景中是核心的技術。下面依次對這三個技術點進行解讀。

就近接入

下圖是一個典型的CDN通過域名方式就近解析、就近接入的方式。在現有的CDN加速系統中,如果使用者在CDN上註冊一個域名,CDN會返回給使用者一個CNAME地址,使用者把CNAME地址加入到自己的DNS server之上,通過這樣的方式,使用者在請求的時候,就會遞迴查詢到CDN的GLB上,GLB會根據使用者的localDNS、IP、地理位置、運營商等資訊,選擇一個就近的CDN節點提供接入。這是通過DNS方式就近接入的典型例子,目前IP應用加速已經實現了標準了DNS-CNAME、HTTPS、HTTPDNS的接入。

在接入的過程中,就近接入想達到足夠好的效果,IP地址庫以及資源的優勢是非常重要的。如果IP地址庫不準,LocalDNS會被識別到錯誤的地方或者運營商,那訪問就可能跨省跨運營商,達不到加速的目的。如果沒有足夠的資源覆蓋,也很難做到穩定的排程,這樣就近接入可能也難以達到理想效果。

傳輸優化

TCP協議是典型的基於丟包或異常延遲來識別網路擁塞的傳輸協議,它的特徵包括擁塞控制演算法,如果發生了丟包,吞吐率會急劇下降,系統會認為它是擁塞,傳送視窗減小(半),這是標準的TCP的行為。所以在客戶端到源站之間一旦發生丟包,吞吐率會極大下降

如果在客戶端和源站之間加入Proxy,問題就會縮小到區域性,使用者和伺服器不會感受到傳送資料的顯著變化。同時,在長RTT的網路環境中,Proxy會使長鏈路分割成短鏈路,每個資料包的確認也會變得更短,擁塞視窗的恢復會變得更快,對於提升整體吞吐率也有幫助。

除了TCP Proxy外,在內部協議優化上也進行大量實踐。比如通過改進擁塞控制,區分隨機丟包還是擁塞丟包來使用更優的重傳策略,來提升傳輸效率;使用多種傳輸協議,私有協議、多路傳輸技術以及冗餘的傳輸手段,達到更高的傳輸速率和可靠性;另外內部傳輸也採用了更好的異常感知的技術,能夠快速加速網路傳輸過程中的異常並在網路層面切換,實現對上層業務的透明。

下圖是在持續丟包的場景下的測試資料,阿里雲自研的TCP傳輸協議比現在最新的bbr演算法效果更優。

智慧路由

如果真的鏈路上出現了擁塞,這時就需要採用智慧路由技術。它的本質是有效預測網路中的擁塞,並且實時切換。另外備份的策略有次優的路線選擇,以此保障對上層業務的影響最低。

實際上智慧路由演算法中,需要考慮的問題非常多。比如要考慮鏈路的質量、節點的複雜、相關伺服器的能力、節點水位、負載均衡、成本等問題,比如在轉發的過程中,需要根據現實情況來判斷用DGP或多線路進行接入,來滿足同運營商回源。在負載均衡方面,還要考慮地域、運營商、源站的優先順序等策略。在實際網路質量的評估過程中,我們會用到多層次、多維度實施網路探測,避免源站探測風暴。同時,也要考慮在突發流量匯聚情況下如何實現過載保護。在眾多約束條件下,選取最短最優路徑有相當大的技術挑戰。

IP應用加速-全棧加速

從客戶端到源站,IP應用加速目前實現了七層、四層、三層各層級的加速,其中七層加速是傳統CDN、DCDN的加速產品,針對http(s)的加速,對於一些私有協議,可以使用四層加速。對於IP協議,可以使用IP隧道加速。這其中每一層都是獨立組網,實現獨立轉發。如果本層某些特殊業務,本層不能很好支援,可以考慮在實施過程中考慮把相關加速服務通過轉交給下層,利用下層技術能力實現更好的技術服務。

比如,在一個大檔案上傳的場景中,客戶端到伺服器端檔案上傳假設使用http,如果網路有波動或異常,可能會導致成功率較低。而在過程中,如果利用下沉到四層加速,利用多徑傳輸,即可有效降低網路異常對於傳輸成功率的影響。

IP應用加速的功能

訪問控制:通過支援白名單、黑名單,對使用者到邊緣節點之間提供訪問控制能力。
透明切換:當資料包轉發回源站的過程中,可能會出現轉發不成功、網路異常、伺服器異常等情況,透明切換可以實現內部鏈路切換無感知。
分割槽回源:不同邊緣伺服器可以根據源站域名的分割槽解析的結果,回到最優的源站,適用於多源站情況下的使用。
負載均衡:通過適配源站和路徑內部的負載均衡,處理匯聚點的相關問題。

除了以上功能,IP應用加速也會陸續上線UDP加速、升級安全防護策略同時提供SDK接入方式。詳細的產品資訊,可以登入阿里雲官網全站加速產品詳情頁以及IP應用加速文件進行了解。

相關閱讀

IP應用加速產品釋出會直播回顧:https://yq.aliyun.com/live/1074
IP應用加速詳情:https://promotion.aliyun.com/ntms/dcdnipa.html
參與聚能聊話題,贏取禮品:https://yq.aliyun.com/roundtable/497735
阿里雲全站加速DCDN全面支援WebSocket協議https://yq.aliyun.com/articles/686839

作者:樰籬

原文連結

本文為雲棲社群原創內容,未經