Quality of Service

From DD-WRT Wiki

Revision as of 14:18, 9 July 2006 by 219.240.12.173 (Talk)
Jump to: navigation, search

Contents

Introduction

Quality of Service (QoS) is a method to guarantee a bandwidth relationship between individual applications or protocols. This is very handy when you max out your connection so that you can allow for each application to have some bandwidth and so that no single application can take down the internet connection. This allows, for example, a full speed download via FTP without causing jittering on a VOIP chat. The FTP will slow down slightly as bandwidth is needed for the VOIP, provided VOIP was given greater priority.

If you would like to set hard coded bandwidth limits (Throttling), this can be done using the tc command


NOTE: Ethernet Port Priority only works on older, ADM based, chipsets. That is, the Linksys WRT54G v1.0, 1.1, 2.0 and the WRT54GS v1.0. 683283710530515802797593 59266552128427882694191

Instructions

Initial Setup

  • Log into the Web Interface
  • Click on the Applications and Gaming Category
  • Click on the QoS sub category
  • Tick "Enabled" and save the settings
  • Set "Port" to WAN
  • Enter 85 percent of your up and down bandwidth in the boxes (eg: if you have a 1.5 Mbit (1536 kbps) cable modem with 256 kbps upload, enter 218 for uplink and 1306 for downlink. Beware not to mistakenly swap your up- and downspeeds, a common error that will greatly slow down your WAN connection!) You can have a free speed test done on your internet connection at DSL Reports.

These steps will enable Quality of Service (QoS) and cap your maximum connection speed to 85 percent of what your cable/DSL service is capable of providing. This decrease in speed is required to maintain a low latency. ISP tends to use large buffers that add lots of latency if you fill them up.

Optimize for Gaming

The Optimize for Gaming option found under the QoS administration page enables QoS on some tcp/udp ports found in some games.

Here is the complete list from the source code:

  • DirectX 8 and above (Age of Empires I and many others): 6073/tcp&udp, 2302-2400/tcp&udp
  • Counter Strike: 1200/udp, 27000-27015/udp, 27030-27039/tcp
  • Diablo I & II: 4000/tcp, 6112-6119/tcp&udp
  • Everquest: 7000/tcp, 1024-6000/udp
  • Half Life & Half Life 2: 6003/tcp, 7002/tcp, 27005/udp, 27010/udp, 27011/udp, 27015/udp
  • Quake2: 27910/tcp&udp
  • Quake3/RTCW: 27660/tcp&udp, 27950/udp, 27960/udp, 27965/udp, 27952/udp
  • Return to Castle Wolfenstein: 27950/udp, 27960/udp, 27965/udp, 27952/udp
  • Unreal Tournament (NOT 2004): 8080/tcp&udp, 27900/tcp&udp, 7777-7783/tcp&udp

If you do not play any of the above game, you should keep this option disabled.


Notes:

  • DirectX 7 and previous are not supported (require 2300-2400).

Enabling Services

  • Choose the service you would like to prioritize or deprioitize and click add
  • Change the priority of the service and click save. Unconfigured services are always standard.
  • It Seems as though the L7 Protocol (leave the port range at 0) works the best instead of choosing a port range. Though, this does add extra strain to your router.

Prioritizing by IP Address

-If there is a specific ip address, enter xxx.xxx.xxx.xxx / 32
-If there is a range, enter it using netmask notation. The Netmask Calculator might be useful

For V23, enter the IP address and then press "Add" button.

External Links

A more detailed QoS Setup Page http://www.solosoft.org/projects/qos

Netmask Calculator *http://www.csc.fi/english/funet/calc/laskin2.html

L7-Filter http://l7-filter.sourceforge.net/

 * http://frottle.sourceforge.net/
 * http://patraswireless.net/software.html