Virtual Network Computing

Vikipediya, ochiq ensiklopediya

Virtual Network Computing (VNC) boshqa kompyuterni masofadan boshqarish uchun masofaviy ramka bufer protokolidan (RFB) foydalanadigan grafik ish stoli almashish tizimidir. U klaviatura va sichqoncha maʼlumotlarini bir kompyuterdan ikkinchisiga uzatadi, grafik ekran yangilanishlarini tarmoq orqali uzatadi.[1]

VNC platformadan mustaqil - GUIga asoslangan koʻplab operatsion tizimlar va Java uchun mijozlar hamda serverlar mavjud. Bir vaqtning oʻzida bir nechta mijozlar VNC serveriga ulanishi mumkin. Ushbu texnologiyadan mashhur foydalanish masofaviy texnik yordam va uy kompyuteridan ish kompyuteridagi fayllarga kirishni yoki aksincha.

VNC dastlab Buyuk Britaniyaning Kembrij shahridagi Olivetti & Oracle tadqiqot laboratoriyasida ishlab chiqilgan. Asl VNC manba kodi va koʻplab zamonaviy lotinlar GNU General Public License ostida ochiq manba hisoblanadi.

KDE 3.1 da VNC

VNC[2] ning bir qancha variantlari mavjud boʻlib, ular oʻziga xos funksiyalarni taklif etadi; Masalan, baʼzilari Microsoft Windows uchun optimallashtirilgan yoki fayllarni uzatishni taklif qiladi va hokazo. Koʻpchilik VNC bilan mos keladi (qoʻshimcha funksiyalarisiz) maʼnoda bir taʼmga ega boʻlgan tomoshabin boshqasining serveriga ulanishi mumkin. Boshqalari VNC kodiga asoslangan, lekin standart VNC bilan mos kelmaydi.

VNC va RFB RealVNC ning AQSh va boshqa baʼzi mamlakatlarda roʻyxatdan oʻtgan savdo belgilaridir.

Tarixi[tahrir | manbasini tahrirlash]

Buyuk Britaniyadagi Kembrijdagi Olivetti & Oracle Research Lab (ORL)[3] Olivetti va Oracle korporatsiyasi laboratoriyaga egalik qilgan bir paytda VNCni ishlab chiqdi. 1999-yilda AT&T laboratoriyani sotib oldi va 2002-yilda laboratoriyaning tadqiqot ishlarini toʻxtatdi.

Hali AT&T Research Labda boʻlganida VNCda ishlagan dasturchilarga quyidagilar kiradi:[4]

  • Tristan Richardson (ixtirochi)
  • Andy Harter (loyiha rahbari)
  • Quentin Stafford-Fraser
  • James Weatherall
  • Andy Hopper

2002-yilda ORL yopilgandan soʻng, ishlab chiqish guruhining bir nechta aʼzolari (Richardson, Xarter, Weatherall va Hopper) shu nom ostida ochiq manbali va tijorat VNC dasturiy taʼminoti ustida ishlashni davom ettirish uchun RealVNC ni tashkil qildilar.

Asl GPLed manba kodi VNC ning bir nechta boshqa versiyalariga kiritilgan. Bunday moslik muammolariga olib kelmaydi, chunki RFB protokoli kengaytirilishi uchun moʻljallangan. VNC mijozlari va serverlari ikkala tomondan qoʻllab-quvvatlanadigan eng mos variantlardan foydalanish uchun qoʻl siqish orqali oʻz imkoniyatlarini muhokama qiladilar.

RealVNC Ltd VNC atamasini Qoʻshma Shtatlar va boshqa mamlakatlarda roʻyxatdan oʻtgan savdo belgisi sifatida daʼvo qiladi.[5]

Etimologiya[tahrir | manbasini tahrirlash]

