针对100Mbnetworking的Per-IP带宽监控和stream量整形解决scheme

我有大约30台服务器连接到思科3500系列交换机,上行带宽为100M。 定期地,我的一个或多个服务器将执行大量的文件传输,这将完全饱和networking并导致10-15%的数据包丢失给其他设备。 我需要一个很好的解决scheme:1)在每个IP地址的基础上,监​​控所有服务器上的带宽2)防止任何给定的IP占用超过50%的可用带宽3)优先考虑某些协议(stream量stream量,SSH ),其他stream量(BitTorrent,SMTP,FTP)的优先级较低。 我可以使用该交换机对每个端口的stream量进行监控,但除了设置端口速度之外,这并不能提供任何IP级别的可视性和带宽控制。

我有一台备有双1G网卡的备用Dell R200,我可以致力于这个事业,而且我相当适应Linux。 我知道这可以通过IPTABLES,TC和HTB来完成,但我宁愿有一个更好的解决scheme,具有体面的文档和pipe理界面。 如果答案是购买思科XXX,我也打开,但由于我有一个服务器坐在,我虽然我会尝试第一。

所以问题是:什么Linux / BSD防火墙/路由器/ QOS解决scheme将会满足这些要求? 我在http://en.wikipedia.org/wiki/List_of_router_or_firewall_distributions上看到了这个列表,但是我正在寻找与他们中的任何一个的真实世界的经验。

这种情况下的预包装解决scheme将是伟大的,但我还没有find理想的解决scheme。 我的具体设置是一个较小的无线ISP,但是这是一个类似的问题,使特定的客户端淹没networking。 我用过的两个解决scheme:

  • cbq.init或htb.init 。 这些pipe理各种tc队列和过滤的pipe理都很简单。 如果你已经理解了tc和塑造,这可能是一个很好的方法来帮助pipe理各种队列。 这是我用于大多数带宽pipe理服务器的解决scheme。 工作得很好,但没有集成到iptables中来标记stream量。 我们使用tcfilter,但是它们不那么理想。
  • shorewall防火墙项目是用于一般防火墙pipe理的Linux软件包。 它包括对带宽pipe理的支持,并且似乎允许包使用iptables规则进行标记,我发现这些规则更容易处理。 更大的学习曲线,但从长远来看可能是值得的。

您可以使用Mikrotik RouterOS进行stream量工程。 您可以在http://wiki.mikrotik.com/wiki/Category:Manual中看到stream量工程function,以满足您的需求。

为什么不在交换机的IOS中使用一些速率限制和QoSfunction?