
Одноранговые сети (сети без централизованного управления)
Одноранговая архитектура – концепция сети, в которой ее ресурсы рассредоточены по всем абонентским системам. Рассматриваемая архитектура характеризуется тем, что в ней абонентские системы равноправны и их обращение к ресурсам друг друга является симметричным.
Для одноранговых сетей характерно отсутствие централизованного управления. В них нет серверов. Поэтому часто такие сети называют децентрализованные сети. При необходимости пользователи могут работать с общими дисками и такими ресурсами, как принтеры и факсы.
Одноранговые сети организуются по рабочим группам. Кроме того, одноранговые сети не оптимизированы для разделения ресурсов. В этих сетях существует лицензионное ограничение, не позволяющее получить доступ к ресурсу сразу большому числу пользователей.
Преимущества одноранговых сетей:
низкая стоимость;
просты в инсталляции;
не требуют специальной должности администратора сети;
позволяют пользователям управлять разделением ресурсов;
при работе не вынуждают полагаться на функционирование других компьютеров;
высокая надежность.
Для одноранговых сетей характерны и определенные недостатки:
дополнительная нагрузка на компьютеры из-за совместного использования ресурсов;
неспособность одноранговых узлов обслуживать, подобно серверу, столь же большое число соединений;
отсутствие централизованной организации, что затрудняет поиск данных;
нет центрального места хранения файлов, что усложняет их архивирование;
необходимость администрирования пользователями собственных компьютеров;
слабая и неудобная система защиты;
возможность подключения небольшого числа рабочих станций (не более 10);
отсутствие централизованного управления, осложняющее работу с большими одноранговыми сетями.
Клиент-серверная архитектура
Термин клиент-сервер может описывать аппаратное обеспечение и в этом случае означает сетевые серверные и клиентские компьютеры или способ организации программного обеспечения и служб в сети.
Модель клиент-сервер (client/server) - модель вычислений, в которой нагрузка по обработке прикладных программ распределяется между компьютером-клиентом и компьютером-сервером, совместно использующим информацию с помощью сети. Данная модель объединяет преимущества централизованных вычислений и клиентской модели. Обычно клиент - это программное обеспечение конечного пользователя, выполняющееся на WS и способное установить связь с сервером (обычно, сервером баз данных). Производительность при использовании модели "клиент-сервер" выше обычного, так как клиент и сервер делят между собой нагрузку по обработке данных. Модель клиент-сервер лучше всего работает при организации доступа к большим объемам данных.
Архитектура клиент-сервер – способ организации взаимодействия программ или компонентов многокомпонентной программы, подразумевающей наличие программы или компонента программы, называемого сервером, и одна, или несколько других компонентов, называемых клиентами.
Клиент – компонент локальной сети, запрашивающий услуги у некоторого сервера и сервером - компонент локальной сети, оказывающий услуги некоторым клиентам. Сервер локальной сети предоставляет ресурсы (услуги) рабочим станциям и/или другим серверам. В системе клиент-сервер клиент посылает запрос серверу, а вся обработка информации происходит на сервере.
Ядром архитектура клиент/сервер является сервер баз данных (система, которая получает запросы от программ-клиентов по вычислительной сети и передает в ответ запрашиваемые данные (набор ответов); каждый сервер баз данных состоит из компьютера, операционной системы и программного обеспечения сервера СУБД.), представляющий собой приложение, осуществляющее комплекс действий по управлению данными - выполнение запросов, хранение и резервное копирование данных, отслеживание ссылочной целостности, проверку прав и привилегий пользователей, ведение журнала транзакций. Обычно клиенты по вычислительной сети посылают запросы серверу в форме предложений на языке SQL. Сервер интерпретирует их и пересылает соответствующие данные обратно клиенту.
Клиент имеет возможность асинхронно для сервера инициировать выполнение процедур сервера и получать результаты их выполнения. Как правило, архитектура клиент-сервер обеспечивает возможность нескольким клиентам взаимодействовать с сервером параллельно и независимо друг от друга.
Клиент-серверная архитектура состоит в простейшем случае из трех основных компонентов:
сервер баз данных, управляющий хранением данных, доступом и защитой, резервным копированием, отслеживающий целостность данных в соответствии с бизнес-правилами и, самое главное, выполняющий запросы клиента;
клиент, предоставляющий интерфейс пользователя, выполняющий логику приложения, проверяющий допустимость данных, посылающий запросы к серверу и получающий ответы от него;
сеть и коммуникационное программное обеспечение, осуществляющее взаимодействие между клиентом и сервером посредством сетевых протоколов.