Virtual Network Computing

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 16. huhtikuuta 2021 tarkistetusta versiosta . tarkastukset vaativat 7 muokkausta .

Virtual Network Computing ( VNC ) on järjestelmä tietokoneen työpöydän etäkäyttöön RFB - protokollan ( Remote FrameBuffer ) avulla . Ohjaus tapahtuu välittämällä näppäimistön ja hiiren näppäinpainalluksia tietokoneelta toiselle ja välittämällä näytön sisältö tietokoneverkon kautta .  

VNC-järjestelmä on alustariippumaton: VNC-asiakas nimeltä VNC-katseluohjelma, joka toimii yhdessä käyttöjärjestelmässä, voi muodostaa yhteyden VNC-palvelimeen, joka toimii missä tahansa muussa käyttöjärjestelmässä. Asiakas- ja palvelintoteutuksia on lähes kaikille käyttöjärjestelmille, mukaan lukien Java (mukaan lukien J2ME -mobiilialusta ). Useat asiakkaat voivat muodostaa yhteyden yhteen VNC-palvelimeen samanaikaisesti. Suosituimpia tapoja käyttää VNC:tä ovat tekninen etätuki ja pääsy työtietokoneeseen kotoa käsin.

Historia

VNC syntyi Olivetti & Oracle Research Labiin , jonka tuolloin omistivat Olivetti ja Oracle Corporation . Vuonna 1999 AT&T osti laboratorion , joka sulki T&K-osastonsa vuonna 2002 . Alkuperäiset lähdekoodit ovat saatavilla GPL :n alla , samoin kuin monet tällä hetkellä olemassa olevat VNC-muunnelmat.

Nimi sai alkunsa Videotile Thin Client -tietokoneverkosta , joka oli LCD-näyttö kynäsisääntulolla ja nopealla ATM -verkkoyhteydellä. Pohjimmiltaan VNC on "ATM-verkkotietokoneen" ohjelmistototeutus.

VNC:n parissa AT&T Research Labissa työskennelleet kehittäjät:

Laite

VNC:ssä on kaksi osaa: asiakas ja palvelin. Palvelin  - ohjelma, joka tarjoaa pääsyn sen tietokoneen näyttöön, jossa se on käynnissä. Asiakas (tai katseluohjelma) on ohjelma, joka vastaanottaa näyttökuvan palvelimelta ja on vuorovaikutuksessa sen kanssa RFB-protokollan kautta.

RFB-protokolla

RFB ( eng.  remote framebuffer ) on yksinkertainen sovellustason asiakas-palvelin-verkkoprotokolla tietokoneen graafisen työpöydän etäkäyttöä varten, jota käytetään VNC:ssä. Koska se toimii kehyspuskuritasolla , sitä voidaan käyttää graafisissa ikkunajärjestelmissä, kuten X Window System , Windows , Quartz Compositor .

Kehittämisensä alussa RFB oli suhteellisen yksinkertainen protokolla, joka perustui graafisiin primitiiveihin: " asettaa suorakulmio pikselidataa koordinaattien antamaan paikkaan ". Palvelin lähettää pienet suorakulmiot asiakkaalle. Tällainen järjestelmä primitiivisessä muodossaan kuluttaa huomattavaa liikennettä. Kanavan kuormituksen vähentämiseksi käytetään erilaisia ​​menetelmiä. On olemassa erilaisia ​​koodauksia - menetelmiä tehokkaimman tavan määrittää nämä suorakulmiot. RFB-protokolla sallii asiakkaan ja palvelimen "neuvotella", mitä koodausta käytetään. Yksinkertaisin koodausmenetelmä, jota kaikki asiakkaat ja palvelimet tukevat, on "raakakoodaus" , jossa pikselit siirretään järjestyksessä vasemmalta oikealle, ylhäältä alas, ja näytön alkutilan lähettämisen jälkeen lähetetään vain muuttuneet pikselit. Tämä menetelmä toimii erittäin hyvin pienissä näytön kuvan muutoksissa (hiiren osoittimen siirtäminen työpöydällä, kirjoittaminen kursorin alle), mutta syöte tulee erittäin korkeaksi, kun vaihdat samanaikaisesti suurta määrää pikseleitä, esimerkiksi katseltaessa. video koko näytön tilassa. Protokolla on kehittämisen aikana hankkinut useita lisäominaisuuksia ja -vaihtoehtoja, kuten tiedostojen siirtoa, pakkausta ja suojausta.

Oletusarvoisesti RFB käyttää TCP-porttialuetta 5900 - 5906. Jokainen portti edustaa vastaavaa X-palvelinnäyttöä (portit 5900 - 5906 liittyvät näyttöihin :0 - :6). Java-asiakkaat, jotka ovat saatavilla monissa toteutuksissa, jotka käyttävät tähän tarkoitukseen sulautettua verkkopalvelinta , kuten RealVNC, muodostavat yhteyden näyttöihin samalla tavalla, mutta porttialueella 5800–5806. Monet Windows-tietokoneet voivat käyttää vain yhtä porttia. UNIX - järjestelmiin sisältyvien monen käyttäjän ominaisuuksien puute . Windows-järjestelmissä oletusnäyttö on :0, joka vastaa porttia 5900.

