Главная » 2008»Март»20 » Во FreeBSD появился режим быстрого ограничения скорости в dummynet
Во FreeBSD появился режим быстрого ограничения скорости в dummynet
21:32
Незамеченным прошло добавление патчей в MAIN-ветку разработки FreeBSD, изменяющих поведение dummynet.
Ранее, при задании с помощью dummynet пропускной способности канала, он не только ограничивал скорость, но и вносил временные задержки в каждый пакет, проходящий через него, с целью эмуляции заданного канала.
В реальности гораздо более востребован режим, когда ограничивается лишь скорость, но не вводится никаких временных задержек.
И вот 6 и 17 ноября 2007 года в dummynet внесены необходимые изменения. В текущей реализации все пакеты, которые "помещаются" в заданный канал, просто пропускаются мимо dummynet, что даёт сразу несколько преимуществ:
Уменьшает задержки
Уменьшает избыточность и за счёт этого - загрузку
Уменьшает вероятность наступления рекурсии (например, в этом случае):
kldload dummynet
sysctl net.inet.ip.fw.one_pass=0
ipfw pipe 1 config bw 0
for i in `jot 30`; do ipfw add 1 pipe 1 icmp from any to any; done
ping -c 1 localhost
Соответственно, появились новые переменные:
net.inet.ip.dummynet.io_fast - задаёт старое("0", эмуляция канала) или новое поведение dummynet("1", шейпирование канала)
net.inet.ip.dummynet.io_pkt - пакетов, прошедших через dummynet