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:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.