1.2.1. Модель и стек протоколов OSI

Методологической основой стандартизации в компьютерных сетях является многоуровневый подход к разработке средств сетевого взаимодействия. Именно на этом подходе базируется стандартная модель взаимодействия открытых систем OSI (Open System Interconnection). Она была создана в начале 1980-х годов на основе технических предложений Международного института стандартов ISO и сыграла важную роль в развитии компьютерных сетей.

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

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

Подпись: Прикладной A (Application)
Представительный P (Presentation)
Сеансовый S   (Session)
Транспортный T (Transport)
Сетевой N (Network)
Канальный L (Data Link)  
Физический Phy (Physical)

Рис. 1.1. Модель OSI

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

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

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

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

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

на прикладном уровне с помощью специальных приложений пользователь создает документ (сообщение, рисунок и т.п.);

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

на сеансовом уровне компьютер пользователя взаимодействует с локальной или глобальной сетью. Протоколы этого уровня проверяют права пользователя «на выход в эфир» и передают документ протоколам транспортного уровня;

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

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

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

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

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