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

В 1977 году Международная Организация по Стандартизации (International Organization for Standartization, ISO) образовала подкомитет, задачей которого стала разработка стандарта сетевой архитектуры с целью поддержки совместимости при проекти­ровании сетей. Подкомитету была поставлена цель – определить набор наиболее характерных функций, которые могли бы управлять всеми возможными видами соединений между компьютерами.

Название организации ISO – это не сокращение от полного названия. Оно произведено от древнегреческого слова isos, означающего «равенство».

В 1983 г. был опубликован документ “The Basic Reference Model for Open System Interconnection”, где была описана распределённая модель сетевого взаимодействия между 7 различными уровнями. Модель взаимодействия открытых систем (Open System Interconnection, OSI):

§ четко определяет различные уровни взаимодействия систем;

§ дает им стандартные имена;

§ указывает, какую работу должен делать каждый уровень.

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

Рис. 4.1 - Модель взаимодействия открытых систем (двигаясь по стеку протоколов вниз, данные «обрастают» заголовками и трейлерами)

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

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

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

В сетевом взаимодействии следует различать понятия «информация» и «данные».

Информация (information) характеризуется структурой, значением и полнотой. Это данные в форме, пригодной для ис­пользования. Данные не имеют ничего.

Данные (data) есть произвольный набор байтов.

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

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

Рис. 4.2 - Функции семи уровней модели OSI. Уровни 1,2,3 являются соответственно физическим, канальным и сетевым уровнями

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

Процесс добавления заголовков к запросу, сгенерированному приложением, называется инкапсуляцией данных (data encapsulation).

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

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

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

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

Кроме этого, используются термины кадр (frame), пакет (packet), дейтаграмма (datagram).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: