小工具知识网

当前位置: 首页 > 行业知识 > 计网Lesson15 - TCP可靠传输

行业知识

计网Lesson15 - TCP可靠传输

2026-11-01 03:47:57 来源:互联网转载

文章目录

  • 1. 停止等待ARQ协议
  • 2. 连���ARQ协议与滑动窗口协议

    1. 停止等待ARQ协议

    • ARQ(Automatic Repeat–reQuest)自动重传请求

    • 几种重传情况

      • 发送端丢失

        发送方过久没有接收到接收方的确认报,这种情况会触发超时重传机制,发送方重新发送报文。

      • 确认报丢失

        发送方依然没有收到确认报,所以会触发重传,而接收方接收到两个重复的包,直接将后来的包丢掉。

      • 延迟确认

        发送方迟迟没收到确认报,于是重传,重传的接收到确认报了,之后前面的确认报才来,这时候无事发生。

      • 问题:若有个包重传了N次还是失败,会⼀直持续重传到成功为止吗?

        答:在网络通信中,如果一个数据包重传了N次仍然失败,它是否会一直持续重传直到成功,这取决于具体的协议和设置。例如,在TCP(传输控制协议)中,重传5次还未成功就会发送RST报文,连接将被断开。这是为了防止网络拥塞和无效通信。


        2. 连续ARQ协议与滑动窗口协议

        • 在停止等待协议的基础上改进,发送方发一个窗口大小内的数据,接收方只回一次确认报。
        • 如果接收窗口最多能接4个包,但发送方只发了2个包:
          • 发送方可能一次发送一个窗口的包,也有可能不发,不一定的,得看发送方的协议约定。
          • 接收方的确认报只确认收到两个包。
          • 每个包多大,这个在一开始建立连接的时候就会约定好
            • 就是选项段的第一个:最大报文段长度(Maximum Segment Size)。
            • 如果建立连接时约定的MSS大小不一,取最小的。
              • 最大报文段长度在一开始就约定好了
              • 窗口的大小并非固定***的,是由接收端控制的,这关系到流量控制:
                • 接收端如果缓存区不够用或者想控制流量,就在确认报中将窗口大小改小。
                  • 序号和确认号
                    • 当发送方发出一连串数据,但是其中丢了几个包,接收方会确认第一个丢失的包的位置(ACK),之后会在选项中标注出哪些包丢失了,也就是选择性确认技术(SACK)。

                      • 发送方会滑到ACK的位置,开始重新发送这个窗口内没有传输过的包,传过的不会再发。
                      • 此处应当辨析超时重传与连续ARQ协议:为什么超时就整段重传,而这个ARQ滑动窗口仅仅只重传未发送的包?

                        • 超时重传:在TCP中,传输层分包超时会导致包重传;在给包分片的IP层中,片超时(或丢失)会直接将整个包的片丢掉不管,然后发送方触发超时重传。
                        • 连续ARQ:只重发丢掉的包。
                        • 为什么:因为网络层是在路由之间传输的,如果一直等待错包重传很占用路由的空间,所以选择直接扔掉重传;而传输层可以看作是管道直连(网络层掩盖了底层逻辑),所以占用的空间资源是各主机的,并无太大影响。

上一篇:菜鸟驿站怎么查自己的备案

下一篇:头的字母怎么读?