TCP端口的十一种连接状态
TCP端口的十一种连接状态∶
CLOSED∶端口默认是关闭状态。
LISTEN∶服务器程序开始监听一个端口,就是LISTEN状态。 SYN_RCVD∶三次握手的第二次握手后的端口状态,是收到了客户端发送的SYN_SENT数据包之后的状态,这个状态很短暂,正常在服务器上是很少看到的,除非服务器故意不发送最后一次握手数据包,服务器返回给客户端sYN确认之后就会将在自己的端口置为
sYN_RCvD. SYN_SENT∶SYN_SENT状态表示客户端已发送SY=1的满求连接报文,发送之后客户端就会将自己的端口状态置为
SYN_SENT. ESTABLISHED∶表示已经连接成功,客户端收到服务器的确认报文会回复服务器,然后就将端口置为ESTABLISHED,服务器第三次收到客户端的Ack确认就会将端口置为ESTABLISHED并开始传输数据。
FTN_MAIT_1∶出现在主动关闭方,FIN._wAIT_1状态实际上是当soCkEr在ESTABLISHED状态时,当任意一方想主动关闭连接,向对方发送了FIN=1的断开连接请求报文,此时该soCkET即进入到IN_MAIT_1状态。而当对方回应ACK报文后,则进入到FINLMAIT_2状态,当然在实际的正常情况下,无论对方何种情况下,都应该马 上回应ACK报文,所以FINMAIT_1状态一般是比较难见到的,而FINWAIT_2状态还有时常常可以用netstat看到。
FTIN_MAIT_2∶出现在主动关闭方,当被动方回应FIN_MAIT_1的ACK报文后,则进入到FIN_MAIT_2状态
TIME_MAIT∶出现在主动关闭方,表示收到了对方的FIN请求关闭报文,并发送出了ACK报文,就等2*MSL(Max Segment Lifetime)后即可回到CLOSED可用状态了。如果FIN_MWAI_1状态下,收到了对方同时带FIN标志和ACK标志的报文时,可以直接进入到 TTME_MAIT状态,而无须经过FIN_WAIT_2状态。
CLosSING∶这种状态比较特殊,实际情况中应该是很少见,属于一种比较罕见的例外状态。正常情况下,当你发送FIM报文后,按理来说是应该先收到(或同时收到对方的 ACK报文,再收到时方的FIN报文。但是CLosING状态表示你发送FTM报文后,并没有收到对方的ACK报文,反而却也收到了对方的FIN报文。什么情况下会出现此种情况呢?其实细想一下,也不难得出结论∶那就是如果双方几乎在同时close一个soCKET的话,那么就出现了双方同时发送FIN报 文的情况,也即会出现cLoSING状态,表示双方都正在关闭soCKET连接。
CLoSE_MAIT∶表示在等待关闭端口,这种状态存在于被动关闭的一方.
LAST_ACk∶是被动关闭方在主动关闭一方在发送FIN报文后,最后等待对方的ACK报文,当再次收到ACk报文后,也即可以进入到CLos=D可用状态了.
更多文章和资料|点击下方文字直达 ↓↓↓ 阿里云K8s实战手册 [阿里云CDN排坑指南]CDN ECS运维指南 DevOps实践手册 Hadoop大数据实战手册 Knative云原生应用开发指南 OSS 运维实战手册
- 以下信息由搭档之家收集整理自网络 前段时间,华为“天才少年”计划第二批入选者曝光,毕业于华中科技大学的博士生张霁、姚婷成功入选。其中,张霁拿到华为“天才少年”最高一档年薪201万元,目前全球仅有四人拿
- 搭档之家| 什么是网络“Troll”化?
- python神经网络绘loss高级曲线图代码
- 怎么利用网络赚钱?三步赚钱法分享给你!
- 网络赚钱项目有哪些,这七种赚钱项目适合小白!
- 怎样可以通过网络赚钱,网络赚钱无非这3种方式!
- pytorch神经网络训练参数设置
- 踩坑的Tomcat9.0.37([http-nio-8080-exec-20] 2016 Aug 20 12:04:49 WARN WARN:187 - Handler executi)
- git 通过http方式命令提交代码到远程仓库gitlab
- 神经网络 tensorflow2 学习笔记(二)
- go微服务系列(三) - 服务调用(http)
- 吴恩达机器学习作业3.2神经网络
- TCP和UDP协议详解(TCP三次握手和四次断开)
- 普通人怎么去赚钱?想实现财务自由只能去创业。丨国仁网络资讯
- 创业失败的那些人都在干什么?是去打工了还是继续创业了。丨国仁网络资讯
- Tensorflow实践之卷积神经网络模型构造、保存和读取
- 网络爬虫基础知识:HTTP和HTTPS、cookie和session
- 我想创业;没钱怎么创业找项目,教你一招找思维模式丨国仁网络资讯
- HTTP 入门与基本使用(从小白的成神之路)
- HCIA-R&S-企业网络架构介绍