Технология клиент-сервер



Технология клиент-сервер.

Характер взаимодействия компьютеров в локальной сети принято свя­зывать с их функциональным назначением. Как и в случае прямого со­единения, в рамках локальных сетей используется понятие клиент и сер­вер. Технология клиент-сервер — это особый способ взаимодействия ком­пьютеров в локальной сети, при котором один из компьютеров (сервер) предоставляет свои ресурсы другому компьютеру (клиенту). В соответст­вии с этим различают одноранговые сети и серверные сети.

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

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

Другим недостатком одноранговых сетей является их более низкая производительность. Это объясняется тем, что сетевые ресурсы сосредо­точены на рабочих станциях, которым приходится одновременно выпол­нять функции клиентов и серверов.

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

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

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

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

При высокой интенсивности обмена данными с глобальными сетями в рамках локальных сетей выделяются почтовые серверы, с помощью ко­торых обрабатываются сообщения электронной почты. Для эффектив­ного взаимодействия с сетью Internet могут использоваться Web-серверы.

       Серверы приложений. На серверах приложений вы­полняются прикладные части клиент-серверных прило­жений, а также находятся данные, доступные клиентам. Например, чтобы упростить извлечение данных, серверы хранят большие объемы информации в структурированном виде. Эти серверы отличаются от файл- и принт-серверов. В последних файл или данные целиком копируются на запрашивающий компьютер. А в сервере приложений на запрашивающий компьютер пересылаются только резуль­таты запроса.

Приложение-клиент на удаленном компьютере полу­чает доступ к данным, хранимым на сервере приложе­ний. Однако вместо всей базы данных на ваш компьютер с сервера загружаются только результаты запроса. Напри­мер, вы можете получить список работников, родивших­ся в ноябре.

       Почтовые серверы. Почтовые серверы управляют передачей электронных сообщений между пользователя­ми сети.

       Факс-серверы. Факс-серверы управляют потоком входящих и исходящих факсимильных сообщений через один или несколько факс-модемов.

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

Существуют и комбинированные типы сетей, совмеща­ющие лучшие качества одно-ранговых сетей и сетей на основе сервера. Комбинированные сети — наиболее рас­пространенный тип сетей, но для их правильной реализа­ции и надежной защиты необходимы определенные зна­ния и навыки планирования.

 

Классическая архитектура «клиент-сервер»

Эта архитектура появилась в восьмидесятых годах двадцатого века. Особенности состоят в децентрализации архитектуры автономных вычислительных систем и их объединении в глобальные компьютерные сети.

Децентрализация архитектуры первых вычислительных систем стала возможной в связи с появлением персональных компьютеров, к которым мигрировала часть функций центральных ЭВМ. В результате появилась возможность создавать распределенные локальные и глобальные вычислительные системы, объединяющие персональные компьютеры и компьютеры, полностью предоставляющие свои ресурсы в общее пользование для других компьютеров сети. Компьютеры, предоставляющие те или иные общие ресурсы, были названы серверами, а компьютеры, использующие общие ресурсы, - клиентами. Соответственно архитектуру таких распределенных вычислительных систем стали называть архитектурой «клиент-сервер» (см. Рис. 1.3). Персональные компьютеры, исполняющие роль клиентов, называют еще рабочими станциями сети.

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

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

Функции любого программного приложения могут быть разделены на три группы:

♦   функции ввода и отображения данных;

♦   прикладные функции, характерные для предметной области приложения;

♦   функции накопления информации и управления данными (базами данных, файлами).

Соответственно любое программное приложение можно представить как структуру из трех компонентов:

♦   компонент представления, реализующий интерфейс с пользователем;

♦   прикладной компонент, обеспечивающий выполнение прикладных функций;

♦   компонент доступа к информационным ресурсам или менеджер ресурсов, выполняющий накопление информации и управление данными.

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

При использовании модели сервера управления данными на сервере, кроме самой информации, расположен менеджер информационных ресурсов, например, система управления базой данных (СУБД). Компонент представления и прикладной компонент совмещены и выполняются на компьютере-клиенте, который поддерживает как функции ввода и отображения данных, так и чисто прикладные функции. Доступ к информационным ресурсам обеспечивается, как правило, операторами специального языка (например, языка SQL, если речь идет о базах данных) или вызовами функций специализированных программных библиотек. Запросы к информационным ресурсам направляются по сети менеджеру ресурсов, который обрабатывает запросы и возвращает клиенту блоки данных.

