Terminal server microsoft: Запуск, подключение и приложение сервера терминалов — Windows Server

Содержание

Запуск, подключение и приложение сервера терминалов — Windows Server


  • Статья

  • Чтение занимает 8 мин

В этой статье описывается процесс инициализации сервера терминалов и описывается, что происходит, когда пользователь подключается к серверу и запускает приложение.

Применяется к: Windows Server 2012 R2
Исходный номер базы знаний: 186572

Терминал Windows инициализации сервера

По мере загрузки Терминал Windows Server и загрузки основной операционной системы служба сервера терминалов (Termsrv.exe) запускается и создает стеки прослушивания (по одному на протокол и транспортную пару), которые прослушивают входящие подключения. Каждое подключение получает уникальный идентификатор сеанса или SessionID для представления отдельного сеанса серверу терминала. Каждый процесс, созданный в рамках сеанса, «помечается» связанным SessionID, чтобы отличать пространство имен от любого другого пространства имен соединения.

Консоль (клавиатура, мышь и видео) сервера терминалов всегда загружается первым и обрабатывается как подключение клиента в специальном случае и назначенный SessionID. Сеанс консоли начинается в обычном Windows NT с настроенными Windows NT экрана, мыши и клавиатуры.

Затем служба сервера терминалов вызывает диспетчер сеансов Windows NT (Smss.exe) для создания двух (по умолчанию = 2) неактивных клиентских сеансов (после создания сеанса консоли), ожидающего клиентских подключений. Чтобы создать неактивные сеансы, диспетчер сеансов выполняет процесс подсистемы Windows NT клиента или сервера (Csrss.exe), и для этого процесса назначается новый sessionID. Процесс CSRSS также вызывает процесс Winlogon (Winlogon. exe) и модуль ядра Win32k.sys (Диспетчер окон и интерфейс графического устройства — GDI) в новом связанном sessionID. Измененный загрузчик Windows NT образ распознает этот Win32k.sys как загружаемый образ SessionSpace по предопределенному биту, заданному в заголовке образа. Затем кодовая часть образа будет перемещена в физическую память с указателями из адресного пространства виртуального ядра для этого сеанса, если Win32k.sys еще не загружен. По умолчанию он всегда присоединяется к ранее загруженном коду изображения (Win32k.sys), если он уже существует в памяти. Например, из любого активного приложения или сеанса.

Затем раздел данных (или не общий) этого образа будет выделен новому сеансу из созданного раздела памяти ядра с поддержкой страниц SessionSpace. В отличие от сеанса консоли, сеансы клиента сервера терминалов настроены для загрузки отдельных драйверов для дисплея, клавиатуры и мыши.

Новый драйвер дисплея — это драйвер устройства для отображения протокола удаленного рабочего стола (RDP), Tsharedd. dll. Драйверы мыши и клавиатуры взаимодействуют с стеком через диспетчер стека нескольких экземпляров, termdd.sys. Termdd.sys отправит сообщения для действий мыши и клавиатуры в драйвер RDP и из него, Wdtshare.sys. Эти драйверы позволяют удаленно и интерактивно использовать сеанс клиента RDP. Наконец, сервер терминала также вызывает поток прослушивателя подключения для протокола RDP, который снова управляется диспетчером стека экземпляров (Termdd.sys), который прослушивает подключения клиента RDP через TCP-порт с номером 3389.

На этом этапе процесс CSRSS существует в собственном пространстве имен SessionID, при необходимости экземпляры данных которого создаются для каждого процесса. Все процессы, созданные из этого sessionID, будут автоматически выполняться в sessionSpace процесса CSRSS. Это предотвращает доступ процессов с разными идентификаторами сеансов к данным другого сеанса.

Клиентское подключение

Клиент RDP можно установить и запустить в любом терминале под управлением Windows (на основе WinCE), Windows для рабочих групп 3. 11 под управлением TCP/IP-32b или платформе на основе API Microsoft Win32. Клиенты, отличные от Windows, поддерживаются надстройка citrix Metaframe. Размер исполняемого файла клиента RDP windows for Workgroups составляет около 70 КБ, используется рабочий набор размером 300 КБ и 100 КБ для отображения данных. Размер клиента на основе Win32 составляет примерно 130 КБ, для отображения данных используется рабочий набор размером 300 КБ и 100 КБ.

Клиент инициирует подключение к серверу терминала через TCP-порт 3389. Поток прослушивателя RDP сервера терминалов обнаружит запрос сеанса и создаст новый экземпляр стека RDP для обработки нового запроса сеанса. Поток прослушивателя будет перенаправлен входящий сеанс в новый экземпляр стека RDP и продолжит прослушивание TCP-порта 3389 для дальнейших попыток подключения. Каждый стек RDP создается по мере подключения клиентских сеансов для обработки согласования сведений о конфигурации сеанса. Первыми сведениями будет установка уровня шифрования для сеанса. Сервер терминалов изначально будет поддерживать три уровня шифрования: низкий, средний и высокий.

При низком шифровании шифруются только пакеты, отправляемые от клиента на сервер терминалов. Это «только входное» шифрование предназначено для защиты входных конфиденциальных данных, таких как пароль пользователя. Среднее шифрование шифрует исходящие пакеты от клиента так же, как шифрование низкого уровня, но также шифрует все отображаемые пакеты, возвращаемые клиенту с сервера терминалов. Этот метод шифрования обеспечивает защиту конфиденциальных данных по мере их перемещения по сети для отображения на удаленном экране. Как низкое, так и среднее шифрование используют алгоритм Microsoft-RC4 (измененный алгоритм RC4 с улучшенной производительностью) с 40-разрядным ключом. При высоком шифровании пакеты шифруются в обоих направлениях , в клиент и из клиента, но будут использовать стандартный отраслевой алгоритм шифрования RC4, опять же, с 40-разрядным ключом. Не экспортируемая версия Windows NT терминала обеспечивает 128-разрядное высокоуровневые шифрование RC4.

Между клиентом и сервером будет происходить обмен шрифтами, чтобы определить, какие распространенные системные шрифты установлены. Клиент уведомит сервер терминалов о всех установленных системных шрифтах, чтобы обеспечить более быструю отрисовку текста во время сеанса RDP. Когда сервер терминалов знает, какие шрифты доступны клиенту, вы можете сохранить пропускную способность сети, передав клиенту сжатые шрифты и символьные строки Юникода, а не большие растровые изображения.

По умолчанию все клиенты резервируют 1,5 МБ памяти для точечного кэша, который используется для кэширования точечных рисунков, таких как значки, панели инструментов, курсоры и т. д., но не используется для хранения строк Юникода. Кэш не удается (через раздел реестра) и перезаписывается с помощью алгоритма наименее часто используемых (LRU). Сервер терминалов также содержит буферы для включения управляемой потоком передачи обновлений экрана клиентам, а не постоянному битовом потоку. При высокой нагрузке на пользователя буфер сбрасывается примерно 20 раз в секунду. Во время простоя или при отсутствии взаимодействия с пользователем буфер медленно сбрасывается только 10 раз в секунду. Все эти номера можно настроить с помощью реестра.

После согласования сведений о сеансе экземпляр стека RDP сервера для этого подключения будет сопоставлен с существующим неактивным сеансом пользователя Win32k, и пользователю будет предложено Windows NT экрана входа. Если включено автолог, зашифрованные имя пользователя и пароль будут переданы серверу терминалов, и вход продолжится. Если в настоящее время не существует неактивных сеансов Win32k, служба сервера терминалов вызывает диспетчер сеансов (SMSS), чтобы создать новое пространство пользователя для нового сеанса. Большая часть сеанса пользователя Win32k использует общий код и загружается заметно быстрее после загрузки одного экземпляра.

После ввода пользователем имени пользователя и пароля пакеты отправляются в зашифрованном виде на сервер терминала. Затем процесс Winlogon выполняет необходимую проверку подлинности учетной записи, чтобы убедиться, что пользователь имеет привилегии для входа в систему, и передает домен и имя пользователя службе сервера терминалов, которая поддерживает список SessionID домена или имени пользователя. Если sessionID уже связан с этим пользователем (например, существует отключенный сеанс), текущий активный стек сеансов присоединяется к старому сеансу. Затем удаляется временный сеанс Win32, используемый для первоначального входа в систему. В противном случае подключение продолжается в обычном режиме, и служба сервера терминалов создает новое сопоставление sessionID домена и имени пользователя. Если по какой-либо причине для этого пользователя активно несколько сеансов, отображается список сеансов, и пользователь решает, какой из них выбрать для повторного подключения.

Запуск приложения

