TCP协议11种状态集!

TCP协议的11种状态集

### tcp协议11种状态集转换“三次握手5种状态,四次挥手6种状态”
服务端:closed—listen—syn_rcvd—established—close_wait—last_ack—close
客户端:closed—syn_send—established—fin_wait1—fin_wait2—time_wait—close
1. tcp三次握手状态集转换:
服务端:
(1)closed—listen(开启相应服务),只有在listen状态服务端才可能建立请求
(注意:closed—listen状态,实际是建立了一个socket 条目信息)
netstat -an | grep -i es 查看socket 条目信息
(2)服务端listen收到客户端的syn请求并响应syn和ack,从listen—syn_rcvd状态(第二次握手)

客户端:
(1)客户端发送syn信息到服务端,closed—syn_send(第一次握手)
(2)客户端在syn_send状态收到syn和ack字段,并回复ack确认(第三次握手)

如图:

2. tcp四次挥手状态集转换:
客户端:
(1)客户端在established状态发送fin字段给服务端,established—fin_wait1(四次挥手第一次)
(2)客户端在fin_wait1接受来自服务端的ack信息
(3)客户端在fin_wait2状态接收服务端fin,相应ack,fin_wait2—time_wait状态
(4)客户端在time_wait等待90秒后,最终回归close状态

服务端:
(1)服务端在established状态收到来自客户端的fin字段,established—close_wait,
(2)服务端在close_wait发送ack确认字段(四次挥手第二次挥手)
(3)服务端在close_wait发送fin断开字段给客户端,close_wait—last_ack(四次挥手第三次)
(4)服务端在last_ack状态收到客户端ack信息,最终回归close原始状态

如此,三次握手和四次挥手的状态集就形成啦!最后给大家安利张图!

原文地址:http://blog.51cto.com/13520779/2062264

时间: 2024-08-26 02:13:24

TCP协议11种状态集!的相关文章

TCP之11种状态变迁

1. TCP 之11种状态变迁 TCP 为一个连接定义了 11 种状态,并且 TCP 规则规定如何基于当前状态及在该状态下所接收的分节从一个状态转换到另一个状态.如,当某个应用进程在 CLOSED 状态下执行主动打开时,TCP 将发送一个 SYN,且新的状态是 SYN_SENT.如果这个 TCP 接着接收到一个带 ACK 的 SYN,它将发送一个 ACK,且新的状态是 ESTABLISHED.这个最终状态是绝大多数数据传送发送的状态. 自 ESTABLISHED 状态引出的两个箭头处理连接的终止

[svc]tcp三次握手四次挥手&tcp的11种状态(半连接)&tcp的time-wait

TCP的状态转化过程(11中状态)以及TIME_WAIT状态 高性能网络 | 你所不知道的TIME_WAIT和CLOSE_WAIT 我相信很多都遇到过这个问题.一旦有用户在喊:网络变慢了.第一件事情就是,netstat -a | grep TIME_WAIT | wc -l 一下.哎呀妈呀,几千个TIME_WAIT. 为什么TIME_WAIT这么多 TCP连接的"三次握手"与"四次挥手" TCP漏洞:半连接 TCP半连接与SYN攻击 TCP连接状态详解 原文地址:h

TCP三次握手四次挥手11种状态集

python TCP协议详解 三次握手四次挥手和11种状态

11种状态解析 LISTEN  --------------------  等待从任何远端TCP 和端口的连接请求. SYN_SENT  ---------------  发送完一个连接请求后等待一个匹配的连接请求. SYN_RECEIVED  --------  发送连接请求并且接收到匹配的连接请求以后等待连接请求确认. ESTABLISHED  -----------  表示一个打开的连接,接收到的数据可以被投递给用户.连接的数据传输阶段的正常状态. FIN_WAIT_1  --------

【Linux网络基础】TCP/IP协议簇的详细介绍(三次握手四次断开,11种状态)

一.TCP/IP协议簇(DoD参考模型) 用于简化OSI层次,以及相关的标准. 传输控制协议(tcp/ip)簇是相关国防部DoD所创建的,主要用来确保数据的完整性以及在毁灭性战争中维持通信 是由一组不同功能的协议组合在一起构成的协议簇 利用一组协议完成OSI所实现的功能 1. TCP/IP 协议簇中的相关协议 TCP/IP协议簇--应用层: TCP/IP协议簇--主机到主机层: TCP与UDP对比: TCP相关报文结构: 源端口:即本地发起连接的端口 目标端口:即要访问的服务的端口 序列号:因为

TCP三次握手和四次挥手以及11种状态

TCP三次握手和四次挥手以及11种状态 1.三次握手 置位概念:根据TCP的包头字段,存在3个重要的标识ACK.SYN.FIN ACK:表示验证字段 SYN:位数置1,表示建立TCP连接 FIN:位数置1,表示断开TCP连接 三次握手过程说明: 1.由客户端发送建立TCP连接的请求报文,其中报文中包含seq序列号,是由发送端随机生成的,并且将报文中的SYN字段置为1,表示需要建立TCP连接.(SYN=1,seq=x,x为随机生成数值)2.由服务端回复客户端发送的TCP连接请求报文,其中包含seq

7.1 TCP IP的11种状态

在研究TCP IP的11种状态之前,我们先看一下服务器中存在僵尸进程的情况. 服务器是多进程模型,客户端是单进程. 服务器程序如下: 1 #include <sys/types.h> 2 #include <unistd.h> 3 #include <stdlib.h> 4 #include <stdio.h> 5 #include <string.h> 6 #include <errno.h> 7 #include <arpa

TCP113次握手--4次挥手及---11种状态

第1章 tcp三次握手 过程 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认:SYN:同步序列编号(SynchronizeSequence Numbers). 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态: 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,

TCP协议的是一种状态集转换、子网划分过程

作者:Georgekai 归档:学习笔记 2018/1/17 网络运维基础(三) 1.1 TCP协议的十一种状态集转换 1.1.1 TCP三次握手状态集的转换 1.服务端: 1)服务端从closed状态转换为listen状态(在服务端开启相应服务),只有在listen才可以     接受客户端建立连接的请求 2)从colsed转变为listen,实际上就是创建了一个socket信息 netstat -an|grep -i es  可以看到socket条目信息 socker条目:tcp或udp协议