非常基本的LAN / WiFinetworking的QoS:我需要SmoothWall还是OpenWRT?

以下是我pipe理的networking的基本情况/拓扑:

  • 住宅,但我们是一个合作社,所以我们与ISP有一个商业级的合同。

居民都是大学生,因此P2P(torrent),游戏,文件共享(内部),以及上学/作业,电子邮件,FTP,等等。基本上,当会员不能玩得开心的时候,我会得到不好的评价,但是当有人不能接受任务时,我会收到合法的投诉。

这里是该物业的基本布局:

========================== ===================== | | = |Router= | | = ----- = | Main House | = Annex = | (3 stories) | = (2 stories) = |(first floor is commons |==================== (No commons) = | area, ie TV Room,etc) | Breeze Way = = ================================================================== ====================== = = = Cottage = = (2 Stories) = = (No Commons) = ====================== 

电缆从附件中的调制解调器(ISP提供)到D-Link DIR-625无线路由器。 所以从一开始设置就不是很理想,因为其中一个WAP就在一楼的衣柜里。 这就是生活。

然后它像这样展开:

 DIR-625 (DHCP Router and - Netgear 8-port switch (2nd floor Annex) - Linksys 5-port switch (1st floor Annex) - Netgear 8-port switch (Cottage) - D-Link WBR-1310 Wireless Router acting as WAP - Netgear 16-port switch (Main House) - D-Link WBR-1310 Wireless Router acting as WAP for Common's Area - D-Link WBR-1310 Wireless Router acting as WAP for 2nd and 3rd floor 

好吧,那是所有人都应该需要的背景故事。 对不起,如果这是多less,但是当我试图从朋友那里得到build议的时候,他们往往会认为“只有31人,这有什么问题?” 或“3栋楼,你没有T1? 这是一个相当简单的networking,就我们所需要的和我们人口较less而言,但是由于我们的物理布局而变得非常复杂。

哦,我们正在支付10 / 1.5,尽可能服务。

现在,这是一个真正的问题(我确定其中很多):

我需要一个尽可能低维护的QoS系统。 不仅要让我的工作变得更简单,而且要做到这一点,让下一任IT主pipe在我身后获得这份出色的工作,并不需要做我所做的事情,这基本上是从零开始的。

理想情况下,这就是我想要的QoS:

  • 鲍勃真的想玩WoW。 现在是下午2点,除了他,没有人在家。 他获得了炸药吞吐量。

  • 半小时后,乔回到家,他的洪stream计划立即启动。 他是一个很好的合作伙伴,所以他的客户上传的上限,所以他和鲍勃都获得了相当不错的带宽。

  • 鲍勃从魔兽世界中走出来,上课。 乔的种子现在正在超速。

  • 吉尔一小时后回家。 她去检查她的电子邮件,看一些Hulu。 她根本没有意识到乔正在stream行。 乔注意到他的种子做的很好。

  • 其他人都回家了,他们每个人都在做上述所有的混合。 每个人都在做基本的HTTP或电子邮件认为“我爱我们的networkingpipe理员”。 所有的玩家,文件共享者和Skype用户都认为:“每个人都睡觉的时候,这将会更加棒!” 没有人用我的房间来杀人的意图。 没有人在向我哭泣,剪下的女孩如何偷偷摸摸地切断他们的洪stream,以便他们可以读作业。

现在,我的主路由器(DIR-625)build立了内置的QoS和DNS端口设置为最高,HTTP,电子邮件,没有设置为第二高的优先级,并且任何高于3000设置为最低优先级。

但即便如此,这并不能阻止这样一个事实:如果Joe正在肆虐50GB的垃圾,而且Bob整日游戏,那么他们只是在使用更多的带宽。 它们的优先级较低,但基本上可以获得路由器的所有注意力和所有的带宽。

如果他们似乎使用了当前networking活动的25%以上,我就采取了屏蔽措施,但是我甚至不确定我使用的报告工具是否准确。 我不应该那样做,或者如果我应该这样做,我真的不明白什么是QoS。

所以,再次,这是真正的问题:

基于Linux的路由器/防火墙会提供比我当前的设置更智能/更可定制的QoS吗? 我必须得到所有的购买表决,所以我不能只按照我想要的那样进行试验。 我看过番茄,石像鬼和SmoothWall。 但每一个都让我紧张。

据我所知,光滑墙可以做任何事情,但是它要求我build立一台机器,它显然揭示了比我想要的更多的信息,或者任何接pipe我的人(比如谁在给谁发电子邮件)。 更不用说我不知道​​它是否会满足我的具体需求。

番茄和OpenWRT需要另一个路由器,冒着堵塞路由器的风险(并且必须向委员会解释损失),并且仍然可能不给我想要的东西。

2)如果没有神奇的QoS可以做基于Mac / IP的节stream(而不是基于端口),是否有任何软件/路由器解决scheme,会给我基于IP的带宽使用? 我看到的所有屏幕截图都是基于端口的,或者以数据包而不是位/秒为单位给出stream量使用。 或者一次只显示一个IP(当我想要比较使用时,这是很好的)。

