Перейти к содержанию

02. Модель OSI

Понятие сетевой модели

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

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

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

Одной из наиболее известных сетевых моделей является модель OSI.

OSI расшифровывается как Open Systems Interconnection, что переводится как «взаимодействие открытых систем».

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

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

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


Зачем нужна модель OSI

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

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

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

Такое разделение позволяет: 1. Упростить изучение принципов работы компьютерных сетей. 2. Разделить сетевые задачи на отдельные функциональные части. 3. Облегчить разработку и замену сетевых компонентов. 4. Упростить поиск и устранение неисправностей. 5. Систематизировать сетевые протоколы и технологии.

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


Семь уровней модели OSI

Уровни модели OSI нумеруются снизу вверх.

№ Название уровня Основная задача
7 Прикладной Предоставление сетевых возможностей приложениям
6 Представления Представление, преобразование и кодирование данных
5 Сеансовый Организация и управление сеансами взаимодействия
4 Транспортный Передача данных между конечными приложениями
3 Сетевой Адресация и выбор пути передачи между сетями
2 Канальный Передача кадров в пределах канала или локального сегмента
1 Физический Передача битов посредством физических сигналов

Запомнить уровни снизу вверх можно с помощью последовательности: Физический → Канальный → Сетевой → Транспортный → Сеансовый → Представления → Прикладной.

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


Первый уровень — физический

Физический уровень (Physical Layer) — первый, самый нижний уровень модели OSI, который отвечает за передачу битов по физической среде.

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

К функциям физического уровня относятся: - передача битов через физическую среду; - определение электрических и оптических характеристик интерфейсов; - использование определённых типов кабелей и разъёмов; - установление физических параметров соединения; - определение характеристик сигналов; - согласование скорости и других параметров физического соединения в соответствии с используемой технологией.

На этом уровне используются различные среды передачи: - витая пара; - коаксиальный кабель; - оптическое волокно; - радиоканал.

В зависимости от среды для передачи данных применяются электрические, световые или радиосигналы.

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

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

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


Второй уровень — канальный

Канальный уровень (Data Link Layer) обеспечивает передачу данных между непосредственно взаимодействующими сетевыми узлами в пределах соответствующего канала или сегмента сети.

На этом уровне данные обычно представляются в виде кадров.

Основные функции канального уровня: - формирование и обработка кадров; - использование физических адресов, например MAC-адресов Ethernet; - организация доступа к общей среде передачи, если этого требует технология; - обнаружение определённых ошибок передачи; - обеспечение взаимодействия с физическим уровнем.

Пример технологии канального уровня — Ethernet.

В локальной сети коммутатор Ethernet анализирует MAC-адрес назначения кадра и использует таблицу MAC-адресов для определения подходящего порта передачи.

Важно не путать MAC-адрес и IP-адрес. MAC-адрес применяется при передаче кадров в соответствующей канальной технологии, а IP-адрес используется для логической адресации на сетевом уровне.

Типичная единица данных канального уровня — кадр.


Третий уровень — сетевой

Сетевой уровень (Network Layer) отвечает за логическую адресацию и передачу данных между различными сетями.

Основные функции: - использование логических адресов; - определение пути передачи данных; - маршрутизация пакетов; - передача данных через промежуточные сети.

Одним из главных протоколов сетевого уровня является IP.

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

Маршрутизатор анализирует IP-адрес назначения и выбирает дальнейший путь передачи пакета в соответствии со своей таблицей маршрутизации.

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

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


Четвёртый уровень — транспортный

Транспортный уровень (Transport Layer) обеспечивает передачу данных между приложениями, работающими на конечных устройствах.

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

На транспортном уровне широко используются протоколы TCP и UDP.

TCP обеспечивает надёжную упорядоченную передачу потока данных, включая подтверждения получения и повторную передачу потерянных сегментов при необходимости.

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

Например, веб-браузер может использовать TCP для установления соединения с веб-сервером либо UDP в составе HTTP/3, который работает поверх QUIC.

Единицы данных обычно называют сегментами TCP и датаграммами UDP.


Пятый уровень — сеансовый

Сеансовый уровень (Session Layer) отвечает за организацию, управление и завершение сеансов взаимодействия между приложениями.

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

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

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


Шестой уровень — уровень представления

Уровень представления (Presentation Layer) отвечает за согласованное представление данных между взаимодействующими системами.

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

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

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

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


Седьмой уровень — прикладной

Прикладной уровень (Application Layer) предоставляет сетевые функции, непосредственно используемые прикладными программами.

