TCP三次握手,TCP四次挥手

当我们使用互联网浏览网页或者下载文件时,实际上是通过TCP协议进行数据传输的。TCP协议有一个重要的特点,就是在数据传输之前需要建立连接,而在结束数据传输后需要断开连接

TCP三次握手(Connection Establishment):

(建立数据连接)

        第一次握手:

        客户端对服务器说:“喂,我要和你通信,你准备好了吗?”。

客户端发送一个SYN包,表示请求建立连接。
这个包包含一个初始序列号,用于后续的数据传输。

        第二次握手:

        服务器对客户端说:“嗯,我准备好了,你也准备好了吗?”同时,服务器也告诉客户端:“你可以开始传输数据了。”        

服务器收到客户端的请求后,发送一个SYN/ACK包,表示接受连接请求。
这个包中包含服务器的初始序列号,以及对客户端的请求的确认。

       第三次握手:

        客户端对服务器说:“好的,我也准备好了,我们可以开始传输数据了。”于是连接建立,双方可以开始互相发送数据。

客户端收到服务器的确认后,发送一个ACK包,表示连接已建立。
这个包不包含数据,只是确认连接。

        这就好像打电话一样,你先拨通了对方的号码,对方接听后,你再确认一次是否可以开始通话,最后双方都准备好了,通话正式开始。

TCP的四次挥手(Connection Termination):

(断开数据连接)

        第一次挥手:

        客户端对服务器说:“我发送完了所有数据,可以关闭连接吗?”但客户端可能还有些数据未发送完,所以会等待一段时间。

        客户端首先发送一个FIN(Finish)标志给服务器,表示它已经没有数据要发送了,但仍然可以接收数据。

        第二次挥手:

        服务器接收到客户端的请求后,告诉客户端:“我确认你的请求了,但我还有一些数据没有发送完,等我发送完再关闭连接。”

        服务器接收到客户端的FIN后,发送一个ACK(Acknowledgment)确认标志给客户端,表示已经收到了客户端的关闭请求,并告诉客户端它还有一些数据需要发送。

        第三次挥手:

        服务器发送完所有数据后,对客户端说:“我数据都发送完了,可以关闭连接吗?”客户端确认后,进入等待状态。

        服务器在发送完所有数据后,向客户端发送一个FIN标志,表示它也没有数据要发送了,可以开始关闭连接。

        第四次挥手:

        客户端确认服务器的请求后,告诉服务器:“好的,我们可以关闭连接了。”于是连接顺利关闭。

        客户端接收到服务器的FIN后,发送一个ACK确认标志给服务器,表示客户端确认关闭连接。这时连接就彻底关闭了

        这就好像结束一个电话通话,你先告诉对方你发完了,但还等一下对方的回应,对方也告诉你他发完了,最后双方都确认可以挂断电话。

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值