你能用一个例子解释一下tcp/ip中nagle算法的概念吗?
问问题
840 次
1 回答
3
我认为维基百科的开头段落做得很好。
Nagle 的文档,IP/TCP Internetworks 中的拥塞控制 (RFC 896) 描述了他所谓的“小数据包问题”,即应用程序以小块重复发送数据,通常只有 1 个字节大小。由于 TCP 数据包有一个 40 字节的报头(TCP 为 20 字节,IPv4 为 20 字节),这导致 41 字节的数据包包含 1 字节的有用信息,这是一个巨大的开销。这种情况经常发生在 Telnet 会话中,其中大多数按键都会生成一个立即传输的单字节数据。更糟糕的是,在慢速链路上,许多此类数据包可能同时在传输中,可能导致拥塞崩溃。
Nagle 的算法通过组合一些小的传出消息并同时发送它们来工作。具体来说,只要有一个发送方没有收到确认的已发送数据包,发送方就应该继续缓冲其输出,直到它有一个完整数据包的输出,以便可以一次发送所有输出。
于 2010-08-16T15:46:56.780 回答