После входа пользователя для пользователя отображается рабочий стол (или приложение в режиме с одним приложением). Когда пользователь выбирает 32-разрядное приложение для запуска, команды мыши передаются на сервер терминалов, который запускает выбранное приложение в новом виртуальном пространстве памяти (приложение размером 2 ГБ, ядро 2 ГБ). Все процессы на сервере терминалов будут совместно использовать код в режиме ядра и пользователя везде, где это возможно. Чтобы обеспечить общий доступ к коду между процессами, диспетчер Windows NT виртуальной памяти (VM) использует защиту страниц копирования при записи. Если несколько процессов хотят считывать и записывать одно и то же содержимое памяти, диспетчер виртуальных машин назначит области памяти защиту страниц копирования при записи. Процессы (сеансы) будут использовать то же содержимое памяти, пока не будет выполнена операция записи. После этого диспетчер виртуальной машины скопирует кадр физической страницы в другое расположение, обнотит виртуальный адрес процесса, чтобы он указывал на новое расположение страницы, и теперь помечает страницу как прочитанные и записи. Копирование при записи полезно и эффективно для приложений, работающих на сервере терминалов.

Когда приложение на основе Win32, например Microsoft Word, загружается в физическую память одним процессом (сеансом), оно помечается как копирование при записи. Когда новые процессы (сеансы) также вызывают Word, загрузчик изображений просто указывает новые процессы (сеансы) на существующую копию, так как приложение уже загружено в память. Если требуются буферы и пользовательские данные (например, сохранение в файл), необходимые страницы будут скопированы в новое физическое расположение памяти и помечены как чтение и запись для отдельного процесса (сеанса). Диспетчер виртуальных машин защитит это пространство памяти от других процессов. Однако большая часть приложения является совместно используемым кодом и будет иметь только один экземпляр кода в физической памяти независимо от того, сколько раз оно выполняется.

Предпочтительнее (хотя и необязательно) запускать 32-разрядные приложения в среде сервера терминалов. 32-разрядные приложения (Win32) позволяют совместно использовать код и работать более эффективно в многопользовательских сеансах. Windows NT позволяет запускать 16-разрядные приложения (Win16) в среде Win32 путем создания виртуального компьютера на основе MS-DOS (VDM) для выполнения каждого приложения Win16. Все 16-разрядные выходные данные преобразуются в вызовы Win32, которые выполняют необходимые действия. Так как приложения Win16 выполняются в собственной виртуальной машине, код не может совместно использоваться приложениями в нескольких сеансах. Преобразование между вызовами Win16 и Win32 также потребляет системные ресурсы. Запуск приложений Win16 в среде сервера терминалов потенциально может потреблять в два раза больше ресурсов, чем это будет сделать сравнимое приложение на основе Win32.

Отключение сеанса и вход пользователя

Отключение сеанса

Если пользователь решает отключить сеанс, процессы и все пространство виртуальной памяти останутся и будут отгрузки на физический диск, если для других процессов требуется физическая память. Так как сервер терминала сохраняет сопоставление домена или имени пользователя и связанного с ним SessionID, при повторном подключении того же пользователя существующий сеанс будет загружен и снова доступен. Дополнительное преимущество RDP заключается в том, что он может изменять разрешения экрана сеанса в зависимости от того, что пользователь запрашивает для сеанса. Например, предположим, что пользователь ранее подключил сеанс сервера терминалов с разрешением 800 x 600 и отключал его. Если пользователь переходит на другой компьютер, который поддерживает разрешение только 640 x 480, и повторно подключается к существующему сеансу, рабочий стол будет перерисовывается для поддержки нового разрешения.

Вход пользователя

Вход обычно прост в реализации. После выхода пользователя из сеанса все процессы, связанные с SessionID, завершаются, а память, выделенная для сеанса, будет освобождена. Если пользователь выполняет 32-разрядное приложение, например Microsoft Word, и выходит из сеанса, код самого приложения останется в памяти до тех пор, пока последний пользователь не выйдет из приложения.

Терминальный сервер Windows | REG.RU

Читайте статью, если хотите узнать, как настроить терминальный сервер Windows. Мы расскажем, что это такое, зачем его использовать и покажем оптимальный способ установки на Windows.

Что такое сервер терминалов

Терминальный сервер (англ. terminal server) — это мощный компьютер или кластер, который предоставляет более «слабым» устройствам ресурсы и мощности (дисковое пространство, память) для выполнения задач. С его помощью можно работать в программах дистанционно — их не придётся устанавливать на локальный компьютер, достаточно будет подключиться по сети.

Терминальный сервер является хорошим решением для тех компаний, которым нужно предоставить доступ к одной программе нескольким работникам. Например, в компании «Х» планируют установить 1C. Перед покупкой необходимо рассчитать количество сотрудников, которые будут в ней работать. Допустим, что доступ к 1С потребуется 54-м сотрудникам. При этом не каждый из них будет работать в ней в течение всего рабочего дня. Кто-то будет использовать программу два-три часа в день, а кто-то один-два раза в неделю. Получается, что покупать лицензию для каждого рабочего компьютера или удалённого сотрудника нецелесообразно.

