Модель OSI: 7 уровней сетевой модели, их протоколы и функции простыми словами

Для пользователя, который не является специалистом в области сетевой инженерии, эталонная модель ОСИ (OSI) — абстрактное понятие. Кому же стоит ознакомиться с ней подробнее? Тем, кто хочет вникнуть в суть сетевых протоколов, тонкости обеспечения безопасности, управления сетевыми настройками и т. д.

Статья обновлена 20 ноября 2024 года. <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fru.freepik.com%2Ffree-photo%2Ffuturism-perspective-digital-nomads-lifestyle_138710890.htm%23fromView%3Dimage_search_similar%26amp%3Bpage%3D1%26amp%3Bposition%3D1%26amp%3Buuid%3D28e57f92-e50c-4a20-b4fc-5f9920d46082&postId=" rel="nofollow noreferrer noopener" target="_blank">Image by freepik</a>
Статья обновлена 20 ноября 2024 года. Image by freepik

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

<p>Скриншот: Сетевая модель OSI для чайников: устройство, уровни, протоколы / eternalhost.net</p>

Скриншот: Сетевая модель OSI для чайников: устройство, уровни, протоколы / eternalhost.net

GeekBrainsлучшая онлайн-школа программирования в русскоязычном сегменте.

Содержание

Что такое модель OSI

Семиуровневая модель OSI расшифровывается как Open Systems Interconnection. Это базовая иерархическая модель взаимодействия открытых систем. То есть основополагающая модель, описывающая структуру передачи данных от одного приложения другому. Она представляет стандартный способ организации различных аспектов коммуникаций в рамках обмена данными в сети. Благодаря этому разные устройства в сети могут функционировать без конфликтов.

Эталонную модель OSI разработали эксперты International Organization for Standardization (ISO) в 1984 году. Она относится к одному из ключевых элементов, которые нужно понимать специалисту, изучающему работу и устройство сети.

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

📌 Скидка на курсы по программированию от GeekBrains.

Вот эти 7 уровней, начиная с самого нижнего и заканчивая верхним:

  • Physical Layer (Физический). Сюда входят физические аспекты передачи данных: среда передачи, кабельные линии, электрические сигналы и т. д.
  • Data Link Layer (Канальный). Поддерживает надежность передачи/приема данных между сетевым оборудование в локальной сети (LAN). Также этот уровень контролирует доступ к сетевым ресурсам, разграничивает его по заданным правилам.
  • Network Layer (Сетевой). Маршрутизирует данные между разными сетями и находит оптимальные пути для их доставки.
  • Transport Layer (Транспортный). Отвечает за точность данных, которые передаются в рамках сети. Также обеспечивает управление потоком данных и выполняет мониторинг ошибок.
  • Session Layer (Сеансовый). Контролирует сеансы связи в рамках сети, обеспечивая начало, поддержание и завершение подключений.
  • Presentation Layer (Представительский). Преобразовывает, шифрует, сжимает данные, обеспечивая их точность и читаемость для устройств на другой стороне сети.
  • Application Layer (Прикладной). Предоставляет пользовательский интерфейс для взаимодействия с сетевыми компонентами. Включает в себя специальные сервисы и протоколы: HTTP (для веб-браузеров), FTP (для передачи файлов), SMTP (для электронной почты) и т .д.

Модель OSI предоставляет структуру и общий язык, которые нужны для понимания работы компьютерных сетей и взаимодействия компьютеров в сети. Она позволяет специалистам разрабатывать и внедрять совместимые сетевые решения. То есть такие, которые взаимодействуют между собой, независимо от конкретных технологий и устройств. Рассмотри уровни модели ОСИ подробнее.

Физический уровень

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

