詳談Tomato / TomatoUSB的QoS及QoS知識(二)

本中譯版為本人自譯,並不是逐句翻譯,本人並非專業人士,不保證譯成中文後為正確的原意;如有疑問,請自行參考原文;本文章非經作者同意,一律禁止轉載

作者:Toastman

下文皆為節錄部份,Toastman的文章相當的詳細,但是後面的文章會修正前面文章提的東西。


更多有關於Rate和Limit

我們來看另一個不同的狀況,讓我們假設我們定義了一個P2P在Class D中,起始使用頻寬為10%,最大為100%,沒有其它的class設定,這是大部份的人所設定的方式,但是這種方式產生了大家想不到的問題。

如果其中有一位P2P狂人,他拿到了不錯的種子或者是你有一群P2P的使用者正在瘋狂下載,沒有其它人使用路由器頻寬,也就是上傳頻寬目前全被他們佔走了。假設你這時睡醒了,想要看新聞網頁,你會發現你要不到頻寬。



Tomato會試著給瀏覽網頁的連線增加頻寬,但是它必需等到有可用頻寬時才能做,在這一段時間內網頁瀏覽的回應就會很慢,也就是說,即使是低優先權的class,也是有可能造成高優先權的class變慢。

同一時間,下載的P2P幾乎是以全速或是接近全速的速度在跑,在ISP端有可能還有一大堆P2P在佇列中等著傳送,你的網頁瀏覽封包也在其中排隊。

也就是要記得不止是排class的優先 權,還要記得就算是低優先權的class,還是可能造成影響。

從這邊你可以看到,這並不是只要根據以往的方式來做就行了。任何調整都是為了平衡。如果變慢是允許的,那麼低優先權的class吃光頻寬也沒差,如果這是無法接受的,那麼,你就要對它設限,直到整體變成可接受的範圍,通常這設定在20%到50%間,起始頻寬設為10%,上限設20%通常是安全的,50%還可接受。

而且設定下載上限,你可以防止在ISP端塞了太多等待下載的P2P流量。

沒有二全其美的方案,如果要VOIP和瀏覽順的話,就別想P2P也能同時高速下載。



節錄 http://www.linksysinfo.org/forums/showpost.php?p=337475&postcount=6

QOS的規則是由上往下執行,第一個符合的規則會被套用。你必需確保所有的規則能正常運作,順序是正確的,否則連線會被分類到錯誤的class中。有時這個錯誤不是很明顯。加新規則時,請小心的檢視你的全部規則,修改舊有規則時也是一樣。要確定你的新規則放在正確的位置。

特別注意的是別試著為P2P建立規則----你不會成功的。請注意L7 filters對P2P來說幾乎沒有用,對其它的應用程式也差不多(這就是為何不少SOHO路由器QoS不能運作的原因)。使用以下的策略,並不需要特別的設定來應付P2P的連線。

把你的預設class設為適合P2P的class----通常它是最後一個,或是倒數第二個的class,別害怕使用class A到E。然後確保其它的網路應用規則,設好適當的優先權。任何不在設定的規則中,包括P2P連線,會落到預設的class中。

我把所有的小封包設為有較高權限,包括ACKS----很多人說別把ACK設定勾選起來。如果你不勾,我的看法是你會有非必要的網路延遲。但是這邊有個Tomato FAQ中沒提到問題:這些小封包以最高優先權傳送,也就是如果勾選ACK的話,任何ACK封包優先權都是最高,P2P會從預設的class移到最高的class中。資料流量依然會認定是P2P class,而且也會遵循設定的限制。這問題,如果在一個以網路回應優先的QoS設定中,並不會很明顯。對大多數人來說,勾選這個選項會造成P2P有不公平的優先權存在,因為大多數P2P的上傳流量都是ACK。

也就是,如果你要最佳的P2P下載數度,就勾選它,反之則否。

不要使用DHT或是uTP(uTorrent中使用的一種方法,用UDP傳資料),這東西會吃掉不少頻寬,卻沒有相對的效益。請你的使用者關掉它,如果不行的話,請使用script對UDP連線數設限。Bit Torrent的DNA也是類似的東西,請自行Google。



UPnP

確保大家都使用UPnP或是NAT-PMP。如果允許P2P卻不進行port forwarding,它會吃掉大部份的頻寬,但是使用者卻只得到一個非常可憐的下載速度。使用者通常不會注意到它,所以最好弄一個說明之類的教育他們。

UPnP有安全上的考量,很多人建議別用它,這要看你自己,但是沒有UPnP的話,大部份的應用程式無法運作。


線上遊戲使用者

目前有太多的線上遊戲了,你不可能一一的針對不同的遊戲做規則設定,另外下載狂也會造成不少麻煩,千萬別讓你的路由器放在他們可簡單就拿到的地方,網路線也別裸露在外被輕易找到----他們會試著玩弄你的路由器,比如重開機等等,來看網路順一點沒。






留言

這個網誌中的熱門文章

Google瀏覽器發生「錯誤107 (net::ERR_SSL_PROTOCOL_ERROR): SSL 通訊協定錯誤」的解決方式

Tomato Port Forwarding / Port Triggering 設定