Модель OSI - OSI model

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

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

Модель OSI была разработана в конце 1970-х годов для поддержки появления разнообразных методов компьютерных сетей, которые конкурировали за применение в крупных национальных сетевых проектах по всему миру. В 1980-х годах эта модель стала рабочим продуктом группы взаимодействия открытых систем Международной организации по стандартизации (ISO). Пытаясь дать исчерпывающее описание сети, модель не смогла заручиться поддержкой архитекторов программного обеспечения при проектировании раннего Интернета , что нашло отражение в менее строгом пакете Интернет-протокола , в основном спонсируемом под эгидой Инженерной группы Интернета. (IETF).

Связь в модели OSI (пример с уровнями с 3 по 5)

История

В начале и середине 1970-х создание сетей в основном либо спонсировалось правительством ( сеть NPL в Великобритании, ARPANET в США, CYCLADES во Франции), либо разрабатывались поставщиками с использованием проприетарных стандартов, таких как IBM 's Systems Network Architecture и Digital. Equipment Corporation «S DECnet . Общедоступные сети передачи данных только начинали появляться, и в конце 1970-х они начали использовать стандарт X.25 .

Экспериментальная Packet Switched системы в Великобритании около 1973-5 выявлено необходимости в определении протоколов более высокого уровня. Публикация Национального вычислительного центра Великобритании «Почему распределенные вычисления», основанная на значительном исследовании будущих конфигураций компьютерных систем, привела к тому, что Великобритания представила доводы в пользу международного комитета по стандартам для рассмотрения этой области на встрече ISO в Сиднее в марте 1977 года.

Начиная с 1977 года Международная организация по стандартизации (ISO) провела программу по разработке общих стандартов и методов создания сетей. Аналогичный процесс развился в Международном консультативном комитете по телеграфу и телефону (CCITT, с французского: Comité Consultatif International Téléphonique et Télégraphique). Обе организации разработали документы, определяющие аналогичные сетевые модели. Модель OSI была впервые определена в необработанном виде в Вашингтоне, округ Колумбия, в феврале 1978 года Хубертом Циммерманном из Франции, а усовершенствованный, но все еще проект стандарта был опубликован ISO в 1980 году.

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

В 1983 году документы CCITT и ISO были объединены в основную Эталонная модель взаимодействия открытых систем, как правило , упоминается как Open Systems Interconnection Reference Model , Эталонная модель OSI , или просто модели OSI . Он был опубликован в 1984 году как ISO, как стандарт ISO 7498 , так и переименованным CCITT (теперь он называется Сектор стандартизации электросвязи Международного союза электросвязи или ITU-T ) как стандарт X.200 .

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

Концепция семиуровневой модели была предложена Чарльзом Бахманом из Honeywell Information Systems . Различные аспекты дизайна OSI возникли на основе опыта работы с сетью NPL, ARPANET, CYCLADES, EIN и Международной сетевой рабочей группой ( IFIP WG6.1). В этой модели сетевая система была разделена на уровни. Внутри каждого уровня одна или несколько сущностей реализуют его функциональные возможности. Каждая сущность напрямую взаимодействовала только со слоем, находящимся непосредственно под ней, и предоставляла средства для использования слою над ней.

Документы стандартов OSI доступны в ITU-T в виде рекомендаций серии X.200. Некоторые спецификации протокола также были доступны как часть серии ITU-T X. Эквивалентные стандарты ISO и ISO / IEC для модели OSI можно получить в ISO. Не все бесплатны.

OSI был отраслевым усилием, направленным на то, чтобы участники отрасли согласились на общие сетевые стандарты для обеспечения совместимости с различными поставщиками. Для больших сетей было обычным делом поддерживать несколько наборов сетевых протоколов, при этом многие устройства не могли взаимодействовать с другими устройствами из-за отсутствия общих протоколов. В течение периода в конце 1980-х - начале 1990-х инженеры, организации и нации были поляризованы по вопросу о том, какой стандарт , модель OSI или набор Интернет-протоколов , приведет к созданию лучших и наиболее надежных компьютерных сетей. Однако, в то время как OSI разработала свои сетевые стандарты в конце 1980-х, TCP / IP получил широкое распространение в мультивендорных сетях для межсетевого взаимодействия .

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

Определения

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

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

