美文网首页
TCP 如何保证可靠

TCP 如何保证可靠

作者: 环宇飞杨 | 来源:发表于2020-05-17 17:00 被阅读0次

如何保证不丢包

  1. 三次握手,四次挥手,保证连接可靠
  2. 客户端心跳保证活跃
  3. 超时重传(设置定时器,如果没有收到确信信息,那么重传,如果收到了,那么取消定时器)
    1. cocoasynsocket 应该是有确认机制的
    2. 超时,需要保留副本,用于重新发送
  4. 延迟逻辑
    1. A收到延迟的确认后会丢弃,重传
    2. B丢弃重复的分组,重传确认消息
  5. 累积确认
    1. 对按次序到达的最后一个分组进行确认,如果已经收到了某个分组的确认信息,那么表示这个分组为止之前所有的都收到了
  6. 滑动窗口
    1. 分组确认的形式
    2. 收到确认才可向前滑动一格

网络拥塞如何解决

  1. 快重传,快恢复机制
  2. 流量控制,不让发送方发送太快(用滑动窗口大小控制,发送方的窗口不可大于接收端的窗口),但滑动窗口就可能为0,为了避免进入死锁,TCP会开启一个定时器,周期性的发送零窗口检测报文(注意:即便接受窗口为0,也还是可以接收零报文探测、确认报文以及紧急数据报文段)
  3. 慢启动机制

相关文章

网友评论

      本文标题:TCP 如何保证可靠

      本文链接:https://www.haomeiwen.com/subject/oyusohtx.html