МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНИ
ХАРЬКОВСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ
им.
В.Н.Каразина
Контрольная работа
по предмету „Компьютерные сети и системы”
(Архитектура
Клиент/сервер. Понятие выделенного сервера. Виды серверов)
выполнила Буланова Елена Александровна
студентка ІІ курса
Скадовск
г.
Содержание
Сервер
Типы Серверов
Главные Серверы
Первичный
Вторичный
Кэширующий Сервер
Удаленный Сервер
Подчиненный Сервер
Архитектура клиент-сервер
модель "файл-сервер"
модель "сервер транзакций"
модель "сервер приложений"
Выделенный сервер
Список
использованной литературы
Сервер - компьютер или программная система, предоставляющие удаленный доступ к своим службам или ресурсам с целью обмена информацией.
Сервер работает по заданиям клиентов. После выполнения задания сервер посылает полученные результаты клиенту, инициировавшему это задание.
Обычно связь между клиентом и сервером
поддерживается посредством передачи сообщений, и при этом используется
определенный протокол для кодирования запросов клиента и ответов сервера.
Типы Серверов
Имеется несколько типов серверов: (Главный), (Кэширующий), (Удаленный) (Подчиненный).
Главные Серверы
Главный Сервер поддерживает все данные,
соответствующие домену. Каждый домен должен иметь по крайней мере два главных
сервера, первичный главный, и неcколько вторичных главных, чтобы обеспечить
сервис резервирования, если первичный недоступен или перегружен. Сервер может
быть главным для множества доменов, будучи первичным для некоторых доменов и
вторичным для других.
Первичный
Первичный Главный Сервер - это сервер, который загружает свои данные из файла на диске. Этот сервер может также делегировать полномочия другим серверам в своем домене.
Вторичный
Вторичный Главный Сервер - это сервер, который
получает полномочия и принимает данные для домена от первичного главного
сервера. Во время начальной загрузки вторичный сервер запрашивает все данные
для данной зоны от первичного главного сервера. Этот сервер затем периодически
сверяется с первичным сервером на предмет необходимости обновления своих
данных.
Кэширующий Сервер
Все серверы являются кэширующими серверами. Это
значит, что сервер кэширует информацию, которую он получает для использования,
пока срок хранения данных не истечет. Только Кэширующий Сервер - это сервер,
который не авторизован ни для какого домена. Этот сервер обслуживает запросы и
опрашивает другие серверы, которые авторизованы, на предмет необходимой
информации. Все серверы хранят данные в своем кэше до тех пор, пока срок
хранения данных не истечет, базируясь на поле времени жизни, присоединенном к
данным, когда они приняты от другого сервера.
Удаленный Сервер
Удаленный Сервер - это средство, позволяющее
использовать сервер имен на рабочей станции или на машине с ограниченным
объемом памяти и производительностью CPU. Используя его можно использовать все
сетевые программы использующие сервер имен без запуска сервера на локальной
машине. Все запросы обслуживаются сервером имен работающим на другой машине в
сети. Хост, имеющий файл /etc/resolv.conf, перечисляющий только удаленные хосты
и не имеющий локального сервера имен, иногда называется Удаленным Сервером, но
намного чаще он называется просто "DNS клиент ". Такой тип хостов
технически не "сервер ", так как он не имеет кэша и не отвечает на
запросы.
Подчиненный Сервер
Подчиненный Сервер - это сервер, всегда переправляющий запросы, которые он не может обслужить используя свой кэш, на ограниченное число пересыльных серверов, которые он не может удовлетворить локально, на перенаправляющие серверы из фиксированного списка, вместо взаимодействия с главным сервером имен для корневого и других доменов. Запросы к пересыльным серверам не являются рекурсивными. Запросы на перенаправляющие серверы являются рекурсивными запросами.
Может быть один или более перенаправляющих
серверов, и они опрашиваются по очереди, пока список не исчерпается.
Конфигурация Подчиненного и перенаправителей обычно используется, когда нужно,
чтобы все серверы данного узла взаимодействовали с остальным серверами Internet.
Типичным является случай, когда для доступа к Internet задействованы несколько
рабочих станций и отдельная машина с разделением времени. Рабочим станциям
может быть административно запрещено иметь доступ к Internet. Чтобы дать
рабочим станциям возможность доступа к системе доменов Internet, рабочие
станции могут быть Подчиненными серверами для машины с разделением времени,
которая будет переправлять запросы и взаимодействовать с другими серверами имен
для разрешения запроса перед возвратом ответа. Дополнительная полезность
использования возможности перенаправления состоит в том, что центральная машина
обрабатывает гораздо более полный кэш информации, которая дает преимущество
всем рабочим станциям.
Архитектура клиент-сервер
Архитектура клиент-сервер (Client-server architecture) - архитектура распределенной вычислительной системы, в которой приложение делится на клиентский и серверный процессы.
В современной архитектуре выделяется четыре группы объектов: клиенты, серверы, данные и сетевые службы. Каждый из них является комплексом взаимосвязанных прикладных программ. Серверы предоставляют ресурсы, необходимые многим пользователям. К ним относятся базы данных, файлы, память. Клиенты используют эти ресурсы и предоставляют удобные интерфейсы пользователя.
Клиенты располагаются в системах, находящихся на рабочих местах пользователей. Данные хранятся в основном в серверах. Сетевые службы являются совместно используемыми прикладными программами, которые взаимодействуют с клиентами, серверами и данными. Кроме этого, службы управляют процедурами распределенной обработки данных, информируют пользователей о происходящих в сети изменениях.
В зависимости от сложности выполняемых прикладных процессов и числа работающих клиентов различают двух- и трехуровневые архитектуры. Наиболее простой является двухуровневая. Здесь клиенты выполняют простые операции обработки данных, отрабатывают интерфейс взаимодействия с сервером, обращаются к нему с запросами. Большую же часть задач обработки выполняет сервер. Для этих целей он имеет базу данных. В трехуровневой архитектуре вместо единого сервера применяются серверы приложений и серверы баз данных. Их использование позволяет резко увеличивать производительность локальной сети. В абонентскую систему в зависимости от ее производительности загружается клиент, сервер либо сервер с группой клиентов. архитектура сервер приложение
Архитектура клиент-сервер постепенно превращается в архитектуру клиент-сеть, в которой используется не один, а множество серверов. Например, в сети Internet их сотни тысяч. Стремление дать возможность работы в сети клиентам, созданным различными производителями, привело к возникновению архитектуры любой клиент - сервер.
Преимуществами технологии Клиент/Сервер являются:
стабильность,
высокая производительность,
целостность данных,
надежность индексов,
шифрование данных.
Общая цель систем баз данных - это поддержка
разработки и выполнения приложений баз данных. Поэтому на высоком уровне
систему баз данных можно рассматривать как систему с очень простой структурой,
состоящей из двух частей - сервера (или машины базы данных) и набора клиентов.

