# SPICE (protocol)

En informàtica, SPICE (el protocol simple per a entorns informàtics independents ) és un sistema de visualització remota creat per a entorns virtuals que permet als usuaris veure un entorn informàtic "d'escriptori"– no només a la seva màquina-servidor, sinó també des de qualsevol lloc d'Internet - Ús d'una gran varietat d'arquitectures de màquines.
Qumranet va desenvolupar originalment SPICE utilitzant una base de codi de codi tancat el 2007. Red Hat, Inc va adquirir Qumranet el 2008 i el desembre de 2009 va publicar el codi sota una llicència de codi obert i va convertir el protocol en un estàndard obert.

## Seguretat

Una connexió de client SPICE a un servidor d'escriptori remot consta de diversos canals de dades, cadascun dels quals s'executa mitjançant una connexió de sòcol TCP o UNIX independent. Es pot designar un canal de dades perquè funcioni en modes de text clar o TLS, cosa que permet a l'administrador compensar el nivell de seguretat i el rendiment. El mode TLS proporciona un xifratge fort de tot el trànsit transmès al canal de dades.

## Implementacions

Tot i que només existeix una implementació de servidor, diversos programadors han desenvolupat noves implementacions del costat del client SPICE des de l'open-sourcing de SPICE.

### protocol de les espècies

    El mòdul spice-protocol defineix els formats de protocol SPICE wire. Això està disponible sota la llicència BSD i és portàtil a les plataformes Linux i Windows.

### espècia

    El mòdul spice proporciona la implementació de referència per al costat del servidor del protocol SPICE. El servidor es proporciona com una biblioteca dinàmica que es pot enllaçar a qualsevol aplicació que vulgui exposar un servidor SPICE. A 2013, QEMU ho fa servir per proporcionar una interfície SPICE per a màquines virtuals. La base de codis d'espècies està disponible amb la llicència LGPL v2+.
    Una part del client de la base de codis d'espècies anomenada spicec es va eliminar el desembre de 2014.

### espècies-gtk

    El mòdul spice-gtk implementa un client SPICE utilitzant el sistema de tipus GObject i el kit d'eines de giny GTK. Això comprèn una biblioteca de baix nivell, spice-client-glib, que implementa el codi del protocol del client, i un conjunt de ginys d'alt nivell que proporcionen una capacitat de client gràfic mitjançant GTK. Està disponible amb la llicència LGPLv2+ i és portàtil a les plataformes Linux, OS X i Windows.

### espècies-html5

    El mòdul spice-html5 implementa un client SPICE que utilitza JavaScript i està pensat per executar-se dins d'un navegador web compatible amb HTML5. Tot i que implementa el protocol SPICE, no pot parlar directament amb un servidor SPICE normal. S'ha de connectar al servidor indirectament mitjançant el proxy WebSocket. Això està disponible amb una combinació de les llicències GPLv3+ i LGPLv3+.

## Aplicacions

El protocol SPICE es va originar per proporcionar capacitats millorades d'escriptori remot en una bifurcació de la base de codi KVM.

### QEMU/KVM

    Els mantenedors de QEMU van combinar el suport per proporcionar capacitats d'escriptori remot SPICE per a totes les màquines virtuals QEMU el març de 2010. El binari QEMU enllaça a la biblioteca del servidor d'espècies per proporcionar aquesta capacitat i implementa el dispositiu framebuffer paravirtualitzat QXL per permetre que el sistema operatiu convidat aprofiti els avantatges de rendiment que ofereix el protocol SPICE. El sistema operatiu convidat també pot utilitzar una targeta VGA normal, encara que amb un rendiment degradat en comparació amb QXL.

### Xspice

    El controlador del servidor X.Org per al dispositiu framebuffer QXL inclou un script wrapper que permet llançar un servidor Xorg la visualització del qual s'exporta mitjançant el protocol SPICE. Això permet utilitzar SPICE en un entorn d'escriptori remot, sense necessitat de virtualització QEMU/KVM.

### virt-visor

    El programa virt-viewer utilitza la biblioteca de client spice-gtk per connectar-se a màquines virtuals mitjançant SPICE, com a alternativa al seu suport anterior per a VNC.

### oVirt

    SPICE està integrat al programari de gestió de núvols privats d'oVirt, cosa que permet als usuaris connectar-se a màquines virtuals mitjançant SPICE.

## Referències

* ↑ «Red Hat open-sources SPICE» (en anglès). Red Hat, 09-12-2009. [Consulta: 25 octubre 2013].
* ↑ «Project website» (en anglès). spice-space.org. [Consulta: 25 desembre 2019].
* ↑ «SPICE (Simple Protocol for Independent Computing Environments)» (en anglès americà). https://kansasdynamics.com,+19-07-2019.+[Consulta: 23 agost 2023].
* ↑ «Spice - Free Software Directory» (en anglès). https://directory.fsf.org.+[Consulta: 23 agost 2023].