dummynet 這一支系統工具可以藉由頻寬管理及佇列大小
達到不同的排程與佇列管理規則和模擬延遲
控制經過許多種網路介面的流量。
他起初只是一支測試工具,由 Luigi Rizzo
在 ACM Computer Communication Review, Jan.97 發表
隨後被改寫成適用於 IP 層與橋接,並與 ipfw 整合
而且延伸成支援 multiple queueing(多重佇列) 與 scheduling policies(排程規則)。
在使用前,必須先確定 kernel 有包含這些編譯選項:
IPFIREWALL #enable ipfirewall (required for dummynet) IPFIREWALL_VERBOSE #enable firewall output IPFIREWALL_VERBOSE_LIMIT #limit firewall output DUMMYNET #enable dummynet operation NMBCLUSTERS #set the amount of network packet buffers HZ #set the timer granularity
當然,以下項目是不可或缺的:
options IPFIREWALL
options DUMMYNET
options HZ=1000 # strongly recommended
此外,我們也許會根據 “頻寬-延遲積” (bandwidth-delay products) 與 “佇列大小” (queue sizes) 來增加 NMBCLUSTERS 的值
*參考資料
FreeBSD Handbook
Man Page:dummynet(4)、ipfw(8)