擁塞管理

擁塞管理是解決廣域網和網際網路中的網路阻塞的管理方式。很好的管理擁、控制擁塞能夠有效的解決網路訪問不流暢的問題以及計算機訪問資源死鎖的問題,目前已經有了比較完整的管理機制。

什麼是擁塞?,擁塞管理的意義,擁塞管理的思想,輕度擁塞,直接死鎖,重裝死鎖,理論控制思想,擁塞管理技術,擁塞避免原理,TCP擁塞管理例子,

什麼是擁塞?

在計算機網路中的鏈路容量(即常說的頻寬)、交換節點的緩衝和處理機等,都是網路資源。在謀段時間裡,若對網路中的某一資源的需求部分超過了該資源所能提供的可用部分,網路的特性就會變壞, 這種 情況就叫做擁塞。
簡單的舉例說:現在有1000台接入網路的機器同時向一台提供網路服務的計算機發出請求,而該計算機只能在該時段向一台設備提供服務,那么999台將會堵塞在服務之外,成功請求服務的計算機甚至可能都無法得到正常的服務。這時就產生了擁塞。

擁塞管理的意義

擁塞 可表示為如下的關係:
∑對可用資源的需求>可用資源
如果網路中有許多的資源同時產生擁塞,網路性能就要明顯變差,整個網路的吞吐量就會隨輸入量的的增加而下降。
而常常有人這樣的認為:增多網路資源提供方式或者增大可用資源的提供限度,其實這種方法這不然,這是因為網路擁塞是一個非常複雜的問題,簡單的採用這些方法,根本不能解決問題,有時反而會使網路的性能更差。
問題複雜在擁塞往往有多方面因素引起的。如結點容量太小時,達到結點容量因為沒有存儲空間而不得不放棄;如果這時擴展容量到非常大。凡到達的均可在這快取佇列中,不收限制時。而輸入鏈路和處理機的速度並未提高時,這樣讓然是長長的數據排列這,多整個系統並為提高,卻浪費了資源,這些輸出的數據卻還需要不斷重傳,這將不斷增加網路負載,載入擁塞的程度。
擁塞常常是問題複雜化,可能因為擁塞而癱瘓,如:簡單檔案傳送,在前一批數據包被阻塞時,後來的數據一直處於阻塞狀態,在傳輸源端澤不斷發生數據,這是數據包不斷積累在鏈路上,是整個系統一直處於接受狀態但卻沒有接受到正確的數據,而是丟失在路上,越來越多的數據被丟失和不斷的輸入就會使系統癱瘓。
數據傳輸資訊時代必然需求,高速傳輸、實時高效傳輸則必須首要解決的問題就是擁塞,而擁塞管理就顯的尤為重要了。

擁塞管理的思想

從理論上講,按上述方程式就能解決擁塞問題,但是往往擁塞管理是一個動態的,當前網路正朝著高速的方向發展。解決問題也就越複雜,這樣是這方面管理的趨勢。
這方面的專業名詞:

輕度擁塞

當網路的吞吐量明顯的小於理想的吞吐量時,網路進入輕度擁塞。

直接死鎖

死鎖中的一種:即互相占有對方需要的資源而造成的死鎖。

重裝死鎖

死鎖的另一種:由於路由器快取的擁塞而引起的。

理論控制思想

從大的方面來看,分為兩種:開環控制閉環控制方式。 開環方法:就是開始設計網路時事先將有關發生擁塞的因素考慮周到,力求網路在工作時不產生擁塞,一旦系統運行起來就不在進行修正了。設計難度較大,閉環方法是基於反饋環路的概念,具體方法:
①檢測網路系統以便擁塞在何時、何處發生。
②將擁塞信息傳輸到可採取行動的地方。
③調整網路系統的運行以解決出現的問題。
有許多的 方法可以檢測的網路的擁塞。主要的指標有:缺少的快取空間和被丟失的分組的百分比;平均佇列長度;逾時傳輸的分組數;平均時延;分組時延的標準差等等。
另一種管理方式是在路由器的分組保留一個bit的空間,來判斷網路是否擁塞,這種方式能夠有效的控制系統產生的震盪。

擁塞管理技術

擁塞管理是指網路在發生擁塞時,轉發設備對數據報文流進行管理和控制,以滿足業務的服務質量要求。當網路接口沒有發生擁塞時,數據報文進入接口時就立即被傳送出去。當數據報文到達設備的速度大於其離開設備速度時,就會發生擁塞。接口的擁塞管理需要把到達的報文按優先權分成不同的類,送入優先權不同的佇列,佇列調度處理對不同優先權的報文進行區別處理。不同的佇列算法用來解決不同的問題,並產生不同的效果。常用的佇列技術有FIFO、PQ、CQ、WFQ、CBWFQ等,下文逐一介紹這些常用佇列技術的基本原理。
1. FIFO(First In First Out,先進先出)佇列
2.PQ(Priority Queuing,優先佇列)
3. CQ(Custom Queuing,定製佇列)
4. WFQ(Weighted Fair Queuing,加權公平佇列)
5. CBWFQ(Class Based Weighted Fair Queuing,基於類的加權公平佇列)

擁塞避免原理

由於記憶體資源的有限,按照傳統的處理方法,當佇列的長度達到規定的最大長度時,所有到來的報文都被丟棄。對於TCP報文,如果大量的報文被丟棄,將造成TCP逾時,從而引發TCP的慢啟動和擁塞避免機制,使TCP減少報文的傳送。當佇列同時丟棄多個TCP連線的報文時,將造成多個TCP連線同時進入慢啟動和擁塞避免,稱之為:TCP全局同步。這樣多個TCP連線發向佇列的報文將同時減少,使得發向佇列的報文的量不及線路傳送的速度,減少了線路頻寬的利用。並且,發向佇列的報文的流量總是忽大忽小,使線路的上的流量總在極少和飽滿之間波動。
為了避免這種情況的發生,佇列可以採用加權隨機早期檢測WRED(Weighted Random Early Detection)的報文丟棄策略(WRED與RED的區別在於前者引入IP優先權,DSCP值,和MPLS EXP來區別丟棄策略)。採用WRED時,用戶可以設定佇列的閾值(threshold)。當佇列的長度小於低閾值時,不丟棄報文;當佇列的長度在低閾值和高閾
值之間時,WRED開始隨機丟棄報文(佇列的長度越長,丟棄的機率越高);當佇列的長度大於高閾值時,丟棄所有的報文。

TCP擁塞管理例子

設定一個變的閾值-Threshold 。
丟包事件發生時,閾值Threshold設定為發生丟包以前的CongWin的一半。
擁塞管理

相關詞條

熱門詞條

聯絡我們