Системы с открытой архитектурой. Принципы построения

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

В связи с этим нужно уточнить представление об архитектуре систем и средств, как внешнем их описании (reference model) с точки зрения того, кто ими пользуется. Архитектура открытой системы, таким образом, оказывается иерархическим описанием ее внешнего облика и каждого компонента с точки зрения:

пользователя (пользовательский интерфейс),

проектировщика системы (среда проектирования),

прикладного программиста (системы и инструментальные средства /среды программирования),

системного программиста (архитектура ЭВМ),

разработчика аппаратуры (интерфейсы оборудования).

Предлагаемый взгляд на архитектуру открытых систем вытекает из указанной выше необходимости комплексной реализации общих свойств открытости и является расширением принятого понятия об архитектуре ЭВМ по Г. Майерсу.

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

Таблица 1

Иерархия представления архитектуры системы обработки данных

Уровень архитектуры системы обработки данных

Компоненты системы обработки данных

Интерфейсы

Средства обработки данных

Представление и хранение данных

Коммуникации

Среда для конечного пользователя и инструментарий прикладного программиста

Генераторы форм и отчетов

Утилиты и библиотеки

Языки программирования 4GL

OSI. Прикладной уровень

Языки программные и командные языки (оболочки)

Прикладные программы

Языки запросов СУБД

OSI. Уровни сессий и представительный

Операционная система

Средства оконного интерфейса

Верхний уровень ОС (организация процесса обработки)

Средства доступа к среде хранения

OSI. Транспортный уровень

Драйверы

Ядро операционной системы

Файловая система

OSI. Сетевой уровень

Оборудование

Системные интерфейсы (в т. ч. организация ввода-вывода)

Процессоры (система команд)

Организация памяти

OSI. Уровень передачи данных

Периферийные устройства

Системная шина

Шины (интерфейс) массовой памяти

OSI. Физический уровень

Уровень среды для конечного пользователя (user environment) характеризуется входными и выходными описаниями (генераторы форм и отчетов), языками проектирования информационной модели предметной области (языки 4GL), функциями утилит и библиотечных программ и прикладным уровнем среды коммуникаций, когда требуются услуги дистанционного обмена информацией. На этом же уровне определена среда (инструментарий) прикладного программирования (appliсation environment) : языки и системы программирования, командные языки (оболочки операционных систем), языки запросов СУБД, уровни сессий и представительный среды коммуникаций.

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

На уровне оборудования легко видеть привычные разработчикам ЭВМ составляющие архитектуры аппаратных средств:

система команд процессора (процессоров),

организация памяти,

организация ввода-вывода и т. д.,

а также физическую реализацию в виде:

системных шин,

шин массовой памяти,

интерфейсов периферийных устройств,

уровня передачи данных,

физического уровня среды хранения.

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

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

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

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

Эталонная модель архитектуры открытых систем (OSI) описывает, каким образом происходит обмен информацией между информационными системами (прикладными процессами) с использо-ванием механизма связи открытых систем. Модель делится на семь функциональных разделов (уровней), которые называются: прикладной, представления, сессии, транспортный, сетевой, уровень звена передачи данных и физический уровень.

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

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

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

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

Трехуровневая архитектура информационных систем, связана с эталонной моделью OSI (Взаимодействие открытых систем) следующим образом (рисунок 6).

Концептуальный и внешний уровни Трехуровневой архитектуры информационных систем соответствуют функциям прикладного уровня и уровня представления.

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

Методы моделирования данных

В данном разделе мы рассмотрим некоторые методы моделирования данных в области концептуальных схем. Будут выделены несколько общих аспектов в различных методах и в общих чертах охарактеризованы каждый из них. Эти сведения не являются исчерпывающими. Цель их найти некоторые удобные критерии для:

Выделения различных методов описания предметной области в концептуальной схеме и информационной базе;

Выделения основных понятий, необходимых для языков концептуальной схемы;

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

Рассматриваются следующие критерии.

1. Сопоставление формы и содержания.

Ранние методы концентрировали внимание на формах моделируемых данных. То есть определялись структуры данных, удобные для хранения и/или обработки в ЭВМ. В частности, оптимизировалось обновление данных, хотя уделялось также внимание и проблемам доступа к данным. Термин “моделирование данных” восходит к этим методам. Более поздние методы моделирования подчеркивают важность моделирования смысла (семантики) информации. В этих методах большую роль играют семантические правила для информации. Такие семантические модели считаются независимыми от моделей данных, описывающих формы представления и хранения информации и находятся на более высоком уровне.

Рисунок 6. Взаимосвязь трехуровневой архитектуры АИС с эталонной моделью OSI

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

2. Статические аспекты в сравнении с динамическими аспектами.

