監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設計管理系統(tǒng) | 簽約案例 | 購買價格 | 在線試用 | 手機APP | 產品資料
X 關閉

七種IP擁塞控制算法需改進

申請免費試用、咨詢電話:400-8352-114

文章來源:泛普軟件

DDoS攻擊引起的網(wǎng)絡擁塞,是由惡意主機控制大量傀儡機所造成的,并非傳統(tǒng)意義上的端到端擁塞,所以只能在路由器上進行控制,即基于IP擁塞控制來實現(xiàn)的。而目前主流的七種IP擁塞控制算法都需要在改進后,才能有效地應用于防范DDoS攻擊。

分布式拒絕服務DDoS(Distributed Denial of Service)攻擊被認為是目前Internet所面臨的最大威脅之一。

目前有一些常用的DDoS攻擊防護機制和方法包括: 通過修改配置和協(xié)議預防攻擊、反向查找攻擊源頭、攻擊檢測和過濾、分布式攻擊檢測和過濾(主機端/路由器端)等。

DDoS攻擊與網(wǎng)絡擁塞

網(wǎng)絡產生擁塞的根本原因在于用戶提供給網(wǎng)絡的負載超過了網(wǎng)絡的存儲和處理能力,表現(xiàn)為無效數(shù)據(jù)包增加、報文時延增加與丟失、服務質量降低等。如果此時不能采取有效的檢測和控制手段,就會導致?lián)砣饾u加重,甚至造成系統(tǒng)崩潰,在一般情況下形成網(wǎng)絡擁塞的三個直接原因是:

● 路由器存儲空間不足。幾個輸入數(shù)據(jù)流需要同一個輸出端口,如果入口速率之和大于出口速率,就會在這個端口上建立隊列。如果沒有足夠的存儲空間,數(shù)據(jù)包就會被丟棄,對突發(fā)數(shù)據(jù)流更是如此。增加存儲空間在表面上似乎能解決這個矛盾,但根據(jù)Nagel的研究,如果路由器有無限存儲量時,擁塞只會變得更壞。

● 帶寬容量相對不足。直觀地說,當數(shù)據(jù)總的輸入帶寬大于輸出帶寬時,在網(wǎng)絡低速鏈路處就會形成帶寬瓶頸,網(wǎng)絡就會發(fā)生擁塞,相關證明可參考香農信息理論。

● 處理器處理能力較弱。如果路由器的CPU在執(zhí)行排隊緩存、更新路由表等操作時,處理速度跟不上高速鏈路,會產生擁塞。同理,低速鏈路對高速處理器也會產生擁塞。

以上是早期Internet網(wǎng)絡發(fā)生擁塞的三個主要原因。對此,TCP擁塞控制給出了較好的解決方案。在實際應用中,如果所有的端用戶均遵守或兼容TCP擁塞控制機制,網(wǎng)絡的擁塞能得到很好的控制。但是,當DDoS攻擊造成網(wǎng)絡擁塞時,TCP基于窗口的擁塞控制機制對此無法加以解決。原因是攻擊帶來的擁塞是由大量惡意主機發(fā)送數(shù)據(jù)所造成的,這些主機不但不會完成TCP擁塞控制機制所規(guī)定的配合工作,甚至本身就可能包含了偽造源地址、加大數(shù)據(jù)發(fā)送量、增加連接數(shù)等攻擊方式。在此情況下,對DDoS攻擊所造成的網(wǎng)絡擁塞就必須在路由器上進行處理,這只能是基于IP擁塞控制來實現(xiàn)的。

需要注意的是,DDoS攻擊所造成的網(wǎng)絡擁塞不同于上面所分析的普通情況,它們之間存在著本質差異。相比之下,DDoS攻擊所造成的擁塞,其攻擊數(shù)據(jù)常常在分組大小、到達時間、協(xié)議類型等諸多方面具有一定相關性,這是由分布式拒絕服務自身特點所決定的。而普通情況下的網(wǎng)絡擁塞,其數(shù)據(jù)并非由多個受控攻擊者發(fā)送,因而不具有類似的相關性。對攻擊所造成的擁塞進行防護,就應首先找到這個相關性,在此基礎上引入傳統(tǒng)擁塞控制機制并加以完善,才能進行高效、準確的檢測和控制工作。

