首页 > 其他 > 详细

Tcp连接和断开

时间:2019-12-03 15:25:06      阅读:67      评论:0      收藏:0      [点我收藏+]

三次握手:客户端为a,服务端为b;开始都是closed状态;a主动打开进入到syn_sent状态,b被动打开进入listen状态;第一次握手,a向b发送SYN=1,seq为x的包,b收到以后进入syn-rcvd状态;第二次握手,b向a发送SYN=1,ACK=1,seq=y,ack=x+1的包,a收到后进入eatablished状态;第三次握手,a向b发送ACK=1,seq=x+1,ack=y+1的包,b收到以后进入established状态。

所以在三次握手阶段:客户端是closed      syn-send   established      服务端是colsed  listen  syn-rcvd established
 
 
四次挥手:客户端是a,服务端是b,开始都是established状态;a主动关闭,发送FIN=1 seq=u,进入FIN_WAIT_1状态;b收到后,发送ACK=1,seq=v,ack=u+1,进入到close_wait状态;a收到数据进入到FIN_WAIT_2状态,,接着进行未传送完数据的传送,b发送完数据后,发送FIN=1,seq=w,ack=u+1,进入到last_ack状态;a收到后进入到time_wait状态,等待两个MSL时间(最大数据报时间),发送ACK=1,seq=u+1,ack=w+1进入到closed状态;b收到后进入到closed状态。
所以在四次挥手过程中:客户端的状态是established fin_wait_1 fin_wait_2 time_wait closed;服务端的状态是established close_wait  last_ack closed

Tcp连接和断开

原文:https://www.cnblogs.com/benjamin666/p/11976926.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!