1. Понятие логической архитектуры сети

advertisement
1. Информационно-телекоммуникационные сети
Под информационно-телекоммуникационной сетью понимаем набор
компьютеров, соединенных коммуникационными средствами, с помощью которых
компьютеры могут обмениваться информацией. Этот обмен имеет место при
посылке и получении сообщений. Информационно-телекоммуникационные сети
удовлетворяют определению распределенных систем. В зависимости от расстояния
между
компьютерами
и
их
принадлежностью,
информационно-
телекоммуникационные сети называются либо глобальными, либо локальными.
Глобальная сеть обычно соединяет компьютеры, принадлежащие различным
организациям (предприятия, университеты и т.д.). Физическое расстояние между
узлами обычно составляет 10 километров и более.
Каждый узел такой сети – это законченная компьютерная система,
включающая
всю
периферию
и
значительное
количество
прикладного
программного обеспечения. Главная задача глобальной сети – это обмен
информацией между пользователями различными узлов.
Локальная сеть обычно соединяет компьютеры, принадлежащие одной
организации. Физическое расстояние между узлами обычно 10 километров и менее.
Узел такой сети – это обычно рабочая станция, файловый сервер или сервер печати,
т.е. относительно маленькая станция, специализирующаяся на особых функциях
внутри организации. Главная задача локальной сети – это обычный обмен
информацией и разделение ресурсов.
Граница между двумя типами сетей не может быть всегда четко очерчена, и обычно
различие не столь важно с алгоритмической точки зрения, потому что во всех
компьютерных сетях встречаются схожие проблемы.
Релевантные отличия, относящиеся к развитию алгоритмов, следующие:
Параметры надежности. В глобальных сетях вероятность, что что-то
пойдет не так в течение предачи сообщения никода не может быть игнорирована.
Распределенные алгоритмы для глобальных сетей обычно разрабатываются так,
чтобы справляться с возможными неполадками. Локальные сети более надежные, и
алгоритмы для них могут быть разработаны в предположении абсолютной
надежности коммуникаций. В этом случае, однако, невероятное событие, что чтото произойдет не так может быть пропущено, что обусловит неправильную работу
системы.
Время коммуникации. Времена передачи сообщений в глобальных сетях на
порядки больше, чем времена передачи в локальных сетях. В глобальных сетях
время необходимое для обработки сообщения почти всегда может быть
игнорировано по стравнению со временем передачи сообщения.
Гомогенность. Даже хотя в локальных сетях не все узлы обязательно равны,
обычно возможно принять единое программное обеспечение и протоколы для
использования в рамках одной организации. В глобальных сетях используется
множество различных протоколов, которые поднимают проблему преобразования
между различными протоколами и разработки программного обеспечения, которое
совместимо с различными стандартами.
Взаимное доверие. Внутри одной организации можно доверять всем
пользователям, но в глобальной сети это определенно не так. Глобальная сеть
требует развития безопасных алгоритмов, защищающих узлы от агресcивных
пользователей.
3. Глобальные сети
Историческое развитие. Большая часть первооткрывательской работы в развитии
глобальных компьютерных сетей было проделано в проектах агентства ARPA
министерства обороны США. Сеть ARPANET начала работать в 1969, и соединяла в
то время 4 узла. Эта сеть выросла до нескольких сотен узлов, и другие сети были
установлены с использованием подобной технологии (MILNET, CYRPRESS).
ARPANET содержит специальные узлы (называемые процессорами интерфейса
сообщений (IMP)), которые предназначены только для обработки
сообщений.
потока
Когда UNIX системы стали широко использоваться, было признана необходимость
информационного обмена между различными UNIX машинами, для чего была
написана программа uucp (Unix-to-Unix CoPy). С помощью этой программы можно
обмениваться файлами по телефонным каналам и сетям с пользователями UNIX –
эта программа дала название быстрорастущим UUCP сетям. Также другая большая
сеть, BITNET, была разработана в восьмидесятые, так как ARPANET принадлежала
министерству обороны и только несколько организаций могли к ней подключаться.
Сегодня все эти сети соединены между собой с помощью узлов, которые
принадлежат двум сетям (называемые шлюзами) и позволяющих обмениваться
информацией узлам различных сетей. Введение унифицированного адресного
пространства превратило все сети в одну виртуальную сеть, известную как Internet.
Алгоритмические проблемы и проблемы организации. Глобальные сети
всегда организованы как сети типа точка-точка. Это означает, что коммуникация
между парой узлов осуществляется при помощи механизма особенного по
отношению к этим двум узлам. Такой механизм может быть телефонной линией,
оптоволокном или спутниковой связью и т.д. Структура соединений в сетях точкаточка может быть хорошо изображена, если нарисовать каждый узел как
окружность и связи между ними как линии, если линия коммуникация существует
между этими двумя узлами, см. рис. 1.1. Говоря техническим языком, структура
представляется графом, грани которого представляют собой линии коммуникации в
сети.
Рис. 1.1 Пример сети точка-точка
Основное назначение глобальных сетей – это обмен информацией,
например, в форме электронной почты, досок объявлений, и удаленных файлов.
Разработка приемлемой системы коммуникации для этих целей требует решения
следующих проблем, таких как:
Надежность обмена данными по типу точка-точка. Два узла соединенные
линией, обмениваются данными по этой линии, но они должны как-то справляться с
потенциальной ненадежностью линии. Из-за атмосферных явлений, падения
напряжения и других физических обстоятельств, сообщение, посланное через
линию может быть получено с частично искаженным или даже утерянным. Эти
нарушения
при
передаче
должен
быть
распознаны
и
исправлены.
Эта проблема встречается не только для двух напрямую соединенных
узлов, но также для узлов, не соединенных напрямую, а связанных посредством
промежуточных узлов. В этом случае проблема даже более сложна, потому что ко
всему прочему сообщения могут доставляться в порядке, отличном от того, в
котором они были посланы, а также сообщения могут прибывать с большим
опозданием или продублированные.
Выбор путей коммуникации.. В сети точка-точка обычно слишком дорого
обеспечивать связь между каждой парой узлов. Следовательно, некоторые пары
узлов должны положиться на другие узлы для того, чтобы взаимодействовать.
Проблема маршрутизации касается выбора пути (или путей) между узлами, которые
хотят взаимодействовать. Алгоритм, используемый для выбора пути, связан со
схемой, по которой узлы именуются, т.е. форматом адреса, который узел должен
использовать,
чтобы
послать
сообщение
другому
узлу.
Выбор
пути
в
промежуточных узлах производится с использованием адреса, и выбор может быть
сделан эффективно, если в адресе кодируется в адресах.
Контроль перегрузок. Пропускная способность коммутируемой сети может сильно
падать, если много сообщений передается одновременно. Поэтому генерирование
сообщений различными узлами должно управляться и должно зависеть от
свободных мощностей сети.
Предотвращение тупиков. Сети типа точка-точка иногда называются сетями типа
сохранить-и-передать, потому что сообщение, которое посылается через
несколько промежуточных узлов должно сохраняться в каждом из этих узлов, а
затем передаться к следующему узлу. Так как пространство памяти, доступное для
этой цели в промежуточных узлах ограничено, то память должна тщательно
управляться для того, чтобы предотвратить тупиковые ситуации. В таких ситуациях
существует набор сообщений, ни одно из которых не может быть отфорвардено,
потому что память следующего узла в маршруте полностью занято другими
сообщениями.
Безопасность. Сети, соединяют компьютеры с различными пользователями,
некоторые из которых могут попытаться злоупотребить или даже испортить
системы других. Так как возможно зарегистрироваться в компьютерной системе из
любой точки мира,
то требуются надежные методы для аутентификации
пользователей, криптографические методы, сканирование входящей информации.
Криптографические методы могут быть использованы, чтобы шифровать данные
для безопасности от несанкционированного чтения и чтобы ставить электронные
подписи против несанкционированного написания.
4. Локальные сети
Локальная сеть используется организацией для соединения набора компьютеров,
которые ей принадлежат. Обычно, основное назначение этих компьютеров
заключается в разделении ресурсов (как файлов, так и аппаратной перефирии) и для
облегчения обмена информацией между сотрудниками. Иногда сети также
используются для повышения скорости вычислений (перекладыванием задач на
другие узлы) и чтобы позволить некоторым узлам быть для других запасными в
случае их повреждения.
Конфигурация сети
В
зависимости
обмениваются
от
размещения
данными,
сети
компьютеров
можно
одноранговые и на основе сервера.
и
разделить
способа,
на
две
которым
категории
они
—
Основные понятия
Все сети имеют некоторые общие компоненты, функции и характеристики. В
их числе:

серверы
(servers)
—
компьютеры,
—
компьютеры,
чьи
ресурсы
доступны
сетевым
пользователям;

клиенты
(clients)
которые
осуществляют
доступ
к
сетевым ресурсам, предоставляемым серверами;

среда передачи (media) — способ соединения компьютеров;

совместно используемые данные — файлы, предоставляемые серверами
по сети,

совместно
используемые
периферийные
устройства,
например
принтеры, библиотеки CD-ROM и т д., — ресурсы, предоставляемые
серверами;

ресурсы
—
файлы,
периферийные
устройства
и
другие
элементы,
используемые в сети.
Между
различия,
этими
именно
двумя
ими
типами
сетей
предопределены
существуют
разные
принципиальные
возможности
этих
сетей.
Выбор типа сети зависит от многих факторов:

размера предприятия;

требуемой степени безопасности;

вида бизнеса;

доступности административной поддержки;

объема сетевого трафика;

потребностей сетевых пользователей;

уровня финансирования.
Одноранговые сети
В одноранговой сети все компьютеры равноправны: нет иерархии среди
компьютеров
и
нет
выделенного
(dedicated)
сервера.
Обычно
каждый
компьютер функционирует и как клиент, и как сервер — иначе говоря, нет
компьютера,
ответственного
за
всю
сеть.
Пользователи
сами
решают,
какие данные на своем компьютере сделать доступными в сети.
Рис 10 Одноранговая сеть
Сети на основе сервера
Если к одноранговой сети, где компьютеры выступают в роли и клиентов,
и серверов, подключить более 10 пользователей, она может не справиться
с объемом работы. Поэтому большинство сетей имеют другую конфигурацию
— они работают на основе выделенного сервера. Выделенным называется
такой
сервер,
который
функционирует
только
как
сервер
и
не
используется в качестве клиента или рабочей станции. Он оптимизирован
для
быстрой
обработки
запросов
от
сетевых
клиентов
и
обеспечивает
защиту файлов и каталогов. Сети на основе сервера стали промышленным
стандартом.
Рис.11 Сеть на основе сервера
При
росте
размеров
сети
и
объема
сетевого
трафика
необходимо
увеличивать количество серверов. Распределение задач между несколькими
серверами гарантирует, что каждая задача будет выполняться наиболее
эффективно.
Специализированные серверы
Круг задач, которые должны выполнять серверы, многообразен и сложен.
Для того чтобы серверы отвечали современным требованиям пользователей,
в больших сетях их делают специализированными (specialized). В больших
сетях могут работать различные типы серверов (рис.).
Серверы файлов и печати
Серверы
файлов
и
печати
управляют
доступом
пользователей
соответственно к файлам и принтерам. Так, чтобы работать с текстовым
процессором, Вам прежде всего надо запустить его на своем компьютере.
Документ
текстового
процессора,
хранящийся
на
сервере
файлов,
загружается в память вашего компьютера, и теперь Вы можете работать с
этим документом на своем компьютере. Другими словами, сервер файлов
предназначен для хранения данных.
Серверы прикладных программ
На серверах прикладных программ выполняются прикладные части клиентсерверных
программ,
а
также
хранятся
данные,
доступные
клиентам.
Например, чтобы ускорить поиск данных, серверы хранят большие объемы
информации в структурированном виде. Серверы этого типа отличаются от
серверов
файлов
и
печати.
В
последних
файл
или
данные
целиком
копируются на запрашивающий компьютер. А в сервере прикладных программ
на
клиентский
компьютер
пересылаются
только
результаты
запроса.
Прикладная программа-клиент на удаленном компьютере получает доступ к
данным,
всей
сохраняемым
базы
на
данных,
на
сервере
Ваш
прикладных
компьютер
с
программ.
сервера
Однако,
вместо
загружаются
только
результаты запроса. Например, список только тех, кто родился в ноябре,
а не полный перечень сотрудников.
Почтовые серверы
Почтовые серверы управляют передачей сообщений электронной почты между
пользователями сети.
Серверы факсов
Серверы
факсов
регулируют
потоки
входящих
и
исходящих
факсимильных
сообщений через один или несколько факс-модемов.
Коммуникационные серверы
Коммуникационные серверы (серверы связи) управляют проходящим через
модем и телефонную линию потоком данных и почтовых сообщений между
своей
сетью
и
другими
сетями,
мэйнфреймами
или
удаленными
пользователями.
Серверы служб каталога
Каталог (directory) содержит данные о структуре сети, что помогает
пользователям
Некоторые
находить,
серверные
логические
группы
обеспечивает
сохранять
операционные
—
домены
различным
и
защищать
системы
(domains),
пользователям
информацию
объединяют
система
неодинаковые
в
сети.
компьютеры
защиты
права
в
которых
доступа
к
сетевым ресурсам.
В большой сети применение серверов разных типов требует особого
внимания.
Необходимо
учитывать
все
возможные
нюансы,
которые
могут
проявиться при разрастании сети. Иначе, изменив специализацию какоголибо сервера в дальнейшем, Вы рискуете нарушить работу всей сети.
Рис.12 Специализированные серверы
Значение программного обеспечения
Сервер
и
сетевая
операционная
система
работают
как
единое
целое.
Однако без ОС даже самый мощный сервер представляет собой лишь груду
железа.
Именно
ОС
позволяет
реализовать
весь
потенциал
аппаратных
ресурсов сервера, а разработчиков некоторых ОС типа Microsoft и Novell
специально
ориентируют
на
использование
самых
передовых
серверных
технологий.
Резюме
Существуют два типа сетей, различающихся способом обмена информацией,
— одноранговые сети и сети на основе сервера.
В одноранговой сети все компьютеры равноправны. Они могут использовать
как свои ресурсы, так и ресурсы других компьютеров.
В
сети
на
основе
сервера
установлен
один
или
несколько
серверов,
предоставляющих свои ресурсы в общее пользование. Остальные компьютеры
сети являются клиентами.
2. Локальна мережа. Глобальна мережа Internet. Мережа ISDN
Топология сети
Топология (topology), или «топология сети», — это стандартный термин, который используется
профессионалами при описании базовой схемы сети. Он обозначает физическое расположение
компьютеров, кабелей и других сетевых компонентов. Кроме этого термина для описания
физической компоновки сети употребляют также следующие:

