RFB protokoli - RFB protocol

RFB ("masofaviy ramka buferi") ochiq sodda protokol uchun masofaviy kirish ga grafik foydalanuvchi interfeyslari. Chunki u ishlaydi ramka buferi darajasi hamma uchun amal qiladi oyna tizimlari va ilovalar, shu jumladan Microsoft Windows, macOS va X oyna tizimi. RFB - bu ishlatiladigan protokol Virtual Network Computing (VNC) va uning hosilalari.

Tavsif

Odatiy bo'lib, tomoshabin / mijoz serverga ulanish uchun 5900 TCP portidan foydalanadi (yoki brauzerga kirish uchun 5800), lekin boshqa har qanday portdan foydalanish uchun sozlanishi mumkin. Shu bilan bir qatorda, server tomoshabin bilan "tinglash rejimida" ulanishi mumkin (sukut bo'yicha 5500 portida). Tinglash rejimining bir afzalligi shundaki, server sayti belgilangan portlarga kirish huquqini berish uchun o'zining xavfsizlik devorini / NAT-ni sozlashi shart emas; yuk tomoshabinning zimmasida bo'ladi, agar server saytida kompyuter tajribasi bo'lmasa foydali bo'ladi, tomoshabin foydalanuvchisi esa ko'proq bilimga ega bo'lishini kutadi.

RFB nisbatan sodda protokol sifatida ish boshlagan bo'lsa-da, qo'shimcha funktsiyalar (masalan, fayl uzatish kabi) va yanada takomillashtirilgan siqilish va ishlab chiqilgan xavfsizlik texnikasi. Ko'p turli xil VNC mijozlari va server dasturlari o'rtasida uzluksiz o'zaro muvofiqlikni saqlab qolish uchun mijozlar va serverlar eng yaxshi RFB versiyasi va ikkalasi ham qo'llab-quvvatlaydigan eng mos siqish va xavfsizlik imkoniyatlari yordamida ulanish to'g'risida muzokara olib boradilar.

Tarix

RFB dastlab ishlab chiqarilgan Olivetti tadqiqot laboratoriyasi (ORL) oddiy tomonidan ishlatilishi mumkin bo'lgan masofaviy displey texnologiyasi sifatida ingichka mijoz bilan Bankomat Videotile deb nomlangan ulanish. Qurilmani iloji boricha soddalashtirish uchun RFB ishlab chiqilgan va mavjud masofaviy displey texnologiyalaridan afzalroq foydalanilgan.

RFB VNC ishlab chiqilganda ikkinchi va undan uzoqroq foydalanishni topdi. VNC sifatida chiqarilgan ochiq manba dasturiy ta'minot va Internetda nashr etilgan RFB spetsifikatsiyasi. O'shandan beri RFB har kim foydalanishi mumkin bo'lgan bepul protokol hisoblanadi.

2002 yilda ORL yopilganda VNC va RFB ortida turgan ba'zi bir muhim odamlar paydo bo'ldi RealVNC, VNC ishlab chiqarishni davom ettirish va RFB protokolini yuritish maqsadida. Joriy RFB protokoli RealVNC veb-sayti.

Protokol versiyalari

RFB protokolining nashr etilgan versiyalari quyidagicha:

VersiyaNashr qilinganSanaTexnik xususiyatlari
RFB 3.3ORL1998 yil yanvarMasofaviy kadrga oid bufer protokoli 3.3
RFB 3.7RealVNC Ltd2003 yil avgustMasofaviy kadrga oid bufer protokoli 3.7
RFB 3.8 (joriy)RealVNC Ltd2007 yil iyunMasofaviy kadrga oid bufer protokoli 3.8
IETF RFC (3.8)RealVNC Ltd2011 yil martRFC  6143

Ishlab chiquvchilar qo'shimcha kodlash va xavfsizlik turlarini qo'shishlari mumkin, ammo ular raqamlar to'qnashmasligi uchun ular uchun noyob identifikatsiya raqamlarini protokol egalari bilan yozib qo'yishlari kerak. To'qnashuvlar turi raqamlari aloqani qo'l siqish paytida chalkashliklarni keltirib chiqaradi va amalga oshirishlar orasidagi o'zaro muvofiqlikni buzadi. Kodlash va xavfsizlik turlarining ro'yxati RealVNC Ltd tomonidan olib borilgan va protokol spetsifikatsiyasidan alohida bo'lib, yangi spetsifikatsiyani qayta nashr etishni talab qilmasdan qo'shilishi mumkin. 2012 yil dekabr oyidan boshlab ro'yxat boshlandi IANA.[1]

