Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответник 10-11.doc
Скачиваний:
85
Добавлен:
08.02.2015
Размер:
875.01 Кб
Скачать

12.3. Распределенные вычислительные системы. Топология локальных вычислительных сетей.

Понятие распределенных систем

Введение

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

Классификация распределенных систем

По одной из таксономий типы распределенных систем определяются на основе вида связей на аппаратном и программном уровнях. Существуют системы с сильными и слабыми связями.

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

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

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

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

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

разных механизмов.

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

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

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

Архитектура распределенных систем

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

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

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

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

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

В настоящее время для разгрузки серверов применяют промежуточное звено - сервер приложений (Application Server - AS). Он забирает на себя функции связи с клиентом, с одной стороны, а с другой - часть бизнес-правил со стороны сервера баз данных. При этом происходит как существенная разгрузка серверов БД, так и упрощение клиентской части приложений. Фактически на стороне клиента остается только графическая часть (GUI) приложения. Такой подход называется трехзвенной клиент-серверной архитектурой или "тонким клиентом", так как разрыв соединения с клиентской частью не приводит к нарушениям работы приложений. При этом стараются, чтобы связь между серверами была организована по технологии "толстого клиента" (то есть без повторной аутентификации и проверки прав клиентской части ).

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

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

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

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

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

Однако у распределенных систем имеются и недостатки. К ним относят-ся:

• Большая сложность построения и взаимодействия операционных систем в системе.

• Более сложная технология создания программного обеспечения (про- граммирования), и, следовательно, более сложное обслуживание таких

систем.

Особенности распределенных систем

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

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

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

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

Однако у распределенных систем имеются и недостатки. К ним относят-ся:

• Большая сложность построения и взаимодействия операционных систем в системе.

• Более сложная технология создания программного обеспечения (про- граммирования), и, следовательно, более сложное обслуживание таких

систем.

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

Локальные сети

Существуют два подхода к построению локальных сетей и, соответственно два типа: сети типа клиент/сервер и одноранговые сети.

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

Рис. 1. Сети типа клиент/сервер

Сервер – компьютер, подключенный к сети и обеспечивающий ее пользователей определенными услугами.

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

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

Примеры: Novell Net Ware, Windows NT Server, IBM OS/2 Lan Server, Banyan Vines.

Одноранговые сети. В одноранговых сетях выделенные серверы не используются (рис. 2).

Рис. 2. Расположение компьютеров в одноранговых сетях

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

- Net Ware Lite

- Artisoft LANtastic.

Топология сети

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

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

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

В последовательных конфигурациях каждый физический подуровень передает информацию только одному ПК. Примерами последовательных конфигураций являются: произвольная (произвольное соединение компьютеров), иерархическая, «кольцо», «цепочка», «звезда с интеллектуальным центром», «снежинка» и

другие.

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

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

1. общая шина;

2. кольцо;

3. звезда.

Шинная топология (рис. 3), когда все узлы сети подключаются к одному незамкнутому каналу, обычно называемому шиной.

Рис 3. Топология «Шина»

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

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

Кольцевая топология (рис. 4), когда все узлы сети подключаются к одному замкнутому кольцевому каналу.

Рис 4. Топология «Кольцо»

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

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

Звездообразная топология (рис. 5), когда все узлы сети подключаются к одному центральному узлу, называемому хостом (host) или хабом (hub).

Рис 5. Топология «Звезда»

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

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