在家用 Linux 路由器上面应用 QoS

| | Comments (2) | TrackBacks (0)

家里有两台台式机,我一台,爹妈挖地雷一台。我有一台 Apple PowerBook G4,主要通过 Wi-Fi 接入家庭网络。路由器是用一台旧机器自己做的,上面运行 Debian GNU/Linux ,顺便提供提供 DNS、DHCP、NTP、SSH、TOR 服务。一条 2M 的 ADSL 链路提供 7 x 24 的 Internet 接入服务。

2M ADSL 链路所提供的带宽

  • 下行 2Mbps = 250KB/s = 244.141KiB/s
  • 上行 640Kbps = 80KB/s = 78.125KiB/s

设定 QoS

我通常长时间的运行骡子,有时运行 SSH 会话。骡子会消耗大量的带宽,导致网络拥塞。后果是网络传输时延增加,SSH 会话的迟滞很严重,网上冲浪也要花更多时间等待。通过给不同的网络流量限定带宽和设定优先级,可以有效的改善这些。

胡乱设定的规则

  1. 第一优先级
    这是需要最小时延的应用
    • ICMP 报文
    • SSH 会话
    • 带有 SYN 标记的 TCP 报文
    • DNS 查询
  2. 第二优先级
    这主要是网上冲浪所产生的流量
    • HTTP 和 HTTPS 会话
    • FTP 的控制连接
  3. 第三优先级
    • 路由器本身产生的流量
  4. 第四优先级
    这是剩下的通过路由器转发,传输大量数据的应用。即时通讯软件所产生的流量也在这里。
    • FTP 的数据连接
    • 所有通过路由器转发的 UDP 流量
  5. 第五优先级
    这是需要最少花费的应用,主要是 Email 产生的流量
    • SMTP
    • POP3
    • IMAP
  6. 第六优先级
    这包括所有剩下的流量。骡子BT 产生的流量都会在这里。

应用 QoS 后获得的好处

  • 可以不用针对骡子特别限速,骡子可以充分利用剩下的带宽,最大化吞吐量。
  • SSH 会话的迟滞显著减少了。
  • 即便网络很繁忙,网上冲浪还是很顺畅。

参考资料

0 TrackBacks

Listed below are links to blogs that reference this entry: 在家用 Linux 路由器上面应用 QoS.

TrackBack URL for this entry: http://www.mamiyami.com/mt/mt-tb.cgi/35

2 Comments

Yan Author Profile Page said:

呵呵,可以贴出来具体的脚本么?

泥偶 Author Profile Page said:

完整的 iptables 脚本大概有一千行。下面是精简过的,跟 QoS 相关的部分。还是很长。
http://www.mamiyami.com/neo-diary/2007/10/26/firewall-qos.sh

Leave a comment

About this Entry

This page contains a single entry by 泥偶 published on October 26, 2007 3:14 PM.

泥偶自拍像 was the previous entry in this blog.

How to Make Pidgin 2.3.1 Works with IBM® Lotus® Sametime® 7.5.1 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.12