一 概述TCP协议广泛应用于可靠性要求较高的应用场景,如网页浏览、文件传输、电子邮件等。它提供了可靠的数据传输和流控制机制,能够确保数据的完整性和有序性。然而,由于TCP协议在传输过程中引入了较多的控制信息,因此相比于UDP协议,TCP的传输速度较慢。
在 Linux 系统中,可以使用 netstat 或 ss 命令查看 TCP 连接状态。使用 netstat 命令:该命令可以列出所有已建立的 TCP 连接,其中 -a 选项表示显示所有连接,包括已建立、正在等待和已经关闭的连接;
这篇教程让我们就从最基本的网络数据收发开始谈起吧。其实这部分才是网络程序员应该做的最基础最简单的部分,但是这部分如果想要做好相对来说还是很有技巧和困难的。而且如果这部分你没做好,在多人对战类游戏中它带来的影响是极其恶劣的。
控制位:ACK:该位为 1 时,「确认应答」的字段变为有效,TCP 规定除了最初建立连接时的 SYN 包之外该位必须设置为 1RST:该位为 1 时,表示 TCP 连接中出现异常必须强制断开连接SYN:该位为 1 时,表示希望建立连接,并在其「序列号」的字段进行序列号初始值的设定FIN:该位为 1 时,表示今后不会再有数据发送,希望断开连接。
在确认报文段中,把 SYN 和 ACK 位都置为 1 。或者是收到 3 个冗余的 ACK 响应也能停止 MSS 增长。在快速恢复中,对于使 TCP 进入快速恢复状态缺失的报文段,对于每个收到的冗余 ACK,cwnd 的值都会增加一个 MSS 。