Atualmente, estou estudando para o meu exame de redes de computadores.
Não consigo entender o seguinte.
Quando o atual comprimento médio da fila está entre um min_threshold e um max_threshold, o algoritmo Random Early Detection marca cada pacote que recebe com uma probabilidade (para descartar ou notificação explícita de congestionamento).
Entendo que cada pacote é marcado quando o AQL é maior que max_threshold (ou seja, p é 1), mas não posso entender no primeiro caso como é usada a probabilidade calculada para decidir se um pacote será marcado ou não.
Por exemplo, se p_b é calculado em 0,7 para um pacote, isso significa que o pacote não será marcado?
Para referência, aqui está o algoritmo RED em pseudocódigo, conforme proposto pela primeira vez em 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