Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当我使用 send 或 write 系统调用将套接字上的数据发送到目标节点时,内核/tcp 是否被迫使用同一 TCP 段中的整个缓冲区?它可以分成多个 TCP 段吗?
其次,IP 是否在单个 IP 数据包上复用多个 TCP 段?
TCP 是一种面向流的协议。不能保证(实际上恰恰相反)单个write或send将导致单个 IP 数据包。类似地,read最终可能会接收到从多个 IP 数据包收集的数据。
write
send
read
多个 TCP 流永远不会合并到单个 IP 数据包中。