博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tcp/ip 11种状态
阅读量:6842 次
发布时间:2019-06-26

本文共 1029 字,大约阅读时间需要 3 分钟。

三次握手的建立状态

1、一开始建立之前服务器和客户端的状态都为closed

2、服务器创建socket后开始监听,变为listen状态

3、客户端请求建立连接,向服务器发送syn报文,客户端的状态变为SYN_SENT.

4、服务器收到客户端的报文后向客户端发送ack和SYN报文,此时,服务器的状态变为SYN_RCVD.

5、然后,客户端收到ACK、SYN,就向报务端发送ACK,客户端状态变为ESTABLISHED。

四次挥手关闭状态

由与tcp连接是全双工的,断开连接会比建立连接麻烦一点点。

1、客户端先向服务端发送FIN报文,请求断开连接,其状态变为FIN_WAIT1。

2、服务端收到FIN后向客户端发出ACK,服务器状态变为CLOSE_WAIT。

3、客户端收到ACK后就进入了FIN_WAIT2状态。此时连接已经断开了一半了。如果服务器还有数据要发送给客户端,就会继续发送。

4、直到发完了,就发送FIN报文,此时服务器进入了LAST_ACK状态。

5、客户端收到服务器的FIN后,马上发送ACK给服务器,此时客户端进入TIME_WAIT状态。

6、再过了2MSL找的时间后进入CLOSED状态。服务器收到客户端的ACK就进入CLOSED状态。

CLOSING状态表示:

客户端发生了FIN,但没有收到服务器的ACK,却收到了服务器的FIN。

这种情况发生在服务器发送的ACK丢包的时候,因为网络传输有时会有意外。

tcp/ip 11种状态总结

LISTEN

侦听来自远方的TCP端口的连接请求

SYN-SENT

在发送连接请求后等待匹配的连接请求 

SYN-RECEIVED

在收到和发送一个连接请求后等待对方对连接请求的确认

ESTABLISHED

代表一个打开的连接

FIN-WAIT-1

等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2

从远程TCP等待连接中断请求

CLOSE-WAIT

等待从本地用户发来的连接中断请求

CLOSING

等待远程TCP对连接中断的确认

LAST-ACK

等待原来的发向远程TCP的连接中断请求的确认

TIME-WAIT

等待足够的时间以确保远程TCP接收到连接中断请求的确认 

CLOSED

没有任何连接状态 

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

你可能感兴趣的文章
革命尚未成功,“Deep Learning”再次无缘Gartner技术成熟度曲线
查看>>
东莞市政府常务会议审议通过《东莞市大数据发展实施方案》
查看>>
AI 对冲基金创造新货币,要将华尔街“开源”
查看>>
中国不允许信息数据随意离境,或影响跨国公司
查看>>
如何消除视频监控出现的干扰?
查看>>
东芝发布OCZ TL100系列入门级SATA SSD新品:接棒TR150
查看>>
解决IT流程自动化的Brocade Workflow Composer长什么样?
查看>>
苹果还要与雅虎搜索合作?梅耶尔已经确认
查看>>
爱立信携Trukcell进行5G测试 实现24.7Gbps下载速度
查看>>
运营商拥抱OpenStack背后:距运营级仍有差距
查看>>
云翌通信联合方位、鼎信在杭州、北京的产品交流会圆满结束
查看>>
模块化数据中心的多种形式
查看>>
存储器:芯片国产化之路的第一站
查看>>
智能家居何以成CES必争之地?
查看>>
爱立信前CEO卫翰思加入Verizon 负责网络和技术部门
查看>>
计算机:政府大数据加速落地
查看>>
AT&T:ONAP将在短期内发布代码
查看>>
嘿,微软:Windows Store到底有多少应用了?
查看>>
系统宕机:设备和应用不再是大问题,人为错误是关键
查看>>
来看看Win32资源监视器在Fluent Design设计语言下的样子
查看>>