何為數(shù)據通信信息流量控制?數(shù)據通信信息流量控制方案介紹
數(shù)據通信已是老生常談的話題,雖然大家對數(shù)據通信有所了解,但在應用數(shù)據通信過程中,往往需要注意一些事項。例如,如何控制數(shù)據通信的信息流量。為幫助大家解決該問題,本文將對數(shù)據通信信息流量控制方案加以介紹。
一、何為數(shù)據通信信息流量控制
流量控制是網絡技術中的一個重要課題,此處以ATM網絡為例對流量控制的各個問題進行說明。ATM網絡能夠對不同業(yè)務提供服務質量的保證,在分析ATM網絡所支持業(yè)務的特點及其相應參數(shù)的基礎上,ATM網絡除了可為信息提供高速率、高帶寬的轉移功能外,更為重要的是能靈活地支持現(xiàn)有的和將來可能出現(xiàn)的各種業(yè)務,并對各種業(yè)務提供服務質量保證,使網絡達到很高的資源利用率,要達到這些目的需要對不同業(yè)務運用不同的流量控制和擁塞控制機制。概括地說流量控制就是為了避免網絡擁塞的出現(xiàn)而采取的一系列操作( ATM層的擁塞是指網絡不能達到連接建立時所簽訂的流量合同);擁塞控制是當網絡發(fā)生擁塞時,為避免網絡進一步惡化和緩解網絡擁塞而采取的一系列操作。流量控制和擁塞控制都是為了提高網絡性能,保證業(yè)務服務質量,通常統(tǒng)一稱之為流量控制。
流量控制涉及鏈路上字符或幀的發(fā)送速率的控制, 以使接收方在接收前的足夠的緩沖存儲空間來接收每一個字符或幀。例如,在面向字符的終端——計算機鏈路中,若遠程計算機為許多臺終端服務,它就有可能因不能在高峰時按預定速率傳輸全部字符而暫時過載。同樣,在面向幀的自動重發(fā)請求系統(tǒng)中,當待確認幀數(shù)量增加時,有可能超出緩沖器存儲空間,也會造成過載。下面介紹兩種常用的流量控制方案:XON/XOFF方案和窗口機制。
二、控制方案
(一)XON/XOFF方案
增加緩沖存儲空間在某種程度上可以緩解收、發(fā)雙方在傳輸速率上的差異,但這是一種被動、消極的方法。因為,一方面系統(tǒng)不允許開設過大的緩沖空間,另一方面對于速率顯著失配并且又傳送大量數(shù)據的場合,仍會出現(xiàn)緩沖空間不夠的現(xiàn)象。XON/XOFF方案方案則是一種相比之下更主動、更積極的流量控制方法。
XON/XOFF方案中使用一對控制字符來實現(xiàn)流量控制,其中XON采用ASCII字符集中的控制字符DC1,XOFF采用ASCII字符集中的控制字符DC3。當通信路上的接收方發(fā)生過載時,便向發(fā)送方發(fā)送一個XOFF字符,發(fā)送方接收XOFF字符后便暫停發(fā)送數(shù)據;等接收方處理完緩沖器中的數(shù)據,過載恢復后,再向發(fā)送方發(fā)送一個XON字符,以通知發(fā)送方恢復數(shù)據發(fā)送。在一次數(shù)據傳輸過程中,XOFF、XON的周期可重復多次,但這些操作對用戶來說是透明的。
許多異步數(shù)據通信軟件包均支持XON/XOFF協(xié)議。這種方案也可用于計算機向打印機或其它終端設備發(fā)送字符,在這種情況下,打印機或終端設備中的控制部件用以控制字符流量。
(二)窗口機制
為了提高信道的有效利用率,如前所述采用了不等待確認幀返回就連續(xù)發(fā)送若干幀的方案。由于允許連續(xù)發(fā)送多個未被確認的幀 ,幀號就需采用多位二進制才能加以區(qū)分。因為凡被發(fā)出去尚未被確認的幀都可能出錯或丟失而要求重發(fā),因而這些幀都要保留下來。這就要求發(fā)送方有較大的發(fā)送緩沖區(qū)保留可能要求重發(fā)的未被確認的幀。
但是緩沖區(qū)容量總是有限的,如果接收方不能以發(fā)送方的發(fā)送速率處理接收到的幀,則還是可能用完緩沖容量而暫時過載。為此,可引入類似于空閑RQ控制方案的調整措施,其本質是在收到一確定幀之前,對發(fā)送方可發(fā)送的幀的數(shù)目加以限制。這是由發(fā)送方調整保留在重發(fā)表中的待確認幀的數(shù)目來實現(xiàn)的。如果接收方來不及時對心到的幀進行處理,則便停發(fā)確認信息,此時發(fā)送方的重發(fā)送方的重發(fā)表就會增長,當達到重發(fā)表限度時,發(fā)送方就不再發(fā)送新幀,直至再次收到確認信息為止。
不了實現(xiàn)此方案,發(fā)送方存放待確認幀的重發(fā)表中,應設置待確認幀數(shù)目的最大限度,這一限度被稱為鏈路的發(fā)送窗口。顯然,如果窗口設置為1,即發(fā)送方緩沖能力僅為一個幀,則傳輸控制方案就回到了空閑RQ方案,此時傳輸效率很低。故窗口限度應選為使接收方盡量能處理或接受收到的所有幀。當然選擇時還必須考慮諸如幀的最大長度、可使用的緩沖存空間以及傳輸速率等因素。
重發(fā)表是一個連續(xù)序號的列表,對應發(fā)送方已發(fā)送但尚未確認的那些幀。這些幀的序號有一個最大值,這個最大值即發(fā)送窗口的限度。所謂發(fā)送窗口就是指示發(fā)送方已發(fā)送但尚未確認的幀序號隊列的界,其上、下界分別稱為發(fā)送窗口的上、下沿,上、下沿的部距稱為窗口尺寸。接收方類似地也有接收窗口,它批示允許接收和幀的序號。
發(fā)送方每次發(fā)送一幀后,待確認幀的數(shù)目便增1,每收到一個確認信息后,待確認幀的數(shù)目便減1。當重發(fā)表長度計數(shù)值,即待確認幀的數(shù)目等于發(fā)送窗口尺寸時,便停止發(fā)送新的幀。
一般幀號只取有限位二進制數(shù),到一定時間后就又反復循環(huán)。若幀號配3位二進制數(shù),則幀號在0~7間循環(huán)。如果發(fā)送窗口尺寸取值為2。則發(fā)送如圖3.15所示。圖中發(fā)送方陰影部分表示打開的發(fā)送窗口,接收方陰影部分則表示打開的接收窗口。當傳送過程進行時,打開的窗口位置一直在滑動,所以也稱為滑動窗口(Slidding Window),或簡稱為滑窗。
上圖中的滑動窗口變化過程可敘述如下(假設發(fā)送窗口尺寸為2,接收窗口尺寸為1):
①初始態(tài),發(fā)送方沒有幀發(fā)出,發(fā)送窗口前后沿相重合。接收方0號窗口打開,表示等待接收0號幀;
②發(fā)送方已發(fā)送0號幀,此時發(fā)送方打開0號窗口,表示已發(fā)出0幀但尚確認返回信息。此時接收窗口狀態(tài)同前,仍等待接收0號幀;
③發(fā)送方在未收到0號幀的確認返器信息前,繼續(xù)發(fā)送1號幀。此時,1號窗口打開,表示1號幀也屬等待確認之列。至昆,發(fā)送方打開的窗口數(shù)已達規(guī)定限度,在未收到新的確認返回幀之前,發(fā)送方將暫停發(fā)送新的數(shù)據幀。接收窗口此時狀態(tài)仍未變;
④接收方已收到0號幀,0號窗口關閉,1號窗口打開,表示準備接收1號幀。此時發(fā)送窗口狀態(tài)不變;
⑤發(fā)送方收到接收方發(fā)來的0號幀確認返回信息,關閉0號窗口,表示從重發(fā)表中刪除0號幀。此時接收窗口狀態(tài)仍不變;
⑥發(fā)送方繼續(xù)發(fā)送2號幀,2號窗口打開,表示2號幀也納入待確認之列。至此,發(fā)送方打開的窗口又已達規(guī)定限度,在未收到新的確認返回幀之前,發(fā)送方將暫停發(fā)送新的數(shù)據幀,此時接收窗口狀態(tài)仍不變;
⑦接收方已收到1號幀,1號窗口關閉,2號窗口打開,表示準備接收2號幀。此時發(fā)送窗口狀態(tài)不變;
⑧發(fā)送方收到接收方發(fā)來的1號幀收畢的確認信息,關閉1號窗口,表示從重發(fā)表中刪除1號幀。此時接收窗口狀態(tài)仍不變。
一般來說,凡是在一定范圍內到達的幀,即使它們不按順序,接收方也要接收下來。若把這個范圍看成是接收窗口的話,由接收窗口的大小也應該是大于1的。而Go-back-N正是接收窗口等于1的一個特例,選擇重發(fā)也可以看做是一種滑動窗口協(xié)議,只不過其發(fā)送窗口和接收窗口都大于1。若從滑動窗口的觀點來統(tǒng)一看待空閑RQ、Go-back-N及選擇重發(fā)三種協(xié)議,它們的差別僅在于各自窗口尺寸的大小不同而已:
空閑RQ: 發(fā)送窗口=1,接收窗口=1;
Go-back-N: 發(fā)窗口>1,接收窗口>1;
選擇重發(fā): 發(fā)送窗口>1,接收窗口>1。
若幀序號采用3位二進制編碼,由最大序號為Smax=2^3-1=7。對于有序接收方式,發(fā)送窗口最大尺寸選為Smax;對于無序接收方式,發(fā)送窗口最大尺寸至多是序號范圍的一半。發(fā)送方管理超時控制的計時器數(shù)應等于緩沖器數(shù),而不是序號空間的大小。
以上便是此次小編帶來的“數(shù)據通信”相關內容,通過本文,希望大家對數(shù)據通信的信息流量控制具備一定的了解。如果你喜歡本文,不妨持續(xù)關注我們網站哦,小編將于后期帶來更多精彩內容。最后,十分感謝大家的閱讀,have a nice day!