Главным преимуществом модели сервера управления данными перед моделью доступа к удаленным данным является снижение объема информации, передаваемой по сети, так как выборка требуемых информационных элементов из файлов выполняется не на рабочих станциях, а на сервере. Кроме того, в настоящее время существует множество инструментальных средств, обеспечивающих быстрое создание приложений с развитым интерфейсом, работающих с SQL-ориентированными СУБД. Это обеспечивает унификацию и широкий выбор средств разработки приложений. С использованием подавляющего большинства этих средств как раз и создаются программы, в которых смешаны прикладные функции и функции представления.

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

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

 

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

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


При существенном усложнении и увеличении ресурсоеМкости прикладного компонента для него может быть выделен отдельный сервер, называемый сервером приложений. В этом случае говорят о трехзвенной архитектуре «клиент-сервер», предполагающей наличие трех звеньев: первое звено - компьютер-клиент, второе - сервер приложений, а третье - сервер управления данными. Архитектура «клиент-сервер», при которой прикладной компонент расположен на рабочей станции вместе с компонентом представления или на сервере вместе с менеджером ресурсов и данными, называют двухзвеннои архитектурой.

 

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

 

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

 

y">Классической архитектурой «кпиент-сервер» присущи следующие особенности:

 

♦   на сервере порождается не конечная информация, а данные, подлежащие интерпретации компьютерами-клиентами;

 

♦   фрагменты прикладной системы распределены между компьютерами сети;

 

♦   для обмена данными между клиентами и сервером могут использоваться закрытые протоколы, несовместимые с открытым стандартом TCP/IP, применяемом в сети Internet;

 

♦   каждый из компьютеров сети ориентирован на выполнение только своих локальных профамм.

 

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

 

С точки зрения безопасности обработки и хранения данных архитектура «клиент-сервер» обладает и рядом недостатков:

 

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

 

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

 

♦   использование для обмена данными между компьютерами сети закрытых протоколов требует разработки уникальных средств защиты, а соответственно - повышенных затрат;

 

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

 

Архитектура   «клиент-сервер»,   основанная   на Web-mexнoлoгuu

 

Многие недостатки, свойственные компьютерным сетям с классической архитектурой «клиент-сервер», снимаются в вычислительных системах новой архитектуры, которые сконцентрировали и объединили в себе лучшие качества централизованных систем и классических систем «клиент-сервер». Новая архитектура компьютерных сетей была названа как Intranet-архитектура. Ее часто называют также Web-архитектурой или архитектурой «клиент-сервер», основанной на Web-технологии. Эта архитектура стала итогом многолетних исследований и разработок в области приложения глобальных сетевых технологий Internet к локальным сетям. Появление в 1993 году архитектуры Intranet относят к началу третьего этапа эволюции вычислительных систем.

 

Основной особенностью архитектуры Intranet является возвращение к серверам ряда функций, которые были вынесены за пределы центральной ЭВМ на втором этапе эволюции вычислительных систем. Базисом новой архитектуры является Web-технология, пришедшая из Internet.

 

В соответствии с Web-технологией на сервере размещаются так называемые Web-документы, которые визуализируются и интерпретируются программой навигации, функционирующей на рабочей станции (см. Рис. 1.8). Программу навигации называют еще Web-навигатором или Web-браузером Web.

 

Логически Web-документ представляет собой гипермедийный документ, объединяющий ссылками различные Web-страницы, каждая из которых может содержать ссылки и на другие объекты. Физически Web-документ представляет собой текстовый файл специального формата, содержащий ссылки на другие объекты и Web-документы, расположенные в

 

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

 

Web-страница, являясь информационным аналогом страницы бумажного документа, может включать как текст, так и рисунки. Но, в отличие от бумажной страницы, Web-страница может быть связана с компьютерными программами, и содержать ссылки на другие объекты. Программа, связанная с Web-страницей, начинает автоматически выполняться при переходе по соответствующей ссылке или открытии Web-страницы. Любые ссылки, включенные в Web-страницу, выделяются другим цветом и/или подчеркиванием. Для перехода по ссылке достаточно щелкнуть по ней мышью.

 

