0

当我使用 send 或 write 系统调用将套接字上的数据发送到目标节点时,内核/tcp 是否被迫使用同一 TCP 段中的整个缓冲区?它可以分成多个 TCP 段吗?

其次,IP 是否在单个 IP 数据包上复用多个 TCP 段?

4

1 回答 1

1

TCP 是一种面向流的协议。不能保证(实际上恰恰相反)单个writesend将导致单个 IP 数据包。类似地,read最终可能会接收到从多个 IP 数据包收集的数据。

多个 TCP 流永远不会合并到单个 IP 数据包中。

于 2012-10-06T20:29:00.947 回答