физическое расположение;

компоновка;

карта;

схема.
Характеристики сети зависят от типа устанавливаемой топологии. В частности, выбор той или
иной топологии влияет на:

состав необходимого сетевого оборудования;

возможности сетевого оборудования; ,

возможности расширения сети;

способ управления сетью.
Чтобы совместно использовать ресурсы или выполнять другие сетевые задачи, компьютеры
должны быть подключены друг к другу. Для этой цели в большинстве сетей применяется кабель.
Однако просто подключить компьютер к кабелю, соединяющему другие компьютеры,
недостаточно. Различные типы кабелей в сочетании с различными сетевыми платами, сетевыми
ОС и другими компонентами требуют и различных методов Реализации.
Кроме того, при установке каждой топологии сети надо выполнить ряд условий. Например,
требуется не только применить конкретный тип кабеля, но и проложить его особым образом.
Топология также определяет способ взаимодействия компьютеров в сети. Различным видам
топологий соответствуют различные методы взаимодействия, и они сильно влияют на работу сети.
Базовые топологии
Все сети строятся на основе четырех базовых топологий, известных как:

«шина» (bus);

«звезда» (star);

«кольцо» (ring);

ячеистая (mesh).
Топология «Шина»
Рис. 14 Сеть с топологией «шина»
Топологию «шина» часто называют «линейной шиной» (linear bus). В ней используется один
кабель, именуемый магистралью, к которому подключены все компьютеры сети. Этот вид
топологии считается наиболее простым и весьма распространен.
Топология «Звезда»
При топологии «звезда» все компьютеры с помощью сегментов кабеля подключаются к
центральному компоненту — концентратору (hub). Сигналы от передающего компьютера
поступают через концентратор ко всем остальным. Эта топология возникла на начальном этапе
развития вычислительной техники, когда компьютеры подключались к центральному, главному,
компьютеру.
Рис.20 Сеть с топологией «звезда»
В сетях такого типа компьютеры к сети подключаются централизованно. Но есть и
недостатки: для больших сетей требуется много кабеля. К тому же, если центральный компонент
выйдет из строя, остановится вся сеть.
А если засбоит только один компьютер (или кабель, соединяющий его с концентратором),
то лишь он не сможет передавать или принимать данные по сети. На остальные компьютеры в
сети этот сбой не повлияет.
Топология «Кольцо»
При топологии «кольцо» компьютеры подключаются к кабелю, замкнутому в кольцо. Поэтому у
кабеля просто нет свободного конца, на который надо поставить терминатор. Сигналы передаются
по кольцу в одном направлении и проходят через каждый компьютер. В отличие от пассивной
топологии «шина», здесь каждый компьютер выступает в роли повторителя, усиливая сигналы и
передавая их следующему компьютеру. Поэтому, если выйдет из строя один компьютер,
прекращает действовать вся сеть.
Примечание Физическая топология сети зависит от того, как проложен кабель. Логическая
топология сети зависит от пути сигнала по кабелю.
Рис.21 Сеть с топологией «кольцо»
Ячеистая топология
Сеть с ячеистой топологией обладает высокой избыточностью и надежностью, так как каждый
компьютер в такой сети соединен с любым другим отдельным кабелем. Сигнал от компьютераотправителя до компьютера-получателя может проходить по разным маршрутам, поэтому разрыв
кабеля не сказывается на работоспособности сети. Основной недостаток такой топологии —
большие затраты на прокладку кабеля, что компенсируется высокой надежностью и простотой
обслуживания. Ячеистая топология как правило применяется в комбинации с остальными
топологиями при построении относительно больших сетей.
Рис. 23 В сети с ячеистой топологией каждый компьютер соединен с любым другим отдельным
кабелем
Комбинированные топологии
Сегодня при построении сети все чаще используются комбинированные топологии, которые
сочетают отдельные свойства «шины», «звезды», «кольца» и ячеистой топологии.
«Звезда»—«шина»
«Звезда»—«шина» (star-bus) — это, как Вы понимаете, комбинация топологий «шина» и «звезда».
Обычно схема выглядит так: несколько сетей с топологией «звезда» объединяются при помощи
магистральной линейной шины.
В этом случае выход из строя одного компьютера не сказывается на работе всей сети остальные компьютеры по-прежнему будут взаимодействовать друг с другом. А сбой в работе
концентратора влечет за собой отсоединение от сети только подключенных к нему компьютеров и
концентраторов.
Рис.27 Сеть с топологией «звезда»—«шина»
«Звезда»—«кольцо»
«Звезда»—«кольцо» (star-ring) несколько похожа на «звезду»—«шину». И в той и в другой
топологиях компьютеры подключаются к концентраторам. Отличие состоит в том, что
концентраторы в «звезде»—«шине» соединены магистральной линейной шиной, а в «звезде»—
«кольце» все концентраторы подключены к главному концентратору, образуя «звезду». «Кольцо»
же реализуется внутри главного концентратора.
Рис. 28 Сеть с топологией «звезда»—«кольцо»
Одноранговые сети
Одноранговые сети зачастую строят, используя физическую топологию «звезда» или «шина».
Однако, физическая топология в данном случае не совпадает с логической, потому что все
компьютеры в сети равноправны (работают и клиентами, и серверами).
Рис.29 Логическая топология одноранговой сети
Резюме

Физическое расположение компьютеров в сети называется топологией.

Все сети строятся на основе четырех базовых топологий — «звезда», «шина», «кольцо» и
ячеистая топология.

Топология бывает физической (отражает расположение компьютеров) и логической
(отражает принцип работы).

В топологии «шина» используется один кабель, к которому подключены все компьютеры
сети.

При использовании топологии «шина» на свободных концах кабеля необходимо
устанавливать терминаторы.

При топологии «звезда» каждый компьютер подключается к центральному компоненту —
концентратору.

При ячеистой топологии каждый компьютер соединен с любым другим отдельным
кабелем.

При топологии «кольцо» физически компьютеры соединены по типу «звезды», а логически
— по типу «кольца». Данные передаются от одного компьютера к другому по кругу.

