news 2026/5/1 4:42:44

学习TCP/IP的第7步:设计TCPIP程序要注意的事项

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
学习TCP/IP的第7步:设计TCPIP程序要注意的事项

TCP/IP建立连接需要进行“三次握手”,断开连接需要进行“四次挥手”。面试术语。
“三次握手”,其过程是:客户端第1步发送“SYN同步数据包”,第2步接收“SYN+ACK
数据包”,第3步发送“ACK数据包”。

“四次挥手”,其过程是:客户端发送“FIN+ACK终止数据包”,客户端接收
“ACK应答数据包”,客户端接收“FIN+ACK终止数据包”,客户端发送“ACK应答数据包”。

设计TCPIP程序时,要注意的事项:
1、TCP交换数据是根据“源端口和目的端口”进行交付。
2、SYN是Synchronize Sequence Numbers的缩写,就是要实现“序列号同步”。

建立连接需要进行“三次握手”,其过程是:第1步发送“SYN同步数据包”,第2步接收“SYN+ACK数据包”,第3步发送“ACK数据包”。
3、ACK是Acknowledgment的缩写,就是“确认”,表示应答。
4、FIN是Finish的缩写,就是“通知对方,本端要关闭了”。
断开连接需要进行“四次挥手”,其过程是:客户端发送“FIN+ACK终止数据包”,客户端接收“ACK应答数据包”,客户端接收“FIN+ACK终止数据包”,客户端发送“ACK应答数据包”。

TCP协议规定,主动关闭连接的一方需要要处于TIME_ WAIT状态,等待两个MSL(maximum segment lifetime)的时间后,才能回到CLOSED状态。
MSL在RFC1122中规定为2分钟。但是由于各个操作系统的实现不同, 在Centos7/Ubuntu上默认配置的值是60秒
在Linux中,可以通过输入“cat /proc/sys/net/ipv4/tcp_fin_timeout”查看msl的值。
关闭服务器后,如果客户端立即使用“相同的端口”建立连接,就会失败。是因为服务器出于TIME_WAIT状态,端口还被占用着呢。其次,客户端连接到服务器后,如果客户端再使用“相同的端口”建立连接,也会失败,也是因为端口还占用
在设计程序时,要注意,我们可以换个端口连接到服务器。这就是服务器不主动连接客户端的原因,因为服务器的端口是固定。或者服务器等待客户端超时断开连接,也是可以的,但不建议这么设计程序。
5、PSH是Push的缩写,推送的意思,提示“接收方应用程序”立刻从“接收方的TCP缓冲区”把数据读走。
“接收方的TCP缓冲区”满的处理办法
1)、当“接收方的TCP缓冲区”由满到腾出空间后,接收方会主动向发送方发出一个报文,并把“它的缓存窗口大小”发送给我。
2)、当“接收方的TCP缓冲区”满了的时候,“发送方”就要定时的向“接收方”发送“不携带数据的报文”询问,直到收到“它的缓存窗口大小”。
在设计程序时要注意这么处理“拥塞”。
6、RST是Reset的缩写,以时是“重置”,就是“发送方”要求“重新建立连接”,然后再发送“SYN同步数据包”,重新进行“三次握手”。

发送“RST数据包”后,发送方会立即关闭连接,而不需要等待对方的确认。接收方收到RST包后,也会立即关闭连接
“三次握手”的过程是:第1步发送“SYN同步数据包”,第2步接收“SYN+ACK数据包”,第3步发送“ACK数据包”。如果接收方没有收到第3步发送“ACK数据包”,就需要发送RST数据包,要求“重新建立连接”
这在设计程序时,要注意。
7、URG是Urgent的缩写,意思是“紧急”。如果紧急指针有效,就是“收到的数据”要被优先处理,相当于插队。
当发送方发现“前面发送的数据”错误了,要取消上传,这时就要发送“紧急数据”进行暂停。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 5:47:49

数据驱动测试在动态UI场景的实践路径与创新策略

动态UI测试的挑战与数据驱动价值‌ 在当今敏捷开发时代,动态用户界面(UI)——如响应式网页、单页应用(SPA)或实时数据更新界面——已成为主流。这类UI元素(如表单、按钮)可能随用户交互或后端数…

作者头像 李华
网站建设 2026/5/1 6:49:34

10个AI写作利器,助你快速完成数学建模论文复现

数学建模论文的复现与排版往往时间紧迫、任务繁重,但借助AI工具可以显著提升效率。通过对10款热门AI论文写作工具的评测,发现部分工具能自动优化公式排版、生成代码框架,甚至辅助模型复现,尤其适合需要快速完成高质量论文的场景。…

作者头像 李华
网站建设 2026/5/1 5:43:33

数学建模论文复现不再难!10个AI工具助你事半功倍

数学建模论文的复现与排版往往时间紧迫、任务繁重,但借助AI工具可以显著提升效率。通过对10款热门AI论文写作工具的评测,发现部分工具能自动优化公式排版、生成代码框架,甚至辅助模型复现,尤其适合需要快速完成高质量论文的场景。…

作者头像 李华
网站建设 2026/5/1 4:56:48

微软MOS认证2月份考试时间

1月马上接近尾声,微软MOS认证2月份都有哪些考试排期呢,快来看看吧~

作者头像 李华