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