Он не означает сами пользовательские приложения, такие как браузер или почтовая программа. Речь идёт о сетевых протоколах и службах, с которыми эти программы взаимодействуют.

К протоколам и службам прикладного уровня относятся: - HTTP и HTTPS — обмен данными с веб-серверами; - DNS — получение информации о доменных именах; - SMTP — отправка электронной почты; - DHCP — автоматическая настройка сетевых параметров; - FTP — передача файлов.

Например, когда пользователь вводит адрес сайта в браузере, приложение может использовать DNS для получения IP-адреса сервера, а затем обратиться к серверу с помощью HTTP или HTTPS.

Прикладной уровень формирует запрос, соответствующий используемому протоколу, и передаёт его нижележащим уровням для дальнейшей доставки.


Инкапсуляция данных

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

Этот процесс называется инкапсуляцией.

Рассмотрим упрощённую схему: 1. Прикладной уровень формирует данные, например HTTP-запрос. 2. Транспортный уровень добавляет информацию TCP или UDP. 3. Сетевой уровень добавляет IP-заголовок. 4. Канальный уровень формирует кадр, содержащий MAC-адреса и другие служебные поля. 5. Физический уровень передаёт последовательность битов в виде сигнала.

Схематично: Данные → сегмент или датаграмма → IP-пакет → кадр → биты и физический сигнал.

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

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


Взаимодействие уровней модели OSI

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

Уровень использует услуги нижележащего уровня и предоставляет определённые возможности вышележащему.

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

На принимающей стороне процесс выполняется в обратном направлении.

Такая организация позволяет изменять некоторые компоненты сети без необходимости полностью перерабатывать все остальные компоненты. Например, приложение может работать через проводное Ethernet-соединение или через Wi-Fi, если необходимые сетевые службы и протоколы поддерживаются обеими сторонами.


Пример работы модели OSI при открытии веб-сайта

Рассмотрим ситуацию, когда пользователь вводит адрес сайта в браузере.

Прикладной уровень. Браузер использует HTTP или HTTPS для обмена данными с веб-сервером.

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

Сеансовый уровень. Управление состоянием взаимодействия может осуществляться средствами протоколов и приложений; отдельный универсальный протокол этого уровня не обязателен.

Транспортный уровень. Данные передаются с использованием TCP или, например, QUIC поверх UDP.

Сетевой уровень. IP обеспечивает адресацию и доставку пакетов между сетями.

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

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

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

Этот пример показывает, что открытие обычного веб-сайта требует взаимодействия множества сетевых механизмов.


Модель OSI и модель TCP/IP

Помимо модели OSI, широко применяется модель TCP/IP, связанная с архитектурой Интернета.

Она описывает сетевое взаимодействие с использованием стека протоколов TCP/IP.

В распространённом четырёхуровневом представлении выделяют: 1. Уровень сетевого доступа. 2. Межсетевой уровень. 3. Транспортный уровень. 4. Прикладной уровень.

Модель TCP/IP отличается от OSI количеством и объединением уровней.

Модель OSI Модель TCP/IP
Прикладной Прикладной
Представления Прикладной
Сеансовый Прикладной
Транспортный Транспортный
Сетевой Межсетевой
Канальный Сетевого доступа
Физический Сетевого доступа

В модели TCP/IP функции физического и канального уровней обычно рассматриваются совместно на уровне сетевого доступа. В модели OSI они представлены отдельно.

Главное различие: OSI используется прежде всего как подробная эталонная модель, помогающая изучать и описывать сетевое взаимодействие, а TCP/IP отражает архитектуру стека протоколов, на котором основана работа Интернета.


Практическое значение модели OSI

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

Например, если пользователь не может открыть веб-сайт, возможные причины могут находиться на разных уровнях: - Физический: повреждён кабель, отсутствует соединение. - Канальный: проблема с подключением к локальной сети. - Сетевой: неверная IP-настройка или отсутствует маршрут. - Транспортный: соединение с нужным портом не устанавливается. - Прикладной: не работает DNS или веб-служба. - Уровни представления и сеансов: проблема может быть связана с обработкой данных, шифрованием или состоянием взаимодействия, если соответствующие функции используются.

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

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


Итоги

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

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

При передаче данные последовательно обрабатываются уровнями, а на стороне получателя выполняется обратная обработка.

Для дисциплины «Технология физического уровня передачи данных» особенно важно понимать назначение первого уровня, его связь с канальным уровнем и роль физических сигналов, кабелей, разъёмов и сетевых интерфейсов в обеспечении обмена данными.