Требования к серверу

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

Требования к оборудованию

Во-первых, требуется обеспечить поддержку всего оборудования, необходимого клиентам. Для этого нужно принять во внимание следующее.
● Какой производительности процессор необходим для поддержки требуемых вычислительных циклов (compute cycles)?
● Какого объема оперативная память требуется серверу для обслуживания всех данных и приложений, используемых клиентом?

В среднем следует рассчитывать на поддержку 12—15 клиентов каждым процессором в компьютере, но реальное число зависит от того, сколько вычислительных циклов требуется клиенту. Это, в свою очередь, зависит от того, как часто каждый клиент будет использовать компьютер и как интенсивно будут загружать компьютер приложениями, используемыми клиентом. Таким образом, сервер способен поддержать намного большее число клиентов, изредка использующих простые текстовые процессоры и периодически проверяющих наличие электронной почты, чем тех, которые на протяжении всего рабочего дня интенсивно используют сервер для подготовки электронных таблиц Excel.
При выборе памяти следует исходить из ее максимальной загрузки. Терминальные серверы обычно имеют объем памяти в диапазоне 256 Мбайт — 1 Гбайт. Точный объем требуемой памяти зависит от исполняемых терминальным сервером приложений, от того, как много данных каждый клиент будет загружать в память одновременно и сколько сеансов будут активными в каждый данный момент времени.

Совет:
Подготовка пользователей является составной частью процесса создания тонкой клиентной сети. Для максимального использования ресурсов терминального сервера следует поощрять сетевых клиентов закрывать неиспользуемые в данный момент приложения и файлы.

В такой организации сети имеются и достоинства: хотя каждый сеанс в многопользовательской операционной системе типа терминального сервера Windows (WTS) изолирован от всех других текущих сеансов, объекты, используемые более чем в одном сеансе, могут быть общими. Поэтому требования к памяти для каждого приложения значительно меньше суммарного размера виртуальной памяти отдельных ПК, количество которых совпадает с числом пользователей приложения. Тем не менее, как это почти всегда справедливо для серверов: чем больше у него памяти, тем лучше будет работать серверная платформа.

Программное обеспечение и протоколы

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

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

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

Какое оборудование доступно для использования? Будет ли оборудование сервера доступно клиентным компьютерам? Это зависит от самого оборудования, от операционной системы и от того, какие установки обработки запросов выполнены для данного сервера. Дело в том, что не все операционные системы могут обрабатывать запросы от разных пользователей ко всему оборудованию сервера. Это — не то же самое, что маршрутизируемые запросы от множества сетевых клиентов. Все запросы от них помещаются в "сетевую" очередь. А теперь вспомним, что вся требуемая клиентам работа выполняется на многопользовательском сервере, поэтому технически пользователи работают как бы локально, хотя данные отображаются и обрабатываются с помощью отдельного клиентного компьютера. Таким образом, при работе множества сетевых клиентов информация направляется в "локальную" очередь. Некоторые типы оборудования, например, дисководы CD-ROM и гибких дисков, а также последовательные и параллельные порты изначально не предназначались для совместного применения несколькими пользователями одновременно. Это не означает, что они не смогут совместно использоваться. Однако вы должны обсудить с поставщиками многопользовательских операционных систем вопросы, относящиеся к конкретному оборудованию, чтобы определить, что можно потребовать от операционной системы.

Ограничение объема виртуальной памяти. А что можно сказать об адресном пространстве виртуальной памяти? Тем, кто мыслит категориями одиночного пользователя или сервера, проблема выхода приложений за пределы адресного пространства виртуальной памяти не относится к числу таких, на которые следует тратить много времени. Все согласны, что физической памяти может не хватить, но серверная операционная система обеспечивает доступ к 4 Гбайтам адресного пространства виртуальной памяти, и трудно вообразить себе нехватку такой большой виртуальной памяти на однопользовательской системе. Даже если отвести под пользовательские данные 2 Гбайта, оставшиеся 2 Гбайта, зарезервированные для функций ядра операционной системы, все еще представляют собой достаточный объем адресного пространства виртуальной памяти.

Примечание:
В Windows NT 4 с (или без) установленной операционной системой WTS 2 Гбайта адресного пространства виртуальной памяти могут быть использованы для работы пользователя, в то время как другие 2 Гбайта резервируются для функций ядра операционной системы. С помощью Windows NT Enterprise Edition (или Windows NT с загруженным Service Pack 3) это разделение может быть сделано в пропорции: 1 Гбайт - для операционной системы, и 3 Гбайта - для нужд пользователя.

