SPICE (Protokoll)
# SPICE (Protokoll)

SPICE (Simple Protocol for Independent Computing Environments) ist ein Protokoll zum Anzeigen von virtuellen Desktopumgebungen wie den Bildschirminhalt und erlaubt Eingaben von Tastatur und Maus über Netzwerke wie das Internet zu übertragen. In Erweiterung zu ähnlichen Systemen wie Virtual Network Computing (VNC) erlaubt SPICE auch beliebige USB-Geräte vom Client in die virtuelle Umgebung am Server als virtuelles USB-Gerät zu übermitteln. Darüber hinaus erlaubt der Spice-Agent vdagent, welcher in der Gastmaschine installiert wird und in vielen Linux-Distributionen und für MS-Windows zur Verfügung steht, bei grafischen Oberflächen beispielsweise das Kopieren mittels Kopieren und Einfügen von Texten und Bildern zwischen der Gastmaschine und dem Client. Des Weiteren ist damit das Einstellen von beliebigen Bildschirmauflösungen durch Veränderung der Fenstergröße am Client möglich.

Die Übertragung kann unter anderem im Rahmen der Transport Layer Security (TLS) und des Simple Authentication and Security Layer (SASL) verschlüsselt und der Zugriff authentifiziert erfolgen. Integrierte Datencache und Kompressionsverfahren erlauben auch bei Netzwerkverbindung mit reduzierter Bitraten eine Verbindung. Die Kommunikation erfolgt nicht direkt, sondern über Virtualisierungen, die dem Zielrechner als Hardwarekomponente erscheinen und über entsprechende Treiber bedient werden.

Ursprünglich wurde SPICE von der israelischen Firma Qumranet entwickelt, deren Kernel-based Virtual Machine (KVM) Teil des Linux-Kernels ist. 2008 wurde das Unternehmen von Red Hat übernommen. Im Dezember 2009 beschloss Red Hat, das Protokoll als Open Source freizugeben.

Verwendet wird SPICE unter anderem bei der auf KVM aufbauenden Virtualisierungssoftware QEMU, welche SPICE seit März 2010 direkt unterstützt.

