Организация и функционирование компьютеров
bf1271d8

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


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

Модель ISO предполагает, что прежде, чем быть переданным по сети, сообщение проходит несколько этапов обработки. Каждый этап обработки решает задачи своего уровня. Сама обработка довольно проста. Для очередного этапа входной пакет представляет собой «черный ящик» неизвестного содержания. Этот пакет может быть разделен на несколько более мелких пакетов (такая операция называется коммутацией пакетов). После этого к каждому составляющему пакету добавляется или заголовок (в начало), или хвостовик (в конец), или и то, и другое вместе. Говорят что пакет «обертывается» в служебную информацию. В результате первоначальная информация несколько раз «обертывается» в служебную информацию различных уровней. Служебная информация обычно состоит из нескольких полей. Содержание полей зависит от уровня обработки и используемых соглашений – протоколов. Значения полей используются при расшифровке сообщения, когда из обертывающего пакета извлекается содержащийся там исходный пакет, после чего несколько пакетов собираются в один (операция, также предусмотренная технологией коммутации пакетов).

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

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

¨ физический уровень (Physical Layer);

¨       канальный уровень (Data Link);

¨       сетевой уровень (Network Layer);

¨       транспортный уровень (Transport Layer);

¨       сеансовый уровень (Session Layer);

¨       уровень представления данных (Presentation Layer);

¨       прикладной уровень (Application Layer).



При отправлении сообщения обработка начинается от высшего кровня к низшему. При расшифровке сообщения обработка производится в обратном порядке: от низшего уровня к высшему.

Основным назначением протоколов физического уровня явля­ются физическая связь и неразрывная с ней эксплуатационная готовность. Соответствующий заголовок описывает характеристики физической сети передачи данных, которая используется для межсетевого обмена. Это такие параметры, как напряжение в сети, сила тока, число контактов на разъемах и т.п. Для описания этих характеристик используются такие стандарты, как, например, RS232C, V35, IEEE 802.3 и т.п. На физическом уровне выполняется преобразование данных, поступающих от следующего, более высокого уровня (уровень управления передачей данных ) в сигналы, передающиеся по кабелю. Ответственным за этот уровень является математическое обеспечение сетевого адаптера или модема.

Канальный уровень, или уровень управления линией передачи данных (линейный уровень) управляет передачей пакетов в локальной сети.


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

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

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

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


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

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

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

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

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



Протоколы транспортного уровня поддерживают непрерывную передачу данных между двумя взаимодействующими друг с другом компьютерами вне зависимости от их месторасположения. Транспортный заголовок отвечает за надежность доставки данных. Сетевые модули транспортного уровня проверяют контрольные суммы и принимают решение о сборке сообщения в одно целое. В Internet транспортный уровень представлен двумя протоколами: TCP (Transport Control Protocol) и UDP (User Datagramm Protocol). Если предыдущий уровень (сетевой) определяет только правила доставки информации, то транспортный уровень отвечает за целостность доставляемых данных.

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

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


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

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

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

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

В заключение приведем определения некоторых терминов.

Синхронизация - механизм распознавания начала передаваемого блока данных и его конца.

Инициализация - установление соединения между взаимодейст­вующими узлами сети по запросу.

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

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


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

Обнаружение ошибок связано с установкой битов четности и вы­числением контрольных битов.

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

Текущая нумерация блоков

позволяет установить ошибочно переда­ваемую или поте­рявшуюся информацию.

Управление потоком данных

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

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

Методы восстановления

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


Содержание раздела