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