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

OSI включает семь уровней. На рис. 1.5 показана модель взаимодействия двух устройств: узла источника (source) и узла назначения ( destination ). Совокупность правил, по которым происходит обмен данными между программно-аппаратными средствами, находящимися на одном уровне, называется протоколом . Набор протоколов называется стеком протоколов и задается определенным стандартом. Взаимодействие между уровнями определяется стандартными интерфейсами .


Рис. 1.5.

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

Виртуальный обмен между соответствующими уровнями узлов A и B ( рис. 1.6) происходит определенными единицами информации. На трех верхних уровнях – это сообщения или данные (Data) , на транспортном уровне – сегменты (Segment) , на сетевом уровне – пакеты (Packet) , на канальном уровне – кадры (Frame ) и на физическом – последовательность битов.

Для каждой сетевой технологии существуют свои протоколы и свои технические средства, часть из которых имеет условные обозначения, приведенные на рис. 1.5 . Данные обозначения введены фирмой Cisco и стали общепринятыми. Среди технических средств физического уровня следует отметить кабели, разъемы, повторители сигналов (repeater) , многопортовые повторители или концентраторы (hub), преобразователи среды (transceiver) , например, преобразователи электрических сигналов в оптические и наоборот. На канальном уровне – это мосты (bridge), коммутаторы (switch) . На сетевом уровне – маршрутизаторы (router) . Сетевые карты или адаптеры ( Network Interface Card – NIC ) функционируют как на канальном, так и на физическом уровне, что обусловлено сетевой технологией и средой передачи данных .


Рис. 1.6.

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

Самый верхний, Прикладной уровень (Application Layer) 7 оперирует наиболее общей единицей данных – сообщением. На этом уровне реализуется управление общим доступом к сети, потоком данных, сетевыми службами, такими, как FTP, TFTP, HTTP, SMTP, SNMP и др.

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

Сеансовый уровень (Session Layer) 5 устанавливает сеанс связи двух конечных узлов (компьютеров), определяет, какой компьютер является передатчиком, а какой приемником, задает для передающей стороны время передачи.

Транспортный уровень (Transport Layer) 4 делит большое сообщение узла источника информации на части, при этом добавляет заголовок и формирует сегменты определенного объема, а короткие сообщения может объединять в один сегмент. В узле назначения происходит обратный процесс. В заголовке сегмента задаются номера порта источника и назначения, которые адресуют службы верхнего прикладного уровня для обработки данного сегмента. Кроме того, транспортный уровень обеспечивает надежную доставку пакетов. При обнаружении потерь и ошибок на этом уровне формируется запрос повторной передачи, при этом используется протокол TCP . Когда необходимость проверки правильности доставленного сообщения отсутствует, то используется более простой и быстрый протокол дейтаграмм пользователя ( User Datagram Protocol – UDP ).

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

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

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

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

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


Рис. 1.7.

На сетевом уровне сегмент инкапсулируется в пакет данных, заголовок (header ) которого содержит, кроме прочего, сетевые (логические) адреса отправителя информации (источника) – Source Address (SA ) и получателя (назначения) – Destination Address (DA ). В данном курсе – это IP -адреса.

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

Название информационных единиц на каждом уровне, их размер и другие параметры инкапсуляции задаются согласно протоколу единиц данных ( Protocol Data Unit – PDU ). Итак, на трех верхних уровнях – это сообщение (Data) , на Транспортном уровне 4 – сегмент (Segment) , на Сетевом уровне 3 – пакет (Packet) , на Канальном уровне 2 – кадр (Frame) , на Физическом Уровне 1 – последовательность бит .

Помимо семиуровневой OSI модели на практике применяется четырехуровневая модель TCP / IP ( рис. 1.8).


Рис. 1.8.

Прикладной уровень модели TCP / IP по названию совпадает с названием модели OSI , но по функциям гораздо шире, поскольку охватывает три верхних сетенезависимых уровня (прикладной, представительский и сеансовый). Транспортный уровень обеих моделей и по названию, и по функциям одинаков. Сетевой уровень модели OSI соответствует межсетевому (Internet ) уровню модели TCP / IP , а два нижних уровня (канальный и физический) представлены объединенным уровнем доступа к сети (Network Access ).