Обработка данных двумя взаимодействующими OSI-совместимыми устройствами происходит следующим образом:

  1. Данные, которые должны быть переданы, объединяются на самом верхнем уровне передающего устройства (уровень N ) в блок данных протокола ( PDU ).
  2. PDU передается к слою N-1 , где он известен как блок служебных данных ( SDU ).
  3. На слое N-1 СД является сцепляется с заголовком, в сноске, или оба, образуя слой N-1 PDU . Затем он передается на слой N-2 .
  4. Процесс продолжается до достижения самого нижнего уровня, с которого данные передаются на принимающее устройство.
  5. На принимающем устройстве данные передаются от низшего к высшему уровню в виде последовательности SDU , последовательно удаляясь из верхнего или нижнего колонтитула каждого уровня, пока не достигнут самого верхнего уровня, где потребляются последние данные.

Стандарты документов

Модель OSI была определена в ISO / IEC 7498, который состоит из следующих частей:

  • ISO / IEC 7498-1 Базовая модель
  • ISO / IEC 7498-2 Архитектура безопасности
  • ISO / IEC 7498-3 Именование и адресация
  • Структура управления ISO / IEC 7498-4

ISO / IEC 7498-1 также опубликован как Рекомендация ITU-T X.200.

Слойная архитектура

Рекомендация X.200 описывает семь уровней, обозначенных от 1 до 7. Уровень 1 - самый нижний уровень в этой модели.

Модель OSI
Слой Блок данных протокола (PDU) Функция

Слои хоста
7 заявка Данные API высокого уровня , включая совместное использование ресурсов, удаленный доступ к файлам
6 Презентация Трансляция данных между сетевой службой и приложением; включая кодировку символов , сжатие данных и шифрование / дешифрование
5 Сессия Управление сеансами связи , т. Е. Непрерывный обмен информацией в форме множественных передач в прямом и обратном направлении между двумя узлами.
4 Транспорт Сегмент , дейтаграмма Надежная передача сегментов данных между точками в сети, включая сегментацию , подтверждение и мультиплексирование

Слои медиа
3 Сеть Пакет Структурирование и управление многоузловой сетью, включая адресацию , маршрутизацию и управление трафиком.
2 Канал передачи данных Рамка Надежная передача кадров данных между двумя узлами, соединенными физическим уровнем
1 Физический Бит , символ Передача и прием необработанных битовых потоков по физическому носителю


Уровень 1: физический уровень

Физический уровень отвечает за передачу и прием неструктурированных исходных данных между устройством и физической средой передачи . Он преобразует цифровые биты в электрические, радио или оптические сигналы. Спецификации уровня определяют такие характеристики, как уровни напряжения, время изменения напряжения, физические скорости передачи данных, максимальные расстояния передачи, схему модуляции, метод доступа к каналу и физические разъемы. Это включает расположение контактов , напряжения , полное сопротивление линии , характеристики кабеля, синхронизацию сигнала и частоту для беспроводных устройств. Управление скоростью передачи данных осуществляется на физическом уровне и может определять режим передачи как симплексный , полудуплексный и полнодуплексный . Компоненты физического уровня можно описать с точки зрения топологии сети . Спецификации физического уровня включены в спецификации повсеместно распространенных стандартов Bluetooth , Ethernet и USB . Примером менее известной спецификации физического уровня может служить стандарт CAN .

Уровень 2: уровень канала передачи данных

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

IEEE 802 делит уровень канала данных на два подуровня:

Уровни MAC и LLC сетей IEEE 802, таких как 802.3 Ethernet , 802.11 Wi-Fi и 802.15.4 ZigBee, работают на уровне канала передачи данных.

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

Стандарт ITU-T G.hn , который обеспечивает высокоскоростную локальную сеть по существующим проводам (линии электропередач, телефонные линии и коаксиальные кабели), включает в себя полный уровень канала передачи данных, который обеспечивает как исправление ошибок, так и управление потоком посредством выборочного -повторять протокол скользящего окна .

Безопасность, в частности (аутентифицированное) шифрование, на этом уровне может быть применено с помощью MACSec .

Уровень 3: сетевой уровень

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

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

Ряд протоколов управления уровнями, функция, определенная в приложении по управлению ISO 7498/4, относится к сетевому уровню. К ним относятся протоколы маршрутизации, управление группами многоадресной рассылки, информация и ошибки сетевого уровня, а также назначение адресов сетевого уровня. Это функция полезной нагрузки, которая делает их принадлежащими сетевому уровню, а не протоколу, который их переносит.

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

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

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

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

