Sanal Ağ Bilgi İşlem - Virtual Network Computing
Bilgi işlemde, Sanal Ağ Bilgi İşlem ( VNC ), başka bir bilgisayarı uzaktan kontrol etmek için Uzak Çerçeve Arabelleği protokolünü (RFB) kullanan bir grafik masaüstü paylaşım sistemidir . Klavye ve fare girişini bir bilgisayardan diğerine iletir, grafik ekran güncellemelerini bir ağ üzerinden aktarır .
VNC platformdan bağımsızdır - birçok GUI tabanlı işletim sistemi ve Java için istemciler ve sunucular vardır . Birden çok istemci aynı anda bir VNC sunucusuna bağlanabilir. Bu teknolojinin popüler kullanımları arasında uzaktan teknik destek ve kişinin ev bilgisayarından iş bilgisayarındaki dosyalara erişmesi veya tam tersi yer alır.
VNC ilk olarak Cambridge, Birleşik Krallık'taki Olivetti & Oracle Araştırma Laboratuvarı'nda geliştirildi . Orijinal VNC kaynak kodu ve birçok modern türev , GNU Genel Kamu Lisansı kapsamında açık kaynaktır .
Kendi özel işlevlerini sunan bir dizi VNC çeşidi vardır; örneğin, bazıları Microsoft Windows için optimize edilmiştir veya dosya aktarımı (uygun VNC'nin bir parçası değildir) sunar, vb. Birçoğu (eklenen özellikleri olmadan), bir lezzetin görüntüleyicisinin başka bir sunucuya bağlanabilmesi anlamında VNC ile uyumludur. ; diğerleri VNC kodunu temel alır ancak standart VNC ile uyumlu değildir.
VNC ve RFB olan tescilli ticari ait RealVNC ABD ve diğer bazı ülkelerde Ltd..
Tarih
İngiltere'deki Cambridge'deki Olivetti & Oracle Araştırma Laboratuvarı (ORL), Olivetti ve Oracle Corporation'ın laboratuvara sahip olduğu bir zamanda VNC'yi geliştirdi . 1999'da AT&T laboratuvarı satın aldı ve 2002'de laboratuvarın araştırma çalışmalarını kapattı.
AT&T Araştırma Laboratuvarı'ndayken VNC üzerinde çalışan geliştiriciler şunları içerir:
- Tristan Richardson (mucit)
- Andy Harter (proje lideri)
- Quentin Stafford Fraser
- James Hava Durumu
- Andy Hopper
ORL'nin 2002'de kapatılmasının ardından, geliştirme ekibinin birkaç üyesi (Richardson, Harter, Weatherall ve Hopper dahil), bu ad altında açık kaynaklı ve ticari VNC yazılımı üzerinde çalışmaya devam etmek için RealVNC'yi kurdu .
Orijinal GPLed kaynak kodu, VNC'nin diğer birkaç sürümünü besledi. Bu tür çatallama , RFB protokolü genişletilebilir olacak şekilde tasarlandığından uyumluluk sorunlarına yol açmamıştır. VNC istemcileri ve sunucuları , her iki uçta da desteklenen en uygun seçenekleri kullanmak için yeteneklerini el sıkışma ile müzakere eder .
2013 itibariyle, RealVNC Ltd, "VNC" teriminin Amerika Birleşik Devletleri ve diğer ülkelerde tescilli bir ticari marka olduğunu iddia etmektedir.
etimoloji
Adı Virtual Network Bilgisayar / Bilgi İşlem (VNC) bir üzerinde ORL çalışmaları ile kökenli ince istemci da RFB protokolü kullanılan Videotile adlandırılan. Videotile, kalem girişli bir LCD ekrana ve ağa hızlı bir ATM bağlantısına sahipti . O zamanlar, ağ bilgisayarı yaygın olarak ince istemci ile eşanlamlı olarak kullanılıyordu; VNC esasen yalnızca yazılım (yani sanal) bir ağ bilgisayarıdır.
Operasyon
- VNC sunucusu , makinede bazı ekranları paylaşan (ve fiziksel bir ekranla ilgili olmayabilir - sunucu "başsız" olabilir ) ve istemcinin bunun kontrolünü paylaşmasına izin veren programdır .
- VNC istemcisi (veya görüntüleyici), sunucudan kaynaklanan ekran verilerini temsil eden, ondan güncellemeleri alan ve muhtemelen sunucuya toplanan yerel girdiyi bildirerek onu kontrol eden programdır.
- VNC protokolü ( RFB protokolü ), sunucudan istemciye bir grafik ilkelini (" Belirtilen X,Y konumuna bir piksel verisi dikdörtgeni yerleştirin") ve istemciden sunucuya olay mesajlarını iletmeye dayanan çok basittir .
Normal çalışma yönteminde bir görüntüleyici sunucudaki bir bağlantı noktasına bağlanır (varsayılan bağlantı noktası: 5900). Alternatif olarak (uygulamaya bağlı olarak) bir tarayıcı sunucuya bağlanabilir (varsayılan bağlantı noktası: 5800). Ve bir sunucu, 5500 numaralı bağlantı noktasında "dinleme modunda" bir görüntüleyiciye bağlanabilir. Dinleme modunun bir avantajı, sunucu sitesinin güvenlik duvarını bağlantı noktası 5900 (veya 5800) üzerinden erişime izin verecek şekilde yapılandırmasına gerek olmamasıdır; görev izleyicidedir; bu, sunucu sitesinin bilgisayar uzmanlığı yoksa ve izleyici kullanıcı daha bilgiliyse yararlıdır.
Sunucu , istemciye çerçeve arabelleğinin küçük dikdörtgenlerini gönderir . En basit haliyle, VNC protokolü çok fazla bant genişliği kullanabilir , bu nedenle iletişim yükünü azaltmak için çeşitli yöntemler geliştirilmiştir. Örneğin, çeşitli kodlamalar vardır (bu dikdörtgenleri aktarmanın en verimli yolunu belirleme yöntemleri). VNC protokolü, istemci ve sunucunun hangi kodlamayı kullanacakları konusunda anlaşmalarına olanak tanır. Tüm istemciler ve sunucular tarafından desteklenen en basit kodlama, piksel verilerini soldan sağa tarama çizgisi sırasında gönderen ve orijinal tam ekran iletildikten sonra yalnızca değişen dikdörtgenleri aktaran ham kodlamadır . Bu kodlama, ekranın yalnızca küçük bir kısmı bir kareden diğerine değiştiğinde (fare imleci masaüstünde hareket ettiğinde veya imleçte metin yazıldığında olduğu gibi) çok iyi çalışır, ancak çok fazlaysa bant genişliği talepleri çok yüksek olur. piksel sayısı aynı anda değişir (örneğin, bir pencereyi kaydırırken veya tam ekran videoyu görüntülerken).
VNC, varsayılan olarak 5900+ N numaralı TCP bağlantı noktasını kullanır ; burada N , ekran numarasıdır (genellikle fiziksel bir ekran için :0). Çeşitli uygulamalar ayrıca Java uygulaması olarak bir VNC görüntüleyici sağlamak için 5800+ N bağlantı noktasında temel bir HTTP sunucusu başlatır ve herhangi bir Java etkin web tarayıcısı aracılığıyla kolay bağlantı sağlar. Hem istemci hem de sunucu uygun şekilde yapılandırıldığı sürece farklı bağlantı noktası atamaları kullanılabilir. Modern tarayıcılar için bir HTML5 VNC istemci uygulaması da (eklenti gerekmez) mevcuttur.
Düşük bant genişliğinde bile mümkün olsa da, kullanıcının her iki uçta da geniş bant bağlantısı varsa, İnternet üzerinden VNC kullanımı kolaylaştırılır . Ancak, bağlantının devam etmesi için gelişmiş ağ adresi çevirisi (NAT), güvenlik duvarı ve bağlantı noktası iletme gibi yönlendirici yapılandırması gerektirebilir . Kullanıcılar , İnternet üzerinden kullanımı kolaylaştırmak için sanal özel ağ (VPN) teknolojileri aracılığıyla veya VPN proxy olarak kullanılıyorsa LAN bağlantısı veya bir VNC tekrarlayıcı (NAT varlığında faydalıdır) aracılığıyla iletişim kurabilir .
Xvnc , standart bir X sunucusuna dayanan Unix VNC sunucusudur . Uygulamalar için Xvnc, bir X "sunucusu" (yani, istemci pencerelerini görüntüler) olarak görünür ve uzak VNC kullanıcıları için bir VNC sunucusudur. Uygulamalar kendilerini Xvnc'de normal bir X ekranıymış gibi görüntüleyebilir, ancak fiziksel bir ekran yerine bağlı herhangi bir VNC görüntüleyicide görünürler. Alternatif olarak, ekranlı, klavyeli ve fareli bir makine (bir iş istasyonu veya ağ sunucusu olabilir), VNC sunucusunu bir hizmet veya arka plan programı olarak başlatmak ve çalıştırmak için ayarlanabilir, ardından ekran, klavye ve fare kaldırılabilir. ve makine yol dışı bir yerde saklanır.
Ayrıca, VNC tarafından sunulan ekran, mutlaka bir kullanıcı tarafından sunucuda görülen ekranla aynı değildir. Birden çok eşzamanlı X11 oturumunu destekleyen Unix/Linux bilgisayarlarda, VNC belirli bir mevcut X11 oturumuna hizmet edecek veya kendi oturumunu başlatacak şekilde ayarlanabilir. Aynı bilgisayardan birden fazla VNC oturumu çalıştırmak da mümkündür. Microsoft Windows'ta sunulan VNC oturumu her zaman geçerli kullanıcı oturumudur.
Kullanıcılar genellikle VNC'yi platformlar arası bir uzak masaüstü sistemi olarak dağıtır. Örneğin, Apple Remote Desktop için Mac OS X (ve daha yakın zamanda, " Benim Mac dön 'Leopar' in" - Mac OS X 10.5) o ile servis edilir eğer birlikte çalışan VNC ile ve Unix kullanıcının geçerli masaüstüne bağlanacak x11vnc , veya TightVNC ile sunuluyorsa ayrı bir X11 oturumuna . Unix'ten, TightVNC, VNC seçeneği etkinleştirilmişse Apple Remote Desktop tarafından sunulan bir Mac OS X oturumuna veya Microsoft Windows üzerinde çalışan bir VNC sunucusuna bağlanacaktır.
Temmuz 2014'te RealVNC, bir Wayland geliştirici önizlemesi yayınladı .
Güvenlik
Varsayılan olarak, RFB güvenli bir protokol değildir. İken şifreler (olduğu gibi düz metin gönderilmez Telnet ) hem takdirde çatlama başarılı olabilecek şifreleme anahtarı ve kodlanmış şifre edildi kokladı bir ağdan. Bu nedenle en az 8 karakterlik bir şifre kullanılması tavsiye edilir. Öte yandan, VNC'nin bazı sürümlerinde 8 karakterlik bir sınır da vardır; 8 karakteri aşan bir parola gönderilirse, fazla karakterler kaldırılır ve kesilen dize parola ile karşılaştırılır.
UltraVNC , parola doğrulama ve veri aktarımı dahil olmak üzere tüm VNC oturumunu şifreleyen açık kaynaklı bir şifreleme eklentisinin kullanımını destekler. Ayrıca, NTLM ve Active Directory kullanıcı hesaplarına dayalı olarak kimlik doğrulamanın gerçekleştirilmesine izin verir . Ancak, bu tür şifreleme eklentilerinin kullanılması, onu diğer VNC programlarıyla uyumsuz hale getirir. RealVNC, Active Directory ile entegrasyonun yanı sıra ticari paketinin bir parçası olarak yüksek güçlü AES şifrelemesi sunar. Workspot , VNC için AES şifreleme yamaları yayınladı . TightVNC'ye göre, resim verileri şifreleme olmadan iletildiği için TightVNC güvenli değildir. Bunu önlemek için, bir SSH bağlantısı üzerinden tünellenmelidir (aşağıya bakın).
VNC, daha güçlü şifreleme ile ekstra bir güvenlik katmanı ekleyecek bir SSH veya VPN bağlantısı üzerinden tünellenebilir . SSH istemcileri çoğu platform için kullanılabilir; SSH tünelleri, UNIX istemcilerinden, Microsoft Windows istemcilerinden, Macintosh istemcilerinden (Mac OS X ve System 7 ve sonraki sürümler dahil ) ve diğerlerinden oluşturulabilir. Bilgisayarlar arasında anında VPN tünelleri oluşturan ücretsiz uygulamalar da vardır .
VNC'nin kullanımıyla ilgili ek bir güvenlik endişesi, biri aygıtının kontrolünü ele geçirmeden önce, kullanılan sürümün uzak bilgisayar sahibinden yetkilendirme gerektirip gerektirmediğini kontrol etmektir. Bu, erişilen bilgisayarın sahibinin önceden haber vermeksizin cihazının kontrolünde birinin olduğunu fark etmesi durumundan kaçınacaktır.
Ayrıca bakınız
Referanslar
Dış bağlantılar
- RFB 3.8 Protokol Standardı
- AT&T VNC - Orijinal AT&T-Cambridge VNC web sitesi