В чем разница между алгоритмом Нагла (TCP_NODELAY) и TCP_CORK на уровне буферизации сетевых пакетов ядра?

TCP_NODELAY отключает алгоритм Нагла и уменьшает ожидание небольших записей. TCP_CORK, напротив, просит Linux удерживать неполные сегменты, чтобы собрать более крупную отправку.

Короткий ответ

Что ответить на собеседовании

TCP_NODELAY отключает алгоритм Нагла и уменьшает ожидание небольших записей. TCP_CORK, напротив, просит Linux удерживать неполные сегменты, чтобы собрать более крупную отправку.

Подробный разбор

Ответ с пояснениями

TCP_NODELAY отключает алгоритм Нагла и уменьшает ожидание небольших записей. TCP_CORK, напротив, просит Linux удерживать неполные сегменты, чтобы собрать более крупную отправку.

Нагл ограничивает мелкие отправки при наличии неподтверждённых данных; NODELAY полезен для чувствительного к задержке обмена. CORK удобен при формировании ответа частями: его нужно снять после сборки, не полагаясь на предельный таймер ядра. Ни один режим не сохраняет границы вызовов write как границы сообщений у получателя.

Источник: man7.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее