大家都知道TCP建立有效连接一定需要三次,为啥不是两次或者四次呢?
相信通过下图就能清晰的明白了。
举个例子:我和室友S上午去上课,我太懒了没起来,但是我知道这个变态的老师一定会点名,从而想让室友S帮我答到,于是有了下面的对话:
我1:S啊,今天不去上课了,帮忙答个到吧。
S1:可以啊。
我2:谢啦。
我2说的“谢啦“就相当于第三次连接喽,如果我没有说谢啦。就不能保证我听到S的“可以啊”,因为有可能他说“可以“的时候有可能是在厕所里声音太小而导致我没有听到,但是当我说“谢啦”的时候,是可以保证我是听到了S说的“可以啊”的。所以只有通过第三次的回复才能保证这次会话的双向联通。
下图会更清晰的说明这个逻辑关系:
直到客户端和服务器端,都知道自己和对方的接受信息和发送信息都联通,此时建立的会话才是双向联通的。
这也就是三次握手才能保证双向联通的逻辑关系。