Главные функции:

  • Кодирование и модуляция. Кодирование цифровых данных в аналоговые сигналы для их отправки по среде. В зависимости от типа среды передачи, сюда могут входить амплитудная, частотная или фазовая модуляция.
  • Физическое соединение. Определение типа физического соединения между программно-аппаратными решениями в сети (коаксиальный и оптоволоконный кабель, витая пара), а также определение спецификации максимальной длины кабеля и прочих параметрам.
  • Сигнализация и синхронизация. Методы сигнализации для начала и завершения отправки данных, а также методы синхронизации разных устройств для корректного приема данных.
  • Обнаружение и коррекция ошибок. Выявление и устранение проблем с целостностью и корректностью данных, которые могут возникнуть в процессе их отправки/приема. Позволяет поддерживать надежность и точность информации, которая «циркулирует» в сети.
  • Контроль физической среды. Управление доступом к физической среде отправки/приема данных с целью предотвратить конфликты и коллизии, возникающие при одновременной передаче данных несколькими устройствами.
  • Передача битов. Физический уровень фактически передает биты данных между устройствами, используя физические каналы и кодировку сигналов.

К устройствам и технологиям, работающим на этом уровне, относятся сетевые адаптеры Ethernet, беспроводные адаптеры Wi-Fi, оптоволоконные кабели, Ethernet-кабели и прочие устройства, которые обеспечивают физическую связь в сетях.

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

<p>Скриншот: УРОВНИ МОДЕЛИ OSI / nastroyvse.ru/</p>

Скриншот: УРОВНИ МОДЕЛИ OSI / nastroyvse.ru/

Канальный уровень

Отвечает за организацию отправки/приема данных между разными аппаратно-программными средствами в рамках локальной сети (LAN).

Выполняет такие функции:

  • Формирование и разбор кадров (Frame Framing). Создание кадров — блоков данных, которые будут передаваться по физической среде. Эти кадры включают синхронизирующие биты, адреса сетевого оборудования, контрольные суммы и собственные данные. При получении информации выполняется разбор кадров, после чего они передаются выше, на сетевой уровень.
  • Контроль доступа к среде (Media Access Control, MAC). Разграничение доступа к среде передачи данных по заданным параметрам с целью избежания коллизий. Это особенно важно в сетях Ethernet, где устройства должны соблюдать определенные протоколы доступа по типу CSMA/CD.
  • Обнаружение и устранение проблем. То есть контроль возникновения ошибок, проверка целостности данных в процессе их отправки. Уровень проверяет кадры на наличие ошибок, и если они будут выявлены, кадр будет отброшен или отправлен повторно.
  • Управление потоком данных. Некоторые протоколы на канальном уровне могут управлять потоком данных для гарантии того, что отправитель не переполнит буферы получателя.
  • Локальная адресация. Data Link Layer использует физические адреса (MAC-адреса в Ethernet) для идентификации устройств в локальной сети.
  • Управление кадрами (Frame Control). Сбор и обработка информации о типе кадра, приоритете и другие параметрах, которые помогают устройствам в сети правильно интерпретировать и обрабатывать кадры.

Самые популярные примеры сетевых решений, работающих на канальном уровне — Wi-Fi (802.11), Token Ring, Ethernet.

Этот уровень — важная часть сетевой инфраструктуры, так как он поддерживает эффективность и надежность приема и отправки данных в рамках сети.

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

Сетевой уровень

Отвечает за маршрутизацию и отправку/получение данных в рамках сетей и подсетей.

Основные функции:

  • Маршрутизация (Routing). Определение пути, по которому данные будут передаваться в рамках сети. Сюда входит выбор оптимального маршрута на основе конкретных факторов по типу скорости, надежности и т. д.
  • Логическая адресация. Каждое программно-аппаратное решение в сети имеет свой уникальный логический адрес, который используется для его идентификации внутри сети. Пример — IP-адрес.
  • Фрагментация и сборка пакетов. Сетевой уровень может разделять большие объемы данных на фрагменты (пакеты) для отправки, а после — собирать их обратно на стороне получателя. Это позволяет эффективно передавать данные через сети с разными ограничениями по максимальной длине кадров.
  • Выявление и устранение ошибок. Network Layer подразумевает использование методов выявления ошибок в передаваемых данных. В отличие от уровня канала данных, он не исправляет ошибки — он может только отправить запрос на повторную передачу данных.
  • Контроль трафика и управление конгестией. Управление трафиком и решение проблем конгестии в сети для обеспечения максимально эффективной отправки данных.
  • Маршрутизация между подсетями. Собственно, маршрутизация позволяет данным перемещаться между локальными сетями.