七種主流IP擁塞控制算法及評價

根據(jù)DDoS攻擊的原理和機制,對各種機制的防護能力做評價時應參照以下標準: 條件一,是否能按一定規(guī)則進行特征設定; 條件二,是否能根據(jù)一定規(guī)則對流經(jīng)的數(shù)據(jù)加以區(qū)分; 條件三,針對不同類型的數(shù)據(jù)包,是否能提供不同優(yōu)先級的服務。如果一個擁塞控制機制滿足了以上三個條件,就基本上具備了防護DDoS攻擊的能力。

下面將簡略地分析當前一些主流IP擁塞控制算法,并對其防護DDoS攻擊的可行性進行評價:

● 先進先出FIFO(First In First Out)

傳統(tǒng)的先進先出策略是目前Internet上使用最廣泛的一種服務模型。它的最大優(yōu)點是便于實施,但由于FIFO本質上是一種“去尾”(Drop-tail)的算法,所以當突發(fā)性數(shù)據(jù)到達時容易出現(xiàn)包丟失現(xiàn)象,其公平性較差,對上層的TCP快速恢復的效率也較低。

對照評價標準可知,該算法沒有滿足任何一個條件,過于簡單且缺乏智能性,完全不能用于DDoS攻擊防護。

● 隨機早期檢測算法RED(Random Early Detection)

RED算法是按一定概率丟棄進入路由器的數(shù)據(jù)包。RED的早期設計思路是避免丟棄屬于同一連接的連續(xù)數(shù)據(jù)包,從而提高連接的吞吐量。通過分攤包丟失率,RED可以在各連接之間獲得較好的公平性,對突發(fā)業(yè)務的適應性較強。RED也存在一些不足,例如可能會引起網(wǎng)絡的不穩(wěn)定,而且選擇合適的配置參數(shù)也不是一件容易的事。近年來,研究者提出了許多RED的改進算法,這些算法都在一定程度上,從不同方面改善了RED的性能。

對照評價標準可知,該方法對DDoS攻擊的防護作用不大,由于其思路是分攤包丟失率,對正常業(yè)務和攻擊數(shù)據(jù)“過分公平”,不能做到有所區(qū)分,從而使得大量正常業(yè)務在攻擊發(fā)生時無法得到服務。

● 顯示擁塞指示算法ECN(Explicit Congestion Notification)

前面兩種擁塞控制算法都是通過包丟失來告訴端系統(tǒng),網(wǎng)絡已經(jīng)發(fā)生擁塞。而顯示擁塞指示算法通過明確的擁塞提示(RFC2481)來實現(xiàn)擁塞控制,對一次性大批量數(shù)據(jù)傳輸?shù)男Ч容^理想,但對時延有一定要求。

該算法在源端數(shù)據(jù)包中嵌入ECN,由路由器根據(jù)網(wǎng)絡情況設置CE(Congestion Experienced)比特位。源端接收到從網(wǎng)絡中反饋回來的這種CE置位數(shù)據(jù)包后,將隨后發(fā)出的數(shù)據(jù)包標記為可丟棄的數(shù)據(jù)包。ECN的優(yōu)勢在于不需要超時重傳,也不依賴于粗粒度的TCP定時,所以在對時延有一定要求的應用場合性能較好。在此基礎上還提出了另一種改進算法,它通過調整擁塞窗口CWND的大小,糾正有長時間RTT的TCP連接的偏差,來改進共享瓶頸處帶寬的公平性。

對照評價標準可知,該方法對防護DDoS攻擊效果不大,原因在于無攻擊特征識別和區(qū)分功能,在攻擊發(fā)生時智能性較差。

● 公平排隊算法FQ(Fair Queuing)

