Monday, April 19, 2010

Rfb Protocol - I

As we know VNC is working with the server-client architecture, some protocol have to be used for communication. VNC uses RFB protocol to help server and clients communicate with each other.

RFB Protocol:
  • RFB stands for Remote Frame Buffer.
  • It is a simple protocol for remote access to graphical user interfaces.
  • It works at the frame buffer level, so it can work with any windowing system.

How it works:

There are 2 types in protocol messages based on its purposes,
  • Display
  • Input
Display:
The server will be sending a rectangle of pixel data and a corresponding x,y position and the client will receive it and apply the pixel data in the x,y co-ordinates sent by the server.
Series of rectangles makes a frame buffer update.
These updates will be sent by the server only when the viewer requests for it. So, the quality is based on the number of requests sent by viewer and the responses received. This helps to get adapted to networks with different bandwidth. When, you are in slow networks, it is good to reduce the frequency of requests sent to server to avoid network traffic.
So, the slower the client and the network are, the lower the rate of updates becomes.

Input:
Input events are sent to the server by the client whenever the user presses a key or the mouse is moved. It is also possible to simulate the input events when the user uses different IO devices.

So, RFB as a protocol is very much adaptive in the way it works.

continue reading about Rfb Protocol in Rfb Protocol - II