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