保证转发每一跳行为组( 二 )


一个区分服务节点应该实现4个通常使用的保证转发类 。一个保证转发类的包必须和来自其他保证转发类的包相互独立的转发出去 。即,一个区分服务节点禁止汇集两个或者更多的保证转发类 。
一个区分服务节点必须为每一个实现的保证转发类分配一个可配置的,最小数量的转发资源(缓冲空间和带宽) 。不论在短期还是长期,每一个类都应该获得设定的服务速率(带宽) 。
当来自其他保证转发类或者其他PHB组的额外资源是可以利用时,一个保证转发类可以被配置为接收比最小数量多的转发资源 。本文档没有规定如何分配额外资源 。但是实现必须说明所支持的算法和参数设置 。
在每一个保证转发类中,假如一个包的丢弃优先级为p时,区分服务节点转发该包的概率决不能比该包的丢弃优先级为q的时候小,这里p < q 。注重这个要求可以在不需要出列和丢弃已经排队的包的情况下实现 。
在每一个保证转发类中,一个区分服务节点必须接收所有这3个丢弃优先级编码点,它们也必须产生至少两个不同级别的丢失概率 。在某些网络中,尤其在企业网中,短暂拥塞发生的很少且时间很短,一个区分服务节点对每一个保证转发类只需要实现两级不同的丢失概率可能是合理的 。尽管这对于某些网络可能是足够的,但当区分服务域经常发生拥塞的时候,应该支持3个不同级别的丢失概率 。
假如一个区分服务节点为保证转发类x只实现两个不同级别的丢失概率,编码点AFx1必须产生较低的丢失概率,编码点AFx2和AFx3必须产生较高的丢失概率 。
当同一个微流的保证转发包属于同一个保证转发类的时候,不论它们的丢弃优先级,区分服务节点禁止对它们重新排序 。对于保证转发包的转发没有一个可以计量的时间要求(时延或者差分时延) 。
本文档的第7节描述了保证转发类和其他PHB组的关系 。
保证转发PHB组可以用来实现端到端和域边界到域边界的服务 。
3.流量控制动作
一个区分服务域可以在域边界控制以不同丢弃优先级进入或者离开该域的保证转发流的数量 。这种流量控制动作可以包含流量整形,丢包,增加或者减少包的丢弃优先级,将包重新分配到其它保证转发类中 。然而,流量控制动作禁止产生同一个微流的重排序 。
4.队列和丢包行为
本节具体说明保证转发PHB组的队列和丢包行为 。PHB组的其他情况在第2节说明 。
当答应由于突发行为产生的短期拥塞时,一个保证转发的实现必须尽量使每一个类的长期拥塞最小化 。这需要一个动态的队列治理算法 。这个算法的一个例子是随机早期丢弃(RED)[Flord] 。本文档没有说明一个特定算法的使用,但确实需要把握一些道具(properties) 。
一个保证转发实现必须能检测每个类中发生的长期拥塞,并通过丢包对其作出反应,而通过包排队处理短期拥塞(包的突发) 。这暗示平衡和过滤函数的出现可以监控瞬时拥塞水平并计算一个平滑的拥塞水平 。丢包算法使用平滑拥塞水平决定包什么时候被丢弃 。
丢包算法必须做到对于使用保证转发类的微流的短期流量特性不敏感 。即,具有不同的短期突发外形但同样长期的包速率流应该具有相同的包丢弃概率 。实现这个目的的一种方法是使用丢包函数的随机性 。
丢包算法对待同一个类中具有相同优先级的包必须完全一样 。这说明对于每一个给定的平滑拥塞水平,一个在同一优先级内的特定微流的包的丢弃速率应该和这个流在通过该优先级的总流量的百分比成正比 。
拥塞指示反馈给终端节点,这样每个丢弃优先级的包的丢弃水平和拥塞相关联 。应该是逐渐的而不是忽然的使整个系统达到一个稳定的操作态 。一种实现RED的方法是使用两个(可配置)平滑拥塞水平阈值 。当平滑拥塞水平超过第一个阈值,相应优先级的包不能被丢弃 。当平滑拥塞水平在第一和第二个阈值之间,以线性增加的概率丢包,范围从0到恰好比第二个阈值高的可配置的值 。当平滑拥塞水平超过第二个阈值,以100%的概率丢弃相应优先级的包 。

推荐阅读