网站基础建设和维护,做微信商城网站哪家好,怎么建设推广网站,永州公司网站建设文章目录 TCP 的三次握手四次挥手转换状态 TCP 的三次握手 
第一次#xff0c;客户端与服务端建立链接#xff0c;需要发送请求连接的消息
第二次#xff0c;服务端接口到数据后#xff0c;返回一个确认的操作*#xff08;至此客户端和服务端链路建立成功#xff09;
第三… 文章目录 TCP 的三次握手四次挥手转换状态    TCP 的三次握手 
第一次客户端与服务端建立链接需要发送请求连接的消息
第二次服务端接口到数据后返回一个确认的操作*至此客户端和服务端链路建立成功
第三次服务端还需要发送要与客户端建立链接的请求
第四次客户端收到数据后返回一个确认的操作至此服务端到客户端的链路建立成功
由于建立链接时没有数据传输所以第二次确认和第三次请求可以合并为一次发送tcp协议为了实现可靠传输通信双方需要判断自己已经发送的数据包是否都被接收方收到如果没有收到就需要重新发送为了实现这个需求就引出 序号 seq ,和确认号 ack的使用 四次挥手 
第一次挥手 客户端服务端也可以主动断开 向服务端说明想要关闭连接 
第二次挥手  服务端会回复确认但不是关闭因为此时服务端可能还有数据在传输中
第三次挥手待到服务端数据传输都结束后服务端向客户端发出消息我要断开连接了
第四次挥手客户端收到服务端的断开信息后给予确认服务端收到确认后正式关闭1 代表客户端 2代表服务端1 - 2 
FIN1
2 - 1 
ACK 1
FIN 1 
1 - 2
ACK 1  
转换状态 
三次握手状态转换
1.客户端发送syn包向服务端请求建立TCP 连接客户端进入 SYN_SEND 状态
2.服务端收到请求之后向客户端发送 SYNACK 的合成包同时自身进入 SYN_RECV 状态
3.客户端收到回复之后发送 ACK信息自身进入 ESTABLISHED 状态
4.服务端收到ACK数据之后进入 ESTABLISHED状态 四次挥手过状态转换
1.客户端发送完数据之后向服务器请求断开连接自身进入 FIN_WAIT_1 状态
2.服务端收到 FIN 包之后,回复ACK包表示已经收到但是此时服务端可能还有数据没有发送完成自身进入CLOSE_WAIT 状态表示对方已发送完成且请求关闭连接自身发送完成之后可以关闭连接
3.服务端数据发送完成之后发送FIN包给客户端自身进入LAST_ACK 状态等待客户端 ACK确认
4客户端收到FIN 包之后回复一个ACK包并进入TIME_WAIT 状态如果机器 TIME_WAIT 过多会造成端口耗尽可以修改内核参数
tcp_tw_recycle1 端口重用