【技術盛宴】銳捷云桌面EST協(xié)議之RUTP傳輸技術
前言
摘要
銳捷云桌面EST協(xié)議,最早只適用于局域網(wǎng)。為了能滿足遠程辦公,即跨廣域網(wǎng)的辦公需求,就要支持上更符合弱網(wǎng)絡實時傳輸要求的UDP傳輸協(xié)議(原來版本只支持TCP協(xié)議)。
結(jié)合云桌面場景分析,我們提出了一個新的傳輸協(xié)議,叫做RUTP協(xié)議,即基于UDP的可靠用戶層傳輸協(xié)議。該協(xié)議能一定程度上解決網(wǎng)絡丟包引發(fā)的使用卡頓問題。
關鍵字
UDP、RUTP、用戶空間、EST、TCP。
術語清單
縮略語/術語 |
說 明 |
---|---|
UDP |
User Datagram Protocol,一種無需建立連接就可以發(fā)送封裝的 IP 數(shù)據(jù)包的協(xié)議 |
RUTP |
Reliable User Transportation Protocol,基于UDP可靠用戶層傳輸協(xié)議 |
用戶空間 |
用戶程序的運行空間,用戶的程序崩潰了,內(nèi)核也不受影響 |
EST |
Enhanced Stream Transmission,增強的桌面流傳輸協(xié)議 |
TCP |
Transmission Control Protocol,是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議 |
弱網(wǎng)絡 |
網(wǎng)絡存在一定的丟包、延遲、抖動的網(wǎng)絡,稱為弱網(wǎng)絡。這里把弱網(wǎng)絡定義為:丟包率>0.1% 或 延遲>20ms 或 抖動>5ms的網(wǎng)絡稱為弱網(wǎng)絡 |
1. 概述
隨著網(wǎng)絡的發(fā)展,廣域網(wǎng)帶寬越來越大,云桌面在廣域網(wǎng)中使用成為可能,但是相比局域網(wǎng),廣域網(wǎng)存在更高延時、更高丟包的特點,導致云桌面體驗不佳。為了改善云桌面在廣域網(wǎng)中體驗不佳的問題,我們需要優(yōu)化云桌面協(xié)議中的可靠傳輸協(xié)議特性,使其能盡可能地適應高延時、高丟包的廣域網(wǎng)遠程實時傳輸要求。
傳統(tǒng)的可靠傳輸協(xié)議一般都使用TCP,TCP實現(xiàn)在內(nèi)核層,如果要優(yōu)化它,需要根據(jù)不同的操作系統(tǒng)去優(yōu)化TCP內(nèi)核模塊。優(yōu)化TCP內(nèi)核模塊,從技術上來說難度大且容易出問題,或者說出了問題可能直接導致整個系統(tǒng)崩潰,但理論上是可行的。那么,我們再從部署情況來考慮,云桌面協(xié)議的傳輸子模塊,包括傳輸客戶端子模塊和傳輸服務端子模塊,前者一般作為上層應用軟件部署在不同的終端設備上,后者一般部署在服務端上。假設即使后者的服務端操作系統(tǒng)可控可改,前者對于不同終端設備操作系統(tǒng)來說,基本也是不允許去改動的,或者說一大部分是閉源的。綜上所述,要基于現(xiàn)有的TCP技術去做優(yōu)化,可行性低。
在實時數(shù)據(jù)傳輸這塊,UDP除了在傳輸特性上相比TCP更具有優(yōu)勢外,也能改造成滿足云桌面協(xié)議部署要求——應用層上的傳輸優(yōu)化,以達到便捷部署的目的。
綜合以上因素, 我們基于UDP提出了適配云桌面的可靠的應用層傳輸協(xié)議,稱為RUTP協(xié)議。
2. 技術介紹
2.1 廣域網(wǎng)實時傳輸重要概念
這里介紹在廣域網(wǎng)下要實現(xiàn)桌面協(xié)議實時傳輸?shù)膸讉€概念。
2.1.1 廣域網(wǎng)網(wǎng)絡特性
廣域網(wǎng)(Wide Area Network,縮寫為 WAN),又稱外網(wǎng)、公網(wǎng)。是連接不同地區(qū)局域網(wǎng)或城域網(wǎng)計算機通信的遠程網(wǎng)。通??缃雍艽蟮奈锢矸秶?,所覆蓋的范圍從幾公里到幾十公里甚至到幾千公里,它能連接多個地區(qū)、城市和國家,或橫跨幾個洲并能提供遠距離通信,形成國際性的遠程網(wǎng)絡。廣域網(wǎng)有如下特點:
- 廣域網(wǎng)相對局域網(wǎng)來說,帶寬相對較小,傳輸速率低很多,如局域網(wǎng)內(nèi)端到端的帶寬基本可以保障在百兆甚至更高的速率;另外,一般工作單位的出口帶寬容量有限,考慮多并發(fā)要求,所以分攤到個人的帶寬容量也相對較小。
- 廣域網(wǎng)延時大,從幾毫秒到幾百毫秒不等且會存在延遲抖動,而局域網(wǎng)延時大部分情況都小于1ms;
- 廣域網(wǎng)根據(jù)鏈路情況一般會有不同程度的丟包(如0.5%~5%,5%~30%都有可能,且存在丟包抖動),而局域網(wǎng)大部分情況不會出現(xiàn)丟包。
2.1.2可靠傳輸
可靠傳輸,就是采用一系列技術來保障信息在發(fā)送方和接收方準確、精確的傳輸。TCP為了保證報文傳輸?shù)目煽?,就給每個包一個序號,同時序號也保證了傳送到接收端實體的包的按序接收。然后接收端實體對已成功收到的字節(jié)發(fā)回一個相應的確認(ACK)。如果發(fā)送端實體在合理的往返時延(RTT)內(nèi)未收到確認,那么對應的數(shù)據(jù)(假設丟失了)將會被重傳。
2.1.3 UDP協(xié)議特性
UDP 是User Datagram Protocol的簡稱,提供面向事務的簡單不可靠信息傳送服務,IETF RFC 768 是UDP的正式規(guī)范。UDP報文沒有可靠性保證、順序保證和流量控制字段等,可靠性較差。UDP具有如下特性:
- UDP包頭只有8個字節(jié),相對于TCP的20個字節(jié)信息包的額外開銷很小,數(shù)據(jù)傳輸效率高;
- 吞吐量不受擁塞控制算法的調(diào)節(jié),只受應用軟件生成數(shù)據(jù)的速率、傳輸帶寬、 源端和終端主機性能的限制;
- UDP是一個非連接的協(xié)議,傳輸數(shù)據(jù)之前源端和終端不建立連接, 當它想傳送時就簡單地去抓取來自應用程序的數(shù)據(jù),并盡可能快地把它扔到網(wǎng)絡上,從而延時較TCP小。
UDP的這些特性,使得我們要在應用層去控制和改造它以更加適配遠程桌面?zhèn)鬏攬鼍疤峁┝丝赡堋?/p>
大部分應用廠商想要去適配廣域網(wǎng)實時傳輸場景的,也基本是基于UDP來進行改造。
2.1.4 擁塞控制算法
擁塞現(xiàn)象是指到達通信子網(wǎng)中某一部分的分組數(shù)量過多,使得該部分網(wǎng)絡來不及處理,以致引起這部分乃至整個網(wǎng)絡性能下降的現(xiàn)象,嚴重時甚至會導致網(wǎng)絡通信業(yè)務陷入停頓即出現(xiàn)死鎖現(xiàn)象。擁塞控制算法,即采用不錯的策略(或者方式)減少或者避免擁塞現(xiàn)象的發(fā)生,如CUBIC、BBR擁塞算法等。
2.1.5 安全傳輸
為了保護敏感數(shù)據(jù)在傳送過程中的安全,發(fā)送端對敏感數(shù)據(jù)進行加密,加密后再進行傳輸,接收端接收到數(shù)據(jù)后要進行解密后才能獲取到數(shù)據(jù)。目前主要使用SSL(Security Socket Layer)加密機制來保證數(shù)據(jù)安全。這也基本是業(yè)界的一個做法。
2.2 EST-RUTP協(xié)議介紹
RUTP(Reliable User Transportation Protocol)基于UDP底層網(wǎng)絡傳輸協(xié)議為基礎,實現(xiàn)類似TCP協(xié)議數(shù)據(jù)重傳,實現(xiàn)可靠傳輸,結(jié)合桌面業(yè)務特性,引入較為先進的擁塞控制算法,實現(xiàn)高效傳輸,具體實現(xiàn)如下圖所示:
RUTP傳輸協(xié)議對擁塞控制算法做了改進,使得數(shù)據(jù)重傳更快,延時更小,提高了傳輸效率。該算法不再基于丟包判斷并且也不再使用線性增乘性減策略來維護擁塞窗口,而是分別采樣估計極大帶寬和極小延時,并用二者乘積作為發(fā)送窗口,而且引入一些機制限制數(shù)據(jù)發(fā)送速率來降低沖擊。
簡單來說可將網(wǎng)絡鏈路比喻成水管,如果我們希望盡可能地使用網(wǎng)絡傳輸數(shù)據(jù),方法就是給水管注水,水管的容積 = 水管粗細 × 水管長度。以前的擁塞算法是一直往水管中充水,水管爆了,充水量立馬下降到原來一半,而RUTP擁塞算法是周期性探測水管容量,按照水管容量平穩(wěn)發(fā)送數(shù)據(jù),盡量不導致水管爆了。
同時,RUTP協(xié)議也支持SSL加密傳輸,可由管理層自動配置是否啟用。
3. 銳捷RUTP技術特點
3.1 RUTP技術特點
RUTP協(xié)議具有如下技術特點:
- 引入基于桌面業(yè)務特點的擁塞控制算法,相同場景下延時較原先TCP更小,傳輸效率更高;
- 支持連接遷移,移動端使用時經(jīng)常會有網(wǎng)絡切換,對于TCP,切換網(wǎng)絡時桌面連接會斷開,影響用戶體驗,對于RUTP,網(wǎng)絡切換時桌面連接不會斷,不影響用戶體驗;
- 協(xié)議支持“丟包率<=1%,延時<=50ms,抖動<=10ms”的場景,原來的TCP只能支持“丟包率<=0.1%,延時<=20ms,抖動<=5ms”的場景。當然,當丟包率更大時,部分體驗會有所降低;
- RUTP協(xié)議是用戶空間協(xié)議,出問題可快速定位且不會影響其他用戶。
4. 限制信息
4.1 RUTP協(xié)議限制信息
對于RUTP協(xié)議目前只支持“丟包率<=1%,延時<=50ms,抖動<=10ms”的場景。當用戶網(wǎng)絡在“丟包率為1%,延時為50ms左右,抖動為10ms”時,桌面基本可用,但流暢度上較“丟包率為0.5%,延時為30ms”時會差一些。因此需要明確客戶所使用的具體業(yè)務對桌面要求進行評估。
5. 結(jié)束語
銳捷云桌面EST協(xié)議之RUTP傳輸技術優(yōu)化使云桌面適配更多的場景,保證桌面顯示質(zhì)量和顯示流暢度。