Чтобы централизованно управлять сетевым трафиком и легко локализовать проблемы,
используют концентраторы. Разрыв кабеля не вызовет «падение» сети.
2.11. 5. Передача данных по сети
На первый взгляд может показаться, что данные состоят из непрерывного потока нулей и единиц.
На самом деле они разбиваются на маленькие управляемые блоки - пакеты, содержащие всю
необходимую для их передачи информацию.
Функции пакетов
Данные обычно содержатся в больших по размерам файлах. Однако сети не будут нормально
работать, если компьютер посылает этот блок данных целиком. На рис. изображен компьютер,
передающий большой объем данных. В это время другие компьютеры вынуждены ждать,
раздражая задержкой пользователей. Это уже не совместное, а монопольное использование
ресурсов сети. Существует две причины, замедляющие работу сети при передаче по кабелю
больших блоков данных.

Во-первых, такой блок, посылаемый одним компьютером, заполняет кабель и «связывает»
работу всей сети, препятствуя взаимодействию остальных сетевых компонентов.

Во-вторых, возникновение ошибок при передаче крупных блоков приведет к повторной
передаче всего блока. А если поврежден небольшой блок данных, то повторно придется
передать только его, что значительно экономит время.
Рис.34 Большие блоки данных замедляют работу сети
Чтобы быстро, не тратя времени на ожидание, передавать данные по сети, надо разбить их
на небольшие управляемые блоки. Эти блоки называются пакетами или кадрами. Хотя термины
«пакет» и «кадр» синонимичны, они обозначают не полностью одинаковые объекты. Существуют
различия между типами сети, которые эти термины отражают. На этом занятии под термином
«пакет» подразумевается единица информации, передаваемая как единое целое между
устройствами сети.
Примечание Устройство — это подсистема компьютера: принтеры, последовательные порты и
дисковые накопители. Каждая такая подсистема управляется программой, которая называется
драйвером устройства. Пакет — основная единица информации в компьютерных сетях. При
разбиении данных на пакеты скорость их передачи возрастает настолько, что каждый компьютер в
сети получает возможность принимать и передавать данные практически одновременно с
остальными
компьютерами.
На
целевом
компьютере
(компьютере-получателе)
пакеты
накапливаются и выстраиваются в определенном порядке для восстановления исходного вида
данных.
Рис. 35 Разбиение данных на пакеты
При разбиении данных на пакеты сетевая операционная система добавляет к каждому пакету
специальную управляющую информацию. Она обеспечивает:

передачу исходных данных небольшими блоками;

сбор данных в определенном порядке (при их получении);

проверку данных на наличие ошибок (после сборки).
Структура пакета
Пакеты могут содержать несколько типов данных:

информацию (например, сообщения или файлы);

определенные виды данных и команд, управляющих компьютером (например, запросы к
службам);

коды управления сеансом (например, запрос на повторную передачу для исправления
ошибки).
Основные компоненты
Некоторые компоненты являются обязательными для всех типов пакетов:

адрес источника (source), идентифицирующий компьютер-отправитель;

передаваемые данные;

адрес получателя (destination), идентифицирующий компьютер-получатель;

инструкции сетевым компонентам о дальнейшем маршруте данных;

информация компьютеру-получателю о том, как объединить передаваемый пакет с
остальными, чтобы получить данные в исходном виде;

информация для проверки ошибок, обеспечивающая корректность передачи.
Компоненты пакета группируются по трем разделам: заголовок, данные и трейлер.
Рис.36 Компоненты пакета
Заголовок
Заголовок включает:

сигнал, свидетельствующий о том, что передается пакет;

адрес источника;

адрес получателя;

информацию, синхронизирующую передачу.
Данные
Эта часть пакета — собственно передаваемые данные. В зависимости от типа сети ее размер
может меняться. Но для большинства сетей он составляет от 512 байт (0,5 кб) до 4 кб.
Размер исходных данных обычно превышает 4 кб, поэтому для помещения в пакет их
необходимо разбивать на меньшие блоки. При передаче объемного файла требуется много
пакетов.
Трейлер
Содержимое трейлера зависит от метода связи, или протокола. Впрочем, чаще всего трейлер
содержит информацию для проверки ошибок, называемую циклическим избыточным кодом
(Cyclical Redundancy Check, CRC). CRC — это число, получаемое в результате математических
преобразований данных пакета и исходной информации. Когда пакет достигает места назначения,
эти преобразования повторяются. Если результат совпадает с CRC — пакет принят без ошибок. В
противном случае при передаче данные изменились, поэтому необходимо повторить передачу
пакета.
Протокол — это набор правил или стандартов для осуществления связи и обмена информацией
между компьютерами.
Формат и размер пакета зависят от типа сети. А максимальный размер пакета определяет, в
свою очередь, количество пакетов, которое будет создано сетевой операционной системой для
передачи большого блока данных.
Передача данных по сети

Данные не пересылаются по сети непрерывным потоком. Они разбиваются на маленькие
управляемые пакеты, которые обеспечивают своевременное взаимодействие сетевых
компонентов.


Все пакеты содержат следующие обязательные компоненты:

адрес источника;

данные;

адрес места назначения;
Каждый пакет состоит из трех разделов:
 заголовка
(содержащего
адрес
источника,
адрес
приемника
и
информацию,
синхронизирующую передачу);

данных;

трейлера (содержащего информацию для проверки ошибок).
2.1. Сетевая связь
Работа сети заключается в передаче данных от одного компьютера к другому. В этом процессе
можно выделить следующие задачи:

распознавание данных;

разбиение данных на управляемые блоки;

добавление информации к каждому блоку, чтобы:

задать местонахождение данных;

указать получателя;

добавление информации для синхронизации и для проверки ошибок;

