最后更新:2022-07-13 13:01:23 手机定位技术交流文章
TCP是一个面向节点的协议, 它不限制应用程序层传输消息的长度 ,事实上,TCP下的网络层和数据链层,因为发送消息的内存有限,必须限制消息的长度。
因此,TCP必须从应用程序层切断到任何字节流长度的多个报告段,分段的依据是什么?
以下是如何根据 mss最大消息段大小分开TCP消息段。


如果你正在直接使用TCP插座库进行编程,当客户端设置连接到服务器时,你需要创建一个插座,将调用连接方法,在成功建立连接后,服务器端将接受连接,在看到成立后,连接到下一阶段的状态下,这是传输数据的阶段。
在传输数据时, callwrite是发送消息, read可以接收任何长度的消息。

在操作系统里到底发生了什么事?
操作系统的内核栈会将发送的消息拆分为许多segement的报文段。

上述申请向另一份申请发送22字节,第一个三个字符通过tcp发送到应用程序中,那么4,5,6,7这些四个字符都在TCP堆栈中,8 9 也通过网络传输,10 11 12 13 可能从 IP 层降下来,处理数据链层,14、15、16、17、18仍在TCP堆栈中,19-22仍处于应用阶段,应用程序可由1到22字节,实际上发送的是流,分成许多部分,这个流动部分的基础是什么?
定义:只指TCP数据载体,不包括TCP头的大小参见RFC879


本文由 在线网速测试 整理编辑,转载请注明出处。