擁塞管理

擁塞管理

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

簡介


計算網路鏈容量(即寬)、交換節緩衝,網路資源。謀段,若網路某資源需求超該資源提供,網路壞,況擁塞。
簡單舉例:台網路器台提供網路服務計算請求,該計算該段台設備提供服務,台堵塞服務,功請求服務計算甚服務。產擁塞。

意義


擁塞管理
擁塞管理
擁塞示系:∑資源需求>資源,網路資源產擁塞,網路顯差,整網路吞吐量隨輸量增降。
而常常有人這樣的認為:增多網路資源提供方式或者增大可用資源的提供限度,其實這種方法這不然,這是因為網路擁塞是一個非常複雜的問題,簡單的採用這些方法,根本不能解決問題,有時反而會使網路的性能更差。
問題複雜在擁塞往往有多方面因素引起的。如結點容量太小時,達到結點容量因為沒有存儲空間而不得不放棄;如果這時擴展容量到非常大。凡到達的均可在這緩存隊列中,不收限制時。而輸入鏈路和處理機的速度並未提高時,這樣讓然是長長的數據排列這,多整個系統並為提高,卻浪費了資源,這些輸出的數據卻還需要不斷重傳,這將不斷增加網路負載,載入擁塞的程度。
擁塞常常是問題複雜化,可能因為擁塞而癱瘓,如:簡單文件傳送,在前一批數據包被阻塞時,後來的數據一直處於阻塞狀態,在傳輸源端澤不斷發生數據,這是數據包不斷積累在鏈路上,是整個系統一直處於接受狀態但卻沒有接受到正確的數據,而是丟失在路上,越來越多的數據被丟失和不斷的輸入就會使系統癱瘓。
數據傳輸信息時代必然需求,高速傳輸、實時高效傳輸則必須首要解決的問題就是擁塞,而擁塞管理就顯的尤為重要了。

思想


從理論上講,按上述方程式就能解決擁塞問題,但是往往擁塞管理是一個動態的,當前網路正朝著高速的方向發展。解決問題也就越複雜,這樣是這方面管理的趨勢。
這方面的專業名詞:
輕度擁塞
當網路的吞吐量明顯的小於理想的吞吐量時,網路進入輕度擁塞。
直接死鎖
死鎖中的一種:即互相佔有對方需要的資源而造成的死鎖。
重裝死鎖
死鎖的另一種:由於路由器的緩存的擁塞而引起的。
理論控制思想
從大的方面來看,分為兩種:開環控制和閉環控制方式。開環方法:就是開始設計網路時事先將有關發生擁塞的因素考慮周到,力求網路在工作時不產生擁塞,一旦系統運行起來就不在進行修正了。設計難度較大,閉環方法是基於反饋環路的概念,具體方法:
①檢測網路系統以便擁塞在何時、何處發生。
②將擁塞信息傳輸到可採取行動的地方。
③調整網路系統的運行以解決出現的問題。
有許多的方法可以檢測的網路的擁塞。主要的指標有:缺少的緩存空間和被丟失的分組的百分比;平均隊列長度;超時傳輸的分組數;平均時延;分組時延的標準差等等。
另一種管理方式是在路由器的分組保留一個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開始隨機丟棄報文(隊列的長度越長,丟棄的概率越高);當隊列的長度大於高閾值時,丟棄所有的報文。