我目前正在为我的计算机网络考试而学习。
我无法理解以下内容。
当当前平均队列长度介于 min_threshold 和 max_threshold 之间时,随机早期检测算法以概率(用于丢弃或显式拥塞通知)标记它接收到的每个数据包。
我知道当 AQL 大于 max_threshold(即 p 为 1)时,每个数据包都会被标记,但我无法理解在前一种情况下如何使用计算出的概率来决定是否标记数据包。
比如一个包的p_b计算为0.7,是不是就意味着这个包根本就不会被标记?
作为参考,这里是伪代码中的 RED 算法,首先在http://www.cs.princeton.edu/courses/archive/fall06/cos561/papers/red.pdf提出:
Initialization:
avg ← 0
count ← −1
for each packet arrival calculate the new average queue size avg:
if the queue is nonempty
avg ← (1 − w_q)*avg + w_q*q
else
m← f(time−q time)
avg←(1−w )^m*avgq
if min_th ≤ avg < max_th
increment count
calculate probability pa:
pb ← maxp(avg − minth)/(maxth − minth) pa ←pb/(1−count·pb)
with probability pa:
mark the arriving packet count ← 0
else if maxth ≤ avg
mark the arriving packet count ← 0
else count ← −1
when queue becomes empty
q_time ← time