Лекция 14

Модель сетевого взаимодействия

Проблемы стандартизации взаимодействия в вычислительных сетях

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

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

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

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

Многоуровневый подход к описанию сетевого взаимодействия

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

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

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

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

Рассмотрим некоторые компоненты процесса передачи данных, которые должны быть регламентированы.

Синхронизация -
механизм распознавания начала и окончания блока данных;
Инициализация -
установление соединения между взаимодействующими системами;
Блокирование -
разбиение передаваемой информации на блоки данных строго определенной максимальной длины (включая опознавательные знаки начала блока и его конца);
Адресация -
обеспечение идентификации оборудования, которое обменивается друг с другом информацией в процессе сетевого взаимодействия;
Обнаружение ошибок -
установка битов четности, вычисление контрольных битов;
Нумерация блоков -
позволяет установить ошибочно передаваемую или потерявшуюся информацию;
Управление потоком данных -
распределение и синхронизация информационных потоков. Так, например, если не хватает места в буфере устройства приема данных или данные недостаточно быстро обрабатываются в периферийных устройствах (например, принтерах), сообщения накапливаются;
Восстановление информации -
после прерывания процесса передачи данных используются различные методы восстановления, чтобы вернуться к определенному положению для повторной передачи информации;
Разрешения доступа -
распределение, контроль и управление ограничениями доступа к данным (например, "только передача" или "только прием").

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

Эталонная модель OSI

Практика создания и развития компьютерных сетей привела к необходимости разработки стандартов по всему комплексу вопросов организации сетевых систем. В 1978 г. Международная организация по стандартизации (МОС - ISO, International Standard Organization) предложила семиуровневую эталонную модель взаимодействия открытых систем (ВОС - OSI, Open System Interconnection). Эта модель создает основу для анализа существующих телекоммуникационных вычислительных сетей и определения новых сетей и стандартов.

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

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

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

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

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

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

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

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

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

На канальном уровне формируются кадры, являющиеся контейнерами, в которых транспортируются пакеты.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 2. Схема передачи блока данных между уровнями модели OSI

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

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

Сайт управляется системой uCoz