Благодаря терминальному серверу можно приобрести оптимальное количество лицензий или настроить совместный доступ — для работы сотрудники будут использовать удаленный рабочий стол. Это позволит сэкономить ресурсы компании. Также местоположение сотрудников не будет влиять на качество и скорость работы.

Таким образом, сервер выступает в качестве центрального узла, к которому по сети подключаются другие устройства. Он соединяет их с нужным ресурсом, а также выделяет мощности для работы.

Для успешного подключения необходимы:

  1. Клиентская программа, с помощью которой можно подключиться к терминалу с локального компьютера.
  2. Протокол, который обеспечивает подключение.
  3. Многоядерный сервер, на котором установлена и настроена основная программа.

Можно установить терминальный сервер как на Linux (например, Ubuntu или Centos), так и на Windows и другие операционные системы.

Все версии терминалов после Windows 2008 имеют лицензию RDS CAL. Она бывает двух типов: для отдельного пользователя и для конкретного устройства, с которого могут подключаться несколько устройств. Мы подготовили инструкцию для установки терминала на Windows Server 2019.

Подготовка: присвоение статического IP-адреса

Перед установкой серверу нужно присвоить статический IP-адрес. Благодаря этому пользователи смогут подключаться к терминальному серверу по локальной сети.


  1. 1.

    Чтобы перейти к настройкам сетевого адаптера, нажмите комбинацию клавиш WIN+R и введите команду ncpa.cpl.



  2. 2.

    Кликните правой кнопкой мыши по доступному подключению, выберите в списке компонентов «IP версии 4 (TCP/IPv4)» и нажмите Свойства:




  3. 3.

    Укажите параметры и заполните поля в соответствии со скриншотом, затем нажмите OK:

    Обратите внимание, что значения в 3 шаге могут отличаться и зависят от настроек вашей сети. Узнайте собственные значения через командную строку при помощи команды ipconfig. Чтобы открыть командную строку, нажмите комбинацию клавиш WIN+R и введите cmd. Затем введите команду ipconfig:



Готово, статический IP-адрес присвоен.

Установка терминального сервера

Инструкция подойдёт для Windows Server 2019, а также для Windows 2016. Мы использовали бесплатную пробную версию Windows Server 2019, которую можно скачать с официального сайта Microsoft. В инструкции мы описали минимальную настройку, после которой к серверу можно будет подключаться с устройств из локальной сети по протоколу RDP.

Обратите внимание


В инструкции не рассматривается установка лицензий на сервер терминалов.


  1. 1.

    Нажмите Пуск — Диспетчер серверов:



  2. org/HowToStep»>
    2.

    Затем нажмите Управление — Добавить роли и компоненты:




  3. 3.

    Чтобы продолжить, нажмите Далее:




  4. 4.

    Выберите «Установка ролей и компонентов» и кликните Далее:




  5. 5.

    Выберите текущий сервер и нажмите Далее:




  6. 6.

    Поставьте галочку напротив пункта «Службы удаленных рабочих столов» и нажмите Далее:



  7. org/HowToStep»>
    7.

    На странице «Выбор компонентов» кликните Далее:




  8. 8.

    Чтобы продолжить установку, нажмите Далее:




  9. 9.

    Поставьте галочку напротив пункта «Remote Desktop Session Host» (Узел сеансов удаленных рабочих столов):




  10. 10.

    Затем нажмите Добавить компоненты:




  11. 11.

    Поставьте галочку напротив пункта «Лицензирование удаленных рабочих столов»:



  12. org/HowToStep»>
    12.

    Напомним, что в инструкции не рассматривается активация лицензий. Однако компоненты лицензирования могут пригодиться в будущем, поэтому мы рекомендуем установить их. Для этого нажмите Добавить компоненты:




  13. 13.

    Нажмите Далее:




  14. 14.

    Если вы хотите настроить автоматическую перезагрузку, поставьте галочку напротив пункта «Автоматический перезапуск конечного сервера, если требуется», подтвердите действие и кликните Установить:




  15. 15.

    Дождитесь окончания установки компонентов и перезагрузите Windows Server вручную, если не выбрали автоматическую перезагрузку. После перезагрузки и завершения установки нажмите Закрыть:



Готово, вы установили терминал на удаленный сервер Windows.

Настройка пользователей

