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

Ответ

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

Уровни модели OSI (снизу вверх):

Уровень Назначение Примеры протоколов/технологий
7. Прикладной (Application) Интерфейс для сетевых приложений HTTP, FTP, SMTP, DNS
6. Уровень представления (Presentation) Преобразование данных (кодирование, шифрование, сжатие) SSL/TLS, JPEG, MPEG
5. Сеансовый (Session) Управление сеансом связи (установка, поддержка, завершение) NetBIOS, RPC
4. Транспортный (Transport) Надёжная или ненадёжная доставка данных между процессами TCP (надёжный), UDP (ненадёжный)
3. Сетевой (Network) Маршрутизация пакетов между сетями (логическая адресация) IP, ICMP, OSPF
2. Канальный (Data Link) Передача кадров между соседними узлами в одной сети, контроль ошибок Ethernet (MAC), PPP, Switch
1. Физический (Physical) Передача битов по физической среде Витая пара, оптоволокно, радиосигнал

Практический пример (отправка HTTP-запроса):

  1. Браузер (уровень 7) формирует HTTP-запрос.
  2. Данные шифруются TLS (уровень 6).
  3. Устанавливается сессия (уровень 5).
  4. TCP разбивает данные на сегменты (уровень 4).
  5. IP добавляет свои заголовки для маршрутизации (уровень 3).
  6. Кадр Ethernet формируется с MAC-адресами (уровень 2).
  7. Биты передаются по кабелю (уровень 1).

Ответ 18+ 🔞

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

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

1. Физический уровень. Это просто провода, радиоволны, оптоволокно — в общем, та среда, где бегают нулики и единички как электрические импульсы или свет. Уровень говна и палок, если грубо. Никакого смысла, просто «есть сигнал» или «нет сигнала». Представь, что ты кричишь в трубу — это оно.

2. Канальный уровень. Тут уже появляется какой-никакой порядок. Эти биты собираются в кадры (frames). Появляются MAC-адреса — это как серийный номер твоей сетевухи или Wi-Fi модуля. Свитч работает на этом уровне, он смотрит на эти MAC-адреса и думает: «Ага, этот кадр — для вот этого компа в соседней комнате, а этот — нет». Контроль ошибок тут же — если кадр пришёл битый, его могут запросить заново. Без этого был бы пиздец и сплошные помехи.

3. Сетевой уровень. А вот здесь начинается магия маршрутизации между разными сетями. Главный герой тут — IP-адрес. Твоя фотка собаки уже упакована в IP-пакет. Роутер, получая такой пакет, смотрит на IP-адрес назначения и решает, куда его дальше послать: в соседний дом или на другой континент. Без этого уровня интернет был бы просто кучкой не связанных между собой локальных сетей. Протокол IP — царь и бог на этом уровне.

4. Транспортный уровень. Допустим, IP-пакет дошёл до нужного компьютера. Но на том компьютере куча программ: браузер, мессенджер, торрент-клиент. Как понять, кому из них предназначены данные? Вот для этого и нужны порты. Транспортный уровень (главные протоколы — TCP и UDP) обеспечивает доставку данных уже не просто до компьютера, а до конкретного приложения на нём.

  • TCP — надёжный, дотошный зануда. Он установит соединение, проверит, всё ли дошло, перешлёт, если что-то потерялось. Как заказное письмо с уведомлением. Идеально для веба, почты.
  • UDP — похуист. Кинул данные и забыл. Быстро, но ненадёжно. Идеально для стримов или онлайн-игр, где важнее скорость, чем каждый бит.

5. Сеансовый уровень. Управляет «сеансом связи» — то есть целым диалогом между приложениями. Он может поставить на паузу сессию, возобновить её или корректно завершить. Например, когда ты сохраняешь документ в облако, и связь рвётся, этот уровень может помочь восстановить отправку с места разрыва, а не начинать всё с начала. В современных стеках часто его функции съедаются уровнем выше, но в модели он есть, блядь.

6. Уровень представления. Отвечает за то, чтобы данные были понятны принимающей стороне. Допустим, ты отправляешь ту самую фотку собаки. На этом уровне происходит сжатие (например, в JPEG), шифрование (чтобы никто посторонний не увидел твоего пёселя-вредителя) или преобразование кодировок (чтобы русский текст не превратился в кракозябры). По сути, это переводчик между разными форматами данных.

7. Прикладной уровень. Наконец-то! Это уровень, с которым взаимодействуешь ты. Браузер, почтовый клиент, мессенджер. Протоколы этого уровня — это языки, на которых говорят приложения: HTTP для веба, SMTP для почты, FTP для файлов, DNS для преобразования «youtube.com» в IP-адрес. Когда ты в браузере нажимаешь «Enter», ты запускаешь работу именно этого уровня.


Как это работает на практике, когда ты лезешь на YouTube:

  1. Ты вводишь youtube.com в браузере (Уровень 7: Прикладной — HTTP/HTTPS).
  2. Соединение шифруется (Уровень 6: Представления — TLS).
  3. Устанавливается и поддерживается сессия с сервером (Уровень 5: Сеансовый).
  4. Данные твоего запроса разбиваются на сегменты, и к ним добавляются порты (Уровень 4: Транспортный — TCP, порт 443).
  5. Сегменты пакуются в IP-пакеты, которым прописываются адреса твоего компа и сервера Google (Уровень 3: Сетевой — IP).
  6. IP-пакеты помещаются в кадры Ethernet с MAC-адресами твоего роутера и следующего сетевого устройства (Уровень 2: Канальный — Ethernet).
  7. Вся эта конструкция превращается в последовательность электрических или световых импульсов и летит по проводу (Уровень 1: Физический).

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