網路擁塞
網路傳輸性能下降的情況
網路擁塞(network congestion)是指在分組交換網路中傳送分組的數目太多時,由於存儲轉發節點的資源有限而造成網路傳輸性能下降的情況。網路擁塞是一種持續過載的網路狀態,此時用戶對網路資源(包括鏈路帶寬、存儲空間和處理器處理能力等)的需求超過了固有的處理能力和容量。在Internet的體系結構中,擁塞的發生是其固有的屬性。
網路擁塞(congestion)是指在分組交換網路中傳送分組的數目太多時,由於存儲轉發節點的資源有限而造成網路傳輸性能下降的情況。當網路發生擁塞時,一般會出現數據丟失,時延增加,吞吐量下降,嚴重時甚至會導致“擁塞崩潰”(congestion collapse)。通常情況下,當網路中負載過度增加致使網路性能下降時,就會發生網路擁塞。可由圖 2.1 形象描述網路擁塞現象發生的過程。
網路擁塞
因為在事先沒有任何協商和請求許可機制的資源共享網路中,幾個IP分組同時到達路由器,並期望經同一個輸出埠轉發的可能性是存在的,顯然,不是所有分組可以同時接受處理,必須有一個服務順序,中間節點上的緩存為等候服務的分組提供一定保護。然而,如果此狀況具有一定的持續性,當緩存空間被耗盡時,路由器只有丟棄分組。在這種持續過載的狀態下,網路性能會急劇下降。
在每個輸出埠有一定的存儲空間,若一個輸出埠被幾個輸入數據流共同使用,輸入流的數據包就會在該存儲空間內排隊等待輸出。當埠轉發數據的速率低於數據包的到達速率時,會造成存儲空間被佔滿的情形,後到達的數據包將被丟棄。突發數據流的此種現象更多。雖然從某種程度上來講,存儲空間的增加能夠緩解輸出埠的壓力。但是存儲空間無限制的增加,會導致數據包完成轉發時,它們早已超時,源端認為這些數據包在傳輸過程中被丟棄而要求重發,不僅降低網路效率,而且使得網路擁塞情況更加嚴重。另外在實際應用中,存儲容量不可能無限制的增加,不符合實際意義。
通過實踐證明低速鏈路難以應對高速數據流的輸入,從而發生網路擁塞。依據香農理論,信源的發送速率必須小於或等於通道容量。因此,當源端帶寬遠大於鏈路帶寬形成帶寬瓶頸時,導致數據包在網路節點排隊等待,造成網路擁塞。
路由器中的 CPU 主要執行緩存區排隊、更新路由表、進行路由選擇等功能,如果其工作效率不能滿足高速鏈路的需求,就會造成網路擁塞。
在實際應用中,複雜的網路結構和不合理的路由原則也會造成網路擁塞現象的發生。
解決網路擁塞的方法是擁塞控制(congestioncontrol)。擁塞控制需要確保網路能夠承載用戶提交的通信量,是一個全局性問題,涉及主機、路由器等很多因素。衡量網路是否擁塞的參數主要有:缺乏緩衝區造成的分組丟失率、平均隊列長度、超時重傳的分組數目、平均分組延遲及分組延遲變化等。根據控制論,擁塞控制方法分為兩類:第一類是開環控制,即通過設計一個好的演演算法來避免擁塞發生。在進行擁塞控制時,不考慮網路的當前狀態。常用演演算法有:
1.源端擁塞控制演演算法
2.鏈路擁塞控制演演算法
第二類是閉環控制,即給予反饋機制,根據網路的當前狀態來控制擁塞。反饋方法有以下幾種:
1、向信息源發送一個告警數據報。
2、在數據包的結構中保留一個比特或一個域,用來表示發生擁塞。一旦發生擁塞,路由器對所有輸出數據報中的相應比特進行設置,以此來向鄰居告警。
3、主機或濾油器主動地、周期地發送探測數據報(probe),查詢是否發生擁塞。
閉環擁塞控制的工作過程如下:
1、由監控系統來發現何時何地發生擁塞;
2、當發生擁塞時,將發生擁塞的消息傳給能採取動作的站點;
3、調整系統操作,解決擁塞問題。