Рис. 1.9.

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

Краткие итоги

  1. Телекоммуникационная сеть образуется совокупностью абонентов и узлов связи, соединенных линиями (каналами) связи.
  2. Различают сети: с коммутацией каналов , когда телекоммуникационные узлы выполняют функции коммутаторов , и с коммутацией пакетов (сообщений), когда телекоммуникационные узлы выполняют функции маршрутизаторов.
  3. Для создания маршрута в разветвленной сети необходимо задавать адреса источника и получателя сообщения . Различают физические и логические адреса .
  4. Сети передачи данных с коммутацией пакетов подразделяются на локальные и глобальные.
  5. Сети технологии IP являются дейтаграммными, когда отсутствует предварительное соединение конечных узлов и нет подтверждения приема сообщения.
  6. Высокую надежность обеспечивает

Архитектура открытых систем

Термин «архитектура связи» подразумевает, что отдельные подзадачи сети выполняются различными архитектурными элементами, между которыми устанавливаются пути передачи информации (каналы связи и интерфейсы). Способ, с помощью которого сообщение обрабатывается структурными элементами и передаются по сети, называется сетевым протоколом . Проблемы совмещения и стыковки различных элементов ВС привели Международную организацию стандартизации (ISO - International Organization for Standards) к созданию модели архитектуры вычислительной сети, которая называется моделью взаимодействия открытых систем 1977 г. (ВОС/OSI).

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

Цель разработки этой модели заключалась в определении логических ограничений для сетевых стандартов, приемлемых для всех изготовителей, что позволило бы им создавать уникальные и конкурентоспособные изделия, которые тем не менее стыковались с изделиями других изготовителей. Модель OSI является обобщенной и применима как к глобальным, так и к локальным ВС.

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

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

Запрос - выдается П. для инициации услуги;

Индикация - выдается И. Для указания на то, что удаленный П. инициировал выполнение услуги;



Ответ - выдается П. как реакция на примитив индикация;

Подтверждение - выдается И. Для сообщения о результатах выполнения услуги.

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

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

Процесс передачи данных делится на 7 уровней, в пределах которых устанавливаются стандартные протоколы, разработанные ISO и некоторыми фирмами, причем количество этих протоколов велико.

Модель OSI не является единственным описанием процесса передачи данных, а говорит, что

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

2) любой последовательный уровень модели OSI взаимодействует с предыдущим.

3) любой уровень обладает свойством модульности: замена одного протокола другим в рамках уровня не влияет на работу протоколов верхнего или нижнего уровня.

Взаимосвязь между узлами сети:

уровни Оконечная система 1 Протоколы уровней Оконечная система 2 Основные функции уровней
Прикладной процесс Прикладной процесс
Прикладной (SMTP, FTP, TELM) Службы пользователей, сетевые службы и т.д.
Представительный Преобразование структурированных данных и манипулирование ими.
Сеансовый (BIOS) Установление соединений, координация и синхронизация диалога.
Транспортный (TCP/IP) Обеспечение независящего от передающей среды транспортного сервиса между оконечными системами.
Сетевой (X.25) Коммутация и маршрутизация в сети.
Канальный (HDLC, SDLC, X.25) Управление передачей данных по каналу. Контроль ошибок, возникающий из-за физической среды передачи.
Физический (IEEE 802.3, 802.4, 802.5) Предоставление средств для управления физическими соединениями в канале.
Физическая среда для соединения систем

Уровни OSI реализуют следующие сетевые функции:

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

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

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

Используется 2 основных типа кадров: пакеты и управляющие кадры.

Пакеты - кадры данных, которые содержат сообщения верхних уровней.

Управляющие кадры - маркеры, подтверждения.

Методы обнаружения и коррекции ошибок обеспечивают безошибочное прохождение пакетов от узлов источников к узлам назначения.

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

  1. Сетевой уровень. Отвечает за буферизацию и маршрутизацию в сети.

Реализует функции связи между 2-мя отдельными сетями. Преобразование логических адресов в физические.

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

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

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

7. Прикладной уровень. Является границей между процессами сети OSI и прикладными (пользовательскими) процессами. Непосредственно поддерживает обмен информацией между пользователями, прикладными программами или устройствами. На этом уровне требуется несколько типов протоколов:

1) для конкретных специфичных приложений (передачи файлов, электронная почта)

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

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

Отдельные уровни могут быть совмещены или отсутствовать.

Реальная связь: физический уровень физический уровень

Информация проходит от прикладного уровня к физическому в узле источника и от физического к прикладному в узле назначения.

Между процессами на одинаковых уровнях существуют виртуальные связи

Необходимо еще пояснить некоторые понятия, относящиеся к эталонной модели OSI:

· упаковка

· фрагментация

Структура сообщений

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

Схема модификации сообщений

Упаковка

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

1. указатели типа сообщений

2. адреса отправителя, получателя, канала, порта

3. код обнаружения ошибок

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

Фрагментация

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

(транспортый уровень - разбивка/сборка пакетов)

Использование небольших пакетов данных упрощает разработку протоколов нижних уровней.

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

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

Более высокие уровни обычно реализуцется как процессы, принадлежащие ОС или активизируемые ОС.

(см. рис.)

Прикладной процесс в системе А (ур. 7) формирует сообщение прикладному процессу в системе В в соответствии с логикой взаимодействия этих двух прикладных процессов (но без учета организациии сети). Физически сообщения, формируемые процессом А, проходят последовательно через уровни 6,5,…,1, подвергаясь процедурам последовательного обрамления, предаются по каналу связи и затем через уровни 1,2,…,6, на которых с сообщений снимаются обрамления, поступают к процессу В. каждый уровень работает со своим заголовком и концевиком. Все, что между ними - рассматривается соответствующим уровнем как данные.

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

Уровень N+1 вызывает функцию для формирования в передающем узле поле контроля последовательности.

Уровень N+1 принимающего узла производит проверку наличия ошибок при передаче на основе сравнения контрольного поля со значением счетчика приема.

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

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

Заголовок - это управляющая информация протокола .

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

При описании протокола принято выделять его логическую и процедурную характеристики.

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

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

Заключение

Протоколы, стандарты и интерфейсы нижних уровней относительно стабильны и отработаны. Они формируют устойчивую основу, на которой строятся верхние уровни.

Многие же протоколы высоких уровней находятся в различных стадиях разработки (хотя некоторые уже утверждены).

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

Понятие «открытая система»

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

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

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

Для реальных систем полная открытость является недостижимым идеалом. Как правило, даже в системах, называемых открытыми, этому определению соответствуют лишь некоторые части, поддерживающие внешние интерфейсы. Например, открытость семейства операционных систем Unix заключается, кроме всего прочего, в наличии стандартизованного программного интерфейса между ядром и приложениями, что позволяет легко переносить приложения из среды одной версии Unix в среду другой версии. Еще одним примером частичной открытости является применение в достаточно закрытой операционной системе Novell NetWare открытого интерфейса Open Driver Interface (ODI) для включения в систему драйверов сетевых адаптеров независимых производителей. Чем больше открытых спецификаций использовано при разработке системы, тем более открытой она является.

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

Если две сети построены с соблюдением принципов открытости, то это дает следующие преимущества:

    возможность построения сети из аппаратных и программных средств различных производителей, придерживающихся одного и того же стандарта;

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

    возможность легкого сопряжения одной сети с другой;

    простота освоения и обслуживания сети.

Ярким примером открытой системы является международная сеть Internet. Эта сеть развивалась в полном соответствии с требованиями, предъявляемыми к открытым системам. В разработке ее стандартов принимали участие тысячи специалистов-пользователей этой сети из различных университетов, научных организаций и фирм-производителей вычислительной аппаратуры и программного обеспечения, работающих в разных странах. Само название стандартов, определяющих работу сети Internet - Request For Comments (RFC), что можно перевести как «запрос на комментарии», - показывает гласный и открытый характер принимаемых стандартов. В результате сеть Internet сумела объединить в себе самое разнообразное оборудование и программное обеспечение огромного числа сетей, разбросанных по всему миру.

Модель OSI

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

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

Рис. 1.1. Модель взаимодействия открытых систем ISO/OSI

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

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

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

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

Кроме термина "сообщение" (message) существуют и другие названия, используемые сетевыми специалистами для обозначения единицы обмена данными. В стандартах ISO для протоколов любого уровня используется такой термин как "протокольный блок данных" - Protocol Data Unit (PDU). Кроме этого, часто используются названия кадр (frame), пакет (packet), дейтаграмма (datagram).

Функции уровней модели ISO/OSI

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

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

Примером протокола физического уровня может служить спецификация 10Base-T технологии Ethernet, которая определяет в качестве используемого кабеля неэкранированную витую пару категории 3 с волновым сопротивлением 100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 метров, манчестерский код для представления данных на кабеле, и другие характеристики среды и электрических сигналов.

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

В протоколах канального уровня, используемых в локальных сетях, заложена определенная структура связей между компьютерами и способы их адресации. Хотя канальный уровень и обеспечивает доставку кадра между любыми двумя узлами локальной сети, он это делает только в сети с совершенно определенной топологией связей, именно той топологией, для которой он был разработан. К таким типовым топологиям, поддерживаемым протоколами канального уровня локальных сетей, относятся общая шина, кольцо и звезда. Примерами протоколов канального уровня являются протоколы Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

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

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

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

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

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

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

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

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

Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека Novell.

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

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

Как правило, все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети - компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.

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

Уровень представления. Этот уровень обеспечивает гарантию того, что информация, передаваемая прикладным уровнем, будет понятна прикладному уровню в другой системе. При необходимости уровень представления выполняет преобразование форматов данных в некоторый общий формат представления, а на приеме, соответственно, выполняет обратное преобразование. Таким образом, прикладные уровни могут преодолеть, например, синтаксические различия в представлении данных. На этом уровне может выполняться шифрование и дешифрование данных, благодаря которому секретность обмена данными обеспечивается сразу для всех прикладных сервисов. Примером протокола, работающего на уровне представления, является протокол Secure Socket Layer (SSL), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP.

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

Существует очень большое разнообразие протоколов прикладного уровня. Приведем в качестве примеров хотя бы несколько наиболее распространенных реализаций файловых сервисов: NCP в операционной системе Novell NetWare, SMB в Microsoft Windows NT, NFS, FTP и TFTP, входящие в стек TCP/IP.

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

Общие положения. Эталонная модель взаимодействия открытых систем (ЭМ ВОС, модель OSI Open Systems Interconnection) была разработана Международной орга­низацией по стандартизации (МОС, OSI) и принята в виде стандарта в 1983 г. Она поддержана Международным консультативным комитетом по телефонии и телеграфии (МККТТ), ныне Международным союзом электросвязи, секция Телекоммуникаций (МСЭ-Т, ITU-T) Рекомендаци­ей Х. 200. Эта модель является основополагающей при рассмотрении любых вопросов, связанных с проектированием, строительством и эксп­луатацией систем связи. Она следует принципам АОС и имеет уровневую структуру.

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

Стандартом № 7498 предусмотрена семиуровневая организация от­крытых систем. Каждый уровень имеет свое название и номер от У1 до У7 , изменяющийся снизу вверх (рис. 1.13).

Рис. 1.13. Семиуровневая организация от­крытых систем

Международное и российскоенаи­менование уровней и принятые сокращения приведены в табл. 1.1.

Таблица 1.1

Классификация уровней открытых систем

Номер уровня

Международное наименование уровня

Сокращение

Российское

наименование уровня

