? 2018年世界杯都來了,你還在看幾年前的云桌面?zhèn)鬏攨f(xié)議文章嗎?來看新鮮出爐的!
桌面?zhèn)鬏攨f(xié)議,指的是一組特殊的數(shù)據(jù)傳輸規(guī)則,可以使云主機(jī)和云終端之間的數(shù)據(jù)有序并高效傳輸,從而達(dá)到“豐富而流暢”的用戶體驗(yàn)。簡單來說,就是一套踢球規(guī)則,每個(gè)球員(每種數(shù)據(jù))都有自己的路徑,并且球員之間要配合好,才能快速傳球傳球進(jìn)球!
戈洛文45度角斜傳到后點(diǎn),無人盯防的加津斯基頭球攻門得手,此球也是本屆2018世界杯的首粒進(jìn)球,俄羅斯1-0沙特阿拉伯!云主機(jī)和云終端之間傳輸?shù)臄?shù)據(jù)包括視頻、音頻、圖像、鍵盤鼠標(biāo)輸入以及其它外設(shè)輸入。需要注意的是,桌面?zhèn)鬏攨f(xié)議應(yīng)用于虛擬云桌面(VDI)和共享云桌面是不同的。在其它條件相同時(shí),使用相同的桌面?zhèn)鬏攨f(xié)議在共享云桌面中,其傳輸速度會(huì)比虛擬云桌面(VDI)要快。畢竟球場(chǎng)不同(因?yàn)樘摂M云桌面VDI多了虛擬層),路程遠(yuǎn)了,傳球時(shí)間自然也就長了。
云桌面?zhèn)鬏攨f(xié)議圖影響桌面?zhèn)鬏攨f(xié)議的性能有哪些因素呢?
1. 圖形數(shù)據(jù)處理方式
目前主要有兩種:
基于位圖數(shù)據(jù)傳輸是在服務(wù)器端對(duì)圖形數(shù)據(jù)進(jìn)行渲染,然后再進(jìn)行壓縮傳輸;缺點(diǎn)是在高分辨率下其文字和圖片邊緣會(huì)有鋸齒,如深信服的SRAP協(xié)議。
基于矢圖數(shù)據(jù)傳輸則是在客戶端上拆分多種格式,然后傳送到客戶端上再渲染;特點(diǎn)是,無論放大還是縮小都清晰。矢圖數(shù)據(jù)傳輸方式帶寬占用比位圖的更低。
2. 傳輸層協(xié)議
目前主要有兩種:
TCP協(xié)議主要用來傳輸對(duì)安全性要求較高的數(shù)據(jù),比如打印機(jī)數(shù)據(jù)、用戶操作數(shù)據(jù)等,但相對(duì)于UDP傳輸要慢;
UDP協(xié)議則是用于一些對(duì)完全性要求不高的數(shù)據(jù)傳輸。雖然快,但會(huì)丟幀(Frame)。比如看視頻時(shí),中間可能會(huì)有幾個(gè)畫面跳過了。如NComputing的UXP協(xié)議的丟幀現(xiàn)象就比較嚴(yán)重。
3. 壓縮和緩存技術(shù)
壓縮技術(shù)有兩種:有損壓縮和無損壓縮。根據(jù)字面意思也很好理解,有損壓縮就是傳輸?shù)臄?shù)據(jù)有損壞,而無損壓縮則是數(shù)據(jù)是完整沒有損壞的。兩者最直觀的區(qū)別就是圖像數(shù)據(jù)的傳輸(如下圖):經(jīng)過無損壓縮的圖像依然清晰,而經(jīng)過有損壓縮后的圖像則模糊不清。
無損壓縮和有損壓縮對(duì)比圖有損壓縮除非和終端渲染技術(shù)(client-side rendering)搭配使用,才可以保證圖像清晰;對(duì)于無損壓縮,如果數(shù)據(jù)傳輸量大,也會(huì)出現(xiàn)不流暢的現(xiàn)象。如RDP協(xié)議屬于無損壓縮,但是流暢度不佳。而微軟后期推出RemoteFX技術(shù)使得圖像加速,這時(shí)流暢了,但畫質(zhì)又有損耗。因此,兩者中間得有個(gè)取舍。優(yōu)質(zhì)的壓縮算法需要權(quán)衡二者,這樣不僅可以保證圖像質(zhì)量清晰,還可以有效減少數(shù)據(jù)傳輸量,從而降低對(duì)帶寬的要求。
緩存技術(shù)是保存經(jīng)常使用的顯示元素,如字體和圖位等,如果需要就直接獲取,而無需向服務(wù)器發(fā)送重復(fù)請(qǐng)求,以提供高效的桌面?zhèn)鬏斝阅堋?div style="height:15px;">
4. 外設(shè)支持技術(shù)
事實(shí)上,各協(xié)議都提供了對(duì)虛擬多通道支持的技術(shù)。簡單來說,桌面?zhèn)鬏攨f(xié)議為了保證外設(shè)設(shè)備正常運(yùn)行,就要為每種設(shè)備建立一條道路,以保證其正常有序通行。
內(nèi)容有點(diǎn)專業(yè),可能有些小伙伴聽不懂的。稍安勿躁,小微換個(gè)說法跟大家解釋:
高效的桌面?zhèn)鬏攨f(xié)議的性能可以從資源占用(CPU, 網(wǎng)絡(luò)帶寬),桌面流暢度(使用起來卡不卡),丟幀率(部分畫面是否丟失),畫質(zhì)(畫面清晰度和色彩還原度),外設(shè)支持(兼容性,識(shí)別速度,讀寫速度)等幾個(gè)方面來測(cè)試和評(píng)價(jià)。至于其中的原理,我們暫且不用深究。
目前全球主流的桌面?zhèn)鬏攨f(xié)議有
1. RDP協(xié)議
1.1 歷史由來
RDP(Remote Desktop Protocol,遠(yuǎn)程桌面協(xié)議)是基于ITU-T(國際電信聯(lián)盟)的T.120協(xié)議中的T.128應(yīng)用程序共享協(xié)議(又稱為T.share),隨后由英國軟件公司DataConnection Limited優(yōu)化成RDP的雛形。此時(shí),微軟看到RDP是塊肥肉,果斷收購了DataConnection Limited,進(jìn)而把RDP變成自己的囊中物(知識(shí)產(chǎn)權(quán))。
RDP協(xié)議的第一個(gè)版本是RDP 4.0,當(dāng)時(shí)隨同“Terminal Services”出現(xiàn)在Windows NT 4.0 Server、Terminal Server Edition。事實(shí)上,這個(gè)版本不是微軟自己開發(fā)的,而是通過Citrix開發(fā)的。當(dāng)時(shí)微軟對(duì)外宣稱是“共同開發(fā)”。具體過程是這樣的:
RDP4.0發(fā)展歷程在RDP4.0版本的開發(fā)期間,微軟想自己單干,于是決定不再授予Citrix公司W(wǎng)indows NT 4.0的源代碼開發(fā)的權(quán)利,還宣稱要開發(fā)微軟版本W(wǎng)inframe,并且要求Citrix將MultiWin技術(shù)許可給微軟。微軟想“過橋抽板”,Citrix當(dāng)然不同意。于是,兩位行業(yè)大佬開始談判。談判的結(jié)果是,微軟同意在Windows NT Server 4.0的RDP服務(wù)命名為Citrix MetaFrame,并且包含在Windows NT 4.0終端服務(wù)中的Citrix提供的DLL仍然帶有Citrix版權(quán),而不是微軟版權(quán)。同時(shí),Citrix也答應(yīng)不提供競爭產(chǎn)品,但保留向微軟產(chǎn)品出售附加產(chǎn)品的權(quán)利。這種關(guān)系一直持續(xù)至今。
發(fā)展至今,已經(jīng)有10個(gè)版本了。當(dāng)前主要使用的版本有6.1(Windows Server 2008/Windows Vista SP1/Windows XP SP3),7.0(Windows Server 2008 R2/Windows 7),其中7.0版本增加了Remote FX功能,用于提升高清圖像的渲染效果,如2D、3D圖像。
RDP版本圖1.2 原理及特點(diǎn)
RDP 10.0 是基于TCP/UDP協(xié)議的,其桌面?zhèn)鬏斔俣扔辛撕艽蟮奶嵘?;此外,在視頻方面,已經(jīng)是AVC 4:4:4模式了,意味著顯示效果非常接近PC機(jī)。不過其寬帶占用高于PCoIP和HDX。RDP協(xié)議只能支持Windows和Mac平臺(tái)。
在云桌面領(lǐng)域中,RDP協(xié)議主要應(yīng)用于共享云桌面方案(基于多用戶操作系統(tǒng),實(shí)現(xiàn)多個(gè)用戶共享一套系統(tǒng)和軟件,每個(gè)用戶獨(dú)立使用,互不干擾),如Centerm(升騰)的C75零客戶機(jī)就是搭配使用RDP8.0協(xié)議。但需要注意的是,RDP協(xié)議并非專門為多用戶共享環(huán)境開發(fā)的,它的應(yīng)用范圍很廣,所以RDP協(xié)議在云桌面中的性能并不能算“優(yōu)”。因?yàn)镽DP協(xié)議在多用戶同時(shí)運(yùn)行下,其桌面流暢度和響應(yīng)度會(huì)降低,而且畫質(zhì)也會(huì)下降。
目前市面上專門為多用戶共享環(huán)境開發(fā)的云桌面協(xié)議有NComputing的UXP(User eXtension Protocol,用戶擴(kuò)展協(xié)議)和vCloudPoint的DDP(Dynamic Desktop Protocol,動(dòng)態(tài)桌面協(xié)議)。
vCloudPoint的DDP協(xié)議是混合使用了TCP和RDP協(xié)議,針對(duì)不同的畫面場(chǎng)景(如文字、網(wǎng)頁瀏覽、視頻等)進(jìn)行優(yōu)化而開發(fā)的,適用于共享環(huán)境下的桌面?zhèn)鬏攨f(xié)議。DDP協(xié)議除了使用獨(dú)特的視頻傳輸技術(shù)外,還使用了H.264,以視頻流的方式傳輸整個(gè)桌面,其性能體現(xiàn)在一臺(tái)i7電腦可以支持30個(gè)1080P高清視頻超流暢播放。(好東西,不怕比較哈 )此外,IP虛擬化技術(shù)還可以允許每個(gè)用戶桌面都使用自己的IP地址,解決共享環(huán)境下部分基于獨(dú)立IP框架軟件的兼容性問題。
(vCloudPoint的DDP協(xié)議體現(xiàn)于,1臺(tái)i7電腦可以支持30個(gè)1080P高清全屏視頻流暢播放)
2. PCoIP協(xié)議
2.1 歷史由來
PCoIP (PC over IP) 協(xié)議是由加拿大Teradici公司開發(fā)的遠(yuǎn)程顯示協(xié)議。2008年,VMware宣布和Teradici共同開發(fā)PCoIP協(xié)議,以提高桌面虛擬化的性能。隨后,VMware推出了使用了PCoIP協(xié)議的云桌面產(chǎn)品VMware Horizon View,這個(gè)舉動(dòng)直接促進(jìn)PCoIP協(xié)議的商用化。2013年,亞馬遜也在AWS Amazon Workspaces產(chǎn)品中也使用PCoIP協(xié)議。 在云桌面領(lǐng)域中,VMware的名氣遠(yuǎn)遠(yuǎn)大于Teradici。所以大伙們都習(xí)慣說“VMware的PCoIP”。
需要注意的是,Teradici開發(fā)PCoIP協(xié)議的最初目的是應(yīng)用于瘦客戶機(jī)和一些硬件的圖形加速,而不是桌面虛擬化,因此,PCoIP協(xié)議在應(yīng)用于虛擬化軟件上就顯得心有余而力不足。為了彌補(bǔ)這個(gè)不足,VMware在View產(chǎn)品中增加對(duì)微軟RDP協(xié)議的支持,即用戶如果在使用桌面虛擬化時(shí)發(fā)現(xiàn)PCoIP協(xié)議無法實(shí)現(xiàn)的一些基礎(chǔ)功能時(shí),例如外設(shè)的重定向功能,可以在注銷當(dāng)前通過PCoIP登錄的桌面,然后再選擇微軟RDP方式登錄。讓用戶揪心的是,當(dāng)然桌面的軟件狀態(tài)全部沒有了,用戶體驗(yàn)大打折扣;為徹底解決View產(chǎn)品在核心技術(shù)上依賴于其他公司的困境,VMware試圖開發(fā)自己的協(xié)議Blast。最初是在2011年VMworld2011大會(huì)上宣布AppBlast項(xiàng)目。直到2016年,Blast協(xié)議才隨同VMWARE HORIZON 7正式發(fā)布,不過目前Blast只能在Html5上訪問。更多功能還待開發(fā)。
2.2 原理及特點(diǎn)
PCoIP協(xié)議基于UDP協(xié)議,其傳輸效率會(huì)比RDP協(xié)議更快。PCoIP協(xié)議靈活支持多種平臺(tái),如Windows, Linux, Mac, Android, iOS, Chrome, and web。目前最新版本是隨同VMware Horizon 6.0發(fā)布的,帶寬占用低,圖像質(zhì)量好。而在VMware Horizon 7.0,Blast協(xié)議出來了。這個(gè)是VMware自己獨(dú)立研發(fā)的一款協(xié)議,不過目前只能支持HTMI訪問,其特點(diǎn)是圖像性能非常優(yōu)(Blast默認(rèn)H.264)。雖然目前還沒推出視頻AVC 4:4:4模式,但圖像顯示效果已經(jīng)非常棒了。在介紹完Citrix的ICA/HDX之后,小微會(huì)給大家看兩個(gè)視頻體驗(yàn)。
3.ICA/HDX協(xié)議
ICA(Independent Computing Architecture)是Citrix公司自己開發(fā)的桌面?zhèn)鬏攨f(xié)議。Citrix是一直專注于桌面虛擬化。所以非常有實(shí)力。
ICA協(xié)議基于UXP協(xié)議,其特點(diǎn)是平臺(tái)無關(guān)性和節(jié)省帶寬,換句話說,ICA協(xié)議幾乎可以支持所有桌面操作系統(tǒng)和對(duì)帶寬占用節(jié)省最低。目前使用ICA協(xié)議的產(chǎn)品有Citrix's WinFrame, Citrix XenApp , 和Citrix XenDesktop。ICA協(xié)議能夠支持音頻、視頻和多媒體帶寬控制,在視頻觀看、Flash播放、3D設(shè)計(jì)等應(yīng)用上,其用戶體驗(yàn)會(huì)很流暢。
2009年,Citrix在發(fā)布XenDesktop 3.0時(shí)推出HDX技術(shù)。HDX技術(shù)是基于ICA協(xié)議開發(fā)的,同時(shí)包含其它子系列協(xié)議,并且還增加了提高了多媒體、語音、視頻和3D圖形性能的功能。
來到這里,小微把國外一份對(duì)于RDP10.0,Blast和ICA/HDX三種協(xié)議的視頻效果測(cè)試報(bào)告在這里簡單展示一下(報(bào)告鏈接在參考文章的第13篇)。
視頻1:RDP10.0版本-4:4:4模式視頻測(cè)試
視頻2:HDX和Blast協(xié)議視頻測(cè)試
RDP10.0,Blast和ICA/HDX三種協(xié)議的視頻效果測(cè)試結(jié)果報(bào)告結(jié)論:HDX的性能是最棒的,無論是視頻顯示效果,還是網(wǎng)絡(luò)帶寬占用。其次是Blast,最后是RDP10.0。不過,整體來說,三種協(xié)議都是非常不錯(cuò)的。
不過需要注意的是,這份報(bào)告只是單純比較三種協(xié)議的視頻性能,而并沒有測(cè)試N多個(gè)用戶同時(shí)跑視頻時(shí)的效果。從小微的N次測(cè)試來看,當(dāng)服務(wù)器連接的終端數(shù)量超過15個(gè)時(shí),RDP10.0會(huì)耗用大量的服務(wù)器資源。
4.SPICE協(xié)議
SIPCE(Simple Protocol for Independent Computing Environments)于2007年由Qumranet公司最先開發(fā),后來Red Hat公司把Qumranet收購并開源了。SPICE協(xié)議的最大的特點(diǎn)是開源,國內(nèi)很多云桌面產(chǎn)品都是直接在SPICE協(xié)議上做文章的。由于SPICE協(xié)議有太多版本了,在這里就不列舉了。
不過,由于底層是固定了,所以可優(yōu)化的程度不高。因此,基于SPICE協(xié)議開發(fā)的虛擬云桌面(VDI)方案性能不佳,帶寬占用高、圖像顯示不優(yōu)仍是其痛點(diǎn)。雖然國人的技術(shù)不斷更新,方案也不斷改善,但協(xié)議決定了其性能的上限。奈何?沒錯(cuò),SPICE協(xié)議主要看氣質(zhì)!
來源:Giphy最后,小微總結(jié)一下幾大協(xié)議的區(qū)別:
① RDP/Remote FX只能在Windows和Mac平臺(tái)使用,而ICA/HDX 可以在 Windows, Mac, Linux, Blackberry, iOS, Android等多平臺(tái)使用;
② RDP/Remote FX需要遠(yuǎn)程主機(jī)使用圖形處理單元進(jìn)行位圖編碼,而PCoIP直接使用服務(wù)器CPU,所以PCoIP比RDP/RemoteFX的傳輸效率要高;
③ PCoIP可以支持RDP;
④ 只有SPICE協(xié)議是開源的,提供平臺(tái)給大家分吃云桌面蛋糕。
⑤ ICA/HDX協(xié)議和PCoIP協(xié)議的授權(quán)費(fèi)用不菲,大多用于虛擬云桌面(VDI)中;而RDP/RemoteFX協(xié)議較為劃算,但總體性能一般。至于SPICE協(xié)議,就的去自己研究了。因?yàn)閷?shí)在是太多版本了??!
至于哪個(gè)好?
小微建議小伙伴們通過測(cè)試自己找答案。可以通過視頻播放、畫面顯示質(zhì)量、用戶體驗(yàn)度、外設(shè)兼容等去判斷。
不過,小微提醒大家,并不是性能高就適合自己的。畢竟,價(jià)格和應(yīng)用需求也是考慮的重要因素。如果用于普通辦公和需要標(biāo)準(zhǔn)化教學(xué)的普教電腦機(jī)房,不妨考慮
vCloudPoint微云點(diǎn)的共享云桌面;)
參考文章
1.Remote Desktop Protocol,
https://en.wikipedia.org/wiki/Remote_Desktop_Protocol2.Citrix Systems,
https://cs.wikipedia.org/wiki/Citrix_Systems3.WinFrame,
https://searchwindowsserver.techtarget.com/definition/WinFrame4.RDP,
https://baike.baidu.com/item/RDP/2986499#35.《VMware和Citrix 這兩家公司 有何關(guān)聯(lián)、不同?》,
https://www.zhihu.com/question/22084494
6.PCoIP ,
https://docs.vmware.com/cn/VMware-Horizon-7/7.0/com.vmware.horizon-view.installation.doc/GUID-E2FFCC1F-B14A-4A4E-A36C-994EACC542B6.html7.Projects AppBlast and Octopus: Delivering Universal Cloud Access,
https://communities.vmware.com/community/archive/cto/desktop/blog/2011/08/30/projects-appblast-and-octopus-delivering-universal-cloud-access8.Red Hat Enterprise Virtualization and the SPICE protocol,
https://www.redhat.com/en/resources/red-hat-enterprise-virtualization-and-spice-protocol9.《國內(nèi)VDI市場(chǎng)之亂想分析,第二篇:傳輸協(xié)議篇》,
http://www.360doc.com/content/16/1028/16/16755731_602114357.shtml10.《云桌面遠(yuǎn)程傳輸協(xié)議綜述》(作者:李承東)
11. Comparing remote display protocols: RemoteFX vs. HDX vs. PCoIP,
https://searchvirtualdesktop.techtarget.com/feature/Comparing-remote-display-protocols-RemoteFX-vs-HDX-vs-PCoIP12.基于SPICE協(xié)議的桌面虛擬化技術(shù)研究與改進(jìn)方案(作者:徐浩,蘭雨晴)
13.A comparison between display protocols and codecs,
https://bramwolfs.com/2017/11/29/a-comparison-between-display-protocols-and-codecs/