三次握手四次挥手

TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层协议,它在互联网中广泛应用于数据传输。TCP确保了数据的可靠传输,主要通过三次握手建立连接和四次挥手关闭连接来实现。

三次握手(Three-Way Handshake)

三次握手是在客户端和服务器之间建立TCP连接时所采用的步骤,具体过程如下:

  1. 客户端发送SYN(同步)报文: 客户端向服务器发送一个SYN报文,其中包含客户端的初始序列号(ISN),并设置SYN标志位。

  2. 服务器响应SYN: 服务器接收到客户端的SYN报文后,会发送一个SYN-ACK报文作为响应,其中包含了确认号(ACK),确认客户端的初始序列号,同时也发送自己的初始序列号(ISN),并设置SYN和ACK标志位。

  3. 客户端确认SYN-ACK: 客户端接收到服务器的SYN-ACK报文后,会发送一个ACK报文作为确认,确认服务器的初始序列号,同时也发送自己的确认号(ACK),表示已经收到了服务器的响应。

经过这三次握手,客户端和服务器建立了连接,可以开始进行数据传输。

四次挥手(Four-Way Handshake)

四次挥手是在客户端和服务器之间关闭TCP连接时所采用的步骤,具体过程如下:

  1. 客户端发送FIN报文: 当客户端需要关闭连接时,会发送一个FIN报文,表示客户端不再发送数据。

  2. 服务器响应ACK: 服务器收到客户端的FIN报文后,会发送一个ACK报文作为确认,表示已经收到了客户端的关闭请求。

  3. 服务器发送FIN报文: 服务器在关闭连接前,可能还有未发送完的数据需要传输完毕,传输完成后,服务器会发送一个FIN报文给客户端,表示服务器也不再发送数据。

  4. 客户端响应ACK: 客户端收到服务器的FIN报文后,会发送一个ACK报文作为确认,表示已经收到了服务器的关闭请求,并且客户端也不再发送数据。

总结

  • 客户端发送第一次挥手,之后由 ESTABLISHED 状态转为 FIN_WAIT1 状态
  • 服务器收到客户端的第一次挥手之后,发送第二次挥手给服务器,服务器进入 CLOSE_WAIT 状态,等待服务器自身的 SOCKET 关闭等处理
  • 客户端收到服务器的第二次挥手,进入 FIN_WAIT2 状态,等待服务器关闭
  • 服务器发送第三次挥手,然后进入 LAST_ACK 状态
  • 客户端收到第三次挥手,发送第四次挥手,客户端进入 TIME_WAIT 状态;
  • 服务器收到第四次挥手,进入 CLOSED 状态,客户端等待 2MSL 后,进入 CLOSED 状态

 

经过这四次挥手,客户端和服务器完成了关闭连接的过程,释放了资源,结束了通信。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
TCP的三次握手四次挥手是用于建立和终止TCP连接的过程。三次握手是指在建立TCP连接时,客户端和服务器之间需要发送3个包来确认双方的接收能力和同步连接双方的序列号和确认号。这个过程主要是为了确保连接的可靠性和正确性。\[2\] 四次挥手是指在终止TCP连接时,需要经过四个步骤来关闭连接。这是由于TCP的半关闭机制造成的,即连接的一端在结束发送后仍然可以接收来自另一端的数据。在四次挥手过程中,双方会交换最后的数据和确认信息,然后逐步关闭连接。\[1\] 需要注意的是,在三次握手四次挥手的过程中,并不包含实际的数据传输。只有在连接建立后,双方才开始正式传送数据。而在连接关闭之前,TCP连接将一直保持下去,除非有一方主动关闭连接。\[3\] 总结起来,三次握手是用于建立TCP连接,而四次挥手是用于终止TCP连接。这些过程都是为了确保连接的可靠性和正确性。 #### 引用[.reference_title] - *1* *2* [TCP三次握手四次挥手](https://blog.csdn.net/qq_28345657/article/details/126599058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [计算机网络之TCP](https://blog.csdn.net/RenLJ1895/article/details/122420159)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值