Многие из методов моделирования сосредоточены на статических аспектах концептуальной схемы и информационной базы. Другие выделяют динамические аспекты или даже почти полностью ориентированы на действия. Некоторые модели включают в себя все эти аспекты.

3. Возможность различать лексические и нелексические сущности.

Многие методы не допускают четкого различия между лексическими и нелексическими сущностями, т.е. между именами предметов и самими предметами. Другие позволяют проводить такое различие или даже требуют ясного различия между ними.

4. Выразительная мощность.

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

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

6. Разделение различных видов высказываний.

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

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

Абстрактные типы данных;

Модели, основанные на бинарных отношениях;

Концептуальные графы;

Модели предложений с глубокой структурой;

Модели сущность – связь;

Модели, ориентированные на функции или на действия;

Модели, основанные на n-арных отношениях;

Сетевые модели (включая CODASYL);

Модели объект – роль;

Модели взаимодействия процессов;

Реляционные модели;

Сематические сети;

Теоретико-множественные модели.

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

Сущность – атрибут – связь (EAR);

Модели на основе бинарных и элементарных n-арных отношениях;

Интерпретируемая логика предикатов.

Подходы сущность – атрибут – связь (EAR) основываются на следующих понятиях:

Сущности;

Связи между сущностями;

Атрибуты – ассоциации между значениями и сущностями, или между значениями и связями;

Значения.

В этих подходах используются также понятия тип и реализация применяемые к каждому из этих примитивных понятий.

Источником этих подходов послужил опыт моделирования данных в начале 1970-х годов. Первоначально рассматривались только бинарные связи, атрибуты связей не допускались.
Но последующие работы привели к вариантам, которые допускают n-арные связи между сущностями и позволяют связям иметь атрибуты (рисунки 7-9).

Рисунок 7. Представление связей в моделях EAR

Рисунок 8. Пример бинарной связи (n:2)

Рисунок 9. Пример тройной связи (n = 3)

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

Подходы на основе бинарных и элементарных n-арных отношений исторически основываются на работах по искусственному интеллекту и лингвистике, где рассматриваются “семантические сети” и другие подобные понятия. Они были предложены в начале 1970-х годов.

Подходы BR (BINARY RELATIONSHIP) различают сущности и имена сущностей, но не различают атрибуты и связи. Кроме того, признаются только бинарные отношения, они основаны на трех основных понятиях:

Сущности;

Имена сущностей;

Бинарные отношения.

В этих подходах используются также понятия тип и реализация, применяемые к каждому из примитивных понятий.

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

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

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

Термов и переменных;

Предикатов;

Логических связок;

Кванторов.

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

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

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

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

Архитектура вычислительной сети – описание ее общей модели.

Многообразие производителей вычислительных сетей и сетевых програм­мных продуктов поставило проблему объединения сетей различных архитек­тур. Для ее решения Международной организацией по стандартизации была разработана эталонная модель взаимодействия открытых систем (Open System Interconnection, OSI). Часто ее называют моделью архитектуры открытых систем.

Открытая система – система, взаимодействующая с другими системами в соответствии с принятыми стандартами.

Модель взаимодействия открытых систем(OSI) служит базой для производителей при разработке совместимого сетевого оборудования. Эта модель не является неким физическим телом, отдельные элементы которого можно осязать. Она устанавливает способы передачи данных по сети, определяет стандартные протоколы, используемые сетевым и программным обеспечением. Модель представляет собой самые общие рекомендации для построения совместимых сетевых программных продуктов. Эти рекомендации должны быть реализованы как в аппаратуре, так и в программных средствах вычислительных сетей.

Модель взаимодействия открытых систем (OSI) определяет процедуры передачи данных между системами, которые “открыты” друг другу благодаря совместному использованию ими соответствующих стандартов, хотя сами системы могут быть созданы на различных технических средствах.

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

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

Перед подачей в сеть данные разбиваются на пакеты.

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

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

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

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

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

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

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

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

При передаче информации от прикладного процесса в сеть происходит ее обработка уровнями модели взаимодействия открытых систем. Смысл этой обработки заключается в том, что каждый уровень добавляет к информации процесса свой заголовок – служебную информацию, которая необходима для адресации сообщений и для некоторых контрольных функций. Физический уровень заголовка не добавляет. Сообщение, обрамленное заголовками, уходит в коммуникационную сеть и поступает на абонентские ЭВМ вычислительной сети. Каждая абонентская ЭВМ, принявшая сообщение, дешифрирует адреса и определяет, предназначено ли ей данное сообщение. При этом в абонентской ЭВМ происходит обратный процесс – чтение и отсечение заголовков уровнями модели взаимодействия открытых систем. Каждый уровень реагирует только на свой заголовок. Заголовки верхних уровней нижними уровнями не воспринимаются и не изменяются – они “прозрачны “ для нижних уровней. Так, перемещаясь по уровням модели OSI, информация, наконец, поступает к процессу, которому она была адресована.

Каждый уровень модели взаимодействия открытых систем реагирует только на свой заголовок.


©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-04-04

Работа сети заключается в передаче данных от одного компьютера к другому. В этом процессе можно выделить несколько отдельных задач:

· Распознать данные (выбрать данные для передачи из файловой системы);

· Разбить данные на управляемые блоки (сообщение – на пакеты);

· Добавить информацию к каждому блоку (адрес источника, адрес приемника, информацию для синхронизации и информацию для проверки ошибок);

· Поместить данные в сеть и отправить их по указанному адресу.

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

Модель OSI (Open System Interconnection reference model – эталонная модель взаимодействия открытых систем) представляет собой набор стандартных протоколов. Она создана на основе технических предложений Международного института стандартов ISO в 1984 г.

Архитектура модели

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

Таблица 9.1.

Модель сетевой архитектуры

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

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

Взаимодействие уровней модели OSI

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

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

Рис.9.9 Взаимодействие уровней сетевой модели

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

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

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

Прикладной уровень

Представляет собой окно для доступа прикладных процессов к сетевым услугам. Этот уровень обеспечивает услуги, напрямую поддерживающие приложения пользователя, такие, как программное обеспечение для передачи файлов, доступа к базам данных и электронная почта. Единица данных на этом уровне – сообщение. На данном уровне действуют протоколы: FTP (File Transfer Protocol – протокол передачи файлов), HTTP (Hyper Text Transfer Protocol – протокол передачи гипертекста), SMTP (Simple Mail Transfer Protocol – протокол передачи электронной почты), Telnet (протокол эмуляции терминала) и др.

Представительский уровень

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

Сеансовый уровень

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

Транспортный уровень

На транспортном уровне сообщения, поступающие с верхних уровней, переупаковываются: длинные разбиваются на несколько пакетов, а короткие объединяются в один. Это увеличивает эффективность передачи пакетов по сети. На пути передачи пакеты могут быть искажены/утеряны, поэтому транспортный уровень обеспечивает верхним уровням (сеансовому и прикладному) передачу данных с необходимым уровнем надежности.

Модель OSI предусматривает несколько классов сервиса, предоставляемого транспортным уровнем, которые отличаются качеством услуг:

1) срочностью передачи;

2) возможностью восстановления прерванной связи;

3) возможностью обнаружения и исправления ошибок;

4) возможностью определения потери или дублирования пакетов.

На этом уровне работают два протокола UPD и TCP, которые реализуют различные режимы доставки пакетов.

Протокол UPD (User Datagram Protocol – дейтограммный протокол) используется в том случае, когда задача надежного обмена данными либо вообще не ставится, либо решается средствами более высокого уровня (системными прикладными службами или пользовательскими приложениями).

Протокол TCP (Transmission Control Protocol – протокол установления соединения) обеспечивает гарантированную доставку пакетов. Протокол устанавливает логическое соединение между комьютерами-абонентами, что позволяет ему нумеровать пакеты, подтверждать их прием квитанциями, в случае их потери организовать повторные передачи, распознавать и уничтожать дубликаты.

Сетевой уровень

Сетевой уровень служит для образования единой транспортной системы, объединяющей несколько сетей, возможно, разных технологий. Внутри локальной сети используется адресация канального уровня – mac – адресация, для передачи пакетов между сетями такая адресация не годится. Требуется новая система адресации – структурированный IP – адрес, в котором выделяются, по крайней мере, 2 части (номер сети и номер узла в данной сети). Таким образом, на сетевом уровне термин «сеть» - это совокупность рабочих станций, соединенных по типовой технологии и использующих один из протоколов канального уровня. Это совокупность компьютеров с одинаковым номером сети.

Сети соединяются между собой с помощью маршрутизаторов, которые работают с IP – адресами. Чтобы передать пакет из одной сети в другую, необходимо выполнить несколько транзитных передач через другие сети, т.е. выполнить несколько «хопов» (hop – прыжок).

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

Другие задачи сетевого уровня:

1) согласование разных технологий (трансляция пакетов);

2) преобразование IP – адреса следующего маршрутизатора в mac-адрес с тем, чтобы сформировать заголовок канального уровня при выполнении хопа;

3) если пакет передается из сети с большим значением МТИ в сеть с меньшим значением (Ethernet→Token Ring), то маршрутизатор фрагментирует пакет, т.е. разбивает его на меньшие блоки.

