番茄(Tomato)QoS設置超詳細教程,限制客戶機帶寬

可能有D out,但希望可以幫到Tomato 新手有多少少認識 (既係好似我呢d咁  )

轉貼自: http://xok.la/2008/07/tomato_qos_bandwidth.html


番茄(Tomato)QoS設置超詳細教程,限制客戶機帶寬

23 Jul, 2008  硬件&網絡設備

番茄(Tomato)最新下載地址:http://www.polarcloud.com/tomato

先來說說我的情況.我所住的小區因為線路老化,只能裝上下行512k/512k的ADSL(該死的中國電信為什麼不改造線路).帶寬小了,下BT的時候上網就比撥號還慢,大一點的圖片顯示不出來.我又不想限制BT帶寬,因為本來就慢了,還限制的話一部電影要下幾天啊.終於五一的時候忍不住賣了老的 Linksys Befsr41,衝著番茄強大的QoS去買了WRT54GS 1.1回來.拿回來就刷了番茄.經過一段時間的研究,終於把番茄的QoS全部研究了一遍.現在BT滿負荷下載,上網還是快如飛(當然沒有不下BT的時候那麼快,不過比不用qos快太多了),一個字,爽.好東西當然要分享給大家.下面給大家一一介紹吧
Basic (基本設置)

Enable QoS        激活QoS,選定.

Prioritize ACK        提升ACK優先級.大家知道TCP協議是基於發送-〉應答機制的.服務器只有收到客戶端的應答之後才會發送下一個數據包.ACK就是這個應答.默認這個選項是選定的.不過值得注意的是P2P軟件會產生大量的ACK數據包.比如說在下載BT的時候,如果這個選項被選定的話,你就會看到許多不明的 Highest流量.這些Highest的流量就是BT產生的ACK數據.所以如果你經常下載P2P軟件的話我推薦把這個選項關閉,以免產生不必要的 Highest流量.干擾其他正常的網絡應用.

Prioritize ICMP        提升ICMP的優先級.ICMP就是Ping之類的數據包.選定這個選項的話,ping值會好看一些.

Strict Rule Ordering        嚴格按照規QoS則順序執行.選定這個選項的話,QoS的規則就會按照Classification裡面的順序從頭到尾執行,直到碰到一個符合的規則.否則L7,IPP2P規則會先被執行,然後才執行基於端口,IP地址的規則.建議選定,以便於精確控制.

Reset Classification When Making Changes         在設置被改變的時候重置Classification.選定的話每次改變qos設置,所有的連接都會被重新評估.否則你必須從啟動正在下載的程序,重新連接才能使設置生效.推薦選上.

Default Class        缺省QoS級別.這個指的是所有未被定義的協議的優先級.這個要配合classification裡面的設置來決定.默認是Low.

Outbound Rate / Limit
Max Bandwidth        kbit/s上行速度.注意,這個值千萬不能亂填.它直接決定了qos是否能夠正常工作.不適當的值不但qos不工作,嚴重的話在下載的時候連網都上不去了.這個值應該是你網絡上行的最大帶寬x90%.填得太大的話QoS就會發送比你的網絡能承受的更多的數據,從而使網絡阻塞,QoS也失去效果了.

而且必須是實際的最大帶寬而不理論最大帶寬.比如說ADSL最大理論上行是512K,但是我實測下來只有400多K.因為ADSL傳輸的時候要給每個包加載包頭還有校驗位,佔用了一定的帶寬.大家一定想我怎麼才能知道我最大上行呢?其實用番茄就可以測到.隨便找一個BT的種子下載,要下得人多的.然後不限制上行速度.觀察番茄的流量監視表,當上行速度穩定為一條直線的時候就是你的最大上行帶寬.

番茄把從高到低級別分為了Highest – 〉Class E幾個級別.Highest是最高的級別.Class A -> E是番茄作者自己定義的幾個級別,他的優先級比Lowest還低
下面是我的設置,大家要根據自己的實際帶寬相應設置.
Highest          320 - 400 kbit/s
High          40 - 396 kbit/s
Medium          20 - 392 kbit/s
Low          12 - 388 kbit/s
Lowest          8 - 380 kbit/s
Class A          4 - 200 kbit/s
Class B          4 - 160 kbit/s
Class C          4 - 120 kbit/s
Class D          4 - 80 kbit/s
Class E          4 - 40 kbit/s
Inbound Limit
Max Bandwidth        kbit/s 下行速度.其實這一項實際意義不大.下行的qos是沒有意義的,因為數據包已經通過網絡瓶頸(你的寬帶線路)到達你的路由器了,再限制速度的話路由器只能丟棄多餘的數據包.直接結果就是這些數據包不得不重新傳一遍,白白浪費了網絡帶寬.下行的qos只有ISP支持才可能實現.大家可能會想,我只用上行的 QoS有什麼作用呢?我要的就是能夠控制下行的速率啊.其實控制了上行,間接的也就控制了下行.你想想如果某個協議的網絡請求能夠優先發送出去,返回的數據是不是也相應的會先到達呢?
這裡我填入了一個很大的值10000K,其他全部選None,不限制下行速度.

