第2次握手传回了ACK,为什么还要传回SYN?

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top

全网最细面试题手册,支持艾宾浩斯记忆法。这是一份最全面、最详细、最高质量的 java 面试题,不建议你死记硬背,只要每天复习一遍,有个大概印象就行了。 https://store.amazingmemo.com/chapterDetail/1685324709017001

在TCP的三次握手过程中,第二次握手中传回ACK的目的是确认客户端的SYN,并且告知客户端自己也接受了连接请求。而为什么还需要传回SYN呢?这是因为在第二次握手中,服务器需要向客户端发送自己的SYN,以便客户端知道服务器也愿意建立连接。

具体来说,第二次握手中服务器传回的SYN和ACK是合并在一个数据包中发送的,这个数据包既包含了对客户端SYN的确认,也包含了服务器自己的SYN。这样做的目的是为了在第三次握手中,客户端收到服务器的SYN+ACK后,可以通过发送ACK来确认服务器的SYN,从而完成连接的建立。

因此,第二次握手中传回SYN的目的是让客户端知道服务器也愿意建立连接,并且在第三次握手中客户端可以确认服务器的SYN,从而完成连接的建立。

最后更新于