Получаемая таким образом система гиперссылок основана на том, что некоторые выделенные участки одного документа, которыми могут быть части текста и рисунки, выступают в качестве ссылок на другие логически связанные с ними объекты. При этом объекты, на которые делаются ссылки, могут находиться на любом компьютере сети. В Wеb-стpaницy могут быть включены ссылки на следующие объекты:

 

♦   другую часть Web-документа;

 

♦   другой Web-документ или документ другого формата (например, документ Word или Excel), который может размещаться на любом компьютере сети;

 

♦    мультимедийный объект - рисунок, звук, видео;

 

♦    программу, которая при переходе на нее по ссылке будет выполняться на сервере;

 

♦    программу, которая при переходе на нее по ссылке будет передана с сервера на рабочую станцию для интерпретации или запуска на выполнение навигатором;

 

♦   любой другой сервис - электронную почту, копирование файлов с другого компьютера сети, поиск информации и т.д.

 

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

 

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

 

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

 

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

 

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

 

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

 

Изложенное позволяет выделить следующие отличительные черты intranet-архитектуры:

 

♦   на сервере порождается конечная информация, предназначенная для представления пользователю программой навигации, а не полуфабрикат, как в системах с классической архитектурой «клиент-сервер»;

 

♦   все информационные ресурсы, а также прикладная система сконцентрированы на сервере;

 

♦   для обмена данными между клиентами и сервером используются протоколы открытого стандарта TCP/IP, применяемые в Internet;

 

♦   облегчено централизованное управление не только сервером, но и компьютерами-клиентами, так как они стандартизованы с точки зрения программного обеспечения (на каждой рабочей станции достаточно наличия только стандартной программы навигации);

 

♦   на рабочих станциях помимо своих программ могут выполняться программы с других компьютеров сети.

 

Все перечисленные особенности, за исключением последней, способствуют решению проблемы информационно-компьютерной безопасности.

 

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

 

Использование для обмена данными между компьютерами сети протоколов открытого стандарта (TCP/IP) приводит к унификации всех способов взаимодействия между рабочими станциями и сервером. Не нужно решать задачу обеспечения безопасного информационного взаимодействия для множества приложений каждого компьютера. Решение по безопасности взаимодействия для одного компьютера и будет стандартным для всех. Кроме того, по отношению к протоколам открытого стандарта намного интенсивнее и шире публичное обсуждение вопросов информационной безопасности и богаче выбор защитных средств.

 

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

 

В архитектуре Intranet распределенная обработка информации предполагает возможность выполнения на рабочих станциях программ, полученных с сервера. Такой вид распределенной обработки позволил сконцентрировать всю прикладную систему на сервере. Однако возможность выполнения на рабочих станциях программ с сервера порождает новые угрозы информационно-компьютерной безопасности, например, появляется угроза подмены передаваемой с сервера программы [1, 31]. Соответственно возможность миграции программ предъявляет дополнительные требования по поддержанию безопасности сетевого взаимодействия.

Основы современных сетевых технологий

Схема взаимодействия с Web-cepвepoм

Обобщенное описание

В настоящее время наиболее перспективной является архитектура «клиент-сервер», основанная на Web-технологии.

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

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

 

♦   сервису копирования файлов с сервера (FTP-сервису);

♦   сервису управления сервером (Telnet-сервису);

♦   сервису многоуровневых меню по доступу к компьютерным ресурсам (Gopher-сервису).

Доступ к другим отдельным сервисам возможен в связи с тем, что с самого начала программы навигации разрабатывались как мультипрото-кольные программы, обеспечивающие интерфейс доступа ко многим ресурсам сети. К Web-навигаторам относятся такие известные продукты, как Netscape Navigator компании Netscape или internet Explorer от Microsoft.

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

При использовании Web-технологии в качестве основной программы-сервера выступает Web-сервер, который запускается на компьютере-сервере и осуществляет обработку запросов, приходящих от Web-клиентов. Взаимодействие между Web-клиентом и Web-сервером осуществляется в соответствии с протоколом HTTP (HyperText Transfer Protocol - протокол передачи гипертекста). Будучи запущенным, Web-сервер контролирует логический порт, по умолчанию номер которого равен 80, и полагает, что любые сообщения присланные к этому порту, предназначены для Web-сервера.

Технология клиент-сервер