在電腦科學中,獨立計算環境簡單協定(Simple Protocol for Independent Computing Environments,簡稱SPICE)是一款為虛擬環境打造的遠端顯示系統,支援諸多機器架構,旨在讓用戶檢視計算虛擬環境的「桌面」環境——除了伺服器實體機上檢視外,還允許用戶從互聯網的每個角落進行連接。
Qumranet起初於2007年使用閉原始碼庫開發。在2008年紅帽公司收購Qumranet之後,紅帽公司在2009年12月以開源特許公佈了SPICE的原始碼,使得此協定成為一項開放標準。[4][5]
安全性
SPICE客戶端與遠端桌面伺服器的連接含有多個數據通道,每個均執行在不同的TCP/UNIX通訊端連接上。協定的數據通道既可以是明文,也可以是TLS模式,因此管理員可以在安全性與效能之間做出其自己的判斷。TLS模式對所有在信道上載遞的流量進行了強度較高的加密。
除了加密之外,SPICE協定還支援多種認證方案。原先的SPICE提供了基於憑證的共用金鑰認證方案。在此過程中,伺服器將生成RSA公鑰/金鑰對並行送其公鑰至客戶端。客戶端將使用公鑰加密憑證(即密碼)並行送結果回伺服器以待解密與驗證憑證。現在的SPICE協定還支援使用SASL認證協定,支援多個可組態的認證方案,特別是Kerberos。
實現
雖然SPICE的伺服器端僅有一種實現,但開發者在SPICE開源之初即研發了多種全新的客戶端實現方式。
- spice-protocol
- spice-protocol模組[6]定義了SPICE的線路協定格式。此模組以BSD協定開源,可移植到Linux與Windows平台。
- spice
- spice模組[7]提供了SPICE協定伺服器端的參考實現。伺服器端呈現為可連結至任意應用程式的動態連結庫形式向客戶端提供連接。截至2013年[update],QEMU使用此模組來提供虛擬機器的SPICE介面。spice代碼庫以LGPL第二版及更高版本協定開源。
- 客戶端側的spice代碼庫(即spicec)於2014年12月移除。
- spice-gtk
- spice-gtk模組[8]使用GObject型別系統及GTK部件工具箱實現了SPICE客戶端。其包含低階函式庫、實現客戶端協定代碼的spice-client-glib和使用GTK以提供圖形客戶端能力的進階別掛件。此模組以GNU較寬鬆公共許可證第二版及更高版本協定開源,且可移植至Linux、MacOS和Windows平台。
- spice-html5
- spice-html5模組[9]使用JavaScript實現了SPICE客戶端,執行於HTML5的網頁瀏覽器中。雖然此模組實現了SPICE協定,但其卻無法與普通的SPICE伺服器直接溝通。其必須先通過WebSocket代理間接連接至伺服器。[10]此軟件的部分以GNU通用公眾特許條款第三版及更高版本與GNU較寬鬆公共許可證第三版及更高版本協定開源。
應用
SPICE起初以KVM代碼庫的衍生(Fork)為用戶提供更加完善的遠端桌面能力。
- QEMU/KVM
- QEMU維護者於2010年3月為所有QEMU虛擬機器加入了SPICE遠端桌面的代碼。QEMU二進制檔案連結到spice-server庫來架設遠端桌面並實現QXL超虛擬化幀緩衝區裝置使客戶機作業系統利用SPICE協定的效能優勢。客戶機作業系統也可使用VGA顯示卡,但相對QXL而言會造成效能降低。
- Xspice
- QXL幀緩衝區的X.Org Server驅動程式內建了可啟動Xorg server的包裝器指令碼[11]並通過SPICE協定匯出。這可在無需QEMU/KVM虛擬化的情況下在遠端桌面環境中使用SPICE協定。
- virt-viewer
virt-viewer
程式使用spice-gtk客戶端函式庫基於SPICE協定連接至虛擬機器,成為VNC的備選之一。- oVirt
- SPICE已整合進oVirt私人雲端管理軟件,用戶可使用SPICE協定連接至虛擬機器。
另請參閱
- 紅帽企業級虛擬化
- HP遠端圖形軟件
參考文獻
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.