Настройка терминального сервера начинается с создания пользователей и добавления их в группу пользователей рабочего стола.


  1. 1.

    Чтобы открыть «Управление компьютером», нажмите комбинацию клавиш WIN+R и введите команду compmgmt.msc:




  2. 2.

    Перейдите в «Локальные пользователи и группы» — «Пользователи». Кликните правой кнопкой мыши по пустой области и нажмите Новый пользователь:




  3. 3.

    Заполните поля, задайте пароль и параметры. Затем нажмите Создать:




  4. 4.

    Правой кнопкой мыши кликните на пользователя, которого создали на предыдущем шаге, и выберите Свойства:




  5. 5.

    Перейдите во вкладку «Членство в группах» и нажмите Добавить:




  6. 6.

    Нажмите Дополнительно:




  7. 7.

    Нажмите Поиск. Затем в результатах поиска выделите строку «Пользователи удаленного рабочего стола» и нажмите OK:



  8. org/HowToStep»>
    8.

    Если в окне появится строка «Имя компьютера/Пользователи удаленного рабочего стола», нажмите OK в окнах «Выбор» и «Свойства»:



Готово, вы создали пользователя и включили его в группу.

Подключиться к серверу по RDP можно по инструкции. При подключении используйте IP-адрес, имя пользователя и пароль, которые вы указали при создании.

Как проверить текущие подключения

Давайте проверим текущие подключения. Для этого откройте Диспетчер задач (комбинация клавиш CTRL+SHIFT+ESC) и выберите вкладку «Пользователи»:

На скриншоте видно, что на сервере находится администратор и один пользователь, который подключился по RDP.

Помогла ли вам статья?

Да

0
раз уже
помогла

Запуск, подключение и приложение сервера терминалов — Windows Server

  • Статья
  • 9 минут на чтение

В этой статье описывается процесс инициализации сервера терминалов и описывается, что происходит, когда пользователь подключается к серверу и запускает приложение.

Применяется к:   Windows Server 2012 R2
Исходный номер базы знаний:   186572

Инициализация сервера терминалов Windows

Когда сервер терминалов Windows загружает основную операционную систему, служба сервера терминалов (Termsrv.exe) запущен и создает стеки прослушивания (по одному на протокол и транспортную пару), которые прослушивают входящие соединения. Каждому соединению присваивается уникальный идентификатор сеанса или «SessionID» для представления отдельного сеанса на терминальном сервере. Каждый процесс, созданный в рамках сеанса, «помечается» соответствующим SessionID, чтобы отличать его пространство имен от любого другого пространства имен соединения.

Сеанс консоли (клавиатура сервера терминалов, мышь и видео) всегда загружается первым и рассматривается как клиентское соединение особого случая, которому присваивается идентификатор сеанса. Сеанс консоли начинается как обычный системный сеанс Windows NT с загруженными сконфигурированными драйверами дисплея, мыши и клавиатуры Windows NT.

Затем служба сервера терминалов вызывает диспетчер сеансов Windows NT (Smss.exe) для создания двух (по умолчанию = 2) бездействующих клиентских сеансов (после создания сеанса консоли), ожидающих клиентских подключений. Для создания неактивных сеансов диспетчер сеансов запускает процесс клиент-серверной подсистемы среды выполнения Windows NT (Csrss.exe), и этому процессу назначается новый идентификатор сеанса. Процесс CSRSS также вызовет процесс Winlogon (Winlogon.exe) и модуль ядра Win32k.sys (Window Manager и интерфейс графического устройства — GDI) под новым ассоциированным SessionID. Модифицированный загрузчик образов Windows NT распознает этот файл Win32k.sys как образ, загружаемый в SessionSpace, по предварительно определенному биту, установленному в заголовке образа. Затем он переместит кодовую часть образа в физическую память с указателями из адресного пространства виртуального ядра для этого сеанса, если Win32k. sys еще не загружен. По замыслу он всегда будет присоединяться к ранее загруженному коду образа (Win32k.sys), если он уже существует в памяти. Например, из любого активного приложения или сеанса.

Раздел данных (или не общий) этого образа будет затем выделен для нового сеанса из вновь созданного раздела памяти ядра SessionSpace с выгружаемой памятью. В отличие от сеанса консоли, сеансы клиента сервера терминалов настроены на загрузку отдельных драйверов для дисплея, клавиатуры и мыши.

