23-01-2011, 09:01 PM
RFB PROTOCOL
B.Tech Seminar report
by
Saurabh Santhosh
Department of Computer Science And Engineering
Government Engineering College, Thrissur
December 2010
B.Tech Seminar report
by
Saurabh Santhosh
Department of Computer Science And Engineering
Government Engineering College, Thrissur
December 2010
[attachment=8384]
Abstract
Remote Desktop Softwares are those softwares which provide Remote Access. Remote
Access means the ability of a user to log onto a remote computer or network from a
distant location. This usually comprises of computers, a Network, and some remote
access software to connect to the network. Since this involves clients and servers connected
across a network,a protocol is essential for efficient communication between
them. RFB protocol is one of such protocols which is used by the client and servers
for communicating with each other and thereby making Remote Access possible.
The purpose of this Paper is to give a general idea as to how this Protocol actually
works. This paper also gives a broad idea about the various messages of this protocol
and how these messages are send and interpreted by the client and server modules.
This Paper also includes a Simple implementation of the Protocol which shows the
various messages and methods and how this protocol is practically used for gaining
remote access.
Chapter 1
Introduction
RFB (remote framebuffer) is a simple and efficient protocol which provide remote
access to graphical user interfaces.As its Name Suggests it works at the framebuffer
level and thus it is applicable to all windowing systems and applications. Eg. X11,
Windows and Macintosh. It should also be noted that there are other Protocols available
and RFB is the protocol which is used in Virtual Network Computing (VNC)
and its various forms. Due to increase in number of Software products and Services
such protocols play a very important role nowadays.
Chapter 2
REPRESENTATION OF PIXEL
DATA
The Interaction between server and client begins with a negotiation of the format and
encoding which will be used to send the pixel data. This step is included to make the
job of client easy. The server must always be able to supply the pixel data in the form
the client needs. In case the client can handle different formats,client can choose any
one it wishes. That is why this protocol is called a thin-Client Protocol.
Pixel Format refers to the representation of various individual colors by pixel values.
The most common formats are 24-bit or 16-bit where bit-fields translate directly
to the primary colors , and 8-bit color map where a mapping can be used to obtain
RGB intensities.
Encoding refers to how a rectangle of the above said pixel data will be sent across
the channel. Every triangle of this pixel data is prefixed by a header which contains
the X,Y position of the rectangle on the screen,the width and height of this triangle,
and an encoding type which specifies how the pixel data is encoded. In practice
we normally use only the ZRLE, Hextile and CopyRect encodings since they provide
the best compression as far as typical desktops are concerned.