有各种关于DD-WRT QoS不起作用的报告(这里、这里和其他地方)。
在DD-WRT的QoS文档中提到有些检查将指示正确的优先顺序是否被应用到交通。(虽然它没有提出一种验证 QoS 是否实际生效的方法......)
有没有人检查过他们的流量优先级,发现优先级没有被正确应用,或者他们已经被正确应用但似乎没有改变任何东西?(或者,在启用 QoS 后,查看流量下降或其他问题。)如果您实际对 QoS 设置进行了定量测试,则可以加分。
为了澄清,我想知道使用 GUI设置 QoS 是否有效。(我现在正在使用 OpenWRT,我可以在那里轻松地使用脚本。我感兴趣的是,如果我可以通过切换到 DD-WRT 来减少设置 QoS 的时间)
我不是在寻找答案:
更新 2011-06-02: 实际 DD-WRT 用户没有任何答案,但普遍的观点似乎是 DD-WRT 中的 QoS(通过 GUI 配置时)被破坏了。
更新 2011-11-29: 现在有一个 LuCi 模块用于 OpenWRT 上的 QoS(不确定它已经存在了多久)。我已经做了一些粗略的修补,如果我发现任何伟大的胜利/失败或者可以设计一个测试方案,我会尝试一下并报告回来。
UPDATE 2012-01-31: Gui Ambros 提交了迄今为止最好的答案,虽然很多人仍然抱怨 QoS 不起作用,但我也觉得 QoS 是一个难以驯服的野兽,所以我总是怀疑它如果未进行测试,则未正确配置。接受他的回答。如果任何使用当前版本的 DD-WRT 的人都可以显示 QoS 不起作用,请提交一个新的答案!
我一直在我的路由器上使用dd-wrt固件,我非常喜欢它!
但是——我不确定服务质量 (QoS) 是否在起作用。我把它设置如下:
根据QoS 文档,这些级别是:
带宽是根据每个类别的以下上行链路和下行链路值的百分比分配的:
- 豁免:100mbps - 忽略全局限制。
- 溢价:75% - 100%
- 快递:15% - 100%
- 标准:10% - 100%
- 散装:1.5% - 100%
不过,这似乎并不完全有效——随着洪流的涌动,我的网页浏览会出现严重的停顿,这很糟糕!
该QoS的文档给出了一些步骤,检查服务质量...
您将有兴趣查看第一组源和目标 IP,包括端口号。接下来是 l7proto 和“mark”字段的存在。这些条目基于“标记”字段指示应用于它们的当前活动连接 QoS 优先级。“标记”值对应于以下内容
- 豁免:100
- 溢价:10
- 快递:20
- 标准:30
- 散装:40
- (没有匹配的 QoS):0
即使在 QoS 规则列表中配置了某些 l7proto 服务,您也可能会看到“mark=0”。这可能意味着第 7 层模式匹配系统不匹配该协议的新头或更改头。端口匹配的自定义服务通常会处理这些。
在端口6969(BitTorrent的),我看到的东西,一个奇怪的混合mark=0和mark=40像这样
cat /proc/net/ip_conntrack udp 17 105 src=98.162.182.42 dst=1.2.3.4 运动=64512 dport=6969 …
CrashPlan 似乎在标准 HTTPS 端口 443 上上传内容。
有什么方法可以将批量 QoS 优先级与所有其他 HTTPS 流量分开分配,还是我完全塞满了?
我正在使用 DD-WRT。
当我通过组策略编辑器在 Windows 7 中创建 QoS 策略并设置DSCP值时,Windows 7 是否将 802.1p QoS 字段添加到以太网帧?如果是,它如何将不同的值从 DSCP (0-63) 映射到 802.1p QoS 值 (0-7)?
所以要清楚,我的问题是:
这个问题专门针对传出数据包。
注意: Windows 7 支持 802.1p 标记(并且自 Windows 2000、XP SP2、Windows Server 2003 开始)。Microsoft 似乎在本文档中提到了 DSCP 到 802.1p 的映射。
前提:
农村地区,高带宽互联网连接的选择不多。迄今为止最快的是卫星互联网,但它很昂贵(设备和每月费用,并且有延迟缺点),因此多个家庭希望共享它。
这本身很简单 - 为每个家庭(VLAN 或物理端口)设置一个带有子网的路由器,阻止它们之间的流量,然后将调制解调器配置为路由到这些子网或设置双 NAT。
问题:
TCP 正常工作的方式意味着每个 TCP 连接或多或少会获得可用带宽的 1/n,其中 n 是连接数。因此,如果一个家庭/用户创建了大量连接,他们将在整体连接中获得更大份额。这并不是特别公平——在饱和链接的情况下,每个家庭都应该获得平等的份额。另一方面,当没有其他人使用连接时,应该可以使用全部带宽。
例如,假设有 4 个家庭共享 12Mbit/s 下行连接。如果其中之一正在下载/流式传输/其他任何内容,他们应该能够使用完整的 12Mbit/s(或足够接近)。如果2户使用连接,每户应该得到6Mbit/s,无论是一户下载1个文件,另一户11个。(没有任何带宽管理,在这种情况下,每个文件下载速度大约为1Mbit/s) 3户各获得 4Mbit/s,依此类推。
到目前为止我已经解决了:
实施此类策略(对于下游)的最佳位置是窄管道的另一端,即 ISP。显然,在这种情况下这是不可能的,所以能够以某种方式近似它会很好。但是如何?是否有支持此类功能的现成路由器?我可以配置 Linux 或 BSD 机器来执行此操作吗?它不必是防弹的——行为不端的 TCP 服务器或激进的 UDP 服务大概可以规避我在我最后可以做的任何事情——但它应该适用于大多数流量的常见情况,包括大量符合 RFC 的TCP 连接。
明确地说,我不是在谈论优先考虑特定应用程序,而是聚合进出特定以太网设备或 IP 地址范围的流量。为某些流量赋予比其他流量更高的优先级似乎得到了很好的支持,但在尝试为流量类别平均分配带宽时,情况就不太清楚了。
网络上有很多关于流量整形的写得很糟糕/不经意地反刍/其他不知情的信息。关于路由器硬件的文档非常不具体,所以我似乎在兜兜转转。
据我了解,让 TCP 以这种方式运行的方法实际上是模拟一个比实际可用的管道稍窄的管道,并人为地丢弃数据包以使其退出。所以我认为通过人为地丢弃任何额外的数据包,在上面的例子中为每个人提供 3Mbit/s 是相当简单的。这并没有真正有效地使用连接,因为大多数时候都有空闲容量。
有没有办法做我要问的?我这样做错了吗?我(或者更确切地说,有问题的家庭)愿意为此花钱——无论是价格适中的现成路由器/设备,还是运行 Linux 或 BSD 发行版的通用机器。
这是我第一次使用流量整形,我想知道如何像使用 iptables 一样列出我应用的规则?
沃尔特
具体来说,我希望对呼叫本身中的scp或sftp会话(或其他任意网络呼叫)进行速率限制。
例如,假设我想将 100MB 复制到一台服务器,将 1GB 复制到另一台服务器。我希望能够同时运行这两个,但保持“正常”计算机使用的 QoS - 有点类似于您如何限制 bittorrent 的速率。
有没有办法在不接触网络硬件的情况下做到这一点?
我正在设想类似于:
magic-qos-tool 'scp file user@host:/path/to/file'
Run Code Online (Sandbox Code Playgroud)
或者..
scp -rate 40kbps file user@host:/path/to/file
Run Code Online (Sandbox Code Playgroud) 在使用 uTorrent 的 Windows Vista Home Premium x64 中,如何使下载速度更快?
编辑:QoS 的推荐设置是什么?
我和我的 4 个室友有一个问题:
我的一个室友一直在下载种子。当有人需要使用互联网连接拨打电话或做诸如您的管子或测验之类的事情时。网速很慢....
我无法使用计算机作为代理创建网络。我只需要一个好的路由器(预算不超过 50 美元)。
我只想将一个 16MB 的连接拆分为一个单独的 4 x 4 mb(理论上)。
我的室友是一名来自中国的国际学生,喜欢使用位于该地区(我们在美国东海岸)的网站在线观看中国电视节目。但这会导致我们的网络延迟高得离谱,在 ping 4.2.2.2 时达到约 400 毫秒,范围从 100 到 1000+(正常情况下为 20-40 毫秒)。不幸的是,她想在这个问题上装傻,所以我必须找到一种不需要她遵守的方法来解决这个问题。
我当前的路由器 (Netgear N150 WPN824N) 不支持 QoS 或任何具有它的流行自定义固件 (AFAIK)。所以我正在考虑购买一个更昂贵的内置 QoS 的路由器,或者一个更便宜的支持 Tomato、dd-wrt 或其他东西的路由器。但我不完全确定问题是什么,或者 QoS 是否会帮助它(即,人们在花钱之前最想知道的事情)。最有可能的罪魁祸首是 tv.sohu.com,它不是英文网站,而且视频内容大多受地区限制。所以我真正可以测试的是站点本身的延迟(距离我住的地方大约 350 毫秒)。我不知道这是否是带宽问题,或者该站点是否使用某种奇怪的自定义协议,或者其他任何可能是这里的因素。我不是网络人,所以除了高带宽消耗,我
不过,我确实知道我一开始的互联网连接一般。当我尝试从 Steam 下载游戏时,我的峰值速度约为 2.5 兆字节/秒,这会导致大量延迟。但是 2.5 mbps 是一个很大的带宽,我无法想象那个网站消耗那么多。