動態流量整形
我有一個 64MB/s 的網際網路連接,它應該優先分配給 17 個 LAN。來自任何 LAN 的任何電腦都應該具有特定的頻寬份額(例如,來自 LAN1 的電腦的頻寬是來自 LAN2 的電腦的一半)但是當整體網際網路負載變化時,它的份額應該會有所不同。
所以分配的頻寬不應該是靜態給定的,必鬚根據負載變化。
我試過魷魚和iproute。但據我發現,它們都不能動態分配頻寬。他們只是可以給 IP 一個靜態頻寬(比如 64kbps)
更新:
正如 Crankyadmin、carson 和 David Bliss 所說,有三種方法可以做到這一點:
正如我發現的那樣,它們都是解決這個問題的方法。但我不知道是否適合高負載並可以管理數百台電腦。
我使用 FreeBSD 作為代理伺服器,所以很高興有一個適用於 FreeBSD 的解決方案。
所以我需要一個可以處理高負載的 FreeBSD 兼容解決方案。它應該高效且快速)並且不會浪費網際網路頻寬。
您應該可以使用Shorewall之類的東西來做到這一點。查看流量整形部分。查看“使用內置流量整形/控制”部分,然後查看 RATE。您應該能夠為每個 LAN 指定最小和最大速率,然後對每個 LAN 進行優先級排序。如果管道空閒,每個人都會得到他們想要的東西,但是當它填滿時,較高優先級的 LAN 將推出較低優先級的 LAN。
BSD pf數據包過濾器和ALTQ的組合應該使您能夠動態分配網路頻寬。OpenBSD 文件包含以下情況的範例配置:
為 Bob 預留 80Kbps 的下載頻寬,這樣他就可以玩他的線上遊戲而不會被 Alice 或 Charlie 的下載所拖累。允許 Bob 在可用時使用超過 80Kbps。
在 FreeBSD 上,pf 包過濾器可作為可載入模組使用,或者可以編譯到核心中。ALTQ 也可以在 FreeBSD 上使用,但只能編譯到核心中。