OSI определяет пять классов транспортных протоколов в режиме соединения в диапазоне от класса 0 (который также известен как TP0 и обеспечивает наименьшее количество функций) до класса 4 (TP4, разработанный для менее надежных сетей, подобных Интернету). Класс 0 не содержит средства восстановления после ошибок и был разработан для использования на сетевых уровнях, которые обеспечивают безошибочные соединения. Класс 4 наиболее близок к TCP, хотя TCP содержит такие функции, как постепенное закрытие, которое OSI назначает на уровне сеанса. Кроме того, все классы протокола режима соединения OSI TP обеспечивают ускорение передачи данных и сохранение границ записей. Подробные характеристики классов TP0-4 приведены в следующей таблице:

Название функции TP0 TP1 TP2 TP3 TP4
Сеть, ориентированная на подключение да да да да да
Сеть без установления соединения Нет Нет Нет Нет да
Конкатенация и разделение Нет да да да да
Сегментация и повторная сборка да да да да да
Восстановление после ошибки Нет да да да да
Восстановить соединение a Нет да Нет да Нет
Мультиплексирование / демультиплексирование по одному виртуальному каналу Нет Нет да да да
Явное управление потоком Нет Нет да да да
Повторная передача по таймауту Нет Нет Нет Нет да
Надежное транспортное обслуживание Нет да Нет да да
a Если неподтверждено слишком большое количество PDU .

Легкий способ визуализировать транспортный уровень - сравнить его с почтовым отделением, которое занимается отправкой и классификацией отправляемых почтовых отправлений и посылок. Почтовое отделение проверяет только внешний конверт почты, чтобы определить его доставку. Более высокие уровни могут иметь эквивалент двойных конвертов, таких как службы криптографического представления, которые могут быть прочитаны только адресатом. Грубо говоря, протоколы туннелирования работают на транспортном уровне, например, проведение не-IP протоколы , такие как IBM «с СНС или Novell » ы IPX по сети IP, или от конца до конца шифрования с помощью IPsec . Хотя общая инкапсуляция маршрутизации (GRE) может показаться протоколом сетевого уровня, если инкапсуляция полезной нагрузки происходит только в конечной точке, GRE становится ближе к транспортному протоколу, который использует заголовки IP, но содержит полные кадры уровня 2 или уровня 3. пакеты для доставки в конечную точку. L2TP передает кадры PPP внутри транспортных сегментов.

Хотя протокол управления передачей (TCP) и протокол пользовательских дейтаграмм (UDP) пакета Internet Protocol Suite не был разработан в соответствии с эталонной моделью OSI и не соответствует строго определению транспортного уровня OSI , он обычно классифицируется как протоколы уровня 4 в рамках OSI.

Безопасность транспортного уровня (TLS) также строго не вписывается в эту модель. Он содержит характеристики транспортного и презентационного уровней.

Уровень 5: Сеансовый уровень

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

В современной системе TCP / IP сеансовый уровень не существует и является просто частью протокола TCP.

Уровень 6: Уровень презентации

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

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

Оригинальная структура презентации использованы основные правила кодирования из абстрактного синтаксиса Notation One (ASN.1), с такими возможностями, как преобразование в EBCDIC -coded текстового файла с ASCII -coded файла или сериализацией из объектов и других структур данных из и в XML . ASN.1 фактически делает протокол приложения инвариантным относительно синтаксиса.

Уровень 7: Уровень приложения

Прикладного уровня представляет собой слой ИОО ближе к конечному пользователю, что означает , как прикладной уровень OSI и пользователю взаимодействовать непосредственно с программным приложением. Этот уровень взаимодействует с программными приложениями, реализующими коммуникационный компонент. Такие прикладные программы выходят за рамки модели OSI. Функции прикладного уровня обычно включают в себя идентификацию партнеров по обмену данными, определение доступности ресурсов и синхронизацию связи. При идентификации партнеров по связи прикладной уровень определяет идентичность и доступность партнеров по связи для приложения с данными для передачи. Наиболее важным различием на уровне приложения является различие между сущностью приложения и приложением. Например, веб-сайт бронирования может иметь два объекта-приложения: один использует HTTP для связи со своими пользователями, а другой - протокол удаленной базы данных для записи бронирований. Ни один из этих протоколов не имеет ничего общего с оговорками. Эта логика заложена в самом приложении. На прикладном уровне нет средств для определения доступности ресурсов в сети.

Межуровневые функции

