【资料整理】TCP状态变迁

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
【资料整理】TCP状态变迁
 
 
开始:
传说中的3次握手。
1.CLOSED:起始点。在超时或者连接关闭的时候进入此状态。
2.LISTEN:Server 端在等待连接过来的时候所处的状态,Server 端为此要调用 socket,bind,listen 函数,进入此状态。这称为应用程序被动打开(等待 Client 端来连接)。
3.SYN_SENT: Client 端发起连接,发送 SYN J 给 Server 端。如果 Server 端不能连接,则直接进入 CLOSED 状态。
4.SYN_RCVD:跟3对应,Server 端接收到 Client 端的 SYN J 请求,则 Server 端由 LISTEN 状态进入 SYN_RCVD 状态。同时 Server 端要回应一个 ACK J+1 ,同时发送一个 SYN K 给 Client 端;另外一种情况,Client 端在发送 SYN 请求的同时接收到 Server 端发送的 SYN 请求, Client 端就会由 SYN_SENT 进入到 SYN_RCVD 状态。
5.ESTABLISHED:跟4对应,Client 端收到 SYN K 和 ACK J+1 后,将发送 ACK K+1 给 Server 端,并进入 ESTABLISHED 状态;而 Server 端 在收到 ACK K+1 后也进入 ESTABLISHED 状态;至此双方完成3次握手进入状态,已经可以开始传输数据。
 
关闭:
关闭需要进行4次交互,这里主动关闭的一方或被动关闭的一方不是指特指 Server 端或者 Client 端,是相对于谁先发起关闭请求来说的。
 
6.FIN_WAIT_1: 主动关闭的一方,由状态5进入此状态。此处具体的动作是:发送 FIN M 给对方。
7.FIN_WAIT_2: 主动关闭的一方,接收到对方的 ACK M+1 ,进入此状态。
8.CLOSE_WAIT:跟6对应,接收到 FIN M 以后,被动关闭的一方进入此状态。此处具体的动作是:接收到 FIN M,同时发送 ACK M+1。
9.LAST_ACK:被动关闭的一方,发起关闭请求,由状态8进入此状态。此处具体的动作是:发送 FIN N 给对方,接下来在接收到 ACK N+1 时进入 CLOSED 状态。
10.CLOSING:两边同时发起关闭请求时,会由FIN_WAIT_1进入此状态。此处具体的动作是:FIN N,同时发送 ACK N+1。
11.TIME_WAIT:有3个状态可以转化成它:
a.跟7对应:主动关闭的一方在接收到被动关闭一方的 FIN N 后,回应ACK N+1,然后进入该状态。
b.跟10对应: 双方同时发起关闭,都接收到了 FIN N,并回应了ACK N+1,然后进入该状态。
c.跟6对应:同时接收到 FIN N 和 ACK N+1,与b的区别在于本身发起的 FIN N 回应的 ACK N+1 先于对方的 FIN N 请求到达,而b是 FIN N 先到达。这种情况概率最小。

wKioL1SaouKg25LbAAEEJf8011o557.jpg

wKiom1SaojfjacbrAAFggpzCEYc940.jpg


wKioL1SaouPSsQzjAAGgGydEjWk091.jpg

wKioL1SaouOSFZ7JAAQzfaJFg9s089.jpg



本文转自 pcnk 51CTO博客,原文链接:http://blog.51cto.com/nosmoking/1595652,如需转载请自行联系原作者

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
网络协议 Linux
TCP状态转换图文解说
TCP状态转换图文解说
282 0
TCP状态转换图文解说
|
网络协议
TCP协议的状态
TCP协议的状态
118 0
|
监控 网络协议 网络安全
zabbix自定义TCP 11种状态监控模板(十四)
zabbix自定义TCP 11种状态监控模板 如果一直对多个主机同时增加监控项那么会非常麻烦,在实际生产中有很多时候我们都需要对一批机器同时增加多个相同的监控项,如果一个一个手动添加将会非常麻烦,因此就有了模板的诞生,我们只需要创建一个模板,让需要监控的主机链接模板即可
301 0
zabbix自定义TCP 11种状态监控模板(十四)
|
编解码 网络协议 网络架构
计算机网络基础 和 tcp 三次握手四次挥手,tcpdump抓包分析 协议过滤 分析,连接状态,标志位详解
wireshark 软件过滤及转码使用 ,TCP tcpdump 连接状态,标志位详解
282 1
|
网络协议 安全 Linux
查看http的并发请求数与其TCP连接状态
查看http的并发请求数与其TCP连接状态
361 0
|
网络协议
分析几种TCP状态转换中的非正常转换
  1、服务器从listen状态变成close状态的原因:   服务器在监听端口的时候,此时有些资源加载的有问题导致服务没开启,此时服务器会从listen状态变成closed状态。
972 0
|
网络协议 Linux PHP
TCP TIME_WAIT状态解析及问题解决
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaobryant/article/details/80557158 一、TCP四次挥手过程 TCP在建立连接时需要握手,同理,在关闭连接的时候也需要握手。
2600 0
|
网络协议
《UNP》学习之TCP状态转换
CLOSED:TCP起始状态 LISTEN:绑定端口后进入listen状态,一般是服务端 SYN_SENT:发送SYN连接请求,主动打开连接的一方进入SYN_SENT SYN_RCVD:接收到SYN连接请求后进入SYN_RCVD,同时发送SYN,ACK。
1250 0