TCP_握手+挥手过程状态变化分析

TCP状态解读

握手+挥手过程状态变化

在这里插入图片描述

同时握手

双发同时发起syn请求,状态变化过程如下:
在这里插入图片描述
图片来源:http://www.tcpipguide.com/free/t_TCPConnectionEstablishmentProcessTheThreeWayHandsh-4.htm

同时挥手

4次挥手,可以理解为2次;TCP是全双工协议,双方各进行了两次处理,均需要Fin和Ack。
下面是双方同时发起关闭是的状态变化过程。
在这里插入图片描述
图片来源:http://www.tcpipguide.com/free/t_TCPConnectionTermination-4.htm

状态机

对比了《TCP/IP详解*卷一》、TCP RFC、The TCP/IP Guide这三份资料里面的状态变化图,
个人觉得TCP RFC、The TCP/IP Guide里面的相对好理解一些。
TCP/IP Guide:
在这里插入图片描述
图片来源:http://www.tcpipguide.com/free/t_TCPOperationalOverviewandtheTCPFiniteStateMachineF-2.htm

TCP RFC:
在这里插入图片描述

抓包分析

握手

参见《TCP报文格式解读》中的TCP握手过程抓包分析

挥手

参见《TCP报文分析》中的挥手抓包分析

案例分析

分享几个自己工作中碰到的具体问题

SYN被拒绝

问题现象,web访问内部的文档库(同网段),笔记本用无线可以正常访问,台式机用有线网页显示异常,笔记本切有线也正常,没有头绪,抓包分析;
台式机抓包,发送syn后收到了服务端的RST包,在服务端抓包,没有看到台式机发起的请求;
查看服务器的mac,发现和连接目标mac地址不一致。基于这个信息再排查,有两台设备配置了这个ip。
在这里插入图片描述

连接异常断开

问题现象,使用定向4G流量卡上网,和服务器交互时连接一直无法建立,本地抓包发现请求被服务端重置;而使用普通的流量卡上网正常;
基于这个现象大概率是定向流量卡有问题;
服务端、本地同时抓包分析同一次请求过程,上面部分是server、下面部分是本地;果不其然,服务端也收到了RST的包,符合预期。
在这里插入图片描述

参考资料

相关推荐

  1. TCP三次握手、四次挥手状态转换详解

    2023-12-06 16:56:05       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-06 16:56:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-06 16:56:05       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-06 16:56:05       82 阅读
  4. Python语言-面向对象

    2023-12-06 16:56:05       91 阅读

热门阅读

  1. 【学习笔记】GAN前沿主题

    2023-12-06 16:56:05       52 阅读
  2. 游戏的UI管理的完整机制总结及框架展示

    2023-12-06 16:56:05       53 阅读
  3. uniapp得cover-view标签使用

    2023-12-06 16:56:05       57 阅读
  4. js占位符 ${} 使用

    2023-12-06 16:56:05       48 阅读
  5. codeforces Chip and Ribbon

    2023-12-06 16:56:05       42 阅读
  6. 【开源视频联动物联网平台】LiteFlow

    2023-12-06 16:56:05       53 阅读
  7. 服务器无法访问外网是怎么回事

    2023-12-06 16:56:05       55 阅读
  8. 【Socket】Unix环境下搭建局域网内TCP服务端

    2023-12-06 16:56:05       58 阅读
  9. 服务器怎么提高容错率呢

    2023-12-06 16:56:05       59 阅读
  10. C#用MathNet生成矩阵,并打印矩阵元素

    2023-12-06 16:56:05       50 阅读