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

TCP状态解读

握手+挥手过程状态变化

TCP_握手+挥手过程状态变化分析_第1张图片

同时握手

双发同时发起syn请求,状态变化过程如下:
TCP_握手+挥手过程状态变化分析_第2张图片
图片来源:http://www.tcpipguide.com/free/t_TCPConnectionEstablishmentProcessTheThreeWayHandsh-4.htm

同时挥手

4次挥手,可以理解为2次;TCP是全双工协议,双方各进行了两次处理,均需要Fin和Ack。
下面是双方同时发起关闭是的状态变化过程。
TCP_握手+挥手过程状态变化分析_第3张图片
图片来源: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:
TCP_握手+挥手过程状态变化分析_第4张图片
图片来源:http://www.tcpipguide.com/free/t_TCPOperationalOverviewandtheTCPFiniteStateMachineF-2.htm

TCP RFC:
TCP_握手+挥手过程状态变化分析_第5张图片

抓包分析

握手

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

挥手

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

案例分析

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

SYN被拒绝

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

连接异常断开

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

参考资料

  • The TCP/IP Guide
  • tcp rfc
  • TCP的那些事(上)

你可能感兴趣的:(网络,术(知识点),tcp/ip,TCP状态变化过程分析,TCP握手挥手分析,SYN被重置RST)