TCP的CLOSING状态发生条件


当主动关闭方发送了FIN后(主动方状态FIN_TAIT_1)到达被动关闭方。被动关闭方接受FIN并发送了确认ACK(被动方变为CLOSE_WAIT),之后发送了被动方自己的FIN;
情况1:此时主动方先收到ACK,进入fin_wait_2,然后收到FIN并发送确认码ACK,主动关闭方进入TIME_WAIT
情况2:此时主动方先收到被动关闭方的FIN然后发送该FIN的接收确认码ACK到被动关闭方(主动方状态变为CLOSING,可能是由于传输过程中出现异常,ACK数据被阻塞延时),然后收到被动方发送给主动方的ACK确认码,主动方进入TIME_WAIT。

备注:每次2个socket之间进行通讯,每次通信都必须经过2个环节。a:主动方发送数据到被动方,b:被动方发送确认收到的信息ACK到发送方,如果主动方没有收到该ACK,那么主动方会重新发送。一般主动方请求发送后,ack码会与要传输的数据内容一起传输给发送请求端。

TCP的CLOSING状态发生条件相关推荐

  1. linux内核对TCP的连接状态管理

    TCP协议实例连接状态存放在struct sock数据结构的state数据域中. 当TCP协议实例连接处于不同状态时,对数据包的处理不一样,所以每个输入的数据包都要来查询TCP状态机,整个状态机制划分 ...

  2. 计算机网络之TCP中TIME_WAIT状态意义详解

    文章目录 为什么需要TIME_WAIT 一.何为TIME_WAIT? 二.为什么需要TIME_WAIT 原因一:防止被动关闭方的延迟数据被人窃取 原因二:防止被动关闭方没有收到最后的ACK 为什么需要 ...

  3. TCP连接的状态详解以及故障排查

    转载于https://blog.csdn.net/hguisu/article/details/38700899 我们通过了解TCP各个状态,可以排除和定位网络或系统故障时大有帮助.(总结网络上的内容 ...

  4. zabbix加入TCP连接数及状态的监控

    一 监控原理: [root@99 nginx]# /bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}' TIME_W ...

  5. TCP协议端口状态说明:CLOSE-WAIT、TIME_WAIT 、LISTENING、SYN_SENT、ESTABLISHED、LAST_ACK、CLOSED

    了解TCP协议端口的连接状态,对排除和定位网络或系统故障会有很大帮助,因此了解一下是有必要的: 一.LISTENING  提供某种服务,侦听远方TCP端口的连接请求,当提供的服务没有被连接时,处于LI ...

  6. 状态机控制移位寄存器multisim仿真过程中出现的状态变量和状态转移条件不匹配的问题

    问题如下: 当我们在进行到0000001时,状态变量应该取值为s1s0=10 但在实际仿真过程中出现了s1s0依旧在0000001时保持01不变,在0000001结束到1000000复位时才发生01到 ...

  7. 为什么tcp的TIME_WAIT状态要维持2MSL

    本文主要分析为什么TIME_WAIT状态的持续时间是2MSL而不是1MSL,3MSL或其它的时长,而不会详细描述为什么需要TIME_WAIT状态. 阅读本文需要的预备知识: 了解TCP协议的状态变迁: ...

  8. 为什么TCP的TIME_WAIT状态要保持2MSL?

    TIMEWAIT状态也称为 2MSL等待状态. 每个具体TCP实现必须选择一个报文段最大生存时间MSL(Maximum Segment Lifetime). 它是任何报文段被丢弃前在网络内的最长时间. ...

  9. 查看tcp各个连接状态的数量

    4. 查看tcp各个连接状态的数量下面对的 netstat -tan|awk '$1~/tcp/{aa[$NF]++}END{for (h in aa)print h,aa[h]}' SYN_SENT ...

最新文章

  1. android 网络编程实现,Android开发使用HttpURLConnection进行网络编程详解【附源码下载】...
  2. Redis面试突击专用
  3. 卧槽?用 Python 还能玩 Git?
  4. 每日Ubuntu小技巧 - 使用TeamViewer连接远程桌面
  5. 如何阅读3,500万个博客?
  6. Python元组是什么
  7. 2020,难过的一年
  8. 回归标准差和残差平方和的关系_ISLR实验:简单线性回归
  9. 如何在 Mac 上的“音乐”应用和 iTunes 中创建 Genius 播放列表?
  10. CMSIS-RTOS 时间管理之虚拟定时器Virtual Timers
  11. ❤️对比PyWinAuto和uiautomation实现微信联系人自动采集❤️
  12. python元组元素的提取_Python元组
  13. 牛刀小试-99乘法表
  14. PHP香港微信跨境支付,微信支付-跨境支付开发者文档
  15. Building wheel for opencv-python (PEP 517) 卡住
  16. FFmpeg入门详解之116:rtsp live555摄像头直播
  17. redis 修改默认端口号6379(Windows)
  18. python 文件命令_python中写入文件数据及文件定位操作命令
  19. Windows平台C/C++实现对键盘或鼠标驱动设备的禁用、启动、卸载以及刷新设备管理列表功能
  20. python 操作excle和word

热门文章

  1. 神策军丨那个在神策跨城转岗的小伙子,现在怎么样了?
  2. HTML/CSS/JS编码规范
  3. Android手机WiFi下强制使用4G数据流量上网
  4. python中的方法和函数的区别_Python中函数和方法的区别
  5. 全国计算机等级考试二级Python语言程序设计模拟试卷D卷综合应用题
  6. 环信SDK 头像、昵称、表情自定义和群聊设置的实现 一(附源码)
  7. 从Dev-C++到vscode的过程
  8. MongoDB3.x中用户权限
  9. 硬件可信计算环境 计算困难性理论 对比
  10. Android入门第20天-Android里的ScrollView的使用