Маршрутизаторы (Router) - интеллектуальные устройства, управляющие информационным потоком на основании сетевых адресов. Могут быть как специализированными устройствами, так и реализованными на базе компьютера.
Шлюз (Gateway) - интеллектуальное устройство, реализованное, как правило, на базе компьютера со специальным программным обеспечением. Основной задачей шлюза является совместимость при использовании несовместимых протоколов при передаче информации.
"Рис. 24. Схема работы шлюза в информационной сети"
Сеть никогда не начнет функционировать, если все ее компоненты не будут работать по единым правилам. Развитие сетевых технологий привело к тому, что в 1984 году была разработана единая спецификация OSI Reference Model, которая объединила в единое целое большинство протоколов и стандартов. Она основывается на многоуровневом подходе, разделяя правила взаимодействия компонентов сети на каждом из них. Всего в модели OSI определено семь уровней.
Физический уровень (Physical Layer) - отвечает за типы сигналов, передаваемых по сети, и описывает механизм преобразования информации в сигналы. Как правило, реализуется в драйверах сетевых адаптеров.
Канальный уровень (Data Link Layer) - отвечает за передачу пакетов данных на физическом уровне и механизм их перемещения посети. Более подробно данный уровень определен спецификацией IEEE 802, которая детализирует канальный уровень на подуровень управления логической связью (Logical Link Control) и подуровень управления доступом к устройствам (Media Access Control).
Сетевой уровень (Network Layer) - отвечает за преобразование логических сетевых адресов в физические эквиваленты. Протоколы этого уровня также определяют правила переключения пакетов, маршрутизации данных и разрешения конфликтных ситуаций при прохождении информации по сети. Наиболее распространенными сетевыми протоколами на сегодняшний день являются:
IP - протокол, используемый в Интернете;
IPX - сетевой протокол компании Novell;
NetBEUI - сетевой протокол компании Microsoft.
Данный уровень может совмещать в рамках одного решения несколько протоколов одновременно. Обычно это делается для объединения уже имеющихся решений.
Транспортный протокол (Transport Layer) - управляет потоками данных между компонентами сети. На этом уровне происходит разбиение данных на фрагменты, которые затем передаются по носителю. Одновременно происходит контроль целостности данных путем проверки контрольных сумм. Наиболее распространенными транспортными протоколами на сегодняшний день являются:
TCP - протокол, используемый в Интернете;
SPX - транспортный протокол компании Novell;
NetBIOS - транспортный протокол компании Microsoft.
Как и на сетевом уровне, транспортные протоколы могут существовать одновременно в рамках общего решения.
Сеансовый уровень (Session Layer) - отвечает за поддержку сеанса при взаимодействии двух сетевых устройств. На этом уровне также осуществляются идентификация и автоматический разрыв в случае отсутствия активности в соединении.
Уровень представления (Presentation Layer) - отвечает за преобразование данных, поступающих из приложения в форматы передачи. Этот уровень осуществляет кодирование, компрессию данных, а также преобразование графических файлов и управление запросами на использование сетевых устройств.
Уровень приложения (Application Layer) - является верхним уровнем сетевой модели OSI. Определяется множеством протоколов, используемых различными сетевыми приложениями для решения их задач. Примерами протоколов, работающих на уровне приложения, являются:
FTP - протокол передачи файлов;
SMTP - протокол передачи почты;
SNMP - протокол управления сетью.
Модель OSI, безусловно, является абстрактной моделью. Это значит, что можно рассматривать сетевые технологии и вне ее. Так, например, фактически не используются раздельно основные сетевые и транспортные протоколы. TCP/IP для Интернета или SPX/IPX для сетей NOWELL используются только вместе, определяя весь перечень правил взаимодействия для сети. Однако понимание сетевых уровней дает большую точность в определении ответственности за решения, используемые при разработке единого пространства.
Первая задача, которая должна быть решена при создании распределенной системы, - какие виды ресурсов будут распределены. В случае, если необходимо разделение вычислительных мощностей, рассматривается система распределенных вычислений или архитектура "клиент-сервер". Если система обработки больших потоков данных и их хранения - анализируются механизмы кластера.
"Клиент-сервер". Технология "клиент-сервер" базируется на принципе специализации составляющих информационной системы. При этом определяются два типа компонентов: сервер и рабочее место пользователя (Desktop).
Сервер - специализированное устройство или программное обеспечение, которое служит для решения общей задачи.
Рабочее место пользователя - компоненты информационной системы, которые служат для решения задач конкретного пользователя, например реализации пользовательского интерфейса системы.
Обычно и сервер, и рабочее место рассматриваются как выделенные полнофункциональные компьютеры. Однако в общем случае это неправильно. Например, рабочим местом пользователя карточки является банкомат, кассира - кассовый аппарат. Сервер печати может быть самостоятельным интеллектуальным устройством, а сервер архивации - состоять только из носителя информации и специализированной платы.
"Рис. 25. Общая схема сети банка"
Сам термин "сервер" может трактоваться двояко - мощный выделенный компьютер или программное обеспечение, реализующее одну из служб. В данной главе сервером будет называться программа, которая обеспечивает независимое выполнение некоторой задачи. При этом задача может выполняться как на выделенном компьютере, так и на рабочей станции. Последнее решение часто используется разработчиками систем.
Выбирая архитектуру "клиент-сервер", в первую очередь необходимо определить весь перечень задач, решения которых будут перенесены на серверы. Как правило, это задачи, требующие общего доступа или больших вычислительных мощностей. Ниже приведен список служб информационных систем, наиболее часто используемых как серверы.
Сервер домена определяет список пользователей сегмента сети, а также их права доступа. Осуществляет мониторинг соединений. Является ядром любой сетевой операционной системы, работающей по принципу "клиент-сервер".
Файл-сервер служит для хранения информации в виде файлов для распределенного доступа к ним. Осуществляет контроль доступа к каждому из них. В качестве файл-сервера может служить любой компьютер, который разрешает использовать собственное дисковое пространство. Однако многие сетевые операционные системы предлагают большое количество дополнительных сервисов для управления файл-сервером.
Сервер базы данных служит для хранения, обработки и обеспечения доступа к структурированной информации. Сегодня наиболее часто для решений используются серверы реляционных баз данных, поддерживающие язык запросов SQL. К ним относятся системы управления базами данных ORACLE, Microsoft SQL, DB2, SYBASE.
Интернет-сервер предоставляет информацию в соответствии с правилами сети Интернет. В простейшем случае тоже, что и файловый сервер. Однако понятие интернет-сервера включает в себя и набор дополнительных сервисов, связанных, как правило, с преобразованием информации. Наиболее распространенными являются серверы APACHE и Internet Information Server.
Сервер приложения служит для выполнения специализированных задач. Многие банковские системы имеют серверы приложений, которые обеспечивают выполнение бизнес-логики приложения. При этом за хранение данных и контроль доступа к ним отвечает сервер базы данных.
Сервер архивации осуществляет хранение архивов: больших объемов редко используемой информации. Обычно от файл-сервера данный тип серверов отличают собственные механизмы компрессии, индексации хранимой информации и хранения истории вносимых изменений.
Сервер печати управляет печатью на общий принтер. Если не является специализированным устройством, то входит в состав сетевой операционной системы. Основой сервера печати является механизм управления очередями заданий на печать.
При рассмотрении решений на основе архитектуры "клиент-сервер" определяется и список задач, решаемых рабочими станциями и определенных как клиентские задачи. К ним обычно относятся:
* управление пользовательским интерфейсом - наиболее распространенная задача для рабочей станции, включает в себя обслуживание различных элементов пользовательского интерфейса, таких, как изображение на экране, кнопки, поля ввода, списки. Управление пользовательским интерфейсом и является той задачей, которая является гранью между архитектурой "клиент-сервер" и терминальным доступом;
* офисные приложения - список задач, обеспечивающих редактирование данных. Это различные редакторы, текстовые и табличные процессоры. Обычно сам процесс ручного ввода редактирования данных не является распределенной задачей и для экономии ресурсов серверов переносится на клиентское место;
* печать - в больших информационных системах функция печати может быть реализована на сервере и на клиентской станции. Обычно печать через сервер обеспечивает вывод на бумагу больших объемов данных, например выписок по счетам. Это объясняется требованием к высокопроизводительному принтеру, который невозможно поставить на каждое рабочее место. С клиентской станции осуществляется печать документов, необходимых только конкретному пользователю;