队列管理和拥塞控制.pptVIP

  • 17
  • 0
  • 约7.96千字
  • 约 44页
  • 2019-12-22 发布于广东
  • 举报
12.3.2 开环控制(续) 包含一个漏桶的接口 Conforming分组 主机 漏桶分组计数器 源发送的负载 NonConforming分组 一个漏桶模型 12.3.2 开环控制(续) 分组大小 固定大小:漏桶由一个有限队列构成,当分组到达时,如果队列中尚有空位,则将其加入到队尾;如果队列满就丢弃该分组或者打上标记。每隔一个时间节拍(clock tick),队列中的一个分组从漏桶中移走出去(除非队列为空)。 可变大小:最好是采用字节计数的机制,每个节拍允许移走一定数量的字节,而不是每个节拍移走一个分组。如果一个节拍内允许移走的剩余字节数不够,下一个分组就必须等到下一节拍移走。 12.3.2 开环控制(续) 字节计数漏桶: 每个节拍开始时,计数器初始化为n(即每个节拍允许移走的字节数)。 如果队列的第一个分组的字节数小于当前计数器,就将该分组移走,并把计数器减去该分组的字节数。 如果计数器值小于队列中下一个分组的字节数,则停止移动分组,直到下一个节拍开始,计数器被重新设置,开始另一轮分组移动过程。 漏桶漏的速度就是峰值速率PCR,而桶的容量的大小L 限制了最大突发长度,对于一个平均速率为SCR的流 来说,漏桶限制的最大突发长度为 12.3.2 开环控制(续) 通信量整形(traffic shaping) 概念 源在发送分组时,它可能并不知道自身发送的负载到底如何,源可能希望确保其发送的负载符合前面源和主机协商的通信量模式,因此源首先改变发送的负载流,这种改变负载流的方法称为通信量整形。 通信量整形也可以用来使得负载流变得更加平滑。 有很多实现通信量整形的方法,比较常用的是漏桶和令牌桶整形。 12.3.2 开环控制(续) 漏桶整形 机制 漏桶维护了一个队列用于保存到来的分组,主机每隔一个时间节拍从漏桶的缓冲区队列头部选择一个分组发送到网络中。 分组到达时桶如果溢出,则丢弃该分组或者赋予一个低优先级以便网络出现拥塞时优先丢弃。 如果分组到达时桶没有溢出,则这些分组被放入漏桶队列中,这样主机中用户进程发送的不匀速的分组流被转换为发送进网络的匀速分组流,使突发性的数据流变得平滑。 12.3.2 开环控制(续) 令牌桶整形 原理 每隔 秒生成一个令牌,而令牌桶可以保留 这些令牌。如果要发送分组,必须首先抓住 一个令牌,在发送分组后令牌被销毁。 令牌桶算法则允许保留最多为n的发送权。 这一特性意味着多达n个分组的突发负载可以马 上被发送出去,从而允许输出的分组流有一些突 发性,并且对那些输入流的突发性提供更快的响 应。 12.3.2 开环控制(续) 主机 网络 每隔往桶中 装入一个令牌 桶中装有令牌 (a) 主机 网络 (b) 令牌桶算法 12.3.2 开环控制(续) 令牌桶和漏桶算法的相同点和区别 令牌桶算法在桶满时会丢失令牌,但不会把分组丢弃掉。而漏桶算法则在桶满时会丢弃分组。 两种算法除了可以在主机中使用外,也可以用来平滑路由器之间的通信。 令牌桶可以采用字节计数,每个令牌代表的不是发送一个分组的权力,而是k个字节。 令牌桶允许突发的通信量,但突发长度是有限的。 假设突发时间长度为S秒,令牌桶的容量为C字节, 令牌产生速率为 字节/秒,最大输出速率为M字 节/秒。 12.3.2 开环控制(续) 令牌桶算法的潜在问题 它允许大量的突发数据的出现,虽然最大突发间隔可以通过正确地选择 和M来进行控制。通常人们希望能够减少峰值速率,但不是把该速率降低原始漏桶算法的水平。 使负载更加平滑的一个办法是在令牌桶之后再加一个漏桶。 输出的突发数据流有一个最大值: 字节。 又因为在S秒内以最高速率输出的突发数据字节为MS。因此我们有: 解这个等式,我们有 。 12.3.3 闭环控制 反馈机制 首先,每个路由器监视网络的状态,包括输出线路和其他资源的利用率等。 每条线路有一个实变量 ,其值在0.0到1.0之间,它反 映了该条线路最近的利用率。为了使 的估计值能够 尽可能的精确,可以定期测量线路瞬间的利用率的采样 f(0或1),于是 按下式进行更新: 其中a用来决定路由器忘记近期历史的速度。 多种发送反馈的机制 反馈通过分组形式从路由器发送给源端。 反馈包括在路由器间交换的路由消息中传递。 12.3.3 闭环控制(续) 源端发送端到端的探测分组(probe packet)。 分组包括一个拥塞反馈字段,路由器在反方向的分组中填充该字段来传递拥塞指示。 路由器填充正向分组的拥塞反馈字

文档评论(0)

1亿VIP精品文档

相关文档