从TCP协议的本质角度出发,TCP是面向连接的,也就是说,需要双方连接上才可以进行数据传输,如何保证双方连通呢,最起码要保证服务端和客户端都有数据发送和数据接收的能力,当客户端第一次发送syn报文,可以确定客户端是具有发送数据的能力的的,这时候
还不确定客户端是否具有接受数据的能力的以及服务端是否具有接受数据和发送数据的能力,而这也是第一次握手,当服务端接受到syn报文时,这时候可以确定服务端是具有接受数据能力的,而当服务端回复syn和ack报文时,这时候可以确定服务端是有数据发送能力的,这就确定服务端是具备接受数据和发送数据能力的,但这还不客户端是否具备接受数据的能力,这也就是第二次握手,当客户端接收到服务端的回复时,这就可以确定客户端是具有接收数据和发送数据的能力,但是这个时候服务端还不知道客户端是否接收到数据,也就是说服务端还不知道客户端是否具有接收数据的能力,所以客户端需要回复一个ack报文,也就是第三次握手,也让服务端知道客户端具有接受数据的能力,这就确定了服务端和客户端是具有双向数据传输能力了。
为什么需要三次握手
最新推荐文章于 2023-03-26 17:08:43 发布