Какой из них СЛЕДУЕТ ВЫБРАТЬ?

Всвоей статье «Скорость решает все», опубликованной в декабре 1998 года, Джон Энк сравнивает производительность протокола RDP компании Microsoft (протокола, используемого в Windows NT Server 4.0, Terminal Server Edition) и протокола Independent Computing Architecture, созданного Citrix. ICA — более зрелый протокол, который Citrix разработала для своих продуктов WinFrame. Citrix выпустила ICA в виде модуля расширения для Terminal Server, получившего название MetaFrame. Вопрос, на который пытался ответить Джон Энк еще в декабре, — это вопрос о том, какой из протоколов быстрее.

Учитывая, что Terminal Server существует уже некоторое время и все больше людей имеют возможность протестировать его в своей среде, выбор между ICA и RDP стал намного проще. В этой статье я расскажу о том, как протоколы конкурируют и дополняют друг друга. Используя оба протокола последние девять месяцев, я пришел к выводу, что каждый из них предлагает в большинстве ситуаций адекватную скорость работы. Я расскажу о различиях в производительности, но необходимо отметить, что наиболее важными характеристиками я считаю возможности и затраты. (Более подробную информацию о третьем протоколе вывода изображений, который для связи с Terminal Server могут применять пользователи Unix, можно найти во врезке «Протокол X11»).

Скорость по-прежнему решает все?

Компания Citrix создавала ICA именно в расчете на системы с небольшой полосой пропускания, однако Джон Энк отметил, что RDP превосходно работает в подобной среде. Скорость каждого из протоколов зависит от того, какие обязанности вы на него возлагаете — RDP иногда работает значительно быстрее, а иногда — значительно медленнее, чем ICA. Определяющим фактором при сравнении скоростей является размер части экрана, которую необходимо перерисовывать. Кроме того, немаловажную роль играют приложения, которые вы запускаете (например, Internet Explorer существенно зависит от скорости перерисовки экрана, в то время как приложение, работающее с небольшим текстовым документом — не зависит), а также тот факт, используете ли вы ограниченную полосу пропускания совместно с другими пользователями (RDP — это потоковый протокол, который занимает полосу пропускания, когда установлено соединение, вне зависимости от выполняемой задачи, в то время как ICA посылает пакеты только тогда, когда задействованы мышь или клавиатура), что представляет собой клиент, с которого вы запускаете приложение, и насколько высокую нагрузку он несет, а также вид трафика, который передается по тому же сетевому сегменту с разделяемой полосой пропускания. Один из самых существенных факторов связан с тем, что ICA динамически определяет параметр сжатия в соответствии с производительностью сервера. Если на сервере на обработку отводится меньше тактов процессора, то ICA сжимает в меньшей степени, если же загрузка процессора больше, то ICA сжимает сильнее.

Хотя, как уже я заметил, производительность RDP и ICA в большинстве случаев вполне адекватна, я вовсе не имел в виду, что не требуется никаких усовершенствований. Фактически ориентированный на сервер подход становится более осуществимым и менее дорогим каждый раз, когда в результате модернизаций скорость протокола увеличивается. Каждое увеличение производительности приводит к тому, что все больше компьютеров можно использовать при меньшей полосе пропускания, тем самым снижается стоимость в расчете на соединение, особенно для тех пользователей, которые реализуют ориентированное на сервер решение в глобальной сети (значительная часть потребителей Terminal Server применяют его для снижения затрат на администрирование на удаленных узлах).

В конце февраля Citrix выпустила версию MetaFrame 1.8. Одной из ее отличительных черт является увеличение скорости работы протокола ICA за счет применения технологии SpeedScreen 2. Основу этой технологии составляют интеллектуальные агенты, которые Citrix представила в MetaFrame 1.0, а кроме того, технология позволяет сократить уровень трафика, пересылаемого для частой перерисовки экранов. По сравнению с MetaFrame 1.0 версия 1.8 снижает загрузку сети на 25 — 30% и сокращает общее число пересылаемых пакетов почти на 60%, значительно увеличивая скорость передачи по медленным соединениям. SpeedScreen 2 позволяет сохранить высокую производительность вне зависимости от сетевого соединения за счет снижения задержки и улучшения состояния серверного приложения. Данная технология должна помочь ICA превзойти RDP по скорости в медленных соединениях. Но Microsoft не намного отстанет, причиной чему ряд усовершенствований RDP, которые, если верить слухам, будут внесены в версии Windows 2000 Server.

Есть многое...

