我应该如何pipe理每个用户的带宽?

用户经常运行带宽密集型应用程序 – 点对点应用程序,video等。您是否监视和/或限制每个用户的带宽?

我在我的LinkSys WRT54GL路由器上使用了Tomato固件的QoS。 它可以检测所有types的stream量,P2P,video,audio等,并对其进行分类,从而给出带宽限制和数据包优先级。 我相信你也可以根据IP地址来设置它。 日/周/月也有很大的带宽监控。

你也可以尝试DD-WRT,因为它非常相似,但我更喜欢Tomato的UI。

还有一些其他的第三方固件,但我只使用这两个。

每个用户在用户名authentication的连接,例如。 PPPOE,应该可以通过BSD dummynet pipe bwconfiguration。

每个用户在每个用户一个IP,使用HTB的Linux QoS工具tc是可能的。 通过第7层过滤,stream量消费者的应用级别标识也是可能的。

根据您的networking环境以及您如何处理DHCP租约,身份validation等,每个用户的监控相当简单.SFlow或NetFlow工具通常可以帮助您获得所需的信息。

每用户带宽上限整形是另一回事,因为您需要一种方法来dynamic地将“用户”映射到IP地址,MAC地址或交换机端口,根据过去的统计数据决定其限制应该是什么,然后对该stream量进行分类带有QoS标记,最后用多个QoS规则编程多个networking设备来处理这些标记。

我们在这里谈论什么样的networking设备和规模? 大多数基于硬件的路由器和交换机将具有有限数量的可用QoS队列。 基于软件的设备要灵活得多,但在高端x86硬件上最多可以处理几百万个数据包。 这大概是高端硬件路由器和交换机可以处理的每秒数据包的1%。

最后,请注意,如果不设置QoS并与服务提供商协调所有这些复杂性,则无法调整从Internet进入您的networking的stream量。 您可以放弃传入的数据包,希望发送者退避,发送速度更慢,但不能保证将会发生,并会对stream媒体和游戏应用程序产生负面影响。