整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          一款HTML5的遠程桌面網關

          ext Terminal是使用Golang和React開發的一款HTML5的遠程桌面網關,具有小巧、易安裝、易使用、資源占用小的特點,支持RDP、SSH、VNC和Telnet協議的連接和管理。

          Next Terminal基于 Apache Guacamole 開發,使用到了guacd服務。

          目前支持的功能有:

          • 授權憑證管理
          • 資產管理(支持RDP、SSH、VNC、TELNET協議)
          • 指令管理
          • 批量執行命令
          • 在線會話管理(監控、強制斷開)
          • 離線會話管理(查看錄屏)
          • 雙因素認證 感謝 naiba 貢獻
          • 資產標簽
          • 資產授權
          • 用戶分組

          默認賬號密碼為 admin/admin

          相關截圖

          資源占用截圖

          資產管理

          rdp

          vnc

          ssh

          批量執行命令

          項目地址:

          https://gitee.com/dushixiang/next-terminal

          018年世界杯都來了,你還在看幾年前的云桌面傳輸協議文章嗎?來看新鮮出爐的!

          上期我們談到了影響云桌面性能的三個重要因素是啥?分別是服務器配置、網絡和桌面傳輸協議。其中,桌面傳輸協議是各云桌面廠家的技術核心。本期我們來談談全球幾大主流桌面傳輸協議。

          那么,桌面傳輸協議是啥DongDong呢?

          桌面傳輸協議,指的是一組特殊的數據傳輸規則,可以使云主機和云終端之間的數據有序并高效傳輸,從而達到“豐富而流暢”的用戶體驗。簡單來說,就是一套踢球規則,每個球員(每種數據)都有自己的路徑,并且球員之間要配合好,才能快速傳球傳球進球!

          戈洛文45度角斜傳到后點,無人盯防的加津斯基頭球攻門得手,此球也是本屆2018世界杯的首粒進球

          云主機和云終端之間傳輸的數據包括視頻、音頻、圖像、鍵盤鼠標輸入以及其它外設輸入。需要注意的是,桌面傳輸協議應用于虛擬云桌面(VDI)和共享云桌面是不同的。在其它條件相同時,使用相同的桌面傳輸協議在共享云桌面中,其傳輸速度會比虛擬云桌面(VDI)要快。畢竟球場不同(因為虛擬云桌面VDI多了虛擬層),路程遠了,傳球時間自然也就長了。

          影響桌面傳輸協議的性能有哪些因素呢?

          1. 圖形數據處理方式

          目前主要有兩種:

          • 基于位圖數據傳輸是在服務器端對圖形數據進行渲染,然后再進行壓縮傳輸;缺點是在高分辨率下其文字和圖片邊緣會有鋸齒,如深信服的SRAP協議。
          • 基于矢圖數據傳輸則是在客戶端上拆分多種格式,然后傳送到客戶端上再渲染;特點是,無論放大還是縮小都清晰。矢圖數據傳輸方式帶寬占用比位圖的更低。

          2. 傳輸層協議

          目前主要有兩種:

          • TCP協議主要用來傳輸對安全性要求較高的數據,比如打印機數據、用戶操作數據等,但相對于UDP傳輸要慢;
          • UDP協議則是用于一些對完全性要求不高的數據傳輸。雖然快,但會丟幀(Frame)。比如看視頻時,中間可能會有幾個畫面跳過了。如NComputing的UXP協議的丟幀現象就比較嚴重。

          3. 壓縮和緩存技術

          壓縮技術有兩種:有損壓縮和無損壓縮。根據字面意思也很好理解,有損壓縮就是傳輸的數據有損壞,而無損壓縮則是數據是完整沒有損壞的。兩者最直觀的區別就是圖像數據的傳輸(如下圖):經過無損壓縮的圖像依然清晰,而經過有損壓縮后的圖像則模糊不清。

          來源:Google

          有損壓縮除非和終端渲染技術(client-side rendering)搭配使用,才可以保證圖像清晰;對于無損壓縮,如果數據傳輸量大,也會出現不流暢的現象。如RDP協議屬于無損壓縮,但是流暢度不佳。而微軟后期推出RemoteFX技術使得圖像加速,這時流暢了,但畫質又有損耗。因此,兩者中間得有個取舍。優質的壓縮算法需要權衡二者,這樣不僅可以保證圖像質量清晰,還可以有效減少數據傳輸量,從而降低對帶寬的要求。

          緩存技術是保存經常使用的顯示元素,如字體和圖位等,如果需要就直接獲取,而無需向服務器發送重復請求,以提供高效的桌面傳輸性能。

          4. 外設支持技術

          事實上,各協議都提供了對虛擬多通道支持的技術。簡單來說,桌面傳輸協議為了保證外設設備正常運行,就要為每種設備建立一條道路,以保證其正常有序通行。

          聽不懂的,稍安勿躁。小微換個說法跟大家解釋:

          高效的桌面傳輸協議的性能可以從資源占用(CPU, 網絡帶寬),桌面流暢度(使用起來卡不卡),丟幀率(部分畫面是否丟失),畫質(畫面清晰度和色彩還原度),外設支持(兼容性,識別速度,讀寫速度)等幾個方面來測試和評價。至于其中的原理,我們暫且不用深究。

          目前全球主流的桌面傳輸協議有

          1.RDP協議

          1.1 歷史由來

          RDP(Remote Desktop Protocol,遠程桌面協議)是基于ITU-T(國際電信聯盟)的T.120協議中的T.128應用程序共享協議(又稱為T.share),隨后由英國軟件公司DataConnection Limited優化成RDP的雛形。此時,微軟看到RDP是塊肥肉,果斷收購了DataConnection Limited,進而把RDP變成自己的囊中物(知識產權)。

          RDP協議的第一個版本是RDP 4.0,當時隨同“Terminal Services”出現在Windows NT 4.0 Server、Terminal Server Edition。事實上,這個版本不是微軟自己開發的,而是通過Citrix開發的。當時微軟對外宣稱是“共同開發”。具體過程是這樣的:

          • 1992年,Citrix在Windows NT Server源代碼上創建Winframe,其主要目的是在Windows NT 上添加多用戶功能;
          • 1995年,Winframe正式發布,將Windows NT 3.5擴展成多用戶系統,從而使Windows NT服務器有了連接終端的能力;
          • 1998年,微軟推出了Windows NT Server 4.0 Terminal Server Edition, 第一個RDP版本(4.0)隨同走向市場。

          在RDP4.0版本的開發期間,微軟想自己單干,于是決定不再授予Citrix公司Windows NT 4.0的源代碼開發的權利,還宣稱要開發微軟版本Winframe,并且要求Citrix將MultiWin技術許可給微軟。微軟想“過橋抽板”,Citrix當然不同意。于是,兩位行業大佬開始談判。談判的結果是,微軟同意在Windows NT Server 4.0的RDP服務命名為Citrix MetaFrame,并且包含在Windows NT 4.0終端服務中的Citrix提供的DLL仍然帶有Citrix版權,而不是微軟版權。同時,Citrix也答應不提供競爭產品,但保留向微軟產品出售附加產品的權利。這種關系一直持續至今。

          發展至今,已經有10個版本了。當前主要使用的版本有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圖像。

          1.2 原理及特點

          RDP 10.0 是基于TCP/UDP協議的,其桌面傳輸速度有了很大的提升;此外,在視頻方面,已經是AVC 4:4:4模式了,意味著顯示效果非常接近PC機。不過其寬帶占用高于PCoIP和HDX。RDP協議只能支持Windows和Mac平臺。

          在云桌面領域中,RDP協議主要應用于共享云桌面方案(基于多用戶操作系統,實現多個用戶共享一套系統和軟件,每個用戶獨立使用,互不干擾),如Centerm(升騰)的C75零客戶機就是搭配使用RDP8.0協議。但需要注意的是,RDP協議并非專門為多用戶共享環境開發的,它的應用范圍很廣,所以RDP協議在云桌面中的性能并不能算“優”。因為RDP協議在多用戶同時運行下,其桌面流暢度和響應度會降低,而且畫質也會下降。

          目前市面上專門為多用戶共享環境開發的云桌面協議有NComputing的UXP(User eXtension Protocol,用戶擴展協議)和vCloudPoint的DDP(Dynamic Desktop Protocol,動態桌面協議)。

          vCloudPoint的DDP協議是混合使用了TCP和RDP協議,針對不同的畫面場景(如文字、網頁瀏覽、視頻等)進行優化而開發的,適用于共享環境下的桌面傳輸協議。DDP協議除了使用獨特的視頻傳輸技術外,還使用了H.264,以視頻流的方式傳輸整個桌面,其性能體現在一臺i7電腦可以支持30個1080P高清視頻超流暢播放。(好東西,不怕比較哈 )此外,IP虛擬化技術還可以允許每個用戶桌面都使用自己的IP地址,解決共享環境下部分基于獨立IP框架軟件的兼容性問題。

          DDP視頻性能:在騰訊視頻,輸入“微云點云桌面1080p高清視頻播放”

          2.PCoIP協議

          2.1 歷史由來

          PCoIP (PC over IP) 協議是由加拿大Teradici公司開發的遠程顯示協議。2008年,VMware宣布和Teradici共同開發PCoIP協議,以提高桌面虛擬化的性能。隨后,VMware推出了使用了PCoIP協議的云桌面產品VMware Horizon View,這個舉動直接促進PCoIP協議的商用化。2013年,亞馬遜也在AWS Amazon Workspaces產品中也使用PCoIP協議。 在云桌面領域中,VMware的名氣遠遠大于Teradici。所以大伙們都習慣說“VMware的PCoIP”。

          需要注意的是,Teradici開發PCoIP協議的最初目的是應用于瘦客戶機和一些硬件的圖形加速,而不是桌面虛擬化,因此,PCoIP協議在應用于虛擬化軟件上就顯得心有余而力不足。為了彌補這個不足,VMware在View產品中增加對微軟RDP協議的支持,即用戶如果在使用桌面虛擬化時發現PCoIP協議無法實現的一些基礎功能時,例如外設的重定向功能,可以在注銷當前通過PCoIP登錄的桌面,然后再選擇微軟RDP方式登錄。讓用戶揪心的是,當然桌面的軟件狀態全部沒有了,用戶體驗大打折扣;為徹底解決View產品在核心技術上依賴于其他公司的困境,VMware試圖開發自己的協議Blast。最初是在2011年VMworld2011大會上宣布AppBlast項目。直到2016年,Blast協議才隨同VMWARE HORIZON 7正式發布,不過目前Blast只能在Html5上訪問。更多功能還待開發。

          2.2 原理及特點

          PCoIP協議基于UDP協議,其傳輸效率會比RDP協議更快。PCoIP協議靈活支持多種平臺,如Windows, Linux, Mac, Android, iOS, Chrome, and web。目前最新版本是隨同VMware Horizon 6.0發布的,帶寬占用低,圖像質量好。而在VMware Horizon 7.0,Blast協議出來了。這個是VMware自己獨立研發的一款協議,不過目前只能支持HTMI訪問,其特點是圖像性能非常優(Blast默認H.264)。雖然目前還沒推出視頻AVC 4:4:4模式,但圖像顯示效果已經非常棒了。在介紹完Citrix的ICA/HDX之后,小微會給大家看兩個視頻體驗。

          3.ICA/HDX協議

          ICA(Independent Computing Architecture)是Citrix公司自己開發的桌面傳輸協議。Citrix是一直專注于桌面虛擬化。所以非常有實力。

          ICA協議基于UXP協議,其特點是平臺無關性和節省帶寬,換句話說,ICA協議幾乎可以支持所有桌面操作系統和對帶寬占用節省最低。目前使用ICA協議的產品有Citrix's WinFrame, Citrix XenApp , 和Citrix XenDesktop。ICA協議能夠支持音頻、視頻和多媒體帶寬控制,在視頻觀看、Flash播放、3D設計等應用上,其用戶體驗會很流暢。

          2009年,Citrix在發布XenDesktop 3.0時推出HDX技術。HDX技術是基于ICA協議開發的,同時包含其它子系列協議,并且還增加了提高了多媒體、語音、視頻和3D圖形性能的功能。

          來到這里,小微把國外一份對于RDP10.0,Blast和ICA/HDX三種協議的視頻效果測試報告在這里簡單展示一下(報告鏈接在參考文章的第13篇)。

          • 視頻:RDP10.0版本-4:4:4模式視頻測試+HDX和Blast協議視頻測試

          <script src="https://lf6-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>

          報告結論:HDX的性能是最棒的,無論是視頻顯示效果,還是網絡帶寬占用。其次是Blast,最后是RDP10.0。不過,整體來說,三種協議都是非常不錯的。

          不過需要注意的是,這份報告只是單純比較三種協議的視頻性能,而并沒有測試N多個用戶同時跑視頻時的效果。從小微的N次測試來看,當服務器連接的終端數量超過15個時,RDP10.0會耗用大量的服務器資源。

          4.SPICE協議

          SIPCE(Simple Protocol for Independent Computing Environments)于2007年由Qumranet公司最先開發,后來Red Hat公司把Qumranet收購并開源了。SPICE協議的最大的特點是開源,國內很多云桌面產品都是直接在SPICE協議上做文章的。由于SPICE協議有太多版本了,在這里就不列舉了。

          不過,由于底層是固定了,所以可優化的程度不高。因此,基于SPICE協議開發的虛擬云桌面(VDI)方案性能不佳,帶寬占用高、圖像顯示不優仍是其痛點。雖然國人的技術不斷更新,方案也不斷改善,但協議決定了其性能的上限。奈何?沒錯,SPICE協議主要看氣質!

          最后,小微總結一下幾大協議的區別:

          ① RDP/Remote FX只能在Windows和Mac平臺使用,而ICA/HDX 可以在 Windows, Mac, Linux, Blackberry, iOS, Android等多平臺使用;

          ② RDP/Remote FX需要遠程主機使用圖形處理單元進行位圖編碼,而PCoIP直接使用服務器CPU,所以PCoIP比RDP/RemoteFX的傳輸效率要高;

          ③ PCoIP可以支持RDP;

          ④ 只有SPICE協議是開源的,提供平臺給大家分吃云桌面蛋糕。

          ⑤ ICA/HDX協議和PCoIP協議的授權費用不菲,大多用于虛擬云桌面(VDI)中;而RDP/RemoteFX協議較為劃算,但總體性能一般。至于SPICE協議,就的去自己研究了。因為實在是太多版本了!!

          至于哪個好?

          小微建議小伙伴們通過測試自己找答案。可以通過視頻播放、畫面顯示質量、用戶體驗度、外設兼容等去判斷。

          不過,小微提醒大家,并不是性能高就適合自己的。畢竟,價格和應用需求也是考慮的重要因素。如果用于普通辦公和需要標準化教學的普教電腦機房,不妨考慮vCloudPoint微云點的共享云桌面;)

          歡迎關注下期話題:

          VDI,VOI,IDV,共享云桌面的區別。

          開始前準備:

          1. 開啟一臺以Amazon Linux 2為系統的AWS ec2機器C;
          2. 通過秘鑰的方式SSH連接到開啟的機器C。

          主要步驟:

          1. 安裝guacamole-server;
          2. 安裝Tomcat;
          3. 安裝guacamole-client;
          4. 安裝rdp。

          Guacamole簡介

          Guacamole是無客戶端遠程桌面網關。它支持眾多標準協議,例如VNC,RDP和SSH。它不需要插件或客戶端軟件。得益于HTML5,在服務器上安裝了Guacamole之后,只需使用Web瀏覽器即可訪問遠程桌面。


          Guacamole架構

          安裝guacamole-server

          1. 安裝依賴包

          為了保證guacamole-server正常安裝,并且體驗更多功能,我們盡可能多的安裝以下依賴包:

          sudo yum install cairo-devel libjpeg-turbo-devel libpng-devel uuid-devel
          
          sudo yum install libvncserver-devel pulseaudio-libs-devel 
          
          sudo yum install freerdp-devel
          
          sudo yum -y install libssh2-devel openssl-devel pango-devel
          
          sudo amazon-linux-extras install epel
          sudo yum install libtelnet-devel pango-devel
          
          sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
          sudo yum install ffmpeg-devel
          
          sudo yum -y install libvorbis-devel
          
          sudo yum -y install libwebp-devel

          2.編譯安裝guacamole_server源碼包

          # 安裝gcc編譯器,源碼編譯需要
          sudo yum -y install gcc
          # 下載源碼
          sudo wget http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz
          # 解壓源碼
          sudo tar -zxvf guacamole-server-1.1.0.tar.gz
          # 進入到guacamole-server-1.1.0目錄
          sudo cd guacamole-server-1.1.0
          # 執行configure進行腳本配置,并將guacd的啟動腳本置于/init.d目錄下
          sudo ./configure --with-init-dir=/etc/init.d
          # 編譯guacamole_server源碼
          sudo make
          # 安裝創建完的組件
          sudo make install
          # 更新已安裝庫的系統緩存
          sudo ldconfig

          3.配置guacamole為系統啟動服務

          # 增加guacd啟動腳本為系統服務 
          sudo chkconfig --add guacd
          # 設置guacd在各執行等級為開啟狀態
          sudo chkconfig guacd on

          安裝Tomcat

          sudo yum install tomcat

          安裝guacamole-client


          1. 下載guacamole-client
          # 下載guacamole-client預編譯web應用
          sudo wget http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/1.1.0/binary/guacamole-1.1.0.war

          2部署guacamole-client

          # 將下載的guacamole-1.1.0.war拷貝至/var/lib/tomcat/webapps
          sudo cp guacamole-1.1.0.war  /var/lib/tomcat/webapps/guacamole.war  

          3.配置Guacamole服務文件

          # 創建guacamole文件夾
          sudo mkdir /etc/guacamole
          # 創建配置文件guacamole.properties
          touch /etc/guacamole/guacamole.properties
          # 添加以下配置到guacamole.properties
          basic-user-mapping: user-mapping.xml
          # 創建配置文件user-mapping.xml
          touch /etc/guacamole/user-mapping.xml
          # 添加以下設置到user-mapping.xml
          <user-mapping>
          	<authorize username="test" password="test"> # 用于guacamole登錄的的用戶名密碼,即安裝server和client機器上的用戶名密碼
          		<connection name="rdp localhost">
          			<protocol>rdp</protocol>
          			<param name="hostname">localhost</param> # 遠程桌面連接安裝server和client機器
          			<param name="port">3389</param> # rdp一般默認使用3389端口
          			<param name="ignore-cert">true</param> #注意設置此項
          			<param name="username">test</param> # 需要遠程連接桌面的用戶名和密碼
          			<param name="password">test</param>
          		</connection>
          	</authorize>
          </user-mapping>

          4.啟動guacd和tomcat

          sudo systemctl start guacd
          sudo systemctl start tomcat

          安裝rdp

          1.Amazon Linux 2安裝 MATE桌面

          #  安裝 MATE 軟件包:
          sudo amazon-linux-extras install mate-desktop1.x
          # 將 MATE 定義為您的默認桌面。
          # 要為所有用戶定義 MATE:
          sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'
          #  安裝 TigerVNC 程序包:
          sudo yum install tigervnc-server
          # 安裝xrdp
          sudo yum install xrdp

          2.啟動rdp服務

          sudo systemctl start xrdp.service

          web瀏覽器訪問Guacamole

          在瀏覽地址欄通過 http://服務IP地址:8080/guacamole/ 形式訪問,出現guacamole登錄界面后輸入用戶名密碼即可訪問桌面。


          登錄界面


          注意點:記得開放8080和3389端口,如果使用其他協議則開放對應端口。


          主站蜘蛛池模板: 国产午夜精品一区理论片飘花| 亚洲国产专区一区| 色一情一乱一伦一区二区三区 | 麻豆一区二区在我观看 | 国产精品日本一区二区不卡视频| 国产精华液一区二区区别大吗| 91视频一区二区三区| 国产高清视频一区二区| 国产精品女同一区二区久久| 好看的电影网站亚洲一区| 性无码免费一区二区三区在线| 精品国产AV一区二区三区| 国产日产久久高清欧美一区| 一区二区三区日本视频| 久久99热狠狠色精品一区| 夜夜精品无码一区二区三区| 亚洲一区AV无码少妇电影| 伊人激情AV一区二区三区| 国产一区二区三区在线| 精品一区二区三区在线观看l | 国产一区在线mmai| 国产成人一区二区三区在线| 国产av熟女一区二区三区| 无码人妻AⅤ一区二区三区水密桃| 日韩有码一区二区| 午夜影视日本亚洲欧洲精品一区| 人妻精品无码一区二区三区| 精品国产一区二区三区久久| 韩国精品一区二区三区无码视频 | 国产成人久久精品麻豆一区| 亚洲一区AV无码少妇电影| 亚洲国产精品无码第一区二区三区| 久久精品国产一区二区三区肥胖| 成人无码精品一区二区三区| 国产一区二区高清在线播放| 成人国产一区二区三区| 久久福利一区二区| 97精品国产一区二区三区 | 日韩成人无码一区二区三区 | 日韩精品电影一区| 亚洲一区二区三区91|