Изучение сервера приложений Microsoft Windows Terminal Server: Методические указания по лабораторной работе, страница 2

Remote Desktop Protocol (RDP) — это протокол Microsoft для служб рас­пределенного представления, управляющий передачей экранных данных и данных, вводимых пользователем, между клиентом и сервером терми­нальных служб.

Terminal Server в Windows 2000 поддерживает протокол RDP версии 5.0.

Передачу данных RDP между сервером и клиентом можно разделить
на два основных этапа:

-  передача графической информации;

-  передача данных от мыши и клавиатуры.

Передача графической информации

Вся графическая информация, которая обычно должна отображаться на консоли, должна быть зашифрована и передана клиенту Terminal Server для отображения на локальном ПК пользователя. Каждый сеанс поль­зователя имеет свое пространство памяти, с собственным ядром Win32, драйверами дисплея и принтера. Каждый из этих сеансов использует специальный драйвер дисплея RDP, который отвечает за прием команд дисплея от подсистемы GDI (так же, как это делает обычный драйвер) и их передачу драйверу этого устройства из режима ядра Terminal Server (termdd.sys). Этот драйвер преобразует полученные данные в данные RDP и передает их на транспортный уровень, чтобы отправить клиенту. При получении клиентом данные RDP расшифровываются, и дисплей обнов­ляется соответствующим образом. Обмен графическими RDP-данными между сервером и клиентом показан на рис. 1.

Рис. 1. Обмен графическими RDP-данными между клиентом и серверам

Передача данных мыши и клавиатуры

Каждый раз, когда пользователь что-то вводит (при помощи клавиа­туры или мыши), эти данные захватываются RDP-клиентом, преобразу­ются в данные RDP и отправляются на сервер. Когда их принимает на сервере драйвер устройства Terminal Server, они расшифровываются, и информация, поступившая с мыши или клавиатуры, отправляется в ядро Win32, находящееся в адресном пространстве сеанса пользователя. Там они обрабатываются как обычные данные ввода. Обмен данными между сервером и клиентом, введенными пользователем, показан на рис. 2.

Рис. 2. Обмен между клиентом и сервером RDP-данными,

посту­пившими с клавиатуры и мыши

В принципе, уже даже при наличии обычной Ethernet-сети, работающей со скоростью 10 Мб/с, этот протокол обеспечивает приемлемый уровень комфорта. Можно констатировать, что, к сожалению, даже при использовании Fast Ethernet наблюдаются рывки в перемещении курсора мыши по экрану дисплея. Это объясняется тем, что размер кадра при передаче информации достаточно большой и в один кадр попадают несколько «команд», заставляющих курсор мыши изменить свое положение на экране.

Шифрование RDP

Чтобы обеспечить защиту данных, передаваемых между клиентом и сервером, введены три уровня шифрования. Какой из них выбрать — за­висит от требований к безопасности. На всех уровнях использует­ся шифрование по алгоритму RC4.

Низкий уровень защиты. Шифруются только данные, передавае­мые от клиента к серверу; данные, поступающие от сервера к клиенту, не шифруются. Если RDP-клиентом является Windows 2000, для шифрования используется 56-разрядный ключ,
для более ранних клиентов — 40-разрядный.

Средний уровень защиты. Используется тот же ключ шифрования (40- или 56-разрядный), что и при низкоуровневой защите, но за­шифровываются данные, передаваемые в обоих направлениях: как от клиента к серверу, так и от сервера клиенту.

Высокий уровень защиты. В Соединенных Штатах и Канаде при высокоуровневой защите данные в обоих направлениях зашифровываются с помощью 128-разрядного ключа.

2.2.  Возможности протокола RDP 5.0

Протокол RDP 4.0, удовлетворяет только са­мым необходимым требованиям для протокола представления, обеспечивая клиента удаленным рабочим столом. В TS 2000 вошел RDP 5.0, который поддерживает множество новых возможностей, усовершенствующих взаимодействия сеанса Terminal Server с локальным ПК пользователя. Возможности RDP 5.0: