TCP四次挥手
一---导读
接着上一篇我们说到的日本和韩国做贸易。几周后,韩国方面和日本起了一些小矛盾,于是两国准备断交。韩国总统说:“安倍啊,我们们经过商量确认,决定和你们断交,501台三星我已经发出去了,你的51辆汽车我们已收到。不知你收到没有”,同时韩国方取关安倍 的推特账号。安倍收到后回复:“小文啊,确认收到你要断交的消息了,51辆汽车我们已经发出,你的501台三星我也收到了”。话毕,安倍电话通知有关部门,终止和韩国的贸易往来。这时日本方面的对韩港口已经关闭,韩国想要再发送什么东西到日本就不可能了,但因为韩国方面的对日港口还没有关闭,于是日本方还是可以运输东西到韩国。
二---图解TCP四次挥手
上图中:FIN是终止位,设置为1表面是一个确认终止位,ACK,seq,ack上文已经介绍过。FIN=1相当于韩国总统说的“决定和你们断交”。
MSL(Maximum Segment Lifetime)最长报文段寿命,RFC793建议为2分钟。
三---思考
假如客户进程在收到服务器方的终止信号后不是进入时间等待状态而是直接进入关闭状态,会产生什么问题?
如图:如果收到接收方的请求断开连接报文段,在发送确认之后就进入关闭状态,但是发送的确认报文段在路上丢失了。于是服务器方就没有收到,就一直重发一直重发。无法进入关闭状态。
继续思考这样一个问题:假如有一方出现故障了怎么办?
保活计时器的介绍:当服务器进程每次收到客户发送的数据后,就重新设置并启动保活计时器(2小时定时),如果超过2小时了,服务器端还是没有收到消息,就发送一个探测报文段,以后每隔75秒发送一次,如果一连发送10个探测报文段后依然没有回应的话,那TCP服务器进程就认为客户进程所在主机挂掉了,接着关闭连接。
posted on 2021-01-09 20:48 Love&Share 阅读(124) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~