Эталонная модель взаимодействия открытых систем – OSI

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

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

В начале 80-х годов ряд международных организаций по стандартизации (ISO, ITU-T и некоторые другие) разработали модель, которая сыграла значительную роль в развитии сетей. Эта модель называется моделью взаимодействия открытых систем (Open System Interconnection, OSI) или моделью OSI. Модель OSI определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какие функции должен выполнять каждый уровень. Эта модель описывает только системные средства взаимодействия, которые реализуются ОС, системными утилитами, системными аппаратными средствами. Эта модель не включает средства взаимодействия приложений конечных пользователей. Приложения реализуют свои собственные протоколы взаимодействия, обращаясь к системным средствам. В модели OSI средства взаимодействия делятся на 7 уровней:

1. Физический уровень отвечает за пересылку данных.

2. Канальный уровень определяет порядок получения и отправки данных.

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

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

5. Сеансовый уровень устанавливает каналы взаимодействия между сетями.

6. Уровень представления данных формирует информацию, устанавливая форматы и структуры данных.

7. Уровень приложений определяет порядок взаимодействия приложений с сетью.

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

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

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

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

Наряду с термином «сообщение» (message) в стандартах для обозначения единиц данных, с которым имеют дело протоколы различных уровней, используется общее название – «протокольный блок данных» (Protocol Data Unit, PDU). Для обозначения блоков данных определенных уровней используются специальные названия:

Кадр (frame) – это протокольный блок данных канального уровня, пакет (packet) – это протокольный блок данных сетевого уровня, дейтаграмма (datagram) – это блок информации, передаваемый протоколом без предварительного установления соединения и создания виртуального канала. Сегмент сети (network segment) – участок локальной сети, отделенный от других повторителем, концентратором, мостом, коммуникатором или маршрутизатором.

В модели OSI различают два основных типов протокола:

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

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

Прохождение запроса между двумя узлами сети.

Рассмотрим пример прохождения запроса между двумя узлами сети – узлом «А» и узлом «B».

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

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

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

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

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


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



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