Сокращение

Прикладной

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

Сеансовый

Транспортный

Канальный

Физический

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

Каждую открытую систему можно структурировать по некоторым при­знакам (рис. 1.14). С одной стороны, условно все уровни можно разбить на две группы: уровни сети связи (У1 –У4) и уровни пользователя (У5 –У7) .Первой группой уровней обеспечивается передача сообщений средства­ми электрической связи по сети. Вторая группа уровней составляет ин­формационное обеспечение передачи (приема) сообщений с точки зре­ния их содержания, формы и моментов представления.

Рис. 1.14. Структурирование открытой системы

С другой стороны, на двух верхних уровнях (У7, У6) происходят процессы подготовки сообщений к передаче (информационные про­цедуры), на двух последующих (У5, У4) - формирование процес­са передачи и "вхождение" сообщения в сеть связи (транспортные процедуры), а на трех нижних (У3, У2, У1) - выбор маршрута передачи,преобразование сообщений в электрические сигналы и обратно, контроль правильности передачи (сетевые процедуры).

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

К первому шагу относятся следующие понятия:

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

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

– уровень – логическое понятие, определяющее порядок следования подсистем в системе.

Эти понятия определяют архитектуру ЭМ ВОС, утверждая основ­ной ее принцип – раздельность и независимость уровней. Это яркий пример использования принципа декомпозиции для упрощения понимания работы сложных систем.

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

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

Второй шаг стандартизации включает в себя следующие понятия:

– процессы (механизмы, функции) – набор определенных логических процедур, специфичных для данной подсистемы, выполняемых ее активными элементами;

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

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

И, наконец, третий шаг стандартизации содержит следующие понятия:

– протокол – регламентированный набор команд и ответов, определя­ющий взаимодействие одноименных уровней разных ОС в штатных и нештатных ситуациях;

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

В противовес понятиям "подсистема" и "уровень", являющимися раз­деляющими, понятия "протокол" и "интерфейс" объединяющие, интег­рируют работу отдельных подсистем разных ОС; позволяя им осуще­ствить взаимосвязь на логическом и физическом уровнях.

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

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

Физический уровень – взаимодействие ОС с физической средой, формирование и контроль сигнала, синхронизация, организация физи­ческого канала на звене и контроль за его целостностью.

Услуга уровню У2 – наличие физического канала на звене сети, воз­можность передачи информационного сигнала по нему.

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

Услуга уровню У3 – наличие качественного канала передачи данных на звене, гарантия обеспечения требуемой точности передачи.

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

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

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

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

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

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

Услуга уровню У7 – возможность представления информации в про­извольном виде.

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

Услуга пользователю (прикладному процессу) – возможность выбора той или иной службы сети и возможность пользоваться услугами си­стемы связи.

Основной задачей, решаемой при создании компьютерных сетей, является обеспечение совместимости оборудования по электрическим и механическим характеристикам и обеспечение совместимости информационного обеспечения (программ и данных) по системе кодирования и формату данных. Решение этой задачи относится к области стандартизации. Одним из примеров решения данной задачи является так называемая модель взаимосвязи открытых систем OSI (Model of Open System Interconnections).

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

Уровни модели OSI (в направлении снизу вверх) и их общие функции можно рассмотреть следующим образом:

Рассмотрим, как в модели SI происходит обмен данными между пользователями, находящимися на разных континентах.

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

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

3. На сеансовом уровне компьютер пользователя взаимодействует с локальной или глобальной сетью. Протоколы этого уровня проверяют права пользователя на «выход в эфир» и передают документ к протоколам транспортного уровня.

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

5. Сетевой уровень определяет маршрут движения данных в сети. Так, например если на транспортном уровне данные были «нарезаны» на пакеты, то на сетевом уровне каждый пакет должен получить адрес, по которому он должен быть доставлен независимо от прочих пакетов.

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

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


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

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

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

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

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

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

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

Ниже в таблице приводится аналогия между уровнями модели OSI и операциями служб пересылки обычной почты.