Virtual Network Computing
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Virtual Network Computing(ヴァーチャル・ネットワーク・コンピューティング、略称VNC)は、ネットワーク上の離れたコンピュータを遠隔操作するためのRFBプロトコルを利用する、リモート操作用ソフトである。VNCはクロスプラットフォームなソフトウェアとして開発されているため、OSなどのプラットフォームに依存せず、インストールされているマシン同士はプラットホームの種類に依存することなく通信する事が出来る。
VNCの最初のバージョンは1999年にAT&Tによって開発されたが、オリジナル版のソースコードがGPL方式のライセンス下でオープンソースとして公開されているため、現在では様々な派生ソフトが誕生している。
目次 |
[編集] 概要
このソフトウェアはサーバソフトと、クライアント(もしくはビューア)ソフトの2つに分かれている。 操作される側でサーバーソフトを起動しておき、遠隔操作する側はクライアントソフトを起動させ接続、遠隔操作を行う。
VNCで通信プロトコルとして使用されるRFB Protocolは非常に簡素なプロトコルで、サーバ側はピクセルデータ化した画面を小さな長方形に分け、位置を指定してクライアントに送信するだけである。しかし、この方法は非常に単純であると同時に、大きな帯域幅を使用する。そこで、帯域幅の削減のために様々な方法が編み出された。様々なエンコード形式やデータ圧縮がこれに該当するが、最も単純な方法は、前の送信と比較して変更された部分のみを送信する方法である。これはマウスポインタの移動のみが行われた場合などには非常に有効だが、全体的な変化の大きい動画再生をしている画面などを送信するには適していない。それはネットワークが十分に高速であっても変わらない。なお、このような拡張プロトコルを使用するには、サーバとクライアント双方のソフトウェアがその形式に対応している必要がある。
デフォルトではTCPの5900から5906までのポートを使用する。これはX Window Systemのディスプレイ番号(0から6)に対応している。また、Webブラウザ上で動作するJava版のクライアントは、既定で5800から5806までのポートを使用する。これらは設定によって変更可能である。
Windowsでは基本的にシングルセッションOSのため、5900番以外のポートを使用することは少ない。ただし、ターミナルサービスと併用して先述のような環境を作ることも可能である。
[編集] セキュリティ
通常、VNCは通信に暗号を用いないため、パスワード等を含め全て平文で送信される。このため、Telnet等と同じく危険なプロトコルであり、使用には注意が必要である。
ただし、よりセキュリティの高いSSHやVPNをトンネルして接続することも出来る。また、派生したバージョンでは、NTLM認証が可能であったりと、セキュリティ面の強化が図られているものもある。
全てのサーバソフトウェアと同じように、外部からの使用するポートへの通信がファイアーウォールやルーターでブロックされていた場合は、VNCを利用することは出来ない。
[編集] 対応OS
- サーバ動作OS
- Windows 98/Me/2000/XP/2003、Linux、Solaris、Windows CE
- クライアント動作OS
- Windows 98/Me/2000/XP/2003、Linux、Solaris、Windows CEなどJavaが作動するOS全て(iVNCはNTT Docomo FOMA900/901)
また、TridaVNC、ChromiVNC、µVNC、WinVNC、UltraVNCなどの本家から派生したものがあり、Palm OS、Mac OS Xなどにも対応している。
[編集] VNCループ
ひとつのマシン上でクライアントとサーバを起動し自分に接続した時や、2台のコンピュータがお互いにもう片方を操作しようとした場合に、VNCループと呼ばれる現象が起こることがある。
マシンAで画面変化があった時、それがマシンBに送信され表示されると同時にさらにマシンBの画面変化としてマシンAに送信され…と繰り返す状態。場合によっては無限ループに陥ることもあり、マシンパワーを消費しコンピュータのフリーズを引き起こす事もあるので注意が必要である。
[編集] VNCの派生ソフト
VNCは1999年に開発されたソフトウェアだが、開発者が所属するAT&T ケンブリッジ研究所の閉鎖に伴いオリジナルのVNCは開発停止。 しかしその後この開発メンバーが新会社を立ち上げ新版を公開、これがRealVNCであり現状の正統なVNCである。 またオリジナル版のソースコードがGPL方式のライセンス下で公開されていたのが幸いし、世界中の多くの開発者が様々な派生ソフトを誕生させている。だが並列的に存在するそれらが個別に開発されている経緯から、その過程で各々の機能の取り込みがしばしば発生し、故に各ソフトの根本的なメリットも混乱に至っているのが現状である。
なお、サーバーとクライアントが別のVNCであっても、転送方式さえ同一なら基本的に接続可能である。
現在は開発停止しているオリジナル。様々な環境用に移植開発されており、その内Windows版はWinVNCとも呼ばれる。RealVNCが後を継いでいる。
VNCの正統な後継ソフト。VNCと会社は異なるが開発陣が同一でVNCがRealVNCになったと捉えて問題ない。VNCの時と違い有償の高機能版が存在する。
VNCにサポート業務を付加した商業向けVNC。Tridia社は2005年に開発・販売ともに終了している。
古いMac用VNC。OS Xには未対応。2001年で開発は停止している。
転送方式にオリジナルのTight Encodingを初めて導入した拡張版VNC。Tight Encodingは高圧縮率で低速回線環境でも動作できる反面その分CPUパワーを必要とする。VNC/RealVNCと比べても対応環境が多いのも特徴。
マイクロVNCと読む。mVNCとも。VNCの公開ソースを全く利用せずに独自開発したVNC互換クライアントソフト。主に携帯電話向けビューア。ZRLE転送方式や画面の拡大縮小に対応、またSSHクライアントを内包している。µVNCにサーバーソフトは存在せず別の派生VNCのサーバー利用を前提とする。推奨はUltra@VNCサーバー。開発・販売は日立システムアンドサービス。
以前はUltr@VNCとも。なおUltra@VNCは誤り。Windowsに特化し描写の高速化を狙った多機能VNC。ファイル転送や画面拡大縮小、さらにビデオフックドライバによる取り込み高速化などのオリジナル拡張と、他の派生VNCで生まれた転送方式など多くの機能を盛り込んでいる。Windows専用。
クライアントに画面を表示しない特殊なVNC。主に一方のマシン(デスクトップのメインPCなど)にあるキーボード・マウスを使ってもう一方のマシン(サブPCやノートPC)を操作する事が目的。マルチディスプレイを扱うかのように画面端から別のマシンへ移動ができる。
1対多の接続に特化した特殊なVNC。IT系講習において講師が生徒の画面を確認したり操作する事を目的とする。MultiVNCではクライアントの画面をサーバー側に送るという逆の発想になっている。
アプリケーションのウインドウのみ転送・表示する特殊なVNC。他のマシンにあるアプリケーションをあたかもその場にあるかのように扱うのが目的。Windows2000/XP版、UNIX/LINUX版、Java版が存在する。
[編集] 関連項目
- RFB Protocol
- リモートデスクトップ
- リモートコントロール
[編集] 外部リンク
- RealVNC Ltd.
- UltraVNC
- Bozteck VNC