传输层 连续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,所以可以看到发一个确认一个。

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

猜你喜欢

转载自blog.csdn.net/qq_34556414/article/details/125356818