RFBProtocol UserPreferences
 
Help Info Print View Search Diffs Edit
 À妽º   Ã£±â   Freeboard   Subjectless   Images   ÃÖ±Ù±Û 

Version as of 2003-02-13 15:23:38

Clear message


RFB (remote framebuffer) is a simple protocol for remote access to graphical user interfaces. Because it works at the framebuffer level it is applicable to all windowing systems and applications, including X11, Windows 3.1/95/NT and Macintosh.

from "the RFB Protocol" (http://www.uk.research.att.com/vnc/rfbproto.pdf)


RFB ÇÁ·ÎÅäÄÝÀº GUI ½Ã½ºÅÛ(Windows, X-window, Mac)À» ¿ø°Ý¿¡¼­ ¾×¼¼½ºÇÏ°íÀÚ ÇÏ´Â ¸ñÀû¿¡¼­ ¸¸µé¾îÁø, °£´ÜÇÑ ÇÁ·ÎÅäÄÝÀÌ´Ù. framebuffer ·¹º§¿¡¼­ ±¸ÇöµÇ¹Ç·Î RFB(Remote FrameBuffer?)¶ó´Â À̸§ÀÌ ºÙ¾ú´Ù.
VNC(http://www.uk.research.att.com/vnc/index.html)°¡ ÀÌ ÇÁ·ÎÅäÄÝ¿¡ ±â¹ÝÇÏ¿© ¸¸µé¾îÁ³´Ù.

RFB´Â thin Client ÇÁ·ÎÅäÄÝÀÌ´Ù. Ŭ¶óÀ̾ðÆ®´Â µð½ºÇ÷¹ÀÌ/Å°º¸µå/Æ÷ÀÎÅÍ(¸¶¿ì½º°°Àº)ÀÇ »ç¿ëÀÚ Á¤º¸¸¦ ¼­¹ö·Î º¸³»¸ç, ¼­¹ö´Â FramebufferÀÇ Á¤º¸(GUI ½Ã½ºÅÛ, ¾ÖÇø®ÄÉÀ̼Ç)¸¦ Ŭ¶óÀ̾ðÆ®·Î Àü¼ÛÇÑ´Ù.

RFBÀÇ ÇÁ·ÎÅäÄÝÀº ´ÙÀ½°ú °°ÀÌ ±¸¼ºµÈ´Ù ;

Display Protocol
RFBÀÇ µð½ºÇ÷¹ÀÌ ºÎºÐÀº °£´ÜÇÑ ¾ÆÀ̵ð¾î¿¡ ±â¹ÝÇÏ°í ÀÖ´Ù : "Çȼ¿ÀÇ »ç°¢Çü µ¥ÀÌŸ¸¦ ÁÖ¾îÁø x,y ÁÂÇ¥¿¡ ³õ´Â´Ù" ÀÌ ¾ÆÀ̵ð¾î´Â ÀÏ°ß ¸¹Àº UI ÄÄÆÛ³ÍÆ®µéÀ» ±×¸®´Â µ¥¿¡ ºñ´É·üÀûÀ¸·Î º¸ÀδÙ. ±×·¯³ª, ³×Æ®¿÷ ´ë¿ªÆøÀ̳ª Ŭ¶óÀ̾ðÆ®ÀÇ µð½ºÇ÷¹ÀÌ ´É·Â, ¼­¹öÀÇ ÇÁ·Î¼¼½Ì ¼ÓµµµîÀÇ ¿©·¯°¡Áö ¿ä¼Ò¸¦ ³õ°í ÈïÁ¤ÇÔ¿¡ À־, ¿©·¯°¡Áö ¹æ¹ýÀÇ Çȼ¿ µ¥ÀÌÅÍ¿¡ ´ëÇÑ ÀÎÄÚµùÀº ¿ì¸®¿¡°Ô ³ôÀº ¼öÁØÀÇ À¶Å뼺À» Á¦°øÇß´Ù.
ÀÌ »ç°¢ÇüÀÇ ½ÃÄý½º´Â framebuffer update¸¦ ¸¸µç´Ù.
Input Protocol
Å°º¸µå³ª ´Ù¹öÆ° Æ÷ÀÎÆà µð¹ÙÀ̽ºÀÇ Ç¥ÁØ ¿÷½ºÅ×ÀÌ¼Ç ¸ðµ¨¿¡ ±â¹ÝÇÑ´Ù. ÀÔ·Â À̺¥Æ®µéÀº ´Ù¸¥ ºñÇ¥ÁØ ÀԷ±â±â·ÎºÎÅÍ ¸¸µé¾îÁú ¼ö ÀÖ´Ù. (¿¹¸¦ µé¸é, pdaÀÇ handwriting °°Àº)

Çȼ¿ µ¥ÀÌÅÍÀÇ Ç¥Çö ; RFB Ŭ¶óÀ̾ðÆ®/¼­¹ö°£ÀÇ »óÈ£ÀÛ¿ëÀº º¸³»Áú Çȼ¿ µ¥ÀÌÅÍ¿¡ ´ëÇÑ Æ÷¸Ë°ú ÀÎÄÚµù¿¡ ´ëÇÑ Çù»óÀ» Æ÷ÇÔÇÑ´Ù.
Raw/Copy rectangle/RRE/CoRRE/Hextile Encoding (»ý·«)

ÇÁ·ÎÅäÄÝ ¸Þ½ÃÁö
º¸Åë ÇÁ·ÎÅäÄÝ »óÈ£ÀÛ¿ë¿¡ ÀÇÇÑ Ãʱâ Á¢¼Ó ´Ü°è¸¦ °ÅÄ£ ÈÄ ¸Þ½ÃÁö¸¦ ÁÖ°í ¹Þ°Ô µÈ´Ù.

Ãʱâ Á¢¼Ó ¸Þ½ÃÁö(Initial Handshaking Messages)
ProtocolVersion? ;
Ãʱâ Á¢¼ÓÀº ¼­¹ö°¡ Ŭ¶óÀ̾ðÆ®°¡ ProtocolVersion? ¸Þ½ÃÁö¸¦ Àü¼ÛÇÔÀ¸·Î¼­ ½ÃÀ۵ȴÙ. Ŭ¶óÀ̾ðÆ®·Î ÇÏ¿©±Ý ¼­¹ö¿¡ ÀÇÇØ Áö¿øµÇ´Â °¡Àå ÃÖ½ÅÀÇ RFB ÇÁ·ÎÅäÄÝÀÇ ¹öÀüÀ» ¾Ë ¼ö ÀÖ°Ô ÇØÁØ´Ù. Ŭ¶óÀ̾ðÆ®/¼­¹ö°¡ ÇÏÀ§ ȣȯ¼ºÀÇ ¾î¶² ¹öÀüÀ» Á¦°øÇÒ ¼ö ÀÖ´ÂÁö¸¦ ¾Æ´Âµ¥ ±× ¸ñÀûÀÌ ÀÖ´Ù. Ŭ¶óÀ̾ðÆ®´Â ½ÇÁ¦·Î »ç¿ëµÉ ¼ö ÀÖ´Â ÇÁ·ÎÅäÄÝÀÇ ¹öÀü ¹øÈ£¸¦ ´ãÀº, ºñ½ÁÇÑ ¸Þ½ÃÁö·Î ÀÀ´äÇÑ´Ù.
12¹ÙÀÌÆ®·Î ±¸¼ºµÇ¸ç, °ªÀº ´ÙÀ½°ú °°´Ù : "RFB 003.003\n" (Major ver. Minor ver.)

Authentication ;
ÇÁ·ÎÅäÄÝ ¹öÀüÀÌ Á¤ÇØÁö¸é, ¼­¹ö´Â ¿¬°á¿¡¼­ »ç¿ëµÉ ÀÎÁõ ½ºÅ°¸¶¸¦ ³ªÅ¸³»´Â ¿öµå¸¦ Àü¼ÛÇÑ´Ù. 4¹ÙÀÌÆ®·Î ±¸¼ºµÈ´Ù. (CARD32)
0 - Connection Failed ; ½ÇÆÐÀÇ ÀÌÀ¯¸¦ ³ªÅ¸³»´Â ¹®ÀÚ¿­ÀÇ ±æÀÌ/¹®ÀÚ¿­ ¹è¿­ÀÌ µû¶ó¿Â´Ù.
1 - no Authentication ; ÀÎÁõ ¾øÀÌ ClientInitialisation? ¸Þ½ÃÁö·Î °è¼ÓµÈ´Ù. 2 - VNC Authentication ; VNC ÀÎÁõÀ» »ç¿ëÇÑ´Ù. 16¹ÙÀÌÆ®ÀÇ challenge°¡ Ŭ¶óÀ̾ðÆ®·Î Àü¼ÛµÇ°í, Ŭ¶óÀ̾ðÆ®´Â challenge¸¦ ÀÌ¿ëÀÚ¿¡°Ô Á¦°øµÈ Å°·Î Æнº¿öµå¸¦ »ç¿ëÇؼ­ DES·Î ¾ÏȣȭÇÏ¿© (16¹ÙÀÌÆ®·Î) ÀÀ´äÇÑ´Ù. ±×·¯¸é ¼­¹ö´Â ÀÎÁõÀÌ ¼º°øÇß´ÂÁöÀÇ ¿©ºÎ¸¦ ³ªÅ¸³»´Â 4¹ÙÀÌÆ® ¿öµå¸¦ Àü¼ÛÇÑ´Ù. (0 OK;1 Failed;2 too-many)

ClientInitialisation? ;
¼­¹ö/Ŭ¶óÀ̾ðÆ®°¡ ¼­·Î¿¡°Ô À̾߱âÇÒ »óÅ°¡ µÇ¸é, Ŭ¶óÀ̾ðÆ®´Â ClientInitialisation? ¸Þ½ÃÁö¸¦ Àü¼ÛÇÑ´Ù.
1¹ÙÀÌÆ®ÀÇ Shared-flag·Î, ¼­¹ö°¡ ´Ù¸¥ Ŭ¶óÀ̾ðÆ®µéÀÌ ÀÛ¾÷ÇÑ µ¥½ºÅ©Å¾À» °øÀ¯ÇÏ·Á ½ÃµµÇϸé True, ´Ù¸¥ Ŭ¶óÀ̾ðÆ®ÀÇ ¸ðµç Á¢¼ÓÀ» ²÷°í ¹èŸÀûÀÎ ¾×¼¼½º ±ÇÇÑÀ» ÁÖ·Á°í Çϸé FalseÀÌ´Ù.

ServerInitialisation? ;
¼­¹ö´Â ClientInitialisation? ¸Þ½ÃÁö¸¦ ¹ÞÀ¸¸é, ServerInitialisation? ¸Þ½ÃÁö·Î ÀÀ´äÇÑ´Ù. ÀÌ°ÍÀº Ŭ¶óÀ̾ðÆ®¿¡°Ô ÇÁ·¹ÀÓ¹öÆÛÀÇ Å©±â, Çȼ¿ Æ÷¸Ë, µ¥½ºÅ©Å¾°ú °ü·ÃµÈ À̸§À» ¾Ë·ÁÁØ´Ù.


PythonPowered EditText of this page (last modified 2003-02-13 15:23:38)
FindPage by browsing, searching, or an index
Or try one of these actions: DeletePage, DeleteUploadedFile, LikePages, SpellCheck, UploadFile