• 流水线机制、滑动窗口协议、GBN、SR


    一、滑动窗口协议

    为了解决停等操作的性能问题(发了一个分组之后一直等到确认了这个分组才发下一个),推出了流水线机制,提供资源利用率。就是允许发送方在收到对方的ACK前,发送多个分组

    其中窗口是一个范围管理发出去还没确认的分组,随着不断传输,这个窗口不断滑动,名称的由来。窗口左端的序号收到了ACK,就可以往右滑动了。

    滑动窗口协议有GBN、SR

    二、滑动窗口协议的实现:GBN

    1.分组头部包含序列号

    2.窗口如下,大小为N,最多允许N个分组未确认

    3.ACK(n),则表示确认从开始到n(包含n)的序列号全部正确接收

    4.会空中在传的分组设置一个Timer计时器,处理超时,如果收到了timeout(n)事件,那么会重传的是n以及n以后的所有分组(尽管后面的可能已经收到了,这就是回退,回退到n开始传,GBN)

    5.接收方会有一个期望序列号,如果收到的不是期望的分组,直接丢弃

    三、滑动窗口协议的实现:SR(选择重传)

    GBN缺陷,累积确认机制导致回退到N,重复传了很多。解决这个。

    1.对每个分组分别确认,不再只接收期望的,接到不期望的,就先缓存(设置缓存机制),接到期望的才交付上层

    2.发送方只需要重传那些没收到ACK的分组了

    3.产生了接收方窗口(GBN只有发送方窗口),用来缓存,现在有两窗口了

    4.序列号的位数是K的话,那么得满足 接收方窗口大小N+发送方N<= 2的k次方,防止因为接收方ACK丢失导致发送重发k号分组,而此时接收方滑到了新窗口,新窗口有新的k号分组(不是原来的,共用序号产生的),导致出错

  • 相关阅读:
    html <select> <option> 实现根据选择不同的option,调用不同的方法功能
    jquery 实现无缝循环广告
    Linux 一次性杀死用户所有进程
    jquerymobile总结
    jQuery lightBox plugin
    开始算法复习。。。
    关于android Intent意图的一点心得
    好了,咳咳,就从这里这时开始吧
    CSV文件的生成与分析
    【观点】想写代码?离开你的电脑吧!
  • 原文地址:https://www.cnblogs.com/chz-blogs/p/9526618.html
Copyright © 2020-2023  润新知