TCP连接过程:三次握手与四次握手
来源:大彬 时间:2021-09-12 21:14:17阅读:0
上图由wireshark抓取,并显示了TCP状态图
根据上图可以看到建立一个TCP连接的过程为(三次握手的过程):
-
客户端向服务器端发送一个SYN请求,同时传送一个初始序列号(ISN);
-
服务器发回包含客户端初始序列号的SYN报文段作为应答,同时将ACK序号设置为ISN+1;
-
客户端向服务器发送一个ACK确认,ACK序号为ISN+1.
终止一个TCP连接需要4次握手,这是由于TCP的半关闭(当一方调用shutdown关闭连接后,另一端还是可以发送数据,典型的例子为rsh)导致的:TCP连接是全双工的,连接的每一端在关闭连接时都向对方发送一个FIN来终止连接,同时对方会对其进行确认(回复ACK)。通常,都是一方完成主动关闭,另一方来完成被动关闭:
-
以上面的抓包为例,客户端向服务器发送了一个FIN(NO. 6);
-
服务器端对上面的FIN进行确认(NO. 7),同时向客户端发送一个FIN(这儿其实是两个动作,一个是对上面FIN的ACK,另一个是发送一个FIN,但由于TCP的捎带ACK机制,两者放在一个包里发送了);
-
客户端对服务器端的FIN进行确认(NO. 8)。
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
本站原创内容未经允许不得转载,或转载时需注明出处:https://news.kd010.com/hlw/2839.html
TAG标签:TCP