Примеры протоколов, работающих на сетевом уровне — IP (Internet Protocol) и ICMP (Internet Control Message Protocol). Именно по этим протоколам работает маршрутизатор.

Уровень важен в глобальной маршрутизации, так как контролирует доставку данных рамках локальной сети или интернета.

<p>Скриншот: Разбираемся с моделью OSI / creatorblaga.ru</p>

Скриншот: Разбираемся с моделью OSI / creatorblaga.ru

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

Отвечает за управление потоком данных и обеспечение надежной, точной и эффективной передачи данных в рамках сети.

Основные функции транспортного уровня:

  • Сегментация и сборка данных. Transport Layer разбивает поток данных от верхних уровней на небольшие сегменты или пакеты для передачи по сети. Это позволяет эффективно использовать ресурсы сети, обеспечивает возможность передачи больших объемов данных.
  • Управление потоком. Контроль скорости передачи данных и управление потоком. Необходимы для того, чтобы избежать перегрузок и потери информации. Это особенно важно при передаче данных через сети с разной пропускной способностью.
  • Мультиплексирование и демультиплексирование. Транспортный уровень обеспечивает возможность одновременной передачи данных для разных приложений (мультиплексирование) и их правильной доставки, разделения на стороне получателя (демультиплексирование). Это достигается с помощью портов и сеансов.
  • Установка, управление и завершение соединений. Поддержание установки и завершения соединений между устройствами в сети. Пример протокола, который выполняет эту функцию, — TCP (Transmission Control Protocol).
  • Обнаружение и восстановление от ошибок. Транспортный уровень может выявлять и восстанавливать потерянные/поврежденные пакеты данных, чтобы обеспечить их надежную доставку.

Протокол транспортного уровня, о котором вы точно слышали, это TCP (Transmission Control Protocol) и UDP (User Datagram Protocol). Он обеспечивает надежную и устойчивую передачу данных с гарантированной доставкой и контролем потока. Также существует UDP, который обеспечивает более быструю, но менее надежную передачу данных без гарантированной доставки и контроля потока.

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

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

Отвечает за установление, управление и завершение сеансов связи между устройствами в сети.

Он выполняет следующие функции:

  • Управление сеансами. Сеанс — временное взаимодействие между двумя устройствами, включающее в себя передачу данных. Когда пользователь устанавливает сетевое соединение для выполнения какой-либо задачи, это подразумевает создание и управление сеансом. За это и отвечает сеансовый уровень, который устанавливает, поддерживает и завершает сеансы связи между устройствами.
  • Синхронизация данных. Обеспечение синхронизации данных между отправителем и получателем. Сюда входит определение точек синхронизации в потоке данных, чтобы можно было восстанавливать передачу после сбоев или пересылать утерянные данные.
  • Управление диалогом. Определение порядка обмена данными между устройствами и управление хода диалога. Позволяет устройствам обмениваться данными в определенной последовательности и решать вопросы по типу управления доступом к ресурсам.
  • Управление блокировками и параллельными доступами. В определенных ситуациях сеансовый уровень может обеспечивать управление блокировками и параллельным доступом к общим ресурсам. Это нужно, чтобы избежать возникновения конфликтов и обеспечить согласованность данных.
  • Управление безопасностью. Обеспечение работы механизмом управления безопасностью по типу установки защищенных сеансов с шифрованием данных и аутентификацией.
  • Управление восстановлением. В случае сбоев или разрыва сетевого соединения сеансовый уровень обеспечивает механизмы восстановления сеанса и продолжения обмена данными.

Протоколы, работающие на сеансовом уровне, — NetBIOS Session Service (NBSS) и RPC (Remote Procedure Call).

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

<p>Скриншот: Преимущества использования многоуровневой модели / demo.ciscostr.ru</p>

Скриншот: Преимущества использования многоуровневой модели / demo.ciscostr.ru

Уровень представления данных

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