Вопрос не в том, насколько быстро работает тот или иной протокол. По крайней мере, выбирая, вы не должны основывать свое решение исключительно на скоростных характеристиках протокола. Хотя RDP — вполне приемлемый протокол, он не поддерживает ряд возможностей, реализованных в MetaFrame и в протоколе ICA, как это видно из таблицы. Сколько времени пройдет до тех пор, пока Microsoft начнет реализовывать некоторые из этих возможностей в RDP — не понятно, поэтому некоторые из независимых производителей уже начали подобную работу. Например, если вы приобрели тонкий клиент ThinSTAR 300 у компании Network Computing Devices (NCD), вы можете заодно купить модуль расширения, который позволяет Terminal Server передавать звук на терминал ThinSTAR через RDP. Кроме того, этот модуль расширения поддерживает возможность балансировки нагрузки. Но все эти дополнительные функции NCD работают только с клиентом ThinSTAR 300, в то время как MetaFrame предлагает то же самое вне зависимости от клиентской платформы (можно применять любой тонкий клиент, ПК или компьютер Macintosh, то есть любую машину, которая поддерживает работу со звуком).

Сравнение возможностей протоколов, приведенное в таблице, дает больше оснований для выбора между ними, чем просто сравнение быстродействия. Хотя ICA безусловно опережает своего конкурента по уровню функциональности, MetaFrame проигрывает сопернику по цене, учитывая, что он стоит 4995 долл. (RDP поставляется с Terminal Server бесплатно). Так что если вы не знаете, какие именно характеристики для вас имеют первостепенное значение, сравнение возможностей продукта не обязательно выявит среди ICA и RDP однозначного победителя. Чтобы сделать выбор, спросите себя, какова ваша цель.

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

Сценарий 1. Крупной компании, имеющей компьютеры Unix и Macintosh, необходимо использовать приложения Microsoft и несколько собственных приложений Win32.

Решение для сценария 1. Поскольку компания не использует Windows-клиенты, ей необходим протокол ICA. Клиент RDP не будет работать на машинах UNIX или Macintosh.

Сценарий 2. Небольшая компания имеет 10 компьютеров, объединенных в локальную сеть. На всех 10 компьютерах работает пакет приложений Corel Office, Netscape и специальное Windows-приложение для базы данных. Компания планирует модернизировать большинство своих машин и хочет приобрести клиенты, которым как можно реже требуется поддержка программного обеспечения.

Решение для сценария 2. Для этой компании прекрасно подойдет решение, предусматривающее использование RDP и Terminal Server. Оправдать затраты на MetaFrame для такого предприятия было бы крайне сложно.

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

Таблица: Сравнение возможностей

RDP и ICA

Характеристика ICA RDP
Включен в Terminal Server Нет Да
Выполняет автоматическое отображение принтеров и дисков клиента Да Нет
Поддерживает клиентов Unix Да Нет
Поддерживает клиентов Macintosh Да Нет
Поддерживает клиентов OS/2 Да Нет
Поддерживает клиентов Web Да Нет
Поддерживает клиентов DOS Да Нет
Поддерживает клиентов Windows NT и Windows 95 Да Да
Поддерживает звук на клиенте ДаНет (за исключением терминала NCD ThinSTAR и дополнительного программного обеспечения NCD)
Поддерживает копирование между сервером и клиентом Да Нет
Поддерживает несколько сеансов с различными серверами Да Нет
Поддерживает карманные устройства Да Нет
Поддерживает последовательные устройства в качестве клиента (например, сканеры для штрих-кодов и устройства PalmPilot) Да Нет
Поддерживает фоновый режим Да Нет
Автоматическая серверная модернизация клиентского программного обеспечения Да Нет
Поддерживает балансировку нагрузки Да (за дополнительную плату) Нет

Решение для сценария 3. Решение для этой компании неоднозначно, поскольку скорость удаленных соединение достаточна высока как в протоколе RDP, так и в протоколе ICA. Однако RDP в данной ситуации хуже, поскольку этот протокол не может автоматически подключать принтер удаленного пользователя. Другими словами, в этом случае страховой агент должен уметь вручную устанавливать параметры принтера так, чтобы он стал разделяемым ресурсом, и определять его отображения из Terminal Server (предполагается, что пользователь может получить доступ к NetBIOS Server Message Block (SMBT) и найти свой компьютер в списке просмотра). С другой стороны, вы можете сконфигурировать ICA так, чтобы он автоматически монтировал принтеры пользователей, когда они подключаются к серверу, и автоматически отключал принтеры, когда пользователи прерывают соединение. Кроме того, удаленные пользователи, работающие с ICA, могут копировать информацию между серверной сессией и своей настольной системой, а также могут копировать файлы между своим жестким диском, который автоматически отображается на сервере, и сетевым жестким диском.

