Алгоритм Nagle в TCP / IP - PullRequest
       22

Алгоритм Nagle в TCP / IP

2 голосов
/ 16 августа 2010

Не могли бы вы объяснить пример алгоритма Nagle в tcp / ip на примере?

1 Ответ

3 голосов
/ 16 августа 2010

Я думаю Википедия отлично справляется со своим вступительным пунктом.

В документе Нэгла «Контроль перегрузки в межсетевых сетях IP / TCP» (RFC 896) описывается то, что он назвал «проблемой небольших пакетов», когда приложение постоянно выдает данные небольшими порциями, часто размером всего 1 байт. Поскольку TCP-пакеты имеют 40-байтовый заголовок (20 байт для TCP, 20 байт для IPv4), это приводит к 41-байтовому пакету на 1 байт полезной информации, что приводит к огромным накладным расходам. Такая ситуация часто возникает в сеансах Telnet, где большинство нажатий клавиш генерируют один байт данных, который передается немедленно. Хуже того, по медленным каналам связи многие такие пакеты могут передаваться одновременно, что может привести к коллапсу заторов.

Алгоритм Нэгла работает путем объединения количество небольших исходящих сообщений и отправив их все сразу. В частности, пока есть отправленный пакет, для которого отправитель не получил подтверждения, отправитель следует продолжать буферизовать свой вывод до у него полная стоимость пакета вывод, так что вывод можно отправить всем сразу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...