TCP三次握手,四次挥手、为什么是三次握手、TCP挥手比握手多一次的原因

TCP三次握手,四次挥手

TCP的报文段结构:

对于TCP的三次握手,需要用到的信号量以及序列号有:

  • SYN:1位,其中SYN=1表示建立连接
  • seq:32位序号,随机生成
  • ACK:1位,其中ACK=1表示确认消息有效
  • ack:32位确认序号,seq+1
  • FIN:1位,其中FIN=1表示中断连接

TCP三次握手

TCP四次挥手

TCP三次握手的原因(为什么不是2次或者4次)

TCP协议

  • 需要建立连接才可以起作用

  • 需要Client端和Server端都具有正常的发送和接收能力

握手Client端可以验证的能力Server端可以验证的能力
第一次Client发送、Server接收
第二次Server发送、Client发送、Server接收、Client接收
第三次Client接收、Server发送

所以只有三次挥手,Client端和Server端才可以验证双方都具有正常的发送和接收能力

TCP挥手比握手多一次的原因

当Client端发出FIN报文段时,只可以说明Client端没有数据发送了,但是Client端还可以从Server端接收数据。

当Server端发送ACK报文段时,只可以说明它知道了Client端没有数据发送了,但是Server端还可以发送数据。

当Server端发送FIN报文段时,表示Server端也没有数据发送了。

当Client端接收到后会返回ACK,之后彼此就会愉快的中断这次TCP连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值