qos編程
① 關於QOS數據包調度程序的問題
在「運行」對話框中鍵入「gpedit.msc」命令來打開「組策略」窗口,再從「管理模板」下找到「網路」項目,這里有一個「QOS數據包調度」項,展開後可以在窗口右側的「設置」列下看到一個「限制可保留帶寬」的項目,雙擊該項目,可以看到這里的「帶寬限制」默認值為20%,我們只要將它修改為「已啟用」,並將「帶寬限制」值改為「0%」就可以讓帶寬得用率達到最高。」
事實是不是真的向上面這個優化技巧說的那樣Windows XP把20%的帶寬保留下來不給我們用呢?把20%修改為0%之後是不是真的可以達到加快上網速度的目的呢?答案當然是否定的。下面我們先看看微軟是怎樣解釋這個問題的。
在微軟的KB316666號知識庫中對QoS的問題是如下解釋的:
與 Windows 2000 一樣,在 Windows XP 中,程序也可以通過 QoS 應用程序編程介面 (API) 來利用 QoS。所有程序可以共享百分之百的網路帶寬,特別要求帶寬優先權的程序除外。其他程序也可以使用這種「保留」的帶寬,正在發送數據的請求程序除外。默認情況下,程序保留的帶寬累計可達終端計算機每個介面的基本鏈接速度的百分之二十。如果保留帶寬的程序發送的數據量沒有完全用完帶寬,保留帶寬的未用部分可用於同一主機上的其他數據流。
在微軟的KB316666中明確表示許多發表的技術文章和新聞組文章多次提到 Windows XP 通常為 QoS 保留百分之二十的可用帶寬的說法是錯誤的。
我們首先來明確QoS的真正含義是什麼。QoS的中文意義是:聯網服務質量。具體是指在整個網路連接上應用的各種通信或程序類型優先技術。QoS技術的存在是為了獲得更好的聯網服務質量。QoS是一組服務要求,網路必須滿足這些要求才能確保適當服務級別的數據傳輸。
QoS 的實施可以使類似網路電視,網路音樂等實時應用程序最有效地使用網路帶寬。由於它可以確保某個保證級別有充足的網路資源,所以它為共享網路提供了與專用網路類似的服務級別。它同時提供通知應用程序資源可用情況的手段,從而使應用程序能夠在資源有限或用盡時修改請求。在Windows XP系統中引入QoS技術的目標是建立用於網路通訊的保證傳輸系統。
從上面這些微軟對QoS的解釋我們可以知道通過在組策略編輯器中把QoS的20%修改為0%達不到優化網路性能的目標。而在組策略裡面的修改的20%參數是指當使用了QoS API編寫程序需要訪問網路時能夠使用的最大帶寬量,如果我們設置為0%,那就意味著使用QoS API編寫的應用程序不得不和其他應用程序爭奪有限的帶寬,可能產生的後果就是需要優先通信的數據沒有得到優先權。從這一點來說把QoS的20%修改為0%不但沒有好處還會產生使得某些實時網路應用程序不能有效使用網路帶寬的問題。所以這個所謂的優化技巧可以說是一個誤導。