通信网络基础期末复习-第六章-拥塞控制
文章目錄
- 第六章 擁塞控制
- 6.1 擁塞和流量控制概論
- 6.1.1網絡數據流的控制技術分類
- 6.1.2擁塞控制的基本原理
- 6.1.3 流控和擁塞控制所經歷的層次
- 6.2 流量和擁塞控制技術
- 6.2.1 窗口式流量和擁塞控制
- 1.滑動窗口控制機構的建立
- 2.窗口寬度的確定
- 3.報文的重裝
- 1. 端到端的窗口流控
- 2. 虛電路中逐跳窗口流控
第六章 擁塞控制
6.1 擁塞和流量控制概論
在計算機網絡中,鏈路的容量、交換節點中的緩沖區和處理機等都是網絡的資源。在某段時間內,若對網絡某一資源的需求超過了該資源所能提供的可用部分,網絡的性能就會惡化。同時,如果信息流無限制的進入網絡也會導致網絡的性能惡化。當報文在網絡中經歷了比所期望的時延更長的時間時,就認為網絡產生了擁塞。當網絡發生擁塞時,只能有很少的信息流動,而且擁塞會很快的延伸,甚至導致“死鎖”。發生死鎖時,網絡中幾乎沒有分組能夠傳送。因此,如果對網絡的擁塞不加控制,網絡的性能將會迅速下降。
造成網絡出現擁塞有若干種原因。
例如:
當從多個輸入端到達同一節點的分組要求同一條輸出鏈路時,就形成分組的排隊。如果該節點的緩沖器容量不夠,就會造成分組丟失。在某種程度上增加緩沖器的容量可以減少這種由于缺少緩沖容量而造成的分組丟失率;
同時,如果處理器的處理速度太低,或者鏈路帶寬不夠也會導致擁塞;
另外,擁塞節點本身也會使擁塞變得更嚴重。因為如果節點沒有空閑的緩沖區,那么新到達的分組必定被丟棄,而發送端會因為等待應答超時而重發,甚至重發若干次,這必然會增加網絡的負荷,使整個網絡中節點的緩沖器逐漸地都將處于飽和。隨著網絡負荷的激增,吞吐率驟降,最后達到零值,導致網絡進入死鎖狀態.
6.1.1網絡數據流的控制技術分類
網絡數據流的控制技術可以分為3類,即流量控制、擁塞控制和死鎖防止。
1.流量控制
流量控制是對網絡上的兩個節點之間的數據流量施加限制。它的主要目的是讓接收端來控制鏈路上的平均數據速率,以滿足接收端本身的承受能力,以免過載。
2.擁塞控制
擁塞控制的目的是將網絡內(或網絡的部分區域內)的報文分組數目保持在某一量值之下,超過這一量值,分組的平均排隊時延將急劇增加。因為一個分組交換網絡實質上是一個排隊的網絡,每個節點的輸出鏈路端口都配置一個排隊隊列,如果分組到達的速度超過或等于分組發送的速度,隊列就會無限制地增長,致使分組平均傳輸時延趨于無窮大。如果進入網絡的分組數目繼續增加,節點緩沖器將會占滿溢出,丟失一些分組。丟失分組的后果是導致發端重發。重發實際上又增加了網絡內流通的業務量,最終可能使所有節點緩沖器都被占滿,所有的通路完全被阻塞,系統的吞吐率趨于0。
3.死鎖防止
網絡擁塞到一定程度時,就要發生死鎖現象。死鎖發生的條件就是在構成一個封閉環路上的所有節點的相關鏈路緩沖器都被積壓的報文分組所占滿而失去了節點所擔負的存儲轉發能力。即使在網絡輕負荷情況下,也可能出現死鎖的現象。死鎖防止技術旨在合理地設計網絡使之免于發生死鎖現象。
6.1.2擁塞控制的基本原理
擁塞控制的基本原理是:尋找輸入業務對網絡資源的要求小于網絡可用資源成立的條件。這可以通過增大網絡的某些可用資源(如輸入業務繁忙時增加一些鏈路,增大鏈路的帶寬,或使額外的通信量從另外的通路分流),或者通過減少一些用戶對某些資源的需求(如拒絕接受新的建立連接的請求,或者要求用戶減輕其負荷,這屬于降低服務質量)。
閉環控制是建立在反饋控制的概念之上,其控制過程有以下幾種部分:
(1) 實時監測網絡,以便監測到擁塞在何時、何處發生;
(2) 將擁塞發生的信息傳送到可采取行動的地方(如控制中心);
(3) 調整系統的操作過程,以便糾正擁塞問題。
6.1.3 流控和擁塞控制所經歷的層次
流量及擁塞控制可以出現在所有的協議層次上,不過主要還是在數據鏈路層、網絡層和傳送層;分段(逐跳)流控是數據鏈路層的功能,稱為節點到節點之間的流控;而端到端流控主要在傳送層,稱為全局流控;擁塞控制則主要集中在網絡層。影響擁塞控制的一些主要策略如表6-1所示。
6.2 流量和擁塞控制技術
流量和擁塞控制技術按執行流控和擁塞的方式可分為:集中式和分布式流量擁塞控制。
在集中式流控中,網絡中有一個特定的網控節點執行某種算法,為各個節點計算報文流量的分配值,然后將新的流量分配值傳送給所有其他網絡節點。
而分布式流控則是把管理網絡的流量過程分配到若干個網絡節點來完成,這些節點控制通過其自身或外部的業務流量。
流量及擁塞控制有許多具體的實現方式,下面將著重討論窗口式流量擁塞控制和漏斗式流量控制算法。
6.2.1 窗口式流量和擁塞控制
窗口式流控的思想類似于數據鏈路層的返回n- ARQ,在一個session中,發端A在未得到收端B 的應答情況下,最多可以發送W(窗口大小)個消息或分組或字節。收端B 收到后,回送給發端A 一個permit(它既可以是應答,也可以是分配消息),A 收到后方可發送新的數據。下面首先介紹一下在窗口式流控中應該注意的問題,然后再集中討論具體的窗口式流控算法。
1.滑動窗口控制機構的建立
通信子網中的任意節點對之間都可能構成源/目的節點對。若子網的節點數為m,則一個節點可能與其他m-1個節點結合,最多形成m-1個源/目的節點對。如果在一個節點內為每一個源/目的節點對常設一個滑動窗口控制機構,將使節點控制機構變得相當復雜,占用許多的緩沖存儲容量。減少這種復雜性的途徑就是采用動態方法:在每個節點中只為有當前通信業務的源/目的節點對設置窗口控制機構,并相應地分配緩沖區。每一個源/目的節點對實際上就是一條虛擬的線路。可見,窗口控制機構應當隨著每一條虛擬線路的建立而建立,這與為每一條數據鏈路建立一對滑動窗口控制機制是一樣的。
2.窗口寬度的確定
一個源節點可能與許多不同節點構成源/目的節點對。如果源/目的節點對之間的距離比較遠,則相應的兩個節點之間的端到端時延就比較長,從源節點發出一個分組到它收到應答期間連續發出的分組數會比較大。因此,為了有效地利用通信子網的傳輸能力,這時源/目的節點對之間的窗口寬度W 就應當比較大。相反,源/目的節點對之間跳數比較少的節點對之間的窗口寬度W 就應該相應的小一些。
可見,窗口寬度應當根據源/目的節點對之間的距離來選擇,而不能簡單地選成一樣大小。為此,可以在每一個源節點內設置一張說明窗口寬度和節點距離關系的對應表。根據這種對應關系,動態選擇合適的窗口寬度,以便建立起相適應的窗口控制機制。
理想的窗口寬度應當這樣選擇:源節點從發送第一個分組到收到目的節點對該分組的確認時,源節點的窗口控制應該剛好發完窗口寬度允許的最后一個分組。這種情況下,源節點就能以最佳的速率不間斷的發送分組。
3.報文的重裝
當目的節點全部收完一個報文的所有分組后,才能著手重裝報文,然后再提交給目的主機。這是,該源目的節點對上的一個報文才算傳輸成功,目的節點將給源節點返回一個確認應答。可見,端到端流控功能中還包括在目的節點進行報文重裝的功能,特別是當通信子網采用自適應型路由策略和采用網內數據報傳輸方式時報文重裝的功能尤其重要。在這兩種情況下,源節點發出的報文分組可能沿不同的路徑到達目的節點,因而造成分組到達的次序與發送次序可能不一致。如果某一分組在中轉過程中丟失,在目的節點將無法將報文重裝出來。此時,目的節點應在返回的應答中報告這一情況。源節點在確知后,應立即重發被丟棄的那個分組。為此,源節點緩沖區必須保留全部未應答的數據分組,以便在需要重傳時使用。
下面討論具體的窗口式流控技術。
1. 端到端的窗口流控
W:窗口大小,即流控窗口為W 個分組,如果收端希望收到的分組序號為k,則發端可以發送的分組序號為k~k+W-1的分組。
d:分組傳輸的來回時延,它包括來回的傳播時延、處理時延、分組傳輸時間、應答分組的傳輸時延。
X:單個分組的傳輸時間。
在圖6-5(a)中,d≤ WX,則發端可以以1/X(分組/秒)的速率全速發送,流控不會被激活。而在圖6-5(b)中,d> WX,在d 時間內,最多只能傳送W 個分組,即分組傳輸的速度為W/d(分組/秒)。顯然,對于給定來回時延d,最大的分組傳輸速率r為:
其結果如圖6-6所示。從圖中可以看出,d增加表明網絡中擁塞增加,這樣會導致分組傳輸速率W/d下降。如果W 較小,則擁塞控制反應較快,即在W個分組內就會作出反應。這種以很小的開銷獲得的快速反應是窗口流控策略的主要優勢之一。
請看例題
2. 虛電路中逐跳窗口流控
虛電路中逐跳窗口流控(node-by-node windows for virtual circuits)是在虛電路經過的每個節點中保留W 個分組的緩沖區。在該鏈路上的每一個節點都參與流控,每一條鏈路的窗口都為W,每個接收分組的節點可以通過減緩回送允許(應答)分組給發送節點的方式來避免內存中積壓太多的分組。在這種方式下,各個節點的窗口或緩沖區是相關的。假定虛電路是經(i-1)→i→(i+1)等節點,當節點i緩沖區滿時,只有當節點i向節點i+1發送一個分組后,i才可能向i-1發送一個應答分組。這樣就會導致i的上游節點i-1緩沖區滿,依此類推,最后將導致源節點的緩沖區滿。這樣從擁塞節點緩沖區滿返回到源節點緩沖區被填滿的現象被稱為反壓現象(Back pressure)。
總結
以上是生活随笔為你收集整理的通信网络基础期末复习-第六章-拥塞控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么很少见到国产的牛肉做牛排?
- 下一篇: 如何下载百度文库的资料?