美文网首页
TCP可靠传输的基本原理

TCP可靠传输的基本原理

作者: 超级工程师进阶之路 | 来源:发表于2020-05-11 09:55 被阅读0次

    学习TCP可靠传输之前,学习几个重要的概念

    1. 停止等待协议
      把计算机分为发送方和接收方

      停止等待协议.png
      发送的消息在路上丢失 确认的消息在路上丢失 确认的消息很久才到 这三种情况都会超时重传
      每发送一个消息,都需要设置一个定时器
      停止等待协议是最简单的可靠传输协议
      停止等待协议对信道的利用效率不高
    2. 连续ARQ协议 (Automatic Repeat ReQuest:自动重传请求)
      在停止等待协议的基础上进行改造的,能不能批量发送?


      连续ARQ协议.png

      连续ARQ协议采用累计确认的方式,假如说同时发送了六个报文,那么在某一个时刻,发送方收到了第5个报文确认消息,那么表示1到5都已经收到了,所以把窗口往后推动五格,窗口就可以发送7-11这五个消息,这就是累计确认。只要收到某个确认消息,就表示这个消息之前的消息都收到了,可以大大减少确认报文的数量,来提升网络效率。TCP协议就是基于连续ARQ协议来开发的。

    3. TCP的可靠传输基于连续ARQ协议 ARQ协议有两个重要的概念,滑动窗口累计确认

    4. TCP的滑动窗口以字节为单位


      TCP可靠传输.jpg

    假设有一段的字节流需要进行传输,假设滑动窗口的大小为7(现实上很大),有一个场景,前4个字节已发送没有确认,后三个字节可以发送,窗口不能往前滑动


    TCP可靠传输2.jpg

    重新传输导致效率低下,那么有没有提高效率的方式?答案是有的,那就是选择重传!

    TCP协议的选择重传

    1. 选择重传需要指定需要重传的字节(实际上是选择重传的字节边界)
    2. 每一个字节都有一个唯一的32序号

    相关文章

      网友评论

          本文标题:TCP可靠传输的基本原理

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