Новый драйвер дисплея — это драйвер устройства отображения протокола удаленного рабочего стола (RDP), Tsharedd.dll. Драйверы мыши и клавиатуры взаимодействуют со стеком через диспетчер стека с несколькими экземплярами, termdd.sys. Termdd.sys будет отправлять сообщения об активности мыши и клавиатуры в драйвер RDP Wdtshare.sys и обратно. Эти драйверы позволяют сеансу клиента RDP быть удаленно доступным и интерактивным. Наконец, сервер терминалов также вызовет поток прослушивателя соединений для протокола RDP, снова управляемый диспетчером стека нескольких экземпляров (Termdd. sys), который прослушивает клиентские соединения RDP на TCP-порту с номером 3389..

На данный момент процесс CSRSS существует в собственном пространстве имен SessionID, при этом его данные создаются для каждого процесса по мере необходимости. Любые процессы, созданные из этого SessionID, будут автоматически выполняться в SessionSpace процесса CSRSS. Это предотвращает доступ процессов с разными идентификаторами SessionID к данным другого сеанса.

Клиентское подключение

Клиент RDP можно установить и запустить на любом терминале под управлением Windows (на базе WinCE), Windows для рабочих групп 3.11 с TCP/IP-32b или на платформе на основе Microsoft Win32 API. Клиенты, отличные от Windows, поддерживаются надстройкой Citrix Metaframe. Исполняемый файл RDP-клиента Windows для рабочих групп имеет размер примерно 70 КБ, использует рабочий набор 300 КБ и использует 100 КБ для отображаемых данных. Размер клиента на основе Win32 составляет приблизительно 130 КБ, для него используется рабочий набор размером 300 КБ и 100 КБ для отображаемых данных.

Клиент инициирует подключение к серверу терминалов через TCP-порт 3389. Поток прослушивателя RDP сервера терминалов обнаружит запрос сеанса и создаст новый экземпляр стека RDP для обработки нового запроса сеанса. Поток прослушивателя передаст входящий сеанс новому экземпляру стека RDP и продолжит прослушивание TCP-порта 3389 для дальнейших попыток подключения. Каждый стек RDP создается по мере подключения клиентских сеансов для обработки согласования деталей конфигурации сеанса. Первыми деталями будет установка уровня шифрования для сеанса. Первоначально сервер терминалов будет поддерживать три уровня шифрования: низкий, средний и высокий.

При низком шифровании будут шифроваться только пакеты, отправляемые клиентом на сервер терминалов. Это шифрование «только для ввода» предназначено для защиты ввода конфиденциальных данных, таких как пароль пользователя. Среднее шифрование будет шифровать исходящие пакеты от клиента так же, как низкоуровневое шифрование, но также будет шифровать все отображаемые пакеты, возвращаемые клиенту с сервера терминалов. Этот метод шифрования защищает конфиденциальные данные, поскольку они перемещаются по сети для отображения на удаленном экране. И низкое, и среднее шифрование используют алгоритм Microsoft-RC4 (модифицированный алгоритм RC4 с улучшенной производительностью) с 40-битным ключом. Высокое шифрование будет шифровать пакеты в обоих направлениях, к клиенту и от клиента, но будет использовать стандартный алгоритм шифрования RC4, опять же с 40-битным ключом. Неэкспортная версия сервера терминалов Windows NT обеспечивает 128-битное шифрование высокого уровня RC4.

Произойдет обмен шрифтами между клиентом и сервером, чтобы определить, какие общие системные шрифты установлены. Клиент уведомит сервер терминалов обо всех установленных системных шрифтах, чтобы обеспечить более быструю визуализацию текста во время сеанса RDP. Когда сервер терминалов знает, какие шрифты доступны клиенту, вы можете сэкономить пропускную способность сети, передав клиенту сжатые шрифты и строки символов Unicode, а не большие растровые изображения.

По умолчанию все клиенты резервируют 1,5 МБ памяти для кэша растровых изображений, который используется для кэширования растровых изображений, таких как значки, панели инструментов, курсоры и т. д., но не используется для хранения строк Unicode. Кэш настраивается (через раздел реестра) и перезаписывается с использованием алгоритма наименее использовавшегося (LRU). Сервер терминалов также содержит буферы, позволяющие передавать обновления экрана клиентам с управлением потоком, а не постоянным битовым потоком. Когда пользователь активно взаимодействует с клиентом, буфер очищается примерно 20 раз в секунду. Во время простоя или когда нет взаимодействия с пользователем, буфер очищается только 10 раз в секунду. Вы можете настроить все эти номера через реестр.

