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

kb/network-l4

Сеть Linux: транспортный уровень и выше (L4+)

TCP трёхстороннее рукопожатие, состояния TCP, conntrack, NAT и masquerade, DNS-резолвинг, TLS-handshake, порты и сокеты. Прикладные протоколы и то, как ядро Linux обрабатывает соединения на уровне транспорта.

16 статей в категории

§ статьи

  • coapCoAP - REST для constrained-устройств поверх UDPCoAP - REST поверх UDP для маломощных IoT-устройств. 4-байтный header, GET/POST/PUT/DELETE, response codes как HTTP. Observe для notifications. DTLS для security. Применяется в LwM2M, Thread.
  • conntrackConntrack - память Linux о всех сетевых соединенияхПодсистема ядра Linux, которая помнит каждое активное соединение. Без неё NAT не развернёт ответ на нужный приватный IP, а фаервол не отличит «новый коннект» от «уже установленного». Видна в `/proc/net/nf_conntrack`.
  • dhcp-protocolDHCP - Dynamic Host Configuration ProtocolDHCP выдаёт хосту IP-адрес, маску, шлюз и DNS через broadcast. 4 пакета: DORA = Discover (клиент), Offer (сервер), Request (клиент), Ack (сервер). Аренда продлевается за 50% TTL.
  • dns-resolutionDNS resolutionРезолвинг имени → IP проходит через NSS: сначала `/etc/hosts`, потом DNS через `/etc/resolv.conf`. Порядок задаётся в `/etc/nsswitch.conf`.
  • grpc-basicsgRPC - HTTP/2 + Protobuf RPC frameworkgRPC = HTTP/2 + Protocol Buffers + кодогенерация. Четыре типа RPC: unary (как REST), server-stream, client-stream, bidirectional. Сильная типизация, бинарный wire format, multi-language. grpcurl как curl для gRPC.
  • http-protocolHTTP/1.1, HTTP/2, HTTP/3HTTP/1.1 - текстовый протокол с keep-alive. HTTP/2 - бинарный с мультиплексированием в одном TCP-соединении. HTTP/3 = HTTP/2-семантика поверх QUIC/UDP без TCP-head-of-line blocking.
  • http2-internalsHTTP/2 internals - binary framing, HPACK, stream multiplexingHTTP/2 - бинарный мультиплексинг поверх одного TCP-соединения. HPACK сжимает headers через индексированный словарь. Streams независимы. Server push deprecated. На loss-friendly link HoL-blocking - проблема, которую решил QUIC.
  • mqttMQTT - publish/subscribe для IoT и mobile pushMQTT - lightweight pub/sub поверх TCP. Topics с wildcards, QoS 0/1/2, retained messages, last will. Малый overhead (2 байта min header). Брокер обязателен (mosquitto/EMQX/HiveMQ). Применение: IoT, telemetry, mobile push.
  • natNAT и masqueradeNAT - переписывание src/dst адресов пакета на роутере. Masquerade - частный случай: src-IP заменяется на свой исходящий, для исходящих из приватной сети в публичную.
  • tcp-keepaliveTCP keepaliveKeepalive шлёт пробы по простаивающему TCP-соединению чтобы поймать мёртвый peer (NAT-таймаут, упавший хост). Дефолт Linux: 7200s простоя, 75s между пробами, 9 проб. Включается через setsockopt(SO_KEEPALIVE).
  • tcp-statesTCP states (LISTEN, ESTABLISHED, TIME_WAIT)TCP-сессия проходит через 11 состояний от LISTEN до CLOSED. Самые важные на проде: LISTEN, ESTABLISHED, TIME_WAIT, CLOSE_WAIT.
  • tcp-handshakeTCP three-way handshakeTCP-соединение открывается тремя пакетами: SYN от клиента, SYN-ACK от сервера, ACK от клиента. После - соединение Established, можно слать данные.
  • tls-handshakeTLS handshakeTLS - слой шифрования поверх TCP. Перед передачей данных стороны делают handshake: обмениваются ключами, проверяют сертификат, выбирают cipher.
  • udp-basicsUDP - User Datagram ProtocolUDP - простой протокол доставки датаграмм без установки соединения, без ретрансмитов, без гарантии порядка. Заголовок 8 байт. Применение: DNS, DHCP, QUIC, VoIP, любой случай когда задержка важнее надёжности.
  • websocketWebSocket - bidirectional поверх HTTPWebSocket - двусторонний канал поверх одного TCP. Апгрейд из HTTP/1.1 через Upgrade header, потом обмен бинарными frame'ами. Используется для real-time UI - чаты, дашборды, live-обновления.
  • portПорт - как несколько сервисов делят один IP16-битное число (0-65535), идентифицирует **процесс-получатель** на хосте. IP говорит куда (хост), порт - кому (процессу). 80 - HTTP, 443 - HTTPS, 22 - SSH.

← вернуться ко всем категориям базы знаний

Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки