Virtual Network Computing
Virtual Network Computingの最新ニュースをまとめて検索!
Virtual Network Computing(ヴァーチャル・ネットワーク・コンピューティング、略称VNC)は、ネットワーク上の離れたコンピュータを遠隔操作するためのRFBプロトコルを利用する、リモート操作用ソフトである。VNCはクロスプラットフォームなソフトウェアとして開発されているため、インストールされているマシン同士はOSなどのプラットフォームの種類に依存することなく通信する事が出来る。
VNCの最初のバージョンはOlivetti & Oracle Research Labによって開発されたが、オリジナル版のソースコードがGPL方式のライセンス下でオープンソースとして公開されているため、現在では様々な派生ソフトが誕生している。
目次 |
[編集] 概要
このソフトウェアはサーバソフトと、クライアント(もしくはビューア)ソフトの2つに分かれている。 操作される側でサーバソフトを起動しておき、遠隔操作する側はクライアントソフトを起動させ接続、遠隔操作を行う。
VNCで通信プロトコルとして使用されるRFB Protocolは非常に簡素なプロトコルで、サーバ側はピクセルデータ化した画面を小さな長方形に分け、位置を指定してクライアントに送信するだけである。しかし、この方法は非常に単純であると同時に、大きな帯域幅を使用する。そこで、帯域幅の削減のために様々な方法が編み出された。様々なエンコード形式やデータ圧縮がこれに該当するが、最も単純な方法は、前の送信と比較して変更された部分のみを送信する方法である。これはマウスポインタの移動のみが行われた場合などには非常に有効だが、全体的な変化の大きい動画再生をしている画面などを送信するには適していない。それはネットワークが十分に高速であっても変わらない。なお、このような拡張プロトコルを使用するには、サーバとクライアント双方のソフトウェアがその形式に対応している必要がある。
デフォルトではTCPの5900から5906までのポートを使用する。また、ウェブブラウザ上で動作するJava版のクライアントは、既定で5800から5806までのポートを使用する。これらは設定によって変更可能である。
Windowsでは基本的にシングルセッションOSのため、5900番以外のポートを使用することは少ない。ただし、ターミナルサービスと併用して先述のような環境を作ることも可能である。
[編集] メリット
当項目冒頭にもあるとおり、VNCはマルチプラットフォームでのGUIの遠隔操作が可能である。Linuxの操作をWindowsから、あるいはその逆でWindowsの操作をLinuxからなど、非常に自由度が高い。派生ソフトのMetaVNCにおいてはLinux上のウインドウ毎にVNCビューアを開くことができる。
また、W-ZERO3などのWindows Mobile上からVNCを利用して自宅のPCを操作し、ファイルの送受信、テレビ録画予約などの用途が広がる。同様にWi-Fi通信ができるPDAにWindows CEやLinuxを搭載したものでも同様の可能性がある。
CPU切替器という商品があり、複数台のPC、複数のOSを一組のモニタ、マウス、キーボードで操作できるが、これをVNCで代用することもできる。
PC操作を教える側、教わる側が傍にいなくても、実際に操作して見せて説明ができる。これに特化したのがMultiVNCと言えるが、他の派生VNCでも充分な場面が多い。
ネットワーク管理者が、施設内の複数のPCのメンテナンスを行う際、時間やコストを削減するのに役立てる場合がある。
外出先から、あるいは前述の管理者がVNCを利用する場合、電源の切れているPCはWake-on-LANを利用することで電源を入れることができる。こういった複合的な手段で多様な可能性がある。
[編集] デメリット
[編集] セキュリティ
通常、VNCは通信に暗号を用いないため、パスワード等を含め全て平文で送信される。このため、Telnet等と同じく危険なプロトコルであり、使用には注意が必要である。
ただし、よりセキュリティの高いSSHやVPNをトンネルして接続することも出来る。また、派生バージョンでは、NTLM認証が可能であったりと、セキュリティ面の強化が図られているものもある。
全てのサーバソフトウェアと同じように、外部からの使用するポートへの通信がファイアーウォールやルーターでブロックされていた場合は、VNCを利用することは出来ない。
[編集] VNCループ
以下、いずれも合わせ鏡のような状態を作り出すことによって起こる現象。ただし厳密には、ポート開放など正常な動作を確認するために用いられる場合もある。
- ひとつのマシン上でクライアントとサーバを起動し自分自身に接続した時。
- 2台のコンピュータがお互いにもう一方を操作しようとした場合に、VNCループと呼ばれる現象が起こることがある。マシンAで画面変化があった時、それがマシンBに送信され表示されると同時にさらにマシンBの画面変化としてマシンAに送信され…と繰り返す状態。場合によっては無限ループに陥ることもあり、マシンパワーを消費しコンピュータのフリーズを引き起こす事もあるので注意が必要である。
[編集] その他
サウンド出力はVNCで送受信できない(将来的可能性がないわけではない)。
[編集] 対応OS
- サーバ動作OS
- Windows 98/Me/2000/XP/2003、Mac OS X、Linux、Solaris、Windows CE
- クライアント動作OS
- Windows 98/Me/2000/XP/2003、Mac OS X、Linux、Solaris、Windows CEなどJavaが作動するOS全て(iVNCはNTT Docomo FOMA900/901)
また、TridaVNC、ChromiVNC、µVNC、WinVNC、UltraVNCなどの本家から派生したものがあり、Palm OS、携帯電話ならBREW上でも対応している。
Mac OS X v10.5では、VNCクライアント「画面共有」及びVNCサーバが内蔵されている。
- VNCクライアントを利用する場合は、Finderのサイドバーの共有に表示されている機器を選択し「画面共有...」を選ぶか、IPアドレスを入力して使う場合は、「/システム/ライブラリ/CoreServices/画面共有("/System/Library/CoreServices/Screen Sharing.app")」を起動する、またはFinderの「移動」メニューから「サーバを経接続...」を選び、サーバアドレスに「vnc://」+ IPアドレスを入力し接続する。
- VNCサーバを利用する場合、「システム環境設定」→「共有」→「サービス」で出てくるサービス一覧から「画面共有」 をオンにするか、「リモートマネージメント」をONにして画面右下にある「アクセス権…」ボタンを押すと出てくる設定パネル内で「VNC使用者が画面を操作することを許可」をオンし、VNC接続のためのパスワードを右の欄に設定する。
[編集] 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のサーバ利用を前提とする。また、V2.4.0以降では、動画再生を可能にする独自のZYWRLE転送方法、音声を配信する機能なども内包している。推奨はUltraVNCサーバ。開発・販売は日立システムアンドサービス。
以前はUltr@VNCとも。なおUltra@VNCは誤り。Windowsに特化し描写の高速化を狙った多機能VNC。ファイル転送や画面拡大縮小、さらにビデオフックドライバによる取り込み高速化などのオリジナル拡張と、他の派生VNCで生まれた転送方式など多くの機能を盛り込んでいる。Windows専用。
クライアントに画面を表示しない特殊なVNC。主に一方のマシン(デスクトップのメインPCなど)にあるキーボード・マウスを使ってもう一方のマシン(サブPCやノートPC)を操作する事が目的。マルチディスプレイを扱うかのように画面端から別のマシンへ移動ができる。
1対多の接続に特化した特殊なVNC。IT系講習において講師が生徒の画面を確認したり操作する事を目的とする。MultiVNCではクライアントの画面をサーバ側に送るという逆の発想になっている。
アプリケーションのウインドウのみ転送・表示する特殊なVNC。他のマシンにあるアプリケーションをあたかもその場にあるかのように扱うのが目的。Windows2000/XP/Vista版、UNIX/LINUX版、Java版が存在する。例としてLinux上のウインドウ毎にVNCビューアを複数開くことができるのでWindows上にLinux側の必要なウインドウを複数開き、シームレスな操作が可能となる。また、TightVNCのTight Encodingを使えるようになった。
GTK用のVNCWidgetとして、提供することを目標として、開発されている。このため、VNCビューワを含むアプリケーションを数十行程度でかける程度のAPIが提供されていることが特徴である。 また、もう1つの特徴として、Firefoxへのプラグインとして機能することが上げられる。 関連ページとしては、gtk-vncを参照のこと
リモートマシンを制御するためのVNCサーバ機能がQEMUには、含まれている。
[編集] 派生サービス
VNCを使った、商用・非商用のサービス。
中間サーバーにより、リモートする側とされる側を橋渡しすることで、”NAT環境であるか否か”やIPアドレス・ファイヤーウォールなどのネットワークの知識なしに利用できるVNC。 かつて同様のサービスに、”ハコ箱リモート”があったが、Hakobako社解散によってサービス終了。中間サーバーの停止とともに利用不可となった。
[編集] 関連項目
- Apple Remote Desktop - Mac OS X向けのVNCベースの複数サーバの同時管理機能を備えたリモート管理ツール
- RFB Protocol
- Remote Desktop Protocol(RDP) - Micorsoft Windowsのリモートデスクトップ
- リモートコントロール
- Wake-on-LAN
- WinShare - NECのソフトウェア
- IgRemote - DirectXとGDI+を利用したリモートデスクトップ
[編集] 外部リンク
- RealVNC Ltd.
- UltraVNC
- Bozteck VNC
- VNC使い方
最終更新 2009年11月15日 (日) 18:04 (日時は個人設定で未設定ならばUTC)。
【Virtual Network Computing】変更履歴

