Introduction to Computer Networking学习笔记(十八):rate guarantees交换速度保证

简单的FIFO(先进先出)队列存在一个缺点,无法对包的优先级做出反应,即相当于先进入的包拥有更高的优先级,会首先被发送出去。但是实际应用中,数据包可能有优先级的概念,有可能优先级更高的包比普通包更晚进入队列。此时需要对FIFO进行改进。

简单FIFO:

即先到达的包先发送出去。

Strict Priorities:

分为高优先级和低优先级两个队列,优先发送高优先级队列内容,只有当高优先级队列没有内容时,才会发送低优先级队列的包。这种方式只有优先级高的包数量很少时才使用,否则低优先级包的体验会很差,可能完全被高优先级用户占用带宽。

Rate guarantees:

这种方式要从两个角度去理解,但无论从哪个角度去理解,都可以认为整个过程是一个循环,即每个循环内,从各个优先级队列中取出相应数量的数据并发送出去。

首先是从bit角度考虑,如果信息流是以位来传输的,假设总传输速率为R,只需要在每个循环中从各个队列取出\frac{W_{k}}{\sum W_{i}}\cdot R个bits即可。

但是实际传输过程中,是以packet为单位传输的,不是以bit为单位传输的,因此稍微麻烦一点。但是可以通过以下方式保证每个队列传输速率符合它自身的权重比例。首先我们以一个循环为时间单位,假设一个包进入队列时间为S_{k},这个包长度为L,该队列权重为W_{i},我们可以认为每个循环可以从第i个队列取走W_{i}bit,则该包离开时间可以表示为F_{k}=S_{k}+\frac{L}{W_{i}}。此外当前包的进入时间为前一个包的离开时间,即S_{k}=F_{k-1}。那么当每个包进入队列的时候就可以根据这个公式计算出该包的离开时间。那么实际处理时,则是取走所有队列中离开时间最小的包。从统计学上,长期来看,这种方式可以保证各个队列的传输速率与各自的权重匹配。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值