Основы и устройство сетевой модели OSI

Модель OSI (Open Systems Interconnection) — это концептуальная схема, которая объясняет, как данные передаются по сети от устройств к устройствам. Она имеет 7 уровней, каждый из которых выполняет свою роль. Разрабатывалась модель еще в 1970 году.

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

В зависимости от уровня, на котором находится информация, данные преображаются: так на первом уровне информация передается в виде бит, а на последнем — в виде сформированных данных. Процесс отправки информации и преобразования ее в биты называется инкапсуляцией; обратный же процесс (из битов в данные) называется декапсуляцией. Несмотря на это, на каждом уровне информация существует в виде блоков данных протокола (Protocol Data Unit или PDU).

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

Физический уровень (Physical Layer, L1): как данные покидают устройства

Устройства физического уровня оперируют битами. Они передаются по кабелям (например, через оптоволокно) или без — например, через Bluetooth или IRDA, Wi-Fi, GSM, 4G и так далее.

Физический уровень — это самый нижний уровень модели, который отвечает за передачу исходных данных в виде сигналов между физическими устройствами. Каждый уровень имеет свои PDU (Protocol Data Unit), которые составляют форму данных, понятную для конкретного уровня. Работа с “чистыми” данными осуществляется только на 5-7 уровнях.

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

Канальный уровень (Data Link Layer, L2): защита и передача кадров

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

У канального уровня есть два подуровня — MAC и LLC. MAC (Media Access Control) отвечает за присвоение физических MAC-адресов, а LLC (Logical Link Control) отвечает за проверку, исправление и передачу данных.

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

Если что-то пошло не так, то фрейм может быть отправлен заново.

 

Читайте также: Оптимизация скорости загрузки: настройка кэширования и сжатия в .htaccess

Сетевой уровень (Network Layer, L3): маршрутизация и логические адреса

На сетевом уровне выполняется задача маршрутизации: данные “распознают” в каком направлении им нужно идти. Для этой задачи созданы маршрутизаторы или роутеры. Они получают MAC-адрес от коммутаторов с предыдущего уровня и занимаются построением маршрута от одного устройства к другому.

На этом уровне происходит передача пакетов между разными сетями.

Транспортный уровень (Transport Layer, L4): надёжная доставка пакетов

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

На этом уровне используются протоколы TCP (надёжный) и UDP (быстрый).

Сеансовый уровень (Session Layer, L5): управление связью между приложениями

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

Его работа более поддерживающая: он открывает сессию (например, соединение с сервером), следит за ее состоянием, и восстанавливает ее при сбоях.

 

Часто спрашивают: Передача файлов с локального ПК на VPS под Linux

Представление данных (Presentation Layer, L6): кодирование, шифрование и форматирование

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

Говоря простыми словами, этот уровень отвечает за то, чтобы данные были понятно всем устройствам. Чтобы выполнить эту задачу, он преобразовывает форматы данных в текст или изображения, шифрует и расшифровывает информацию. Например, на шестом уровне работает HTTPS и происходит шифрование данных.

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

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

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

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

 

Читайте также: Выделенный IP-адрес: нужен ли он вашему сайту и какие преимущества дает

Четыре стратегии защиты от DDoS-атак на разных уровнях сети

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

  1. На уровне 3-4 — фильтрация трафик по IP и портам.
  2. На уровне 7 — анализ взаимодействия пользователей с интерфейсом и блокировка подозрительных запросов.

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

 

Почему OSI остаётся важной для понимания сетевых процессов

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