tcp三次握手

三次握手的功能是为了确认客户端和服务器都能接受到对方的消息。

小云很喜欢小胡,但是小云是个女孩子,她很害羞,所以她请小城当通信员,让小城帮忙跟小胡说一下自己喜欢小胡。于是呢小城告诉了小胡。

这是第一次握手,客户端向服务器发一个带 SYN 标志的数据包。服务器知道自己接受到了客户端的包,但是客户端不确定服务器是否接受到了自己发的包。

现在情况:

小云不确认小胡现在是否收到了自己的心意
小胡知道小云的心意了。
其实呢,小胡一直暗恋小云很久了,听到了这个消息十分开心,于是他也请小城当通信员让小城跟小云说自己也喜欢小云,希望和小云在一起。于是呢小城也把话带给了小云。

这是第二次握手,服务器向客户端回传了一个 SYN/ACK 标志的数据包。此时客户端确认自己发的包能被服务器收到,也确认自己可以正常接受服务器包,客户端已经完成结束。但是服务器不能确认客户端是否接受到了自己发的包。

现在情况:

小胡知道小云喜欢自己,但是并不确认小云是否收到了自己的话。小胡很着急。

小云呢知道小胡喜欢自己了,也知道自己喜欢小胡(这不是废话吗),但是她仔细的想了想,小胡还不知道自己已经收到了他的消息,所以得和小胡说一下。

于是再次让小城这个傻逼带个话,说自己也知道了小胡的心意,让小胡放学后来找她。

这就是最关键的第三次握手,客户端再回传一个ACK标志的数据包。

现在情况: 两边都没有问题,小胡放学后就可以来找小云了。也就是可以进行通信了。

设想一下:

握手一次
小胡知道小云的心意,然后对小城说哦,我知道了。通信失败,结束。

握手两次 小胡知道小云喜欢自己,自己也表示了心意,可为什么小云就没来回我呢,难道她只是开玩笑,只是玩真心话大冒险输了,我不信,我等,然后他就孤独终老。

posted @ 2017-07-08 10:43  云胡同学  阅读(146)  评论(0编辑  收藏  举报