The Remote Framebuffer Protocol
RFC 6143
Document | Type |
RFC - Informational
(March 2011; Errata)
Was draft-levine-rfb (individual in rai area)
|
|
---|---|---|---|
Authors | Tristan Richardson , John Levine | ||
Last updated | 2015-10-14 | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized bibtex | ||
Reviews | |||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 6143 (Informational) | |
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Robert Sparks | ||
Send notices to | (None) |
Internet Engineering Task Force (IETF) T. Richardson Request for Comments: 6143 J. Levine Category: Informational RealVNC Ltd. ISSN: 2070-1721 March 2011 The Remote Framebuffer Protocol Abstract RFB ("remote framebuffer") is a simple protocol for remote access to graphical user interfaces that allows a client to view and control a window system on another computer. Because it works at the framebuffer level, RFB is applicable to all windowing systems and applications. This document describes the protocol used to communicate between an RFB client and RFB server. RFB is the protocol used in VNC. Status of This Memo This document is not an Internet Standards Track specification; it is published for informational purposes. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are a candidate for any level of Internet Standard; see Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6143. Copyright Notice Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Richardson & Levine Informational [Page 1] RFC 6143 The Remote Framebuffer Protocol March 2011 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Initial Connection . . . . . . . . . . . . . . . . . . . . . . 4 3. Display Protocol . . . . . . . . . . . . . . . . . . . . . . . 4 4. Input Protocol . . . . . . . . . . . . . . . . . . . . . . . . 5 5. Representation of Pixel Data . . . . . . . . . . . . . . . . . 5 6. Protocol Versions and Extensions . . . . . . . . . . . . . . . 6 7. Protocol Messages . . . . . . . . . . . . . . . . . . . . . . 7 7.1. Handshake Messages . . . . . . . . . . . . . . . . . . . . 8 7.1.1. ProtocolVersion Handshake . . . . . . . . . . . . . . 8 7.1.2. Security Handshake . . . . . . . . . . . . . . . . . . 8 7.1.3. SecurityResult Handshake . . . . . . . . . . . . . . . 10 7.2. Security Types . . . . . . . . . . . . . . . . . . . . . . 10 7.2.1. None . . . . . . . . . . . . . . . . . . . . . . . . . 10 7.2.2. VNC Authentication . . . . . . . . . . . . . . . . . . 10 7.3. Initialization Messages . . . . . . . . . . . . . . . . . 11 7.3.1. ClientInit . . . . . . . . . . . . . . . . . . . . . . 11 7.3.2. ServerInit . . . . . . . . . . . . . . . . . . . . . . 11 7.4. Pixel Format Data Structure . . . . . . . . . . . . . . . 12 7.5. Client-to-Server Messages . . . . . . . . . . . . . . . . 13 7.5.1. SetPixelFormat . . . . . . . . . . . . . . . . . . . . 13 7.5.2. SetEncodings . . . . . . . . . . . . . . . . . . . . . 14 7.5.3. FramebufferUpdateRequest . . . . . . . . . . . . . . . 15 7.5.4. KeyEvent . . . . . . . . . . . . . . . . . . . . . . . 16 7.5.5. PointerEvent . . . . . . . . . . . . . . . . . . . . . 19 7.5.6. ClientCutText . . . . . . . . . . . . . . . . . . . . 19 7.6. Server-to-Client Messages . . . . . . . . . . . . . . . . 20 7.6.1. FramebufferUpdate . . . . . . . . . . . . . . . . . . 20 7.6.2. SetColorMapEntries . . . . . . . . . . . . . . . . . . 21 7.6.3. Bell . . . . . . . . . . . . . . . . . . . . . . . . . 22 7.6.4. ServerCutText . . . . . . . . . . . . . . . . . . . . 22 7.7. Encodings . . . . . . . . . . . . . . . . . . . . . . . . 22 7.7.1. Raw Encoding . . . . . . . . . . . . . . . . . . . . . 23 7.7.2. CopyRect Encoding . . . . . . . . . . . . . . . . . . 23 7.7.3. RRE Encoding . . . . . . . . . . . . . . . . . . . . . 23 7.7.4. Hextile Encoding . . . . . . . . . . . . . . . . . . . 24 7.7.5. TRLE . . . . . . . . . . . . . . . . . . . . . . . . . 27 7.7.6. ZRLE . . . . . . . . . . . . . . . . . . . . . . . . . 30Show full document text