История развивается по спирали.
Это знакомое нам еще со школы высказывание из общей философии применимо и к компьютерным технологиям. Углубимся в историю. Вначале были механические счеты с костяшками, потом появились механические вычислительные машины. Позже появились электронные лампы и первые большие вычислительные машины на их основе, которые занимали целые здания. Потом был изобретен транзистор, да прославится имя его. Замечу, что под словом «транзистор» в те времена понимали далеко не одну из множества ячеек на пластине кремния, каждая из которых размером не более 0,18 мкм, а на пластине площадью в квадратный сантиметр их помещаются миллионы. Нет, транзистор представлял собой солидную радиодеталь в отдельном корпусе с размерами не менее сантиметра. Но все равно это был прорыв. В результате появились относительно компактные ЭВМ, занимающие «всего лишь» несколько шкафов и обладающие сумасшедшим, по тем временам, быстродействием. Кроме огромных размеров у них был еще один немаловажный недостаток цена. Поэтому каждому желающему такие ЭВМ были недоступны. Приходилось использовать вычислительные машины совместно. Сначала в режиме разделения времени, по очереди. А когда были изобретены клавиатурный ввод и дисплеи, а также многозадачные операционные системы (ОС), то появилась возможность работать одновременно многим пользователям на одной и той же машине. То есть на рабочем месте находился лишь терминал клавиатура для ввода данных и дисплей для их отображения, а вся обработка информации происходила на большой ЭВМ (мейнфрейме).
Но наука не стояла на месте, микросхемы становились все меньше, а стоимость их производства снижалась. В результате этого стремительного прогресса мы пришли к недорогим и мощным персональным компьютерам, стоящим практически у каждого. Относительно недорогим. Ведь если сложить затраты организации, которой необходимо 20, 50 и более машин, сюда же прибавить стоимость программного обеспечения, устанавливаемого на них, плюс затраты на людей, эти компьютеры обслуживающих — и мы получим очень немаленькую цифру.
Я не даром упомянул, что современные персональные компьютеры (PC) обладают большой мощностью. Ведь для большинства офисных и корпоративных задач (таких как MS Office, 1C Бухгалтерия, Парус, использование Internet Explorer для WEB-серфинга, электронная почта и т.д.) большие мощности не нужны. Но заглянув в PriceList любой солидной компьютерной фирмы, мы вряд ли сможем найти типичную конфигурацию компьютера с частотой процессора ниже гигагерца. А ведь в среднем (в типичных офисных задачах) он будет загружен всего на 10–15 процентов. Более того, иногда узким местом (это при таких современных и быстрых компьютерах) становится пропускная способность сети. Хороший пример этому клиенты 1С Бухгалтерии, генерирующие большой сетевой трафик при доступе к базе во время своей работы.
К тому же, насколько современным ни казался бы компьютер, купленный сегодня, через 2-3 года он уже с трудом тянет новое программное обеспечение (ПО). Поэтому устаревший компьютер приходится апгрейдить или, попросту говоря, менять на новый.
Именно поэтому тонкие клиенты (thin clients) становятся все более популярны уже на протяжении последних нескольких лет. Что же такое тонкий клиент?
В двух словах это автономное бездисковое устройство с источником питания, к которому подключаются устройства ввода (клавиатура, мышь, считыватель смарт-карт и т.д.) и устройства вывода информации (монитор, принтер, колонки и др.) Устройство предназначено для ввода информации и отправки ее на сервер, а также для вывода информации, принятой с сервера. Терминал подключается к серверу по локальной сети Ethernet, посредством модема или по последовательным линиям связи. На сервере должна быть установлена многозадачная и многопользовательская ОС и сервер должен быть достаточно мощным (по сравнению с терминалами, подключаемыми к нему). В общем случае, сам тонкий клиент не осуществляет обработку информации, все вычисления происходят на удаленном сервере. Именно поэтому требования к мощности таких устройств невелики. В принципе, в качестве тонкого клиента могут служить даже 286 и 386 компьютеры, на которые можно установить DOS или Windows 3.11, а также саму программу для подключения к серверу. В результате получаем быстродействующую машину под управлением ОС Windows 2000 (в случае, если на сервере установлена именно эта операционная система) для работы в типичных офисных задачах.
А теперь проведем параллели. Сеть из автономных устройств-терминалов, подключенных к мощной вычислительной машине-серверу. Терминалы лишь принимают данные с устройств ввода и отправляют их на сервер, а также отображают данные, пришедшие с сервера, на мониторе. Вся информация обрабатывается на удаленной машине терминальном сервере. Да, да. Вспоминаются именно вычислительные центры 70-х годов с мейнфреймами. Конечно, это уже не монохромные дисплеи, работающие в текстовом режиме. На столе находится не только клавиатура, появился звук. Да и круг выполняемых задач расширился. Но идея осталась той же.
Конечно, рынок тонких клиентов не ограничивается лишь семейством операционных систем MS Windows. Но благодаря распространенности таких продуктов, как MS Office и конечно MS Windows с IE, вездесущий Windows устанавливается во многих организациях. Именно поэтому многим интересны терминальные решения на основе этой ОС.
На рынке существует два протокола взаимодействия тонких клиентов с терминальными серверами. Первый, ICA (Independent Computing Architecture, независимая архитектура вычислений) от компании Citrix, появился на рынке несколько раньше. Второй, RDP (Remote Desktop Protocol, протокол удаленной системы), разработан в компании Microsoft и поставляется с ОС WindowsNT TSE, Windows 2000 Server и выше. ICA считается более универсальным, и его поддержка не ограничивается лишь win32-версиями операционных систем Windows. Он также поддерживает различные версии *nix ОС, Macintosh и даже Java-клиенты. А в остальном к настоящему времени функциональность обоих протоколов практически сравнялась. Хотя бытует мнение, что Citrix предоставляет большую свободу и удобство в администрировании терминальной сети.
Попробую обобщить плюсы и минусы терминального метода построения сети (в случае использования Windows OC).
Плюсы.
- Любой терминал является аналогом мощной рабочей станции.
Ведь все программы выполняются локально на быстродействующем терминальном сервере. - Экономия денежных средств как на стоимости самого тонкого клиента, так и на стоимости ПО.
Действительно, стоимость терминала несколько ниже среднестатистической рабочей станции. Программное обеспечение же устанавливается лишь на компьютере-сервере, хотя пользоваться им могут все владельцы терминалов (или некоторые, в зависимости от прав доступа). - Простота наращивания вычислительной мощности.
Нет необходимости в апгрейде терминала. Так как он является лишь устройством ввода и отображения информации, ничего не обрабатывая сам. При нехватке вычислительных ресурсов достаточно провести апгрейд сервера (обычно это выгоднее, чем модернизировать N полноценных рабочих станций), причем новые ресурсы будут доступны сразу всем терминалам. - Сокращение парка работы для администратора сети.
Ведь администрировать придется лишь один сервер, а не N рабочих станций, разбросанных по всему офису (офисам) организации. - Возможность получить доступ к своему виртуальному рабочему столу и всем документам с любого терминала, подключенного к серверу.
Так как вся информация хранится на сервере, достаточно аутентифицироваться в системе (ввести свои логин и пароль) с любого терминала. - Отсутствие проблем при отключении электроэнергии.
Так как вся информация хранится на сервере, достаточно его оснастить устройствами бесперебойного питания. Пропадание энергии на рабочем месте приведет лишь к временной неспособности видеть происходящее на экране терминала. Тут можно привести такую аналогию ведь при отключении монитора у нас ничего не происходит с открытыми программами? После подачи энергии (или при повторном включении терминала) пользователь вернется к тому состоянию запущенных программ, которое осталось в момент отключения терминала. - Ускорение некоторых программ, предъявляющих повышенные требования к полосе пропускания сети.
Хорошими примерами таких программ являются 1С Бухгалтерия и Парус. При нахождении ее серверной и клиентской части на одной машине устраняется узкое место пересылка данных по сети во время запроса клиентов к базе, и программы начинают работать намного быстрее. - Хорошая реализация безопасности.
Опять же, все файлы находятся на одном сервере, на тонких клиентах информация отсутствует, разграничения прав доступа производится системными средствами. Пользователь не может скинуть информацию на дискету, так как дисководы обычно отсутствуют или доступ к ним ограничен. То есть защищать нужно лишь сам сервер, а физически он и терминалы могут находиться территориально далеко друг от друга, например в соседних зданиях. - Быстрота развертывания нового рабочего места
Тонкий клиент можно подключить даже из своего дома, достаточно подключить его к терминальному серверу (к примеру, через интернет). Предварительная и однократная настройка занимает всего несколько минут времени, после чего мы сразу попадаем на свое рабочее место, с уже установленными программами (на сервере). - Бесшумность работы
Обычно терминалы не имеют в своем составе механических компонентов, таких как жесткие диски и вентиляторы (охлаждение осуществляется пассивно), поэтому совсем не производят шума . - Малое энергопотребление терминала
Используемые архитектуры обладают небольшим энергопотреблением. Для одного компьютера это может и не будет заметно. А если их будет 100? - Большее время наработки на отказ.
Отсутствие механических компонентов, а так же сама по себе упрощенная архитектура повышает надежность системы в целом, что немаловажно, учитывая гораздо больший срок эксплуатации терминалов по сравнению с рабочими станциями. - Небольшие размеры и эргономика
Тонкие клиенты неспроста носят такое название. Их размеры обычно не превышают размеров большой книги, и они не занимают много места на столе. - На работе надо работать.
Играть в 3D-игры или смотреть видеофильмы будет невозможно. Во-первых, их не окажется на сервере и невозможно будет установить самостоятельно (из-за ограничений, установленных администратором на установку дополнительного ПО). Во-вторых, пропускной способности сети не хватит для приемлемой скорости обновления экрана для этих приложений.
Минусы. Обратная сторона медали тоже присутствует.
- Тонкий клиент не панацея от всего.
Терминалы не предназначены для выполнения тяжелых задач, связанных со сложными вычислениями (например, AutoCAD и другие системы моделирования) или генерирующими большой трафик для передачи в сторону клиента (например, просмотр видеофильмов). В первом случае это связано с большой загрузкой вычислительной мощности сервера (он сможет обслужить очень мало клиентов), во втором с пропускной способностью сети. В этом случае нужно использовать полноценные рабочие станции. Кстати, современные 3D-игры относятся сразу к обеим категориям. - Платить все равно придется.
Более низкая стоимость терминала компенсируется высокой ценой сервера. Ведь эта машина должна быть достаточно мощной, чтобы выполнять задачи многих тонких клиентов, подключенных к ней. Справедливости ради отмечу, что зависимость мощности сервера от количества работающих клиентов не линейна. Большинство типичных задач (например, несколько копий MS Office в памяти) используют библиотеки уже запущенной первой копии для своей работы, поэтому потребности в оперативной памяти будут относительно невысоки. - Серверная ОС MS Windows.
Со всеми вытекающими последствиями в виде немалых запросов к производительности сервера лишь для собственных нужд ОС. Зато ее можно масштабировать, распределяя клиентскую загрузку на несколько серверов в случае MS Windows Advanced Server или Data Center. - В общем случае все работает на одном компьютере-сервере.
Поэтому должны быть обеспечены все возможные меры для его безотказной работы и сохранности данных. - Потребность в постоянном канале связи
В некоторых случаях для рабочей станции не обязательно наличие постоянного, а тем более быстрого канала связи. Терминалу же необходима постоянная связь с сервером. В среднем нужен канал с пропускной способностью не менее 20 Кбит/сек.
Резюмируя, можно сказать, что преимущества тонких клиентов достаточно привлекательны для использования их во многих организациях. Надо лишь четко определить для себя плюсы и минусы терминального подхода. Важно также отметить, что хоть низкая стоимость тонких клиентов и может компенсироваться высокой стоимостью серверной части, совокупная стоимость владения (TCO — Total Cost of Ownership) оказывается существенно ниже (по оценке Gartner Group на 5-40 процентов) при использовании на рабочих местах именно тонких клиентов, а не полноценных компьютеров. Ведь TCO складывается не только из затрат на закупку оборудования, а еще и на администрирование этого оборудования, затрат на модернизацию. Сюда же входят потери, произошедшие из-за сбоев оборудования.
В качестве яркого примера терминального решения рассмотрим тонкий клиент от российской компании Ak-Systems.
На фотографии представлен внешний вид (снятый с использованием синего светофильтра) AK Windows терминала GP этой компании. Заметьте это российская компания. Цена такого тонкого клиента — всего около 300 долларов США (на момент публикации), что существенно ниже западных аналогов. Люди, знакомые с уровнем цен на старые комплектующие, могут возразить: а ведь при сборке компьютера класса Pentium ][ придется потратить всего 200$, а уж Pentium и вообще копейки стоит! Да, но не стоит забывать, что в случае собственной сборки мы получим именно персональный компьютер, работающий в режиме терминала. С бОльшими размерами корпуса, энергопотреблением, жестким диском, кулерами и вытекающим отсюда шумом, старыми комплектующими и т.д. И с вытекающей отсюда надежностью. А тонкие клиенты изначально разрабатывались именно для своего круга задач, не обладают механическими деталями и потенциально более надежны. Не стоит забывать и о тех.поддержке мы живем в России компания-то рядом.
Спецификации AK терминала GP.
Процессор | NS Geode GX1 300 МГц c 16 Кб unified Cache |
ОЗУ | Один SDRAM 168pin DIMM 64 Мб и более |
ПЗУ | Один DiskОnСhip (flash) 8 Мб либо более |
Видеокарта | Интегрированная, до 1024×768, 65535 цветов, 85 Гц |
Сетевая карта | Интегрированная, Realtek8129c 10/100 Мбит |
Клавиатура, мышь | PS/2 совместимая |
Последовательный порт | RS232, 9Pin DSUB COM1, COM2 |
Параллельный порт | 25Pin DSUB |
USB порт | 2 USB порта (не поддерживаются софтом в данный момент) |
Аудио | 16 бит стерео, 44KHz sample rate |
Питание | Внутренний БП, 220 В на входе |
Габариты | 232 × 42 × 240 мм |
Встроенная операционная система | Microsoft Windows CE 3.0/CE.NET |
Поддержка протоколов | Remote Desktop Protocol (RDP), Citrix Independent Computing Architecture (ICA) |
Поддержка следующих OC | Microsoft Windows 2000 server/Windows NT TSE, Citrix MetaFrame/WinFrame |
Температурные режимы | От 0 до +40 °С (рабочий), От -10 до +60 °С (режим хранения) |
Внимательный читатель уже заметил, что частота процессора тонкого клиента GP составляет всего 300 МГц. На самом деле, большего и не нужно, ведь терминал практически не занят обработкой информации. Тем не менее, компания предлагает и модели с большей частотой процессора, на базе процессора VIA C3.
Взгляд изнутри
Задняя панель терминала с интерфейсами выглядит так:
А внутри корпуса располагается лишь одна материнская плата, на которой и размещена вся элементная база устройства.
Вместо жесткого диска используется flash-накопитель емкостью 16 Мбайт. С него и производится первичная загрузка ОС Windows CE. Именно ее окна и видно на экране до подсоединения к терминальному серверу.
Сердцем же системы является процессор GX1 от National Semiconductor. Это первый чип компании, созданный по 0,18 мкм технологии и обладающий очень незначительным тепловыделением 0,8-1,4 Вт, в зависимости от режима работы. Процессор изначально предназначен для установки в различные терминальные системы, интернет-приставки и т.д.
Ядро процессора построено на основе архитектуры x86, оно включает блоки арифметики с фиксированной и плавающей точкой и обладает кэшем первого уровня объемом 16 Кб. В процессор интегрирован контроллер VGA с ускорителем 2D-графики и дополнительными буферами интерфейсами к внешним контроллерам для проигрывания видео MPEG1. В процессор также интегрированы контроллер SDRAM памяти и шины PCI. Чип также поддерживает набор команд MMX и может работать на частотах от 200 до 333 МГц. В процессор встроена базовая поддержка аудиофункций (часть из них берет на себя внешний контроллер). Благодаря малому тепловыделению, используется лишь пассивное охлаждение процессора (радиатор).Роль южного моста выполняет микросхема CS5530A (PCI-to-ISA bridge). В нее же интегрированы два IDE контроллера и шина USB на два порта. Кроме того, к CS5530A подключается интерфейс видеоконтроллера процессора GX1 для дополнительного ускорения видео и вывода изображения на аналоговый или цифровой дисплеи. В CS5530A также встроен интерфейс для подключения внешнего AC'97 аудиокодека. Микросхема обладает низким энергопотреблением и незначительным тепловыделением.
Для поддержки остальных функций ввода/вывода используется контроллер PC97317 от того же производителя, подсоединяемый к южному мосту. PC87317 является одночиповым контроллером для большинства стандартной ISA/EISA/MicroChannel периферии. В чип встроен модуль advanced Real-Time Clock, контроллер гибких дисков (FDC controller), контроллер клавиатуры и мыши, два последовательных порта (UARTs) с поддержкой интерфейса инфракрасной связи (IR), контроллер параллельного порта IEEE 1284 и еще несколько контроллеров.
Сам терминал собран в корпусе небольших размеров и, как видно на фотографии платы, не имеет механических движущихся элементов, таких как вентиляторы и жесткие диски. Поэтому смело можно говорить о нулевом уровне шума при работе этого терминала.
Подготовка к первому запуску
На сервере необходимо установить ОС MS Windows NT TSE или Windows 2000 server (и выше). Дополнительно следует инсталлировать службу терминальных сервисов в панели установки у удаления компонентов ОС. После этого нужно лишь создать необходимое количество аккаунтов для пользователей.
Настройка же самого тонкого клиента очень проста.
При первом запуске терминала он высветит приглашения мастера настройки. С его помощью устанавливается фиксированный или динамический IP адрес клиента.
Опционально задаются адреса DNS и WINS серверов и наличие локального принтера (подключенного непосредственно к терминалу).
Этот же мастер позволяет задать разрешение и частоту обновления экрана монитора. После этого мастер переходит к настройке (заданию) удаленного терминального сервера и его параметров. Причем ничего не мешает создать несколько записей к разным серверам и потом переключаться между ними.
Для начала следует выбрать тип протокола соединения RDP (родной для WinNT TSE/ Win2K Server протокол) или ICA (от Citrix). Второй является более универсальным, а в нашем случае имеет больше возможностей. Для его использования на сервере должно быть установлено ПО Citrix MetaFrame. Подключение терминала возможно как через локальную сеть Ethernet, так и через модем. Думаю, последнее является экзотикой. Ведь аналоговый модем не может обеспечить приемлемую скорость передачи информации с сервера и, соответственно, о комфортной работе за терминалом речи быть не может.
Процедура настройки похожа в обоих типах протокола. Как минимум, потребуется ввести IP-адрес терминального сервера и, возможно, логин и пароль пользователя, если требуется автоматический вход в систему.
В случае использования протокола ICA можно активировать шифрование трафика и выбрать режимы работы терминала сквозь файрвол.
После установки всех нужных параметров настройку терминала можно считать законченной. Можно подключаться к серверу и начинать работу.
Процедура настройки однократна (для каждой серверной записи) и занимает не более пяти минут. Согласитесь, это намного быстрее, чем устанавливать ОС со всеми нужными программами на полноценную рабочую станцию.
Установки, заданные в первичном мастере настройки, всегда можно изменить и позже через панель настройки терминала. Тут же можно задать другие специфические опции, например, настроить чувствительность мыши и клавиатуры,
а также модифицировать параметры дисплея и IP-адрес терминала.
Тут же можно настроить подключенный к терминалу принтер, установить локальные дату и время, настроить диалап подключение (с использованием аналогового модема).
Сервис обновления прошивки (внутренней ОС) терминала представлен в закладке Firmware. Прошивку можно взять из файла или с удаленного FTP-сервера. Ну а чтобы пользователи не имели доступа к панели настройки терминала, на нее можно установить пароль или вообще скрыть саму панель.
Как видно, настройка терминала проста и много времени не занимает. После подключения к серверу пользователь попадает в привычное Windows-окружение и может приступать к работе. Основное время администратора уйдет на конфигурирование самого терминального сервера (или серверов, в случае большого парка тонких клиентов).
Тестирование
Полагаю, один из критичных параметров работы терминала это минимальная полоса пропускания, при которой работа на нем будет более-менее комфортной. Я провел несколько тестов, ограничивая полосу пропускания между сервером и тонким клиентом в 4, 8, 16, 20, 24 Кб/сек при использовании RDP протокола. Конечно, объективные выводы сделать невозможно, поэтому ниженаписанное можно считать моим субъективным восприятием.
На 4 и 8 KB/сек работать неудобно (особенно это касается 4 KB/сек) окна открываются и передвигаются с заметной задержкой, во время набора текста часто создается ощущение достаточно большого буфера в клавиатуре (буквы появляются не сразу и не по одной, а группами по 5-15 символов. Плюс к этому, первоначальное подсоединение терминала к серверу при канале в 4 Кб/сек занимает значительное время. На 16 Кб вышеперечисленные эффекты почти полностью устраняются, но все равно заметен некоторый лаг (задержка) при перетаскивании и открытии окон. На канале в 20 Кб/сек и выше работа за терминалом вполне комфортна.
Отмечу, что, судя по отзывам сторонних источников, на медленных линиях большой выигрыш в скорости работы получается при использовании протокола ICA. Работа на нем возможна даже на модемных линиях связи. К сожалению, у меня не было возможности протестировать работу терминала на этом протоколе, в следующем обзоре этот недочет будет устранен.
Выводы
Отдать предпочтение полноценным рабочим станциям или тонким клиентам — каждый руководитель решает сам. В этой статье я хотел лишь показать, что для некоторых классов задач терминалы оказываются более выгодны не только в плане удобства, но и позволяют более экономно расходовать денежные средства, выделяемые на компьютерную технику организации.