Ниже приведен список параметров и переменных алгоритма FRED со значениями, рекомендованными в [Lin97], а на рис. 2.60 приведен метакод алгоритма FRED.
Глобальные переменные:
avg: time :
q:
q_time: count:
avgcq:
max_q:
Nactive: средним размер очереди; текущее время; текущий (моментальный) размер очереди; момент времени, когда очередь стала пустой; количество пакетов, пришедших в очередь с момента последнего сброса; среднее значение размера очереди, состоящей только из пакетов определенного потока, задается для каждого потока; максимальное количество пакетов, которое поток имеет возможность поместить в буфер, задается для каждого потока; количество активных потоков/
Фиксированные параметры алгоритма:
min_th
max_th
max_p
min_q
весовой коэффициент очереди: w = 0.002. нижняя граница:
min_th <- MIN(buffer size / 4, RTT).
верхняя фанина: max_th <- 2*min_th. максимальное значение вероятности сброса: шах_р = 0.02.
минимальное количество пакетов, которое поток имеет возможность поместить в буфер без потерь, задается для каждого потока:
min_q = 2 для буферов малого размера; min_q = 4 для буферов большого размера.
Переменные для каждого потока:
q_letK
strike: количество пакетов в буфере, относящихся к некоторому потоку, задается для каждого активного потока; как часто поток не реагирует на перегрузку.
Функции:
conn (Р) : идентификатор потока для пакета Р;
f (time) : линейная функция времени.
Рис. 2.60 (продолжение). Метакод расширенного алгоритма RED
Дополнительной опцией алгоритма FRED, так же как и алгоритма RED, является измерение среднего размера очереди не в пакетах, а в байтах. В этом случае значение среднего размера очереди точно отражает задержку, вносимую буфером в передачу пакета. При использовании этой опции алгоритм должен быть модифицирован для того, чтобы вероятность, с которой пакет маркируется/сбрасывается, была пропорциональна его длине.
⇐Подсчет среднего размера очереди | Управление трафиком и качество обслужевания в сети | Другие алгоритмы⇒