Основные функции уровня представления данных.

  • Сжатие данных. Presentation Layer может сжимать данные перед их передачей по сети. Это позволяет уменьшить объем этих данных и ускорить тем самым передачу.
  • Шифрование данных. Шифрование данных для защиты их конфиденциальности и целостности во время передачи. Это крайне важно для обеспечения безопасности информации, передаваемой по сети.
  • Кодирование данных. Кодирование данных для того, чтобы они могли быть правильно интерпретированы и обработаны на стороне получателя. Сюда входит кодирование символов, обработка разных форматов данных и конвертация между различными кодировками.
  • Управление форматом данных. Форматирование и структурирование данных, чтобы они соответствовали требованиям получателя. Это позволяет устройствам с разными техническими характеристиками правильно интерпретировать данные.
  • Конвертация данных. Выполнение конвертации между разными форматами данных (например, текстовых, графических, видео- и аудиоданных). Функция обеспечивает совместимость и возможность обмена данными между разными приложениями и устройствами.
  • Управление сеансами связи. Уровень представления данных обеспечивает управление сеансами связи, включая установку и завершение сеансов.

Среди протоколов и стандартов, связанных с уровнем представления данных, можно выделить SSL/TLS (для шифрования данных веб-сайтов), а также стандарты кодирования данных ASCII, Unicode и JPEG (для обработки текста и изображений).

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

Прикладной уровень

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

Вот это главные функции:

  • Обеспечение прикладных служб. Прикладной уровень предоставляет приложениям и пользователям доступ к различным сетевым сервисам и ресурсам. Например, доступ к сайтам, email, файловым серверам, базам данных и прочим прикладным сервисам.
  • Обмен данными между приложениями. Application Layer позволяет различным приложениям обмениваться данными, используя стандартизированные протоколы и форматы данных. Самые яркие примеры протоколов этого уровня — HTTP (Hypertext Transfer Protocol) для браузеров и SMTP (Simple Mail Transfer Protocol) для электронной почты.
  • Интерфейс для пользователя. Предоставление пользовательского интерфейса для взаимодействия с приложениями и сервисами. Сюда входят графические интерфейсы приложений, командные строки, веб-интерфейсы.
  • Управление сеансами. Прикладной уровень управляет созданием, установкой и завершением сеансов связи между приложениями. Это включает в себя управление сессиями браузера и доступом к ресурсам, аутентификацию и т. п.
  • Преобразование данных и протоколов. Выполнение преобразования данных и протоколов с целью обеспечить их совместимость между приложениями с разными требованиями и возможностями.
  • Обеспечение безопасности. Прикладной уровень обеспечивает механизмы безопасности по типу аутентификации и шифрования, которые нужны для защиты информации и взаимодействия между приложениями.

Примеры протоколов и приложений, работающих на прикладном уровне: браузеры (Google Chrome, Mozilla Firefox), почтовые клиенты (Microsoft Outlook, Gmail), файловые протоколы (FTP) и множество других прикладных сервисов.

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

Скриншот: Сетевые модели. Часть 2. / infocisco.ru
Скриншот: Сетевые модели. Часть 2. / infocisco.ru

Как на практике работает сетевая модель OSI

Модель OSI помогает разработчикам, инженерам и администраторам проектировать сетевые архитектуры и различные программно-аппаратные решения для сетей. Она описывает уровни и слои, через которые проходят данные при их передаче и приеме (то есть в рамках которых работает сеть). Рассмотрим 2 простых примера работы ОСИ.

Пример 1. Передача веб-страницы по протоколу HTTP (Hypertext Transfer Protocol)

  1. Физический уровень. Вы хотите открыть определенный сайт — вводите его доменное имя в адресную строку браузера. Данные преобразуются в биты и передаются по физической среде (например, по медному кабелю или беспроводному Wi-Fi соединению).
  2. Канальный уровень. Компьютер вашей сети формирует пакеты данных для отправки через маршрутизатор. Здесь данные организуются в кадры, добавляются контрольные суммы для обнаружения ошибок.
  3. Сетевой уровень. На этом уровне определяется маршрут, по которому данные будут доставлены до сервера, содержащего необходимую веб-страницу. Маршрутизация данных проходит через множество устройств (маршрутизаторы, коммутаторы).
  4. Транспортный уровень. Данные разделяются на сегменты, добавляются порты и информация о том, какие именно данные нужно переслать на сервер. Пример — использование протокола TCP, который обеспечивает надежную доставку данных.
  5. Уровень сеансов. Устанавливается сеанс связи между вашим компьютером и сервером. Это включает в себя установку и управление соединением.
  6. Уровень представления данных. Если данные на сервере хранятся в определенном формате, они могут быть преобразованы в тот формат, который ваш браузер может правильно интерпретировать.
  7. Прикладной уровень. На этом уровне ваш браузер получает данные, декодирует их (если это необходимо) и отображает страницу на экране.
