请输入您要查询的百科知识:

 

词条 Simple Protocol for Independent Computing Environments
释义

  1. Security

  2. Implementations

  3. Applications

  4. See also

  5. References

  6. External links

{{about|SPICE the protocol||Spice (disambiguation)}}{{Infobox software
| name = SPICE
| title = SPICE
| logo =
| screenshot =
| caption =
| collapsible =
| author = Qumranet
| developer = Red Hat
| released =
| discontinued =
| latest release version = {{ubl|

spice-protocol: 0.12.13 / {{Start date and age|2017|7|3}}[1]|

spice: 0.14.1 / {{Start date and age|2018|08|22}}[2]|

spice-gtk: 0.33 / {{Start date and age|2017|7|31}}[3]}}


| latest release date =
| latest preview version =
| latest preview date =
| frequently updated =
| programming language = C, C++
| operating system = Linux, Windows, Android (Client)
| platform =
| size =
| language =
| status =
| genre = Server, client
| license = GPL, LGPL and BSD
| website = spice-space.org
}}{{IPstack}}

In computing, SPICE (the Simple Protocol for Independent Computing Environments) is a remote-display system built for virtual environments which allows users to view a computing "desktop" environment – not only on its computer-server machine, but also from anywhere on the Internet – using a wide variety of machine architectures.

Qumranet originally developed SPICE using a closed-source codebase in 2007. Red Hat, Inc acquired Qumranet in 2008, and in December 2009 released the code under an open-source license and made the protocol an open standard.[4][5]

Security

A SPICE client connection to a remote desktop server consists of multiple data channels, each of which is run over a separate TCP or UNIX socket connection. A data channel can be designated to operate in either clear-text, or TLS modes, allowing the administrator to tradeoff the security level vs performance. The TLS mode provides strong encryption of all traffic transmitted on the data channel.

In addition to encryption, the SPICE protocol allows for a choice of authentication schemes. The original SPICE protocol defined a ticket based authentication scheme using a shared secret. The server would generate an RSA public/private keypair and send its public key to the client. The client would encrypt the ticket (password) with the public key and send the result back to the server, which would decrypt and verify the ticket. The current SPICE protocol also allows for use of the SASL authentication protocol, thus enabling support for a wide range of admin configurable authentication mechanisms, in particular Kerberos.

Implementations

While only one server implementation exists, several programmers have developed new implementations of the SPICE client-side since the open-sourcing of SPICE.

spice-protocol

The spice-protocol module[6] defines the SPICE wire protocol formats. This is made available under the BSD license, and is portable across the Linux and Windows platforms.

spice

The spice module[7] provides the reference implementation for the server side of the SPICE protocol. The server is provided as a dynamic library which can be linked to any application wishing to expose a SPICE server. {{As of | 2013}}, QEMU uses this to provide a SPICE interface for virtual machines. The spice codebase is available under the LGPL v2+ license.

A client part of the spice codebase named spicec was removed in December 2014.

spice-gtk

The spice-gtk module[8] implements a SPICE client using the GObject type system and the GTK widget toolkit. This comprises a low-level library, spice-client-glib, which implements the client protocol code, and a high-level set of widgets which provide a graphical client capability using GTK. This is made available under the LGPLv2+ license, and is portable across the Linux, OS X and Windows platforms.

spice-html5

The spice-html5 module[9] implements a SPICE client that uses JavaScript and is intended to run inside a web browser supporting HTML5. While it implements the SPICE protocol, it cannot talk directly to a regular SPICE server. It must connect to the server indirectly via WebSocket proxy.[10] This is made available under a combination of the GPLv3+ and LGPLv3+ licenses.

Applications

The SPICE protocol originated to provide improved remote desktop capabilities in a fork of the KVM codebase.

QEMU/KVM

The QEMU maintainers merged support for providing SPICE remote desktop capabilities for all QEMU virtual machines in March 2010. The QEMU binary links to the spice-server library to provide this capability and implements the QXL paravirtualized framebuffer device to enable the guest OS to take advantage of the performance benefits the SPICE protocol offers. The guest OS may also use a regular VGA card, albeit with degraded performance as compared to QXL.

Xspice

The X.Org Server driver for the QXL framebuffer device includes a wrapper script[11] which makes it possible to launch an Xorg server whose display is exported via the SPICE protocol. This enables use of SPICE in a remote desktop environment, without requiring QEMU/KVM virtualization.

virt-viewer

The virt-viewer program uses the spice-gtk client library to connect to virtual machines using SPICE, as an alternative to its previous support for VNC.

oVirt

SPICE is integrated into oVirt private-cloud management software, allowing users to connect to virtual machines through SPICE.

See also

{{Portal|Free and open-source software}}
  • Red Hat Enterprise Virtualization
  • HP Remote Graphics Software

References

1. ^{{cite mailing list |url= https://lists.freedesktop.org/archives/spice-devel/2017-July/038466.html |title= ANNOUNCE: spice-protocol release 0.12.13 |date= 3 July 2017 |mailing-list= spice-devel |last= Lureau |first= Marc-André}}
2. ^{{cite mailing list |url= https://lists.freedesktop.org/archives/spice-devel/2018-August/045385.html |title= Announcing spice 0.14.1 |date= 22 August 2018 |mailing-list= spice-devel |last= Fergeau |first= Christophe}}
3. ^{{cite mailing list |url= https://lists.freedesktop.org/archives/spice-devel/2017-July/039094.html |title= ANNOUNCE: spice-gtk v0.34 released |date= 31 July 2017 |mailing-list= spice-devel |last= Lureau |first= Marc-André}}
4. ^{{cite web|url= https://www.redhat.com/about/news/press-archive/2009/12/spice-os |title= Red Hat open-sources SPICE |publisher= Redhat.com |date= |accessdate= 2013-10-25}}
5. ^{{cite web|url= http://www.spice-space.org/ |title= Project website |publisher= Spice-space.org |date= |accessdate= 2013-10-25}}
6. ^{{cite web|url=http://cgit.freedesktop.org/spice/spice-protocol/tree/spice |title=spice-protocol GIT repository |publisher=Cgit.freedesktop.org |date= |accessdate=2013-10-25}}
7. ^http://cgit.freedesktop.org/spice/spice/ spice GIT repository
8. ^{{cite web|url=http://cgit.freedesktop.org/spice/spice-gtk/ |title=spice-gtk GIT repository |publisher=Cgit.freedesktop.org |date=2013-10-10 |accessdate=2013-10-25}}
9. ^{{cite web|url=http://cgit.freedesktop.org/spice/spice-html5/ |title=spice-html5 GIT repository |publisher=Cgit.freedesktop.org |date= |accessdate=2013-10-25}}
10. ^https://github.com/kanaka/websockify WebSockify proxy server
11. ^{{cite web|url=http://cgit.freedesktop.org/xorg/driver/xf86-video-qxl/tree/README.xspice |title=XSpice README |publisher=Cgit.freedesktop.org |date= |accessdate=2013-10-25}}

External links

  • {{Official website|http://www.spice-space.org/}}
  • [https://www.spice-space.org/static/docs/spice_protocol.pdf SPICE protocol]
{{Red Hat}}{{DEFAULTSORT:Spice (Protocol)}}

6 : Application layer protocols|Red Hat software|Remote desktop|Remote desktop protocols|Thin clients|Virtualization-related software for Linux

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/25 16:43:59