三次握手为什么是三次,四次挥手为什么四次

三次挥手

       TCP的三次挥手实质是TCP的通信的连接,TCP的协议是位于传输层,其作用是建立可靠的通信服务,而为了准确的将数据可靠的传送到目的地,TCP协议采用三次挥手的方式来保障数据的可靠性传递。

      首先三次挥手建立与客户端和服务端的握手过程。首先TCP通过同步序列号请求的方式让同步序列号连接。第一次握手是客户端(PC1)向服务端(PC2)发起握手的同步序列号SYN请求;第二次握手是服务端(PC2)向服务端(PC1)发送确认收到第一次的同步序列号申请(ACK),并且向服务端(PC1)发起第二次握手的同步序列号SYN申请;第三次握手是客户端(PC1)向服务端(PC2)发送确认收到第二次的同步序列号SYN申请(ACK),即完成三次握手,实现了数据传递期间的可靠性保障。其中TCP是使用序列号和确认序列字段的方式来实现数据的可靠和有序传递。

  四次挥手

       当数据通过三次握手建立了数据的可靠性传递之后,TCP需要通过“四次挥手”的机制来实现来断开TCP的连接。“四次挥手”的断开一定是建立在“三次握手”的基础之上,没有“三次握手”的建立就一定不会有“四次握手”的断开。

       第一次挥手:客户端(PC1)会向服务端(PC2)发送请求断开连接(FIN),在第一次挥手的时候客户端会携带序列号(Seq)和“三次握手”的确认(ACK)发送至服务端。第二次挥手:服务端(PC2)会向服务端(PC1)发送确认收到第一次挥手的FIN请求,在此期间服务端(PC2)仍然会携带seq和ACK。第三次挥手:服务端(PC2)会向客户端(PC1)发送请求断开链接(FIN),期间仍然会携带seq和ACK向客户端发送FIN。第四次挥手:客户端(PC1)向服务端(PC2)发送确认断开链接(ACK)实现了四次挥手的全过程。

      四次挥手是是因为断开必须要确保数据完成传输,并且在保证一方确认断开的前提下,另一方完成断开,在四次挥手的第二次挥手和第三次挥手,在人们的宏观意识之下,认为第二次挥手和第三次挥手是在同一时间下完成的,但是在微观意识之下,第二次挥手相较于第三次挥手较快。

为什么四次挥手不能是三次挥手?

      这个因为第一次挥手表示客户端发送了一个FIN的包,表示客户端已发送数据完毕,但是服务端这 个时候可能还有数据没有发送完成,先发送给客户端一个ACK的包,等待自己的数据发送完成才能向客户端发送一个 FIN的包,表示自己的数据也已发送完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值