tcp和udp

tcp为啥是可靠的?

tcp可靠就可靠在接收方会按照顺序发送数据包给接收方(如序列号为seq=1),而接收方会在每次接收到发送方发来的数据包后对接收方发送一个确认包进行确认(如ack=2),以表明自己收到了正确有序的包,这样发送方就可以接着发送下一个数据包了(seq=2),通过这种机制,发送方就可以保证自己发送的有序数据可以被接收方按照顺序接收到,且数据包的内容是完整的(通过校验和比较),从而确保了通信的可靠

tcp为啥要三次握手?

三次握手是为了确保发送方和接收方都确认了发送的起始序列号,这样就可以确保连接已经建立,双方可以互相通信。假设只进行两次握手?那么如果发送方之前发送的请求连接包在某个节点滞留了一段时间,等到这个包传到接收方时,接收方已经和发送方通信完毕断开连接了,此时如果是两次握手,那么接收方就会回传一个确认包给发送方,便会等发送方发送数据,而发送方认为数据已发送完毕,就不会对接收方继续发送数据,那么接收方便会一直等待而浪费资源

tcp为啥要四次挥手?

因为tcp是全双工通信,每次请求有超时重发机制,所以当第一次主动方请求关闭连接时(此时主动方已不再发送新的数据给被动方),被动方需要先发送一个确认包确认收到主动方的关闭请求,避免主动方再次发送请求关闭包,此时被动方可能还有些数据需要发送给接收方,待发送完这些数据后,被动方发送关闭请求,主动方接收到这个请求后回应确认包确认,于是连接断开

TCP协议为什么可靠? - 简书

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值