传输层 可靠传输 连续ARQ协议和滑动窗口协议

谈谈你对 ARQ 协议的理解?


自动重传请求 ARQ 协议

停止等待协议中超时重传是指只要超过一段时间仍然没有收到确认,就重传前面发送过的分组(认为刚才发送过的分组丢失了)。因此每发送完一个分组需要设置一个超时计时器,其重传时间应比数据在分组传输的平均往返时间更长一些。这种自动重传方式常称为自动重传请求 ARQ。

连续 ARQ 协议

连续 ARQ 协议可提高信道利用率。发送方维持一个发送窗口,凡位于发送窗口内的分组可以连续发送出去,而不需要等待对方确认。接收方一般采用累计确认,对按序到达的最后一个分组发送确认,表明到这个分组为止的所有分组都已经正确收到了。

信道利用率


停止等待协议,它有个问题就是信道利用率低。

  • TD:A发数据的时间
  • RTT:往返时间
  • TA:收到确认之后,等了一段时间,再发送第二个分组

可以看到往返时间越大,这个信道利用率就越低。

  • 可以看出,当往返时间 RTT 远大于分组发送时间T时,信道的利用率就会非常低。
  • 若出现重传,则对传送有用的数据信息来说,信道的利用率就还要降低。

为了提高信道的利用率

那就是使用流水线传输,发数据的时候不要一个一个的发,比如连续的发出10个,然后告一段落,然后等着回复,如果都收到了回复,那么接着发11,这样的话,信道利用率就高了,就像机关枪一样,之前是步枪,打一次需要上膛一下子弹,现在一梭子下去。

停止等待协议要点


停止等待:发送方每次只发送一个分组。在收到确认后再发送下一个分组。

编号:对发送的每个分组和确认都进行编号。

自动重传请求:发送方为每个发送的分组设置一个超时计时器。若超时计时器超时,发送方会自动重传分组。简单,但信道利用率太低。

连续ARQ协议和滑动窗口协议—改进的停止等待协议


停止等待协议:A和B通信, 发送一个,等确认。

连续ARQ协议和滑动窗口协议:这是两个协议,两个协议相结合,发送窗口是4代表这四段都在滑动窗口里面,发送的时候就可以将这四个一块连发出去,对面收到之后回复一个确认收到前面4个了,该发第五个了,收到确认之后这个窗口就开始移动,这个时候5,6,7,8就可以连着发了,同理收到确认之后窗口就继续往前移动。(连续发多个包,然后确认一次)

用窗口来控制发送方,可以发哪些段,这个是窗口的作用。

连续ARQ是指这个窗口里面的段可以连续发,收到确认之后,窗口就可以往前移动。

上面可以看到用相同的时间,左边只发送了4个,右边发送了8个,可见右边的效率是比较高的。

其实计算机通信就是使用的连续ARQ协议和滑动窗口协议。

抓包看看,112给119传递数据,现在是103

 然后到125,然后确认一次

上面是带宽足够的情况下,在带宽不足的情况下

112发一个包,119给一个确认,如此往复循环下去,发一包确认一个包,当网速慢了就不是连续发了,发一次确认一次,这就是停止等待协议了,就不是连续ARQ协议了。

抓包当中如何判定是确认的包

发数据的len=1460表示,表示数据包里面有1460个字节。确认包里面是没有数据的len=0,所以可以看到发一个确认一个。

上面可以看到发多少确认一次,它是由网络状态决定的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值