发起断开方发出FIN,并收到ACK,这就是两次网络传输了。同样被断开方也发出FIN,且等待对方回复,这也是两次网络传输。同样的逻辑分析下来,实际上也可以仅经过三次传输就断开此次连接,但为什么我们会说四次挥手呢?这是因为如果在收到FIN时,彼时还有数据未传输完,则先回复关于 FIN 的 ACK,告知对方我已经知道你要断开了。则等待传输完毕后,被断开方再发送 FIN,告知自己也已经可以断开连接。但实际上完全可以是“三次挥手”,如果收到 FIN 时,已经没有数据要传输,则是“三次挥手”。三次握手、四次挥手它的作用首先是为了保证TCP的面向连接其次也是为了保证三次握手后建立信道的数据传输的可靠性也就是我们常讲的两次不可靠(因为双方不知道建立连接没有有) ,四次有点多余,三次刚刚好)为什么挥手是四次?断开必须保证数据传输完成,必须保证一方已经断开,另一方才能断开(可以保证发送发完,接受接完)
TCP三次握手为什么是三次,断开时是四次?
于 2023-05-13 13:56:54 首次发布