1. Class有 AR(assured rate),CR(ceil rate),priority,level和quantum Q。Class可以有parent。class的当前流量是R,对于inner class(非叶子节点),它的R是所有叶子节点的R总和。
2. Leaf是没有孩子的class,只有Leaf才有包队列。
3. Level是class在树形结构所在的层次,leaves的level是0,root是LEAVEL_COUNT-1,每个inner class的level比父节点的level要少1。
4. class的Mode可以根据R, AR, CR计算出来:
- Red: R > CR,当前流量超过最高的流量限制
- Yellow: R <= CR and R > AR,当前 流量比保证的流量限制要高,但比最高的流量限制要小。
- Green: R <= AR
5. D(c)是所有的叶子节点,这些叶子节点都需要从c来借流量(对应上面的Yellow Mode)。
链路分享的目标:
c是class, p是parent
Rc = min(CRc, ARc + Bc) [eq1]
Bc是指从父节点借的流量,如果没有父节点,那Bc就是0;如果有p的其他叶子节点需要借流量,并且优先级要比当前class的优先级高(数值低),那么当前的class就不应该被服务,Bc也是0;如果轮到当前的class,那么综合和当前class同一优先级的class,以这些class的Q(quantum)为权重来分配剩余的流量Rp。
Qc Rp Bc = ----------------------------- iff min[Pi over D(p)]>=Pc [eq2] sum[Qi over D(p) where Pi=Pc] Bc = 0 otherwise [eq3]
没有评论:
发表评论