linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
Intro
Lessons
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Уроки
  • How it works
  • Симулятор
  • База знаний
  • Собеседование
home/linux/how/osi

how/network

Модель OSI и инкапсуляция

7 слоёв: что добавляет TCP, что добавляет IP, что добавляет Ethernet. Почему «слои» - не теория, а конкретные байты в пакете.

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

Слои - не абстракция из учебника. Это реальные байты, которые ты можешь увидеть в tcpdump. Понимание этого делит DevOps'ов на тех, кто чинит сеть, и тех, кто гадает.

Нажми ▶ - посмотрим как HTTP-запрос проходит через все 7 слоёв и обратно.

step 1/12·00 · два стека по 7 слоёв
SENDERRECEIVERL7ApplicationHTTP, DNS, SSHL7ApplicationHTTP, DNS, SSHL6PresentationTLS, gzip, JSONL6PresentationTLS, gzip, JSONL5SessionSOCKS, RPCL5SessionSOCKS, RPCL4TransportTCP, UDP, QUICL4TransportTCP, UDP, QUICL3NetworkIP, ICMP, OSPFL3NetworkIP, ICMP, OSPFL2Data LinkEthernet, WiFiL2Data LinkEthernet, WiFiL1Physicalкабель, радиоL1Physicalкабель, радио7 уровней osi: каждый верхний работает поверх нижнего, не знает деталей реализации

§ шаги

  1. Слева - стек отправителя, справа - получателя. Снизу обе стороны соединены проводом (L1 = физический слой).

    Идея: каждый слой общается со своим зеркалом на той стороне. TCP отправителя «говорит» с TCP получателя, IP с IP, и так далее. За счёт этого можно поменять реализацию любого слоя независимо от остальных - TCP не интересуется как именно биты бегают по проводу.

итого

Что важно запомнить:

  • Каждый слой общается со своим зеркалом на той стороне: L7-приложение «разговаривает» с L7-сервером, L4 (TCP) с L4 (TCP), L3 (IP) с L3 (IP), и т.д. Никто не лезет через слои
  • Инкапсуляция = добавление заголовков сверху-вниз. MTU накладывает потолок на размер фрейма (типичный 1500 на Ethernet). Если payload + headers больше - IP фрагментирует (или просит отправителя уменьшить через PMTUD)
  • TCP/IP-модель объединяет L5/L6/L7 в единый «application layer». В реальной жизни на эту разбивку всем плевать - главное помнить L4/L3/L2/L1 которые видны в дампах
  • Полезно мысленно разносить проблемы по слоям:
    • link не поднимается → L1/L2 (кабель, MAC, VLAN)
    • ping не идёт → L3 (IP, route, firewall)
    • сокет открывается, но не отвечает → L4 (TCP, порт, проксирование)
    • HTTP отдаёт 5xx → L7 (приложение)
  • TLS живёт между L4 и L7 - формально его относят к L6 (presentation), хотя в современных стеках это просто «защищённый L7-слой над TCP»

Это база, поверх которой построены все остальные explainer'ы - DHCP, ARP, DNS, NAT, routing - каждый работает на своём слое.

§ копнуть в базу знаний

  • ethernet-frameEthernet-фрейм - что лежит на L2
  • ipv4-addressingIPv4 - про L3
  • tcp-handshakeTCP handshake - про L4
  • tls-handshakeTLS handshake - между L4 и L7
Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки