Remote Desktop Protocol

RDP ( — протокол удалённого рабочего стола) — проприетарный протокол прикладного уровня, позаимствованный Microsoft из купленной у PictureTel (ныне известной как Polycom) телекоммуникационной программы Liveshare Plus (названной впоследствии NetMeeting), использующийся для обеспечения удалённой работы пользователя с сервером, на котором запущен сервис терминальных подключений. Клиенты существуют практически для всех версий Windows (включая Windows CE, Phone и Mobile), Linux, FreeBSD, Mac OS X, iOS, Android, Symbian. По умолчанию используется порт TCP 3389. Официальное название Майкрософт для клиентского ПО — Remote Desktop Connection или Terminal Services Client (TSC), в частности, клиент в Windows 2k/XP/2003/Vista/2008/2012/2016/2019/7/8/10 называется mstsc.exe (Подключение к удаленному рабочему столу).

Особенности версии 5.2, используемой в Windows Server 2003 SP2 и в Windows XP SP3:
 Поддержка 32-битного цвета (в дополнение к 8-, 15-, 16- и 24-битному в предыдущих версиях);
 Возможность использовать 128-битовое шифрование по алгоритмам RC4, AES или 3DES с проверкой целостности хешем MD5 или SHA1, по умолчанию не используется, значение безопасности RDP в Windows 2003 по умолчанию — RC2 (56 бит) c хешем MD5 с откатом на DES (40 бит) (из-за слабого шифрования RC2 и DES при использовании настройки по умолчанию трафик может быть расшифрован по пути, см. тип уязвимости «man-in-the-middle vulnerability»);
 Поддержка Transport Layer Security (только при использовании шифрования RC4, AES или 3DES), по умолчанию не включена;
 Звук с удалённого ПК переадресовывается и воспроизводится на локальном компьютере;
 Позволяет подключать локальные ресурсы к удалённой машине (mapping);
 Позволяет использовать локальный или сетевой принтеры на удалённом ПК;
 Позволяет приложениям, выполняющимся в пределах текущего сеанса, обращаться к локальным последовательным и параллельным портам;
 Можно обмениваться информацией через буфер обмена.

В Windows Vista используется версия 6 протокола RDP, в Windows Server 2008 — версия 6.1, в Windows 7 — версия 7 (по умолчанию, в SP1 можно обновить), в Windows 8 — версия 8.

Так как RDP по умолчанию создаёт виртуальные консоли, то для подключения не к ним, а непосредственно к консоли 0 (основная консоль-мышь/клавиатура) нужно запустить RDP-клиент с параметром console.
 Пример: mstsc /console
 Пример RDP 6: mstsc /admin

История версий 
 Первая версия RDP появилась в Terminal Services Windows NT 4.0. Основан на ITU-T T.128 application sharing protocol (проект, также известный как T.share) из серии рекомендаций T.120. Первая версия RDP была введена Microsoft в Terminal Services как часть их продукта Windows NT 4.0 Server, Terminal Server Edition. Она основывалась на MultiWin технологии Citrix, изначально поставлявшейся как часть Citrix WinFrame для Windows NT 3.51. Поддерживались несколько пользователей и сессий входа одновременно.
 Версия 5.0, появившаяся в Windows Server 2000, имеет дополнительные возможности, например, печать на локальные принтеры, и лучше использует пропускную способность сети.
 Версия 5.1, появившаяся в Windows XP Professional, включала поддержку 24-битного цвета и звука.
 Версия 5.2, появившаяся с Windows Server 2003, включает поддержку консоли, каталог сеанса и подключение (mapping) локальных ресурсов. Начиная с этой версии поддерживается проверка подлинности сервера по сертификату SSL и шифрование соединения по протоколу TLS 1.0.
 Версия 6.0 установлена в Windows Vista и включила поддержку программ удаленного взаимодействия, приложениям Windows Presentation Foundation, поддержку нескольких мониторов и поддержку большого рабочего стола. Эта версия доступна для Windows XP с пакетом обновления (SP2), Windows Server 2003 SP1 / SP2 (выпуски x86 и x64) и Windows XP Professional x64 Edition. Microsoft Remote Desktop Connection для Macintosh OS X также доступен с поддержкой Intel и PowerPC Mac OS версии 10.4.9 и выше.
 Версия 6.1 была выпущена в феврале 2007 и включена в Windows Server 2008, и в пакет обновления Windows Vista SP1 и Windows XP SP3.В дополнение к изменениям, связанным с улучшенным доступом к консоли, эта версия включает новые функциональные возможности, появившиеся в Windows Server 2008, такие как Terminal Services Easy Print driver (новая клиентская система перенаправления принтера, которая позволяет выполнять локальную печать из приложений, выполняющихся на сервере, не устанавливая драйвер печати на сервере).
 Версия 7 (вышла в составе Windows 7, поддерживается в Windows XP, где по умолчанию в данной версии установлена 6.1)
 Поддержка аутентификации сетевого уровня () — снижает риск успешной атаки типа DoS
 Увеличение производительности ядра RDP
 Поддержка технологии Windows Aero (Aero over Remote Desktop)
 Поддержка технологий Direct2D и Direct3D 10.1 в приложениях
 Полноценная поддержка мультидисплейных конфигураций
 Улучшения в работе с мультимедиа
 Поддержка технологии Media Foundation
 Поддержка технологии DirectShow
 Снижена длительность задержки при воспроизведении аудио
 Версия 7.1 (вышла в составе Windows 7 SP1)
 Версия 8.0 (вышла в составе Windows 8, с октября 2012 года доступна как пакет обновления для Windows 7 SP1 и Windows Server 2008)
 Версия 8.1 (вышла в составе Windows 8.1, с ноября 2013 года доступна как пакет обновления для Windows 7 SP1 и Windows Server 2008 R2)
 Версия 10 (вышла в составе Windows 10 29 июля 2015 года. Последней версией является 10.0.19041.1, входящая в состав Windows 10 2004. Десятая версия включает в себя ряд новых функций, например, масштабирование AutoSize (полезно для клиентов HiDPI). Улучшен алгоритм сжатия графики с использованием H.264 / AVC.

См. также 
 VNC

Примечания

Ссылки 
 Протокол Remote Desktop. Архитектура и возможности
 Терминальные решения Microsoft Windows Server 2008 — подробное описание новых возможностей RDP 6
 Р. Карманов. Защищаем и оптимизируем RDP.

 Реализации для GNU/Linux и других юниксоподобных ОС
 xrdp — сервер (Ноябрь 10 2013г версия 0.6.1)
 rdesktop — клиент (последняя версия 1.9.0, 11 октября 2019 г.)
 FreeRDP — клиент (форк rdesktop, активно развивается)
 remmina — клиент под GTK+ (последняя версия 1.0, февраль 2012 г.)

Протоколы прикладного уровня
Тонкий клиент