網絡編程中,同步傳輸和異步傳輸有什麼區別

在網絡通信過程中,通信雙方要交換數據,需要高度的協同工作。爲了正確的解釋信號,接收方必須確切地知道信號應當何時接收和處理,因此定時是至關重要的。
在計算機網絡中,定時的因素稱爲位同步。同步是要接收方按照發送方發送的每個位的起止時刻和速率來接收數據,否則會產生誤差。
通常可以採用同步或異步的傳輸方式對位進行同步處理。

1. 異步傳輸(Asynchronous Transmission):異步傳輸模式(Asynchronous Transfer Mode,縮略語爲ATM)
異步傳輸一般以字符爲單位,
起始位:先發出一個邏輯”0”信號,表示傳輸字符的開始。
空閒位:處於邏輯“1”狀態,表示當前線路上沒有資料傳送。

 異步傳輸將比特分成小組進行傳送,小組可以是8位的1個字符或更長。發送方可以在任何時刻發送這些比特組,
而接收方從不知道它們會在什麼時候到達。一個常見的例子是計算機鍵盤與主機的通信。按下一個字母鍵、數字鍵或特殊字符鍵,就發送一個8比特位的ASCII代碼。
鍵盤可以在任何時刻發送代碼,這取決於用戶的輸入速度,內部的硬件必須能夠在任何時刻接收一個鍵入的字符。

異步傳輸存在一個潛在的問題,即接收方並不知道數據會在什麼時候到達。在它檢測到數據並做出響應之前,第一個比特已經過去了。
這就像有人出乎意料地從後面走上來跟你說話,而你沒來得及反應過來,漏掉了最前面的幾個詞。因此,每次異步傳輸的信息都以一個起始位開頭,
它通知接收方數據已經到達了,這就給了接收方響應、接收和緩存數據比特的時間;在傳輸結束時,一個停止位表示該次傳輸信息的終止。
按照慣例,空閒(沒有傳送數據)的線路實際攜帶着一個代表二進制1的信號,異步傳輸的開始位使信號變成0,其他的比特位使信號隨傳輸的數據信息而變化。
最後,停止位使信號重新變回1,該信號一直保持到下一個開始位到達。例如在鍵盤上數字“1”,按照8比特位的擴展ASCII編碼,將發送“00110001”,
同時需要在8比特位的前面加一個起始位,後面一個停止位。

異步傳輸的實現比較容易,由於每個信息都加上了“同步”信息,因此計時的漂移不會產生大的積累,但卻產生了較多的開銷。
在上面的例子,每8個比特要多傳送兩個比特,總的傳輸負載就增加25%。對於數據傳輸量很小的低速設備來說問題不大,
但對於那些數據傳輸量很大的高速設備來說,25%的負載增值就相當嚴重了。因此,異步傳輸常用於低速設備。

2. 同步傳輸(Synchronous Transmission):同步傳輸的比特分組要大得多。它不是獨立地發送每個字符,每個字符都有自己的開始位和停止位,
而是把它們組合起來一起發送。我們將這些組合稱爲數據幀,或簡稱爲幀。

數據幀的第一部分包含一組同步字符,它是一個獨特的比特組合,類似於前面提到的起始位,用於通知接收方一個幀已經到達,
但它同時還能確保接收方的採樣速度和比特的到達速度保持一致,使收發雙方進入同步。

幀的最後一部分是一個幀結束標記。與同步字符一樣,它也是一個獨特的比特串,類似於前面提到的停止位,用於表示在下一幀開始之前沒有別的即將到達的數據了。

同步傳輸通常要比異步傳輸快速得多。接收方不必對每個字符進行開始和停止的操作。一旦檢測到幀同步字符,它就在接下來的數據到達時接收它們。
另外,同步傳輸的開銷也比較少。例如,一個典型的幀可能有500字節(即4000比特)的數據,其中可能只包含100比特的開銷。
這時,增加的比特位使傳輸的比特總數增加2.5%,這與異步傳輸中25 %的增值要小得多。
隨着數據幀中實際數據比特位的增加,開銷比特所佔的百分比將相應地減少。但是,數據比特位越長,緩存數據所需要的緩衝區也越大,這就限制了一個幀的大小。

另外,幀越大,它佔據傳輸媒體的連續時間也越長。在極端的情況下,這將導致其他用戶等得太久。

同步傳輸方式中發送方和接收方的時鐘是統一的、字符與字符間的傳輸是同步無間隔的。

異步傳輸方式並不要求發送方和接收方的時鐘完全一樣,字符與字符間的傳輸是異步的。

 同步與異步傳輸的區別

1,異步傳輸是面向字符的傳輸,而同步傳輸是面向比特的傳輸。

2,異步傳輸的單位是字符而同步傳輸的單位是楨。

3,異步傳輸通過字符起止的開始和停止碼抓住再同步的機會,而同步傳輸則是以數據中抽取同步信息。

4,異步傳輸對時序的要求較低,同步傳輸往往通過特定的時鐘線路協調時序。

5,異步傳輸相對於同步傳輸效率較低。


簡單說

  同步傳輸就是,數據沒有被對方確認收到則調用傳輸的函數就不返回。   接收時,如果對方沒有發送數據,則你的線程就一直等待,直到有數據了才返回,可以繼續執行其他指令   異步傳輸就是,你調用一個函數發送數據,馬上返回,你可以繼續處理其他事,  接收時,對方的有數據來,你會接收到一個消息,或者你的相關接收函數會被調用。

形象點說

  異步傳輸: 你傳輸吧,我去做我的事了,傳輸完了告訴我一聲  同步傳輸: 你現在傳輸,我要親眼看你傳輸完成,纔去做別的事 用於異步通信的連接在OSI(開放系統互連)參考模型的物理層中被定義。

“異步通信”是一種很常用的通信方式。

異步通信在發送字符時,所發送的字符之間的時間間隔可以是任意的。當然,接收端必須時刻做好接收的準備(如果接收端主機的電源都沒有加上,那麼發送端發送字符就沒有意義,因爲接收端根本無法接收)

。發送端可以在任意時刻開始發送字符,因此必須在每一個字符的開始和結束的地方加上標誌,即加上開始位和停止位,以便使接收端能夠正確地將每一個字符接收下來。

異步通信的好處是通信設備簡單、便宜,但傳輸效率較低(因爲開始位和停止位的開銷所佔比例較大)。


異步通信也可以是以幀作爲發送的單位。接收端必須隨時做好接收幀的準備。這時,幀的首部必須設有一些特殊的比特組合,使得接收端能夠找出一幀的開始。這也稱爲幀定界。幀定界還包含確定幀的結束位置。這有兩種方法。一種是在幀的尾部設有某種特殊的比特組合來標誌幀的結束。或者在幀首部中設有幀長度的字段。需要注意的是,在異步發送幀時,並不是說發送端對幀中的每一個字符都必須加上開始位和停止位後再發送出去,而是說,發送端可以在任意時間發送一個幀,而幀與幀之間的時間間隔也可以是任意的。在一幀中的所有比特是連續發送的。發送端不需要在發送一幀之前和接收端進行協調(不需要先進行比特同步)。

位同步:

要求接收端根據發送端發送數據的起止時間和時鐘頻率,來校正自己的時間基準和時鐘頻率,這個過程叫位同步。可見,位同步的目的是使接收端接收的每一位信息都與發送端保持同步。




發佈了89 篇原創文章 · 獲贊 37 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章