新手小白对TCP“三次握手”和“四次挥手”的初次理解

三次握手

三次握手,就是TCP建立连接的过程。这个连接必须是一方主动打开,一方被动打开。

通俗理解

在这里插入图片描述

为什么要有“三次握手”

前两次握手是在建立连接,是必须要的。

“第三次握手”是客户端向服务器端发送数据,这个数据就是要告诉服务器,客户端有没有收到服务器“第二次握手”时传过去的数据。若发送的这个数据是“收到了”的信息,接收后服务器就正常建立TCP连接,否则建立TCP连接失败,服务器关闭连接端口。由此减少服务器开销和接收到失效请求发生的错误。

如果没有第三次握手,服务端可能会开启一些无用的连接。长此以往,这样的端口多了,就会造成服务器端开销的严重浪费。

四次挥手

四次挥手,就是TCP连接解除。这个连接必须是一方主动解除,另一方被动解除。

通俗理解

在这里插入图片描述
前两次挥手,服务端知道了客户端想要解除连接,客户端也知道了服务端收到了自己的请求。

后两次挥手,客户端知道了服务端准备解除连接,服务端也知道了客户端收到了自己准备解除解除。

为什么挥手要四次

建立连接时,被动方不需要做任何准备,可以直接握手开始建立连接。

但解除连接时,不能保证所有的数据都传完了,可能还有必要的数据进行处理,因此不能立即解除连接。

seq为序号。
SYN是请求新连接,表示服务器端同意建立连接。
ACK是确认序号有效,表示告诉客户端,服务器端收到了它的请求报文。
FIN表示请求释放连接。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值