Remote Desktop Protocol

date=2021年6月}}Remote Desktop Protocol は、リモート デスクトップ サービスが稼動しているサーバにクライアントが接続する、リモートデスクトップ用の多重チャネルプロトコルである。リモート デスクトップ接続として TCP ポート 3389 および UDP ポート 3389 を使用して接続する。

1. 特徴
-----

RDP 5.2で以下の機能をサポートしている。

24ビットの色表現のサポート
128ビットまでの RC4 暗号化のサポート
TLS のサポート
ローカル上でリモート上のサウンド再生
ファイル システム リダイレクションのサポート
プリンタのサポート
シリアルポートとパラレルポートの接続をサポート
クリップボードの共有RDP 6.0では、以下の強化がされた。

シームレス ウィンドウのサポート
32ビットカラーのサポート
1600×1200以上の画面解像度のサポート
TLS 1.0の暗号化に加えて認証もサポート
複数モニタのサポート
帯域幅の改善
ClearTypeやAero Glassテーマのサポート
Windows Presentation Foundationアプリケーションのリモーティングのサポート
IIS 7.0を通してのHTTPS接続のサポートRDP 7.1では、以下の強化がされた。

RemoteFX

2. 歴史
-----

RDPの前身は、米国シトリックス・システムズが開発したWinFrameと呼ばれる技術である。WinFrameは、Windows NTを複数の端末から複数のユーザが同時利用できるようにする拡張機能で、1995年に発表され、シトリックス・システムズの主力商品となった。

この「ターミナル サービス」は、WinFrame同様、複数のユーザが複数のクライアント端末からサーバとして動作しているWindows NT機に接続して利用できるサービスで、この機能によってWindowsはリモートからも操作できるOSになった。「ターミナル サービス」は、その後「リモート デスクトップ」に名称を変更し、Windows XP以降ではOSの標準機能として組み込まれることになった。

RDPのバージョンは1.0から3.0は存在せず4.0から開始されており、以降のバージョンもWindowsのバージョンと合わせている。

Version 4.0ITU-Tプロトコル  を基に、Windows NT 4.0 Terminal Serverのターミナル サービスとして搭載された。Version 5.xVersion 5.0Windows 2000 Serverのターミナル サービスとして搭載され、ローカル プリンタのサポートやネットワーク帯域幅の使用の改善を行った。Version 5.1Windows XPに搭載され、24ビット カラーのサポートやサウンドの再生をサポートした。Version 5.2Windows Server 2003に搭載され、コンソールモード接続やセッション ディレクトリとローカル リソース マッピングをサポートした。Version 6.xVersion 6.0Windows Vista, Windows XP SP2, Windows Server 2003 SP1/SP2, Windows Embededd CE 6.0 R2に搭載され、多くの機能強化が含まれた。ネットワークレベル認証、マルチモニタなど。Version 6.1Windows Vista SP1, Windows Server 2008, Windows XP SP3に搭載された。「TS RemoteApp」「TS Gateway」「TS EasyPrint」機能が追加された。Version 7.xVersion 7.0Windows 7, Windows Server 2008 R2に搭載された。本バージョンよりサーバ側の名称が「ターミナル サービス」から「リモート デスクトップ サービス」に変更になった。デスクトップ コンポジションを Windows Vista Professional, Windows 7 Professionalやそれ以上で有効にすれば、Windows Aeroを利用できる。しかし、Windows AeroのAero GlassはWindows 8で廃止されたため、Windows Vista, 7でしか利用できない。また、Aero Glassはサーバ／クライアントが同じバージョンでないと利用できない。また当初、DirectX
のクライアントレンダリングを行う計画があったが、リリース直前に廃止になった。言葉の定義として動画のデコードはクライアントレンダリングに含めないとするならば、クライアントレンダリングしているものはRDP 4.0からやっているGDIのクライアントレンダリングのみであり、それ以外は静止画や動画で転送している。Version 7.1Windows 7 SP1, Windows Server 2008 R2 SP1に標準搭載された。RemoteFXが追加された。RemoteFXによりHyper-Vとの組み合わせでGPU仮想化、USBリダイレクションが利用可能になった。Version 8.xVersion 8.0Windows 8やWindows Server 2012から標準搭載された。Windows 7 SP1, Windows Server 2008 R2 SP1もWindows Updateすることで利用可能となっている。TCPに加えてUDP も併用するようになった。パフォーマンスの改善や、マルチタッチ対応などRemoteFXの強化が行われた。Version 8.1Windows 8.1やWindows Server 2012 R2から標準搭載された。Windows 7 SP1, Windows Server 2008 R2 SP1もWindows Updateすることで利用可能となっている。Version 10.xVersion 10.0Windows 10に標準搭載された。