Межуровневые функции - это сервисы, которые не привязаны к данному уровню, но могут влиять на более чем один уровень. Некоторые ортогональные аспекты, такие как управление и безопасность , включают все уровни (см. Рекомендацию ITU-T X.800). Эти услуги нацелены на улучшение триады ЦРУ - конфиденциальность , целостность и доступность - передаваемых данных. На практике межуровневые функции являются нормой, поскольку доступность услуги связи определяется взаимодействием между сетевым дизайном и протоколами управления сетью .

Конкретные примеры межуровневых функций включают следующее:

  • Служба безопасности (электросвязь), как определено в рекомендации ITU-T X.800.
  • Функции управления, т. Е. Функции, которые позволяют настраивать, создавать экземпляры, отслеживать, завершать обмен данными между двумя или более объектами: существует определенный протокол прикладного уровня, общий протокол информации управления (CMIP) и соответствующая ему служба, служба общей информации управления (CMIS). ), им необходимо взаимодействовать с каждым слоем, чтобы иметь дело со своими экземплярами.
  • Многопротокольная коммутация по меткам (MPLS), ATM и X.25 - это протоколы 3a. OSI подразделяет сетевой уровень на три подуровня: 3a) доступ к подсети, 3b) зависимая от подсети конвергенция и 3c) независимая от подсети конвергенция. Он был разработан для предоставления единой службы передачи данных как для клиентов с коммутацией каналов, так и для клиентов с коммутацией пакетов, которые обеспечивают модель обслуживания на основе дейтаграмм . Его можно использовать для передачи множества различных видов трафика, включая IP-пакеты, а также собственные кадры ATM, SONET и Ethernet. Иногда можно увидеть ссылку на слой 2.5.
  • Перекрестное планирование MAC и PHY важно в беспроводных сетях из-за изменяющегося во времени характера беспроводных каналов. Путем планирования передачи пакетов только в благоприятных условиях канала, что требует, чтобы MAC-уровень получал информацию о состоянии канала с PHY-уровня, пропускная способность сети может быть значительно улучшена, и можно избежать потерь энергии.

Программные интерфейсы

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

Например, спецификация интерфейса сетевого драйвера (NDIS) и интерфейс открытого канала передачи данных (ODI) - это интерфейсы между носителями (уровень 2) и сетевым протоколом (уровень 3).

Сравнение с другими сетевыми пакетами

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

Сравнение с моделью TCP / IP

Проектирование протоколов в модели TCP / IP Интернета не связано со строгой иерархической инкапсуляцией и многоуровневостью. RFC 3439 содержит раздел, озаглавленный «Уровни, считающиеся вредными ». TCP / IP действительно распознает четыре широких уровня функциональности, которые происходят из области действия содержащихся в них протоколов: объем программного приложения; транспортный путь от хоста к хосту; межсетевой диапазон; и объем прямых ссылок на другие узлы в локальной сети.

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

  • Уровень приложений Интернета отображается на уровень приложений OSI, уровень представления и большую часть сеансового уровня.
  • TCP / IP , транспортный уровень отображает к изящным тесной зависимости от уровня сеанса OSI, а также транспортного уровня OSI.
  • Интернет - слой выполняет функцию , как те , в подмножестве сетевого уровня OSI.
  • В канальном уровне соответствует канальному OSI и могут включать в себя то же функцию , как на физическом уровень, а также некоторые протоколы сетевого уровня в ЕМ.

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

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

Хотя модель OSI все еще часто упоминается, набор протоколов Интернета стал стандартом для сетей. Прагматический подход TCP / IP к компьютерным сетям и независимой реализации упрощенных протоколов сделал его практической методологией. Некоторые протоколы и спецификации в стеке OSI остаются в использовании, одним из примеров является IS-IS , который был указан для OSI как ISO / IEC 10589: 2002 и адаптирован для использования в Интернете с TCP / IP как RFC  1142 .

Смотрите также

дальнейшее чтение

  • Джон Дэй , «Шаблоны в сетевой архитектуре: возвращение к основам» (Prentice Hall 2007, ISBN  978-0-13-225242-3 )
  • Маршалл Роуз , "Открытая книга" (Prentice-Hall, Englewood Cliffs, 1990)
  • Дэвид М. Писцителло, А. Лайман Чапин, Сети открытых систем (Addison-Wesley, Reading, 1993)
  • Эндрю С. Таненбаум , Компьютерные сети, 4-е издание, (Прентис-Холл, 2002) ISBN  0-13-066102-3
  • Гэри Диксон; Алан Ллойд (июль 1992 г.). Взаимодействие открытых систем / Стандарты компьютерной связи и разъяснения слухов . Прентис-Холл. ISBN 978-0136401117.

использованная литература

внешние ссылки