Международной организацией по стандартизации (InternationalStandardizationOrganization — ISO) было разработана сетевая модель OSI (англ. OpenSystemInterconnectionReferenceModel — модель взаимодействия открытых систем), которая решает проблему стандартизации подключений различного оборудования.
Сетевая модель OSI — абстрактная модель для разработки сетевых протоколов и сетевых коммуникаций, единого представления данных в сетях с различными устройствами и программным обеспечением. Данная модель, реализующая уровневый подход к сети, определяет процедуры и правила передачи данных в различных сетевых средах. Она представляет из себя семиуровневую сетевую иерархию, уровни которой, изображенные на рисунке, выполняют определенные задачи в процессе передачи информации по сети и обслуживают различные части процесса области взаимодействия открытых систем.
Модель ISO определяет цель эталонной модели следующим образом: «Обеспечение общей базы для координации разработки стандартов, предназначенных для взаимодействия систем, с учетом того, что в перспективе существующие стандарты будут описаны в рамках общей эталонной модели».
По существу, OSI является управляющей структурой, которая упрощает передачу данных в иерархической системе из семи уровней. Каждый уровень имеет определенное назначение и взаимодействует с соседними верхним и нижнем уровнями. Стандарты определяются для каждого уровня таким образом, чтобы обеспечить некоторую гибкость, позволяя проектировщикам системы разрабатывать независимые уровни протоколов. Любые два или более уровней вместе образуют так называемый стек протоколов.
Модель OSI, показанная в таблице 1, полезна в обеспечении универсальной основы для всех коммуникационных систем. Однако она не определяет реальный протокол, который должен использоваться на каждом уровне. Предполагается, что группы производителей в различных отраслях промышленности, сотрудничая, выработают стандарты программного и аппаратного обеспечения, наиболее подходящие именно для их отрасли. Те же, кто ищет единый базис для своих специфических требований к обмену данными, с энтузиазмом воспользовались моделью OSI и используют ее в качестве основы для выработки своих промышленных стандартов, таких как Fieldbus и HART.
Таблица 1
Семиуровневая сетевая модель OSI
Номер уровня |
Название |
Назначение |
Пример |
1 |
Физический |
Электрические и механические свойства системы |
Стандарт l0BaseT Стандарт 10Base2/10Base5 Стандарт 10 BaseF |
2 |
Канальный |
Передача по физическому адресу по сети. Создание кадров данных и коррекция ошибок |
Ethernet Token Ring Протокол Carrier Sense Multiple Access / Collision Detection — Сети с множественным доступом с контролем несущей и обнаружением коллизий |
3 |
Сетевой |
Определение пути передачи сообщения от одной сети к другой |
Internet Protocol Internetwork Packet Exchange Datagram Delivery Protocol |
4 |
Транспортный |
Определение канала передачи сообщений от одного прикладного процесса к другому |
Transmission Control Protocol Sequenced Packet Exchange Apple Talk Transaction Protocol — Протоколуправлениятранзакциями Apple Talk |
5 |
Сеансовый |
Организация и синхронизация передачи данных |
Сервисы печати Разделяемые файловые системы |
6 |
Представительный |
Форматирование или кодирование/декодирование данных |
Код AmericanStandardCodeforInformationInterchange — Американский стандартный код для обмена информацией |
7 |
Прикладной |
Передача данных, обмен сообщениями |
Электронная почта Удаленный доступ |
Важно понимать, что эталонная модель OSI является не протоколом или набором правил написания протокола, а общим каркасом, определяющим протоколы. Построение модели OSI четко и конкретно определяет функции или службы, которые должны обеспечиваться каждым из семи уровней (или слоев).
Взаимодействие уровней сетевой модели OSI можно поделить на две модели взаимодействия:
‒ Горизонтальная модель взаимодействия, которая обеспечивает связь программ и процессов на различных устройствах;
‒ Вертикальная модель взаимодействия, которая обеспечивает работу между сетевыми уровнями на одном устройстве.
При передаче данных происходит взаимодействие между сетевыми уровнями, изображенными на рисунке 1, устройства-отправителя и устройства-получателя. Такая связь именуется логической или виртуальной, хотя на самом деле взаимодействие происходит между смежными уровнями одного устройства. Устройство-отправитель получает запрос, на основание которого формируется сообщение стандартного формата, имеющее заголовок определенного уровня и поля данных.
Сообщение проходит по стеку между уровнями, где на основании информации, полученной из заголовка верхнего уровня, выполняются определенные функции и добавляется заголовок текущего уровня, содержащий информацию для того же уровня устройства-получателя. Сообщение, передающееся вниз, «обрастает» заголовками всех уровней и принимаются по физической среде устройством-получателем. И снова, сообщение последовательно перемещается вверх до того же уровня, с которого это сообщение было отправлено устройством-отправителем.
Рис. 1. Взаимодействие устройств в модели OSI
Роль каждого уровня в этой сетевой модели — анализ и обработка заголовков, несущих информацию своего уровня, относительно которой происходит выполнение соответствующих уровню функций, а затем заголовок удаляется и сообщение передается на уровень выше.
При горизонтальной модели взаимодействия двум устройствам требуется общий протокол, реализующий обмен данными между ними. В вертикальной модели соседние уровни обмениваются информацией с использованием API (ApplicationProgrammingInterface) — интерфейса прикладных программ.
Прикладной уровень является самым верхним уровнем OSI/RM. Он отвечает за предоставление приложениям доступа к сети. Примерами задач прикладного уровня являются передача файлов, электронная почта и сетевое управление.
Для выполнения этих задач прикладной уровень передает запросы программ и данных на уровень представления, который отвечает за кодирование данных прикладного уровня и их перевод в соответствующую форму.
Представительный уровень преобразует данные в форму, подходящую для транспортного уровня. Он преобразует формат и синтаксис данных, обеспечиваемых приложениями, и производит кодирование и сжатие данных.
Сеансовый уровень управляет взаимодействием между устройствами. Он определяет использование программного обеспечения, которое позволяет обращаться к другому устройству по имени, а не с помощью двоичного адреса (логическая адресация). Он также обеспечивает восстановление прерванных сеансов связи.
Транспортный уровень определяет:
‒ управление связью между двумя концами системы;
‒ передачу данных с согласованным качеством;
‒ учет и корректное сегментирование пакетов в больших сообщениях, что улучшает надежность передачи данных.
Сетевой уровень определяет:
‒ маршрутизацию пакетов информации по сети;
‒ регламентирование и передачу сообщений состояния другим устройствам сети;
‒ разбиение больших пакетов, принимаемых от транспортного уровня, на маленькие пакеты;
‒ обеспечение прохождения кадров через нижерасположенную сеть.
Из-за определенной направленности промышленной сети из всех семи уровней сетевой модели OSI используются только два: физический и канальный.
Физический уровень является первым уровнем сетевой модели OSI. Он предназначен для объединения с совокупностью физической среды, аппаратных и программных средств, обеспечивающих передачу сигналов между системами. Первый уровень модели OSI определяет метод передачи данных, представленных в бинарном виде, от одного устройства к другому. Единицей измерения, используемой на данном уровне, является бит, то есть физический уровень осуществляет передачу потока битов по физической среде с использование соответствующего интерфейса.
Физический уровень состоит из подуровня стыковки со средой и подуровня преобразования передачи. Подуровень стыковки обеспечивает совмещение потока данных с используемым физическим каналом связи. Подуровень преобразования передачи осуществляет преобразования, связанные с применяемыми протоколами. Физический уровень описывает процедуры передачи сигналов в канал и получения их из канала, а также обеспечивает физический интерфейс с каналом передачи данных. На данном уровне определяются различные параметры (электрические, механические, функциональные, процедурные) для физической связи в системах. Преобразование данных в оптические или электрические сигналы происходит от вышележащего канального уровня. Эти сигналы отправляются через среду передачи на приемный узел.
Физический уровень выполняет следующие функции:
- Идентификация каналов.
- Прослушивание каналов.
- Установление и разъединение физических соединений.
- Передачи и прием сигналов в последовательном канале.
- Оповещение о появлении неисправностей и отказов в сети.
На физическом уровне происходит выявление определенного класса неисправностей, затрудняющих работу сети: оповещение о столкновение кадров, отправленных сразу несколькими системами, обрыв канала, отключение питания, потеря механического контакта. Предоставляемые канальному уровню виды сервиса, определяются протоколами физического уровня. При подключение к одному каналу, в котором передача сигналов разрешается только одной из групп систем, используется прослушивание каналов, позволяющее определить, свободен ли он для передачи.
Во всех устройствах, подключенных к сети, реализуются функции физического уровня. За выполнением функций физического уровня со стороны компьютера отвечает сетевой адаптер. Единственным типом оборудования, работающим только на физическом уровне, является повторитель.
Физический уровень устанавливает такие виды сред передачи данных как витая пара коаксиальный, оптоволокно, спутниковый канал передачи данных.
Канальный уровень является вторым уровнем сетевой модели OSI. Он определяет правила получения доступа к среде передачи данных, логическую топологию сети, решает вопросы, связанные с адресацией физических устройств в рамках логической сети и управлением передачей информации (синхронизация передачи и сервис соединений) между сетевыми устройствами.
Единицей измерения канального уровня являются кадры (frame). Кадры — это структура, в которой размещены данные. Канальный уровень осуществляет передачу кадров между устройствами, подключенных к одному сетевому сегменту, от сетевого уровня к физическому. При передачи бит на физическом уровне не всегда учитывается, что в некоторых сетях линия связи используется попеременно несколькими устройствами сразу. Поэтому проверка доступности среды передачи данных является одной из задач канального уровня, как и реализация методов поиска и коррекции ошибок.
Помещая определенную последовательность бит, в начало и конец каждого кадра, изображенного на рисунке, канальный уровень обеспечивает корректность передачи каждого кадра, показанного на рисунке 2.
Рис. 2. Структура кадра канального уровня
Далее, суммируя определенным образом байты и добавляя контрольную сумму, кадры доходят до получателя, где снова вычисляется контрольная сумма полученных данных и сравнивается результат с суммой из кадра. При совпадение сумм, кадр считает правильным, в противном случае, регистрируется ошибка.
Канальным уровнем определяется доступ к среде и управление передачей данных по каналу. При получение кадров из них формируются переданные блоки данных, размер которых зависит от качества канала и способа передачи. При больших размерах блоки данных делятся на кадры и передаются в виде последовательностей.
Канальный уровень выполняет следующие функции:
- Установление, расторжение и управление канальных соединений и идентификация их портов.
- Обнаружение и коррекция ошибок.
- Организация передачи кадров.
- Передача данных, закодированных различными способами, по логическим каналам.
- Управление потоками данных.
Литература:
- Парк Дж., Маккей С., Райт Э. Передача данных в системах контроля и управления. / Парк Дж., Маккей С., Райт Э; [перевод с англ. В. В. Савельева]. — М.: ООО «Группа ИДТ», 2007. — 480 с.
- Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы. / Олифер В. Г., Олифер Н. А. — СПб.: Питер, 2010–944 с.