После согласования сведений о сеансе экземпляр стека RDP сервера для этого подключения будет сопоставлен с существующим сеансом пользователя Win32k бездействующего пользователя, и пользователю будет предложен экран входа в систему Windows NT. Если автоматический вход в систему настроен, зашифрованные имя пользователя и пароль будут переданы на сервер терминалов, и вход продолжится. Если в настоящее время не существует свободных сеансов Win32k, служба сервера терминалов вызовет диспетчер сеансов (SMSS) для создания нового пользовательского пространства для нового сеанса. Большая часть пользовательского сеанса Win32k использует общий код и будет загружаться заметно быстрее после предыдущей загрузки одного экземпляра.

После ввода пользователем имени пользователя и пароля пакеты отправляются на сервер терминалов в зашифрованном виде. Затем процесс Winlogon выполняет необходимую проверку подлинности учетной записи, чтобы убедиться, что у пользователя есть права на вход в систему, и передает домен пользователя и имя пользователя службе сервера терминалов, которая поддерживает список идентификаторов сеансов доменов и имен пользователей. Если SessionID уже связан с этим пользователем (например, существует отключенный сеанс), текущий активный стек сеанса присоединяется к старому сеансу. Временный сеанс Win32, использовавшийся для первоначального входа в систему, затем удаляется. В противном случае подключение выполняется как обычно, и служба сервера терминалов создает новое сопоставление SessionID домена и имени пользователя. Если по какой-то причине для этого пользователя активны более одной сессии, отображается список сессий, и пользователь сам решает, какую из них выбрать для переподключения.

Запуск приложения

После входа пользователя в систему рабочий стол (или приложение в режиме одного приложения) отображается для пользователя. Когда пользователь выбирает для запуска 32-разрядное приложение, команды мыши передаются на сервер терминалов, который запускает выбранное приложение в новое пространство виртуальной памяти (приложение 2 ГБ, ядро ​​2 ГБ). Все процессы на сервере терминалов будут совместно использовать код в режимах ядра и пользователя, где это возможно. Чтобы обеспечить совместное использование кода между процессами, диспетчер виртуальной памяти (VM) Windows NT использует защиту страниц от копирования при записи. Когда несколько процессов хотят читать и записывать одно и то же содержимое памяти, диспетчер виртуальных машин назначит защиту страниц от копирования при записи для области памяти. Процессы (сеансы) будут использовать одно и то же содержимое памяти до тех пор, пока не будет выполнена операция записи, после чего диспетчер виртуальных машин скопирует кадр физической страницы в другое место, обновит виртуальный адрес процесса, чтобы он указывал на новое местоположение страницы, и теперь пометит страница для чтения/записи. Копирование при записи полезно и эффективно для приложений, работающих на сервере терминалов.

Когда приложение на основе Win32, такое как Microsoft Word, загружается в физическую память одним процессом (сеансом), оно помечается как копирование при записи. Когда новые процессы (сеансы) также вызывают Word, загрузчик изображений просто укажет новым процессам (сеансам) на существующую копию, поскольку приложение уже загружено в память. Когда требуются буферы и пользовательские данные (например, сохранение в файл), необходимые страницы будут скопированы в новую область физической памяти и помечены как доступные для чтения/записи для отдельного процесса (сеанса). Диспетчер ВМ защитит это пространство памяти от других процессов. Однако большая часть приложения представляет собой совместно используемый код и будет иметь только один экземпляр кода в физической памяти, независимо от того, сколько раз оно будет запущено.

Предпочтительно (хотя и не обязательно) запускать 32-разрядные приложения в среде терминального сервера. 32-разрядные приложения (Win32) позволят совместно использовать код и более эффективно работать в многопользовательских сеансах. Windows NT позволяет запускать 16-разрядные приложения (Win16) в среде Win32, создавая виртуальный компьютер на базе MS-DOS (VDM) для выполнения каждого приложения Win16. Весь 16-битный вывод транслируется в вызовы Win32, которые выполняют необходимые действия. Поскольку приложения Win16 выполняются в собственном VDM, код не может использоваться совместно приложениями в нескольких сеансах. Перевод между вызовами Win16 и Win32 также потребляет системные ресурсы. Выполнение приложений Win16 в среде сервера терминалов потенциально может потреблять в два раза больше ресурсов, чем сопоставимое приложение на основе Win32.

Отключение сеанса и выход пользователя из системы

Отключение сеанса

Если пользователь решит отключить сеанс, процессы и все пространство виртуальной памяти останутся и будут выгружены на физический диск, если физическая память требуется для других процессов. Поскольку сервер терминалов сохраняет сопоставление домена/имени пользователя и связанного с ним идентификатора сеанса, при повторном подключении того же пользователя существующий сеанс будет загружен и снова станет доступным. Дополнительным преимуществом RDP является то, что он может изменять разрешение экрана сеанса в зависимости от того, что пользователь запрашивает для сеанса. Например, предположим, что пользователь ранее подключался к сеансу сервера терминалов с разрешением 800 x 600 и отключился. Если затем пользователь перейдет на другой компьютер, поддерживающий только разрешение 640 x 480, и повторно подключится к существующему сеансу, рабочий стол будет перерисован для поддержки нового разрешения.

Выход пользователя из системы

Выход из системы обычно прост в реализации. После выхода пользователя из сеанса все процессы, связанные с SessionID, завершаются, и вся память, выделенная для сеанса, освобождается. Если пользователь запускает 32-разрядное приложение, такое как Microsoft Word, и выходит из сеанса, код самого приложения останется в памяти до тех пор, пока последний пользователь не выйдет из приложения.

Как подключить клиентов к службам терминалов в Windows Server 2003 — Windows Server

Редактировать

Твиттер

LinkedIn

Фейсбук

Эл. адрес

  • Статья
  • 2 минуты на чтение

В этой пошаговой статье описывается, как подключить клиент служб терминалов под управлением Windows Server 2003 к серверу терминалов с помощью подключения к удаленному рабочему столу.

Applies to:   Windows Server 2003
Original KB number:   814585

Open Remote Desktop Connection

To open Remote Desktop Connection, select Start > All Programs > Accessories > Communications , а затем выберите Подключение к удаленному рабочему столу .

вернуться к началу

Создание подключения к службам терминалов

Чтобы создать подключение к службам терминалов, выполните следующие действия:

  1. Открыть подключение к удаленному рабочему столу.

  2. В поле Компьютер введите имя компьютера или IP-адрес терминального сервера или компьютера, на котором включен удаленный рабочий стол.

    Примечание

    Чтобы подключиться к сеансу консоли удаленного компьютера, введите имя_компьютера или IP-адрес /console.

  3. Выбрать Подключить .

  4. В диалоговом окне входа введите имя пользователя, пароль и домен (при необходимости), а затем выберите ОК .

    вернуться к началу

Сохранить настройки подключения

Соединение можно сохранить в виде файла протокола удаленного рабочего стола (.rdp). Файл .rdp содержит всю информацию для подключения к терминальному серверу, включая параметры параметров, настроенные при сохранении файла. Вы можете настроить любое количество файлов .rdp , включая файлы для подключения к одному серверу с разными настройками. Например, вы можете сохранить файл, который подключается к MyServer в полноэкранном режиме, и другой файл, который подключается к тому же компьютеру с размером экрана 800×600.

Чтобы сохранить параметры подключения, выполните следующие действия:

  1. Откройте подключение к удаленному рабочему столу и выберите Параметры .
  2. Укажите параметры подключения, которые вы хотите использовать для этого подключения.
  3. На вкладке Общие выберите Сохранить как .
  4. В поле Имя файла введите имя файла для сохраненного файла подключения, а затем выберите Сохранить .

Примечание

Чтобы отредактировать файл .rdp для изменения содержащихся в нем параметров подключения, выберите Пуск > Мои документы , щелкните файл правой кнопкой мыши и выберите Изменить .

вернуться к началу страницы

Открыть сохраненное подключение

Чтобы открыть сохраненное подключение, выполните следующие действия:

  1. Открыть подключение к удаленному рабочему столу, а затем выберите Открыть .

  2. Дважды щелкните файл .rdp для соединения, которое вы хотите открыть.

    вернуться к началу

Копирование файлов между локальным компьютером и удаленным компьютером

  1. Откройте подключение к удаленному рабочему столу.

  2. Введите имя компьютера или IP-адрес сервера терминалов или компьютера, на котором включен удаленный рабочий стол.

  3. Выберите вкладку Локальные ресурсы , установите флажок Дисковые накопители , а затем выберите Подключить .

  4. Выберите Пуск на панели задач удаленного компьютера, а затем выберите Мой компьютер . Или дважды щелкните Мой компьютер значок на рабочем столе удаленного компьютера.

    Примечание

    Диски на удаленном сервере отображаются вместе с дисками на вашем локальном компьютере. Ваши локальные диски отображаются как буква диска на tsclient , где tsclient — это имя, присвоенное вашему (локальному) компьютеру.

  5. Найдите файл, который нужно скопировать, щелкните его правой кнопкой мыши и выберите Копировать .

  6. Найдите папку, в которую вы хотите вставить файл, а затем выберите Паста .