專利名稱:區(qū)分流的前饋主動擁塞控制方法
技術領域:
本發(fā)明涉及一種主動網絡擁塞控制方法,尤其是一種區(qū)分流的前饋主動擁塞控制方法。屬于信息技術領域。
背景技術:
目前在Internet(IPv4)上實際使用的擁塞控制基本上是建立在TCP的窗口控制基礎之上的。TCP的擁塞控制采用的是基于窗口的端到端閉環(huán)控制方式。具體而言,TCP使用的是一種和式增加積式減基于窗口的端到端擁塞控制機制。TCP源端“發(fā)送速率”由擁塞窗口控制如果有一個數據包丟失,發(fā)送窗口則要減半;否則就簡單地增加一個數據包的發(fā)送量。大量的實踐證明這種擁塞控制機制對Internet上大批量文件傳輸等盡量做好型服務具有較好的適應性。TCP擁塞控制機制暗含了IP層在指示擁塞和控制擁塞方面不提供任何支持。為了進行擁塞控制,必須使用諸如確認、超時等信息來推斷網絡擁塞情況。所以它本質上必須是端到端的控制機制。所以當前的擁塞控制對于高時延帶寬積的網絡是不理想的。
當前網絡中很多應用如文件傳輸,聲音,視頻以及廣播服務等都有一個較高的傳送速率,但是目前大多數的應用卻不需要那么高的速率。而網絡中很多擁塞的發(fā)生是由極少數高速流造成的,大部分的流(如HTTP)對網絡中的字節(jié)流量沒有太大的影響。當前的擁塞控制算法并沒有對高速流進行優(yōu)先處理。
經文獻檢索發(fā)現,龐斌等人在《計算機研究與發(fā)展》38卷,第12期,2001年12月上撰文《一種新型的基于RED的逐節(jié)擁塞控制算法》,該文介紹的RED的前饋擁塞控制算法采用前饋的方法從擁塞發(fā)生點發(fā)送報文到上游節(jié)點進行控制,并沒有在路由器中對高速流進行鑒別,當高速流和低速流同時造成擁塞時,沒有對高速流進行優(yōu)先控制,對擁塞的處理仍然不理想。
發(fā)明內容
本發(fā)明針對現有技術中的上述不足和缺陷,提供一種區(qū)分流的前饋主動擁塞控制方法,使其在擁塞時刻區(qū)分流,采用主動網絡技術限制高速流來控制網絡流量,用于緩解由于少數高速流所造成的網絡擁塞,提高網絡對擁塞的處理能力。
本發(fā)明是通過以下技術方案實現的,本發(fā)明采用固定長度隊列法鑒別高速流,這個隊列通過統計一段時間內通過本地的流得到高速流。當主動節(jié)點檢測到擁塞時,對擁塞進行立即處理,向上游節(jié)點發(fā)出一個控制信息包,上游節(jié)點收到這個信息包以后,即進入主動過濾高速流狀態(tài)。進入主動過濾高速流狀態(tài)的路由器,對流經的高速流增加處理概率,從而提高擁塞控制的效率。
以下對本發(fā)明方法的進一步限定,具體包含以下兩個步驟(1)高速流檢測使用一個具有有限長度的隊列,這個隊列通過統計在一段時間內流經本地的數據流和屬于這個流的數據包得到高速流。隊列的固定的長度S取決于路由器所處的網絡環(huán)境。每當路由器接收到一個數據包,它就會在緩存中檢查這個數據包的流信息是否已經存在。如果存在(不存在),則認為對應流的一個命中(疏漏)發(fā)生了。在疏漏發(fā)生的情況下,如果緩存中還有空間,那么就會把這個流的信息加入到緩存中。如果緩存中沒有空間了,它就會以一定的概率替換在緩存中之前一段時間內有最少數據包計數的流的空間(一般是在隊列的最后面)。同時,將新的流的信息寫進緩存中的最前面位置。替換概率由以下方法決定將數據包的大小與流經本地的前一個數據包的大小進行比較,大于等于1則替換,小于則不替換。這種工作機制確保了最近到達的流信息依然保存在緩存區(qū)中。其目標就是為了在隊列中只盡可能用來保存那些高速流的狀態(tài)信息。
為了允許數據流的突發(fā)性,制定一個數據包數量門限。在一段時間以內,對于擁有門限以下的數據包計數的數據流而言,即使流的狀態(tài)信息存在于緩存中,也不會被認為是高速流的。本發(fā)明方法中,每個數據包到達路由器時,相應的流的計數值便會增加。只有當這個計數值超過了門限以后,才會考慮這個流是一個高速流。這個門限的重要作用在于剔除非高速流。因為短期存在的流以及低使用帶寬的數據流,在它們發(fā)送的數據包數量達到門限之前,就已經被刪除了在緩存中的狀態(tài)信息。實現高速流的鑒別,需要存儲數據流的兩個信息。這兩個信息分別是流的id號,以及每個流所發(fā)送的數據包的計數值。為了快速尋找,按照hash表的方式進行索引。
(2)確定丟棄概率當下游節(jié)點的請求控制次數不超過五次時,擁塞控制節(jié)點根據不同流的流量確定不同的丟棄概率。將每個高速流流量占所有高速流流量總和的比率乘以一常數作為高速流丟棄增量,加到通過RED算法得到的高速流數據包丟棄概率上。當下游節(jié)點的請求控制次數超過五次以后,認為發(fā)生嚴重擁塞,所有丟棄概率增量選取為最大高速流丟棄增量。
本發(fā)明的優(yōu)點(1)本方法運行在主動網絡環(huán)境下,因此對擁塞的處理是即時的。擁塞發(fā)生后,擁塞發(fā)生的本地節(jié)點立即對擁塞進行處理。相對與傳統的擁塞控制方法而言,有響應時間短的優(yōu)點。(2)本方法區(qū)分了不同速度的流,提高了高速流的處理概率,從而提高的擁塞控制的效率。(3)在擁塞控制過程中,當在隊列中沒有空間的時候,隊列最底部的流會以一定的概率替換。這種方法的好處是省去了為記錄那些低速流和短期流所需要的空間,將真正的高速流保持在緩存中,充分的提高了緩存的利用率。(4)本方法對流設定了數據包門限,防止了突發(fā)性的數據流被誤認為是高速流。(5)查找緩存使用的hash查找,提高了緩存的查找效率。
圖1為下游節(jié)點的數據包處理流程2為上游節(jié)點的處理流程3主動擁塞控制系統中節(jié)點的內部結構圖具體實施方式
現結合
具體的實施方式。上游節(jié)點采用RED隊列管理可以有多種高速流過濾實現方法。采用對高速流丟棄概率增加一個常量的方法簡單處理。在網絡負載不是很大,高速流不多時,簡單增加丟棄概率系統資源消耗較少。
圖1為下游節(jié)點的數據包處理流程。節(jié)點判斷是否需要上游節(jié)點進行主動擁塞控制模塊。當一個新的數據包到達節(jié)點,根據RED算法可以得到此時的平均隊列長度avg,將avg帶入擁塞控制條件。如果滿足擁塞控制條件,節(jié)點將向上游節(jié)點發(fā)送擁塞控制請求。如果不滿足擁塞控制條件,則不發(fā)送擁塞控制請求。圖2為上游節(jié)點的處理流程。當一個新的數據包到達節(jié)點,將其放入高速流鑒別隊列,得到最新的高速流信息。然后此數據包根據RED算法得到一個丟棄概率。接著,如果沒有接到下游節(jié)點的控制請求,下游節(jié)點的控制請求次數值清零,再根據RED算法得到的丟棄概率做丟包判斷。如果接到下游節(jié)點的控制請求,先要對下游節(jié)點的控制請求次數值加一,再進行控制??刂茣r先判斷下游節(jié)點的控制請求值是否大于5。如果大于5,則啟動對不區(qū)分流的過濾;如果小于等于5,則只是對高速流進行增加丟棄概率計算。計算結果作為最后的丟棄概率。
最后根據上面得到的丟棄概率進行丟包判斷。判斷完成后等待新的數據包到來。
圖3為主動擁塞控制系統中節(jié)點的內部結構。主動網絡與傳統網絡的區(qū)別的關鍵是主動網絡中的路由器可以處理下游節(jié)點的反饋信息,并直接進行擁塞控制。
以下為本發(fā)明方法的一個具體實施例A,B,C為發(fā)送節(jié)點,D,E,F為中間節(jié)點,G為接收節(jié)點。所有的節(jié)點均含有主動網絡擁塞控制系統。A以明顯高于B、C的發(fā)送速率發(fā)送數據到F,B、C以較低的速率發(fā)送到G。當擁塞在F節(jié)點發(fā)生,由于F鑒別出A到G的流是高速流,因此以較大的大概率處理這個流,向D發(fā)送擁塞控制包。D節(jié)點也鑒別出A到G是高速流,因此對這個流以較大的大概率處理。
采用此方法的擁塞控制系統在擁塞發(fā)生后,A到G的高速流得到明顯地快速抑制。擁塞很快緩解。擁塞發(fā)生后相對于其他幾種RED擁塞控制有較大的吞吐率和較小的緩存長度。
權利要求
1.一種區(qū)分流的前饋主動擁塞控制方法,其特征在于,采用固定長度隊列法鑒別高速流,這個隊列通過統計一段時間內通過本地的流得到高速流,當主動節(jié)點檢測到擁塞時,對擁塞進行立即處理,向上游節(jié)點發(fā)出一個控制信息包,上游節(jié)點收到這個信息包以后,即進入主動過濾高速流狀態(tài),進入主動過濾高速流狀態(tài)的路由器,對流經的高速流增加處理概率,實現對擁塞的控制。
2.根據權利要求1所述的區(qū)分流的前饋主動擁塞控制方法,其特征是,以下對本發(fā)明方法的進一步限定,具體包含以下兩個步驟1)高速流檢測使用一個具有有限長度的隊列,這個隊列根據統計在一段時間內最少訪問的數據流記錄,得到高速流,隊列的固定的長度S取決于路由器所處的網絡環(huán)境,每一個新的數據流被安排在隊列最前端,最近最少被使用的流則放置在最后端,當一個新的流信息要被記錄到緩存中,當緩存中還有空間時,就會把這個流的信息加入到緩存中,否則,最后端的流信息將被有選擇性的替換掉;2)確定丟棄概率當下游節(jié)點的請求控制次數小于或者等于五次時,擁塞控制節(jié)點根據各個流的流量確定丟棄概率,將每個高速流流量占所有高速流流量總和的分數作為高速流丟棄增量,加到通過RED算法得到的高速流數據包丟棄概率上,當下游節(jié)點的請求控制次數超過五次以后,所有丟棄概率增量選取為最大高速流丟棄增量。
3.根據權利要求2所述的區(qū)分流的前饋主動擁塞控制方法,其特征是,替換方式是將數據包的大小與前一個數據包的大小進行比較,大于等于1則替換。
4.根據權利要求2所述的區(qū)分流的前饋主動擁塞控制方法,其特征是,緩存中高速流使用hash查找方式進行查找。
全文摘要
一種區(qū)分流的前饋主動擁塞控制方法。屬于信息技術領域。本發(fā)明采用固定長度隊列法鑒別高速流,這個隊列通過統計一段時間內通過本地的流得到高速流,當主動節(jié)點檢測到擁塞時,對擁塞進行立即處理,向上游節(jié)點發(fā)出一個控制信息包,上游節(jié)點收到這個信息包以后,即進入主動過濾高速流狀態(tài),進入主動過濾高速流狀態(tài)的路由器,對流經的高速流增加處理概率,實現對擁塞的控制。本發(fā)明對擁塞的處理是即時的,有響應時間短的優(yōu)點;區(qū)分了不同速度的流,提高了高速流的處理概率;省去了為記錄那些低速流和短期流所需要的空間,充分的提高了緩存的利用率;對流設定了數據包門限,防止了突發(fā)性的數據流被誤認為是高速流;用hash查找提高了緩存的查找效率。
文檔編號H04L12/24GK1555155SQ20031012274
公開日2004年12月15日 申請日期2003年12月19日 優(yōu)先權日2003年12月19日
發(fā)明者薛質, 潘巍, 程福標, 馮幼民, 李建華, 薛 質 申請人:上海交通大學