TCP/IP中的Nagle算法

发布于 2024-09-15 06:28:25 字数 34 浏览 2 评论 0原文

你能举例解释一下tcp/ip中nagle算法的概念吗?

can u kindly explain me the concept of nagle algorithm in tcp/ip,with an example?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

公布 2024-09-22 06:28:25

我认为维基百科在其开头段落中做得很好。

Nagle 的文档 IP/TCP 互联网络中的拥塞控制 (RFC 896) 描述了他所谓的“小数据包问题”,即应用程序以小块的形式重复发送数据,通常大小仅为 1 个字节。由于 TCP 数据包有 40 字节的标头(TCP 为 20 字节,IPv4 为 20 字节),这会导致 41 字节的数据包包含 1 字节的有用信息,这是一个巨大的开销。这种情况经常发生在 Telnet 会话中,其中大多数按键都会生成立即传输的单字节数据。更糟糕的是,通过慢速链路,许多此类数据包可以同时传输,可能导致拥塞崩溃。

Nagle 算法的工作原理是结合
小的传出消息的数量,以及
一次全部发送。
具体来说,只要有一个
发送方已发送的数据包
没有收到确认,发件人
应继续缓冲其输出,直到
它有一整包的价值
输出,这样输出就可以发送到所有
立刻。

I think Wikipedia does a nice job in its opening paragraph.

Nagle's document, Congestion Control in IP/TCP Internetworks (RFC 896) describes what he called the 'small packet problem', where an application repeatedly emits data in small chunks, frequently only 1 byte in size. Since TCP packets have a 40 byte header (20 bytes for TCP, 20 bytes for IPv4), this results in a 41 byte packet for 1 byte of useful information, a huge overhead. This situation often occurs in Telnet sessions, where most keypresses generate a single byte of data which is transmitted immediately. Worse, over slow links, many such packets can be in transit at the same time, potentially leading to congestion collapse.

Nagle's algorithm works by combining a
number of small outgoing messages, and
sending them all at once.
Specifically, as long as there is a
sent packet for which the sender has
received no acknowledgment, the sender
should keep buffering its output until
it has a full packet's worth of
output, so that output can be sent all
at once.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文