Сервер - это собственно система управления баз данных (СУБД). Он поддерживает все основные функции СУБД, которые обсуждались выше, а именно: определение данных, обработку данных, защиту и целостность данных и т.д. В частности, он предоставляет полную поддержку на внешнем, концептуальном и внутреннем уровнях. Поэтому "сервер" в этом контексте - это просто другое имя СУБД.
Клиенты - это различные приложения, которые выполняются "над" СУБД: приложения, написанные пользователями, и встроенные приложения, предоставляемые поставщиками СУБД или некоторыми сторонними поставщиками программного обеспечения.
Исключениями являются специальные "служебные" приложения. Такие приложения иногда могут работать только непосредственно на внутреннем уровне системы. Такие утилиты скорее относятся к непосредственным компонентам СУБД, чем к приложениям в обычном смысле.
Приложения, в свою очередь, делятся на несколько четко определенных категорий.
Приложения, написанные пользователями. Это в основном профессиональные прикладные программы, написанные (обычно) либо на общепринятом языке программирования, таком как С++, Delphi, либо на специализированном, таком как FoxPro, Clipper, Access и т.п.
Приложения, предоставляемые поставщиками (часто называемые инструментальными средствами). В целом назначение таких средств - содействовать в процессе создания и выполнения других приложений, т.е. приложений, которые делаются специально для некоторой специфической задачи; и действительно, эта категория инструментальных средств позволяет пользователям, особенно конечным, создавать приложения без написания традиционных программ.
Поставляемые инструментальные средства, в свою очередь, делятся на несколько самостоятельных классов:
процессоры языков запросов;
генераторы отчетов;
графические бизнес-подсистемы;
электронные таблицы;
процессоры обычных языков;
средства управления копированием;
другие средства разработки приложений, включая CASE-продукты (CASE или Computer-Aided Software Engineering - автоматизация разработки программного обеспечения), и т.д.
Так как система в целом может быть
четко разделена на две части (сервер и клиенты), появляется возможность работы
этих двух частей на разных машинах. Иначе говоря, существует возможность
распределенной обработки. Распределенная обработка предполагает, что отдельные
машины можно соединить какой-нибудь коммуникационной сетью таким способом, что
определенная задача, обрабатывающая данные, может быть распределена на
нескольких машинах в сети
Утилиты
Утилиты - это программы, разработанные для администратора и используемые при выполнении различных административных задач. Как уже упоминалось выше, некоторые утилиты выполняются на внешнем уровне системы и потому представляют собой не что иное, как приложения специального назначения; некоторые из них могут предоставляться даже не поставщиками СУБД, а скорее некоторыми сторонними поставщиками программного обеспечения. Однако другие утилиты выполняются непосредственно на внутреннем уровне (т.е. являются частью сервера) и поэтому должны предоставляться поставщиками СУБД.
Ниже приводится несколько типичных примеров типов утилит, которые часто применяются на практике.
Процедуры загрузки, применяемые для создания первоначальной версии базы данных из одного или более файлов, которые не принадлежат базе данных.
Процедуры выгрузки-перезагрузки, применяемые для выгрузки базы данных или порции из нее, дублирования памяти с целью восстановления и перезагрузки данных из таких дублированных копий.
Процедуры реорганизации, применяемые для перераспределения данных в базе данных по различным соображениям, например, для группировки некоторых данных каким-то определенным способом на диске или освобождения пространства, занятого данными, которые больше не используются.
Статистические процедуры, применяемые для вычисления различных статистических показателей производительности, таких как распределение размеров файлов или значений данных и счетчиков ввода-вывода и т.п.
Процедуры анализа, применяемые для
анализа только что упомянутой статистики.
Прочее
В зависимости от того, как распределены логические компоненты приложения между клиентами и серверами, различают четыре модели архитектуры клиент-сервер:
модель "файл-сервер";
модель "сервер базы данных";
модель "сервер транзакций";
модель "сервер приложений".
модель "файл-сервер"
Файл-сервер [англ. file server] - Технология построения вычислительных систем, при которой данные размещаются централизованно, а система управления ими располагается на каждой рабочей станции.
Файл-сервер - это сервер вычислительной сети, обеспечивающий хранение общих файлов на объемных дисковых устройствах и доступ к ним из других узлов сети.
модель "сервер транзакций"
Сервер транзакций управляет бизнес-транзакциями. Он размещается между клиентом и сервером и объединяет важнейшие операции обработки данных. Он позволяет сохранять целостность гигантских объемов информации и гарантирует завершение транзакций без прерываний и искажения данных
Сервер транзакций располагается в самом центре информационной системы.
Сервер транзакций отвечает за поддержку высокой производительности, готовности и целостности данных. Он также следит за равномерностью загрузки компьютеров в сети.
Когда сервер транзакций выясняет, что один из компьютеров несет слишком большую нагрузку, он автоматически распределяет работу между всеми имеющимися машинами, объединяя ресурсы, чтобы предотвратить сбой на любой из них.
При обновлении базы данных сервер транзакций выполняет операцию, называемую управлением состоянием. В случае, если компьютер не может завершить транзакцию, сервер приостанавливает работу программы и возвращается в исходное состояние без искажения данных.
Сервер транзакций представляет собой либо часть операционной системы, либо часть промежуточного программного обеспечения, то есть программы, которая размещается между клиентскими компьютерами и сервером. Промежуточное программное обеспечение гарантирует, что когда клиенты запрашивают информацию, серверы обязательно ее предоставляют, даже если они работают на различных вычислительных платформах.
Фундаментальные характеристики промежуточного программного обеспечения - независимость и открытость. Это универсальная инфраструктура, в состав которой могут входить самые разнообразные инструментальные средства.
Объектно-ориентированные программы создаются на основе правил, позволяющих программным компонентам действовать как независимые объекты, которые работают вместе, обмениваясь друг с другом сообщениями. Подобный подход позволяет также заменить один объект на другой, так что нет необходимости переписывать всю программу целиком.
Где бы ни размещался сервер транзакций, он инкапсулирует в себе базовую инфраструктуру программы. Он предоставляет такую программную среду, в которой разработчикам при создании нового приложения не придется беспокоиться о реализации базовых функций.
Серверы транзакций лучше всего подходят для защищенных, высокоскоростных приложений, например:
электронная коммерция;
торговля ценными бумагами;
резервирование авиабилетов;
проверка подлинности кредитных карт;
интерактивные банковские транзакции.
модель "сервер приложений"
Многозвенные распределенные приложения обеспечивают эффективный доступ удаленных клиентов к базе данных, так как в них для управления доступом к данным применяется специализированное ПО промежуточного слоя. В наиболее распространенной схеме - трехзвенном приложении - это сервер приложения, который выполняет следующие функции: