云桌面的技術(shù)架構(gòu)分析
作者 | 池偉,單位:中國移動智慧家庭運(yùn)營中心安全產(chǎn)品部
?Labs 導(dǎo)讀
在傳統(tǒng)的企業(yè)網(wǎng)絡(luò)建設(shè)中,PC機(jī)既是基礎(chǔ)也是核心。但PC機(jī)在網(wǎng)絡(luò)搭建過程中容易出現(xiàn)諸如配置部署復(fù)雜、軟件硬升級成本高、機(jī)密數(shù)據(jù)分散以及數(shù)據(jù)安全保障機(jī)制不完善等一系列問題,不便于數(shù)據(jù)的集中管理和維護(hù)。于是云桌面逐漸進(jìn)入人們的視野,并受到越來越多的關(guān)注。
1背景
云桌面主要是指PC端的桌面系統(tǒng)(如windows)運(yùn)行在云端,用戶在本地通過軟終端或者瘦終端作為入口,外接顯示器,連接到遠(yuǎn)程的桌面系統(tǒng),體驗就如同本地電腦一樣,整個使用過程中,所有的計算工作在云端完成。
2022年6月13日,IDC發(fā)布的《虛擬客戶端計算軟件市場半年跟蹤報告》(如下圖所示)顯示:2021年虛擬客戶端計算軟件市場的市場規(guī)模達(dá)到了3.2億美元(21.6億人民幣),同比增長25.2%。
IDC定義的虛擬客戶端計算軟件市場主要指的是與桌面云/桌面虛擬化技術(shù)相關(guān)的軟件市場,包括了虛擬桌面,應(yīng)用虛擬化以及其他種類的桌面云/桌面虛擬化技術(shù)。這并非是一個新興市場,但隨著這幾年疫情催生的企業(yè)工作方式轉(zhuǎn)型,以及云上DaaS(Desktop as a Service)模式的高速發(fā)展,整體市場迸發(fā)出了新的活力。
2發(fā)展歷史
縱觀云桌面的技術(shù)演進(jìn)路線,從兩大巨頭Citrix和VMware的發(fā)展歷程(如下圖所示)中可看出,它們分別聚焦于一項技術(shù)側(cè)重點:Citrix公司是以推流協(xié)議起家,在桌面虛擬化的關(guān)鍵核心技術(shù)上已經(jīng)研發(fā)儲備超過30年之久,推流協(xié)議的性能業(yè)界第一;而VMware公司則是以虛擬化技術(shù)起家,在服務(wù)器虛擬化方面的研發(fā)儲備也超過30年之久,虛擬化解決方案整體市場占比超過90%。
國內(nèi)云桌面企業(yè)從2010年開始陸續(xù)發(fā)力,多以企業(yè)私有云場景入手點。但近些年,國內(nèi)多家廠商也陸續(xù)進(jìn)入到公有云市場。主流云桌面廠商主要有阿里云、中興、銳捷、深信服、華為等,其云桌面產(chǎn)品涉及的關(guān)鍵技術(shù)有自研、合作、基于開源改造等,但是核心關(guān)鍵技術(shù)都包括計算資源云化(虛擬化)、端到端推流(遠(yuǎn)程顯示協(xié)議)、網(wǎng)絡(luò)傳輸(抗抖動、低時延)、外設(shè)適配(USB設(shè)備遠(yuǎn)程接入)。
3技術(shù)架構(gòu)
經(jīng)過多年的技術(shù)演進(jìn),各大廠商的云桌面整體方案如下圖所示:
- 用戶層:用戶通過軟件終端或者硬件終端連接遠(yuǎn)程桌面系統(tǒng)
- 網(wǎng)絡(luò)層:在公有云或者私有云網(wǎng)絡(luò)環(huán)境傳輸數(shù)據(jù)
- 接入層:負(fù)責(zé)用戶信息校驗、桌面分配控制、連接、安全控制等
- 虛擬桌面池:給用戶分配虛擬的桌面系統(tǒng)并關(guān)聯(lián)虛擬資源
- 資源池:將硬件層的資源進(jìn)行虛擬池化管理
基于上述功能架構(gòu),從技術(shù)角度概括為如下一張圖:
整個端到端的流程可以總結(jié)為流化的過程,主要分為云、端、網(wǎng)三大部分,下面分別從這三部分展開說明。
(一)云:虛擬化、抓屏、編碼(計算資源云化、端到端推流)
1. 虛擬化
基于x86架構(gòu)實現(xiàn)桌面系統(tǒng)虛擬化,遷移至安卓場景需要考慮ARM虛擬化;考慮到編碼性能優(yōu)化,需要實現(xiàn)GPU虛擬化或者GPU直通(成本較高)。
2.抓屏
針對GuestOS(以Linux為例)系統(tǒng)實現(xiàn)屏幕抓屏,大致涉及的流程包括:應(yīng)用(顯示Client)、服務(wù)端(顯示Server)、OpenGL(實現(xiàn)Mesa 3D)、libDRM、DRM(kernel)、GPU,不同的桌面系統(tǒng)圖形棧有所差異,需要針對性的優(yōu)化。
3.編碼
抓屏采集到的數(shù)據(jù)需要進(jìn)行編碼傳輸,為了降低帶寬占用,需要從碼率、幀率、分辨率三個維度上綜合性優(yōu)化,根據(jù)系統(tǒng)資源占用情況、當(dāng)前用戶網(wǎng)絡(luò)環(huán)境等自適應(yīng)調(diào)整參數(shù),達(dá)到網(wǎng)絡(luò)傳輸和用戶體驗的平衡,實現(xiàn)傳輸自適應(yīng)。
(二)端:解碼、指令收集上傳、USB外設(shè)接入(端到端推流、外設(shè)適配)
1. 解碼
一般場景下通過H.264軟解方式即可,但是在游戲等對體驗要求極高的場景下需要考慮H.265硬解方案,終端側(cè)對應(yīng)的設(shè)備硬件、適配工作等成本會增加。
2.指令收集上傳
終端設(shè)備上會采集鍵鼠等外接設(shè)備的按鍵控制指令并組裝成對應(yīng)的數(shù)據(jù)協(xié)議格式上傳云端,由云端系統(tǒng)解析并進(jìn)行事件響應(yīng)。
3.USB外設(shè)接入
在桌面場景下,為了符合用戶對PC端電腦的所有使用場景需求,USB的外設(shè)接入適配是必不可少的工作,常見的有U盤、攝像頭、麥克風(fēng)等。不同廠家的云桌面技術(shù)棧會存在差異,相應(yīng)的USB外設(shè)能力也參差不齊,與桌面協(xié)議強(qiáng)耦合,導(dǎo)致云桌面的整體能力替換成本巨大。所以外設(shè)方面可以采用USB/IP協(xié)議來實現(xiàn),USB/IP在2009年已經(jīng)合并到Linux Kernel,而且該方案完全跨平臺(云電腦平臺),與桌面協(xié)議完全解耦,靈活可插拔。
(三)網(wǎng):抗弱網(wǎng)環(huán)境、低時延傳輸(網(wǎng)絡(luò))
1. 抗抖動
可以采用QUIC UDP的方案,,基于 UDP 實現(xiàn),握手過程簡單,改進(jìn)了擁塞控制,可以多路復(fù)用,同時還具備FEC前向糾錯特性,在網(wǎng)絡(luò)抖動丟包時可以一定程度上保證數(shù)據(jù)的完整性。
2.低時延
云桌面場景的整個鏈路RTT包括如下步驟:
其中比較耗時的關(guān)鍵步驟為抓屏、編碼、網(wǎng)絡(luò)傳輸、解碼,所以整體的RTT時延控制不僅僅在網(wǎng)絡(luò)側(cè),云和端的圖形圖像編解碼等方面也需要深度優(yōu)化,降低時延。
以上從云、網(wǎng)、端三個方面分別詳細(xì)闡明了核心關(guān)鍵技術(shù)點,在技術(shù)點逐個實現(xiàn)之后,可向下沉淀基礎(chǔ)能力,延展到其它業(yè)務(wù)場景,發(fā)揮更大的技術(shù)價值。
4總結(jié)展望
基于上述關(guān)鍵技術(shù)點分析,我們可梳理出云桌面所涉及的基礎(chǔ)能力:
資源云化能力、推流能力、網(wǎng)絡(luò)能力、外設(shè)適配能力統(tǒng)一建成后,在云計算和大帶寬高速發(fā)展的趨勢下,可通過能力組合復(fù)制,推廣衍生到越來越多的云化場景,將用戶側(cè)設(shè)備逐步瘦身,將計算能力逐步上云,發(fā)揮運(yùn)營商IDC計算及基礎(chǔ)網(wǎng)絡(luò)的綜合優(yōu)勢。