On myös mahdollista käänteinen yhteys palvelimelta asiakkaalle. Tässä tapauksessa asiakas vaihtaa kuuntelutilaan ja yhteyden aloittaa palvelin asiakkaan 5500 TCP -portissa . 

Portteja voidaan vaihtaa.

TigerVNC-projektista julkaistut koodaus- ja laajennusmenetelmät:

  • 0x00000000 - Raaka
  • 0x00000001 - Suorakulmioiden kopioiminen (CopyRect)
  • 0x00000002 - Nouseva suorakulmio
  • 0x00000004 - CORRE (kompakti nouseva suorakulmio)
  • 0x00000005 - Hekstiili
  • 0x00000006 - Zlib-pakkaus
  • 0x00000007 - Tiukka asiakasversio
  • 0x00000008 - zlibhex
  • 0x00000009 - Ultra-asiakasversio
  • 0x00000010 - ZRLE-pakkaus
  • 0x00000011 - Compression ZYWRLE (ZLib YUV Wavelet Run Length Encoding)
  • 0xFFFF0001 - Välimuistin lippu (CacheEnable)
  • 0xFFFF0006 - Bittikohtainen XOR-lippu (XOREkäytössä)
  • 0xFFFF8000 Palvelimen tila (UltraVNC)
  • 0xFFFF8001 - EnableKeepAlive (UltraVNC)
  • 0xFFFF8002 - Tiedostonsiirto (FTProtocolVersion - UltraVNC)
  • 0xFFFFFF00 — 0xFFFFFF09 — CompressLevel (tiukka)
  • 0xFFFFFF10 - XCursor
  • 0xFFFFFF11 - RichCursor
  • 0xFFFFFF18 — PointerPos
  • 0xFFFFFF20 - LastRect
  • 0xFFFFFF21 - Uusi FBSize
  • 0xFFFFFFE0 — 0xFFFFFFE9 — Laatutaso (tiukka)

Turvallisuus

Aluksi VNC ei käytä liikenteen salausta, mutta autentikointimenettelyssä salasanaa ei välitetä selkeänä tekstinä, vaan käytetään haaste-vastausalgoritmia DES-salauksella ( tehollinen avaimen pituus on 56 bittiä). Monissa toteutuksissa salasanan pituus on 8 merkkiä rajoitettu, ja jos sen pituus ylittää 8 merkkiä, salasana katkaistaan ​​ja ylimääräiset merkit jätetään huomiotta.

Jos tarvitset vahvan salauksen koko VNC-istunnolle, se voidaan muodostaa SSL- , SSH- tai VPN - tunnelin sekä IPsecin kautta . Valtaosa nykyaikaisista käyttöjärjestelmistä tukee IPsec-tekniikkaa, ja sitä käytetään sekä Internetin kautta että paikallisissa verkoissa . SSH-asiakkaiden avulla voit luoda SSH-tunneleita kaikille tärkeimmille alustoille ( Linux , BSD , Windows , Macintosh jne.) sekä vähemmän suosituille alustoille.

Lisäksi monet nykyaikaiset VNC-versiot tukevat standardiprotokollan laajennuksia, jotka toteuttavat VNC-liikenteen salauksen ja/tai pakkaamisen, erottelun ACL -käyttöluetteloiden avulla ja erilaisia ​​todennusmenetelmiä.

EchoVNC käyttää OpenSSL :ää yhteyksien salaamiseen, ja VNC-istunto on salattu, mukaan lukien todennus ja tiedonsiirto. Tukee myös tiedostojen siirtoa ja chattia. Jos asiakas ei tue OpenSSL-salausta, salaus poistetaan automaattisesti käytöstä.

UltraVNC mahdollistaa erityisen avoimen lähdekoodin liitännäisen käytön, joka salaa koko VNC-istunnon AES- tai RC4-algoritmeilla , mukaan lukien todennus ja tiedonsiirto. On myös vaihtoehtoja NTLM :ään ja Active Directoryn käyttäjätileihin perustuvalle todennukselle . UltraVNC mahdollistaa tiedostojen siirtämisen palvelimen ja asiakkaan välillä mihin tahansa suuntaan.

RealVNC tuotteen kaupallisessa versiossa käyttää AES-algoritmia yhteyden salaukseen ja RSA-algoritmia todentamiseen.

Workspot on julkaissut VNC:lle korjaustiedoston , joka toteuttaa AES-salausalgoritmin.

Ohjelmat

Linux Windows Mac käyttöjärjestelmä Android

Katso myös

Kirjallisuus

Muistiinpanot

  1. 1 2 3 RealVNC   // Wikipedia . – 25.5.2021.

Linkit