awesome-everything EN
↑ Обратно к восхождению

Сети и протоколы

TCP handshake: тест с выбором ответа

Суть Тест с выбором на синтез по всему юниту TCP handshake — цена RTT, рандомизация ISN, SYN cookie, congestion control, стопоры Nagle и исчерпание TIME-WAIT.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 13 min

Шесть вопросов поперёк всего юнита. Каждый отражает решение, которое ты принимаешь в реальном инциденте — не флаг для называния, а компромисс, который надо взвесить, пока горит задержка или память.

Цель

Убедись, что связываешь цену RTT в handshake, безопасность ISN, защиту от флуда, congestion control и канонические production-патологии — тот синтез, к которому вели отдельные уроки.

Викторина

REST-клиент открывает новое TCP-соединение на каждый запрос к origin с RTT 140 мс, затем накладывает TLS 1.3. Почему каждый вызов медленный, хотя payload крошечный, и какой структурный фикс?

Викторина

Почему RFC 6528 вычисляет Initial Sequence Number как счётчик по времени плюс keyed-хэш 4-кортежа, а не начинает с нуля?

Викторина

Во время SYN-флуда твой публичный listener держится с tcp_syncookies=1, но легитимные клиенты на трансконтинентальном пути 200 мс жалуются, что пропускная способность застряла на ручейке. Почему?

Викторина

Сервис 4K-видео по cellular (RTT 150 мс, ~1% случайных потерь) видит, как пропускная способность CUBIC падает до доли ёмкости канала. Переход на BBR восстанавливает почти line-rate. В чём причина?

Викторина

Redis-клиент на том же хосте дата-центра показывает стабильный p99 ~40–200 мс на мелких конвейерных командах, без потерь и без давления CPU. Корневая причина?

Викторина

Load balancer возвращает EADDRNOTAVAIL на исходящий connect() к одному бэкенду; ss показывает ~30k сокетов TIME-WAIT к этому origin. Коллега предлагает понизить MSL, чтобы TIME-WAIT быстрее сливался. Как читать ситуацию правильно?

Итог

Сквозная линия юнита — одна цепочка решений: handshake стоит round-trip, который ты амортизируешь переиспользованием соединений, рандомизация ISN его защищает, SYN cookie обороняют его под флудом (ценой отброшенных опций), congestion control решает, как быстро он заполнит трубу (CUBIC реагирует на потерю, BBR моделирует bandwidth и RTT), а канонические production-сбои — стопоры Nagle плюс delayed-ACK, утечки CLOSE-WAIT, исчерпание TIME-WAIT — у каждого один верный рычаг и несколько правдоподобных неверных. Знать, какой рычаг и почему остальные провалятся, — и есть синтез.

Продолжить восхождение ↑TCP handshake: тест на воспроизведение
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.