为什么需要三次握手

啥也不说,先放图:
三次握手,计网p238
相信视频面试前,大家都会和面试官进行以下对话:

  • step1, 你:面试官您好,能听见么?
  • step2, 面:你好同学,我能听见,你能听到我么?
  • step3, 你:能听到。
  • step4, 面:好的,接下来面试正式开始。。。

其实这就是一个大家最常使用三次握手的例子之一。
可以看出,三次握手的目的简单来说就是确保通信双方能够正常交流。

那么怎样才可以保证正常交流呢?

  • 通信双方的发送接收能力都正常

再回过头来看上面的例子:

  • step1, 你:面试官您好,能听见么(seq=x)?(第一次握手)
  • step2, 面:你好同学,我能听见(ack=x+1),你能听到我么(seq=y)? (第二次握手)
  • step3, 你:能听到(seq=x+1, ack=y+1)。 (第三次握手)
  • step4, 面:好的,接下来面试正式开始 (数据传送)。。。

第一次握手后,服务端知道,客户端的发送能力是正常的。
第二次握手后,客户端知道,服务端的发送能力,接收能力是正常的。
此时,客户端的接收能力还不知道正常与否,所以还需要第三次握手,让服务端确定客户端的接收能力是正常的。

面试问到三次握手,直接把这个例子举出来,保证面试官眼前一亮

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页