На сетевом уровне работают, по крайней мере, два вида протоколов:

1) Сетевые протоколы, которые непосредственно продвигают пакеты в сложной сети

IP – Internet Protocol

IPX – Internet Protocol фирмы Novell

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

RIP – Routing Internet Protocol; OSPF, RIP

Канальный уровень

Осуществляет передачу кадров данных от Сетевого уровня к Физическому. Кадр – это логически организованная структура, в которые можно помещать данные (см рис.9.10). Канальный уровень компьютера получателя упаковывает «сырой» поток битов, поступающих от Физического уровня, в кадры данных. Данный уровень решает задачи доступа к каналу связи, обнаруживает и корректирует ошибки с помощью CRC (остаток избыточной циклической суммы), руководит повтором передачи (в случае повреждения или потери кадров), проверкой mac – адреса. Примеры протоколов, работающих на канальном уровне: Token Ring, FDDI, Ethernet, Fast Ethernet, Gigabit Ethernet, ATM которые реализуются в персональных компьютерах, коммутаторах, маршрутизаторах, сетевых адаптерах.

Рис. 9.10 Структура кадра

Физический уровень

Этот уровень осуществляет передачу неструктурированного, «сырого» потока битов по физической среде (например, сетевому кабелю). Здесь реализуются электрический, оптический, механический и функциональный интерфейсы с кабелем. Физический уровень также формирует сигналы, которые переносят данные, поступившие от вышележащих уровней. На этом уровне определяется тип сетевого кабеля и способ его соединения с платой сетевого адаптера, в частности, количество контактов в разъемах и их функции. Кроме того, здесь определяется способ передачи данных по сетевому кабелю (Ethernet и Token Ring). Физический уровень предназначен для передачи битов (нулей и единиц) от одного компьютера к другому. Содержание самих битов на данном уровне значения не имеет. Этот уровень отвечает за кодирование данных и синхронизацию битов, гарантируя, что переданная единица будет воспринята именно как единица, а не как ноль. Данный уровень устанавливает длительность каждого бита и способ перевода бита в соответствующие электрические или оптические импульсы, передаваемые по сетевому кабелю. На физическом уровне также определяют, используется ли для передачи данных симплексный, полудуплексный или дуплексный режим связи. Он содержит подробности о сетевой топологии.

Архитектура вычислительной сети - описание ее общей модели.

Многообразие производителей вычислительных сетей и сетевых программных продуктов поставило проблему объединения сетей различных архитектур. Для ее решения Международной организацией по стандартизации была разработана эталонная модель взаимодействия открытых систем (Open System Interconnection, OSI). Часто ее называют моделью архитектуры открытых систем.

Модель взаимодействия открытых систем (OSI) служит базой для производителей при разработке совместимого сетевого оборудования. Эта модель не является неким физическим телом, отдельные элементы которого можно осязать. Она устанавливает способы передачи данных по сети, определяет стандартные протоколы, используемые сетевым и программным обеспечением. Модель представляет собой самые общие рекомендации для построения совместимых сетевых программных продуктов. Эти рекомендации должны быть реализованы как в аппаратуре, так и в программных средствах вычислительных сетей.

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

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

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

Рис. 1.7. Эталонная модель взаимодействия открытых систем

Перед подачей в сеть данные разбиваются на пакеты.

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

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

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

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

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

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

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

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

При передаче информации от прикладного процесса в сеть происходит ее обработка уровнями модели взаимодействия открытых систем (рис 1.8). Смысл этой обработки заключается в том, что каждый уровень добавляет к информации процесса свой заголовок - служебную информацию, которая необходима для адресации сообщений и для некоторых контрольных функций. Физический уровень заголовка не добавляет. Сообщение, обрамленное заголовками, уходит в коммуникационную сеть и поступает на абонентские ЭВМ вычислительной сети. Каждая абонентская ЭВМ, принявшая сообщение, дешифрирует адреса и определяет, предназначено ли ей данное сообщение. При этом в абонентской ЭВМ происходит обратный процесс - чтение и отсечение заголовков уровнями модели взаимодействия открытых систем. Каждый уровень реагирует только на свой заголовок. Заголовки верхних уровней нижними уровнями не воспринимаются и не изменяются - они "прозрачны " для нижних уровней. Так, перемещаясь по уровням модели OSI, информация, наконец, поступает к процессу, которому она была адресована.

Рис. 1.8. Обработка сообщений уровнями модели OSI

Каждый уровень модели взаимодействия открытых систем реагирует только на свой заголовок.

На рис. 1.8 показан процесс прохождения данных через уровни модели. Каждый уровень добавляет свой заголовок – З.

В чем же основное достоинство семиуровневой модели OSI?

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

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

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