Какие существуют уровни модели OSI?
Модель OSI (Open Systems Interconnection) — это эталонная модель сетевого взаимодействия, разделяющая сетевую коммуникацию на 7 уровней, где каждый уровень выполняет определённые функции и взаимодействует только с соседними уровнями.
Аналогия: отправка письма по почте. Вы пишете текст (уровень 7 — приложение), запечатываете в конверт и пишете адрес (уровни 4-6), кладёте в почтовый ящик (уровень 3 — маршрутизация), почтальон несёт его по маршруту (уровень 2 — канал), а физически письмо перемещается на грузовике (уровень 1 — физический).
Семь уровней модели OSI
| # | Уровень | PDU (единица данных) | Функции | Примеры протоколов |
|---|---|---|---|---|
| 7 | Прикладной (Application) | Данные | Интерфейс для пользовательских приложений | HTTP, HTTPS, FTP, SMTP, DNS, SSH |
| 6 | Представления (Presentation) | Данные | Кодирование/декодирование, шифрование, сжатие | SSL/TLS, JPEG, JSON, XML |
| 5 | Сеансовый (Session) | Данные | Управление сеансами связи | RPC, NetBIOS, SIP |
| 4 | Транспортный (Transport) | Сегмент / Дейтаграмма | Надёжная доставка, контроль потока, мультиплексирование | TCP, UDP |
| 3 | Сетевой (Network) | Пакет | Логическая адресация, маршрутизация между сетями | IP, ICMP |
| 2 | Канальный (Data Link) | Кадр (Frame) | Физическая адресация, доступ к среде, обнаружение ошибок | Ethernet, Wi-Fi (802.11) |
| 1 | Физический (Physical) | Биты | Передача битов через физическую среду | Витая пара, оптоволокно, радиоволны |
Примечание: ARP часто относят к уровню 2 (канальному), а не к уровню 3 (сетевому), поскольку он работает с MAC-адресами в пределах локальной сети. Однако в разных источниках его классификация может различаться.
Принцип инкапсуляции
- Отправка: данные «спускаются» от уровня 7 к уровню 1. На каждом уровне к данным добавляется заголовок (инкапсуляция).
- Приём: данные «поднимаются» от уровня 1 к уровню 7. На каждом уровне заголовок снимается (декапсуляция).
Пример
[Ethernet Header][IP Header][TCP Header][HTTP Data][Ethernet Trailer]
L2 L3 L4 L7 L2
Мнемоника для запоминания
Снизу вверх: Please Do Not Throw Sausage Pizza Away (Physical, Data Link, Network, Transport, Session, Presentation, Application).
OSI на практике
На практике модель OSI используется как теоретическая основа и общий язык для обсуждения сетей. Реальные сетевые протоколы ближе к модели TCP/IP, и границы между уровнями 5-7 часто размыты. Например, TLS можно отнести и к уровню 5, и к уровню 6. Тем не менее терминология OSI (L2, L3, L4, L7) используется повсеместно.
Вывод
Модель OSI разделяет сетевое взаимодействие на 7 уровней: от физической передачи битов (L1) до прикладных протоколов (L7). Каждый уровень добавляет свой заголовок при отправке (инкапсуляция) и снимает при приёме (декапсуляция). На практике чаще используется упрощённая модель TCP/IP с 4 уровнями.
На собеседовании: junior-вопрос, но очень частый. Назовите все 7 уровней сверху вниз (или снизу вверх) и приведите пример протокола для каждого. Ключевые уровни для Java-разработчика: L7 (HTTP), L4 (TCP/UDP), L3 (IP), L2 (Ethernet). Уровни 5 и 6 на практике почти не выделяются отдельно.