독립 컴퓨팅 환경을 위한 간단한 프로토콜
Simple Protocol for Independent Computing Environments원본 작성자 | 쿰라넷 |
---|---|
개발자 | 레드햇 |
안정적 해제 | |
기록 위치 | C, C++ |
운영 체제 | Linux, Windows, Android(클라이언트) |
유형 | 서버, 클라이언트 |
면허증 | GPL, LGPL 및 BSD |
웹사이트 | spice-space.org |
인터넷 프로토콜 제품군 |
---|
응용 계층 |
전송층 |
인터넷 계층 |
링크 레이어 |
컴퓨팅에서 SPICE(Simple Protocol for Independent Computing Environments)는 사용자가 다양한 머신 아키텍처를 사용하여 컴퓨터 서버 머신뿐만 아니라 인터넷의 어디에서나 컴퓨팅 "데스크톱" 환경을 볼 수 있도록 가상 환경을 위해 구축된 원격 디스플레이 시스템이다.
쿰라넷은 원래 2007년 폐쇄 소스 코드베이스를 이용해 SPICE를 개발했다.레드햇(Red Hat, Inc.)은 2008년에 쿰라넷을 인수했고, 2009년 12월에 오픈소스 라이센스로 코드를 공개하고 프로토콜을 오픈 표준으로 만들었다.[4][5]
보안
원격 데스크톱 서버에 대한 SPICE 클라이언트 연결은 각각 별도의 TCP 또는 UNIX 소켓 연결을 통해 실행되는 여러 데이터 채널로 구성된다.데이터 채널은 투명 텍스트 또는 TLS 모드에서 작동하도록 지정할 수 있으며, 이를 통해 관리자는 보안 수준과 성능을 상호 교환할 수 있다.TLS 모드는 데이터 채널에서 전송되는 모든 트래픽의 강력한 암호화를 제공한다.
암호화 외에도 SPICE 프로토콜은 인증 체계를 선택할 수 있도록 허용한다.원본 SPICE 프로토콜은 공유 암호를 사용하여 티켓 기반 인증 체계를 정의했다.서버는 RSA 공용/개인용 키페어를 생성하고 공용 키를 클라이언트로 전송한다.클라이언트는 공용 키로 티켓(암호)을 암호화하여 그 결과를 서버에 다시 보내서 티켓을 해독하고 검증한다.또한 현재의 SPICE 프로토콜은 SASL 인증 프로토콜의 사용을 허용하므로, 특히 Kerberos와 같은 광범위한 관리자 구성 인증 메커니즘을 지원할 수 있다.
구현
단 하나의 서버 구현이 존재하는 동안, 몇몇 프로그래머들은 SPICE의 오픈소싱 이후 SPICE 클라이언트 측의 새로운 구현을 개발했다.
- 향신료가 든
- 스파이스 프로토콜 모듈은[6] 스파이스 와이어 프로토콜 형식을 정의한다.이것은 BSD 라이센스에 따라 사용할 수 있으며 Linux와 Windows 플랫폼을 통해 휴대할 수 있다.
- 향신료
- 스파이스 모듈은[7] SPICE 프로토콜의 서버 측에 대한 참조 구현을 제공한다.서버는 SPICE 서버를 노출하려는 모든 응용프로그램에 연결할 수 있는 동적 라이브러리로 제공된다.2013년[update] 현재 QEMU는 이를 사용하여 가상 머신을 위한 SPICE 인터페이스를 제공하고 있다.향신료 코드베이스는 LGPL v2+ 라이센스로 이용할 수 있다.
- 스파이스c라는 이름의 향신료 코드베이스의 고객 부분이 2014년 12월에 제거되었다.
- 향신료가 든
- 스파이스-gtk 모듈은[8] GObject 유형 시스템과 GTK 위젯 툴킷을 사용하여 스파이스 클라이언트를 구현한다.이것은 클라이언트 프로토콜 코드를 구현하는 낮은 수준의 라이브러리, 스파이스-클라이언트-그리브, GTK를 사용하여 그래픽 클라이언트 기능을 제공하는 높은 수준의 위젯 세트로 구성된다.이는 LGPLv2+ 라이센스로 제공되며, Linux, OS X, Windows 플랫폼을 통해 휴대할 수 있다.
- 향신료 첨가5
- 스파이스-html5 모듈은[9] 자바스크립트를 사용하는 스파이스 클라이언트를 구현하며 HTML5를 지원하는 웹 브라우저 안에서 실행되도록 되어 있다. 스파이스 프로토콜을 구현하는 동안 일반 스파이스 서버와 직접 대화할 수 없다.WebSocket 프록시를 통해 서버에 간접적으로 연결해야 한다.[10]이는 GPLv3+와 LGPLv3+ 라이센스를 조합하여 사용할 수 있다.
적용들
SPICE 프로토콜은 KVM 코드베이스의 포크에서 개선된 원격 데스크톱 기능을 제공하기 위해 시작되었다.
- QEMU/KVM
- QEMU 유지 관리자들은 2010년 3월에 모든 QEMU 가상 머신에 대해 SPICE 원격 데스크톱 기능을 제공하기 위한 지원을 통합했다.QEMU 바이너리는 스파이스 서버 라이브러리에 연결하여 이 기능을 제공하고 QXL 반가상화 프레임 버퍼 장치를 구현하여 게스트 OS가 스파이스 프로토콜이 제공하는 성능 이점을 활용할 수 있도록 한다.게스트 OS는 QXL에 비해 성능이 저하되더라도 일반 VGA 카드를 사용할 수도 있다.
- 엑스스피스
- QXL 프레임 버퍼 장치용 X.Org 서버 드라이버에는 SPICE 프로토콜을 통해 디스플레이를 내보내는 Xorg 서버를 실행할 수 있는 래퍼 스크립트가[11] 포함되어 있다.이를 통해 QEMU/KVM 가상화 없이도 원격 데스크톱 환경에서 SPICE를 사용할 수 있다.
- 거장의
- 그
virt-viewer
프로그램은 이전의 VNC 지원 대안으로 스파이스(SPENS)를 사용하여 가상 시스템에 연결하기 위해 스파이스(spic)-gk 클라이언트 라이브러리를 사용한다. - 오비르트
- 스파이스는 oVirt 프라이빗 클라우드 관리 소프트웨어에 통합돼 있어 사용자가 스파이스(SPEX)를 통해 가상 머신에 연결할 수 있다.
참고 항목
참조
- ^ Lureau, Marc-André (3 July 2017). "ANNOUNCE: spice-protocol release 0.12.13". spice-devel (Mailing list).
- ^ Fergeau, Christophe (22 August 2018). "Announcing spice 0.14.1". spice-devel (Mailing list).
- ^ Lureau, Marc-André (31 July 2017). "ANNOUNCE: spice-gtk v0.34 released". spice-devel (Mailing list).
- ^ "Red Hat open-sources SPICE". Red Hat. Retrieved 2013-10-25.
- ^ "Project website". spice-space.org. Retrieved 2019-12-25.
- ^ "spice-protocol GIT repository". cgit.freedesktop.org. Retrieved 2013-10-25.
- ^ http://cgit.freedesktop.org/spice/spice/ 향신료 GIT 저장소
- ^ "spice-gtk GIT repository". cgit.freedesktop.org. 2013-10-10. Retrieved 2013-10-25.
- ^ "spice-html5 GIT repository". cgit.freedesktop.org. Retrieved 2013-10-25.
- ^ https://github.com/kanaka/websockify WebSockify 프록시 서버
- ^ "XSpice README". cgit.freedesktop.org. Retrieved 2013-10-25.