本人CS不是很专业,这是我今晚随便琢磨得到的想法,各位笑看即可:
很多人知道TCP三次握手是为了建立可靠的网络连接,那什么叫做可靠的网络连接呢?
可靠的连接,就是要确保双方都既会发送tcp包、也会接收tcp包,这里的“会”其实有两个含义,一是能做到,二是乐意去做。
假设A为请求方,B为服务方,假设他们之间用一种叫做“tcp”的语言沟通。
第一次A向B发送一个包:意思为,A证明自己会“说”tcp语言(发送tcp包);
B收到A的包后,向A发送第二个包:意思为,我听懂了你说的tcp语言(接收tcp包),并且向A证明自己也会说tcp语言(发送tcp包);
注意,此时,A证明了自己会说,B证明了自己会听也会说,但是A还没有证明自己会听呀!
于是A收到B的包后,向B发送了第三个包:意思为:你发给我的包,我能听懂(接收tcp包)
此时,A和B都证明了自己都会发送tcp,也能接收tcp