Barcha mavjud kengaytmalarni hujjatlashtirishga qaratilgan RFB protokoli spetsifikatsiyasining jamoaviy versiyasi TigerVNC loyiha.[2]

Kodlash turlari

Kodlashlar muzokaraning bir qismi bo'lganligi sababli, quyida keltirilgan ba'zi kodlashlar ma'lum kengaytmani boshqarish qobiliyatini reklama qilish uchun ishlatiladigan psevdo-kodlashlardir.

RFB kodlash[2]
RaqamKodlash
0x00000000Xom
0x00000001CopyRect
0x00000002RRE (Rect to'rtburchaklar uzunligi)
0x00000004CoRRE (ixcham RRE)
0x00000005Hextile (RRE Variant)
0x00000006Zlib
0x00000007Qattiq
0x00000008ZlibHex (Zlib + Hextile)
0x00000009Ultra
0x00000010ZRLE (Zlib uzunligi)
0x00000011ZYWRLE
0x00000014H.264
0xFFFF0001CacheEnable
0xFFFF0006XOREnable
0xFFFF8000ServerState (UltraVNC)
0xFFFF8001EnableKeepAlive (UltraVNC)
0xFFFF8002FTProtocolVersion (Fayl uzatish protokoli versiyasi - UltraVNC)
0xFFFFFF00–0xFFFFFF09CompressLevel (qattiq kodlash)
0xFFFFFF10XCursor
0xFFFFFF11RichCursor
0xFFFFFF18PointerPos
0xFFFFFF20LastRect
0xFFFFFF21NewFBSize
0xFFFFFFE0–0xFFFFFFE9QualityLevel (qattiq kodlash)

Rasmga asoslangan kodlashlardan eng samarali bo'lganlari Qattiq kodlash turlari. TightVNC tomonidan kodlashning ikki turi aniqlanadi:

  • Tight Encoding, zlib va ​​JPEG bilan to'rtburchaklar, palitra va gradient plomba aralashmasi, shuningdek asosiy siqishni.
  • Qattiq PNG kodlash, asosiy siqishni bilan qattiq kodlash almashtirildi PNG ma'lumotlar.

H.264 RFB ma'lumotlarini kodlash bo'yicha tadqiqotlar olib borildi, ammo dastlabki natijalar a TurboVNC ishlab chiquvchi. Kamroq I-freymlar (keyframes) bilan yanada samarali bo'ladi, ammo protsessordan foydalanish muammo bo'lib qolmoqda.[3]

Cheklovlar

Bufer ma'lumotlarini uzatish nuqtai nazaridan "hozirda matnni Lotin-1 belgilar majmuasidan tashqariga o'tkazish imkoniyati yo'q".[4] Keng tarqalgan psevdo-kodlash kengaytmasi yordamida muammoni hal qiladi UTF-8 kengaytirilgan formatda.[2](§ 7.7.27)

VNC protokoli pikselga asoslangan. Garchi bu katta moslashuvchanlikni keltirib chiqarsa-da (ya'ni har qanday ish stoli namoyish etilishi mumkin), ammo bu asosan asosiy grafik joylashishni yaxshiroq tushunadigan echimlarga qaraganda samarasiz. X11 yoki kabi ish stoli RDP. Ushbu protokollar grafik ibtidoiy yoki yuqori darajadagi buyruqlarni oddiyroq shaklda (masalan, ochiq oyna) yuboradi, RFB esa siqilgan bo'lsa ham xom piksel ma'lumotlarini yuboradi.

VNC protokoli sichqoncha tugmachasi holatini ikkilik yuqoriga / pastga sifatida bitta baytda ifodalaydi. Bu sichqoncha tugmachalarining sonini sakkiztagacha cheklaydi ("o'chirilgan" ma'nosini anglatuvchi 0 tugmachasining 7 ta konvensiyasi) Ko'pgina zamonaviy sichqonlar 9 yoki undan ortiq tugmachalarni sanab o'tishadi, bu esa oldinga va orqaga tugmachalarning RFB ustidan ta'sir o'tkazishiga olib keladi. "GII" kengaytmasi bu muammoni hal qiladi.[2](§ 7.7.11)

Shuningdek qarang

Adabiyotlar

  1. ^ "Masofaviy freym buferi (RFB)". www.iana.org.
  2. ^ a b v d "RFB bayonnomasi, jamoaviy nashr". GitHub.
  3. ^ Qo'mondon, DR. "V.2 muhitida H.264 kodlashning foydaliligi to'g'risida tadqiqot". turbovnc.org.
  4. ^ Richardson, Tristan (2010). "6.4.6, 6.5.4 bo'limlari". RFB protokoli - 3.8 versiyasi.

Tashqi havolalar