什么是數據通信的信息流量控制
流量控制是網絡技術中的一個重要課題,此處以ATM網絡為例對流量控制的各個問題進行說明。ATM網絡能夠對不同業務提供服務質量的保證,在分析ATM網絡所支持業務的特點及其相應參數的基礎上,ATM網絡除了可為信息提供高速率、高帶寬的轉移功能外,更為重要的是能靈活地支持現有的和將來可能出現的各種業務,并對各種業務提供服務質量保證,使網絡達到很高的資源利用率,要達到這些目的需要對不同業務運用不同的流量控制和擁塞控制機制。概括地說流量控制就是為了避免網絡擁塞的出現而采取的一系列操作( ATM層的擁塞是指網絡不能達到連接建立時所簽訂的流量合同);擁塞控制是當網絡發生擁塞時,為避免網絡進一步惡化和緩解網絡擁塞而采取的一系列操作。流量控制和擁塞控制都是為了提高網絡性能,保證業務服務質量,通常統一稱之為流量控制。
流量控制涉及鏈路上字符或幀的發送速率的控制, 以使接收方在接收前的足夠的緩沖存儲空間來接收每一個字符或幀。例如,在面向字符的終端——計算機鏈路中,若遠程計算機為許多臺終端服務,它就有可能因不能在高峰時按預定速率傳輸全部字符而暫時過載。同樣,在面向幀的自動重發請求系統中,當待確認幀數量增加時,有可能超出緩沖器存儲空間,也會造成過載。下面介紹兩種常用的流量控制方案:XON/XOFF方案和窗口機制。
XON/XOFF方案
增加緩沖存儲空間在某種程度上可以緩解收、發雙方在傳輸速率上的差異,但這是一種被動、消極的方法。因為,一方面系統不允許開設過大的緩沖空間,另一方面對于速率顯著失配并且又傳送大量數據的場合,仍會出現緩沖空間不夠的現象。XON/XOFF方案方案則是一種相比之下更主動、更積極的流量控制方法。
XON/XOFF方案中使用一對控制字符來實現流量控制,其中XON采用ASCII字符集中的控制字符DC1,XOFF采用ASCII字符集中的控制字符DC3。當通信路上的接收方發生過載時,便向發送方發送一個XOFF字符,發送方接收XOFF字符后便暫停發送數據;等接收方處理完緩沖器中的數據,過載恢復后,再向發送方發送一個XON字符,以通知發送方恢復數據發送。在一次數據傳輸過程中,XOFF、XON的周期可重復多次,但這些操作對用戶來說是透明的。
許多異步數據通信軟件包均支持XON/XOFF協議。這種方案也可用于計算機向打印機或其它終端設備發送字符,在這種情況下,打印機或終端設備中的控制部件用以控制字符流量。
窗口機制
為了提高信道的有效利用率,如前所述采用了不等待確認幀返回就連續發送若干幀的方案。由于允許連續發送多個未被確認的幀 ,幀號就需采用多位二進制才能加以區分。因為凡被發出去蛤尚未被確認的幀都可能出錯或丟失而要求重發,因而這些幀都要保留下來。這就要求發送方有較大的發送緩沖區保留可能要求重發的未被確認的幀。
但是緩沖區容量總是有限的,如果接收方不能以發送方的發送速率處理接收到的幀,則還是可能用完緩沖容量而暫時過載。為此,可引入類似于空閑RQ控制方案的調整措施,其本質是在收到一確定幀之前,對發送方可發送的幀的數目加以限制。這是由發送方調整保留在重發表中的待確認幀的數目來實現的。如果接收方來不及時對心到的幀進行處理,則便停發確認信息,此時發送方的重發送方的重發表就會增長,當達到重發表限度時,發送方就不再發送新幀,直至再次收到確認信息為止。
不了實現此方案,發送方存放待確認幀的重發表中,應設置待確認幀數目的最大限度,這一限度被稱為鏈路的發送窗口。顯然,如果窗口設置為1,即發送方緩沖能力僅為一個幀,則傳輸控制方案就回到了空閑RQ方案,此時傳輸效率很低。故窗口限度應選為使接收方盡量能處理或接受收到的所有幀。當然選擇時還必須考慮諸如幀的最大長度、可使用的緩沖存空間以及傳輸速率等因素。
重發表是一個連續序號的列表,對應發送方已發送但尚未確認的那些幀。這些幀的序號有一個最大值,這個最大值即發送窗口的限度。所謂發送窗口就是指示發送方已發送但尚未確認的幀序號隊列的界,其上、下界分別稱為發送窗口的上、下沿,上、下沿的部距稱為窗口尺寸。接收方類似地也有接收窗口,它批示允許接收和幀的序號。
發送方每次發送一幀后,待確認幀的數目便增1,每收到一個確認信息后,待確認幀的數目便減1。當重發表長度計數值,即待確認幀的數目等于發送窗口尺寸時,便停止發送新的幀。
一般幀號只取有限位二進制數,到一定時間后就又反復循環。若幀號配3位二進制數,則幀號在0~7間循環。如果發送窗口尺寸取值為2。則發送如圖3.15所示。圖中發送方陰影部分表示打開的發送窗口,接收方陰影部分則表示打開的接收窗口。當傳送過程進行時,打開的窗口位置一直在滑動,所以也稱為滑動窗口(Slidding Window),或簡稱為滑窗。
圖1滑動窗口狀態變化過程
圖1中的滑動窗口變化過程可敘述如下(假設發送窗口尺寸為2,接收窗口尺寸為1):
①初始態,發送方沒有幀發出,發送窗口前后沿相重合。接收方0號窗口打開,表示等待接收0號幀;
②發送方已發送0號幀,此時發送方打開0號窗口,表示已發出0幀但尚確認返回信息。此時接收窗口狀態同前,仍等待接收0號幀;
③發送方在未收到0號幀的確認返器信息前,繼續發送1號幀。此時,1號窗口打開,表示1號幀也屬等待確認之列。至昆,發送方打開的窗口數已達規定限度,在未收到新的確認返回幀之前,發送方將暫停發送新的數據幀。接收窗口此時狀態仍未變;
④接收方已收到0號幀,0號窗口關閉,1號窗口打開,表示準備接收1號幀。此時發送窗口狀態不變;
⑤發送方收到接收方發來的0號幀確認返回信息,關閉0號窗口,表示從重發表中刪除0號幀。此時接收窗口狀態仍不變;
⑥發送方繼續發送2號幀,2號窗口打開,表示2號幀也納入待確認之列。至此,發送方打開的窗口又已達規定限度,在未收到新的確認返回幀之前,發送方將暫停發送新的數據幀,此時接收窗口狀態仍不變;
⑦接收方已收到1號幀,1號窗口關閉,2號窗口打開,表示準備接收2號幀。此時發送窗口狀態不變;
⑧發送方收到接收方發來的1號幀收畢的確認信息,關閉1號窗口,表示從重發表中刪除1號幀。此時接收窗口狀態仍不變。
一般來說,凡是在一定范圍內到達的幀,即使它們不按順序,接收方也要接收下來。若把這個范圍看成是接收窗口的話,由接收窗口的大小也應該是大于1的。而Go-back-N正是接收窗口等于1的一個特例,選擇重發也可以看做是一種滑動窗口協議,只不過其發送窗口和接收窗口都大于1。若從滑動窗口的觀點來統一看待空閑RQ、Go-back-N及選擇重發三種協議,它們的差別僅在于各自窗口尺寸的大小不同而已:
空閑RQ: 發送窗口=1,接收窗口=1;
Go-back-N: 發窗口>1,接收窗口>1;
選擇重發: 發送窗口>1,接收窗口>1。
若幀序號采用3位二進制編碼,由最大序號為Smax=2^3-1=7。對于有序接收方式,發送窗口最大尺寸選為Smax;對于無序接收方式,發送窗口最大尺寸至多是序號范圍的一半。發送方管理超時控制的計時器數應等于緩沖器數,而不是序號空間的大小。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
相關閱讀:
- [電子說] 如何打造具有競爭力的線纜數智化升級解決方案? 2023-10-22
- [電子說] 華為全聯接大會2023 | 一圖看懂數據通信商業市場新品 2023-09-28
- [電子說] Modbus協議網關的飲料生產線數據通信應用 2023-09-26
- [電子說] 華為全聯接大會2023|華為發布全新《邁向智能世界白皮書》數據通信篇 2023-09-25
- [電子說] 使用cJSON庫來做數據組包及數據解析分享 2023-09-25
- [電子說] 為什么電路帶寬不能設計成無窮大? 2023-09-20
- [連接器] 2024年的連接器行業前景如何呢 2023-09-07
- [電子說] 華為全聯接大會 2023 | 華為數據通信參會早知道! 2023-09-06
( 發表人:admin )