Virtual Network Computer/Computing (VNC) nomi ORL ning Videotile deb nomlangan ustidagi ishidan kelib chiqqan boʻlib, u ham RFB protokolidan foydalangan. Videotilda ruchka kiritishli LCD displey va tarmoqqa tezkor ATM ulanishi mavjud edi. Oʻsha paytda tarmoq kompyuteri odatda nozik mijozning sinonimi sifatida ishlatilgan; VNC mohiyatan faqat dasturiy taʼminot tarmoq kompyuteridir. 

Operatsiya[tahrir | manbasini tahrirlash]

  • VNC serveri - bu baʼzi bir ekranni baham koʻradigan mashinadagi dastur (va jismoniy displey bilan bogʻliq boʻlmasligi mumkin - server boshsiz boʻlishi mumkin) va mijozga uni boshqarish imkonini beradi.
  • VNC mijozi (koʻruvchisi) bu serverdan olingan ekran maʼlumotlarini aks ettiruvchi, undan yangilanishlarni qabul qiluvchi va ehtimol serverga toʻplangan mahalliy kirish haqida xabar berish orqali uni boshqaradigan dastur.
  • VNC protokoli (RFB protokoli) juda oddiy boʻlib, bitta grafik ibtidoiyni serverdan mijozga (X,Y pozitsiyasiga pikselli maʼlumotlarning toʻrtburchaklarini qoʻying) va voqea xabarlarini mijozdan serverga oʻtkazishga asoslangan.

Oddiy ishlash usulida tomoshabin serverdagi portga ulanadi. Shu bilan bir qatorda (amalga oshirishga qarab) brauzer serverga ulanishi mumkin (standart port: 5800). Server esa 5500 portidagi “tinglash rejimida” tomoshabinga ulanishi mumkin. Tinglash rejimining afzalliklaridan biri shundaki, server sayti portiga kirishga ruxsat berish uchun xavfsizlik devorini sozlashi shart emas; vazifa tomoshabin zimmasiga tushadi, bu server saytida kompyuter tajribasi boʻlmasa va tomoshabin foydalanuvchisi koʻproq maʼlumotga ega boʻlsa foydali boʻladi.

Server mijozga ramka buferining kichik toʻrtburchaklarini yuboradi. Oddiy shaklda VNC protokoli juda koʻp tarmoqli kengligidan foydalanishi mumkin, shuning uchun aloqa yukini kamaytirish uchun turli usullar ishlab chiqilgan. Misol uchun, turli xil kodlashlar mavjud. VNC protokoli mijoz va serverga qaysi kodlashdan foydalanishi haqida kelishib olish imkonini beradi. Barcha mijozlar va serverlar tomonidan qoʻllab-quvvatlanadigan eng oddiy kodlash xom kodlash boʻlib, u piksel maʼlumotlarini chapdan oʻngga skanerlash tartibida yuboradi va asl toʻliq ekran uzatilgandan soʻng faqat oʻzgaruvchan toʻrtburchaklarni uzatadi. Agar ekranning faqat kichik bir qismi bir kvadratdan ikkinchisiga oʻtsa, bu kodlash juda yaxshi ishlaydi, lekin agar koʻp boʻlsa, tarmoqli kengligi talablari juda yuqori boʻladi. piksellar soni bir vaqtning oʻzida oʻzgaradi (masalan, oynani aylantirish yoki toʻliq ekranli videoni koʻrish).

VNC sukut boʻyicha 5900+ N TCP portidan foydalanadi,[6][7] bu yerda Ndispley raqami (odatda jismoniy displey uchun). Bir nechta ilovalar, shuningdek, Java ilovasi sifatida VNC koʻrish dasturini taqdim etish uchun 5800+ N portida asosiy HTTP serverini ishga tushiradi va bu Javani yoqadigan har qanday veb-brauzer orqali oson ulanish imkonini beradi. Agar mijoz ham, server ham mos ravishda sozlangan boʻlsa, turli port tayinlashlaridan foydalanish mumkin. Zamonaviy brauzerlar uchun HTML5 VNC mijoz dasturi ham mavjud (plaginlar talab qilinmaydi).[8]