3. Windows Server のライセンス
------------------------

リモート デスクトップを使用するには、基本的には以下の Windows Server のライセンスが必要である。なお、括弧内は演算子の優先順位を表現する意味とする。

仮想化なし：CAL + RDS CAL
仮想化あり：CAL + RDS CAL + これらはWindows Serverのライセンスであり、RDP以外のプロトコルを使用しても必要となる。上記のルールを基本に様々な例外条項が存在するが、内容が複雑なため詳細はマイクロソフトのホームページを参照してほしい。

仮想化なしとは、リモート・セッションで使う場合のことを指す。仮想化ありとはHyper-V + RemoteFXなどで使用する場合のことを指す。

各々の略語の意味は以下の通りとなる。

CAL: Client Access License
RDS: Remote Desktop Service
VDA: Virtual Desktop Access
SA: Service Assurance

4. マイクロソフト以外による実装
-----------------

RDPのクライアント、サーバにはマイクロソフト以外により開発されたサブセットの製品も多数存在する。一例としては、オープンソースのコマンドラインのクライアントrdesktopがLinux/Unix、またWindowsオペレーティングシステムに提供されている。GUIのクライアントも多数存在する。一例として rdesktopをベースにした tsclient と KRDCがあり、Macintosh用には CoRD がある。Microsoft client for OS Xと異なり、CoRDはウインドウ1つにすべてのリモートセッションをタブで表示するようになっており、 ZDNetのレビューでは混乱することが少ないと評価されている。

別の2011年に行われたレビューでは CoRD の接続の安定性はマイクロソフトの OS Xクライアントに勝るとしている。

2009年に rdesktop より分岐して FreeRDPプロジェクトが立ち上がり、よりモジュラー化されたコードと、既知の各種問題の解決、および新機能の実装を目標に掲げた。FreeRDP はコンソールアプリのクライアント xfreerdp を備え、RDP6で登場したシームレスウインドウを実装する。その他 GTKアプリケーションの Remminaが存在する。

Remote Desktop Protocolのサーバのオープンソースな実装としては、Unix では FreeRDP と xrdp が存在する。Windowsのリモート デスクトップ クライアントからこのサーバに接続することもできる。プロプライエタリなRDPクライアント製品である rdpclient などは、スタンドアローンのアプリケーションとしても、クライアントのハードウェアに組み込む形態でも提供される。 新しいアクセス方式である、ブラウザー経由でのアクセスでは、2X Softwareの2XApplicationServerおよび2X Clientという無料クライアントがある。

[1]はUIにタブ切り替えを設けたクライアントで、独自のプロトコルによるサーバ「2X ApplicationServer」「2X SecureRemoteDesktop」と並んでMicrosoft RDPをサポートしている。2Xのサーバー製品を持たないユーザーも、RDPの接続については無償で利用することが出来る。

5. RDPを使ったトリック
--------------

VMwareを使ってWindows上で別の仮想Windowsマシンを走らせるとき、VMware上のゲストのデスクトップを直接使うより、このゲストに同じホストからRDPでアクセスしたほうが画面更新が圧倒的に速いことがある。date=2018年8月。

6. 関連項目
-------

リモートデスクトップ
リモート デスクトップ サービス
rdesktop
FreeRDP
xrdp
Citrix WinFrame

7. 参照
-----

8. 外部リンク
--------

[2] - TechNet
[3] - MSDN
[4] - プロトコルの仕様書
[5] - プロトコルの解析
[6] 有償のサーバー製品、無償のクライアントを提供している
[7] 日本代理店 T4U株式会社
[8] SourceForgeのプロジェクト
[9] 公式サイト