简单形象理解TCP建立的三次握手

墨言 04-21 716阅读 0评论

第一次握手:发起方发送一个SYN置为1的报文,seq=a ack=0

第二次握手:接收方收到 SYN之后,回复一个 SYN和ACK 置为1的报文,seq=b ,ack=a+1

第三次握手:发送方收到接收方发送的 SYN 和 ACK后,回复ACK置为1的报文,seq=a+1,ack=b+1


tcp三次握手.png

TCP 三次握手好比在一个夜高风黑的夜晚,你一个人在小区里散步,不远处看见小区里的一位漂亮妹子迎面而来,但是因为路灯有点暗等原因不能100%确认,所以要通过招手的方式来确定对方是否认识自己。


你首先向妹子招手(syn),妹子看到你向自己招手后,向你点了点头挤出了一个微笑(ack)。你看到妹子微笑后确认了妹子成功辨认出了自己(进入estalished状态)。


但是妹子有点不好意思,向四周看了一看,有没有可能你是在看别人呢,她也需要确认一下。妹子也向你招了招手(syn),你看到妹子向自己招手后知道对方是在寻求自己的确认,于是也点了点头挤出了微笑(ack),妹子看到对方的微笑后确认了你就是在向自己打招呼(进入established状态)。

于是两人加快步伐,走到了一起。


过程中总共有四个动作

1.你招手

2.妹子点头微笑

3.妹子招手

4.你点头微笑


其中妹子连续进行了两个动作,先是点头微笑(回复对方),然后再次招手(寻求确认),实际上我们可以将这两个动作合成一个动作,招手的同时点头和微笑(syn+ack)。于是这四个动作就简化成了三个动作。


双方各水电费.png

1.你招手

2.妹子点头微笑并招手

3.你点头微笑

这就是三次握手的本质,中间的一次动作是两个动作的合并



文章版权声明:除非注明,否则均为莫不过一饮溪云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,716人围观)

还没有评论,来说两句吧...

目录[+]

取消
微信二维码
微信二维码
支付宝二维码