Модель OSI, Open Systems Interconnection, это эталонная схема сетевого взаимодействия из семи уровней. Она описывает путь данных от сигнала в кабеле или радиоканале до запроса HTTP, DNS-ответа либо SSH-сессии. Модель стандартизирована ISO как средство разделить функции сети и дать инженерам общий язык для описания протоколов, оборудования и неисправностей.
В реальной инфраструктуре обычно используют стек TCP/IP, а не буквальную семиуровневую реализацию OSI. При этом OSI остается удобной картой для работы: если приложение не получает ответ, инженер последовательно проверяет интерфейс, Ethernet или VLAN, IP-маршрут, TCP-порт, DNS и прикладной сервис. Такой порядок сокращает область поиска и не дает смешивать проблемы маршрутизации с ошибками веб-сервера.
Модель OSI: что это и зачем она нужна
Каждый уровень OSI решает ограниченный набор задач и передает результат соседнему уровню. Физический уровень кодирует биты в сигнал, канальный доставляет кадр соседнему узлу, сетевой выбирает путь между сетями, транспортный направляет данные нужному процессу. Верхние уровни описывают диалог, формат данных и правила конкретного сервиса.
Модель не диктует, какой кабель, коммутатор или операционную систему нужно использовать. Она помогает сопоставить функции сетевого стека с конкретными технологиями: Ethernet, Wi-Fi, IP, TCP, UDP, TLS, DNS, HTTP и SSH.
Какие задачи решает семиуровневая модель
Первая практическая задача, разделить ответственность. Коммутатор пересылает Ethernet-кадры по MAC-адресам, маршрутизатор работает с IP-префиксами и таблицей маршрутизации, веб-сервер обрабатывает HTTP. Ошибка на одном уровне не требует немедленно менять настройки на другом.
Вторая задача, дать проектировщикам и эксплуатационным командам точные термины. Формулировка проблема на L3 обычно означает проверку адреса, префикса, шлюза и маршрута. Проблема на L7 указывает на DNS, TLS, HTTP, аутентификацию, reverse proxy или приложение.
Третья задача, локализовать отказ. Отсутствующий link относится к L1 или L2. Неразрешаемое имя при рабочем доступе к IP-адресу указывает на DNS на прикладном уровне. Таймаут TCP-подключения часто связан с firewall, маршрутом, политикой Kubernetes либо недоступным сервером.
Уровни OSI снизу вверх
- 1. Физический: передает биты через электрический, оптический или радиосигнал.
- 2. Канальный: доставляет кадры внутри локального сегмента по MAC-адресам.
- 3. Сетевой: адресует IP-пакеты и направляет их между сетями.
- 4. Транспортный: доставляет поток или дейтаграммы конкретному сервису через порты.
- 5. Сеансовый: управляет логическим диалогом между приложениями.
- 6. Представления: определяет кодировку, сериализацию, сжатие и защиту формата данных.
- 7. Прикладной: задает правила обмена для DNS, HTTP, HTTPS, SSH, DHCP и других сервисов.
7 уровней модели OSI: функции и единицы данных
Единица данных уровня, PDU, меняется по мере движения трафика. Прикладное сообщение превращается в TCP-сегмент или UDP-дейтаграмму, затем в IP-пакет, Ethernet-кадр и последовательность битов. На стороне получателя этот процесс идет в обратном направлении.
1. Физический уровень: передача битов по среде
Физический уровень описывает сигнал и среду передачи: медный кабель, оптоволокно, SFP-модуль, радиоканал Wi-Fi, разъем, частоту, модуляцию и скорость линии. Здесь нет IP- и MAC-адресов. Полезная единица данных, биты.
Типовые симптомы L1: интерфейс имеет состояние DOWN, индикатор линка не горит, порт согласовал 100 Мбит/с вместо 1 Гбит/с, растет число ошибок приема. В виртуальной среде аналогом физического подключения выступают veth-пары, виртуальный коммутатор, состояние порта VM или политика облачной сети.
2. Канальный уровень: кадры, MAC-адреса и Ethernet
Канальный уровень доставляет кадры между узлами одного сегмента. Ethernet-кадр содержит MAC-адреса источника и назначения, тип полезной нагрузки, данные и контрольную последовательность FCS. Коммутатор изучает MAC-адреса по входящим кадрам и пересылает трафик на нужный порт либо рассылает его в пределах широковещательного домена.
VLAN делит один коммутатор на несколько логических L2-сегментов. Узел в VLAN 20 не увидит широковещательные кадры VLAN 10 без маршрутизации или специальной настройки. IEEE 802.11 охватывает функции физического и канального уровней, поэтому Wi-Fi связан и с радиоэфиром, и с MAC-кадрами.
ARP сопоставляет IPv4-адрес следующего узла с его MAC-адресом. В классическом разборе OSI ARP находится на границе L2 и L3: запрос содержит сетевой IPv4-адрес, но передается широковещательным Ethernet-кадром. В IPv6 для похожей задачи применяют Neighbor Discovery поверх ICMPv6.
3. Сетевой уровень: IP-адресация и маршрутизация
Сетевой уровень отвечает за передачу пакета между разными сетями. IPv4 использует 32-битные адреса, IPv6, 128-битные. Префикс определяет, какие адреса доступны напрямую, а для удаленных сетей хост отправляет пакет на шлюз по умолчанию.
Маршрутизатор получает IP-пакет, сверяет адрес назначения со своей таблицей маршрутизации, уменьшает TTL в IPv4 или Hop Limit в IPv6 и выбирает следующий узел. IP сам по себе не подтверждает доставку, не восстанавливает порядок данных и не открывает соединение между процессами.
ICMP обслуживает диагностику и сообщения об ошибках. Команда ping обычно посылает ICMP Echo Request, а traceroute или tracepath помогают увидеть последовательность маршрутизаторов и проблемы с MTU. Рабочий ping не доказывает доступность TCP-порта или HTTP-сервиса.
При нескольких интерфейсах одного default route часто недостаточно. Для трафика с разными исходными IP-адресами применяют правила ip rule и отдельные таблицы маршрутизации. Практическая настройка этого сценария разобрана в руководстве по policy routing в Linux.
4. Транспортный уровень: TCP, UDP и порты
Транспортный уровень связывает сетевую доставку с конкретным процессом. IP-адрес определяет хост или сетевой интерфейс, порт указывает сервис. Комбинация протокола, IP-адреса и порта образует сокет. Например, веб-сервер может слушать TCP-порт 443, а DNS-служба, UDP-порт 53.
TCP строит соединение через трехэтапное рукопожатие SYN, SYN-ACK, ACK. Он нумерует байты, подтверждает получение, повторно передает потерянные сегменты, сохраняет порядок и управляет перегрузкой сети. Эти свойства подходят для SSH, HTTPS, репликации баз данных и большинства HTTP/1.1 или HTTP/2-соединений.
UDP отправляет независимые дейтаграммы без установки соединения и без встроенного подтверждения доставки. Он меньше нагружает обмен служебными данными, но приложению приходится самостоятельно учитывать потерю, дублирование и порядок сообщений, когда это требуется. UDP часто используют DNS-запросы, DHCP, RTP и QUIC. DNS способен перейти на TCP при крупном ответе или в специальных сценариях, включая передачу зон.
QUIC работает поверх UDP и берет на себя надежную передачу, контроль перегрузки, мультиплексирование потоков и криптографическое рукопожатие TLS 1.3. HTTP/3 использует QUIC, поэтому утверждение весь HTTPS-трафик работает через TCP уже неточно.
Программы открывают соединения через socket API операционной системы. Примеры TCP- и UDP-серверов, конкурентные модели и особенности неблокирующего ввода-вывода собраны в практическом разборе сокетов на Python и Go.
5. Сеансовый уровень: управление диалогом
Сеансовый уровень описывает установление, поддержку, синхронизацию и завершение логического диалога. Сеанс может переживать отдельный запрос или переносить восстановление после краткого сбоя. Пример функции, хранение идентификатора пользовательской сессии, контроль этапов обмена или повторная аутентификация.
В стеке TCP/IP отдельного универсального протокола L5 обычно нет. Его функции распределены между приложением, библиотекой, API, TLS-сессией, брокером сообщений или фреймворком. TCP-соединение близко к понятию сеанса, но не совпадает с ним: одно прикладное взаимодействие может открывать несколько TCP-соединений, а один TCP-канал способен обслуживать множество HTTP-запросов.
6. Уровень представления: формат, кодирование и шифрование
Уровень представления преобразует данные в форму, понятную получателю. Сюда относят кодировки UTF-8, сериализацию JSON, Protobuf или ASN.1, сжатие gzip и преобразование структур данных. Клиент и сервер должны одинаково интерпретировать формат, иначе связь на TCP-уровне будет рабочей, а обмен сообщениями завершится ошибкой.
TLS часто условно относят к уровню представления, поскольку он шифрует и проверяет целостность полезных данных. В практической модели TCP/IP TLS обычно рассматривают как часть прикладного взаимодействия над TCP или внутри QUIC. Для диагностики полезнее искать конкретную причину: неподходящий сертификат, неверное SNI-имя, несовместимый набор шифров или сбой рукопожатия.
7. Прикладной уровень: HTTP, DNS, SSH и сервисы
Прикладной уровень определяет формат сообщений и логику сервиса. HTTP задает методы, заголовки, статусы и тело запроса. DNS описывает запросы и ресурсные записи. SSH строит защищенную удаленную сессию, DHCP выдает параметры адресации, SMTP передает почту.
Прикладной уровень не равен графическому интерфейсу. Команда curl, Nginx, API-клиент, DNS-резолвер и SSH-клиент работают на L7 даже без оконной оболочки. HTTP/1.1 и HTTP/2 обычно используют TCP, HTTPS добавляет TLS, HTTP/3 передает HTTP-сообщения через QUIC поверх UDP.
Уровни OSI и протоколы: практическая карта соответствий
| Уровень OSI | Функция | PDU | Адрес или идентификатор | Примеры протоколов | Оборудование и компоненты |
|---|---|---|---|---|---|
| 7. Прикладной | Правила работы сервиса | Сообщение | Имя, URI, учетные данные | HTTP, HTTPS, DNS, SSH, DHCP | Клиент, Nginx, DNS-сервер |
| 6. Представления | Формат, кодировка, сжатие, шифрование | Данные | Формат и параметры TLS | TLS, JSON, UTF-8, gzip | Библиотеки и криптопровайдеры |
| 5. Сеансовый | Логический диалог | Данные | Идентификатор сессии | Механизмы сессий приложений | Приложение, middleware |
| 4. Транспортный | Доставка процессу | Сегмент или дейтаграмма | Порт | TCP, UDP, QUIC | Ядро ОС, firewall, L4-балансировщик |
| 3. Сетевой | Маршрутизация между сетями | Пакет | IPv4 или IPv6-адрес | IP, ICMP, IPsec | Маршрутизатор, L3-коммутатор |
| 2. Канальный | Доставка в локальном сегменте | Кадр | MAC-адрес, VLAN ID | Ethernet, Wi-Fi, VLAN, ARP | Коммутатор, bridge, точка доступа |
| 1. Физический | Передача сигналов | Биты | Нет логической адресации | 1000BASE-T, оптика, радиоканал | Кабель, трансивер, PHY |
Протоколы канального и сетевого уровня
Ethernet, Wi-Fi и VLAN работают с локальной доставкой кадров. MAC-адрес нужен для пересылки в пределах сегмента, а VLAN ID ограничивает область широковещательного трафика. ARP помогает IPv4-хосту найти MAC-адрес шлюза или соседнего сервера.
IP и ICMP работают с сетевой адресацией и маршрутизацией. Когда клиент обращается к удаленному серверу, он формирует Ethernet-кадр на MAC-адрес шлюза, а IP-пакет сохраняет адрес удаленного назначения. Маршрутизатор снимает входящий кадр и формирует новый для следующего сегмента. MAC-адреса меняются на каждом маршрутизируемом участке, IP-адреса обычно сохраняются.
Транспортные и прикладные протоколы
TCP и UDP используют порты, чтобы передать трафик конкретному приложению. HTTPS чаще использует TCP-порт 443, SSH, TCP-порт 22, DHCP, UDP-порты 67 и 68. Номера портов помогают классифицировать трафик, но сам номер не гарантирует тип протокола: сервис может слушать нестандартный порт.
Один прикладной протокол способен использовать несколько транспортных вариантов. DNS чаще отправляет короткие запросы через UDP, затем использует TCP при необходимости. HTTP доступен через TCP в вариантах HTTP/1.1 и HTTP/2, а HTTP/3 работает через QUIC и UDP. Анализируйте фактическую конфигурацию сервиса, а не только типовой порт.
Почему один протокол нельзя всегда отнести только к одному уровню
OSI классифицирует функции, поэтому отдельные технологии пересекают границы уровней. ARP связывает IPv4-адрес с Ethernet MAC-адресом. TLS защищает данные приложения, но тесно взаимодействует с транспортом. QUIC использует UDP как носитель, при этом сам добавляет надежность, контроль потока и шифрование.
HTTP/3 хорошо показывает ограничение механического заучивания. HTTP остается прикладным протоколом, QUIC решает транспортные задачи, UDP передает дейтаграммы, IP маршрутизирует пакеты, а Ethernet или Wi-Fi доставляют кадры в локальном сегменте. Четкая граница между L4, L5 и L6 в этой цепочке условна.
Инкапсуляция данных: как запрос проходит через сеть
Инкапсуляция, это добавление служебной информации каждого нижележащего уровня к данным верхнего. Она дает сети адреса, порты, номера последовательности, контрольные поля и сведения для локальной доставки. Получатель выполняет декапсуляцию, проверяет заголовки и передает полезную нагрузку выше.
Единицы данных: сообщение, сегмент, пакет, кадр и биты
- Сообщение или данные: HTTP-запрос, DNS-запрос, SSH-команда на прикладном уровне.
- TCP-сегмент: данные с TCP-заголовком, включая порты, sequence number и flags.
- UDP-дейтаграмма: данные с UDP-заголовком и портами.
- IP-пакет: транспортная нагрузка с IP-адресами источника и назначения.
- Кадр: IP-пакет с Ethernet- или Wi-Fi-заголовком для конкретного канала.
- Биты: физическое представление кадра в среде передачи.
В технической документации термин пакет иногда используют шире и называют так любые сетевые данные. При анализе дампа лучше ориентироваться на конкретный заголовок: Ethernet, IP, TCP, UDP, TLS или HTTP.
Инкапсуляция на стороне клиента
Представим запрос к HTTPS-сервису. Браузер или curl формирует HTTP-сообщение. TLS шифрует полезную нагрузку после рукопожатия. TCP добавляет исходный временный порт, порт назначения 443, номера последовательности и флаги. IP добавляет исходный и целевой IP-адреса.
Перед передачей ядро определяет next hop по таблице маршрутизации. Если сервер находится в другой подсети, next hop обычно совпадает со шлюзом по умолчанию. Через ARP ядро узнает MAC-адрес шлюза и создает Ethernet-кадр: MAC назначения указывает на шлюз, а внутри остается IP-пакет с адресом конечного сервера.
Размер кадра ограничивает MTU. Для Ethernet без дополнительных тегов стандартное значение часто равно 1500 байт. TCP подбирает размер сегмента MSS с учетом IP- и TCP-заголовков. Крупная полезная нагрузка делится на сегменты. Неподходящий MTU на пути вызывает таймауты, обрывы загрузки или проблемы только с крупными ответами.
Декапсуляция на сервере
Сетевая карта сервера принимает кадр, проверяет его целостность и передает в ядро. Канальный уровень сверяет MAC-адрес назначения. IP-обработчик проверяет адрес назначения и протокол полезной нагрузки. Затем TCP находит сокет по сочетанию адресов и портов, собирает поток байтов в правильном порядке и передает его процессу, который слушает порт.
Веб-сервер получает TLS-данные, завершает криптографический обмен и передает HTTP-запрос обработчику. Nginx может ответить статическим файлом, направить запрос в upstream или вернуть ошибку. Успешное TCP-соединение подтверждает доступность L3 и L4, но не подтверждает корректность TLS, HTTP-маршрута или состояния upstream.
Что меняется при прохождении маршрутизатора
Маршрутизатор не пересылает Ethernet-кадр целиком через разные сети. Он принимает кадр, удаляет канальный заголовок, обрабатывает IP-пакет и формирует новый кадр для следующего hop. В новом кадре MAC-адрес источника принадлежит исходящему интерфейсу маршрутизатора, а MAC-адрес назначения принадлежит следующему узлу.
IP-адреса источника и назначения обычно сохраняются. Исключение, NAT: маршрутизатор или firewall может заменить адрес, порт либо оба параметра. На каждом маршрутизаторе уменьшается TTL или Hop Limit. Когда значение достигает нуля, устройство отбрасывает пакет и обычно отправляет ICMP-сообщение Time Exceeded, на этом основана работа traceroute.
Модель OSI и TCP/IP: различия и соответствие
OSI описывает семь логических функций. TCP/IP описывает реально используемый набор сетевых протоколов и обычно объединяет несколько уровней OSI. В инженерных обсуждениях полезно владеть обеими схемами: OSI упрощает поиск неисправности, TCP/IP ближе к документации операционных систем и сетевого оборудования.
Таблица соответствия OSI и TCP/IP
| OSI | Уровень TCP/IP | Примеры | Практический вопрос |
|---|---|---|---|
| 7, 6, 5 | Прикладной | HTTP, DNS, SSH, TLS, форматы данных | Корректно ли отвечает сервис? |
| 4 | Транспортный | TCP, UDP, QUIC | Открыт ли нужный порт и проходит ли handshake? |
| 3 | Интернет-уровень | IPv4, IPv6, ICMP | Есть ли адрес и маршрут к узлу? |
| 2, 1 | Доступ к сети | Ethernet, Wi-Fi, VLAN, PHY | Есть ли link и доступ к локальному сегменту? |
Встречается и пятиуровневая учебная схема TCP/IP, где канальный и физический уровни разделены. Различие терминов не меняет порядок диагностики: сначала проверьте среду и интерфейс, затем адресацию, маршрут, порт и протокол сервиса.
Где находятся TLS, QUIC и HTTP/3
TLS защищает конфиденциальность и целостность прикладных данных, а также подтверждает подлинность сервера сертификатом. В OSI его часто сопоставляют с уровнем представления. В реальном стеке TLS работает между приложением и TCP либо входит в QUIC.
QUIC использует UDP на уровне IP, но сам ведет учет доставки, управляет перегрузкой и поддерживает несколько потоков в одном соединении. HTTP/3 передает прикладные HTTP-сообщения через QUIC. При проблеме с HTTP/3 проверяйте доступность UDP-порта, правила firewall, поддержку QUIC в reverse proxy и поведение клиента.
Ограничения модели OSI
OSI не заменяет знание ядра Linux, сетевого оборудования, firewall, NAT, балансировщиков и приложений. Один симптом способен затрагивать несколько уровней. Например, HTTPS может завершаться таймаутом из-за неверного маршрута, блокировки TCP SYN, PMTU black hole, сертификата или зависшего upstream.
Модель полезна как порядок рассуждения. Она не отменяет сбор фактов: снимок маршрутов, состояние порта, логи приложения, DNS-ответ и захват трафика часто дают более точный ответ, чем предположение о проблемном уровне.
Диагностика сети по уровням OSI
Начинайте с наблюдаемого симптома и фиксируйте результат каждой проверки. Не меняйте маршруты, firewall и конфигурацию приложения одновременно. После каждого изменения повторяйте тот же тест, иначе причина останется неясной.
Уровни 1-2: интерфейс, линк и локальная сеть
Проверьте, существует ли интерфейс, поднят ли он и согласован ли линк. На физическом сервере используйте ethtool для скорости, дуплекса и состояния carrier. На виртуальной машине проверьте подключение виртуального NIC, настройки сети гипервизора, VLAN и security groups.
ip link show
ip -s link show dev eth0
ethtool eth0
ip neigh show
bridge vlan show
Статус NO-CARRIER указывает на отсутствие физического линка или отключенный виртуальный порт. Записи INCOMPLETE либо FAILED в ip neigh
Готовая последовательность проверки линка, адресов, маршрутов, портов и Docker-сетей есть в шпаргалке по диагностике сетевых интерфейсов Linux.
Уровень 3: адрес, маршрут и доступность узла
Проверьте IP-адрес, префикс, шлюз и маршрут до цели. Ошибка в маске или префиксе заставляет хост считать удаленный адрес локальным либо отправлять локальный трафик на шлюз. При нескольких NIC убедитесь, что ответный трафик идет через ожидаемый интерфейс.
ip addr show
ip route show
ip route get $TARGET_IP
ping -c 3 $TARGET_IP
tracepath $TARGET_IP
Сообщение Network is unreachable означает, что ядро не нашло подходящий маршрут. Таймаут ping не доказывает отсутствие маршрута: ICMP могут фильтровать. Доступность шлюза при недоступности удаленной сети сужает поиск до маршрутизации, ACL, VPN, удаленного сегмента или обратного маршрута.
tracepath полезен для поиска проблем Path MTU. Если короткие запросы проходят, а крупные ответы зависают, проверьте ICMP Fragmentation Needed для IPv4 или Packet Too Big для IPv6, туннели и значение MTU на виртуальных интерфейсах.
Уровень 4: порт и транспортное соединение
После проверки маршрута убедитесь, что сервис слушает ожидаемый адрес и порт. Локальный веб-сервер, привязанный к 127.0.0.1:443, не примет подключения к внешнему IP. Слушатель на IPv6-адресе тоже требует проверки режима dual stack.
ss -lntup
ss -tn state syn-sent
nc -vz $HOST 443
curl -v -I $URL
Connection refused обычно означает, что удаленный хост доступен, но на порту нет слушателя либо firewall активно отклонил подключение. Таймаут указывает на потерю пакетов, фильтрацию DROP, неверный маршрут или недоступную цель. Сброс соединения после установки TCP-сессии часто связан с приложением, L4-балансировщиком, proxy или политикой firewall.
Уровень 7: DNS, HTTP и проверка сервиса
Проверьте DNS отдельно от HTTP. Имя может возвращать устаревший адрес, IPv6-запись без рабочей связности или ответ из другого split-horizon DNS-представления. Запрос к IP с правильным заголовком Host помогает отделить ошибку резолвинга от конфигурации виртуального хоста.
dig +short $HOST
resolvectl query $HOST
curl -v -I $URL
openssl s_client -connect $HOST:443 -servername $HOST
Код HTTP 404 подтверждает доступность HTTP-сервера, но указывает на неверный путь или конфигурацию маршрута. Код 502 или 504 часто означает, что reverse proxy не получил корректный ответ от upstream. Ошибка сертификата указывает на цепочку доверия, срок действия, имя в SAN или SNI, а не на проблему Ethernet либо IP.
Захват трафика: tcpdump и Wireshark
Захват трафика подтверждает гипотезу фактами. tcpdump подходит для сервера через SSH, Wireshark удобен для разбора полей, последовательностей и временной шкалы. Снимайте трафик на правильном интерфейсе: на хосте с Docker это может быть eth0, docker0, bridge или veth-интерфейс.
tcpdump -ni eth0 'host 192.0.2.10 and tcp port 443'
tcpdump -ni any 'udp port 53'
tcpdump -ni eth0 'icmp or icmp6'
В дампе TCP ищите SYN, SYN-ACK и ACK. Повторяющиеся SYN без ответа показывают, что рукопожатие не завершилось. DNS-дамп покажет запрос и ответ, ICMP поможет найти недоступную сеть или ограничение MTU. В HTTPS без ключей расшифровки доступны метаданные TLS, включая ClientHello и SNI, но не HTTP-тело и большинство заголовков.
Типовой сценарий: сервис недоступен по HTTPS
- Проверьте интерфейс командой
ip link show, состояние carrier и ошибки черезip -s link. - Проверьте адресацию и фактический маршрут:
ip addr,ip route get $TARGET_IP. - Сравните DNS-ответ с ожидаемым адресом через
dig +short $HOST. - Проверьте TCP-порт 443 через
nc -vz $HOST 443и локальный слушатель черезss -lntp. - Проверьте TLS с
openssl s_client, затем HTTP-ответ черезcurl -v -I $URL. - Проверьте Nginx, upstream, логи контейнера и правила firewall. В Kubernetes добавьте проверку Service, Endpoints или EndpointSlice, Ingress, NetworkPolicy и публикации порта.
Для отдельного стенда, где удобно проверить маршрутизацию, firewall и reverse proxy без риска для production, подойдет облачная инфраструктура Timeweb Cloud. Создайте две виртуальные машины в разных подсетях, зафиксируйте маршруты и сравните результаты ping, nc и tcpdump.
Шпаргалка по модели OSI и сетевым протоколам
Краткая таблица 7 уровней OSI
| Уровень | Главная функция | PDU | Идентификатор | Примеры | Первичная проверка |
|---|---|---|---|---|---|
| 7. Прикладной | Логика сервиса | Сообщение | Имя, URI | HTTP, DNS, SSH | curl, dig, ssh -v |
| 6. Представления | Формат и защита данных | Данные | TLS-параметры | TLS, UTF-8, JSON | openssl s_client |
| 5. Сеансовый | Диалог приложений | Данные | Session ID | Сессии приложений | Логи приложения |
| 4. Транспортный | Доставка процессу | Сегмент, дейтаграмма | Порт | TCP, UDP, QUIC | ss, nc, tcpdump |
| 3. Сетевой | Маршрут между сетями | Пакет | IP-адрес | IP, ICMP | ip route, ping, tracepath |
| 2. Канальный | Локальная доставка | Кадр | MAC, VLAN ID | Ethernet, ARP, Wi-Fi | ip neigh, bridge vlan |
| 1. Физический | Сигнал и среда | Биты | Нет | Кабель, оптика, радио | ip link, ethtool |
Частые вопросы на собеседовании
- Чем коммутатор отличается от маршрутизатора? Коммутатор обычно пересылает L2-кадры внутри VLAN по MAC-адресам. Маршрутизатор направляет L3 IP-пакеты между подсетями по таблице маршрутизации.
- Чем TCP отличается от UDP? TCP дает упорядоченный надежный поток с подтверждениями и повторной передачей. UDP отправляет независимые дейтаграммы без таких гарантий на уровне протокола.
- Где работает DNS? DNS относится к прикладному уровню. Его сообщения часто передаются через UDP или TCP, а защищенные варианты могут использовать TLS, HTTPS либо QUIC.
- Что происходит при вводе URL? Клиент разрешает имя через DNS, выбирает IP-маршрут, устанавливает TCP- или QUIC-соединение, выполняет TLS-рукопожатие для HTTPS и отправляет HTTP-запрос.
- Чем пакет отличается от кадра? IP-пакет содержит адреса для маршрутизации между сетями. Кадр содержит локальные MAC-адреса и действует на одном канальном сегменте.
- Почему ping работает при недоступном HTTP? Ping проверяет ICMP-доступность IP-узла. HTTP требует рабочего TCP или QUIC, открытого порта, TLS и корректного приложения.
- Как меняются MAC-адреса при маршрутизации? На каждом переходе через маршрутизатор формируется новый канальный кадр с MAC-адресами текущего сегмента. Конечные IP-адреса обычно не меняются без NAT.
Главные выводы
Модель OSI делит сетевое взаимодействие на семь функций и помогает точно назвать точку отказа. Ethernet и VLAN решают задачи локального сегмента, IP выбирает маршрут, TCP и UDP направляют трафик сервисам, DNS, HTTP и SSH определяют логику прикладного обмена.
Инкапсуляция объясняет, почему у одного запроса одновременно есть порт, IP-адрес и MAC-адрес. При диагностике двигайтесь по цепочке: симптом, предполагаемый уровень, проверочная команда, подтверждение через логи или tcpdump. Сопоставляйте модель с фактической конфигурацией хоста, сети, firewall и приложения.