虛擬桌面的最終目標是提供接近甚至超出使用傳統(tǒng)本地計算機桌面所能獲得的用戶體驗,而這里最核心的技術(shù)因素就是桌面連接協(xié)議。在不同的網(wǎng)絡(luò)條件、不同的應(yīng)用場景下,不同的桌面連接協(xié)議的運行情況也會不同。
在當前的桌面云計算解決方案中,虛擬桌面基礎(chǔ)架構(gòu)VDI(Virtual Desktop Infrastructure)是主流的架構(gòu)與部署方式。它基于底層的硬件資源和中間層的虛擬化軟件,通過上層的桌面虛擬化應(yīng)用軟件,為終端用戶提供虛擬桌面交付模式。VDI解決方案的主要設(shè)計思想是通過虛擬化技術(shù),把傳統(tǒng)意義上的個人物理PC轉(zhuǎn)換為運行在虛擬化服務(wù)器上的一個個虛擬桌面,即Virtual Desktop,通過提供對底層存儲、網(wǎng)絡(luò)等基礎(chǔ)資源和上層虛擬桌面的集中管理和連接功能,為給終端用戶提供靈活和良好的虛擬桌面使用體驗。
在桌面云解決方案中,我們可以通過傳統(tǒng)PC、瘦客戶機、iPad 或者其他與網(wǎng)絡(luò)連接的設(shè)備,訪問跨平臺的應(yīng)用程序或者整個客戶桌面,并且得到與傳統(tǒng)的個人電腦同樣的用戶體驗。經(jīng)典的桌面云架構(gòu)必須具備多種核心技術(shù),這里面最關(guān)鍵的技術(shù)莫過于桌面連接協(xié)議了。
VDI架構(gòu)的表現(xiàn)依賴于網(wǎng)絡(luò)系統(tǒng)。尤其是在虛擬服務(wù)器放置在數(shù)據(jù)中心,在遠端的用戶桌面采用瘦客戶端或胖客戶端來連接數(shù)據(jù)中心虛擬機時,網(wǎng)絡(luò)系統(tǒng)對其影響更加明顯。網(wǎng)絡(luò)系統(tǒng)是用戶PC和虛擬服務(wù)器之間的唯一通道,所有位圖變化、用戶輸入以及其他的一些動作都是通過這個通道傳遞,所以需要完全借助桌面連接協(xié)議,才能通過LAN或WAN把所有虛擬機相關(guān)內(nèi)容傳遞到最終客戶端。桌面連接協(xié)議的效率會極大影響通道的性能。簡單地講,協(xié)議越高效,最終用戶端的體驗就越好。
桌面連接協(xié)議是影響虛擬桌面用戶體驗的關(guān)鍵,它提供了高分辨率會話、多媒體流遠程處理、多顯示支持、動態(tài)對象壓縮、USB重定向、驅(qū)動器映射等功能。市場上主流的桌面連接協(xié)議有Citrix的ICA/HDX協(xié)議、VMware的PCoIP協(xié)議、微軟的遠程桌面協(xié)議(RDP/RemoteFX),H3C作為桌面虛擬化領(lǐng)域的后起之秀,所支持的協(xié)議是SPICE協(xié)議
在不同的網(wǎng)絡(luò)條件、不同的應(yīng)用場景下,不同的桌面連接協(xié)議的運行情況也會不同。所以我們需要了解主流協(xié)議之間的基本原理及差異。
1.RDP/RemoteFX協(xié)議
RDP協(xié)議是微軟虛擬桌面產(chǎn)品中采用的顯示協(xié)議。它基于國際電信聯(lián)盟ITU T.120協(xié)議族的基礎(chǔ)上進行擴展,通過建立多個獨立的虛擬通道,承載不同的數(shù)據(jù)傳輸和設(shè)備通信。RDP現(xiàn)在發(fā)展到了RDP 8.1,默認安裝在Windows Server 2012 R2當中。RDP 8.1增加了一些新的功能,比如Windows Media Player重定向、雙向音頻、多顯示器支持、Aero透明特效支持、增強的位圖加速技術(shù)和多語言欄擴展等等。結(jié)合其RemoteFX,RDP在廣域網(wǎng)及3D方面有較好的表現(xiàn)。
RDP在應(yīng)用過程中,在服務(wù)器側(cè)用于生成遠程桌面屏幕顯示內(nèi)容的圖像設(shè)備接口GDI指令被RDP驅(qū)動截獲,在服務(wù)器側(cè)進行渲染,然后以光柵圖像的形式傳送到用戶終端上輸出。同時,用戶終端上安裝RDP協(xié)議的客戶端把用戶通過鼠標、鍵盤等設(shè)備輸入的信息通過RDP重定向到服務(wù)器側(cè),進而在服務(wù)器側(cè)使用相應(yīng)的驅(qū)動進行處理。
隨著用戶對虛擬桌面體驗的要求不斷提高,微軟在windows server 2008 R2的遠程桌面服務(wù)Remote Desktop Service(RDS)產(chǎn)品中提出了RemoteFX技術(shù),對RDP協(xié)議進行增強。RemoteFX技術(shù)通過提供虛擬3D顯示適配器、智能編/解碼和USB重定向等技術(shù)為用戶提供良好的桌面體驗。
RemoteFX是與RDP7.1以及之后版本的RDP協(xié)議整合使用的,其中RDP協(xié)議為RemoteFX提供加密、認證、管理和設(shè)備支持等功能。RemoteFX需要與微軟的服務(wù)器虛擬化技術(shù)Hyper-V集成,GPU虛擬化是RemoteFX增強技術(shù)的核心。
2. ICA/HDX協(xié)議
ICA協(xié)議為桌面內(nèi)容和外設(shè)數(shù)據(jù)在服務(wù)器和用戶終端之間的傳輸提供了多種獨立的虛擬通道,每個通道可以采用不同的交互時序、壓縮算法、安全設(shè)置等。ICA虛擬通道是在服務(wù)器和用戶終端之間建立雙向連接,可用于傳輸聲音、圖像、打印數(shù)據(jù)、外設(shè)驅(qū)動等信息。
在ICA的基礎(chǔ)上,Citrix在2009年發(fā)布了HDX(High Definition eXperience)技術(shù)對ICA協(xié)議進行了改進和增強,其目標是在桌面領(lǐng)域的多媒體、語音、視頻和3D圖形等內(nèi)容為虛擬桌面提供更好的高清使用體驗。
3.PCoIP協(xié)議
PCoIP協(xié)議是Teradici在現(xiàn)有的標準IP網(wǎng)絡(luò)的基礎(chǔ)上研發(fā)的,以顯示壓縮方式連接遠程桌面的協(xié)議,支持高分辨率、全幀速的圖像顯示和媒體播放,同時還支持多屏幕顯示設(shè)備、完整的USB外設(shè)和高質(zhì)量的音頻。VMware與Teradici深度合作后在虛擬桌面產(chǎn)品VMware View中實現(xiàn)了利用服務(wù)器的通用處理器進行的基于軟件的PCoIP協(xié)議處理。2012年1月,Teradici發(fā)布了PCoIP協(xié)議的專用板卡來降低服務(wù)器通用處理器的負載,實現(xiàn)性能加速,改進虛擬桌面的顯示效果和應(yīng)用體驗。
提供虛擬桌面服務(wù)的虛擬機中,存在軟件和硬件兩種PCoIP協(xié)議的處理方式。硬件處理方式是在VMware服務(wù)器虛擬化平臺對專用的PCoIP板卡進行虛擬化后由各個虛擬機共享,板卡的主要功能是處理圖像編碼。
4.SPICE協(xié)議
SPICE協(xié)議是一項高性能、動態(tài)的自適應(yīng)遠程網(wǎng)絡(luò)通訊協(xié)議,能為終端用戶帶來接近于本地物理桌面的體驗。SPICE協(xié)議專為遠程訪問虛擬化桌面環(huán)境設(shè)計和開發(fā),通過它,用戶可以使用瘦終端或PC從數(shù)據(jù)中心的虛擬桌面中獲取他們想要的一切,并獲得類本地PC的使用體驗。
SPICE是一種可以替代RDP的標準連接協(xié)議,提供了增強的VDI用戶體驗。借助SPICE遠程渲染技術(shù),可以為用戶交付功能強大的、可以處理高分辨率視頻和視頻會議的虛擬桌面。SPICE桌面連接協(xié)議擁有卓越的圖像處理性能,在無需任何特殊硬件設(shè)備支持的情況下,可以提供每秒30幀以上的視頻顯示、軟件撥號和IP電話的雙向音頻、可視電話以及視頻會議的雙向視頻等功能。
圖1. SPICE協(xié)議架構(gòu)
SPICE協(xié)議最大的特點是其架構(gòu)中增加的位于Hypervisor中的QXL設(shè)備,本質(zhì)上是KVM虛擬化平臺中通過軟件實現(xiàn)的PCI顯示設(shè)備,利用循環(huán)隊列等數(shù)據(jù)結(jié)構(gòu)共虛擬化平臺上的多個虛擬機共享實現(xiàn)了設(shè)備的虛擬化。
SPICE協(xié)議能夠自動判斷和調(diào)整圖像處理的位置,如果用戶終端能夠處理復雜的圖像操作,就盡可能地傳輸圖像處理命令而不是渲染后的圖像內(nèi)容,這樣可以減少網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量。
SPICE協(xié)議支持多通道設(shè)置,利用不同的通道傳輸不同的內(nèi)容。每個通道中的內(nèi)容都可以通過相應(yīng)的圖形命令數(shù)據(jù)流或代理命令數(shù)據(jù)流進行傳輸。同時能夠獨立進行加密,支持不同的QoS。
5.主流桌面連接協(xié)議對比分析
上文所述的幾種主流桌面連接協(xié)議的比較如表1所示。
表1. 主流桌面連接協(xié)議對比
傳輸帶寬要求的高低直接影響了遠程服務(wù)訪問的流暢性。ICA采用具有極高處理性能和數(shù)據(jù)壓縮比的壓縮算法,極大地降低了對網(wǎng)絡(luò)帶寬的需求。
圖像展示體驗反映了虛擬桌面視圖的圖像數(shù)據(jù)的組織形式和傳輸順序。其中PCoIP采用分層漸進的方式在用戶側(cè)顯示桌面圖像,即首先傳送給用戶一個完整但是比較模糊的圖像,在此基礎(chǔ)上逐步精化,相比其他廠商采用的分行掃描等方式,具有更好的視覺體驗。
雙向音頻支持需要協(xié)議能夠同時傳輸上下行的用戶音頻數(shù)據(jù)(例如語音聊天),而當前的PCoIP對于用戶側(cè)語音上傳的支持尚存缺陷。
視頻播放是檢測傳輸協(xié)議的重要指標之一,因為虛擬桌面視圖內(nèi)容以圖片方式進行傳輸,所以視頻播放時的每一幀畫面在解碼后都將轉(zhuǎn)為圖片從而導致數(shù)據(jù)量的劇增。為了避免網(wǎng)絡(luò)擁塞,ICA采用壓縮協(xié)議縮減數(shù)據(jù)規(guī)模但會造成畫面質(zhì)量損失,而SPICE則能夠感知用戶側(cè)設(shè)備的處理能力,自適應(yīng)地將視頻解碼工作放在用戶側(cè)進行。
用戶外設(shè)支持能夠考查顯示協(xié)議是否具備有效支持服務(wù)器側(cè)與各類用戶側(cè)外設(shè)實現(xiàn)交互的能力,主流桌面連接協(xié)議對外設(shè)的支持兼容性有一定的差別:ICA和PCoIP對外設(shè)的支持比較齊備(例如支持串口、并口等設(shè)備),而RDP當前對外設(shè)的支持效果一般。華三基于SPICE協(xié)議的外設(shè)重定向技術(shù)能夠很好的兼容特殊的外設(shè),比如:Ukey、串口、并口設(shè)備。在保證兼容性的同時,還針對性的做了大量的外設(shè)使用性能優(yōu)化。
從遠程顯示協(xié)議底層所使用的協(xié)議來分析,RDP/RemoteFX、ICA/HDX、PCoIP以及SPICE均屬于七層協(xié)議,基于兩個OSI 4層協(xié)議:UDP和TCP。TCP將數(shù)據(jù)拆分為數(shù)據(jù)包并在終端進行重新組裝,而UDP并不按順序傳輸數(shù)據(jù)包。TCP更加可靠。因為在數(shù)據(jù)交付之前一直保持連接。另外,如果出現(xiàn)錯誤,TCP會再次發(fā)送受影響的數(shù)據(jù)。UDP并不保證終端能夠接收到所有的數(shù)據(jù)包,但這意味著在交付非輕量級媒體信息比如視頻時,UDP速度更快。遠程連接協(xié)議在交付圖形密集型應(yīng)用時存在限制。良好的性能需要大量的帶寬,這可能會阻塞網(wǎng)絡(luò)。另外,如果你想降低CPU的使用率,那么協(xié)議將會阻塞帶寬并降低最終用戶的性能。
6.結(jié)束語
虛擬桌面技術(shù)已經(jīng)比較成熟,不同廠商的產(chǎn)品各具特色。值得說明的是,當前尚沒有哪家廠商的虛擬桌面產(chǎn)品能夠適用于所有應(yīng)用場景,因此在應(yīng)用和部署虛擬桌面解決方案時,必須結(jié)合實際需求選擇合適的技術(shù)和產(chǎn)品,特別是對于一些特殊的用戶外設(shè),通常需要定制解決方案。H3C虛擬桌面產(chǎn)品集眾家所長,基于RDP和SPICE協(xié)議均做了深度的開發(fā),在用戶體驗方面做了大量的優(yōu)化。根據(jù)不同的使用場景,用戶可以靈活選擇桌面連接協(xié)議。在廣域網(wǎng)場景下,帶寬及時延均是用戶面臨的挑戰(zhàn),那么我們可使用RDP協(xié)議來連接虛擬桌面。在園區(qū)網(wǎng)場景下,帶寬及網(wǎng)絡(luò)一般情況下不會形成瓶頸,那么我們就可以使用SPICE協(xié)議來連接虛擬桌面。
虛擬桌面未來的發(fā)展將主要從改善用戶體驗入手,其最終目標是提供接近甚至超出使用傳統(tǒng)本地計算機桌面所能獲得的用戶體驗,而這里最核心的技術(shù)就是桌面連接協(xié)議。各大廠商還在加大各自協(xié)議的研發(fā)和優(yōu)化,這也意味著,在不遠的將來,用戶將接觸到體驗度更好的虛擬桌面。