TCP为何需要3次握手?

以生活中实际的例子来说明:


56687-86a0a19a183d447e.jpg
TCP三次握手举例

"老板"吩咐"小明"去做一件事儿,"老板"对"小明"进行一番交待后,不确定"小明"是否完全理解了自己的意思,所以他要问一句: 你知道该怎么做了么?再复述一遍.

"小明"把刚才听到的话原样复述了一遍,但他不确定自己复述的对不对,所以需要"老板"给个答复,所以复述完要加一句:我说的对么?

"老板"听到小明的复述,点了点头,看来"小明"确实是理解了,于是给了"小明"一个确认的眼神,说道:嗯,没有问题,去忙吧.

"小明"收到老板的肯定答复,十分欣喜,于是结束了本次对话,去做老板吩咐的事情去了.

这个问题的本质是, 信道不可靠, 但是通信双发需要就某个问题达成一致. 而要解决这个问题, 无论你在消息中包含什么信息, 三次通信是理论上的最小值. 所以三次握手不是TCP本身的要求, 而是为了满足"在不可靠信道上可靠地传输信息"这一需求所导致的.
PS.最后这句话来源于TCP 为什么是三次握手,而不是两次或四次? - wuxinliulei的回答 - 知乎

猜你喜欢

转载自blog.csdn.net/weixin_33815613/article/details/87202142