Hatto past tarmoqli kengligida ham mumkin boʻlsada, agar foydalanuvchi ikkala uchida ham keng polosali ulanishga ega boʻlsa, Internet orqali VNCdan foydalanish osonlashadi. Biroq, ulanish oʻtishi uchun kengaytirilgan tarmoq manzilini tarjima qilish (NAT), xavfsizlik devori va portni yoʻnaltirish kabi router konfiguratsiyasi talab qilinishi mumkin. Foydalanuvchilar Internet orqali foydalanishni osonlashtirish uchun virtual xususiy tarmoq (VPN) texnologiyalari orqali yoki VPN proksi-server sifatida ishlatilsa, LAN ulanishi sifatida yoki VNC takrorlash qurilmasi (NAT mavjud boʻlganda foydali) orqali aloqa oʻrnatishi mumkin.[9][10]

Xvnc standart X serveriga asoslangan Unix VNC serveridir. Ilovalar uchun Xvnc X server sifatida koʻrinadi (u mijoz oynalarini koʻrsatadi), uzoqdan VNC foydalanuvchilari uchun esa bu VNC serveri. Ilovalar oʻzlarini Xvncda xuddi oddiy X displey kabi koʻrsatishi mumkin, ammo ular jismoniy ekranda emas, balki har qanday ulangan VNC tomoshabinlarida paydo boʻladi.[11] Shu bilan bir qatorda, ekran, klaviatura va sichqonchaga ega mashina (ish stantsiyasi yoki tarmoq serveri boʻlishi mumkin) VNC serverini xizmat yoki xizmat sifatida ishga tushirish va ishga tushirish uchun sozlanishi, klaviatura va sichqonchani olib tashlash mumkin. va mashina yoʻldan tashqarida saqlanadi.

VNC tomonidan taqdim etiladigan displey, serverdagi foydalanuvchi tomonidan koʻriladigan displey boʻlishi shart emas. Bir vaqtning oʻzida bir nechta X11 seanslarini qoʻllab-quvvatlaydigan Unix/Linux kompyuterlarida VNC maʼlum bir X11 sessiyasiga xizmat koʻrsatish yoki oʻzidan birini ishga tushirish uchun sozlanishi mumkin. Xuddi shu kompyuterdan bir nechta VNC seanslarini ishga tushirish ham mumkin. Microsoft Windowsda VNC seansi har doim joriy foydalanuvchi sessiyasi boʻladi. 

Foydalanuvchilar odatda VNCni platformalararo masofaviy ish stoli tizimi sifatida ishlatadilar. Masalan, Mac OS X uchun Apple Remote Desktop (Mac OS X 10.5) VNC bilan oʻzaro ishlaydi va agar u x11vnc bilan xizmat qilsa, Unix foydalanuvchisining joriy ish stoliga ulanadi yoki TightVNC bilan xizmat koʻrsatilsa, alohida X11 sessiyasiga. Unixdan TightVNC, agar VNC opsiyasi yoqilgan boʻlsa, Apple Remote Desktop tomonidan xizmat koʻrsatadigan Mac OS X seansiga yoki Microsoft Windowsda ishlaydigan VNC serveriga ulanadi.[12]

2014-yil iyul oyida RealVNC Wayland ishlab chiquvchisini oldindan koʻrishni eʼlon qildi.[13][14]

Xavfsizlik[tahrir | manbasini tahrirlash]

Odatiy boʻlib, RFB xavfsiz protokol emas. Parollar oddiy matnda yuborilmasada (telnetda boʻlgani kabi), agar shifrlash kaliti ham, shifrlangan parol ham tarmoqdan olingan boʻlsa, yorilish muvaffaqiyatli boʻlishi mumkin. Shuning uchun kamida 8 ta belgidan iborat paroldan foydalanish tavsiya etiladi. Boshqa tomondan, VNC ning baʼzi versiyalarida 8 ta belgidan iborat cheklov ham mavjud; agar parol 8 belgidan ortiq yuborilsa, ortiqcha belgilar olib tashlanadi va kesilgan qator parol bilan taqqoslanadi.

