总结下TCP的三次握手和四次挥手,超级容易理解

之前看过很多博文和其他同僚的一些个见解。在这里我想通过自己的理解来总结一下,有总结的不到位的地方还希望各位大佬指出并纠正。

1、首先来说下TCP的三次握手直接上图
在这里插入图片描述

这个图上面其实已经描述的很清晰了,在这里我用自己的话来总结下。举个简单的例子A(客户端)、B(服务端)两个人在通电话。所谓的三次握手就是A向B拨号(syn(x))、B收到(ack(x+1))后并且回复A(syn(y))、A收到B的回复(ack(y+1))ack就是知道了B的回复。

那么到这儿问题来了为什么第三次握手不可以去掉存在的意义又是什么呢?

答:第三次握手的存在是为了避免TCP的建立失败,只有在客户端和服务端相互确认收到彼此的syn同步消息后才会进行后面http相关内容的处理。在服务端向客户端同步消息的时候不确定客户端没有问题所以这第三次握手是不能够被合并或者去掉的。

2、接着讲一下三次握手之后如何关闭建立起来的TCP链接。即四次挥手

在这里插入图片描述

其实如果还是拿A、B通话来说的话就是A完成后会向B同步一个结束(fin(x))指令、B接收到A的指令(ack(x+1))会向A发布知道了、B向A发布结束(fin(x))指令、A接收到A的指令(ack(x+1))会向B发布知道了那么到此结束了。

问题:为什么四次挥手中间服务端向客户端发的两次指令不能够合并到一起呢?

因为在客户端结束后想服务端发送指令后,服务端会向客户端同步指令知道了,但是此时服务端可能还没有结束可能在服务端向客户端发送结束指令前还有一些内容所以这两次挥手不能够合并到一起

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值