Knowledge (XXG)

RFB (protocol)

Source 📝

124: 36: 77: 524:
The VNC protocol expresses mouse button state in a single byte, as binary up/down. This limits the number of mouse buttons to eight (effectively 7 given convention of button 0 meaning "disabled"). Many modern mice enumerate 9 or more buttons, leading to forward/back buttons having no effect over RFB.
437:
Developers are free to add additional encoding and security types but they must book unique identification numbers for these with the maintainers of the protocol so that the numbers do not clash. Clashing type numbers would cause confusion when handshaking a connection and break cross-compatibility
482:
Of the publicly-defined picture-based encodings, the most efficient ones are the Tight encoding types. Two types of encodings are defined by TightVNC: Tight Encoding (a mixture of rectangle, palette and gradient filling with zlib and JPEG, plus a Zlib-plus-filter "basic compression") and Tight PNG
301:
and security techniques as it has developed. To maintain seamless cross-compatibility between the many different VNC client and server implementations, the clients and servers negotiate a connection using the best RFB version, and the most appropriate compression and security options that they can
293:
By default, a viewer/client uses TCP port 5900 to connect to a server (or 5800 for browser access), but can also be set to use any other port. Alternatively, a server can connect to a viewer in "listening mode" (by default on port 5500). One advantage of listening mode is that the server site does
438:
between implementations. The list of encoding and security types was maintained by RealVNC Ltd and is separate from the protocol specification so that new types can be added without requiring the specification to be reissued. Since December 2012, the list went to
294:
not have to configure its firewall/NAT to allow access on the specified ports; the burden is on the viewer, which is useful if the server site has no computer expertise, while the viewer user would be expected to be more knowledgeable.
512:
The VNC protocol is pixel based. Although this leads to great flexibility (i.e. any type of desktop can be displayed), it is often less efficient than solutions that have a better understanding of the underlying graphic layout like
505:
In terms of transferring clipboard data, "there is currently no way to transfer text outside the Latin-1 character set". A common pseudo-encoding extension solves the problem by using
322:
connectivity called a Videotile. In order to keep the device as simple as possible, RFB was developed and used in preference to any of the existing remote display technologies.
457:
Multiple encodings are part of the negotiation. Some of the encodings are pseudo-encodings used to advertise the ability to handle a certain extension. Encodings include:
521:. Those protocols send graphic primitives or high level commands in a simpler form (e.g. open window), whereas RFB just sends the raw pixel data, albeit compressed. 98: 85: 297:
Although RFB started as a relatively simple protocol, it has been enhanced with additional features (such as file transfers) and more sophisticated
541: 722: 717: 727: 225: 207: 63: 493:
has been researched for encoding RFB data, but the preliminary results (using Open H.264 format) were described as lackluster by a
336:, Ltd., in order to continue development of VNC and to maintain the RFB protocol. The current RFB protocol is published on the 141: 49: 145: 188: 160: 329:
software and the RFB specification published on the web. Since then RFB has been a free protocol which anybody can use.
311: 377: 697: 692: 445:
A community version of the RFB protocol specification which aims to document all existing extensions is hosted by the
409: 393: 337: 167: 319: 134: 90: 497:
developer. It does become more efficient with fewer I-frames (keyframes), but CPU utilization remains a problem.
484: 282: 254: 174: 561: 518: 250: 246: 528:
There is no standard to transfer sound data at all, with the sole exception that the server may signal a
156: 326: 55: 278: 682: 609: 266: 556: 425: 298: 262: 274: 181: 529: 711: 546: 325:
RFB found a second and more enduring use when VNC was developed. VNC was released as
627: 429: 315: 258: 123: 582: 332:
When ORL was closed in 2002 some of the key people behind VNC and RFB formed
702: 17: 76: 494: 446: 688:
RFC 6143: The Remote Framebuffer Protocol (describes Version 3.8, 2011)
333: 687: 532:(audible beep, notification sound) should be played by the client. 647:"A Study on the Usefulness of H.264 Encoding in a VNC Environment" 646: 506: 490: 473: 270: 550: 439: 514: 483:
Encoding (Tight encoding with basic compression replaced with
117: 70: 29: 314:(ORL) as a remote display technology to be used by a simple 348:
Published versions of the RFB protocol are as follows:
664:
Richardson, Tristan (2010). "Sections 6.4.6, 6.5.4".
148:. Unsourced material may be challenged and removed. 553:for efficient remote X Window System connections 8: 698:The RFB Protocol - Version 3.7 (2003-08-12) 693:The RFB Protocol - Version 3.8 (2010-11-26) 64:Learn how and when to remove these messages 604: 602: 600: 598: 596: 226:Learn how and when to remove this message 208:Learn how and when to remove this message 703:The RFB Protocol - Version 3.3 (1998-01) 628:"VNC Tight Encoder - Comparison Results" 350: 101:of all important aspects of the article. 574: 525:A "GII" extension solves this problem. 97:Please consider expanding the lead to 610:"The RFB Protocol, Community Edition" 542:Comparison of remote desktop software 7: 683:The RFB Protocol - Community Version 146:adding citations to reliable sources 410:The Remote Framebuffer Protocol 3.8 394:The Remote Framebuffer Protocol 3.7 378:The Remote Framebuffer Protocol 3.3 25: 45:This article has multiple issues. 310:RFB was originally developed at 122: 75: 34: 133:needs additional citations for 89:may be too short to adequately 53:or discuss these issues on the 666:The RFB Protocol - Version 3.8 281:. RFB is the protocol used in 261:level it is applicable to all 99:provide an accessible overview 1: 312:Olivetti Research Laboratory 265:and applications, including 723:Application layer protocols 285:(VNC) and its derivatives. 744: 583:"Remote Framebuffer (RFB)" 320:Asynchronous Transfer Mode 257:. Because it works at the 718:Virtual Network Computing 283:Virtual Network Computing 255:graphical user interfaces 27:Computer network protocol 728:Remote desktop protocols 562:Remote Desktop Protocol 509:in an extended format. 245:") is an open simple 142:improve this article 517:or desktop such as 157:"RFB" protocol 400:RFB 3.8 (current) 243:remote framebuffer 435: 434: 267:Microsoft Windows 263:windowing systems 236: 235: 228: 218: 217: 210: 192: 116: 115: 68: 16:(Redirected from 735: 670: 669: 661: 655: 654: 642: 636: 635: 632:www.tightvnc.com 624: 618: 617: 616:. 8 August 2022. 606: 591: 590: 579: 351: 231: 224: 213: 206: 202: 199: 193: 191: 150: 126: 118: 111: 108: 102: 79: 71: 60: 38: 37: 30: 21: 743: 742: 738: 737: 736: 734: 733: 732: 708: 707: 679: 674: 673: 663: 662: 658: 645:Commander, DR. 644: 643: 639: 626: 625: 621: 608: 607: 594: 581: 580: 576: 571: 538: 503: 455: 416:IETF RFC (3.8) 346: 338:RealVNC website 308: 291: 275:X Window System 232: 221: 220: 219: 214: 203: 197: 194: 151: 149: 139: 127: 112: 106: 103: 96: 84:This article's 80: 39: 35: 28: 23: 22: 15: 12: 11: 5: 741: 739: 731: 730: 725: 720: 710: 709: 706: 705: 700: 695: 690: 685: 678: 677:External links 675: 672: 671: 656: 637: 619: 592: 573: 572: 570: 567: 566: 565: 559: 554: 544: 537: 534: 502: 499: 480: 479: 476: 471: 468: 465: 462: 454: 453:Encoding types 451: 433: 432: 423: 420: 417: 413: 412: 407: 404: 401: 397: 396: 391: 388: 385: 381: 380: 375: 372: 369: 365: 364: 363:Specification 361: 358: 355: 345: 342: 307: 304: 302:both support. 290: 287: 234: 233: 216: 215: 130: 128: 121: 114: 113: 93:the key points 83: 81: 74: 69: 43: 42: 40: 33: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 740: 729: 726: 724: 721: 719: 716: 715: 713: 704: 701: 699: 696: 694: 691: 689: 686: 684: 681: 680: 676: 667: 660: 657: 652: 648: 641: 638: 633: 629: 623: 620: 615: 611: 605: 603: 601: 599: 597: 593: 588: 584: 578: 575: 568: 563: 560: 558: 555: 552: 548: 547:NX technology 545: 543: 540: 539: 535: 533: 531: 526: 522: 520: 516: 510: 508: 500: 498: 496: 492: 488: 486: 477: 475: 472: 469: 466: 463: 460: 459: 458: 452: 450: 448: 443: 441: 431: 427: 424: 421: 418: 415: 414: 411: 408: 405: 402: 399: 398: 395: 392: 389: 386: 383: 382: 379: 376: 374:January 1998 373: 370: 367: 366: 362: 359: 356: 353: 352: 349: 343: 341: 339: 335: 330: 328: 323: 321: 317: 313: 305: 303: 300: 295: 288: 286: 284: 280: 276: 272: 268: 264: 260: 256: 252: 251:remote access 248: 244: 240: 230: 227: 212: 209: 201: 190: 187: 183: 180: 176: 173: 169: 166: 162: 159: –  158: 154: 153:Find sources: 147: 143: 137: 136: 131:This article 129: 125: 120: 119: 110: 100: 94: 92: 87: 82: 78: 73: 72: 67: 65: 58: 57: 52: 51: 46: 41: 32: 31: 19: 665: 659: 651:turbovnc.org 650: 640: 631: 622: 613: 587:www.iana.org 586: 577: 527: 523: 511: 504: 489: 481: 456: 444: 436: 419:RealVNC Ltd 403:RealVNC Ltd 390:August 2003 387:RealVNC Ltd 347: 331: 324: 309: 296: 292: 242: 238: 237: 222: 204: 195: 185: 178: 171: 164: 152: 140:Please help 135:verification 132: 104: 88: 86:lead section 61: 54: 48: 47:Please help 44: 18:RFB protocol 501:Limitations 422:March 2011 327:open source 316:thin client 299:compression 289:Description 259:framebuffer 712:Categories 569:References 406:June 2007 357:Published 198:March 2014 168:newspapers 107:March 2014 50:improve it 478:Tight PNG 449:project. 91:summarize 56:talk page 536:See also 495:TurboVNC 447:TigerVNC 384:RFB 3.7 368:RFB 3.3 354:Version 344:Versions 247:protocol 487:data). 334:RealVNC 306:History 279:Wayland 182:scholar 614:GitHub 428:  273:, the 184:  177:  170:  163:  155:  564:(RDP) 557:SPICE 507:UTF-8 491:H.264 474:H.264 467:Tight 360:Date 318:with 271:macOS 189:JSTOR 175:books 551:Xpra 549:and 530:bell 464:Zlib 440:IANA 430:6143 371:ORL 277:and 249:for 161:news 519:RDP 515:X11 485:PNG 461:Raw 426:RFC 253:to 239:RFB 144:by 714:: 649:. 630:. 612:. 595:^ 585:. 470:XZ 442:. 340:. 269:, 241:(" 59:. 668:. 653:. 634:. 589:. 229:) 223:( 211:) 205:( 200:) 196:( 186:· 179:· 172:· 165:· 138:. 109:) 105:( 95:. 66:) 62:( 20:)

Index

RFB protocol
improve it
talk page
Learn how and when to remove these messages

lead section
summarize
provide an accessible overview

verification
improve this article
adding citations to reliable sources
"RFB" protocol
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
Learn how and when to remove this message
protocol
remote access
graphical user interfaces
framebuffer
windowing systems
Microsoft Windows
macOS
X Window System
Wayland
Virtual Network Computing

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.