помещение данных в сеть и отправка их по заданному адресу.
Сетевое клиентское ПО работает на разных уровнях на принимающем и отправляющем
компьютерах. Каждый из этих уровней управляется одним или несколькими протоколами. Эти
протоколы, или правила поведения, представляют собой стандартную спецификацию по
форматированию и передаче данных. Когда отправитель и получатель работают по одинаковым
протоколам, взаимосвязь гарантирована. Из-за слоеной структуры набор протоколов часто
называется протокольным стеком (protocol stack).
Со стремительным расширением ассортимента сетевого программного и аппаратного
обеспечения возникла необходимость в стандартных протоколах, чтобы продукция разных
поставщиков могла взаимодействовать друг с другом. Для этого были разработаны два основных
стандарта: модель OSI и ее модификация, называемая Project 802.
Для изучения технической стороны функционирования сетей необходимо иметь четкое
представление об этих моделях.
2.2. Эталонная модель OSI (Ореп System Interconnection, OSI).
В 1978 г. International Standards Organization (ISO) выпустила набор спецификаций, описывающих
архитектуру сети с неоднородными устройствами. Исходный документ относился к открытым
системам, чтобы все они могли использовать одинаковые протоколы и стандарты для обмена
информацией.
Модель OSI — широко распространенный метод описания сетевых сред. Производители
твердо придерживаются ее при проектировании сетевых продуктов. Будучи многоуровневой
системой, она отражает взаимодействие программного и аппаратного обеспечения при
осуществлении сеанса связи, а также помогает решить разнообразные проблемы.
2.2.1. Многоуровневая архитектура
В модели OSI сетевые функции распределены между семью уровнями. Каждому уровню
соответствуют различные сетевые операции, оборудование и протоколы. На рис. показана
многоуровневая архитектура модели OSI. На каждом уровне выполняются определенные сетевые
функции, которые взаимодействуют с функциями соседних уровней, лежащих выше и ниже.
Например, Сеансовый уровень должен взаимодействовать только с Представительским и
Транспортным уровнями и т. д. Все эти функции подробно описаны.
7. Прикладной уровень
6. Представительский уровень
5. Сеансовый уровень
4. Транспортный уровень
3. Сетевой уровень
2. Канальный уровень
1. Физический уровень
Рис.1. Семь уровней модели OSI
Каждый уровень предоставляет несколько возможностей (или операций) для подготовки
данных для доставки по сети на другой компьютер. Нижние уровни — 1-й и 2-й — определяют
физическую среду передачи данных и сопутствующие задачи (такие, как передача бит данных
через плату сетевого адаптера и кабель). Самые верхние уровни определяют, каким способом
осуществляется доступ прикладных программ к услугам связи. Чем выше уровень, тем более
сложную задачу он решает.
Уровни отделяются друг от друга границами — интерфейсами. Все запросы от одного
уровня к другому передаются через интерфейс. Каждый уровень при выполнении своих функций
использует услуги нижележащего уровня.
2.2.2. Взаимодействие уровней модели OSI
Задача каждого уровня — предоставить услуги вышележащему уровню, «маскируя» детали
реализации этих услуг. При этом каждый уровень на компьютере-отправителе работает так, будто
он напрямую связан с таким же уровнем на компьютере-получателе. Эта логическая, или
виртуальная, связь между одинаковыми уровнями показана на рис.. Однако в действительности
связь осуществляется между смежными уровнями одного компьютера — программное
обеспечение каждого уровня реализует определенные сетевые функции в соответствии с набором
протоколов.
Рис2. Взаимосвязи между уровнями модели OSI
Перед отправкой в сеть данные разбиваются на пакеты, передаваемые между устройствами
сети как единое целое. Пакет проходит последовательно через все уровни программного
обеспечения. На каждом уровне к пакету добавляется некоторая информация, форматирующая или
адресная, которая необходима для успешной передачи данных по сети.
На принимающей стороне пакет проходит через все уровни в обратном порядке.
Программное обеспечение на каждом уровне читает информацию пакета, затем удаляет
информацию, добавленную к пакету на этом же уровне отправляющей стороной, и передает пакет
следующему уровню. Когда пакет дойдет до Прикладного уровня, вся адресная информация будет
удалена и данные примут свой первоначальный вид.
Таким образом, за исключением самого нижнего уровня сетевой модели, никакой иной
уровень не может непосредственно послать информацию соответствующему уровню другого
компьютера. Информация на компьютере-отправителе должна пройти через все уровни. Затем она
передается по сетевому кабелю на компьютер-получатель и опять проходит сквозь все слои, пока
не достигнет того на компьютере-отправителе, с которого она была послана.
2.3. Пакеты и модель OSI
Пакеты с данными собираются и разбираются в соответствии с моделью OSI. Процесс
формирования пакета начинается на Прикладном уровне модели OSI, то есть там, где
«рождаются» данные. Информация, которую надо переслать по сети, проходит сверху вниз все 7
уровней, начиная с Прикладного.
На каждом уровне компьютера-отправителя к блоку данных добавляется информация,
предназначенная для соответствующего уровня компьютера-получателя. Например, информация,
добавленная на Канальном уровне компьютера-отправителя, будет прочитана Канальным уровнем
компьютера-получателя. На рис. показана сборка пакета на станции-отправителе и разборка его на
станции-получателе.
Транспортный уровень
Рис4. Порядок сборки и разборки пакета
Транспортный уровень разбивает исходный блок данных на пакеты. Структур пакетов
определяется протоколом, который используют два компьютера — получатель и отправитель. На
Транспортном уровне, кроме того, к пакету добавляется информация, которая помогает
компьютеру-получателю восстановить исходные данные из «случайной» последовательности
пакетов.
Когда, завершив свой путь к кабелю, пакет проходит Физический уровень, он держит
информацию всех остальных шести уровней.
Адресация пакета
Большинство пакетов в сети адресуется конкретному компьютеру, и, как результат, только он
один реагирует на них. Каждая плата сетевого адаптера «видит» все пакеты передаваемые по
сегменту кабеля, но только при совпадении адреса пакета с адресом компьютера она прерывает
его работу. Используется также широковещательная адресация (broadcast addressing): на пакет с
таким типом адреса одновременно реагирует множество компьютеров в сети.
Крупномасштабные сети, охватывающие огромные территории (или государства),
способны передавать данные по нескольким маршрутам. Наилучший из них определяют
коммутирующие и соединяющие сетевые компоненты, используя адресную информацию пакетов.
Рассылка пакетов
Сетевые компоненты используют адресную информацию пакетов и для других целей, в частности,
чтобы направлять пакеты к месту назначения и не пропускать их в другие области сети. В
правильной рассылке пакетов ключевую роль играют две функции:

продвижение (forwarding) пакетов — компьютер отправляет пакет на следующий
подходящий сетевой компонент, учитывая адрес из заголовка пакета;

