为什么需要三次握手

为什么需要三次握手

场景

节点a需要向节点b完成一次通信。

一次握手

a直接发送数据,a无法得知b是否正确收到数据。

两次握手

a发送数据,b接收到数据后向a返回一个接收成功信号(ack)。

(a若超时未接收到ack信号,可得知b未成功接收第一次发送的信号,a重发。)

但节点b无法得知节点a是否成功接收到ack信号。

三次握手

a发送数据,b接收到数据后向a返回一个接收成功信号(ack)。

(a若超时未接收到ack信号,可得知b未成功接收第一次发送的信号,a重发。)

a接收到ack信号,返回ack信号表示接收成功。

(b若超时未接收到a发送的ack信号,可知a未成功接收到b发送到ack信号,b重发第二次握手ack信号。)