云杰通信助您了解行業,全方位掌握國際互聯網最新資訊
DiffServ定義了一種合適的IP QoS體系結構,這需要在網絡中每一個節點上對DSCP識別與PHB的實現來得以完成。DSCP的識別較為簡單,只需在IP數據包頭中查找相應的字段。對PHB的實現較為復雜,主要是依靠節點的出口接口上的排隊機制?;跀祿^中的目的地址與DSCP碼,數據包被分配到指定出口接口上的對應隊列中去。根據排隊機制的不同可以為數據分配需要的出口帶寬與優先級別,以實現多種PHB。另外,在網絡的邊界節點,還需要對進入的數據流進行整形與分類,并分配相應的DSCP編碼。下面對這些功能加以介紹。
排隊機制
隊列是網絡設備接口的數據包緩存區,實際上是一段內存空間。數據包從入接口進入,經過路由或交換處理后到達出接口,被放入隊列中等待,然后根據排隊機制先后發送。主要的排隊機制包括以下幾種:
(1)先進先出
先進先出(FIFO)是最為簡單直觀的排隊機制,先到達的數據包先處理,后到達的后處理。其缺點是無法區別對待不同優先級別的數據包。
(2)嚴格的優先排隊
嚴格的優先排隊機制具有從高到低的優先級別,并嚴格地按照級別的高低作先后處理。這樣的機制可以保證高優先級別數據的優先處理,但如果這樣的數據包過多,則低優先級的數據包可能會因長時間無法得到處理而造成擁塞。
(3)公平排隊
公平排隊(FQ)機制為從高到低的優先級別分配不同比例的處理能力(即對應接口帶寬),按照高低順序輪流的方式循環處理(即round robin),這樣就能保證即使是低優先級的數據包也可以獲得一定的帶寬。
(4)帶權重的公平排隊
公平排隊的問題在于,由于數據包的長度不同,所需的處理時間不同,簡單的FQ導致短小的數據包可能會因等待對一個長數據包的處理而空閑很長時間。為此,帶權重的公平排隊(WFQ)作為FQ的一種改進,在比例的分配中考慮了包長度的權重,減少了短小數據包的不必要等待。
(5)基于類別的隊列
基于類別的隊列(CBQ)是一種兩層的隊列機制,以實現更為精細的控制。首先,不同服務類別的數據包被放入不同的隊列中,這些隊列有優先級別的高低。同時,在任意隊列內部,也可以有不同的優先級別。隊列間的優先級別可以保證不同服務需求的數據得到相應的處理,而對列內的優先級別則可進一步保證同一服務類別中不同的應用得到相應處理。
(6)結構化的CBQ
結構化的CBQ將基于類別的隊列的兩層隊列擴展到更多層的隊列結構,每一層中可以有子層。這里,一個突出的改進是一個子層在自身分配的帶寬不夠時,可以向其他的空閑子層借用帶寬,從而提高了帶寬利用率與接口的吞吐量。這一機制相應的算法相當復雜。
包丟棄機制
隊列與排隊機制是網絡設備(路由器,交換機)上的一個重要功能,IP QoS的實現離不開一個好的隊列管理與排隊機制。隊列管理的另一個功能是在隊列溢出時的包丟棄機制,屬于擁塞控制的范圍。
最簡單的丟棄機制是對尾丟棄,因隊列的空間有限,在接口出現擁塞的情況下,數據包會在隊列中堆積直至隊列溢出(隊列的空間被占滿)。超過隊列空間的數據包被丟棄,新到達的數據包也被丟棄。對于高層協議,如傳輸控制協議(TCP)而言,這樣的數據包丟棄會有引發網絡崩潰的危險。因為包丟棄導致TCP的重傳,反而帶來更多的數據包,進而占用大量的帶寬與路由器CPU,導致路由器癱瘓。隨機提前檢測(RED)為解決這一問題提供了辦法。
其原理是,當隊列充滿到一定程度(這可由一個設定的隊列長度閾值決定)時,隊列開始隨機地丟棄一些新到達的數據包以保證隊列不會溢出,因為被丟棄的少量數據包會引起TCP減緩數據的發送。這影響到了一些TCP連接的性能,但從整體上維護了網絡的穩定性。帶權重的隨機提前檢測(WRED)改進了隨機的選擇數據包丟棄,增加了有針對性的選擇數據包丟棄。
文章標題:《IP QoS排隊及調度》
作 者:云杰小編。本文部分資料來源于網絡,轉載目的在于傳遞更多信息及學習參考:http://www.asperindo.org/showinfo-114-3101-0.html