Содержание

Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal

Обзор существующих решений для сетевых компьютеров

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

Citrix MetaFrame

Citrix MetaFrame – наверное самый известный программный продукт данной серии (сайт http://www.citrix.com). В его основе лежит наиболее распространенная в информационной индустрии технология Citrix Independent Computing Architecture (ICA®), которая позволяет строить распределенные вычислительные среды, базируясь на различном аппаратном и программном обеспечении, а также используя разные каналы связи. В современном виде, данная технология позволяет запускать программы для Windows, UNIX и Java практически на любом устройстве и через любое подключение. В арсенале данного программного продукта удобные средства администрирования и централизованного управления распределенной сетевой средой, средства мониторинга и слежения за аппаратным обеспечением, защищенная и безопасная сетевая среда, а также возможность мобильного удаленного доступа к документам пользователей через Интернет. Фактически использование Citrix MetaFrame – это качественно новый уровень управления информационной средой, и это особенно заметно, если имеет место использование различных операционных систем в одной локальной сети. Другими словами, про преимущества использования Citrix MetaFrame можно рассказывать очень долго, но есть у данного проекта и существенные недостатки. На первом месте в списке негативных факторов идет конечно же цена лицензии на использование данного программного продукта, а она, поверьте, не маленькая. Это особенно существенно для нашей страны и организаций с ограниченным бюджетом. Также не следует забывать и о том, что как любая сложная система, продукт от Citrix для успешного функционирования требует от администратора соответствующих знаний, опыта и специальной подготовки. Иначе говоря, Citrix MetaFrame – это хорошее надежное решение, но к сожалению оно далеко не всем по-карману.

Windows Terminal Services

Windows Terminal Services– программный продукт от софтверного гиганта Microsoft Corp. (сайт http://www.microsoft.com). Данное программное обеспечение предназначено для организации удаленного доступа к приложениям сервера от удаленных клиентов. В своей работе использует протокол RDP. Сервер должен работать под управлением операционных систем Windows NT Server 4.0 Terminal Server Edition, Windows 2000 Server или Windows 2003 Server. Клиентская часть может работать под управлением Windows 3.11 (16–разрядный клиент) и Windows 95, Windows 98, Windows NT Workstation 3.51, Windows NT Workstation 4.0, Windows 2000 Professional, Windows XP (32–разрядный клиент). Для того чтобы воспользоваться возможностью дистанционной работы при помощи Windows Terminal Services, необходимо правильно устанавливать приложения, в частности, в них должна быть предусмотрена совместная работа нескольких пользователей (многопользовательский режим), поэтому для запуска некоторых приложений может понадобиться специальный сценарий совместимости приложений. Terminal Services хорошо подходит для развертывания отраслевых приложений для удаленных пользователей, филиалов или устройств–терминалов и снижает совокупную стоимость владения. Поскольку модель Terminal Services обеспечивает централизованное управление приложениями, это помогает администраторам сократить затраты времени и труда на разработку клиентского программного обеспечения, его обслуживание и обновление. В среде Terminal Services никакие приложения или данные пользователей не хранятся на клиентских машинах, что позволяет вплотную контролировать систему безопасности и надежность. Terminal Services можно эксплуатировать и как средство удаленного администрирования Windows. Данная технология лучше всего подходит для ненасыщенных графикой приложений, которые не используют мультимедийные возможности операционной системы (звук, видео и т.п.). В сравнении с решением от Citrix, Windows Terminal Services выглядит менее производительным и удобным программным продуктом, хотя опираясь на свою долгую историю развития, эта технология является реальным альтернативным способом работы удаленных пользователей терминалов.

VNC

VNC – это еще один очень интересный программный продукт для удаленной работы пользователей, разработанный компанией RealVNC (сайт http://www.vnc.com). VNC (Virtual Network Computing - виртуальные сетевые вычисления) представляет собой действительно многоплатформенную среду клиент-сервер. Начиная с 1998 года, когда исходный код этого программного продукта стал свободно распространяемым, с сайта компании его загрузило более 20 миллионов человек и многие популярные дистрибутивы операционной системы Linux также включают в себя данный программный продукт. Для того чтобы понять, что лежит в основе работы VNC, следует рассмотреть схему на рис. 1.3.

Рис. 1.3. Схема дистанционного доступа VNC

В сетевой вычислительной среде VNC присутствуют два понятия: VNC Server и VNC Viewer. VNC Server – это программа, которая работает на компьютере, что предоставляет удаленный доступ, а VNC Viewer – это клиентское приложение для работы с ресурсами удаленного сервера. Взаимодействие между этими двумя частями системы осуществляется посредством специального VNC-протокола. В своей реализации протокол VNC представляет простую интерпретацию пользовательского графическому интерфейса. Он базируется на понятии удаленного фрейм-буфера, или как его еще иногда называют, RFB (remote framebuffer). Данный протокол позволяет серверу очень просто обновить изображение на клиенте, а поскольку идея фрейм-буфера может быть легко реализована в разных операционных системах и прикладных программах, то серверное и клиентское программное обеспечение VNC распространено на многих платформах. По сути, протокол VNC (он же, RFB-протокол), является протоколом для “тонкого” клиента, так как приложение VNC Viewer может работать на очень скромных аппаратных конфигурациях, включая карманные компьютеры (PDA).

При отображении и передаче графической информации по протоколу VNC используется понятие графических примитивов, таких как, например, прямоугольники. Но данный протокол выполняет дополнительную оптимизацию при передаче информации от сервера клиенту. Например, так как изображение фрейм-буфера хранится и на сервере и на клиенте, то при изменении информации на экране пересылается не все его изображение, а только те части, которые претерпели изменения. Подобным образом VNC протокол поступает и при передаче пиксельных изображений, то есть в зависимости от конкретной ситуации (аппаратного обеспечения, скорости соединения и т.п.), он выбирает схему кодирования графической информации. Например, неподвижные графические изображения могут передаваться в формате JPEG, а динамические видеоданные в формате MPEG. Современные интерфейсы операционных систем изобилуют графическими элементами, и рабочий стол пользователя часто напоминает по обилию красок новогоднюю елку, поэтому при передаче изображения от сервера клиенту, в сочетании используется очень много приемов и методов для уменьшения нагрузки на локальную сеть и повышения быстродействия. Очень часто при работе пользователя с графическим интерфейсом он выполняет действия, которые значительно изменяют изображение экрана, например, прокрутка содержимого окна. Но если рассмотреть этот процесс (прокрутку) более детально, то окажется, что только незначительная часть экрана изменяется, а остальная просто сдвигается вверх или вниз (право/лево). Использование такой особенности выполнения прокрутки экрана также позволяет значительно снизить поток информации, передаваемой от сервера клиенту. В качестве примера аналогичной оптимизации следует сказать, что при передаче текста могут использоваться схемы кеширования изображений отдельных графических символов, так как внешне очертания букв одного шрифта и одного размера выглядят одинаково. Не следует однако забывать, что главным условием применения технологии оптимизации при передачи данных по протоколу VNC является наличие ее поддержки как со стороны сервера, так и со стороны клиента (VNC Viewer).

VNC протокол работает по принципу обновления фрейм-буфера, и инициатором этого обновления является приложение клиент (VNC Viewer). Под обновлением принято понимать замену старого изображения фрейм-буфера новым. А так как обновление всегда происходит по инициативе клиента, то VNC протокол смело можно назвать адаптивным, то есть отображение графических данных будет происходить с тем качеством, на которое рассчитывает клиент. Для медленного соединения или ограниченного в возможностях клиентского приложения скорость обновлений фрейм-буфера снижается, и тем самым падает нагрузка на локальную сеть, хотя качество работы (отображения графики приложением клиентом) снижается.

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

Протоколу VNC свойственны фазы установки соединения (setup) и его завершения (shutdown). При первом подключении клиента он проходит процедуру аутентификации, которая, как правило, заключается в передаче имени пользователя и пароля, а также на скрытом от пользователя уровне происходит процесс согласования возможностей сервера и клиента, таких как разрешающая способность экрана, глубина цвета, схема кодирования графических образов и т.д. Исходя из природы соединений по протоколу VNC, которая не поддерживает понятие активного состояния, соединение может быть в любой момент прекращено клиентом, без какого-либо подтверждения на то сервером.

Проект VNC очень интересен с точки зрения его практического применения. Например, с его помощью вы можете администрировать удаленный сервер с Linux, работая на компьютере с операционной системой Microsoft Windows, или наоборот. Главное, что при этом вы не ограничиваете себя текстовой консолью, а можете наслаждаться всеми преимуществами графической среды. Использование клиентской программы VNC Viewer позволяет выполнять удаленные входы практически с любого компьютера. Отсутствие привязки к операционной системе и программному обеспечению делают этот проект действительно кроссплатформенным. Представьте себе ситуацию, когда принято решение перевести компьютеры с операционной системы Windows на Linux, но в организации используется программное обеспечение, несовместимое с Linux. В качестве компромиссного варианта можно использовать VNC для получения доступа к программам, которые не переведены в Linux. И таких примеров огромное множество. Хотя следует признать, что проект VNC не лишен изъянов. Так для работы VNC Viewer нужна операционная система, поэтому его сложно назвать полноценным “тонким” клиентом. Скорее всего, данное приложение следует рассматривать как способ кратковременного доступа к ресурсам удаленного компьютера, которое безусловно обладает широким спектром функциональных возможностей. Чтобы подчеркнуть большой потенциал проекта VNC, замечу, что на период написания этой книги были доступны сервера VNC для платформ: Windows 9x/2000/NT/XP (x86), Linux (x86), Solaris 2.5 (SPARC), HP-UX 11, Java, Novell Netware, OS/2, QNX и MacOS X, а клиенты VNC Viewer для еще большего числа платформ: Win32, Windows CE, Linux (разные дистрибутивы с поддержкой X-Windows и даже SVGALIB), Amiga, BeOS, MacOS, FreeBSD, OpenBSD, NetBSD, CygWin32, Java, DOS, OS/2, PalmOS, Solaris, SCO, VMS, AIX и многих других.

Пока интересно, читаем дальше!

Авторское право © Сеник Николай, 2004-2006