现在,我有Excel从D-Link路由器中提取两个XML文件,一个用于MAC / IP /主机名,一个用于“当前连接”,为每个IP提供每个连接。 然后,我将所有数据合并到另一个显示每个IP连接数量的表单中,然后根据总数计算每个IP的百分比。 如果超过25%,我要么closures他们一段时间,要么去说话。 但是我甚至不确定连接的总数是否是带宽使用的一个很好的衡量标准!

我还有很多其他问题,比如电脑不能互相看到,无法共享,掉线,内部传输率低,可能是configuration错误的WAP等等。 但是现在我最担心的问题是“为什么我的networking速度很慢?难道你不能让人们不受压迫?

感谢您阅读所有这一切。

这里有一个在黑暗中的镜头,但如果你在eBay上看,你可以得到一些真正令人敬畏的交易,思科的思想,我说2600/3600,你可以做你的build议,完全有一个需要小的CLIconfiguration,但是在那之后,你会对它能为你做什么印象深刻,比如在下午5点和凌晨2点将stream量调整到最小吞吐量,但是在剩下的时间里仍然没有把所有的带宽分配给每个人否则做他们的功课,也许优先http或保留最小数量的带宽,以便即使susy,乔,和! 鲍勃是torrent和复制该FTP文件,约翰仍然可以浏览,(并在他的作业)。

让我知道会比愿意帮助你一个基本的模板configuration,

这可能不是你所期望的,但为什么不考虑一个非技术性的解决scheme呢? 购买更多的设备不会解决你的问题,因为你的问题是一个人的问题。 find另一种更好地分享带宽的方法。 有各种可能性:

  • 限制机器可以使用的活动连接数量。 这将有效地为每个用户公平地分配可用带宽。
  • 为每个人分配一个公平的配额,比如每天1Gb,如果他们超过这个配额,他们的带宽将被限制为56K速度。

  • 改善沟通。 把大家连在一起jabber / irc服务器上。 如果有人需要使用互联网,他们可以发出嗡嗡声暂停一段时间。 或者更好的方法是,让那些洪stream过夜来运行它们。

  • 教育用户如何安排东西。 如果有一个大的文件,他们需要下载学校,安排它跑过夜或什么的。
  • 如果用户需要定期执行软件更新,请设置本地caching代理以帮助降低Internet成本。

最终,你需要让每个人都更好地沟通。 这是解决问题的唯一方法。 没有任何LARTC可以帮助你。

番茄和OpenWRT需要另一个路由器,冒着堵塞路由器的风险(并且必须向委员会解释损失),并且仍然可能不给我想要的东西。

我已经升级了两个WRT54GL与番茄固件( http://en.wikipedia.org/wiki/Linksys_WRT54G_series#Hardware_versions_affect_firmware_compatibility ),只要确保你得到开放的标记为L的WRT54GL,你不必担心砖设备。 他们是开放的,你可以随意升级他们。

它具有QoS,但如果它足够满足您的需求,但也许它是足够好的,并结合一点点的人际沟通,它可能是所有你需要的…?

/约翰

有点晚了,但是…

我和你们的地位差不多,只有150名居民。 当我们开始时,我们有一个无线连接到大学,如果你真的幸运,总共在4Mbit。

今天我们有另一个16/1和一个32/2线,并通过iptables,iproute和tc进行大量的魔术pipe理。 由于交换生人数众多,人员stream动相当多,加之居民数量众多,交stream互访难度加大,所以我们主要是通过技术手段来维持。

防火墙设置非常复杂,并且经过了多年的改进。 基本上,我们根据一些基于端口号,目标IP等手工制定的规则,将连接分配到其中一条线路上(即,到大学networking的所有连接都通过显然具有较less跳跃的无线链路进行,等等)。 一个问题总是只能控制发生的事情,因为当你看到它时,所有的inputstream量已经通过你的线路。 所以你只需要调整你的上行链路的输出容量。

对于P2P问题,最好的解决scheme似乎是:a)完全阻止所有的P2Pstream量(xpp-addons中的ipp2p工作得相当好); b)build立一个专门的P2P盒子,让人们离开你的后台,只为这个P2P一个盒子。 ;)

现在很多P2P软件都支持“观看目录”,人们可以在这个目录中上传他们的animation,并将其下载。 这也消除了2个居民通过你的线路拉相同的东西。 不过要注意的是,你可能把你的屁股放在了这个箱子里,因为这是在你的控制之下。

如果你想谈更多的细节,如设置,脚本等,我很乐意帮助…

只是想为其他读者增加这个dlink路由器上的QOS只用于上行数据而不是下行数据。