MagicJack/支持资源/操作指南/QoS/Tomato
本文介绍如何配置Tomato的QoS功能以用于MagicJack。
本文中提到了以下图表。
-
图1. 基本设置(出站)
-
图2. 基本设置(入站)
-
图3. 分类
-
图4. 查看图表
-
图5. 查看详情
Tomato 是一款免费固件,可以替换许多流行路由器的出厂固件。它提供了大多数消费级路由器中没有的功能。
有关Tomato功能的完整描述,请参阅 Tomato 的维基教科书。
有关 QoS 的一般信息,请参阅 主要 QoS 操作指南。
有关替代方案的信息,请参阅 主要 QoS 操作指南。
本文不涵盖刷入路由器的过程。建议您在操作之前充分了解如何刷入固件。如果操作不小心,可能会“砖化路由器”(使其无法使用)。以下建议仅供参考。
- 请参阅
- 安装说明。
- Tomato 常见问题解答。
- Tomato 7-zip 文件(使用免费的7-zip解压缩)中附带的自述文件。
- 如需咨询(刷入固件之前或之后),请参阅Tomato 支持论坛。
- 如果您需要购买路由器与 Tomato 配合使用,则此关于哪个路由器最常与 Tomato 配合使用的投票 可能会帮助您判断哪个路由器“最佳”(仅仅基于流行度)。
在将路由器刷入 Tomato 后,打开网络浏览器访问路由器的 IP 地址,通常为http://192.168.1.1。这是 Tomato 的管理界面。默认登录用户名为root,密码为admin.
- 请参阅 图1。
- 导航到QoS 和 基本设置。
- 使您的页面顶部看起来像图1。
但是,最大带宽应该更改为反映您的最大上传带宽。您可以访问speedtest.net 并运行一些测试来确定您的速度。
请务必保存您的更改。
注意:最大带宽应该是一个保守的值。例如,如果您的速度在一天中不同,则应该使用您经常遇到的最慢速度。如果您使用的是有线网络,并且它有“速度提升”(带宽的暂时增加),则也应该考虑到这一点。
此速度准确(并且保守)的重要性在于,Tomato 不仅根据您指定的规则(请参阅 步骤3)优先处理数据包,而且还会限制发送数据包的速度。如果将您的最大带宽设置得太激进,Tomato 会发送数据包的速度过快,导致拥塞,从而降低优先处理的好处。
从 1.23 版本开始,Tomato 包含了一个名为TCP Vegas 的新功能。您将在页面底部看到它。这是一个内置于 Linux 内核的出站拥塞避免算法。对于某些人来说,这可能比 QoS 效果更好。对于其他人来说,它可以通过减少与可变带宽速度相关的問題,并将您的最大带宽指定为最小值来改善 QoS。理论上,您可以将您的最大带宽设置为表示您的实际最大值,而TCP Vegas 将避免由于以快于任何特定时刻的实际最大值发送数据包而导致的拥塞。(这是一种新功能,结果有好有坏。无论您做什么都应该与按照本文档中的 QoS 说明进行比较,而TCP Vegas 未启用)。
- 请参阅 图2。
- 导航到QoS 和 基本设置。
- 向下滚动,使您的页面底部看起来像图2。
但是,如 步骤1 中所述,最大带宽应该反映您的最大带宽。
请务必保存您的更改。
注意: 步骤1 中关于最大带宽保守准确性的注意事项也适用于这里。
如果您阅读了 QoS 的新手入门,[1] 您将了解到关于入站 QoS 存在一些争议。Tomato 的入站 QoS 不是真正的“流量整形”。它涉及一些技巧,例如延迟确认、丢弃数据包等,以(希望)导致发送者减速、重试等。
根据本文档作者的经验,无论 Tomato 正在做什么,它都非常有效。其他人建议将出站最大带宽设置为最大值(所有数字都是9)。这可能取决于您的互联网连接速度,以及您的有线网络提供商是否使用“速度提升”(或导致速度变化的其他条件)。本文档作者的网速始终为 1600kbs 下行,并且他注意到使用本节中描述的 Tomato 入站 QoS 功能时有显著改善。
其他想法部分 包含测试 QoS 有效性的说明。这可以用来测试不同的出站最大带宽值,包括无限制(所有数字都是9)。
导航到QoS 和 分类。
如果您使用专用电脑仅运行 MagicJack,您只需创建一个 QoS 分类规则,将“任何地址”更改为电脑网络接口卡 (NIC) 的源 (Src) MAC 地址。
创建此规则后,将其移到列表顶部,以便其流量首先被捕获,然后其他规则才能捕获它。(例如,如果您将其保留在底部,大流量规则将捕获所有您的 VOIP 流量,并将被归类为最低。)
- 参考 图 3.
- 使您的页面看起来像图 3。
在这里您定义如何识别和分类流量。这里的类别与前两步中指定的百分比相关。
在此屏幕上,您应该使用以下值添加图 3 中突出显示的两个规则。
- MJ SIP 信号
- 任何地址
- UDP
- 目标 (Dst) 端口:5060-5070
- 第 7 层:sip
- 类别:最高。
- 说明:MJ SIP 信号。
- MJ RTP 语音
将这些规则上移到大量流量规则之上(如图 3 所示)。
规则的顺序很重要。如果它们位于大量流量规则之后,该规则将在考虑这些规则之前应用于 MagicJack 流量。
此外,没有理由将它们移动到更高位置。这些规则在建立连接时应用。您打开的网络和 DNS(主机名查找)连接可能比电话呼叫更多。没有理由让 Tomato 甚至考虑将这些规则应用于那些更频繁的连接。
请务必保存您的更改。
重要: 在 Tomato v1.23 之前,第 7 层rtp 过滤器不起作用。在 v1.23 中,只有rtp-2 过滤器有效。在将来的版本中,该修复将被移至rtp 规则(并且rtp-2 规则可能会消失)。
- 参考 图 4.
- 如果您的 MagicJack 已经启动,请转到软电话的菜单 -> 高级用户 -> 重新启动,然后重新启动它。否则,连接/启动您的 MagicJack。
- 拨打特殊回声号码(它会将您说的话回放给您):909-390-0003。
- 导航到QoS 和查看图表。
- 点击代表最高的饼图部分。
注意:参考屏幕左侧的颜色代码以了解哪个部分是最高。如果您将光标悬停在饼图的部分上,气泡帮助应该会告诉您它代表哪个分类。
注意:在 Internet Explorer 中,您必须安装 Adobe SVG 插件才能查看图表。
- 参考 图 5.
- 检查自动解析地址。
您应该在此页面上看到两个与“talk4free.com”相关的项目。一个是名为“proxy1”(SIP 连接)的主机。另一个是“vms1”(RTP 连接)。
两个主机的城市名称取决于您的位置。
当您启动 MagicJack 时,“proxy1”连接会发生。这是一个控制连接。“vms1”连接在您拨打电话或接听电话时发生。它是承载语音流量(大部分流量)的连接。
如果您没有看到这两个项目中的任何一个,则必须点击饼图的其他部分以查看它们在哪里被分类。如果您的规则没有应用,那么它可能落入了“bulk”规则(即“最低”)。根据您的连接速度以及它是否是 vms1(RTP)连接,对特殊回声号码说话可能会产生不可用的结果。尤其是在您同时进行其他操作,例如浏览网页时。
或者,您可以导航到“QoS”和“查看详细信息”。这是您通过饼图导航时所处的相同屏幕,但它显示所有流量。您可以点击标题(“目标”或“类别”),它会对所有内容进行排序。如果您在通过饼图查找它们时遇到问题,这可能有助于您定位这两个服务器中的任何一个。
- 请记住,Tomato 页面包含一个链接以进行捐赠。如果 Tomato 有用,请在麦当劳请作者吃午餐。(如果它真的有用,请超级特大号它)。
- 建议您偶尔执行步骤 4 和 5 以检查它是否按预期运行。并且,如果您语音质量出现明显下降,请牢记它们。QoS 是一个很棒的工具。但是,如果规则没有按预期应用,它可能会让情况变得更糟。
- 警告:在向 MagicJack 支持部门报告语音质量问题之前,您有责任检查规则是如何被[误]应用的。
- 您可以使用www.speedtest.net 来测试您的 QoS 的有效性(以及您对本文件中建议的设置所做的任何更改)。拨打特殊回声号码(参见 步骤 4),并在对着电话计数的同时,开始速度测试。速度测试将饱和您的连接(先下载,然后上传)。
- 您还可以使用此测试来比较启用和禁用 QoS 之间的差异。(您可以在QoS -> 基本设置页面上禁用 QoS)。
- 顺便说一下:如果 QoS 运行正常,您应该在速度测试结果中看到大约 100kbs 的差异(启用和禁用 QoS)。
- 与 QoS 无关(除了不需要的流量会与您的语音流量竞争):默认情况下,Tomato 1.23 启用了 UPnP。本文档的作者建议您导航到端口转发和UPnP以禁用此功能。如果您在该页面上看到任何已打开的端口,请删除它们(除非您知道它们为什么打开)。保存对该页面的更改后,请检查以确保它仍然被禁用。(有时需要尝试几次才能使禁用生效)。
- UPnP 允许进程在未经您同意的情况下打开端口。在一个完美的世界里,这似乎很好。但是,它可能是一个安全漏洞。并且,如果某些东西在您不知情的情况下打开了很多端口,您可能会遇到大量消耗带宽的流量,从而降低您的语音质量,而您却一无所知。
- ↑ 基本的 QoS 简介,如 主 QoS 如何操作页面中所述。
- ↑ 2009 年 1 月 23 日,人们注意到,这从端口范围 10000-20000 变为 10000-30000。看来 MagicJack 现在正在打开 20000-30000 范围内的端口。将此端口范围设置得太窄会导致 RTP 语音流量进入“最低”类别,从而严重降低音频质量。