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应用加速技术详解:如何提升动静混合站点的访问速率?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SOFAStack的前世今生
- 下一篇: 字节码技术在模块依赖分析中的应用