Сценарий 4. Компания имеет 500 служащих, которые будут использовать новые тонкие клиенты для запуска общих офисных приложений, приложений Oracle и терминального сеанса с IBM AS/400. Все пользователи работают в локальной сети.

Решение для сценария 4. Эта компания имеет прекрасные перспективы для реализации RDP, поскольку многие новые тонкие клиенты выбирают поддержку RDP. Однако число пользователей велико, и им требуется большое количество серверов, которым в свою очередь необходима балансировка нагрузки и обеспечение избыточности. Предполагая, что один крупный сервер будет поддерживать 50 пользователей (конфигурация, которую рекомендует документация на Terminal Server), для этой реализации потребуется 10 серверов — не такая уж простая задача для администраторов, хотя это намного проще, чем конфигурировать 500 новых ПК. Один модуль дополнения MetaFrame — это программное обеспечение для балансировки нагрузки, который позволяет администраторам сконфигурировать несколько серверов как одну серверную ферму. Клиентские компьютеры подключаются к серверной ферме, и программа балансировки нагрузки определяет наиболее приемлемый сервер для регистрации конкретного пользователя, исходя из параметров, выбранных администратором. Помимо увеличения надежности за счет отказоустойчивости, балансировка нагрузки предоставляет администраторам возможность установить пиктограммы соединений со всех пользовательских настольных систем и даже позволяет администраторам распространять публикуемые приложения, устанавливая их в меню начального запуска для всех пользователей. Что касается серверной стороны, то выпущенное недавно компанией Citrix приложение Installation Management Services (IMS) позволит администратору установить программное обеспечение на одном сервере из серверной фермы, и IMS будет тиражировать установку на другие серверы. Я бы рекомендовал этой компании из-за большого числа пользователей применить MetaFrame.

Сценарий 5. Компания имеет 15 внутренних пользователей, которые будут запускать только приложения службы помощи и Word на компьютерах с Windows 95 и тонких клиентах. Помимо перехода в среду, ориентированную на сервер, компания хочет использовать один сервер как удаленный для сетевых администраторов и предоставить другим сотрудникам компании доступ к нему по коммутируемым каналам.

Решение для сценария 5. Этой компании придется использовать и RDP, и ICA. MetaFrame предоставит ей существенную дополнительную функциональность для пользователей, получающих доступ по коммутируемым каналам (такую как автоматическое отображение принтеров и файловых систем), хотя внутренним пользователям MetaFrame не нужен. Если эта компания имеет 5 или меньше модемов (и, таким образом, только 5 человек используют ICA), компания может приобрести лицензию MetaFrame на 5 пользователей, а не на 15. Хотя версию MetaFrame на 5 пользователей нельзя модернизировать до большего числа клиентов, она стоит более чем вдвое дешевле продукта на 15 пользователей.

Зачем выбирать что-то одно

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

Об авторе

Тим Ризер — президент компании Engineering Computer Consultants, специалист по механике и сертифицированный специалист Microsoft по Windows NT. С ним можно связаться по адресу tim@engcc.com.

ПРОТОКОЛ X11

Задолго до изобретения WinFrame, Independent Computing Architecture (ICA), Windows NT Server 4.0, Terminal Server Edition и RDP — существовал X-терминал. Ученые Массачусетского технологического института разработали для него протокол вывода изображений X11, который позволил рабочим станциям и серверам с Unix передавать свои изображения на другую машину (во многом аналогично тому, как Terminal Server передает изображение на другие машины). Поскольку X11 так широко использовался долгие годы, разработчики применяли его во многих приложениях.

Пользователи Terminal Server могут применять протокол X11 через WinCenter в устройствах Network Computing Device (NCD) для приложений MetaFrame. WinCenter for MetaFrame — это модуль расширения для Citrix MetaFrame, и помимо реализации протокола X11 это программное обеспечение содержит множество утилит Unix, таких как модуль раскладки Unix-клавиатуры, модуль отображения Unix-дисков. Пользователям Unix-систем, которые подключаются к Terminal Server, имеет смысл подумать об использовании WinCenter for MetaFrame.

Серьезным преимуществом применения протокола X11 вместо клиента ICA является тот факт, что пользователям нет нужды устанавливать клиент ICA на своих рабочих Unix-станциях, но они могут использовать с любого Unix-клиента интерпретатор командной строки rsh. Поскольку разработчики создавали X11 для работы в быстрых сетях, X11 требует большей полосы пропускания, чем ICA или RDP, но при этом X11 работает намного быстрее, чем эти протоколы. Более подробную информацию о X11 можно получить на Web-сервере NCD по адресу http://www.ncd.com.

Поделитесь материалом с коллегами и друзьями