фильтрование (filtering) пакетов — компьютер отбирает определенные пакеты на основе
некоторых критериев, например адреса.
2.4. Уровни OSI и Windows 200х
Производители сетей используют эталонную модель OSI при разработке своих продуктов. Когда
каждый следует этой модели, повышается вероятность того, что разные системы смогут
взаимодействовать. Однако на самом деле многие продукты были созданы до того, как модель
стала общепризнанным стандартом, а значит, они не могут точно соответствовать модели. Для
того что бы продемонстрировать, как модель OSI адаптируется к конкретной сетевой ОС, мы
расскажем, как Windows 200х соответствует модели.
Для упрощения модели Windows 200ж сокращает количество уровней с семи до трех:
драйверы файловой системы, транспортные протоколы и драйверы плат сетевого адаптера. На рис.
показано, как эти группы соотносятся с OSI.
Эталонная модель OSI
Сетевая архитектура Windows 2000
Прикладной уровень
Представительский уровень
Драйверы файловой системы
Сеансовый уровень
Транспортный уровень
Сетевой уровень
Канальный уровень
Физический уровень
Транспортные протоколы
Драйверы сетевых плат
Рис.5. Соотношение OSI с архитектурой Win 200ж
Windows 200х использует драйверы для обеспечения взаимодействия ОС и сети Драйвер —
это предназначенная для конкретного устройства программа, позволяющая компьютеру работать с
этим устройством, таким, как принтер или диск. Каждый раз при установке нового оборудования
— принтера, звуковой или сетевой платы, Вам необходимо установить драйверы для работы с
этим устройством.
Драйверы файловой системы
Драйверы файловой системы работают на Прикладном, Представительском и Сеансовом уровне
модели OSI. Когда они обнаруживают, что прикладная программа запрашивает ресурсы удаленной
системы, то перенаправляют запрос соответствующей системе. Драйверами являются файловая
система Windows 200х (NTFS), таблица размещения файлов (FAT) и прикладные программыслужбы (services) установленные на Windows 2000 Server и Windows 2000 Workstation.
Транспортные протоколы
Транспортные протоколы работают на Транспортном и Сетевом уровнях модели OSI. Они
отвечают за добавление к данным программной адресной информации и за надежность передачи.
Транспортные протоколы привязаны к плате сетевого адаптера. Во время установки и настройки
Windows NT обязательно привязывайте эти протоколы к определенной сетевой плате.
Драйверы сетевой платы
Драйверы сетевой платы работают на Канальном и Физическом уровне модели OSI. Они отвечают
за добавление к пакету данных аппаратной адресной информации и за форматирование данных
для передачи через сетевую плату и кабель. Драйверы сетевой платы не зависят от транспортных
протоколов, позволяя системам Windows NT передавать данные различным сетевым системам.
На рис.6 показано, как ПО и протоколы соотносятся с моделью OSI и с моделью Windows NT.
Эталонная модель
OSI
Сетевая
архитектура
Windows 2000
Компоненты ПО и протоколы
Прикладной уровень
Служба Server, Служба Workstation
Представительский
уровень
Сеансовый уровень
Драйверы
файловой системы Драйверы файловых систем NTFS и
FAT
Транспортный уровень
Сетевой уровень
Канальный уровень
Физический уровень
Транспортные
протоколы
NetBEUI, TCP/IP, NWLink,DLC
Трансляторы NDIS и драйверы
Драйверы сетевых
Сетевые платы (Ethernet, Token Ring,
плат
ARCnet, FDDI)
Рис.6 ПО и протоколы
2.5. Интерфейсы Windows 2000
Windows 2000 поддерживает множество различных сетевых редиректоров, транспортных
протоколов и сетевых плат, составляющих друг с другом множество комбинаций. Поэтому
насущной проблемой стало — разработать методы взаимодействия между ними. Для ее решения
Microsoft разработала общие интерфейсы — промежуточные уровни, выполняющие функции
преобразователей между каждым уровнем. Поэтому, так как любой сетевой компонент написан
для взаимодействия с промежуточными интерфейсами, его можно использовать с этой моделью.
На рис. 7 показаны три промежуточных интерфейса.
Интерфейсы программирования
Прикладные программы
Интерфейс прикладного
программирования (API)
Драйверы файловых систем и
редиректоров
Интерфейс драйверов транспорта (TDI)
Транспортные протоколы
Интерфейс NDIS 3.0
Драйверы сетевых плат
Рис. 7. Архитектура Windows 2000 с промежуточными интерфейсами
Интерфейс прикладного программирования
Интерфейс прикладного программирования (Application Programming Interfaces, API) — это набор
системных процедур, обеспечивающих программистам доступ к службам, которые предоставляет
ОС. Сетевые API Windows 2000 располагаются между пользовательскими прикладными
программами и драйверами файловых систем и редиректорами. Эти API позволяют прикладным
программам контролировать другие прикладные программы или контролироваться ими. Они
отвечают за создание сетевого соединения между отправителем и получателем. Windows 2000
поддерживает разные сетевые API.
Интерфейс драйверов транспорта
Интерфейс драйверов транспорта (Transport Driver Interfaces, TDI) работает между драйверами
файловой системы и транспортными протоколами. Он позволяет продолам, написанным с
использованием TDI, взаимодействовать с драйверами файловых систем.
Спецификация интерфейса сетевых устройств
Спецификация интерфейса сетевых устройств (Network Driver Interface Specifications, IS) работает
между транспортными протоколами и драйверами сетевых плат. Если драйвер сетевой платы
написан в стандарте NDIS, он будет взаимодействовать с транспортными протоколами.
Резюме

Модель
OSI
разделяет
сетевые
протоколы
на
семь
уровней:
Прикладной,
Представительский, Сеансовый, Транспортный, Сетевой, Канальный, Физический.

В Windows NT модель OSI сокращена до трех уровней: драйверов файловых систем,
транспортных протоколов, драйверов сетевых плат.