Однако в случае многопользовательской системы все выглядит несколько иначе. Допустим, имеется 100 пользователей, вошедших в четырехпроцессорную систему и загрузивших установленную оперативную память так, что физические ресурсы не будут слишком переполнены. Каждому из этих пользователей требуется примерно 30 Мбайт виртуальной памяти для всех исполняемых ими приложений — не такое уж непомерное количество с любой точки зрения. С учетом ресурсов, требуемых для самой операционной системы, вы приблизитесь к опасной черте занятости всех 4 Гбайт адресного пространства виртуальной памяти, доступных серверной операционной системе. Как показывает опыт, выход за пределы адресного пространства виртуальной памяти в лучшем случае приведет к генерации команды останова (Stop), в худшем — к полному отказу системы.
Вывод таков: помните, что каждый сеанс работы с сервером выполняется изолированно от других, однако все сеансы "борются" за одни и те же резервы процессорного времени и пространства памяти. У терминального сервера имеется всего один стек виртуальной памяти, а не по одному стеку на каждый сеанс. Таким образом, оборудование может поддержать все сеансы, но функциональные свойства операционной системы — нет. К слову, противопоставить этому нечего, исключая только распределение пользователей по терминальным серверам и объяснение им важности закрытия более не используемых открытых файлов и приложений.
При использовании Windows 2000 адресное пространство виртуальной памяти может быть и больше 4 Гбайт, что, безусловно, поможет пользователям WTS при работе с ней.

Многопользовательская операционная система для сервера. Многопользовательская система Windows NT, вероятно, претендует быть ответом на вопрос: "Какая операционная система может служить терминальным сервером?". Сейчас имеется две доступные разновидности многопользовательской NT.

● WinFrame фирмы Citrix.
● Терминальный сервер WTS фирмы Microsoft.

Разработанная первой, система WinFrame представляет собой набор средств (расширений) Windows NT 3.51, позволяющих ей функционировать в многопользовательском окружении. Фирма Microsoft лицензировала технологию, вернувшуюся из фирмы Citrix, для разработки терминального сервера WTS, который, в основном, остался тем же самым продуктом, но оснастился интерфейсом от NT 4. Сервер WTS в данное время является продуктом-надстройкой фирмы Microsoft, но далее будет средством обслуживания, которое можно будет включать и выключать в Win2R Server и Win2K Enterprise Edition. При работе в однопользовательском режиме WTS и Win2K являются практически одинаковыми операционными системами.

Планирование приложений и многопользовательские операционные системы

Между работой системы Windows 2000 Server в однопользовательском и многопользовательском режимах имеется одно различие, связанное с планированием потоков. В гл. 10 упомянута одна особенность, отличающая серверную операционную систему от клиентной.
Она заключается в том, что серверная операционная система оптимизирована таким образом, что она предоставляет больший приоритет сетевым функциям, чем отдельным приложениям.
По этой причине вы не только добьетесь большей локальной производительности от клиентной операционной системы, но и большей сетевой производительности — от серверной клиентной системы.
Терминальный сервер выполняет персонально используемые приложения, наподобие текстового процессора или электронных таблиц. Он не разделяет ЕХЕ-файлы с сетевыми клиентами, но исполняет приложения локально. Это является проблемой для NT 4, поскольку такие свойства фактически не относятся к числу тех, которые добавляются с установкой многопользовательских расширений. Таким образом, планировщик задач Windows 2000 Server спроектирован немного по-другому, чем в NT Server. Система Windows 2000 Server позволяет корректировать работу планировщика. При этом задается, что именно будет быстрее работать:
локально используемые приложения или сетевые. Ваш выбор будет зависеть от того, используете ли вы возможности терминального сервера, имеющиеся у операционной системы.

Таковы некоторые "закулисные" изменения, внесенные в архитектуру Windows NT, что позволяет ей функционировать как многопользовательской операционной системе (а именно, иметь возможность организовать распределение памяти и доступ к объектам нескольким пользователям, а не одному единственному). Однако самый важный момент в функционировании этих средств не связан напрямую с операционной системой. В операционной системе клиент видит лишь то, что выполняет терминальный сервер и отображают средства его интерфейса. Ключевым моментом в их работе является наличие функций, выполняемых средствами протокола дисплея, позволяющими клиенту и серверу взаимодействовать друг с другом.

Протоколы дисплея. Напомним: протоколы дисплея работают на канальном уровне и обеспечивают организацию виртуального канала между сервером и клиентом, передающего клиенту отображаемую информацию (для ее визуализации), а также вводимую клиентом информацию для обработки на сервере. Многопользовательская операционная система, реализованная на базе NT, поддерживает два протокола дисплея: RDP (Remote Display Protocol — протокол удаленного дисплея) и ICA (Independent Computing Architecture — архитектура независимой вычислительной системы).

