検索
連載

リモートデスクトップ接続で端末間の「ファイルコピーが極端に遅いとき」の改善法その知識、ホントに正しい? Windowsにまつわる都市伝説(196)

リモートデスクトップ接続は、ドライブやクリップボードの共有により、接続元と接続先でファイルを相互にやりとりできて便利です。しかし、大きなサイズのファイルをコピーしようとすると、極端に時間がかかったり、リモートデスクトップ接続のセッションが切断されてしまったりしたといった経験はないでしょうか。今回はそんなトラブルの改善方法を教えます。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「Windowsにまつわる都市伝説」のインデックス

Windowsにまつわる都市伝説

リモートデスクトップ接続は端末間のファイルのやりとりが便利だけど……

 「リモートデスクトップ接続」は、Windows端末間、あるいはWindows、Linux、macOSの端末間で、デスクトップへの対話的なリモート接続と端末間のファイル共有やクリップボード共有などを実現する便利な機能です。

 WindowsのPro以上のエディションおよびWindows Serverは標準でサーバ機能を備え、Windows ServerのServer Coreを除く全てのWindowsは「リモートデスクトップ接続クライアント」(Mstsc.exe)を標準搭載しているため、最も良く利用される組み合わせだと思います。インターネットを介して安全に接続し、デスクトップの操作やファイルのやりとりに利用できるのも便利です。

 ただしその場合、リモートデスクトッププロトコル(RDP)のTCPポート「3389」への直接的な接続許可は、ユーザー名/パスワードを突破されれば侵入を許してしまう、あるいはRDP自身の既知/未知の脆弱(ぜいじゃく)性を悪用されるなど、セキュリティリスクが高いため、お勧めしません。追加的な接続セキュリティの強化(ファイアウォールによる接続元IPアドレスの制限、リモートデスクトップWebアクセスやゲートウェイによるアクセス制限、Azure ADアプリケーションプロキシによる追加の認証など)と組み合わせることが重要です。

 リモートデスクトップ接続を社内や家庭内のローカルネットワークで利用している場合、端末間のファイルのやりとりが、通常のWindowsネットワークにおけるファイル共有と比較して時間がかかると感じた経験はないでしょうか。特に、GB(ギガバイト)単位の巨大なファイルを扱う場合にそれが顕著です(画面1画面2)。場合によっては、リモートデスクトップ接続のセッションが応答しなくなったり、切断されてしまったりすることも筆者には経験があります。

画面1
画面1 リモートデスクトップ接続のセッションにマウントされた接続元端末のドライブから大きなファイルをコピー(速度の差がよく分かるように端末間は比較的低速な100Mbpsの有線接続で行った)
画面2
画面2 接続元のファイルをコピー&ペーストで、リモートデスクトップ接続のセッションに貼り付けた場合。こちらの方がドライブ間のコピーより速いが、それでも遅い

ドライブ共有はSMB接続にあらず?

 Windowsネットワーク標準のファイル共有プロトコル「SMB(Server Message Block)」と比べて、リモートデスクトップ接続でのファイルのやりとりに時間がかかるのは、当然と言えば当然のことです。なぜなら、ドライブやクリップボードの共有はRDPに含まれる機能であり、SMBは利用されていないからです。全ての通信は、画面転送やキーボード/マウス操作の送受信と同様に、RDPのTCPまたはUDPポート「3389」の接続を通して行われます。

画面3
画面3 リモートデスクトップ接続セッションへのドライブのマウントやクリップボード経由のコピーはRDP自身の機能
画面4
画面4 端末間のファイルのコピーにSMBは一切使用されない

 どうすればこの問題を改善できるのでしょうか。

改善策その1:UDPトランスポートを使用させない

 現在のリモートデスクトップ接続のサーバとクライアントは、TCPとUDP両方のトランスポートに対応しており、利用可能な場合、例えばローカルネットワークではUDPを利用します。

 WindowsのPro以上のエディションまたはWindows Serverの場合は、「ローカルコンピューターポリシー」や「グループポリシー」を使用して、サーバ側またはクライアント側でトランスポートとしてUDPを使用させないように構成できます(要再起動)。

 以下のポリシー設定の1つ目がサーバ側の設定、2つ目がクライアント側の設定です。接続先のサーバまたは接続元のクライアントのいずれか一方で対応するポリシー設定が構成されていれば、RDPのトランスポートにUDPではなくTCPが使用されます。クライアントがWindowsのHomeエディションやWindows以外の端末の場合は、接続先のサーバのポリシー設定で構成するとよいでしょう。

  • コンピューターの構成\管理用テンプレート\Windows コンポーネント\リモート デスクトップ サービス\リモート デスクトップ セッション ホスト\接続
     RDPトランスポートの選択:TCPのみを使用

  • コンピューターの構成\管理用テンプレート\Windows コンポーネント\リモート デスクトップ サービス\リモート デスクトップ接続クライアント
     クライアントのUDPを無効にする

 リモートデスクトップ接続のトランスポートとしてTCPのみを使用するようにした場合、ファイルのやりとり速度を改善できる可能性があります。筆者の環境では2倍以上改善されました(画面5)。

画面5
画面5 RDPのトランスポートとしてTCPのみを使用させた場合、コピー速度は2倍以上改善

改善策その2:SMB接続を使用する

 社内または家庭内のローカルネットワーク上での端末間接続の場合、一方の端末でフォルダを共有設定し、共有フォルダにSMB接続するようにすれば、巨大なファイルのコピー速度は劇的に改善します。ハードウェア(RSS対応のネットワークアダプターや複数のネットワークアダプター)がサポートしていれば、「SMBマルチチャンネル」を使用した高速化も期待できるからです(画面6)。「Windows Server 2022」および「Windows 11」に搭載された最新のSMB 3.1.1の環境では、「SMB圧縮」という高速化機能も利用できるようになります。

画面6
画面6 リモートデスクトップ接続のドライブ共有やクリップボード共有ではなく、SMB接続でファイルをコピーした方が高速

 比較的新しいLinuxやmacOSは、SMBバージョン3対応のSMBクライアントとして機能するため、同様に高速なファイル転送が期待できるでしょう。もっとも、巨大なファイルをコピーしない、安全ではないネットワーク(インターネット)を経由する、あるいは異種混在環境の場合は、リモートデスクトップ接続の機能だけでできる方がメリットは大きいかもしれません(画面7)。

画面7
画面7 リモートデスクトップ接続の機能(仮想マシン接続の拡張セッションモードはRDPの機能がベースになっている、Linux側はxrdp)だけで端末間でやりとりできるのは、異種混在環境で特に便利

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP 2009 to 2022(Cloud and Datacenter Management)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る