Сетевая модель Windows NT определяет три интерфейса для взаимодействия между этими
группами: API, TDI и NDIS.
1.
Понятие логической архитектуры сети
Стремительный рост неоднородности и масштабности современных
телекоммуникационных сетей приводит к чрезмерному усложнению технологии их
функционирования, без понимания которой невозможна организация эффективной
работы информационно-вычислительных ресурсов.
Технология же функционирования любой системы определяется ее
архитектурой, отражающей входящие в систему компоненты, их назначение и
взаимосвязи друг с другом.
Полная и детальная архитектура сложной системы тяжела для понимания. Для
снижения трудоемкости анализа такую архитектуру следует рассматривать по
разным уровням детализации.
При рассмотрении каждого такого уровня необходимо абстрагирование от
деталей реализации его компонентов, которые раскрываются на нижестоящих
уровнях.
По отношению к телекоммуникационным сетям целесообразно различать их
физическую и логическую архитектуру.
Физическая архитектура описывает структуру, назначение и взаимосвязи реализаций протоколов нижнего и среднего уровней эталонной модели сетевого
взаимодействия — протоколов физического, канального, сетевого, транспортного и
сеансового уровней (рис. 1.1).
Соответственно физическая архитектура определяется структурой, назначением и
взаимосвязями аппаратных средств телекоммуникационной сети, а также
программных реализаций протоколов нижнего и среднего уровней эталонной
модели. Для полного анализа физической архитектуры необходимо ее рассмотрение
по уровням детализации, соответствующим физическому, канальному, сетевому,
транспортному и сеансовому уровням эталонной модели сетевого взаимодействия.
Логическая архитектура описывает структуру, назначение и взаимосвязи
программных средств телекоммуникационной сети, реализующих протоколы
верхних уровней эталонной модели — протоколы уровня представления и
прикладного уровня (рис. 1.1).
Логическая архитектура отражает целостную технологию функционирования
телекоммуникационной сети и может быть детализирована посредством различных
уровней физической архитектуры.
Прикладной уровень
Уровень представления
Сеансовый уровень
Уровни
соответствующие логической
архитектуре сети
Транспортный уровень
Уровни
соответствующие
физической архитектуре сети
Сетевой уровень
Канальный уровень
Физический уровень
Рис. 1.1. Соответствие между уровнями эталонной модели и типами
архитектуры компьютерной сети
В настоящее время различают следующие разновидности логической архитектуры
компьютерных сетей:
· одноранговая архитектура;
· классическая архитектура "клиент-сервер";
· архитектура "клиент-сервер", основанная на Web-технологии. Появление каждой
из перечисленных разновидностей сетевых архитектур связывают с отдельными
этапами эволюции вычислительных систем. Правильно выбранная архитектура
компьютерной сети позволяет достигнуть выдвинутых требований по общей
производительности, надежности защиты сетевых ресурсов, гибкости настройки
сети, а также минимизации денежных затрат на ее построение и
администрирование.
Первые вычислительные системы и одноранговая архитектура
Первый этап эволюции вычислительных систем, соответствующий пятидесятым,
шестидесятым и семидесятым годам двадцатого века, относится
к началу использования компьютеров после изобретения первой электронновычислительной машины (ЭВМ).
Каждая вычислительная система того времени была основана, как правило, на
использовании одного многопользовательского компьютера, так как персональные
компьютеры еще не появились. Архитектура таких вычислительных систем,
функционирующих в автономном режиме, была централизованной, когда к одному
центральному компьютеру подсоединялись алфавитно-цифровые терминалы (рис.
1.2).
Если компьютеры объединялись линиями связи в сеть, то такая сеть имела
одноранговую архитектуру, при которой отсутствовали компьютеры, полностью
предоставляющие свои ресурсы в общее пользование для других компьютеров сети.
Таким образом, централизованная архитектура относится к автономной вычислительной системе, основанной на использовании одного многопользовательского компьютера, а одноранговая архитектура — к компьютерной сети,
состоящей из ЭВМ одного ранга, когда отсутствуют компьютеры, полностью
предоставляющие свои ресурсы в общее пользование.
Рис. 1.2. Архитектура первых вычислительных систем
Все ресурсы вычислительной системы при централизованной архитектуре, включая
информацию, были сконцентрированы в центральной ЭВМ, называемой еще
мэйнфреймом (main frame — центральный блок ЭВМ). В качестве основных средств
доступа к информационно-компьютерным ресурсам использовались алфавитноцифровые терминалы, которые соединялись с центральной ЭВМ кабелем.
Поскольку терминал — устройство простое, не требовалось никаких специальных
действий со стороны конечного пользователя по настройке и конфигурированию
программного обеспечения в виду его отсутствия на терминале. Управление
терминалами осуществлялось централизованно с компьютера. Все терминалы были
однотипными.
Следовательно, гарантировалось, что программа, запущенная на компьютере,
будет работать со всеми терминалами одинаково.
Основным достоинством централизованной архитектуры с точки зрения обеспечения безопасности хранения и обработки данных является относительная
простота построения и администрирования системы защиты информации. Эта
относительная простота определяется концентрацией компьютерных ресурсов в
одном месте. Ведь защита любых объектов, находящихся в одной точке,
реализуется намного проще, чем в случае их территориального распределения.
Наряду с достоинствами первые вычислительные системы обладали рядом недостатков, связанных с отсутствием гибкости этих систем, неудобством их использования конечными пользователями, а также дороговизной обслуживания. В
то время как вычислительные системы с описанной централизованной
архитектурой выходят из употребления, одноранговые сети из-за своей дешевизны
используются широко. Однако в настоящее время они, как правило, объединяют не
многопользовательские ЭВМ, а персональные компьютеры. При этом главным
признаком одноранговой сети по-прежнему является отсутствие компьютеров,
полностью предоставляющих свои ресурсы в общее пользование.
К существенным недостаткам одноранговых сетей можно отнести их низкую
безопасность, невысокую производительность и сложность администрирования.
Кроме того, при увеличении количества узлов сети эти показатели постепенно
ухудшаются. Поэтому одноранговую сетевую архитектуру целесообразно
использовать при небольшом количестве объединяемых компьютеров и невысоких
требованиях по безопасности и производительности обработки данных.
2.
Классическая архитектура "клиент-сервер"
Недостатки, свойственные первым вычислительным системам с централизованной
архитектурой, а также одноранговым компьютерным сетям, устраняются при
построении вычислительных систем по архитектуре "клиент-сервер". Эта
архитектура появилась на втором этапе эволюции компьютерных технологий,
наступившем в восьмидесятых годах двадцатого века. Особенности данного этапа
состоят в децентрализации архитектуры автономных вычислительных систем и их
объединении в глобальные компьютерные сети. Децентрализация архитектуры
первых вычислительных систем стала возможной в связи с появлением
персональных компьютеров, к которым мигрировала часть функций центральных
ЭВМ. В результате появилась возможность создавать распределенные локальные и
глобальные вычислительные системы, объединяющие персональные компьютеры и
компьютеры, полностью предоставляющие свои ресурсы в общее пользование для
других компьютеров сети. Компьютеры, предоставляющие те или иные общие
ресурсы, были названы серверами, а компьютеры, использующие общие ресурсы,
— клиентами. Соответственно архитектуру таких распределенных вычислительных
систем стали называть архитектурой "клиент-сервер" (рис. 1.3). Персональные
компьютеры, исполняющие роль клиентов, называют еще рабочими станциями
сети.
|
Рис. 1.3. Типовая архитектура "клиент-сервер"
Конкретный сервер характеризуется видом ресурса, которым он владеет.
Так, если ресурсом является только база данных, то речь идет о сервере базы
данных, назначение которого — обслуживать запросы клиентов, связанные с
обработкой данных; если ресурс — это файловая система, то говорят о файловом
сервере или файл-сервере. В настоящее время серверы, как правило, выделяют в
общее пользование комплекс ресурсов — базы данных, файловые системы,
различные сервисы, предоставляемые выполняемыми на сервере программами, а
также внешние устройства, например, принтеры.
Различают несколько моделей архитектуры "клиент-сервер", каждая из которых
отражает соответствующее распределение компонентов программного обеспечения
между компьютерами сети. Распределяемые программные компоненты выделяют
по функциональному признаку. Функции любого программного обеспечения могут
быть разделены на три группы:
· функции ввода и отображения данных;
· прикладные функции, характерные для предметной области прикладные
программы;
· функции накопления информации и управления данными (базами данных,
файлами).
Соответственно любое программное обеспечение можно представить как,
структуру из трех компонентов:
· компонент представления, реализующий интерфейс с пользователем;
· прикладной компонент, обеспечивающий выполнение прикладных
функций;
· компонент доступа к информационным ресурсам или менеджер ресурсов,
выполняющий накопление информации и управление данными. Различают
следующие модели архитектуры "клиент-сервер", соответствующие
нижеприведенным типам распределения перечисленных компонентов между
рабочей станцией и сервером сети:
· на сервере расположены только данные (рис. 1.4);
· кроме данных на сервере расположен менеджер информационных ресурсов,
например, система управления базой данных (СУБД) (рис. 1.5);
· на сервере сконцентрированы как данные и менеджер ресурсов, так и прикладной
компонент (рис. 1.6);
· на одном сервере расположен прикладной компонент, а на другом — данные и
менеджер ресурсов (рис. 1.7).
Рис. 1.4. Модель доступа к удаленным данным
Модель архитектуры "клиент-сервер", при которой на сервере расположены данные
(рис. 1.4), не обеспечивает высокую производительность, так как вся информация
обрабатывается на рабочих станциях, а файлы, содержащие эту информацию, для
обработки должны быть переданы по сети с сервера. Передача же по сети больших
объемов данных, возможно, избыточных, приводит к существенному снижению
общей скорости информационного обмена. Это, в свою очередь, может привести к
перегрузкам сети. По этим причинам модель доступа к удаленным данным может
использоваться только для маленьких сетей.
При использовании модели сервера управления данными на сервере, кроме самой
информации, расположен менеджер информационных ресурсов, например, система
управления базой данных (СУБД) (рис. 1.5). Компонент представления и
прикладной компонент совмещены и выполняются на компьютере-клиенте,
который поддерживает как функции ввода и отображения данных, так и чисто
прикладные функции. Доступ к информационным ресурсам обеспечивается, как
правило, операторами специального языка (например, языка SQL, если речь идет о
базах данных) или вызовами функций специализированных программных
библиотек. Запросы к информационным ресурсам направляются по сети менеджеру
ресурсов, например, серверу базы данных. Последний обрабатывает запросы и
возвращает клиенту блоки данных.
Рис. 1.5. Модель сервера управления данными
Главным преимуществом модели сервера управления данными перед моделью
доступа к удаленным данным является снижение объема информации,
передаваемой по сети, так как выборка требуемых информационных элементов из
файлов выполняется не на рабочих станциях, а на сервере. Кроме того, в настоящее
время существует множество инструментальных средств, обеспечивающих быстрое
создание прикладных программ с развитым интерфейсом, работающих с SQLориентированными СУБД. Это обеспечивает унификацию и широкий выбор
средств разработки прикладных программ. С использованием подавляющего
большинства этих средств как раз и создаются программы, в которых смешаны
прикладные функции и функции представления.
Основным недостатком модели сервера управления данными является отсутствие
четкого разграничения между компонентом представления и прикладным
компонентом, что затрудняет дальнейшее совершенствование вычислительной
системы, архитектура которой построена на основе данной модели.
Учитывая перечисленные достоинства и недостатки модели сервера управления
данными, можно сделать вывод, что эту модель целесообразно использовать при
построении вычислительных систем, ориентированных на обработку умеренных, не
увеличивающихся со временем объемов информации. При этом сложность
прикладного компонента программного обеспечения не должна быть высокой.
Модель комплексного сервера в сравнении с моделью сервера управления данными
является более технологичной. Она строится в предположении, что процесс,
выполняемый на компьютере-клиенте, ограничивается функциями представления, в
то время, как собственно прикладные функции и функции доступа к данным
выполняются сервером (рис. 1.6). Прикладные функции могут быть реализованы в
отдельных программах или в хранимых процедурах, которые называют также
процедурами базы данных. Эти процедуры хранятся в самой базе данных и
выполняются на компьютере-сервере, где функционирует и компонент,
управляющий доступом к данным, т. е. ядро СУБД.
Рис. 1.6. Модель комплексного сервера
Преимущества модели комплексного сервера перед моделью сервера управления данными очевидны: это и более высокая производительность, и более
совершенное централизованное администрирование, и, соответственно, экономия
ресурсов сети. Учитывая указанные достоинства, можно сделать вывод, что модель
комплексного сервера является оптимальной для крупных сетей, ориентированных
на обработку больших и увеличивающихся со временем объемов информации.
При существенном усложнении и увеличении ресурсоемкости прикладного
компонента для него может быть выделен отдельный сервер, называемый сервером
прикладных программ. В этом случае говорят о трехзвенной архитектуре "клиентсервер" (рис. 1.7), предполагающей наличие трех звеньев: первое звено —
компьютер-клиент, второе — сервер прикладных программ, а третье — сервер
управления данными. Архитектуру "клиент-сервер", при которой прикладной
компонент расположен на рабочей станции вместе с компонентом представления
(см. рис. 1.4 и 1.5) или на сервере вместе с менеджером ресурсов и данными (рис.
1.6), называют двухзвенной архитектурой.
В рамках сервера прикладных программ могут быть реализованы несколько
прикладных функций, каждая из которых оформляется как отдельная служба, предоставляющая некоторые услуги всем программам, которые желают и могут ими
воспользоваться. Серверов прикладных программ может быть несколько, каждый из
которых ориентирован на представление некоторого набора услуг. Любая
программа, которая пользуется ими, рассматривается как клиент - прикладная
программа. Детали реализации прикладных функций в сервере прикладных
программ полностью скрыты от клиента - прикладной программы. Запросы,
поступающие от клиентов - прикладных программ, выстраиваются в очередь к
процессу-серверу прикладных программ, который извлекает, а затем передает их
для обработки службе в соответствии с приоритетами.
Рис. 1.7. Трехзвенная архитектура "клиент-сервер"
Клиент прикладная программа трактуется более широко, чем компонент
представления. Он может поддерживать интерфейс с конечным пользователем
(тогда он является компонентом представления), может обеспечивать поступление
данных от некоторых устройств (например, датчиков), может, наконец, сам по себе
быть сервером прикладных программ. Последнее позволяет реализовать прикладную систему, содержащую серверы прикладных программ нескольких уровней.
Архитектура такой системы может выглядеть как ядро, окруженное концентрическими кольцами. Ядро состоит из серверов прикладных программ, в которых
реализованы базовые прикладные функции. Кольца символизируют наборы
серверов прикладных программ, являющихся клиентами по отношению к серверам
внутреннего уровня. Число уровней серверов прикладных программ не ограничено.
Четкое разграничение в архитектуре "клиент-сервер" программных компонентов и
рациональное распределение этих компонентов между компьютерами сети
позволяют достигнуть такого уровня гибкости, который недостижим в
одноранговой архитектуре. Благодаря этому обеспечивается высокая
эффективность использования компьютерных ресурсов, реализуются возможности
расширения и дальнейшего совершенствования вычислительной системы.
Сетевую архитектуру "клиент-сервер", появившуюся на втором этапе эволюции
компьютерных технологий, называют классической архитектурой "клиент-сервер".
Ей присущи следующие особенности:
· на сервере порождается не конечная информация, а данные, подлежащие
интерпретации компьютерами-клиентами;
· фрагменты прикладной системы распределены между компьютерами сети;
· для обмена данными между клиентами и сервером могут использоваться закрытые
протоколы, несовместимые с открытым стандартом TCP/IP, применяемом в сети
Internet;
· каждый из компьютеров сети ориентирован на выполнение только своих
локальных программ.
Последняя особенность способствует повышению информационно-компьютерной
безопасности. В случае выполнения на каждом компьютере только своих локальных
программ исключается миграция программ по сети при обработке серверами
запросов со стороны клиентов. Соответственно снижается вероятность запуска на
выполнение вредоносных программ и заражения компьютерными вирусами.
С точки зрения безопасности обработки и хранения данных архитектура "клиентсервер" обладает и рядом недостатков:
· территориальная распределенность компонентов прикладных программ и
неоднородность элементов вычислительной системы приводят к существенному
усложнению построения и администрирования системы информационнокомпьютерной безопасности;
· часть защищаемых информационных ресурсов может располагаться на
персональных компьютерах, которые характеризуются повышенной уязвимостью;
· использование для обмена данными между компьютерами сети закрытых
протоколов требует разработки уникальных средств защиты, а соответственно —
повышенных затрат;
· при потере параметров настройки программного обеспечения какого-либо
компьютера-клиента необходимо выполнение сложных процедур связывания и
согласования этого компьютера с остальной частью вычислительной системы, что
приводит к увеличению времени восстановления работоспособности компьютерной
сети при возникновении отказов.
Download