我有一个64MB / s的networking连接,它应该在17个LAN中优先分配。 任何一个局域网内的计算机都应该有一定的带宽份额(例如,局域网1的计算机的带宽是局域网2计算机的一半),但是在整个互联网负载变化时,这个份额应该会有所不同。
所以分配的带宽不应该静态给定,必须根据负载来改变。
我尝试了Squid和iproute。 但据我所知,他们都不能dynamic分配带宽。 他们只能给一个IP一个静态的带宽(比如64kbps)
更新:
作为Crankyadmin,卡森和大卫布利斯说,有三种方法可以做到这一点:
正如我发现的,所有这些都是解决这个问题的方法。 但我不知道是否适合高负荷,可以pipe理数百台电脑。
我使用FreeBSD作为代理服务器,所以最好有一个可以在FreeBSD上运行的解决scheme。
所以我需要一个兼容FreeBSD的解决scheme来处理高负载。 它应该是高效和快速的),不会浪费互联网带宽。
你应该可以使用类似Shorewall的东西来做到这一点。 查看stream量整形部分。 查看“使用内置stream量整形/控制”部分,然后selectRATE。 您应该能够给每个局域网一个最小和最大速率然后优先每个。 如果pipe道空闲,每个人都将得到他们想要的东西,但是当填充更高优先级的局域网将推出低优先级的局域网。
BSD pf数据包filter和ALTQ的组合应该使您能够dynamic地分配networking带宽。 OpenBSD文档包含以下情况的示例configuration:
为Bob保留80Kbps的下载带宽,这样他就可以玩他的在线游戏,而不会被Alice或Charlie的下载所拖延。 允许Bob在可用时使用超过80Kbps的数据。
在FreeBSD上,pf数据包filter可作为可加载模块使用,也可以编译到内核中。 ALTQ也可以在FreeBSD上使用,但只能 编译到内核中 。
您可能需要结帐pfSense