當然在特定的情況下,這個選項還是有用的.具體我就沒有研究了.畢竟我只有512k的帶寬,當然要榨乾它.

Classification (分類設定)

這裡就是設定哪個網絡協議擁有什麼樣的優先級的地方拉.一共有3行.

第一行:
地址:可以是源或目標IP地址或MAC地址.如果你想控制來自某個客戶端的,就要在這裡填上相應的值.
優先級:Highest -> Class E.定義符合這條規則的網絡協議的優先級.
描述:對這條規則的簡單描述.

第二行:
網絡協議:一般選TCP/UDP.除非是一些特殊的網絡應用.
端口:應用於所有經過這個端口的數據

第三行:
IPP2P: 這是一種P2P協議的過濾器.能夠識別常見的P2P協議,比如BT,電驢.不過我實際使用下來發現基本沒用.
Layer 7:第七層過濾器.這是一種非常高級的過濾器,工作於網絡的最高層:應用層.它能夠識別數據包裡面的字符串,從而識別數據包是那個應用程序發出來的.番茄裡面包含了許多常見的網絡應用程序,如BT,電驢,迅雷,CS,魔獸等.

值得注意的是L7過濾器因為非常複雜,所以要小心使用.有些過濾器會overmatch,也就是說會把許多其他程序發出的數據包誤認,比如說 SkypeOut過濾器.有些過濾器會undermatch,也就是說不捕捉到全部的流量,比如說BT過濾器.實際使用中我發現Skype out過濾器會把大約5%的BT數據認為是skype的數據,而BT過濾器則有20%左右的BT數據沒認出來.在這裡我們要儘量把overmatch的過濾器放在後面,undermatch的放在前面,以減少誤報的可能性.有些過濾器是另一些得子集,如果你把這些子集放在他們的父集後面,他們是不會生效的,因為父集過濾器已經把數據包截獲了.例如,http-video是http得子集.另外,並不是所有的L7過濾器都能保證工作,有些實際上效果不佳. 要瞭解更多的信息比如那些是overmatch/undermatch的,那些確定是有效的,請參看L7過濾器的主頁http://l7- filter.sourceforge.net/protocols

另外值得注意的是L7過濾器很佔用系統資源,它會明顯佔用CPU和內存的使用.加載了不少L7的過濾器後,我的WRT54GS(32M內存)的內存使用穩定在21M左右.用WRT54G的兄弟可得悠著點,因為只有16M.內存溢出的話說不定就死機了.

在這些設置裡面,端口/IP地址的過濾器是最有效的,能夠100%的有效,而且資源佔用率最低.IPP2P和L7過濾器並不是100%有效.

下面是我的一些設置,大家還要根據自己的實際情況量身定做..
TCP/UDP
Dst Port: 53        Highest        DNS
DNS非常重要,一定要設置為最高,並且放在最前面.不這樣的話在大量下載的時候,DNS數據包可能會因為網絡阻塞發送不出去,導致網頁無法訪問.
TCP/UDP
Port: 500,1701,1723,4500,3389,33089        High        VPN,RDP
我經常使用公司的VPN,把VPN設為高,保證VPN連接可靠.
TCP
Dst Port: 80,443
Transferred: 0 - 1024KB        Medium        HTTP 0-1024k
TCP
Dst Port: 80,443
Transferred: 1024KB+        Low        HTTP 1024k+
HTTP優先級設為中.也就是瀏覽網頁的優先級.每個http連接流量超過1024k後優先級為低,保證了HTTP下載文件不會影響網絡的瀏覽.
TCP
Dst Port: 21        Low         FTP
ftp優先級為低,保證ftp下載不會影響網絡瀏覽.
L7: bittorrent        Lowest        BT
TCP/UDP
Port: 25000        Lowest        BT
BT 優先級設為最低,BT下載不會影響其他任何應用.在這裡我使用了L7和端口兩種過濾器,完全保證了所有BT流量都被過濾了.另外需要注意的是BT客戶端的連接數不要設的太高了,否則效果打折扣.我512k的帶寬,BitComet設置全局100個下行連接50個上行連接正好.

回覆 1# 的帖子

那我這裡比你那裡好一些, 可以用8Mbps ADSL! 建議你考慮像我這樣用3G無線上網!

TOP

講真, tomato qos 係wrt54G 真係好唔得好慢
尤其係下載野, 打機可能會快左, 不過下載野好慢

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

我用tomato 成日無端端死 wireless , only wifi 用唔到
lan 就可以正常上網, now 轉返用official firmware

TOP