在FQ算法中路由器對每個輸出線路都建有一個排隊隊列。當一條線路空閑時,路由器就來回掃描所有隊列,依次將每隊的第一個包發(fā)出。FQ的帶寬分配獨立于數(shù)據(jù)包大小,各種服務在隊列中幾乎同時開始。因此在沒有犧牲統(tǒng)計復用的情況下提供了另外的公平性,與端到端的擁塞控制機制可以較好地協(xié)同。它的缺點在于實現(xiàn)起來很復雜,需要每個數(shù)據(jù)流的排隊處理、每個流的狀態(tài)統(tǒng)計、數(shù)據(jù)包的分類以及包調度的額外開銷等。

對照評價標準可知,該方法對防護DDoS攻擊效果不大,原因同ECN法。

● 加權公平排隊算法WFQ(Weighted Fair Queuing)

加權公平排隊算法是FQ的改進算法。根據(jù)不同數(shù)據(jù)流的不同帶寬要求,對每個排隊隊列采用加權方法分配緩存資源,從而增加FQ對不同應用的適應性,該算法還有其他一些改進算法。

對照評價標準可知,該方法通過改進后可用于防護DDoS攻擊,思路是首先對攻擊進行檢測和分類,然后將入口數(shù)據(jù)按攻擊數(shù)據(jù)、正常數(shù)據(jù)、可疑數(shù)據(jù)三種類型分別排隊處理,對攻擊數(shù)據(jù)直接丟棄,而通過對可疑和正常數(shù)據(jù)賦予一定權值,來提供不同質量的服務。在路由器性能良好、處理能力強的情況下,甚至可以采取更復雜、智能的處理策略,例如多優(yōu)先級隊列。

● 加權隨機先期檢測WRED(Weighted Random Early Detection)

是將隨機先期檢測與優(yōu)先級排隊結合起來,這種結合為高優(yōu)先級分組提供了優(yōu)先通信服務能力。當某個接口開始出現(xiàn)擁塞時,它有選擇丟棄優(yōu)先級較低的分組,而不是簡單地隨機丟棄分組。

對照評價標準可知,該方法通過改進后可用于防護DDoS攻擊,思路與WFQ類似,它們都符合評價標準的條件三,改進應從增加條件一和條件二著手。

● 定制排隊

定制排隊是為允許具有不同最低帶寬和延遲要求的應用程序共享網(wǎng)絡而設計的。定制排隊為不同協(xié)議分配不同的隊列空間,并以循環(huán)方式處理隊列,當特定協(xié)議的數(shù)據(jù)流被分配了較大的隊列空間,也就獲得了較優(yōu)先的服務,定制排隊比優(yōu)先級隊列更為公平。定制排隊可以保證每一個特定的通信類型得到固定的可用帶寬,同時在鏈路緊張的情況下,避免了數(shù)據(jù)流企圖超出預分配量限制的可能。

對照評價標準可知,該方法通過改進后可用于防護DDoS攻擊,都是在資源分配和使用時為不同業(yè)務提供優(yōu)先級加權,改進思路與WFQ和WRED類似。

除了以上7種方法以外,還有其他一些方法。如將FQ與RED算法結合起來的Flow RED算法,它將緩存分成若干排隊隊列,再在每個數(shù)據(jù)流使用RED算法,仿真實驗證明它的公平性較好; 又如核心無狀態(tài)公平排隊算法CSFQ(Core-Stateless Fair Queuing)在網(wǎng)絡邊界路由器執(zhí)行數(shù)據(jù)流管理,而在核心并不做處理等等。

可以看出,這些算法的防護能力存在著較大差異,其中的任何一種都需要在改進后,才能有效地應用于控制DDoS攻擊所造成的網(wǎng)絡擁塞。 (ccw)

發(fā)布:2007-04-22 09:59    編輯:泛普軟件 · xiaona    [打印此頁]    [關閉]
南昌OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統(tǒng)

QQ在線咨詢

泛普南昌OA信息化其他應用

南昌OA軟件 南昌OA新聞動態(tài) 南昌OA信息化 南昌OA快博 南昌OA行業(yè)資訊 南昌軟件開發(fā)公司 南昌門禁系統(tǒng) 南昌物業(yè)管理軟件 南昌倉庫管理軟件 南昌餐飲管理軟件 南昌網(wǎng)站建設公司