Скриншот: Сетевая модель OSI и ее 7 уровней: обзор с примерами от Бородача / wifigid.ru
Скриншот: Сетевая модель OSI и ее 7 уровней: обзор с примерами от Бородача / wifigid.ru

Пример 2. Загрузка файла из облачного хранилища

  1. Физический уровень. Вы кликаете на кнопку скачивания файла, расположенного в облаке. Данные (например, изображение или документ) преобразуются в биты и отправляются через интернет.
  2. Канальный уровень. Данные преобразуются в пакеты, вносится информация о передаче (MAC-адреса устройства и контрольных суммах).
  3. Сетевой уровень. Маршрутизация определяет, каким путем должны идти данные к серверу облачного хранилища, где находится файл.
  4. Транспортный уровень. Для запроса и передачи файла используется протокол HTTP. Запрос на загрузку файла формируется, файл делится на сегменты для передачи.
  5. Уровень сеансов. Устанавливается сеанс связи с сервером облачного хранилища для обмена данными.
  6. Уровень представления данных. Если файл хранится в определенном формате, сервер облачного хранилища может преобразовать файл в другой формат, если это необходимо.
  7. Прикладной уровень. Файл передается на ваше устройство и вы можете сохранить его на компьютере.

Плюсы и минусы модели OSI

Для справедливости рассмотрим по 4 сильных и слабых стороны модели.

Плюсы модели OSI:

  1. Разделение функций. Модель OSI разделяет сетевые функции на разные уровни, что значительно упрощает разработку, отладку и обслуживание сетей. Каждый уровень выполняет определенные задачи, изменения на одном уровне не будут влиять на другие уровни.
  2. Функциональная совместимость (интероперабельность). Использование стандартизированных протоколов на разных уровнях позволяет сетевым устройствам и системам корректно работать вместе, обеспечивая совместимость и интероперабельность.
  3. Стандартное представление сетевых процессов. OSI представляет общее и стандартное представление процессов и функций, которые происходят в сети. Это также упрощает обучение и понимание сетевых концепций.
  4. Удобство обучения и множество дополнительной документации. Модель ОСИ общепринятая и имеет множество подробных документов по работе с ней. Это делает ее максимально доступной для обучения и стандартизации.

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

Минусы модели ОСИ:

  1. Слишком много уровней. Модель OSI содержит семь уровней, что может быть избыточным для конкретных сетей. При этом, далеко не все уровни используются постоянно — сети могут работать с меньшим количеством уровней.
  2. Теоретичность. Концепция модели OSI теоретическая и абстрактная. То есть она не всегда соответствует реальным сетевым сценариям. В реальности сети могут иметь более сложную структуру и те функции, которые не всегда можно уместить в модель OSI.
  3. Сложность для новичков. Для новичков модель OSI может показаться слишком сложной и чрезмерно абстрактной. Изучение, которое приведет к пониманию работы всех уровней и их взаимодействия между собой, требует много времени.
  4. Не всегда соблюдается в реальной жизни. В реальных сетях могут использоваться протоколы и архитектуры, которые не соответствуют модели OSI. Это может создавать сложности при анализе и управлении такими сетями.

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

Итоги

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

На курсы по программированию от GeekBrains можно получить скидку.

Реклама. Рекламодатель ООО «ГикБреинс», ИНН 7726381870, лицензия на ведение образовательной деятельности № Л035-01298-77/00181496 от 3 декабря 2019 года (переоформление 29 сентября 2021 года).

22
Начать дискуссию