UltraVNC ochiq kodli shifrlash plaginidan foydalanishni qoʻllab-quvvatlaydi, u butun VNC seansini, shu jumladan parolni autentifikatsiya qilish va maʼlumotlarni uzatishni shifrlaydi. Shuningdek, u NTLM va Active Directory foydalanuvchi hisoblari asosida autentifikatsiyani amalga oshirish imkonini beradi. Biroq, bunday shifrlash plaginlaridan foydalanish uni boshqa VNC dasturlari bilan mos kelmaydi. RealVNC oʻzining tijorat paketining bir qismi sifatida Active Directory bilan integratsiyalashgan holda yuqori kuchli AES shifrlashni taklif etadi. Workspot VNC uchun AES shifrlash yamoqlarini chiqardi. TightVNC maʼlumotlariga koʻra,[15] TightVNC xavfsiz emas, chunki rasm maʼlumotlari shifrlanmasdan uzatiladi. Buni chetlab oʻtish uchun uni SSH ulanishi orqali tunnel qilish kerak.

VNC SSH yoki VPN ulanishi orqali tunnel boʻlishi mumkin, bu esa kuchliroq shifrlash bilan qoʻshimcha xavfsizlik qatlamini qoʻshadi. Koʻpgina platformalar uchun SSH mijozlari mavjud; SSH tunnellari UNIX mijozlari, Microsoft Windows mijozlari, Macintosh mijozlari (jumladan, Mac OS X va System 7) va boshqalardan yaratilishi mumkin. Kompyuterlar oʻrtasida tezkor VPN tunnellarini yaratadigan bepul dasturlar ham mavjud.

VNCdan foydalanish uchun qoʻshimcha xavfsizlik muammosi, kimdir oʻz qurilmasini boshqarishdan oldin foydalanilgan versiya masofaviy kompyuter egasidan avtorizatsiyani talab qiladimi yoki yoʻqligini tekshirishdir.

Manbalar[tahrir | manbasini tahrirlash]

  1. Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). „Virtual network computing“ (PDF). IEEE Internet Computing. 2-jild. 33–38-bet. doi:10.1109/4236.656066.
  2. The VNC family of Remote Control Applications: a list of VNC variants
  3. „VNC Frequently Asked Questions (FAQ)“ (1999). 15-avgust 2000-yilda asl nusxadan arxivlandi.
  4. RealVNC Executive Profiles
  5. Copyright and trademarks RealVNC. Accessed Feb 23, 2018.
  6. „RealVNC - Frequently asked questions“. 23-iyun 2016-yilda asl nusxadan arxivlandi. Qaraldi: 10-oktabr 2022-yil.
  7. „UltraVnc Configuration“. 3-iyul 2011-yilda asl nusxadan arxivlandi. Qaraldi: 10-oktabr 2022-yil.
  8. „noVNC“.
  9. „OpenWRT VNC repeater“.
  10. „uVNC repeater“.
  11. AT&T Laboratories Cambridge. „X-based VNC server“. Virtual Network Computing (1999). 19-mart 2007-yilda asl nusxadan arxivlandi. Qaraldi: 24-mart 2007-yil.
  12. „OnlineVNC Server for Windows OSes“.
  13. „VNC® Wayland Developer Preview“ (8-iyul 2014-yil). 14-iyul 2014-yilda asl nusxadan arxivlandi. Qaraldi: 10-iyul 2014-yil.
  14. „RealVNC Wayland developer preview email“. freedesktop.org (9-iyul 2014-yil).
  15. How secure is TightVNC? TightVNC Frequently Asked Questions. TightVNC.com Accessed Feb 23, 2018

Havolalar[tahrir | manbasini tahrirlash]