tcp三次握手和四次挥手的过程以及原因

.简述下TCP三次握手的过程,并解释采用3次握手建立连接的原因?

QQ截图20211126154413

客户端发送连接请求: syn=1 seq=x

服务端发送响应请求 syn=1 ack=x+1 seq =y 表示服务端准备好了

客户端发送确认的请求 ack=y+1 seq=x+1 客户端确认是刚才自己发的消息,且消息有效

那为什么需要三次握手呢?其实就像客户端的第二次握手我描述的那样是为了判断消息有效。

试想这样一个场景:客户端在很久很久之前发送了一个请求,但是由于网络因素或者是其他因素,他没有及时被服务端收到,也没有消失,而是暂时发送不到服务端了,而此时客户端没有收到服务端的回信,又发了一次,这次网速快,三次握手成功了。

更巧的是,成功之后,滞留的之前的客户端发的消息发出去了,然后被服务端收到了,服务端又发了一个确认消息,但客户端这次没有确认。

服务端就会立马知道----啊啊! 这是滞留的消息。

这就是三次握手的作用。

QQ截图20211126160056

四次挥手的过程是:

客户端发送一个FIN报文告诉服务器,我要停止对你发送数据了

服务器端发送收到

服务器端发送一个FIN报文,告诉客户端,我也要停止对你发送数据了。

客户端回答收到

为什么要四次挥手呢?因为客户端和服务端的连接是双向的,客户端向服务器端发送FIN只是段龛客户端到服务器的连接,服务器还可以向客户端发送数据,此时只是单向断开,只有服务器再次发送FIN报文的时候才是双向断开。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值