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

Сетевая модель OSI (The Open Systems Interconnection model) — сетевая модель стека (магазина) сетевых протоколов OSI/ISO. Посредством данной модели различные сетевые устройства могут взаимодействовать друг с другом. Модель определяет различные уровни взаимодействия систем. Каждый уровень выполняет определённые функции при таком взаимодействии.

В начале 80-х гг. прошлого века несколько международных организаций по стандартизации (Международная организация по стандартизации - International Standard Organization (ISO), Международный телекоммуникационных союз - International Telecommunications Unit (ITU) и ряд других) разработали модель сетевого взаимодействия, названную моделью взаимодействия открытых систем (Open System Interconnect - OSI). В этой модели все задачи сетевого взаимодействия систем сгруппированы на семи уровнях и определено функциональное взаимодействие соседних уровней иерархии. 

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

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

Уровни модели OSI

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

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

Примерами протоколов физического уровня являются: EIA-RS-232 - определяет характеристики сигналов и коннекторов COM-портов, спецификация 100 Base-TX - определяет аналогичные характеристики для реализации Fast Ethernet на витой паре и др.

Канальный уровень (Data Link Control - DLC). Основные задачи канального уровня: а) проверка доступности передающей среды; б) реализация механизмов определения и коррекции ошибок; в) реализация адресации сетевых интерфейсов. Примеры механизмов контроля ошибок передачи: а) биты чѐтности; б) контрольные суммы (дополнение суммы байтов (или двухбайтовых слов) до единицы или контрольные суммы, полученные с использованием циклических избыточных кодов CRC). Популярные протоколы канального уровня: Ethernet, Token Ring, Frame Relay.

Сетевой уровень (Network Layer). Основные задачи сетевого уровня:

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

Типы протоколов сетевого уровня:

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

Популярные протоколы сетевого уровня: 1-го типа - протокол Интернета (Internet Protocol - IP), протокол межсетевого обмена пакетами (Internetwork Packet eXchange - IPX); 2-го типа - протокол маршрутной информации (Routing Information Protocol - RIP), протокол "кратчайший путь первым "(Open Shortest Path First - OSPF); 3 типа - протокол определения адреса (Address Resolution Protocol - ARP).

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

  • протокол управления передачей (Transmission Control Protocol - TCP),
  • протокол пользовательских дейтаграмм (User Datagram Protocol - UDP),
  • протокол обмена последовательностями пакетов (Sequenced Packet eXchange - SPX).

Сеансовый уровень (Session Layer). Основные задачи уровня: а) определение активной в данный момент стороны (это предотвращает попытки выполнения в один и тот же момент времени одной и той же операции сервером и клиентом); б) синхронизация соединения с возможностью установки контрольных меток в сеансе. Это позволяет восстановить сеанс с последней контрольной метки при потере соединения. Примерами протоколов сеансового уровня являются протокол вызова удалѐнных процедур (Remote Procedure Call - RPC) и NetBIOS.

Уровень представления данных (Presentation Layer). Основные задачи:

  • а) обеспечение преобразования данных в некоторый общий формат представления данных (например, ASCII или Unicode) и наоборот;
  • б) шифрование/дешифрование данных для обеспечения секретности передачи (примером может служить протокол Secure Socket Layer - SSL, обеспечивающий секретность передачи данных с использованием стека TCP/IP).

Прикладной уровень (Application Layer). Задача прикладного уровня - предоставлять пользовательским приложениям сетевые протоколы и службы уровня для обеспечения передачи данных по сети. Существует большое количество протоколов прикладного уровня. Примеры протоколов прикладного уровня: протокол пересылки гипертекста (HyperText Transfer Protocol - HTTP), протокол пересылки файлов (File Transfer Protocol - FTP), Telnet, простой протокол пересылки почты (Simple Mail Transfer Protocol - SMTP) и др.

Наиболее популярным стеком коммуникационных протоколов благодаря распространению Интернета стал стек TCP/IP. Этот стек является родным для операционных систем UNIX и Linux, в настоящее время он также является основным стеком для систем Windows. Примерами других стеков коммуникационных протоколов можно назвать стек IPX/SPX, разработанный фирмой Novell и стек NetBIOS/SMB, разработанный совместно IBM и Microsoft. Следует отметить, что стеки коммуникационных протоколов обычно включают не все уровни модели OSI (зачастую отсутствуют сеансовый уровень и уровень представления данных).


  1. Коломоец Г.П. Организация компьютерных сетей : учебное пособие / Г.П. Коломоец. - Запорожье : КПУ, 2012. - 156 с.
  2. Куроуз, Джеймс Ф. Компьютерные сети. Нисходящий подход / Джеймс Куроуз, Кит Росс. - 6-е изд. - Москва : Э, 2016. - 907, [1] с.