Примечание:
Вы знакомы с протоколом X, используемым с терминальными службами UNIX? RDP и ICA имеют функции, во многом подобные протоколу X.

Протокол RDP, поставляемый вместе с терминальным сервером WTS, основан на протоколе Т. 120 фирмы Microsoft, изначально спроектированном для приложения NetMeeting, поддерживающего видеоконференции. Он предназначен только для клиентов Windows (как 16-битовых, так и 32-битовых, включая Windows СЕ); предоставляет клиенту целый рабочий стол; организует ограниченное взаимодействие между процессами, исполняемыми на клиентном компьютере (если они есть), и процессами, исполняемыми на терминальном сервере и отображаемыми на клиентном компьютере.
Протокол ICA, используемый в надстройке MetaFrame фирмы Citrix для терминального сервера WTS, поддерживает следующие функции (отсутствующие у протокола RDP).
● Звук.
● Доступ к множеству сеансов.

Примечание:
Состав протокола RDP делает его технически способным к поддержке множества сеансов, но в коммерческом продукте в настоящее время его поддержка не предусмотрена.

● Поддержка публикации отдельных приложений (вместо всего рабочего стола).
● Поддержка не-Windows клиентов (DOS, Macintosh, UNIX) при запуске приложений Windows.
● Совместное использование буфера Clipboard различными приложениями: и локальными, и исполняемыми на терминальном сервере.
● Поддержка как IPX/SPX, так и TCP/IP-протоколов.
● Поддержка затенения сеансов (session shadowing), позволяющая администратору брать на себя управление терминальным сервером для диагностики неисправностей.
● Поддержка локальной печати из приложений, находящихся на терминальном сервере.
● Последовательное кэширование информации на стороне клиента, понижающее сетевой трафик, связанный с обновлениями экрана.

Почему же вообще используют RDP, если он имеет более ограниченные по сравнению с ICA возможности? Из-за одного его прекрасного свойства: он поставляется вместе с WTS, поэтому при его использовании не требуется платить за лицензию, как пришлось бы делать в случае использования другого протокола дисплея. Если ваши запросы скромны (в случае, например, обслуживания клиента Windows, не нуждающегося в звуке, или при возможности локально выполнять приложения и работать в сети TCP/IP), то протокол RDP совершенно удовлетворителен.
Функциональные возможности протокола RDP в некоторых случаях могут быть расширены. Хотя Windows 2000 на момент написания книги (конец 1998 г.) все еще оставался Beta-2 версией, текущие планы его развития предусматривают добавление следующих функций в RDP (которые в данное время имеются лишь в протоколе ICA).

● Затенение сеансов.
● Локальная печать из удаленного приложения.
● Совместное использование буфера Clipboard локальными и удаленными приложениями.
● Звук.

Другими словами, когда появится окончательная версия системы Windows 2000 (если в ней останутся эти функциональные возможности протокола RDP), то данный протокол возьмет на себя дополнительные функции, ныне имеющиеся только у протокола ICA.
Скорость работы всегда важна, и некоторое время общее мнение было таково, что протокол ICA по определению работает быстрее RDP. Однако когда в лаборатории Windows NT Magazine выполнили контрольное тестирование этих двух протоколов, оказалось, что это не совсем так. В некоторых случаях протокол RDP фактически работает лучше ICA. Различие обусловлено количеством окон, отображаемых на экране клиентного компьютера. Протокол RDP спроектирован для пересылки полноэкранных изменений, поэтому окна приложений, работающих в режиме максимизированных окон и не содержащих дочерних окон, перерисовывались на экране быстрее с помощью протокола RDP, а не ICA. Приложения же, отображающие окна, и приложения с дочерними окнами перерисовывались быстрее с помощью протокола ICA, чем PDP. Эти результаты были получены независимо от быстродействия линии связи между клиентом и сервером. Короче говоря, если вам нужна скорость, то выбирайте протокол RDP для выполнения полноэкранных приложений, которые не содержат дочерних окон, и протокол ICA, если требуется перерисовка. 

Смотрите также

Глава 2. Планирование сетевой архитектуры
В гл. 1 "Концепция организации сетей и сетевые компоненты" были рассмотрены основные вопросы, относящиеся к сетям в целом. Вы уже познакомились с элегантными концепциями, относящимися к оп ...

Как работают повторители
Итак, теперь вы знаете, что функция повторителей заключается и регенерации сигнала с тем, чтобы он мог пройти большее расстояние. Строго говоря, это не совсем так. Вместо того чтобы просто усиливать ...

Физическая шинная топология
Для простых сетей, расположенных в пределах небольшой территории, физическая шинная топология (известная в мире компьютеров Mac как "цепочка") может оказаться наилучшим решением. В тополог ...