• Предисловие
  • Глава 1.
    Исторические предпосылки развития высокоскоростных сетей передачи данных
  • Глава 2.
    Эталонная модель взаимодействия открытых систем ЭМВОС (Open System Interconnection - модель OSI)
  • Глава 3.
    Международные стандартизирующие организации
  • Глава 4.
    Физическое и логическое кодирование данных
  • Глава 5.
    Узкополосные и широкополосные системы. Мультиплексирование данных
  • Глава 6.
    Режимы передачи данных. Среды передачи
  • Глава 7.
    Структурированные кабельные системы
  • Глава 8.
    Топологии систем передачи данных
  • Глава 9.
    Методы доступа в канал
  • Глава 10.
    Технологии коммутации
  • Глава 11.
    Связь сегментов сетей
  • Литература

Глава 2. Эталонная модель взаимодействия открытых систем ЭМВОС (Open System Interconnection - модель OSI)

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

7Прикладной (или уровень приложения, Application)
6Представительный (или уровень представления, Presentation)
5Сеансовый (или уровень сессии, Session)
4Транспортный (Transport)
3Сетевой (Network)
2Канальный (или уровень звена данных, Data Link)
1Физический (Physical)
Рис. 2.1. Уровни взаимодействия в сети в соответствии с ЭМВОС (OSI)

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

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

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

Архитектура процессов в сети в соответствии с ЭМВОС
Рис.2.2. Архитектура процессов в сети в соответствии с ЭМВОС

Сформированное сообщение прикладной уровень направляет вниз по стеку представительному уровню (Presentation). Программный модуль представительного уровня на основании информации, полученной из заголовка прикладного уровня, выполняет требуемые действия и добавляет к сообщению свою служебную информацию – заголовок представительного уровня, в котором содержатся указания для модуля представительного уровня компьютера – получателя. Сформированный блок данных передается вниз по стеку сеансовому уровню (Session), который в свою очередь добавляет свой заголовок и т.д. Когда сообщение достигает нижнего физического уровня (Physical), оно «обрастает» заголовками всех уровней. Физический уровень обеспечивает передачу сообщения по линии связи, то есть через физическую среду передачи.

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

Правила (спецификации), по которым взаимодействуют компоненты систем, называются протоколами. В модели ЭМВОС различают два основных типа протоколов. В протоколах с установлением соединения (connection-oriented network service) перед обменом данными отправитель и получатель (сетевые компоненты одного уровня в удаленных системах) должны сначала установить логическое соединение и, возможно, выбрать протокол, который будут использовать. После завершения диалога они должны разорвать соединение. В протоколах без предварительного установления соединения (connectionless network service) отправитель просто передает данные. Эти протоколы также называются дейтаграммными.

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

Для обозначения блока данных, с которым имеют дело модули определенного уровня, в модели ЭМВОС используется общее название протокольный блок данных (Protocol Data Unit, PDU). В то же время блок данных определенного уровня имеет и специальное название (Рис.2.3).

7Прикладной Сообщение (Message)
6Представительный Пакет (Packet)
5Сеансовый Пакет (Packet)
4Транспортный Пакет (Packet)
Сегмент (Segment)
3Сетевой Пакет (Packet)
Дейтаграмма (Datagram)
2Канальный Кадр, фрейм (Frame)
1Физический Бит (Bit)
Рис.2.3. Уровни ЭМВОС и протокольные блоки данных

Кратко рассмотрим функции, отнесенные к разным уровням ЭМВОС.

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

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

На этом уровне определяется:

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

Примерами реализации протоколов физического уровня являются RS-232, RS-449, RS-530 и множество спецификаций МСЭ-Т серии V и X (например, V.35, V.24, X.21).

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

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

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

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

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

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

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

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

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

Передача информации между сегментами сложной сети
Рис.2.4. Передача информации между сегментами сложной сети

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

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

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

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

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

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

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

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

Уровень представления

Передача информации между сегментами сложной сети

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

Прикладной уровень (уровень приложения)

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

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

Примерами протоколов этого уровня являются: Telnet, X.400, FTP, HTTP.

Выводы

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

Разработчики модели полагали, что ЭМВОС и протоколы, разрабатываемые в ее рамках, будут преобладать в средствах компьютерной связи, и, в конце концов, вытеснят фирменные протоколы и конкурирующие модели, такие как TCP/IP. Но этого не произошло, хотя в рамках модели были созданы полезные протоколы. В настоящее время большинство поставщиков сетевого оборудования определяют свои продукты в терминах ЭМВОС (OSI).

Дополнительная информация

International Organization for Standardization, Information Processing Systems-Open System Interconnection-Basic Reference Model, ISO7498-1984

Контрольные вопросы

  • Модель OSI является:
    • Международным стандартом.
    • Паневропейским стандартом.
    • Национальным стандартом.
    • Фирменным стандартом.
  • Что определяет модель OSI (исключите ошибочное утверждение):
    • Правила взаимодействия двух сетевых объектов, последовательность и форматы сообщений, которыми они обмениваются.
    • Количество уровней.
    • Названия уровней.
    • Функции, относящиеся к каждому уровню.
  • Можно ли представить себе другой вариант модели взаимодействия открытых систем с другим количеством уровней, например, 12 или 4:
    • Нет, природа сетей требует определения именно семи уровней.
    • Уже существует новая версия модели OSI из 12 уровней.
    • Уже существует новая версия модели OSI из 4 уровней.
    • Да, 7 уровней – это только одно из возможных решений.
  • Зачем нужен заголовок (header) в протокольных блоках данных ЭМВОС?
    • Для обеспечения синхронизации между передающим и принимающим компьютером.
    • Для размещения управляющей информации протоколов.
    • Для размещения открывающего флага блока данных.
    • В частности для размещения адресов сетевых устройств или процессов.
Hosted by uCoz