關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于主動隊列管理的擁塞控制機制研究

基于主動隊列管理的擁塞控制機制研究

作者: 時間:2009-09-02 來源:網(wǎng)絡(luò) 收藏

目前,互聯(lián)網(wǎng)上已經(jīng)廣泛使用TCP滑動窗口進行端到端的。但是,隨著網(wǎng)絡(luò)用戶的增加和所承載業(yè)務(wù)流的多元化,端到端正面臨著嚴(yán)峻的挑戰(zhàn)。而路由器是互聯(lián)網(wǎng)的核心實體,也是網(wǎng)絡(luò)狀態(tài)最直接的感受者,因而充分發(fā)揮路由器在擁塞中的作用也是解決擁塞控制問題的有效思路。而且路由器可能更及時,甚至能夠提前了解網(wǎng)絡(luò)的狀態(tài),并依此實施有效的資源策略,保證網(wǎng)絡(luò)能有效地避免擁塞或盡早從嚴(yán)重的擁塞狀態(tài)中恢復(fù)過來。
本文的重點是路由器擁塞控制中的,通過選擇何時丟棄何種業(yè)務(wù)流分組來控制長度。
1 隊列管理
1.1 Tail Drop
路由器中最常用的隊列管理策略是“尾丟棄”(Tail Drop),從擁塞控制的角度分析,它是一種擁塞恢復(fù),也是一種被動隊列管理。但它有3個嚴(yán)重缺陷:持續(xù)的滿隊列狀態(tài);業(yè)務(wù)流對緩存的死鎖;業(yè)務(wù)流的全局同步。針對這些問題,提出用“首丟棄”和“隨機丟棄”對死鎖和全局同步比較有效,但沒有解決持續(xù)的滿隊列問題。近年來有學(xué)者提出隊列管理AQM(Active Queue Management)[1-2]讓路由器在擁塞發(fā)生前就采取一些預(yù)防措施,使得滿隊列問題比較有效地得到解決。
AQM策略試圖通過估算在某點的擁塞并且在緩沖區(qū)滿之前通過丟棄數(shù)據(jù)包來進行標(biāo)記。相應(yīng)的擁塞控制策略能夠減小它的傳輸速率。這樣可以避免更加嚴(yán)重的擁塞,且試圖降低包的丟失率,保持較低的平均隊列長度。一個AQM算法由兩部分組成:判斷擁塞的發(fā)生和決定該丟棄哪些包。所以它的性能依賴于是積極的還是保守的判斷擁塞的發(fā)生,怎樣根據(jù)判斷結(jié)果地丟棄數(shù)據(jù)包。
1.2 RED
去尾算法考慮的是擁塞發(fā)生后如何恢復(fù),如果在擁塞發(fā)生前就采取措施,則可以解決滿隊列問題。AQM正是設(shè)計用來克服網(wǎng)絡(luò)中的Tail Drop隊列的缺點。而RED是最早提出的一種AQM算法。
RED算法是擁塞避免的思路,不是等緩存滿后再丟棄到達的分組,而是利用標(biāo)記概率事先丟掉部分分組來預(yù)防擁塞的發(fā)生。同時,RED 算法不是采用源抑制策略,立刻把反饋信息返回給發(fā)送端,而是通過設(shè)置標(biāo)志位提示接收端,再由接收端傳遞給發(fā)送端;而且,RED通過平均隊列而非即時隊列來調(diào)整分組的丟失率,以盡可能地吸收部分短暫的突發(fā)流。在隊列頻繁接近于滿緩存時, RED的丟包率明顯小于丟尾隊列。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